@wix/bex-core 2.13.0 → 2.15.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/bi/testkit/index.d.ts +2 -2
- package/bi/testkit/index.js +1 -1
- package/dist/cjs/assets/locale/messages_cs.json +2 -0
- package/dist/cjs/assets/locale/messages_da.json +3 -1
- package/dist/cjs/assets/locale/messages_de.json +7 -5
- package/dist/cjs/assets/locale/messages_en.json +3 -1
- package/dist/cjs/assets/locale/messages_es.json +3 -1
- package/dist/cjs/assets/locale/messages_fr.json +2 -0
- package/dist/cjs/assets/locale/messages_hi.json +2 -0
- package/dist/cjs/assets/locale/messages_id.json +3 -1
- package/dist/cjs/assets/locale/messages_it.json +2 -0
- package/dist/cjs/assets/locale/messages_ja.json +2 -0
- package/dist/cjs/assets/locale/messages_ko.json +2 -0
- package/dist/cjs/assets/locale/messages_nl.json +2 -0
- package/dist/cjs/assets/locale/messages_no.json +3 -1
- package/dist/cjs/assets/locale/messages_pl.json +3 -1
- package/dist/cjs/assets/locale/messages_pt.json +3 -1
- package/dist/cjs/assets/locale/messages_ru.json +3 -1
- package/dist/cjs/assets/locale/messages_sv.json +2 -0
- package/dist/cjs/assets/locale/messages_th.json +3 -1
- package/dist/cjs/assets/locale/messages_tr.json +3 -1
- package/dist/cjs/assets/locale/messages_uk.json +3 -1
- package/dist/cjs/assets/locale/messages_vi.json +2 -0
- package/dist/cjs/assets/locale/messages_zh.json +3 -1
- package/dist/cjs/exports/bi/index.js +1 -1
- package/dist/cjs/exports/bi/index.js.map +1 -1
- package/dist/cjs/hooks/collectionConfig.js.map +1 -1
- package/dist/cjs/model/computedQuery/computedQuery.js.map +1 -1
- package/dist/cjs/model/index.js +4 -4
- package/dist/cjs/model/index.js.map +1 -1
- package/dist/cjs/model/sort.js +2 -0
- package/dist/cjs/model/sort.js.map +1 -0
- package/dist/cjs/services/translations.js.map +1 -1
- package/dist/cjs/state/CollectionBIReporter.js +1 -1
- package/dist/cjs/state/CollectionBIReporter.js.map +1 -1
- package/dist/cjs/state/CollectionPageState.js +18 -0
- package/dist/cjs/state/CollectionPageState.js.map +1 -1
- package/dist/cjs/state/CustomFieldModalBiReporter.js +1 -1
- package/dist/cjs/state/CustomFieldModalBiReporter.js.map +1 -1
- package/dist/cjs/state/CustomFieldsViewWidgetState.js +1 -1
- package/dist/cjs/state/CustomFieldsViewWidgetState.js.map +1 -1
- package/dist/cjs/state/DataExtensionStateBIReporter.js +1 -1
- package/dist/cjs/state/DataExtensionStateBIReporter.js.map +1 -1
- package/dist/cjs/state/ExportStateBIReporter.js +1 -1
- package/dist/cjs/state/ExportStateBIReporter.js.map +1 -1
- package/dist/cjs/state/PageState.js +4 -0
- package/dist/cjs/state/PageState.js.map +1 -1
- package/dist/cjs/state/PickerState.js +1 -1
- package/dist/cjs/state/PickerState.js.map +1 -1
- package/dist/cjs/state/QueryPendingStateBIReporter.js +1 -1
- package/dist/cjs/state/QueryPendingStateBIReporter.js.map +1 -1
- package/dist/cjs/state/SortState.js +11 -0
- package/dist/cjs/state/SortState.js.map +1 -1
- package/dist/cjs/state/TagsState/TagsAssignmentState.js +1 -1
- package/dist/cjs/state/TagsState/TagsAssignmentState.js.map +1 -1
- package/dist/cjs/state/TagsState/TagsBIReporter.js +1 -1
- package/dist/cjs/state/TagsState/TagsBIReporter.js.map +1 -1
- package/dist/cjs/state/TagsState/TagsFormState.js +1 -1
- package/dist/cjs/state/TagsState/TagsFormState.js.map +1 -1
- package/dist/cjs/state/index.js +7 -0
- package/dist/cjs/state/index.js.map +1 -1
- package/dist/cjs/state/onItemsCreated.js +1 -1
- package/dist/cjs/state/onItemsCreated.js.map +1 -1
- package/dist/cjs/state/warmUpPickerStandalone.js +1 -1
- package/dist/cjs/state/warmUpPickerStandalone.js.map +1 -1
- package/dist/esm/assets/locale/messages_cs.json +2 -0
- package/dist/esm/assets/locale/messages_da.json +3 -1
- package/dist/esm/assets/locale/messages_de.json +7 -5
- package/dist/esm/assets/locale/messages_en.json +3 -1
- package/dist/esm/assets/locale/messages_es.json +3 -1
- package/dist/esm/assets/locale/messages_fr.json +2 -0
- package/dist/esm/assets/locale/messages_hi.json +2 -0
- package/dist/esm/assets/locale/messages_id.json +3 -1
- package/dist/esm/assets/locale/messages_it.json +2 -0
- package/dist/esm/assets/locale/messages_ja.json +2 -0
- package/dist/esm/assets/locale/messages_ko.json +2 -0
- package/dist/esm/assets/locale/messages_nl.json +2 -0
- package/dist/esm/assets/locale/messages_no.json +3 -1
- package/dist/esm/assets/locale/messages_pl.json +3 -1
- package/dist/esm/assets/locale/messages_pt.json +3 -1
- package/dist/esm/assets/locale/messages_ru.json +3 -1
- package/dist/esm/assets/locale/messages_sv.json +2 -0
- package/dist/esm/assets/locale/messages_th.json +3 -1
- package/dist/esm/assets/locale/messages_tr.json +3 -1
- package/dist/esm/assets/locale/messages_uk.json +3 -1
- package/dist/esm/assets/locale/messages_vi.json +2 -0
- package/dist/esm/assets/locale/messages_zh.json +3 -1
- package/dist/esm/exports/bi/index.js +1 -1
- package/dist/esm/exports/bi/index.js.map +1 -1
- package/dist/esm/model/index.js +1 -1
- package/dist/esm/model/index.js.map +1 -1
- package/dist/esm/model/sort.js +2 -0
- package/dist/esm/model/sort.js.map +1 -0
- package/dist/esm/state/CollectionBIReporter.js +1 -1
- package/dist/esm/state/CollectionBIReporter.js.map +1 -1
- package/dist/esm/state/CollectionPageState.js +18 -0
- package/dist/esm/state/CollectionPageState.js.map +1 -1
- package/dist/esm/state/CustomFieldModalBiReporter.js +1 -1
- package/dist/esm/state/CustomFieldModalBiReporter.js.map +1 -1
- package/dist/esm/state/CustomFieldsViewWidgetState.js +1 -1
- package/dist/esm/state/CustomFieldsViewWidgetState.js.map +1 -1
- package/dist/esm/state/DataExtensionStateBIReporter.js +1 -1
- package/dist/esm/state/DataExtensionStateBIReporter.js.map +1 -1
- package/dist/esm/state/ExportStateBIReporter.js +1 -1
- package/dist/esm/state/ExportStateBIReporter.js.map +1 -1
- package/dist/esm/state/PageState.js +1 -0
- package/dist/esm/state/PageState.js.map +1 -1
- package/dist/esm/state/PickerState.js +1 -1
- package/dist/esm/state/PickerState.js.map +1 -1
- package/dist/esm/state/QueryPendingStateBIReporter.js +1 -1
- package/dist/esm/state/QueryPendingStateBIReporter.js.map +1 -1
- package/dist/esm/state/SortState.js +9 -0
- package/dist/esm/state/SortState.js.map +1 -1
- package/dist/esm/state/TagsState/TagsAssignmentState.js +1 -1
- package/dist/esm/state/TagsState/TagsAssignmentState.js.map +1 -1
- package/dist/esm/state/TagsState/TagsBIReporter.js +1 -1
- package/dist/esm/state/TagsState/TagsBIReporter.js.map +1 -1
- package/dist/esm/state/TagsState/TagsFormState.js +1 -1
- package/dist/esm/state/TagsState/TagsFormState.js.map +1 -1
- package/dist/esm/state/index.js +1 -0
- package/dist/esm/state/index.js.map +1 -1
- package/dist/esm/state/onItemsCreated.js +1 -1
- package/dist/esm/state/onItemsCreated.js.map +1 -1
- package/dist/esm/state/warmUpPickerStandalone.js +1 -1
- package/dist/esm/state/warmUpPickerStandalone.js.map +1 -1
- package/dist/types/exports/bi/index.d.ts +1 -1
- package/dist/types/exports/bi/index.d.ts.map +1 -1
- package/dist/types/model/computedQuery/computedQuery.d.ts +1 -1
- package/dist/types/model/computedQuery/computedQuery.d.ts.map +1 -1
- package/dist/types/model/index.d.ts +1 -1
- package/dist/types/model/index.d.ts.map +1 -1
- package/dist/types/model/sort.d.ts +8 -0
- package/dist/types/model/sort.d.ts.map +1 -0
- package/dist/types/services/translations.d.ts +1 -1
- package/dist/types/services/translations.d.ts.map +1 -1
- package/dist/types/state/CollectionPageState.d.ts +2 -0
- package/dist/types/state/CollectionPageState.d.ts.map +1 -1
- package/dist/types/state/PageState.d.ts +1 -0
- package/dist/types/state/PageState.d.ts.map +1 -1
- package/dist/types/state/SortState.d.ts +3 -3
- package/dist/types/state/SortState.d.ts.map +1 -1
- package/dist/types/state/TagsState/TagsBIReporter.d.ts +1 -1
- package/dist/types/state/TagsState/TagsBIReporter.d.ts.map +1 -1
- package/dist/types/state/index.d.ts +1 -0
- package/dist/types/state/index.d.ts.map +1 -1
- package/package.json +3 -3
- package/dist/cjs/model/commonTypes.js +0 -2
- package/dist/cjs/model/commonTypes.js.map +0 -1
- package/dist/esm/model/commonTypes.js +0 -2
- package/dist/esm/model/commonTypes.js.map +0 -1
- package/dist/types/model/commonTypes.d.ts +0 -2
- package/dist/types/model/commonTypes.d.ts.map +0 -1
|
@@ -9,6 +9,7 @@ class PageState {
|
|
|
9
9
|
constructor() {
|
|
10
10
|
(0, _defineProperty2.default)(this, "modalsContainerRef", void 0);
|
|
11
11
|
(0, _defineProperty2.default)(this, "stackingRootRef", void 0);
|
|
12
|
+
(0, _defineProperty2.default)(this, "scrollableContentRef", void 0);
|
|
12
13
|
(0, _defineProperty2.default)(this, "_sidePanelOpen", (0, _bexUtils.reactive)(false));
|
|
13
14
|
this.modalsContainerRef = {
|
|
14
15
|
current: null
|
|
@@ -16,6 +17,9 @@ class PageState {
|
|
|
16
17
|
this.stackingRootRef = {
|
|
17
18
|
current: null
|
|
18
19
|
};
|
|
20
|
+
this.scrollableContentRef = {
|
|
21
|
+
current: null
|
|
22
|
+
};
|
|
19
23
|
}
|
|
20
24
|
set sidePanelOpen(value) {
|
|
21
25
|
this._sidePanelOpen.value = value;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_bexUtils","require","PageState","constructor","_defineProperty2","default","reactive","modalsContainerRef","current","stackingRootRef","sidePanelOpen","value","_sidePanelOpen","exports"],"sources":["../../../src/state/PageState.ts"],"sourcesContent":["import { reactive } from '@wix/bex-utils';\nimport { RefObject } from './RefObject';\n\nexport interface PageStateParams {}\n\nexport class PageState {\n readonly modalsContainerRef: RefObject<HTMLElement>;\n\n readonly stackingRootRef: RefObject<HTMLElement>;\n\n _sidePanelOpen = reactive<boolean>(false);\n\n constructor() {\n this.modalsContainerRef = { current: null };\n this.stackingRootRef = { current: null };\n }\n\n set sidePanelOpen(value: boolean) {\n this._sidePanelOpen.value = value;\n }\n}\n"],"mappings":";;;;;;AAAA,IAAAA,SAAA,GAAAC,OAAA;AAKO,MAAMC,SAAS,CAAC;
|
|
1
|
+
{"version":3,"names":["_bexUtils","require","PageState","constructor","_defineProperty2","default","reactive","modalsContainerRef","current","stackingRootRef","scrollableContentRef","sidePanelOpen","value","_sidePanelOpen","exports"],"sources":["../../../src/state/PageState.ts"],"sourcesContent":["import { reactive } from '@wix/bex-utils';\nimport { RefObject } from './RefObject';\n\nexport interface PageStateParams {}\n\nexport class PageState {\n readonly modalsContainerRef: RefObject<HTMLElement>;\n\n readonly stackingRootRef: RefObject<HTMLElement>;\n\n readonly scrollableContentRef: RefObject<HTMLElement>;\n\n _sidePanelOpen = reactive<boolean>(false);\n\n constructor() {\n this.modalsContainerRef = { current: null };\n this.stackingRootRef = { current: null };\n this.scrollableContentRef = { current: null };\n }\n\n set sidePanelOpen(value: boolean) {\n this._sidePanelOpen.value = value;\n }\n}\n"],"mappings":";;;;;;AAAA,IAAAA,SAAA,GAAAC,OAAA;AAKO,MAAMC,SAAS,CAAC;EASrBC,WAAWA,CAAA,EAAG;IAAA,IAAAC,gBAAA,CAAAC,OAAA;IAAA,IAAAD,gBAAA,CAAAC,OAAA;IAAA,IAAAD,gBAAA,CAAAC,OAAA;IAAA,IAAAD,gBAAA,CAAAC,OAAA,0BAFG,IAAAC,kBAAQ,EAAU,KAAK,CAAC;IAGvC,IAAI,CAACC,kBAAkB,GAAG;MAAEC,OAAO,EAAE;IAAK,CAAC;IAC3C,IAAI,CAACC,eAAe,GAAG;MAAED,OAAO,EAAE;IAAK,CAAC;IACxC,IAAI,CAACE,oBAAoB,GAAG;MAAEF,OAAO,EAAE;IAAK,CAAC;EAC/C;EAEA,IAAIG,aAAaA,CAACC,KAAc,EAAE;IAChC,IAAI,CAACC,cAAc,CAACD,KAAK,GAAGA,KAAK;EACnC;AACF;AAACE,OAAA,CAAAZ,SAAA,GAAAA,SAAA","ignoreList":[]}
|
|
@@ -8,7 +8,7 @@ var _CollectionState = require("./CollectionState");
|
|
|
8
8
|
var _mapValues = _interopRequireDefault(require("lodash/mapValues"));
|
|
9
9
|
var _mobx = require("mobx");
|
|
10
10
|
var _TaskState = require("./TaskState");
|
|
11
|
-
var _v = require("@wix/bex-utils/@wix/bi-logger-
|
|
11
|
+
var _v = require("@wix/bex-utils/@wix/bi-logger-os-data/v2");
|
|
12
12
|
var _util = require("../util");
|
|
13
13
|
var _snapshot = require("./snapshot");
|
|
14
14
|
var _MultiCollectionSupport = require("./MultiCollectionSupport");
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_CollectionState","require","_mapValues","_interopRequireDefault","_mobx","_TaskState","_v","_util","_snapshot","_MultiCollectionSupport","_onItemsCreated","DEFAULT_FLOATING_NOTIFICATION_HEIGHT","withoutDefaults","withoutIrrelevant","PickerState","constructor","params","_defineProperty2","default","TaskState","reportBi","startTime","performance","now","totalNewItems","loadMore","_commonDynamicBiParams","loadingTime","Math","round","loadedItems","collection","result","pickerModalUsability","action","searchTerm","query","search","value","cairoSearchResults","searchResultsCnt","total","ctaName","currentLevel","numLevels","cairoCtaClicked","ctaIndex","numCtas","location","moreActionsIndex","items","onItemsCreated","reportProps","runInAction","newItemCreationEnd","numSelectedItems","bulkSelect","select","selectedCount","resultType","getMaxItems","multi","MultiCollectionSupport","collections","shouldFilterNotAffectTotalCount","isScrollTop","minContentHeight","events","loadStartTime","filteredListSize","Snapshot","expression","Object","values","customFilters","map","f","effect","queryName","fetchData","history","queryCache","errorMonitor","onlineState","showToast","translate","itemKey","itemName","paginationMode","selectionConsistencyMode","lodash","noFilters","CollectionState","fetchErrorMessage","id","limit","pagination","onError","filters","mapValues","filter","clearedFilter","clone","reset","strictFiltersOnly","filterName","makeObservable","setFloatingNotificationHeight","someHidden","computed","toggle","updateIsScrollTop","onPrimaryButtonClick","observable","ref","clearResultAndMoveToStart","force","Promise","all","strictFiltersOnlyTotal","noFiltersTotal","newValue","listSize","maxItems","init","initTask","onReady","onInitialFetchError","emitter","on","onNewPage","onSearchStart","disposers","runOnce","status","promise","forceUpdate","loadEnd","url","window","href","initialItems","size","asComputed","e","captureException","err","isOnline","off","disposer","onCloseButtonClick","componentDismissed","origin","onBackButtonClick","_onButtonClick","onContinueButtonClick","onSecondaryButtonOnClick","pickerPickModalCtaButtonClickOrImmediateCta","isImmediate","itemsCnt","keyedItem","options","_bulkSelect$getCollec","onItemSelectClick","selectedCountOrTotal","numItemsBefore","selectedValues","prevSelected","clear","cairoItemSelectionToggled","isSelectAll","isFromSearch","isEmpty","searchQuery","itemIndex","index","hasAdditionalStep","itemId","key","clickType","isChecked","numItemsAfter","item","previousIndex","getCollectionItem","floatingNotificationHeight","exports"],"sources":["../../../src/state/PickerState.ts"],"sourcesContent":["import { CollectionState } from './CollectionState';\nimport {\n CollectionEvents,\n ComputedQuery,\n ComputedResult,\n FiltersMap,\n KeyedItem,\n} from '../model';\nimport mapValues from 'lodash/mapValues';\nimport {\n action,\n computed,\n makeObservable,\n observable,\n runInAction,\n} from 'mobx';\nimport { TaskState } from './TaskState';\nimport { ReportBI } from '../services';\nimport {\n cairoCtaClicked,\n cairoItemSelectionToggled,\n cairoSearchResults,\n componentDismissed,\n loadEnd,\n loadMore,\n newItemCreationEnd,\n pickerModalUsability,\n pickerPickModalCtaButtonClickOrImmediateCta,\n} from '@wix/bex-utils/@wix/bi-logger-cairo-os/v2';\nimport { withoutIrrelevant } from '../util';\nimport { Snapshot } from './snapshot';\nimport { MultiCollectionSupport } from './MultiCollectionSupport';\nimport { onItemsCreated } from './onItemsCreated';\n\nconst DEFAULT_FLOATING_NOTIFICATION_HEIGHT = 54;\n\nexport type OnPickerReady<F extends FiltersMap> = (params: {\n query: ComputedQuery<F>;\n result: ComputedResult;\n noFiltersTotal: ComputedResult['total'];\n}) => unknown;\n\nexport interface PickerEvents<T, F extends FiltersMap>\n extends CollectionEvents<F> {\n readonly onReady?: OnPickerReady<F>;\n readonly onInitialFetchError?: (params: {\n err: unknown;\n isOnline: boolean;\n }) => unknown;\n readonly onItemSelectClick?: (params: {\n item: T;\n index: number;\n previousIndex: number | null;\n }) => unknown;\n}\n\nexport interface PickerStateParams<T, F extends FiltersMap> {\n getMaxItems: () => number | undefined;\n collection: CollectionState<T, F>;\n minContentHeight?: string | number;\n events?: PickerEvents<T, F>;\n shouldFilterNotAffectTotalCount?: (filterName: keyof F) => boolean;\n loadStartTime?: number;\n reportBi: ReportBI;\n}\n\nconst withoutDefaults = withoutIrrelevant<\n 'currentTab' | 'currentFilters' | 'currentSortOrder' | 'currentView'\n>();\n\nexport class PickerState<T, F extends FiltersMap = FiltersMap> {\n readonly collection: PickerStateParams<T, F>['collection'];\n readonly multi;\n readonly strictFiltersOnly: PickerStateParams<T, F>['collection'];\n\n readonly noFilters: PickerStateParams<T, F>['collection'];\n readonly shouldFilterNotAffectTotalCount: (filterName: keyof F) => boolean;\n readonly events: PickerEvents<T, F>;\n\n readonly initTask = new TaskState();\n readonly reportBi;\n readonly loadStartTime;\n\n isScrollTop: boolean;\n\n minContentHeight: string | number;\n floatingNotificationHeight = 0;\n\n readonly getMaxItems;\n\n readonly filteredListSize;\n\n constructor(params: Readonly<PickerStateParams<T, F>>) {\n this.getMaxItems = params.getMaxItems;\n this.collection = params.collection;\n this.reportBi = params.reportBi;\n\n this.multi = new MultiCollectionSupport({\n collections: [this.collection],\n });\n\n this.shouldFilterNotAffectTotalCount =\n params.shouldFilterNotAffectTotalCount ?? (() => false);\n this.isScrollTop = true;\n this.minContentHeight = params.minContentHeight ?? 300;\n\n this.events = params.events ?? {};\n\n this.loadStartTime = params.loadStartTime ?? performance.now();\n\n this.filteredListSize = new Snapshot({\n expression: () =>\n Object.values(this.collection.query.customFilters).map((f) => f?.value),\n effect: () => this.collection.result.total,\n });\n\n const {\n queryName,\n fetchData,\n query,\n history,\n queryCache,\n errorMonitor,\n onlineState,\n showToast,\n translate,\n itemKey,\n itemName,\n paginationMode,\n selectionConsistencyMode,\n events,\n lodash,\n } = this.collection;\n\n this.noFilters = new CollectionState({\n queryName,\n fetchData,\n history,\n queryCache,\n errorMonitor,\n lodash,\n onlineState,\n showToast,\n translate,\n itemKey,\n itemName,\n fetchErrorMessage: () => null,\n paginationMode: paginationMode.id,\n limit: query.pagination.limit,\n selectionConsistencyMode,\n events: {\n onError: events.onError,\n },\n filters: mapValues(this.collection.query.customFilters, (filter) => {\n if (filter) {\n const clearedFilter = filter.clone();\n clearedFilter.reset(); // reset strict filter\n return clearedFilter;\n }\n\n return filter;\n }) as F,\n });\n\n this.strictFiltersOnly = new CollectionState({\n queryName,\n fetchData,\n history,\n queryCache,\n errorMonitor,\n lodash,\n onlineState,\n showToast,\n translate,\n itemKey,\n itemName,\n fetchErrorMessage: () => null,\n paginationMode: paginationMode.id,\n limit: query.pagination.limit,\n selectionConsistencyMode,\n events: {\n onError: events.onError,\n },\n filters: mapValues(\n this.collection.query.customFilters,\n (filter, filterName) => {\n // reset all filters that should not affect total count\n if (\n filter != null &&\n this.shouldFilterNotAffectTotalCount(filterName)\n ) {\n const clearedFilter = filter.clone();\n clearedFilter.reset();\n return clearedFilter;\n }\n\n return filter;\n },\n ) as F,\n });\n\n makeObservable(this, {\n setFloatingNotificationHeight: action,\n someHidden: computed,\n toggle: action,\n updateIsScrollTop: action,\n onPrimaryButtonClick: action,\n isScrollTop: observable.ref,\n });\n }\n\n async clearResultAndMoveToStart({ force }: { force?: boolean } = {}) {\n await Promise.all([\n this.collection.clearResultAndMoveToStart({ force }),\n this.strictFiltersOnly.clearResultAndMoveToStart({ force }),\n this.noFilters.clearResultAndMoveToStart({ force }),\n ]);\n }\n\n get someHidden() {\n const {\n strictFiltersOnly: {\n result: { total: strictFiltersOnlyTotal },\n },\n noFilters: {\n result: { total: noFiltersTotal },\n },\n } = this;\n return noFiltersTotal > strictFiltersOnlyTotal;\n }\n\n updateIsScrollTop(newValue: boolean) {\n this.isScrollTop = newValue;\n }\n\n _commonDynamicBiParams(): {\n filteredListSize?: number;\n listSize?: number;\n maxItems?: number;\n } {\n const { noFilters, collection, filteredListSize } = this;\n\n return {\n ...collection._commonDynamicBiParams(),\n listSize: noFilters.result.total,\n filteredListSize: filteredListSize.value,\n maxItems: this.getMaxItems(),\n };\n }\n\n onNewPage = () => {\n const { reportBi } = this;\n\n const startTime = performance.now();\n\n return ({ totalNewItems }: { totalNewItems: number }) => {\n reportBi(\n withoutDefaults(loadMore)({\n ...this._commonDynamicBiParams(),\n loadingTime: Math.round(performance.now() - startTime),\n loadedItems: totalNewItems,\n }),\n );\n };\n };\n\n onSearchStart = () => {\n const { collection, reportBi } = this;\n\n const { result } = collection;\n\n const startTime = performance.now();\n reportBi(\n pickerModalUsability({\n ...this._commonDynamicBiParams(),\n action: 'search',\n searchTerm: collection.query.search.value,\n }),\n );\n\n return () => {\n reportBi(\n cairoSearchResults({\n ...this._commonDynamicBiParams(),\n loadingTime: Math.round(performance.now() - startTime),\n searchResultsCnt: result.total,\n searchTerm: collection.query.search.value,\n }),\n );\n };\n };\n\n init() {\n const {\n collection,\n strictFiltersOnly,\n noFilters,\n initTask,\n events: { onReady, onInitialFetchError },\n reportBi,\n filteredListSize,\n } = this;\n\n collection.emitter.on('newPageStart', this.onNewPage);\n collection.emitter.on('searchStart', this.onSearchStart);\n\n const disposers = [\n collection.init(),\n filteredListSize.init(),\n strictFiltersOnly.init(),\n noFilters.init(),\n ];\n\n initTask.runOnce(async () => {\n const { result, query } = collection;\n\n try {\n await Promise.all([\n collection.initTask.status.promise,\n strictFiltersOnly.initTask.status.promise,\n noFilters.initTask.status.promise,\n ]);\n\n filteredListSize.forceUpdate();\n\n runInAction(() => {\n try {\n reportBi(\n withoutDefaults(loadEnd)({\n ...this._commonDynamicBiParams(),\n url: window.location.href,\n loadingTime: Math.round(performance.now() - this.loadStartTime),\n initialItems: result.size,\n }),\n );\n onReady?.({\n query: query.asComputed,\n result: result.asComputed,\n noFiltersTotal: noFilters.result.total,\n });\n } catch (e) {\n collection.errorMonitor.captureException(e);\n }\n });\n } catch (err) {\n await onInitialFetchError?.({\n err,\n isOnline: collection.onlineState.isOnline,\n });\n throw err;\n }\n });\n\n return () => {\n collection.emitter.off('newPageStart', this.onNewPage);\n collection.emitter.off('searchStart', this.onSearchStart);\n for (const disposer of disposers) {\n disposer();\n }\n };\n }\n\n onCloseButtonClick() {\n const { reportBi } = this;\n\n reportBi(\n withoutDefaults(componentDismissed)({\n origin: 'X button',\n }),\n );\n }\n\n onBackButtonClick() {\n const { _onButtonClick } = this;\n\n _onButtonClick({ ctaName: 'back', numLevels: 2, currentLevel: 2 });\n }\n\n onContinueButtonClick() {\n const { _onButtonClick } = this;\n\n _onButtonClick({ ctaName: 'continue-next', numLevels: 2, currentLevel: 1 });\n }\n\n onSecondaryButtonOnClick() {\n const { reportBi } = this;\n\n reportBi(\n withoutDefaults(componentDismissed)({\n origin: 'Cancel button',\n }),\n );\n }\n\n onPrimaryButtonClick({\n currentLevel,\n numLevels,\n }: {\n currentLevel: number;\n numLevels: number;\n }) {\n const {\n collection: { bulkSelect },\n _onButtonClick,\n reportBi,\n } = this;\n\n const { selectedCount } = bulkSelect;\n\n _onButtonClick({ ctaName: 'continue', currentLevel, numLevels });\n\n reportBi(\n pickerPickModalCtaButtonClickOrImmediateCta({\n ...this._commonDynamicBiParams(),\n isImmediate: false,\n itemsCnt: selectedCount,\n }),\n );\n }\n\n _onButtonClick = ({\n ctaName,\n currentLevel,\n numLevels,\n }: {\n ctaName: string;\n currentLevel: number;\n numLevels: number;\n }) => {\n this.reportBi(\n cairoCtaClicked({\n ...this._commonDynamicBiParams(),\n ctaIndex: 1,\n numCtas: 1,\n currentLevel,\n numLevels,\n location: 'picker',\n moreActionsIndex: 0,\n ctaName,\n }),\n );\n };\n\n toggle(\n keyedItem: KeyedItem<T>,\n options: { clear?: boolean; hasAdditionalStep?: boolean } = {},\n ) {\n const {\n collection,\n events: { onItemSelectClick },\n reportBi,\n } = this;\n const {\n bulkSelect,\n query: { search },\n } = collection;\n const { select, selectedCountOrTotal: numItemsBefore } = bulkSelect;\n\n const {\n selectedValues: [prevSelected],\n } = select;\n\n if (options.clear) {\n bulkSelect.select.clear();\n }\n\n bulkSelect.toggle(keyedItem);\n reportBi(\n cairoItemSelectionToggled({\n ...this._commonDynamicBiParams(),\n isSelectAll: false,\n isFromSearch: !search.isEmpty,\n searchQuery: search.value,\n itemIndex: keyedItem.index,\n numLevels: options.hasAdditionalStep ? 2 : 1,\n itemId: keyedItem.key,\n clickType: bulkSelect.isChecked(keyedItem.key)\n ? 'Selection'\n : 'Deselection',\n numItemsBefore,\n numItemsAfter: bulkSelect.selectedCountOrTotal,\n }),\n );\n onItemSelectClick?.({\n item: keyedItem.item,\n index: keyedItem.index,\n previousIndex:\n prevSelected != null\n ? (bulkSelect.getCollectionItem(prevSelected.key)?.index as\n | number\n | null)\n : null,\n });\n }\n\n setFloatingNotificationHeight(\n floatingNotificationHeight: number = DEFAULT_FLOATING_NOTIFICATION_HEIGHT,\n ) {\n this.floatingNotificationHeight = floatingNotificationHeight;\n }\n\n onCreateNew = action(async (items?: T[]) => {\n if (items) {\n await onItemsCreated(this.collection, {\n items,\n reportBi: (reportProps) => {\n this.reportBi({\n ...reportProps,\n params: {\n ...this._commonDynamicBiParams(),\n ...reportProps.params,\n },\n });\n },\n });\n } else {\n runInAction(() => {\n this.reportBi(\n newItemCreationEnd({\n ...this._commonDynamicBiParams(),\n numSelectedItems: this.collection.bulkSelect.select.selectedCount,\n resultType: 'dismissed',\n }),\n );\n });\n }\n });\n}\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["_CollectionState","require","_mapValues","_interopRequireDefault","_mobx","_TaskState","_v","_util","_snapshot","_MultiCollectionSupport","_onItemsCreated","DEFAULT_FLOATING_NOTIFICATION_HEIGHT","withoutDefaults","withoutIrrelevant","PickerState","constructor","params","_defineProperty2","default","TaskState","reportBi","startTime","performance","now","totalNewItems","loadMore","_commonDynamicBiParams","loadingTime","Math","round","loadedItems","collection","result","pickerModalUsability","action","searchTerm","query","search","value","cairoSearchResults","searchResultsCnt","total","ctaName","currentLevel","numLevels","cairoCtaClicked","ctaIndex","numCtas","location","moreActionsIndex","items","onItemsCreated","reportProps","runInAction","newItemCreationEnd","numSelectedItems","bulkSelect","select","selectedCount","resultType","getMaxItems","multi","MultiCollectionSupport","collections","shouldFilterNotAffectTotalCount","isScrollTop","minContentHeight","events","loadStartTime","filteredListSize","Snapshot","expression","Object","values","customFilters","map","f","effect","queryName","fetchData","history","queryCache","errorMonitor","onlineState","showToast","translate","itemKey","itemName","paginationMode","selectionConsistencyMode","lodash","noFilters","CollectionState","fetchErrorMessage","id","limit","pagination","onError","filters","mapValues","filter","clearedFilter","clone","reset","strictFiltersOnly","filterName","makeObservable","setFloatingNotificationHeight","someHidden","computed","toggle","updateIsScrollTop","onPrimaryButtonClick","observable","ref","clearResultAndMoveToStart","force","Promise","all","strictFiltersOnlyTotal","noFiltersTotal","newValue","listSize","maxItems","init","initTask","onReady","onInitialFetchError","emitter","on","onNewPage","onSearchStart","disposers","runOnce","status","promise","forceUpdate","loadEnd","url","window","href","initialItems","size","asComputed","e","captureException","err","isOnline","off","disposer","onCloseButtonClick","componentDismissed","origin","onBackButtonClick","_onButtonClick","onContinueButtonClick","onSecondaryButtonOnClick","pickerPickModalCtaButtonClickOrImmediateCta","isImmediate","itemsCnt","keyedItem","options","_bulkSelect$getCollec","onItemSelectClick","selectedCountOrTotal","numItemsBefore","selectedValues","prevSelected","clear","cairoItemSelectionToggled","isSelectAll","isFromSearch","isEmpty","searchQuery","itemIndex","index","hasAdditionalStep","itemId","key","clickType","isChecked","numItemsAfter","item","previousIndex","getCollectionItem","floatingNotificationHeight","exports"],"sources":["../../../src/state/PickerState.ts"],"sourcesContent":["import { CollectionState } from './CollectionState';\nimport {\n CollectionEvents,\n ComputedQuery,\n ComputedResult,\n FiltersMap,\n KeyedItem,\n} from '../model';\nimport mapValues from 'lodash/mapValues';\nimport {\n action,\n computed,\n makeObservable,\n observable,\n runInAction,\n} from 'mobx';\nimport { TaskState } from './TaskState';\nimport { ReportBI } from '../services';\nimport {\n cairoCtaClicked,\n cairoItemSelectionToggled,\n cairoSearchResults,\n componentDismissed,\n loadEnd,\n loadMore,\n newItemCreationEnd,\n pickerModalUsability,\n pickerPickModalCtaButtonClickOrImmediateCta,\n} from '@wix/bex-utils/@wix/bi-logger-os-data/v2';\nimport { withoutIrrelevant } from '../util';\nimport { Snapshot } from './snapshot';\nimport { MultiCollectionSupport } from './MultiCollectionSupport';\nimport { onItemsCreated } from './onItemsCreated';\n\nconst DEFAULT_FLOATING_NOTIFICATION_HEIGHT = 54;\n\nexport type OnPickerReady<F extends FiltersMap> = (params: {\n query: ComputedQuery<F>;\n result: ComputedResult;\n noFiltersTotal: ComputedResult['total'];\n}) => unknown;\n\nexport interface PickerEvents<T, F extends FiltersMap>\n extends CollectionEvents<F> {\n readonly onReady?: OnPickerReady<F>;\n readonly onInitialFetchError?: (params: {\n err: unknown;\n isOnline: boolean;\n }) => unknown;\n readonly onItemSelectClick?: (params: {\n item: T;\n index: number;\n previousIndex: number | null;\n }) => unknown;\n}\n\nexport interface PickerStateParams<T, F extends FiltersMap> {\n getMaxItems: () => number | undefined;\n collection: CollectionState<T, F>;\n minContentHeight?: string | number;\n events?: PickerEvents<T, F>;\n shouldFilterNotAffectTotalCount?: (filterName: keyof F) => boolean;\n loadStartTime?: number;\n reportBi: ReportBI;\n}\n\nconst withoutDefaults = withoutIrrelevant<\n 'currentTab' | 'currentFilters' | 'currentSortOrder' | 'currentView'\n>();\n\nexport class PickerState<T, F extends FiltersMap = FiltersMap> {\n readonly collection: PickerStateParams<T, F>['collection'];\n readonly multi;\n readonly strictFiltersOnly: PickerStateParams<T, F>['collection'];\n\n readonly noFilters: PickerStateParams<T, F>['collection'];\n readonly shouldFilterNotAffectTotalCount: (filterName: keyof F) => boolean;\n readonly events: PickerEvents<T, F>;\n\n readonly initTask = new TaskState();\n readonly reportBi;\n readonly loadStartTime;\n\n isScrollTop: boolean;\n\n minContentHeight: string | number;\n floatingNotificationHeight = 0;\n\n readonly getMaxItems;\n\n readonly filteredListSize;\n\n constructor(params: Readonly<PickerStateParams<T, F>>) {\n this.getMaxItems = params.getMaxItems;\n this.collection = params.collection;\n this.reportBi = params.reportBi;\n\n this.multi = new MultiCollectionSupport({\n collections: [this.collection],\n });\n\n this.shouldFilterNotAffectTotalCount =\n params.shouldFilterNotAffectTotalCount ?? (() => false);\n this.isScrollTop = true;\n this.minContentHeight = params.minContentHeight ?? 300;\n\n this.events = params.events ?? {};\n\n this.loadStartTime = params.loadStartTime ?? performance.now();\n\n this.filteredListSize = new Snapshot({\n expression: () =>\n Object.values(this.collection.query.customFilters).map((f) => f?.value),\n effect: () => this.collection.result.total,\n });\n\n const {\n queryName,\n fetchData,\n query,\n history,\n queryCache,\n errorMonitor,\n onlineState,\n showToast,\n translate,\n itemKey,\n itemName,\n paginationMode,\n selectionConsistencyMode,\n events,\n lodash,\n } = this.collection;\n\n this.noFilters = new CollectionState({\n queryName,\n fetchData,\n history,\n queryCache,\n errorMonitor,\n lodash,\n onlineState,\n showToast,\n translate,\n itemKey,\n itemName,\n fetchErrorMessage: () => null,\n paginationMode: paginationMode.id,\n limit: query.pagination.limit,\n selectionConsistencyMode,\n events: {\n onError: events.onError,\n },\n filters: mapValues(this.collection.query.customFilters, (filter) => {\n if (filter) {\n const clearedFilter = filter.clone();\n clearedFilter.reset(); // reset strict filter\n return clearedFilter;\n }\n\n return filter;\n }) as F,\n });\n\n this.strictFiltersOnly = new CollectionState({\n queryName,\n fetchData,\n history,\n queryCache,\n errorMonitor,\n lodash,\n onlineState,\n showToast,\n translate,\n itemKey,\n itemName,\n fetchErrorMessage: () => null,\n paginationMode: paginationMode.id,\n limit: query.pagination.limit,\n selectionConsistencyMode,\n events: {\n onError: events.onError,\n },\n filters: mapValues(\n this.collection.query.customFilters,\n (filter, filterName) => {\n // reset all filters that should not affect total count\n if (\n filter != null &&\n this.shouldFilterNotAffectTotalCount(filterName)\n ) {\n const clearedFilter = filter.clone();\n clearedFilter.reset();\n return clearedFilter;\n }\n\n return filter;\n },\n ) as F,\n });\n\n makeObservable(this, {\n setFloatingNotificationHeight: action,\n someHidden: computed,\n toggle: action,\n updateIsScrollTop: action,\n onPrimaryButtonClick: action,\n isScrollTop: observable.ref,\n });\n }\n\n async clearResultAndMoveToStart({ force }: { force?: boolean } = {}) {\n await Promise.all([\n this.collection.clearResultAndMoveToStart({ force }),\n this.strictFiltersOnly.clearResultAndMoveToStart({ force }),\n this.noFilters.clearResultAndMoveToStart({ force }),\n ]);\n }\n\n get someHidden() {\n const {\n strictFiltersOnly: {\n result: { total: strictFiltersOnlyTotal },\n },\n noFilters: {\n result: { total: noFiltersTotal },\n },\n } = this;\n return noFiltersTotal > strictFiltersOnlyTotal;\n }\n\n updateIsScrollTop(newValue: boolean) {\n this.isScrollTop = newValue;\n }\n\n _commonDynamicBiParams(): {\n filteredListSize?: number;\n listSize?: number;\n maxItems?: number;\n } {\n const { noFilters, collection, filteredListSize } = this;\n\n return {\n ...collection._commonDynamicBiParams(),\n listSize: noFilters.result.total,\n filteredListSize: filteredListSize.value,\n maxItems: this.getMaxItems(),\n };\n }\n\n onNewPage = () => {\n const { reportBi } = this;\n\n const startTime = performance.now();\n\n return ({ totalNewItems }: { totalNewItems: number }) => {\n reportBi(\n withoutDefaults(loadMore)({\n ...this._commonDynamicBiParams(),\n loadingTime: Math.round(performance.now() - startTime),\n loadedItems: totalNewItems,\n }),\n );\n };\n };\n\n onSearchStart = () => {\n const { collection, reportBi } = this;\n\n const { result } = collection;\n\n const startTime = performance.now();\n reportBi(\n pickerModalUsability({\n ...this._commonDynamicBiParams(),\n action: 'search',\n searchTerm: collection.query.search.value,\n }),\n );\n\n return () => {\n reportBi(\n cairoSearchResults({\n ...this._commonDynamicBiParams(),\n loadingTime: Math.round(performance.now() - startTime),\n searchResultsCnt: result.total,\n searchTerm: collection.query.search.value,\n }),\n );\n };\n };\n\n init() {\n const {\n collection,\n strictFiltersOnly,\n noFilters,\n initTask,\n events: { onReady, onInitialFetchError },\n reportBi,\n filteredListSize,\n } = this;\n\n collection.emitter.on('newPageStart', this.onNewPage);\n collection.emitter.on('searchStart', this.onSearchStart);\n\n const disposers = [\n collection.init(),\n filteredListSize.init(),\n strictFiltersOnly.init(),\n noFilters.init(),\n ];\n\n initTask.runOnce(async () => {\n const { result, query } = collection;\n\n try {\n await Promise.all([\n collection.initTask.status.promise,\n strictFiltersOnly.initTask.status.promise,\n noFilters.initTask.status.promise,\n ]);\n\n filteredListSize.forceUpdate();\n\n runInAction(() => {\n try {\n reportBi(\n withoutDefaults(loadEnd)({\n ...this._commonDynamicBiParams(),\n url: window.location.href,\n loadingTime: Math.round(performance.now() - this.loadStartTime),\n initialItems: result.size,\n }),\n );\n onReady?.({\n query: query.asComputed,\n result: result.asComputed,\n noFiltersTotal: noFilters.result.total,\n });\n } catch (e) {\n collection.errorMonitor.captureException(e);\n }\n });\n } catch (err) {\n await onInitialFetchError?.({\n err,\n isOnline: collection.onlineState.isOnline,\n });\n throw err;\n }\n });\n\n return () => {\n collection.emitter.off('newPageStart', this.onNewPage);\n collection.emitter.off('searchStart', this.onSearchStart);\n for (const disposer of disposers) {\n disposer();\n }\n };\n }\n\n onCloseButtonClick() {\n const { reportBi } = this;\n\n reportBi(\n withoutDefaults(componentDismissed)({\n origin: 'X button',\n }),\n );\n }\n\n onBackButtonClick() {\n const { _onButtonClick } = this;\n\n _onButtonClick({ ctaName: 'back', numLevels: 2, currentLevel: 2 });\n }\n\n onContinueButtonClick() {\n const { _onButtonClick } = this;\n\n _onButtonClick({ ctaName: 'continue-next', numLevels: 2, currentLevel: 1 });\n }\n\n onSecondaryButtonOnClick() {\n const { reportBi } = this;\n\n reportBi(\n withoutDefaults(componentDismissed)({\n origin: 'Cancel button',\n }),\n );\n }\n\n onPrimaryButtonClick({\n currentLevel,\n numLevels,\n }: {\n currentLevel: number;\n numLevels: number;\n }) {\n const {\n collection: { bulkSelect },\n _onButtonClick,\n reportBi,\n } = this;\n\n const { selectedCount } = bulkSelect;\n\n _onButtonClick({ ctaName: 'continue', currentLevel, numLevels });\n\n reportBi(\n pickerPickModalCtaButtonClickOrImmediateCta({\n ...this._commonDynamicBiParams(),\n isImmediate: false,\n itemsCnt: selectedCount,\n }),\n );\n }\n\n _onButtonClick = ({\n ctaName,\n currentLevel,\n numLevels,\n }: {\n ctaName: string;\n currentLevel: number;\n numLevels: number;\n }) => {\n this.reportBi(\n cairoCtaClicked({\n ...this._commonDynamicBiParams(),\n ctaIndex: 1,\n numCtas: 1,\n currentLevel,\n numLevels,\n location: 'picker',\n moreActionsIndex: 0,\n ctaName,\n }),\n );\n };\n\n toggle(\n keyedItem: KeyedItem<T>,\n options: { clear?: boolean; hasAdditionalStep?: boolean } = {},\n ) {\n const {\n collection,\n events: { onItemSelectClick },\n reportBi,\n } = this;\n const {\n bulkSelect,\n query: { search },\n } = collection;\n const { select, selectedCountOrTotal: numItemsBefore } = bulkSelect;\n\n const {\n selectedValues: [prevSelected],\n } = select;\n\n if (options.clear) {\n bulkSelect.select.clear();\n }\n\n bulkSelect.toggle(keyedItem);\n reportBi(\n cairoItemSelectionToggled({\n ...this._commonDynamicBiParams(),\n isSelectAll: false,\n isFromSearch: !search.isEmpty,\n searchQuery: search.value,\n itemIndex: keyedItem.index,\n numLevels: options.hasAdditionalStep ? 2 : 1,\n itemId: keyedItem.key,\n clickType: bulkSelect.isChecked(keyedItem.key)\n ? 'Selection'\n : 'Deselection',\n numItemsBefore,\n numItemsAfter: bulkSelect.selectedCountOrTotal,\n }),\n );\n onItemSelectClick?.({\n item: keyedItem.item,\n index: keyedItem.index,\n previousIndex:\n prevSelected != null\n ? (bulkSelect.getCollectionItem(prevSelected.key)?.index as\n | number\n | null)\n : null,\n });\n }\n\n setFloatingNotificationHeight(\n floatingNotificationHeight: number = DEFAULT_FLOATING_NOTIFICATION_HEIGHT,\n ) {\n this.floatingNotificationHeight = floatingNotificationHeight;\n }\n\n onCreateNew = action(async (items?: T[]) => {\n if (items) {\n await onItemsCreated(this.collection, {\n items,\n reportBi: (reportProps) => {\n this.reportBi({\n ...reportProps,\n params: {\n ...this._commonDynamicBiParams(),\n ...reportProps.params,\n },\n });\n },\n });\n } else {\n runInAction(() => {\n this.reportBi(\n newItemCreationEnd({\n ...this._commonDynamicBiParams(),\n numSelectedItems: this.collection.bulkSelect.select.selectedCount,\n resultType: 'dismissed',\n }),\n );\n });\n }\n });\n}\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -4,7 +4,7 @@ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefau
|
|
|
4
4
|
exports.__esModule = true;
|
|
5
5
|
exports.QueryPendingStateBIReporter = void 0;
|
|
6
6
|
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
|
7
|
-
var _v = require("@wix/bex-utils/@wix/bi-logger-
|
|
7
|
+
var _v = require("@wix/bex-utils/@wix/bi-logger-os-data/v2");
|
|
8
8
|
var _util = require("../util");
|
|
9
9
|
var _mobx = require("mobx");
|
|
10
10
|
class QueryPendingStateBIReporter {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_v","require","_util","_mobx","QueryPendingStateBIReporter","constructor","state","_defineProperty2","default","init","disposers","trackedFilters","forEach","trackedFilter","push","reaction","pending","value","isClearing","origin","_reportWithDefaultParams","withoutDefaults","cairoChangesBeforeApply","fieldName","name","fieldValue","_getFilterBIValue","undefined","disposer","reportBi","toolbar","reportProps","params","feature","filter","isEmpty","toArray","map","itemKey","toString","currentStatus","filters","reduce","prev","cur","apply","cairoApplyButtonClicked","JSON","stringify","filteredListSize","multi","collections","result","total","listSize","available","numActiveFields","el","length","numOptionalFields","clear","isClearButton","Promise","resolve","setTimeout","discard","cairoDiscardChangesBeforeApply","exports"],"sources":["../../../src/state/QueryPendingStateBIReporter.ts"],"sourcesContent":["import { ReportProps } from '@wix/fe-essentials/bi';\nimport {\n cairoApplyButtonClicked,\n cairoChangesBeforeApply,\n cairoDiscardChangesBeforeApply,\n} from '@wix/bex-utils/@wix/bi-logger-
|
|
1
|
+
{"version":3,"names":["_v","require","_util","_mobx","QueryPendingStateBIReporter","constructor","state","_defineProperty2","default","init","disposers","trackedFilters","forEach","trackedFilter","push","reaction","pending","value","isClearing","origin","_reportWithDefaultParams","withoutDefaults","cairoChangesBeforeApply","fieldName","name","fieldValue","_getFilterBIValue","undefined","disposer","reportBi","toolbar","reportProps","params","feature","filter","isEmpty","toArray","map","itemKey","toString","currentStatus","filters","reduce","prev","cur","apply","cairoApplyButtonClicked","JSON","stringify","filteredListSize","multi","collections","result","total","listSize","available","numActiveFields","el","length","numOptionalFields","clear","isClearButton","Promise","resolve","setTimeout","discard","cairoDiscardChangesBeforeApply","exports"],"sources":["../../../src/state/QueryPendingStateBIReporter.ts"],"sourcesContent":["import { ReportProps } from '@wix/fe-essentials/bi';\nimport {\n cairoApplyButtonClicked,\n cairoChangesBeforeApply,\n cairoDiscardChangesBeforeApply,\n} from '@wix/bex-utils/@wix/bi-logger-os-data/v2';\nimport { withoutDefaults } from '../util';\nimport { QueryPendingState } from './QueryPendingState';\nimport { reaction } from 'mobx';\nimport { Filter } from '../model';\n\nexport class QueryPendingStateBIReporter {\n readonly state;\n\n isClearing: boolean = false;\n\n constructor(state: QueryPendingState) {\n this.state = state;\n }\n\n init() {\n const disposers: (() => void)[] = [];\n this.state.trackedFilters.forEach((trackedFilter) => {\n disposers.push(\n reaction(\n () => trackedFilter.pending.value,\n () => {\n if (\n this.isClearing ||\n trackedFilter.pending.value === trackedFilter.origin.value\n ) {\n return;\n }\n\n this._reportWithDefaultParams(\n withoutDefaults(cairoChangesBeforeApply)({\n fieldName: trackedFilter.pending.name,\n fieldValue:\n this._getFilterBIValue(trackedFilter.pending) ?? undefined,\n }),\n );\n },\n ),\n );\n });\n\n return () => {\n disposers.forEach((disposer) => disposer());\n };\n }\n\n get reportBi() {\n return this.state.toolbar.reportBi;\n }\n\n _reportWithDefaultParams(reportProps: ReportProps) {\n this.reportBi({\n ...reportProps,\n params: {\n ...reportProps.params,\n feature: 'Filters',\n },\n });\n }\n\n _getFilterBIValue(filter: Filter<any>) {\n return filter.value != null\n ? filter.isEmpty\n ? null\n : filter.toArray.map(filter.itemKey).toString()\n : null;\n }\n\n get currentStatus() {\n return this.state.filters.reduce((prev, cur) => {\n return [\n ...prev,\n {\n fieldName: cur.pending.name,\n fieldValue: this._getFilterBIValue(cur.pending),\n },\n ];\n }, [] as { fieldName: string; fieldValue: string | null }[]);\n }\n\n apply() {\n const currentStatus = this.currentStatus;\n this._reportWithDefaultParams(\n withoutDefaults(cairoApplyButtonClicked)({\n currentStatus: JSON.stringify(currentStatus),\n filteredListSize: this.state.multi.collections.reduce(\n (prev, cur) => prev + cur.result.total,\n 0,\n ),\n listSize:\n this.state.multi.collections.reduce(\n (prev, cur) => prev + (cur.result.available ?? 0),\n 0,\n ) || undefined,\n numActiveFields: currentStatus.filter((el) => el.fieldValue !== null)\n .length,\n numOptionalFields: currentStatus.length,\n }),\n );\n }\n\n async clear() {\n this.isClearing = true;\n this._reportWithDefaultParams(\n withoutDefaults(cairoChangesBeforeApply)({\n isClearButton: true,\n numActiveFields: this.currentStatus.filter(\n (el) => el.fieldValue !== null,\n ).length,\n }),\n );\n // Wait for the next tick in order not to send `cairoChangesBeforeApply` if value changed because of clear action\n await new Promise((resolve) => setTimeout(resolve, 0));\n this.isClearing = false;\n }\n\n discard() {\n const currentStatus = this.currentStatus;\n this._reportWithDefaultParams(\n withoutDefaults(cairoDiscardChangesBeforeApply)({\n currentStatus: JSON.stringify(currentStatus),\n numActiveFields: currentStatus.filter((el) => el.fieldValue !== null)\n .length,\n numOptionalFields: currentStatus.length,\n }),\n );\n }\n}\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -31,10 +31,21 @@ class SortState {
|
|
|
31
31
|
const existingSort = this._value.find(({
|
|
32
32
|
field
|
|
33
33
|
}) => field === col.id);
|
|
34
|
+
|
|
35
|
+
/**
|
|
36
|
+
* @deprecated always option is deprecated
|
|
37
|
+
*/
|
|
34
38
|
if (col.sortMode === 'always') {
|
|
35
39
|
return (existingSort == null ? void 0 : existingSort.direction) === 'asc' ? 'desc' : 'asc';
|
|
36
40
|
}
|
|
37
41
|
|
|
42
|
+
// Get the next sort mode
|
|
43
|
+
if (Array.isArray(col.sortMode)) {
|
|
44
|
+
const currentSortIndex = col.sortMode.indexOf(existingSort == null ? void 0 : existingSort.direction);
|
|
45
|
+
const nextSortIndex = (currentSortIndex + 1) % col.sortMode.length;
|
|
46
|
+
return col.sortMode[nextSortIndex];
|
|
47
|
+
}
|
|
48
|
+
|
|
38
49
|
// asc->desc->undefined->asc...
|
|
39
50
|
return existingSort === undefined ? 'asc' : existingSort.direction === 'desc' ? undefined : 'desc';
|
|
40
51
|
}
|
|
@@ -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","
|
|
1
|
+
{"version":3,"names":["_events","require","_mobx","SortState","constructor","_params","_defineProperty2","default","observable","array","deep","EventEmitter","makeObservable","value","computed","setSort","action","changeSort","reset","emitChangeEvent","_value","clear","events","emit","_getNextSortOrder","col","existingSort","find","field","id","sortMode","direction","Array","isArray","currentSortIndex","indexOf","nextSortIndex","length","undefined","forceDirection","multiple","order","_setSortMultiple","_setSortSingular","push","sortIndex","findIndex","nextDirection","setSortQuery","query","replace","params","getIsSortDescending","sort","exports"],"sources":["../../../src/state/SortState.ts"],"sourcesContent":["import { EventEmitter } from 'events';\nimport { action, computed, makeObservable, observable } from 'mobx';\nimport { Sort, SortMode, SortOrder } from '../model';\nimport { TypedEmitter } from '../util';\n\nexport interface SortStateParams {}\n\nexport interface Sortable {\n id: string;\n sortMode?: SortMode;\n}\n\nexport class SortState {\n readonly _value = observable.array<Sort>([], { deep: true });\n\n readonly events = new EventEmitter() as TypedEmitter<{\n change: (params?: { col?: Sortable }) => unknown;\n }>;\n\n constructor(_params: SortStateParams) {\n makeObservable(this, {\n value: computed,\n setSort: action,\n changeSort: action,\n reset: action,\n });\n }\n\n reset({ emitChangeEvent }: { emitChangeEvent?: boolean } = {}) {\n this._value.clear();\n\n if (emitChangeEvent) {\n this.events.emit('change');\n }\n }\n\n _getNextSortOrder(col: Sortable) {\n const existingSort = this._value.find(({ field }) => field === col.id);\n\n /**\n * @deprecated always option is deprecated\n */\n if (col.sortMode === 'always') {\n return existingSort?.direction === 'asc' ? 'desc' : 'asc';\n }\n\n // Get the next sort mode\n if (Array.isArray(col.sortMode)) {\n const currentSortIndex = col.sortMode.indexOf(existingSort?.direction);\n const nextSortIndex = (currentSortIndex + 1) % col.sortMode.length;\n\n return col.sortMode[nextSortIndex];\n }\n\n // asc->desc->undefined->asc...\n return existingSort === undefined\n ? 'asc'\n : existingSort.direction === 'desc'\n ? undefined\n : 'desc';\n }\n\n setSort(\n col: Sortable,\n {\n forceDirection,\n emitChangeEvent,\n multiple,\n }: {\n forceDirection?: SortOrder;\n emitChangeEvent?: boolean;\n multiple?: boolean;\n } = {},\n ) {\n const order = forceDirection ?? this._getNextSortOrder(col);\n\n if (multiple) {\n this._setSortMultiple(col, order);\n } else {\n this._setSortSingular(col, order);\n }\n\n if (emitChangeEvent) {\n this.events.emit('change', { col });\n }\n }\n\n _setSortSingular(col: Sortable, direction?: SortOrder) {\n this._value.clear();\n\n if (direction) {\n this._value.push({ field: col.id, direction });\n }\n }\n\n /**\n * Rules\n * Sort by a new column:\n * - Clear all previous sorts and add a new one\n * Sort by an existing column:\n * - If only 1 column is sorted, the next direction is calculated\n * with the SortMode in mind (if provided).\n * - If more than 1 column is sorted, only change the direction\n * asc -> desc, desc -> asc, ignoring the SortMode (if provided).\n */\n _setSortMultiple(col: Sortable, direction?: SortOrder) {\n const sortIndex = this._value.findIndex(({ field }) => field === col.id);\n\n if (sortIndex === -1) {\n this._setSortSingular(col, direction);\n } else {\n const nextDirection =\n this._value.length > 1\n ? this._value[sortIndex].direction === 'asc'\n ? 'desc'\n : 'asc'\n : direction;\n\n if (this._value.length === 1 && !direction) {\n this._value.clear();\n } else if (nextDirection) {\n this._value[sortIndex] = {\n field: col.id,\n direction: nextDirection,\n };\n }\n }\n }\n\n setSortQuery(\n query: Sort[],\n { emitChangeEvent }: { emitChangeEvent?: boolean } = {},\n ) {\n this._value.replace(query);\n\n if (emitChangeEvent) {\n this.events.emit('change');\n }\n }\n\n changeSort(col: Sortable, params: { multiple?: boolean } = {}) {\n this.setSort(col, {\n multiple: params.multiple,\n emitChangeEvent: true,\n });\n }\n\n get value() {\n return this._value;\n }\n\n getIsSortDescending(id: string) {\n const sort = this._value.find(({ field }) => field === id);\n if (sort) {\n return sort.direction === 'desc';\n }\n return undefined;\n }\n}\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -4,7 +4,7 @@ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefau
|
|
|
4
4
|
exports.__esModule = true;
|
|
5
5
|
exports.TagsAssignmentState = void 0;
|
|
6
6
|
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
|
7
|
-
var _v = require("@wix/bex-utils/@wix/bi-logger-
|
|
7
|
+
var _v = require("@wix/bex-utils/@wix/bi-logger-os-data/v2");
|
|
8
8
|
var _uuid = require("uuid");
|
|
9
9
|
var _mobx = require("mobx");
|
|
10
10
|
var _CollectionOptimisticActions = require("../CollectionOptimisticActions");
|
|
@@ -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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","ignoreList":[]}
|
|
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-os-data/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":";;;;;;AAGA,IAAAA,EAAA,GAAAC,OAAA;AAEA,IAAAC,KAAA,GAAAD,OAAA;AACA,IAAAE,KAAA,GAAAF,OAAA;AAEA,IAAAG,4BAAA,GAAAH,OAAA;AAKA,IAAAI,UAAA,GAAAJ,OAAA;AACA,IAAAK,gBAAA,GAAAL,OAAA;AACA,IAAAM,KAAA,GAAAN,OAAA;AAmCO,MAAMO,mBAAmB,CAAC;EAW/BC,WAAWA,CAAC;IACVC,mBAAmB;IACnBC,QAAQ;IACRC,MAAM;IACNC,cAAc;IACd,GAAGC;EACsB,CAAC,EAAE;IAAA,IAAAC,gBAAA,CAAAC,OAAA;IAAA,IAAAD,gBAAA,CAAAC,OAAA;IAAA,IAAAD,gBAAA,CAAAC,OAAA;IAAA,IAAAD,gBAAA,CAAAC,OAAA,oBAbV,IAAIC,oBAAS,CAAC,CAAC;IAAA,IAAAF,gBAAA,CAAAC,OAAA;IAAA,IAAAD,gBAAA,CAAAC,OAAA;IAAA,IAAAD,gBAAA,CAAAC,OAAA;IAAA,IAAAD,gBAAA,CAAAC,OAAA,uBAIJ,EAAE;IAAA,IAAAD,gBAAA,CAAAC,OAAA;IAAA,IAAAD,gBAAA,CAAAC,OAAA,qBA+HrB,OAAO;MACjBE,GAAG;MACHC,QAAQ;MACRC,YAAY;MACZC;IAMF,CAAC,KAAK;MACJ,IAAI,IAAI,CAACC,cAAc,CAACC,QAAQ,CAACL,GAAG,CAACM,EAAG,CAAC,EAAE;QACzC;MACF;MACA,MAAMC,QAAQ,GAAG,IAAI,CAACC,YAAY,CAAC,CAAC;MAEpC,MAAM,IAAI,CAACC,iBAAiB,CAACC,SAAS,CACpC;QAAEJ,EAAE,EAAEN,GAAG,CAACM,EAAG;QAAEK,KAAK,EAAEJ;MAAS,CAAC,EAChC;QACE,GAAGJ,sBAAsB;QACzBS,MAAM,EAAE,MAAOC,CAAM,IAAK;UACxB,MAAM,IAAI,CAACC,UAAU,CAAC;YACpBC,MAAM,EAAE,IAAI,CAACX,cAAc;YAC3BJ,GAAG;YACHC,QAAQ;YACRC;UACF,CAAC,CAAC;UAEF,OAAO,CAAC;YAAEI,EAAE,EAAEN,GAAG,CAACM,EAAG;YAAEK,KAAK,EAAEJ;UAAS,CAAC,CAAC;QAC3C;MACF,CACF,CAAC;IACH,CAAC;IAAA,IAAAV,gBAAA,CAAAC,OAAA,uBAEa,OAAO;MACnBE,GAAG;MACHC,QAAQ;MACRC,YAAY,GAAG,KAAK;MACpBC;IAMF,CAAC,KAAK;MACJ,MAAMa,aAAa,GAAG,IAAI,CAACC,UAAU,CAACC,MAAM,CAACC,KAAK,CAACC,IAAI,CACpDC,CAAC,IAAKA,CAAC,CAACf,EAAE,KAAKN,GAAG,CAACM,EACtB,CAAC;MAED,MAAM,IAAI,CAACG,iBAAiB,CAACa,SAAS,CAACN,aAAa,EAAG;QACrD,GAAGb,sBAAsB;QACzBS,MAAM,EAAE,MAAAA,CAAA,KAAY;UAClB,IAAI,CAACW,yBAAyB,CAAC;YAC7BC,UAAU,EAAE,QAAQ;YACpBxB,GAAG;YACHE;UACF,CAAC,CAAC;UAEF,OAAMD,QAAQ,oBAARA,QAAQ,CAAG;YACfwB,OAAO,EAAE;cACPC,WAAW,EAAE;gBACXX,MAAM,EAAE,IAAI,CAACX,cAAc,CAACuB,MAAM,CAAErB,EAAU,IAAKA,EAAE,KAAKN,GAAG,CAACM,EAAE;cAClE;YACF,CAAC;YACDsB,SAAS,EAAE;cACTF,WAAW,EAAE;gBACXX,MAAM,EAAE;cACV;YACF,CAAC;YACDc,WAAW,EAAE;cACXH,WAAW,EAAE;gBACXX,MAAM,EAAE,CAACf,GAAG,CAACM,EAAE;cACjB;YACF;UACF,CAAC,CAAC;QACJ;MACF,CAAC,CAAC;IACJ,CAAC;IAAA,IAAAT,gBAAA,CAAAC,OAAA,8BAEoB,OAAO;MAC1BgC,IAAI;MACJxB,EAAE,GAAG,IAAAyB,QAAI,EAAC,CAAC;MACXC,gBAAgB;MAChB/B,QAAQ;MACRgC,4BAA4B;MAC5BC;IACqB,CAAC,KAAK;MAC3B,MAAM3B,QAAQ,GAAG,IAAI,CAACC,YAAY,CAAC,CAAC;MAEpC,IAAI,CAACC,iBAAiB,CAACC,SAAS,CAC9B;QAAEJ,EAAE;QAAEK,KAAK,EAAEJ;MAAS,CAAC,EACvB;QACE,GAAG0B,4BAA4B;QAC/BrB,MAAM,EAAE,MAAOC,CAAC,IAAK;UACnB,MAAMsB,MAAM,GAAG,MAAM,IAAI,CAACC,gBAAgB,CAAC;YACzCN,IAAI;YACJxB,EAAE;YACF0B,gBAAgB;YAChB/B,QAAQ;YACRiC;UACF,CAAC,CAAC;UACF,OAAO,CAAC;YAAE5B,EAAE,EAAE6B,MAAM,CAAC7B,EAAG;YAAEK,KAAK,EAAEJ;UAAS,CAAC,CAAC;QAC9C;MACF,CACF,CAAC;IACH,CAAC;IAAA,IAAAV,gBAAA,CAAAC,OAAA,sBAiBoB,OAAO;MAC1BiB,MAAM;MACNf,GAAG;MACHC,QAAQ;MACRC;IAMF,CAAC,KAAK;MACJ,IAAI,CAACqB,yBAAyB,CAAC;QAC7BC,UAAU,EAAE,QAAQ;QACpBxB,GAAG;QACHE;MACF,CAAC,CAAC;MACF,OAAMD,QAAQ,oBAARA,QAAQ,CAAG;QACfwB,OAAO,EAAE;UACPC,WAAW,EAAE;YACXX,MAAM,EAAEsB,KAAK,CAACC,IAAI,CAAC,IAAIC,GAAG,CAAC,CAAC,GAAGxB,MAAM,EAAEf,GAAG,CAACM,EAAE,CAAC,CAAC;UACjD;QACF,CAAC;QACDsB,SAAS,EAAE;UAAEF,WAAW,EAAE;YAAEX,MAAM,EAAE,CAACf,GAAG,CAACM,EAAE;UAAG;QAAE,CAAC;QACjDuB,WAAW,EAAE;UAAEH,WAAW,EAAE;YAAEX,MAAM,EAAE;UAAG;QAAE;MAC7C,CAAC,CAAC;IACJ,CAAC;IAAA,IAAAlB,gBAAA,CAAAC,OAAA,4BAE0B,OAAO;MAChCgC,IAAI;MACJxB,EAAE;MACF0B,gBAAgB;MAChB/B,QAAQ;MACRiC;IACqB,CAAC,KAAK;MAC3B,MAAMhC,YAAY,GAAG,IAAI;MACzB,IAAIsC,WAAoB;MAExB,IAAIL,MAAM,GAAG,IAAI,CAAC3C,mBAAmB,CAAC2B,KAAK,CAACC,IAAI,CAC7CpB,GAAQ,IAAKA,GAAG,CAAC8B,IAAI,KAAKA,IAC7B,CAAC;MACD,IAAIK,MAAM,EAAE;QACV,MAAM,IAAI,CAACrB,UAAU,CAAC;UACpBC,MAAM,EAAE,IAAI,CAACX,cAAc,CAACuB,MAAM,CAAEc,KAAK,IAAKA,KAAK,KAAKnC,EAAE,CAAC;UAC3DN,GAAG,EAAEmC,MAAM;UACXlC,QAAQ;UACRC;QACF,CAAC,CAAC;QAEF,OAAOiC,MAAM;MACf;MACAA,MAAM,GAAG,MAAM,IAAI,CAACO,UAAU,CAAC;QAC7BZ,IAAI;QACJxB,EAAE;QACF0B,gBAAgB;QAChB9B,YAAY;QACZgC,4BAA4B;QAC5BS,eAAe,EAAE,MAAOR,MAAM,IAAK;UACjC,IAAI;YACF,MAAM,IAAI,CAACrB,UAAU,CAAC;cACpBC,MAAM,EAAE,IAAI,CAACX,cAAc,CAACuB,MAAM,CAAEc,KAAK,IAAKA,KAAK,KAAKnC,EAAE,CAAC;cAC3DN,GAAG,EAAEmC,MAAM;cACXlC,QAAQ;cACRC;YACF,CAAC,CAAC;UACJ,CAAC,CAAC,OAAO0C,KAAc,EAAE;YACvBJ,WAAW,GAAGI,KAAK;UACrB;QACF;MACF,CAAC,CAAC;;MAEF;MACA,IAAIJ,WAAW,EAAE;QACf,MAAMA,WAAW;MACnB;MACA,OAAOL,MAAM;IACf,CAAC;IAAA,IAAAtC,gBAAA,CAAAC,OAAA,sBAEoB,OAAO;MAC1BgC,IAAI;MACJxB,EAAE;MACF0B,gBAAgB;MAChB9B,YAAY;MACZyC,eAAe;MACfT;IACkE,CAAC,KAAK;MACxE,OAAO,IAAIW,OAAO,CAAM,MAAOC,OAAO,IAAK;QACzC,MAAM,IAAI,CAACtD,mBAAmB,CAACuD,SAAS,CAAC;UACvCjB,IAAI;UACJxB,EAAE;UACF0B,gBAAgB;UAChBtC,MAAM,EAAE,IAAI,CAACA,MAAM;UACnBQ,YAAY;UACZP,cAAc,EAAE,IAAI,CAACA,cAAc;UACnCQ,sBAAsB,EAAE+B,4BAA4B;UACpDc,SAAS,EAAE,MAAOb,MAAM,IAAK;YAC3B,OAAMQ,eAAe,oBAAfA,eAAe,CAAGR,MAAM,CAAC;YAC/BW,OAAO,CAACX,MAAM,CAAC;UACjB;QACF,CAAC,CAAC;MACJ,CAAC,CAAC;IACJ,CAAC;IAnVC,IAAI,CAAC3C,mBAAmB,GAAGA,mBAAmB;IAC9C,IAAI,CAACE,MAAM,GAAGA,MAAM;IACpB,IAAI,CAACC,cAAc,GAAGA,cAAc;IACpC,IAAI,CAACsD,IAAI,GAAGrD,MAAM,CAACqD,IAAI;IAEvB,IAAAC,oBAAc,EAAC,IAAI,EAAE;MACnBC,WAAW,EAAEC,gBAAU;MACvBC,IAAI,EAAEC,YAAM;MACZC,SAAS,EAAED,YAAM;MACjBE,kBAAkB,EAAEF,YAAM;MAC1BG,WAAW,EAAEH,YAAM;MACnBI,KAAK,EAAEJ,YAAM;MACbK,YAAY,EAAEC,cAAQ;MACtBC,aAAa,EAAED,cAAQ;MACvBE,OAAO,EAAEF;IACX,CAAC,CAAC;IACF,IAAI,CAAC3C,UAAU,GAAG,IAAI8C,gCAAe,CAAgB;MACnD,GAAGvE,mBAAmB,CAACwE,SAAS;MAChCC,MAAM,EAAE,CAAC,CAAC;MACVC,SAAS,EAAE,CAAC,IAAI,CAACC,UAAU,EAAEzE,MAAM,EAAED,QAAQ,CAAC,CAAC2E,IAAI,CAAC,GAAG,CAAC;MACxDC,SAAS,EAAE,MAAAA,CAAA,KAAY;QACrB,OAAO;UACLlD,KAAK,EAAE,IAAI,CAACgC,WAAW;UACvBmB,KAAK,EAAE,IAAI,CAACnB,WAAW,CAACoB;QAC1B,CAAC;MACH,CAAC;MACDC,OAAO,EAAGxE,GAAG,IAAKA,GAAG,CAACM,EAAE;MACxBmE,QAAQ,EAAGzE,GAAG,IAAKA,GAAG,CAACM,EAAE;MACzBoE,iBAAiB,EAAEA,CAAA,KAAM,EAAE;MAC3BC,OAAO,EAAE,CAAC;IACZ,CAAC,CAAC;IAEF,IAAI,CAAClE,iBAAiB,GAAG,IAAImE,wDAA2B,CACtD;MACE3D,UAAU,EAAE,IAAI,CAACA,UAAU;MAC3B+C,SAAS,EAAExE,mBAAmB,CAACwE,SAAS;MACxCa,OAAO,EAAEA,CAAA,KAAM,CACb;QACEC,SAAS,EAAEA,CAAC;UAAEnE;QAAM,CAAC,KAAKA,KAAK;QAC/BoE,KAAK,EAAE;MACT,CAAC;IAEL,CACF,CAAC;EACH;EAEA1B,IAAIA,CAAC;IACHF,WAAW;IACX1D;EAIF,CAAC,EAAE;IAAA,IAAAuF,qBAAA;IACD,IAAI,CAAC7B,WAAW,GAAGd,KAAK,CAACC,IAAI,CAC3B,IAAIC,GAAG,CAAC,CAAAY,WAAW,aAAA6B,qBAAA,GAAX7B,WAAW,CAAEzB,WAAW,qBAAxBsD,qBAAA,CAA0BjE,MAAM,KAAI,EAAE,CAChD,CAAC,CAACkE,GAAG,CAAC,CAAC3E,EAAE,EAAEK,KAAK,MAAM;MACpBA,KAAK;MACLL;IACF,CAAC,CAAC,CAAC;IACH,IAAI,CAACb,QAAQ,GAAGA,QAAQ,IAAIyF,SAAS;IAErC,MAAM;MAAEjE,UAAU;MAAER;IAAkB,CAAC,GAAG,IAAI;IAE9C,MAAM0E,SAAS,GAAG,CAAClE,UAAU,CAACoC,IAAI,CAAC,CAAC,EAAE5C,iBAAiB,CAAC4C,IAAI,CAAC,CAAC,CAAC;IAE/D,IAAI,CAAC+B,QAAQ,CAACC,OAAO,CAAC,YAAY;MAChC,MAAMpE,UAAU,CAACmE,QAAQ,CAACE,MAAM,CAACC,OAAO;MAExC,IAAI,CAAC/F,mBAAmB,CAAC6D,IAAI,CAAC,CAAC;MAC/B,MAAM,IAAI,CAAC7D,mBAAmB,CAAC4F,QAAQ,CAACE,MAAM,CAACC,OAAO;IACxD,CAAC,CAAC;IAEF,OAAO,MAAM;MACXJ,SAAS,CAACK,OAAO,CAAEC,QAAQ,IAAKA,QAAQ,CAAC,CAAC,CAAC;IAC7C,CAAC;EACH;EAEA,IAAItB,UAAUA,CAAA,EAAG;IACf,OAAO,IAAAuB,kBAAY,EAAC,IAAI,CAACzC,IAAI,CAAC;EAChC;EAEA,IAAI0C,SAASA,CAAA,EAAG;IACd,MAAM;MAAEL;IAAO,CAAC,GAAG,IAAI,CAAC9F,mBAAmB,CAAC4F,QAAQ;IACpD,OAAOE,MAAM,CAACM,MAAM,IAAIN,MAAM,CAACK,SAAS,IAAI,IAAI,CAACP,QAAQ,CAACE,MAAM,CAACK,SAAS;EAC5E;EAEA,IAAIE,OAAOA,CAAA,EAAG;IACZ,OACE,IAAI,CAACrG,mBAAmB,CAAC4F,QAAQ,CAACE,MAAM,CAACO,OAAO,IAChD,IAAI,CAACT,QAAQ,CAACE,MAAM,CAACO,OAAO;EAEhC;EAEAC,KAAKA,CAAA,EAAG;IACN,IAAI,CAACV,QAAQ,CAACC,OAAO,CAAC,CAAC;EACzB;EAEA,IAAI1B,YAAYA,CAAA,EAAG;IAAA,IAAAoC,qBAAA;IACjB,QAAAA,qBAAA,GAAO,IAAI,CAAC9E,UAAU,CAACC,MAAM,CAACC,KAAK,qBAA5B4E,qBAAA,CACHd,GAAG,CAAC,CAAC;MAAE3E;IAAG,CAAC,KAAK;MAChB,OAAO,IAAI,CAACd,mBAAmB,CAAC2B,KAAK,CAACC,IAAI,CAAEpB,GAAQ,IAAKA,GAAG,CAACM,EAAE,KAAKA,EAAE,CAAC;IACzE,CAAC,CAAC,CACDqB,MAAM,CAACqE,OAAO,CAAC;EACpB;EAEA,IAAI5F,cAAcA,CAAA,EAAG;IACnB,OAAO,IAAI,CAACa,UAAU,CAACC,MAAM,CAACC,KAAK,CAAC8D,GAAG,CAAEjF,GAAG,IAAKA,GAAG,CAACM,EAAE,CAAC;EAC1D;EAEA,IAAIuD,aAAaA,CAAA,EAAG;IAClB,OAAO,IAAI,CAACV,WAAW,CAAC8B,GAAG,CAAEjF,GAAG,IAAKA,GAAG,CAACM,EAAE,CAAC;EAC9C;EAEAoD,KAAKA,CAAA,EAAG;IACN,IAAI,CAACzC,UAAU,CAACC,MAAM,CAACwC,KAAK,CAAC,CAAC;EAChC;EA6GA,IAAII,OAAOA,CAAA,EAAG;IACZ,IAAI,IAAI,CAACD,aAAa,CAACU,MAAM,KAAK,IAAI,CAACnE,cAAc,CAACmE,MAAM,EAAE;MAC5D,OAAO,IAAI;IACb;IAEA,MAAM0B,gBAAgB,GAAG,IAAI,CAACpC,aAAa,CAAClC,MAAM,CAC/CrB,EAAE,IAAK,CAAC,IAAI,CAACF,cAAc,CAACC,QAAQ,CAACC,EAAE,CAC1C,CAAC;IACD,MAAMF,cAAc,GAAG,IAAI,CAACA,cAAc,CAACuB,MAAM,CAC9CrB,EAAE,IAAK,CAAC,IAAI,CAACuD,aAAa,CAACxD,QAAQ,CAACC,EAAE,CACzC,CAAC;IAED,OAAO2F,gBAAgB,CAAC1B,MAAM,KAAK,CAAC,IAAInE,cAAc,CAACmE,MAAM,KAAK,CAAC;EACrE;EAwGQhD,yBAAyBA,CAAC;IAChCC,UAAU;IACVxB,GAAG;IACHE,YAAY,GAAG;EAKjB,CAAC,EAAE;IACD,IAAI,CAACP,cAAc,CAACuG,QAAQ,CAC1B,IAAAC,qBAAkB,EAAC;MACjB3E,UAAU;MACVtB,YAAY;MACZkG,MAAM,EAAE,IAAI,CAAC3G,QAAQ;MACrB4G,QAAQ,EAAE,CAAC;MACXC,OAAO,EAAE,IAAI,CAAC9G,mBAAmB,CAAC2B,KAAK,CAACoD,MAAM;MAC9CgC,eAAe,EAAE,IAAI,CAAC5C,YAAY,CAACY,MAAM;MACzCiC,OAAO,EAAExG,GAAG,CAAC8B,IAAK;MAClBpC,MAAM,EAAE,IAAI,CAACA;IACf,CAAC,CACH,CAAC;EACH;EAEQc,YAAYA,CAAA,EAAG;IACrB,MAAMiG,GAAG,GAAGC,IAAI,CAACD,GAAG,CAClB,CAAC,EACD,GAAG,IAAI,CAACxF,UAAU,CAACC,MAAM,CAACC,KAAK,CAAC8D,GAAG,CAAEjF,GAAG,IAAKA,GAAG,CAACW,KAAM,CACzD,CAAC;IAED,OAAO8F,GAAG,GAAG,CAAC;EAChB;AACF;AAACE,OAAA,CAAArH,mBAAA,GAAAA,mBAAA","ignoreList":[]}
|
|
@@ -4,7 +4,7 @@ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefau
|
|
|
4
4
|
exports.__esModule = true;
|
|
5
5
|
exports.TagsBIReporter = void 0;
|
|
6
6
|
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
|
7
|
-
var _v = require("@wix/bex-utils/@wix/bi-logger-
|
|
7
|
+
var _v = require("@wix/bex-utils/@wix/bi-logger-os-data/v2");
|
|
8
8
|
var _events = _interopRequireDefault(require("events"));
|
|
9
9
|
var _util = require("../../util");
|
|
10
10
|
const ACTIONS = {
|
|
@@ -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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","ignoreList":[]}
|
|
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-os-data/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-os-data/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":";;;;;;AAAA,IAAAA,EAAA,GAAAC,OAAA;AASA,IAAAC,OAAA,GAAAC,sBAAA,CAAAF,OAAA;AAWA,IAAAG,KAAA,GAAAH,OAAA;AAGA,MAAMI,OAAO,GAAG;EACd,SAAS,EAAE,KAAK;EAChB,YAAY,EAAE,QAAQ;EACtB,YAAY,EAAE;AAChB,CAAC;AAED,MAAMC,eAAe,GAAG,IAAAC,uBAAiB,EAAC,CAAC;AAQpC,MAAMC,cAAc,CAAC;EAkB1BC,WAAWA,CAACC,MAA4B,EAAE;IAAA,IAAAC,gBAAA,CAAAC,OAAA;IAAA,IAAAD,gBAAA,CAAAC,OAAA;IAAA,IAAAD,gBAAA,CAAAC,OAAA;IAAA,IAAAD,gBAAA,CAAAC,OAAA,kBAbxB,IAAIC,eAAY,CAAC,CAAC;IAAA,IAAAF,gBAAA,CAAAC,OAAA,uBAOsC;MACxEE,GAAG,EAAE,KAAK;MACVC,MAAM,EAAE,KAAK;MACbC,MAAM,EAAE;IACV,CAAC;IAGC,IAAI,CAACC,UAAU,GAAGP,MAAM,CAACO,UAAU;IACnC,IAAI,CAACC,QAAQ,GAAGR,MAAM,CAACQ,QAAQ;IAC/B,IAAI,CAACC,QAAQ,GAAGT,MAAM,CAACS,QAAQ;EACjC;EAEA,IAAIC,cAAcA,CAACC,UAAkB,EAAE;IACrC,IAAI,EAAEA,UAAU,IAAIhB,OAAO,CAAC,EAAE;MAC5B,MAAMiB,KAAK,CAAE,kBAAiBD,UAAW,cAAa,CAAC;IACzD;IACA,MAAME,MAAM,GAAGlB,OAAO,CAACgB,UAAU,CAAyB;IAC1D,IAAI,CAACG,WAAW,GAAG;MACjB,GAAG,IAAI,CAACA,WAAW;MACnB,CAACD,MAAM,GAAG;IACZ,CAAC;EACH;EAEAE,gBAAgBA,CAAA,EAAG;IACjB,IAAI,CAACD,WAAW,GAAG;MACjBV,GAAG,EAAE,KAAK;MACVC,MAAM,EAAE,KAAK;MACbC,MAAM,EAAE;IACV,CAAC;EACH;EAEAU,eAAeA,CAAA,EAAG;IAChB,MAAM;MAAEC;IAAO,CAAC,GAAG,IAAI;IAEvBA,MAAM,CAACC,kBAAkB,CAAC,QAAQ,CAAC;IACnCD,MAAM,CAACC,kBAAkB,CAAC,MAAM,CAAC;IACjCD,MAAM,CAACC,kBAAkB,CAAC,KAAK,CAAC;IAChCD,MAAM,CAACC,kBAAkB,CAAC,OAAO,CAAC;EACpC;EAEAC,aAAaA,CAACC,CAAM,EAAE;IACpB,MAAMC,cAAc,GAAG,CAAAD,CAAC,oBAADA,CAAC,CAAEE,IAAI,MAAK,aAAa;IAChD,OAAOD,cAAc,GAAG,eAAe,GAAG,iBAAiB;EAC7D;EAEAE,QAAQA,CAACC,WAAmB,EAAE;IAC5B,MAAM;MAAEP;IAAO,CAAC,GAAG,IAAI;IAEvB,MAAMQ,iBAAiB,GAAG;MACxBC,gBAAgB,EAAE,IAAI,CAACnB,UAAU,CAACoB,MAAM,CAACC,KAAK,CAACC,MAAM,CAAEC,IAAI,IACzDA,IAAI,CAACC,IAAI,CAAEC,WAAW,CAAC,CAAC,CAACC,QAAQ,CAACT,WAAW,CAACQ,WAAW,CAAC,CAAC,CAC7D,CAAC,CAACE,MAAM;MACRC,UAAU,EAAEX;IACd,CAAiC;IAEjC,MAAMY,yBAAyB,GAAGA,CAAA,KAAM;MACtC,IAAI,CAACpB,eAAe,CAAC,CAAC;MAEtB,IAAI,CAACR,QAAQ,CACXZ,eAAe,CAACyC,qBAAkB,CAAC,CAAC;QAClC,GAAGZ,iBAAiB;QACpBhB,QAAQ,EAAE,IAAI,CAACA,QAAQ;QACvB6B,OAAO,EAAE;MACX,CAAC,CACH,CAAC;IACH,CAAC;IAED,MAAMC,6BAA6B,GAAGA,CAAA,KAAM;MAC1C,IAAI,CAACvB,eAAe,CAAC,CAAC;MAEtB,IAAI,CAACR,QAAQ,CACXZ,eAAe,CAACyC,qBAAkB,CAAC,CAAC;QAClC,GAAGZ,iBAAiB;QACpBhB,QAAQ,EAAE,IAAI,CAACA,QAAQ;QACvB6B,OAAO,EAAE;MACX,CAAC,CACH,CAAC;IACH,CAAC;IAED,MAAME,wBAAwB,GAAGA,CAAA,KAAM;MACrC,IAAI,CAACxB,eAAe,CAAC,CAAC;MAEtB,IAAI,CAACR,QAAQ,CACXZ,eAAe,CAACyC,qBAAkB,CAAC,CAAC;QAClC,GAAGZ,iBAAiB;QACpBhB,QAAQ,EAAE,IAAI,CAACA,QAAQ;QACvB6B,OAAO,EAAE;MACX,CAAC,CACH,CAAC;IACH,CAAC;IAED,IAAI,CAACtB,eAAe,CAAC,CAAC;IACtBC,MAAM,CAACwB,IAAI,CAAC,QAAQ,EAAEL,yBAAyB,CAAC;IAChDnB,MAAM,CAACwB,IAAI,CAAC,MAAM,EAAEF,6BAA6B,CAAC;IAClDtB,MAAM,CAACwB,IAAI,CAAC,OAAO,EAAEF,6BAA6B,CAAC;IACnDtB,MAAM,CAACwB,IAAI,CAAC,KAAK,EAAED,wBAAwB,CAAC;EAC9C;EAEAE,QAAQA,CAAC1C,MAAuC,EAAE;IAChD,IAAIA,MAAM,CAACW,UAAU,EAAE;MACrB,IAAI,CAACD,cAAc,GAAGV,MAAM,CAACW,UAAU;IACzC;IACA,MAAMgC,iBAAiB,GAAG;MACxBC,OAAO,EAAE,IAAI,CAACrC,UAAU,CAACoB,MAAM,CAACC,KAAK,CAACM;IACxC,CAAoC;IAEpC,IAAI,CAAC1B,QAAQ,CACXZ,eAAe,CAACiD,wBAAqB,CAAC,CAAC;MACrC,GAAG7C,MAAM;MACT,GAAG2C;IACL,CAAC,CACH,CAAC;EACH;EAEAG,OAAOA,CACL9C,MAAqD,EACrD+C,KAAc,EACd;IACA,MAAMC,WAAW,GAAG;MAClBJ,OAAO,EAAE,IAAI,CAACrC,UAAU,CAACoB,MAAM,CAACC,KAAK,CAACM,MAAM;MAC5Ce,SAAS,EAAE,IAAI,CAAC9B,aAAa,CAAC4B,KAAK;IACrC,CAAkD;IAElD,IAAI,CAACvC,QAAQ,CACXZ,eAAe,CAACsD,sCAAmC,CAAC,CAAC;MACnD,GAAGF,WAAW;MACd,GAAGhD;IACL,CAAC,CACH,CAAC;EACH;EAEAmD,UAAUA,CAACnD,MAA0C,EAAE;IACrD,MAAMoD,cAAc,GAAG;MACrBC,QAAQ,EAAE;IACZ,CAAC;IAED,IAAI,CAAC7C,QAAQ,CACXZ,eAAe,CAAC0D,uBAAoB,CAAC,CAAC;MACpC,GAAGF,cAAc;MACjB,GAAGpD;IACL,CAAC,CACH,CAAC;EACH;EAEAuD,MAAMA,CAACvD,MAAsC,EAAE;IAC7C,IAAI,CAACQ,QAAQ,CAACZ,eAAe,CAAC4D,mBAAgB,CAAC,CAACxD,MAAM,CAAC,CAAC;EAC1D;EAEAyD,2BAA2BA,CAAA,EAAG;IAC5B,MAAMC,gBAAgB,GAAG,EAAE;IAC3B,IAAI,CAAC5C,WAAW,CAACV,GAAG,IAAIsD,gBAAgB,CAACC,IAAI,CAAC,KAAK,CAAC;IACpD,IAAI,CAAC7C,WAAW,CAACT,MAAM,IAAIqD,gBAAgB,CAACC,IAAI,CAAC,QAAQ,CAAC;IAC1D,IAAI,CAAC7C,WAAW,CAACR,MAAM,IAAIoD,gBAAgB,CAACC,IAAI,CAAC,QAAQ,CAAC;IAC1D,OAAOD,gBAAgB,CAACE,IAAI,CAAC,GAAG,CAAC;EACnC;EAEAC,YAAYA,CAAC7D,MAA0C,EAAE;IACvD,IAAIsC,OAAO,GAAG,IAAI,CAACmB,2BAA2B,CAAC,CAAC;IAChD,IAAInB,OAAO,EAAE;MACXA,OAAO,GAAI,sBAAqBA,OAAQ,GAAE;IAC5C,CAAC,MAAM;MACLA,OAAO,GAAG,uBAAuB;IACnC;IAEA,IAAI,CAAC9B,QAAQ,CACXZ,eAAe,CAACkE,2BAAwB,CAAC,CAAC;MACxC,GAAG9D,MAAM;MACT4C,OAAO,EAAE,IAAI,CAACrC,UAAU,CAACoB,MAAM,CAACC,KAAK,CAACM,MAAM;MAC5CI;IACF,CAAC,CACH,CAAC;IAED,IAAI,CAACvB,gBAAgB,CAAC,CAAC;EACzB;AACF;AAACgD,OAAA,CAAAjE,cAAA,GAAAA,cAAA","ignoreList":[]}
|
|
@@ -5,7 +5,7 @@ exports.__esModule = true;
|
|
|
5
5
|
exports.TagsFormState = exports.MANAGE_TAGS_OPTION_ID = exports.ADD_ITEM_OPTION_ID = void 0;
|
|
6
6
|
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
|
7
7
|
var _mobx = require("mobx");
|
|
8
|
-
var _v = require("@wix/bex-utils/@wix/bi-logger-
|
|
8
|
+
var _v = require("@wix/bex-utils/@wix/bi-logger-os-data/v2");
|
|
9
9
|
var _TagsManagementState = require("./TagsManagementState");
|
|
10
10
|
var _TagsSearchState = require("./TagsSearchState");
|
|
11
11
|
var _TagsAssignmentState = require("./TagsAssignmentState");
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_mobx","require","_v","_TagsManagementState","_TagsSearchState","_TagsAssignmentState","_TagsBIReporter","ADD_ITEM_OPTION_ID","exports","MANAGE_TAGS_OPTION_ID","TagsFormState","constructor","tagsManagementState","origin","_defineProperty2","default","tagName","onError","error","tagsBIReporter","actionName","errorToast","biName","message","container","translate","onTryAgain","tag","onSubmit","tagsAssignmentState","assignTag","isFromSearch","previousSearchValue","optimisticActionParams","assignOptimisticActionParams","name","tagId","tagToUnassign","assignedTags","find","id","unassignTag","createAndAssignTag","filteredListSize","displayedTagOptions","length","createOptimisticActionParams","tags","privateTags","tagIds","assignedTagIds","isValid","values","TagsBIReporter","collection","reportBi","createBILogger","componentType","fqdn","location","TagsAssignmentState","tagsSearchState","TagsSearchState","makeObservable","init","action","observable","isMultiSelectOnFocus","displayedAssignedTags","computed","isDirty","handleManageTagsCtaClick","handleSearchChange","handleOptionsShow","setIsMultiSelectOnFocus","initialTags","entityId","_initialTags$privateT","disposers","cairoTagsWidgetLoaded","itemId","undefined","numTags","items","numTagsAssigned","forEach","disposer","map","assignedTag","label","filteredItems","filter","value","isInEmptyState","searchValue","shouldShowCreateTagOption","hasSameTagAsSearch","handleTagSelect","option","_invokeBiOnCtaClick","slice","TAG_MAX_LENGTH","newSearchValue","isOnFocusValue","cairoTagsWidgetClickOnCta"],"sources":["../../../../src/state/TagsState/TagsFormState.ts"],"sourcesContent":["import { action, computed, makeObservable, observable } from 'mobx';\nimport { Tag } from '@wix/bex-utils/@wix/ambassador-os-tags-v1-tag/types';\nimport {\n cairoTagsWidgetClickOnCta,\n cairoTagsWidgetLoaded,\n} from '@wix/bex-utils/@wix/bi-logger-cairo-os/v2';\nimport { TAG_MAX_LENGTH, TagsManagementState } from './TagsManagementState';\nimport { TagsSearchState } from './TagsSearchState';\nimport {\n TagsAssignmentState,\n OnSubmitTagsFuncType,\n} from './TagsAssignmentState';\nimport { TagsBIReporter } from './TagsBIReporter';\nimport { Tags } from './tagsTypes';\nimport { WixPatternsContainer } from '../WixPatternsContainer';\n\nexport const ADD_ITEM_OPTION_ID = 'add-item-option';\nexport const MANAGE_TAGS_OPTION_ID = 'manage-tags-option';\n\nexport interface TagsFormStateParams {\n readonly tagsManagementState: TagsManagementState;\n readonly origin: string;\n readonly entityTypeName: string;\n}\n\nexport class TagsFormState {\n readonly tagsAssignmentState: TagsAssignmentState;\n readonly tagsManagementState: TagsManagementState;\n readonly tagsSearchState: TagsSearchState;\n readonly tagsBIReporter: TagsBIReporter;\n readonly container: WixPatternsContainer;\n readonly origin: string;\n entityId?: string | null;\n previousSearchValue = '';\n isMultiSelectOnFocus = false;\n assignOptimisticActionParams = (tagName: string) => ({\n onError: (error: unknown) => {\n this.tagsBIReporter.onError(\n {\n tagName,\n actionName: 'Assign tag',\n origin: this.origin,\n },\n error,\n );\n },\n errorToast: () => {\n return {\n biName: 'cairo-assign-tag-error',\n message: this.container.translate(\n 'cairo.tags.collectionPage.toast.update.error',\n ),\n };\n },\n onTryAgain: () => {\n this.tagsBIReporter.onTryAgain({\n actionName: 'Assign tag',\n });\n },\n });\n\n constructor({ tagsManagementState, origin }: TagsFormStateParams) {\n this.container = tagsManagementState.container;\n this.origin = origin;\n this.tagsManagementState = tagsManagementState;\n\n this.tagsBIReporter = new TagsBIReporter({\n collection: this.tagsManagementState.collection,\n reportBi: this.container.createBILogger({\n componentType: 'TagsWidget',\n ...tagsManagementState.fqdn,\n }),\n location: 'Tags widget',\n });\n\n this.tagsAssignmentState = new TagsAssignmentState({\n tagsManagementState: this.tagsManagementState,\n tagsBIReporter: this.tagsBIReporter,\n origin,\n fqdn: tagsManagementState.fqdn,\n });\n this.tagsSearchState = new TagsSearchState({\n tagsManagementState: this.tagsManagementState,\n });\n\n makeObservable(this, {\n init: action,\n previousSearchValue: observable,\n isMultiSelectOnFocus: observable,\n displayedAssignedTags: computed,\n displayedTagOptions: computed,\n isDirty: computed,\n handleManageTagsCtaClick: action,\n handleSearchChange: action,\n handleOptionsShow: action,\n setIsMultiSelectOnFocus: action,\n });\n }\n\n init({\n initialTags,\n entityId,\n }: {\n initialTags?: Tags;\n entityId?: string | null;\n }) {\n this.entityId = entityId;\n const disposers = [\n this.tagsAssignmentState.init({\n initialTags,\n entityId,\n }),\n ];\n\n this.tagsBIReporter.reportBi(\n cairoTagsWidgetLoaded({\n itemId: this.entityId ?? undefined,\n numTags: this.tagsManagementState.items.length,\n numTagsAssigned: initialTags?.privateTags?.tagIds?.length,\n }),\n );\n\n return () => {\n disposers.forEach((disposer) => disposer?.());\n };\n }\n\n get displayedAssignedTags() {\n return this.tagsAssignmentState.assignedTags.map((assignedTag) => ({\n id: assignedTag.id!,\n label: assignedTag.name!,\n }));\n }\n\n get displayedTagOptions() {\n return this.tagsSearchState.filteredItems\n .filter(\n (tag: Tag) =>\n !this.displayedAssignedTags.find(\n (assignedTag) => assignedTag.label === tag.name,\n ),\n )\n .map((tag: Tag) => {\n return { id: tag.id!, value: tag.name };\n });\n }\n\n get isInEmptyState() {\n return this.tagsManagementState.items.length === 0;\n }\n\n get searchValue() {\n return this.tagsSearchState.searchValue;\n }\n\n get shouldShowCreateTagOption() {\n return this.searchValue && !this.tagsSearchState.hasSameTagAsSearch;\n }\n\n handleTagSelect(\n option: { id: string; value: string },\n onSubmit?: OnSubmitTagsFuncType,\n ) {\n if (option.id === ADD_ITEM_OPTION_ID) {\n this._invokeBiOnCtaClick('Create tags');\n const tagName = this.previousSearchValue.slice(0, TAG_MAX_LENGTH);\n this.createAndAssignTag(tagName, onSubmit);\n return;\n }\n\n this.assignTag({ id: option.id, name: option.value }, onSubmit);\n }\n\n assignTag = async (tag: Tag, onSubmit?: OnSubmitTagsFuncType) => {\n this.tagsAssignmentState.assignTag({\n tag,\n onSubmit,\n isFromSearch: this.previousSearchValue !== '',\n optimisticActionParams: this.assignOptimisticActionParams(tag.name!),\n });\n };\n\n unassignTag = async (tagId: string, onSubmit?: OnSubmitTagsFuncType) => {\n const tagToUnassign = this.tagsAssignmentState.assignedTags.find(\n (tag) => tag.id === tagId,\n );\n\n if (tagToUnassign) {\n this.tagsAssignmentState.unassignTag({\n tag: tagToUnassign,\n onSubmit,\n isFromSearch: false,\n optimisticActionParams: {\n errorToast: () => {\n return {\n biName: 'cairo-remove-assign-tag-error',\n message: this.container.translate(\n 'cairo.tags.collectionPage.toast.update.error',\n ),\n };\n },\n onError: (error: unknown) => {\n this.tagsBIReporter.onError(\n {\n tagName: tagToUnassign.name!,\n actionName: 'Remove assign tag',\n origin: this.origin,\n },\n error,\n );\n },\n onTryAgain: () => {\n this.tagsBIReporter.onTryAgain({\n actionName: 'Remove assign tag',\n });\n },\n },\n });\n }\n };\n\n createAndAssignTag = async (\n name: string,\n onSubmit?: OnSubmitTagsFuncType,\n ) => {\n this.tagsAssignmentState.createAndAssignTag({\n name,\n onSubmit,\n filteredListSize: this.displayedTagOptions.length,\n createOptimisticActionParams: {\n errorToast: () => {\n return {\n biName: 'cairo-save-new-tag-error',\n message: this.container.translate(\n 'cairo.tags.collectionPage.toast.create.error',\n ),\n };\n },\n },\n assignOptimisticActionParams: this.assignOptimisticActionParams(name),\n });\n };\n\n handleManageTagsCtaClick() {\n this._invokeBiOnCtaClick('Manage tags');\n }\n\n handleSearchChange(newSearchValue: string) {\n this.previousSearchValue = this.searchValue;\n this.tagsSearchState.searchValue = newSearchValue;\n }\n\n handleOptionsShow() {\n this._invokeBiOnCtaClick('Assign tags');\n }\n\n setIsMultiSelectOnFocus(isOnFocusValue: boolean) {\n this.isMultiSelectOnFocus = isOnFocusValue;\n }\n\n validate = async () => {\n const tags = {\n privateTags: { tagIds: this.tagsAssignmentState.assignedTagIds },\n };\n return {\n isValid: true,\n tags,\n values: tags,\n };\n };\n\n get isDirty() {\n return this.tagsAssignmentState.isDirty;\n }\n\n private _invokeBiOnCtaClick(actionName: string) {\n return this.tagsBIReporter.reportBi(\n cairoTagsWidgetClickOnCta({\n itemId: this.entityId ?? undefined,\n numTags: this.tagsManagementState.items.length,\n numTagsAssigned: this.tagsAssignmentState.assignedTags.length,\n actionName,\n }),\n );\n }\n}\n"],"mappings":";;;;;;AAAA,IAAAA,KAAA,GAAAC,OAAA;AAEA,IAAAC,EAAA,GAAAD,OAAA;AAIA,IAAAE,oBAAA,GAAAF,OAAA;AACA,IAAAG,gBAAA,GAAAH,OAAA;AACA,IAAAI,oBAAA,GAAAJ,OAAA;AAIA,IAAAK,eAAA,GAAAL,OAAA;AAIO,MAAMM,kBAAkB,GAAAC,OAAA,CAAAD,kBAAA,GAAG,iBAAiB;AAC5C,MAAME,qBAAqB,GAAAD,OAAA,CAAAC,qBAAA,GAAG,oBAAoB;AAQlD,MAAMC,aAAa,CAAC;EAoCzBC,WAAWA,CAAC;IAAEC,mBAAmB;IAAEC;EAA4B,CAAC,EAAE;IAAA,IAAAC,gBAAA,CAAAC,OAAA;IAAA,IAAAD,gBAAA,CAAAC,OAAA;IAAA,IAAAD,gBAAA,CAAAC,OAAA;IAAA,IAAAD,gBAAA,CAAAC,OAAA;IAAA,IAAAD,gBAAA,CAAAC,OAAA;IAAA,IAAAD,gBAAA,CAAAC,OAAA;IAAA,IAAAD,gBAAA,CAAAC,OAAA;IAAA,IAAAD,gBAAA,CAAAC,OAAA,+BA5B5C,EAAE;IAAA,IAAAD,gBAAA,CAAAC,OAAA,gCACD,KAAK;IAAA,IAAAD,gBAAA,CAAAC,OAAA,wCACIC,OAAe,KAAM;MACnDC,OAAO,EAAGC,KAAc,IAAK;QAC3B,IAAI,CAACC,cAAc,CAACF,OAAO,CACzB;UACED,OAAO;UACPI,UAAU,EAAE,YAAY;UACxBP,MAAM,EAAE,IAAI,CAACA;QACf,CAAC,EACDK,KACF,CAAC;MACH,CAAC;MACDG,UAAU,EAAEA,CAAA,KAAM;QAChB,OAAO;UACLC,MAAM,EAAE,wBAAwB;UAChCC,OAAO,EAAE,IAAI,CAACC,SAAS,CAACC,SAAS,CAC/B,8CACF;QACF,CAAC;MACH,CAAC;MACDC,UAAU,EAAEA,CAAA,KAAM;QAChB,IAAI,CAACP,cAAc,CAACO,UAAU,CAAC;UAC7BN,UAAU,EAAE;QACd,CAAC,CAAC;MACJ;IACF,CAAC,CAAC;IAAA,IAAAN,gBAAA,CAAAC,OAAA,qBAkHU,OAAOY,GAAQ,EAAEC,QAA+B,KAAK;MAC/D,IAAI,CAACC,mBAAmB,CAACC,SAAS,CAAC;QACjCH,GAAG;QACHC,QAAQ;QACRG,YAAY,EAAE,IAAI,CAACC,mBAAmB,KAAK,EAAE;QAC7CC,sBAAsB,EAAE,IAAI,CAACC,4BAA4B,CAACP,GAAG,CAACQ,IAAK;MACrE,CAAC,CAAC;IACJ,CAAC;IAAA,IAAArB,gBAAA,CAAAC,OAAA,uBAEa,OAAOqB,KAAa,EAAER,QAA+B,KAAK;MACtE,MAAMS,aAAa,GAAG,IAAI,CAACR,mBAAmB,CAACS,YAAY,CAACC,IAAI,CAC7DZ,GAAG,IAAKA,GAAG,CAACa,EAAE,KAAKJ,KACtB,CAAC;MAED,IAAIC,aAAa,EAAE;QACjB,IAAI,CAACR,mBAAmB,CAACY,WAAW,CAAC;UACnCd,GAAG,EAAEU,aAAa;UAClBT,QAAQ;UACRG,YAAY,EAAE,KAAK;UACnBE,sBAAsB,EAAE;YACtBZ,UAAU,EAAEA,CAAA,KAAM;cAChB,OAAO;gBACLC,MAAM,EAAE,+BAA+B;gBACvCC,OAAO,EAAE,IAAI,CAACC,SAAS,CAACC,SAAS,CAC/B,8CACF;cACF,CAAC;YACH,CAAC;YACDR,OAAO,EAAGC,KAAc,IAAK;cAC3B,IAAI,CAACC,cAAc,CAACF,OAAO,CACzB;gBACED,OAAO,EAAEqB,aAAa,CAACF,IAAK;gBAC5Bf,UAAU,EAAE,mBAAmB;gBAC/BP,MAAM,EAAE,IAAI,CAACA;cACf,CAAC,EACDK,KACF,CAAC;YACH,CAAC;YACDQ,UAAU,EAAEA,CAAA,KAAM;cAChB,IAAI,CAACP,cAAc,CAACO,UAAU,CAAC;gBAC7BN,UAAU,EAAE;cACd,CAAC,CAAC;YACJ;UACF;QACF,CAAC,CAAC;MACJ;IACF,CAAC;IAAA,IAAAN,gBAAA,CAAAC,OAAA,8BAEoB,OACnBoB,IAAY,EACZP,QAA+B,KAC5B;MACH,IAAI,CAACC,mBAAmB,CAACa,kBAAkB,CAAC;QAC1CP,IAAI;QACJP,QAAQ;QACRe,gBAAgB,EAAE,IAAI,CAACC,mBAAmB,CAACC,MAAM;QACjDC,4BAA4B,EAAE;UAC5BzB,UAAU,EAAEA,CAAA,KAAM;YAChB,OAAO;cACLC,MAAM,EAAE,0BAA0B;cAClCC,OAAO,EAAE,IAAI,CAACC,SAAS,CAACC,SAAS,CAC/B,8CACF;YACF,CAAC;UACH;QACF,CAAC;QACDS,4BAA4B,EAAE,IAAI,CAACA,4BAA4B,CAACC,IAAI;MACtE,CAAC,CAAC;IACJ,CAAC;IAAA,IAAArB,gBAAA,CAAAC,OAAA,oBAmBU,YAAY;MACrB,MAAMgC,IAAI,GAAG;QACXC,WAAW,EAAE;UAAEC,MAAM,EAAE,IAAI,CAACpB,mBAAmB,CAACqB;QAAe;MACjE,CAAC;MACD,OAAO;QACLC,OAAO,EAAE,IAAI;QACbJ,IAAI;QACJK,MAAM,EAAEL;MACV,CAAC;IACH,CAAC;IA/MC,IAAI,CAACvB,SAAS,GAAGZ,mBAAmB,CAACY,SAAS;IAC9C,IAAI,CAACX,MAAM,GAAGA,MAAM;IACpB,IAAI,CAACD,mBAAmB,GAAGA,mBAAmB;IAE9C,IAAI,CAACO,cAAc,GAAG,IAAIkC,8BAAc,CAAC;MACvCC,UAAU,EAAE,IAAI,CAAC1C,mBAAmB,CAAC0C,UAAU;MAC/CC,QAAQ,EAAE,IAAI,CAAC/B,SAAS,CAACgC,cAAc,CAAC;QACtCC,aAAa,EAAE,YAAY;QAC3B,GAAG7C,mBAAmB,CAAC8C;MACzB,CAAC,CAAC;MACFC,QAAQ,EAAE;IACZ,CAAC,CAAC;IAEF,IAAI,CAAC9B,mBAAmB,GAAG,IAAI+B,wCAAmB,CAAC;MACjDhD,mBAAmB,EAAE,IAAI,CAACA,mBAAmB;MAC7CO,cAAc,EAAE,IAAI,CAACA,cAAc;MACnCN,MAAM;MACN6C,IAAI,EAAE9C,mBAAmB,CAAC8C;IAC5B,CAAC,CAAC;IACF,IAAI,CAACG,eAAe,GAAG,IAAIC,gCAAe,CAAC;MACzClD,mBAAmB,EAAE,IAAI,CAACA;IAC5B,CAAC,CAAC;IAEF,IAAAmD,oBAAc,EAAC,IAAI,EAAE;MACnBC,IAAI,EAAEC,YAAM;MACZjC,mBAAmB,EAAEkC,gBAAU;MAC/BC,oBAAoB,EAAED,gBAAU;MAChCE,qBAAqB,EAAEC,cAAQ;MAC/BzB,mBAAmB,EAAEyB,cAAQ;MAC7BC,OAAO,EAAED,cAAQ;MACjBE,wBAAwB,EAAEN,YAAM;MAChCO,kBAAkB,EAAEP,YAAM;MAC1BQ,iBAAiB,EAAER,YAAM;MACzBS,uBAAuB,EAAET;IAC3B,CAAC,CAAC;EACJ;EAEAD,IAAIA,CAAC;IACHW,WAAW;IACXC;EAIF,CAAC,EAAE;IAAA,IAAAC,qBAAA;IACD,IAAI,CAACD,QAAQ,GAAGA,QAAQ;IACxB,MAAME,SAAS,GAAG,CAChB,IAAI,CAACjD,mBAAmB,CAACmC,IAAI,CAAC;MAC5BW,WAAW;MACXC;IACF,CAAC,CAAC,CACH;IAED,IAAI,CAACzD,cAAc,CAACoC,QAAQ,CAC1B,IAAAwB,wBAAqB,EAAC;MACpBC,MAAM,EAAE,IAAI,CAACJ,QAAQ,IAAIK,SAAS;MAClCC,OAAO,EAAE,IAAI,CAACtE,mBAAmB,CAACuE,KAAK,CAACtC,MAAM;MAC9CuC,eAAe,EAAET,WAAW,aAAAE,qBAAA,GAAXF,WAAW,CAAE3B,WAAW,cAAA6B,qBAAA,GAAxBA,qBAAA,CAA0B5B,MAAM,qBAAhC4B,qBAAA,CAAkChC;IACrD,CAAC,CACH,CAAC;IAED,OAAO,MAAM;MACXiC,SAAS,CAACO,OAAO,CAAEC,QAAQ,IAAKA,QAAQ,oBAARA,QAAQ,CAAG,CAAC,CAAC;IAC/C,CAAC;EACH;EAEA,IAAIlB,qBAAqBA,CAAA,EAAG;IAC1B,OAAO,IAAI,CAACvC,mBAAmB,CAACS,YAAY,CAACiD,GAAG,CAAEC,WAAW,KAAM;MACjEhD,EAAE,EAAEgD,WAAW,CAAChD,EAAG;MACnBiD,KAAK,EAAED,WAAW,CAACrD;IACrB,CAAC,CAAC,CAAC;EACL;EAEA,IAAIS,mBAAmBA,CAAA,EAAG;IACxB,OAAO,IAAI,CAACiB,eAAe,CAAC6B,aAAa,CACtCC,MAAM,CACJhE,GAAQ,IACP,CAAC,IAAI,CAACyC,qBAAqB,CAAC7B,IAAI,CAC7BiD,WAAW,IAAKA,WAAW,CAACC,KAAK,KAAK9D,GAAG,CAACQ,IAC7C,CACJ,CAAC,CACAoD,GAAG,CAAE5D,GAAQ,IAAK;MACjB,OAAO;QAAEa,EAAE,EAAEb,GAAG,CAACa,EAAG;QAAEoD,KAAK,EAAEjE,GAAG,CAACQ;MAAK,CAAC;IACzC,CAAC,CAAC;EACN;EAEA,IAAI0D,cAAcA,CAAA,EAAG;IACnB,OAAO,IAAI,CAACjF,mBAAmB,CAACuE,KAAK,CAACtC,MAAM,KAAK,CAAC;EACpD;EAEA,IAAIiD,WAAWA,CAAA,EAAG;IAChB,OAAO,IAAI,CAACjC,eAAe,CAACiC,WAAW;EACzC;EAEA,IAAIC,yBAAyBA,CAAA,EAAG;IAC9B,OAAO,IAAI,CAACD,WAAW,IAAI,CAAC,IAAI,CAACjC,eAAe,CAACmC,kBAAkB;EACrE;EAEAC,eAAeA,CACbC,MAAqC,EACrCtE,QAA+B,EAC/B;IACA,IAAIsE,MAAM,CAAC1D,EAAE,KAAKjC,kBAAkB,EAAE;MACpC,IAAI,CAAC4F,mBAAmB,CAAC,aAAa,CAAC;MACvC,MAAMnF,OAAO,GAAG,IAAI,CAACgB,mBAAmB,CAACoE,KAAK,CAAC,CAAC,EAAEC,mCAAc,CAAC;MACjE,IAAI,CAAC3D,kBAAkB,CAAC1B,OAAO,EAAEY,QAAQ,CAAC;MAC1C;IACF;IAEA,IAAI,CAACE,SAAS,CAAC;MAAEU,EAAE,EAAE0D,MAAM,CAAC1D,EAAE;MAAEL,IAAI,EAAE+D,MAAM,CAACN;IAAM,CAAC,EAAEhE,QAAQ,CAAC;EACjE;EAwEA2C,wBAAwBA,CAAA,EAAG;IACzB,IAAI,CAAC4B,mBAAmB,CAAC,aAAa,CAAC;EACzC;EAEA3B,kBAAkBA,CAAC8B,cAAsB,EAAE;IACzC,IAAI,CAACtE,mBAAmB,GAAG,IAAI,CAAC8D,WAAW;IAC3C,IAAI,CAACjC,eAAe,CAACiC,WAAW,GAAGQ,cAAc;EACnD;EAEA7B,iBAAiBA,CAAA,EAAG;IAClB,IAAI,CAAC0B,mBAAmB,CAAC,aAAa,CAAC;EACzC;EAEAzB,uBAAuBA,CAAC6B,cAAuB,EAAE;IAC/C,IAAI,CAACpC,oBAAoB,GAAGoC,cAAc;EAC5C;EAaA,IAAIjC,OAAOA,CAAA,EAAG;IACZ,OAAO,IAAI,CAACzC,mBAAmB,CAACyC,OAAO;EACzC;EAEQ6B,mBAAmBA,CAAC/E,UAAkB,EAAE;IAC9C,OAAO,IAAI,CAACD,cAAc,CAACoC,QAAQ,CACjC,IAAAiD,4BAAyB,EAAC;MACxBxB,MAAM,EAAE,IAAI,CAACJ,QAAQ,IAAIK,SAAS;MAClCC,OAAO,EAAE,IAAI,CAACtE,mBAAmB,CAACuE,KAAK,CAACtC,MAAM;MAC9CuC,eAAe,EAAE,IAAI,CAACvD,mBAAmB,CAACS,YAAY,CAACO,MAAM;MAC7DzB;IACF,CAAC,CACH,CAAC;EACH;AACF;AAACZ,OAAA,CAAAE,aAAA,GAAAA,aAAA","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["_mobx","require","_v","_TagsManagementState","_TagsSearchState","_TagsAssignmentState","_TagsBIReporter","ADD_ITEM_OPTION_ID","exports","MANAGE_TAGS_OPTION_ID","TagsFormState","constructor","tagsManagementState","origin","_defineProperty2","default","tagName","onError","error","tagsBIReporter","actionName","errorToast","biName","message","container","translate","onTryAgain","tag","onSubmit","tagsAssignmentState","assignTag","isFromSearch","previousSearchValue","optimisticActionParams","assignOptimisticActionParams","name","tagId","tagToUnassign","assignedTags","find","id","unassignTag","createAndAssignTag","filteredListSize","displayedTagOptions","length","createOptimisticActionParams","tags","privateTags","tagIds","assignedTagIds","isValid","values","TagsBIReporter","collection","reportBi","createBILogger","componentType","fqdn","location","TagsAssignmentState","tagsSearchState","TagsSearchState","makeObservable","init","action","observable","isMultiSelectOnFocus","displayedAssignedTags","computed","isDirty","handleManageTagsCtaClick","handleSearchChange","handleOptionsShow","setIsMultiSelectOnFocus","initialTags","entityId","_initialTags$privateT","disposers","cairoTagsWidgetLoaded","itemId","undefined","numTags","items","numTagsAssigned","forEach","disposer","map","assignedTag","label","filteredItems","filter","value","isInEmptyState","searchValue","shouldShowCreateTagOption","hasSameTagAsSearch","handleTagSelect","option","_invokeBiOnCtaClick","slice","TAG_MAX_LENGTH","newSearchValue","isOnFocusValue","cairoTagsWidgetClickOnCta"],"sources":["../../../../src/state/TagsState/TagsFormState.ts"],"sourcesContent":["import { action, computed, makeObservable, observable } from 'mobx';\nimport { Tag } from '@wix/bex-utils/@wix/ambassador-os-tags-v1-tag/types';\nimport {\n cairoTagsWidgetClickOnCta,\n cairoTagsWidgetLoaded,\n} from '@wix/bex-utils/@wix/bi-logger-os-data/v2';\nimport { TAG_MAX_LENGTH, TagsManagementState } from './TagsManagementState';\nimport { TagsSearchState } from './TagsSearchState';\nimport {\n TagsAssignmentState,\n OnSubmitTagsFuncType,\n} from './TagsAssignmentState';\nimport { TagsBIReporter } from './TagsBIReporter';\nimport { Tags } from './tagsTypes';\nimport { WixPatternsContainer } from '../WixPatternsContainer';\n\nexport const ADD_ITEM_OPTION_ID = 'add-item-option';\nexport const MANAGE_TAGS_OPTION_ID = 'manage-tags-option';\n\nexport interface TagsFormStateParams {\n readonly tagsManagementState: TagsManagementState;\n readonly origin: string;\n readonly entityTypeName: string;\n}\n\nexport class TagsFormState {\n readonly tagsAssignmentState: TagsAssignmentState;\n readonly tagsManagementState: TagsManagementState;\n readonly tagsSearchState: TagsSearchState;\n readonly tagsBIReporter: TagsBIReporter;\n readonly container: WixPatternsContainer;\n readonly origin: string;\n entityId?: string | null;\n previousSearchValue = '';\n isMultiSelectOnFocus = false;\n assignOptimisticActionParams = (tagName: string) => ({\n onError: (error: unknown) => {\n this.tagsBIReporter.onError(\n {\n tagName,\n actionName: 'Assign tag',\n origin: this.origin,\n },\n error,\n );\n },\n errorToast: () => {\n return {\n biName: 'cairo-assign-tag-error',\n message: this.container.translate(\n 'cairo.tags.collectionPage.toast.update.error',\n ),\n };\n },\n onTryAgain: () => {\n this.tagsBIReporter.onTryAgain({\n actionName: 'Assign tag',\n });\n },\n });\n\n constructor({ tagsManagementState, origin }: TagsFormStateParams) {\n this.container = tagsManagementState.container;\n this.origin = origin;\n this.tagsManagementState = tagsManagementState;\n\n this.tagsBIReporter = new TagsBIReporter({\n collection: this.tagsManagementState.collection,\n reportBi: this.container.createBILogger({\n componentType: 'TagsWidget',\n ...tagsManagementState.fqdn,\n }),\n location: 'Tags widget',\n });\n\n this.tagsAssignmentState = new TagsAssignmentState({\n tagsManagementState: this.tagsManagementState,\n tagsBIReporter: this.tagsBIReporter,\n origin,\n fqdn: tagsManagementState.fqdn,\n });\n this.tagsSearchState = new TagsSearchState({\n tagsManagementState: this.tagsManagementState,\n });\n\n makeObservable(this, {\n init: action,\n previousSearchValue: observable,\n isMultiSelectOnFocus: observable,\n displayedAssignedTags: computed,\n displayedTagOptions: computed,\n isDirty: computed,\n handleManageTagsCtaClick: action,\n handleSearchChange: action,\n handleOptionsShow: action,\n setIsMultiSelectOnFocus: action,\n });\n }\n\n init({\n initialTags,\n entityId,\n }: {\n initialTags?: Tags;\n entityId?: string | null;\n }) {\n this.entityId = entityId;\n const disposers = [\n this.tagsAssignmentState.init({\n initialTags,\n entityId,\n }),\n ];\n\n this.tagsBIReporter.reportBi(\n cairoTagsWidgetLoaded({\n itemId: this.entityId ?? undefined,\n numTags: this.tagsManagementState.items.length,\n numTagsAssigned: initialTags?.privateTags?.tagIds?.length,\n }),\n );\n\n return () => {\n disposers.forEach((disposer) => disposer?.());\n };\n }\n\n get displayedAssignedTags() {\n return this.tagsAssignmentState.assignedTags.map((assignedTag) => ({\n id: assignedTag.id!,\n label: assignedTag.name!,\n }));\n }\n\n get displayedTagOptions() {\n return this.tagsSearchState.filteredItems\n .filter(\n (tag: Tag) =>\n !this.displayedAssignedTags.find(\n (assignedTag) => assignedTag.label === tag.name,\n ),\n )\n .map((tag: Tag) => {\n return { id: tag.id!, value: tag.name };\n });\n }\n\n get isInEmptyState() {\n return this.tagsManagementState.items.length === 0;\n }\n\n get searchValue() {\n return this.tagsSearchState.searchValue;\n }\n\n get shouldShowCreateTagOption() {\n return this.searchValue && !this.tagsSearchState.hasSameTagAsSearch;\n }\n\n handleTagSelect(\n option: { id: string; value: string },\n onSubmit?: OnSubmitTagsFuncType,\n ) {\n if (option.id === ADD_ITEM_OPTION_ID) {\n this._invokeBiOnCtaClick('Create tags');\n const tagName = this.previousSearchValue.slice(0, TAG_MAX_LENGTH);\n this.createAndAssignTag(tagName, onSubmit);\n return;\n }\n\n this.assignTag({ id: option.id, name: option.value }, onSubmit);\n }\n\n assignTag = async (tag: Tag, onSubmit?: OnSubmitTagsFuncType) => {\n this.tagsAssignmentState.assignTag({\n tag,\n onSubmit,\n isFromSearch: this.previousSearchValue !== '',\n optimisticActionParams: this.assignOptimisticActionParams(tag.name!),\n });\n };\n\n unassignTag = async (tagId: string, onSubmit?: OnSubmitTagsFuncType) => {\n const tagToUnassign = this.tagsAssignmentState.assignedTags.find(\n (tag) => tag.id === tagId,\n );\n\n if (tagToUnassign) {\n this.tagsAssignmentState.unassignTag({\n tag: tagToUnassign,\n onSubmit,\n isFromSearch: false,\n optimisticActionParams: {\n errorToast: () => {\n return {\n biName: 'cairo-remove-assign-tag-error',\n message: this.container.translate(\n 'cairo.tags.collectionPage.toast.update.error',\n ),\n };\n },\n onError: (error: unknown) => {\n this.tagsBIReporter.onError(\n {\n tagName: tagToUnassign.name!,\n actionName: 'Remove assign tag',\n origin: this.origin,\n },\n error,\n );\n },\n onTryAgain: () => {\n this.tagsBIReporter.onTryAgain({\n actionName: 'Remove assign tag',\n });\n },\n },\n });\n }\n };\n\n createAndAssignTag = async (\n name: string,\n onSubmit?: OnSubmitTagsFuncType,\n ) => {\n this.tagsAssignmentState.createAndAssignTag({\n name,\n onSubmit,\n filteredListSize: this.displayedTagOptions.length,\n createOptimisticActionParams: {\n errorToast: () => {\n return {\n biName: 'cairo-save-new-tag-error',\n message: this.container.translate(\n 'cairo.tags.collectionPage.toast.create.error',\n ),\n };\n },\n },\n assignOptimisticActionParams: this.assignOptimisticActionParams(name),\n });\n };\n\n handleManageTagsCtaClick() {\n this._invokeBiOnCtaClick('Manage tags');\n }\n\n handleSearchChange(newSearchValue: string) {\n this.previousSearchValue = this.searchValue;\n this.tagsSearchState.searchValue = newSearchValue;\n }\n\n handleOptionsShow() {\n this._invokeBiOnCtaClick('Assign tags');\n }\n\n setIsMultiSelectOnFocus(isOnFocusValue: boolean) {\n this.isMultiSelectOnFocus = isOnFocusValue;\n }\n\n validate = async () => {\n const tags = {\n privateTags: { tagIds: this.tagsAssignmentState.assignedTagIds },\n };\n return {\n isValid: true,\n tags,\n values: tags,\n };\n };\n\n get isDirty() {\n return this.tagsAssignmentState.isDirty;\n }\n\n private _invokeBiOnCtaClick(actionName: string) {\n return this.tagsBIReporter.reportBi(\n cairoTagsWidgetClickOnCta({\n itemId: this.entityId ?? undefined,\n numTags: this.tagsManagementState.items.length,\n numTagsAssigned: this.tagsAssignmentState.assignedTags.length,\n actionName,\n }),\n );\n }\n}\n"],"mappings":"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","ignoreList":[]}
|