@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.
Files changed (54) hide show
  1. package/dist/cjs/state/CollectionOptimisticActions.js +25 -6
  2. package/dist/cjs/state/CollectionOptimisticActions.js.map +1 -1
  3. package/dist/cjs/state/CollectionOptimisticActionsState.js +1 -0
  4. package/dist/cjs/state/CollectionOptimisticActionsState.js.map +1 -1
  5. package/dist/cjs/state/CollectionOptimisticHelpers.js +20 -1
  6. package/dist/cjs/state/CollectionOptimisticHelpers.js.map +1 -1
  7. package/dist/cjs/state/CollectionOptimisticPatch.js.map +1 -1
  8. package/dist/cjs/state/{CollectionPageState.js → CollectionPageState/CollectionPageState.js} +18 -3
  9. package/dist/cjs/state/CollectionPageState/CollectionPageState.js.map +1 -0
  10. package/dist/cjs/state/CollectionPageState/CollectionPageStateBIReporter.js +42 -0
  11. package/dist/cjs/state/CollectionPageState/CollectionPageStateBIReporter.js.map +1 -0
  12. package/dist/cjs/state/CollectionPageState/index.js +10 -0
  13. package/dist/cjs/state/CollectionPageState/index.js.map +1 -0
  14. package/dist/cjs/state/QueryResultState.js +15 -12
  15. package/dist/cjs/state/QueryResultState.js.map +1 -1
  16. package/dist/cjs/state/TagsState/TagsManagementState.js +9 -3
  17. package/dist/cjs/state/TagsState/TagsManagementState.js.map +1 -1
  18. package/dist/esm/state/CollectionOptimisticActions.js +21 -5
  19. package/dist/esm/state/CollectionOptimisticActions.js.map +1 -1
  20. package/dist/esm/state/CollectionOptimisticActionsState.js +1 -0
  21. package/dist/esm/state/CollectionOptimisticActionsState.js.map +1 -1
  22. package/dist/esm/state/CollectionOptimisticHelpers.js +8 -0
  23. package/dist/esm/state/CollectionOptimisticHelpers.js.map +1 -1
  24. package/dist/esm/state/{CollectionPageState.js → CollectionPageState/CollectionPageState.js} +16 -3
  25. package/dist/esm/state/CollectionPageState/CollectionPageState.js.map +1 -0
  26. package/dist/esm/state/CollectionPageState/CollectionPageStateBIReporter.js +32 -0
  27. package/dist/esm/state/CollectionPageState/CollectionPageStateBIReporter.js.map +1 -0
  28. package/dist/esm/state/CollectionPageState/index.js +2 -0
  29. package/dist/esm/state/CollectionPageState/index.js.map +1 -0
  30. package/dist/esm/state/QueryResultState.js +15 -12
  31. package/dist/esm/state/QueryResultState.js.map +1 -1
  32. package/dist/esm/state/TagsState/TagsManagementState.js +6 -3
  33. package/dist/esm/state/TagsState/TagsManagementState.js.map +1 -1
  34. package/dist/types/state/CollectionOptimisticActions.d.ts +1 -0
  35. package/dist/types/state/CollectionOptimisticActions.d.ts.map +1 -1
  36. package/dist/types/state/CollectionOptimisticActionsState.d.ts +1 -0
  37. package/dist/types/state/CollectionOptimisticActionsState.d.ts.map +1 -1
  38. package/dist/types/state/CollectionOptimisticHelpers.d.ts +1 -0
  39. package/dist/types/state/CollectionOptimisticHelpers.d.ts.map +1 -1
  40. package/dist/types/state/CollectionOptimisticPatch.d.ts +1 -1
  41. package/dist/types/state/CollectionOptimisticPatch.d.ts.map +1 -1
  42. package/dist/types/state/{CollectionPageState.d.ts → CollectionPageState/CollectionPageState.d.ts} +6 -2
  43. package/dist/types/state/CollectionPageState/CollectionPageState.d.ts.map +1 -0
  44. package/dist/types/state/CollectionPageState/CollectionPageStateBIReporter.d.ts +19 -0
  45. package/dist/types/state/CollectionPageState/CollectionPageStateBIReporter.d.ts.map +1 -0
  46. package/dist/types/state/CollectionPageState/index.d.ts +2 -0
  47. package/dist/types/state/CollectionPageState/index.d.ts.map +1 -0
  48. package/dist/types/state/QueryResultState.d.ts.map +1 -1
  49. package/dist/types/state/TagsState/TagsManagementState.d.ts +6 -3
  50. package/dist/types/state/TagsState/TagsManagementState.d.ts.map +1 -1
  51. package/package.json +2 -2
  52. package/dist/cjs/state/CollectionPageState.js.map +0 -1
  53. package/dist/esm/state/CollectionPageState.js.map +0 -1
  54. 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
- pages,
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 page = pages[pageIndex];
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 = page[indexWithinPage];
193
- page[indexWithinPage] = newItem;
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
- pages,
216
+ _pages,
211
217
  _pagesAtom
212
218
  } = this;
213
- pages[0].unshift(...newItems);
219
+ _pages.processed = [newItems, ..._pages.processed];
220
+ _pages.unprocessed = [newItems, ..._pages.unprocessed];
214
221
  _pagesAtom.reportChanged();
