@wix/bex-core 2.100.0 → 2.103.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (121) hide show
  1. package/dist/cjs/assets/locale/messages_cs.json +50 -0
  2. package/dist/cjs/assets/locale/messages_da.json +50 -0
  3. package/dist/cjs/assets/locale/messages_de.json +50 -0
  4. package/dist/cjs/assets/locale/messages_en.json +50 -1
  5. package/dist/cjs/assets/locale/messages_es.json +50 -0
  6. package/dist/cjs/assets/locale/messages_fr.json +50 -0
  7. package/dist/cjs/assets/locale/messages_hi.json +50 -0
  8. package/dist/cjs/assets/locale/messages_id.json +50 -0
  9. package/dist/cjs/assets/locale/messages_it.json +50 -0
  10. package/dist/cjs/assets/locale/messages_ja.json +50 -0
  11. package/dist/cjs/assets/locale/messages_ko.json +50 -0
  12. package/dist/cjs/assets/locale/messages_nl.json +50 -0
  13. package/dist/cjs/assets/locale/messages_no.json +50 -0
  14. package/dist/cjs/assets/locale/messages_pl.json +50 -0
  15. package/dist/cjs/assets/locale/messages_pt.json +50 -0
  16. package/dist/cjs/assets/locale/messages_ru.json +50 -0
  17. package/dist/cjs/assets/locale/messages_sv.json +50 -0
  18. package/dist/cjs/assets/locale/messages_th.json +50 -0
  19. package/dist/cjs/assets/locale/messages_tr.json +50 -0
  20. package/dist/cjs/assets/locale/messages_uk.json +50 -0
  21. package/dist/cjs/assets/locale/messages_vi.json +50 -0
  22. package/dist/cjs/assets/locale/messages_zh.json +50 -0
  23. package/dist/cjs/model/wixPatternsEssentials.js.map +1 -1
  24. package/dist/cjs/services/DataExtensionService/dataExtensionService.js +14 -1
  25. package/dist/cjs/services/DataExtensionService/dataExtensionService.js.map +1 -1
  26. package/dist/cjs/services/DataExtensionService/updateDataExtensionSchemaErrors.js +3 -15
  27. package/dist/cjs/services/DataExtensionService/updateDataExtensionSchemaErrors.js.map +1 -1
  28. package/dist/cjs/services/tagsService/createTagErrors.js +2 -1
  29. package/dist/cjs/services/tagsService/createTagErrors.js.map +1 -1
  30. package/dist/cjs/services/translations.js.map +1 -1
  31. package/dist/cjs/state/BulkActionModalState.js.map +1 -1
  32. package/dist/cjs/state/CollectionState.js +13 -4
  33. package/dist/cjs/state/CollectionState.js.map +1 -1
  34. package/dist/cjs/state/CustomFieldModalBiReporter.js.map +1 -1
  35. package/dist/cjs/state/CustomFieldModalState.js +20 -28
  36. package/dist/cjs/state/CustomFieldModalState.js.map +1 -1
  37. package/dist/cjs/state/CustomFieldsViewWidgetState.js +34 -28
  38. package/dist/cjs/state/CustomFieldsViewWidgetState.js.map +1 -1
  39. package/dist/cjs/state/DataExtensionState.js +14 -7
  40. package/dist/cjs/state/DataExtensionState.js.map +1 -1
  41. package/dist/cjs/state/ExportState/getExportAsyncJobErrors.js +2 -1
  42. package/dist/cjs/state/ExportState/getExportAsyncJobErrors.js.map +1 -1
  43. package/dist/cjs/state/PickerState.js +4 -2
  44. package/dist/cjs/state/PickerState.js.map +1 -1
  45. package/dist/cjs/state/SortState.js +2 -2
  46. package/dist/cjs/state/SortState.js.map +1 -1
  47. package/dist/cjs/state/WixPatternsContainer.js +11 -6
  48. package/dist/cjs/state/WixPatternsContainer.js.map +1 -1
  49. package/dist/esm/assets/locale/messages_cs.json +50 -0
  50. package/dist/esm/assets/locale/messages_da.json +50 -0
  51. package/dist/esm/assets/locale/messages_de.json +50 -0
  52. package/dist/esm/assets/locale/messages_en.json +50 -1
  53. package/dist/esm/assets/locale/messages_es.json +50 -0
  54. package/dist/esm/assets/locale/messages_fr.json +50 -0
  55. package/dist/esm/assets/locale/messages_hi.json +50 -0
  56. package/dist/esm/assets/locale/messages_id.json +50 -0
  57. package/dist/esm/assets/locale/messages_it.json +50 -0
  58. package/dist/esm/assets/locale/messages_ja.json +50 -0
  59. package/dist/esm/assets/locale/messages_ko.json +50 -0
  60. package/dist/esm/assets/locale/messages_nl.json +50 -0
  61. package/dist/esm/assets/locale/messages_no.json +50 -0
  62. package/dist/esm/assets/locale/messages_pl.json +50 -0
  63. package/dist/esm/assets/locale/messages_pt.json +50 -0
  64. package/dist/esm/assets/locale/messages_ru.json +50 -0
  65. package/dist/esm/assets/locale/messages_sv.json +50 -0
  66. package/dist/esm/assets/locale/messages_th.json +50 -0
  67. package/dist/esm/assets/locale/messages_tr.json +50 -0
  68. package/dist/esm/assets/locale/messages_uk.json +50 -0
  69. package/dist/esm/assets/locale/messages_vi.json +50 -0
  70. package/dist/esm/assets/locale/messages_zh.json +50 -0
  71. package/dist/esm/services/DataExtensionService/dataExtensionService.js +11 -1
  72. package/dist/esm/services/DataExtensionService/dataExtensionService.js.map +1 -1
  73. package/dist/esm/services/DataExtensionService/updateDataExtensionSchemaErrors.js +0 -12
  74. package/dist/esm/services/DataExtensionService/updateDataExtensionSchemaErrors.js.map +1 -1
  75. package/dist/esm/services/tagsService/createTagErrors.js +1 -0
  76. package/dist/esm/services/tagsService/createTagErrors.js.map +1 -1
  77. package/dist/esm/state/CollectionState.js +11 -4
  78. package/dist/esm/state/CollectionState.js.map +1 -1
  79. package/dist/esm/state/CustomFieldModalBiReporter.js.map +1 -1
  80. package/dist/esm/state/CustomFieldModalState.js +20 -29
  81. package/dist/esm/state/CustomFieldModalState.js.map +1 -1
  82. package/dist/esm/state/CustomFieldsViewWidgetState.js +36 -27
  83. package/dist/esm/state/CustomFieldsViewWidgetState.js.map +1 -1
  84. package/dist/esm/state/DataExtensionState.js +15 -12
  85. package/dist/esm/state/DataExtensionState.js.map +1 -1
  86. package/dist/esm/state/ExportState/getExportAsyncJobErrors.js +1 -0
  87. package/dist/esm/state/ExportState/getExportAsyncJobErrors.js.map +1 -1
  88. package/dist/esm/state/PickerState.js +3 -1
  89. package/dist/esm/state/PickerState.js.map +1 -1
  90. package/dist/esm/state/SortState.js +1 -1
  91. package/dist/esm/state/SortState.js.map +1 -1
  92. package/dist/esm/state/WixPatternsContainer.js +12 -6
  93. package/dist/esm/state/WixPatternsContainer.js.map +1 -1
  94. package/dist/types/model/wixPatternsEssentials.d.ts +1 -0
  95. package/dist/types/model/wixPatternsEssentials.d.ts.map +1 -1
  96. package/dist/types/services/DataExtensionService/dataExtensionService.d.ts +6 -2
  97. package/dist/types/services/DataExtensionService/dataExtensionService.d.ts.map +1 -1
  98. package/dist/types/services/DataExtensionService/updateDataExtensionSchemaErrors.d.ts.map +1 -1
  99. package/dist/types/services/tagsService/createTagErrors.d.ts.map +1 -1
  100. package/dist/types/services/translations.d.ts +19 -1
  101. package/dist/types/services/translations.d.ts.map +1 -1
  102. package/dist/types/state/BulkActionModalState.d.ts +2 -2
  103. package/dist/types/state/BulkActionModalState.d.ts.map +1 -1
  104. package/dist/types/state/CollectionState.d.ts +3 -2
  105. package/dist/types/state/CollectionState.d.ts.map +1 -1
  106. package/dist/types/state/CustomFieldModalBiReporter.d.ts +1 -1
  107. package/dist/types/state/CustomFieldModalBiReporter.d.ts.map +1 -1
  108. package/dist/types/state/CustomFieldModalState.d.ts +2 -1
  109. package/dist/types/state/CustomFieldModalState.d.ts.map +1 -1
  110. package/dist/types/state/CustomFieldsViewWidgetState.d.ts +3 -0
  111. package/dist/types/state/CustomFieldsViewWidgetState.d.ts.map +1 -1
  112. package/dist/types/state/DataExtensionState.d.ts +2 -1
  113. package/dist/types/state/DataExtensionState.d.ts.map +1 -1
  114. package/dist/types/state/ExportState/getExportAsyncJobErrors.d.ts.map +1 -1
  115. package/dist/types/state/PickerState.d.ts.map +1 -1
  116. package/dist/types/state/SortState.d.ts +1 -0
  117. package/dist/types/state/SortState.d.ts.map +1 -1
  118. package/dist/types/state/TagsState/TagsBIReporter.d.ts +1 -1
  119. package/dist/types/state/WixPatternsContainer.d.ts +2 -1
  120. package/dist/types/state/WixPatternsContainer.d.ts.map +1 -1
  121. package/package.json +4 -4
