@wix/bex-core 2.9.0 → 2.11.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 +5 -0
- package/dist/cjs/assets/locale/messages_da.json +5 -0
- package/dist/cjs/assets/locale/messages_de.json +5 -0
- package/dist/cjs/assets/locale/messages_en.json +7 -2
- package/dist/cjs/assets/locale/messages_es.json +6 -1
- package/dist/cjs/assets/locale/messages_fr.json +5 -0
- package/dist/cjs/assets/locale/messages_hi.json +5 -0
- package/dist/cjs/assets/locale/messages_id.json +5 -0
- package/dist/cjs/assets/locale/messages_it.json +5 -0
- package/dist/cjs/assets/locale/messages_ja.json +5 -0
- package/dist/cjs/assets/locale/messages_ko.json +5 -0
- package/dist/cjs/assets/locale/messages_nl.json +6 -1
- package/dist/cjs/assets/locale/messages_no.json +10 -5
- package/dist/cjs/assets/locale/messages_pl.json +5 -0
- package/dist/cjs/assets/locale/messages_pt.json +6 -1
- package/dist/cjs/assets/locale/messages_ru.json +5 -0
- package/dist/cjs/assets/locale/messages_sv.json +6 -1
- package/dist/cjs/assets/locale/messages_th.json +5 -0
- package/dist/cjs/assets/locale/messages_tr.json +5 -0
- package/dist/cjs/assets/locale/messages_uk.json +5 -0
- package/dist/cjs/assets/locale/messages_vi.json +5 -0
- package/dist/cjs/assets/locale/messages_zh.json +5 -0
- package/dist/cjs/hooks/collectionConfig.js.map +1 -1
- package/dist/cjs/model/wixPatternsEssentials.js.map +1 -1
- package/dist/cjs/services/translations.js.map +1 -1
- package/dist/cjs/state/CollectionOptimisticActions.js +7 -0
- package/dist/cjs/state/CollectionOptimisticActions.js.map +1 -1
- package/dist/cjs/state/WixPatternsContainer.js +20 -19
- package/dist/cjs/state/WixPatternsContainer.js.map +1 -1
- package/dist/cjs/state/buildWixPatternsContainer.js +3 -1
- package/dist/cjs/state/buildWixPatternsContainer.js.map +1 -1
- package/dist/esm/assets/locale/messages_cs.json +5 -0
- package/dist/esm/assets/locale/messages_da.json +5 -0
- package/dist/esm/assets/locale/messages_de.json +5 -0
- package/dist/esm/assets/locale/messages_en.json +7 -2
- package/dist/esm/assets/locale/messages_es.json +6 -1
- package/dist/esm/assets/locale/messages_fr.json +5 -0
- package/dist/esm/assets/locale/messages_hi.json +5 -0
- package/dist/esm/assets/locale/messages_id.json +5 -0
- package/dist/esm/assets/locale/messages_it.json +5 -0
- package/dist/esm/assets/locale/messages_ja.json +5 -0
- package/dist/esm/assets/locale/messages_ko.json +5 -0
- package/dist/esm/assets/locale/messages_nl.json +6 -1
- package/dist/esm/assets/locale/messages_no.json +10 -5
- package/dist/esm/assets/locale/messages_pl.json +5 -0
- package/dist/esm/assets/locale/messages_pt.json +6 -1
- package/dist/esm/assets/locale/messages_ru.json +5 -0
- package/dist/esm/assets/locale/messages_sv.json +6 -1
- package/dist/esm/assets/locale/messages_th.json +5 -0
- package/dist/esm/assets/locale/messages_tr.json +5 -0
- package/dist/esm/assets/locale/messages_uk.json +5 -0
- package/dist/esm/assets/locale/messages_vi.json +5 -0
- package/dist/esm/assets/locale/messages_zh.json +5 -0
- package/dist/esm/state/CollectionOptimisticActions.js.map +1 -1
- package/dist/esm/state/WixPatternsContainer.js +6 -9
- package/dist/esm/state/WixPatternsContainer.js.map +1 -1
- package/dist/esm/state/buildWixPatternsContainer.js +2 -1
- package/dist/esm/state/buildWixPatternsContainer.js.map +1 -1
- package/dist/types/hooks/collectionConfig.d.ts +37 -36
- package/dist/types/hooks/collectionConfig.d.ts.map +1 -1
- package/dist/types/model/wixPatternsEssentials.d.ts +5 -3
- package/dist/types/model/wixPatternsEssentials.d.ts.map +1 -1
- package/dist/types/services/translations.d.ts +1 -1
- package/dist/types/services/translations.d.ts.map +1 -1
- package/dist/types/state/CollectionOptimisticActions.d.ts +7 -0
- package/dist/types/state/CollectionOptimisticActions.d.ts.map +1 -1
- package/dist/types/state/WixPatternsContainer.d.ts +4 -7
- package/dist/types/state/WixPatternsContainer.d.ts.map +1 -1
- package/dist/types/state/buildWixPatternsContainer.d.ts.map +1 -1
- package/package.json +2 -2
|
@@ -1 +1 @@
|
|
|
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","createOne","item","createMany","items","itemKey","result","submit","updateServerAfter","onUndo","onTryAgain","onError","optimisticPatchParams","queryCache","queryNames","actionType","patchedItems","originalItems","originalTotal","total","get","selector","has","optimisticPatch","OptimisticPatch","_clearPatchOnNextResultOrUnmount","execute","actions","submitResult","reduce","patchedItemsEntries","key","set","updatedOptimisticPatch","onRollback","eventuallyUpdated","onEventuallyUpdated","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 updateServerAfter?: 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 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 * 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, updateServerAfter, onUndo, onTryAgain, onError } = 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: updateServerAfter,\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 updateServerAfter,\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: updateServerAfter,\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 * Updates all items in the collection based on a patch object.\n * @param patch - A patch object to apply to each item.\n * @param params - Additional parameters for the operation.\n * @external\n */\n updateAll<R>(patch: 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 updateServerAfter,\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: updateServerAfter,\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, updateServerAfter, onUndo, onTryAgain, onError } = 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: updateServerAfter,\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, updateServerAfter, onUndo, onTryAgain, onError } = 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: updateServerAfter,\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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","ignoreList":[]}
|
|
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","createOne","item","createMany","items","itemKey","result","submit","updateServerAfter","onUndo","onTryAgain","onError","optimisticPatchParams","queryCache","queryNames","actionType","patchedItems","originalItems","originalTotal","total","get","selector","has","optimisticPatch","OptimisticPatch","_clearPatchOnNextResultOrUnmount","execute","actions","submitResult","reduce","patchedItemsEntries","key","set","updatedOptimisticPatch","onRollback","eventuallyUpdated","onEventuallyUpdated","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 updateServerAfter?: 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 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 * 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, updateServerAfter, onUndo, onTryAgain, onError } = 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: updateServerAfter,\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 updateServerAfter,\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: updateServerAfter,\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 * > `updateAll(fn)` API is not recommended as it's not possible to calculate \"optimistic total\", prefer updateAll(patchObject) API if possible.\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 patch - A patch object to apply to each item.\n * @param params - Additional parameters for the operation.\n * @external\n */\n updateAll<R>(patch: 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 updateServerAfter,\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: updateServerAfter,\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, updateServerAfter, onUndo, onTryAgain, onError } = 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: updateServerAfter,\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, updateServerAfter, onUndo, onTryAgain, onError } = 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: updateServerAfter,\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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","ignoreList":[]}
|
|
@@ -54,26 +54,27 @@ class WixPatternsContainer {
|
|
|
54
54
|
(0, _defineProperty2.default)(this, "events", void 0);
|
|
55
55
|
(0, _defineProperty2.default)(this, "user", void 0);
|
|
56
56
|
(0, _defineProperty2.default)(this, "cairoSessionId", void 0);
|
|
57
|
-
|
|
58
|
-
(0, _defineProperty2.default)(this, "biLoggerFactory", void 0);
|
|
57
|
+
(0, _defineProperty2.default)(this, "biLogger", void 0);
|
|
59
58
|
(0, _defineProperty2.default)(this, "createComponentSettings", void 0);
|
|
60
|
-
(0, _defineProperty2.default)(this, "createBI", defaultParams => {
|
|
61
|
-
var _this$biLoggerFactory;
|
|
62
|
-
const {
|
|
63
|
-
environment,
|
|
64
|
-
cairoSessionId
|
|
65
|
-
} = this;
|
|
66
|
-
return (_this$biLoggerFactory = this.biLoggerFactory) == null ? void 0 : _this$biLoggerFactory.call(this).updateDefaults({
|
|
67
|
-
artifactId: environment.artifactId,
|
|
68
|
-
componentName: environment.componentName,
|
|
69
|
-
cairoVersion: environment.uiLibVersion,
|
|
70
|
-
csid: cairoSessionId,
|
|
71
|
-
...defaultParams
|
|
72
|
-
}).logger();
|
|
73
|
-
});
|
|
74
59
|
(0, _defineProperty2.default)(this, "createBILogger", defaultParams => {
|
|
75
|
-
|
|
76
|
-
|
|
60
|
+
return reportProps => {
|
|
61
|
+
const {
|
|
62
|
+
environment,
|
|
63
|
+
cairoSessionId,
|
|
64
|
+
biLogger
|
|
65
|
+
} = this;
|
|
66
|
+
return biLogger == null ? void 0 : biLogger.report({
|
|
67
|
+
...reportProps,
|
|
68
|
+
params: {
|
|
69
|
+
artifactId: environment.artifactId,
|
|
70
|
+
componentName: environment.componentName,
|
|
71
|
+
cairoVersion: environment.uiLibVersion,
|
|
72
|
+
csid: cairoSessionId,
|
|
73
|
+
...defaultParams,
|
|
74
|
+
...reportProps.params
|
|
75
|
+
}
|
|
76
|
+
});
|
|
77
|
+
};
|
|
77
78
|
});
|
|
78
79
|
this.createEssentials = params.createEssentials;
|
|
79
80
|
this.lodash = params.lodash;
|
|
@@ -161,7 +162,7 @@ class WixPatternsContainer {
|
|
|
161
162
|
i18n.options.fallbackLng = [];
|
|
162
163
|
}
|
|
163
164
|
this.cairoSessionId = (0, _uuid.v4)();
|
|
164
|
-
this.
|
|
165
|
+
this.biLogger = params.biLogger ?? (biLoggerFactory == null ? void 0 : biLoggerFactory().logger());
|
|
165
166
|
this.i18n = i18n;
|
|
166
167
|
this.internalMonitor = new _services.WixPatternsMonitor({
|
|
167
168
|
errorMonitor: params.errorMonitor,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_services","require","_model","_mobx","_TaskState","_OnlineState","_createComponentSettings","_ConditionalModalState","_events","_useExperimentsCompat","_uuid","_BeforeUnloadCompatState","WixPatternsContainer","constructor","params","_params$initialProps","_defineProperty2","default","TaskState","defaultParams","_this$biLoggerFactory","environment","cairoSessionId","biLoggerFactory","call","updateDefaults","artifactId","componentName","cairoVersion","uiLibVersion","csid","logger","bi","createBI","reportProps","report","createEssentials","lodash","patchesCache","events","EventEmitter","_messagesEnImport","messagesEnImport","messagesEnImportGlobal","_fetchTranslations","fetchTranslations","onNavigationModal","ConditionalModalState","wixPatternsEnvironment","user","createComponentSettings","errorMonitor","httpClient","onlineManager","focusManager","history","useTranslation","useExperiments","createUseExperimentsCompat","experiments","showToast","navigateTo","onNavigation","getHostContainer","window","queryCache","appendModalsToBody","onSidePanelOpen","closeSidePanel","onBeforeUnload","i18n","fedopsLogger","internalFedops","internalErrorMonitor","internalExperiments","useSuspense","disableAutoInit","asyncMessagesLoader","locale","messages","initialProps","dsn","process","env","NODE_ENV","fedops","appName","scopes","STORYBOOK_VISUAL_E2E","options","fallbackLng","uuid","internalMonitor","WixPatternsMonitor","translate","args","initTask","status","t","Trans","onlineState","OnlineState","reportBi","createBILogger","makeObservable","init","action","bound","initialFetch","dateFormatters","computed","isLoading","isSuccess","promise","run","Promise","all","ready","catch","e","console","error","medium","Intl","DateTimeFormat","language","dateStyle","mediumTime","timeStyle","time","disposers","BeforeUnloadCompatState","forEach","d","exports"],"sources":["../../../src/state/WixPatternsContainer.ts"],"sourcesContent":["import type { Essentials } from '@wix/fe-essentials/core';\nimport type { Trans, useTranslation } from '@wix/fe-essentials/react';\nimport type { ReportProps } from '@wix/fe-essentials/bi';\nimport {\n WixPatternsMonitor,\n Environment,\n ErrorMonitor,\n fetchTranslations,\n FocusManager,\n History,\n messagesEnImportGlobal,\n ModalLayoutProps,\n OnlineManager,\n PartialLodash,\n PartialWindow,\n ReportBI,\n Translate,\n} from '../services';\nimport { QueryCache } from 'react-query/core';\nimport {\n CairoBILoggerFactory,\n wixPatternsEnvironment,\n WixPatternsEssentials,\n WixPatternsInitialProps,\n CloseSidePanel,\n GetHostContainer,\n OnNavigation,\n OnSidePanelOpen,\n ShowToast,\n} from '../model';\nimport { action, computed, IObservableArray, makeObservable } from 'mobx';\nimport { TaskState } from './TaskState';\nimport { OnlineState } from './OnlineState';\nimport { createComponentSettings } from '../services/createComponentSettings';\nimport { OptimisticPatch } from './CollectionOptimisticPatch';\nimport { ConditionalModalState } from './ConditionalModalState';\nimport { EventEmitter } from 'events';\nimport { TypedEmitter } from '../util';\nimport { TransitionState } from './TransitionState';\nimport { ReactElement } from 'react';\nimport { createUseExperimentsCompat } from './useExperimentsCompat';\nimport { v4 as uuid } from 'uuid';\nimport { BeforeUnloadCompatState } from './BeforeUnloadCompatState';\n\ntype WixPatternsContainerEvents = TypedEmitter<{\n navigation: () => ModalLayoutProps | null | undefined;\n}>;\n\nexport interface WixPatternsContainerParams {\n readonly initialProps?: WixPatternsInitialProps;\n readonly createEssentials: WixPatternsEssentials['createEssentials'];\n readonly messagesEnImport?: () => Promise<{}>;\n readonly fetchTranslations?: (p: {\n readonly errorMonitor: ErrorMonitor;\n }) => (locale: string) => Promise<{}>;\n readonly createComponentSettings?: WixPatternsEssentials['createComponentSettings'];\n readonly errorMonitor: ErrorMonitor;\n readonly httpClient: WixPatternsEssentials['httpClient'];\n readonly onlineManager: OnlineManager;\n readonly focusManager: FocusManager;\n readonly history: History;\n readonly window: PartialWindow;\n readonly useTranslation: typeof useTranslation;\n readonly Trans: typeof Trans;\n readonly useExperiments: WixPatternsEssentials['useExperiments'];\n readonly experiments: WixPatternsEssentials['experiments'];\n readonly environment: WixPatternsEssentials['environment'];\n readonly user: WixPatternsEssentials['user'];\n readonly showToast?: ShowToast;\n readonly navigateTo?: WixPatternsEssentials['navigateTo'];\n readonly onNavigation?: OnNavigation;\n readonly getHostContainer?: GetHostContainer;\n readonly queryCache: QueryCache;\n readonly patchesCache: Map<string, IObservableArray<OptimisticPatch<any>>>;\n readonly onSidePanelOpen?: OnSidePanelOpen;\n readonly closeSidePanel?: CloseSidePanel;\n readonly lodash: PartialLodash;\n readonly events?: WixPatternsContainerEvents;\n readonly sidePanel?: TransitionState<string>;\n readonly onNavigationModal?: ConditionalModalState<ModalLayoutProps>;\n readonly sidePanelComponents?: Map<string, ReactElement>;\n readonly appendModalsToBody?: boolean;\n readonly onBeforeUnload?: WixPatternsEssentials['onBeforeUnload'];\n}\n\nexport class WixPatternsContainer {\n readonly createEssentials;\n readonly errorMonitor: WixPatternsContainerParams['errorMonitor'];\n readonly internalMonitor: WixPatternsMonitor;\n readonly internalExperiments;\n readonly experiments;\n readonly httpClient: WixPatternsContainerParams['httpClient'];\n readonly onlineManager;\n readonly focusManager;\n readonly history: WixPatternsContainerParams['history'];\n readonly window: WixPatternsContainerParams['window'];\n readonly useTranslation;\n readonly Trans: typeof Trans;\n readonly useExperiments;\n readonly showToast?;\n readonly navigateTo?;\n readonly onNavigation;\n readonly onBeforeUnload;\n readonly getHostContainer;\n readonly environment: Environment;\n readonly appendModalsToBody?: boolean;\n readonly onSidePanelOpen?: OnSidePanelOpen;\n readonly closeSidePanel?: CloseSidePanel;\n readonly translate: Translate;\n readonly lodash;\n readonly i18n: Essentials['i18n'];\n readonly reportBi: ReportBI;\n readonly _messagesEnImport;\n readonly _fetchTranslations;\n\n readonly queryCache: QueryCache;\n readonly patchesCache;\n\n readonly initTask = new TaskState<void>();\n readonly onlineState: OnlineState;\n\n readonly onNavigationModal;\n\n readonly events: TypedEmitter<{\n navigation: () => ModalLayoutProps | null | undefined;\n }>;\n\n readonly user;\n\n readonly cairoSessionId: string;\n // Why it might be undefined when creating essentials?\n private readonly biLoggerFactory?: () => CairoBILoggerFactory;\n\n readonly createComponentSettings;\n\n constructor(params: Readonly<WixPatternsContainerParams>) {\n this.createEssentials = params.createEssentials;\n this.lodash = params.lodash;\n this.patchesCache = params.patchesCache;\n this.events =\n params.events ?? (new EventEmitter() as WixPatternsContainerEvents);\n this._messagesEnImport = params.messagesEnImport ?? messagesEnImportGlobal;\n this._fetchTranslations = params.fetchTranslations ?? fetchTranslations;\n\n this.onNavigationModal =\n params.onNavigationModal ?? new ConditionalModalState();\n\n this.environment = wixPatternsEnvironment(params.environment);\n this.user = params.user;\n\n this.createComponentSettings =\n params.createComponentSettings ?? createComponentSettings;\n\n this.errorMonitor = params.errorMonitor;\n this.httpClient = params.httpClient;\n this.onlineManager = params.onlineManager;\n this.focusManager = params.focusManager;\n this.history = params.history;\n this.useTranslation = params.useTranslation;\n this.useExperiments = createUseExperimentsCompat(params.useExperiments);\n this.experiments = params.experiments;\n this.showToast = params.showToast;\n this.navigateTo = params.navigateTo;\n this.onNavigation = params.onNavigation;\n this.getHostContainer = params.getHostContainer;\n this.window = params.window;\n this.queryCache = params.queryCache;\n this.appendModalsToBody = params.appendModalsToBody;\n this.onSidePanelOpen = params.onSidePanelOpen;\n this.closeSidePanel = params.closeSidePanel;\n this.onBeforeUnload = params.onBeforeUnload;\n\n const {\n i18n,\n biLoggerFactory,\n fedopsLogger: internalFedops,\n errorMonitor: internalErrorMonitor,\n experiments: internalExperiments,\n } = this.createEssentials({\n i18n: {\n useSuspense: false,\n disableAutoInit: true,\n asyncMessagesLoader: async (locale) => {\n if (locale === 'en') {\n return this._messagesEnImport();\n }\n return this._fetchTranslations(this)(locale);\n },\n messages: params.initialProps?.messages,\n },\n errorMonitor: {\n dsn:\n process.env.NODE_ENV === 'production'\n ? 'https://9b9586a905eb429cbda9ea49d5d721f6@sentry-next.wixpress.com/8780'\n : '',\n /*\n TODO: not used in sentry-next API, need to be merged from reportError API with tags & extraData\n For Example: errorMonitor.captureException(error, { tags, contexts: { runtime: extraData }})\n beforeSend: (event, hint) => {\n this.internalMonitor.reportErrorThrownOncePerFlow();\n\n if (!event.tags) {\n event.tags = {};\n }\n\n if (!event.extra) {\n event.extra = {};\n }\n\n if (hint && hint.originalException) {\n event.extra.exception = hint.originalException;\n\n if (hint.originalException instanceof Error) {\n event.fingerprint = [\n `${hint.originalException.name}:${hint.originalException.message}`,\n ];\n }\n }\n\n event.tags.componentName = this.environment.componentName;\n event.tags.componentId = this.environment.componentId;\n event.tags.artifactId = this.environment.artifactId;\n event.tags.cairoVersion = this.environment.uiLibVersion;\n\n return event;\n },\n */\n },\n fedops: {\n appName: 'cairo',\n },\n experiments: {\n scopes: ['cairo'],\n },\n });\n\n if (\n typeof process !== 'undefined' &&\n process.env.STORYBOOK_VISUAL_E2E === 'true'\n ) {\n i18n.options.fallbackLng = [];\n }\n\n this.cairoSessionId = uuid();\n this.biLoggerFactory = biLoggerFactory;\n this.i18n = i18n;\n this.internalMonitor = new WixPatternsMonitor({\n errorMonitor: params.errorMonitor,\n internalErrorMonitor,\n internalFedops,\n environment: this.environment,\n csid: this.cairoSessionId,\n });\n this.internalExperiments = internalExperiments;\n\n this.translate = (...args) => {\n void this.initTask.status; // status is observable so reading it here starts mobx reactivity\n return this.i18n.t(...args);\n };\n\n this.Trans = params.Trans;\n\n this.onlineState = new OnlineState({\n onlineManager: this.onlineManager,\n focusManager: this.focusManager,\n translate: this.translate,\n showToast: this.showToast,\n });\n\n this.reportBi = this.createBILogger({});\n\n makeObservable(this, {\n init: action.bound,\n initialFetch: action.bound,\n dateFormatters: computed,\n });\n }\n\n _createComponentSettings(options: { namespace: string }) {\n return this.createComponentSettings(this)(options);\n }\n\n createBI = <P>(defaultParams: P) => {\n const { environment, cairoSessionId } = this;\n return this.biLoggerFactory?.()\n .updateDefaults({\n artifactId: environment.artifactId,\n componentName: environment.componentName,\n cairoVersion: environment.uiLibVersion,\n csid: cairoSessionId,\n ...defaultParams,\n })\n .logger();\n };\n\n createBILogger = <P>(defaultParams: P): ReportBI => {\n const bi = this.createBI(defaultParams);\n return (reportProps: ReportProps) => bi?.report(reportProps);\n };\n\n async initialFetch() {\n const { initTask, i18n, internalExperiments, experiments } = this;\n if (initTask.status.isLoading || initTask.status.isSuccess) {\n return initTask.status.promise;\n }\n\n await initTask.run(async () => {\n await Promise.all([\n i18n.init(),\n internalExperiments?.ready().catch((e) => {\n console.error(e);\n }),\n experiments.ready().catch((e) => {\n console.error(e);\n }),\n this._messagesEnImport(), // not all translation files contain all the keys, so en is required otherwise show error state\n ]);\n });\n\n return initTask.status.promise;\n }\n\n get dateFormatters() {\n return {\n medium: new Intl.DateTimeFormat(this.environment.language, {\n dateStyle: 'medium',\n }),\n mediumTime: new Intl.DateTimeFormat(this.environment.language, {\n dateStyle: 'medium',\n timeStyle: 'short',\n }),\n time: new Intl.DateTimeFormat(this.environment.language, {\n timeStyle: 'short',\n }),\n };\n }\n\n init() {\n const { onlineState } = this;\n\n this.initialFetch().catch((e) => {\n console.error(e);\n });\n\n const disposers = [\n onlineState.init(),\n new BeforeUnloadCompatState(this).init(),\n ];\n\n return () => {\n disposers.forEach((d) => d?.());\n };\n }\n}\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["_services","require","_model","_mobx","_TaskState","_OnlineState","_createComponentSettings","_ConditionalModalState","_events","_useExperimentsCompat","_uuid","_BeforeUnloadCompatState","WixPatternsContainer","constructor","params","_params$initialProps","_defineProperty2","default","TaskState","defaultParams","reportProps","environment","cairoSessionId","biLogger","report","artifactId","componentName","cairoVersion","uiLibVersion","csid","createEssentials","lodash","patchesCache","events","EventEmitter","_messagesEnImport","messagesEnImport","messagesEnImportGlobal","_fetchTranslations","fetchTranslations","onNavigationModal","ConditionalModalState","wixPatternsEnvironment","user","createComponentSettings","errorMonitor","httpClient","onlineManager","focusManager","history","useTranslation","useExperiments","createUseExperimentsCompat","experiments","showToast","navigateTo","onNavigation","getHostContainer","window","queryCache","appendModalsToBody","onSidePanelOpen","closeSidePanel","onBeforeUnload","i18n","biLoggerFactory","fedopsLogger","internalFedops","internalErrorMonitor","internalExperiments","useSuspense","disableAutoInit","asyncMessagesLoader","locale","messages","initialProps","dsn","process","env","NODE_ENV","fedops","appName","scopes","STORYBOOK_VISUAL_E2E","options","fallbackLng","uuid","logger","internalMonitor","WixPatternsMonitor","translate","args","initTask","status","t","Trans","onlineState","OnlineState","reportBi","createBILogger","makeObservable","init","action","bound","initialFetch","dateFormatters","computed","isLoading","isSuccess","promise","run","Promise","all","ready","catch","e","console","error","medium","Intl","DateTimeFormat","language","dateStyle","mediumTime","timeStyle","time","disposers","BeforeUnloadCompatState","forEach","d","exports"],"sources":["../../../src/state/WixPatternsContainer.ts"],"sourcesContent":["import type { Essentials } from '@wix/fe-essentials/core';\nimport type { Trans, useTranslation } from '@wix/fe-essentials/react';\nimport type { ReportProps } from '@wix/fe-essentials/bi';\nimport {\n WixPatternsMonitor,\n Environment,\n ErrorMonitor,\n fetchTranslations,\n FocusManager,\n History,\n messagesEnImportGlobal,\n ModalLayoutProps,\n OnlineManager,\n PartialLodash,\n PartialWindow,\n ReportBI,\n Translate,\n} from '../services';\nimport { QueryCache } from 'react-query/core';\nimport {\n wixPatternsEnvironment,\n WixPatternsEssentials,\n WixPatternsInitialProps,\n CloseSidePanel,\n GetHostContainer,\n OnNavigation,\n OnSidePanelOpen,\n ShowToast,\n} from '../model';\nimport { action, computed, IObservableArray, makeObservable } from 'mobx';\nimport { TaskState } from './TaskState';\nimport { OnlineState } from './OnlineState';\nimport { createComponentSettings } from '../services/createComponentSettings';\nimport { OptimisticPatch } from './CollectionOptimisticPatch';\nimport { ConditionalModalState } from './ConditionalModalState';\nimport { EventEmitter } from 'events';\nimport { TypedEmitter } from '../util';\nimport { TransitionState } from './TransitionState';\nimport { ReactElement } from 'react';\nimport { createUseExperimentsCompat } from './useExperimentsCompat';\nimport { v4 as uuid } from 'uuid';\nimport { BeforeUnloadCompatState } from './BeforeUnloadCompatState';\n\ntype WixPatternsContainerEvents = TypedEmitter<{\n navigation: () => ModalLayoutProps | null | undefined;\n}>;\n\nexport interface WixPatternsContainerParams {\n readonly initialProps?: WixPatternsInitialProps;\n readonly createEssentials: WixPatternsEssentials['createEssentials'];\n readonly biLogger?: WixPatternsEssentials['biLogger'];\n readonly messagesEnImport?: () => Promise<{}>;\n readonly fetchTranslations?: (p: {\n readonly errorMonitor: ErrorMonitor;\n }) => (locale: string) => Promise<{}>;\n readonly createComponentSettings?: WixPatternsEssentials['createComponentSettings'];\n readonly errorMonitor: ErrorMonitor;\n readonly httpClient: WixPatternsEssentials['httpClient'];\n readonly onlineManager: OnlineManager;\n readonly focusManager: FocusManager;\n readonly history: History;\n readonly window: PartialWindow;\n readonly useTranslation: typeof useTranslation;\n readonly Trans: typeof Trans;\n readonly useExperiments: WixPatternsEssentials['useExperiments'];\n readonly experiments: WixPatternsEssentials['experiments'];\n readonly environment: WixPatternsEssentials['environment'];\n readonly user: WixPatternsEssentials['user'];\n readonly showToast?: ShowToast;\n readonly navigateTo?: WixPatternsEssentials['navigateTo'];\n readonly onNavigation?: OnNavigation;\n readonly getHostContainer?: GetHostContainer;\n readonly queryCache: QueryCache;\n readonly patchesCache: Map<string, IObservableArray<OptimisticPatch<any>>>;\n readonly onSidePanelOpen?: OnSidePanelOpen;\n readonly closeSidePanel?: CloseSidePanel;\n readonly lodash: PartialLodash;\n readonly events?: WixPatternsContainerEvents;\n readonly sidePanel?: TransitionState<string>;\n readonly onNavigationModal?: ConditionalModalState<ModalLayoutProps>;\n readonly sidePanelComponents?: Map<string, ReactElement>;\n readonly appendModalsToBody?: boolean;\n readonly onBeforeUnload?: WixPatternsEssentials['onBeforeUnload'];\n}\n\nexport class WixPatternsContainer {\n readonly createEssentials;\n readonly errorMonitor: WixPatternsContainerParams['errorMonitor'];\n readonly internalMonitor: WixPatternsMonitor;\n readonly internalExperiments;\n readonly experiments;\n readonly httpClient: WixPatternsContainerParams['httpClient'];\n readonly onlineManager;\n readonly focusManager;\n readonly history: WixPatternsContainerParams['history'];\n readonly window: WixPatternsContainerParams['window'];\n readonly useTranslation;\n readonly Trans: typeof Trans;\n readonly useExperiments;\n readonly showToast?;\n readonly navigateTo?;\n readonly onNavigation;\n readonly onBeforeUnload;\n readonly getHostContainer;\n readonly environment: Environment;\n readonly appendModalsToBody?: boolean;\n readonly onSidePanelOpen?: OnSidePanelOpen;\n readonly closeSidePanel?: CloseSidePanel;\n readonly translate: Translate;\n readonly lodash;\n readonly i18n: Essentials['i18n'];\n readonly reportBi: ReportBI;\n readonly _messagesEnImport;\n readonly _fetchTranslations;\n\n readonly queryCache: QueryCache;\n readonly patchesCache;\n\n readonly initTask = new TaskState<void>();\n readonly onlineState: OnlineState;\n\n readonly onNavigationModal;\n\n readonly events: TypedEmitter<{\n navigation: () => ModalLayoutProps | null | undefined;\n }>;\n\n readonly user;\n\n readonly cairoSessionId: string;\n\n readonly biLogger;\n\n readonly createComponentSettings;\n\n constructor(params: Readonly<WixPatternsContainerParams>) {\n this.createEssentials = params.createEssentials;\n this.lodash = params.lodash;\n this.patchesCache = params.patchesCache;\n this.events =\n params.events ?? (new EventEmitter() as WixPatternsContainerEvents);\n this._messagesEnImport = params.messagesEnImport ?? messagesEnImportGlobal;\n this._fetchTranslations = params.fetchTranslations ?? fetchTranslations;\n\n this.onNavigationModal =\n params.onNavigationModal ?? new ConditionalModalState();\n\n this.environment = wixPatternsEnvironment(params.environment);\n this.user = params.user;\n\n this.createComponentSettings =\n params.createComponentSettings ?? createComponentSettings;\n\n this.errorMonitor = params.errorMonitor;\n this.httpClient = params.httpClient;\n this.onlineManager = params.onlineManager;\n this.focusManager = params.focusManager;\n this.history = params.history;\n this.useTranslation = params.useTranslation;\n this.useExperiments = createUseExperimentsCompat(params.useExperiments);\n this.experiments = params.experiments;\n this.showToast = params.showToast;\n this.navigateTo = params.navigateTo;\n this.onNavigation = params.onNavigation;\n this.getHostContainer = params.getHostContainer;\n this.window = params.window;\n this.queryCache = params.queryCache;\n this.appendModalsToBody = params.appendModalsToBody;\n this.onSidePanelOpen = params.onSidePanelOpen;\n this.closeSidePanel = params.closeSidePanel;\n this.onBeforeUnload = params.onBeforeUnload;\n\n const {\n i18n,\n biLoggerFactory,\n fedopsLogger: internalFedops,\n errorMonitor: internalErrorMonitor,\n experiments: internalExperiments,\n } = this.createEssentials({\n i18n: {\n useSuspense: false,\n disableAutoInit: true,\n asyncMessagesLoader: async (locale) => {\n if (locale === 'en') {\n return this._messagesEnImport();\n }\n return this._fetchTranslations(this)(locale);\n },\n messages: params.initialProps?.messages,\n },\n errorMonitor: {\n dsn:\n process.env.NODE_ENV === 'production'\n ? 'https://9b9586a905eb429cbda9ea49d5d721f6@sentry-next.wixpress.com/8780'\n : '',\n /*\n TODO: not used in sentry-next API, need to be merged from reportError API with tags & extraData\n For Example: errorMonitor.captureException(error, { tags, contexts: { runtime: extraData }})\n beforeSend: (event, hint) => {\n this.internalMonitor.reportErrorThrownOncePerFlow();\n\n if (!event.tags) {\n event.tags = {};\n }\n\n if (!event.extra) {\n event.extra = {};\n }\n\n if (hint && hint.originalException) {\n event.extra.exception = hint.originalException;\n\n if (hint.originalException instanceof Error) {\n event.fingerprint = [\n `${hint.originalException.name}:${hint.originalException.message}`,\n ];\n }\n }\n\n event.tags.componentName = this.environment.componentName;\n event.tags.componentId = this.environment.componentId;\n event.tags.artifactId = this.environment.artifactId;\n event.tags.cairoVersion = this.environment.uiLibVersion;\n\n return event;\n },\n */\n },\n fedops: {\n appName: 'cairo',\n },\n experiments: {\n scopes: ['cairo'],\n },\n });\n\n if (\n typeof process !== 'undefined' &&\n process.env.STORYBOOK_VISUAL_E2E === 'true'\n ) {\n i18n.options.fallbackLng = [];\n }\n\n this.cairoSessionId = uuid();\n this.biLogger = params.biLogger ?? biLoggerFactory?.().logger();\n this.i18n = i18n;\n this.internalMonitor = new WixPatternsMonitor({\n errorMonitor: params.errorMonitor,\n internalErrorMonitor,\n internalFedops,\n environment: this.environment,\n csid: this.cairoSessionId,\n });\n this.internalExperiments = internalExperiments;\n\n this.translate = (...args) => {\n void this.initTask.status; // status is observable so reading it here starts mobx reactivity\n return this.i18n.t(...args);\n };\n\n this.Trans = params.Trans;\n\n this.onlineState = new OnlineState({\n onlineManager: this.onlineManager,\n focusManager: this.focusManager,\n translate: this.translate,\n showToast: this.showToast,\n });\n\n this.reportBi = this.createBILogger({});\n\n makeObservable(this, {\n init: action.bound,\n initialFetch: action.bound,\n dateFormatters: computed,\n });\n }\n\n _createComponentSettings(options: { namespace: string }) {\n return this.createComponentSettings(this)(options);\n }\n\n createBILogger = <P>(defaultParams: P): ReportBI => {\n return (reportProps: ReportProps) => {\n const { environment, cairoSessionId, biLogger } = this;\n\n return biLogger?.report({\n ...reportProps,\n params: {\n artifactId: environment.artifactId,\n componentName: environment.componentName,\n cairoVersion: environment.uiLibVersion,\n csid: cairoSessionId,\n ...defaultParams,\n ...reportProps.params,\n },\n });\n };\n };\n\n async initialFetch() {\n const { initTask, i18n, internalExperiments, experiments } = this;\n if (initTask.status.isLoading || initTask.status.isSuccess) {\n return initTask.status.promise;\n }\n\n await initTask.run(async () => {\n await Promise.all([\n i18n.init(),\n internalExperiments?.ready().catch((e) => {\n console.error(e);\n }),\n experiments.ready().catch((e) => {\n console.error(e);\n }),\n this._messagesEnImport(), // not all translation files contain all the keys, so en is required otherwise show error state\n ]);\n });\n\n return initTask.status.promise;\n }\n\n get dateFormatters() {\n return {\n medium: new Intl.DateTimeFormat(this.environment.language, {\n dateStyle: 'medium',\n }),\n mediumTime: new Intl.DateTimeFormat(this.environment.language, {\n dateStyle: 'medium',\n timeStyle: 'short',\n }),\n time: new Intl.DateTimeFormat(this.environment.language, {\n timeStyle: 'short',\n }),\n };\n }\n\n init() {\n const { onlineState } = this;\n\n this.initialFetch().catch((e) => {\n console.error(e);\n });\n\n const disposers = [\n onlineState.init(),\n new BeforeUnloadCompatState(this).init(),\n ];\n\n return () => {\n disposers.forEach((d) => d?.());\n };\n }\n}\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -44,7 +44,8 @@ function buildWixPatternsContainer(wixPatternsEssentials, {
|
|
|
44
44
|
queryCache = defaultQueryCache,
|
|
45
45
|
onlineManager = _core.onlineManager,
|
|
46
46
|
navigateTo,
|
|
47
|
-
onBeforeUnload
|
|
47
|
+
onBeforeUnload,
|
|
48
|
+
biLogger
|
|
48
49
|
} = wixPatternsEssentials;
|
|
49
50
|
return new _WixPatternsContainer.WixPatternsContainer({
|
|
50
51
|
initialProps,
|
|
@@ -56,6 +57,7 @@ function buildWixPatternsContainer(wixPatternsEssentials, {
|
|
|
56
57
|
createComponentSettings,
|
|
57
58
|
history: process.env.NODE_ENV === 'test' ? require('history').createMemoryHistory() : history ?? (0, _history.createBrowserHistory)(),
|
|
58
59
|
experiments,
|
|
60
|
+
biLogger,
|
|
59
61
|
useTranslation,
|
|
60
62
|
Trans,
|
|
61
63
|
useExperiments,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_core","require","_mobx","_WixPatternsContainer","_history","_PartialWindowMock","_debounce","_interopRequireDefault","_throttle","_partialLodashMock","_jest","configure","isolateGlobalState","computedRequiresReaction","process","env","NODE_ENV","disableErrorBoundaries","defaultQueryCache","QueryCache","patchesCache","Map","buildWixPatternsContainer","wixPatternsEssentials","containerOverrides","initialProps","localCache","errorMonitor","httpClient","createEssentials","createComponentSettings","useTranslation","Trans","useExperiments","environment","showToast","experiments","onNavigation","getHostContainer","onSidePanelOpen","closeSidePanel","history","user","queryCache","onlineManager","defaultOnlineManager","navigateTo","onBeforeUnload","WixPatternsContainer","focusManager","createMemoryHistory","createBrowserHistory","window","PartialWindowMock","matchMedia","args","location","download","uri","saveAs","link","document","createElement","href","body","appendChild","click","removeChild","close","lodash","isTestEnvironment","isJestExists","jest","isMockFunction","setTimeout","partialLodashMock","debounce","throttle"],"sources":["../../../src/state/buildWixPatternsContainer.ts"],"sourcesContent":["import {\n focusManager,\n onlineManager as defaultOnlineManager,\n QueryCache,\n} from 'react-query/core';\nimport { configure } from 'mobx';\nimport { WixPatternsEssentials, WixPatternsInitialProps } from '../model';\nimport {\n WixPatternsContainer,\n WixPatternsContainerParams,\n} from './WixPatternsContainer';\nimport { createBrowserHistory } from 'history';\nimport { PartialWindowMock } from '../mocks/PartialWindowMock';\nimport debounce from 'lodash/debounce';\nimport throttle from 'lodash/throttle';\nimport { partialLodashMock } from '../mocks/partialLodashMock';\nimport { isJestExists, isTestEnvironment } from '../test-utils/jest';\n\nconfigure({\n isolateGlobalState: true,\n computedRequiresReaction: process.env.NODE_ENV === 'development',\n disableErrorBoundaries: process.env.NODE_ENV !== 'production',\n});\n\nconst defaultQueryCache = new QueryCache();\nconst patchesCache: WixPatternsContainerParams['patchesCache'] = new Map();\n\nexport function buildWixPatternsContainer(\n wixPatternsEssentials: WixPatternsEssentials,\n {\n containerOverrides,\n initialProps,\n localCache,\n }: {\n containerOverrides?: Partial<WixPatternsContainerParams>;\n initialProps?: WixPatternsInitialProps;\n localCache?: boolean;\n } = {},\n) {\n const {\n errorMonitor,\n httpClient,\n createEssentials,\n createComponentSettings,\n useTranslation,\n Trans,\n useExperiments,\n environment,\n showToast,\n experiments,\n onNavigation,\n getHostContainer,\n onSidePanelOpen,\n closeSidePanel,\n history,\n user,\n queryCache = defaultQueryCache,\n onlineManager = defaultOnlineManager,\n navigateTo,\n onBeforeUnload,\n } = wixPatternsEssentials;\n\n return new WixPatternsContainer({\n initialProps,\n errorMonitor,\n httpClient,\n onlineManager,\n focusManager,\n createEssentials,\n createComponentSettings,\n history:\n process.env.NODE_ENV === 'test'\n ? require('history').createMemoryHistory()\n : history ?? createBrowserHistory(),\n experiments,\n useTranslation,\n Trans,\n useExperiments,\n environment,\n user,\n showToast,\n navigateTo,\n onNavigation,\n onBeforeUnload,\n getHostContainer,\n onSidePanelOpen,\n closeSidePanel,\n queryCache:\n process.env.NODE_ENV === 'test' || localCache\n ? new QueryCache()\n : queryCache,\n patchesCache: process.env.NODE_ENV === 'test' ? new Map() : patchesCache,\n window:\n process.env.NODE_ENV === 'test'\n ? new PartialWindowMock()\n : {\n matchMedia: (...args) => window.matchMedia(...args),\n location: window.location,\n download: (uri, saveAs) => {\n const link = document.createElement('a');\n link.href = uri;\n if (saveAs) {\n link.download = saveAs;\n }\n document.body.appendChild(link);\n link.click();\n document.body.removeChild(link);\n },\n close: window.close,\n },\n lodash:\n isTestEnvironment() && isJestExists() && jest.isMockFunction(setTimeout)\n ? partialLodashMock()\n : { debounce, throttle },\n ...containerOverrides,\n });\n}\n"],"mappings":";;;;;AAAA,IAAAA,KAAA,GAAAC,OAAA;AAKA,IAAAC,KAAA,GAAAD,OAAA;AAEA,IAAAE,qBAAA,GAAAF,OAAA;AAIA,IAAAG,QAAA,GAAAH,OAAA;AACA,IAAAI,kBAAA,GAAAJ,OAAA;AACA,IAAAK,SAAA,GAAAC,sBAAA,CAAAN,OAAA;AACA,IAAAO,SAAA,GAAAD,sBAAA,CAAAN,OAAA;AACA,IAAAQ,kBAAA,GAAAR,OAAA;AACA,IAAAS,KAAA,GAAAT,OAAA;AAEA,IAAAU,eAAS,EAAC;EACRC,kBAAkB,EAAE,IAAI;EACxBC,wBAAwB,EAAEC,OAAO,CAACC,GAAG,CAACC,QAAQ,KAAK,aAAa;EAChEC,sBAAsB,EAAEH,OAAO,CAACC,GAAG,CAACC,QAAQ,KAAK;AACnD,CAAC,CAAC;AAEF,MAAME,iBAAiB,GAAG,IAAIC,gBAAU,CAAC,CAAC;AAC1C,MAAMC,YAAwD,GAAG,IAAIC,GAAG,CAAC,CAAC;AAEnE,SAASC,yBAAyBA,CACvCC,qBAA4C,EAC5C;EACEC,kBAAkB;EAClBC,YAAY;EACZC;AAKF,CAAC,GAAG,CAAC,CAAC,EACN;EACA,MAAM;IACJC,YAAY;IACZC,UAAU;IACVC,gBAAgB;IAChBC,uBAAuB;IACvBC,cAAc;IACdC,KAAK;IACLC,cAAc;IACdC,WAAW;IACXC,SAAS;IACTC,WAAW;IACXC,YAAY;IACZC,gBAAgB;IAChBC,eAAe;IACfC,cAAc;IACdC,OAAO;IACPC,IAAI;IACJC,UAAU,GAAGzB,iBAAiB;IAC9B0B,aAAa,GAAGC,mBAAoB;IACpCC,UAAU;IACVC;EACF,CAAC,
|
|
1
|
+
{"version":3,"names":["_core","require","_mobx","_WixPatternsContainer","_history","_PartialWindowMock","_debounce","_interopRequireDefault","_throttle","_partialLodashMock","_jest","configure","isolateGlobalState","computedRequiresReaction","process","env","NODE_ENV","disableErrorBoundaries","defaultQueryCache","QueryCache","patchesCache","Map","buildWixPatternsContainer","wixPatternsEssentials","containerOverrides","initialProps","localCache","errorMonitor","httpClient","createEssentials","createComponentSettings","useTranslation","Trans","useExperiments","environment","showToast","experiments","onNavigation","getHostContainer","onSidePanelOpen","closeSidePanel","history","user","queryCache","onlineManager","defaultOnlineManager","navigateTo","onBeforeUnload","biLogger","WixPatternsContainer","focusManager","createMemoryHistory","createBrowserHistory","window","PartialWindowMock","matchMedia","args","location","download","uri","saveAs","link","document","createElement","href","body","appendChild","click","removeChild","close","lodash","isTestEnvironment","isJestExists","jest","isMockFunction","setTimeout","partialLodashMock","debounce","throttle"],"sources":["../../../src/state/buildWixPatternsContainer.ts"],"sourcesContent":["import {\n focusManager,\n onlineManager as defaultOnlineManager,\n QueryCache,\n} from 'react-query/core';\nimport { configure } from 'mobx';\nimport { WixPatternsEssentials, WixPatternsInitialProps } from '../model';\nimport {\n WixPatternsContainer,\n WixPatternsContainerParams,\n} from './WixPatternsContainer';\nimport { createBrowserHistory } from 'history';\nimport { PartialWindowMock } from '../mocks/PartialWindowMock';\nimport debounce from 'lodash/debounce';\nimport throttle from 'lodash/throttle';\nimport { partialLodashMock } from '../mocks/partialLodashMock';\nimport { isJestExists, isTestEnvironment } from '../test-utils/jest';\n\nconfigure({\n isolateGlobalState: true,\n computedRequiresReaction: process.env.NODE_ENV === 'development',\n disableErrorBoundaries: process.env.NODE_ENV !== 'production',\n});\n\nconst defaultQueryCache = new QueryCache();\nconst patchesCache: WixPatternsContainerParams['patchesCache'] = new Map();\n\nexport function buildWixPatternsContainer(\n wixPatternsEssentials: WixPatternsEssentials,\n {\n containerOverrides,\n initialProps,\n localCache,\n }: {\n containerOverrides?: Partial<WixPatternsContainerParams>;\n initialProps?: WixPatternsInitialProps;\n localCache?: boolean;\n } = {},\n) {\n const {\n errorMonitor,\n httpClient,\n createEssentials,\n createComponentSettings,\n useTranslation,\n Trans,\n useExperiments,\n environment,\n showToast,\n experiments,\n onNavigation,\n getHostContainer,\n onSidePanelOpen,\n closeSidePanel,\n history,\n user,\n queryCache = defaultQueryCache,\n onlineManager = defaultOnlineManager,\n navigateTo,\n onBeforeUnload,\n biLogger,\n } = wixPatternsEssentials;\n\n return new WixPatternsContainer({\n initialProps,\n errorMonitor,\n httpClient,\n onlineManager,\n focusManager,\n createEssentials,\n createComponentSettings,\n history:\n process.env.NODE_ENV === 'test'\n ? require('history').createMemoryHistory()\n : history ?? createBrowserHistory(),\n experiments,\n biLogger,\n useTranslation,\n Trans,\n useExperiments,\n environment,\n user,\n showToast,\n navigateTo,\n onNavigation,\n onBeforeUnload,\n getHostContainer,\n onSidePanelOpen,\n closeSidePanel,\n queryCache:\n process.env.NODE_ENV === 'test' || localCache\n ? new QueryCache()\n : queryCache,\n patchesCache: process.env.NODE_ENV === 'test' ? new Map() : patchesCache,\n window:\n process.env.NODE_ENV === 'test'\n ? new PartialWindowMock()\n : {\n matchMedia: (...args) => window.matchMedia(...args),\n location: window.location,\n download: (uri, saveAs) => {\n const link = document.createElement('a');\n link.href = uri;\n if (saveAs) {\n link.download = saveAs;\n }\n document.body.appendChild(link);\n link.click();\n document.body.removeChild(link);\n },\n close: window.close,\n },\n lodash:\n isTestEnvironment() && isJestExists() && jest.isMockFunction(setTimeout)\n ? partialLodashMock()\n : { debounce, throttle },\n ...containerOverrides,\n });\n}\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -33,6 +33,7 @@
|
|
|
33
33
|
"cairo.customFields.manageFields.subtitle": "Přidávejte, upravujte nebo archivujte vlastní pole.",
|
|
34
34
|
"cairo.customFields.emptyStatePassive.subtitle": "Zde uvidíte pole, která přidáte",
|
|
35
35
|
"cairo.manageView.saveChanges.disabled.predefinedView.tooltip": "Toto je přednastavené zobrazení. Pokud chcete uložit změny, uložte jej jako nové zobrazení.",
|
|
36
|
+
"cairo.entityPage.header.subscribe.CTA": "Subscribe",
|
|
36
37
|
"cairo.customFields.fieldType.date": "Datum",
|
|
37
38
|
"cairo.search.Tab.noresults.title": "V záložce „{tabName}“ nebyly nalezeny žádné výsledky",
|
|
38
39
|
"cairo.tags.collectionPage.tagsColumn.title": "Tagy",
|
|
@@ -115,6 +116,7 @@
|
|
|
115
116
|
"cairo.table.advanced-sorting.disabled.cta.tooltip": "Přidali jste všechny sloupce.",
|
|
116
117
|
"cairo.tags.collectionPage.toast.create.error": "Tag nelze vytvořit kvůli technickým potížím na naší straně.",
|
|
117
118
|
"cairo.confirmModal.title": "Opravdu chcete provést tuto akci?",
|
|
119
|
+
"cairo.entityPage.header.connect.CTA": "Connect",
|
|
118
120
|
"cairo.customFields.fieldType.time.inputTitle": "Čas",
|
|
119
121
|
"cairo.manageView.Rename.disabled.tooltip": "Pokud chcete toto zobrazení přejmenovat, uložte změny nebo jej uložte jako nové zobrazení.",
|
|
120
122
|
"cairo.dropdownSearch.select.filers.clear": "Vymazat",
|
|
@@ -147,6 +149,7 @@
|
|
|
147
149
|
"cairo.customFields.fieldType.numberInteger.Name.placeholder": "např. Věk",
|
|
148
150
|
"cairo.export.serverErrorMessage": "Z důvodu přechodné chyby serveru nebylo možné váš export dokončit. Kontaktujte podporu s žádostí o pomoc.",
|
|
149
151
|
"cairo.toast.undone": "Akce byla vrácena zpět.",
|
|
152
|
+
"cairo.entityPage.header.apply.CTA": "Apply",
|
|
150
153
|
"cairo.picker.createNew.button.tooltip": "Vybrali jste maximální počet položek. Chcete-li vytvořit novou, zrušte výběr nějaké položky.",
|
|
151
154
|
"cairo.page.loadError.failedState.description": "Na naší straně se objevily technické potíže. Obnovte stránku a zkuste to znovu.",
|
|
152
155
|
"cairo.manageView.setAsDefault.reset.CTA": "Obnovit výchozí zobrazení",
|
|
@@ -190,6 +193,7 @@
|
|
|
190
193
|
"cairo.manageView.Rename.modal.field.title": "Název",
|
|
191
194
|
"cairo.dragAndDrop.discardChanges.title": "Zahodit změny?",
|
|
192
195
|
"cairo.customFields.fieldType.checkbox": "Zaškrtávací políčko",
|
|
196
|
+
"cairo.entityPage.header.publish.CTA": "Publish",
|
|
193
197
|
"cairo.filtersPanel.date.custom": "Vlastní",
|
|
194
198
|
"cairo.customFields.modal.networkError": "Pole nebylo přidáno kvůli chybě sítě. Zkontrolujte připojení a zkuste to znovu.",
|
|
195
199
|
"cairo.customFields.manageFields.CTA": "Správa",
|
|
@@ -272,6 +276,7 @@
|
|
|
272
276
|
"cairo.dragAndDrop.live-region.itemDragged.sr": "{currentNumber} z {totalNumber}.",
|
|
273
277
|
"cairo.noFiltersApplied.validationTooltip": "Chcete-li si toto zobrazení uložit, přidejte nebo odeberte filtr/sloupec.",
|
|
274
278
|
"cairo.customFields.emptyState.subtitle": "Až budete mít pole, budete zde moct sledovat informace, které shromáždíte.",
|
|
279
|
+
"cairo.entityPage.header.activate.CTA": "Activate",
|
|
275
280
|
"cairo.tags.manageTags.modal.list.action.rename.CTA": "Přejmenovat",
|
|
276
281
|
"cairo.filtersPanel.date.next30Days": "Příštích 30 dní",
|
|
277
282
|
"cairo.tags.collectionPage.tagsColumn.manage.CTA": "Správa tagů",
|
|
@@ -33,6 +33,7 @@
|
|
|
33
33
|
"cairo.customFields.manageFields.subtitle": "Tilføj, rediger eller arkiver dine tilpassede felter.",
|
|
34
34
|
"cairo.customFields.emptyStatePassive.subtitle": "Når der er felter, kan du se dem her.",
|
|
35
35
|
"cairo.manageView.saveChanges.disabled.predefinedView.tooltip": "Dette er en forudindstillet visning. Hvis du vil gemme ændringerne, skal du gemme som en ny visning.",
|
|
36
|
+
"cairo.entityPage.header.subscribe.CTA": "Subscribe",
|
|
36
37
|
"cairo.customFields.fieldType.date": "Dato",
|
|
37
38
|
"cairo.search.Tab.noresults.title": "Ingen resultater fundet i \"{tabName}\"",
|
|
38
39
|
"cairo.tags.collectionPage.tagsColumn.title": "Tags",
|
|
@@ -115,6 +116,7 @@
|
|
|
115
116
|
"cairo.table.advanced-sorting.disabled.cta.tooltip": "Alle kolonner blev tilføjet.",
|
|
116
117
|
"cairo.tags.collectionPage.toast.create.error": "Det var ikke muligt at oprette tagget på grund af et teknisk problem hos os.",
|
|
117
118
|
"cairo.confirmModal.title": "Er du sikker på, at du vil udføre denne handling?",
|
|
119
|
+
"cairo.entityPage.header.connect.CTA": "Connect",
|
|
118
120
|
"cairo.customFields.fieldType.time.inputTitle": "Tidspunkt",
|
|
119
121
|
"cairo.manageView.Rename.disabled.tooltip": "Hvis du vil omdøbe denne visning, skal du gemme ændringer eller gemme som en ny visning.",
|
|
120
122
|
"cairo.dropdownSearch.select.filers.clear": "Ryd",
|
|
@@ -147,6 +149,7 @@
|
|
|
147
149
|
"cairo.customFields.fieldType.numberInteger.Name.placeholder": "fx alder",
|
|
148
150
|
"cairo.export.serverErrorMessage": "På grund af en midlertidig serverfejl kunne din eksport ikke fuldføres. Kontakt support for at få hjælp.",
|
|
149
151
|
"cairo.toast.undone": "Handling fortrudt.",
|
|
152
|
+
"cairo.entityPage.header.apply.CTA": "Apply",
|
|
150
153
|
"cairo.picker.createNew.button.tooltip": "Du har valgt det maksimale antal elementer. Fravælg et element for at oprette et nyt.",
|
|
151
154
|
"cairo.page.loadError.failedState.description": "Der opstod et teknisk problem hos os. Genindlæs for at prøve igen.",
|
|
152
155
|
"cairo.manageView.setAsDefault.reset.CTA": "Nulstil standardvisning",
|
|
@@ -190,6 +193,7 @@
|
|
|
190
193
|
"cairo.manageView.Rename.modal.field.title": "Navn",
|
|
191
194
|
"cairo.dragAndDrop.discardChanges.title": "Vil du kassere ændringerne?",
|
|
192
195
|
"cairo.customFields.fieldType.checkbox": "Afkrydsningsfelt",
|
|
196
|
+
"cairo.entityPage.header.publish.CTA": "Publish",
|
|
193
197
|
"cairo.filtersPanel.date.custom": "Tilpas",
|
|
194
198
|
"cairo.customFields.modal.networkError": "Feltet blev ikke tilføjet på grund af en netværksfejl. Tjek din internetforbindelse og prøv igen.",
|
|
195
199
|
"cairo.customFields.manageFields.CTA": "Administrer",
|
|
@@ -272,6 +276,7 @@
|
|
|
272
276
|
"cairo.dragAndDrop.live-region.itemDragged.sr": "{currentNumber} af {totalNumber}.",
|
|
273
277
|
"cairo.noFiltersApplied.validationTooltip": "Tilføj eller kassér et filter eller en kolonne for at gemme denne visning.",
|
|
274
278
|
"cairo.customFields.emptyState.subtitle": "Når du har felter, kan du spore de oplysninger, du indsamler her.",
|
|
279
|
+
"cairo.entityPage.header.activate.CTA": "Activate",
|
|
275
280
|
"cairo.tags.manageTags.modal.list.action.rename.CTA": "Omdøb",
|
|
276
281
|
"cairo.filtersPanel.date.next30Days": "Næste 30 dage",
|
|
277
282
|
"cairo.tags.collectionPage.tagsColumn.manage.CTA": "Administrer tags",
|
|
@@ -33,6 +33,7 @@
|
|
|
33
33
|
"cairo.customFields.manageFields.subtitle": "Füge benutzerdefinierte Felder hinzu, bearbeite oder archiviere diese.",
|
|
34
34
|
"cairo.customFields.emptyStatePassive.subtitle": "Sobald Felder hinzugefügt wurden, erscheinen diese hier.",
|
|
35
35
|
"cairo.manageView.saveChanges.disabled.predefinedView.tooltip": "Dies ist eine voreingestellte Ansicht. Um Änderungen zu speichern, speichere diese als neue Ansicht.",
|
|
36
|
+
"cairo.entityPage.header.subscribe.CTA": "Subscribe",
|
|
36
37
|
"cairo.customFields.fieldType.date": "Datum",
|
|
37
38
|
"cairo.search.Tab.noresults.title": "Keine Ergebnisse in „{tabName}“",
|
|
38
39
|
"cairo.tags.collectionPage.tagsColumn.title": "Tags",
|
|
@@ -115,6 +116,7 @@
|
|
|
115
116
|
"cairo.table.advanced-sorting.disabled.cta.tooltip": "Alle Spalten wurden hinzugefügt.",
|
|
116
117
|
"cairo.tags.collectionPage.toast.create.error": "Wegen technischer Probleme wurde das Tag nicht erstellt.",
|
|
117
118
|
"cairo.confirmModal.title": "Möchtest du diese Aktion wirklich durchführen?",
|
|
119
|
+
"cairo.entityPage.header.connect.CTA": "Connect",
|
|
118
120
|
"cairo.customFields.fieldType.time.inputTitle": "Uhrzeit",
|
|
119
121
|
"cairo.manageView.Rename.disabled.tooltip": "Um diese Ansicht umzubenennen, speichere die Änderungen oder erstelle eine neue Ansicht.",
|
|
120
122
|
"cairo.dropdownSearch.select.filers.clear": "Löschen",
|
|
@@ -147,6 +149,7 @@
|
|
|
147
149
|
"cairo.customFields.fieldType.numberInteger.Name.placeholder": "z. B. Alter",
|
|
148
150
|
"cairo.export.serverErrorMessage": "Wegen eines vorübergehenden Serverfehlers konnte dein Export nicht abgeschlossen werden. Bitte kontaktiere unser Support-Team.",
|
|
149
151
|
"cairo.toast.undone": "Aktion rückgängig gemacht.",
|
|
152
|
+
"cairo.entityPage.header.apply.CTA": "Apply",
|
|
150
153
|
"cairo.picker.createNew.button.tooltip": "Du hast die maximale Anzahl an Elementen ausgewählt. Hebe die Auswahl eines Elements auf, um ein neues zu erstellen.",
|
|
151
154
|
"cairo.page.loadError.failedState.description": "Es gab ein technisches Problem. Versuche es erneut.",
|
|
152
155
|
"cairo.manageView.setAsDefault.reset.CTA": "Standardansicht zurücksetzen",
|
|
@@ -190,6 +193,7 @@
|
|
|
190
193
|
"cairo.manageView.Rename.modal.field.title": "Name",
|
|
191
194
|
"cairo.dragAndDrop.discardChanges.title": "Änderungen verwerfen?",
|
|
192
195
|
"cairo.customFields.fieldType.checkbox": "Kontrollkästchen",
|
|
196
|
+
"cairo.entityPage.header.publish.CTA": "Publish",
|
|
193
197
|
"cairo.filtersPanel.date.custom": "Benutzerdefiniert",
|
|
194
198
|
"cairo.customFields.modal.networkError": "Wegen eines Netzwerkfehlers wurde das Feld nicht hinzugefügt. Überprüfe deine Internetverbindung und versuche es erneut.",
|
|
195
199
|
"cairo.customFields.manageFields.CTA": "Verwalten",
|
|
@@ -272,6 +276,7 @@
|
|
|
272
276
|
"cairo.dragAndDrop.live-region.itemDragged.sr": "{currentNumber} von {totalNumber}.",
|
|
273
277
|
"cairo.noFiltersApplied.validationTooltip": "Um die Ansicht zu speichern, füge einen Filter oder eine Spalte hinzu oder verwerfe diese.",
|
|
274
278
|
"cairo.customFields.emptyState.subtitle": "Sobald du Felder hast, kannst du die erfassten Informationen hier im Blick behalten.",
|
|
279
|
+
"cairo.entityPage.header.activate.CTA": "Activate",
|
|
275
280
|
"cairo.tags.manageTags.modal.list.action.rename.CTA": "Umbenennen",
|
|
276
281
|
"cairo.filtersPanel.date.next30Days": "In den nächsten 30 Tagen",
|
|
277
282
|
"cairo.tags.collectionPage.tagsColumn.manage.CTA": "Tags verwalten",
|