1
1
/* eslint-disable @typescript-eslint/no-unused-vars */
2
2
/* istanbul ignore file */
3
+ const resolvePath = ( object , path , defaultValue ) => path
4
+ . split ( '.' )
5
+ . reduce ( ( o , p ) => o ? o [ p ] : defaultValue , object ) ;
3
6
4
7
import {
5
8
Context ,
@@ -20,6 +23,9 @@ const params: UseCartFactoryParams<Cart, OrderLine, Product> = {
20
23
load : async ( context : Context , { customQuery } ) => {
21
24
const { data } = await context . $odoo . api . cartLoad ( customQuery ) ;
22
25
26
+ const cookieIndex = context ?. $odoo ?. config ?. app ?. $config ?. cart ?. cookieIndex || 'orderLines.length' ;
27
+ context . $odoo . config . app . $cookies . set ( 'cart-size' , resolvePath ( data ?. cart ?. order , cookieIndex , 0 ) || 0 ) ;
28
+
23
29
return data . cart ;
24
30
} ,
25
31
@@ -28,7 +34,7 @@ const params: UseCartFactoryParams<Cart, OrderLine, Product> = {
28
34
if ( ! params . isInCart ( context , { currentCart, product } ) ) {
29
35
const productId = product . realProduct
30
36
? product . realProduct ?. product ?. id
31
- : product . firstVariant ;
37
+ : product . firstVariant . id ;
32
38
33
39
const addItemParams : GraphQlCartAddItemParams = {
34
40
productId,
@@ -39,6 +45,9 @@ const params: UseCartFactoryParams<Cart, OrderLine, Product> = {
39
45
customQuery
40
46
) ;
41
47
48
+ const cookieIndex = context ?. $odoo ?. config ?. app ?. $config ?. cart ?. cookieIndex || 'orderLines.length' ;
49
+ context . $odoo . config . app . $cookies . set ( 'cart-size' , resolvePath ( data ?. cartAddItem ?. order , cookieIndex , 0 ) || 0 ) ;
50
+
42
51
return data ?. cartAddItem ;
43
52
}
44
53
@@ -53,6 +62,8 @@ const params: UseCartFactoryParams<Cart, OrderLine, Product> = {
53
62
addItemParams ,
54
63
customQuery
55
64
) ;
65
+ const cookieIndex = context ?. $odoo ?. config ?. app ?. $config ?. cart ?. cookieIndex || 'orderLines.length' ;
66
+ context . $odoo . config . app . $cookies . set ( 'cart-size' , resolvePath ( data ?. cartRemoveItem ?. order , cookieIndex , 0 ) || 0 ) ;
56
67
57
68
return data ?. cartRemoveItem ;
58
69
} ,
@@ -68,6 +79,9 @@ const params: UseCartFactoryParams<Cart, OrderLine, Product> = {
68
79
customQuery
69
80
) ;
70
81
82
+ const cookieIndex = context ?. $odoo ?. config ?. app ?. $config ?. cart ?. cookieIndex || 'orderLines.length' ;
83
+ context . $odoo . config . app . $cookies . set ( 'cart-size' , resolvePath ( data ?. cartUpdateItem ?. order , cookieIndex , 0 ) || 0 ) ;
84
+
71
85
return data ?. cartUpdateItem ;
72
86
} ,
73
87
@@ -104,7 +118,7 @@ const params: UseCartFactoryParams<Cart, OrderLine, Product> = {
104
118
isInCart : ( context : Context , { currentCart, product } ) => {
105
119
const productId = product . realProduct
106
120
? product . realProduct . product . id
107
- : product . firstVariant ;
121
+ : product . firstVariant . id ;
108
122
109
123
return (
110
124
currentCart ?. order ?. orderLines ?. some (
0 commit comments