215
222
  return {
216
223
  rollback: () => {
217
- newItems.forEach(item => {
218
- const newItemIndex = pages[0].indexOf(item);
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":"AACA,OAAO,EACL,MAAM,EACN,QAAQ,EAER,cAAc,EACd,QAAQ,GACT,MAAM,MAAM,CAAC;AAGd,OAAO,EAAE,gCAAgC,EAAE,MAAM,oCAAoC,CAAC;AACtF,OAAO,EAAE,6BAA6B,EAAE,MAAM,iCAAiC,CAAC;AAChF,OAAO,EACL,eAAe,GAEhB,MAAM,6BAA6B,CAAC;AACrC,OAAO,EACL,4BAA4B,GAE7B,MAAM,gCAAgC,CAAC;AACxC,OAAO,EAAE,YAAY,EAAE,MAAM,QAAQ,CAAC;AAEtC,OAAO,EAAE,4BAA4B,EAAE,MAAM,gCAAgC,CAAC;AAC9E,OAAO,EAAE,oCAAoC,EAAE,MAAM,wCAAwC,CAAC;AAuL9F,MAAM,OAAO,2BAA2B;IAkCtC,YAAY,MAA+C;QA3BlD,WAAM,GAAG,IAAI,YAAY,EAYhC,CAAC;QAGM,eAAU,GAA0C,EAAE,CAAC;QAIvD,+BAA0B,GAAG,uBAAuB,CAAC;QAE9D,sBAAiB,GAAwB,IAAI,CAAC;QAE9C,iBAAY,GAAuB,QAAQ,CAAC;QAE5C,gBAAW,GAAG,KAAK,CAAC;QA4FZ,gBAAW,GAAG,MAAM,CAAC,CAAC,KAAyB,EAAE,EAAE;YACzD,MAAM,EACJ,KAAK,EACL,UAAU,EACV,WAAW,EACX,YAAY,EACZ,UAAU,EACV,WAAW,GACZ,GAAG,IAAI,CAAC;YAET,IAAI,YAAY,EAAE;gBAChB,OAAO;aACR;YAED,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;YAC5B,IAAI,WAAW,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,EAAE;gBACxC,UAAU,CAAC,OAAO,CAAC,CAAC,EAAE,gBAAgB,EAAE,EAAE,EAAE,CAAC,gBAAgB,CAAC,MAAM,EAAE,CAAC,CAAC;aACzE;YACD,UAAU,CAAC,UAAU,EAAE,CAAC;YACxB,WAAW,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,eAAe,EAAE,CAAC,CAAC;QAClD,CAAC,CAAC,CAAC;QAEH,qCAAgC,GAAG,CAAC,KAAyB,EAAE,EAAE;YAC/D,MAAM,EAAE,MAAM,EAAE,GAAG,IAAI,CAAC;YAExB,MAAM,UAAU,GAAG,GAAG,EAAE;gBACtB,MAAM,CAAC,GAAG,CAAC,SAAS,EAAE,UAAU,CAAC,CAAC;gBAClC,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;YAC1B,CAAC,CAAC;YAEF,MAAM,SAAS,GAAG,CAAC,EAAE,OAAO,EAAwB,EAAE,EAAE;gBACtD,MAAM,CAAC,GAAG,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC;gBAEjC,2DAA2D;gBAC3D,IAAI,OAAO,EAAE;oBACX,MAAM,CAAC,IAAI,CAAC,qBAAqB,EAAE,UAAU,CAAC,CAAC;iBAChD;YACH,CAAC,CAAC;YAEF,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;YAEvB,IAAI,IAAI,CAAC,WAAW,EAAE;gBACpB,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;aACzB;iBAAM;gBACL,2HAA2H;gBAC3H,MAAM,CAAC,EAAE,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC;gBAChC,uFAAuF;gBACvF,MAAM,CAAC,EAAE,CAAC,SAAS,EAAE,UAAU,CAAC,CAAC;aAClC;QACH,CAAC,CAAC;QA1IA,IAAI,CAAC,UAAU,GAAG,MAAM,CAAC,UAAU,CAAC;QACpC,IAAI,CAAC,KAAK,GAAG,MAAM,CAAC,KAAK,IAAI,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC;QACnD,IAAI,CAAC,WAAW,GAAG,MAAM,CAAC,WAAW,IAAI,EAAE,CAAC;QAE5C,IAAI,CAAC,SAAS;YACZ,MAAM,CAAC,SAAS;gBAChB,IAAI,GAAG,EAAgD,CAAC;QAE1D,IAAI,CAAC,KAAK,GAAG,IAAI,gCAAgC,CAAI;YACnD,MAAM,EAAE,IAAI,CAAC,UAAU;YACvB,YAAY,EAAE,MAAM,CAAC,SAAS,CAAC,YAAY;YAC3C,cAAc,EAAE,MAAM,CAAC,cAAc;SACtC,CAAC,CAAC;QAEH,IAAI,CAAC,uBAAuB,GAAG,IAAI,4BAA4B,CAAC;YAC9D,UAAU,EAAE,IAAI,CAAC,UAAU;SAC5B,CAAC,CAAC;QAEH,IAAI,CAAC,SAAS,GAAG,MAAM,CAAC,SAAS,IAAI,IAAI,CAAC,uBAAuB,CAAC,SAAS,CAAC;QAC5E,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC,OAAO,IAAI,IAAI,CAAC,uBAAuB,CAAC,OAAO,CAAC;QACtE,IAAI,CAAC,SAAS,GAAG,MAAM,CAAC,SAAS,CAAC;QAClC,IAAI,CAAC,YAAY,GAAG,MAAM,CAAC,YAAY,CAAC;QAExC,IAAI,CAAC,QAAQ,GAAG,IAAI,4BAA4B,CAAC;YAC/C,SAAS,EAAE,MAAM,CAAC,SAAS,IAAI,CAAC;YAChC,YAAY,EAAE,IAAI,CAAC,UAAU,CAAC,YAAY;YAC1C,SAAS,EAAE,IAAI,CAAC,UAAU,CAAC,SAAS;YACpC,SAAS,EAAE,IAAI,CAAC,UAAU,CAAC,SAAS;YACpC,MAAM,EAAE,IAAI,CAAC,UAAU,CAAC,MAAM;YAC9B,SAAS,EAAE,MAAM,CAAC,SAAS;SAC5B,CAAC,CAAC;QAEH,IAAI,CAAC,UAAU,CAAC,IAAI,CAClB,IAAI,6BAA6B,CAAC;YAChC,GAAG,MAAM;YACT,UAAU,EAAE,IAAI;SACjB,CAAC,CACH,CAAC;QAEF,IAAI,MAAM,CAAC,WAAW,IAAI,IAAI,EAAE;YAC9B,MAAM,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC,UAAU,EAAE,EAAE;gBACxC,IAAI,CAAC,UAAU,CAAC,IAAI,CAClB,IAAI,6BAA6B,CAAC;oBAChC,GAAG,MAAM;oBACT,UAAU;oBACV,UAAU,EAAE,IAAI;iBACjB,CAAC,CACH,CAAC;YACJ,CAAC,CAAC,CAAC;SACJ;QAED,IAAI,CAAC,UAAU,CAAC,kBAAkB,GAAG,IAAI,CAAC;QAE1C,cAAc,CAAC,IAAI,EAAE;YACnB,qBAAqB,EAAE,MAAM;YAC7B,wBAAwB,EAAE,MAAM;YAChC,QAAQ,EAAE,MAAM,CAAC,KAAK;YACtB,KAAK,EAAE,MAAM;YACb,IAAI,EAAE,MAAM;YACZ,kBAAkB,EAAE,QAAQ;SAC7B,CAAC,CAAC;IACL,CAAC;IAED,IAAI,WAAW;QACb,OAAO;YACL,IAAI,CAAC,UAAU,CAAC,SAAS;YACzB,GAAG,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC;SAC5C,CAAC;IACJ,CAAC;IAED,IAAI,kBAAkB;QACpB,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;IAC9E,CAAC;IAED,IAAI,kBAAkB;QACpB,OAAO,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;IAClD,CAAC;IAED,QAAQ,CAAC,KAAgD;QACvD,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG,IAAI,CAAC;QAC/B,MAAM,OAAO,GAAG,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;QAEvD,KAAK,MAAM,CAAC,IAAI,OAAO,EAAE;YACvB,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;SACzB;QAED,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;IAC3B,CAAC;IAqDD,qBAAqB,CAAC,KAAgD;QACpE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,IAAI,CAAC;QAC/B,MAAM,OAAO,GAAG,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;QACvD,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,OAAO,CAAC,CAAC;QAC/B,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;IAC3B,CAAC;IAED,wBAAwB,CACtB,QAA4B,EAC5B,QAA4B;QAE5B,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,IAAI,CAAC;QAE/B,MAAM,aAAa,GAAG,KAAK,CAAC,OAAO,CAAC,SAAS,CAC3C,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,KAAK,QAAQ,CAC9B,CAAC;QACF,KAAK,CAAC,OAAO,CAAC,aAAa,CAAC,GAAG,QAAQ,CAAC;QACxC,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;IAC3B,CAAC;IAED;;;;;OAKG;IACH,SAAS,CAAC,IAAO,EAAE,MAA2B;QAC5C,IAAI,CAAC,UAAU,CAAC,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC,CAAC;IAClC,CAAC;IAED;;;;;OAKG;IACH,UAAU,CAAC,KAAU,EAAE,MAA2B;QAChD,MAAM,EAAE,UAAU,EAAE,QAAQ,EAAE,GAAG,IAAI,CAAC;QACtC,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,GAAG,UAAU,CAAC;QACvC,MAAM,EAAE,MAAM,EAAE,iBAAiB,EAAE,MAAM,EAAE,UAAU,EAAE,OAAO,EAAE,GAAG,MAAM,CAAC;QAE1E,MAAM,qBAAqB,GAA6B;YACtD,UAAU,EAAE,UAAU,CAAC,UAAU;YACjC,UAAU,EAAE,IAAI,CAAC,WAAW;YAC5B,OAAO,EAAE,IAAI,CAAC,KAAK,CAAC,OAAO;YAC3B,UAAU,EAAE,YAAY;YACxB,YAAY,EAAE,IAAI,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC;YACjE,aAAa,EAAE,IAAI,GAAG,EAAE;YACxB,aAAa,EAAE,MAAM,CAAC,KAAK;YAC3B,KAAK,EAAE,CAAC,IAAI,EAAE,EAAE,YAAY,EAAE,EAAE,EAAE,CAAC,YAAY,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;YAClE,QAAQ,EAAE,CAAC,IAAI,EAAE,EAAE,YAAY,EAAE,EAAE,EAAE,CAAC,YAAY,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;SACtE,CAAC;QAEF,MAAM,eAAe,GAAG,IAAI,eAAe,CAAI,qBAAqB,CAAC,CAAC;QAEtE,IAAI,CAAC,qBAAqB,CAAC,eAAe,CAAC,CAAC;QAE5C,eAAe,CAAC,MAAM,CAAC,EAAE,CACvB,iBAAiB,EACjB,IAAI,CAAC,gCAAgC,CACtC,CAAC;QAEF,OAAO,QAAQ,CAAC,OAAO,CAAC,CAAC,eAAe,CAAC,EAAE;YACzC,GAAG,MAAM;YACT,MAAM,EAAE,MAAM,CAAC,KAAK,EAAE,OAAO,EAAE,EAAE;gBAC/B,MAAM,YAAY,GAAG,MAAM,MAAM,CAC/B,KAAK,CAAC,IAAI,CACR,OAAO;qBACJ,MAAM,CAAC,CAAC,EAAE,UAAU,EAAE,EAAE,EAAE,CAAC,UAAU,KAAK,YAAY,CAAC;qBACvD,MAAM,CAAC,CAAC,GAAG,EAAE,EAAE,mBAAmB,EAAE,EAAE,EAAE;oBACvC,KAAK,MAAM,CAAC,GAAG,EAAE,IAAI,CAAC,IAAI,mBAAmB,EAAE;wBAC7C,GAAG,CAAC,GAAG,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;qBACpB;oBACD,OAAO,GAAG,CAAC;gBACb,CAAC,EAAE,IAAI,GAAG,EAAa,CAAC;qBACvB,MAAM,EAAE,CACZ,CACF,CAAC;gBAEF,MAAM,sBAAsB,GAAG,IAAI,eAAe,CAAC;oBACjD,GAAG,qBAAqB;oBACxB,YAAY,EAAE,IAAI,GAAG,CACnB,YAAY,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,IAAI,CAAC,CAAC,CAClD;iBACF,CAAC,CAAC;gBAEH,IAAI,CAAC,wBAAwB,CAAC,sBAAsB,EAAE,eAAe,CAAC,CAAC;gBACvE,IAAI,CAAC,gCAAgC,CAAC,sBAAsB,CAAC,CAAC;gBAC9D,OAAO,YAAY,CAAC;YACtB,CAAC,CAAC;YACF,UAAU,EAAE,GAAG,EAAE;gBACf,IAAI,CAAC,QAAQ,CAAC,eAAe,CAAC,CAAC;YACjC,CAAC;YACD,iBAAiB,EAAE,iBAAiB;YACpC,mBAAmB,EAAE,eAAe,CAAC,mBAAmB;YACxD,UAAU,EAAE,KAAK,IAAI,EAAE;gBACrB,IAAI,CAAC,qBAAqB,CAAC,eAAe,CAAC,CAAC;gBAC5C,MAAM,UAAU,EAAE,EAAE,CAAC;YACvB,CAAC;YACD,OAAO;YACP,MAAM;SACP,CAAC,CAAC;IACL,CAAC;IAED;;;;;OAKG;IACH,UAAU,CAAI,KAAU,EAAE,MAA8B;QACtD,MAAM,EAAE,QAAQ,EAAE,UAAU,EAAE,GAAG,IAAI,CAAC;QACtC,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,GAAG,UAAU,CAAC;QACvC,MAAM,EACJ,MAAM,EACN,iBAAiB,EACjB,YAAY,EACZ,MAAM,EACN,UAAU,EACV,OAAO,GACR,GAAG,MAAM,CAAC;QAEX,MAAM,eAAe,GAAG,IAAI,eAAe,CAAC;YAC1C,UAAU,EAAE,UAAU,CAAC,UAAU;YACjC,UAAU,EAAE,IAAI,CAAC,WAAW;YAC5B,OAAO,EAAE,IAAI,CAAC,KAAK,CAAC,OAAO;YAC3B,UAAU,EAAE,YAAY;YACxB,YAAY;YACZ,YAAY,EAAE,IAAI,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC;YACjE,aAAa,EAAE,IAAI,GAAG,CACpB,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE;gBACjB,MAAM,GAAG,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;gBAC1B,MAAM,YAAY,GAAG,MAAM,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,EAAE,IAAI,IAAI,IAAI,CAAC;gBAC7D,OAAO,CAAC,GAAG,EAAE,YAAY,CAAC,CAAC;YAC7B,CAAC,CAAC,CACH;YACD,aAAa,EAAE,MAAM,CAAC,KAAK;YAC3B,KAAK,EAAE,CAAC,IAAI,EAAE,EAAE,YAAY,EAAE,EAAE,EAAE,CAAC,YAAY,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;YAClE,QAAQ,EAAE,CAAC,IAAI,EAAE,EAAE,YAAY,EAAE,EAAE,EAAE,CAAC,YAAY,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;SACtE,CAAC,CAAC;QAEH,IAAI,CAAC,qBAAqB,CAAC,eAAe,CAAC,CAAC;QAE5C,eAAe,CAAC,MAAM,CAAC,EAAE,CACvB,iBAAiB,EACjB,IAAI,CAAC,gCAAgC,CACtC,CAAC;QAEF,OAAO,QAAQ,CAAC,OAAO,CAAC,CAAC,eAAe,CAAC,EAAE;YACzC,GAAG,MAAM;YACT,MAAM,EAAE,MAAM,CAAC,CAAC,OAAO,EAAE,EAAE,CACzB,MAAM,CACJ,KAAK,CAAC,IAAI,CACR,OAAO;iBACJ,MAAM,CAAC,CAAC,EAAE,UAAU,EAAE,EAAE,EAAE,CAAC,UAAU,KAAK,YAAY,CAAC;iBACvD,MAAM,CAAC,CAAC,GAAG,EAAE,EAAE,mBAAmB,EAAE,EAAE,EAAE;gBACvC,KAAK,MAAM,CAAC,GAAG,EAAE,IAAI,CAAC,IAAI,mBAAmB,EAAE;oBAC7C,GAAG,CAAC,GAAG,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;iBACpB;gBACD,OAAO,GAAG,CAAC;YACb,CAAC,EAAE,IAAI,GAAG,EAAa,CAAC;iBACvB,MAAM,EAAE,CACZ,CACF,CACF;YACD,UAAU,EAAE,GAAG,EAAE;gBACf,IAAI,CAAC,QAAQ,CAAC,eAAe,CAAC,CAAC;YACjC,CAAC;YACD,iBAAiB,EAAE,iBAAiB;YACpC,mBAAmB,EAAE,eAAe,CAAC,mBAAmB;YACxD,UAAU,EAAE,KAAK,IAAI,EAAE;gBACrB,IAAI,CAAC,qBAAqB,CAAC,eAAe,CAAC,CAAC;gBAC5C,MAAM,UAAU,EAAE,EAAE,CAAC;YACvB,CAAC;YACD,OAAO;YACP,MAAM;SACP,CAAC,CAAC;IACL,CAAC;IAED,gBAAgB,CACd,eAAmC,EACnC,MAAwB;QAExB,MAAM,EAAE,MAAM,EAAE,UAAU,EAAE,GAAG,MAAM,CAAC;QACtC,MAAM,EAAE,UAAU,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,IAAI,CAAC;QAC3C,MAAM,EAAE,OAAO,EAAE,GAAG,KAAK,CAAC;QAE1B,MAAM,KAAK,GAAG,eAAe,CAAC,IAAI,CAAC;QAEnC,IAAI,KAAK,IAAI,IAAI,EAAE;YACjB,OAAO;SACR;QAED,MAAM,EAAE,cAAc,EAAE,GAAG,KAAK,CAAC;QAEjC,MAAM,aAAa,GAAG,GAAG,EAAE;YACzB,MAAM,EAAE,SAAS,EAAE,GAAG,IAAI,CAAC;YAC3B,MAAM,GAAG,GACP,SAAS,CAAC,GAAG,CAAC,cAAc,CAAC;gBAC7B,IAAI,oCAAoC,CAAC;oBACvC,SAAS,EAAE,UAAU,CAAC,SAAS;oBAC/B,SAAS,EAAE,UAAU,CAAC,SAAS;oBAC/B,YAAY,EAAE,UAAU,CAAC,YAAY;oBACrC,UAAU,EAAE,CAAC,GAAG,EAAE,EAAE;wBAClB,MAAM,cAAc,GAAG,OAAO,CAAC,MAAM,CACnC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,cAAc,KAAK,cAAc,CACjD,CAAC;wBACF,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,CAAC;wBAE9B,IACE,GAAG,YAAY,KAAK;4BACpB,GAAG,CAAC,OAAO,KAAK,IAAI,CAAC,0BAA0B,EAC/C;4BACA,QAAQ,CAAC,GAAG,CAAC,KAAK,EAAE,CAAC;4BACrB,OAAO;yBACR;wBAED,MAAM,CAAC,IAAI,CAAC,0BAA0B,EAAE;4BACtC,OAAO,EAAE,cAAc;yBACxB,CAAC,CAAC;wBACH,QAAQ,CAAC,GAAG,CAAC,KAAK,EAAE,CAAC;wBACrB,OAAO;4BACL,OAAO,EAAE,UAAU,CAAC,SAAS,CAAC,+BAA+B,CAAC;4BAC9D,MAAM,EAAE,kCAAkC;4BAC1C,MAAM,EAAE;gCACN,OAAO,EAAE,KAAK,IAAI,EAAE;oCAClB,IAAI,CAAC,qBAAqB,CAAC,cAAc,CAAC,CAAC;oCAC3C,KAAK,MAAM,CAAC,IAAI,cAAc,EAAE;wCAC9B,IAAI,CAAC,gBAAgB,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC;qCAClC;oCACD,MAAM,CAAC,IAAI,CAAC,0BAA0B,EAAE;wCACtC,OAAO,EAAE,cAAc;qCACxB,CAAC,CAAC;oCAEH,MAAM,UAAU,EAAE,EAAE,CAAC;gCACvB,CAAC;6BACF;yBACF,CAAC;oBACJ,CAAC;iBACF,CAAC,CAAC;YAEL,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,cAAc,CAAC,EAAE;gBAClC,SAAS,CAAC,GAAG,CAAC,cAAc,EAAE,GAAG,CAAC,CAAC;aACpC;YAED,OAAO,GAAG,CAAC;QACb,CAAC,CAAC;QAEF,MAAM,QAAQ,GAAG,aAAa,EAAE,CAAC;QAEjC,QAAQ,CAAC,QAAQ,CAAC;YAChB,MAAM,EAAE,GAAG,EAAE,CAAC,MAAM,EAAE,CAAC,KAAK,CAAC;YAC7B,mBAAmB,EAAE,eAAe,CAAC,mBAAmB;SACzD,CAAC,CAAC;IACL,CAAC;IAED,KAAK,CAAC,IAAI,CAAI,KAAoB,EAAE,MAAwB;QAC1D,MAAM,EAAE,UAAU,EAAE,KAAK,EAAE,GAAG,IAAI,CAAC;QACnC,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,GAAG,UAAU,CAAC;QACvC,MAAM,EAAE,OAAO,EAAE,GAAG,KAAK,CAAC;QAE1B,MAAM,eAAe,GAAG,IAAI,eAAe,CAAC;YAC1C,UAAU,EAAE,UAAU,CAAC,UAAU;YACjC,UAAU,EAAE,IAAI,CAAC,WAAW;YAC5B,OAAO;YACP,UAAU,EAAE,MAAM;YAClB,YAAY,EAAE,IAAI,GAAG,EAAE;YACvB,aAAa,EAAE,IAAI,GAAG,EAAE;YACxB,aAAa,EAAE,MAAM,CAAC,KAAK;YAC3B,QAAQ,EAAE,CAAC,IAAI,EAAE,EAAE,YAAY,EAAE,EAAE,EAAE,CAAC,YAAY,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;YACrE,IAAI,EAAE,KAAK;YACX,kBAAkB,EAAE,MAAM,CAAC,kBAAkB;SAC9C,CAAC,CAAC;QAEH,IAAI,CAAC,qBAAqB,CAAC,eAAe,CAAC,CAAC;QAE5C,eAAe,CAAC,MAAM,CAAC,EAAE,CACvB,iBAAiB,EACjB,IAAI,CAAC,gCAAgC,CACtC,CAAC;QAEF,IAAI,CAAC,gBAAgB,CAAC,eAAe,EAAE,MAAM,CAAC,CAAC;IACjD,CAAC;IAED;;;;;OAKG;IACH,SAAS,CAAI,IAAO,EAAE,MAA8B;QAClD,OAAO,IAAI,CAAC,UAAU,CAAC,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC,CAAC;IACzC,CAAC;IAqBD,SAAS,CACP,SAAiD,EACjD,MAA0B;QAE1B,MAAM,EAAE,QAAQ,EAAE,UAAU,EAAE,SAAS,EAAE,SAAS,EAAE,GAAG,IAAI,CAAC;QAC5D,MAAM,EACJ,MAAM,EACN,iBAAiB,EACjB,YAAY,EACZ,MAAM,EACN,UAAU,EACV,OAAO,GACR,GAAG,MAAM,CAAC;QACX,MAAM,EACJ,OAAO,EACP,MAAM,EAAE,EAAE,WAAW,EAAE,KAAK,EAAE,KAAK,EAAE,GACtC,GAAG,UAAU,CAAC;QAEf,MAAM,aAAa,GAAG,SAAS,CAAC,WAAW,CAAC,CAAC;QAE7C,MAAM,SAAS,GAAG,IAAI,IAAI,EAAE,CAAC;QAE7B,MAAM,EAAE,KAAK,EAAE,UAAU,EAAE,GACzB,OAAO,SAAS,KAAK,UAAU;YAC7B,CAAC,CAAC,EAAE,UAAU,EAAE,WAAoB,EAAE,KAAK,EAAE,SAAS,EAAE;YACxD,CAAC,CAAC;gBACE,UAAU,EAAE,gBAAyB;gBACrC,KAAK,EAAE,CAAC,IAAO,EAAE,EAAE,CAAC,CAAC,EAAE,GAAG,IAAI,EAAE,GAAG,SAAS,EAAE,CAAC;aAChD,CAAC;QAER,MAAM,eAAe,GAAG,IAAI,eAAe,CAAC;YAC1C,UAAU,EAAE,UAAU,CAAC,UAAU;YACjC,OAAO,EAAE,IAAI,CAAC,KAAK,CAAC,OAAO;YAC3B,UAAU;YACV,YAAY;YACZ,UAAU,EAAE,IAAI,CAAC,WAAW;YAC5B,YAAY,EAAE,IAAI,GAAG,CACnB,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,EAAE,GAAG,IAAI,EAAE,GAAG,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAClE;YACD,aAAa,EAAE,IAAI,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC;YAClE,aAAa,EAAE,KAAK;YACpB,QAAQ,EAAE,CAAC,IAAI,EAAE,EAAE,CACjB,aAAa,CAAC,IAAI,CAAC;gBACnB,CAAC,SAAS,IAAI,IAAI,IAAI,SAAS,CAAC,IAAI,CAAC,IAAI,SAAS,CAAC;YACrD,KAAK;SACN,CAAC,CAAC;QAEH,IAAI,CAAC,qBAAqB,CAAC,eAAe,CAAC,CAAC;QAE5C,eAAe,CAAC,MAAM,CAAC,EAAE,CACvB,iBAAiB,EACjB,IAAI,CAAC,gCAAgC,CACtC,CAAC;QAEF,QAAQ,CAAC,OAAO,CAAC,CAAC,eAAe,CAAC,EAAE;YAClC,GAAG,MAAM;YACT,MAAM;YACN,UAAU,EAAE,GAAG,EAAE;gBACf,IAAI,CAAC,QAAQ,CAAC,eAAe,CAAC,CAAC;YACjC,CAAC;YACD,iBAAiB,EAAE,iBAAiB;YACpC,mBAAmB,EAAE,eAAe,CAAC,mBAAmB;YACxD,UAAU,EAAE,KAAK,IAAI,EAAE;gBACrB,IAAI,CAAC,qBAAqB,CAAC,eAAe,CAAC,CAAC;gBAC5C,MAAM,UAAU,EAAE,EAAE,CAAC;YACvB,CAAC;YACD,OAAO;YACP,MAAM;SACP,CAAC,CAAC;IACL,CAAC;IAED;;;;;OAKG;IACH,UAAU,CAAI,KAAU,EAAE,MAA8B;QACtD,MAAM,EAAE,QAAQ,EAAE,UAAU,EAAE,GAAG,IAAI,CAAC;QACtC,MAAM,EACJ,OAAO,EACP,MAAM,EAAE,EAAE,KAAK,EAAE,GAClB,GAAG,UAAU,CAAC;QACf,MAAM,EAAE,MAAM,EAAE,iBAAiB,EAAE,MAAM,EAAE,UAAU,EAAE,OAAO,EAAE,GAAG,MAAM,CAAC;QAE1E,MAAM,YAAY,GAAG,IAAI,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC;QAEzE,MAAM,eAAe,GAAG,IAAI,eAAe,CAAC;YAC1C,UAAU,EAAE,UAAU,CAAC,UAAU;YACjC,OAAO,EAAE,IAAI,CAAC,KAAK,CAAC,OAAO;YAC3B,UAAU,EAAE,YAAY;YACxB,YAAY;YACZ,UAAU,EAAE,IAAI,CAAC,WAAW;YAC5B,aAAa,EAAE,YAAY;YAC3B,aAAa,EAAE,KAAK;YACpB,QAAQ,EAAE,CAAC,IAAI,EAAE,EAAE,YAAY,EAAE,EAAE,EAAE,CAAC,YAAY,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;SACtE,CAAC,CAAC;QAEH,IAAI,CAAC,qBAAqB,CAAC,eAAe,CAAC,CAAC;QAE5C,eAAe,CAAC,MAAM,CAAC,EAAE,CACvB,iBAAiB,EACjB,IAAI,CAAC,gCAAgC,CACtC,CAAC;QAEF,QAAQ,CAAC,OAAO,CAAC,CAAC,eAAe,CAAC,EAAE;YAClC,GAAG,MAAM;YACT,MAAM,EAAE,MAAM,CAAC,CAAC,OAAO,EAAE,EAAE,CACzB,MAAM,CACJ,KAAK,CAAC,IAAI,CACR,OAAO;iBACJ,MAAM,CAAC,CAAC,EAAE,UAAU,EAAE,EAAE,EAAE,CAAC,UAAU,KAAK,YAAY,CAAC;iBACvD,MAAM,CAAC,CAAC,GAAG,EAAE,EAAE,mBAAmB,EAAE,EAAE,EAAE;gBACvC,KAAK,MAAM,CAAC,GAAG,EAAE,IAAI,CAAC,IAAI,mBAAmB,EAAE;oBAC7C,GAAG,CAAC,GAAG,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;iBACpB;gBACD,OAAO,GAAG,CAAC;YACb,CAAC,EAAE,IAAI,GAAG,EAAa,CAAC;iBACvB,MAAM,EAAE,CACZ,CACF,CACF;YACD,UAAU,EAAE,GAAG,EAAE;gBACf,IAAI,CAAC,QAAQ,CAAC,eAAe,CAAC,CAAC;YACjC,CAAC;YACD,iBAAiB,EAAE,iBAAiB;YACpC,mBAAmB,EAAE,eAAe,CAAC,mBAAmB;YACxD,UAAU,EAAE,KAAK,IAAI,EAAE;gBACrB,IAAI,CAAC,qBAAqB,CAAC,eAAe,CAAC,CAAC;gBAC5C,MAAM,UAAU,EAAE,EAAE,CAAC;YACvB,CAAC;YACD,OAAO;YACP,MAAM;SACP,CAAC,CAAC;IACL,CAAC;IAED;;;;;OAKG;IACH,SAAS,CAAI,IAAO,EAAE,MAA8B;QAClD,OAAO,IAAI,CAAC,UAAU,CAAC,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC,CAAC;IACzC,CAAC;IAED;;;;OAIG;IACH,SAAS,CAAI,MAA0B;QACrC,MAAM,EAAE,QAAQ,EAAE,UAAU,EAAE,SAAS,EAAE,SAAS,EAAE,GAAG,IAAI,CAAC;QAC5D,MAAM,EAAE,MAAM,EAAE,iBAAiB,EAAE,MAAM,EAAE,UAAU,EAAE,OAAO,EAAE,GAAG,MAAM,CAAC;QAC1E,MAAM,EACJ,OAAO,EACP,MAAM,EAAE,EAAE,WAAW,EAAE,KAAK,EAAE,KAAK,EAAE,GACtC,GAAG,UAAU,CAAC;QAEf,MAAM,aAAa,GAAG,SAAS,CAAC,WAAW,CAAC,CAAC;QAE7C,MAAM,SAAS,GAAG,IAAI,IAAI,EAAE,CAAC;QAE7B,MAAM,YAAY,GAAG,IAAI,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC;QAEzE,MAAM,eAAe,GAAG,IAAI,eAAe,CAAC;YAC1C,OAAO,EAAE,IAAI,CAAC,KAAK,CAAC,OAAO;YAC3B,UAAU,EAAE,UAAU,CAAC,UAAU;YACjC,UAAU,EAAE,WAAW;YACvB,YAAY;YACZ,UAAU,EAAE,IAAI,CAAC,WAAW;YAC5B,aAAa,EAAE,YAAY;YAC3B,aAAa,EAAE,KAAK;YACpB,QAAQ,EAAE,CAAC,IAAI,EAAE,EAAE,CACjB,aAAa,CAAC,IAAI,CAAC;gBACnB,CAAC,SAAS,IAAI,IAAI,IAAI,SAAS,CAAC,IAAI,CAAC,IAAI,SAAS,CAAC;SACtD,CAAC,CAAC;QAEH,eAAe,CAAC,MAAM,CAAC,EAAE,CACvB,iBAAiB,EACjB,IAAI,CAAC,gCAAgC,CACtC,CAAC;QAEF,IAAI,CAAC,qBAAqB,CAAC,eAAe,CAAC,CAAC;QAE5C,QAAQ,CAAC,OAAO,CAAC,CAAC,eAAe,CAAC,EAAE;YAClC,GAAG,MAAM;YACT,MAAM;YACN,UAAU,EAAE,GAAG,EAAE;gBACf,IAAI,CAAC,QAAQ,CAAC,eAAe,CAAC,CAAC;YACjC,CAAC;YACD,iBAAiB,EAAE,iBAAiB;YACpC,mBAAmB,EAAE,eAAe,CAAC,mBAAmB;YACxD,UAAU,EAAE,KAAK,IAAI,EAAE;gBACrB,IAAI,CAAC,qBAAqB,CAAC,eAAe,CAAC,CAAC;gBAC5C,MAAM,UAAU,EAAE,EAAE,CAAC;YACvB,CAAC;YACD,OAAO;YACP,MAAM;SACP,CAAC,CAAC;IACL,CAAC;IAED,cAAc,CAAC,UAAiC;QAC9C,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QAClC,IAAI,6BAA6B,CAAC;YAChC,UAAU;YACV,UAAU,EAAE,IAAI;YAChB,OAAO,EAAE,IAAI,CAAC,OAAO;YACrB,SAAS,EAAE,IAAI,CAAC,SAAS;SAC1B,CAAC,CAAC;QAEH,OAAO,GAAG,EAAE;YACV,MAAM,CAAC,GAAG,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;YAC/C,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE;gBACZ,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;aAC/B;QACH,CAAC,CAAC;IACJ,CAAC;IAED,IAAI;QACF,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,GAAG,IAAI,CAAC;QAEpC,sEAAsE;QACtE,yHAAyH;QACzH,IAAI,IAAI,CAAC,KAAK,CAAC,qBAAqB,EAAE;YACpC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC;YAC3B,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,qBAAqB,CAAC,CAAC;SAC9D;QAED,MAAM,WAAW,GAAG,CAAC,MAA4B,EAAE,EAAE;YACnD,MAAM,CAAC,IAAI,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC;QACjC,CAAC,CAAC;QACF,MAAM,uBAAuB,GAAG,GAAG,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,qBAAqB,CAAC,CAAC;QAEzE,UAAU,CAAC,OAAO,CAAC,EAAE,CAAC,SAAS,EAAE,WAAW,CAAC,CAAC;QAC9C,UAAU,CAAC,OAAO,CAAC,EAAE,CAAC,qBAAqB,EAAE,uBAAuB,CAAC,CAAC;QAEtE,MAAM,SAAS,GAAG;YAChB,QAAQ,CACN,GAAG,EAAE;gBACH,MAAM,EACJ,MAAM,EAAE,EAAE,OAAO,EAAE,MAAM,EAAE,GAC5B,GAAG,UAAU,CAAC;gBACf,MAAM,WAAW,GAAG,MAAM,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,CAAC;gBAC/D,OAAO,OAAO,IAAI,WAAW,CAAC,MAAM,GAAG,CAAC,CAAC;YAC3C,CAAC,EACD,CAAC,cAAc,EAAE,EAAE;gBACjB,IAAI,cAAc,EAAE;oBAClB,UAAU,CAAC,qBAAqB,EAAE,CAAC;iBACpC;YACH,CAAC,CACF;SACF,CAAC;QAEF,OAAO,GAAG,EAAE;YACV,UAAU,CAAC,OAAO,CAAC,GAAG,CAAC,SAAS,EAAE,WAAW,CAAC,CAAC;YAC/C,UAAU,CAAC,OAAO,CAAC,GAAG,CAAC,qBAAqB,EAAE,uBAAuB,CAAC,CAAC;YACvE,SAAS,CAAC,OAAO,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,QAAQ,EAAE,CAAC,CAAC;YAC5C,IAAI,CAAC,KAAK,CAAC,qBAAqB,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC;YAC/D,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QACzB,CAAC,CAAC;IACJ,CAAC;IAED,KAAK;QACH,MAAM,EAAE,OAAO,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC;QAC/B,MAAM,SAAS,GAAG,OAAO,CAAC,KAAK,EAAE,CAAC;QAClC,KAAK,MAAM,KAAK,IAAI,SAAS,EAAE;YAC7B,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE;gBAClB,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;aACrB;SACF;IACH,CAAC;CACF"}
@@ -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;IAG3C,YAAY,MAAiD;QAC3D,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"}
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;SACxB,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;CACF"}
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"}
@@ -1,16 +1,23 @@
1
1
  import { makeObservable, observable } from 'mobx';
2
- import { PageState } from './PageState';
3
- import { addResizeObserver } from './resizeObserverCompat';
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 = 0;
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,2 @@
1
+ export * from './CollectionPageState';
2
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/state/CollectionPageState/index.ts"],"names":[],"mappings":"AAAA,cAAc,uBAAuB,CAAC"}