@jetshop/core 6.3.0-alpha.71bb1313 → 6.3.0-alpha.99339a5e
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/hooks/ProductList/ProductListContext.js +24 -17
- package/hooks/ProductList/ProductListContext.js.map +1 -1
- package/hooks/ProductList/index.d.ts +1 -0
- package/hooks/ProductList/index.js.map +1 -1
- package/hooks/ProductList/useProductListItems.js +1 -1
- package/hooks/ProductList/useProductListItems.js.map +1 -1
- package/package.json +1 -1
@@ -14,7 +14,7 @@ import { useMutation, useQuery } from '@apollo/client';
|
|
14
14
|
import useWarningInDev from '@jetshop/core/hooks/useWarningInDev';
|
15
15
|
import productListQueries from '@jetshop/core/data/queries/ProductLists.gql';
|
16
16
|
import productListMutations from '@jetshop/core/data/mutations/productListMutations.gql';
|
17
|
-
import {
|
17
|
+
import { productListMapToArray, PRODUCT_LISTS_KEY } from '.';
|
18
18
|
import useAuth from '../../components/AuthContext/useAuth';
|
19
19
|
import { useThunkReducer } from '../useThunkReducer';
|
20
20
|
import { createListAction, deleteListAction, loginAction, refreshAction } from './action-creators';
|
@@ -38,6 +38,7 @@ export class ProductListRequestId {
|
|
38
38
|
}
|
39
39
|
}
|
40
40
|
export const ProductListProvider = function ProductListProvider(_a) {
|
41
|
+
var _b;
|
41
42
|
var { queries, initialState = {} } = _a, rest = __rest(_a, ["queries", "initialState"]);
|
42
43
|
// NOTE: Warn about missing queries, should be removed in next major release.
|
43
44
|
useMissingQueryWarning('all', queries);
|
@@ -49,22 +50,20 @@ export const ProductListProvider = function ProductListProvider(_a) {
|
|
49
50
|
const { data: serverList, client } = useQuery(allQuery, {
|
50
51
|
skip: !loggedIn
|
51
52
|
});
|
52
|
-
const lists = serverList
|
53
|
-
|
54
|
-
|
55
|
-
|
56
|
-
|
57
|
-
|
58
|
-
]))
|
59
|
-
: emptyProductLists();
|
53
|
+
const lists = new Map((_b = serverList === null || serverList === void 0 ? void 0 : serverList.customerProductLists) === null || _b === void 0 ? void 0 : _b.map(
|
54
|
+
// The default list (name === null) must have listId null
|
55
|
+
(productList) => [
|
56
|
+
productList.name === null ? null : productList.id,
|
57
|
+
normalizeServerList(productList)
|
58
|
+
]));
|
60
59
|
const defaultInitialState = Object.assign({ loggedIn,
|
61
60
|
lists,
|
62
61
|
requestIdRef }, initialState);
|
63
62
|
const [state, dispatch] = useThunkReducer(reducer, defaultInitialState, (initialState) => init(initialState));
|
64
63
|
const usingLocalList = !state.loggedIn;
|
65
|
-
usePersistLocalList({ lists: state.lists });
|
64
|
+
usePersistLocalList({ lists: state.lists, usingLocalList });
|
66
65
|
// When localstorage updates, sync it to reducer state
|
67
|
-
useLocalStorageListener({ refresh });
|
66
|
+
useLocalStorageListener({ refresh, usingLocalList });
|
68
67
|
// loginMutation is a mutation to merge product lists
|
69
68
|
const [loginMutation] = useMutation(queries.login);
|
70
69
|
// To be used to fetch all lists of user after login
|
@@ -93,22 +92,30 @@ export const ProductListProvider = function ProductListProvider(_a) {
|
|
93
92
|
state,
|
94
93
|
dispatch,
|
95
94
|
queries,
|
95
|
+
lists,
|
96
96
|
usingLocalList
|
97
|
-
}), [dispatch, queries, state, usingLocalList]);
|
97
|
+
}), [dispatch, queries, state, usingLocalList, lists]);
|
98
98
|
// We spread props here so during testing we can override value
|
99
99
|
return React.createElement(ProductListContext.Provider, Object.assign({ value: value }, rest));
|
100
100
|
};
|
101
101
|
/**
|
102
|
-
* Persist local list to localStorage on every change
|
102
|
+
* Persist local list to localStorage on every change (when not logged in that is)
|
103
103
|
*/
|
104
|
-
function usePersistLocalList({ lists }) {
|
104
|
+
function usePersistLocalList({ lists, usingLocalList }) {
|
105
105
|
const productListArray = productListMapToArray(lists);
|
106
106
|
useEffect(() => {
|
107
|
+
if (!usingLocalList) {
|
108
|
+
localStorage.removeItem(PRODUCT_LISTS_KEY);
|
109
|
+
return;
|
110
|
+
}
|
107
111
|
localStorage.setItem(PRODUCT_LISTS_KEY, JSON.stringify(productListArray));
|
108
|
-
}, [lists]);
|
112
|
+
}, [lists, productListArray, usingLocalList]);
|
109
113
|
}
|
110
|
-
function useLocalStorageListener({ refresh }) {
|
114
|
+
function useLocalStorageListener({ refresh, usingLocalList }) {
|
111
115
|
useEffect(() => {
|
116
|
+
if (!usingLocalList) {
|
117
|
+
return;
|
118
|
+
}
|
112
119
|
const listener = (e) => {
|
113
120
|
if (e.storageArea === localStorage && e.key === PRODUCT_LISTS_KEY) {
|
114
121
|
refresh();
|
@@ -118,6 +125,6 @@ function useLocalStorageListener({ refresh }) {
|
|
118
125
|
return () => {
|
119
126
|
window.removeEventListener('storage', listener);
|
120
127
|
};
|
121
|
-
}, []);
|
128
|
+
}, [refresh, usingLocalList]);
|
122
129
|
}
|
123
130
|
//# sourceMappingURL=ProductListContext.js.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"ProductListContext.js","sourceRoot":"","sources":["ProductListContext.tsx"],"names":[],"mappings":";;;;;;;;;;;AAAA,OAAO,KAAK,EAAE,EAAW,SAAS,EAAE,OAAO,EAAE,MAAM,OAAO,CAAC;AAC3D,OAAO,EAAE,WAAW,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAEvD,OAAO,eAAe,MAAM,qCAAqC,CAAC;AAClE,OAAO,kBAAkB,MAAM,6CAA6C,CAAC;AAC7E,OAAO,oBAAoB,MAAM,uDAAuD,CAAC;AACzF,OAAO,EAEL,
|
1
|
+
{"version":3,"file":"ProductListContext.js","sourceRoot":"","sources":["ProductListContext.tsx"],"names":[],"mappings":"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"}
|
@@ -14,6 +14,7 @@ export interface UpdateListOptions {
|
|
14
14
|
}
|
15
15
|
export interface ProductListContextOptions {
|
16
16
|
state: ProductListState;
|
17
|
+
lists: ProductListMap;
|
17
18
|
dispatch: React.Dispatch<Action | ThunkAction<ProductListState, Action>>;
|
18
19
|
usingLocalList: boolean;
|
19
20
|
queries: ProductListQueries;
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["index.ts"],"names":[],"mappings":"AAiBA,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAClD,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["index.ts"],"names":[],"mappings":"AAiBA,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAClD,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAiC5D,MAAM,CAAC,MAAM,iBAAiB,GAAG,cAAc,CAAC;AAEhD,MAAM,UAAU,iBAAiB;IAC/B,OAAO,IAAI,GAAG,CAAC;QACb;YACE,IAAI;YACJ;gBACE,KAAK,EAAE,EAAE;gBACT,IAAI,EAAE,IAAI;aACX;SACF;KACF,CAAC,CAAC;AACL,CAAC;AAED,MAAM,UAAU,qBAAqB,CAAC,GAAmB;IACvD,MAAM,CAAC,GAAG,KAAK,CAAC,GAAG,GAAG,CAAC;IACvB,OAAO,KAAK,CAAC;AACf,CAAC;AAED,MAAM,UAAU,qBAAqB,CACnC,KAA+C;IAE/C,OAAO,IAAI,GAAG,CAAC,KAAK,CAAC,CAAC;AACxB,CAAC"}
|
@@ -9,7 +9,7 @@ import getErrorDetail from '../../helpers/getErrorDetail';
|
|
9
9
|
export function useProductListItems(
|
10
10
|
/** Passing null for id will retrieve the default product list */
|
11
11
|
listId = null, options = {}) {
|
12
|
-
const {
|
12
|
+
const { lists, queries, dispatch, usingLocalList } = useContext(ProductListContext);
|
13
13
|
const list = lists.get(listId);
|
14
14
|
const [hydrated, setHydrated] = useState(!usingLocalList);
|
15
15
|
const flattenedList = useMemo(() => flattenList(list), [list]);
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"useProductListItems.js","sourceRoot":"","sources":["useProductListItems.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAC1C,OAAO,EAAE,UAAU,EAAE,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAEjE,OAAO,EACL,WAAW,EACX,uCAAuC,EACxC,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAC1D,OAAO,cAAc,MAAM,8BAA8B,CAAC;AAE1D;;GAEG;AACH,MAAM,UAAU,mBAAmB;AACjC,iEAAiE;AACjE,SAAwB,IAAI,EAC5B,UAGI,EAAE;IAEN,MAAM,
|
1
|
+
{"version":3,"file":"useProductListItems.js","sourceRoot":"","sources":["useProductListItems.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAC1C,OAAO,EAAE,UAAU,EAAE,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAEjE,OAAO,EACL,WAAW,EACX,uCAAuC,EACxC,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAC1D,OAAO,cAAc,MAAM,8BAA8B,CAAC;AAE1D;;GAEG;AACH,MAAM,UAAU,mBAAmB;AACjC,iEAAiE;AACjE,SAAwB,IAAI,EAC5B,UAGI,EAAE;IAEN,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,QAAQ,EAAE,cAAc,EAAE,GAChD,UAAU,CAAC,kBAAkB,CAAC,CAAC;IAEjC,MAAM,IAAI,GAAG,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;IAE/B,MAAM,CAAC,QAAQ,EAAE,WAAW,CAAC,GAAG,QAAQ,CAAC,CAAC,cAAc,CAAC,CAAC;IAE1D,MAAM,aAAa,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC,WAAW,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC;IAE/D,4DAA4D;IAC5D,MAAM,kBAAkB,GAAkB,QAAQ,CAAC,OAAO,CAAC,aAAa,EAAE;QACxE,IAAI,EAAE,aAAa,CAAC,MAAM,KAAK,CAAC;QAChC,WAAW,EAAE,KAAK;QAClB,SAAS,EAAE;YACT,cAAc,EAAE,aAAa;iBAC1B,GAAG,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,QAAQ,CAAC,aAAa,CAAC;iBACzC,KAAK,CAAC,CAAC,EAAE,OAAO,CAAC,KAAK,CAAC;SAC3B;KACF,CAAC,CAAC;IAEH,qEAAqE;IACrE,IAAI,kBAAkB,CAAC,KAAK,EAAE;QAC5B,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,GAAG,cAAc,CAAC,kBAAkB,CAAC,KAAK,CAAC,CAAC;QAEjE,IAAI,KAAK,CAAC,QAAQ,CAAC,iBAAiB,CAAC,EAAE;YACrC,KAAK,MAAM,IAAI,IAAI,IAAI,EAAE;gBACvB,QAAQ,CAAC;oBACP,IAAI,EAAE,QAAQ;oBACd,OAAO,EAAE,EAAE,MAAM,EAAE,aAAa,EAAE,IAAI,CAAC,QAAQ,EAAE;iBAClD,CAAC,CAAC;aACJ;SACF;KACF;IAED,0EAA0E;IAC1E,4EAA4E;IAC5E,SAAS,CAAC,GAAG,EAAE;QACb,WAAW,CAAC,IAAI,CAAC,CAAC;IACpB,CAAC,EAAE,EAAE,CAAC,CAAC;IAEP,MAAM,MAAM,GAAG;QACb,QAAQ,EAAE,uCAAuC,CAC/C,aAAa,EACb,kBAAkB,CACnB;QACD,OAAO,EAAE,QAAQ,CAAC,CAAC,CAAC,kBAAkB,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI;KACtD,CAAC;IAEF,OAAO,MAAM,CAAC;AAChB,CAAC"}
|