@wix/bex-core 2.7.0 → 2.8.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/InMemoryBackend/InMemoryBackend.js.map +1 -1
- package/dist/cjs/InMemoryBackend/index.js.map +1 -1
- package/dist/cjs/assets/locale/messages_uk.json +2 -2
- package/dist/cjs/assets/locale/messages_visuale2e.json +3 -0
- package/dist/cjs/exports/InMemoryBackend.js.map +1 -1
- package/dist/cjs/exports/bi/index.js.map +1 -1
- package/dist/cjs/exports/events.js.map +1 -1
- package/dist/cjs/exports/history.js.map +1 -1
- package/dist/cjs/exports/mobx.js.map +1 -1
- package/dist/cjs/exports/react.js.map +1 -1
- package/dist/cjs/exports/testkit/client.js.map +1 -1
- package/dist/cjs/exports/testkit/internal.js.map +1 -1
- package/dist/cjs/exports/testkit/testkit.js.map +1 -1
- package/dist/cjs/exports/util.js.map +1 -1
- package/dist/cjs/hooks/collectionConfig.js.map +1 -1
- package/dist/cjs/hooks/collectionConfigPartials.js.map +1 -1
- package/dist/cjs/hooks/createCollection.js.map +1 -1
- package/dist/cjs/hooks/createCollectionConfig.js.map +1 -1
- package/dist/cjs/hooks/index.js.map +1 -1
- package/dist/cjs/hooks/paginationModeConfig.js.map +1 -1
- package/dist/cjs/hooks/useAmbassadorCollection.js.map +1 -1
- package/dist/cjs/hooks/useCollection/index.js.map +1 -1
- package/dist/cjs/hooks/useCollection/useCollection.js.map +1 -1
- package/dist/cjs/hooks/useCollectionPageState.js.map +1 -1
- package/dist/cjs/hooks/useEmptyStateTexts.js.map +1 -1
- package/dist/cjs/hooks/useExport.js.map +1 -1
- package/dist/cjs/hooks/useExportConfig.js.map +1 -1
- package/dist/cjs/hooks/useOptimisticActions.js.map +1 -1
- package/dist/cjs/hooks/usePicker.js.map +1 -1
- package/dist/cjs/index.js.map +1 -1
- package/dist/cjs/mocks/PartialWindowMock.js.map +1 -1
- package/dist/cjs/mocks/partialLodashMock.js.map +1 -1
- package/dist/cjs/model/actionMove.js.map +1 -1
- package/dist/cjs/model/arrayField.js.map +1 -1
- package/dist/cjs/model/collectionEvents.js.map +1 -1
- package/dist/cjs/model/commonTypes.js.map +1 -1
- package/dist/cjs/model/computedQuery/computedQuery.js.map +1 -1
- package/dist/cjs/model/computedQuery/index.js.map +1 -1
- package/dist/cjs/model/computedResult.js.map +1 -1
- package/dist/cjs/model/dataCapsule.js.map +1 -1
- package/dist/cjs/model/dataResultRaw/dataResultRaw.js.map +1 -1
- package/dist/cjs/model/dataResultRaw/index.js.map +1 -1
- package/dist/cjs/model/fetchDataFn.js.map +1 -1
- package/dist/cjs/model/filter.js.map +1 -1
- package/dist/cjs/model/fqdn.js.map +1 -1
- package/dist/cjs/model/httpClient.js.map +1 -1
- package/dist/cjs/model/index.js.map +1 -1
- package/dist/cjs/model/keyedItem.js.map +1 -1
- package/dist/cjs/model/queryOptions.js.map +1 -1
- package/dist/cjs/model/queryResult.js.map +1 -1
- package/dist/cjs/model/queryResultStatus.js.map +1 -1
- package/dist/cjs/model/queryStatus.js.map +1 -1
- package/dist/cjs/model/taskStatus.js.map +1 -1
- package/dist/cjs/model/toast.js.map +1 -1
- package/dist/cjs/model/wixPatternsEnvironment.js.map +1 -1
- package/dist/cjs/model/wixPatternsEssentials.js.map +1 -1
- package/dist/cjs/model/wixPatternsInitialProps.js.map +1 -1
- package/dist/cjs/providers/CairoProvider/CairoProvider.js +1 -1
- package/dist/cjs/providers/CairoProvider/CairoProvider.js.map +1 -1
- package/dist/cjs/providers/CairoProvider/index.js.map +1 -1
- package/dist/cjs/providers/CollectionContext.js.map +1 -1
- package/dist/cjs/providers/CollectionPageContext.js.map +1 -1
- package/dist/cjs/providers/FormWidgetContext.js.map +1 -1
- package/dist/cjs/providers/PageContext.js.map +1 -1
- package/dist/cjs/providers/WixPatternsContainerOverridesContext.js.map +1 -1
- package/dist/cjs/providers/WixPatternsContainerProvider/WixPatternsContainerProvider.js.map +1 -1
- package/dist/cjs/providers/WixPatternsContainerProvider/index.js.map +1 -1
- package/dist/cjs/providers/WixPatternsInitialPropsProvider.js.map +1 -1
- package/dist/cjs/providers/createContext.js.map +1 -1
- package/dist/cjs/providers/index.js.map +1 -1
- package/dist/cjs/services/AccountPreferencesMergeStrategy.js.map +1 -1
- package/dist/cjs/services/AccountPreferencesStrategy.js.map +1 -1
- package/dist/cjs/services/AppSettingsCapsule.js.map +1 -1
- package/dist/cjs/services/DataCapsuleMergeStrategy.js.map +1 -1
- package/dist/cjs/services/ModalLayoutProps.js.map +1 -1
- package/dist/cjs/services/MonitorLogger.js.map +1 -1
- package/dist/cjs/services/WixPatternsError.js.map +1 -1
- package/dist/cjs/services/WixPatternsErrorCode.js.map +1 -1
- package/dist/cjs/services/cairoMonitor.js.map +1 -1
- package/dist/cjs/services/cairoTranslations.js.map +1 -1
- package/dist/cjs/services/createAccountComponentSettings.js.map +1 -1
- package/dist/cjs/services/createAppSettingsCapsule.js.map +1 -1
- package/dist/cjs/services/createComponentSettings.js.map +1 -1
- package/dist/cjs/services/dataExtensionService.js.map +1 -1
- package/dist/cjs/services/environment.js.map +1 -1
- package/dist/cjs/services/experiments.js.map +1 -1
- package/dist/cjs/services/fetchTranslations.js.map +1 -1
- package/dist/cjs/services/fetchTranslationsPreBundled.js.map +1 -1
- package/dist/cjs/services/focusManager.js.map +1 -1
- package/dist/cjs/services/getErrorMonitorCompat.js.map +1 -1
- package/dist/cjs/services/history.js.map +1 -1
- package/dist/cjs/services/index.js.map +1 -1
- package/dist/cjs/services/mapGuidComponentIdToNonGuid.js.map +1 -1
- package/dist/cjs/services/navigationManager.js +17 -4
- package/dist/cjs/services/navigationManager.js.map +1 -1
- package/dist/cjs/services/onlineManager.js.map +1 -1
- package/dist/cjs/services/partialLodash.js.map +1 -1
- package/dist/cjs/services/partialWindow.js.map +1 -1
- package/dist/cjs/services/replaceSearchParamsWith.js.map +1 -1
- package/dist/cjs/services/reportBi.js.map +1 -1
- package/dist/cjs/services/translations.js.map +1 -1
- package/dist/cjs/services/translationsImportsMap.js +1 -1
- package/dist/cjs/services/translationsImportsMap.js.map +1 -1
- package/dist/cjs/state/AppsState.js +100 -0
- package/dist/cjs/state/AppsState.js.map +1 -0
- package/dist/cjs/state/ArrayFilterState/ArrayFilterState.js.map +1 -1
- package/dist/cjs/state/ArrayFilterState/index.js.map +1 -1
- package/dist/cjs/state/BeforeUnloadCompatState.js.map +1 -1
- package/dist/cjs/state/BulkActionModalState.js.map +1 -1
- package/dist/cjs/state/BulkSelectState.js.map +1 -1
- package/dist/cjs/state/CollectionBIReporter.js.map +1 -1
- package/dist/cjs/state/CollectionOptimisticActions.js.map +1 -1
- package/dist/cjs/state/CollectionOptimisticActionsState.js.map +1 -1
- package/dist/cjs/state/CollectionOptimisticExecutor.js.map +1 -1
- package/dist/cjs/state/CollectionOptimisticHelpers.js.map +1 -1
- package/dist/cjs/state/CollectionOptimisticPatch.js.map +1 -1
- package/dist/cjs/state/CollectionOptimisticProcessor.js.map +1 -1
- package/dist/cjs/state/CollectionOptimisticSequenceExecutor.js.map +1 -1
- package/dist/cjs/state/CollectionPageState.js.map +1 -1
- package/dist/cjs/state/CollectionState.js.map +1 -1
- package/dist/cjs/state/ConditionalModalState.js.map +1 -1
- package/dist/cjs/state/CustomFieldModalBiReporter.js.map +1 -1
- package/dist/cjs/state/CustomFieldModalState.js.map +1 -1
- package/dist/cjs/state/CustomFieldsViewWidgetState.js +34 -1
- package/dist/cjs/state/CustomFieldsViewWidgetState.js.map +1 -1
- package/dist/cjs/state/CustomFilterState/CustomFilterState.js.map +1 -1
- package/dist/cjs/state/CustomFilterState/index.js.map +1 -1
- package/dist/cjs/state/DataExtension/DataExtensionField.js.map +1 -1
- package/dist/cjs/state/DataExtensionState.js +16 -7
- package/dist/cjs/state/DataExtensionState.js.map +1 -1
- package/dist/cjs/state/DataExtensionStateBIReporter.js.map +1 -1
- package/dist/cjs/state/ExportJobState.js.map +1 -1
- package/dist/cjs/state/ExportState.js.map +1 -1
- package/dist/cjs/state/ExportStateBIReporter.js.map +1 -1
- package/dist/cjs/state/FedopsReporter.js.map +1 -1
- package/dist/cjs/state/FormPageState.js.map +1 -1
- package/dist/cjs/state/ModalState.js.map +1 -1
- package/dist/cjs/state/MultiCollectionSupport.js.map +1 -1
- package/dist/cjs/state/OnlineState.js.map +1 -1
- package/dist/cjs/state/PageState.js.map +1 -1
- package/dist/cjs/state/Pagination.js.map +1 -1
- package/dist/cjs/state/PaginationMode.js.map +1 -1
- package/dist/cjs/state/PaginationModeCursor.js.map +1 -1
- package/dist/cjs/state/PaginationModeOffset.js.map +1 -1
- package/dist/cjs/state/PickerState.js.map +1 -1
- package/dist/cjs/state/PromiseState.js.map +1 -1
- package/dist/cjs/state/PromisesSequence.js.map +1 -1
- package/dist/cjs/state/PromisesState.js.map +1 -1
- package/dist/cjs/state/QueryHistoryState.js.map +1 -1
- package/dist/cjs/state/QueryPendingState.js.map +1 -1
- package/dist/cjs/state/QueryPendingStateBIReporter.js.map +1 -1
- package/dist/cjs/state/QueryResultSimulation.js.map +1 -1
- package/dist/cjs/state/QueryResultSimulationDefault.js.map +1 -1
- package/dist/cjs/state/QueryResultState.js.map +1 -1
- package/dist/cjs/state/QueryState.js.map +1 -1
- package/dist/cjs/state/RangeFilterState/RangeFilterState.js.map +1 -1
- package/dist/cjs/state/RangeFilterState/dateRangeUtils.js.map +1 -1
- package/dist/cjs/state/RangeFilterState/index.js.map +1 -1
- package/dist/cjs/state/RefObject.js.map +1 -1
- package/dist/cjs/state/ReturnFocus.js.map +1 -1
- package/dist/cjs/state/SelectMapState.js.map +1 -1
- package/dist/cjs/state/SelectState.js.map +1 -1
- package/dist/cjs/state/SelectionStatus.js.map +1 -1
- package/dist/cjs/state/SelectionStatusWixPatternsPreset.js.map +1 -1
- package/dist/cjs/state/SidePanelState.js.map +1 -1
- package/dist/cjs/state/SortState.js.map +1 -1
- package/dist/cjs/state/StringFilterState/StringFilterState.js.map +1 -1
- package/dist/cjs/state/StringFilterState/index.js.map +1 -1
- package/dist/cjs/state/TagsState/TagsAssignmentState.js.map +1 -1
- package/dist/cjs/state/TagsState/TagsBIReporter.js.map +1 -1
- package/dist/cjs/state/TagsState/TagsFormState.js.map +1 -1
- package/dist/cjs/state/TagsState/TagsManagementState.js.map +1 -1
- package/dist/cjs/state/TagsState/TagsSearchState.js.map +1 -1
- package/dist/cjs/state/TagsState/TagsWidgetState.js.map +1 -1
- package/dist/cjs/state/TagsState/index.js.map +1 -1
- package/dist/cjs/state/TagsState/tagsTypes.js.map +1 -1
- package/dist/cjs/state/TaskState.js.map +1 -1
- package/dist/cjs/state/TextOverflowState.js.map +1 -1
- package/dist/cjs/state/ToggleState.js.map +1 -1
- package/dist/cjs/state/TransitionState.js.map +1 -1
- package/dist/cjs/state/ValueBox.js.map +1 -1
- package/dist/cjs/state/WixPatternsContainer.js.map +1 -1
- package/dist/cjs/state/buildWixPatternsContainer.js.map +1 -1
- package/dist/cjs/state/getJobItemsAbsoluteCounter.js.map +1 -1
- package/dist/cjs/state/index.js.map +1 -1
- package/dist/cjs/state/mutationObserverCompat.js.map +1 -1
- package/dist/cjs/state/onItemsCreated.js.map +1 -1
- package/dist/cjs/state/optimistic-simulation/filterPageByPatches.js.map +1 -1
- package/dist/cjs/state/optimistic-simulation/index.js.map +1 -1
- package/dist/cjs/state/optimistic-simulation/mergePatchedItems.js.map +1 -1
- package/dist/cjs/state/optimistic-simulation/orderByMoves.js.map +1 -1
- package/dist/cjs/state/optimistic-simulation/orderByOrders.js.map +1 -1
- package/dist/cjs/state/optimistic-simulation/prepareItemsToMergeIntoPage.js.map +1 -1
- package/dist/cjs/state/optimistic-simulation/transformItemByUpdateAllPatches.js.map +1 -1
- package/dist/cjs/state/optimistic-simulation/trimAddedItemsFromPagePredicate.js.map +1 -1
- package/dist/cjs/state/resizeObserverCompat.js.map +1 -1
- package/dist/cjs/state/snapshot.js.map +1 -1
- package/dist/cjs/state/useExperimentsCompat.js.map +1 -1
- package/dist/cjs/state/warmUpPickerStandalone.js.map +1 -1
- package/dist/cjs/test-utils/flush.js.map +1 -1
- package/dist/cjs/test-utils/index.js.map +1 -1
- package/dist/cjs/test-utils/jest.js.map +1 -1
- package/dist/cjs/testkit/ProductsCollectionState.driver.js.map +1 -1
- package/dist/cjs/testkit/WixPatternsContainer.driver.js +11 -10
- package/dist/cjs/testkit/WixPatternsContainer.driver.js.map +1 -1
- package/dist/cjs/testkit/appSettingsMocks.js.map +1 -1
- package/dist/cjs/testkit/client.js.map +1 -1
- package/dist/cjs/testkit/country.js.map +1 -1
- package/dist/cjs/testkit/createCountriesBackend.js.map +1 -1
- package/dist/cjs/testkit/createFoldersBackend.js.map +1 -1
- package/dist/cjs/testkit/createProductsBackend.js.map +1 -1
- package/dist/cjs/testkit/exportServiceMocks.js.map +1 -1
- package/dist/cjs/testkit/folder.js.map +1 -1
- package/dist/cjs/testkit/folderFilters.js.map +1 -1
- package/dist/cjs/testkit/index.js.map +1 -1
- package/dist/cjs/testkit/internal.js.map +1 -1
- package/dist/cjs/testkit/matchMediaMock.js.map +1 -1
- package/dist/cjs/testkit/nestifyItems.js.map +1 -1
- package/dist/cjs/testkit/product.js.map +1 -1
- package/dist/cjs/testkit/productFilters.js.map +1 -1
- package/dist/cjs/util/OfflineError.js.map +1 -1
- package/dist/cjs/util/addEventListener.js.map +1 -1
- package/dist/cjs/util/assertKey.js.map +1 -1
- package/dist/cjs/util/index.js.map +1 -1
- package/dist/cjs/util/isHttpError.js.map +1 -1
- package/dist/cjs/util/parseFqdn.js.map +1 -1
- package/dist/cjs/util/shouldRedirectToLogin.js.map +1 -1
- package/dist/cjs/util/showToastCompat.js.map +1 -1
- package/dist/cjs/util/slugify.js.map +1 -1
- package/dist/cjs/util/syncWithSharedQuery.js.map +1 -1
- package/dist/cjs/util/typedEmitter.js.map +1 -1
- package/dist/cjs/util/withoutDefaults.js.map +1 -1
- package/dist/esm/assets/locale/messages_uk.json +2 -2
- package/dist/esm/assets/locale/messages_visuale2e.json +3 -0
- package/dist/esm/services/navigationManager.js +15 -4
- package/dist/esm/services/navigationManager.js.map +1 -1
- package/dist/esm/state/AppsState.js +89 -0
- package/dist/esm/state/AppsState.js.map +1 -0
- package/dist/esm/state/CustomFieldsViewWidgetState.js +36 -1
- package/dist/esm/state/CustomFieldsViewWidgetState.js.map +1 -1
- package/dist/esm/state/DataExtensionState.js +18 -10
- package/dist/esm/state/DataExtensionState.js.map +1 -1
- package/dist/esm/testkit/WixPatternsContainer.driver.js +12 -11
- package/dist/esm/testkit/WixPatternsContainer.driver.js.map +1 -1
- package/dist/types/services/navigationManager.d.ts +12 -6
- package/dist/types/services/navigationManager.d.ts.map +1 -1
- package/dist/types/state/AppsState.d.ts +20 -0
- package/dist/types/state/AppsState.d.ts.map +1 -0
- package/dist/types/state/CustomFieldsViewWidgetState.d.ts +6 -0
- package/dist/types/state/CustomFieldsViewWidgetState.d.ts.map +1 -1
- package/dist/types/state/DataExtensionState.d.ts +7 -1
- package/dist/types/state/DataExtensionState.d.ts.map +1 -1
- package/dist/types/testkit/WixPatternsContainer.driver.d.ts +1 -1
- package/dist/types/testkit/WixPatternsContainer.driver.d.ts.map +1 -1
- package/package.json +3 -3
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_events","require","_mobx","_dateRangeUtils","isRecord","thing","RangeFilterState","constructor","params","_defineProperty2","default","emptyValue","EventEmitter","name","persistent","itemKey","itemName","parse","parsePreset","isEmptyPreset","simplify","value","matches","item","_value","initialValue","equals","makeObservable","observable","ref","isEmpty","computed","size","setValue","action","changeValue","from","to","toArray","preset","toQueryString","encode","decode","raw","includes","split","map","undefined","emitEvents","options","event","events","emit","remove","items","some","e","applyFromQueryString","str","refresh","scheduleRefresh","reset","hasDiff","rangeItem","clone","exports","rangeFilter","isEmptyDatePreset","presetToDaysAmount","toString","d","toISOString","join","dateRangeFilter","Date","isNaN","valueOf","getDatesFromPreset","item1","item2","_item1$from","_item2$from","_item1$to","_item2$to","getTime"],"sources":["../../../../src/state/RangeFilterState/RangeFilterState.ts"],"sourcesContent":["import { EventEmitter } from 'events';\nimport { action, computed, makeObservable, observable } from 'mobx';\nimport {\n ChangeValueOptions,\n Filter,\n FilterEvents,\n FilterStateBaseParams,\n} from '../../model';\nimport { getDatesFromPreset, presetToDaysAmount } from './dateRangeUtils';\n\nexport interface RangeItem<T> {\n from: T | null;\n to: T | null;\n preset?: string;\n}\n\nfunction isRecord(thing: unknown): thing is Record<string, unknown> {\n return thing != null;\n}\n\nexport interface RangeFilterStateParams<T>\n extends FilterStateBaseParams<RangeItem<T>> {\n /**\n * Convert an unknown object to a T.\n * @param value\n * @external\n */\n readonly parse: (value: unknown) => T | null;\n /**\n * Return a simplified form of an item for serialization.\n * @param value\n * @external\n */\n readonly simplify?: (value: T) => Partial<T>;\n /**\n * Indicates whether an item matches the current value of the filter\n * @external\n */\n readonly matches?: (item: RangeItem<T>, value: RangeItem<T>) => boolean;\n /**\n * Indicates whether a preset does not exist or is empty\n * @external\n */\n readonly isEmptyPreset?: (preset?: string) => boolean;\n /**\n * Converts a preset string to a RangeItem\n * @param preset\n * @external\n */\n readonly parsePreset?: (preset?: string) => RangeItem<T>;\n}\n\nexport class RangeFilterState<T> implements Filter<RangeItem<T>> {\n name: string;\n persistent;\n // defaultValue: string;\n readonly itemKey: (item: RangeItem<T>) => string;\n readonly itemName: (item: RangeItem<T>) => string;\n readonly equals?: (item1: RangeItem<T>, item2: RangeItem<T>) => boolean;\n\n readonly isEmptyPreset: (preset?: string) => boolean;\n readonly parsePreset: (preset?: string) => RangeItem<T>;\n readonly parse: RangeFilterStateParams<T>['parse'];\n readonly simplify;\n readonly matches: (item: RangeItem<T>, value: RangeItem<T>) => boolean;\n\n _value: RangeItem<T> = this.emptyValue;\n\n readonly events = new EventEmitter() as FilterEvents;\n\n constructor(params: RangeFilterStateParams<T>) {\n this.name = params.name ?? '';\n this.persistent = params.persistent;\n // this.defaultValue = params.defaultValue;\n this.itemKey = params.itemKey;\n this.itemName = params.itemName;\n this.parse = params.parse;\n this.parsePreset = params.parsePreset ?? (() => this.emptyValue);\n this.isEmptyPreset = params.isEmptyPreset ?? (() => true);\n this.simplify = params.simplify ?? ((value) => value);\n this.matches =\n params.matches ??\n ((item, value) => this.itemName(item) === this.itemName(value));\n this._value = params.initialValue ?? this.emptyValue;\n this.equals = params.equals;\n\n makeObservable(this, {\n _value: observable.ref,\n persistent: observable.ref,\n isEmpty: computed,\n size: computed,\n value: computed,\n setValue: action,\n changeValue: action,\n });\n }\n\n get emptyValue() {\n return { from: null, to: null };\n }\n\n get value() {\n return this._value;\n }\n\n get toArray() {\n return [this._value];\n }\n\n get isEmpty() {\n return (\n !this._value.from &&\n !this._value.to &&\n this.isEmptyPreset(this._value.preset)\n );\n }\n\n get size() {\n return this.isEmpty ? 0 : 1;\n }\n\n get toQueryString() {\n return this.itemKey(this._value);\n }\n\n encode(value: RangeItem<T>) {\n if (!this.isEmptyPreset(value.preset)) {\n return {\n preset: value.preset,\n };\n }\n\n return {\n ...(value.from && { from: this.simplify(value.from) }),\n ...(value.to && { to: this.simplify(value.to) }),\n };\n }\n\n decode(raw: unknown): RangeItem<T> {\n if (typeof raw === 'string') {\n if (!raw.includes('/') && !this.isEmptyPreset(raw)) {\n return this.parsePreset(raw);\n }\n\n const [from, to] = raw.split('/').map(this.parse);\n\n return {\n from,\n to,\n };\n }\n\n if (isRecord(raw)) {\n const [from, to] = [raw.from, raw.to].map(this.parse);\n const preset = typeof raw.preset === 'string' ? raw.preset : undefined;\n\n if (!this.isEmptyPreset(preset)) {\n return this.parsePreset(preset);\n }\n\n return {\n from,\n to,\n preset,\n };\n }\n\n return this.emptyValue;\n }\n\n setValue(\n value: RangeItem<T>,\n { emitEvents, ...options }: ChangeValueOptions = {},\n ) {\n this._value = value;\n if (emitEvents) {\n for (const event of emitEvents) {\n this.events.emit(event, options);\n }\n }\n }\n\n changeValue(\n value: RangeItem<T>,\n { emitEvents = [], ...options }: ChangeValueOptions = {},\n ) {\n this.setValue(value, { ...options, emitEvents: ['change', ...emitEvents] });\n }\n\n remove(items: RangeItem<T>[], options: ChangeValueOptions = {}) {\n if (items.some((e) => e.from || e.to)) {\n this.setValue(this.emptyValue, options);\n }\n }\n\n applyFromQueryString(str: string) {\n this.setValue(this.decode(str));\n }\n\n refresh(value: RangeItem<T>, options?: ChangeValueOptions) {\n this.changeValue(value, { ...options, emitEvents: ['refresh'] });\n }\n\n scheduleRefresh(value: RangeItem<T>) {\n this.changeValue(value, { emitEvents: ['scheduleRefresh'] });\n }\n\n reset(options: ChangeValueOptions = {}) {\n this.setValue(this.emptyValue, options);\n }\n\n hasDiff(rangeItem: RangeItem<T>) {\n const { value } = this;\n return value.from !== rangeItem.from || value.to !== rangeItem.to;\n }\n\n clone(params: Partial<RangeFilterStateParams<T>>): RangeFilterState<T> {\n const {\n value: initialValue,\n matches,\n persistent,\n itemKey,\n itemName,\n parse,\n name,\n simplify,\n isEmptyPreset,\n parsePreset,\n equals,\n } = this;\n return new RangeFilterState<T>({\n initialValue,\n matches,\n persistent,\n itemKey,\n itemName,\n parse,\n name,\n simplify,\n isEmptyPreset,\n parsePreset,\n equals,\n ...params,\n });\n }\n}\n\nexport const rangeFilter = <T>(params: RangeFilterStateParams<T>) =>\n new RangeFilterState(params);\n\nconst isEmptyDatePreset = (preset?: string): preset is string => {\n return !preset || presetToDaysAmount[preset] === undefined;\n};\n\nexport const toString = (item: RangeItem<Date>) => {\n if (!item.preset || isEmptyDatePreset(item.preset)) {\n return [item.from, item.to].map((d) => d?.toISOString()).join('/');\n }\n return item.preset;\n};\n\nexport const dateRangeFilter = (\n params: Partial<RangeFilterStateParams<Date>> = {},\n) => {\n return new RangeFilterState({\n itemKey: toString,\n itemName: toString,\n parse: (value) => {\n if (typeof value === 'object' && value instanceof Date) {\n return value;\n }\n\n if (typeof value !== 'string' && typeof value !== 'number') {\n return null;\n }\n\n const d = new Date(value);\n\n if (isNaN(d.valueOf())) {\n return null;\n }\n\n return d;\n },\n parsePreset: getDatesFromPreset,\n isEmptyPreset: isEmptyDatePreset,\n equals: (item1, item2) => {\n if (isEmptyDatePreset(item1.preset) && isEmptyDatePreset(item2.preset)) {\n return (\n item1.from?.getTime() === item2.from?.getTime() &&\n item1.to?.getTime() === item2.to?.getTime()\n );\n }\n return item1.preset === item2.preset;\n },\n ...params,\n });\n};\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"names":["_events","require","_mobx","_dateRangeUtils","isRecord","thing","RangeFilterState","constructor","params","_defineProperty2","default","emptyValue","EventEmitter","name","persistent","itemKey","itemName","parse","parsePreset","isEmptyPreset","simplify","value","matches","item","_value","initialValue","equals","makeObservable","observable","ref","isEmpty","computed","size","setValue","action","changeValue","from","to","toArray","preset","toQueryString","encode","decode","raw","includes","split","map","undefined","emitEvents","options","event","events","emit","remove","items","some","e","applyFromQueryString","str","refresh","scheduleRefresh","reset","hasDiff","rangeItem","clone","exports","rangeFilter","isEmptyDatePreset","presetToDaysAmount","toString","d","toISOString","join","dateRangeFilter","Date","isNaN","valueOf","getDatesFromPreset","item1","item2","_item1$from","_item2$from","_item1$to","_item2$to","getTime"],"sources":["../../../../src/state/RangeFilterState/RangeFilterState.ts"],"sourcesContent":["import { EventEmitter } from 'events';\nimport { action, computed, makeObservable, observable } from 'mobx';\nimport {\n ChangeValueOptions,\n Filter,\n FilterEvents,\n FilterStateBaseParams,\n} from '../../model';\nimport { getDatesFromPreset, presetToDaysAmount } from './dateRangeUtils';\n\nexport interface RangeItem<T> {\n from: T | null;\n to: T | null;\n preset?: string;\n}\n\nfunction isRecord(thing: unknown): thing is Record<string, unknown> {\n return thing != null;\n}\n\nexport interface RangeFilterStateParams<T>\n extends FilterStateBaseParams<RangeItem<T>> {\n /**\n * Convert an unknown object to a T.\n * @param value\n * @external\n */\n readonly parse: (value: unknown) => T | null;\n /**\n * Return a simplified form of an item for serialization.\n * @param value\n * @external\n */\n readonly simplify?: (value: T) => Partial<T>;\n /**\n * Indicates whether an item matches the current value of the filter\n * @external\n */\n readonly matches?: (item: RangeItem<T>, value: RangeItem<T>) => boolean;\n /**\n * Indicates whether a preset does not exist or is empty\n * @external\n */\n readonly isEmptyPreset?: (preset?: string) => boolean;\n /**\n * Converts a preset string to a RangeItem\n * @param preset\n * @external\n */\n readonly parsePreset?: (preset?: string) => RangeItem<T>;\n}\n\nexport class RangeFilterState<T> implements Filter<RangeItem<T>> {\n name: string;\n persistent;\n // defaultValue: string;\n readonly itemKey: (item: RangeItem<T>) => string;\n readonly itemName: (item: RangeItem<T>) => string;\n readonly equals?: (item1: RangeItem<T>, item2: RangeItem<T>) => boolean;\n\n readonly isEmptyPreset: (preset?: string) => boolean;\n readonly parsePreset: (preset?: string) => RangeItem<T>;\n readonly parse: RangeFilterStateParams<T>['parse'];\n readonly simplify;\n readonly matches: (item: RangeItem<T>, value: RangeItem<T>) => boolean;\n\n _value: RangeItem<T> = this.emptyValue;\n\n readonly events = new EventEmitter() as FilterEvents;\n\n constructor(params: RangeFilterStateParams<T>) {\n this.name = params.name ?? '';\n this.persistent = params.persistent;\n // this.defaultValue = params.defaultValue;\n this.itemKey = params.itemKey;\n this.itemName = params.itemName;\n this.parse = params.parse;\n this.parsePreset = params.parsePreset ?? (() => this.emptyValue);\n this.isEmptyPreset = params.isEmptyPreset ?? (() => true);\n this.simplify = params.simplify ?? ((value) => value);\n this.matches =\n params.matches ??\n ((item, value) => this.itemName(item) === this.itemName(value));\n this._value = params.initialValue ?? this.emptyValue;\n this.equals = params.equals;\n\n makeObservable(this, {\n _value: observable.ref,\n persistent: observable.ref,\n isEmpty: computed,\n size: computed,\n value: computed,\n setValue: action,\n changeValue: action,\n });\n }\n\n get emptyValue() {\n return { from: null, to: null };\n }\n\n get value() {\n return this._value;\n }\n\n get toArray() {\n return [this._value];\n }\n\n get isEmpty() {\n return (\n !this._value.from &&\n !this._value.to &&\n this.isEmptyPreset(this._value.preset)\n );\n }\n\n get size() {\n return this.isEmpty ? 0 : 1;\n }\n\n get toQueryString() {\n return this.itemKey(this._value);\n }\n\n encode(value: RangeItem<T>) {\n if (!this.isEmptyPreset(value.preset)) {\n return {\n preset: value.preset,\n };\n }\n\n return {\n ...(value.from && { from: this.simplify(value.from) }),\n ...(value.to && { to: this.simplify(value.to) }),\n };\n }\n\n decode(raw: unknown): RangeItem<T> {\n if (typeof raw === 'string') {\n if (!raw.includes('/') && !this.isEmptyPreset(raw)) {\n return this.parsePreset(raw);\n }\n\n const [from, to] = raw.split('/').map(this.parse);\n\n return {\n from,\n to,\n };\n }\n\n if (isRecord(raw)) {\n const [from, to] = [raw.from, raw.to].map(this.parse);\n const preset = typeof raw.preset === 'string' ? raw.preset : undefined;\n\n if (!this.isEmptyPreset(preset)) {\n return this.parsePreset(preset);\n }\n\n return {\n from,\n to,\n preset,\n };\n }\n\n return this.emptyValue;\n }\n\n setValue(\n value: RangeItem<T>,\n { emitEvents, ...options }: ChangeValueOptions = {},\n ) {\n this._value = value;\n if (emitEvents) {\n for (const event of emitEvents) {\n this.events.emit(event, options);\n }\n }\n }\n\n changeValue(\n value: RangeItem<T>,\n { emitEvents = [], ...options }: ChangeValueOptions = {},\n ) {\n this.setValue(value, { ...options, emitEvents: ['change', ...emitEvents] });\n }\n\n remove(items: RangeItem<T>[], options: ChangeValueOptions = {}) {\n if (items.some((e) => e.from || e.to)) {\n this.setValue(this.emptyValue, options);\n }\n }\n\n applyFromQueryString(str: string) {\n this.setValue(this.decode(str));\n }\n\n refresh(value: RangeItem<T>, options?: ChangeValueOptions) {\n this.changeValue(value, { ...options, emitEvents: ['refresh'] });\n }\n\n scheduleRefresh(value: RangeItem<T>) {\n this.changeValue(value, { emitEvents: ['scheduleRefresh'] });\n }\n\n reset(options: ChangeValueOptions = {}) {\n this.setValue(this.emptyValue, options);\n }\n\n hasDiff(rangeItem: RangeItem<T>) {\n const { value } = this;\n return value.from !== rangeItem.from || value.to !== rangeItem.to;\n }\n\n clone(params: Partial<RangeFilterStateParams<T>>): RangeFilterState<T> {\n const {\n value: initialValue,\n matches,\n persistent,\n itemKey,\n itemName,\n parse,\n name,\n simplify,\n isEmptyPreset,\n parsePreset,\n equals,\n } = this;\n return new RangeFilterState<T>({\n initialValue,\n matches,\n persistent,\n itemKey,\n itemName,\n parse,\n name,\n simplify,\n isEmptyPreset,\n parsePreset,\n equals,\n ...params,\n });\n }\n}\n\nexport const rangeFilter = <T>(params: RangeFilterStateParams<T>) =>\n new RangeFilterState(params);\n\nconst isEmptyDatePreset = (preset?: string): preset is string => {\n return !preset || presetToDaysAmount[preset] === undefined;\n};\n\nexport const toString = (item: RangeItem<Date>) => {\n if (!item.preset || isEmptyDatePreset(item.preset)) {\n return [item.from, item.to].map((d) => d?.toISOString()).join('/');\n }\n return item.preset;\n};\n\nexport const dateRangeFilter = (\n params: Partial<RangeFilterStateParams<Date>> = {},\n) => {\n return new RangeFilterState({\n itemKey: toString,\n itemName: toString,\n parse: (value) => {\n if (typeof value === 'object' && value instanceof Date) {\n return value;\n }\n\n if (typeof value !== 'string' && typeof value !== 'number') {\n return null;\n }\n\n const d = new Date(value);\n\n if (isNaN(d.valueOf())) {\n return null;\n }\n\n return d;\n },\n parsePreset: getDatesFromPreset,\n isEmptyPreset: isEmptyDatePreset,\n equals: (item1, item2) => {\n if (isEmptyDatePreset(item1.preset) && isEmptyDatePreset(item2.preset)) {\n return (\n item1.from?.getTime() === item2.from?.getTime() &&\n item1.to?.getTime() === item2.to?.getTime()\n );\n }\n return item1.preset === item2.preset;\n },\n ...params,\n });\n};\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["DateRangePreset","exports","NONE","SEVEN_DAYS","FOURTEEN_DAYS","MONTH","TODAY","TOMORROW","NEXT_THREE_DAYS","NEXT_SEVEN_DAYS","NEXT_THIRTY_DAYS","CUSTOM","DefaultDateRangePreset","getDateRangeLabel","item","dateFormatters","from","to","filter","Boolean","map","date","mediumTime","format","join","renderPresetToolbarTag","container","translate","t","preset","presetToDaysAmount","children","MAP_DATE_PRESET_TO_KEY","shouldRenderPresetTag","Object","values","includes","days","months","getDatesFromPreset","today","Date","presetDiff","undefined","fromDate","getTime","years","setDate","getDate","setMonth","getMonth","setFullYear","getFullYear","setHours"],"sources":["../../../../src/state/RangeFilterState/dateRangeUtils.ts"],"sourcesContent":["import { FilterItem } from '../../model';\nimport { RangeItem } from './RangeFilterState';\nimport { Translate, TranslationsKeys } from '../../services';\n\nexport const DateRangePreset: Record<DateRangePresetOptions, string> = {\n NONE: 'NONE',\n SEVEN_DAYS: 'SEVEN_DAYS',\n FOURTEEN_DAYS: 'FOURTEEN_DAYS',\n MONTH: 'MONTH',\n TODAY: 'TODAY',\n TOMORROW: 'TOMORROW',\n NEXT_THREE_DAYS: 'NEXT_THREE_DAYS',\n NEXT_SEVEN_DAYS: 'NEXT_SEVEN_DAYS',\n NEXT_THIRTY_DAYS: 'NEXT_THIRTY_DAYS',\n CUSTOM: 'CUSTOM',\n};\n\nexport const DefaultDateRangePreset: Record<\n 'NONE' | 'SEVEN_DAYS' | 'FOURTEEN_DAYS' | 'MONTH' | 'CUSTOM',\n string\n> = {\n NONE: 'NONE',\n SEVEN_DAYS: 'SEVEN_DAYS',\n FOURTEEN_DAYS: 'FOURTEEN_DAYS',\n MONTH: 'MONTH',\n CUSTOM: 'CUSTOM',\n};\n\nconst getDateRangeLabel = (\n item: RangeItem<Date>,\n {\n dateFormatters,\n }: {\n dateFormatters: {\n medium: Intl.DateTimeFormat;\n mediumTime: Intl.DateTimeFormat;\n };\n },\n) => {\n return [item.from, item.to]\n .filter(Boolean as unknown as (d: Date | null) => d is Date)\n .map((date) => dateFormatters.mediumTime.format(date))\n .join(' - ');\n};\n\nexport const renderPresetToolbarTag =\n (container: {\n translate: Translate;\n dateFormatters: {\n medium: Intl.DateTimeFormat;\n mediumTime: Intl.DateTimeFormat;\n };\n }) =>\n <V>(filter: FilterItem<V>) => {\n const { translate: t, dateFormatters } = container;\n const { preset } = filter as FilterItem<RangeItem<Date>>;\n if (!preset || !presetToDaysAmount[preset]) {\n return {\n children: getDateRangeLabel(filter as RangeItem<Date>, {\n dateFormatters,\n }),\n };\n }\n return { children: t(MAP_DATE_PRESET_TO_KEY[preset]) };\n };\n\nexport const shouldRenderPresetTag = (preset?: string) =>\n preset &&\n Object.values(DateRangePreset).includes(preset) &&\n preset !== DateRangePreset.NONE &&\n preset !== DateRangePreset.CUSTOM;\n\nexport const presetToDaysAmount: {\n [key: string]: {\n months?: number;\n days?: number;\n years?: number;\n };\n} = {\n [DateRangePreset.SEVEN_DAYS]: {\n days: -7,\n },\n [DateRangePreset.FOURTEEN_DAYS]: {\n days: -14,\n },\n [DateRangePreset.MONTH]: {\n months: -1,\n },\n [DateRangePreset.TODAY]: {\n days: 0,\n },\n [DateRangePreset.TOMORROW]: {\n days: 1,\n },\n [DateRangePreset.NEXT_THREE_DAYS]: {\n days: 3,\n },\n [DateRangePreset.NEXT_SEVEN_DAYS]: {\n days: 7,\n },\n [DateRangePreset.NEXT_THIRTY_DAYS]: {\n days: 30,\n },\n};\n\nexport const getDatesFromPreset = (preset?: string): RangeItem<Date> => {\n const today = new Date();\n const presetDiff = preset ? presetToDaysAmount[preset] : undefined;\n if (!presetDiff) {\n return { from: null, to: null };\n }\n const fromDate = new Date(today.getTime());\n const { days, months, years } = presetDiff;\n if (days) {\n fromDate.setDate(today.getDate() + days);\n\n // tomorrow preset is the ony preset which does not include today\n if (preset === DateRangePreset.TOMORROW) {\n today.setDate(today.getDate() + days);\n }\n }\n if (months) {\n fromDate.setMonth(today.getMonth() + months);\n }\n if (years) {\n fromDate.setFullYear(today.getFullYear() + years);\n }\n\n if (fromDate.getTime() > today.getTime()) {\n today.setHours(0, 0, 0, 0);\n fromDate.setHours(23, 59, 59, 999);\n return { from: today, to: fromDate, preset };\n }\n\n fromDate.setHours(0, 0, 0, 0);\n today.setHours(23, 59, 59, 999);\n return { from: fromDate, to: today, preset };\n};\n\nexport const MAP_DATE_PRESET_TO_KEY: { [key: string]: TranslationsKeys } = {\n [DateRangePreset.NONE]: 'cairo.filtersPanel.date.none',\n [DateRangePreset.SEVEN_DAYS]: 'cairo.filtersPanel.date.7days',\n [DateRangePreset.FOURTEEN_DAYS]: 'cairo.filtersPanel.date.14days',\n [DateRangePreset.MONTH]: 'cairo.filtersPanel.date.lastMonth',\n [DateRangePreset.CUSTOM]: 'cairo.filtersPanel.date.custom',\n [DateRangePreset.TODAY]: 'cairo.filtersPanel.date.today',\n [DateRangePreset.TOMORROW]: 'cairo.filtersPanel.date.tomorrow',\n [DateRangePreset.NEXT_THREE_DAYS]: 'cairo.filtersPanel.date.next3Days',\n [DateRangePreset.NEXT_SEVEN_DAYS]: 'cairo.filtersPanel.date.next7Days',\n [DateRangePreset.NEXT_THIRTY_DAYS]: 'cairo.filtersPanel.date.next30Days',\n};\n\nexport type DateRangeFilterMode = 'ONLY_PREDEFINED' | 'ONLY_CUSTOM' | 'COMBINE';\nexport type DateRangePredefinedPresetOptions =\n | 'SEVEN_DAYS'\n | 'FOURTEEN_DAYS'\n | 'MONTH'\n | 'TODAY'\n | 'TOMORROW'\n | 'NEXT_THREE_DAYS'\n | 'NEXT_SEVEN_DAYS'\n | 'NEXT_THIRTY_DAYS';\nexport type DateRangePresetOptions =\n | DateRangePredefinedPresetOptions\n | 'NONE'\n | 'CUSTOM';\nexport type DateRangeOptions = DateRangePredefinedPresetOptions[];\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"names":["DateRangePreset","exports","NONE","SEVEN_DAYS","FOURTEEN_DAYS","MONTH","TODAY","TOMORROW","NEXT_THREE_DAYS","NEXT_SEVEN_DAYS","NEXT_THIRTY_DAYS","CUSTOM","DefaultDateRangePreset","getDateRangeLabel","item","dateFormatters","from","to","filter","Boolean","map","date","mediumTime","format","join","renderPresetToolbarTag","container","translate","t","preset","presetToDaysAmount","children","MAP_DATE_PRESET_TO_KEY","shouldRenderPresetTag","Object","values","includes","days","months","getDatesFromPreset","today","Date","presetDiff","undefined","fromDate","getTime","years","setDate","getDate","setMonth","getMonth","setFullYear","getFullYear","setHours"],"sources":["../../../../src/state/RangeFilterState/dateRangeUtils.ts"],"sourcesContent":["import { FilterItem } from '../../model';\nimport { RangeItem } from './RangeFilterState';\nimport { Translate, TranslationsKeys } from '../../services';\n\nexport const DateRangePreset: Record<DateRangePresetOptions, string> = {\n NONE: 'NONE',\n SEVEN_DAYS: 'SEVEN_DAYS',\n FOURTEEN_DAYS: 'FOURTEEN_DAYS',\n MONTH: 'MONTH',\n TODAY: 'TODAY',\n TOMORROW: 'TOMORROW',\n NEXT_THREE_DAYS: 'NEXT_THREE_DAYS',\n NEXT_SEVEN_DAYS: 'NEXT_SEVEN_DAYS',\n NEXT_THIRTY_DAYS: 'NEXT_THIRTY_DAYS',\n CUSTOM: 'CUSTOM',\n};\n\nexport const DefaultDateRangePreset: Record<\n 'NONE' | 'SEVEN_DAYS' | 'FOURTEEN_DAYS' | 'MONTH' | 'CUSTOM',\n string\n> = {\n NONE: 'NONE',\n SEVEN_DAYS: 'SEVEN_DAYS',\n FOURTEEN_DAYS: 'FOURTEEN_DAYS',\n MONTH: 'MONTH',\n CUSTOM: 'CUSTOM',\n};\n\nconst getDateRangeLabel = (\n item: RangeItem<Date>,\n {\n dateFormatters,\n }: {\n dateFormatters: {\n medium: Intl.DateTimeFormat;\n mediumTime: Intl.DateTimeFormat;\n };\n },\n) => {\n return [item.from, item.to]\n .filter(Boolean as unknown as (d: Date | null) => d is Date)\n .map((date) => dateFormatters.mediumTime.format(date))\n .join(' - ');\n};\n\nexport const renderPresetToolbarTag =\n (container: {\n translate: Translate;\n dateFormatters: {\n medium: Intl.DateTimeFormat;\n mediumTime: Intl.DateTimeFormat;\n };\n }) =>\n <V>(filter: FilterItem<V>) => {\n const { translate: t, dateFormatters } = container;\n const { preset } = filter as FilterItem<RangeItem<Date>>;\n if (!preset || !presetToDaysAmount[preset]) {\n return {\n children: getDateRangeLabel(filter as RangeItem<Date>, {\n dateFormatters,\n }),\n };\n }\n return { children: t(MAP_DATE_PRESET_TO_KEY[preset]) };\n };\n\nexport const shouldRenderPresetTag = (preset?: string) =>\n preset &&\n Object.values(DateRangePreset).includes(preset) &&\n preset !== DateRangePreset.NONE &&\n preset !== DateRangePreset.CUSTOM;\n\nexport const presetToDaysAmount: {\n [key: string]: {\n months?: number;\n days?: number;\n years?: number;\n };\n} = {\n [DateRangePreset.SEVEN_DAYS]: {\n days: -7,\n },\n [DateRangePreset.FOURTEEN_DAYS]: {\n days: -14,\n },\n [DateRangePreset.MONTH]: {\n months: -1,\n },\n [DateRangePreset.TODAY]: {\n days: 0,\n },\n [DateRangePreset.TOMORROW]: {\n days: 1,\n },\n [DateRangePreset.NEXT_THREE_DAYS]: {\n days: 3,\n },\n [DateRangePreset.NEXT_SEVEN_DAYS]: {\n days: 7,\n },\n [DateRangePreset.NEXT_THIRTY_DAYS]: {\n days: 30,\n },\n};\n\nexport const getDatesFromPreset = (preset?: string): RangeItem<Date> => {\n const today = new Date();\n const presetDiff = preset ? presetToDaysAmount[preset] : undefined;\n if (!presetDiff) {\n return { from: null, to: null };\n }\n const fromDate = new Date(today.getTime());\n const { days, months, years } = presetDiff;\n if (days) {\n fromDate.setDate(today.getDate() + days);\n\n // tomorrow preset is the ony preset which does not include today\n if (preset === DateRangePreset.TOMORROW) {\n today.setDate(today.getDate() + days);\n }\n }\n if (months) {\n fromDate.setMonth(today.getMonth() + months);\n }\n if (years) {\n fromDate.setFullYear(today.getFullYear() + years);\n }\n\n if (fromDate.getTime() > today.getTime()) {\n today.setHours(0, 0, 0, 0);\n fromDate.setHours(23, 59, 59, 999);\n return { from: today, to: fromDate, preset };\n }\n\n fromDate.setHours(0, 0, 0, 0);\n today.setHours(23, 59, 59, 999);\n return { from: fromDate, to: today, preset };\n};\n\nexport const MAP_DATE_PRESET_TO_KEY: { [key: string]: TranslationsKeys } = {\n [DateRangePreset.NONE]: 'cairo.filtersPanel.date.none',\n [DateRangePreset.SEVEN_DAYS]: 'cairo.filtersPanel.date.7days',\n [DateRangePreset.FOURTEEN_DAYS]: 'cairo.filtersPanel.date.14days',\n [DateRangePreset.MONTH]: 'cairo.filtersPanel.date.lastMonth',\n [DateRangePreset.CUSTOM]: 'cairo.filtersPanel.date.custom',\n [DateRangePreset.TODAY]: 'cairo.filtersPanel.date.today',\n [DateRangePreset.TOMORROW]: 'cairo.filtersPanel.date.tomorrow',\n [DateRangePreset.NEXT_THREE_DAYS]: 'cairo.filtersPanel.date.next3Days',\n [DateRangePreset.NEXT_SEVEN_DAYS]: 'cairo.filtersPanel.date.next7Days',\n [DateRangePreset.NEXT_THIRTY_DAYS]: 'cairo.filtersPanel.date.next30Days',\n};\n\nexport type DateRangeFilterMode = 'ONLY_PREDEFINED' | 'ONLY_CUSTOM' | 'COMBINE';\nexport type DateRangePredefinedPresetOptions =\n | 'SEVEN_DAYS'\n | 'FOURTEEN_DAYS'\n | 'MONTH'\n | 'TODAY'\n | 'TOMORROW'\n | 'NEXT_THREE_DAYS'\n | 'NEXT_SEVEN_DAYS'\n | 'NEXT_THIRTY_DAYS';\nexport type DateRangePresetOptions =\n | DateRangePredefinedPresetOptions\n | 'NONE'\n | 'CUSTOM';\nexport type DateRangeOptions = DateRangePredefinedPresetOptions[];\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_RangeFilterState","require","Object","keys","forEach","key","exports","_dateRangeUtils"],"sources":["../../../../src/state/RangeFilterState/index.ts"],"sourcesContent":["export * from './RangeFilterState';\nexport * from './dateRangeUtils';\n"],"mappings":";;;AAAA,IAAAA,iBAAA,GAAAC,OAAA;AAAAC,MAAA,CAAAC,IAAA,CAAAH,iBAAA,EAAAI,OAAA,WAAAC,GAAA;EAAA,IAAAA,GAAA,kBAAAA,GAAA;EAAA,IAAAA,GAAA,IAAAC,OAAA,IAAAA,OAAA,CAAAD,GAAA,MAAAL,iBAAA,CAAAK,GAAA;EAAAC,OAAA,CAAAD,GAAA,IAAAL,iBAAA,CAAAK,GAAA;AAAA;AACA,IAAAE,eAAA,GAAAN,OAAA;AAAAC,MAAA,CAAAC,IAAA,CAAAI,eAAA,EAAAH,OAAA,WAAAC,GAAA;EAAA,IAAAA,GAAA,kBAAAA,GAAA;EAAA,IAAAA,GAAA,IAAAC,OAAA,IAAAA,OAAA,CAAAD,GAAA,MAAAE,eAAA,CAAAF,GAAA;EAAAC,OAAA,CAAAD,GAAA,IAAAE,eAAA,CAAAF,GAAA;AAAA"}
|
|
1
|
+
{"version":3,"names":["_RangeFilterState","require","Object","keys","forEach","key","exports","_dateRangeUtils"],"sources":["../../../../src/state/RangeFilterState/index.ts"],"sourcesContent":["export * from './RangeFilterState';\nexport * from './dateRangeUtils';\n"],"mappings":";;;AAAA,IAAAA,iBAAA,GAAAC,OAAA;AAAAC,MAAA,CAAAC,IAAA,CAAAH,iBAAA,EAAAI,OAAA,WAAAC,GAAA;EAAA,IAAAA,GAAA,kBAAAA,GAAA;EAAA,IAAAA,GAAA,IAAAC,OAAA,IAAAA,OAAA,CAAAD,GAAA,MAAAL,iBAAA,CAAAK,GAAA;EAAAC,OAAA,CAAAD,GAAA,IAAAL,iBAAA,CAAAK,GAAA;AAAA;AACA,IAAAE,eAAA,GAAAN,OAAA;AAAAC,MAAA,CAAAC,IAAA,CAAAI,eAAA,EAAAH,OAAA,WAAAC,GAAA;EAAA,IAAAA,GAAA,kBAAAA,GAAA;EAAA,IAAAA,GAAA,IAAAC,OAAA,IAAAA,OAAA,CAAAD,GAAA,MAAAE,eAAA,CAAAF,GAAA;EAAAC,OAAA,CAAAD,GAAA,IAAAE,eAAA,CAAAF,GAAA;AAAA","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":[],"sources":["../../../src/state/RefObject.ts"],"sourcesContent":["export interface RefObject<T> {\n current: T | null | undefined;\n}\n"],"mappings":""}
|
|
1
|
+
{"version":3,"names":[],"sources":["../../../src/state/RefObject.ts"],"sourcesContent":["export interface RefObject<T> {\n current: T | null | undefined;\n}\n"],"mappings":"","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_mobx","require","_events","ReturnFocus","constructor","_defineProperty2","default","EventEmitter","makeObservable","onClose","action","onOpen","_this$modalElement","prevFocusedElement","document","activeElement","modalElement","focus","toFocus","HTMLElement","e","console","error","init","events","emit","exports"],"sources":["../../../src/state/ReturnFocus.ts"],"sourcesContent":["import { action, makeObservable } from 'mobx';\nimport { EventEmitter } from 'events';\nimport { TypedEmitter } from '../util';\n\nexport class ReturnFocus {\n prevFocusedElement?: Element | null = null;\n modalElement?: HTMLDivElement | null = null;\n\n readonly events = new EventEmitter() as TypedEmitter<{\n unmount: () => unknown;\n }>;\n\n constructor() {\n makeObservable(this, {\n onClose: action,\n onOpen: action,\n });\n }\n\n onOpen() {\n this.prevFocusedElement = document.activeElement;\n this.modalElement?.focus();\n }\n\n onClose() {\n const toFocus = this.prevFocusedElement;\n if (toFocus instanceof HTMLElement) {\n try {\n toFocus.focus();\n } catch (e) {\n console.error(e);\n }\n this.prevFocusedElement = null;\n }\n }\n\n init() {\n return () => {\n this.events.emit('unmount');\n };\n }\n}\n"],"mappings":";;;;;;AAAA,IAAAA,KAAA,GAAAC,OAAA;AACA,IAAAC,OAAA,GAAAD,OAAA;AAGO,MAAME,WAAW,CAAC;EAQvBC,WAAWA,CAAA,EAAG;IAAA,IAAAC,gBAAA,CAAAC,OAAA,8BAPwB,IAAI;IAAA,IAAAD,gBAAA,CAAAC,OAAA,wBACH,IAAI;IAAA,IAAAD,gBAAA,CAAAC,OAAA,kBAEzB,IAAIC,oBAAY,CAAC,CAAC;IAKlC,IAAAC,oBAAc,EAAC,IAAI,EAAE;MACnBC,OAAO,EAAEC,YAAM;MACfC,MAAM,EAAED;IACV,CAAC,CAAC;EACJ;EAEAC,MAAMA,CAAA,EAAG;IAAA,IAAAC,kBAAA;IACP,IAAI,CAACC,kBAAkB,GAAGC,QAAQ,CAACC,aAAa;IAChD,CAAAH,kBAAA,OAAI,CAACI,YAAY,aAAjBJ,kBAAA,CAAmBK,KAAK,CAAC,CAAC;EAC5B;EAEAR,OAAOA,CAAA,EAAG;IACR,MAAMS,OAAO,GAAG,IAAI,CAACL,kBAAkB;IACvC,IAAIK,OAAO,YAAYC,WAAW,EAAE;MAClC,IAAI;QACFD,OAAO,CAACD,KAAK,CAAC,CAAC;MACjB,CAAC,CAAC,OAAOG,CAAC,EAAE;QACVC,OAAO,CAACC,KAAK,CAACF,CAAC,CAAC;MAClB;MACA,IAAI,CAACP,kBAAkB,GAAG,IAAI;IAChC;EACF;EAEAU,IAAIA,CAAA,EAAG;IACL,OAAO,MAAM;MACX,IAAI,CAACC,MAAM,CAACC,IAAI,CAAC,SAAS,CAAC;IAC7B,CAAC;EACH;AACF;AAACC,OAAA,CAAAvB,WAAA,GAAAA,WAAA"}
|
|
1
|
+
{"version":3,"names":["_mobx","require","_events","ReturnFocus","constructor","_defineProperty2","default","EventEmitter","makeObservable","onClose","action","onOpen","_this$modalElement","prevFocusedElement","document","activeElement","modalElement","focus","toFocus","HTMLElement","e","console","error","init","events","emit","exports"],"sources":["../../../src/state/ReturnFocus.ts"],"sourcesContent":["import { action, makeObservable } from 'mobx';\nimport { EventEmitter } from 'events';\nimport { TypedEmitter } from '../util';\n\nexport class ReturnFocus {\n prevFocusedElement?: Element | null = null;\n modalElement?: HTMLDivElement | null = null;\n\n readonly events = new EventEmitter() as TypedEmitter<{\n unmount: () => unknown;\n }>;\n\n constructor() {\n makeObservable(this, {\n onClose: action,\n onOpen: action,\n });\n }\n\n onOpen() {\n this.prevFocusedElement = document.activeElement;\n this.modalElement?.focus();\n }\n\n onClose() {\n const toFocus = this.prevFocusedElement;\n if (toFocus instanceof HTMLElement) {\n try {\n toFocus.focus();\n } catch (e) {\n console.error(e);\n }\n this.prevFocusedElement = null;\n }\n }\n\n init() {\n return () => {\n this.events.emit('unmount');\n };\n }\n}\n"],"mappings":";;;;;;AAAA,IAAAA,KAAA,GAAAC,OAAA;AACA,IAAAC,OAAA,GAAAD,OAAA;AAGO,MAAME,WAAW,CAAC;EAQvBC,WAAWA,CAAA,EAAG;IAAA,IAAAC,gBAAA,CAAAC,OAAA,8BAPwB,IAAI;IAAA,IAAAD,gBAAA,CAAAC,OAAA,wBACH,IAAI;IAAA,IAAAD,gBAAA,CAAAC,OAAA,kBAEzB,IAAIC,oBAAY,CAAC,CAAC;IAKlC,IAAAC,oBAAc,EAAC,IAAI,EAAE;MACnBC,OAAO,EAAEC,YAAM;MACfC,MAAM,EAAED;IACV,CAAC,CAAC;EACJ;EAEAC,MAAMA,CAAA,EAAG;IAAA,IAAAC,kBAAA;IACP,IAAI,CAACC,kBAAkB,GAAGC,QAAQ,CAACC,aAAa;IAChD,CAAAH,kBAAA,OAAI,CAACI,YAAY,aAAjBJ,kBAAA,CAAmBK,KAAK,CAAC,CAAC;EAC5B;EAEAR,OAAOA,CAAA,EAAG;IACR,MAAMS,OAAO,GAAG,IAAI,CAACL,kBAAkB;IACvC,IAAIK,OAAO,YAAYC,WAAW,EAAE;MAClC,IAAI;QACFD,OAAO,CAACD,KAAK,CAAC,CAAC;MACjB,CAAC,CAAC,OAAOG,CAAC,EAAE;QACVC,OAAO,CAACC,KAAK,CAACF,CAAC,CAAC;MAClB;MACA,IAAI,CAACP,kBAAkB,GAAG,IAAI;IAChC;EACF;EAEAU,IAAIA,CAAA,EAAG;IACL,OAAO,MAAM;MACX,IAAI,CAACC,MAAM,CAACC,IAAI,CAAC,SAAS,CAAC;IAC7B,CAAC;EACH;AACF;AAACC,OAAA,CAAAvB,WAAA,GAAAA,WAAA","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_mobx","require","_events","SelectMapState","constructor","_defineProperty2","default","EventEmitter","map","observable","deep","set","key","value","events","listeners","some","listener","forceSet","get","values","entries","clear","exports"],"sources":["../../../src/state/SelectMapState.ts"],"sourcesContent":["import { observable, ObservableMap } from 'mobx';\nimport { EventEmitter } from 'events';\nimport { TypedEmitter } from '../util';\n\nexport class SelectMapState<K, V> {\n private map: ObservableMap<K, V>;\n readonly events = new EventEmitter() as TypedEmitter<{\n isDisabled: (item: V) => boolean;\n }>;\n\n constructor() {\n this.map = observable.map<K, V>([], {\n deep: false,\n });\n }\n\n set(key: K, value: V) {\n if (\n this.events.listeners('isDisabled').some((listener) => listener(value))\n ) {\n return;\n }\n\n this.map.set(key, value);\n }\n\n forceSet(key: K, value: V) {\n this.map.set(key, value);\n }\n\n get(key: K) {\n return this.map.get(key);\n }\n\n values() {\n return this.map.values();\n }\n\n entries() {\n return this.map.entries();\n }\n\n clear() {\n return this.map.clear();\n }\n}\n"],"mappings":";;;;;;AAAA,IAAAA,KAAA,GAAAC,OAAA;AACA,IAAAC,OAAA,GAAAD,OAAA;AAGO,MAAME,cAAc,CAAO;EAMhCC,WAAWA,CAAA,EAAG;IAAA,IAAAC,gBAAA,CAAAC,OAAA;IAAA,IAAAD,gBAAA,CAAAC,OAAA,kBAJI,IAAIC,oBAAY,CAAC,CAAC;IAKlC,IAAI,CAACC,GAAG,GAAGC,gBAAU,CAACD,GAAG,CAAO,EAAE,EAAE;MAClCE,IAAI,EAAE;IACR,CAAC,CAAC;EACJ;EAEAC,GAAGA,CAACC,GAAM,EAAEC,KAAQ,EAAE;IACpB,IACE,IAAI,CAACC,MAAM,CAACC,SAAS,CAAC,YAAY,CAAC,CAACC,IAAI,CAAEC,QAAQ,IAAKA,QAAQ,CAACJ,KAAK,CAAC,CAAC,EACvE;MACA;IACF;IAEA,IAAI,CAACL,GAAG,CAACG,GAAG,CAACC,GAAG,EAAEC,KAAK,CAAC;EAC1B;EAEAK,QAAQA,CAACN,GAAM,EAAEC,KAAQ,EAAE;IACzB,IAAI,CAACL,GAAG,CAACG,GAAG,CAACC,GAAG,EAAEC,KAAK,CAAC;EAC1B;EAEAM,GAAGA,CAACP,GAAM,EAAE;IACV,OAAO,IAAI,CAACJ,GAAG,CAACW,GAAG,CAACP,GAAG,CAAC;EAC1B;EAEAQ,MAAMA,CAAA,EAAG;IACP,OAAO,IAAI,CAACZ,GAAG,CAACY,MAAM,CAAC,CAAC;EAC1B;EAEAC,OAAOA,CAAA,EAAG;IACR,OAAO,IAAI,CAACb,GAAG,CAACa,OAAO,CAAC,CAAC;EAC3B;EAEAC,KAAKA,CAAA,EAAG;IACN,OAAO,IAAI,CAACd,GAAG,CAACc,KAAK,CAAC,CAAC;EACzB;AACF;AAACC,OAAA,CAAApB,cAAA,GAAAA,cAAA"}
|
|
1
|
+
{"version":3,"names":["_mobx","require","_events","SelectMapState","constructor","_defineProperty2","default","EventEmitter","map","observable","deep","set","key","value","events","listeners","some","listener","forceSet","get","values","entries","clear","exports"],"sources":["../../../src/state/SelectMapState.ts"],"sourcesContent":["import { observable, ObservableMap } from 'mobx';\nimport { EventEmitter } from 'events';\nimport { TypedEmitter } from '../util';\n\nexport class SelectMapState<K, V> {\n private map: ObservableMap<K, V>;\n readonly events = new EventEmitter() as TypedEmitter<{\n isDisabled: (item: V) => boolean;\n }>;\n\n constructor() {\n this.map = observable.map<K, V>([], {\n deep: false,\n });\n }\n\n set(key: K, value: V) {\n if (\n this.events.listeners('isDisabled').some((listener) => listener(value))\n ) {\n return;\n }\n\n this.map.set(key, value);\n }\n\n forceSet(key: K, value: V) {\n this.map.set(key, value);\n }\n\n get(key: K) {\n return this.map.get(key);\n }\n\n values() {\n return this.map.values();\n }\n\n entries() {\n return this.map.entries();\n }\n\n clear() {\n return this.map.clear();\n }\n}\n"],"mappings":";;;;;;AAAA,IAAAA,KAAA,GAAAC,OAAA;AACA,IAAAC,OAAA,GAAAD,OAAA;AAGO,MAAME,cAAc,CAAO;EAMhCC,WAAWA,CAAA,EAAG;IAAA,IAAAC,gBAAA,CAAAC,OAAA;IAAA,IAAAD,gBAAA,CAAAC,OAAA,kBAJI,IAAIC,oBAAY,CAAC,CAAC;IAKlC,IAAI,CAACC,GAAG,GAAGC,gBAAU,CAACD,GAAG,CAAO,EAAE,EAAE;MAClCE,IAAI,EAAE;IACR,CAAC,CAAC;EACJ;EAEAC,GAAGA,CAACC,GAAM,EAAEC,KAAQ,EAAE;IACpB,IACE,IAAI,CAACC,MAAM,CAACC,SAAS,CAAC,YAAY,CAAC,CAACC,IAAI,CAAEC,QAAQ,IAAKA,QAAQ,CAACJ,KAAK,CAAC,CAAC,EACvE;MACA;IACF;IAEA,IAAI,CAACL,GAAG,CAACG,GAAG,CAACC,GAAG,EAAEC,KAAK,CAAC;EAC1B;EAEAK,QAAQA,CAACN,GAAM,EAAEC,KAAQ,EAAE;IACzB,IAAI,CAACL,GAAG,CAACG,GAAG,CAACC,GAAG,EAAEC,KAAK,CAAC;EAC1B;EAEAM,GAAGA,CAACP,GAAM,EAAE;IACV,OAAO,IAAI,CAACJ,GAAG,CAACW,GAAG,CAACP,GAAG,CAAC;EAC1B;EAEAQ,MAAMA,CAAA,EAAG;IACP,OAAO,IAAI,CAACZ,GAAG,CAACY,MAAM,CAAC,CAAC;EAC1B;EAEAC,OAAOA,CAAA,EAAG;IACR,OAAO,IAAI,CAACb,GAAG,CAACa,OAAO,CAAC,CAAC;EAC3B;EAEAC,KAAKA,CAAA,EAAG;IACN,OAAO,IAAI,CAACd,GAAG,CAACc,KAAK,CAAC,CAAC;EACzB;AACF;AAACC,OAAA,CAAApB,cAAA,GAAAA,cAAA","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_mobx","require","_SelectionStatusWixPatternsPreset","_SelectMapState","SelectState","constructor","params","_defineProperty2","default","SelectMapState","defaultStatus","selectionStatusWixPatternsPreset","unchecked","makeObservable","observable","ref","selectedValues","computed","selectedKeys","isEmpty","isNotEmpty","isEmptyEnabledItems","isNotEmptyEnabledItems","selectedCount","toArray","selectedArray","set","action","delete","toggle","clear","syncValues","finalizeMany","setMany","filter","initSelected","keyGetter","startStatus","start","finalStatus","final","isChecked","key","_map$get","map","Boolean","get","status","value","entry","forceSet","deleteKey","length","Array","from","values","forceSetMany","entries","newEntry","startAll","predicate","selectedEnabledItems","selectionEntry","_map","events","listeners","every","listener","exports"],"sources":["../../../src/state/SelectState.ts"],"sourcesContent":["import { action, computed, makeObservable, observable } from 'mobx';\nimport { SelectionStatus } from './SelectionStatus';\nimport { selectionStatusWixPatternsPreset } from './SelectionStatusWixPatternsPreset';\nimport { SelectMapState } from './SelectMapState';\n\ntype KeyGetter<T> = (value: T) => string;\n\nexport interface SelectStateParams<T> {\n readonly keyGetter: KeyGetter<T>;\n readonly defaultStatus?: SelectionStatus;\n}\n\nexport interface SelectionEntry<T> {\n value: T;\n status: SelectionStatus;\n}\n\nexport class SelectState<T> {\n readonly keyGetter: KeyGetter<T>;\n\n defaultStatus;\n\n private readonly map = new SelectMapState<string, SelectionEntry<T>>();\n\n constructor(params: SelectStateParams<T>) {\n this.defaultStatus =\n params.defaultStatus ?? selectionStatusWixPatternsPreset.unchecked;\n\n makeObservable(this, {\n defaultStatus: observable.ref,\n selectedValues: computed,\n selectedKeys: computed,\n isEmpty: computed,\n isNotEmpty: computed,\n isEmptyEnabledItems: computed,\n isNotEmptyEnabledItems: computed,\n selectedCount: computed,\n toArray: computed,\n selectedArray: computed,\n set: action,\n delete: action,\n toggle: action,\n clear: action,\n syncValues: action,\n finalizeMany: action,\n setMany: action,\n filter: action,\n initSelected: action,\n });\n\n this.keyGetter = params.keyGetter;\n }\n\n get startStatus() {\n return this.defaultStatus.start();\n }\n\n get finalStatus() {\n return this.defaultStatus.final();\n }\n\n isChecked(key: string) {\n const { map } = this;\n return Boolean(map.get(key)?.status.isChecked);\n }\n\n toggle(value: T, { clear }: { clear?: boolean } = {}) {\n const { map, keyGetter, defaultStatus } = this;\n\n if (clear) {\n this.clear();\n }\n const key = keyGetter(value);\n\n const entry = map.get(key) ?? { value, status: defaultStatus };\n map.set(key, {\n ...entry,\n status: entry.status.toggle(),\n });\n }\n\n set(value: T) {\n const { keyGetter, map, finalStatus } = this;\n const key = keyGetter(value);\n map.set(key, { value, status: finalStatus });\n }\n\n forceSet(value: T) {\n const { keyGetter, map, finalStatus } = this;\n const key = keyGetter(value);\n map.forceSet(key, { value, status: finalStatus });\n }\n\n delete(value: T) {\n const { keyGetter, map, defaultStatus } = this;\n const key = keyGetter(value);\n map.set(key, {\n value,\n status: defaultStatus.start(),\n });\n }\n\n deleteKey(key: string) {\n const { map } = this;\n const entry = map.get(key);\n\n if (entry) {\n map.set(key, {\n ...entry,\n status: entry.status.start(),\n });\n }\n }\n\n get selectedCount() {\n return this.selectedArray.length;\n }\n\n get toArray() {\n return Array.from(this.map.values());\n }\n\n get selectedArray() {\n return this.toArray.filter(({ status }) => status.isChecked);\n }\n\n get selectedValues() {\n return this.selectedArray.map(({ value }) => value);\n }\n\n get selectedKeys() {\n const { keyGetter } = this;\n return this.selectedValues.map(keyGetter);\n }\n\n clear() {\n const { map } = this;\n map.clear();\n }\n\n forceSetMany(entries: SelectionEntry<T>[]) {\n const { map, keyGetter } = this;\n for (const entry of entries) {\n const key = keyGetter(entry.value);\n map.forceSet(key, entry);\n }\n }\n\n // backwards compatibility\n setMany(entries: SelectionEntry<T>[]) {\n return this.forceSetMany(entries);\n }\n\n syncValues(values: T[], status = this.defaultStatus) {\n const { map, keyGetter } = this;\n for (const value of values) {\n const key = keyGetter(value);\n const entry = map.get(key);\n const newEntry = entry ? { ...entry, value } : { value, status };\n map.forceSet(key, newEntry);\n }\n }\n\n initSelected(values: T[]) {\n const { map } = this;\n map.clear();\n this.forceSetMany(\n values.map((value) => ({\n value,\n status: this.finalStatus,\n })),\n );\n }\n\n finalizeMany(values: T[]) {\n const { map, keyGetter, finalStatus } = this;\n for (const value of values) {\n const key = keyGetter(value);\n map.set(key, { value, status: finalStatus });\n }\n }\n\n startAll() {\n const { map, startStatus } = this;\n const entries = Array.from(map.entries());\n for (const [key, entry] of entries) {\n map.set(key, {\n ...entry,\n status: startStatus,\n });\n }\n }\n\n filter(predicate: (value: T) => boolean) {\n const { map, selectedArray, keyGetter } = this;\n for (const { value, status } of selectedArray) {\n if (!predicate(value)) {\n map.set(keyGetter(value), {\n value,\n status: status.start(),\n });\n }\n }\n }\n\n get isNotEmpty() {\n return !this.isEmpty;\n }\n\n get isEmpty() {\n const { selectedArray } = this;\n return !selectedArray.length;\n }\n\n get isNotEmptyEnabledItems() {\n return !this.isEmptyEnabledItems;\n }\n\n get isEmptyEnabledItems() {\n const { selectedArray } = this;\n\n const selectedEnabledItems = selectedArray.filter((selectionEntry) =>\n this._map.events\n .listeners('isDisabled')\n .every((listener) => !listener(selectionEntry)),\n );\n\n return !selectedEnabledItems.length;\n }\n\n get _map() {\n return this.map;\n }\n}\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"names":["_mobx","require","_SelectionStatusWixPatternsPreset","_SelectMapState","SelectState","constructor","params","_defineProperty2","default","SelectMapState","defaultStatus","selectionStatusWixPatternsPreset","unchecked","makeObservable","observable","ref","selectedValues","computed","selectedKeys","isEmpty","isNotEmpty","isEmptyEnabledItems","isNotEmptyEnabledItems","selectedCount","toArray","selectedArray","set","action","delete","toggle","clear","syncValues","finalizeMany","setMany","filter","initSelected","keyGetter","startStatus","start","finalStatus","final","isChecked","key","_map$get","map","Boolean","get","status","value","entry","forceSet","deleteKey","length","Array","from","values","forceSetMany","entries","newEntry","startAll","predicate","selectedEnabledItems","selectionEntry","_map","events","listeners","every","listener","exports"],"sources":["../../../src/state/SelectState.ts"],"sourcesContent":["import { action, computed, makeObservable, observable } from 'mobx';\nimport { SelectionStatus } from './SelectionStatus';\nimport { selectionStatusWixPatternsPreset } from './SelectionStatusWixPatternsPreset';\nimport { SelectMapState } from './SelectMapState';\n\ntype KeyGetter<T> = (value: T) => string;\n\nexport interface SelectStateParams<T> {\n readonly keyGetter: KeyGetter<T>;\n readonly defaultStatus?: SelectionStatus;\n}\n\nexport interface SelectionEntry<T> {\n value: T;\n status: SelectionStatus;\n}\n\nexport class SelectState<T> {\n readonly keyGetter: KeyGetter<T>;\n\n defaultStatus;\n\n private readonly map = new SelectMapState<string, SelectionEntry<T>>();\n\n constructor(params: SelectStateParams<T>) {\n this.defaultStatus =\n params.defaultStatus ?? selectionStatusWixPatternsPreset.unchecked;\n\n makeObservable(this, {\n defaultStatus: observable.ref,\n selectedValues: computed,\n selectedKeys: computed,\n isEmpty: computed,\n isNotEmpty: computed,\n isEmptyEnabledItems: computed,\n isNotEmptyEnabledItems: computed,\n selectedCount: computed,\n toArray: computed,\n selectedArray: computed,\n set: action,\n delete: action,\n toggle: action,\n clear: action,\n syncValues: action,\n finalizeMany: action,\n setMany: action,\n filter: action,\n initSelected: action,\n });\n\n this.keyGetter = params.keyGetter;\n }\n\n get startStatus() {\n return this.defaultStatus.start();\n }\n\n get finalStatus() {\n return this.defaultStatus.final();\n }\n\n isChecked(key: string) {\n const { map } = this;\n return Boolean(map.get(key)?.status.isChecked);\n }\n\n toggle(value: T, { clear }: { clear?: boolean } = {}) {\n const { map, keyGetter, defaultStatus } = this;\n\n if (clear) {\n this.clear();\n }\n const key = keyGetter(value);\n\n const entry = map.get(key) ?? { value, status: defaultStatus };\n map.set(key, {\n ...entry,\n status: entry.status.toggle(),\n });\n }\n\n set(value: T) {\n const { keyGetter, map, finalStatus } = this;\n const key = keyGetter(value);\n map.set(key, { value, status: finalStatus });\n }\n\n forceSet(value: T) {\n const { keyGetter, map, finalStatus } = this;\n const key = keyGetter(value);\n map.forceSet(key, { value, status: finalStatus });\n }\n\n delete(value: T) {\n const { keyGetter, map, defaultStatus } = this;\n const key = keyGetter(value);\n map.set(key, {\n value,\n status: defaultStatus.start(),\n });\n }\n\n deleteKey(key: string) {\n const { map } = this;\n const entry = map.get(key);\n\n if (entry) {\n map.set(key, {\n ...entry,\n status: entry.status.start(),\n });\n }\n }\n\n get selectedCount() {\n return this.selectedArray.length;\n }\n\n get toArray() {\n return Array.from(this.map.values());\n }\n\n get selectedArray() {\n return this.toArray.filter(({ status }) => status.isChecked);\n }\n\n get selectedValues() {\n return this.selectedArray.map(({ value }) => value);\n }\n\n get selectedKeys() {\n const { keyGetter } = this;\n return this.selectedValues.map(keyGetter);\n }\n\n clear() {\n const { map } = this;\n map.clear();\n }\n\n forceSetMany(entries: SelectionEntry<T>[]) {\n const { map, keyGetter } = this;\n for (const entry of entries) {\n const key = keyGetter(entry.value);\n map.forceSet(key, entry);\n }\n }\n\n // backwards compatibility\n setMany(entries: SelectionEntry<T>[]) {\n return this.forceSetMany(entries);\n }\n\n syncValues(values: T[], status = this.defaultStatus) {\n const { map, keyGetter } = this;\n for (const value of values) {\n const key = keyGetter(value);\n const entry = map.get(key);\n const newEntry = entry ? { ...entry, value } : { value, status };\n map.forceSet(key, newEntry);\n }\n }\n\n initSelected(values: T[]) {\n const { map } = this;\n map.clear();\n this.forceSetMany(\n values.map((value) => ({\n value,\n status: this.finalStatus,\n })),\n );\n }\n\n finalizeMany(values: T[]) {\n const { map, keyGetter, finalStatus } = this;\n for (const value of values) {\n const key = keyGetter(value);\n map.set(key, { value, status: finalStatus });\n }\n }\n\n startAll() {\n const { map, startStatus } = this;\n const entries = Array.from(map.entries());\n for (const [key, entry] of entries) {\n map.set(key, {\n ...entry,\n status: startStatus,\n });\n }\n }\n\n filter(predicate: (value: T) => boolean) {\n const { map, selectedArray, keyGetter } = this;\n for (const { value, status } of selectedArray) {\n if (!predicate(value)) {\n map.set(keyGetter(value), {\n value,\n status: status.start(),\n });\n }\n }\n }\n\n get isNotEmpty() {\n return !this.isEmpty;\n }\n\n get isEmpty() {\n const { selectedArray } = this;\n return !selectedArray.length;\n }\n\n get isNotEmptyEnabledItems() {\n return !this.isEmptyEnabledItems;\n }\n\n get isEmptyEnabledItems() {\n const { selectedArray } = this;\n\n const selectedEnabledItems = selectedArray.filter((selectionEntry) =>\n this._map.events\n .listeners('isDisabled')\n .every((listener) => !listener(selectionEntry)),\n );\n\n return !selectedEnabledItems.length;\n }\n\n get _map() {\n return this.map;\n }\n}\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":[],"sources":["../../../src/state/SelectionStatus.ts"],"sourcesContent":["export interface SelectionStatus {\n id: string;\n toggle: () => SelectionStatus;\n start: () => SelectionStatus;\n final: () => SelectionStatus;\n isChecked: boolean;\n isIndeterminate: boolean;\n}\n"],"mappings":""}
|
|
1
|
+
{"version":3,"names":[],"sources":["../../../src/state/SelectionStatus.ts"],"sourcesContent":["export interface SelectionStatus {\n id: string;\n toggle: () => SelectionStatus;\n start: () => SelectionStatus;\n final: () => SelectionStatus;\n isChecked: boolean;\n isIndeterminate: boolean;\n}\n"],"mappings":"","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["SelectionStatusWixPatternsPreset","constructor","_defineProperty2","default","id","toggle","checked","start","unchecked","final","isChecked","isIndeterminate","indeterminate","indeterminateUnchecked","indeterminateChecked","selectionStatusWixPatternsPreset","exports"],"sources":["../../../src/state/SelectionStatusWixPatternsPreset.ts"],"sourcesContent":["import { SelectionStatus } from './SelectionStatus';\n\nclass SelectionStatusWixPatternsPreset {\n readonly unchecked: SelectionStatus = {\n id: 'unchecked',\n toggle: () => this.checked,\n start: () => this.unchecked,\n final: () => this.checked,\n isChecked: false,\n isIndeterminate: false,\n };\n\n readonly checked: SelectionStatus = {\n id: 'checked',\n toggle: () => this.unchecked,\n start: () => this.unchecked,\n final: () => this.checked,\n isChecked: true,\n isIndeterminate: false,\n };\n\n readonly indeterminateUnchecked: SelectionStatus = {\n id: 'indeterminateUnchecked',\n toggle: () => this.indeterminate,\n start: () => this.indeterminateUnchecked,\n final: () => this.indeterminateChecked,\n isChecked: false,\n isIndeterminate: false,\n };\n\n readonly indeterminate: SelectionStatus = {\n id: 'indeterminate',\n toggle: () => this.indeterminateChecked,\n start: () => this.indeterminateUnchecked,\n final: () => this.indeterminateChecked,\n isChecked: true,\n isIndeterminate: true,\n };\n\n readonly indeterminateChecked: SelectionStatus = {\n id: 'indeterminateChecked',\n toggle: () => this.indeterminateUnchecked,\n start: () => this.indeterminateUnchecked,\n final: () => this.indeterminateChecked,\n isChecked: true,\n isIndeterminate: false,\n };\n}\n\nexport const selectionStatusWixPatternsPreset =\n new SelectionStatusWixPatternsPreset();\n"],"mappings":";;;;;;AAEA,MAAMA,gCAAgC,CAAC;EAAAC,YAAA;IAAA,IAAAC,gBAAA,CAAAC,OAAA,qBACC;MACpCC,EAAE,EAAE,WAAW;MACfC,MAAM,EAAEA,CAAA,KAAM,IAAI,CAACC,OAAO;MAC1BC,KAAK,EAAEA,CAAA,KAAM,IAAI,CAACC,SAAS;MAC3BC,KAAK,EAAEA,CAAA,KAAM,IAAI,CAACH,OAAO;MACzBI,SAAS,EAAE,KAAK;MAChBC,eAAe,EAAE;IACnB,CAAC;IAAA,IAAAT,gBAAA,CAAAC,OAAA,mBAEmC;MAClCC,EAAE,EAAE,SAAS;MACbC,MAAM,EAAEA,CAAA,KAAM,IAAI,CAACG,SAAS;MAC5BD,KAAK,EAAEA,CAAA,KAAM,IAAI,CAACC,SAAS;MAC3BC,KAAK,EAAEA,CAAA,KAAM,IAAI,CAACH,OAAO;MACzBI,SAAS,EAAE,IAAI;MACfC,eAAe,EAAE;IACnB,CAAC;IAAA,IAAAT,gBAAA,CAAAC,OAAA,kCAEkD;MACjDC,EAAE,EAAE,wBAAwB;MAC5BC,MAAM,EAAEA,CAAA,KAAM,IAAI,CAACO,aAAa;MAChCL,KAAK,EAAEA,CAAA,KAAM,IAAI,CAACM,sBAAsB;MACxCJ,KAAK,EAAEA,CAAA,KAAM,IAAI,CAACK,oBAAoB;MACtCJ,SAAS,EAAE,KAAK;MAChBC,eAAe,EAAE;IACnB,CAAC;IAAA,IAAAT,gBAAA,CAAAC,OAAA,yBAEyC;MACxCC,EAAE,EAAE,eAAe;MACnBC,MAAM,EAAEA,CAAA,KAAM,IAAI,CAACS,oBAAoB;MACvCP,KAAK,EAAEA,CAAA,KAAM,IAAI,CAACM,sBAAsB;MACxCJ,KAAK,EAAEA,CAAA,KAAM,IAAI,CAACK,oBAAoB;MACtCJ,SAAS,EAAE,IAAI;MACfC,eAAe,EAAE;IACnB,CAAC;IAAA,IAAAT,gBAAA,CAAAC,OAAA,gCAEgD;MAC/CC,EAAE,EAAE,sBAAsB;MAC1BC,MAAM,EAAEA,CAAA,KAAM,IAAI,CAACQ,sBAAsB;MACzCN,KAAK,EAAEA,CAAA,KAAM,IAAI,CAACM,sBAAsB;MACxCJ,KAAK,EAAEA,CAAA,KAAM,IAAI,CAACK,oBAAoB;MACtCJ,SAAS,EAAE,IAAI;MACfC,eAAe,EAAE;IACnB,CAAC;EAAA;AACH;AAEO,MAAMI,gCAAgC,GAAAC,OAAA,CAAAD,gCAAA,GAC3C,IAAIf,gCAAgC,CAAC,CAAC"}
|
|
1
|
+
{"version":3,"names":["SelectionStatusWixPatternsPreset","constructor","_defineProperty2","default","id","toggle","checked","start","unchecked","final","isChecked","isIndeterminate","indeterminate","indeterminateUnchecked","indeterminateChecked","selectionStatusWixPatternsPreset","exports"],"sources":["../../../src/state/SelectionStatusWixPatternsPreset.ts"],"sourcesContent":["import { SelectionStatus } from './SelectionStatus';\n\nclass SelectionStatusWixPatternsPreset {\n readonly unchecked: SelectionStatus = {\n id: 'unchecked',\n toggle: () => this.checked,\n start: () => this.unchecked,\n final: () => this.checked,\n isChecked: false,\n isIndeterminate: false,\n };\n\n readonly checked: SelectionStatus = {\n id: 'checked',\n toggle: () => this.unchecked,\n start: () => this.unchecked,\n final: () => this.checked,\n isChecked: true,\n isIndeterminate: false,\n };\n\n readonly indeterminateUnchecked: SelectionStatus = {\n id: 'indeterminateUnchecked',\n toggle: () => this.indeterminate,\n start: () => this.indeterminateUnchecked,\n final: () => this.indeterminateChecked,\n isChecked: false,\n isIndeterminate: false,\n };\n\n readonly indeterminate: SelectionStatus = {\n id: 'indeterminate',\n toggle: () => this.indeterminateChecked,\n start: () => this.indeterminateUnchecked,\n final: () => this.indeterminateChecked,\n isChecked: true,\n isIndeterminate: true,\n };\n\n readonly indeterminateChecked: SelectionStatus = {\n id: 'indeterminateChecked',\n toggle: () => this.indeterminateUnchecked,\n start: () => this.indeterminateUnchecked,\n final: () => this.indeterminateChecked,\n isChecked: true,\n isIndeterminate: false,\n };\n}\n\nexport const selectionStatusWixPatternsPreset =\n new SelectionStatusWixPatternsPreset();\n"],"mappings":";;;;;;AAEA,MAAMA,gCAAgC,CAAC;EAAAC,YAAA;IAAA,IAAAC,gBAAA,CAAAC,OAAA,qBACC;MACpCC,EAAE,EAAE,WAAW;MACfC,MAAM,EAAEA,CAAA,KAAM,IAAI,CAACC,OAAO;MAC1BC,KAAK,EAAEA,CAAA,KAAM,IAAI,CAACC,SAAS;MAC3BC,KAAK,EAAEA,CAAA,KAAM,IAAI,CAACH,OAAO;MACzBI,SAAS,EAAE,KAAK;MAChBC,eAAe,EAAE;IACnB,CAAC;IAAA,IAAAT,gBAAA,CAAAC,OAAA,mBAEmC;MAClCC,EAAE,EAAE,SAAS;MACbC,MAAM,EAAEA,CAAA,KAAM,IAAI,CAACG,SAAS;MAC5BD,KAAK,EAAEA,CAAA,KAAM,IAAI,CAACC,SAAS;MAC3BC,KAAK,EAAEA,CAAA,KAAM,IAAI,CAACH,OAAO;MACzBI,SAAS,EAAE,IAAI;MACfC,eAAe,EAAE;IACnB,CAAC;IAAA,IAAAT,gBAAA,CAAAC,OAAA,kCAEkD;MACjDC,EAAE,EAAE,wBAAwB;MAC5BC,MAAM,EAAEA,CAAA,KAAM,IAAI,CAACO,aAAa;MAChCL,KAAK,EAAEA,CAAA,KAAM,IAAI,CAACM,sBAAsB;MACxCJ,KAAK,EAAEA,CAAA,KAAM,IAAI,CAACK,oBAAoB;MACtCJ,SAAS,EAAE,KAAK;MAChBC,eAAe,EAAE;IACnB,CAAC;IAAA,IAAAT,gBAAA,CAAAC,OAAA,yBAEyC;MACxCC,EAAE,EAAE,eAAe;MACnBC,MAAM,EAAEA,CAAA,KAAM,IAAI,CAACS,oBAAoB;MACvCP,KAAK,EAAEA,CAAA,KAAM,IAAI,CAACM,sBAAsB;MACxCJ,KAAK,EAAEA,CAAA,KAAM,IAAI,CAACK,oBAAoB;MACtCJ,SAAS,EAAE,IAAI;MACfC,eAAe,EAAE;IACnB,CAAC;IAAA,IAAAT,gBAAA,CAAAC,OAAA,gCAEgD;MAC/CC,EAAE,EAAE,sBAAsB;MAC1BC,MAAM,EAAEA,CAAA,KAAM,IAAI,CAACQ,sBAAsB;MACzCN,KAAK,EAAEA,CAAA,KAAM,IAAI,CAACM,sBAAsB;MACxCJ,KAAK,EAAEA,CAAA,KAAM,IAAI,CAACK,oBAAoB;MACtCJ,SAAS,EAAE,IAAI;MACfC,eAAe,EAAE;IACnB,CAAC;EAAA;AACH;AAEO,MAAMI,gCAAgC,GAAAC,OAAA,CAAAD,gCAAA,GAC3C,IAAIf,gCAAgC,CAAC,CAAC","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_TransitionState","require","_ReturnFocus","SidePanelWidth","exports","SidePanelState","constructor","_defineProperty2","default","TransitionState","ReturnFocus","isOpen","transition","show","currentPanelId","data","close","clickClose","focus","onClose","_open","id","setSync","onOpen","init","disposers","forEach","d"],"sources":["../../../src/state/SidePanelState.ts"],"sourcesContent":["import { TransitionState } from './TransitionState';\nimport { ReturnFocus } from './ReturnFocus';\n\n// FIXME: Move to the class property once the state could be read in PageWrapper.\nexport const SidePanelWidth = 420;\n\nexport class SidePanelState {\n readonly transition = new TransitionState<string>();\n readonly focus = new ReturnFocus();\n\n get isOpen() {\n return this.transition.show;\n }\n\n get currentPanelId() {\n return this.transition.data;\n }\n\n close() {\n this.transition.clickClose();\n this.focus.onClose();\n }\n\n _open(id: string) {\n this.transition.setSync(id);\n this.focus.onOpen();\n }\n\n init() {\n const disposers = [this.focus.init()];\n\n return () => {\n disposers.forEach((d) => d());\n };\n }\n}\n"],"mappings":";;;;;;AAAA,IAAAA,gBAAA,GAAAC,OAAA;AACA,IAAAC,YAAA,GAAAD,OAAA;AAEA;AACO,MAAME,cAAc,GAAAC,OAAA,CAAAD,cAAA,GAAG,GAAG;AAE1B,MAAME,cAAc,CAAC;EAAAC,YAAA;IAAA,IAAAC,gBAAA,CAAAC,OAAA,sBACJ,IAAIC,gCAAe,CAAS,CAAC;IAAA,IAAAF,gBAAA,CAAAC,OAAA,iBAClC,IAAIE,wBAAW,CAAC,CAAC;EAAA;EAElC,IAAIC,MAAMA,CAAA,EAAG;IACX,OAAO,IAAI,CAACC,UAAU,CAACC,IAAI;EAC7B;EAEA,IAAIC,cAAcA,CAAA,EAAG;IACnB,OAAO,IAAI,CAACF,UAAU,CAACG,IAAI;EAC7B;EAEAC,KAAKA,CAAA,EAAG;IACN,IAAI,CAACJ,UAAU,CAACK,UAAU,CAAC,CAAC;IAC5B,IAAI,CAACC,KAAK,CAACC,OAAO,CAAC,CAAC;EACtB;EAEAC,KAAKA,CAACC,EAAU,EAAE;IAChB,IAAI,CAACT,UAAU,CAACU,OAAO,CAACD,EAAE,CAAC;IAC3B,IAAI,CAACH,KAAK,CAACK,MAAM,CAAC,CAAC;EACrB;EAEAC,IAAIA,CAAA,EAAG;IACL,MAAMC,SAAS,GAAG,CAAC,IAAI,CAACP,KAAK,CAACM,IAAI,CAAC,CAAC,CAAC;IAErC,OAAO,MAAM;MACXC,SAAS,CAACC,OAAO,CAAEC,CAAC,IAAKA,CAAC,CAAC,CAAC,CAAC;IAC/B,CAAC;EACH;AACF;AAACvB,OAAA,CAAAC,cAAA,GAAAA,cAAA"}
|
|
1
|
+
{"version":3,"names":["_TransitionState","require","_ReturnFocus","SidePanelWidth","exports","SidePanelState","constructor","_defineProperty2","default","TransitionState","ReturnFocus","isOpen","transition","show","currentPanelId","data","close","clickClose","focus","onClose","_open","id","setSync","onOpen","init","disposers","forEach","d"],"sources":["../../../src/state/SidePanelState.ts"],"sourcesContent":["import { TransitionState } from './TransitionState';\nimport { ReturnFocus } from './ReturnFocus';\n\n// FIXME: Move to the class property once the state could be read in PageWrapper.\nexport const SidePanelWidth = 420;\n\nexport class SidePanelState {\n readonly transition = new TransitionState<string>();\n readonly focus = new ReturnFocus();\n\n get isOpen() {\n return this.transition.show;\n }\n\n get currentPanelId() {\n return this.transition.data;\n }\n\n close() {\n this.transition.clickClose();\n this.focus.onClose();\n }\n\n _open(id: string) {\n this.transition.setSync(id);\n this.focus.onOpen();\n }\n\n init() {\n const disposers = [this.focus.init()];\n\n return () => {\n disposers.forEach((d) => d());\n };\n }\n}\n"],"mappings":";;;;;;AAAA,IAAAA,gBAAA,GAAAC,OAAA;AACA,IAAAC,YAAA,GAAAD,OAAA;AAEA;AACO,MAAME,cAAc,GAAAC,OAAA,CAAAD,cAAA,GAAG,GAAG;AAE1B,MAAME,cAAc,CAAC;EAAAC,YAAA;IAAA,IAAAC,gBAAA,CAAAC,OAAA,sBACJ,IAAIC,gCAAe,CAAS,CAAC;IAAA,IAAAF,gBAAA,CAAAC,OAAA,iBAClC,IAAIE,wBAAW,CAAC,CAAC;EAAA;EAElC,IAAIC,MAAMA,CAAA,EAAG;IACX,OAAO,IAAI,CAACC,UAAU,CAACC,IAAI;EAC7B;EAEA,IAAIC,cAAcA,CAAA,EAAG;IACnB,OAAO,IAAI,CAACF,UAAU,CAACG,IAAI;EAC7B;EAEAC,KAAKA,CAAA,EAAG;IACN,IAAI,CAACJ,UAAU,CAACK,UAAU,CAAC,CAAC;IAC5B,IAAI,CAACC,KAAK,CAACC,OAAO,CAAC,CAAC;EACtB;EAEAC,KAAKA,CAACC,EAAU,EAAE;IAChB,IAAI,CAACT,UAAU,CAACU,OAAO,CAACD,EAAE,CAAC;IAC3B,IAAI,CAACH,KAAK,CAACK,MAAM,CAAC,CAAC;EACrB;EAEAC,IAAIA,CAAA,EAAG;IACL,MAAMC,SAAS,GAAG,CAAC,IAAI,CAACP,KAAK,CAACM,IAAI,CAAC,CAAC,CAAC;IAErC,OAAO,MAAM;MACXC,SAAS,CAACC,OAAO,CAAEC,CAAC,IAAKA,CAAC,CAAC,CAAC,CAAC;IAC/B,CAAC;EACH;AACF;AAACvB,OAAA,CAAAC,cAAA,GAAAA,cAAA","ignoreList":[]}
|
|
@@ -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","undefined","forceDirection","multiple","order","_setSortMultiple","_setSortSingular","push","sortIndex","findIndex","nextDirection","length","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, SortOrder } from '../model';\nimport { TypedEmitter } from '../util';\n\nexport interface SortStateParams {}\n\nexport interface Sortable {\n id: string;\n sortMode?: 'always';\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 if (col.sortMode === 'always') {\n return existingSort?.direction === 'asc' ? 'desc' : 'asc';\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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"}
|
|
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","undefined","forceDirection","multiple","order","_setSortMultiple","_setSortSingular","push","sortIndex","findIndex","nextDirection","length","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, SortOrder } from '../model';\nimport { TypedEmitter } from '../util';\n\nexport interface SortStateParams {}\n\nexport interface Sortable {\n id: string;\n sortMode?: 'always';\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 if (col.sortMode === 'always') {\n return existingSort?.direction === 'asc' ? 'desc' : 'asc';\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 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_events","require","_mobx","StringFilterState","constructor","params","_defineProperty2","default","EventEmitter","name","persistent","defaultValue","itemKey","item","itemName","_value","initialValue","matches","value","toLowerCase","includes","equals","makeObservable","observable","ref","isEmpty","computed","size","reset","action","clone","setValue","changeValue","scheduleRefresh","toArray","length","toQueryString","applyFromQueryString","str","encode","decode","raw","emitEvents","options","event","events","emit","refresh","remove","_","hasDiff","exports","stringFilter"],"sources":["../../../../src/state/StringFilterState/StringFilterState.ts"],"sourcesContent":["import { EventEmitter } from 'events';\nimport { action, computed, makeObservable, observable } from 'mobx';\nimport { ChangeValueOptions, Filter, FilterEvents } from '../../model';\n\nexport interface StringFilterStateParams {\n readonly name?: string;\n readonly persistent?: boolean;\n /**\n * The value to initialize the filter with (Optional)\n * @external\n */\n readonly initialValue?: string;\n /**\n * The value to set the value to, when clearing the filter (Optional)\n * @external\n */\n defaultValue: string;\n readonly matches?: (item: string, value: string) => boolean;\n readonly equals?: (item1: string, item2: string) => boolean;\n}\n\nexport class StringFilterState implements Filter<string> {\n name: string;\n persistent;\n defaultValue: string;\n readonly itemKey: (item: string) => string;\n readonly itemName: (item: string) => string;\n readonly matches: (item: string, value: string) => boolean;\n readonly equals?: (item1: string, item2: string) => boolean;\n\n _value: string;\n\n readonly events = new EventEmitter() as FilterEvents;\n\n constructor(params: StringFilterStateParams) {\n this.name = params.name ?? '';\n this.persistent = params.persistent;\n this.defaultValue = params.defaultValue;\n this.itemKey = (item) => item;\n this.itemName = (item) => item;\n this._value = params.initialValue ?? this.defaultValue;\n this.matches =\n params.matches ??\n ((item, value) =>\n value == null || value === '' || typeof item === 'string'\n ? value.toLowerCase().includes(item.toLowerCase())\n : false);\n this.equals = params.equals;\n\n makeObservable(this, {\n _value: observable.ref,\n persistent: observable.ref,\n isEmpty: computed,\n size: computed,\n value: computed,\n reset: action,\n clone: action,\n setValue: action,\n changeValue: action,\n scheduleRefresh: action,\n });\n }\n\n get value() {\n return this._value;\n }\n\n get toArray() {\n return [this._value];\n }\n\n get isEmpty() {\n return !this._value.length;\n }\n\n get size() {\n return this.isEmpty ? 0 : 1;\n }\n\n get toQueryString() {\n return this._value;\n }\n\n applyFromQueryString(str: string) {\n this.setValue(str);\n }\n\n encode(value: string) {\n return value;\n }\n\n decode(raw: unknown) {\n if (typeof raw === 'string') {\n return raw;\n }\n\n return '';\n }\n\n setValue(value: string, { emitEvents, ...options }: ChangeValueOptions = {}) {\n this._value = value;\n if (emitEvents) {\n for (const event of emitEvents) {\n this.events.emit(event, options);\n }\n }\n }\n\n changeValue(\n value: string,\n { emitEvents = [], ...options }: ChangeValueOptions = {},\n ) {\n this.setValue(value, { ...options, emitEvents: ['change', ...emitEvents] });\n }\n\n refresh(value: string, options?: ChangeValueOptions) {\n this.changeValue(value, { ...options, emitEvents: ['refresh'] });\n }\n\n scheduleRefresh(value: string) {\n this.changeValue(value, { emitEvents: ['scheduleRefresh'] });\n }\n\n reset(options: ChangeValueOptions = {}) {\n this.setValue(this.defaultValue, options);\n }\n\n remove(_: string[], options: ChangeValueOptions = {}) {\n this.reset(options);\n }\n\n hasDiff(item: string) {\n return this.value !== item;\n }\n\n clone(params: Partial<StringFilterStateParams>): StringFilterState {\n const {\n defaultValue,\n value: initialValue,\n matches,\n persistent,\n name,\n } = this;\n return new StringFilterState({\n defaultValue,\n initialValue,\n matches,\n persistent,\n name,\n ...params,\n });\n }\n}\n\nexport const stringFilter = (params: Partial<StringFilterStateParams> = {}) =>\n new StringFilterState({\n defaultValue: '',\n ...params,\n });\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"names":["_events","require","_mobx","StringFilterState","constructor","params","_defineProperty2","default","EventEmitter","name","persistent","defaultValue","itemKey","item","itemName","_value","initialValue","matches","value","toLowerCase","includes","equals","makeObservable","observable","ref","isEmpty","computed","size","reset","action","clone","setValue","changeValue","scheduleRefresh","toArray","length","toQueryString","applyFromQueryString","str","encode","decode","raw","emitEvents","options","event","events","emit","refresh","remove","_","hasDiff","exports","stringFilter"],"sources":["../../../../src/state/StringFilterState/StringFilterState.ts"],"sourcesContent":["import { EventEmitter } from 'events';\nimport { action, computed, makeObservable, observable } from 'mobx';\nimport { ChangeValueOptions, Filter, FilterEvents } from '../../model';\n\nexport interface StringFilterStateParams {\n readonly name?: string;\n readonly persistent?: boolean;\n /**\n * The value to initialize the filter with (Optional)\n * @external\n */\n readonly initialValue?: string;\n /**\n * The value to set the value to, when clearing the filter (Optional)\n * @external\n */\n defaultValue: string;\n readonly matches?: (item: string, value: string) => boolean;\n readonly equals?: (item1: string, item2: string) => boolean;\n}\n\nexport class StringFilterState implements Filter<string> {\n name: string;\n persistent;\n defaultValue: string;\n readonly itemKey: (item: string) => string;\n readonly itemName: (item: string) => string;\n readonly matches: (item: string, value: string) => boolean;\n readonly equals?: (item1: string, item2: string) => boolean;\n\n _value: string;\n\n readonly events = new EventEmitter() as FilterEvents;\n\n constructor(params: StringFilterStateParams) {\n this.name = params.name ?? '';\n this.persistent = params.persistent;\n this.defaultValue = params.defaultValue;\n this.itemKey = (item) => item;\n this.itemName = (item) => item;\n this._value = params.initialValue ?? this.defaultValue;\n this.matches =\n params.matches ??\n ((item, value) =>\n value == null || value === '' || typeof item === 'string'\n ? value.toLowerCase().includes(item.toLowerCase())\n : false);\n this.equals = params.equals;\n\n makeObservable(this, {\n _value: observable.ref,\n persistent: observable.ref,\n isEmpty: computed,\n size: computed,\n value: computed,\n reset: action,\n clone: action,\n setValue: action,\n changeValue: action,\n scheduleRefresh: action,\n });\n }\n\n get value() {\n return this._value;\n }\n\n get toArray() {\n return [this._value];\n }\n\n get isEmpty() {\n return !this._value.length;\n }\n\n get size() {\n return this.isEmpty ? 0 : 1;\n }\n\n get toQueryString() {\n return this._value;\n }\n\n applyFromQueryString(str: string) {\n this.setValue(str);\n }\n\n encode(value: string) {\n return value;\n }\n\n decode(raw: unknown) {\n if (typeof raw === 'string') {\n return raw;\n }\n\n return '';\n }\n\n setValue(value: string, { emitEvents, ...options }: ChangeValueOptions = {}) {\n this._value = value;\n if (emitEvents) {\n for (const event of emitEvents) {\n this.events.emit(event, options);\n }\n }\n }\n\n changeValue(\n value: string,\n { emitEvents = [], ...options }: ChangeValueOptions = {},\n ) {\n this.setValue(value, { ...options, emitEvents: ['change', ...emitEvents] });\n }\n\n refresh(value: string, options?: ChangeValueOptions) {\n this.changeValue(value, { ...options, emitEvents: ['refresh'] });\n }\n\n scheduleRefresh(value: string) {\n this.changeValue(value, { emitEvents: ['scheduleRefresh'] });\n }\n\n reset(options: ChangeValueOptions = {}) {\n this.setValue(this.defaultValue, options);\n }\n\n remove(_: string[], options: ChangeValueOptions = {}) {\n this.reset(options);\n }\n\n hasDiff(item: string) {\n return this.value !== item;\n }\n\n clone(params: Partial<StringFilterStateParams>): StringFilterState {\n const {\n defaultValue,\n value: initialValue,\n matches,\n persistent,\n name,\n } = this;\n return new StringFilterState({\n defaultValue,\n initialValue,\n matches,\n persistent,\n name,\n ...params,\n });\n }\n}\n\nexport const stringFilter = (params: Partial<StringFilterStateParams> = {}) =>\n new StringFilterState({\n defaultValue: '',\n ...params,\n });\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_StringFilterState","require","Object","keys","forEach","key","exports"],"sources":["../../../../src/state/StringFilterState/index.ts"],"sourcesContent":["export * from './StringFilterState';\n"],"mappings":";;;AAAA,IAAAA,kBAAA,GAAAC,OAAA;AAAAC,MAAA,CAAAC,IAAA,CAAAH,kBAAA,EAAAI,OAAA,WAAAC,GAAA;EAAA,IAAAA,GAAA,kBAAAA,GAAA;EAAA,IAAAA,GAAA,IAAAC,OAAA,IAAAA,OAAA,CAAAD,GAAA,MAAAL,kBAAA,CAAAK,GAAA;EAAAC,OAAA,CAAAD,GAAA,IAAAL,kBAAA,CAAAK,GAAA;AAAA"}
|
|
1
|
+
{"version":3,"names":["_StringFilterState","require","Object","keys","forEach","key","exports"],"sources":["../../../../src/state/StringFilterState/index.ts"],"sourcesContent":["export * from './StringFilterState';\n"],"mappings":";;;AAAA,IAAAA,kBAAA,GAAAC,OAAA;AAAAC,MAAA,CAAAC,IAAA,CAAAH,kBAAA,EAAAI,OAAA,WAAAC,GAAA;EAAA,IAAAA,GAAA,kBAAAA,GAAA;EAAA,IAAAA,GAAA,IAAAC,OAAA,IAAAA,OAAA,CAAAD,GAAA,MAAAL,kBAAA,CAAAK,GAAA;EAAAC,OAAA,CAAAD,GAAA,IAAAL,kBAAA,CAAAK,GAAA;AAAA","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_v","require","_uuid","_mobx","_CollectionOptimisticActions","_TaskState","_CollectionState","_util","TagsAssignmentState","constructor","tagsManagementState","entityId","origin","tagsBIReporter","params","_defineProperty2","default","TaskState","tag","onSubmit","isFromSearch","optimisticActionParams","assignedTagIds","includes","id","newIndex","_getNewIndex","optimisticActions","createOne","index","submit","_","_assignTag","tagIds","tagToUnassign","collection","result","items","find","t","deleteOne","_invokeBiOnAssignUnassign","actionName","allTags","privateTags","filter","addedTags","removedTags","name","uuid","filteredListSize","assignOptimisticActionParams","createOptimisticActionParams","newTag","_createAndAssign","Array","from","Set","assignError","tagId","_createTag","onCreateSuccess","error","Promise","resolve","createTag","onSuccess","fqdn","makeObservable","initialTags","observable","init","action","assignTag","createAndAssignTag","unassignTag","clear","assignedTags","computed","initialTagIds","isDirty","CollectionState","container","events","queryName","fqdnString","join","fetchData","total","length","itemKey","itemName","fetchErrorMessage","filters","CollectionOptimisticActions","orderBy","fieldName","order","_initialTags$privateT","map","undefined","disposers","initTask","runOnce","status","promise","forEach","disposer","fqdnToString","isLoading","isIdle","isError","retry","_this$collection$resu","Boolean","unassigendTagIds","reportBi","cairoTagsAssignTag","itemId","numItems","numTags","numTagsAssigned","tagName","max","Math","exports"],"sources":["../../../../src/state/TagsState/TagsAssignmentState.ts"],"sourcesContent":["import { Tag } from '@wix/bex-utils/@wix/ambassador-os-tags-v1-tag/types';\nimport { TagsManagementState } from './TagsManagementState';\nimport { TagsBIReporter } from './TagsBIReporter';\nimport { cairoTagsAssignTag } from '@wix/bex-utils/@wix/bi-logger-cairo-os/v2';\nimport { Tags } from './tagsTypes';\nimport { v4 as uuid } from 'uuid';\nimport { action, computed, makeObservable, observable } from 'mobx';\nimport { Fqdn } from '../../model';\nimport {\n CollectionOptimisticActions,\n CreateManyParams,\n DeleteManyParams,\n} from '../CollectionOptimisticActions';\nimport { TaskState } from '../TaskState';\nimport { CollectionState } from '../CollectionState';\nimport { fqdnToString } from '../../util';\n\nexport type OnSubmitTagsFuncType = ({\n allTags,\n addedTags,\n removedTags,\n}: {\n allTags: Tags;\n addedTags: Tags;\n removedTags: Tags;\n}) => void;\n\nexport interface TagsAssignmentStateParams {\n readonly tagsManagementState: TagsManagementState;\n readonly entityId?: string;\n readonly origin: string;\n readonly fqdn: Fqdn;\n readonly tagsBIReporter: TagsBIReporter;\n}\n\nexport interface CreateAndAssignParams {\n name: string;\n id?: string;\n filteredListSize: number;\n onSubmit?: OnSubmitTagsFuncType;\n isFromSearch?: boolean;\n assignOptimisticActionParams?: Partial<CreateManyParams<Tag>>;\n createOptimisticActionParams?: Partial<CreateManyParams<Tag>>;\n}\n\ninterface TagAssignment {\n id: string;\n index: number;\n}\n\nexport class TagsAssignmentState {\n readonly tagsManagementState: TagsManagementState;\n readonly origin;\n readonly tagsBIReporter: TagsBIReporter;\n readonly initTask = new TaskState();\n readonly collection: CollectionState<TagAssignment>;\n readonly optimisticActions: CollectionOptimisticActions<TagAssignment, {}>;\n entityId?: string;\n initialTags: TagAssignment[] = [];\n readonly fqdn;\n\n constructor({\n tagsManagementState,\n entityId,\n origin,\n tagsBIReporter,\n ...params\n }: TagsAssignmentStateParams) {\n this.tagsManagementState = tagsManagementState;\n this.origin = origin;\n this.tagsBIReporter = tagsBIReporter;\n this.fqdn = params.fqdn;\n\n makeObservable(this, {\n initialTags: observable,\n init: action,\n assignTag: action,\n createAndAssignTag: action,\n unassignTag: action,\n clear: action,\n assignedTags: computed,\n initialTagIds: computed,\n isDirty: computed,\n });\n this.collection = new CollectionState<TagAssignment>({\n ...tagsManagementState.container,\n events: {},\n queryName: [this.fqdnString, origin, entityId].join('/'),\n fetchData: async () => {\n return {\n items: this.initialTags,\n total: this.initialTags.length,\n };\n },\n itemKey: (tag) => tag.id,\n itemName: (tag) => tag.id,\n fetchErrorMessage: () => '',\n filters: {},\n });\n\n this.optimisticActions = new CollectionOptimisticActions<TagAssignment, {}>(\n {\n collection: this.collection,\n container: tagsManagementState.container,\n orderBy: () => [\n {\n fieldName: ({ index }) => index,\n order: 'asc',\n },\n ],\n },\n );\n }\n\n init({\n initialTags,\n entityId,\n }: {\n initialTags?: Tags;\n entityId?: string | null;\n }) {\n this.initialTags = Array.from(\n new Set(initialTags?.privateTags?.tagIds || []),\n ).map((id, index) => ({\n index,\n id,\n }));\n this.entityId = entityId ?? undefined;\n\n const { collection, optimisticActions } = this;\n\n const disposers = [collection.init(), optimisticActions.init()];\n\n this.initTask.runOnce(async () => {\n await collection.initTask.status.promise;\n\n this.tagsManagementState.init();\n await this.tagsManagementState.initTask.status.promise;\n });\n\n return () => {\n disposers.forEach((disposer) => disposer());\n };\n }\n\n get fqdnString() {\n return fqdnToString(this.fqdn);\n }\n\n get isLoading() {\n const { status } = this.tagsManagementState.initTask;\n return status.isIdle || status.isLoading || this.initTask.status.isLoading;\n }\n\n get isError() {\n return (\n this.tagsManagementState.initTask.status.isError ||\n this.initTask.status.isError\n );\n }\n\n retry() {\n this.initTask.runOnce();\n }\n\n get assignedTags() {\n return this.collection.result.items\n ?.map(({ id }) => {\n return this.tagsManagementState.items.find((tag: Tag) => tag.id === id);\n })\n .filter(Boolean) as Tag[];\n }\n\n get assignedTagIds() {\n return this.collection.result.items.map((tag) => tag.id);\n }\n\n get initialTagIds() {\n return this.initialTags.map((tag) => tag.id);\n }\n\n clear() {\n this.collection.result.clear();\n }\n\n assignTag = async ({\n tag,\n onSubmit,\n isFromSearch,\n optimisticActionParams,\n }: {\n tag: Tag;\n onSubmit?: OnSubmitTagsFuncType;\n isFromSearch?: boolean;\n optimisticActionParams?: Partial<CreateManyParams<Tag>>;\n }) => {\n if (this.assignedTagIds.includes(tag.id!)) {\n return;\n }\n const newIndex = this._getNewIndex();\n\n await this.optimisticActions.createOne(\n { id: tag.id!, index: newIndex },\n {\n ...optimisticActionParams,\n submit: async (_: any) => {\n await this._assignTag({\n tagIds: this.assignedTagIds,\n tag,\n onSubmit,\n isFromSearch,\n });\n\n return [{ id: tag.id!, index: newIndex }];\n },\n },\n );\n };\n\n unassignTag = async ({\n tag,\n onSubmit,\n isFromSearch = false,\n optimisticActionParams,\n }: {\n tag: Tag;\n onSubmit?: OnSubmitTagsFuncType;\n isFromSearch?: boolean;\n optimisticActionParams?: Partial<DeleteManyParams<Tag, {}>>;\n }) => {\n const tagToUnassign = this.collection.result.items.find(\n (t) => t.id === tag.id,\n );\n\n await this.optimisticActions.deleteOne(tagToUnassign!, {\n ...optimisticActionParams,\n submit: async () => {\n this._invokeBiOnAssignUnassign({\n actionName: 'Remove',\n tag,\n isFromSearch,\n });\n\n await onSubmit?.({\n allTags: {\n privateTags: {\n tagIds: this.assignedTagIds.filter((id: string) => id !== tag.id),\n },\n },\n addedTags: {\n privateTags: {\n tagIds: [],\n },\n },\n removedTags: {\n privateTags: {\n tagIds: [tag.id!],\n },\n },\n });\n },\n });\n };\n\n createAndAssignTag = async ({\n name,\n id = uuid(),\n filteredListSize,\n onSubmit,\n assignOptimisticActionParams,\n createOptimisticActionParams,\n }: CreateAndAssignParams) => {\n const newIndex = this._getNewIndex();\n\n this.optimisticActions.createOne(\n { id, index: newIndex },\n {\n ...assignOptimisticActionParams,\n submit: async (_) => {\n const newTag = await this._createAndAssign({\n name,\n id,\n filteredListSize,\n onSubmit,\n createOptimisticActionParams,\n });\n return [{ id: newTag.id!, index: newIndex }];\n },\n },\n );\n };\n\n get isDirty() {\n if (this.initialTagIds.length !== this.assignedTagIds.length) {\n return true;\n }\n\n const unassigendTagIds = this.initialTagIds.filter(\n (id) => !this.assignedTagIds.includes(id),\n );\n const assignedTagIds = this.assignedTagIds.filter(\n (id) => !this.initialTagIds.includes(id),\n );\n\n return unassigendTagIds.length !== 0 || assignedTagIds.length !== 0;\n }\n\n private _assignTag = async ({\n tagIds,\n tag,\n onSubmit,\n isFromSearch,\n }: {\n tagIds: string[];\n tag: Tag;\n onSubmit?: OnSubmitTagsFuncType;\n isFromSearch?: boolean;\n }) => {\n this._invokeBiOnAssignUnassign({\n actionName: 'Assign',\n tag,\n isFromSearch,\n });\n await onSubmit?.({\n allTags: {\n privateTags: {\n tagIds: Array.from(new Set([...tagIds, tag.id])) as string[],\n },\n },\n addedTags: { privateTags: { tagIds: [tag.id!] } },\n removedTags: { privateTags: { tagIds: [] } },\n });\n };\n\n private _createAndAssign = async ({\n name,\n id,\n filteredListSize,\n onSubmit,\n createOptimisticActionParams,\n }: CreateAndAssignParams) => {\n const isFromSearch = true;\n let assignError: unknown;\n\n let newTag = this.tagsManagementState.items.find(\n (tag: Tag) => tag.name === name,\n );\n if (newTag) {\n await this._assignTag({\n tagIds: this.assignedTagIds.filter((tagId) => tagId !== id),\n tag: newTag,\n onSubmit,\n isFromSearch,\n });\n\n return newTag;\n }\n newTag = await this._createTag({\n name,\n id,\n filteredListSize,\n isFromSearch,\n createOptimisticActionParams,\n onCreateSuccess: async (newTag) => {\n try {\n await this._assignTag({\n tagIds: this.assignedTagIds.filter((tagId) => tagId !== id),\n tag: newTag,\n onSubmit,\n isFromSearch,\n });\n } catch (error: unknown) {\n assignError = error;\n }\n },\n });\n\n // We want to throw assign exception in assign optimistic context so assign tryAgain (and not create) will be triggered\n if (assignError) {\n throw assignError;\n }\n return newTag;\n };\n\n private _createTag = async ({\n name,\n id,\n filteredListSize,\n isFromSearch,\n onCreateSuccess,\n createOptimisticActionParams,\n }: CreateAndAssignParams & { onCreateSuccess: (newTag: Tag) => void }) => {\n return new Promise<Tag>(async (resolve) => {\n await this.tagsManagementState.createTag({\n name,\n id,\n filteredListSize,\n origin: this.origin,\n isFromSearch,\n tagsBIReporter: this.tagsBIReporter,\n optimisticActionParams: createOptimisticActionParams,\n onSuccess: async (newTag) => {\n await onCreateSuccess?.(newTag);\n resolve(newTag);\n },\n });\n });\n };\n\n private _invokeBiOnAssignUnassign({\n actionName,\n tag,\n isFromSearch = false,\n }: {\n actionName: string;\n tag: Tag;\n isFromSearch?: boolean;\n }) {\n this.tagsBIReporter.reportBi(\n cairoTagsAssignTag({\n actionName,\n isFromSearch,\n itemId: this.entityId,\n numItems: 1,\n numTags: this.tagsManagementState.items.length,\n numTagsAssigned: this.assignedTags.length,\n tagName: tag.name!,\n origin: this.origin,\n }),\n );\n }\n\n private _getNewIndex() {\n const max = Math.max(\n 0,\n ...this.collection.result.items.map((tag) => tag.index!),\n );\n\n return max + 1;\n }\n}\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"names":["_v","require","_uuid","_mobx","_CollectionOptimisticActions","_TaskState","_CollectionState","_util","TagsAssignmentState","constructor","tagsManagementState","entityId","origin","tagsBIReporter","params","_defineProperty2","default","TaskState","tag","onSubmit","isFromSearch","optimisticActionParams","assignedTagIds","includes","id","newIndex","_getNewIndex","optimisticActions","createOne","index","submit","_","_assignTag","tagIds","tagToUnassign","collection","result","items","find","t","deleteOne","_invokeBiOnAssignUnassign","actionName","allTags","privateTags","filter","addedTags","removedTags","name","uuid","filteredListSize","assignOptimisticActionParams","createOptimisticActionParams","newTag","_createAndAssign","Array","from","Set","assignError","tagId","_createTag","onCreateSuccess","error","Promise","resolve","createTag","onSuccess","fqdn","makeObservable","initialTags","observable","init","action","assignTag","createAndAssignTag","unassignTag","clear","assignedTags","computed","initialTagIds","isDirty","CollectionState","container","events","queryName","fqdnString","join","fetchData","total","length","itemKey","itemName","fetchErrorMessage","filters","CollectionOptimisticActions","orderBy","fieldName","order","_initialTags$privateT","map","undefined","disposers","initTask","runOnce","status","promise","forEach","disposer","fqdnToString","isLoading","isIdle","isError","retry","_this$collection$resu","Boolean","unassigendTagIds","reportBi","cairoTagsAssignTag","itemId","numItems","numTags","numTagsAssigned","tagName","max","Math","exports"],"sources":["../../../../src/state/TagsState/TagsAssignmentState.ts"],"sourcesContent":["import { Tag } from '@wix/bex-utils/@wix/ambassador-os-tags-v1-tag/types';\nimport { TagsManagementState } from './TagsManagementState';\nimport { TagsBIReporter } from './TagsBIReporter';\nimport { cairoTagsAssignTag } from '@wix/bex-utils/@wix/bi-logger-cairo-os/v2';\nimport { Tags } from './tagsTypes';\nimport { v4 as uuid } from 'uuid';\nimport { action, computed, makeObservable, observable } from 'mobx';\nimport { Fqdn } from '../../model';\nimport {\n CollectionOptimisticActions,\n CreateManyParams,\n DeleteManyParams,\n} from '../CollectionOptimisticActions';\nimport { TaskState } from '../TaskState';\nimport { CollectionState } from '../CollectionState';\nimport { fqdnToString } from '../../util';\n\nexport type OnSubmitTagsFuncType = ({\n allTags,\n addedTags,\n removedTags,\n}: {\n allTags: Tags;\n addedTags: Tags;\n removedTags: Tags;\n}) => void;\n\nexport interface TagsAssignmentStateParams {\n readonly tagsManagementState: TagsManagementState;\n readonly entityId?: string;\n readonly origin: string;\n readonly fqdn: Fqdn;\n readonly tagsBIReporter: TagsBIReporter;\n}\n\nexport interface CreateAndAssignParams {\n name: string;\n id?: string;\n filteredListSize: number;\n onSubmit?: OnSubmitTagsFuncType;\n isFromSearch?: boolean;\n assignOptimisticActionParams?: Partial<CreateManyParams<Tag>>;\n createOptimisticActionParams?: Partial<CreateManyParams<Tag>>;\n}\n\ninterface TagAssignment {\n id: string;\n index: number;\n}\n\nexport class TagsAssignmentState {\n readonly tagsManagementState: TagsManagementState;\n readonly origin;\n readonly tagsBIReporter: TagsBIReporter;\n readonly initTask = new TaskState();\n readonly collection: CollectionState<TagAssignment>;\n readonly optimisticActions: CollectionOptimisticActions<TagAssignment, {}>;\n entityId?: string;\n initialTags: TagAssignment[] = [];\n readonly fqdn;\n\n constructor({\n tagsManagementState,\n entityId,\n origin,\n tagsBIReporter,\n ...params\n }: TagsAssignmentStateParams) {\n this.tagsManagementState = tagsManagementState;\n this.origin = origin;\n this.tagsBIReporter = tagsBIReporter;\n this.fqdn = params.fqdn;\n\n makeObservable(this, {\n initialTags: observable,\n init: action,\n assignTag: action,\n createAndAssignTag: action,\n unassignTag: action,\n clear: action,\n assignedTags: computed,\n initialTagIds: computed,\n isDirty: computed,\n });\n this.collection = new CollectionState<TagAssignment>({\n ...tagsManagementState.container,\n events: {},\n queryName: [this.fqdnString, origin, entityId].join('/'),\n fetchData: async () => {\n return {\n items: this.initialTags,\n total: this.initialTags.length,\n };\n },\n itemKey: (tag) => tag.id,\n itemName: (tag) => tag.id,\n fetchErrorMessage: () => '',\n filters: {},\n });\n\n this.optimisticActions = new CollectionOptimisticActions<TagAssignment, {}>(\n {\n collection: this.collection,\n container: tagsManagementState.container,\n orderBy: () => [\n {\n fieldName: ({ index }) => index,\n order: 'asc',\n },\n ],\n },\n );\n }\n\n init({\n initialTags,\n entityId,\n }: {\n initialTags?: Tags;\n entityId?: string | null;\n }) {\n this.initialTags = Array.from(\n new Set(initialTags?.privateTags?.tagIds || []),\n ).map((id, index) => ({\n index,\n id,\n }));\n this.entityId = entityId ?? undefined;\n\n const { collection, optimisticActions } = this;\n\n const disposers = [collection.init(), optimisticActions.init()];\n\n this.initTask.runOnce(async () => {\n await collection.initTask.status.promise;\n\n this.tagsManagementState.init();\n await this.tagsManagementState.initTask.status.promise;\n });\n\n return () => {\n disposers.forEach((disposer) => disposer());\n };\n }\n\n get fqdnString() {\n return fqdnToString(this.fqdn);\n }\n\n get isLoading() {\n const { status } = this.tagsManagementState.initTask;\n return status.isIdle || status.isLoading || this.initTask.status.isLoading;\n }\n\n get isError() {\n return (\n this.tagsManagementState.initTask.status.isError ||\n this.initTask.status.isError\n );\n }\n\n retry() {\n this.initTask.runOnce();\n }\n\n get assignedTags() {\n return this.collection.result.items\n ?.map(({ id }) => {\n return this.tagsManagementState.items.find((tag: Tag) => tag.id === id);\n })\n .filter(Boolean) as Tag[];\n }\n\n get assignedTagIds() {\n return this.collection.result.items.map((tag) => tag.id);\n }\n\n get initialTagIds() {\n return this.initialTags.map((tag) => tag.id);\n }\n\n clear() {\n this.collection.result.clear();\n }\n\n assignTag = async ({\n tag,\n onSubmit,\n isFromSearch,\n optimisticActionParams,\n }: {\n tag: Tag;\n onSubmit?: OnSubmitTagsFuncType;\n isFromSearch?: boolean;\n optimisticActionParams?: Partial<CreateManyParams<Tag>>;\n }) => {\n if (this.assignedTagIds.includes(tag.id!)) {\n return;\n }\n const newIndex = this._getNewIndex();\n\n await this.optimisticActions.createOne(\n { id: tag.id!, index: newIndex },\n {\n ...optimisticActionParams,\n submit: async (_: any) => {\n await this._assignTag({\n tagIds: this.assignedTagIds,\n tag,\n onSubmit,\n isFromSearch,\n });\n\n return [{ id: tag.id!, index: newIndex }];\n },\n },\n );\n };\n\n unassignTag = async ({\n tag,\n onSubmit,\n isFromSearch = false,\n optimisticActionParams,\n }: {\n tag: Tag;\n onSubmit?: OnSubmitTagsFuncType;\n isFromSearch?: boolean;\n optimisticActionParams?: Partial<DeleteManyParams<Tag, {}>>;\n }) => {\n const tagToUnassign = this.collection.result.items.find(\n (t) => t.id === tag.id,\n );\n\n await this.optimisticActions.deleteOne(tagToUnassign!, {\n ...optimisticActionParams,\n submit: async () => {\n this._invokeBiOnAssignUnassign({\n actionName: 'Remove',\n tag,\n isFromSearch,\n });\n\n await onSubmit?.({\n allTags: {\n privateTags: {\n tagIds: this.assignedTagIds.filter((id: string) => id !== tag.id),\n },\n },\n addedTags: {\n privateTags: {\n tagIds: [],\n },\n },\n removedTags: {\n privateTags: {\n tagIds: [tag.id!],\n },\n },\n });\n },\n });\n };\n\n createAndAssignTag = async ({\n name,\n id = uuid(),\n filteredListSize,\n onSubmit,\n assignOptimisticActionParams,\n createOptimisticActionParams,\n }: CreateAndAssignParams) => {\n const newIndex = this._getNewIndex();\n\n this.optimisticActions.createOne(\n { id, index: newIndex },\n {\n ...assignOptimisticActionParams,\n submit: async (_) => {\n const newTag = await this._createAndAssign({\n name,\n id,\n filteredListSize,\n onSubmit,\n createOptimisticActionParams,\n });\n return [{ id: newTag.id!, index: newIndex }];\n },\n },\n );\n };\n\n get isDirty() {\n if (this.initialTagIds.length !== this.assignedTagIds.length) {\n return true;\n }\n\n const unassigendTagIds = this.initialTagIds.filter(\n (id) => !this.assignedTagIds.includes(id),\n );\n const assignedTagIds = this.assignedTagIds.filter(\n (id) => !this.initialTagIds.includes(id),\n );\n\n return unassigendTagIds.length !== 0 || assignedTagIds.length !== 0;\n }\n\n private _assignTag = async ({\n tagIds,\n tag,\n onSubmit,\n isFromSearch,\n }: {\n tagIds: string[];\n tag: Tag;\n onSubmit?: OnSubmitTagsFuncType;\n isFromSearch?: boolean;\n }) => {\n this._invokeBiOnAssignUnassign({\n actionName: 'Assign',\n tag,\n isFromSearch,\n });\n await onSubmit?.({\n allTags: {\n privateTags: {\n tagIds: Array.from(new Set([...tagIds, tag.id])) as string[],\n },\n },\n addedTags: { privateTags: { tagIds: [tag.id!] } },\n removedTags: { privateTags: { tagIds: [] } },\n });\n };\n\n private _createAndAssign = async ({\n name,\n id,\n filteredListSize,\n onSubmit,\n createOptimisticActionParams,\n }: CreateAndAssignParams) => {\n const isFromSearch = true;\n let assignError: unknown;\n\n let newTag = this.tagsManagementState.items.find(\n (tag: Tag) => tag.name === name,\n );\n if (newTag) {\n await this._assignTag({\n tagIds: this.assignedTagIds.filter((tagId) => tagId !== id),\n tag: newTag,\n onSubmit,\n isFromSearch,\n });\n\n return newTag;\n }\n newTag = await this._createTag({\n name,\n id,\n filteredListSize,\n isFromSearch,\n createOptimisticActionParams,\n onCreateSuccess: async (newTag) => {\n try {\n await this._assignTag({\n tagIds: this.assignedTagIds.filter((tagId) => tagId !== id),\n tag: newTag,\n onSubmit,\n isFromSearch,\n });\n } catch (error: unknown) {\n assignError = error;\n }\n },\n });\n\n // We want to throw assign exception in assign optimistic context so assign tryAgain (and not create) will be triggered\n if (assignError) {\n throw assignError;\n }\n return newTag;\n };\n\n private _createTag = async ({\n name,\n id,\n filteredListSize,\n isFromSearch,\n onCreateSuccess,\n createOptimisticActionParams,\n }: CreateAndAssignParams & { onCreateSuccess: (newTag: Tag) => void }) => {\n return new Promise<Tag>(async (resolve) => {\n await this.tagsManagementState.createTag({\n name,\n id,\n filteredListSize,\n origin: this.origin,\n isFromSearch,\n tagsBIReporter: this.tagsBIReporter,\n optimisticActionParams: createOptimisticActionParams,\n onSuccess: async (newTag) => {\n await onCreateSuccess?.(newTag);\n resolve(newTag);\n },\n });\n });\n };\n\n private _invokeBiOnAssignUnassign({\n actionName,\n tag,\n isFromSearch = false,\n }: {\n actionName: string;\n tag: Tag;\n isFromSearch?: boolean;\n }) {\n this.tagsBIReporter.reportBi(\n cairoTagsAssignTag({\n actionName,\n isFromSearch,\n itemId: this.entityId,\n numItems: 1,\n numTags: this.tagsManagementState.items.length,\n numTagsAssigned: this.assignedTags.length,\n tagName: tag.name!,\n origin: this.origin,\n }),\n );\n }\n\n private _getNewIndex() {\n const max = Math.max(\n 0,\n ...this.collection.result.items.map((tag) => tag.index!),\n );\n\n return max + 1;\n }\n}\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_v","require","_events","_interopRequireDefault","_util","ACTIONS","withoutDefaults","withoutIrrelevant","TagsBIReporter","constructor","params","_defineProperty2","default","EventEmitter","Add","Delete","Rename","collection","reportBi","location","setActionsMade","actionName","Error","action","actionsMade","resetActionsMade","_clearAllEvents","events","removeAllListeners","_getErrorType","e","isNetworkError","code","onSearch","searchValue","afterSearchParams","searchResultsCnt","result","items","filter","item","name","toLowerCase","includes","length","searchTerm","reportTagSelectedSearchBI","cairoSearchForTags","endType","reportSearchDismissedSearchBI","reportAddNewFromSearchBI","once","onAction","afterActionParams","numTags","cairoTagsAddDeleteTag","onError","error","errorParams","errorType","cairoTagsUnsuccessfulUpdateInServer","onTryAgain","tryAgainParams","loaction","cairoTryAgainClicked","onUndo","cairoUndoClicked","getActionsMadeChangesString","actionsMadeArray","push","join","onModalClose","cairoTagsModalEndProcess","exports"],"sources":["../../../../src/state/TagsState/TagsBIReporter.ts"],"sourcesContent":["import {\n cairoSearchForTags,\n cairoTagsAddDeleteTag,\n cairoTagsModalEndProcess,\n cairoTagsUnsuccessfulUpdateInServer,\n cairoTryAgainClicked,\n cairoUndoClicked,\n} from '@wix/bex-utils/@wix/bi-logger-cairo-os/v2';\n\nimport EventEmitter from 'events';\nimport {\n cairoSearchForTagsParams as SearchForTagsParams,\n cairoTagsAddDeleteTagParams as TagsAddDeleteTagParams,\n cairoTagsModalEndProcessParams as TagsModalEndProcessParams,\n cairoTagsUnsuccessfulUpdateInServerParams as TagsUnsuccessfulUpdateInServerParams,\n cairoTryAgainClickedParams as TagsTryAgainClickedParams,\n cairoUndoClickedParams as TagsUndoClickedParams,\n} from '@wix/bex-utils/@wix/bi-logger-cairo-os/v2/types';\nimport { Tag } from '@wix/bex-utils/@wix/ambassador-os-tags-v1-tag/types';\nimport { CollectionState } from '../CollectionState';\nimport { TypedEmitter, withoutIrrelevant } from '../../util';\nimport { ReportBI } from '../../services';\n\nconst ACTIONS = {\n 'Add tag': 'Add',\n 'Rename tag': 'Rename',\n 'Delete tag': 'Delete',\n};\n\nconst withoutDefaults = withoutIrrelevant();\n\nexport interface TagsBIReporterParams {\n readonly collection: CollectionState<Tag>;\n readonly reportBi: ReportBI;\n readonly location: string;\n}\n\nexport class TagsBIReporter {\n readonly collection;\n readonly reportBi;\n readonly location;\n\n readonly events = new EventEmitter() as TypedEmitter<{\n select: () => unknown;\n blur: () => unknown;\n add: () => unknown;\n clear: () => unknown;\n }>;\n\n private actionsMade: { Add: boolean; Delete: boolean; Rename: boolean } = {\n Add: false,\n Delete: false,\n Rename: false,\n };\n\n constructor(params: TagsBIReporterParams) {\n this.collection = params.collection;\n this.reportBi = params.reportBi;\n this.location = params.location;\n }\n\n set setActionsMade(actionName: string) {\n if (!(actionName in ACTIONS)) {\n throw Error(`Unknown action ${actionName} was invoked`);\n }\n const action = ACTIONS[actionName as keyof typeof ACTIONS];\n this.actionsMade = {\n ...this.actionsMade,\n [action]: true,\n };\n }\n\n resetActionsMade() {\n this.actionsMade = {\n Add: false,\n Delete: false,\n Rename: false,\n };\n }\n\n _clearAllEvents() {\n const { events } = this;\n\n events.removeAllListeners('select');\n events.removeAllListeners('blur');\n events.removeAllListeners('add');\n events.removeAllListeners('clear');\n }\n\n _getErrorType(e: any) {\n const isNetworkError = e?.code === 'ERR_NETWORK';\n return isNetworkError ? 'Network error' : 'Technical issue';\n }\n\n onSearch(searchValue: string) {\n const { events } = this;\n\n const afterSearchParams = {\n searchResultsCnt: this.collection.result.items.filter((item) =>\n item.name!.toLowerCase().includes(searchValue.toLowerCase()),\n ).length,\n searchTerm: searchValue,\n } as Partial<SearchForTagsParams>;\n\n const reportTagSelectedSearchBI = () => {\n this._clearAllEvents();\n\n this.reportBi(\n withoutDefaults(cairoSearchForTags)({\n ...afterSearchParams,\n location: this.location,\n endType: 'Tag selected',\n }),\n );\n };\n\n const reportSearchDismissedSearchBI = () => {\n this._clearAllEvents();\n\n this.reportBi(\n withoutDefaults(cairoSearchForTags)({\n ...afterSearchParams,\n location: this.location,\n endType: 'Search dismissed',\n }),\n );\n };\n\n const reportAddNewFromSearchBI = () => {\n this._clearAllEvents();\n\n this.reportBi(\n withoutDefaults(cairoSearchForTags)({\n ...afterSearchParams,\n location: this.location,\n endType: 'Add new tag',\n }),\n );\n };\n\n this._clearAllEvents();\n events.once('select', reportTagSelectedSearchBI);\n events.once('blur', reportSearchDismissedSearchBI);\n events.once('clear', reportSearchDismissedSearchBI);\n events.once('add', reportAddNewFromSearchBI);\n }\n\n onAction(params: Partial<TagsAddDeleteTagParams>) {\n if (params.actionName) {\n this.setActionsMade = params.actionName;\n }\n const afterActionParams = {\n numTags: this.collection.result.items.length,\n } as Partial<TagsAddDeleteTagParams>;\n\n this.reportBi(\n withoutDefaults(cairoTagsAddDeleteTag)({\n ...params,\n ...afterActionParams,\n }),\n );\n }\n\n onError(\n params: Partial<TagsUnsuccessfulUpdateInServerParams>,\n error: unknown,\n ) {\n const errorParams = {\n numTags: this.collection.result.items.length,\n errorType: this._getErrorType(error),\n } as Partial<TagsUnsuccessfulUpdateInServerParams>;\n\n this.reportBi(\n withoutDefaults(cairoTagsUnsuccessfulUpdateInServer)({\n ...errorParams,\n ...params,\n }),\n );\n }\n\n onTryAgain(params: Partial<TagsTryAgainClickedParams>) {\n const tryAgainParams = {\n loaction: 'Toast',\n };\n\n this.reportBi(\n withoutDefaults(cairoTryAgainClicked)({\n ...tryAgainParams,\n ...params,\n }),\n );\n }\n\n onUndo(params: Partial<TagsUndoClickedParams>) {\n this.reportBi(withoutDefaults(cairoUndoClicked)(params));\n }\n\n getActionsMadeChangesString() {\n const actionsMadeArray = [];\n this.actionsMade.Add && actionsMadeArray.push('Add');\n this.actionsMade.Delete && actionsMadeArray.push('Delete');\n this.actionsMade.Rename && actionsMadeArray.push('Rename');\n return actionsMadeArray.join('/');\n }\n\n onModalClose(params: Partial<TagsModalEndProcessParams>) {\n let endType = this.getActionsMadeChangesString();\n if (endType) {\n endType = `Close with changes(${endType})`;\n } else {\n endType = 'Close without changes';\n }\n\n this.reportBi(\n withoutDefaults(cairoTagsModalEndProcess)({\n ...params,\n numTags: this.collection.result.items.length,\n endType,\n }),\n );\n\n this.resetActionsMade();\n }\n}\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"names":["_v","require","_events","_interopRequireDefault","_util","ACTIONS","withoutDefaults","withoutIrrelevant","TagsBIReporter","constructor","params","_defineProperty2","default","EventEmitter","Add","Delete","Rename","collection","reportBi","location","setActionsMade","actionName","Error","action","actionsMade","resetActionsMade","_clearAllEvents","events","removeAllListeners","_getErrorType","e","isNetworkError","code","onSearch","searchValue","afterSearchParams","searchResultsCnt","result","items","filter","item","name","toLowerCase","includes","length","searchTerm","reportTagSelectedSearchBI","cairoSearchForTags","endType","reportSearchDismissedSearchBI","reportAddNewFromSearchBI","once","onAction","afterActionParams","numTags","cairoTagsAddDeleteTag","onError","error","errorParams","errorType","cairoTagsUnsuccessfulUpdateInServer","onTryAgain","tryAgainParams","loaction","cairoTryAgainClicked","onUndo","cairoUndoClicked","getActionsMadeChangesString","actionsMadeArray","push","join","onModalClose","cairoTagsModalEndProcess","exports"],"sources":["../../../../src/state/TagsState/TagsBIReporter.ts"],"sourcesContent":["import {\n cairoSearchForTags,\n cairoTagsAddDeleteTag,\n cairoTagsModalEndProcess,\n cairoTagsUnsuccessfulUpdateInServer,\n cairoTryAgainClicked,\n cairoUndoClicked,\n} from '@wix/bex-utils/@wix/bi-logger-cairo-os/v2';\n\nimport EventEmitter from 'events';\nimport {\n cairoSearchForTagsParams as SearchForTagsParams,\n cairoTagsAddDeleteTagParams as TagsAddDeleteTagParams,\n cairoTagsModalEndProcessParams as TagsModalEndProcessParams,\n cairoTagsUnsuccessfulUpdateInServerParams as TagsUnsuccessfulUpdateInServerParams,\n cairoTryAgainClickedParams as TagsTryAgainClickedParams,\n cairoUndoClickedParams as TagsUndoClickedParams,\n} from '@wix/bex-utils/@wix/bi-logger-cairo-os/v2/types';\nimport { Tag } from '@wix/bex-utils/@wix/ambassador-os-tags-v1-tag/types';\nimport { CollectionState } from '../CollectionState';\nimport { TypedEmitter, withoutIrrelevant } from '../../util';\nimport { ReportBI } from '../../services';\n\nconst ACTIONS = {\n 'Add tag': 'Add',\n 'Rename tag': 'Rename',\n 'Delete tag': 'Delete',\n};\n\nconst withoutDefaults = withoutIrrelevant();\n\nexport interface TagsBIReporterParams {\n readonly collection: CollectionState<Tag>;\n readonly reportBi: ReportBI;\n readonly location: string;\n}\n\nexport class TagsBIReporter {\n readonly collection;\n readonly reportBi;\n readonly location;\n\n readonly events = new EventEmitter() as TypedEmitter<{\n select: () => unknown;\n blur: () => unknown;\n add: () => unknown;\n clear: () => unknown;\n }>;\n\n private actionsMade: { Add: boolean; Delete: boolean; Rename: boolean } = {\n Add: false,\n Delete: false,\n Rename: false,\n };\n\n constructor(params: TagsBIReporterParams) {\n this.collection = params.collection;\n this.reportBi = params.reportBi;\n this.location = params.location;\n }\n\n set setActionsMade(actionName: string) {\n if (!(actionName in ACTIONS)) {\n throw Error(`Unknown action ${actionName} was invoked`);\n }\n const action = ACTIONS[actionName as keyof typeof ACTIONS];\n this.actionsMade = {\n ...this.actionsMade,\n [action]: true,\n };\n }\n\n resetActionsMade() {\n this.actionsMade = {\n Add: false,\n Delete: false,\n Rename: false,\n };\n }\n\n _clearAllEvents() {\n const { events } = this;\n\n events.removeAllListeners('select');\n events.removeAllListeners('blur');\n events.removeAllListeners('add');\n events.removeAllListeners('clear');\n }\n\n _getErrorType(e: any) {\n const isNetworkError = e?.code === 'ERR_NETWORK';\n return isNetworkError ? 'Network error' : 'Technical issue';\n }\n\n onSearch(searchValue: string) {\n const { events } = this;\n\n const afterSearchParams = {\n searchResultsCnt: this.collection.result.items.filter((item) =>\n item.name!.toLowerCase().includes(searchValue.toLowerCase()),\n ).length,\n searchTerm: searchValue,\n } as Partial<SearchForTagsParams>;\n\n const reportTagSelectedSearchBI = () => {\n this._clearAllEvents();\n\n this.reportBi(\n withoutDefaults(cairoSearchForTags)({\n ...afterSearchParams,\n location: this.location,\n endType: 'Tag selected',\n }),\n );\n };\n\n const reportSearchDismissedSearchBI = () => {\n this._clearAllEvents();\n\n this.reportBi(\n withoutDefaults(cairoSearchForTags)({\n ...afterSearchParams,\n location: this.location,\n endType: 'Search dismissed',\n }),\n );\n };\n\n const reportAddNewFromSearchBI = () => {\n this._clearAllEvents();\n\n this.reportBi(\n withoutDefaults(cairoSearchForTags)({\n ...afterSearchParams,\n location: this.location,\n endType: 'Add new tag',\n }),\n );\n };\n\n this._clearAllEvents();\n events.once('select', reportTagSelectedSearchBI);\n events.once('blur', reportSearchDismissedSearchBI);\n events.once('clear', reportSearchDismissedSearchBI);\n events.once('add', reportAddNewFromSearchBI);\n }\n\n onAction(params: Partial<TagsAddDeleteTagParams>) {\n if (params.actionName) {\n this.setActionsMade = params.actionName;\n }\n const afterActionParams = {\n numTags: this.collection.result.items.length,\n } as Partial<TagsAddDeleteTagParams>;\n\n this.reportBi(\n withoutDefaults(cairoTagsAddDeleteTag)({\n ...params,\n ...afterActionParams,\n }),\n );\n }\n\n onError(\n params: Partial<TagsUnsuccessfulUpdateInServerParams>,\n error: unknown,\n ) {\n const errorParams = {\n numTags: this.collection.result.items.length,\n errorType: this._getErrorType(error),\n } as Partial<TagsUnsuccessfulUpdateInServerParams>;\n\n this.reportBi(\n withoutDefaults(cairoTagsUnsuccessfulUpdateInServer)({\n ...errorParams,\n ...params,\n }),\n );\n }\n\n onTryAgain(params: Partial<TagsTryAgainClickedParams>) {\n const tryAgainParams = {\n loaction: 'Toast',\n };\n\n this.reportBi(\n withoutDefaults(cairoTryAgainClicked)({\n ...tryAgainParams,\n ...params,\n }),\n );\n }\n\n onUndo(params: Partial<TagsUndoClickedParams>) {\n this.reportBi(withoutDefaults(cairoUndoClicked)(params));\n }\n\n getActionsMadeChangesString() {\n const actionsMadeArray = [];\n this.actionsMade.Add && actionsMadeArray.push('Add');\n this.actionsMade.Delete && actionsMadeArray.push('Delete');\n this.actionsMade.Rename && actionsMadeArray.push('Rename');\n return actionsMadeArray.join('/');\n }\n\n onModalClose(params: Partial<TagsModalEndProcessParams>) {\n let endType = this.getActionsMadeChangesString();\n if (endType) {\n endType = `Close with changes(${endType})`;\n } else {\n endType = 'Close without changes';\n }\n\n this.reportBi(\n withoutDefaults(cairoTagsModalEndProcess)({\n ...params,\n numTags: this.collection.result.items.length,\n endType,\n }),\n );\n\n this.resetActionsMade();\n }\n}\n"],"mappings":"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","ignoreList":[]}
|