@@ -1 +1 @@
1
- {"version":3,"names":["_CollectionState","require","_mapValues","_interopRequireDefault","_mobx","_TaskState","_v","_util","_snapshot","_MultiCollectionSupport","_onItemsCreated","DEFAULT_FLOATING_NOTIFICATION_HEIGHT","withoutDefaults","withoutIrrelevant","PickerState","constructor","params","_defineProperty2","default","TaskState","reportBi","startTime","performance","now","totalNewItems","loadMore","_commonDynamicBiParams","loadingTime","Math","round","loadedItems","collection","result","pickerModalUsability","action","searchTerm","query","search","value","cairoSearchResults","searchResultsCnt","total","ctaName","currentLevel","numLevels","cairoCtaClicked","ctaIndex","numCtas","location","moreActionsIndex","items","onItemsCreated","reportProps","runInAction","newItemCreationEnd","numSelectedItems","bulkSelect","select","selectedCount","resultType","getMaxItems","multi","MultiCollectionSupport","collections","shouldFilterNotAffectTotalCount","isScrollTop","minContentHeight","events","loadStartTime","filteredListSize","Snapshot","expression","Object","values","customFilters","map","f","effect","queryName","fetchData","history","queryCache","errorMonitor","onlineState","showToast","translate","itemKey","itemName","paginationMode","selectionConsistencyMode","lodash","noFilters","CollectionState","id","limit","pagination","onError","filters","mapValues","filter","clearedFilter","clone","reset","strictFiltersOnly","filterName","makeObservable","setFloatingNotificationHeight","someHidden","computed","toggle","updateIsScrollTop","onPrimaryButtonClick","observable","ref","clearResultAndMoveToStart","force","Promise","all","strictFiltersOnlyTotal","noFiltersTotal","newValue","listSize","maxItems","init","initTask","onReady","onInitialFetchError","emitter","on","onNewPage","onSearchStart","disposers","runOnce","status","promise","forceUpdate","loadEnd","url","window","href","initialItems","size","asComputed","e","captureException","err","isOnline","off","disposer","onCloseButtonClick","componentDismissed","origin","onBackButtonClick","_onButtonClick","onContinueButtonClick","onSecondaryButtonOnClick","pickerPickModalCtaButtonClickOrImmediateCta","isImmediate","itemsCnt","keyedItem","options","_bulkSelect$getCollec","onItemSelectClick","selectedCountOrTotal","numItemsBefore","selectedValues","prevSelected","clear","cairoItemSelectionToggled","isSelectAll","isFromSearch","isEmpty","searchQuery","itemIndex","index","hasAdditionalStep","itemId","key","clickType","isChecked","numItemsAfter","item","previousIndex","getCollectionItem","floatingNotificationHeight","exports"],"sources":["../../../src/state/PickerState.ts"],"sourcesContent":["import { CollectionState } from './CollectionState';\nimport {\n CollectionEvents,\n ComputedQuery,\n ComputedResult,\n FiltersMap,\n KeyedItem,\n} from '../model';\nimport mapValues from 'lodash/mapValues';\nimport {\n action,\n computed,\n makeObservable,\n observable,\n runInAction,\n} from 'mobx';\nimport { TaskState } from './TaskState';\nimport { ReportBI } from '../services';\nimport {\n cairoCtaClicked,\n cairoItemSelectionToggled,\n cairoSearchResults,\n componentDismissed,\n loadEnd,\n loadMore,\n newItemCreationEnd,\n pickerModalUsability,\n pickerPickModalCtaButtonClickOrImmediateCta,\n} from '@wix/bex-utils/@wix/bi-logger-os-data/v2';\nimport { withoutIrrelevant } from '../util';\nimport { Snapshot } from './snapshot';\nimport { MultiCollectionSupport } from './MultiCollectionSupport';\nimport { onItemsCreated } from './onItemsCreated';\n\nconst DEFAULT_FLOATING_NOTIFICATION_HEIGHT = 54;\n\nexport type OnPickerReady<F extends FiltersMap> = (params: {\n query: ComputedQuery<F>;\n result: ComputedResult;\n noFiltersTotal: ComputedResult['total'];\n}) => unknown;\n\nexport interface PickerEvents<T, F extends FiltersMap>\n extends CollectionEvents<F> {\n readonly onReady?: OnPickerReady<F>;\n readonly onInitialFetchError?: (params: {\n err: unknown;\n isOnline: boolean;\n }) => unknown;\n readonly onItemSelectClick?: (params: {\n item: T;\n index: number;\n previousIndex: number | null;\n }) => unknown;\n}\n\nexport interface PickerStateParams<T, F extends FiltersMap> {\n getMaxItems: () => number | undefined;\n collection: CollectionState<T, F>;\n minContentHeight?: string | number;\n events?: PickerEvents<T, F>;\n shouldFilterNotAffectTotalCount?: (filterName: keyof F) => boolean;\n loadStartTime?: number;\n reportBi: ReportBI;\n}\n\nconst withoutDefaults = withoutIrrelevant<\n 'currentTab' | 'currentFilters' | 'currentSortOrder' | 'currentView'\n>();\n\nexport class PickerState<T, F extends FiltersMap = FiltersMap> {\n readonly collection: PickerStateParams<T, F>['collection'];\n readonly multi;\n readonly strictFiltersOnly: PickerStateParams<T, F>['collection'];\n\n readonly noFilters: PickerStateParams<T, F>['collection'];\n readonly shouldFilterNotAffectTotalCount: (filterName: keyof F) => boolean;\n readonly events: PickerEvents<T, F>;\n\n readonly initTask = new TaskState();\n readonly reportBi;\n readonly loadStartTime;\n\n isScrollTop: boolean;\n\n minContentHeight: string | number;\n floatingNotificationHeight = 0;\n\n readonly getMaxItems;\n\n readonly filteredListSize;\n\n constructor(params: Readonly<PickerStateParams<T, F>>) {\n this.getMaxItems = params.getMaxItems;\n this.collection = params.collection;\n this.reportBi = params.reportBi;\n\n this.multi = new MultiCollectionSupport({\n collections: [this.collection],\n });\n\n this.shouldFilterNotAffectTotalCount =\n params.shouldFilterNotAffectTotalCount ?? (() => false);\n this.isScrollTop = true;\n this.minContentHeight = params.minContentHeight ?? 300;\n\n this.events = params.events ?? {};\n\n this.loadStartTime = params.loadStartTime ?? performance.now();\n\n this.filteredListSize = new Snapshot({\n expression: () =>\n Object.values(this.collection.query.customFilters).map((f) => f?.value),\n effect: () => this.collection.result.total,\n });\n\n const {\n queryName,\n fetchData,\n query,\n history,\n queryCache,\n errorMonitor,\n onlineState,\n showToast,\n translate,\n itemKey,\n itemName,\n paginationMode,\n selectionConsistencyMode,\n events,\n lodash,\n } = this.collection;\n\n this.noFilters = new CollectionState({\n queryName,\n fetchData,\n history,\n queryCache,\n errorMonitor,\n lodash,\n onlineState,\n showToast,\n translate,\n itemKey,\n itemName,\n paginationMode: paginationMode.id,\n limit: query.pagination.limit,\n selectionConsistencyMode,\n events: {\n onError: events.onError,\n },\n filters: mapValues(this.collection.query.customFilters, (filter) => {\n if (filter) {\n const clearedFilter = filter.clone();\n clearedFilter.reset(); // reset strict filter\n return clearedFilter;\n }\n\n return filter;\n }) as F,\n });\n\n this.strictFiltersOnly = new CollectionState({\n queryName,\n fetchData,\n history,\n queryCache,\n errorMonitor,\n lodash,\n onlineState,\n showToast,\n translate,\n itemKey,\n itemName,\n paginationMode: paginationMode.id,\n limit: query.pagination.limit,\n selectionConsistencyMode,\n events: {\n onError: events.onError,\n },\n filters: mapValues(\n this.collection.query.customFilters,\n (filter, filterName) => {\n // reset all filters that should not affect total count\n if (\n filter != null &&\n this.shouldFilterNotAffectTotalCount(filterName)\n ) {\n const clearedFilter = filter.clone();\n clearedFilter.reset();\n return clearedFilter;\n }\n\n return filter;\n },\n ) as F,\n });\n\n makeObservable(this, {\n setFloatingNotificationHeight: action,\n someHidden: computed,\n toggle: action,\n updateIsScrollTop: action,\n onPrimaryButtonClick: action,\n isScrollTop: observable.ref,\n });\n }\n\n async clearResultAndMoveToStart({ force }: { force?: boolean } = {}) {\n await Promise.all([\n this.collection.clearResultAndMoveToStart({ force }),\n this.strictFiltersOnly.clearResultAndMoveToStart({ force }),\n this.noFilters.clearResultAndMoveToStart({ force }),\n ]);\n }\n\n get someHidden() {\n const {\n strictFiltersOnly: {\n result: { total: strictFiltersOnlyTotal },\n },\n noFilters: {\n result: { total: noFiltersTotal },\n },\n } = this;\n return noFiltersTotal > strictFiltersOnlyTotal;\n }\n\n updateIsScrollTop(newValue: boolean) {\n this.isScrollTop = newValue;\n }\n\n _commonDynamicBiParams(): {\n filteredListSize?: number;\n listSize?: number;\n maxItems?: number;\n } {\n const { noFilters, collection, filteredListSize } = this;\n\n return {\n ...collection._commonDynamicBiParams(),\n listSize: noFilters.result.total,\n filteredListSize: filteredListSize.value,\n maxItems: this.getMaxItems(),\n };\n }\n\n onNewPage = () => {\n const { reportBi } = this;\n\n const startTime = performance.now();\n\n return ({ totalNewItems }: { totalNewItems: number }) => {\n reportBi(\n withoutDefaults(loadMore)({\n ...this._commonDynamicBiParams(),\n loadingTime: Math.round(performance.now() - startTime),\n loadedItems: totalNewItems,\n }),\n );\n };\n };\n\n onSearchStart = () => {\n const { collection, reportBi } = this;\n\n const { result } = collection;\n\n const startTime = performance.now();\n reportBi(\n pickerModalUsability({\n ...this._commonDynamicBiParams(),\n action: 'search',\n searchTerm: collection.query.search.value,\n }),\n );\n\n return () => {\n reportBi(\n cairoSearchResults({\n ...this._commonDynamicBiParams(),\n loadingTime: Math.round(performance.now() - startTime),\n searchResultsCnt: result.total,\n searchTerm: collection.query.search.value,\n }),\n );\n };\n };\n\n init() {\n const {\n collection,\n strictFiltersOnly,\n noFilters,\n initTask,\n events: { onReady, onInitialFetchError },\n reportBi,\n filteredListSize,\n } = this;\n\n collection.emitter.on('newPageStart', this.onNewPage);\n collection.emitter.on('searchStart', this.onSearchStart);\n\n const disposers = [\n collection.init(),\n filteredListSize.init(),\n strictFiltersOnly.init(),\n noFilters.init(),\n ];\n\n initTask.runOnce(async () => {\n const { result, query } = collection;\n\n try {\n await Promise.all([\n collection.initTask.status.promise,\n strictFiltersOnly.initTask.status.promise,\n noFilters.initTask.status.promise,\n ]);\n\n filteredListSize.forceUpdate();\n\n runInAction(() => {\n try {\n reportBi(\n withoutDefaults(loadEnd)({\n ...this._commonDynamicBiParams(),\n url: window.location.href,\n loadingTime: Math.round(performance.now() - this.loadStartTime),\n initialItems: result.size,\n }),\n );\n onReady?.({\n query: query.asComputed,\n result: result.asComputed,\n noFiltersTotal: noFilters.result.total,\n });\n } catch (e) {\n collection.errorMonitor.captureException(e);\n }\n });\n } catch (err) {\n await onInitialFetchError?.({\n err,\n isOnline: collection.onlineState.isOnline,\n });\n throw err;\n }\n });\n\n return () => {\n collection.emitter.off('newPageStart', this.onNewPage);\n collection.emitter.off('searchStart', this.onSearchStart);\n for (const disposer of disposers) {\n disposer();\n }\n };\n }\n\n onCloseButtonClick() {\n const { reportBi } = this;\n\n reportBi(\n withoutDefaults(componentDismissed)({\n origin: 'X button',\n }),\n );\n }\n\n onBackButtonClick() {\n const { _onButtonClick } = this;\n\n _onButtonClick({ ctaName: 'back', numLevels: 2, currentLevel: 2 });\n }\n\n onContinueButtonClick() {\n const { _onButtonClick } = this;\n\n _onButtonClick({ ctaName: 'continue-next', numLevels: 2, currentLevel: 1 });\n }\n\n onSecondaryButtonOnClick() {\n const { reportBi } = this;\n\n reportBi(\n withoutDefaults(componentDismissed)({\n origin: 'Cancel button',\n }),\n );\n }\n\n onPrimaryButtonClick({\n currentLevel,\n numLevels,\n }: {\n currentLevel: number;\n numLevels: number;\n }) {\n const {\n collection: { bulkSelect },\n _onButtonClick,\n reportBi,\n } = this;\n\n const { selectedCount } = bulkSelect;\n\n _onButtonClick({ ctaName: 'continue', currentLevel, numLevels });\n\n reportBi(\n pickerPickModalCtaButtonClickOrImmediateCta({\n ...this._commonDynamicBiParams(),\n isImmediate: false,\n itemsCnt: selectedCount,\n }),\n );\n }\n\n _onButtonClick = ({\n ctaName,\n currentLevel,\n numLevels,\n }: {\n ctaName: string;\n currentLevel: number;\n numLevels: number;\n }) => {\n this.reportBi(\n cairoCtaClicked({\n ...this._commonDynamicBiParams(),\n ctaIndex: 1,\n numCtas: 1,\n currentLevel,\n numLevels,\n location: 'picker',\n moreActionsIndex: 0,\n ctaName,\n }),\n );\n };\n\n toggle(\n keyedItem: KeyedItem<T>,\n options: { clear?: boolean; hasAdditionalStep?: boolean } = {},\n ) {\n const {\n collection,\n events: { onItemSelectClick },\n reportBi,\n } = this;\n const {\n bulkSelect,\n query: { search },\n } = collection;\n const { select, selectedCountOrTotal: numItemsBefore } = bulkSelect;\n\n const {\n selectedValues: [prevSelected],\n } = select;\n\n if (options.clear) {\n bulkSelect.select.clear();\n }\n\n bulkSelect.toggle(keyedItem);\n reportBi(\n cairoItemSelectionToggled({\n ...this._commonDynamicBiParams(),\n isSelectAll: false,\n isFromSearch: !search.isEmpty,\n searchQuery: search.value,\n itemIndex: keyedItem.index,\n numLevels: options.hasAdditionalStep ? 2 : 1,\n itemId: keyedItem.key,\n clickType: bulkSelect.isChecked(keyedItem.key)\n ? 'Selection'\n : 'Deselection',\n numItemsBefore,\n numItemsAfter: bulkSelect.selectedCountOrTotal,\n }),\n );\n onItemSelectClick?.({\n item: keyedItem.item,\n index: keyedItem.index,\n previousIndex:\n prevSelected != null\n ? (bulkSelect.getCollectionItem(prevSelected.key)?.index as\n | number\n | null)\n : null,\n });\n }\n\n setFloatingNotificationHeight(\n floatingNotificationHeight: number = DEFAULT_FLOATING_NOTIFICATION_HEIGHT,\n ) {\n this.floatingNotificationHeight = floatingNotificationHeight;\n }\n\n onCreateNew = action(async (items?: T[]) => {\n if (items) {\n await onItemsCreated(this.collection, {\n items,\n reportBi: (reportProps) => {\n this.reportBi({\n ...reportProps,\n params: {\n ...this._commonDynamicBiParams(),\n ...reportProps.params,\n },\n });\n },\n });\n } else {\n runInAction(() => {\n this.reportBi(\n newItemCreationEnd({\n ...this._commonDynamicBiParams(),\n numSelectedItems: this.collection.bulkSelect.select.selectedCount,\n resultType: 'dismissed',\n }),\n );\n });\n }\n });\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_CollectionState","require","_mapValues","_interopRequireDefault","_mobx","_TaskState","_v","_util","_snapshot","_MultiCollectionSupport","_onItemsCreated","DEFAULT_FLOATING_NOTIFICATION_HEIGHT","withoutDefaults","withoutIrrelevant","PickerState","constructor","params","_defineProperty2","default","TaskState","reportBi","startTime","performance","now","totalNewItems","loadMore","_commonDynamicBiParams","loadingTime","Math","round","loadedItems","collection","result","pickerModalUsability","action","searchTerm","query","search","value","cairoSearchResults","searchResultsCnt","total","ctaName","currentLevel","numLevels","cairoCtaClicked","ctaIndex","numCtas","location","moreActionsIndex","url","window","href","items","onItemsCreated","reportProps","runInAction","newItemCreationEnd","numSelectedItems","bulkSelect","select","selectedCount","resultType","getMaxItems","multi","MultiCollectionSupport","collections","shouldFilterNotAffectTotalCount","isScrollTop","minContentHeight","events","loadStartTime","filteredListSize","Snapshot","expression","Object","values","customFilters","map","f","effect","queryName","fetchData","history","queryCache","errorMonitor","onlineState","showToast","translate","itemKey","itemName","paginationMode","selectionConsistencyMode","lodash","noFilters","CollectionState","id","limit","pagination","onError","filters","mapValues","filter","clearedFilter","clone","reset","strictFiltersOnly","filterName","makeObservable","setFloatingNotificationHeight","someHidden","computed","toggle","updateIsScrollTop","onPrimaryButtonClick","observable","ref","clearResultAndMoveToStart","force","Promise","all","strictFiltersOnlyTotal","noFiltersTotal","newValue","listSize","maxItems","init","initTask","onReady","onInitialFetchError","emitter","on","onNewPage","onSearchStart","disposers","runOnce","status","promise","forceUpdate","loadEnd","initialItems","size","asComputed","e","captureException","err","isOnline","off","disposer","onCloseButtonClick","componentDismissed","origin","onBackButtonClick","_onButtonClick","onContinueButtonClick","onSecondaryButtonOnClick","pickerPickModalCtaButtonClickOrImmediateCta","isImmediate","itemsCnt","keyedItem","options","_bulkSelect$getCollec","onItemSelectClick","selectedCountOrTotal","numItemsBefore","selectedValues","prevSelected","clear","cairoItemSelectionToggled","isSelectAll","isFromSearch","isEmpty","searchQuery","itemIndex","index","hasAdditionalStep","itemId","key","clickType","isChecked","numItemsAfter","item","previousIndex","getCollectionItem","floatingNotificationHeight","exports"],"sources":["../../../src/state/PickerState.ts"],"sourcesContent":["import { CollectionState } from './CollectionState';\nimport {\n CollectionEvents,\n ComputedQuery,\n ComputedResult,\n FiltersMap,\n KeyedItem,\n} from '../model';\nimport mapValues from 'lodash/mapValues';\nimport {\n action,\n computed,\n makeObservable,\n observable,\n runInAction,\n} from 'mobx';\nimport { TaskState } from './TaskState';\nimport { ReportBI } from '../services';\nimport {\n cairoCtaClicked,\n cairoItemSelectionToggled,\n cairoSearchResults,\n componentDismissed,\n loadEnd,\n loadMore,\n newItemCreationEnd,\n pickerModalUsability,\n pickerPickModalCtaButtonClickOrImmediateCta,\n} from '@wix/bex-utils/@wix/bi-logger-os-data/v2';\nimport { withoutIrrelevant } from '../util';\nimport { Snapshot } from './snapshot';\nimport { MultiCollectionSupport } from './MultiCollectionSupport';\nimport { onItemsCreated } from './onItemsCreated';\n\nconst DEFAULT_FLOATING_NOTIFICATION_HEIGHT = 54;\n\nexport type OnPickerReady<F extends FiltersMap> = (params: {\n query: ComputedQuery<F>;\n result: ComputedResult;\n noFiltersTotal: ComputedResult['total'];\n}) => unknown;\n\nexport interface PickerEvents<T, F extends FiltersMap>\n extends CollectionEvents<F> {\n readonly onReady?: OnPickerReady<F>;\n readonly onInitialFetchError?: (params: {\n err: unknown;\n isOnline: boolean;\n }) => unknown;\n readonly onItemSelectClick?: (params: {\n item: T;\n index: number;\n previousIndex: number | null;\n }) => unknown;\n}\n\nexport interface PickerStateParams<T, F extends FiltersMap> {\n getMaxItems: () => number | undefined;\n collection: CollectionState<T, F>;\n minContentHeight?: string | number;\n events?: PickerEvents<T, F>;\n shouldFilterNotAffectTotalCount?: (filterName: keyof F) => boolean;\n loadStartTime?: number;\n reportBi: ReportBI;\n}\n\nconst withoutDefaults = withoutIrrelevant<\n 'currentTab' | 'currentFilters' | 'currentSortOrder' | 'currentView'\n>();\n\nexport class PickerState<T, F extends FiltersMap = FiltersMap> {\n readonly collection: PickerStateParams<T, F>['collection'];\n readonly multi;\n readonly strictFiltersOnly: PickerStateParams<T, F>['collection'];\n\n readonly noFilters: PickerStateParams<T, F>['collection'];\n readonly shouldFilterNotAffectTotalCount: (filterName: keyof F) => boolean;\n readonly events: PickerEvents<T, F>;\n\n readonly initTask = new TaskState();\n readonly reportBi;\n readonly loadStartTime;\n\n isScrollTop: boolean;\n\n minContentHeight: string | number;\n floatingNotificationHeight = 0;\n\n readonly getMaxItems;\n\n readonly filteredListSize;\n\n constructor(params: Readonly<PickerStateParams<T, F>>) {\n this.getMaxItems = params.getMaxItems;\n this.collection = params.collection;\n this.reportBi = params.reportBi;\n\n this.multi = new MultiCollectionSupport({\n collections: [this.collection],\n });\n\n this.shouldFilterNotAffectTotalCount =\n params.shouldFilterNotAffectTotalCount ?? (() => false);\n this.isScrollTop = true;\n this.minContentHeight = params.minContentHeight ?? 300;\n\n this.events = params.events ?? {};\n\n this.loadStartTime = params.loadStartTime ?? performance.now();\n\n this.filteredListSize = new Snapshot({\n expression: () =>\n Object.values(this.collection.query.customFilters).map((f) => f?.value),\n effect: () => this.collection.result.total,\n });\n\n const {\n queryName,\n fetchData,\n query,\n history,\n queryCache,\n errorMonitor,\n onlineState,\n showToast,\n translate,\n itemKey,\n itemName,\n paginationMode,\n selectionConsistencyMode,\n events,\n lodash,\n } = this.collection;\n\n this.noFilters = new CollectionState({\n queryName,\n fetchData,\n history,\n queryCache,\n errorMonitor,\n lodash,\n onlineState,\n showToast,\n translate,\n itemKey,\n itemName,\n paginationMode: paginationMode.id,\n limit: query.pagination.limit,\n selectionConsistencyMode,\n events: {\n onError: events.onError,\n },\n filters: mapValues(this.collection.query.customFilters, (filter) => {\n if (filter) {\n const clearedFilter = filter.clone();\n clearedFilter.reset(); // reset strict filter\n return clearedFilter;\n }\n\n return filter;\n }) as F,\n });\n\n this.strictFiltersOnly = new CollectionState({\n queryName,\n fetchData,\n history,\n queryCache,\n errorMonitor,\n lodash,\n onlineState,\n showToast,\n translate,\n itemKey,\n itemName,\n paginationMode: paginationMode.id,\n limit: query.pagination.limit,\n selectionConsistencyMode,\n events: {\n onError: events.onError,\n },\n filters: mapValues(\n this.collection.query.customFilters,\n (filter, filterName) => {\n // reset all filters that should not affect total count\n if (\n filter != null &&\n this.shouldFilterNotAffectTotalCount(filterName)\n ) {\n const clearedFilter = filter.clone();\n clearedFilter.reset();\n return clearedFilter;\n }\n\n return filter;\n },\n ) as F,\n });\n\n makeObservable(this, {\n setFloatingNotificationHeight: action,\n someHidden: computed,\n toggle: action,\n updateIsScrollTop: action,\n onPrimaryButtonClick: action,\n isScrollTop: observable.ref,\n });\n }\n\n async clearResultAndMoveToStart({ force }: { force?: boolean } = {}) {\n await Promise.all([\n this.collection.clearResultAndMoveToStart({ force }),\n this.strictFiltersOnly.clearResultAndMoveToStart({ force }),\n this.noFilters.clearResultAndMoveToStart({ force }),\n ]);\n }\n\n get someHidden() {\n const {\n strictFiltersOnly: {\n result: { total: strictFiltersOnlyTotal },\n },\n noFilters: {\n result: { total: noFiltersTotal },\n },\n } = this;\n return noFiltersTotal > strictFiltersOnlyTotal;\n }\n\n updateIsScrollTop(newValue: boolean) {\n this.isScrollTop = newValue;\n }\n\n _commonDynamicBiParams(): {\n filteredListSize?: number;\n listSize?: number;\n maxItems?: number;\n } {\n const { noFilters, collection, filteredListSize } = this;\n\n return {\n ...collection._commonDynamicBiParams(),\n listSize: noFilters.result.total,\n filteredListSize: filteredListSize.value,\n maxItems: this.getMaxItems(),\n };\n }\n\n onNewPage = () => {\n const { reportBi } = this;\n\n const startTime = performance.now();\n\n return ({ totalNewItems }: { totalNewItems: number }) => {\n reportBi(\n withoutDefaults(loadMore)({\n ...this._commonDynamicBiParams(),\n loadingTime: Math.round(performance.now() - startTime),\n loadedItems: totalNewItems,\n }),\n );\n };\n };\n\n onSearchStart = () => {\n const { collection, reportBi } = this;\n\n const { result } = collection;\n\n const startTime = performance.now();\n reportBi(\n pickerModalUsability({\n ...this._commonDynamicBiParams(),\n action: 'search',\n searchTerm: collection.query.search.value,\n }),\n );\n\n return () => {\n reportBi(\n cairoSearchResults({\n ...this._commonDynamicBiParams(),\n loadingTime: Math.round(performance.now() - startTime),\n searchResultsCnt: result.total,\n searchTerm: collection.query.search.value,\n }),\n );\n };\n };\n\n init() {\n const {\n collection,\n strictFiltersOnly,\n noFilters,\n initTask,\n events: { onReady, onInitialFetchError },\n reportBi,\n filteredListSize,\n } = this;\n\n collection.emitter.on('newPageStart', this.onNewPage);\n collection.emitter.on('searchStart', this.onSearchStart);\n\n const disposers = [\n collection.init(),\n filteredListSize.init(),\n strictFiltersOnly.init(),\n noFilters.init(),\n ];\n\n initTask.runOnce(async () => {\n const { result, query } = collection;\n\n try {\n await Promise.all([\n collection.initTask.status.promise,\n strictFiltersOnly.initTask.status.promise,\n noFilters.initTask.status.promise,\n ]);\n\n filteredListSize.forceUpdate();\n\n runInAction(() => {\n try {\n reportBi(\n withoutDefaults(loadEnd)({\n ...this._commonDynamicBiParams(),\n url: typeof window !== 'undefined' ? window.location.href : '',\n loadingTime: Math.round(performance.now() - this.loadStartTime),\n initialItems: result.size,\n }),\n );\n onReady?.({\n query: query.asComputed,\n result: result.asComputed,\n noFiltersTotal: noFilters.result.total,\n });\n } catch (e) {\n collection.errorMonitor.captureException(e);\n }\n });\n } catch (err) {\n await onInitialFetchError?.({\n err,\n isOnline: collection.onlineState.isOnline,\n });\n throw err;\n }\n });\n\n return () => {\n collection.emitter.off('newPageStart', this.onNewPage);\n collection.emitter.off('searchStart', this.onSearchStart);\n for (const disposer of disposers) {\n disposer();\n }\n };\n }\n\n onCloseButtonClick() {\n const { reportBi } = this;\n\n reportBi(\n withoutDefaults(componentDismissed)({\n origin: 'X button',\n }),\n );\n }\n\n onBackButtonClick() {\n const { _onButtonClick } = this;\n\n _onButtonClick({ ctaName: 'back', numLevels: 2, currentLevel: 2 });\n }\n\n onContinueButtonClick() {\n const { _onButtonClick } = this;\n\n _onButtonClick({ ctaName: 'continue-next', numLevels: 2, currentLevel: 1 });\n }\n\n onSecondaryButtonOnClick() {\n const { reportBi } = this;\n\n reportBi(\n withoutDefaults(componentDismissed)({\n origin: 'Cancel button',\n }),\n );\n }\n\n onPrimaryButtonClick({\n currentLevel,\n numLevels,\n }: {\n currentLevel: number;\n numLevels: number;\n }) {\n const {\n collection: { bulkSelect },\n _onButtonClick,\n reportBi,\n } = this;\n\n const { selectedCount } = bulkSelect;\n\n _onButtonClick({ ctaName: 'continue', currentLevel, numLevels });\n\n reportBi(\n pickerPickModalCtaButtonClickOrImmediateCta({\n ...this._commonDynamicBiParams(),\n isImmediate: false,\n itemsCnt: selectedCount,\n }),\n );\n }\n\n _onButtonClick = ({\n ctaName,\n currentLevel,\n numLevels,\n }: {\n ctaName: string;\n currentLevel: number;\n numLevels: number;\n }) => {\n this.reportBi(\n cairoCtaClicked({\n ...this._commonDynamicBiParams(),\n ctaIndex: 1,\n numCtas: 1,\n currentLevel,\n numLevels,\n location: 'picker',\n moreActionsIndex: 0,\n ctaName,\n url: typeof window !== 'undefined' ? window.location.href : '',\n }),\n );\n };\n\n toggle(\n keyedItem: KeyedItem<T>,\n options: { clear?: boolean; hasAdditionalStep?: boolean } = {},\n ) {\n const {\n collection,\n events: { onItemSelectClick },\n reportBi,\n } = this;\n const {\n bulkSelect,\n query: { search },\n } = collection;\n const { select, selectedCountOrTotal: numItemsBefore } = bulkSelect;\n\n const {\n selectedValues: [prevSelected],\n } = select;\n\n if (options.clear) {\n bulkSelect.select.clear();\n }\n\n bulkSelect.toggle(keyedItem);\n reportBi(\n cairoItemSelectionToggled({\n ...this._commonDynamicBiParams(),\n url: typeof window !== 'undefined' ? window.location.href : '',\n isSelectAll: false,\n isFromSearch: !search.isEmpty,\n searchQuery: search.value,\n itemIndex: keyedItem.index,\n numLevels: options.hasAdditionalStep ? 2 : 1,\n itemId: keyedItem.key,\n clickType: bulkSelect.isChecked(keyedItem.key)\n ? 'Selection'\n : 'Deselection',\n numItemsBefore,\n numItemsAfter: bulkSelect.selectedCountOrTotal,\n }),\n );\n onItemSelectClick?.({\n item: keyedItem.item,\n index: keyedItem.index,\n previousIndex:\n prevSelected != null\n ? (bulkSelect.getCollectionItem(prevSelected.key)?.index as\n | number\n | null)\n : null,\n });\n }\n\n setFloatingNotificationHeight(\n floatingNotificationHeight: number = DEFAULT_FLOATING_NOTIFICATION_HEIGHT,\n ) {\n this.floatingNotificationHeight = floatingNotificationHeight;\n }\n\n onCreateNew = action(async (items?: T[]) => {\n if (items) {\n await onItemsCreated(this.collection, {\n items,\n reportBi: (reportProps) => {\n this.reportBi({\n ...reportProps,\n params: {\n ...this._commonDynamicBiParams(),\n ...reportProps.params,\n },\n });\n },\n });\n } else {\n runInAction(() => {\n this.reportBi(\n newItemCreationEnd({\n ...this._commonDynamicBiParams(),\n numSelectedItems: this.collection.bulkSelect.select.selectedCount,\n resultType: 'dismissed',\n }),\n );\n });\n }\n });\n}\n"],"mappings":";;;;;;AAAA,IAAAA,gBAAA,GAAAC,OAAA;AAQA,IAAAC,UAAA,GAAAC,sBAAA,CAAAF,OAAA;AACA,IAAAG,KAAA,GAAAH,OAAA;AAOA,IAAAI,UAAA,GAAAJ,OAAA;AAEA,IAAAK,EAAA,GAAAL,OAAA;AAWA,IAAAM,KAAA,GAAAN,OAAA;AACA,IAAAO,SAAA,GAAAP,OAAA;AACA,IAAAQ,uBAAA,GAAAR,OAAA;AACA,IAAAS,eAAA,GAAAT,OAAA;AAEA,MAAMU,oCAAoC,GAAG,EAAE;AAgC/C,MAAMC,eAAe,GAAG,IAAAC,uBAAiB,EAEvC,CAAC;AAEI,MAAMC,WAAW,CAAuC;EAsB7DC,WAAWA,CAACC,MAAyC,EAAE;IAAA,IAAAC,gBAAA,CAAAC,OAAA;IAAA,IAAAD,gBAAA,CAAAC,OAAA;IAAA,IAAAD,gBAAA,CAAAC,OAAA;IAAA,IAAAD,gBAAA,CAAAC,OAAA;IAAA,IAAAD,gBAAA,CAAAC,OAAA;IAAA,IAAAD,gBAAA,CAAAC,OAAA;IAAA,IAAAD,gBAAA,CAAAC,OAAA,oBAbnC,IAAIC,oBAAS,CAAC,CAAC;IAAA,IAAAF,gBAAA,CAAAC,OAAA;IAAA,IAAAD,gBAAA,CAAAC,OAAA;IAAA,IAAAD,gBAAA,CAAAC,OAAA;IAAA,IAAAD,gBAAA,CAAAC,OAAA;IAAA,IAAAD,gBAAA,CAAAC,OAAA,sCAON,CAAC;IAAA,IAAAD,gBAAA,CAAAC,OAAA;IAAA,IAAAD,gBAAA,CAAAC,OAAA;IAAA,IAAAD,gBAAA,CAAAC,OAAA,qBAkKlB,MAAM;MAChB,MAAM;QAAEE;MAAS,CAAC,GAAG,IAAI;MAEzB,MAAMC,SAAS,GAAGC,WAAW,CAACC,GAAG,CAAC,CAAC;MAEnC,OAAO,CAAC;QAAEC;MAAyC,CAAC,KAAK;QACvDJ,QAAQ,CACNR,eAAe,CAACa,WAAQ,CAAC,CAAC;UACxB,GAAG,IAAI,CAACC,sBAAsB,CAAC,CAAC;UAChCC,WAAW,EAAEC,IAAI,CAACC,KAAK,CAACP,WAAW,CAACC,GAAG,CAAC,CAAC,GAAGF,SAAS,CAAC;UACtDS,WAAW,EAAEN;QACf,CAAC,CACH,CAAC;MACH,CAAC;IACH,CAAC;IAAA,IAAAP,gBAAA,CAAAC,OAAA,yBAEe,MAAM;MACpB,MAAM;QAAEa,UAAU;QAAEX;MAAS,CAAC,GAAG,IAAI;MAErC,MAAM;QAAEY;MAAO,CAAC,GAAGD,UAAU;MAE7B,MAAMV,SAAS,GAAGC,WAAW,CAACC,GAAG,CAAC,CAAC;MACnCH,QAAQ,CACN,IAAAa,uBAAoB,EAAC;QACnB,GAAG,IAAI,CAACP,sBAAsB,CAAC,CAAC;QAChCQ,MAAM,EAAE,QAAQ;QAChBC,UAAU,EAAEJ,UAAU,CAACK,KAAK,CAACC,MAAM,CAACC;MACtC,CAAC,CACH,CAAC;MAED,OAAO,MAAM;QACXlB,QAAQ,CACN,IAAAmB,qBAAkB,EAAC;UACjB,GAAG,IAAI,CAACb,sBAAsB,CAAC,CAAC;UAChCC,WAAW,EAAEC,IAAI,CAACC,KAAK,CAACP,WAAW,CAACC,GAAG,CAAC,CAAC,GAAGF,SAAS,CAAC;UACtDmB,gBAAgB,EAAER,MAAM,CAACS,KAAK;UAC9BN,UAAU,EAAEJ,UAAU,CAACK,KAAK,CAACC,MAAM,CAACC;QACtC,CAAC,CACH,CAAC;MACH,CAAC;IACH,CAAC;IAAA,IAAArB,gBAAA,CAAAC,OAAA,0BAkIgB,CAAC;MAChBwB,OAAO;MACPC,YAAY;MACZC;IAKF,CAAC,KAAK;MACJ,IAAI,CAACxB,QAAQ,CACX,IAAAyB,kBAAe,EAAC;QACd,GAAG,IAAI,CAACnB,sBAAsB,CAAC,CAAC;QAChCoB,QAAQ,EAAE,CAAC;QACXC,OAAO,EAAE,CAAC;QACVJ,YAAY;QACZC,SAAS;QACTI,QAAQ,EAAE,QAAQ;QAClBC,gBAAgB,EAAE,CAAC;QACnBP,OAAO;QACPQ,GAAG,EAAE,OAAOC,MAAM,KAAK,WAAW,GAAGA,MAAM,CAACH,QAAQ,CAACI,IAAI,GAAG;MAC9D,CAAC,CACH,CAAC;IACH,CAAC;IAAA,IAAAnC,gBAAA,CAAAC,OAAA,uBA6Da,IAAAgB,YAAM,EAAC,MAAOmB,KAAW,IAAK;MAC1C,IAAIA,KAAK,EAAE;QACT,MAAM,IAAAC,8BAAc,EAAC,IAAI,CAACvB,UAAU,EAAE;UACpCsB,KAAK;UACLjC,QAAQ,EAAGmC,WAAW,IAAK;YACzB,IAAI,CAACnC,QAAQ,CAAC;cACZ,GAAGmC,WAAW;cACdvC,MAAM,EAAE;gBACN,GAAG,IAAI,CAACU,sBAAsB,CAAC,CAAC;gBAChC,GAAG6B,WAAW,CAACvC;cACjB;YACF,CAAC,CAAC;UACJ;QACF,CAAC,CAAC;MACJ,CAAC,MAAM;QACL,IAAAwC,iBAAW,EAAC,MAAM;UAChB,IAAI,CAACpC,QAAQ,CACX,IAAAqC,qBAAkB,EAAC;YACjB,GAAG,IAAI,CAAC/B,sBAAsB,CAAC,CAAC;YAChCgC,gBAAgB,EAAE,IAAI,CAAC3B,UAAU,CAAC4B,UAAU,CAACC,MAAM,CAACC,aAAa;YACjEC,UAAU,EAAE;UACd,CAAC,CACH,CAAC;QACH,CAAC,CAAC;MACJ;IACF,CAAC,CAAC;IAjbA,IAAI,CAACC,WAAW,GAAG/C,MAAM,CAAC+C,WAAW;IACrC,IAAI,CAAChC,UAAU,GAAGf,MAAM,CAACe,UAAU;IACnC,IAAI,CAACX,QAAQ,GAAGJ,MAAM,CAACI,QAAQ;IAE/B,IAAI,CAAC4C,KAAK,GAAG,IAAIC,8CAAsB,CAAC;MACtCC,WAAW,EAAE,CAAC,IAAI,CAACnC,UAAU;IAC/B,CAAC,CAAC;IAEF,IAAI,CAACoC,+BAA+B,GAClCnD,MAAM,CAACmD,+BAA+B,KAAK,MAAM,KAAK,CAAC;IACzD,IAAI,CAACC,WAAW,GAAG,IAAI;IACvB,IAAI,CAACC,gBAAgB,GAAGrD,MAAM,CAACqD,gBAAgB,IAAI,GAAG;IAEtD,IAAI,CAACC,MAAM,GAAGtD,MAAM,CAACsD,MAAM,IAAI,CAAC,CAAC;IAEjC,IAAI,CAACC,aAAa,GAAGvD,MAAM,CAACuD,aAAa,IAAIjD,WAAW,CAACC,GAAG,CAAC,CAAC;IAE9D,IAAI,CAACiD,gBAAgB,GAAG,IAAIC,kBAAQ,CAAC;MACnCC,UAAU,EAAEA,CAAA,KACVC,MAAM,CAACC,MAAM,CAAC,IAAI,CAAC7C,UAAU,CAACK,KAAK,CAACyC,aAAa,CAAC,CAACC,GAAG,CAAEC,CAAC,IAAKA,CAAC,oBAADA,CAAC,CAAEzC,KAAK,CAAC;MACzE0C,MAAM,EAAEA,CAAA,KAAM,IAAI,CAACjD,UAAU,CAACC,MAAM,CAACS;IACvC,CAAC,CAAC;IAEF,MAAM;MACJwC,SAAS;MACTC,SAAS;MACT9C,KAAK;MACL+C,OAAO;MACPC,UAAU;MACVC,YAAY;MACZC,WAAW;MACXC,SAAS;MACTC,SAAS;MACTC,OAAO;MACPC,QAAQ;MACRC,cAAc;MACdC,wBAAwB;MACxBtB,MAAM;MACNuB;IACF,CAAC,GAAG,IAAI,CAAC9D,UAAU;IAEnB,IAAI,CAAC+D,SAAS,GAAG,IAAIC,gCAAe,CAAC;MACnCd,SAAS;MACTC,SAAS;MACTC,OAAO;MACPC,UAAU;MACVC,YAAY;MACZQ,MAAM;MACNP,WAAW;MACXC,SAAS;MACTC,SAAS;MACTC,OAAO;MACPC,QAAQ;MACRC,cAAc,EAAEA,cAAc,CAACK,EAAE;MACjCC,KAAK,EAAE7D,KAAK,CAAC8D,UAAU,CAACD,KAAK;MAC7BL,wBAAwB;MACxBtB,MAAM,EAAE;QACN6B,OAAO,EAAE7B,MAAM,CAAC6B;MAClB,CAAC;MACDC,OAAO,EAAE,IAAAC,kBAAS,EAAC,IAAI,CAACtE,UAAU,CAACK,KAAK,CAACyC,aAAa,EAAGyB,MAAM,IAAK;QAClE,IAAIA,MAAM,EAAE;UACV,MAAMC,aAAa,GAAGD,MAAM,CAACE,KAAK,CAAC,CAAC;UACpCD,aAAa,CAACE,KAAK,CAAC,CAAC,CAAC,CAAC;UACvB,OAAOF,aAAa;QACtB;QAEA,OAAOD,MAAM;MACf,CAAC;IACH,CAAC,CAAC;IAEF,IAAI,CAACI,iBAAiB,GAAG,IAAIX,gCAAe,CAAC;MAC3Cd,SAAS;MACTC,SAAS;MACTC,OAAO;MACPC,UAAU;MACVC,YAAY;MACZQ,MAAM;MACNP,WAAW;MACXC,SAAS;MACTC,SAAS;MACTC,OAAO;MACPC,QAAQ;MACRC,cAAc,EAAEA,cAAc,CAACK,EAAE;MACjCC,KAAK,EAAE7D,KAAK,CAAC8D,UAAU,CAACD,KAAK;MAC7BL,wBAAwB;MACxBtB,MAAM,EAAE;QACN6B,OAAO,EAAE7B,MAAM,CAAC6B;MAClB,CAAC;MACDC,OAAO,EAAE,IAAAC,kBAAS,EAChB,IAAI,CAACtE,UAAU,CAACK,KAAK,CAACyC,aAAa,EACnC,CAACyB,MAAM,EAAEK,UAAU,KAAK;QACtB;QACA,IACEL,MAAM,IAAI,IAAI,IACd,IAAI,CAACnC,+BAA+B,CAACwC,UAAU,CAAC,EAChD;UACA,MAAMJ,aAAa,GAAGD,MAAM,CAACE,KAAK,CAAC,CAAC;UACpCD,aAAa,CAACE,KAAK,CAAC,CAAC;UACrB,OAAOF,aAAa;QACtB;QAEA,OAAOD,MAAM;MACf,CACF;IACF,CAAC,CAAC;IAEF,IAAAM,oBAAc,EAAC,IAAI,EAAE;MACnBC,6BAA6B,EAAE3E,YAAM;MACrC4E,UAAU,EAAEC,cAAQ;MACpBC,MAAM,EAAE9E,YAAM;MACd+E,iBAAiB,EAAE/E,YAAM;MACzBgF,oBAAoB,EAAEhF,YAAM;MAC5BkC,WAAW,EAAE+C,gBAAU,CAACC;IAC1B,CAAC,CAAC;EACJ;EAEA,MAAMC,yBAAyBA,CAAC;IAAEC;EAA2B,CAAC,GAAG,CAAC,CAAC,EAAE;IACnE,MAAMC,OAAO,CAACC,GAAG,CAAC,CAChB,IAAI,CAACzF,UAAU,CAACsF,yBAAyB,CAAC;MAAEC;IAAM,CAAC,CAAC,EACpD,IAAI,CAACZ,iBAAiB,CAACW,yBAAyB,CAAC;MAAEC;IAAM,CAAC,CAAC,EAC3D,IAAI,CAACxB,SAAS,CAACuB,yBAAyB,CAAC;MAAEC;IAAM,CAAC,CAAC,CACpD,CAAC;EACJ;EAEA,IAAIR,UAAUA,CAAA,EAAG;IACf,MAAM;MACJJ,iBAAiB,EAAE;QACjB1E,MAAM,EAAE;UAAES,KAAK,EAAEgF;QAAuB;MAC1C,CAAC;MACD3B,SAAS,EAAE;QACT9D,MAAM,EAAE;UAAES,KAAK,EAAEiF;QAAe;MAClC;IACF,CAAC,GAAG,IAAI;IACR,OAAOA,cAAc,GAAGD,sBAAsB;EAChD;EAEAR,iBAAiBA,CAACU,QAAiB,EAAE;IACnC,IAAI,CAACvD,WAAW,GAAGuD,QAAQ;EAC7B;EAEAjG,sBAAsBA,CAAA,EAIpB;IACA,MAAM;MAAEoE,SAAS;MAAE/D,UAAU;MAAEyC;IAAiB,CAAC,GAAG,IAAI;IAExD,OAAO;MACL,GAAGzC,UAAU,CAACL,sBAAsB,CAAC,CAAC;MACtCkG,QAAQ,EAAE9B,SAAS,CAAC9D,MAAM,CAACS,KAAK;MAChC+B,gBAAgB,EAAEA,gBAAgB,CAAClC,KAAK;MACxCuF,QAAQ,EAAE,IAAI,CAAC9D,WAAW,CAAC;IAC7B,CAAC;EACH;EA4CA+D,IAAIA,CAAA,EAAG;IACL,MAAM;MACJ/F,UAAU;MACV2E,iBAAiB;MACjBZ,SAAS;MACTiC,QAAQ;MACRzD,MAAM,EAAE;QAAE0D,OAAO;QAAEC;MAAoB,CAAC;MACxC7G,QAAQ;MACRoD;IACF,CAAC,GAAG,IAAI;IAERzC,UAAU,CAACmG,OAAO,CAACC,EAAE,CAAC,cAAc,EAAE,IAAI,CAACC,SAAS,CAAC;IACrDrG,UAAU,CAACmG,OAAO,CAACC,EAAE,CAAC,aAAa,EAAE,IAAI,CAACE,aAAa,CAAC;IAExD,MAAMC,SAAS,GAAG,CAChBvG,UAAU,CAAC+F,IAAI,CAAC,CAAC,EACjBtD,gBAAgB,CAACsD,IAAI,CAAC,CAAC,EACvBpB,iBAAiB,CAACoB,IAAI,CAAC,CAAC,EACxBhC,SAAS,CAACgC,IAAI,CAAC,CAAC,CACjB;IAEDC,QAAQ,CAACQ,OAAO,CAAC,YAAY;MAC3B,MAAM;QAAEvG,MAAM;QAAEI;MAAM,CAAC,GAAGL,UAAU;MAEpC,IAAI;QACF,MAAMwF,OAAO,CAACC,GAAG,CAAC,CAChBzF,UAAU,CAACgG,QAAQ,CAACS,MAAM,CAACC,OAAO,EAClC/B,iBAAiB,CAACqB,QAAQ,CAACS,MAAM,CAACC,OAAO,EACzC3C,SAAS,CAACiC,QAAQ,CAACS,MAAM,CAACC,OAAO,CAClC,CAAC;QAEFjE,gBAAgB,CAACkE,WAAW,CAAC,CAAC;QAE9B,IAAAlF,iBAAW,EAAC,MAAM;UAChB,IAAI;YACFpC,QAAQ,CACNR,eAAe,CAAC+H,UAAO,CAAC,CAAC;cACvB,GAAG,IAAI,CAACjH,sBAAsB,CAAC,CAAC;cAChCwB,GAAG,EAAE,OAAOC,MAAM,KAAK,WAAW,GAAGA,MAAM,CAACH,QAAQ,CAACI,IAAI,GAAG,EAAE;cAC9DzB,WAAW,EAAEC,IAAI,CAACC,KAAK,CAACP,WAAW,CAACC,GAAG,CAAC,CAAC,GAAG,IAAI,CAACgD,aAAa,CAAC;cAC/DqE,YAAY,EAAE5G,MAAM,CAAC6G;YACvB,CAAC,CACH,CAAC;YACDb,OAAO,YAAPA,OAAO,CAAG;cACR5F,KAAK,EAAEA,KAAK,CAAC0G,UAAU;cACvB9G,MAAM,EAAEA,MAAM,CAAC8G,UAAU;cACzBpB,cAAc,EAAE5B,SAAS,CAAC9D,MAAM,CAACS;YACnC,CAAC,CAAC;UACJ,CAAC,CAAC,OAAOsG,CAAC,EAAE;YACVhH,UAAU,CAACsD,YAAY,CAAC2D,gBAAgB,CAACD,CAAC,CAAC;UAC7C;QACF,CAAC,CAAC;MACJ,CAAC,CAAC,OAAOE,GAAG,EAAE;QACZ,OAAMhB,mBAAmB,oBAAnBA,mBAAmB,CAAG;UAC1BgB,GAAG;UACHC,QAAQ,EAAEnH,UAAU,CAACuD,WAAW,CAAC4D;QACnC,CAAC,CAAC;QACF,MAAMD,GAAG;MACX;IACF,CAAC,CAAC;IAEF,OAAO,MAAM;MACXlH,UAAU,CAACmG,OAAO,CAACiB,GAAG,CAAC,cAAc,EAAE,IAAI,CAACf,SAAS,CAAC;MACtDrG,UAAU,CAACmG,OAAO,CAACiB,GAAG,CAAC,aAAa,EAAE,IAAI,CAACd,aAAa,CAAC;MACzD,KAAK,MAAMe,QAAQ,IAAId,SAAS,EAAE;QAChCc,QAAQ,CAAC,CAAC;MACZ;IACF,CAAC;EACH;EAEAC,kBAAkBA,CAAA,EAAG;IACnB,MAAM;MAAEjI;IAAS,CAAC,GAAG,IAAI;IAEzBA,QAAQ,CACNR,eAAe,CAAC0I,qBAAkB,CAAC,CAAC;MAClCC,MAAM,EAAE;IACV,CAAC,CACH,CAAC;EACH;EAEAC,iBAAiBA,CAAA,EAAG;IAClB,MAAM;MAAEC;IAAe,CAAC,GAAG,IAAI;IAE/BA,cAAc,CAAC;MAAE/G,OAAO,EAAE,MAAM;MAAEE,SAAS,EAAE,CAAC;MAAED,YAAY,EAAE;IAAE,CAAC,CAAC;EACpE;EAEA+G,qBAAqBA,CAAA,EAAG;IACtB,MAAM;MAAED;IAAe,CAAC,GAAG,IAAI;IAE/BA,cAAc,CAAC;MAAE/G,OAAO,EAAE,eAAe;MAAEE,SAAS,EAAE,CAAC;MAAED,YAAY,EAAE;IAAE,CAAC,CAAC;EAC7E;EAEAgH,wBAAwBA,CAAA,EAAG;IACzB,MAAM;MAAEvI;IAAS,CAAC,GAAG,IAAI;IAEzBA,QAAQ,CACNR,eAAe,CAAC0I,qBAAkB,CAAC,CAAC;MAClCC,MAAM,EAAE;IACV,CAAC,CACH,CAAC;EACH;EAEArC,oBAAoBA,CAAC;IACnBvE,YAAY;IACZC;EAIF,CAAC,EAAE;IACD,MAAM;MACJb,UAAU,EAAE;QAAE4B;MAAW,CAAC;MAC1B8F,cAAc;MACdrI;IACF,CAAC,GAAG,IAAI;IAER,MAAM;MAAEyC;IAAc,CAAC,GAAGF,UAAU;IAEpC8F,cAAc,CAAC;MAAE/G,OAAO,EAAE,UAAU;MAAEC,YAAY;MAAEC;IAAU,CAAC,CAAC;IAEhExB,QAAQ,CACN,IAAAwI,8CAA2C,EAAC;MAC1C,GAAG,IAAI,CAAClI,sBAAsB,CAAC,CAAC;MAChCmI,WAAW,EAAE,KAAK;MAClBC,QAAQ,EAAEjG;IACZ,CAAC,CACH,CAAC;EACH;EA0BAmD,MAAMA,CACJ+C,SAAuB,EACvBC,OAAyD,GAAG,CAAC,CAAC,EAC9D;IAAA,IAAAC,qBAAA;IACA,MAAM;MACJlI,UAAU;MACVuC,MAAM,EAAE;QAAE4F;MAAkB,CAAC;MAC7B9I;IACF,CAAC,GAAG,IAAI;IACR,MAAM;MACJuC,UAAU;MACVvB,KAAK,EAAE;QAAEC;MAAO;IAClB,CAAC,GAAGN,UAAU;IACd,MAAM;MAAE6B,MAAM;MAAEuG,oBAAoB,EAAEC;IAAe,CAAC,GAAGzG,UAAU;IAEnE,MAAM;MACJ0G,cAAc,EAAE,CAACC,YAAY;IAC/B,CAAC,GAAG1G,MAAM;IAEV,IAAIoG,OAAO,CAACO,KAAK,EAAE;MACjB5G,UAAU,CAACC,MAAM,CAAC2G,KAAK,CAAC,CAAC;IAC3B;IAEA5G,UAAU,CAACqD,MAAM,CAAC+C,SAAS,CAAC;IAC5B3I,QAAQ,CACN,IAAAoJ,4BAAyB,EAAC;MACxB,GAAG,IAAI,CAAC9I,sBAAsB,CAAC,CAAC;MAChCwB,GAAG,EAAE,OAAOC,MAAM,KAAK,WAAW,GAAGA,MAAM,CAACH,QAAQ,CAACI,IAAI,GAAG,EAAE;MAC9DqH,WAAW,EAAE,KAAK;MAClBC,YAAY,EAAE,CAACrI,MAAM,CAACsI,OAAO;MAC7BC,WAAW,EAAEvI,MAAM,CAACC,KAAK;MACzBuI,SAAS,EAAEd,SAAS,CAACe,KAAK;MAC1BlI,SAAS,EAAEoH,OAAO,CAACe,iBAAiB,GAAG,CAAC,GAAG,CAAC;MAC5CC,MAAM,EAAEjB,SAAS,CAACkB,GAAG;MACrBC,SAAS,EAAEvH,UAAU,CAACwH,SAAS,CAACpB,SAAS,CAACkB,GAAG,CAAC,GAC1C,WAAW,GACX,aAAa;MACjBb,cAAc;MACdgB,aAAa,EAAEzH,UAAU,CAACwG;IAC5B,CAAC,CACH,CAAC;IACDD,iBAAiB,YAAjBA,iBAAiB,CAAG;MAClBmB,IAAI,EAAEtB,SAAS,CAACsB,IAAI;MACpBP,KAAK,EAAEf,SAAS,CAACe,KAAK;MACtBQ,aAAa,EACXhB,YAAY,IAAI,IAAI,IAAAL,qBAAA,GACftG,UAAU,CAAC4H,iBAAiB,CAACjB,YAAY,CAACW,GAAG,CAAC,qBAA9ChB,qBAAA,CAAgDa,KAAK,GAGtD;IACR,CAAC,CAAC;EACJ;EAEAjE,6BAA6BA,CAC3B2E,0BAAkC,GAAG7K,oCAAoC,EACzE;IACA,IAAI,CAAC6K,0BAA0B,GAAGA,0BAA0B;EAC9D;AA4BF;AAACC,OAAA,CAAA3K,WAAA,GAAAA,WAAA","ignoreList":[]}
@@ -114,8 +114,8 @@ class SortState {
114
114
  }
