@wix/bex-core 2.44.0 → 2.46.0
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/dist/cjs/state/CollectionOptimisticActions.js +25 -6
- package/dist/cjs/state/CollectionOptimisticActions.js.map +1 -1
- package/dist/cjs/state/CollectionOptimisticActionsState.js +1 -0
- package/dist/cjs/state/CollectionOptimisticActionsState.js.map +1 -1
- package/dist/cjs/state/CollectionOptimisticHelpers.js +20 -1
- package/dist/cjs/state/CollectionOptimisticHelpers.js.map +1 -1
- package/dist/cjs/state/CollectionOptimisticPatch.js.map +1 -1
- package/dist/cjs/state/{CollectionPageState.js → CollectionPageState/CollectionPageState.js} +18 -3
- package/dist/cjs/state/CollectionPageState/CollectionPageState.js.map +1 -0
- package/dist/cjs/state/CollectionPageState/CollectionPageStateBIReporter.js +42 -0
- package/dist/cjs/state/CollectionPageState/CollectionPageStateBIReporter.js.map +1 -0
- package/dist/cjs/state/CollectionPageState/index.js +10 -0
- package/dist/cjs/state/CollectionPageState/index.js.map +1 -0
- package/dist/cjs/state/QueryResultState.js +15 -12
- package/dist/cjs/state/QueryResultState.js.map +1 -1
- package/dist/cjs/state/TagsState/TagsManagementState.js +9 -3
- package/dist/cjs/state/TagsState/TagsManagementState.js.map +1 -1
- package/dist/esm/state/CollectionOptimisticActions.js +21 -5
- package/dist/esm/state/CollectionOptimisticActions.js.map +1 -1
- package/dist/esm/state/CollectionOptimisticActionsState.js +1 -0
- package/dist/esm/state/CollectionOptimisticActionsState.js.map +1 -1
- package/dist/esm/state/CollectionOptimisticHelpers.js +8 -0
- package/dist/esm/state/CollectionOptimisticHelpers.js.map +1 -1
- package/dist/esm/state/{CollectionPageState.js → CollectionPageState/CollectionPageState.js} +16 -3
- package/dist/esm/state/CollectionPageState/CollectionPageState.js.map +1 -0
- package/dist/esm/state/CollectionPageState/CollectionPageStateBIReporter.js +32 -0
- package/dist/esm/state/CollectionPageState/CollectionPageStateBIReporter.js.map +1 -0
- package/dist/esm/state/CollectionPageState/index.js +2 -0
- package/dist/esm/state/CollectionPageState/index.js.map +1 -0
- package/dist/esm/state/QueryResultState.js +15 -12
- package/dist/esm/state/QueryResultState.js.map +1 -1
- package/dist/esm/state/TagsState/TagsManagementState.js +6 -3
- package/dist/esm/state/TagsState/TagsManagementState.js.map +1 -1
- package/dist/types/state/CollectionOptimisticActions.d.ts +1 -0
- package/dist/types/state/CollectionOptimisticActions.d.ts.map +1 -1
- package/dist/types/state/CollectionOptimisticActionsState.d.ts +1 -0
- package/dist/types/state/CollectionOptimisticActionsState.d.ts.map +1 -1
- package/dist/types/state/CollectionOptimisticHelpers.d.ts +1 -0
- package/dist/types/state/CollectionOptimisticHelpers.d.ts.map +1 -1
- package/dist/types/state/CollectionOptimisticPatch.d.ts +1 -1
- package/dist/types/state/CollectionOptimisticPatch.d.ts.map +1 -1
- package/dist/types/state/{CollectionPageState.d.ts → CollectionPageState/CollectionPageState.d.ts} +6 -2
- package/dist/types/state/CollectionPageState/CollectionPageState.d.ts.map +1 -0
- package/dist/types/state/CollectionPageState/CollectionPageStateBIReporter.d.ts +19 -0
- package/dist/types/state/CollectionPageState/CollectionPageStateBIReporter.d.ts.map +1 -0
- package/dist/types/state/CollectionPageState/index.d.ts +2 -0
- package/dist/types/state/CollectionPageState/index.d.ts.map +1 -0
- package/dist/types/state/QueryResultState.d.ts.map +1 -1
- package/dist/types/state/TagsState/TagsManagementState.d.ts +6 -3
- package/dist/types/state/TagsState/TagsManagementState.d.ts.map +1 -1
- package/package.json +2 -2
- package/dist/cjs/state/CollectionPageState.js.map +0 -1
- package/dist/esm/state/CollectionPageState.js.map +0 -1
- package/dist/types/state/CollectionPageState.d.ts.map +0 -1
|
@@ -173,7 +173,7 @@ class QueryResultState {
|
|
|
173
173
|
const {
|
|
174
174
|
itemKey,
|
|
175
175
|
_keyedItemsMap,
|
|
176
|
-
|
|
176
|
+
_pages,
|
|
177
177
|
_pagesAtom
|
|
178
178
|
} = this;
|
|
179
179
|
const updates = [];
|
|
@@ -185,12 +185,18 @@ class QueryResultState {
|
|
|
185
185
|
pageIndex,
|
|
186
186
|
indexWithinPage
|
|
187
187
|
} = keyedItem;
|
|
188
|
-
const
|
|
188
|
+
const processedPage = _pages.processed[pageIndex];
|
|
189
189
|
// this mutates react-query cache since `page` is the same reference of the cached data
|
|
190
190
|
// this behavior is intentional because the strategy is to assume the server will be update correctly in the next invalidation
|
|
191
191
|
// until then, we simulate locally (cache) what we expect the server state eventually to be
|
|
192
|
-
const prevItem =
|
|
193
|
-
|
|
192
|
+
const prevItem = processedPage[indexWithinPage];
|
|
193
|
+
processedPage[indexWithinPage] = newItem;
|
|
194
|
+
_pages.unprocessed.forEach(page => {
|
|
195
|
+
const itemIndex = page.findIndex(item => itemKey(item) === key);
|
|
196
|
+
if (itemIndex !== -1) {
|
|
197
|
+
page[itemIndex] = newItem;
|
|
198
|
+
}
|
|
199
|
+
});
|
|
194
200
|
updates.push({
|
|
195
201
|
prevItem,
|
|
196
202
|
newItem
|
|
@@ -207,19 +213,16 @@ class QueryResultState {
|
|
|
207
213
|
}
|
|
208
214
|
addItems(newItems) {
|
|
209
215
|
const {
|
|
210
|
-
|
|
216
|
+
_pages,
|
|
211
217
|
_pagesAtom
|
|
212
218
|
} = this;
|
|
213
|
-
|
|
219
|
+
_pages.processed = [newItems, ..._pages.processed];
|
|
220
|
+
_pages.unprocessed = [newItems, ..._pages.unprocessed];
|
|
214
221
|
_pagesAtom.reportChanged();
|
|
215
222
|
return {
|
|
216
223
|
rollback: () => {
|
|
217
|
-
|
|
218
|
-
|
|
219
|
-
if (newItemIndex !== -1) {
|
|
220
|
-
pages[0].splice(newItemIndex, 1);
|
|
221
|
-
}
|
|
222
|
-
});
|
|
224
|
+
_pages.processed = _pages.processed.slice(1);
|
|
225
|
+
_pages.unprocessed = _pages.unprocessed.slice(1);
|
|
223
226
|
_pagesAtom.reportChanged();
|
|
224
227
|
}
|
|
225
228
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_model","require","_mobx","_flatMap","_interopRequireDefault","QueryResultState","pages","_pagesAtom","reportObserved","_pages","processed","constructor","params","_defineProperty2","default","createAtom","unprocessed","Map","queryStatus","idle","error","isFetching","action","reportChanged","itemKey","originQuery","makeObservable","items","computed","keepAlive","keyedItems","size","itemsKeys","fetchedAll","isEmptyAndNotFetching","asComputed","total","hasAvailableItems","_totals","observable","ref","_supportTotal","setTotals","available","status","changeItems","slice","errorStatus","isError","currentIndex","flatMap","page","pageIndex","map","item","indexWithinPage","key","id","index","isSuccess","length","isEmpty","supportTotal","isLoading","get","_keyedItemsMap","has","createRollbackFn","updates","newItem","prevItem","keyedItem","newItems","push","rollback","undefined","addItems","unshift","forEach","newItemIndex","indexOf","splice","calcKeyedItemsMap","clear","set","setNewPages","addPages","morePages","totals","setSupportTotal","setPages","start","end","hasNonPersistentActiveFilters","exports"],"sources":["../../../src/state/QueryResultState.ts"],"sourcesContent":["import {\n ComputedQueryFull,\n DataResultKeyed,\n FiltersMap,\n KeyedItem,\n QueryResult,\n QueryResultStatus,\n queryStatus,\n} from '../model';\nimport { action, computed, createAtom, makeObservable, observable } from 'mobx';\nimport flatMap from 'lodash/flatMap';\n\ninterface ProcessedResult<T> {\n processed: T;\n unprocessed: T;\n}\n\ntype Pages<T> = ProcessedResult<T[][]>;\ntype Totals = ProcessedResult<number>;\n\nexport interface QueryResultStateParams<T, F extends FiltersMap> {\n itemKey: (item: T) => string;\n originQuery: ComputedQueryFull<F>;\n}\n\nexport class QueryResultState<T, F extends FiltersMap>\n implements QueryResult<T>\n{\n readonly itemKey: (item: T) => string;\n\n readonly _pagesAtom = createAtom('QueryResultState.pages');\n _pages: Pages<T> = { processed: [], unprocessed: [] };\n _totals: Totals = { processed: 0, unprocessed: 0 };\n _supportTotal: boolean = false;\n readonly _keyedItemsMap: Map<string, KeyedItem<T>> = new Map();\n\n get pages() {\n this._pagesAtom.reportObserved();\n return this._pages.processed;\n }\n\n available: number | null = null;\n status: QueryResultStatus<DataResultKeyed<T>, unknown> = {\n ...queryStatus.idle,\n error: null,\n isFetching: false,\n };\n originQuery: ComputedQueryFull<F>;\n\n constructor(params: QueryResultStateParams<T, F>) {\n this.itemKey = params.itemKey;\n this.originQuery = params.originQuery;\n\n makeObservable(this, {\n items: computed({\n keepAlive: true,\n }),\n keyedItems: computed({\n keepAlive: true,\n }),\n pages: computed,\n size: computed,\n itemsKeys: computed,\n fetchedAll: computed,\n isFetching: computed,\n isEmptyAndNotFetching: computed,\n asComputed: computed,\n total: computed,\n\n hasAvailableItems: computed,\n _totals: observable.ref,\n _supportTotal: observable.ref,\n setTotals: action,\n available: observable.ref,\n status: observable.ref,\n originQuery: observable.ref,\n changeItems: action,\n slice: action,\n });\n }\n\n get errorStatus() {\n const { status } = this;\n return status.isError ? status : null;\n }\n\n private setNewPages = action((pages: Pages<T>) => {\n this._pages = pages;\n this._pagesAtom.reportChanged();\n });\n\n get keyedItems(): KeyedItem<T>[] {\n this._pagesAtom.reportObserved();\n const { pages, itemKey } = this;\n let currentIndex = 0;\n return flatMap(pages, (page, pageIndex) => {\n return page.map((item, indexWithinPage) => {\n const key = itemKey(item);\n return {\n key,\n id: key,\n item,\n index: currentIndex++,\n pageIndex,\n indexWithinPage,\n };\n });\n });\n }\n\n get itemsKeys() {\n return this.keyedItems.map(({ key }) => key);\n }\n\n get isEmptyAndNotFetching() {\n const { status, keyedItems } = this;\n return status.isSuccess && !status.isFetching && !keyedItems.length;\n }\n\n get isEmpty() {\n const { keyedItems } = this;\n return keyedItems.length === 0;\n }\n\n get items(): T[] {\n this._pagesAtom.reportObserved();\n const { pages } = this;\n return flatMap(pages);\n }\n\n get total() {\n return this._totals.processed;\n }\n\n get supportTotal() {\n return this._supportTotal;\n }\n\n get fetchedAll() {\n const { status, items, total } = this;\n return !status.isLoading && total <= items.length;\n }\n\n get isFetching() {\n return this.status.isFetching;\n }\n\n get(key: string) {\n this._pagesAtom.reportObserved();\n return this._keyedItemsMap.get(key);\n }\n\n has(key: string) {\n return this._keyedItemsMap.has(key);\n }\n\n private createRollbackFn(updates: { prevItem: T; newItem: T }[]) {\n return () => {\n const { itemKey, _keyedItemsMap, pages } = this;\n for (const { newItem, prevItem } of updates) {\n const key = itemKey(newItem);\n const keyedItem = _keyedItemsMap.get(key);\n // the current item is still the one that was recently updated\n if (keyedItem != null) {\n const { pageIndex, indexWithinPage } = keyedItem;\n const page = pages[pageIndex];\n if (page[indexWithinPage] === newItem) {\n this.changeItems([prevItem]);\n return true;\n }\n }\n }\n\n return false;\n };\n }\n\n changeItems(newItems: T[]) {\n const { itemKey, _keyedItemsMap, pages, _pagesAtom } = this;\n const updates: { prevItem: T; newItem: T }[] = [];\n for (const newItem of newItems) {\n const key = itemKey(newItem);\n const keyedItem = _keyedItemsMap.get(key);\n if (keyedItem != null) {\n const { pageIndex, indexWithinPage } = keyedItem;\n const page = pages[pageIndex];\n // this mutates react-query cache since `page` is the same reference of the cached data\n // this behavior is intentional because the strategy is to assume the server will be update correctly in the next invalidation\n // until then, we simulate locally (cache) what we expect the server state eventually to be\n const prevItem = page[indexWithinPage];\n page[indexWithinPage] = newItem;\n\n updates.push({ prevItem, newItem });\n }\n }\n\n if (updates.length) {\n _pagesAtom.reportChanged();\n\n return {\n rollback: this.createRollbackFn(updates),\n };\n }\n\n return undefined;\n }\n\n addItems(newItems: T[]) {\n const { pages, _pagesAtom } = this;\n pages[0].unshift(...newItems);\n _pagesAtom.reportChanged();\n\n return {\n rollback: () => {\n newItems.forEach((item) => {\n const newItemIndex = pages[0].indexOf(item);\n if (newItemIndex !== -1) {\n pages[0].splice(newItemIndex, 1);\n }\n });\n _pagesAtom.reportChanged();\n },\n };\n }\n\n private calcKeyedItemsMap() {\n const { keyedItems, _keyedItemsMap } = this;\n _keyedItemsMap.clear();\n for (const keyedItem of keyedItems) {\n _keyedItemsMap.set(keyedItem.key, keyedItem);\n }\n }\n\n clear() {\n this.setNewPages({ processed: [], unprocessed: [] });\n this._keyedItemsMap.clear();\n }\n\n addPages(morePages: Pages<T>) {\n const { _pages } = this;\n this.setNewPages({\n unprocessed: [..._pages.unprocessed, ...morePages.unprocessed],\n processed: [..._pages.processed, ...morePages.processed],\n });\n this.calcKeyedItemsMap();\n }\n\n setTotals(totals: Totals) {\n this._totals = totals;\n }\n\n setSupportTotal(supportTotal: boolean) {\n this._supportTotal = supportTotal;\n }\n\n setPages(pages: Pages<T>) {\n this.setNewPages(pages);\n this.calcKeyedItemsMap();\n }\n\n slice(start?: number, end?: number) {\n const { _pages } = this;\n this.setNewPages({\n unprocessed: _pages.unprocessed.slice(start, end),\n processed: _pages.processed.slice(start, end),\n });\n }\n\n get hasAvailableItems() {\n const {\n originQuery: { hasNonPersistentActiveFilters },\n available,\n total,\n size,\n } = this;\n // if `available` info is missing, must assume that there are available items if non persistent filters are active\n return available != null\n ? available > 0\n : hasNonPersistentActiveFilters || total > 0 || size > 0;\n }\n\n get asComputed() {\n const { total, available } = this;\n return {\n total,\n available: available ?? 0,\n };\n }\n\n get size() {\n return this.items.length;\n }\n}\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["_model","require","_mobx","_flatMap","_interopRequireDefault","QueryResultState","pages","_pagesAtom","reportObserved","_pages","processed","constructor","params","_defineProperty2","default","createAtom","unprocessed","Map","queryStatus","idle","error","isFetching","action","reportChanged","itemKey","originQuery","makeObservable","items","computed","keepAlive","keyedItems","size","itemsKeys","fetchedAll","isEmptyAndNotFetching","asComputed","total","hasAvailableItems","_totals","observable","ref","_supportTotal","setTotals","available","status","changeItems","slice","errorStatus","isError","currentIndex","flatMap","page","pageIndex","map","item","indexWithinPage","key","id","index","isSuccess","length","isEmpty","supportTotal","isLoading","get","_keyedItemsMap","has","createRollbackFn","updates","newItem","prevItem","keyedItem","newItems","processedPage","forEach","itemIndex","findIndex","push","rollback","undefined","addItems","calcKeyedItemsMap","clear","set","setNewPages","addPages","morePages","totals","setSupportTotal","setPages","start","end","hasNonPersistentActiveFilters","exports"],"sources":["../../../src/state/QueryResultState.ts"],"sourcesContent":["import {\n ComputedQueryFull,\n DataResultKeyed,\n FiltersMap,\n KeyedItem,\n QueryResult,\n QueryResultStatus,\n queryStatus,\n} from '../model';\nimport { action, computed, createAtom, makeObservable, observable } from 'mobx';\nimport flatMap from 'lodash/flatMap';\n\ninterface ProcessedResult<T> {\n processed: T;\n unprocessed: T;\n}\n\ntype Pages<T> = ProcessedResult<T[][]>;\ntype Totals = ProcessedResult<number>;\n\nexport interface QueryResultStateParams<T, F extends FiltersMap> {\n itemKey: (item: T) => string;\n originQuery: ComputedQueryFull<F>;\n}\n\nexport class QueryResultState<T, F extends FiltersMap>\n implements QueryResult<T>\n{\n readonly itemKey: (item: T) => string;\n\n readonly _pagesAtom = createAtom('QueryResultState.pages');\n _pages: Pages<T> = { processed: [], unprocessed: [] };\n _totals: Totals = { processed: 0, unprocessed: 0 };\n _supportTotal: boolean = false;\n readonly _keyedItemsMap: Map<string, KeyedItem<T>> = new Map();\n\n get pages() {\n this._pagesAtom.reportObserved();\n return this._pages.processed;\n }\n\n available: number | null = null;\n status: QueryResultStatus<DataResultKeyed<T>, unknown> = {\n ...queryStatus.idle,\n error: null,\n isFetching: false,\n };\n originQuery: ComputedQueryFull<F>;\n\n constructor(params: QueryResultStateParams<T, F>) {\n this.itemKey = params.itemKey;\n this.originQuery = params.originQuery;\n\n makeObservable(this, {\n items: computed({\n keepAlive: true,\n }),\n keyedItems: computed({\n keepAlive: true,\n }),\n pages: computed,\n size: computed,\n itemsKeys: computed,\n fetchedAll: computed,\n isFetching: computed,\n isEmptyAndNotFetching: computed,\n asComputed: computed,\n total: computed,\n\n hasAvailableItems: computed,\n _totals: observable.ref,\n _supportTotal: observable.ref,\n setTotals: action,\n available: observable.ref,\n status: observable.ref,\n originQuery: observable.ref,\n changeItems: action,\n slice: action,\n });\n }\n\n get errorStatus() {\n const { status } = this;\n return status.isError ? status : null;\n }\n\n private setNewPages = action((pages: Pages<T>) => {\n this._pages = pages;\n this._pagesAtom.reportChanged();\n });\n\n get keyedItems(): KeyedItem<T>[] {\n this._pagesAtom.reportObserved();\n const { pages, itemKey } = this;\n let currentIndex = 0;\n return flatMap(pages, (page, pageIndex) => {\n return page.map((item, indexWithinPage) => {\n const key = itemKey(item);\n return {\n key,\n id: key,\n item,\n index: currentIndex++,\n pageIndex,\n indexWithinPage,\n };\n });\n });\n }\n\n get itemsKeys() {\n return this.keyedItems.map(({ key }) => key);\n }\n\n get isEmptyAndNotFetching() {\n const { status, keyedItems } = this;\n return status.isSuccess && !status.isFetching && !keyedItems.length;\n }\n\n get isEmpty() {\n const { keyedItems } = this;\n return keyedItems.length === 0;\n }\n\n get items(): T[] {\n this._pagesAtom.reportObserved();\n const { pages } = this;\n return flatMap(pages);\n }\n\n get total() {\n return this._totals.processed;\n }\n\n get supportTotal() {\n return this._supportTotal;\n }\n\n get fetchedAll() {\n const { status, items, total } = this;\n return !status.isLoading && total <= items.length;\n }\n\n get isFetching() {\n return this.status.isFetching;\n }\n\n get(key: string) {\n this._pagesAtom.reportObserved();\n return this._keyedItemsMap.get(key);\n }\n\n has(key: string) {\n return this._keyedItemsMap.has(key);\n }\n\n private createRollbackFn(updates: { prevItem: T; newItem: T }[]) {\n return () => {\n const { itemKey, _keyedItemsMap, pages } = this;\n for (const { newItem, prevItem } of updates) {\n const key = itemKey(newItem);\n const keyedItem = _keyedItemsMap.get(key);\n // the current item is still the one that was recently updated\n if (keyedItem != null) {\n const { pageIndex, indexWithinPage } = keyedItem;\n const page = pages[pageIndex];\n if (page[indexWithinPage] === newItem) {\n this.changeItems([prevItem]);\n return true;\n }\n }\n }\n\n return false;\n };\n }\n\n changeItems(newItems: T[]) {\n const { itemKey, _keyedItemsMap, _pages, _pagesAtom } = this;\n const updates: { prevItem: T; newItem: T }[] = [];\n for (const newItem of newItems) {\n const key = itemKey(newItem);\n const keyedItem = _keyedItemsMap.get(key);\n if (keyedItem != null) {\n const { pageIndex, indexWithinPage } = keyedItem;\n const processedPage = _pages.processed[pageIndex];\n // this mutates react-query cache since `page` is the same reference of the cached data\n // this behavior is intentional because the strategy is to assume the server will be update correctly in the next invalidation\n // until then, we simulate locally (cache) what we expect the server state eventually to be\n const prevItem = processedPage[indexWithinPage];\n processedPage[indexWithinPage] = newItem;\n\n _pages.unprocessed.forEach((page) => {\n const itemIndex = page.findIndex((item) => itemKey(item) === key);\n if (itemIndex !== -1) {\n page[itemIndex] = newItem;\n }\n });\n\n updates.push({ prevItem, newItem });\n }\n }\n\n if (updates.length) {\n _pagesAtom.reportChanged();\n\n return {\n rollback: this.createRollbackFn(updates),\n };\n }\n\n return undefined;\n }\n\n addItems(newItems: T[]) {\n const { _pages, _pagesAtom } = this;\n _pages.processed = [newItems, ..._pages.processed];\n _pages.unprocessed = [newItems, ..._pages.unprocessed];\n _pagesAtom.reportChanged();\n\n return {\n rollback: () => {\n _pages.processed = _pages.processed.slice(1);\n _pages.unprocessed = _pages.unprocessed.slice(1);\n _pagesAtom.reportChanged();\n },\n };\n }\n\n private calcKeyedItemsMap() {\n const { keyedItems, _keyedItemsMap } = this;\n _keyedItemsMap.clear();\n for (const keyedItem of keyedItems) {\n _keyedItemsMap.set(keyedItem.key, keyedItem);\n }\n }\n\n clear() {\n this.setNewPages({ processed: [], unprocessed: [] });\n this._keyedItemsMap.clear();\n }\n\n addPages(morePages: Pages<T>) {\n const { _pages } = this;\n this.setNewPages({\n unprocessed: [..._pages.unprocessed, ...morePages.unprocessed],\n processed: [..._pages.processed, ...morePages.processed],\n });\n this.calcKeyedItemsMap();\n }\n\n setTotals(totals: Totals) {\n this._totals = totals;\n }\n\n setSupportTotal(supportTotal: boolean) {\n this._supportTotal = supportTotal;\n }\n\n setPages(pages: Pages<T>) {\n this.setNewPages(pages);\n this.calcKeyedItemsMap();\n }\n\n slice(start?: number, end?: number) {\n const { _pages } = this;\n this.setNewPages({\n unprocessed: _pages.unprocessed.slice(start, end),\n processed: _pages.processed.slice(start, end),\n });\n }\n\n get hasAvailableItems() {\n const {\n originQuery: { hasNonPersistentActiveFilters },\n available,\n total,\n size,\n } = this;\n // if `available` info is missing, must assume that there are available items if non persistent filters are active\n return available != null\n ? available > 0\n : hasNonPersistentActiveFilters || total > 0 || size > 0;\n }\n\n get asComputed() {\n const { total, available } = this;\n return {\n total,\n available: available ?? 0,\n };\n }\n\n get size() {\n return this.items.length;\n }\n}\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -196,6 +196,7 @@ class TagsManagementState {
|
|
|
196
196
|
async createTag({
|
|
197
197
|
name,
|
|
198
198
|
origin,
|
|
199
|
+
tagSubOrigin,
|
|
199
200
|
filteredListSize,
|
|
200
201
|
id = (0, _uuid.v4)(),
|
|
201
202
|
isFromSearch = false,
|
|
@@ -208,7 +209,8 @@ class TagsManagementState {
|
|
|
208
209
|
tagName: name,
|
|
209
210
|
isFromSearch,
|
|
210
211
|
actionName,
|
|
211
|
-
origin
|
|
212
|
+
origin,
|
|
213
|
+
tagSubOrigin
|
|
212
214
|
});
|
|
213
215
|
const newTag = {
|
|
214
216
|
id,
|
|
@@ -241,6 +243,7 @@ class TagsManagementState {
|
|
|
241
243
|
tagToUpdate,
|
|
242
244
|
previousName,
|
|
243
245
|
origin,
|
|
246
|
+
tagSubOrigin,
|
|
244
247
|
filteredListSize,
|
|
245
248
|
isFromSearch = false,
|
|
246
249
|
optimisticActionParams = {},
|
|
@@ -252,7 +255,8 @@ class TagsManagementState {
|
|
|
252
255
|
previousName,
|
|
253
256
|
tagName: tagToUpdate.name,
|
|
254
257
|
isFromSearch,
|
|
255
|
-
origin
|
|
258
|
+
origin,
|
|
259
|
+
tagSubOrigin
|
|
256
260
|
});
|
|
257
261
|
this.optimisticActions.updateOne({
|
|
258
262
|
...tagToUpdate,
|
|
@@ -277,6 +281,7 @@ class TagsManagementState {
|
|
|
277
281
|
async deleteTag({
|
|
278
282
|
tagToDelete,
|
|
279
283
|
origin,
|
|
284
|
+
tagSubOrigin,
|
|
280
285
|
filteredListSize,
|
|
281
286
|
isFromSearch = true,
|
|
282
287
|
optimisticActionParams = {},
|
|
@@ -288,7 +293,8 @@ class TagsManagementState {
|
|
|
288
293
|
actionName,
|
|
289
294
|
tagName,
|
|
290
295
|
isFromSearch,
|
|
291
|
-
origin
|
|
296
|
+
origin,
|
|
297
|
+
tagSubOrigin
|
|
292
298
|
});
|
|
293
299
|
await this.optimisticActions.deleteOne(tagToDelete, {
|
|
294
300
|
submit: async () => {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_mobx","require","_http","_types","_uuid","_events","_CollectionState","_CollectionOptimisticActions","_TaskState","_util","_services","TAG_MAX_LENGTH","exports","TagsManagementState","constructor","params","_defineProperty2","default","TaskState","EventEmitter","container","fqdn","collection","CollectionState","events","queryName","fqdnString","join","fetchData","fetchedItems","httpClient","request","listTags","exposure","TagExposure","PRIVATE","then","data","tags","filter","id","name","items","total","length","itemKey","itemName","fetchErrorMessage","filters","showToast","toastConfig","_params$container","overrideShowToast","emit","remove","optimisticActions","CollectionOptimisticActions","orderBy","sort","fieldName","createdDate","Date","valueOf","order","makeObservable","init","action","createTag","updateTag","deleteTag","retry","_isFqdnValid","disposers","initTask","runOnce","status","promise","forEach","disposer","result","isError","isLoading","isIdle","isSuccessful","isSuccess","fqdnToString","getTagById","tagId","_this$collection$resu","_keyedItemsMap","get","item","getTagNameById","_this$getTagById","resource","undefined","_optimisticActionBaseParams","optimisticActionParams","tagsBIReporter","actionName","origin","tagName","filteredListSize","isFromSearch","errorCode","onError","onTryAgain","onUndo","otherOptimisticActionParams","error","internalMonitor","reportError","WixPatternsError","originalException","category","uuid","onSuccess","onAction","newTag","createOne","submit","createTagResponse","tag","serverCreatedTag","tagToUpdate","previousName","updateOne","revision","toString","tagToDelete","deleteOne"],"sources":["../../../../src/state/TagsState/TagsManagementState.ts"],"sourcesContent":["import { action, makeObservable } from 'mobx';\nimport {\n listTags,\n createTag,\n updateTag,\n deleteTag,\n} from '@wix/bex-utils/@wix/ambassador-os-tags-v1-tag/http';\nimport {\n Tag,\n TagExposure,\n} from '@wix/bex-utils/@wix/ambassador-os-tags-v1-tag/types';\nimport { TagsBIReporter } from './TagsBIReporter';\nimport { v4 as uuid } from 'uuid';\nimport { EventEmitter } from 'events';\nimport { WixPatternsContainer } from '../WixPatternsContainer';\nimport { Fqdn, ToastConfig } from '../../model';\nimport { CollectionState } from '../CollectionState';\nimport {\n CollectionOptimisticActions,\n CreateManyParams,\n DeleteManyParams,\n OptimisticActionBasis,\n UpdateManyParams,\n} from '../CollectionOptimisticActions';\nimport { TaskState } from '../TaskState';\nimport { TypedEmitter, fqdnToString } from '../../util';\nimport { WixPatternsError, WixPatternsErrorCode } from '../../services';\n\nexport const TAG_MAX_LENGTH = 30;\nexport interface TagsManagementStateParams {\n readonly container: WixPatternsContainer;\n readonly fqdn: Fqdn;\n}\n\nexport class TagsManagementState {\n readonly collection: CollectionState<Tag>;\n readonly optimisticActions: CollectionOptimisticActions<Tag, {}>;\n readonly container;\n readonly fqdn;\n readonly initTask = new TaskState();\n readonly events = new EventEmitter() as TypedEmitter<{\n showToast: (toastConfig: ToastConfig) => unknown;\n hideToast: (toastConfig: ToastConfig) => unknown;\n }>;\n overrideShowToast = false;\n\n constructor(params: TagsManagementStateParams) {\n this.container = params.container;\n this.fqdn = params.fqdn;\n this.collection = new CollectionState<Tag>({\n ...params.container,\n events: {},\n queryName: [this.fqdnString, 'tags'].join('/'),\n fetchData: async () => {\n const fetchedItems = await this.container.httpClient\n .request(\n listTags({ fqdn: this.fqdnString, exposure: TagExposure.PRIVATE }),\n )\n .then(({ data: { tags = [] } }) =>\n tags.filter(({ id, name }) => id && name),\n );\n\n return {\n items: fetchedItems,\n total: fetchedItems.length,\n };\n },\n itemKey: ({ id }) => id!,\n itemName: ({ name }) => name!,\n fetchErrorMessage: () => '',\n filters: {},\n showToast: (toastConfig: ToastConfig) => {\n if (this.overrideShowToast) {\n this.events.emit('showToast', toastConfig);\n return {\n remove: () => {\n this.events.emit('hideToast', toastConfig);\n },\n };\n }\n if (params?.container?.showToast) {\n return params.container.showToast(toastConfig);\n }\n return { remove: () => {} };\n },\n });\n\n this.optimisticActions = new CollectionOptimisticActions<Tag, {}>({\n container: this.container,\n collection: this.collection,\n orderBy: ({ sort }) => [\n ...(sort || []),\n {\n fieldName: ({ createdDate }) => (createdDate ?? new Date()).valueOf(),\n order: 'asc',\n },\n ],\n });\n\n makeObservable(this, {\n init: action,\n createTag: action,\n updateTag: action,\n deleteTag: action,\n retry: action,\n });\n }\n\n init() {\n if (!this._isFqdnValid()) {\n return;\n }\n\n const { collection, optimisticActions } = this;\n\n const disposers = [collection.init(), optimisticActions.init()];\n\n this.initTask.runOnce(async () => {\n collection.initTask.runOnce();\n\n await collection.initTask.status.promise;\n });\n\n return () => {\n disposers.forEach((disposer) => disposer());\n };\n }\n\n retry() {\n this.collection.initTask.runOnce();\n }\n\n get items() {\n return this.collection.result.items;\n }\n\n get isError() {\n return this.initTask.status.isError;\n }\n\n get isLoading() {\n const { status } = this.collection.initTask;\n return status.isIdle || status.isLoading;\n }\n\n get isSuccessful() {\n const { status } = this.collection.initTask;\n return status.isSuccess;\n }\n\n get fqdnString() {\n return fqdnToString(this.fqdn);\n }\n\n getTagById(tagId: string) {\n return this.collection.result._keyedItemsMap?.get(tagId)?.item;\n }\n\n getTagNameById(tagId: string) {\n return this.getTagById(tagId)?.name;\n }\n\n private _isFqdnValid() {\n return this.fqdn.resource !== undefined;\n }\n\n private _optimisticActionBaseParams<T extends OptimisticActionBasis>(\n optimisticActionParams: T,\n {\n tagsBIReporter,\n actionName,\n origin,\n tagName,\n filteredListSize,\n isFromSearch = false,\n errorCode,\n }: {\n tagsBIReporter: TagsBIReporter;\n actionName: string;\n origin: string;\n tagName: string;\n filteredListSize: number;\n isFromSearch?: boolean;\n errorCode: WixPatternsErrorCode;\n },\n ) {\n const { onError, onTryAgain, onUndo, ...otherOptimisticActionParams } =\n optimisticActionParams;\n\n return {\n onError: (error: unknown) => {\n tagsBIReporter.onError(\n {\n tagName,\n actionName,\n origin,\n },\n error,\n );\n this.container.internalMonitor.reportError({\n error: new WixPatternsError({\n errorCode,\n originalException: error,\n }),\n category: 'Tags',\n });\n\n onError?.(error);\n },\n onTryAgain: () => {\n tagsBIReporter.onTryAgain({\n actionName,\n isFromSearch,\n filteredListSize,\n });\n onTryAgain?.();\n },\n onUndo: () => {\n tagsBIReporter.onUndo({ actionName });\n onUndo?.();\n },\n ...otherOptimisticActionParams,\n };\n }\n\n async createTag({\n name,\n origin,\n filteredListSize,\n id = uuid(),\n isFromSearch = false,\n onSuccess,\n optimisticActionParams = {},\n tagsBIReporter,\n }: {\n name: string;\n origin: string;\n filteredListSize: number;\n id?: string;\n isFromSearch?: boolean;\n onSuccess?: (tag: Tag) => void | Promise<void>;\n optimisticActionParams?: Partial<CreateManyParams<Tag>>;\n tagsBIReporter: TagsBIReporter;\n }) {\n const actionName = 'Add tag';\n\n tagsBIReporter.onAction({\n tagName: name,\n isFromSearch,\n actionName,\n origin,\n });\n\n const newTag = {\n id,\n name,\n fqdn: this.fqdnString,\n exposure: TagExposure.PRIVATE,\n createdDate: new Date(),\n };\n\n this.optimisticActions.createOne(newTag, {\n submit: async () => {\n const createTagResponse = await this.container.httpClient.request(\n createTag({ tag: newTag }),\n );\n\n const serverCreatedTag = createTagResponse.data.tag!;\n await onSuccess?.(serverCreatedTag);\n\n return [serverCreatedTag];\n },\n ...this._optimisticActionBaseParams(optimisticActionParams, {\n tagsBIReporter,\n actionName,\n origin,\n filteredListSize,\n tagName: name,\n isFromSearch,\n errorCode: 'CreateTagFailed',\n }),\n });\n }\n\n async updateTag({\n tagToUpdate,\n previousName,\n origin,\n filteredListSize,\n isFromSearch = false,\n optimisticActionParams = {},\n tagsBIReporter,\n }: {\n tagToUpdate: Tag;\n previousName: string;\n origin: string;\n filteredListSize: number;\n isFromSearch?: boolean;\n optimisticActionParams?: Partial<UpdateManyParams<Tag, {}>>;\n tagsBIReporter: TagsBIReporter;\n }) {\n const actionName = 'Rename tag';\n\n tagsBIReporter.onAction({\n actionName,\n previousName,\n tagName: tagToUpdate.name!,\n isFromSearch,\n origin,\n });\n\n this.optimisticActions.updateOne(\n { ...tagToUpdate, revision: (+tagToUpdate.revision! + 1).toString() },\n {\n submit: async () => {\n return this.container.httpClient.request(\n updateTag({ tag: tagToUpdate }),\n );\n },\n ...this._optimisticActionBaseParams(optimisticActionParams, {\n tagsBIReporter,\n actionName,\n origin,\n filteredListSize,\n tagName: previousName,\n isFromSearch,\n errorCode: 'UpdateTagFailed',\n }),\n },\n );\n }\n\n async deleteTag({\n tagToDelete,\n origin,\n filteredListSize,\n isFromSearch = true,\n optimisticActionParams = {},\n tagsBIReporter,\n }: {\n tagToDelete: Tag;\n origin: string;\n filteredListSize: number;\n isFromSearch?: boolean;\n optimisticActionParams?: Partial<DeleteManyParams<Tag, {}>>;\n tagsBIReporter: TagsBIReporter;\n }) {\n const tagName = tagToDelete.name!;\n const actionName = 'Delete tag';\n\n tagsBIReporter.onAction({\n actionName,\n tagName,\n isFromSearch,\n origin,\n });\n\n await this.optimisticActions.deleteOne(tagToDelete, {\n submit: async () => {\n return this.container.httpClient.request(\n deleteTag({ tagId: tagToDelete.id! }),\n );\n },\n ...this._optimisticActionBaseParams(optimisticActionParams, {\n tagsBIReporter,\n actionName,\n origin,\n tagName,\n filteredListSize,\n isFromSearch,\n errorCode: 'RemovetagFailed',\n }),\n });\n }\n}\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["_mobx","require","_http","_types","_uuid","_events","_CollectionState","_CollectionOptimisticActions","_TaskState","_util","_services","TAG_MAX_LENGTH","exports","TagsManagementState","constructor","params","_defineProperty2","default","TaskState","EventEmitter","container","fqdn","collection","CollectionState","events","queryName","fqdnString","join","fetchData","fetchedItems","httpClient","request","listTags","exposure","TagExposure","PRIVATE","then","data","tags","filter","id","name","items","total","length","itemKey","itemName","fetchErrorMessage","filters","showToast","toastConfig","_params$container","overrideShowToast","emit","remove","optimisticActions","CollectionOptimisticActions","orderBy","sort","fieldName","createdDate","Date","valueOf","order","makeObservable","init","action","createTag","updateTag","deleteTag","retry","_isFqdnValid","disposers","initTask","runOnce","status","promise","forEach","disposer","result","isError","isLoading","isIdle","isSuccessful","isSuccess","fqdnToString","getTagById","tagId","_this$collection$resu","_keyedItemsMap","get","item","getTagNameById","_this$getTagById","resource","undefined","_optimisticActionBaseParams","optimisticActionParams","tagsBIReporter","actionName","origin","tagName","filteredListSize","isFromSearch","errorCode","onError","onTryAgain","onUndo","otherOptimisticActionParams","error","internalMonitor","reportError","WixPatternsError","originalException","category","tagSubOrigin","uuid","onSuccess","onAction","newTag","createOne","submit","createTagResponse","tag","serverCreatedTag","tagToUpdate","previousName","updateOne","revision","toString","tagToDelete","deleteOne"],"sources":["../../../../src/state/TagsState/TagsManagementState.ts"],"sourcesContent":["import { action, makeObservable } from 'mobx';\nimport {\n listTags,\n createTag,\n updateTag,\n deleteTag,\n} from '@wix/bex-utils/@wix/ambassador-os-tags-v1-tag/http';\nimport {\n Tag,\n TagExposure,\n} from '@wix/bex-utils/@wix/ambassador-os-tags-v1-tag/types';\nimport { TagsBIReporter } from './TagsBIReporter';\nimport { v4 as uuid } from 'uuid';\nimport { EventEmitter } from 'events';\nimport { WixPatternsContainer } from '../WixPatternsContainer';\nimport { Fqdn, ToastConfig } from '../../model';\nimport { CollectionState } from '../CollectionState';\nimport {\n CollectionOptimisticActions,\n CreateManyParams,\n DeleteManyParams,\n OptimisticActionBasis,\n UpdateManyParams,\n} from '../CollectionOptimisticActions';\nimport { TaskState } from '../TaskState';\nimport { TypedEmitter, fqdnToString } from '../../util';\nimport { WixPatternsError, WixPatternsErrorCode } from '../../services';\n\nexport const TAG_MAX_LENGTH = 30;\nexport interface TagsManagementStateParams {\n readonly container: WixPatternsContainer;\n readonly fqdn: Fqdn;\n}\n\nexport class TagsManagementState {\n readonly collection: CollectionState<Tag>;\n readonly optimisticActions: CollectionOptimisticActions<Tag, {}>;\n readonly container;\n readonly fqdn;\n readonly initTask = new TaskState();\n readonly events = new EventEmitter() as TypedEmitter<{\n showToast: (toastConfig: ToastConfig) => unknown;\n hideToast: (toastConfig: ToastConfig) => unknown;\n }>;\n overrideShowToast = false;\n\n constructor(params: TagsManagementStateParams) {\n this.container = params.container;\n this.fqdn = params.fqdn;\n this.collection = new CollectionState<Tag>({\n ...params.container,\n events: {},\n queryName: [this.fqdnString, 'tags'].join('/'),\n fetchData: async () => {\n const fetchedItems = await this.container.httpClient\n .request(\n listTags({ fqdn: this.fqdnString, exposure: TagExposure.PRIVATE }),\n )\n .then(({ data: { tags = [] } }) =>\n tags.filter(({ id, name }) => id && name),\n );\n\n return {\n items: fetchedItems,\n total: fetchedItems.length,\n };\n },\n itemKey: ({ id }) => id!,\n itemName: ({ name }) => name!,\n fetchErrorMessage: () => '',\n filters: {},\n showToast: (toastConfig: ToastConfig) => {\n if (this.overrideShowToast) {\n this.events.emit('showToast', toastConfig);\n return {\n remove: () => {\n this.events.emit('hideToast', toastConfig);\n },\n };\n }\n if (params?.container?.showToast) {\n return params.container.showToast(toastConfig);\n }\n return { remove: () => {} };\n },\n });\n\n this.optimisticActions = new CollectionOptimisticActions<Tag, {}>({\n container: this.container,\n collection: this.collection,\n orderBy: ({ sort }) => [\n ...(sort || []),\n {\n fieldName: ({ createdDate }) => (createdDate ?? new Date()).valueOf(),\n order: 'asc',\n },\n ],\n });\n\n makeObservable(this, {\n init: action,\n createTag: action,\n updateTag: action,\n deleteTag: action,\n retry: action,\n });\n }\n\n init() {\n if (!this._isFqdnValid()) {\n return;\n }\n\n const { collection, optimisticActions } = this;\n\n const disposers = [collection.init(), optimisticActions.init()];\n\n this.initTask.runOnce(async () => {\n collection.initTask.runOnce();\n\n await collection.initTask.status.promise;\n });\n\n return () => {\n disposers.forEach((disposer) => disposer());\n };\n }\n\n retry() {\n this.collection.initTask.runOnce();\n }\n\n get items() {\n return this.collection.result.items;\n }\n\n get isError() {\n return this.initTask.status.isError;\n }\n\n get isLoading() {\n const { status } = this.collection.initTask;\n return status.isIdle || status.isLoading;\n }\n\n get isSuccessful() {\n const { status } = this.collection.initTask;\n return status.isSuccess;\n }\n\n get fqdnString() {\n return fqdnToString(this.fqdn);\n }\n\n getTagById(tagId: string) {\n return this.collection.result._keyedItemsMap?.get(tagId)?.item;\n }\n\n getTagNameById(tagId: string) {\n return this.getTagById(tagId)?.name;\n }\n\n private _isFqdnValid() {\n return this.fqdn.resource !== undefined;\n }\n\n private _optimisticActionBaseParams<T extends OptimisticActionBasis>(\n optimisticActionParams: T,\n {\n tagsBIReporter,\n actionName,\n origin,\n tagName,\n filteredListSize,\n isFromSearch = false,\n errorCode,\n }: {\n tagsBIReporter: TagsBIReporter;\n actionName: string;\n origin: string;\n tagName: string;\n filteredListSize: number;\n isFromSearch?: boolean;\n errorCode: WixPatternsErrorCode;\n },\n ) {\n const { onError, onTryAgain, onUndo, ...otherOptimisticActionParams } =\n optimisticActionParams;\n\n return {\n onError: (error: unknown) => {\n tagsBIReporter.onError(\n {\n tagName,\n actionName,\n origin,\n },\n error,\n );\n this.container.internalMonitor.reportError({\n error: new WixPatternsError({\n errorCode,\n originalException: error,\n }),\n category: 'Tags',\n });\n\n onError?.(error);\n },\n onTryAgain: () => {\n tagsBIReporter.onTryAgain({\n actionName,\n isFromSearch,\n filteredListSize,\n });\n onTryAgain?.();\n },\n onUndo: () => {\n tagsBIReporter.onUndo({ actionName });\n onUndo?.();\n },\n ...otherOptimisticActionParams,\n };\n }\n\n async createTag({\n name,\n origin,\n tagSubOrigin,\n filteredListSize,\n id = uuid(),\n isFromSearch = false,\n onSuccess,\n optimisticActionParams = {},\n tagsBIReporter,\n }: {\n name: string;\n origin: string;\n tagSubOrigin?: string;\n filteredListSize: number;\n id?: string;\n isFromSearch?: boolean;\n onSuccess?: (tag: Tag) => void | Promise<void>;\n optimisticActionParams?: Partial<CreateManyParams<Tag>>;\n tagsBIReporter: TagsBIReporter;\n }) {\n const actionName = 'Add tag';\n\n tagsBIReporter.onAction({\n tagName: name,\n isFromSearch,\n actionName,\n origin,\n tagSubOrigin,\n });\n\n const newTag = {\n id,\n name,\n fqdn: this.fqdnString,\n exposure: TagExposure.PRIVATE,\n createdDate: new Date(),\n };\n\n this.optimisticActions.createOne(newTag, {\n submit: async () => {\n const createTagResponse = await this.container.httpClient.request(\n createTag({ tag: newTag }),\n );\n\n const serverCreatedTag = createTagResponse.data.tag!;\n await onSuccess?.(serverCreatedTag);\n\n return [serverCreatedTag];\n },\n ...this._optimisticActionBaseParams(optimisticActionParams, {\n tagsBIReporter,\n actionName,\n origin,\n filteredListSize,\n tagName: name,\n isFromSearch,\n errorCode: 'CreateTagFailed',\n }),\n });\n }\n\n async updateTag({\n tagToUpdate,\n previousName,\n origin,\n tagSubOrigin,\n filteredListSize,\n isFromSearch = false,\n optimisticActionParams = {},\n tagsBIReporter,\n }: {\n tagToUpdate: Tag;\n previousName: string;\n origin: string;\n tagSubOrigin?: string;\n filteredListSize: number;\n isFromSearch?: boolean;\n optimisticActionParams?: Partial<UpdateManyParams<Tag, {}>>;\n tagsBIReporter: TagsBIReporter;\n }) {\n const actionName = 'Rename tag';\n\n tagsBIReporter.onAction({\n actionName,\n previousName,\n tagName: tagToUpdate.name!,\n isFromSearch,\n origin,\n tagSubOrigin,\n });\n\n this.optimisticActions.updateOne(\n { ...tagToUpdate, revision: (+tagToUpdate.revision! + 1).toString() },\n {\n submit: async () => {\n return this.container.httpClient.request(\n updateTag({ tag: tagToUpdate }),\n );\n },\n ...this._optimisticActionBaseParams(optimisticActionParams, {\n tagsBIReporter,\n actionName,\n origin,\n filteredListSize,\n tagName: previousName,\n isFromSearch,\n errorCode: 'UpdateTagFailed',\n }),\n },\n );\n }\n\n async deleteTag({\n tagToDelete,\n origin,\n tagSubOrigin,\n filteredListSize,\n isFromSearch = true,\n optimisticActionParams = {},\n tagsBIReporter,\n }: {\n tagToDelete: Tag;\n origin: string;\n tagSubOrigin?: string;\n filteredListSize: number;\n isFromSearch?: boolean;\n optimisticActionParams?: Partial<DeleteManyParams<Tag, {}>>;\n tagsBIReporter: TagsBIReporter;\n }) {\n const tagName = tagToDelete.name!;\n const actionName = 'Delete tag';\n\n tagsBIReporter.onAction({\n actionName,\n tagName,\n isFromSearch,\n origin,\n tagSubOrigin,\n });\n\n await this.optimisticActions.deleteOne(tagToDelete, {\n submit: async () => {\n return this.container.httpClient.request(\n deleteTag({ tagId: tagToDelete.id! }),\n );\n },\n ...this._optimisticActionBaseParams(optimisticActionParams, {\n tagsBIReporter,\n actionName,\n origin,\n tagName,\n filteredListSize,\n isFromSearch,\n errorCode: 'RemovetagFailed',\n }),\n });\n }\n}\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -13,12 +13,16 @@ export class CollectionOptimisticActions {
|
|
|
13
13
|
this.reorderModeCanceledMessage = 'REORDER_MODE_CANCELED';
|
|
14
14
|
this._resumeNavigation = null;
|
|
15
15
|
this._orderByMode = 'orders';
|
|
16
|
+
this._commitMode = false;
|
|
16
17
|
this._clearPatch = action((patch) => {
|
|
17
|
-
const { state, collection, collections, noInvalidate } = this;
|
|
18
|
+
const { state, collection, collections, noInvalidate, processors, _commitMode, } = this;
|
|
18
19
|
if (noInvalidate) {
|
|
19
20
|
return;
|
|
20
21
|
}
|
|
21
22
|
state.patches.remove(patch);
|
|
23
|
+
if (_commitMode && !state.patches.length) {
|
|
24
|
+
processors.forEach(({ processorHelpers }) => processorHelpers.commit());
|
|
25
|
+
}
|
|
22
26
|
collection.invalidate();
|
|
23
27
|
collections.forEach((p) => p.refreshAllPages());
|
|
24
28
|
});
|
|
@@ -35,11 +39,16 @@ export class CollectionOptimisticActions {
|
|
|
35
39
|
events.once('beforeResultUpdated', clearPatch);
|
|
36
40
|
}
|
|
37
41
|
};
|
|
38
|
-
// Clear the patch on the next collection result update to eliminate inconsistencies between server state and local patches
|
|
39
|
-
events.on('refresh', onRefresh);
|
|
40
|
-
// since not clearing the patch immediately, clear it on unmount if was not cleared yet
|
|
41
|
-
events.on('unmount', clearPatch);
|
|
42
42
|
events.emit('updated');
|
|
43
|
+
if (this._commitMode) {
|
|
44
|
+
this._clearPatch(patch);
|
|
45
|
+
}
|
|
46
|
+
else {
|
|
47
|
+
// Clear the patch on the next collection result update to eliminate inconsistencies between server state and local patches
|
|
48
|
+
events.on('refresh', onRefresh);
|
|
49
|
+
// since not clearing the patch immediately, clear it on unmount if was not cleared yet
|
|
50
|
+
events.on('unmount', clearPatch);
|
|
51
|
+
}
|
|
43
52
|
};
|
|
44
53
|
this.collection = params.collection;
|
|
45
54
|
this.query = params.query ?? this.collection.query;
|
|
@@ -483,6 +492,12 @@ export class CollectionOptimisticActions {
|
|
|
483
492
|
}
|
|
484
493
|
init() {
|
|
485
494
|
const { collection, events } = this;
|
|
495
|
+
// The only case when this.state._patchesBeforeUnmount won't be null -
|
|
496
|
+
// when the state was cached with patterns router, so we want to restore the patches that were existed before the unmount
|
|
497
|
+
if (this.state._patchesBeforeUnmount) {
|
|
498
|
+
this.state.patches.clear();
|
|
499
|
+
this.state.patches.push(...this.state._patchesBeforeUnmount);
|
|
500
|
+
}
|
|
486
501
|
const emitRefresh = (params) => {
|
|
487
502
|
events.emit('refresh', params);
|
|
488
503
|
};
|
|
@@ -504,6 +519,7 @@ export class CollectionOptimisticActions {
|
|
|
504
519
|
collection.emitter.off('refresh', emitRefresh);
|
|
505
520
|
collection.emitter.off('beforeResultUpdated', emitBeforeResultUpdated);
|
|
506
521
|
disposers.forEach((disposer) => disposer());
|
|
522
|
+
this.state._patchesBeforeUnmount = this.state.patches.toJSON();
|
|
507
523
|
events.emit('unmount');
|
|
508
524
|
};
|
|
509
525
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CollectionOptimisticActions.js","sourceRoot":"","sources":["../../../src/state/CollectionOptimisticActions.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"CollectionOptimisticActions.js","sourceRoot":"","sources":["../../../src/state/CollectionOptimisticActions.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { computed, makeObservable, observable } from 'mobx';
|
|
2
2
|
export class CollectionOptimisticActionsState {
|
|
3
3
|
constructor(params) {
|
|
4
|
+
this._patchesBeforeUnmount = null;
|
|
4
5
|
const { source: { queryName }, patchesCache, cacheNamespace, } = params;
|
|
5
6
|
const cacheKey = [cacheNamespace, queryName].filter(Boolean).join(':');
|
|
6
7
|
let patches = patchesCache.get(cacheKey);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CollectionOptimisticActionsState.js","sourceRoot":"","sources":["../../../src/state/CollectionOptimisticActionsState.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAoB,cAAc,EAAE,UAAU,EAAE,MAAM,MAAM,CAAC;AAS9E,MAAM,OAAO,gCAAgC;
|
|
1
|
+
{"version":3,"file":"CollectionOptimisticActionsState.js","sourceRoot":"","sources":["../../../src/state/CollectionOptimisticActionsState.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAoB,cAAc,EAAE,UAAU,EAAE,MAAM,MAAM,CAAC;AAS9E,MAAM,OAAO,gCAAgC;IAK3C,YAAY,MAAiD;QAF7D,0BAAqB,GAAgC,IAAI,CAAC;QAGxD,MAAM,EACJ,MAAM,EAAE,EAAE,SAAS,EAAE,EACrB,YAAY,EACZ,cAAc,GACf,GAAG,MAAM,CAAC;QAEX,MAAM,QAAQ,GAAG,CAAC,cAAc,EAAE,SAAS,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QACvE,IAAI,OAAO,GAAG,YAAY,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;QAEzC,IAAI,OAAO,IAAI,IAAI,EAAE;YACnB,OAAO,GAAG,UAAU,CAAC,KAAK,CAAqB,EAAE,EAAE;gBACjD,IAAI,EAAE,KAAK;aACZ,CAAC,CAAC;YACH,YAAY,CAAC,GAAG,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;SACtC;QAED,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;QAEvB,cAAc,CAAC,IAAI,EAAE;YACnB,SAAS,EAAE,QAAQ;SACpB,CAAC,CAAC;IACL,CAAC;IAED,IAAI,SAAS;QACX,OAAO,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,eAAe,EAAE,EAAE;YAClD,MAAM,EAAE,mBAAmB,EAAE,aAAa,EAAE,GAAG,eAAe,CAAC;YAC/D,KAAK,MAAM,CAAC,GAAG,EAAE,IAAI,CAAC,IAAI,mBAAmB,EAAE;gBAC7C,MAAM,YAAY,GAAG,aAAa,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;gBAC5C,IAAI,YAAY,EAAE;oBAChB,GAAG,CAAC,GAAG,CAAC,GAAG,EAAE,EAAE,eAAe,EAAE,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC;iBACvD;aACF;YACD,OAAO,GAAG,CAAC;QACb,CAAC,EAAE,IAAI,GAAG,EAA6E,CAAC,CAAC;IAC3F,CAAC;CACF"}
|
|
@@ -4,6 +4,7 @@ export class CollectionOptimisticProcessorHelpers {
|
|
|
4
4
|
this.collection = collection;
|
|
5
5
|
makeObservable(this, {
|
|
6
6
|
reprocess: action.bound,
|
|
7
|
+
commit: action,
|
|
7
8
|
});
|
|
8
9
|
}
|
|
9
10
|
reprocess() {
|
|
@@ -24,5 +25,12 @@ export class CollectionOptimisticProcessorHelpers {
|
|
|
24
25
|
processed: processedPages,
|
|
25
26
|
});
|
|
26
27
|
}
|
|
28
|
+
commit() {
|
|
29
|
+
const { collection } = this;
|
|
30
|
+
const { result } = collection;
|
|
31
|
+
const { _pages: { processed: processedPages }, _totals: { processed: processedTotal }, } = result;
|
|
32
|
+
result._totals.unprocessed = processedTotal;
|
|
33
|
+
result._pages.unprocessed = processedPages;
|
|
34
|
+
}
|
|
27
35
|
}
|
|
28
36
|
//# sourceMappingURL=CollectionOptimisticHelpers.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CollectionOptimisticHelpers.js","sourceRoot":"","sources":["../../../src/state/CollectionOptimisticHelpers.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,MAAM,EAAE,cAAc,EAAE,MAAM,MAAM,CAAC;AAE9C,MAAM,OAAO,oCAAoC;IAE/C,YAAY,UAAiC;QAC3C,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;QAE7B,cAAc,CAAC,IAAI,EAAE;YACnB,SAAS,EAAE,MAAM,CAAC,KAAK;
|
|
1
|
+
{"version":3,"file":"CollectionOptimisticHelpers.js","sourceRoot":"","sources":["../../../src/state/CollectionOptimisticHelpers.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,MAAM,EAAE,cAAc,EAAE,MAAM,MAAM,CAAC;AAE9C,MAAM,OAAO,oCAAoC;IAE/C,YAAY,UAAiC;QAC3C,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;QAE7B,cAAc,CAAC,IAAI,EAAE;YACnB,SAAS,EAAE,MAAM,CAAC,KAAK;YACvB,MAAM,EAAE,MAAM;SACf,CAAC,CAAC;IACL,CAAC;IAED,SAAS;QACP,MAAM,EAAE,UAAU,EAAE,GAAG,IAAI,CAAC;QAC5B,MAAM,EAAE,MAAM,EAAE,GAAG,UAAU,CAAC;QAC9B,MAAM,EACJ,MAAM,EAAE,EAAE,WAAW,EAAE,gBAAgB,EAAE,EACzC,OAAO,EAAE,EAAE,WAAW,EAAE,gBAAgB,EAAE,GAC3C,GAAG,MAAM,CAAC;QAEX,MAAM,EAAE,cAAc,EAAE,cAAc,EAAE,GAAG,UAAU,CAAC,mBAAmB,CAAC;YACxE,gBAAgB;YAChB,gBAAgB;YAChB,eAAe,EAAE,IAAI,GAAG,EAAE;SAC3B,CAAC,CAAC;QAEH,MAAM,CAAC,SAAS,CAAC;YACf,WAAW,EAAE,gBAAgB;YAC7B,SAAS,EAAE,cAAc;SAC1B,CAAC,CAAC;QAEH,MAAM,CAAC,QAAQ,CAAC;YACd,WAAW,EAAE,gBAAgB;YAC7B,SAAS,EAAE,cAAc;SAC1B,CAAC,CAAC;IACL,CAAC;IAED,MAAM;QACJ,MAAM,EAAE,UAAU,EAAE,GAAG,IAAI,CAAC;QAC5B,MAAM,EAAE,MAAM,EAAE,GAAG,UAAU,CAAC;QAC9B,MAAM,EACJ,MAAM,EAAE,EAAE,SAAS,EAAE,cAAc,EAAE,EACrC,OAAO,EAAE,EAAE,SAAS,EAAE,cAAc,EAAE,GACvC,GAAG,MAAM,CAAC;QAEX,MAAM,CAAC,OAAO,CAAC,WAAW,GAAG,cAAc,CAAC;QAC5C,MAAM,CAAC,MAAM,CAAC,WAAW,GAAG,cAAc,CAAC;IAC7C,CAAC;CACF"}
|
package/dist/esm/state/{CollectionPageState.js → CollectionPageState/CollectionPageState.js}
RENAMED
|
@@ -1,16 +1,23 @@
|
|
|
1
1
|
import { makeObservable, observable } from 'mobx';
|
|
2
|
-
import { PageState } from '
|
|
3
|
-
import { addResizeObserver } from '
|
|
2
|
+
import { PageState } from '../PageState';
|
|
3
|
+
import { addResizeObserver } from '../resizeObserverCompat';
|
|
4
|
+
import { CollectionPageStateBIReporter } from './CollectionPageStateBIReporter';
|
|
4
5
|
export class CollectionPageState {
|
|
5
6
|
constructor(params) {
|
|
6
7
|
this.hasHeader = false;
|
|
7
8
|
this.total = false;
|
|
8
9
|
this.hideHeaderTotal = false;
|
|
9
|
-
this.scrollTopBeforeUnmount =
|
|
10
|
+
this.scrollTopBeforeUnmount = null;
|
|
10
11
|
this.pageState = new PageState();
|
|
11
12
|
this.pageTitle = params.pageTitle;
|
|
12
13
|
this.hasHeader = params.hasHeader;
|
|
13
14
|
this.hideHeaderTotal = params.hideHeaderTotal;
|
|
15
|
+
if (params.reportBI) {
|
|
16
|
+
this.bi = new CollectionPageStateBIReporter({
|
|
17
|
+
reportBI: params.reportBI,
|
|
18
|
+
collectionPageState: this,
|
|
19
|
+
});
|
|
20
|
+
}
|
|
14
21
|
makeObservable(this, {
|
|
15
22
|
pageTitle: observable.ref,
|
|
16
23
|
hasHeader: observable.ref,
|
|
@@ -19,17 +26,23 @@ export class CollectionPageState {
|
|
|
19
26
|
});
|
|
20
27
|
}
|
|
21
28
|
init() {
|
|
29
|
+
this.bi?.init();
|
|
22
30
|
const scrollableContent = this.pageState.scrollableContentRef.current;
|
|
23
31
|
if (!scrollableContent) {
|
|
24
32
|
return () => { };
|
|
25
33
|
}
|
|
26
34
|
const disposer = addResizeObserver(scrollableContent, () => {
|
|
35
|
+
if (this.scrollTopBeforeUnmount === null) {
|
|
36
|
+
return;
|
|
37
|
+
}
|
|
27
38
|
if (scrollableContent.scrollHeight >= this.scrollTopBeforeUnmount) {
|
|
28
39
|
scrollableContent.scrollTo({
|
|
29
40
|
top: this.scrollTopBeforeUnmount,
|
|
30
41
|
});
|
|
42
|
+
this.scrollTopBeforeUnmount = null;
|
|
31
43
|
}
|
|
32
44
|
});
|
|
45
|
+
this.bi?.appLoaded?.();
|
|
33
46
|
return () => {
|
|
34
47
|
disposer?.();
|
|
35
48
|
};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"CollectionPageState.js","sourceRoot":"","sources":["../../../../src/state/CollectionPageState/CollectionPageState.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,UAAU,EAAE,MAAM,MAAM,CAAC;AAClD,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AACzC,OAAO,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AAC5D,OAAO,EAAE,6BAA6B,EAAE,MAAM,iCAAiC,CAAC;AAUhF,MAAM,OAAO,mBAAmB;IAW9B,YAAY,MAAiC;QAT7C,cAAS,GAAa,KAAK,CAAC;QAC5B,UAAK,GAAsB,KAAK,CAAC;QACjC,oBAAe,GAAa,KAAK,CAAC;QAClC,2BAAsB,GAAkB,IAAI,CAAC;QAIpC,cAAS,GAAG,IAAI,SAAS,EAAE,CAAC;QAGnC,IAAI,CAAC,SAAS,GAAG,MAAM,CAAC,SAAS,CAAC;QAClC,IAAI,CAAC,SAAS,GAAG,MAAM,CAAC,SAAS,CAAC;QAClC,IAAI,CAAC,eAAe,GAAG,MAAM,CAAC,eAAe,CAAC;QAE9C,IAAI,MAAM,CAAC,QAAQ,EAAE;YACnB,IAAI,CAAC,EAAE,GAAG,IAAI,6BAA6B,CAAC;gBAC1C,QAAQ,EAAE,MAAM,CAAC,QAAQ;gBACzB,mBAAmB,EAAE,IAAI;aAC1B,CAAC,CAAC;SACJ;QACD,cAAc,CAAC,IAAI,EAAE;YACnB,SAAS,EAAE,UAAU,CAAC,GAAG;YACzB,SAAS,EAAE,UAAU,CAAC,GAAG;YACzB,eAAe,EAAE,UAAU,CAAC,GAAG;YAC/B,KAAK,EAAE,UAAU,CAAC,GAAG;SACtB,CAAC,CAAC;IACL,CAAC;IAED,IAAI;QACF,IAAI,CAAC,EAAE,EAAE,IAAI,EAAE,CAAC;QAEhB,MAAM,iBAAiB,GAAG,IAAI,CAAC,SAAS,CAAC,oBAAoB,CAAC,OAAO,CAAC;QACtE,IAAI,CAAC,iBAAiB,EAAE;YACtB,OAAO,GAAG,EAAE,GAAE,CAAC,CAAC;SACjB;QAED,MAAM,QAAQ,GAAG,iBAAiB,CAAC,iBAAiB,EAAE,GAAG,EAAE;YACzD,IAAI,IAAI,CAAC,sBAAsB,KAAK,IAAI,EAAE;gBACxC,OAAO;aACR;YACD,IAAI,iBAAiB,CAAC,YAAY,IAAI,IAAI,CAAC,sBAAsB,EAAE;gBACjE,iBAAiB,CAAC,QAAQ,CAAC;oBACzB,GAAG,EAAE,IAAI,CAAC,sBAAsB;iBACjC,CAAC,CAAC;gBACH,IAAI,CAAC,sBAAsB,GAAG,IAAI,CAAC;aACpC;QACH,CAAC,CAAC,CAAC;QACH,IAAI,CAAC,EAAE,EAAE,SAAS,EAAE,EAAE,CAAC;QAEvB,OAAO,GAAG,EAAE;YACV,QAAQ,EAAE,EAAE,CAAC;QACf,CAAC,CAAC;IACJ,CAAC;CACF"}
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
import { loadEnd, loadStart } from '../../exports/bi';
|
|
2
|
+
import { withoutDefaults } from '../../util';
|
|
3
|
+
export class CollectionPageStateBIReporter {
|
|
4
|
+
constructor(params) {
|
|
5
|
+
this.collectionPageState = params.collectionPageState;
|
|
6
|
+
this.reportBI = params.reportBI;
|
|
7
|
+
}
|
|
8
|
+
init() {
|
|
9
|
+
const startTime = performance.now();
|
|
10
|
+
this.appLoaded = this.reportOnLoadStart(startTime);
|
|
11
|
+
}
|
|
12
|
+
reportOnLoadStart(startTime) {
|
|
13
|
+
this.reportBI(withoutDefaults(loadStart)({
|
|
14
|
+
...this._commonDynamicBiParams(),
|
|
15
|
+
}));
|
|
16
|
+
return () => {
|
|
17
|
+
this.reportOnLoadEnd(Math.round(performance.now() - startTime));
|
|
18
|
+
};
|
|
19
|
+
}
|
|
20
|
+
reportOnLoadEnd(endTime) {
|
|
21
|
+
this.reportBI(withoutDefaults(loadEnd)({
|
|
22
|
+
...this._commonDynamicBiParams(),
|
|
23
|
+
loadingTime: endTime,
|
|
24
|
+
}));
|
|
25
|
+
}
|
|
26
|
+
_commonDynamicBiParams() {
|
|
27
|
+
return {
|
|
28
|
+
url: window.location.href,
|
|
29
|
+
};
|
|
30
|
+
}
|
|
31
|
+
}
|
|
32
|
+
//# sourceMappingURL=CollectionPageStateBIReporter.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"CollectionPageStateBIReporter.js","sourceRoot":"","sources":["../../../../src/state/CollectionPageState/CollectionPageStateBIReporter.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAEtD,OAAO,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAQ7C,MAAM,OAAO,6BAA6B;IAKxC,YAAY,MAA2C;QACrD,IAAI,CAAC,mBAAmB,GAAG,MAAM,CAAC,mBAAmB,CAAC;QACtD,IAAI,CAAC,QAAQ,GAAG,MAAM,CAAC,QAAQ,CAAC;IAClC,CAAC;IAED,IAAI;QACF,MAAM,SAAS,GAAG,WAAW,CAAC,GAAG,EAAE,CAAC;QACpC,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,iBAAiB,CAAC,SAAS,CAAC,CAAC;IACrD,CAAC;IAED,iBAAiB,CAAC,SAAiB;QACjC,IAAI,CAAC,QAAQ,CACX,eAAe,CAAC,SAAS,CAAC,CAAC;YACzB,GAAG,IAAI,CAAC,sBAAsB,EAAE;SACjC,CAAC,CACH,CAAC;QACF,OAAO,GAAG,EAAE;YACV,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,GAAG,EAAE,GAAG,SAAS,CAAC,CAAC,CAAC;QAClE,CAAC,CAAC;IACJ,CAAC;IAED,eAAe,CAAC,OAAe;QAC7B,IAAI,CAAC,QAAQ,CACX,eAAe,CAAC,OAAO,CAAC,CAAC;YACvB,GAAG,IAAI,CAAC,sBAAsB,EAAE;YAChC,WAAW,EAAE,OAAO;SACrB,CAAC,CACH,CAAC;IACJ,CAAC;IAED,sBAAsB;QACpB,OAAO;YACL,GAAG,EAAE,MAAM,CAAC,QAAQ,CAAC,IAAI;SAC1B,CAAC;IACJ,CAAC;CACF"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/state/CollectionPageState/index.ts"],"names":[],"mappings":"AAAA,cAAc,uBAAuB,CAAC"}
|