@wix/bex-core 1.437.0 → 1.438.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/assets/locale/messages_cs.json +1 -1
- package/dist/cjs/assets/locale/messages_es.json +1 -1
- package/dist/cjs/services/mapGuidComponentIdToNonGuid.js +0 -2
- package/dist/cjs/services/mapGuidComponentIdToNonGuid.js.map +1 -1
- package/dist/cjs/state/CollectionOptimisticActions.js +77 -13
- package/dist/cjs/state/CollectionOptimisticActions.js.map +1 -1
- package/dist/cjs/testkit/CairoContainer.driver.js +2 -1
- package/dist/cjs/testkit/CairoContainer.driver.js.map +1 -1
- package/dist/esm/assets/locale/messages_cs.json +1 -1
- package/dist/esm/assets/locale/messages_es.json +1 -1
- package/dist/esm/services/mapGuidComponentIdToNonGuid.js +0 -2
- package/dist/esm/services/mapGuidComponentIdToNonGuid.js.map +1 -1
- package/dist/esm/state/CollectionOptimisticActions.js +63 -16
- package/dist/esm/state/CollectionOptimisticActions.js.map +1 -1
- package/dist/esm/testkit/CairoContainer.driver.js +3 -1
- package/dist/esm/testkit/CairoContainer.driver.js.map +1 -1
- package/dist/types/services/mapGuidComponentIdToNonGuid.d.ts.map +1 -1
- package/dist/types/state/CollectionOptimisticActions.d.ts +181 -8
- package/dist/types/state/CollectionOptimisticActions.d.ts.map +1 -1
- package/dist/types/testkit/CairoContainer.driver.d.ts.map +1 -1
- package/package.json +2 -2
|
@@ -405,7 +405,7 @@
|
|
|
405
405
|
"cairo.passiveEmptyState.subtitle": "Až budete mít nějaké položky, uvidíte je zde.",
|
|
406
406
|
"cairo.tags.collectionPage.popover.loadTags.error.body": "Tagy se nepodařilo načíst kvůli technickým potížím na naší straně.",
|
|
407
407
|
"cairo.table.advanced-sorting.button.cta": "Třídit",
|
|
408
|
-
"cairo.emptyState.premium.cta": "
|
|
408
|
+
"cairo.emptyState.premium.cta": "Upgradovat",
|
|
409
409
|
"cairo.manageView.Rename.disabled.predefinedView.tooltip": "Toto je přednastavené zobrazení. Pokud chcete toto zobrazení přejmenovat, uložte jej jako nové zobrazení.",
|
|
410
410
|
"cairo.customFields.addCustomField.modal.fieldType.placeholder": "Vyberte typ",
|
|
411
411
|
"cairo.customFields.fieldType.checkbox.Name.placeholder": "Např. Přihlášeni k odběru",
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
{
|
|
2
|
-
"cairo.emptyState.premium.text": "Accede a más funciones
|
|
2
|
+
"cairo.emptyState.premium.text": "Accede a más funciones haciendo Upgrade a tu sitio.",
|
|
3
3
|
"cairo.customFields.fieldType.shortText": "Texto corto",
|
|
4
4
|
"cairo.delete.button": "Eliminar",
|
|
5
5
|
"cairo.deselectAll": "Deseleccionar todos",
|
|
@@ -6,8 +6,6 @@ exports.mapGuidComponentIdToNonGuid = mapGuidComponentIdToNonGuid;
|
|
|
6
6
|
const GuidComponentIdToNonGuid = exports.GuidComponentIdToNonGuid = {
|
|
7
7
|
'b5dfad3d-0bbb-4e8a-8630-c70e0abc4ae4': 'restaurants-menus-management-items',
|
|
8
8
|
'e7b7afbb-6d4e-46b2-8bd6-0af78dc9d21e': 'membership-lazy-component',
|
|
9
|
-
'6eba1ac9-67bd-4868-a5ff-6c8ac03e5388': 'contacts-page-component',
|
|
10
|
-
'bdd09dca-7cc9-4524-81d7-c9336071b33e': 'contacts-page-component',
|
|
11
9
|
'c821a776-85a9-4340-ae94-e08876c99944': 'wixstores-dashboard-product-list.pages.index',
|
|
12
10
|
'79dbb935-d823-4feb-9272-ef2cbcf2aafd': 'subscriptions-bm',
|
|
13
11
|
'4309112c-adcb-4a9d-8027-454b107afe76': 'cairo-example-bm.pages.infinite-scroll-table-v2'
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["GuidComponentIdToNonGuid","exports","mapGuidComponentIdToNonGuid","componentId"],"sources":["../../../src/services/mapGuidComponentIdToNonGuid.ts"],"sourcesContent":["export const GuidComponentIdToNonGuid: Record<string, string> = {\n 'b5dfad3d-0bbb-4e8a-8630-c70e0abc4ae4': 'restaurants-menus-management-items',\n 'e7b7afbb-6d4e-46b2-8bd6-0af78dc9d21e': 'membership-lazy-component',\n '
|
|
1
|
+
{"version":3,"names":["GuidComponentIdToNonGuid","exports","mapGuidComponentIdToNonGuid","componentId"],"sources":["../../../src/services/mapGuidComponentIdToNonGuid.ts"],"sourcesContent":["export const GuidComponentIdToNonGuid: Record<string, string> = {\n 'b5dfad3d-0bbb-4e8a-8630-c70e0abc4ae4': 'restaurants-menus-management-items',\n 'e7b7afbb-6d4e-46b2-8bd6-0af78dc9d21e': 'membership-lazy-component',\n 'c821a776-85a9-4340-ae94-e08876c99944':\n 'wixstores-dashboard-product-list.pages.index',\n '79dbb935-d823-4feb-9272-ef2cbcf2aafd': 'subscriptions-bm',\n '4309112c-adcb-4a9d-8027-454b107afe76':\n 'cairo-example-bm.pages.infinite-scroll-table-v2',\n};\n\nexport function mapGuidComponentIdToNonGuid(componentId: string): string {\n if (GuidComponentIdToNonGuid[componentId]) {\n return GuidComponentIdToNonGuid[componentId];\n }\n return componentId;\n}\n"],"mappings":";;;;;AAAO,MAAMA,wBAAgD,GAAAC,OAAA,CAAAD,wBAAA,GAAG;EAC9D,sCAAsC,EAAE,oCAAoC;EAC5E,sCAAsC,EAAE,2BAA2B;EACnE,sCAAsC,EACpC,8CAA8C;EAChD,sCAAsC,EAAE,kBAAkB;EAC1D,sCAAsC,EACpC;AACJ,CAAC;AAEM,SAASE,2BAA2BA,CAACC,WAAmB,EAAU;EACvE,IAAIH,wBAAwB,CAACG,WAAW,CAAC,EAAE;IACzC,OAAOH,wBAAwB,CAACG,WAAW,CAAC;EAC9C;EACA,OAAOA,WAAW;AACpB"}
|
|
@@ -13,9 +13,6 @@ var _events = require("events");
|
|
|
13
13
|
var _QueryResultSimulationDefault = require("./QueryResultSimulationDefault");
|
|
14
14
|
var _CollectionOptimisticSequenceExecutor = require("./CollectionOptimisticSequenceExecutor");
|
|
15
15
|
class CollectionOptimisticActions {
|
|
16
|
-
get _queryNames() {
|
|
17
|
-
return [this.collection.queryName, ...this.collections.map(c => c.queryName)];
|
|
18
|
-
}
|
|
19
16
|
constructor(params) {
|
|
20
17
|
(0, _defineProperty2.default)(this, "collection", void 0);
|
|
21
18
|
(0, _defineProperty2.default)(this, "collections", void 0);
|
|
@@ -116,6 +113,15 @@ class CollectionOptimisticActions {
|
|
|
116
113
|
pendingMovePatches: _mobx.computed
|
|
117
114
|
});
|
|
118
115
|
}
|
|
116
|
+
get _queryNames() {
|
|
117
|
+
return [this.collection.queryName, ...this.collections.map(c => c.queryName)];
|
|
118
|
+
}
|
|
119
|
+
get hasRunningSequence() {
|
|
120
|
+
return Array.from(this.sequences.values()).some(s => s.seq.state.running);
|
|
121
|
+
}
|
|
122
|
+
get pendingMovePatches() {
|
|
123
|
+
return this.state.patches.filter(p => p.move);
|
|
124
|
+
}
|
|
119
125
|
rollback(patch) {
|
|
120
126
|
const {
|
|
121
127
|
events,
|
|
@@ -127,12 +133,6 @@ class CollectionOptimisticActions {
|
|
|
127
133
|
}
|
|
128
134
|
events.emit('reprocess');
|
|
129
135
|
}
|
|
130
|
-
get hasRunningSequence() {
|
|
131
|
-
return Array.from(this.sequences.values()).some(s => s.seq.state.running);
|
|
132
|
-
}
|
|
133
|
-
get pendingMovePatches() {
|
|
134
|
-
return this.state.patches.filter(p => p.move);
|
|
135
|
-
}
|
|
136
136
|
pushPatchAndReprocess(patch) {
|
|
137
137
|
const {
|
|
138
138
|
state,
|
|
@@ -154,6 +154,9 @@ class CollectionOptimisticActions {
|
|
|
154
154
|
|
|
155
155
|
/**
|
|
156
156
|
* @deprecated Use createOne instead
|
|
157
|
+
* Adds a single item to the collection.
|
|
158
|
+
* @param item - The item to add.
|
|
159
|
+
* @param params - Additional parameters for the operation.
|
|
157
160
|
*/
|
|
158
161
|
addOne(item, params = {}) {
|
|
159
162
|
return this.addMany([item], params);
|
|
@@ -161,6 +164,9 @@ class CollectionOptimisticActions {
|
|
|
161
164
|
|
|
162
165
|
/**
|
|
163
166
|
* @deprecated Use createMany instead
|
|
167
|
+
* Adds multiple items to the collection.
|
|
168
|
+
* @param items - The items to add.
|
|
169
|
+
* @param params - Additional parameters for the operation.
|
|
164
170
|
*/
|
|
165
171
|
addMany(items, params = {}) {
|
|
166
172
|
const {
|
|
@@ -220,9 +226,23 @@ class CollectionOptimisticActions {
|
|
|
220
226
|
onUndo
|
|
221
227
|
});
|
|
222
228
|
}
|
|
229
|
+
|
|
230
|
+
/**
|
|
231
|
+
* Creates a single item in the collection.
|
|
232
|
+
* @param item - The item to create.
|
|
233
|
+
* @param params - Additional parameters for the operation.
|
|
234
|
+
* @external
|
|
235
|
+
*/
|
|
223
236
|
createOne(item, params) {
|
|
224
237
|
this.createMany([item], params);
|
|
225
238
|
}
|
|
239
|
+
|
|
240
|
+
/**
|
|
241
|
+
* Creates multiple items in the collection.
|
|
242
|
+
* @param items - The items to create.
|
|
243
|
+
* @param params - Additional parameters for the operation.
|
|
244
|
+
* @external
|
|
245
|
+
*/
|
|
226
246
|
createMany(items, params) {
|
|
227
247
|
const {
|
|
228
248
|
collection,
|
|
@@ -291,7 +311,14 @@ class CollectionOptimisticActions {
|
|
|
291
311
|
onUndo
|
|
292
312
|
});
|
|
293
313
|
}
|
|
294
|
-
|
|
314
|
+
|
|
315
|
+
/**
|
|
316
|
+
* Updates multiple items in the collection.
|
|
317
|
+
* @param items - The items to update.
|
|
318
|
+
* @param params - Additional parameters for the update operation.
|
|
319
|
+
* @external
|
|
320
|
+
*/
|
|
321
|
+
updateMany(items, params) {
|
|
295
322
|
const {
|
|
296
323
|
executor,
|
|
297
324
|
collection
|
|
@@ -467,15 +494,32 @@ class CollectionOptimisticActions {
|
|
|
467
494
|
optimisticPatch.events.on('scheduleRemoval', this._clearPatchOnNextResultOrUnmount);
|
|
468
495
|
this.enqueueMovePatch(optimisticPatch, params);
|
|
469
496
|
}
|
|
470
|
-
|
|
497
|
+
|
|
498
|
+
/**
|
|
499
|
+
* Updates a single item in the collection.
|
|
500
|
+
* @param item - The item to update.
|
|
501
|
+
* @param params - Additional parameters for the operation.
|
|
502
|
+
* @external
|
|
503
|
+
*/
|
|
504
|
+
updateOne(item, params) {
|
|
471
505
|
return this.updateMany([item], params);
|
|
472
506
|
}
|
|
473
507
|
|
|
474
508
|
/**
|
|
475
509
|
* @deprecated `updateAll(fn)` API is not recommended as it's not possible to calculate "optimistic total", prefer updateAll(patchObject) API.
|
|
510
|
+
* Updates all items in the collection based on a function or a patch object.
|
|
511
|
+
* @param patchOrFn - A function or a patch object to apply to each item.
|
|
512
|
+
* @param params - Additional parameters for the operation.
|
|
476
513
|
*/
|
|
477
514
|
|
|
478
|
-
|
|
515
|
+
/**
|
|
516
|
+
* Updates all items in the collection based on a patch object.
|
|
517
|
+
* @param patchOrFn - A function or a patch object to apply to each item.
|
|
518
|
+
* @param params - Additional parameters for the operation.
|
|
519
|
+
* @external
|
|
520
|
+
*/
|
|
521
|
+
|
|
522
|
+
updateAll(patchOrFn, params) {
|
|
479
523
|
const {
|
|
480
524
|
executor,
|
|
481
525
|
collection,
|
|
@@ -546,6 +590,13 @@ class CollectionOptimisticActions {
|
|
|
546
590
|
onUndo
|
|
547
591
|
});
|
|
548
592
|
}
|
|
593
|
+
|
|
594
|
+
/**
|
|
595
|
+
* Deletes multiple items from the collection.
|
|
596
|
+
* @param items - An array of items to delete.
|
|
597
|
+
* @param params - Additional parameters for the delete operation.
|
|
598
|
+
* @external
|
|
599
|
+
*/
|
|
549
600
|
deleteMany(items, params) {
|
|
550
601
|
const {
|
|
551
602
|
executor,
|
|
@@ -604,10 +655,23 @@ class CollectionOptimisticActions {
|
|
|
604
655
|
onUndo
|
|
605
656
|
});
|
|
606
657
|
}
|
|
658
|
+
|
|
659
|
+
/**
|
|
660
|
+
* Deletes a single item from the collection.
|
|
661
|
+
* @param item - The item to delete.
|
|
662
|
+
* @param params - Additional parameters for the operation.
|
|
663
|
+
* @external
|
|
664
|
+
*/
|
|
607
665
|
deleteOne(item, params) {
|
|
608
666
|
return this.deleteMany([item], params);
|
|
609
667
|
}
|
|
610
|
-
|
|
668
|
+
|
|
669
|
+
/**
|
|
670
|
+
* Deletes all items from the collection.
|
|
671
|
+
* @param params - Additional parameters for the operation.
|
|
672
|
+
* @external
|
|
673
|
+
*/
|
|
674
|
+
deleteAll(params) {
|
|
611
675
|
const {
|
|
612
676
|
executor,
|
|
613
677
|
collection,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_mobx","require","_CollectionOptimisticActionsState","_CollectionOptimisticProcessor","_CollectionOptimisticPatch","_CollectionOptimisticExecutor","_events","_QueryResultSimulationDefault","_CollectionOptimisticSequenceExecutor","CollectionOptimisticActions","_queryNames","collection","queryName","collections","map","c","constructor","params","_defineProperty2","default","EventEmitter","Map","action","patch","state","noInvalidate","patches","remove","invalidate","forEach","p","refreshAllPages","events","clearPatch","off","_clearPatch","onRefresh","isStale","once","on","emit","CollectionOptimisticActionsState","source","patchesCache","container","cacheNamespace","resultSimulationDefault","QueryResultSimulationDefault","predicate","orderBy","createdAt","executor","CollectionOptimisticExecutor","batchWait","errorMonitor","showToast","translate","lodash","processors","push","CollectionOptimisticProcessor","optimistic","_optimisticActions","makeObservable","pushPatchAndReprocess","replacePatchAndReprocess","rollback","bound","clear","move","pendingMovePatches","computed","Array","isArray","hasRunningSequence","from","sequences","values","some","s","seq","running","filter","newPatch","oldPatch","oldPatchIndex","findIndex","addOne","item","addMany","items","itemKey","result","submit","serverEventuallyUpdated","onUndo","onTryAgain","onError","optimisticPatch","OptimisticPatch","queryCache","queryNames","actionType","patchedItems","originalItems","originalTotal","total","get","selector","has","_clearPatchOnNextResultOrUnmount","execute","actions","reduce","patchedItemsEntries","key","set","onRollback","eventuallyUpdated","onEventuallyUpdated","createOne","createMany","optimisticPatchParams","submitResult","updatedOptimisticPatch","updateMany","keepPosition","_result$get","originalItem","enqueueMovePatch","query","filtersKeyHash","event","_initSequence","CollectionOptimisticSequenceExecutor","err","pendingPatches","_p$move","Error","message","reorderModeCanceledMessage","biName","onClick","sequence","collectionSnapshot","updateOne","updateAll","patchOrFn","originQuery","itemPredicate","updatedAt","Date","deleteMany","deleteOne","deleteAll","initCollection","processor","dispose","init","i","indexOf","splice","emitRefresh","emitBeforeResultUpdated","emitter","disposers","reaction","isEmpty","_pages","unprocessed","flatMap","page","length","allFilteredOut","fetchNextPageIfNeeded","disposer","remaining","exports"],"sources":["../../../src/state/CollectionOptimisticActions.ts"],"sourcesContent":["import { ActionMove, ComputedQuery, FiltersMap, ToastConfig } from '../model';\nimport {\n action,\n computed,\n IObservableArray,\n makeObservable,\n reaction,\n} from 'mobx';\nimport { CollectionState } from './CollectionState';\nimport { Order } from './QueryResultSimulation';\nimport { CollectionOptimisticActionsState } from './CollectionOptimisticActionsState';\nimport { CollectionOptimisticProcessor } from './CollectionOptimisticProcessor';\nimport {\n OptimisticPatch,\n OptimisticPatchParams,\n} from './CollectionOptimisticPatch';\nimport {\n CollectionOptimisticExecutor,\n EventuallyUpdated,\n} from './CollectionOptimisticExecutor';\nimport { EventEmitter } from 'events';\nimport { TypedEmitter } from '../util';\nimport { QueryResultSimulationDefault } from './QueryResultSimulationDefault';\nimport { CollectionOptimisticSequenceExecutor } from './CollectionOptimisticSequenceExecutor';\nimport { ModalLayoutProps } from '../services';\n\nexport interface OptimisticActionBasis {\n showUndoToast?: boolean;\n showUndoSuccessToast?: boolean;\n onUndo?: () => void;\n errorToast?: (err: unknown) => ToastConfig | string;\n onError?: (err: unknown) => void;\n onTryAgain?: () => void | Promise<void>;\n successToast?: ToastConfig | string;\n serverEventuallyUpdated?: EventuallyUpdated;\n}\n\nexport interface UpdateAllParams<R> extends OptimisticActionBasis {\n submit: () => Promise<R>;\n keepPosition?: boolean;\n}\n\nexport interface UpdateManyParams<T, R> extends OptimisticActionBasis {\n submit: (items: T[]) => Promise<R>;\n keepPosition?: boolean;\n}\n\nexport interface MoveParams<T, R> extends OptimisticActionBasis {\n submit?: (params: ActionMove<T>) => Promise<R>;\n collectionSnapshot: { [key: string]: string | number | undefined };\n}\n\nexport interface AddManyParams<T, R> extends OptimisticActionBasis {\n submit?: (items: T[]) => Promise<R>;\n}\n\nexport interface CreateManyParams<T> extends OptimisticActionBasis {\n submit: (items: T[]) => Promise<T[]>;\n}\n\nexport interface DeleteManyParams<T, R> extends OptimisticActionBasis {\n submit: (items: T[]) => Promise<R>;\n}\n\nexport interface DeleteAllParams<R> extends OptimisticActionBasis {\n submit: () => Promise<R>;\n}\n\nexport interface CollectionOptimisticActionsBaseParams<\n T,\n F extends FiltersMap,\n> {\n readonly predicate?: (\n computedQuery: ComputedQuery<F>,\n ) => (item: T) => boolean;\n readonly orderBy?: (computedQuery: ComputedQuery<F>) => Order<T>[];\n readonly createdAt?: (item: T) => Date;\n readonly batchWait?: number;\n readonly noInvalidate?: boolean;\n readonly cacheNamespace?: string;\n}\n\nexport interface CollectionOptimisticActionsParams<T, F extends FiltersMap>\n extends CollectionOptimisticActionsBaseParams<T, F> {\n readonly collection: CollectionState<T, F>;\n readonly collections?: CollectionState<T, F>[];\n readonly container: {\n patchesCache: Map<string, IObservableArray<OptimisticPatch<T>>>;\n events: TypedEmitter<{\n navigation: () => ModalLayoutProps | null | undefined;\n }>;\n };\n}\n\nexport class CollectionOptimisticActions<T, F extends FiltersMap> {\n readonly collection;\n readonly collections;\n readonly predicate: (computedQuery: ComputedQuery<F>) => (item: T) => boolean;\n readonly orderBy: (computedQuery: ComputedQuery<F>) => Order<T>[];\n readonly createdAt?: (item: T) => Date;\n readonly events = new EventEmitter() as TypedEmitter<{\n reprocess: () => void;\n updated: () => void;\n refresh: (params: { isStale: boolean }) => void;\n unmount: () => void;\n beforeResultUpdated: () => void;\n dragAndDropSequenceError: (params: {\n patches: OptimisticPatch<T>[];\n }) => void;\n dragAndDropSequenceRetry: (params: {\n patches: OptimisticPatch<T>[];\n }) => void;\n }>;\n readonly noInvalidate;\n\n readonly state;\n\n readonly processors: CollectionOptimisticProcessor<T, F>[] = [];\n readonly executor: CollectionOptimisticExecutor<OptimisticPatch<T>>;\n readonly sequences = new Map<string, CollectionOptimisticSequenceExecutor>();\n\n readonly resultSimulationDefault;\n readonly reorderModeCanceledMessage = 'REORDER_MODE_CANCELED';\n\n _resumeNavigation: (() => void) | null = null;\n\n _orderByMode: 'orders' | 'moves' = 'orders';\n\n get _queryNames() {\n return [\n this.collection.queryName,\n ...this.collections.map((c) => c.queryName),\n ];\n }\n\n constructor(params: CollectionOptimisticActionsParams<T, F>) {\n this.collection = params.collection;\n this.collections = params.collections ?? [];\n\n this.state = new CollectionOptimisticActionsState<T>({\n source: this.collection,\n patchesCache: params.container.patchesCache,\n cacheNamespace: params.cacheNamespace,\n });\n\n this.resultSimulationDefault = new QueryResultSimulationDefault({\n collection: this.collection,\n });\n\n this.predicate = params.predicate ?? this.resultSimulationDefault.predicate;\n this.orderBy = params.orderBy ?? this.resultSimulationDefault.orderBy;\n this.createdAt = params.createdAt;\n this.noInvalidate = params.noInvalidate;\n\n this.executor = new CollectionOptimisticExecutor({\n batchWait: params.batchWait ?? 0,\n errorMonitor: this.collection.errorMonitor,\n showToast: this.collection.showToast,\n translate: this.collection.translate,\n lodash: this.collection.lodash,\n container: params.container,\n });\n\n this.processors.push(\n new CollectionOptimisticProcessor({\n ...params,\n optimistic: this,\n }),\n );\n\n if (params.collections != null) {\n params.collections.forEach((collection) => {\n this.processors.push(\n new CollectionOptimisticProcessor({\n ...params,\n collection,\n optimistic: this,\n }),\n );\n });\n }\n\n this.collection._optimisticActions = this;\n\n makeObservable(this, {\n pushPatchAndReprocess: action,\n replacePatchAndReprocess: action,\n rollback: action.bound,\n clear: action,\n move: action,\n pendingMovePatches: computed,\n });\n }\n\n rollback(patch: OptimisticPatch<T> | OptimisticPatch<T>[]) {\n const { events, state } = this;\n const patches = Array.isArray(patch) ? patch : [patch];\n\n for (const p of patches) {\n state.patches.remove(p);\n }\n\n events.emit('reprocess');\n }\n\n private _clearPatch = action((patch: OptimisticPatch<T>) => {\n const { state, collection, collections, noInvalidate } = this;\n if (noInvalidate) {\n return;\n }\n\n state.patches.remove(patch);\n collection.invalidate();\n collections.forEach((p) => p.refreshAllPages());\n });\n\n _clearPatchOnNextResultOrUnmount = (patch: OptimisticPatch<T>) => {\n const { events } = this;\n\n const clearPatch = () => {\n events.off('unmount', clearPatch);\n this._clearPatch(patch);\n };\n\n const onRefresh = ({ isStale }: { isStale: boolean }) => {\n events.off('refresh', onRefresh);\n\n // clear only when results are not going to come from cache\n if (isStale) {\n events.once('beforeResultUpdated', clearPatch);\n }\n };\n\n // Clear the patch on the next collection result update to eliminate inconsistencies between server state and local patches\n events.on('refresh', onRefresh);\n // since not clearing the patch immediately, clear it on unmount if was not cleared yet\n events.on('unmount', clearPatch);\n\n events.emit('updated');\n };\n\n get hasRunningSequence() {\n return Array.from(this.sequences.values()).some((s) => s.seq.state.running);\n }\n\n get pendingMovePatches() {\n return this.state.patches.filter((p) => p.move);\n }\n\n pushPatchAndReprocess(patch: OptimisticPatch<T> | OptimisticPatch<T>[]) {\n const { state, events } = this;\n const patches = Array.isArray(patch) ? patch : [patch];\n state.patches.push(...patches);\n events.emit('reprocess');\n }\n\n replacePatchAndReprocess(\n newPatch: OptimisticPatch<T>,\n oldPatch: OptimisticPatch<T>,\n ) {\n const { state, events } = this;\n\n const oldPatchIndex = state.patches.findIndex(\n (patch) => patch === oldPatch,\n );\n state.patches[oldPatchIndex] = newPatch;\n events.emit('reprocess');\n }\n\n /**\n * @deprecated Use createOne instead\n */\n addOne<R>(item: T, params: AddManyParams<T, R> = {}) {\n return this.addMany([item], params);\n }\n\n /**\n * @deprecated Use createMany instead\n */\n addMany<R>(items: T[], params: AddManyParams<T, R> = {}) {\n const { collection, executor } = this;\n const { itemKey, result } = collection;\n const { submit, serverEventuallyUpdated, onUndo, onTryAgain, onError } =\n params;\n\n const optimisticPatch = new OptimisticPatch({\n queryCache: collection.queryCache,\n queryNames: this._queryNames,\n patches: this.state.patches,\n actionType: 'createMany',\n patchedItems: new Map(items.map((item) => [itemKey(item), item])),\n originalItems: new Map(),\n originalTotal: result.total,\n patch: (item, { patchedItems }) => patchedItems.get(itemKey(item)),\n selector: (item, { patchedItems }) => patchedItems.has(itemKey(item)),\n });\n\n this.pushPatchAndReprocess(optimisticPatch);\n\n optimisticPatch.events.on(\n 'scheduleRemoval',\n this._clearPatchOnNextResultOrUnmount,\n );\n\n return executor.execute([optimisticPatch], {\n ...params,\n submit: action((actions) =>\n submit?.(\n Array.from(\n actions\n .filter(({ actionType }) => actionType === 'createMany')\n .reduce((map, { patchedItemsEntries }) => {\n for (const [key, item] of patchedItemsEntries) {\n map.set(key, item);\n }\n return map;\n }, new Map<string, T>())\n .values(),\n ),\n ),\n ),\n onRollback: () => {\n this.rollback(optimisticPatch);\n },\n eventuallyUpdated: serverEventuallyUpdated,\n onEventuallyUpdated: optimisticPatch.onEventuallyUpdated,\n onTryAgain: async () => {\n this.pushPatchAndReprocess(optimisticPatch);\n await onTryAgain?.();\n },\n onError,\n onUndo,\n });\n }\n\n createOne(item: T, params: CreateManyParams<T>) {\n this.createMany([item], params);\n }\n\n createMany(items: T[], params: CreateManyParams<T>) {\n const { collection, executor } = this;\n const { itemKey, result } = collection;\n const { submit, serverEventuallyUpdated, onUndo, onTryAgain, onError } =\n params;\n\n const optimisticPatchParams: OptimisticPatchParams<T> = {\n queryCache: collection.queryCache,\n queryNames: this._queryNames,\n patches: this.state.patches,\n actionType: 'createMany',\n patchedItems: new Map(items.map((item) => [itemKey(item), item])),\n originalItems: new Map(),\n originalTotal: result.total,\n patch: (item, { patchedItems }) => patchedItems.get(itemKey(item)),\n selector: (item, { patchedItems }) => patchedItems.has(itemKey(item)),\n };\n\n const optimisticPatch = new OptimisticPatch<T>(optimisticPatchParams);\n\n this.pushPatchAndReprocess(optimisticPatch);\n\n optimisticPatch.events.on(\n 'scheduleRemoval',\n this._clearPatchOnNextResultOrUnmount,\n );\n\n return executor.execute([optimisticPatch], {\n ...params,\n submit: action(async (actions) => {\n const submitResult = await submit(\n Array.from(\n actions\n .filter(({ actionType }) => actionType === 'createMany')\n .reduce((map, { patchedItemsEntries }) => {\n for (const [key, item] of patchedItemsEntries) {\n map.set(key, item);\n }\n return map;\n }, new Map<string, T>())\n .values(),\n ),\n );\n\n const updatedOptimisticPatch = new OptimisticPatch({\n ...optimisticPatchParams,\n patchedItems: new Map(\n submitResult.map((item) => [itemKey(item), item]),\n ),\n });\n\n this.replacePatchAndReprocess(updatedOptimisticPatch, optimisticPatch);\n this._clearPatchOnNextResultOrUnmount(updatedOptimisticPatch);\n return submitResult;\n }),\n onRollback: () => {\n this.rollback(optimisticPatch);\n },\n eventuallyUpdated: serverEventuallyUpdated,\n onEventuallyUpdated: optimisticPatch.onEventuallyUpdated,\n onTryAgain: async () => {\n this.pushPatchAndReprocess(optimisticPatch);\n await onTryAgain?.();\n },\n onError,\n onUndo,\n });\n }\n\n async updateMany<R>(items: T[], params: UpdateManyParams<T, R>) {\n const { executor, collection } = this;\n const { itemKey, result } = collection;\n const {\n submit,\n serverEventuallyUpdated,\n keepPosition,\n onUndo,\n onTryAgain,\n onError,\n } = params;\n\n const optimisticPatch = new OptimisticPatch({\n queryCache: collection.queryCache,\n queryNames: this._queryNames,\n patches: this.state.patches,\n actionType: 'updateMany',\n keepPosition,\n patchedItems: new Map(items.map((item) => [itemKey(item), item])),\n originalItems: new Map(\n items.map((item) => {\n const key = itemKey(item);\n const originalItem = result.get(itemKey(item))?.item ?? item;\n return [key, originalItem];\n }),\n ),\n originalTotal: result.total,\n patch: (item, { patchedItems }) => patchedItems.get(itemKey(item)),\n selector: (item, { patchedItems }) => patchedItems.has(itemKey(item)),\n });\n\n this.pushPatchAndReprocess(optimisticPatch);\n\n optimisticPatch.events.on(\n 'scheduleRemoval',\n this._clearPatchOnNextResultOrUnmount,\n );\n\n return executor.execute([optimisticPatch], {\n ...params,\n submit: action((actions) =>\n submit(\n Array.from(\n actions\n .filter(({ actionType }) => actionType === 'updateMany')\n .reduce((map, { patchedItemsEntries }) => {\n for (const [key, item] of patchedItemsEntries) {\n map.set(key, item);\n }\n return map;\n }, new Map<string, T>())\n .values(),\n ),\n ),\n ),\n onRollback: () => {\n this.rollback(optimisticPatch);\n },\n eventuallyUpdated: serverEventuallyUpdated,\n onEventuallyUpdated: optimisticPatch.onEventuallyUpdated,\n onTryAgain: async () => {\n this.pushPatchAndReprocess(optimisticPatch);\n await onTryAgain?.();\n },\n onError,\n onUndo,\n });\n }\n\n enqueueMovePatch<R>(\n optimisticPatch: OptimisticPatch<T>,\n params: MoveParams<T, R>,\n ) {\n const { submit, onTryAgain } = params;\n const { collection, state, events } = this;\n const { query } = collection;\n const { patches } = state;\n\n const { filtersKeyHash } = query;\n\n const event = optimisticPatch.move;\n\n if (event == null) {\n return;\n }\n\n const _initSequence = () => {\n const { sequences } = this;\n const seq =\n sequences.get(filtersKeyHash) ??\n new CollectionOptimisticSequenceExecutor({\n showToast: collection.showToast,\n translate: collection.translate,\n errorMonitor: collection.errorMonitor,\n onRollback: (err) => {\n const pendingPatches = patches.filter(\n (p) => p.move?.filtersKeyHash === filtersKeyHash,\n );\n this.rollback(pendingPatches);\n\n if (\n err instanceof Error &&\n err.message === this.reorderModeCanceledMessage\n ) {\n executor.seq.clear();\n return;\n }\n\n events.emit('dragAndDropSequenceError', {\n patches: pendingPatches,\n });\n executor.seq.clear();\n return {\n message: collection.translate('cairo.dragAndDrop.error.toast'),\n biName: 'cairo-drag-and-drop-submit-error',\n action: {\n onClick: async () => {\n this.pushPatchAndReprocess(pendingPatches);\n for (const p of pendingPatches) {\n this.enqueueMovePatch(p, params);\n }\n events.emit('dragAndDropSequenceRetry', {\n patches: pendingPatches,\n });\n\n await onTryAgain?.();\n },\n },\n };\n },\n });\n\n if (!sequences.has(filtersKeyHash)) {\n sequences.set(filtersKeyHash, seq);\n }\n\n return seq;\n };\n\n const executor = _initSequence();\n\n executor.sequence({\n submit: () => submit?.(event),\n onEventuallyUpdated: optimisticPatch.onEventuallyUpdated,\n });\n }\n\n async move<R>(event: ActionMove<T>, params: MoveParams<T, R>) {\n const { collection, state } = this;\n const { itemKey, result, query } = collection;\n const { patches } = state;\n\n const { filtersKeyHash } = query;\n\n const optimisticPatch = new OptimisticPatch({\n queryCache: collection.queryCache,\n queryNames: this._queryNames,\n patches,\n actionType: 'move',\n patchedItems: new Map(),\n originalItems: new Map(),\n originalTotal: result.total,\n selector: (item, { patchedItems }) => patchedItems.has(itemKey(item)),\n move: {\n ...event,\n filtersKeyHash,\n },\n collectionSnapshot: params.collectionSnapshot,\n });\n\n this.pushPatchAndReprocess(optimisticPatch);\n\n optimisticPatch.events.on(\n 'scheduleRemoval',\n this._clearPatchOnNextResultOrUnmount,\n );\n\n this.enqueueMovePatch(optimisticPatch, params);\n }\n\n async updateOne<R>(item: T, params: UpdateManyParams<T, R>) {\n return this.updateMany([item], params);\n }\n\n /**\n * @deprecated `updateAll(fn)` API is not recommended as it's not possible to calculate \"optimistic total\", prefer updateAll(patchObject) API.\n */\n async updateAll<R>(\n patchOrFn: (item: T) => Partial<T>,\n params: UpdateAllParams<R>,\n ): Promise<void>;\n\n async updateAll<R>(\n patchOrFn: Partial<T>,\n params: UpdateAllParams<R>,\n ): Promise<void>;\n\n async updateAll<R>(\n patchOrFn: ((item: T) => Partial<T>) | Partial<T>,\n params: UpdateAllParams<R>,\n ) {\n const { executor, collection, predicate, createdAt } = this;\n const {\n submit,\n serverEventuallyUpdated,\n keepPosition,\n onUndo,\n onTryAgain,\n onError,\n } = params;\n const {\n itemKey,\n result: { originQuery, items, total },\n } = collection;\n\n const itemPredicate = predicate(originQuery);\n\n const updatedAt = new Date();\n\n const { patch, actionType } =\n typeof patchOrFn === 'function'\n ? { actionType: 'updateAll' as const, patch: patchOrFn }\n : {\n actionType: 'updateAllConst' as const,\n patch: (item: T) => ({ ...item, ...patchOrFn }),\n };\n\n const optimisticPatch = new OptimisticPatch({\n queryCache: collection.queryCache,\n patches: this.state.patches,\n actionType,\n keepPosition,\n queryNames: this._queryNames,\n patchedItems: new Map(\n items.map((item) => [itemKey(item), { ...item, ...patch(item) }]),\n ),\n originalItems: new Map(items.map((item) => [itemKey(item), item])),\n originalTotal: total,\n selector: (item) =>\n itemPredicate(item) &&\n (createdAt == null || createdAt(item) <= updatedAt),\n patch,\n });\n\n this.pushPatchAndReprocess(optimisticPatch);\n\n optimisticPatch.events.on(\n 'scheduleRemoval',\n this._clearPatchOnNextResultOrUnmount,\n );\n\n executor.execute([optimisticPatch], {\n ...params,\n submit,\n onRollback: () => {\n this.rollback(optimisticPatch);\n },\n eventuallyUpdated: serverEventuallyUpdated,\n onEventuallyUpdated: optimisticPatch.onEventuallyUpdated,\n onTryAgain: async () => {\n this.pushPatchAndReprocess(optimisticPatch);\n await onTryAgain?.();\n },\n onError,\n onUndo,\n });\n }\n\n deleteMany<R>(items: T[], params: DeleteManyParams<T, R>) {\n const { executor, collection } = this;\n const {\n itemKey,\n result: { total },\n } = collection;\n const { submit, serverEventuallyUpdated, onUndo, onTryAgain, onError } =\n params;\n\n const patchedItems = new Map(items.map((item) => [itemKey(item), item]));\n\n const optimisticPatch = new OptimisticPatch({\n queryCache: collection.queryCache,\n patches: this.state.patches,\n actionType: 'deleteMany',\n patchedItems,\n queryNames: this._queryNames,\n originalItems: patchedItems,\n originalTotal: total,\n selector: (item, { patchedItems }) => patchedItems.has(itemKey(item)),\n });\n\n this.pushPatchAndReprocess(optimisticPatch);\n\n optimisticPatch.events.on(\n 'scheduleRemoval',\n this._clearPatchOnNextResultOrUnmount,\n );\n\n executor.execute([optimisticPatch], {\n ...params,\n submit: action((actions) =>\n submit(\n Array.from(\n actions\n .filter(({ actionType }) => actionType === 'deleteMany')\n .reduce((map, { patchedItemsEntries }) => {\n for (const [key, item] of patchedItemsEntries) {\n map.set(key, item);\n }\n return map;\n }, new Map<string, T>())\n .values(),\n ),\n ),\n ),\n onRollback: () => {\n this.rollback(optimisticPatch);\n },\n eventuallyUpdated: serverEventuallyUpdated,\n onEventuallyUpdated: optimisticPatch.onEventuallyUpdated,\n onTryAgain: async () => {\n this.pushPatchAndReprocess(optimisticPatch);\n await onTryAgain?.();\n },\n onError,\n onUndo,\n });\n }\n\n deleteOne<R>(item: T, params: DeleteManyParams<T, R>) {\n return this.deleteMany([item], params);\n }\n\n async deleteAll<R>(params: UpdateAllParams<R>) {\n const { executor, collection, predicate, createdAt } = this;\n const { submit, serverEventuallyUpdated, onUndo, onTryAgain, onError } =\n params;\n const {\n itemKey,\n result: { originQuery, items, total },\n } = collection;\n\n const itemPredicate = predicate(originQuery);\n\n const updatedAt = new Date();\n\n const patchedItems = new Map(items.map((item) => [itemKey(item), item]));\n\n const optimisticPatch = new OptimisticPatch({\n patches: this.state.patches,\n queryCache: collection.queryCache,\n actionType: 'deleteAll',\n patchedItems,\n queryNames: this._queryNames,\n originalItems: patchedItems,\n originalTotal: total,\n selector: (item) =>\n itemPredicate(item) &&\n (createdAt == null || createdAt(item) <= updatedAt),\n });\n\n optimisticPatch.events.on(\n 'scheduleRemoval',\n this._clearPatchOnNextResultOrUnmount,\n );\n\n this.pushPatchAndReprocess(optimisticPatch);\n\n executor.execute([optimisticPatch], {\n ...params,\n submit,\n onRollback: () => {\n this.rollback(optimisticPatch);\n },\n eventuallyUpdated: serverEventuallyUpdated,\n onEventuallyUpdated: optimisticPatch.onEventuallyUpdated,\n onTryAgain: async () => {\n this.pushPatchAndReprocess(optimisticPatch);\n await onTryAgain?.();\n },\n onError,\n onUndo,\n });\n }\n\n initCollection(collection: CollectionState<T, F>) {\n this.collections.push(collection);\n const processor = new CollectionOptimisticProcessor({\n collection,\n optimistic: this,\n orderBy: this.orderBy,\n predicate: this.predicate,\n });\n\n const dispose = processor.init();\n\n return () => {\n const i = this.collections.indexOf(collection);\n if (i !== -1) {\n this.collections.splice(i, 1);\n }\n dispose();\n };\n }\n\n init() {\n const { collection, processors, events } = this;\n\n const emitRefresh = (params: { isStale: boolean }) => {\n events.emit('refresh', params);\n };\n const emitBeforeResultUpdated = () => events.emit('beforeResultUpdated');\n\n collection.emitter.on('refresh', emitRefresh);\n collection.emitter.on('beforeResultUpdated', emitBeforeResultUpdated);\n\n const disposers = [\n reaction(\n () => {\n const {\n result: { isEmpty, _pages },\n } = collection;\n const unprocessed = _pages.unprocessed.flatMap((page) => page);\n return isEmpty && unprocessed.length > 0;\n },\n (allFilteredOut) => {\n if (allFilteredOut) {\n collection.fetchNextPageIfNeeded();\n }\n },\n ),\n ...processors.map((p) => p.init()),\n ];\n\n return () => {\n collection.emitter.off('refresh', emitRefresh);\n collection.emitter.off('beforeResultUpdated', emitBeforeResultUpdated);\n disposers.forEach((disposer) => disposer());\n events.emit('unmount');\n };\n }\n\n clear() {\n const { patches } = this.state;\n const remaining = patches.clear();\n for (const patch of remaining) {\n if (!patch.isStale) {\n patches.push(patch);\n }\n }\n }\n}\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"names":["_mobx","require","_CollectionOptimisticActionsState","_CollectionOptimisticProcessor","_CollectionOptimisticPatch","_CollectionOptimisticExecutor","_events","_QueryResultSimulationDefault","_CollectionOptimisticSequenceExecutor","CollectionOptimisticActions","constructor","params","_defineProperty2","default","EventEmitter","Map","action","patch","state","collection","collections","noInvalidate","patches","remove","invalidate","forEach","p","refreshAllPages","events","clearPatch","off","_clearPatch","onRefresh","isStale","once","on","emit","CollectionOptimisticActionsState","source","patchesCache","container","cacheNamespace","resultSimulationDefault","QueryResultSimulationDefault","predicate","orderBy","createdAt","executor","CollectionOptimisticExecutor","batchWait","errorMonitor","showToast","translate","lodash","processors","push","CollectionOptimisticProcessor","optimistic","_optimisticActions","makeObservable","pushPatchAndReprocess","replacePatchAndReprocess","rollback","bound","clear","move","pendingMovePatches","computed","_queryNames","queryName","map","c","hasRunningSequence","Array","from","sequences","values","some","s","seq","running","filter","isArray","newPatch","oldPatch","oldPatchIndex","findIndex","addOne","item","addMany","items","itemKey","result","submit","serverEventuallyUpdated","onUndo","onTryAgain","onError","optimisticPatch","OptimisticPatch","queryCache","queryNames","actionType","patchedItems","originalItems","originalTotal","total","get","selector","has","_clearPatchOnNextResultOrUnmount","execute","actions","reduce","patchedItemsEntries","key","set","onRollback","eventuallyUpdated","onEventuallyUpdated","createOne","createMany","optimisticPatchParams","submitResult","updatedOptimisticPatch","updateMany","keepPosition","_result$get","originalItem","enqueueMovePatch","query","filtersKeyHash","event","_initSequence","CollectionOptimisticSequenceExecutor","err","pendingPatches","_p$move","Error","message","reorderModeCanceledMessage","biName","onClick","sequence","collectionSnapshot","updateOne","updateAll","patchOrFn","originQuery","itemPredicate","updatedAt","Date","deleteMany","deleteOne","deleteAll","initCollection","processor","dispose","init","i","indexOf","splice","emitRefresh","emitBeforeResultUpdated","emitter","disposers","reaction","isEmpty","_pages","unprocessed","flatMap","page","length","allFilteredOut","fetchNextPageIfNeeded","disposer","remaining","exports"],"sources":["../../../src/state/CollectionOptimisticActions.ts"],"sourcesContent":["import { ActionMove, ComputedQuery, FiltersMap, ToastConfig } from '../model';\nimport {\n action,\n computed,\n IObservableArray,\n makeObservable,\n reaction,\n} from 'mobx';\nimport { CollectionState } from './CollectionState';\nimport { Order } from './QueryResultSimulation';\nimport { CollectionOptimisticActionsState } from './CollectionOptimisticActionsState';\nimport { CollectionOptimisticProcessor } from './CollectionOptimisticProcessor';\nimport {\n OptimisticPatch,\n OptimisticPatchParams,\n} from './CollectionOptimisticPatch';\nimport {\n CollectionOptimisticExecutor,\n EventuallyUpdated,\n} from './CollectionOptimisticExecutor';\nimport { EventEmitter } from 'events';\nimport { TypedEmitter } from '../util';\nimport { QueryResultSimulationDefault } from './QueryResultSimulationDefault';\nimport { CollectionOptimisticSequenceExecutor } from './CollectionOptimisticSequenceExecutor';\nimport { ModalLayoutProps } from '../services';\n\nexport interface OptimisticActionBasis {\n /**\n * Determines whether to display an undo toast before calling the server action.\n * @default false\n * @external\n */\n showUndoToast?: boolean;\n /**\n * Determines whether to display a toast after clicking on undo.\n * @default false\n * @external\n */\n showUndoSuccessToast?: boolean;\n /**\n * Callback function triggered when the user clicks on the undo button.\n * @external\n */\n onUndo?: () => void;\n /**\n * Function to generate error toast to show in case the server fails to perform the action.\n * @external\n */\n errorToast?: (err: unknown) => ToastConfig | string;\n /**\n * Callback function triggered when an error occurs.\n * @external\n */\n onError?: (err: unknown) => void;\n /**\n * Callback function to retry the action.\n * @external\n */\n onTryAgain?: () => void | Promise<void>;\n /**\n * Toast message or configuration to show on successful action.\n * @external\n */\n successToast?: ToastConfig | string;\n /**\n * Indicates when the server is eventually updated.\n * Possible values:\n * - submit: Server updates immediately after the submission promise resolves.\n * - number: Server updates after a specified timeout (in milliseconds).\n * - Promise: Server updates after a forwarded promise resolves.\n * @default submit\n * @external\n */\n serverEventuallyUpdated?: EventuallyUpdated;\n}\n\nexport interface UpdateAllParams<R> extends OptimisticActionBasis {\n /**\n * Function to submit the update operation.\n */\n submit: () => Promise<R>;\n /**\n * Indicates whether to keep the current position of items after the update.\n */\n keepPosition?: boolean;\n}\n\nexport interface UpdateManyParams<T, R> extends OptimisticActionBasis {\n /**\n * Function to submit the update operation.\n * @param items - The items to update.\n */\n submit: (items: T[]) => Promise<R>;\n /**\n * Indicates whether to keep the current position of items after the update.\n */\n keepPosition?: boolean;\n}\n\nexport interface MoveParams<T, R> extends OptimisticActionBasis {\n /**\n * Function to submit the move operation.\n * @param params - The parameters for the move action.\n */\n submit?: (params: ActionMove<T>) => Promise<R>;\n /**\n * Snapshot of the collection before the move operation.\n */\n collectionSnapshot: { [key: string]: string | number | undefined };\n}\n\nexport interface AddManyParams<T, R> extends OptimisticActionBasis {\n /**\n * Function to submit the addition operation.\n * @param items - The items to add.\n */\n submit?: (items: T[]) => Promise<R>;\n}\n\nexport interface CreateManyParams<T> extends OptimisticActionBasis {\n /**\n * Function to submit the creation operation.\n * @param items - The items to create.\n */\n submit: (items: T[]) => Promise<T[]>;\n}\n\nexport interface DeleteManyParams<T, R> extends OptimisticActionBasis {\n /**\n * Function to submit the deletion operation.\n * @param items - The items to delete.\n */\n submit: (items: T[]) => Promise<R>;\n}\n\nexport interface DeleteAllParams<R> extends OptimisticActionBasis {\n /**\n * Function to submit the deletion operation.\n */\n submit: () => Promise<R>;\n}\n\nexport interface CollectionOptimisticActionsBaseParams<\n T,\n F extends FiltersMap,\n> {\n /**\n * A function that simulates the filtering in the server.\n * The function should return another function that accepts an item, and return a boolean that indicates whether the item passes the query filters or not.\n * @param computedQuery - The computed query object.\n * @external\n */\n readonly predicate?: (\n computedQuery: ComputedQuery<F>,\n ) => (item: T) => boolean;\n /**\n * A function that simulates the ordering of the items in the server.<br>\n * The function should return a list of rules in the form of `{fieldName: string; order: 'asc' | 'desc';}` to order the items by\n * @param computedQuery - The computed query object.\n * @external\n */\n readonly orderBy?: (computedQuery: ComputedQuery<F>) => Order<T>[];\n /**\n * A function to retrieve the creation date of an item.\n * @param item - The item.\n * @external\n */\n readonly createdAt?: (item: T) => Date;\n /**\n * Time to wait before batching multiple `updateMany` calls into a single server call.\n * @default 0\n * @external\n */\n readonly batchWait?: number;\n /**\n * Indicates whether to refresh the current page without invalidating the cache.\n * @external\n */\n readonly noInvalidate?: boolean;\n /**\n * Adds a namespace to the cache key.\n * @external\n */\n readonly cacheNamespace?: string;\n}\n\nexport interface CollectionOptimisticActionsParams<T, F extends FiltersMap>\n extends CollectionOptimisticActionsBaseParams<T, F> {\n /**\n * The main collection to reflect changes into.\n * @external\n */\n readonly collection: CollectionState<T, F>;\n /**\n * Additional collections to reflect changes into.\n * @default undefined\n * @external\n */\n readonly collections?: CollectionState<T, F>[];\n /**\n * Container holding patches cache and events emitter.\n * @external\n */\n readonly container: {\n patchesCache: Map<string, IObservableArray<OptimisticPatch<T>>>;\n events: TypedEmitter<{\n navigation: () => ModalLayoutProps | null | undefined;\n }>;\n };\n}\n\nexport class CollectionOptimisticActions<T, F extends FiltersMap> {\n readonly collection;\n readonly collections;\n readonly predicate: (computedQuery: ComputedQuery<F>) => (item: T) => boolean;\n readonly orderBy: (computedQuery: ComputedQuery<F>) => Order<T>[];\n readonly createdAt?: (item: T) => Date;\n readonly events = new EventEmitter() as TypedEmitter<{\n reprocess: () => void;\n updated: () => void;\n refresh: (params: { isStale: boolean }) => void;\n unmount: () => void;\n beforeResultUpdated: () => void;\n dragAndDropSequenceError: (params: {\n patches: OptimisticPatch<T>[];\n }) => void;\n dragAndDropSequenceRetry: (params: {\n patches: OptimisticPatch<T>[];\n }) => void;\n }>;\n readonly noInvalidate;\n readonly state;\n readonly processors: CollectionOptimisticProcessor<T, F>[] = [];\n readonly executor: CollectionOptimisticExecutor<OptimisticPatch<T>>;\n readonly sequences = new Map<string, CollectionOptimisticSequenceExecutor>();\n readonly resultSimulationDefault;\n readonly reorderModeCanceledMessage = 'REORDER_MODE_CANCELED';\n\n _resumeNavigation: (() => void) | null = null;\n\n _orderByMode: 'orders' | 'moves' = 'orders';\n\n constructor(params: CollectionOptimisticActionsParams<T, F>) {\n this.collection = params.collection;\n this.collections = params.collections ?? [];\n\n this.state = new CollectionOptimisticActionsState<T>({\n source: this.collection,\n patchesCache: params.container.patchesCache,\n cacheNamespace: params.cacheNamespace,\n });\n\n this.resultSimulationDefault = new QueryResultSimulationDefault({\n collection: this.collection,\n });\n\n this.predicate = params.predicate ?? this.resultSimulationDefault.predicate;\n this.orderBy = params.orderBy ?? this.resultSimulationDefault.orderBy;\n this.createdAt = params.createdAt;\n this.noInvalidate = params.noInvalidate;\n\n this.executor = new CollectionOptimisticExecutor({\n batchWait: params.batchWait ?? 0,\n errorMonitor: this.collection.errorMonitor,\n showToast: this.collection.showToast,\n translate: this.collection.translate,\n lodash: this.collection.lodash,\n container: params.container,\n });\n\n this.processors.push(\n new CollectionOptimisticProcessor({\n ...params,\n optimistic: this,\n }),\n );\n\n if (params.collections != null) {\n params.collections.forEach((collection) => {\n this.processors.push(\n new CollectionOptimisticProcessor({\n ...params,\n collection,\n optimistic: this,\n }),\n );\n });\n }\n\n this.collection._optimisticActions = this;\n\n makeObservable(this, {\n pushPatchAndReprocess: action,\n replacePatchAndReprocess: action,\n rollback: action.bound,\n clear: action,\n move: action,\n pendingMovePatches: computed,\n });\n }\n\n get _queryNames() {\n return [\n this.collection.queryName,\n ...this.collections.map((c) => c.queryName),\n ];\n }\n\n get hasRunningSequence() {\n return Array.from(this.sequences.values()).some((s) => s.seq.state.running);\n }\n\n get pendingMovePatches() {\n return this.state.patches.filter((p) => p.move);\n }\n\n rollback(patch: OptimisticPatch<T> | OptimisticPatch<T>[]) {\n const { events, state } = this;\n const patches = Array.isArray(patch) ? patch : [patch];\n\n for (const p of patches) {\n state.patches.remove(p);\n }\n\n events.emit('reprocess');\n }\n\n private _clearPatch = action((patch: OptimisticPatch<T>) => {\n const { state, collection, collections, noInvalidate } = this;\n if (noInvalidate) {\n return;\n }\n\n state.patches.remove(patch);\n collection.invalidate();\n collections.forEach((p) => p.refreshAllPages());\n });\n\n _clearPatchOnNextResultOrUnmount = (patch: OptimisticPatch<T>) => {\n const { events } = this;\n\n const clearPatch = () => {\n events.off('unmount', clearPatch);\n this._clearPatch(patch);\n };\n\n const onRefresh = ({ isStale }: { isStale: boolean }) => {\n events.off('refresh', onRefresh);\n\n // clear only when results are not going to come from cache\n if (isStale) {\n events.once('beforeResultUpdated', clearPatch);\n }\n };\n\n // Clear the patch on the next collection result update to eliminate inconsistencies between server state and local patches\n events.on('refresh', onRefresh);\n // since not clearing the patch immediately, clear it on unmount if was not cleared yet\n events.on('unmount', clearPatch);\n\n events.emit('updated');\n };\n\n pushPatchAndReprocess(patch: OptimisticPatch<T> | OptimisticPatch<T>[]) {\n const { state, events } = this;\n const patches = Array.isArray(patch) ? patch : [patch];\n state.patches.push(...patches);\n events.emit('reprocess');\n }\n\n replacePatchAndReprocess(\n newPatch: OptimisticPatch<T>,\n oldPatch: OptimisticPatch<T>,\n ) {\n const { state, events } = this;\n\n const oldPatchIndex = state.patches.findIndex(\n (patch) => patch === oldPatch,\n );\n state.patches[oldPatchIndex] = newPatch;\n events.emit('reprocess');\n }\n\n /**\n * @deprecated Use createOne instead\n * Adds a single item to the collection.\n * @param item - The item to add.\n * @param params - Additional parameters for the operation.\n */\n addOne<R>(item: T, params: AddManyParams<T, R> = {}) {\n return this.addMany([item], params);\n }\n\n /**\n * @deprecated Use createMany instead\n * Adds multiple items to the collection.\n * @param items - The items to add.\n * @param params - Additional parameters for the operation.\n */\n addMany<R>(items: T[], params: AddManyParams<T, R> = {}) {\n const { collection, executor } = this;\n const { itemKey, result } = collection;\n const { submit, serverEventuallyUpdated, onUndo, onTryAgain, onError } =\n params;\n\n const optimisticPatch = new OptimisticPatch({\n queryCache: collection.queryCache,\n queryNames: this._queryNames,\n patches: this.state.patches,\n actionType: 'createMany',\n patchedItems: new Map(items.map((item) => [itemKey(item), item])),\n originalItems: new Map(),\n originalTotal: result.total,\n patch: (item, { patchedItems }) => patchedItems.get(itemKey(item)),\n selector: (item, { patchedItems }) => patchedItems.has(itemKey(item)),\n });\n\n this.pushPatchAndReprocess(optimisticPatch);\n\n optimisticPatch.events.on(\n 'scheduleRemoval',\n this._clearPatchOnNextResultOrUnmount,\n );\n\n return executor.execute([optimisticPatch], {\n ...params,\n submit: action((actions) =>\n submit?.(\n Array.from(\n actions\n .filter(({ actionType }) => actionType === 'createMany')\n .reduce((map, { patchedItemsEntries }) => {\n for (const [key, item] of patchedItemsEntries) {\n map.set(key, item);\n }\n return map;\n }, new Map<string, T>())\n .values(),\n ),\n ),\n ),\n onRollback: () => {\n this.rollback(optimisticPatch);\n },\n eventuallyUpdated: serverEventuallyUpdated,\n onEventuallyUpdated: optimisticPatch.onEventuallyUpdated,\n onTryAgain: async () => {\n this.pushPatchAndReprocess(optimisticPatch);\n await onTryAgain?.();\n },\n onError,\n onUndo,\n });\n }\n\n /**\n * Creates a single item in the collection.\n * @param item - The item to create.\n * @param params - Additional parameters for the operation.\n * @external\n */\n createOne(item: T, params: CreateManyParams<T>) {\n this.createMany([item], params);\n }\n\n /**\n * Creates multiple items in the collection.\n * @param items - The items to create.\n * @param params - Additional parameters for the operation.\n * @external\n */\n createMany(items: T[], params: CreateManyParams<T>) {\n const { collection, executor } = this;\n const { itemKey, result } = collection;\n const { submit, serverEventuallyUpdated, onUndo, onTryAgain, onError } =\n params;\n\n const optimisticPatchParams: OptimisticPatchParams<T> = {\n queryCache: collection.queryCache,\n queryNames: this._queryNames,\n patches: this.state.patches,\n actionType: 'createMany',\n patchedItems: new Map(items.map((item) => [itemKey(item), item])),\n originalItems: new Map(),\n originalTotal: result.total,\n patch: (item, { patchedItems }) => patchedItems.get(itemKey(item)),\n selector: (item, { patchedItems }) => patchedItems.has(itemKey(item)),\n };\n\n const optimisticPatch = new OptimisticPatch<T>(optimisticPatchParams);\n\n this.pushPatchAndReprocess(optimisticPatch);\n\n optimisticPatch.events.on(\n 'scheduleRemoval',\n this._clearPatchOnNextResultOrUnmount,\n );\n\n return executor.execute([optimisticPatch], {\n ...params,\n submit: action(async (actions) => {\n const submitResult = await submit(\n Array.from(\n actions\n .filter(({ actionType }) => actionType === 'createMany')\n .reduce((map, { patchedItemsEntries }) => {\n for (const [key, item] of patchedItemsEntries) {\n map.set(key, item);\n }\n return map;\n }, new Map<string, T>())\n .values(),\n ),\n );\n\n const updatedOptimisticPatch = new OptimisticPatch({\n ...optimisticPatchParams,\n patchedItems: new Map(\n submitResult.map((item) => [itemKey(item), item]),\n ),\n });\n\n this.replacePatchAndReprocess(updatedOptimisticPatch, optimisticPatch);\n this._clearPatchOnNextResultOrUnmount(updatedOptimisticPatch);\n return submitResult;\n }),\n onRollback: () => {\n this.rollback(optimisticPatch);\n },\n eventuallyUpdated: serverEventuallyUpdated,\n onEventuallyUpdated: optimisticPatch.onEventuallyUpdated,\n onTryAgain: async () => {\n this.pushPatchAndReprocess(optimisticPatch);\n await onTryAgain?.();\n },\n onError,\n onUndo,\n });\n }\n\n /**\n * Updates multiple items in the collection.\n * @param items - The items to update.\n * @param params - Additional parameters for the update operation.\n * @external\n */\n updateMany<R>(items: T[], params: UpdateManyParams<T, R>) {\n const { executor, collection } = this;\n const { itemKey, result } = collection;\n const {\n submit,\n serverEventuallyUpdated,\n keepPosition,\n onUndo,\n onTryAgain,\n onError,\n } = params;\n\n const optimisticPatch = new OptimisticPatch({\n queryCache: collection.queryCache,\n queryNames: this._queryNames,\n patches: this.state.patches,\n actionType: 'updateMany',\n keepPosition,\n patchedItems: new Map(items.map((item) => [itemKey(item), item])),\n originalItems: new Map(\n items.map((item) => {\n const key = itemKey(item);\n const originalItem = result.get(itemKey(item))?.item ?? item;\n return [key, originalItem];\n }),\n ),\n originalTotal: result.total,\n patch: (item, { patchedItems }) => patchedItems.get(itemKey(item)),\n selector: (item, { patchedItems }) => patchedItems.has(itemKey(item)),\n });\n\n this.pushPatchAndReprocess(optimisticPatch);\n\n optimisticPatch.events.on(\n 'scheduleRemoval',\n this._clearPatchOnNextResultOrUnmount,\n );\n\n return executor.execute([optimisticPatch], {\n ...params,\n submit: action((actions) =>\n submit(\n Array.from(\n actions\n .filter(({ actionType }) => actionType === 'updateMany')\n .reduce((map, { patchedItemsEntries }) => {\n for (const [key, item] of patchedItemsEntries) {\n map.set(key, item);\n }\n return map;\n }, new Map<string, T>())\n .values(),\n ),\n ),\n ),\n onRollback: () => {\n this.rollback(optimisticPatch);\n },\n eventuallyUpdated: serverEventuallyUpdated,\n onEventuallyUpdated: optimisticPatch.onEventuallyUpdated,\n onTryAgain: async () => {\n this.pushPatchAndReprocess(optimisticPatch);\n await onTryAgain?.();\n },\n onError,\n onUndo,\n });\n }\n\n enqueueMovePatch<R>(\n optimisticPatch: OptimisticPatch<T>,\n params: MoveParams<T, R>,\n ) {\n const { submit, onTryAgain } = params;\n const { collection, state, events } = this;\n const { query } = collection;\n const { patches } = state;\n\n const { filtersKeyHash } = query;\n\n const event = optimisticPatch.move;\n\n if (event == null) {\n return;\n }\n\n const _initSequence = () => {\n const { sequences } = this;\n const seq =\n sequences.get(filtersKeyHash) ??\n new CollectionOptimisticSequenceExecutor({\n showToast: collection.showToast,\n translate: collection.translate,\n errorMonitor: collection.errorMonitor,\n onRollback: (err) => {\n const pendingPatches = patches.filter(\n (p) => p.move?.filtersKeyHash === filtersKeyHash,\n );\n this.rollback(pendingPatches);\n\n if (\n err instanceof Error &&\n err.message === this.reorderModeCanceledMessage\n ) {\n executor.seq.clear();\n return;\n }\n\n events.emit('dragAndDropSequenceError', {\n patches: pendingPatches,\n });\n executor.seq.clear();\n return {\n message: collection.translate('cairo.dragAndDrop.error.toast'),\n biName: 'cairo-drag-and-drop-submit-error',\n action: {\n onClick: async () => {\n this.pushPatchAndReprocess(pendingPatches);\n for (const p of pendingPatches) {\n this.enqueueMovePatch(p, params);\n }\n events.emit('dragAndDropSequenceRetry', {\n patches: pendingPatches,\n });\n\n await onTryAgain?.();\n },\n },\n };\n },\n });\n\n if (!sequences.has(filtersKeyHash)) {\n sequences.set(filtersKeyHash, seq);\n }\n\n return seq;\n };\n\n const executor = _initSequence();\n\n executor.sequence({\n submit: () => submit?.(event),\n onEventuallyUpdated: optimisticPatch.onEventuallyUpdated,\n });\n }\n\n async move<R>(event: ActionMove<T>, params: MoveParams<T, R>) {\n const { collection, state } = this;\n const { itemKey, result, query } = collection;\n const { patches } = state;\n\n const { filtersKeyHash } = query;\n\n const optimisticPatch = new OptimisticPatch({\n queryCache: collection.queryCache,\n queryNames: this._queryNames,\n patches,\n actionType: 'move',\n patchedItems: new Map(),\n originalItems: new Map(),\n originalTotal: result.total,\n selector: (item, { patchedItems }) => patchedItems.has(itemKey(item)),\n move: {\n ...event,\n filtersKeyHash,\n },\n collectionSnapshot: params.collectionSnapshot,\n });\n\n this.pushPatchAndReprocess(optimisticPatch);\n\n optimisticPatch.events.on(\n 'scheduleRemoval',\n this._clearPatchOnNextResultOrUnmount,\n );\n\n this.enqueueMovePatch(optimisticPatch, params);\n }\n\n /**\n * Updates a single item in the collection.\n * @param item - The item to update.\n * @param params - Additional parameters for the operation.\n * @external\n */\n updateOne<R>(item: T, params: UpdateManyParams<T, R>) {\n return this.updateMany([item], params);\n }\n\n /**\n * @deprecated `updateAll(fn)` API is not recommended as it's not possible to calculate \"optimistic total\", prefer updateAll(patchObject) API.\n * Updates all items in the collection based on a function or a patch object.\n * @param patchOrFn - A function or a patch object to apply to each item.\n * @param params - Additional parameters for the operation.\n */\n updateAll<R>(\n patchOrFn: (item: T) => Partial<T>,\n params: UpdateAllParams<R>,\n ): void;\n\n /**\n * Updates all items in the collection based on a patch object.\n * @param patchOrFn - A function or a patch object to apply to each item.\n * @param params - Additional parameters for the operation.\n * @external\n */\n updateAll<R>(patchOrFn: Partial<T>, params: UpdateAllParams<R>): void;\n\n updateAll<R>(\n patchOrFn: ((item: T) => Partial<T>) | Partial<T>,\n params: UpdateAllParams<R>,\n ) {\n const { executor, collection, predicate, createdAt } = this;\n const {\n submit,\n serverEventuallyUpdated,\n keepPosition,\n onUndo,\n onTryAgain,\n onError,\n } = params;\n const {\n itemKey,\n result: { originQuery, items, total },\n } = collection;\n\n const itemPredicate = predicate(originQuery);\n\n const updatedAt = new Date();\n\n const { patch, actionType } =\n typeof patchOrFn === 'function'\n ? { actionType: 'updateAll' as const, patch: patchOrFn }\n : {\n actionType: 'updateAllConst' as const,\n patch: (item: T) => ({ ...item, ...patchOrFn }),\n };\n\n const optimisticPatch = new OptimisticPatch({\n queryCache: collection.queryCache,\n patches: this.state.patches,\n actionType,\n keepPosition,\n queryNames: this._queryNames,\n patchedItems: new Map(\n items.map((item) => [itemKey(item), { ...item, ...patch(item) }]),\n ),\n originalItems: new Map(items.map((item) => [itemKey(item), item])),\n originalTotal: total,\n selector: (item) =>\n itemPredicate(item) &&\n (createdAt == null || createdAt(item) <= updatedAt),\n patch,\n });\n\n this.pushPatchAndReprocess(optimisticPatch);\n\n optimisticPatch.events.on(\n 'scheduleRemoval',\n this._clearPatchOnNextResultOrUnmount,\n );\n\n executor.execute([optimisticPatch], {\n ...params,\n submit,\n onRollback: () => {\n this.rollback(optimisticPatch);\n },\n eventuallyUpdated: serverEventuallyUpdated,\n onEventuallyUpdated: optimisticPatch.onEventuallyUpdated,\n onTryAgain: async () => {\n this.pushPatchAndReprocess(optimisticPatch);\n await onTryAgain?.();\n },\n onError,\n onUndo,\n });\n }\n\n /**\n * Deletes multiple items from the collection.\n * @param items - An array of items to delete.\n * @param params - Additional parameters for the delete operation.\n * @external\n */\n deleteMany<R>(items: T[], params: DeleteManyParams<T, R>) {\n const { executor, collection } = this;\n const {\n itemKey,\n result: { total },\n } = collection;\n const { submit, serverEventuallyUpdated, onUndo, onTryAgain, onError } =\n params;\n\n const patchedItems = new Map(items.map((item) => [itemKey(item), item]));\n\n const optimisticPatch = new OptimisticPatch({\n queryCache: collection.queryCache,\n patches: this.state.patches,\n actionType: 'deleteMany',\n patchedItems,\n queryNames: this._queryNames,\n originalItems: patchedItems,\n originalTotal: total,\n selector: (item, { patchedItems }) => patchedItems.has(itemKey(item)),\n });\n\n this.pushPatchAndReprocess(optimisticPatch);\n\n optimisticPatch.events.on(\n 'scheduleRemoval',\n this._clearPatchOnNextResultOrUnmount,\n );\n\n executor.execute([optimisticPatch], {\n ...params,\n submit: action((actions) =>\n submit(\n Array.from(\n actions\n .filter(({ actionType }) => actionType === 'deleteMany')\n .reduce((map, { patchedItemsEntries }) => {\n for (const [key, item] of patchedItemsEntries) {\n map.set(key, item);\n }\n return map;\n }, new Map<string, T>())\n .values(),\n ),\n ),\n ),\n onRollback: () => {\n this.rollback(optimisticPatch);\n },\n eventuallyUpdated: serverEventuallyUpdated,\n onEventuallyUpdated: optimisticPatch.onEventuallyUpdated,\n onTryAgain: async () => {\n this.pushPatchAndReprocess(optimisticPatch);\n await onTryAgain?.();\n },\n onError,\n onUndo,\n });\n }\n\n /**\n * Deletes a single item from the collection.\n * @param item - The item to delete.\n * @param params - Additional parameters for the operation.\n * @external\n */\n deleteOne<R>(item: T, params: DeleteManyParams<T, R>) {\n return this.deleteMany([item], params);\n }\n\n /**\n * Deletes all items from the collection.\n * @param params - Additional parameters for the operation.\n * @external\n */\n deleteAll<R>(params: UpdateAllParams<R>) {\n const { executor, collection, predicate, createdAt } = this;\n const { submit, serverEventuallyUpdated, onUndo, onTryAgain, onError } =\n params;\n const {\n itemKey,\n result: { originQuery, items, total },\n } = collection;\n\n const itemPredicate = predicate(originQuery);\n\n const updatedAt = new Date();\n\n const patchedItems = new Map(items.map((item) => [itemKey(item), item]));\n\n const optimisticPatch = new OptimisticPatch({\n patches: this.state.patches,\n queryCache: collection.queryCache,\n actionType: 'deleteAll',\n patchedItems,\n queryNames: this._queryNames,\n originalItems: patchedItems,\n originalTotal: total,\n selector: (item) =>\n itemPredicate(item) &&\n (createdAt == null || createdAt(item) <= updatedAt),\n });\n\n optimisticPatch.events.on(\n 'scheduleRemoval',\n this._clearPatchOnNextResultOrUnmount,\n );\n\n this.pushPatchAndReprocess(optimisticPatch);\n\n executor.execute([optimisticPatch], {\n ...params,\n submit,\n onRollback: () => {\n this.rollback(optimisticPatch);\n },\n eventuallyUpdated: serverEventuallyUpdated,\n onEventuallyUpdated: optimisticPatch.onEventuallyUpdated,\n onTryAgain: async () => {\n this.pushPatchAndReprocess(optimisticPatch);\n await onTryAgain?.();\n },\n onError,\n onUndo,\n });\n }\n\n initCollection(collection: CollectionState<T, F>) {\n this.collections.push(collection);\n const processor = new CollectionOptimisticProcessor({\n collection,\n optimistic: this,\n orderBy: this.orderBy,\n predicate: this.predicate,\n });\n\n const dispose = processor.init();\n\n return () => {\n const i = this.collections.indexOf(collection);\n if (i !== -1) {\n this.collections.splice(i, 1);\n }\n dispose();\n };\n }\n\n init() {\n const { collection, processors, events } = this;\n\n const emitRefresh = (params: { isStale: boolean }) => {\n events.emit('refresh', params);\n };\n const emitBeforeResultUpdated = () => events.emit('beforeResultUpdated');\n\n collection.emitter.on('refresh', emitRefresh);\n collection.emitter.on('beforeResultUpdated', emitBeforeResultUpdated);\n\n const disposers = [\n reaction(\n () => {\n const {\n result: { isEmpty, _pages },\n } = collection;\n const unprocessed = _pages.unprocessed.flatMap((page) => page);\n return isEmpty && unprocessed.length > 0;\n },\n (allFilteredOut) => {\n if (allFilteredOut) {\n collection.fetchNextPageIfNeeded();\n }\n },\n ),\n ...processors.map((p) => p.init()),\n ];\n\n return () => {\n collection.emitter.off('refresh', emitRefresh);\n collection.emitter.off('beforeResultUpdated', emitBeforeResultUpdated);\n disposers.forEach((disposer) => disposer());\n events.emit('unmount');\n };\n }\n\n clear() {\n const { patches } = this.state;\n const remaining = patches.clear();\n for (const patch of remaining) {\n if (!patch.isStale) {\n patches.push(patch);\n }\n }\n }\n}\n"],"mappings":";;;;;;AACA,IAAAA,KAAA,GAAAC,OAAA;AASA,IAAAC,iCAAA,GAAAD,OAAA;AACA,IAAAE,8BAAA,GAAAF,OAAA;AACA,IAAAG,0BAAA,GAAAH,OAAA;AAIA,IAAAI,6BAAA,GAAAJ,OAAA;AAIA,IAAAK,OAAA,GAAAL,OAAA;AAEA,IAAAM,6BAAA,GAAAN,OAAA;AACA,IAAAO,qCAAA,GAAAP,OAAA;AA4LO,MAAMQ,2BAA2B,CAA0B;EA+BhEC,WAAWA,CAACC,MAA+C,EAAE;IAAA,IAAAC,gBAAA,CAAAC,OAAA;IAAA,IAAAD,gBAAA,CAAAC,OAAA;IAAA,IAAAD,gBAAA,CAAAC,OAAA;IAAA,IAAAD,gBAAA,CAAAC,OAAA;IAAA,IAAAD,gBAAA,CAAAC,OAAA;IAAA,IAAAD,gBAAA,CAAAC,OAAA,kBAzB3C,IAAIC,oBAAY,CAAC,CAAC;IAAA,IAAAF,gBAAA,CAAAC,OAAA;IAAA,IAAAD,gBAAA,CAAAC,OAAA;IAAA,IAAAD,gBAAA,CAAAC,OAAA,sBAeyB,EAAE;IAAA,IAAAD,gBAAA,CAAAC,OAAA;IAAA,IAAAD,gBAAA,CAAAC,OAAA,qBAE1C,IAAIE,GAAG,CAA+C,CAAC;IAAA,IAAAH,gBAAA,CAAAC,OAAA;IAAA,IAAAD,gBAAA,CAAAC,OAAA,sCAEtC,uBAAuB;IAAA,IAAAD,gBAAA,CAAAC,OAAA,6BAEpB,IAAI;IAAA,IAAAD,gBAAA,CAAAC,OAAA,wBAEV,QAAQ;IAAA,IAAAD,gBAAA,CAAAC,OAAA,uBAuFrB,IAAAG,YAAM,EAAEC,KAAyB,IAAK;MAC1D,MAAM;QAAEC,KAAK;QAAEC,UAAU;QAAEC,WAAW;QAAEC;MAAa,CAAC,GAAG,IAAI;MAC7D,IAAIA,YAAY,EAAE;QAChB;MACF;MAEAH,KAAK,CAACI,OAAO,CAACC,MAAM,CAACN,KAAK,CAAC;MAC3BE,UAAU,CAACK,UAAU,CAAC,CAAC;MACvBJ,WAAW,CAACK,OAAO,CAAEC,CAAC,IAAKA,CAAC,CAACC,eAAe,CAAC,CAAC,CAAC;IACjD,CAAC,CAAC;IAAA,IAAAf,gBAAA,CAAAC,OAAA,4CAEkCI,KAAyB,IAAK;MAChE,MAAM;QAAEW;MAAO,CAAC,GAAG,IAAI;MAEvB,MAAMC,UAAU,GAAGA,CAAA,KAAM;QACvBD,MAAM,CAACE,GAAG,CAAC,SAAS,EAAED,UAAU,CAAC;QACjC,IAAI,CAACE,WAAW,CAACd,KAAK,CAAC;MACzB,CAAC;MAED,MAAMe,SAAS,GAAGA,CAAC;QAAEC;MAA8B,CAAC,KAAK;QACvDL,MAAM,CAACE,GAAG,CAAC,SAAS,EAAEE,SAAS,CAAC;;QAEhC;QACA,IAAIC,OAAO,EAAE;UACXL,MAAM,CAACM,IAAI,CAAC,qBAAqB,EAAEL,UAAU,CAAC;QAChD;MACF,CAAC;;MAED;MACAD,MAAM,CAACO,EAAE,CAAC,SAAS,EAAEH,SAAS,CAAC;MAC/B;MACAJ,MAAM,CAACO,EAAE,CAAC,SAAS,EAAEN,UAAU,CAAC;MAEhCD,MAAM,CAACQ,IAAI,CAAC,SAAS,CAAC;IACxB,CAAC;IAtHC,IAAI,CAACjB,UAAU,GAAGR,MAAM,CAACQ,UAAU;IACnC,IAAI,CAACC,WAAW,GAAGT,MAAM,CAACS,WAAW,IAAI,EAAE;IAE3C,IAAI,CAACF,KAAK,GAAG,IAAImB,kEAAgC,CAAI;MACnDC,MAAM,EAAE,IAAI,CAACnB,UAAU;MACvBoB,YAAY,EAAE5B,MAAM,CAAC6B,SAAS,CAACD,YAAY;MAC3CE,cAAc,EAAE9B,MAAM,CAAC8B;IACzB,CAAC,CAAC;IAEF,IAAI,CAACC,uBAAuB,GAAG,IAAIC,0DAA4B,CAAC;MAC9DxB,UAAU,EAAE,IAAI,CAACA;IACnB,CAAC,CAAC;IAEF,IAAI,CAACyB,SAAS,GAAGjC,MAAM,CAACiC,SAAS,IAAI,IAAI,CAACF,uBAAuB,CAACE,SAAS;IAC3E,IAAI,CAACC,OAAO,GAAGlC,MAAM,CAACkC,OAAO,IAAI,IAAI,CAACH,uBAAuB,CAACG,OAAO;IACrE,IAAI,CAACC,SAAS,GAAGnC,MAAM,CAACmC,SAAS;IACjC,IAAI,CAACzB,YAAY,GAAGV,MAAM,CAACU,YAAY;IAEvC,IAAI,CAAC0B,QAAQ,GAAG,IAAIC,0DAA4B,CAAC;MAC/CC,SAAS,EAAEtC,MAAM,CAACsC,SAAS,IAAI,CAAC;MAChCC,YAAY,EAAE,IAAI,CAAC/B,UAAU,CAAC+B,YAAY;MAC1CC,SAAS,EAAE,IAAI,CAAChC,UAAU,CAACgC,SAAS;MACpCC,SAAS,EAAE,IAAI,CAACjC,UAAU,CAACiC,SAAS;MACpCC,MAAM,EAAE,IAAI,CAAClC,UAAU,CAACkC,MAAM;MAC9Bb,SAAS,EAAE7B,MAAM,CAAC6B;IACpB,CAAC,CAAC;IAEF,IAAI,CAACc,UAAU,CAACC,IAAI,CAClB,IAAIC,4DAA6B,CAAC;MAChC,GAAG7C,MAAM;MACT8C,UAAU,EAAE;IACd,CAAC,CACH,CAAC;IAED,IAAI9C,MAAM,CAACS,WAAW,IAAI,IAAI,EAAE;MAC9BT,MAAM,CAACS,WAAW,CAACK,OAAO,CAAEN,UAAU,IAAK;QACzC,IAAI,CAACmC,UAAU,CAACC,IAAI,CAClB,IAAIC,4DAA6B,CAAC;UAChC,GAAG7C,MAAM;UACTQ,UAAU;UACVsC,UAAU,EAAE;QACd,CAAC,CACH,CAAC;MACH,CAAC,CAAC;IACJ;IAEA,IAAI,CAACtC,UAAU,CAACuC,kBAAkB,GAAG,IAAI;IAEzC,IAAAC,oBAAc,EAAC,IAAI,EAAE;MACnBC,qBAAqB,EAAE5C,YAAM;MAC7B6C,wBAAwB,EAAE7C,YAAM;MAChC8C,QAAQ,EAAE9C,YAAM,CAAC+C,KAAK;MACtBC,KAAK,EAAEhD,YAAM;MACbiD,IAAI,EAAEjD,YAAM;MACZkD,kBAAkB,EAAEC;IACtB,CAAC,CAAC;EACJ;EAEA,IAAIC,WAAWA,CAAA,EAAG;IAChB,OAAO,CACL,IAAI,CAACjD,UAAU,CAACkD,SAAS,EACzB,GAAG,IAAI,CAACjD,WAAW,CAACkD,GAAG,CAAEC,CAAC,IAAKA,CAAC,CAACF,SAAS,CAAC,CAC5C;EACH;EAEA,IAAIG,kBAAkBA,CAAA,EAAG;IACvB,OAAOC,KAAK,CAACC,IAAI,CAAC,IAAI,CAACC,SAAS,CAACC,MAAM,CAAC,CAAC,CAAC,CAACC,IAAI,CAAEC,CAAC,IAAKA,CAAC,CAACC,GAAG,CAAC7D,KAAK,CAAC8D,OAAO,CAAC;EAC7E;EAEA,IAAId,kBAAkBA,CAAA,EAAG;IACvB,OAAO,IAAI,CAAChD,KAAK,CAACI,OAAO,CAAC2D,MAAM,CAAEvD,CAAC,IAAKA,CAAC,CAACuC,IAAI,CAAC;EACjD;EAEAH,QAAQA,CAAC7C,KAAgD,EAAE;IACzD,MAAM;MAAEW,MAAM;MAAEV;IAAM,CAAC,GAAG,IAAI;IAC9B,MAAMI,OAAO,GAAGmD,KAAK,CAACS,OAAO,CAACjE,KAAK,CAAC,GAAGA,KAAK,GAAG,CAACA,KAAK,CAAC;IAEtD,KAAK,MAAMS,CAAC,IAAIJ,OAAO,EAAE;MACvBJ,KAAK,CAACI,OAAO,CAACC,MAAM,CAACG,CAAC,CAAC;IACzB;IAEAE,MAAM,CAACQ,IAAI,CAAC,WAAW,CAAC;EAC1B;EAsCAwB,qBAAqBA,CAAC3C,KAAgD,EAAE;IACtE,MAAM;MAAEC,KAAK;MAAEU;IAAO,CAAC,GAAG,IAAI;IAC9B,MAAMN,OAAO,GAAGmD,KAAK,CAACS,OAAO,CAACjE,KAAK,CAAC,GAAGA,KAAK,GAAG,CAACA,KAAK,CAAC;IACtDC,KAAK,CAACI,OAAO,CAACiC,IAAI,CAAC,GAAGjC,OAAO,CAAC;IAC9BM,MAAM,CAACQ,IAAI,CAAC,WAAW,CAAC;EAC1B;EAEAyB,wBAAwBA,CACtBsB,QAA4B,EAC5BC,QAA4B,EAC5B;IACA,MAAM;MAAElE,KAAK;MAAEU;IAAO,CAAC,GAAG,IAAI;IAE9B,MAAMyD,aAAa,GAAGnE,KAAK,CAACI,OAAO,CAACgE,SAAS,CAC1CrE,KAAK,IAAKA,KAAK,KAAKmE,QACvB,CAAC;IACDlE,KAAK,CAACI,OAAO,CAAC+D,aAAa,CAAC,GAAGF,QAAQ;IACvCvD,MAAM,CAACQ,IAAI,CAAC,WAAW,CAAC;EAC1B;;EAEA;AACF;AACA;AACA;AACA;AACA;EACEmD,MAAMA,CAAIC,IAAO,EAAE7E,MAA2B,GAAG,CAAC,CAAC,EAAE;IACnD,OAAO,IAAI,CAAC8E,OAAO,CAAC,CAACD,IAAI,CAAC,EAAE7E,MAAM,CAAC;EACrC;;EAEA;AACF;AACA;AACA;AACA;AACA;EACE8E,OAAOA,CAAIC,KAAU,EAAE/E,MAA2B,GAAG,CAAC,CAAC,EAAE;IACvD,MAAM;MAAEQ,UAAU;MAAE4B;IAAS,CAAC,GAAG,IAAI;IACrC,MAAM;MAAE4C,OAAO;MAAEC;IAAO,CAAC,GAAGzE,UAAU;IACtC,MAAM;MAAE0E,MAAM;MAAEC,uBAAuB;MAAEC,MAAM;MAAEC,UAAU;MAAEC;IAAQ,CAAC,GACpEtF,MAAM;IAER,MAAMuF,eAAe,GAAG,IAAIC,0CAAe,CAAC;MAC1CC,UAAU,EAAEjF,UAAU,CAACiF,UAAU;MACjCC,UAAU,EAAE,IAAI,CAACjC,WAAW;MAC5B9C,OAAO,EAAE,IAAI,CAACJ,KAAK,CAACI,OAAO;MAC3BgF,UAAU,EAAE,YAAY;MACxBC,YAAY,EAAE,IAAIxF,GAAG,CAAC2E,KAAK,CAACpB,GAAG,CAAEkB,IAAI,IAAK,CAACG,OAAO,CAACH,IAAI,CAAC,EAAEA,IAAI,CAAC,CAAC,CAAC;MACjEgB,aAAa,EAAE,IAAIzF,GAAG,CAAC,CAAC;MACxB0F,aAAa,EAAEb,MAAM,CAACc,KAAK;MAC3BzF,KAAK,EAAEA,CAACuE,IAAI,EAAE;QAAEe;MAAa,CAAC,KAAKA,YAAY,CAACI,GAAG,CAAChB,OAAO,CAACH,IAAI,CAAC,CAAC;MAClEoB,QAAQ,EAAEA,CAACpB,IAAI,EAAE;QAAEe;MAAa,CAAC,KAAKA,YAAY,CAACM,GAAG,CAAClB,OAAO,CAACH,IAAI,CAAC;IACtE,CAAC,CAAC;IAEF,IAAI,CAAC5B,qBAAqB,CAACsC,eAAe,CAAC;IAE3CA,eAAe,CAACtE,MAAM,CAACO,EAAE,CACvB,iBAAiB,EACjB,IAAI,CAAC2E,gCACP,CAAC;IAED,OAAO/D,QAAQ,CAACgE,OAAO,CAAC,CAACb,eAAe,CAAC,EAAE;MACzC,GAAGvF,MAAM;MACTkF,MAAM,EAAE,IAAA7E,YAAM,EAAEgG,OAAO,IACrBnB,MAAM,oBAANA,MAAM,CACJpB,KAAK,CAACC,IAAI,CACRsC,OAAO,CACJ/B,MAAM,CAAC,CAAC;QAAEqB;MAAW,CAAC,KAAKA,UAAU,KAAK,YAAY,CAAC,CACvDW,MAAM,CAAC,CAAC3C,GAAG,EAAE;QAAE4C;MAAoB,CAAC,KAAK;QACxC,KAAK,MAAM,CAACC,GAAG,EAAE3B,IAAI,CAAC,IAAI0B,mBAAmB,EAAE;UAC7C5C,GAAG,CAAC8C,GAAG,CAACD,GAAG,EAAE3B,IAAI,CAAC;QACpB;QACA,OAAOlB,GAAG;MACZ,CAAC,EAAE,IAAIvD,GAAG,CAAY,CAAC,CAAC,CACvB6D,MAAM,CAAC,CACZ,CACF,CACF,CAAC;MACDyC,UAAU,EAAEA,CAAA,KAAM;QAChB,IAAI,CAACvD,QAAQ,CAACoC,eAAe,CAAC;MAChC,CAAC;MACDoB,iBAAiB,EAAExB,uBAAuB;MAC1CyB,mBAAmB,EAAErB,eAAe,CAACqB,mBAAmB;MACxDvB,UAAU,EAAE,MAAAA,CAAA,KAAY;QACtB,IAAI,CAACpC,qBAAqB,CAACsC,eAAe,CAAC;QAC3C,OAAMF,UAAU,oBAAVA,UAAU,CAAG,CAAC;MACtB,CAAC;MACDC,OAAO;MACPF;IACF,CAAC,CAAC;EACJ;;EAEA;AACF;AACA;AACA;AACA;AACA;EACEyB,SAASA,CAAChC,IAAO,EAAE7E,MAA2B,EAAE;IAC9C,IAAI,CAAC8G,UAAU,CAAC,CAACjC,IAAI,CAAC,EAAE7E,MAAM,CAAC;EACjC;;EAEA;AACF;AACA;AACA;AACA;AACA;EACE8G,UAAUA,CAAC/B,KAAU,EAAE/E,MAA2B,EAAE;IAClD,MAAM;MAAEQ,UAAU;MAAE4B;IAAS,CAAC,GAAG,IAAI;IACrC,MAAM;MAAE4C,OAAO;MAAEC;IAAO,CAAC,GAAGzE,UAAU;IACtC,MAAM;MAAE0E,MAAM;MAAEC,uBAAuB;MAAEC,MAAM;MAAEC,UAAU;MAAEC;IAAQ,CAAC,GACpEtF,MAAM;IAER,MAAM+G,qBAA+C,GAAG;MACtDtB,UAAU,EAAEjF,UAAU,CAACiF,UAAU;MACjCC,UAAU,EAAE,IAAI,CAACjC,WAAW;MAC5B9C,OAAO,EAAE,IAAI,CAACJ,KAAK,CAACI,OAAO;MAC3BgF,UAAU,EAAE,YAAY;MACxBC,YAAY,EAAE,IAAIxF,GAAG,CAAC2E,KAAK,CAACpB,GAAG,CAAEkB,IAAI,IAAK,CAACG,OAAO,CAACH,IAAI,CAAC,EAAEA,IAAI,CAAC,CAAC,CAAC;MACjEgB,aAAa,EAAE,IAAIzF,GAAG,CAAC,CAAC;MACxB0F,aAAa,EAAEb,MAAM,CAACc,KAAK;MAC3BzF,KAAK,EAAEA,CAACuE,IAAI,EAAE;QAAEe;MAAa,CAAC,KAAKA,YAAY,CAACI,GAAG,CAAChB,OAAO,CAACH,IAAI,CAAC,CAAC;MAClEoB,QAAQ,EAAEA,CAACpB,IAAI,EAAE;QAAEe;MAAa,CAAC,KAAKA,YAAY,CAACM,GAAG,CAAClB,OAAO,CAACH,IAAI,CAAC;IACtE,CAAC;IAED,MAAMU,eAAe,GAAG,IAAIC,0CAAe,CAAIuB,qBAAqB,CAAC;IAErE,IAAI,CAAC9D,qBAAqB,CAACsC,eAAe,CAAC;IAE3CA,eAAe,CAACtE,MAAM,CAACO,EAAE,CACvB,iBAAiB,EACjB,IAAI,CAAC2E,gCACP,CAAC;IAED,OAAO/D,QAAQ,CAACgE,OAAO,CAAC,CAACb,eAAe,CAAC,EAAE;MACzC,GAAGvF,MAAM;MACTkF,MAAM,EAAE,IAAA7E,YAAM,EAAC,MAAOgG,OAAO,IAAK;QAChC,MAAMW,YAAY,GAAG,MAAM9B,MAAM,CAC/BpB,KAAK,CAACC,IAAI,CACRsC,OAAO,CACJ/B,MAAM,CAAC,CAAC;UAAEqB;QAAW,CAAC,KAAKA,UAAU,KAAK,YAAY,CAAC,CACvDW,MAAM,CAAC,CAAC3C,GAAG,EAAE;UAAE4C;QAAoB,CAAC,KAAK;UACxC,KAAK,MAAM,CAACC,GAAG,EAAE3B,IAAI,CAAC,IAAI0B,mBAAmB,EAAE;YAC7C5C,GAAG,CAAC8C,GAAG,CAACD,GAAG,EAAE3B,IAAI,CAAC;UACpB;UACA,OAAOlB,GAAG;QACZ,CAAC,EAAE,IAAIvD,GAAG,CAAY,CAAC,CAAC,CACvB6D,MAAM,CAAC,CACZ,CACF,CAAC;QAED,MAAMgD,sBAAsB,GAAG,IAAIzB,0CAAe,CAAC;UACjD,GAAGuB,qBAAqB;UACxBnB,YAAY,EAAE,IAAIxF,GAAG,CACnB4G,YAAY,CAACrD,GAAG,CAAEkB,IAAI,IAAK,CAACG,OAAO,CAACH,IAAI,CAAC,EAAEA,IAAI,CAAC,CAClD;QACF,CAAC,CAAC;QAEF,IAAI,CAAC3B,wBAAwB,CAAC+D,sBAAsB,EAAE1B,eAAe,CAAC;QACtE,IAAI,CAACY,gCAAgC,CAACc,sBAAsB,CAAC;QAC7D,OAAOD,YAAY;MACrB,CAAC,CAAC;MACFN,UAAU,EAAEA,CAAA,KAAM;QAChB,IAAI,CAACvD,QAAQ,CAACoC,eAAe,CAAC;MAChC,CAAC;MACDoB,iBAAiB,EAAExB,uBAAuB;MAC1CyB,mBAAmB,EAAErB,eAAe,CAACqB,mBAAmB;MACxDvB,UAAU,EAAE,MAAAA,CAAA,KAAY;QACtB,IAAI,CAACpC,qBAAqB,CAACsC,eAAe,CAAC;QAC3C,OAAMF,UAAU,oBAAVA,UAAU,CAAG,CAAC;MACtB,CAAC;MACDC,OAAO;MACPF;IACF,CAAC,CAAC;EACJ;;EAEA;AACF;AACA;AACA;AACA;AACA;EACE8B,UAAUA,CAAInC,KAAU,EAAE/E,MAA8B,EAAE;IACxD,MAAM;MAAEoC,QAAQ;MAAE5B;IAAW,CAAC,GAAG,IAAI;IACrC,MAAM;MAAEwE,OAAO;MAAEC;IAAO,CAAC,GAAGzE,UAAU;IACtC,MAAM;MACJ0E,MAAM;MACNC,uBAAuB;MACvBgC,YAAY;MACZ/B,MAAM;MACNC,UAAU;MACVC;IACF,CAAC,GAAGtF,MAAM;IAEV,MAAMuF,eAAe,GAAG,IAAIC,0CAAe,CAAC;MAC1CC,UAAU,EAAEjF,UAAU,CAACiF,UAAU;MACjCC,UAAU,EAAE,IAAI,CAACjC,WAAW;MAC5B9C,OAAO,EAAE,IAAI,CAACJ,KAAK,CAACI,OAAO;MAC3BgF,UAAU,EAAE,YAAY;MACxBwB,YAAY;MACZvB,YAAY,EAAE,IAAIxF,GAAG,CAAC2E,KAAK,CAACpB,GAAG,CAAEkB,IAAI,IAAK,CAACG,OAAO,CAACH,IAAI,CAAC,EAAEA,IAAI,CAAC,CAAC,CAAC;MACjEgB,aAAa,EAAE,IAAIzF,GAAG,CACpB2E,KAAK,CAACpB,GAAG,CAAEkB,IAAI,IAAK;QAAA,IAAAuC,WAAA;QAClB,MAAMZ,GAAG,GAAGxB,OAAO,CAACH,IAAI,CAAC;QACzB,MAAMwC,YAAY,GAAG,EAAAD,WAAA,GAAAnC,MAAM,CAACe,GAAG,CAAChB,OAAO,CAACH,IAAI,CAAC,CAAC,qBAAzBuC,WAAA,CAA2BvC,IAAI,KAAIA,IAAI;QAC5D,OAAO,CAAC2B,GAAG,EAAEa,YAAY,CAAC;MAC5B,CAAC,CACH,CAAC;MACDvB,aAAa,EAAEb,MAAM,CAACc,KAAK;MAC3BzF,KAAK,EAAEA,CAACuE,IAAI,EAAE;QAAEe;MAAa,CAAC,KAAKA,YAAY,CAACI,GAAG,CAAChB,OAAO,CAACH,IAAI,CAAC,CAAC;MAClEoB,QAAQ,EAAEA,CAACpB,IAAI,EAAE;QAAEe;MAAa,CAAC,KAAKA,YAAY,CAACM,GAAG,CAAClB,OAAO,CAACH,IAAI,CAAC;IACtE,CAAC,CAAC;IAEF,IAAI,CAAC5B,qBAAqB,CAACsC,eAAe,CAAC;IAE3CA,eAAe,CAACtE,MAAM,CAACO,EAAE,CACvB,iBAAiB,EACjB,IAAI,CAAC2E,gCACP,CAAC;IAED,OAAO/D,QAAQ,CAACgE,OAAO,CAAC,CAACb,eAAe,CAAC,EAAE;MACzC,GAAGvF,MAAM;MACTkF,MAAM,EAAE,IAAA7E,YAAM,EAAEgG,OAAO,IACrBnB,MAAM,CACJpB,KAAK,CAACC,IAAI,CACRsC,OAAO,CACJ/B,MAAM,CAAC,CAAC;QAAEqB;MAAW,CAAC,KAAKA,UAAU,KAAK,YAAY,CAAC,CACvDW,MAAM,CAAC,CAAC3C,GAAG,EAAE;QAAE4C;MAAoB,CAAC,KAAK;QACxC,KAAK,MAAM,CAACC,GAAG,EAAE3B,IAAI,CAAC,IAAI0B,mBAAmB,EAAE;UAC7C5C,GAAG,CAAC8C,GAAG,CAACD,GAAG,EAAE3B,IAAI,CAAC;QACpB;QACA,OAAOlB,GAAG;MACZ,CAAC,EAAE,IAAIvD,GAAG,CAAY,CAAC,CAAC,CACvB6D,MAAM,CAAC,CACZ,CACF,CACF,CAAC;MACDyC,UAAU,EAAEA,CAAA,KAAM;QAChB,IAAI,CAACvD,QAAQ,CAACoC,eAAe,CAAC;MAChC,CAAC;MACDoB,iBAAiB,EAAExB,uBAAuB;MAC1CyB,mBAAmB,EAAErB,eAAe,CAACqB,mBAAmB;MACxDvB,UAAU,EAAE,MAAAA,CAAA,KAAY;QACtB,IAAI,CAACpC,qBAAqB,CAACsC,eAAe,CAAC;QAC3C,OAAMF,UAAU,oBAAVA,UAAU,CAAG,CAAC;MACtB,CAAC;MACDC,OAAO;MACPF;IACF,CAAC,CAAC;EACJ;EAEAkC,gBAAgBA,CACd/B,eAAmC,EACnCvF,MAAwB,EACxB;IACA,MAAM;MAAEkF,MAAM;MAAEG;IAAW,CAAC,GAAGrF,MAAM;IACrC,MAAM;MAAEQ,UAAU;MAAED,KAAK;MAAEU;IAAO,CAAC,GAAG,IAAI;IAC1C,MAAM;MAAEsG;IAAM,CAAC,GAAG/G,UAAU;IAC5B,MAAM;MAAEG;IAAQ,CAAC,GAAGJ,KAAK;IAEzB,MAAM;MAAEiH;IAAe,CAAC,GAAGD,KAAK;IAEhC,MAAME,KAAK,GAAGlC,eAAe,CAACjC,IAAI;IAElC,IAAImE,KAAK,IAAI,IAAI,EAAE;MACjB;IACF;IAEA,MAAMC,aAAa,GAAGA,CAAA,KAAM;MAC1B,MAAM;QAAE1D;MAAU,CAAC,GAAG,IAAI;MAC1B,MAAMI,GAAG,GACPJ,SAAS,CAACgC,GAAG,CAACwB,cAAc,CAAC,IAC7B,IAAIG,0EAAoC,CAAC;QACvCnF,SAAS,EAAEhC,UAAU,CAACgC,SAAS;QAC/BC,SAAS,EAAEjC,UAAU,CAACiC,SAAS;QAC/BF,YAAY,EAAE/B,UAAU,CAAC+B,YAAY;QACrCmE,UAAU,EAAGkB,GAAG,IAAK;UACnB,MAAMC,cAAc,GAAGlH,OAAO,CAAC2D,MAAM,CAClCvD,CAAC;YAAA,IAAA+G,OAAA;YAAA,OAAK,EAAAA,OAAA,GAAA/G,CAAC,CAACuC,IAAI,qBAANwE,OAAA,CAAQN,cAAc,MAAKA,cAAc;UAAA,CAClD,CAAC;UACD,IAAI,CAACrE,QAAQ,CAAC0E,cAAc,CAAC;UAE7B,IACED,GAAG,YAAYG,KAAK,IACpBH,GAAG,CAACI,OAAO,KAAK,IAAI,CAACC,0BAA0B,EAC/C;YACA7F,QAAQ,CAACgC,GAAG,CAACf,KAAK,CAAC,CAAC;YACpB;UACF;UAEApC,MAAM,CAACQ,IAAI,CAAC,0BAA0B,EAAE;YACtCd,OAAO,EAAEkH;UACX,CAAC,CAAC;UACFzF,QAAQ,CAACgC,GAAG,CAACf,KAAK,CAAC,CAAC;UACpB,OAAO;YACL2E,OAAO,EAAExH,UAAU,CAACiC,SAAS,CAAC,+BAA+B,CAAC;YAC9DyF,MAAM,EAAE,kCAAkC;YAC1C7H,MAAM,EAAE;cACN8H,OAAO,EAAE,MAAAA,CAAA,KAAY;gBACnB,IAAI,CAAClF,qBAAqB,CAAC4E,cAAc,CAAC;gBAC1C,KAAK,MAAM9G,CAAC,IAAI8G,cAAc,EAAE;kBAC9B,IAAI,CAACP,gBAAgB,CAACvG,CAAC,EAAEf,MAAM,CAAC;gBAClC;gBACAiB,MAAM,CAACQ,IAAI,CAAC,0BAA0B,EAAE;kBACtCd,OAAO,EAAEkH;gBACX,CAAC,CAAC;gBAEF,OAAMxC,UAAU,oBAAVA,UAAU,CAAG,CAAC;cACtB;YACF;UACF,CAAC;QACH;MACF,CAAC,CAAC;MAEJ,IAAI,CAACrB,SAAS,CAACkC,GAAG,CAACsB,cAAc,CAAC,EAAE;QAClCxD,SAAS,CAACyC,GAAG,CAACe,cAAc,EAAEpD,GAAG,CAAC;MACpC;MAEA,OAAOA,GAAG;IACZ,CAAC;IAED,MAAMhC,QAAQ,GAAGsF,aAAa,CAAC,CAAC;IAEhCtF,QAAQ,CAACgG,QAAQ,CAAC;MAChBlD,MAAM,EAAEA,CAAA,KAAMA,MAAM,oBAANA,MAAM,CAAGuC,KAAK,CAAC;MAC7Bb,mBAAmB,EAAErB,eAAe,CAACqB;IACvC,CAAC,CAAC;EACJ;EAEA,MAAMtD,IAAIA,CAAImE,KAAoB,EAAEzH,MAAwB,EAAE;IAC5D,MAAM;MAAEQ,UAAU;MAAED;IAAM,CAAC,GAAG,IAAI;IAClC,MAAM;MAAEyE,OAAO;MAAEC,MAAM;MAAEsC;IAAM,CAAC,GAAG/G,UAAU;IAC7C,MAAM;MAAEG;IAAQ,CAAC,GAAGJ,KAAK;IAEzB,MAAM;MAAEiH;IAAe,CAAC,GAAGD,KAAK;IAEhC,MAAMhC,eAAe,GAAG,IAAIC,0CAAe,CAAC;MAC1CC,UAAU,EAAEjF,UAAU,CAACiF,UAAU;MACjCC,UAAU,EAAE,IAAI,CAACjC,WAAW;MAC5B9C,OAAO;MACPgF,UAAU,EAAE,MAAM;MAClBC,YAAY,EAAE,IAAIxF,GAAG,CAAC,CAAC;MACvByF,aAAa,EAAE,IAAIzF,GAAG,CAAC,CAAC;MACxB0F,aAAa,EAAEb,MAAM,CAACc,KAAK;MAC3BE,QAAQ,EAAEA,CAACpB,IAAI,EAAE;QAAEe;MAAa,CAAC,KAAKA,YAAY,CAACM,GAAG,CAAClB,OAAO,CAACH,IAAI,CAAC,CAAC;MACrEvB,IAAI,EAAE;QACJ,GAAGmE,KAAK;QACRD;MACF,CAAC;MACDa,kBAAkB,EAAErI,MAAM,CAACqI;IAC7B,CAAC,CAAC;IAEF,IAAI,CAACpF,qBAAqB,CAACsC,eAAe,CAAC;IAE3CA,eAAe,CAACtE,MAAM,CAACO,EAAE,CACvB,iBAAiB,EACjB,IAAI,CAAC2E,gCACP,CAAC;IAED,IAAI,CAACmB,gBAAgB,CAAC/B,eAAe,EAAEvF,MAAM,CAAC;EAChD;;EAEA;AACF;AACA;AACA;AACA;AACA;EACEsI,SAASA,CAAIzD,IAAO,EAAE7E,MAA8B,EAAE;IACpD,OAAO,IAAI,CAACkH,UAAU,CAAC,CAACrC,IAAI,CAAC,EAAE7E,MAAM,CAAC;EACxC;;EAEA;AACF;AACA;AACA;AACA;AACA;;EAME;AACF;AACA;AACA;AACA;AACA;;EAGEuI,SAASA,CACPC,SAAiD,EACjDxI,MAA0B,EAC1B;IACA,MAAM;MAAEoC,QAAQ;MAAE5B,UAAU;MAAEyB,SAAS;MAAEE;IAAU,CAAC,GAAG,IAAI;IAC3D,MAAM;MACJ+C,MAAM;MACNC,uBAAuB;MACvBgC,YAAY;MACZ/B,MAAM;MACNC,UAAU;MACVC;IACF,CAAC,GAAGtF,MAAM;IACV,MAAM;MACJgF,OAAO;MACPC,MAAM,EAAE;QAAEwD,WAAW;QAAE1D,KAAK;QAAEgB;MAAM;IACtC,CAAC,GAAGvF,UAAU;IAEd,MAAMkI,aAAa,GAAGzG,SAAS,CAACwG,WAAW,CAAC;IAE5C,MAAME,SAAS,GAAG,IAAIC,IAAI,CAAC,CAAC;IAE5B,MAAM;MAAEtI,KAAK;MAAEqF;IAAW,CAAC,GACzB,OAAO6C,SAAS,KAAK,UAAU,GAC3B;MAAE7C,UAAU,EAAE,WAAoB;MAAErF,KAAK,EAAEkI;IAAU,CAAC,GACtD;MACE7C,UAAU,EAAE,gBAAyB;MACrCrF,KAAK,EAAGuE,IAAO,KAAM;QAAE,GAAGA,IAAI;QAAE,GAAG2D;MAAU,CAAC;IAChD,CAAC;IAEP,MAAMjD,eAAe,GAAG,IAAIC,0CAAe,CAAC;MAC1CC,UAAU,EAAEjF,UAAU,CAACiF,UAAU;MACjC9E,OAAO,EAAE,IAAI,CAACJ,KAAK,CAACI,OAAO;MAC3BgF,UAAU;MACVwB,YAAY;MACZzB,UAAU,EAAE,IAAI,CAACjC,WAAW;MAC5BmC,YAAY,EAAE,IAAIxF,GAAG,CACnB2E,KAAK,CAACpB,GAAG,CAAEkB,IAAI,IAAK,CAACG,OAAO,CAACH,IAAI,CAAC,EAAE;QAAE,GAAGA,IAAI;QAAE,GAAGvE,KAAK,CAACuE,IAAI;MAAE,CAAC,CAAC,CAClE,CAAC;MACDgB,aAAa,EAAE,IAAIzF,GAAG,CAAC2E,KAAK,CAACpB,GAAG,CAAEkB,IAAI,IAAK,CAACG,OAAO,CAACH,IAAI,CAAC,EAAEA,IAAI,CAAC,CAAC,CAAC;MAClEiB,aAAa,EAAEC,KAAK;MACpBE,QAAQ,EAAGpB,IAAI,IACb6D,aAAa,CAAC7D,IAAI,CAAC,KAClB1C,SAAS,IAAI,IAAI,IAAIA,SAAS,CAAC0C,IAAI,CAAC,IAAI8D,SAAS,CAAC;MACrDrI;IACF,CAAC,CAAC;IAEF,IAAI,CAAC2C,qBAAqB,CAACsC,eAAe,CAAC;IAE3CA,eAAe,CAACtE,MAAM,CAACO,EAAE,CACvB,iBAAiB,EACjB,IAAI,CAAC2E,gCACP,CAAC;IAED/D,QAAQ,CAACgE,OAAO,CAAC,CAACb,eAAe,CAAC,EAAE;MAClC,GAAGvF,MAAM;MACTkF,MAAM;MACNwB,UAAU,EAAEA,CAAA,KAAM;QAChB,IAAI,CAACvD,QAAQ,CAACoC,eAAe,CAAC;MAChC,CAAC;MACDoB,iBAAiB,EAAExB,uBAAuB;MAC1CyB,mBAAmB,EAAErB,eAAe,CAACqB,mBAAmB;MACxDvB,UAAU,EAAE,MAAAA,CAAA,KAAY;QACtB,IAAI,CAACpC,qBAAqB,CAACsC,eAAe,CAAC;QAC3C,OAAMF,UAAU,oBAAVA,UAAU,CAAG,CAAC;MACtB,CAAC;MACDC,OAAO;MACPF;IACF,CAAC,CAAC;EACJ;;EAEA;AACF;AACA;AACA;AACA;AACA;EACEyD,UAAUA,CAAI9D,KAAU,EAAE/E,MAA8B,EAAE;IACxD,MAAM;MAAEoC,QAAQ;MAAE5B;IAAW,CAAC,GAAG,IAAI;IACrC,MAAM;MACJwE,OAAO;MACPC,MAAM,EAAE;QAAEc;MAAM;IAClB,CAAC,GAAGvF,UAAU;IACd,MAAM;MAAE0E,MAAM;MAAEC,uBAAuB;MAAEC,MAAM;MAAEC,UAAU;MAAEC;IAAQ,CAAC,GACpEtF,MAAM;IAER,MAAM4F,YAAY,GAAG,IAAIxF,GAAG,CAAC2E,KAAK,CAACpB,GAAG,CAAEkB,IAAI,IAAK,CAACG,OAAO,CAACH,IAAI,CAAC,EAAEA,IAAI,CAAC,CAAC,CAAC;IAExE,MAAMU,eAAe,GAAG,IAAIC,0CAAe,CAAC;MAC1CC,UAAU,EAAEjF,UAAU,CAACiF,UAAU;MACjC9E,OAAO,EAAE,IAAI,CAACJ,KAAK,CAACI,OAAO;MAC3BgF,UAAU,EAAE,YAAY;MACxBC,YAAY;MACZF,UAAU,EAAE,IAAI,CAACjC,WAAW;MAC5BoC,aAAa,EAAED,YAAY;MAC3BE,aAAa,EAAEC,KAAK;MACpBE,QAAQ,EAAEA,CAACpB,IAAI,EAAE;QAAEe;MAAa,CAAC,KAAKA,YAAY,CAACM,GAAG,CAAClB,OAAO,CAACH,IAAI,CAAC;IACtE,CAAC,CAAC;IAEF,IAAI,CAAC5B,qBAAqB,CAACsC,eAAe,CAAC;IAE3CA,eAAe,CAACtE,MAAM,CAACO,EAAE,CACvB,iBAAiB,EACjB,IAAI,CAAC2E,gCACP,CAAC;IAED/D,QAAQ,CAACgE,OAAO,CAAC,CAACb,eAAe,CAAC,EAAE;MAClC,GAAGvF,MAAM;MACTkF,MAAM,EAAE,IAAA7E,YAAM,EAAEgG,OAAO,IACrBnB,MAAM,CACJpB,KAAK,CAACC,IAAI,CACRsC,OAAO,CACJ/B,MAAM,CAAC,CAAC;QAAEqB;MAAW,CAAC,KAAKA,UAAU,KAAK,YAAY,CAAC,CACvDW,MAAM,CAAC,CAAC3C,GAAG,EAAE;QAAE4C;MAAoB,CAAC,KAAK;QACxC,KAAK,MAAM,CAACC,GAAG,EAAE3B,IAAI,CAAC,IAAI0B,mBAAmB,EAAE;UAC7C5C,GAAG,CAAC8C,GAAG,CAACD,GAAG,EAAE3B,IAAI,CAAC;QACpB;QACA,OAAOlB,GAAG;MACZ,CAAC,EAAE,IAAIvD,GAAG,CAAY,CAAC,CAAC,CACvB6D,MAAM,CAAC,CACZ,CACF,CACF,CAAC;MACDyC,UAAU,EAAEA,CAAA,KAAM;QAChB,IAAI,CAACvD,QAAQ,CAACoC,eAAe,CAAC;MAChC,CAAC;MACDoB,iBAAiB,EAAExB,uBAAuB;MAC1CyB,mBAAmB,EAAErB,eAAe,CAACqB,mBAAmB;MACxDvB,UAAU,EAAE,MAAAA,CAAA,KAAY;QACtB,IAAI,CAACpC,qBAAqB,CAACsC,eAAe,CAAC;QAC3C,OAAMF,UAAU,oBAAVA,UAAU,CAAG,CAAC;MACtB,CAAC;MACDC,OAAO;MACPF;IACF,CAAC,CAAC;EACJ;;EAEA;AACF;AACA;AACA;AACA;AACA;EACE0D,SAASA,CAAIjE,IAAO,EAAE7E,MAA8B,EAAE;IACpD,OAAO,IAAI,CAAC6I,UAAU,CAAC,CAAChE,IAAI,CAAC,EAAE7E,MAAM,CAAC;EACxC;;EAEA;AACF;AACA;AACA;AACA;EACE+I,SAASA,CAAI/I,MAA0B,EAAE;IACvC,MAAM;MAAEoC,QAAQ;MAAE5B,UAAU;MAAEyB,SAAS;MAAEE;IAAU,CAAC,GAAG,IAAI;IAC3D,MAAM;MAAE+C,MAAM;MAAEC,uBAAuB;MAAEC,MAAM;MAAEC,UAAU;MAAEC;IAAQ,CAAC,GACpEtF,MAAM;IACR,MAAM;MACJgF,OAAO;MACPC,MAAM,EAAE;QAAEwD,WAAW;QAAE1D,KAAK;QAAEgB;MAAM;IACtC,CAAC,GAAGvF,UAAU;IAEd,MAAMkI,aAAa,GAAGzG,SAAS,CAACwG,WAAW,CAAC;IAE5C,MAAME,SAAS,GAAG,IAAIC,IAAI,CAAC,CAAC;IAE5B,MAAMhD,YAAY,GAAG,IAAIxF,GAAG,CAAC2E,KAAK,CAACpB,GAAG,CAAEkB,IAAI,IAAK,CAACG,OAAO,CAACH,IAAI,CAAC,EAAEA,IAAI,CAAC,CAAC,CAAC;IAExE,MAAMU,eAAe,GAAG,IAAIC,0CAAe,CAAC;MAC1C7E,OAAO,EAAE,IAAI,CAACJ,KAAK,CAACI,OAAO;MAC3B8E,UAAU,EAAEjF,UAAU,CAACiF,UAAU;MACjCE,UAAU,EAAE,WAAW;MACvBC,YAAY;MACZF,UAAU,EAAE,IAAI,CAACjC,WAAW;MAC5BoC,aAAa,EAAED,YAAY;MAC3BE,aAAa,EAAEC,KAAK;MACpBE,QAAQ,EAAGpB,IAAI,IACb6D,aAAa,CAAC7D,IAAI,CAAC,KAClB1C,SAAS,IAAI,IAAI,IAAIA,SAAS,CAAC0C,IAAI,CAAC,IAAI8D,SAAS;IACtD,CAAC,CAAC;IAEFpD,eAAe,CAACtE,MAAM,CAACO,EAAE,CACvB,iBAAiB,EACjB,IAAI,CAAC2E,gCACP,CAAC;IAED,IAAI,CAAClD,qBAAqB,CAACsC,eAAe,CAAC;IAE3CnD,QAAQ,CAACgE,OAAO,CAAC,CAACb,eAAe,CAAC,EAAE;MAClC,GAAGvF,MAAM;MACTkF,MAAM;MACNwB,UAAU,EAAEA,CAAA,KAAM;QAChB,IAAI,CAACvD,QAAQ,CAACoC,eAAe,CAAC;MAChC,CAAC;MACDoB,iBAAiB,EAAExB,uBAAuB;MAC1CyB,mBAAmB,EAAErB,eAAe,CAACqB,mBAAmB;MACxDvB,UAAU,EAAE,MAAAA,CAAA,KAAY;QACtB,IAAI,CAACpC,qBAAqB,CAACsC,eAAe,CAAC;QAC3C,OAAMF,UAAU,oBAAVA,UAAU,CAAG,CAAC;MACtB,CAAC;MACDC,OAAO;MACPF;IACF,CAAC,CAAC;EACJ;EAEA4D,cAAcA,CAACxI,UAAiC,EAAE;IAChD,IAAI,CAACC,WAAW,CAACmC,IAAI,CAACpC,UAAU,CAAC;IACjC,MAAMyI,SAAS,GAAG,IAAIpG,4DAA6B,CAAC;MAClDrC,UAAU;MACVsC,UAAU,EAAE,IAAI;MAChBZ,OAAO,EAAE,IAAI,CAACA,OAAO;MACrBD,SAAS,EAAE,IAAI,CAACA;IAClB,CAAC,CAAC;IAEF,MAAMiH,OAAO,GAAGD,SAAS,CAACE,IAAI,CAAC,CAAC;IAEhC,OAAO,MAAM;MACX,MAAMC,CAAC,GAAG,IAAI,CAAC3I,WAAW,CAAC4I,OAAO,CAAC7I,UAAU,CAAC;MAC9C,IAAI4I,CAAC,KAAK,CAAC,CAAC,EAAE;QACZ,IAAI,CAAC3I,WAAW,CAAC6I,MAAM,CAACF,CAAC,EAAE,CAAC,CAAC;MAC/B;MACAF,OAAO,CAAC,CAAC;IACX,CAAC;EACH;EAEAC,IAAIA,CAAA,EAAG;IACL,MAAM;MAAE3I,UAAU;MAAEmC,UAAU;MAAE1B;IAAO,CAAC,GAAG,IAAI;IAE/C,MAAMsI,WAAW,GAAIvJ,MAA4B,IAAK;MACpDiB,MAAM,CAACQ,IAAI,CAAC,SAAS,EAAEzB,MAAM,CAAC;IAChC,CAAC;IACD,MAAMwJ,uBAAuB,GAAGA,CAAA,KAAMvI,MAAM,CAACQ,IAAI,CAAC,qBAAqB,CAAC;IAExEjB,UAAU,CAACiJ,OAAO,CAACjI,EAAE,CAAC,SAAS,EAAE+H,WAAW,CAAC;IAC7C/I,UAAU,CAACiJ,OAAO,CAACjI,EAAE,CAAC,qBAAqB,EAAEgI,uBAAuB,CAAC;IAErE,MAAME,SAAS,GAAG,CAChB,IAAAC,cAAQ,EACN,MAAM;MACJ,MAAM;QACJ1E,MAAM,EAAE;UAAE2E,OAAO;UAAEC;QAAO;MAC5B,CAAC,GAAGrJ,UAAU;MACd,MAAMsJ,WAAW,GAAGD,MAAM,CAACC,WAAW,CAACC,OAAO,CAAEC,IAAI,IAAKA,IAAI,CAAC;MAC9D,OAAOJ,OAAO,IAAIE,WAAW,CAACG,MAAM,GAAG,CAAC;IAC1C,CAAC,EACAC,cAAc,IAAK;MAClB,IAAIA,cAAc,EAAE;QAClB1J,UAAU,CAAC2J,qBAAqB,CAAC,CAAC;MACpC;IACF,CACF,CAAC,EACD,GAAGxH,UAAU,CAACgB,GAAG,CAAE5C,CAAC,IAAKA,CAAC,CAACoI,IAAI,CAAC,CAAC,CAAC,CACnC;IAED,OAAO,MAAM;MACX3I,UAAU,CAACiJ,OAAO,CAACtI,GAAG,CAAC,SAAS,EAAEoI,WAAW,CAAC;MAC9C/I,UAAU,CAACiJ,OAAO,CAACtI,GAAG,CAAC,qBAAqB,EAAEqI,uBAAuB,CAAC;MACtEE,SAAS,CAAC5I,OAAO,CAAEsJ,QAAQ,IAAKA,QAAQ,CAAC,CAAC,CAAC;MAC3CnJ,MAAM,CAACQ,IAAI,CAAC,SAAS,CAAC;IACxB,CAAC;EACH;EAEA4B,KAAKA,CAAA,EAAG;IACN,MAAM;MAAE1C;IAAQ,CAAC,GAAG,IAAI,CAACJ,KAAK;IAC9B,MAAM8J,SAAS,GAAG1J,OAAO,CAAC0C,KAAK,CAAC,CAAC;IACjC,KAAK,MAAM/C,KAAK,IAAI+J,SAAS,EAAE;MAC7B,IAAI,CAAC/J,KAAK,CAACgB,OAAO,EAAE;QAClBX,OAAO,CAACiC,IAAI,CAACtC,KAAK,CAAC;MACrB;IACF;EACF;AACF;AAACgK,OAAA,CAAAxK,2BAAA,GAAAA,2BAAA"}
|
|
@@ -21,7 +21,7 @@ var _jest = require("../test-utils/jest");
|
|
|
21
21
|
var _appSettingsMocks = require("./appSettingsMocks");
|
|
22
22
|
class CairoContainerDriver {
|
|
23
23
|
get tableDataCapsule() {
|
|
24
|
-
return this.dataCapsuleInstances.get('
|
|
24
|
+
return this.dataCapsuleInstances.get('cairo.cairo-test-component.wix.cairo.products.v1.product');
|
|
25
25
|
}
|
|
26
26
|
constructor(overrides = {
|
|
27
27
|
asMobileView: false
|
|
@@ -104,6 +104,7 @@ class CairoContainerDriver {
|
|
|
104
104
|
...(overrides.appSettingsCustomMocks ?? []), ...(0, _appSettingsMocks.appSettingsMocks)(_client.whenRequest), ...this.exportServiceMocks.mocks, ...(overrides.httpMocks ?? [])]
|
|
105
105
|
}
|
|
106
106
|
});
|
|
107
|
+
this.testContext.essentials._parent.environment.artifactId = 'cairo';
|
|
107
108
|
const {
|
|
108
109
|
asyncExperiments
|
|
109
110
|
} = overrides;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_events","require","_core","_history","_testkit","_react","_client","_dataCapsule","_state","_partialLodashMock","_lodash","_exportServiceMocks","_navigationManager","_matchMediaMock","_jest","_appSettingsMocks","CairoContainerDriver","tableDataCapsule","dataCapsuleInstances","get","constructor","overrides","asMobileView","_overrides$history","_overrides$i18nOverri","_overrides$i18nOverri2","_defineProperty2","default","EventEmitter","_isOnline","setIsOnline","value","emit","isOnline","subscribe","listener","on","removeListener","_isFocused","setIsFocused","isFocused","QueryCache","Map","exportServiceMocks","whenRequest","testContext","testkit","getTestContext","experiments","bag","environment","language","i18n","messages","errorMonitor","httpClient","scenarios","appSettingsCustomMocks","appSettingsMocks","mocks","httpMocks","asyncExperiments","ready","window","location","href","download","jest","fn","matchMedia","mockImplementation","query","matchMediaMock","matches","close","dispatchEvent","Event","navigationManager","NavigationManager","showToast","remove","navigateTo","onNavigation","callback","onBeforeUnloadMissingInEnvironment","onBeforeUnload","pause","resume","state","prevented","preventDefault","events","once","leave","history","createMemoryHistory","search","replaceHistory","container","WixPatternsContainer","queryCache","patchesCache","componentId","artifactId","join","providerType","user","permissions","onlineManager","focusManager","useTranslation","Trans","useExperiments","createComponentSettings","componentSettingsLocalStorage","undefined","namespace","_overrides$componentS","componentSettings","DataCapsule","scope","strategy","AppSettingsStorageStrategy","host","data","componentSettingsEntries","key","Object","entries","setItem","componentSettingsInstances","set","messagesEnImport","i18nOverrides","fetchTranslations","createEssentials","options","i18nOptions","childEssentials","createChildEssentials","asyncMessagesLoader","locale","_overrides$i18nOverri3","Promise","all","then","reduce","assign","internalExperiments","dataCapsule","push","_overrides$dataCapsul","getHostContainer","lodash","isTestEnvironment","isJestExists","isMockFunction","setTimeout","partialLodashMock","debounce","throttle","init","onlineState","biLoggerFactory","searchParams","toString","replace","exports"],"sources":["../../../src/testkit/CairoContainer.driver.ts"],"sourcesContent":["import { EventEmitter } from 'events';\nimport { QueryCache } from 'react-query/core';\nimport { createMemoryHistory, History } from 'history';\nimport {\n StandaloneEssentialsTestOptions,\n TestContext,\n testkit,\n} from '@wix/fe-essentials-standalone/testkit';\nimport {\n useExperiments,\n useTranslation,\n Trans,\n} from '@wix/fe-essentials-standalone/react';\nimport { ExperimentsBag } from '@wix/fe-essentials-standalone/experiments';\nimport { whenRequest } from '@wix/fe-essentials/http-client/testkit/client';\nimport type { AnyScenario } from '@wix/fe-essentials/http-client/testkit';\nimport { Essentials } from '@wix/fe-essentials/core';\nimport {\n AppSettingsStorageStrategy,\n DataCapsule,\n IDataCapsule,\n} from '@wix/fe-essentials/data-capsule';\nimport { WixPatternsContainer } from '../state';\nimport { ErrorMonitor, PartialWindow, Translate } from '../services';\nimport {\n WixPatternsEssentials,\n GetHostContainer,\n OnBeforeUnload,\n OnNavigation,\n ShowToast,\n} from '../model';\nimport { partialLodashMock } from '../mocks/partialLodashMock';\nimport { debounce, throttle } from 'lodash';\nimport { exportServiceMocks } from './exportServiceMocks';\nimport { NavigationManager } from '../services/navigationManager';\nimport { matchMediaMock } from './matchMediaMock';\nimport { isJestExists, isTestEnvironment } from '../test-utils/jest';\nimport { appSettingsMocks } from './appSettingsMocks';\n\nexport interface CairoContainerDriverOverrides {\n readonly environment?: Partial<{ language: string; uiLibVersion: string }>;\n readonly user?: Partial<WixPatternsEssentials['user']>;\n readonly location?: Partial<{ href: string }>;\n readonly history?: Partial<{ search: URLSearchParams }>;\n readonly httpMocks?: AnyScenario[];\n readonly appSettingsCustomMocks?: AnyScenario[];\n readonly showToast?: ShowToast;\n readonly navigateTo?: WixPatternsEssentials['navigateTo'];\n readonly asMobileView?: boolean;\n readonly dataCapsule?: Partial<{ entries: Record<string, unknown> }>;\n readonly componentSettingsEntries?: Record<string, object>;\n readonly componentSettingsLocalStorage?: boolean;\n readonly onNavigation?: OnNavigation;\n readonly onBeforeUnload?: OnBeforeUnload;\n readonly onBeforeUnloadMissingInEnvironment?: boolean;\n readonly experiments?: ExperimentsBag;\n readonly asyncExperiments?: () => Promise<ExperimentsBag>;\n readonly internalExperiments?: ExperimentsBag;\n readonly i18nOverrides?: StandaloneEssentialsTestOptions['i18n'] & {\n messagesEnImport?: () => Promise<{}>;\n fetchTranslations?: (p: {\n readonly errorMonitor: ErrorMonitor;\n }) => (language: string) => Promise<{}>;\n };\n readonly getHostContainer?: GetHostContainer;\n}\n\nexport class CairoContainerDriver {\n readonly testContext: TestContext;\n readonly showToast: ShowToast;\n readonly navigateTo: WixPatternsEssentials['navigateTo'];\n readonly onNavigation: OnNavigation;\n readonly onBeforeUnload?: OnBeforeUnload;\n\n readonly onlineManager = {\n _events: new EventEmitter(),\n _isOnline: true,\n setIsOnline(value: boolean) {\n this._isOnline = value;\n this._events.emit('default');\n },\n isOnline() {\n return this._isOnline;\n },\n subscribe(listener?: () => unknown) {\n if (listener) {\n this._events.on('default', listener);\n }\n return () => {\n if (listener) {\n this._events.removeListener('default', listener);\n }\n };\n },\n };\n\n readonly focusManager = {\n _events: new EventEmitter(),\n _isFocused: true,\n setIsFocused(value: boolean) {\n this._isFocused = value;\n this._events.emit('default');\n },\n isFocused() {\n return this._isFocused;\n },\n subscribe(listener?: () => unknown) {\n if (listener) {\n this._events.on('default', listener);\n }\n return () => {\n if (listener) {\n this._events.removeListener('default', listener);\n }\n };\n },\n };\n\n readonly queryCache = new QueryCache();\n readonly patchesCache = new Map();\n\n readonly window: PartialWindow;\n readonly navigationManager: NavigationManager;\n\n readonly history: History;\n\n readonly container: WixPatternsContainer;\n\n readonly dataCapsule: IDataCapsule[] = [];\n readonly dataCapsuleInstances = new Map<string, IDataCapsule>();\n\n get tableDataCapsule() {\n return this.dataCapsuleInstances.get(\n 'wix-patterns.cairo-test-component.wix.cairo.products.v1.product',\n ) as IDataCapsule;\n }\n\n readonly componentSettingsInstances = new Map<string, DataCapsule>();\n\n readonly exportServiceMocks;\n\n constructor(\n overrides: CairoContainerDriverOverrides = { asMobileView: false },\n ) {\n this.exportServiceMocks = exportServiceMocks(whenRequest);\n\n this.testContext = testkit.getTestContext({\n experiments: {\n bag: overrides.experiments,\n },\n environment: {\n language: 'en',\n ...overrides?.environment,\n },\n i18n: {\n messages: (language) =>\n require(`../assets/locale/messages_${language}.json`),\n },\n errorMonitor: {},\n httpClient: {\n scenarios: [\n /* metro-testkit currently takes the first mock it encounters per API,\n so overrides must be added before appSettingsMocks(whenRequest) */\n ...(overrides.appSettingsCustomMocks ?? []),\n ...appSettingsMocks(whenRequest),\n ...this.exportServiceMocks.mocks,\n ...(overrides.httpMocks ?? []),\n ],\n },\n });\n\n const { asyncExperiments } = overrides;\n if (asyncExperiments) {\n this.testContext.experiments.ready = async () => {\n await asyncExperiments();\n };\n }\n\n this.window = {\n location: {\n href: 'https://cairo.test',\n ...overrides.location,\n },\n download: jest.fn(),\n matchMedia: jest.fn().mockImplementation((query) => ({\n ...matchMediaMock(query),\n matches: !overrides.asMobileView,\n })),\n close: () => {\n window.dispatchEvent(new Event('beforeunload'));\n window.dispatchEvent(new Event('unload'));\n },\n };\n\n this.navigationManager = new NavigationManager(this.window);\n\n this.showToast =\n overrides?.showToast ??\n jest.fn().mockImplementation(() => ({ remove: () => {} }));\n\n this.navigateTo = overrides?.navigateTo ?? jest.fn();\n\n this.onNavigation =\n overrides?.onNavigation ??\n jest\n .fn()\n .mockImplementation(\n (callback: (pause: () => { resume: () => unknown }) => unknown) => {\n const remove = this.navigationManager.subscribe(callback);\n\n return {\n remove,\n };\n },\n );\n\n if (!overrides.onBeforeUnloadMissingInEnvironment) {\n this.onBeforeUnload =\n overrides?.onBeforeUnload ??\n jest.fn().mockImplementation((callback: (event: {}) => unknown) => {\n const remove = this.navigationManager.subscribe((pause) => {\n const { resume } = pause();\n\n const state = {\n prevented: false,\n };\n callback({\n preventDefault: () => {\n state.prevented = true;\n this.navigationManager.events.once(\n 'navigationPromptResult',\n (leave) => {\n if (leave) {\n resume();\n }\n },\n );\n },\n });\n\n if (!state.prevented) {\n resume();\n }\n });\n\n return {\n remove,\n };\n });\n }\n\n this.history = createMemoryHistory();\n\n if (overrides?.history?.search) {\n this.replaceHistory(overrides.history.search);\n }\n\n this.container = new WixPatternsContainer({\n queryCache: this.queryCache,\n patchesCache: this.patchesCache,\n errorMonitor: this.testContext.errorMonitor,\n history: this.history,\n environment: {\n ...this.testContext.environment,\n ...overrides?.environment,\n componentId: [\n this.testContext.environment.artifactId,\n 'cairo-test-component',\n ].join('.'),\n providerType: 'bm',\n },\n user: {\n permissions: [],\n ...overrides?.user,\n },\n httpClient: this.testContext.httpClient,\n experiments: this.testContext.experiments,\n onlineManager: this.onlineManager,\n focusManager: this.focusManager,\n window: this.window,\n useTranslation,\n Trans,\n useExperiments,\n createComponentSettings: overrides.componentSettingsLocalStorage\n ? undefined\n : () =>\n ({ namespace }) => {\n const componentSettings = new DataCapsule({\n namespace,\n scope: '',\n strategy: new AppSettingsStorageStrategy({\n host: 'other',\n httpClient: this.testContext.httpClient,\n }),\n });\n\n const data = overrides.componentSettingsEntries?.[namespace];\n\n if (data) {\n for (const [key, value] of Object.entries(data)) {\n componentSettings.setItem(key, value);\n }\n }\n\n this.componentSettingsInstances.set(namespace, componentSettings);\n\n return componentSettings;\n },\n messagesEnImport: overrides.i18nOverrides?.messagesEnImport,\n fetchTranslations: overrides.i18nOverrides?.fetchTranslations,\n createEssentials: (options) => {\n const i18nOptions = options.i18n;\n\n const childEssentials = this.testContext.createChildEssentials({\n ...options,\n ...(i18nOptions && {\n i18n: {\n ...i18nOptions,\n asyncMessagesLoader: (locale) =>\n Promise.all([\n i18nOptions.asyncMessagesLoader?.(locale) ?? {},\n overrides.i18nOverrides?.asyncMessagesLoader?.(locale) ?? {},\n ]).then((messages) => messages.reduce(Object.assign, {})),\n },\n }),\n ...(options.experiments && {\n experiments: {\n bag: {\n ...('bag' in options.experiments\n ? options.experiments.bag\n : undefined),\n ...overrides.internalExperiments,\n },\n },\n }),\n });\n\n if (options.dataCapsule && childEssentials.dataCapsule) {\n this.dataCapsule.push(childEssentials.dataCapsule);\n this.dataCapsuleInstances.set(\n options.dataCapsule.namespace,\n childEssentials.dataCapsule,\n );\n for (const [key, value] of Object.entries(\n overrides.dataCapsule?.entries ?? {},\n )) {\n childEssentials.dataCapsule.setItem(key, value);\n }\n }\n\n return childEssentials;\n },\n showToast: this.showToast,\n navigateTo: this.navigateTo,\n onNavigation: this.onNavigation,\n onBeforeUnload: this.onBeforeUnload,\n getHostContainer: overrides?.getHostContainer,\n lodash:\n isTestEnvironment() && isJestExists() && jest.isMockFunction(setTimeout)\n ? partialLodashMock()\n : { debounce, throttle },\n });\n\n this.container.init();\n }\n\n get errorMonitor() {\n return this.testContext.errorMonitor;\n }\n\n get i18n(): Pick<Essentials['i18n'], 'init'> & { t: Translate } {\n return this.container.i18n;\n }\n\n get onlineState() {\n return this.container.onlineState;\n }\n\n get environment() {\n return this.container.environment;\n }\n\n get getHostContainer() {\n return this.container.getHostContainer;\n }\n\n get biLoggerFactory() {\n return this.testContext.biLoggerFactory;\n }\n\n replaceHistory(searchParams: URLSearchParams) {\n const search = searchParams.toString();\n this.history.replace({\n ...this.history.location,\n search: search ? `?${search}` : '',\n });\n }\n}\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"names":["_events","require","_core","_history","_testkit","_react","_client","_dataCapsule","_state","_partialLodashMock","_lodash","_exportServiceMocks","_navigationManager","_matchMediaMock","_jest","_appSettingsMocks","CairoContainerDriver","tableDataCapsule","dataCapsuleInstances","get","constructor","overrides","asMobileView","_overrides$history","_overrides$i18nOverri","_overrides$i18nOverri2","_defineProperty2","default","EventEmitter","_isOnline","setIsOnline","value","emit","isOnline","subscribe","listener","on","removeListener","_isFocused","setIsFocused","isFocused","QueryCache","Map","exportServiceMocks","whenRequest","testContext","testkit","getTestContext","experiments","bag","environment","language","i18n","messages","errorMonitor","httpClient","scenarios","appSettingsCustomMocks","appSettingsMocks","mocks","httpMocks","essentials","_parent","artifactId","asyncExperiments","ready","window","location","href","download","jest","fn","matchMedia","mockImplementation","query","matchMediaMock","matches","close","dispatchEvent","Event","navigationManager","NavigationManager","showToast","remove","navigateTo","onNavigation","callback","onBeforeUnloadMissingInEnvironment","onBeforeUnload","pause","resume","state","prevented","preventDefault","events","once","leave","history","createMemoryHistory","search","replaceHistory","container","WixPatternsContainer","queryCache","patchesCache","componentId","join","providerType","user","permissions","onlineManager","focusManager","useTranslation","Trans","useExperiments","createComponentSettings","componentSettingsLocalStorage","undefined","namespace","_overrides$componentS","componentSettings","DataCapsule","scope","strategy","AppSettingsStorageStrategy","host","data","componentSettingsEntries","key","Object","entries","setItem","componentSettingsInstances","set","messagesEnImport","i18nOverrides","fetchTranslations","createEssentials","options","i18nOptions","childEssentials","createChildEssentials","asyncMessagesLoader","locale","_overrides$i18nOverri3","Promise","all","then","reduce","assign","internalExperiments","dataCapsule","push","_overrides$dataCapsul","getHostContainer","lodash","isTestEnvironment","isJestExists","isMockFunction","setTimeout","partialLodashMock","debounce","throttle","init","onlineState","biLoggerFactory","searchParams","toString","replace","exports"],"sources":["../../../src/testkit/CairoContainer.driver.ts"],"sourcesContent":["import { EventEmitter } from 'events';\nimport { QueryCache } from 'react-query/core';\nimport { createMemoryHistory, History } from 'history';\nimport {\n StandaloneEssentialsTestOptions,\n TestContext,\n testkit,\n} from '@wix/fe-essentials-standalone/testkit';\nimport {\n useExperiments,\n useTranslation,\n Trans,\n} from '@wix/fe-essentials-standalone/react';\nimport { ExperimentsBag } from '@wix/fe-essentials-standalone/experiments';\nimport { whenRequest } from '@wix/fe-essentials/http-client/testkit/client';\nimport type { AnyScenario } from '@wix/fe-essentials/http-client/testkit';\nimport { Essentials } from '@wix/fe-essentials/core';\nimport {\n AppSettingsStorageStrategy,\n DataCapsule,\n IDataCapsule,\n} from '@wix/fe-essentials/data-capsule';\nimport { WixPatternsContainer } from '../state';\nimport { ErrorMonitor, PartialWindow, Translate } from '../services';\nimport {\n WixPatternsEssentials,\n GetHostContainer,\n OnBeforeUnload,\n OnNavigation,\n ShowToast,\n} from '../model';\nimport { partialLodashMock } from '../mocks/partialLodashMock';\nimport { debounce, throttle } from 'lodash';\nimport { exportServiceMocks } from './exportServiceMocks';\nimport { NavigationManager } from '../services/navigationManager';\nimport { matchMediaMock } from './matchMediaMock';\nimport { isJestExists, isTestEnvironment } from '../test-utils/jest';\nimport { appSettingsMocks } from './appSettingsMocks';\n\nexport interface CairoContainerDriverOverrides {\n readonly environment?: Partial<{ language: string; uiLibVersion: string }>;\n readonly user?: Partial<WixPatternsEssentials['user']>;\n readonly location?: Partial<{ href: string }>;\n readonly history?: Partial<{ search: URLSearchParams }>;\n readonly httpMocks?: AnyScenario[];\n readonly appSettingsCustomMocks?: AnyScenario[];\n readonly showToast?: ShowToast;\n readonly navigateTo?: WixPatternsEssentials['navigateTo'];\n readonly asMobileView?: boolean;\n readonly dataCapsule?: Partial<{ entries: Record<string, unknown> }>;\n readonly componentSettingsEntries?: Record<string, object>;\n readonly componentSettingsLocalStorage?: boolean;\n readonly onNavigation?: OnNavigation;\n readonly onBeforeUnload?: OnBeforeUnload;\n readonly onBeforeUnloadMissingInEnvironment?: boolean;\n readonly experiments?: ExperimentsBag;\n readonly asyncExperiments?: () => Promise<ExperimentsBag>;\n readonly internalExperiments?: ExperimentsBag;\n readonly i18nOverrides?: StandaloneEssentialsTestOptions['i18n'] & {\n messagesEnImport?: () => Promise<{}>;\n fetchTranslations?: (p: {\n readonly errorMonitor: ErrorMonitor;\n }) => (language: string) => Promise<{}>;\n };\n readonly getHostContainer?: GetHostContainer;\n}\n\nexport class CairoContainerDriver {\n readonly testContext: TestContext;\n readonly showToast: ShowToast;\n readonly navigateTo: WixPatternsEssentials['navigateTo'];\n readonly onNavigation: OnNavigation;\n readonly onBeforeUnload?: OnBeforeUnload;\n\n readonly onlineManager = {\n _events: new EventEmitter(),\n _isOnline: true,\n setIsOnline(value: boolean) {\n this._isOnline = value;\n this._events.emit('default');\n },\n isOnline() {\n return this._isOnline;\n },\n subscribe(listener?: () => unknown) {\n if (listener) {\n this._events.on('default', listener);\n }\n return () => {\n if (listener) {\n this._events.removeListener('default', listener);\n }\n };\n },\n };\n\n readonly focusManager = {\n _events: new EventEmitter(),\n _isFocused: true,\n setIsFocused(value: boolean) {\n this._isFocused = value;\n this._events.emit('default');\n },\n isFocused() {\n return this._isFocused;\n },\n subscribe(listener?: () => unknown) {\n if (listener) {\n this._events.on('default', listener);\n }\n return () => {\n if (listener) {\n this._events.removeListener('default', listener);\n }\n };\n },\n };\n\n readonly queryCache = new QueryCache();\n readonly patchesCache = new Map();\n\n readonly window: PartialWindow;\n readonly navigationManager: NavigationManager;\n\n readonly history: History;\n\n readonly container: WixPatternsContainer;\n\n readonly dataCapsule: IDataCapsule[] = [];\n readonly dataCapsuleInstances = new Map<string, IDataCapsule>();\n\n get tableDataCapsule() {\n return this.dataCapsuleInstances.get(\n 'cairo.cairo-test-component.wix.cairo.products.v1.product',\n ) as IDataCapsule;\n }\n\n readonly componentSettingsInstances = new Map<string, DataCapsule>();\n\n readonly exportServiceMocks;\n\n constructor(\n overrides: CairoContainerDriverOverrides = { asMobileView: false },\n ) {\n this.exportServiceMocks = exportServiceMocks(whenRequest);\n\n this.testContext = testkit.getTestContext({\n experiments: {\n bag: overrides.experiments,\n },\n environment: {\n language: 'en',\n ...overrides?.environment,\n },\n i18n: {\n messages: (language) =>\n require(`../assets/locale/messages_${language}.json`),\n },\n errorMonitor: {},\n httpClient: {\n scenarios: [\n /* metro-testkit currently takes the first mock it encounters per API,\n so overrides must be added before appSettingsMocks(whenRequest) */\n ...(overrides.appSettingsCustomMocks ?? []),\n ...appSettingsMocks(whenRequest),\n ...this.exportServiceMocks.mocks,\n ...(overrides.httpMocks ?? []),\n ],\n },\n });\n\n (this.testContext as any).essentials._parent.environment.artifactId =\n 'cairo';\n\n const { asyncExperiments } = overrides;\n if (asyncExperiments) {\n this.testContext.experiments.ready = async () => {\n await asyncExperiments();\n };\n }\n\n this.window = {\n location: {\n href: 'https://cairo.test',\n ...overrides.location,\n },\n download: jest.fn(),\n matchMedia: jest.fn().mockImplementation((query) => ({\n ...matchMediaMock(query),\n matches: !overrides.asMobileView,\n })),\n close: () => {\n window.dispatchEvent(new Event('beforeunload'));\n window.dispatchEvent(new Event('unload'));\n },\n };\n\n this.navigationManager = new NavigationManager(this.window);\n\n this.showToast =\n overrides?.showToast ??\n jest.fn().mockImplementation(() => ({ remove: () => {} }));\n\n this.navigateTo = overrides?.navigateTo ?? jest.fn();\n\n this.onNavigation =\n overrides?.onNavigation ??\n jest\n .fn()\n .mockImplementation(\n (callback: (pause: () => { resume: () => unknown }) => unknown) => {\n const remove = this.navigationManager.subscribe(callback);\n\n return {\n remove,\n };\n },\n );\n\n if (!overrides.onBeforeUnloadMissingInEnvironment) {\n this.onBeforeUnload =\n overrides?.onBeforeUnload ??\n jest.fn().mockImplementation((callback: (event: {}) => unknown) => {\n const remove = this.navigationManager.subscribe((pause) => {\n const { resume } = pause();\n\n const state = {\n prevented: false,\n };\n callback({\n preventDefault: () => {\n state.prevented = true;\n this.navigationManager.events.once(\n 'navigationPromptResult',\n (leave) => {\n if (leave) {\n resume();\n }\n },\n );\n },\n });\n\n if (!state.prevented) {\n resume();\n }\n });\n\n return {\n remove,\n };\n });\n }\n\n this.history = createMemoryHistory();\n\n if (overrides?.history?.search) {\n this.replaceHistory(overrides.history.search);\n }\n\n this.container = new WixPatternsContainer({\n queryCache: this.queryCache,\n patchesCache: this.patchesCache,\n errorMonitor: this.testContext.errorMonitor,\n history: this.history,\n environment: {\n ...this.testContext.environment,\n ...overrides?.environment,\n componentId: [\n this.testContext.environment.artifactId,\n 'cairo-test-component',\n ].join('.'),\n providerType: 'bm',\n },\n user: {\n permissions: [],\n ...overrides?.user,\n },\n httpClient: this.testContext.httpClient,\n experiments: this.testContext.experiments,\n onlineManager: this.onlineManager,\n focusManager: this.focusManager,\n window: this.window,\n useTranslation,\n Trans,\n useExperiments,\n createComponentSettings: overrides.componentSettingsLocalStorage\n ? undefined\n : () =>\n ({ namespace }) => {\n const componentSettings = new DataCapsule({\n namespace,\n scope: '',\n strategy: new AppSettingsStorageStrategy({\n host: 'other',\n httpClient: this.testContext.httpClient,\n }),\n });\n\n const data = overrides.componentSettingsEntries?.[namespace];\n\n if (data) {\n for (const [key, value] of Object.entries(data)) {\n componentSettings.setItem(key, value);\n }\n }\n\n this.componentSettingsInstances.set(namespace, componentSettings);\n\n return componentSettings;\n },\n messagesEnImport: overrides.i18nOverrides?.messagesEnImport,\n fetchTranslations: overrides.i18nOverrides?.fetchTranslations,\n createEssentials: (options) => {\n const i18nOptions = options.i18n;\n\n const childEssentials = this.testContext.createChildEssentials({\n ...options,\n ...(i18nOptions && {\n i18n: {\n ...i18nOptions,\n asyncMessagesLoader: (locale) =>\n Promise.all([\n i18nOptions.asyncMessagesLoader?.(locale) ?? {},\n overrides.i18nOverrides?.asyncMessagesLoader?.(locale) ?? {},\n ]).then((messages) => messages.reduce(Object.assign, {})),\n },\n }),\n ...(options.experiments && {\n experiments: {\n bag: {\n ...('bag' in options.experiments\n ? options.experiments.bag\n : undefined),\n ...overrides.internalExperiments,\n },\n },\n }),\n });\n\n if (options.dataCapsule && childEssentials.dataCapsule) {\n this.dataCapsule.push(childEssentials.dataCapsule);\n this.dataCapsuleInstances.set(\n options.dataCapsule.namespace,\n childEssentials.dataCapsule,\n );\n for (const [key, value] of Object.entries(\n overrides.dataCapsule?.entries ?? {},\n )) {\n childEssentials.dataCapsule.setItem(key, value);\n }\n }\n\n return childEssentials;\n },\n showToast: this.showToast,\n navigateTo: this.navigateTo,\n onNavigation: this.onNavigation,\n onBeforeUnload: this.onBeforeUnload,\n getHostContainer: overrides?.getHostContainer,\n lodash:\n isTestEnvironment() && isJestExists() && jest.isMockFunction(setTimeout)\n ? partialLodashMock()\n : { debounce, throttle },\n });\n\n this.container.init();\n }\n\n get errorMonitor() {\n return this.testContext.errorMonitor;\n }\n\n get i18n(): Pick<Essentials['i18n'], 'init'> & { t: Translate } {\n return this.container.i18n;\n }\n\n get onlineState() {\n return this.container.onlineState;\n }\n\n get environment() {\n return this.container.environment;\n }\n\n get getHostContainer() {\n return this.container.getHostContainer;\n }\n\n get biLoggerFactory() {\n return this.testContext.biLoggerFactory;\n }\n\n replaceHistory(searchParams: URLSearchParams) {\n const search = searchParams.toString();\n this.history.replace({\n ...this.history.location,\n search: search ? `?${search}` : '',\n });\n }\n}\n"],"mappings":"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"}
|
|
@@ -405,7 +405,7 @@
|
|
|
405
405
|
"cairo.passiveEmptyState.subtitle": "Až budete mít nějaké položky, uvidíte je zde.",
|
|
406
406
|
"cairo.tags.collectionPage.popover.loadTags.error.body": "Tagy se nepodařilo načíst kvůli technickým potížím na naší straně.",
|
|
407
407
|
"cairo.table.advanced-sorting.button.cta": "Třídit",
|
|
408
|
-
"cairo.emptyState.premium.cta": "
|
|
408
|
+
"cairo.emptyState.premium.cta": "Upgradovat",
|
|
409
409
|
"cairo.manageView.Rename.disabled.predefinedView.tooltip": "Toto je přednastavené zobrazení. Pokud chcete toto zobrazení přejmenovat, uložte jej jako nové zobrazení.",
|
|
410
410
|
"cairo.customFields.addCustomField.modal.fieldType.placeholder": "Vyberte typ",
|
|
411
411
|
"cairo.customFields.fieldType.checkbox.Name.placeholder": "Např. Přihlášeni k odběru",
|