115
115
  changeSort(col, params = {}) {
116
116
  this.setSort(col, {
117
- multiple: params.multiple,
118
- emitChangeEvent: true
117
+ emitChangeEvent: true,
118
+ ...params
119
119
  });
120
120
  }
121
121
  get value() {
@@ -1 +1 @@
1
- {"version":3,"names":["_events","require","_mobx","SortState","constructor","_params","_defineProperty2","default","observable","array","deep","EventEmitter","makeObservable","value","computed","setSort","action","changeSort","reset","emitChangeEvent","_value","clear","events","emit","_getNextSortOrder","col","existingSort","find","field","id","sortMode","direction","Array","isArray","currentSortIndex","indexOf","nextSortIndex","length","undefined","forceDirection","multiple","order","_setSortMultiple","_setSortSingular","push","sortIndex","findIndex","nextDirection","setSortQuery","query","replace","params","getIsSortDescending","sort","exports"],"sources":["../../../src/state/SortState.ts"],"sourcesContent":["import { EventEmitter } from 'events';\nimport { action, computed, makeObservable, observable } from 'mobx';\nimport { Sort, SortMode, SortOrder } from '../model';\nimport { TypedEmitter } from '../util';\n\nexport interface SortStateParams {}\n\nexport interface Sortable {\n id: string;\n sortMode?: SortMode;\n}\n\nexport class SortState {\n readonly _value = observable.array<Sort>([], { deep: true });\n\n readonly events = new EventEmitter() as TypedEmitter<{\n change: (params?: { col?: Sortable }) => unknown;\n }>;\n\n constructor(_params: SortStateParams) {\n makeObservable(this, {\n value: computed,\n setSort: action,\n changeSort: action,\n reset: action,\n });\n }\n\n reset({ emitChangeEvent }: { emitChangeEvent?: boolean } = {}) {\n this._value.clear();\n\n if (emitChangeEvent) {\n this.events.emit('change');\n }\n }\n\n _getNextSortOrder(col: Sortable) {\n const existingSort = this._value.find(({ field }) => field === col.id);\n\n /**\n * @deprecated always option is deprecated\n */\n if (col.sortMode === 'always') {\n return existingSort?.direction === 'asc' ? 'desc' : 'asc';\n }\n\n // Get the next sort mode\n if (Array.isArray(col.sortMode)) {\n const currentSortIndex = col.sortMode.indexOf(existingSort?.direction);\n const nextSortIndex = (currentSortIndex + 1) % col.sortMode.length;\n\n return col.sortMode[nextSortIndex];\n }\n\n // asc->desc->undefined->asc...\n return existingSort === undefined\n ? 'asc'\n : existingSort.direction === 'desc'\n ? undefined\n : 'desc';\n }\n\n setSort(\n col: Sortable,\n {\n forceDirection,\n emitChangeEvent,\n multiple,\n }: {\n forceDirection?: SortOrder;\n emitChangeEvent?: boolean;\n multiple?: boolean;\n } = {},\n ) {\n const order = forceDirection ?? this._getNextSortOrder(col);\n\n if (multiple) {\n this._setSortMultiple(col, order);\n } else {\n this._setSortSingular(col, order);\n }\n\n if (emitChangeEvent) {\n this.events.emit('change', { col });\n }\n }\n\n _setSortSingular(col: Sortable, direction?: SortOrder) {\n this._value.clear();\n\n if (direction) {\n this._value.push({ field: col.id, direction });\n }\n }\n\n /**\n * Rules\n * Sort by a new column:\n * - Clear all previous sorts and add a new one\n * Sort by an existing column:\n * - If only 1 column is sorted, the next direction is calculated\n * with the SortMode in mind (if provided).\n * - If more than 1 column is sorted, only change the direction\n * asc -> desc, desc -> asc, ignoring the SortMode (if provided).\n */\n _setSortMultiple(col: Sortable, direction?: SortOrder) {\n const sortIndex = this._value.findIndex(({ field }) => field === col.id);\n\n if (sortIndex === -1) {\n this._setSortSingular(col, direction);\n } else {\n const nextDirection =\n this._value.length > 1\n ? this._value[sortIndex].direction === 'asc'\n ? 'desc'\n : 'asc'\n : direction;\n\n if (this._value.length === 1 && !direction) {\n this._value.clear();\n } else if (nextDirection) {\n this._value[sortIndex] = {\n field: col.id,\n direction: nextDirection,\n };\n }\n }\n }\n\n setSortQuery(\n query: Sort[],\n { emitChangeEvent }: { emitChangeEvent?: boolean } = {},\n ) {\n this._value.replace(query);\n\n if (emitChangeEvent) {\n this.events.emit('change');\n }\n }\n\n changeSort(col: Sortable, params: { multiple?: boolean } = {}) {\n this.setSort(col, {\n multiple: params.multiple,\n emitChangeEvent: true,\n });\n }\n\n get value() {\n return this._value;\n }\n\n getIsSortDescending(id: string) {\n const sort = this._value.find(({ field }) => field === id);\n if (sort) {\n return sort.direction === 'desc';\n }\n return undefined;\n }\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_events","require","_mobx","SortState","constructor","_params","_defineProperty2","default","observable","array","deep","EventEmitter","makeObservable","value","computed","setSort","action","changeSort","reset","emitChangeEvent","_value","clear","events","emit","_getNextSortOrder","col","existingSort","find","field","id","sortMode","direction","Array","isArray","currentSortIndex","indexOf","nextSortIndex","length","undefined","forceDirection","multiple","order","_setSortMultiple","_setSortSingular","push","sortIndex","findIndex","nextDirection","setSortQuery","query","replace","params","getIsSortDescending","sort","exports"],"sources":["../../../src/state/SortState.ts"],"sourcesContent":["import { EventEmitter } from 'events';\nimport { action, computed, makeObservable, observable } from 'mobx';\nimport { Sort, SortMode, SortOrder } from '../model';\nimport { TypedEmitter } from '../util';\n\nexport interface SortStateParams {}\n\nexport interface Sortable {\n id: string;\n sortMode?: SortMode;\n}\n\nexport class SortState {\n readonly _value = observable.array<Sort>([], { deep: true });\n\n readonly events = new EventEmitter() as TypedEmitter<{\n change: (params?: { col?: Sortable }) => unknown;\n }>;\n\n constructor(_params: SortStateParams) {\n makeObservable(this, {\n value: computed,\n setSort: action,\n changeSort: action,\n reset: action,\n });\n }\n\n reset({ emitChangeEvent }: { emitChangeEvent?: boolean } = {}) {\n this._value.clear();\n\n if (emitChangeEvent) {\n this.events.emit('change');\n }\n }\n\n _getNextSortOrder(col: Sortable) {\n const existingSort = this._value.find(({ field }) => field === col.id);\n\n /**\n * @deprecated always option is deprecated\n */\n if (col.sortMode === 'always') {\n return existingSort?.direction === 'asc' ? 'desc' : 'asc';\n }\n\n // Get the next sort mode\n if (Array.isArray(col.sortMode)) {\n const currentSortIndex = col.sortMode.indexOf(existingSort?.direction);\n const nextSortIndex = (currentSortIndex + 1) % col.sortMode.length;\n\n return col.sortMode[nextSortIndex];\n }\n\n // asc->desc->undefined->asc...\n return existingSort === undefined\n ? 'asc'\n : existingSort.direction === 'desc'\n ? undefined\n : 'desc';\n }\n\n setSort(\n col: Sortable,\n {\n forceDirection,\n emitChangeEvent,\n multiple,\n }: {\n forceDirection?: SortOrder;\n emitChangeEvent?: boolean;\n multiple?: boolean;\n } = {},\n ) {\n const order = forceDirection ?? this._getNextSortOrder(col);\n\n if (multiple) {\n this._setSortMultiple(col, order);\n } else {\n this._setSortSingular(col, order);\n }\n\n if (emitChangeEvent) {\n this.events.emit('change', { col });\n }\n }\n\n _setSortSingular(col: Sortable, direction?: SortOrder) {\n this._value.clear();\n\n if (direction) {\n this._value.push({ field: col.id, direction });\n }\n }\n\n /**\n * Rules\n * Sort by a new column:\n * - Clear all previous sorts and add a new one\n * Sort by an existing column:\n * - If only 1 column is sorted, the next direction is calculated\n * with the SortMode in mind (if provided).\n * - If more than 1 column is sorted, only change the direction\n * asc -> desc, desc -> asc, ignoring the SortMode (if provided).\n */\n _setSortMultiple(col: Sortable, direction?: SortOrder) {\n const sortIndex = this._value.findIndex(({ field }) => field === col.id);\n\n if (sortIndex === -1) {\n this._setSortSingular(col, direction);\n } else {\n const nextDirection =\n this._value.length > 1\n ? this._value[sortIndex].direction === 'asc'\n ? 'desc'\n : 'asc'\n : direction;\n\n if (this._value.length === 1 && !direction) {\n this._value.clear();\n } else if (nextDirection) {\n this._value[sortIndex] = {\n field: col.id,\n direction: nextDirection,\n };\n }\n }\n }\n\n setSortQuery(\n query: Sort[],\n { emitChangeEvent }: { emitChangeEvent?: boolean } = {},\n ) {\n this._value.replace(query);\n\n if (emitChangeEvent) {\n this.events.emit('change');\n }\n }\n\n changeSort(\n col: Sortable,\n params: { multiple?: boolean; forceDirection?: SortOrder } = {},\n ) {\n this.setSort(col, {\n emitChangeEvent: true,\n ...params,\n });\n }\n\n get value() {\n return this._value;\n }\n\n getIsSortDescending(id: string) {\n const sort = this._value.find(({ field }) => field === id);\n if (sort) {\n return sort.direction === 'desc';\n }\n return undefined;\n }\n}\n"],"mappings":"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","ignoreList":[]}
@@ -60,6 +60,7 @@ class WixPatternsContainer {
60
60
  (0, _defineProperty2.default)(this, "cairoSessionId", void 0);
61
61
  (0, _defineProperty2.default)(this, "biLogger", void 0);
62
62
  (0, _defineProperty2.default)(this, "createComponentSettings", void 0);
63
+ (0, _defineProperty2.default)(this, "enableTranslatedKeySuffix", void 0);
63
64
  (0, _defineProperty2.default)(this, "createBILogger", defaultParams => {
64
65
  return reportProps => {
65
66
  const {
@@ -185,9 +186,16 @@ class WixPatternsContainer {
185
186
  csid: this.cairoSessionId
186
187
  });
187
188
  this.internalExperiments = internalExperiments;
188
- this.translate = (...args) => {
189
+ this.enableTranslatedKeySuffix = this.experiments.enabled('specs.cairo.example-bm.tagsToLabels') || this.experiments.enabled('specs.cairo.contacts.tagsToLabels');
190
+ this.translate = (key, params) => {
189
191
  void this.initTask.status; // status is observable so reading it here starts mobx reactivity
190
- return this.i18n.t(...args);
192
+ if (this.enableTranslatedKeySuffix) {
193
+ return this.i18n.t(`${key}.asLabels`, {
194
+ ...params,
195
+ defaultValue: this.i18n.t(key, params)
196
+ });
197
+ }
198
+ return this.i18n.t(key, params);
191
199
  };
192
200
  this.Trans = params.Trans;
193
201
  this.onlineState = new _OnlineState.OnlineState({
@@ -213,10 +221,7 @@ class WixPatternsContainer {
213
221
  internalExperiments,
214
222
  experiments
215
223
  } = this;
216
- if (initTask.status.isLoading || initTask.status.isSuccess) {
217
- return initTask.status.promise;
218
- }
219
- await initTask.run(async () => {
224
+ initTask.runOnce(async () => {
220
225
  await Promise.all([i18n.init(), internalExperiments == null ? void 0 : internalExperiments.ready().catch(e => {
221
226
  console.error(e);
222
227
  }), experiments.ready().catch(e => {
@@ -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","reportProps","environment","environmentBI","cairoSessionId","biLogger","report","artifactId","artifactIdNew","componentName","componentIdNew","componentId","cairoVersion","uiLibVersion","csid","createEssentials","lodash","patchesCache","events","EventEmitter","_messagesEnImport","messagesEnImport","messagesEnImportGlobal","_fetchTranslations","fetchTranslations","onNavigationModal","ConditionalModalState","wixPatternsEnvironment","user","contextType","createComponentSettings","errorMonitor","errorHandler","withErrorHandler","fn","httpClient","onlineManager","focusManager","history","useTranslation","useExperiments","createUseExperimentsCompat","experiments","showToast","usePageLocation","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 EnvironmentBi,\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 ContextType,\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 contextType?: ContextType;\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 environmentBI: WixPatternsEssentials['environmentBI'];\n readonly errorHandler?: WixPatternsEssentials['errorHandler'];\n readonly user: WixPatternsEssentials['user'];\n readonly showToast?: ShowToast;\n readonly usePageLocation?: WixPatternsEssentials['usePageLocation'];\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 errorHandler;\n readonly internalMonitor: WixPatternsMonitor;\n readonly internalExperiments;\n readonly experiments;\n readonly httpClient: WixPatternsContainerParams['httpClient'];\n readonly onlineManager;\n readonly focusManager;\n readonly contextType: ContextType;\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 usePageLocation?;\n readonly navigateTo?;\n readonly onNavigation;\n readonly onBeforeUnload;\n readonly getHostContainer;\n readonly environment: Environment;\n readonly environmentBI: EnvironmentBi;\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 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.environmentBI = params.environmentBI;\n this.user = params.user;\n this.contextType = params.contextType ?? 'SITE';\n\n this.createComponentSettings =\n params.createComponentSettings ?? createComponentSettings;\n\n this.errorMonitor = params.errorMonitor;\n this.errorHandler = params.errorHandler ?? {\n withErrorHandler: (fn) => fn(),\n };\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.usePageLocation = params.usePageLocation;\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, environmentBI, cairoSessionId, biLogger } = this;\n\n return biLogger?.report({\n ...reportProps,\n params: {\n artifactId: environment.artifactId,\n artifactIdNew: environmentBI.artifactId,\n componentName: environment.componentName,\n componentIdNew: environmentBI.componentId,\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":[]}
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","environmentBI","cairoSessionId","biLogger","report","artifactId","artifactIdNew","componentName","componentIdNew","componentId","cairoVersion","uiLibVersion","csid","createEssentials","lodash","patchesCache","events","EventEmitter","_messagesEnImport","messagesEnImport","messagesEnImportGlobal","_fetchTranslations","fetchTranslations","onNavigationModal","ConditionalModalState","wixPatternsEnvironment","user","contextType","createComponentSettings","errorMonitor","errorHandler","withErrorHandler","fn","httpClient","onlineManager","focusManager","history","useTranslation","useExperiments","createUseExperimentsCompat","experiments","showToast","usePageLocation","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","enableTranslatedKeySuffix","enabled","translate","key","initTask","status","t","defaultValue","Trans","onlineState","OnlineState","reportBi","createBILogger","makeObservable","init","action","bound","initialFetch","dateFormatters","computed","runOnce","Promise","all","ready","catch","e","console","error","promise","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 EnvironmentBi,\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 ContextType,\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 contextType?: ContextType;\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 environmentBI: WixPatternsEssentials['environmentBI'];\n readonly errorHandler?: WixPatternsEssentials['errorHandler'];\n readonly user: WixPatternsEssentials['user'];\n readonly showToast?: ShowToast;\n readonly usePageLocation?: WixPatternsEssentials['usePageLocation'];\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 errorHandler;\n readonly internalMonitor: WixPatternsMonitor;\n readonly internalExperiments;\n readonly experiments: WixPatternsContainerParams['experiments'];\n readonly httpClient: WixPatternsContainerParams['httpClient'];\n readonly onlineManager;\n readonly focusManager;\n readonly contextType: ContextType;\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 usePageLocation?;\n readonly navigateTo?;\n readonly onNavigation;\n readonly onBeforeUnload;\n readonly getHostContainer;\n readonly environment: Environment;\n readonly environmentBI: EnvironmentBi;\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 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 readonly enableTranslatedKeySuffix: boolean;\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.environmentBI = params.environmentBI;\n this.user = params.user;\n this.contextType = params.contextType ?? 'SITE';\n\n this.createComponentSettings =\n params.createComponentSettings ?? createComponentSettings;\n\n this.errorMonitor = params.errorMonitor;\n this.errorHandler = params.errorHandler ?? {\n withErrorHandler: (fn) => fn(),\n };\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.usePageLocation = params.usePageLocation;\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.enableTranslatedKeySuffix =\n this.experiments.enabled('specs.cairo.example-bm.tagsToLabels') ||\n this.experiments.enabled('specs.cairo.contacts.tagsToLabels');\n\n this.translate = (key, params) => {\n void this.initTask.status; // status is observable so reading it here starts mobx reactivity\n if (this.enableTranslatedKeySuffix) {\n return this.i18n.t(`${key}.asLabels`, {\n ...params,\n defaultValue: this.i18n.t(key, params),\n });\n }\n return this.i18n.t(key, params);\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, environmentBI, cairoSessionId, biLogger } = this;\n\n return biLogger?.report({\n ...reportProps,\n params: {\n artifactId: environment.artifactId,\n artifactIdNew: environmentBI.artifactId,\n componentName: environment.componentName,\n componentIdNew: environmentBI.componentId,\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\n initTask.runOnce(async () => {\n await Promise.all([\n i18n.init(),\n internalExperiments?.ready().catch((e) => {\n console.error(e);\n }),\n experiments.ready().catch((e: unknown) => {\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":[]}