@wix/patterns 1.239.0 → 1.241.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cjs/components/CardContainer/CardContainer.st.css.js +2 -2
- package/dist/cjs/components/CardContainer/CardContainer.st.css.js.map +1 -1
- package/dist/cjs/components/Collapse/Collapse.st.css.js +3 -3
- package/dist/cjs/components/Collapse/Collapse.st.css.js.map +1 -1
- package/dist/cjs/components/CollectionPageNew/CollectionPage.st.css.js +2 -2
- package/dist/cjs/components/CollectionPageNew/CollectionPage.st.css.js.map +1 -1
- package/dist/cjs/components/CollectionTable/CollectionTable.st.css.js +2 -2
- package/dist/cjs/components/CollectionTable/CollectionTable.st.css.js.map +1 -1
- package/dist/cjs/components/CollectionToolbar/CollectionToolbar.st.css.js +5 -5
- package/dist/cjs/components/CollectionToolbar/CollectionToolbar.st.css.js.map +1 -1
- package/dist/cjs/components/CollectionToolbar/SearchOrCustomFilter.st.css.js +4 -4
- package/dist/cjs/components/CollectionToolbar/SearchOrCustomFilter.st.css.js.map +1 -1
- package/dist/cjs/components/CollectionViewsDropdown/AutoCompleteReadonly.st.css.js +2 -2
- package/dist/cjs/components/CollectionViewsDropdown/AutoCompleteReadonly.st.css.js.map +1 -1
- package/dist/cjs/components/CollectionViewsDropdown/ViewsDropdown.st.css.js +2 -2
- package/dist/cjs/components/CollectionViewsDropdown/ViewsDropdown.st.css.js.map +1 -1
- package/dist/cjs/components/DragHandle/DragHandle.st.css.js +2 -2
- package/dist/cjs/components/DragHandle/DragHandle.st.css.js.map +1 -1
- package/dist/cjs/components/EntityPage/EntityPagePlain.st.css.js +2 -2
- package/dist/cjs/components/EntityPage/EntityPagePlain.st.css.js.map +1 -1
- package/dist/cjs/components/Fade/Fade.st.css.js +2 -2
- package/dist/cjs/components/Fade/Fade.st.css.js.map +1 -1
- package/dist/cjs/components/Heading/Heading.st.css.js +2 -2
- package/dist/cjs/components/Heading/Heading.st.css.js.map +1 -1
- package/dist/cjs/components/InputOverflow/InputOverflow.st.css.js +2 -2
- package/dist/cjs/components/InputOverflow/InputOverflow.st.css.js.map +1 -1
- package/dist/cjs/components/Kanban/Card.js +14 -12
- package/dist/cjs/components/Kanban/Card.js.map +1 -1
- package/dist/cjs/components/Kanban/CardActions.js +7 -5
- package/dist/cjs/components/Kanban/CardActions.js.map +1 -1
- package/dist/cjs/components/Kanban/Kanban.js +11 -14
- package/dist/cjs/components/Kanban/Kanban.js.map +1 -1
- package/dist/cjs/components/Kanban/KanbanCardActionsHelper.js +117 -0
- package/dist/cjs/components/Kanban/KanbanCardActionsHelper.js.map +1 -0
- package/dist/cjs/components/Kanban/Stage.js +32 -23
- package/dist/cjs/components/Kanban/Stage.js.map +1 -1
- package/dist/cjs/components/Kanban/useCardActions.js +23 -17
- package/dist/cjs/components/Kanban/useCardActions.js.map +1 -1
- package/dist/cjs/components/KanbanDragAndDropDndKit/KanbanCardDragAndDrop.js +44 -3
- package/dist/cjs/components/KanbanDragAndDropDndKit/KanbanCardDragAndDrop.js.map +1 -1
- package/dist/cjs/components/KanbanDragAndDropDndKit/KanbanDragOverlayCardItem.js +3 -2
- package/dist/cjs/components/KanbanDragAndDropDndKit/KanbanDragOverlayCardItem.js.map +1 -1
- package/dist/cjs/components/KanbanDragAndDropDndKit/KanbanDraggableCardItem.js +21 -7
- package/dist/cjs/components/KanbanDragAndDropDndKit/KanbanDraggableCardItem.js.map +1 -1
- package/dist/cjs/components/LoadingRow/LoadingRow.st.css.js +3 -3
- package/dist/cjs/components/LoadingRow/LoadingRow.st.css.js.map +1 -1
- package/dist/cjs/components/MaxHeightText/MaxHeightText.st.css.js +2 -2
- package/dist/cjs/components/MaxHeightText/MaxHeightText.st.css.js.map +1 -1
- package/dist/cjs/components/MaxLines/MaxLines.st.css.js +2 -2
- package/dist/cjs/components/MaxLines/MaxLines.st.css.js.map +1 -1
- package/dist/cjs/components/MultiBulkActionToolbar/MultiBulkActionToolbar.st.css.js +2 -2
- package/dist/cjs/components/MultiBulkActionToolbar/MultiBulkActionToolbar.st.css.js.map +1 -1
- package/dist/cjs/components/NestedTable/NestedTablePlaceholderStatesRow.st.css.js +2 -2
- package/dist/cjs/components/NestedTable/NestedTablePlaceholderStatesRow.st.css.js.map +1 -1
- package/dist/cjs/components/NestedTable/NestedTableRow.st.css.js +5 -5
- package/dist/cjs/components/NestedTable/NestedTableRow.st.css.js.map +1 -1
- package/dist/cjs/components/NestedTableDragAndDrop/MultipleDragOverlayEffect.st.css.js +2 -2
- package/dist/cjs/components/NestedTableDragAndDrop/MultipleDragOverlayEffect.st.css.js.map +1 -1
- package/dist/cjs/components/NestedTableDragAndDrop/NestedTableDragAndDropRow.st.css.js +2 -2
- package/dist/cjs/components/NestedTableDragAndDrop/NestedTableDragAndDropRow.st.css.js.map +1 -1
- package/dist/cjs/components/PickerContent/PickerContent.st.css.js +2 -2
- package/dist/cjs/components/PickerContent/PickerContent.st.css.js.map +1 -1
- package/dist/cjs/components/PickerContent/PickerContentAdditionalStep.st.css.js +4 -4
- package/dist/cjs/components/PickerContent/PickerContentAdditionalStep.st.css.js.map +1 -1
- package/dist/cjs/components/PickerTableListItem/PickerTableListItem.st.css.js +2 -2
- package/dist/cjs/components/PickerTableListItem/PickerTableListItem.st.css.js.map +1 -1
- package/dist/cjs/components/ScrollableContent/ScrollableContent.st.css.js +2 -2
- package/dist/cjs/components/ScrollableContent/ScrollableContent.st.css.js.map +1 -1
- package/dist/cjs/components/SkeletonCard/SkeletonCard.st.css.js +3 -3
- package/dist/cjs/components/SkeletonCard/SkeletonCard.st.css.js.map +1 -1
- package/dist/cjs/components/SlidingModal/SlidingModal.st.css.js +2 -2
- package/dist/cjs/components/SlidingModal/SlidingModal.st.css.js.map +1 -1
- package/dist/cjs/components/TabsFilter/TabsFilter.st.css.js +3 -3
- package/dist/cjs/components/TabsFilter/TabsFilter.st.css.js.map +1 -1
- package/dist/cjs/components/Tags/ManageTags/ManageTagsModal/ManageTagsModal.st.css.js +2 -2
- package/dist/cjs/components/Tags/ManageTags/ManageTagsModal/ManageTagsModal.st.css.js.map +1 -1
- package/dist/cjs/components/ToolbarItem/ToolbarItem.st.css.js +2 -2
- package/dist/cjs/components/ToolbarItem/ToolbarItem.st.css.js.map +1 -1
- package/dist/cjs/components/ToolbarItemBox/ToolbarItemBox.st.css.js +2 -2
- package/dist/cjs/components/ToolbarItemBox/ToolbarItemBox.st.css.js.map +1 -1
- package/dist/cjs/components/common.st.css.js +4 -4
- package/dist/cjs/components/common.st.css.js.map +1 -1
- package/dist/cjs/hooks/useKanban.js +48 -3
- package/dist/cjs/hooks/useKanban.js.map +1 -1
- package/dist/cjs/model/view.js.map +1 -1
- package/dist/cjs/state/CollectionPage/CollectionPageHeader.st.css.js +2 -2
- package/dist/cjs/state/CollectionPage/CollectionPageHeader.st.css.js.map +1 -1
- package/dist/cjs/state/CollectionViewsState.js +1 -0
- package/dist/cjs/state/CollectionViewsState.js.map +1 -1
- package/dist/cjs/state/FormPage/FormPageHeader.st.css.js +2 -2
- package/dist/cjs/state/FormPage/FormPageHeader.st.css.js.map +1 -1
- package/dist/cjs/state/KanbanState/KanbanStageState.js +9 -3
- package/dist/cjs/state/KanbanState/KanbanStageState.js.map +1 -1
- package/dist/cjs/state/KanbanState/KanbanState.js +99 -23
- package/dist/cjs/state/KanbanState/KanbanState.js.map +1 -1
- package/dist/cjs/state/KanbanState/KanbanStateBIReporter.js +226 -0
- package/dist/cjs/state/KanbanState/KanbanStateBIReporter.js.map +1 -0
- package/dist/cjs/state/ViewsState.js +5 -3
- package/dist/cjs/state/ViewsState.js.map +1 -1
- package/dist/cjs/styles.global.css +1 -1
- package/dist/cjs/version.js +1 -1
- package/dist/cjs/version.js.map +1 -1
- package/dist/esm/components/CardContainer/CardContainer.st.css.js +2 -2
- package/dist/esm/components/Collapse/Collapse.st.css.js +2 -2
- package/dist/esm/components/CollectionPageNew/CollectionPage.st.css.js +2 -2
- package/dist/esm/components/CollectionPageNew/CollectionPage.st.css.js.map +1 -1
- package/dist/esm/components/CollectionTable/CollectionTable.st.css.js +2 -2
- package/dist/esm/components/CollectionTable/CollectionTable.st.css.js.map +1 -1
- package/dist/esm/components/CollectionToolbar/CollectionToolbar.st.css.js +2 -2
- package/dist/esm/components/CollectionToolbar/SearchOrCustomFilter.st.css.js +2 -2
- package/dist/esm/components/CollectionToolbar/SearchOrCustomFilter.st.css.js.map +1 -1
- package/dist/esm/components/CollectionViewsDropdown/AutoCompleteReadonly.st.css.js +2 -2
- package/dist/esm/components/CollectionViewsDropdown/AutoCompleteReadonly.st.css.js.map +1 -1
- package/dist/esm/components/CollectionViewsDropdown/ViewsDropdown.st.css.js +2 -2
- package/dist/esm/components/CollectionViewsDropdown/ViewsDropdown.st.css.js.map +1 -1
- package/dist/esm/components/DragHandle/DragHandle.st.css.js +2 -2
- package/dist/esm/components/EntityPage/EntityPagePlain.st.css.js +2 -2
- package/dist/esm/components/Fade/Fade.st.css.js +2 -2
- package/dist/esm/components/Fade/Fade.st.css.js.map +1 -1
- package/dist/esm/components/Heading/Heading.st.css.js +2 -2
- package/dist/esm/components/InputOverflow/InputOverflow.st.css.js +2 -2
- package/dist/esm/components/Kanban/Card.js +2 -2
- package/dist/esm/components/Kanban/Card.js.map +1 -1
- package/dist/esm/components/Kanban/CardActions.js +2 -1
- package/dist/esm/components/Kanban/CardActions.js.map +1 -1
- package/dist/esm/components/Kanban/Kanban.js +1 -4
- package/dist/esm/components/Kanban/Kanban.js.map +1 -1
- package/dist/esm/components/Kanban/KanbanCardActionsHelper.js +80 -0
- package/dist/esm/components/Kanban/KanbanCardActionsHelper.js.map +1 -0
- package/dist/esm/components/Kanban/Stage.js +10 -1
- package/dist/esm/components/Kanban/Stage.js.map +1 -1
- package/dist/esm/components/Kanban/useCardActions.js +16 -9
- package/dist/esm/components/Kanban/useCardActions.js.map +1 -1
- package/dist/esm/components/KanbanDragAndDropDndKit/KanbanCardDragAndDrop.js +44 -2
- package/dist/esm/components/KanbanDragAndDropDndKit/KanbanCardDragAndDrop.js.map +1 -1
- package/dist/esm/components/KanbanDragAndDropDndKit/KanbanDragOverlayCardItem.js +1 -0
- package/dist/esm/components/KanbanDragAndDropDndKit/KanbanDragOverlayCardItem.js.map +1 -1
- package/dist/esm/components/KanbanDragAndDropDndKit/KanbanDraggableCardItem.js +15 -3
- package/dist/esm/components/KanbanDragAndDropDndKit/KanbanDraggableCardItem.js.map +1 -1
- package/dist/esm/components/LoadingRow/LoadingRow.st.css.js +3 -3
- package/dist/esm/components/MaxHeightText/MaxHeightText.st.css.js +2 -2
- package/dist/esm/components/MaxLines/MaxLines.st.css.js +2 -2
- package/dist/esm/components/MultiBulkActionToolbar/MultiBulkActionToolbar.st.css.js +2 -2
- package/dist/esm/components/NestedTable/NestedTablePlaceholderStatesRow.st.css.js +2 -2
- package/dist/esm/components/NestedTable/NestedTableRow.st.css.js +2 -2
- package/dist/esm/components/NestedTableDragAndDrop/MultipleDragOverlayEffect.st.css.js +2 -2
- package/dist/esm/components/NestedTableDragAndDrop/NestedTableDragAndDropRow.st.css.js +2 -2
- package/dist/esm/components/PickerContent/PickerContent.st.css.js +2 -2
- package/dist/esm/components/PickerContent/PickerContent.st.css.js.map +1 -1
- package/dist/esm/components/PickerContent/PickerContentAdditionalStep.st.css.js +2 -2
- package/dist/esm/components/PickerTableListItem/PickerTableListItem.st.css.js +2 -2
- package/dist/esm/components/ScrollableContent/ScrollableContent.st.css.js +2 -2
- package/dist/esm/components/SkeletonCard/SkeletonCard.st.css.js +2 -2
- package/dist/esm/components/SlidingModal/SlidingModal.st.css.js +2 -2
- package/dist/esm/components/TabsFilter/TabsFilter.st.css.js +2 -2
- package/dist/esm/components/Tags/ManageTags/ManageTagsModal/ManageTagsModal.st.css.js +2 -2
- package/dist/esm/components/ToolbarItem/ToolbarItem.st.css.js +2 -2
- package/dist/esm/components/ToolbarItem/ToolbarItem.st.css.js.map +1 -1
- package/dist/esm/components/ToolbarItemBox/ToolbarItemBox.st.css.js +2 -2
- package/dist/esm/components/common.st.css.js +2 -2
- package/dist/esm/components/common.st.css.js.map +1 -1
- package/dist/esm/hooks/useKanban.js +50 -3
- package/dist/esm/hooks/useKanban.js.map +1 -1
- package/dist/esm/model/view.js.map +1 -1
- package/dist/esm/state/CollectionPage/CollectionPageHeader.st.css.js +2 -2
- package/dist/esm/state/CollectionViewsState.js +1 -0
- package/dist/esm/state/CollectionViewsState.js.map +1 -1
- package/dist/esm/state/FormPage/FormPageHeader.st.css.js +2 -2
- package/dist/esm/state/KanbanState/KanbanStageState.js +10 -3
- package/dist/esm/state/KanbanState/KanbanStageState.js.map +1 -1
- package/dist/esm/state/KanbanState/KanbanState.js +95 -20
- package/dist/esm/state/KanbanState/KanbanState.js.map +1 -1
- package/dist/esm/state/KanbanState/KanbanStateBIReporter.js +184 -0
- package/dist/esm/state/KanbanState/KanbanStateBIReporter.js.map +1 -0
- package/dist/esm/state/ViewsState.js +1 -0
- package/dist/esm/state/ViewsState.js.map +1 -1
- package/dist/esm/styles.global.css +1 -1
- package/dist/esm/version.js +1 -1
- package/dist/types/components/CollectionPageNew/CollectionPage.st.css.d.ts.map +1 -1
- package/dist/types/components/CollectionTable/CollectionTable.st.css.d.ts.map +1 -1
- package/dist/types/components/CollectionToolbar/SearchOrCustomFilter.st.css.d.ts.map +1 -1
- package/dist/types/components/CollectionViewsDropdown/AutoCompleteReadonly.st.css.d.ts.map +1 -1
- package/dist/types/components/CollectionViewsDropdown/ViewsDropdown.st.css.d.ts.map +1 -1
- package/dist/types/components/Fade/Fade.st.css.d.ts.map +1 -1
- package/dist/types/components/Kanban/Card.d.ts +3 -1
- package/dist/types/components/Kanban/Card.d.ts.map +1 -1
- package/dist/types/components/Kanban/CardActions.d.ts +2 -2
- package/dist/types/components/Kanban/CardActions.d.ts.map +1 -1
- package/dist/types/components/Kanban/Kanban.d.ts.map +1 -1
- package/dist/types/components/Kanban/KanbanCardActionsHelper.d.ts +617 -0
- package/dist/types/components/Kanban/KanbanCardActionsHelper.d.ts.map +1 -0
- package/dist/types/components/Kanban/Stage.d.ts.map +1 -1
- package/dist/types/components/Kanban/useCardActions.d.ts +4 -3
- package/dist/types/components/Kanban/useCardActions.d.ts.map +1 -1
- package/dist/types/components/KanbanDragAndDropDndKit/KanbanCardDragAndDrop.d.ts +1 -0
- package/dist/types/components/KanbanDragAndDropDndKit/KanbanCardDragAndDrop.d.ts.map +1 -1
- package/dist/types/components/KanbanDragAndDropDndKit/KanbanDragOverlayCardItem.d.ts.map +1 -1
- package/dist/types/components/KanbanDragAndDropDndKit/KanbanDraggableCardItem.d.ts.map +1 -1
- package/dist/types/components/PickerContent/PickerContent.st.css.d.ts.map +1 -1
- package/dist/types/components/ToolbarItem/ToolbarItem.st.css.d.ts.map +1 -1
- package/dist/types/components/common.st.css.d.ts.map +1 -1
- package/dist/types/hooks/useKanban.d.ts.map +1 -1
- package/dist/types/model/view.d.ts +5 -0
- package/dist/types/model/view.d.ts.map +1 -1
- package/dist/types/state/CollectionViewsState.d.ts.map +1 -1
- package/dist/types/state/KanbanState/KanbanStageState.d.ts +4 -1
- package/dist/types/state/KanbanState/KanbanStageState.d.ts.map +1 -1
- package/dist/types/state/KanbanState/KanbanState.d.ts +14 -0
- package/dist/types/state/KanbanState/KanbanState.d.ts.map +1 -1
- package/dist/types/state/KanbanState/KanbanStateBIReporter.d.ts +53 -0
- package/dist/types/state/KanbanState/KanbanStateBIReporter.d.ts.map +1 -0
- package/dist/types/state/ViewsState.d.ts.map +1 -1
- package/dist/types/version.d.ts +1 -1
- package/package.json +3 -3
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_bexCore","require","_ToolbarCollectionState","_KanbanStageState","_mobx","_KanbanCardDragAndDrop","_uuid","_events","KanbanState","constructor","params","_defineProperty2","default","EventEmitter","container","items","toolbarQueryCollectionState","createToolbarQueryCollectionState","query","QueryState","filters","search","stringFilter","initialValue","stageType","stages","syncWithSharedQuery","stagesCollectionState","createStagesCollectionState","toolbar","ToolbarCollectionState","collection","componentType","reportBi","dragAndDropState","KanbanDragAndDropState","kanbanState","makeObservable","kanbanStageStates","observable","updateStage","action","computed","isRefetching","refetchKanban","hasStagesError","isLoading","isLoadingStages","debouncedStagesRefresh","lodash","debounce","isChangingFiltersValue","initializeStageStates","triggerDebouncedStagesRefresh","init","loadStages","featuresInitializers","CollectionOptimisticActions","disposers","reaction","asComputed","fireImmediately","forEach","d","_this$stagesCollectio","initTask","status","promise","catch","error","showErrorToast","fetchAllByStageIds","stageData","fetchStagesData","processAllStages","result","keyedItems","map","item","getStageState","stage","itemKey","getStageStateByKey","stageKey","Object","values","some","keys","length","isInSearchMode","_this$query$asCompute","getIsChangingFiltersValue","_this$stagesCollectio2","isError","runInAction","clearResultBeforeRefresh","refreshAllPages","_this$container$error","_this$container$error2","resolvedError","errorHandler","getResolvedError","showError","CollectionState","errorMonitor","history","onlineState","queryCache","translate","queryName","fetchData","Promise","resolve","total","cursor","itemName","paginationMode","stageName","stageIds","getStageIds","ids","keyedStage","stageId","hasDataForStage","createNewStageState","updateExistingStageState","KanbanStageState","initialPage","getInitialPageData","name","key","stageState","initialPageData","itemsCollectionState","setInitialPage","setPages","processed","unprocessed","setTotals","setTotal","setCursor","getStageIdFromItem","stageField","originalStage","updatedStage","optimisticActions","updateOne","submit","keepPosition","refetchStage","createStage","createOne","_items","scrollToStage","events","emit","scrollToCardInStage","cardKey","deleteStage","deleteOne","Reflect","deleteProperty","reorderStages","fromIndex","toIndex","from","over","after","actionMove","moveId","uuid","isFromHandle","filtersKeyHash","originQuery","_orderByMode","move","collectionSnapshot","moveItemBetweenStages","originalItem","updatedItem","fromStageId","toStageId","deleteItem","createItem","deleteCard","card","createCard","updateCard","updateItem","exports"],"sources":["../../../../src/state/KanbanState/KanbanState.ts"],"sourcesContent":["import {\n CollectionState,\n CollectionStateParams,\n DataResultRaw,\n FiltersMap,\n OptionalFiltersMap,\n WixPatternsContainer,\n stringFilter,\n CollectionOptimisticActions,\n QueryState,\n syncWithSharedQuery,\n ComputedQuery,\n} from '@wix/bex-core';\nimport { ICollectionComponentState } from '../ICollectionComponentState';\nimport { ToolbarCollectionState } from '../ToolbarCollectionState';\nimport { KanbanDragEndItemEvent } from './KanbanDragEndEvent';\nimport { KanbanStageState } from './KanbanStageState';\nimport {\n observable,\n makeObservable,\n runInAction,\n action,\n computed,\n reaction,\n} from 'mobx';\nimport { KanbanDragAndDropState } from '../../components/KanbanDragAndDropDndKit/KanbanCardDragAndDrop';\nimport { v4 as uuid } from 'uuid';\nimport { EventEmitter } from 'events';\nimport { TypedEmitter } from '@wix/bex-core/events';\n\nexport type stageType = 'DONE' | 'NONE';\n\nexport interface KanbanStateBaseParams<\n T,\n S,\n F extends FiltersMap = OptionalFiltersMap,\n> {\n stages: {\n fetchData: CollectionStateParams<S, F>['fetchData'];\n stageKey: CollectionStateParams<S, F>['itemKey'];\n stageName: CollectionStateParams<S, F>['itemName'];\n stageType?(stage: S): stageType;\n };\n items: {\n fetchData: CollectionStateParams<T, F>['fetchData'];\n itemKey: CollectionStateParams<T, F>['itemKey'];\n itemName: CollectionStateParams<T, F>['itemName'];\n stageField: string;\n fetchAllByStageIds?: (params: {\n ids: string[];\n filters: ComputedQuery<F>['filters'];\n search?: ComputedQuery<F>['search'];\n }) => Promise<Record<string, DataResultRaw<T>>>;\n dragAndDrop?: {\n onSubmit?: (event: KanbanDragEndItemEvent<T>) => Promise<T>;\n };\n create?: {\n navigateToEntityPage: ({ stage }: { stage: S }) => void;\n title: string;\n };\n };\n}\n\nexport interface KanbanStateParams<\n T,\n S,\n F extends FiltersMap = OptionalFiltersMap,\n> extends KanbanStateBaseParams<T, S, F> {\n readonly container: WixPatternsContainer;\n}\n\nexport interface KanbanStateParamsAPI<\n T,\n F extends FiltersMap = OptionalFiltersMap,\n> {\n readonly toolbar: ToolbarCollectionState<T, F>;\n}\n\nexport class KanbanState<T, S, F extends FiltersMap = OptionalFiltersMap>\n implements ICollectionComponentState, KanbanStateParamsAPI<T, F>\n{\n readonly container: WixPatternsContainer;\n kanbanStageStates: Record<\n string,\n KanbanStageState<T, S, F & { stageId: ReturnType<typeof stringFilter> }>\n > = {};\n readonly toolbar: ToolbarCollectionState<T, F>;\n readonly stagesCollectionState: CollectionState<S, F>;\n readonly toolbarQueryCollectionState: CollectionState<T, F>;\n readonly dragAndDropState: KanbanDragAndDropState<\n T,\n S,\n F & { stageId: ReturnType<typeof stringFilter> }\n >;\n readonly query: QueryState<F>;\n readonly debouncedStagesRefresh: () => unknown;\n readonly stageType: KanbanStateBaseParams<T, S, F>['stages']['stageType'];\n items: KanbanStateBaseParams<T, S, F>['items'];\n isRefetching = false;\n isChangingFiltersValue = false;\n readonly events = new EventEmitter() as TypedEmitter<{\n scrollToStage: (params: { stageKey: string }) => void;\n scrollToCardInStage: (params: {\n stageKey: string;\n cardKey: string;\n }) => void;\n }>;\n\n constructor(params: KanbanStateParams<T, S, F>) {\n this.container = params.container;\n this.items = params.items;\n this.toolbarQueryCollectionState = this.createToolbarQueryCollectionState();\n this.query = new QueryState({\n filters: {} as F,\n search: stringFilter({ initialValue: '' }),\n });\n this.stageType = params.stages.stageType;\n syncWithSharedQuery(this.toolbarQueryCollectionState.query, this.query);\n\n this.stagesCollectionState = this.createStagesCollectionState(params);\n\n this.toolbar = new ToolbarCollectionState({\n collection: this.toolbarQueryCollectionState,\n container: params.container,\n componentType: 'Kanban',\n reportBi: this.container.reportBi,\n });\n\n this.dragAndDropState = new KanbanDragAndDropState({\n kanbanState: this as any,\n });\n\n makeObservable(this, {\n kanbanStageStates: observable,\n updateStage: action,\n stages: computed,\n isRefetching: observable,\n refetchKanban: action,\n hasStagesError: computed,\n isLoading: computed,\n isLoadingStages: computed,\n });\n\n this.debouncedStagesRefresh = this.container.lodash.debounce(() => {\n this.isChangingFiltersValue = false;\n this.initializeStageStates();\n }, 300);\n }\n\n triggerDebouncedStagesRefresh() {\n this.isChangingFiltersValue = true;\n this.debouncedStagesRefresh();\n }\n\n async init() {\n await this.loadStages();\n await this.initializeStageStates();\n this.toolbar.init({ featuresInitializers: [] });\n this.dragAndDropState.init();\n new CollectionOptimisticActions({\n collection: this.stagesCollectionState,\n container: this.container,\n });\n\n const disposers = [\n reaction(\n () => this.query.asComputed,\n () => {\n this.triggerDebouncedStagesRefresh();\n },\n {\n fireImmediately: false,\n },\n ),\n ];\n\n return () => {\n disposers.forEach((d) => d?.());\n };\n }\n\n async loadStages() {\n this.stagesCollectionState.init();\n await this.stagesCollectionState?.initTask?.status?.promise?.catch(\n (error) => {\n this.showErrorToast(error);\n },\n );\n }\n\n async initializeStageStates() {\n if (!this.items.fetchAllByStageIds) {\n return;\n }\n try {\n const stageData = await this.fetchStagesData();\n this.processAllStages(stageData);\n } catch (error) {\n this.showErrorToast(error);\n }\n }\n\n get stages() {\n return this.stagesCollectionState.result.keyedItems.map(\n (item: any) => item.item,\n );\n }\n\n getStageState(stage: S) {\n return this.kanbanStageStates[this.stagesCollectionState.itemKey(stage)];\n }\n\n getStageStateByKey(stageKey: string) {\n return this.kanbanStageStates[stageKey];\n }\n\n get isLoading() {\n return (\n this.isLoadingStages ||\n Object.values(this.kanbanStageStates).some((stage) => stage.isLoading)\n );\n }\n\n get isLoadingStages() {\n return (\n this.stagesCollectionState.initTask.status.isLoading ||\n this.isRefetching ||\n Object.keys(this.kanbanStageStates).length !==\n this.stagesCollectionState.result.keyedItems.length\n );\n }\n\n isInSearchMode() {\n return (\n this.query.asComputed.search?.length &&\n this.query.asComputed.search.length > 0\n );\n }\n\n getIsChangingFiltersValue() {\n return this.isChangingFiltersValue;\n }\n\n stageKey(stage: S) {\n return this.stagesCollectionState.itemKey(stage);\n }\n\n get hasStagesError() {\n return this.stagesCollectionState.result.status?.isError;\n }\n\n // Public methods\n public async refetchKanban() {\n runInAction(() => {\n this.isRefetching = true;\n });\n try {\n await this.stagesCollectionState.clearResultBeforeRefresh();\n await this.stagesCollectionState.refreshAllPages();\n await this.initializeStageStates();\n } catch (error) {\n this.showErrorToast(error);\n } finally {\n runInAction(() => {\n this.isRefetching = false;\n });\n }\n }\n\n // Private methods\n showErrorToast(error: unknown) {\n const resolvedError =\n this.container.errorHandler?.getResolvedError?.(error);\n resolvedError && this.container.errorHandler?.showError?.(resolvedError);\n }\n\n private createToolbarQueryCollectionState() {\n return new CollectionState<T, F>({\n errorMonitor: this.container.errorMonitor,\n history: this.container.history,\n lodash: this.container.lodash,\n onlineState: this.container.onlineState,\n queryCache: this.container.queryCache,\n translate: this.container.translate,\n queryName: 'kanban-toolbar-query-items',\n fetchData: () =>\n Promise.resolve({\n items: [],\n total: 0,\n cursor: null,\n }),\n itemKey: () => '',\n itemName: () => '',\n filters: {} as F,\n errorHandler: this.container.errorHandler,\n paginationMode: 'cursor',\n });\n }\n\n private createStagesCollectionState(params: KanbanStateParams<T, S, F>) {\n return new CollectionState<S, F>({\n errorMonitor: this.container.errorMonitor,\n history: this.container.history,\n lodash: this.container.lodash,\n onlineState: this.container.onlineState,\n queryCache: this.container.queryCache,\n translate: this.container.translate,\n queryName: 'kanban-stages',\n fetchData: params.stages.fetchData,\n itemKey: params.stages.stageKey,\n itemName: params.stages.stageName,\n filters: {} as F,\n errorHandler: this.container.errorHandler,\n paginationMode: 'cursor',\n });\n }\n\n private async fetchStagesData() {\n const stageIds = this.getStageIds();\n\n return this.items.fetchAllByStageIds!({\n ids: stageIds,\n filters: this.query.asComputed.filters,\n search: this.query.asComputed.search,\n });\n }\n\n private getStageIds(): string[] {\n return this.stagesCollectionState.result.keyedItems.map((item) =>\n this.stagesCollectionState.itemKey(item.item),\n );\n }\n\n private processAllStages(stageData: Record<string, DataResultRaw<T>>) {\n this.stagesCollectionState.result.keyedItems.forEach((keyedStage) => {\n const stage = keyedStage.item;\n runInAction(() => {\n const stageId = this.stagesCollectionState.itemKey(stage);\n const hasDataForStage = !!stageData[stageId];\n\n if (!this.kanbanStageStates[stageId]) {\n this.createNewStageState(\n stage,\n stageId,\n stageData[stageId],\n hasDataForStage,\n );\n } else {\n this.updateExistingStageState(\n stage,\n stageId,\n stageData[stageId],\n hasDataForStage,\n );\n }\n });\n });\n }\n\n private createNewStageState(\n stage: S,\n stageId: string,\n stageData: DataResultRaw<T>,\n hasDataForStage: boolean,\n ) {\n this.kanbanStageStates[stageId] = new KanbanStageState<\n T,\n S,\n F & { stageId: ReturnType<typeof stringFilter> }\n >({\n container: this.container,\n fetchData: this.items.fetchData,\n itemKey: this.items.itemKey,\n itemName: this.items.itemName,\n initialPage: hasDataForStage\n ? this.getInitialPageData(stageData)\n : {\n items: [],\n total: 0,\n cursor: null,\n },\n name: this.stagesCollectionState.itemName(stage),\n key: this.stagesCollectionState.itemKey(stage),\n stage,\n query: this.query as any,\n });\n this.kanbanStageStates[stageId].init();\n }\n\n private updateExistingStageState(\n stage: S,\n stageId: string,\n stageData: DataResultRaw<T>,\n hasDataForStage: boolean,\n ) {\n const stageState = this.kanbanStageStates[stageId];\n stageState.name = this.stagesCollectionState.itemName(stage);\n\n runInAction(() => {\n const initialPageData = this.getInitialPageData(\n hasDataForStage\n ? stageData\n : {\n items: [],\n total: 0,\n cursor: null,\n },\n );\n\n stageState.itemsCollectionState.setInitialPage(initialPageData);\n\n // Directly update QueryResultState to trigger MobX reactivity for keyedItems\n const items = initialPageData.items || [];\n const total = initialPageData.total ?? items.length;\n const cursor = initialPageData.cursor;\n\n stageState.itemsCollectionState.result.setPages({\n processed: [items],\n unprocessed: [items],\n });\n\n stageState.itemsCollectionState.result.setTotals({\n processed: total,\n unprocessed: total,\n });\n\n stageState.setTotal(stageData.total ?? 0);\n\n if (cursor != null) {\n stageState.itemsCollectionState.paginationMode.setCursor(cursor);\n }\n });\n }\n\n private getInitialPageData(stageData: DataResultRaw<T>) {\n return {\n items: stageData?.items,\n total: stageData?.total,\n cursor: stageData?.cursor,\n };\n }\n\n private getStageIdFromItem(item: T): string {\n return (item as Record<string, any>)[this.items.stageField];\n }\n\n // optimistic actions\n\n updateStage(originalStage: S, updatedStage: S) {\n const stageId = this.stagesCollectionState.itemKey(originalStage);\n const stageState = this.getStageStateByKey(stageId);\n\n this.stagesCollectionState.optimisticActions.updateOne(originalStage, {\n submit: () => Promise.resolve(updatedStage),\n keepPosition: true,\n });\n runInAction(() => {\n if (\n stageState.name !== this.stagesCollectionState.itemName(updatedStage)\n ) {\n stageState.name = this.stagesCollectionState.itemName(updatedStage);\n }\n stageState.refetchStage();\n });\n }\n\n createStage(stage: S) {\n this.stagesCollectionState.optimisticActions.createOne(stage, {\n submit: (_items) => Promise.resolve(),\n });\n runInAction(() => {\n const stageId = this.stagesCollectionState.itemKey(stage);\n\n this.createNewStageState(\n stage,\n stageId,\n {\n items: [],\n total: 0,\n cursor: null,\n },\n false,\n );\n });\n }\n\n scrollToStage({ stageKey }: { stageKey: string }) {\n this.events.emit('scrollToStage', { stageKey });\n }\n\n scrollToCardInStage({\n stageKey,\n cardKey,\n }: {\n stageKey: string;\n cardKey: string;\n }) {\n this.events.emit('scrollToCardInStage', { stageKey, cardKey });\n }\n\n deleteStage(stage: S) {\n const stageId = this.stagesCollectionState.itemKey(stage);\n\n this.stagesCollectionState.optimisticActions.deleteOne(stage, {\n submit: (_items) => Promise.resolve(),\n });\n runInAction(() => {\n Reflect.deleteProperty(this.kanbanStageStates, stageId);\n });\n }\n\n reorderStages(fromIndex: number, toIndex: number) {\n const keyedItems = this.stagesCollectionState.result.keyedItems;\n if (fromIndex === toIndex) {\n return;\n }\n\n const from = keyedItems[fromIndex];\n const over = keyedItems[toIndex];\n\n let after;\n if (toIndex === 0) {\n after = null;\n } else if (fromIndex < toIndex) {\n after = over;\n } else {\n after = keyedItems[toIndex - 1];\n }\n\n const actionMove = {\n moveId: uuid(),\n from,\n over,\n after,\n isFromHandle: false,\n filtersKeyHash: this.stagesCollectionState.query.filtersKeyHash,\n query: this.stagesCollectionState.originQuery,\n };\n\n this.stagesCollectionState.optimisticActions._orderByMode = 'moves';\n this.stagesCollectionState.optimisticActions.move(actionMove, {\n collectionSnapshot: {},\n });\n }\n\n moveItemBetweenStages(\n originalItem: T,\n updatedItem: T,\n fromStageId: string,\n toStageId: string,\n ) {\n this.getStageStateByKey(fromStageId).deleteItem(originalItem);\n this.getStageStateByKey(toStageId).createItem(updatedItem);\n }\n\n // optimistic actions card\n deleteCard(card: T) {\n const stageId = this.getStageIdFromItem(card);\n this.getStageStateByKey(stageId).deleteItem(card);\n }\n\n createCard(card: T) {\n const stageId = this.getStageIdFromItem(card);\n this.getStageStateByKey(stageId).createItem(card);\n }\n\n updateCard(card: T) {\n const stageId = this.getStageIdFromItem(card);\n this.getStageStateByKey(stageId).updateItem(card);\n }\n}\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["_bexCore","require","_ToolbarCollectionState","_KanbanStageState","_mobx","_KanbanCardDragAndDrop","_uuid","_events","_KanbanStateBIReporter","KanbanComponentType","exports","KanbanState","constructor","params","_defineProperty2","default","EventEmitter","container","kanbanId","items","toolbarQueryCollectionState","createToolbarQueryCollectionState","query","QueryState","filters","search","stringFilter","initialValue","stageType","stages","syncWithSharedQuery","stagesCollectionState","createStagesCollectionState","stagesOptimisticActions","CollectionOptimisticActions","collection","toolbar","ToolbarCollectionState","componentType","reportBi","ev","isSearchEvent","src","evid","isLoadEndEvent","dragAndDropState","KanbanDragAndDropState","kanbanState","kanbanStateBIReporter","KanbanStateBIReporter","makeObservable","kanbanStageStates","observable","updateStage","action","computed","isRefetching","refetchKanban","hasStagesError","isLoading","isLoadingStages","debouncedStagesRefresh","lodash","debounce","isChangingFiltersValue","initializeStageStates","_searchResultsBiEventCallback","triggerDebouncedStagesRefresh","init","disposers","featuresInitializers","reaction","asComputed","fireImmediately","value","searchTerm","previousSearchTerm","reportSearchTriggered","startTime","performance","now","loadStart","loadStages","loadEnd","Object","keys","stageStateDisposers","forEach","stageId","disposeStageState","d","_this$stagesCollectio","initTask","status","promise","catch","error","showErrorToast","fetchAllByStageIds","stageData","fetchStagesData","processAllStages","result","keyedItems","map","item","getStageState","stage","itemKey","getStageStateByKey","stageKey","values","some","length","isInSearchMode","_this$query$asCompute","getIsChangingFiltersValue","_this$stagesCollectio2","isError","runInAction","clearResultBeforeRefresh","refreshAllPages","_this$container$error","_this$container$error2","resolvedError","errorHandler","getResolvedError","showError","CollectionState","errorMonitor","history","onlineState","queryCache","translate","queryName","fetchData","Promise","resolve","total","cursor","itemName","paginationMode","stageName","stageIds","getStageIds","ids","cleanupUnusedStageStates","processCurrentStages","currentStageIds","Set","has","disposer","Reflect","deleteProperty","keyedStage","hasDataForStage","createNewStageState","updateExistingStageState","KanbanStageState","initialPage","getInitialPageData","name","key","stageState","initialPageData","itemsCollectionState","setInitialPage","setPages","processed","unprocessed","setTotals","setTotal","setCursor","getStageIdFromItem","stageField","originalStage","updatedStage","optimisticActions","updateOne","submit","keepPosition","refetchStage","createStage","createOne","_items","scrollToStage","events","emit","scrollToCardInStage","cardKey","deleteStage","deleteOne","reorderStages","fromIndex","toIndex","from","over","after","actionMove","moveId","uuid","isFromHandle","filtersKeyHash","originQuery","_orderByMode","move","collectionSnapshot","moveItemBetweenStages","originalItem","updatedItem","fromStageId","toStageId","deleteItem","createItem","deleteCard","card","createCard","updateCard","updateItem","getStageIndexByKey","findIndex","getStageNameByKey","find","getStageById"],"sources":["../../../../src/state/KanbanState/KanbanState.ts"],"sourcesContent":["import {\n CollectionState,\n CollectionStateParams,\n DataResultRaw,\n FiltersMap,\n OptionalFiltersMap,\n WixPatternsContainer,\n stringFilter,\n CollectionOptimisticActions,\n QueryState,\n syncWithSharedQuery,\n ComputedQuery,\n} from '@wix/bex-core';\nimport { ICollectionComponentState } from '../ICollectionComponentState';\nimport { ToolbarCollectionState } from '../ToolbarCollectionState';\nimport { KanbanDragEndItemEvent } from './KanbanDragEndEvent';\nimport { KanbanStageState } from './KanbanStageState';\nimport {\n observable,\n makeObservable,\n runInAction,\n action,\n computed,\n reaction,\n} from 'mobx';\nimport { KanbanDragAndDropState } from '../../components/KanbanDragAndDropDndKit/KanbanCardDragAndDrop';\nimport { v4 as uuid } from 'uuid';\nimport { EventEmitter } from 'events';\nimport { TypedEmitter } from '@wix/bex-core/events';\nimport { KanbanStateBIReporter } from './KanbanStateBIReporter';\n\nexport const KanbanComponentType = 'TableKanbanSwitch';\n\nexport type stageType = 'DONE' | 'NONE';\n\nexport interface KanbanStateBaseParams<\n T,\n S,\n F extends FiltersMap = OptionalFiltersMap,\n> {\n kanbanId: string;\n stages: {\n fetchData: CollectionStateParams<S, F>['fetchData'];\n stageKey: CollectionStateParams<S, F>['itemKey'];\n stageName: CollectionStateParams<S, F>['itemName'];\n stageType?(stage: S): stageType;\n };\n items: {\n fetchData: CollectionStateParams<T, F>['fetchData'];\n itemKey: CollectionStateParams<T, F>['itemKey'];\n itemName: CollectionStateParams<T, F>['itemName'];\n stageField: string;\n fetchAllByStageIds?: (params: {\n ids: string[];\n filters: ComputedQuery<F>['filters'];\n search?: ComputedQuery<F>['search'];\n }) => Promise<Record<string, DataResultRaw<T>>>;\n dragAndDrop?: {\n onSubmit?: (event: KanbanDragEndItemEvent<T>) => Promise<T>;\n };\n create?: {\n navigateToEntityPage: ({ stage }: { stage: S }) => void;\n title: string;\n };\n };\n}\n\nexport interface KanbanStateParams<\n T,\n S,\n F extends FiltersMap = OptionalFiltersMap,\n> extends KanbanStateBaseParams<T, S, F> {\n readonly container: WixPatternsContainer;\n}\n\nexport interface KanbanStateParamsAPI<\n T,\n F extends FiltersMap = OptionalFiltersMap,\n> {\n readonly toolbar: ToolbarCollectionState<T, F>;\n}\n\nexport class KanbanState<T, S, F extends FiltersMap = OptionalFiltersMap>\n implements ICollectionComponentState, KanbanStateParamsAPI<T, F>\n{\n readonly container: WixPatternsContainer;\n kanbanStageStates: Record<\n string,\n KanbanStageState<T, S, F & { stageId: ReturnType<typeof stringFilter> }>\n > = {};\n private stageStateDisposers: Record<string, () => void> = {};\n readonly toolbar: ToolbarCollectionState<T, F>;\n readonly stagesCollectionState: CollectionState<S, F>;\n readonly toolbarQueryCollectionState: CollectionState<T, F>;\n readonly dragAndDropState: KanbanDragAndDropState<\n T,\n S,\n F & { stageId: ReturnType<typeof stringFilter> }\n >;\n readonly query: QueryState<F>;\n readonly debouncedStagesRefresh: () => unknown;\n readonly stageType: KanbanStateBaseParams<T, S, F>['stages']['stageType'];\n items: KanbanStateBaseParams<T, S, F>['items'];\n isRefetching = false;\n isChangingFiltersValue = false;\n private stagesOptimisticActions: CollectionOptimisticActions<S, F>;\n readonly events = new EventEmitter() as TypedEmitter<{\n scrollToStage: (params: { stageKey: string }) => void;\n scrollToCardInStage: (params: {\n stageKey: string;\n cardKey: string;\n }) => void;\n }>;\n readonly kanbanStateBIReporter: KanbanStateBIReporter<T, S, F>;\n readonly kanbanId: string;\n private _searchResultsBiEventCallback: (() => void) | null = null;\n\n constructor(params: KanbanStateParams<T, S, F>) {\n this.container = params.container;\n this.kanbanId = params.kanbanId;\n this.items = params.items;\n this.toolbarQueryCollectionState = this.createToolbarQueryCollectionState();\n this.query = new QueryState({\n filters: {} as F,\n search: stringFilter({ initialValue: '' }),\n });\n this.stageType = params.stages.stageType;\n syncWithSharedQuery(this.toolbarQueryCollectionState.query, this.query);\n\n this.stagesCollectionState = this.createStagesCollectionState(params);\n\n this.stagesOptimisticActions = new CollectionOptimisticActions({\n collection: this.stagesCollectionState,\n container: this.container,\n });\n\n this.toolbar = new ToolbarCollectionState({\n collection: this.toolbarQueryCollectionState,\n container: params.container,\n componentType: KanbanComponentType,\n reportBi: (ev) => {\n // Filter out BI events to avoid duplicates - KanbanStateBIReporter handles them\n const isSearchEvent =\n ev.src === 144 && (ev.evid === 116 || ev.evid === 117); // cairoFilterToggled or cairoSearchResults or cairoLoadEnd\n const isLoadEndEvent = ev.src === 144 && ev.evid === 111; // cairoLoadEnd\n if (!isSearchEvent && !isLoadEndEvent) {\n this.container.reportBi(ev);\n }\n },\n });\n\n this.dragAndDropState = new KanbanDragAndDropState({\n kanbanState: this as any,\n });\n\n this.kanbanStateBIReporter = new KanbanStateBIReporter(this);\n\n makeObservable(this, {\n kanbanStageStates: observable,\n updateStage: action,\n stages: computed,\n isRefetching: observable,\n refetchKanban: action,\n hasStagesError: computed,\n isLoading: computed,\n isLoadingStages: computed,\n });\n\n this.debouncedStagesRefresh = this.container.lodash.debounce(async () => {\n this.isChangingFiltersValue = false;\n await this.initializeStageStates();\n if (this._searchResultsBiEventCallback) {\n this._searchResultsBiEventCallback();\n this._searchResultsBiEventCallback = null;\n }\n }, 300);\n }\n\n triggerDebouncedStagesRefresh() {\n this.isChangingFiltersValue = true;\n this.debouncedStagesRefresh();\n }\n\n async init() {\n const disposers = [\n this.stagesCollectionState.init(),\n this.stagesOptimisticActions.init(),\n this.toolbar.init({ featuresInitializers: [] }),\n this.dragAndDropState.init(),\n reaction(\n () => this.query.asComputed,\n () => {\n this.triggerDebouncedStagesRefresh();\n },\n {\n fireImmediately: false,\n },\n ),\n // Listen to search changes and trigger BI immediately (Filter Toggled)\n reaction(\n () => this.query.search.value,\n (searchTerm, previousSearchTerm) => {\n if (searchTerm !== previousSearchTerm) {\n if (searchTerm) {\n this._searchResultsBiEventCallback =\n this.kanbanStateBIReporter.reportSearchTriggered(searchTerm);\n } else {\n this._searchResultsBiEventCallback = null;\n }\n }\n },\n { fireImmediately: false },\n ),\n ];\n const startTime = performance.now();\n this.kanbanStateBIReporter.loadStart();\n await this.loadStages();\n await this.initializeStageStates();\n this.kanbanStateBIReporter.loadEnd(startTime);\n\n return () => {\n Object.keys(this.stageStateDisposers).forEach((stageId) => {\n this.disposeStageState(stageId);\n });\n\n disposers.forEach((d) => d?.());\n };\n }\n\n async loadStages() {\n await this.stagesCollectionState?.initTask?.status?.promise?.catch(\n (error) => {\n this.showErrorToast(error);\n },\n );\n }\n\n async initializeStageStates() {\n if (!this.items.fetchAllByStageIds) {\n return;\n }\n try {\n const stageData = await this.fetchStagesData();\n this.processAllStages(stageData);\n } catch (error) {\n this.showErrorToast(error);\n }\n }\n\n get stages() {\n return this.stagesCollectionState.result.keyedItems.map(\n (item: any) => item.item,\n );\n }\n\n getStageState(stage: S) {\n return this.kanbanStageStates[this.stagesCollectionState.itemKey(stage)];\n }\n\n getStageStateByKey(stageKey: string) {\n return this.kanbanStageStates[stageKey];\n }\n\n get isLoading() {\n return (\n this.isLoadingStages ||\n Object.values(this.kanbanStageStates).some((stage) => stage.isLoading)\n );\n }\n\n get isLoadingStages() {\n return (\n this.stagesCollectionState.initTask.status.isLoading ||\n this.isRefetching ||\n Object.keys(this.kanbanStageStates).length !==\n this.stagesCollectionState.result.keyedItems.length\n );\n }\n\n isInSearchMode() {\n return (\n this.query.asComputed.search?.length &&\n this.query.asComputed.search.length > 0\n );\n }\n\n getIsChangingFiltersValue() {\n return this.isChangingFiltersValue;\n }\n\n stageKey(stage: S) {\n return this.stagesCollectionState.itemKey(stage);\n }\n\n get hasStagesError() {\n return this.stagesCollectionState.result.status?.isError;\n }\n\n // Public methods\n public async refetchKanban() {\n const startTime = performance.now();\n this.kanbanStateBIReporter.loadStart();\n\n runInAction(() => {\n this.isRefetching = true;\n });\n try {\n await this.stagesCollectionState.clearResultBeforeRefresh();\n await this.stagesCollectionState.refreshAllPages();\n await this.initializeStageStates();\n } catch (error) {\n this.showErrorToast(error);\n } finally {\n this.kanbanStateBIReporter.loadEnd(startTime);\n runInAction(() => {\n this.isRefetching = false;\n });\n }\n }\n\n // Private methods\n showErrorToast(error: unknown) {\n const resolvedError =\n this.container.errorHandler?.getResolvedError?.(error);\n resolvedError && this.container.errorHandler?.showError?.(resolvedError);\n }\n\n private createToolbarQueryCollectionState() {\n return new CollectionState<T, F>({\n errorMonitor: this.container.errorMonitor,\n history: this.container.history,\n lodash: this.container.lodash,\n onlineState: this.container.onlineState,\n queryCache: this.container.queryCache,\n translate: this.container.translate,\n queryName: `kanban-toolbar-query-items-${this.kanbanId}`,\n fetchData: () =>\n Promise.resolve({\n items: [],\n total: 0,\n cursor: null,\n }),\n itemKey: () => '',\n itemName: () => '',\n filters: {} as F,\n errorHandler: this.container.errorHandler,\n paginationMode: 'cursor',\n });\n }\n\n private createStagesCollectionState(params: KanbanStateParams<T, S, F>) {\n return new CollectionState<S, F>({\n errorMonitor: this.container.errorMonitor,\n history: this.container.history,\n lodash: this.container.lodash,\n onlineState: this.container.onlineState,\n queryCache: this.container.queryCache,\n translate: this.container.translate,\n queryName: `kanban-stages-${params.kanbanId}`,\n fetchData: params.stages.fetchData,\n itemKey: params.stages.stageKey,\n itemName: params.stages.stageName,\n filters: {} as F,\n errorHandler: this.container.errorHandler,\n paginationMode: 'cursor',\n });\n }\n\n private async fetchStagesData() {\n const stageIds = this.getStageIds();\n\n return this.items.fetchAllByStageIds!({\n ids: stageIds,\n filters: this.query.asComputed.filters,\n search: this.query.asComputed.search,\n });\n }\n\n private getStageIds(): string[] {\n return this.stagesCollectionState.result.keyedItems.map((item) =>\n this.stagesCollectionState.itemKey(item.item),\n );\n }\n\n private processAllStages(stageData: Record<string, DataResultRaw<T>>) {\n this.cleanupUnusedStageStates();\n this.processCurrentStages(stageData);\n }\n\n private cleanupUnusedStageStates() {\n // Get current stage IDs to identify which ones are no longer needed\n const currentStageIds = new Set(\n this.stagesCollectionState.result.keyedItems.map((item) =>\n this.stagesCollectionState.itemKey(item.item),\n ),\n );\n\n // Clean up stage states that no longer exist\n Object.keys(this.kanbanStageStates).forEach((stageId) => {\n if (!currentStageIds.has(stageId)) {\n this.disposeStageState(stageId);\n }\n });\n }\n\n private disposeStageState(stageId: string) {\n // Dispose of the stage state using stored disposer\n const disposer = this.stageStateDisposers[stageId];\n if (disposer) {\n disposer();\n Reflect.deleteProperty(this.stageStateDisposers, stageId);\n }\n runInAction(() => {\n Reflect.deleteProperty(this.kanbanStageStates, stageId);\n });\n }\n\n private processCurrentStages(stageData: Record<string, DataResultRaw<T>>) {\n this.stagesCollectionState.result.keyedItems.forEach((keyedStage) => {\n const stage = keyedStage.item;\n runInAction(() => {\n const stageId = this.stagesCollectionState.itemKey(stage);\n const hasDataForStage = !!stageData[stageId];\n\n if (!this.kanbanStageStates[stageId]) {\n this.createNewStageState(\n stage,\n stageId,\n stageData[stageId],\n hasDataForStage,\n );\n } else {\n this.updateExistingStageState(\n stage,\n stageId,\n stageData[stageId],\n hasDataForStage,\n );\n }\n });\n });\n }\n\n private createNewStageState(\n stage: S,\n stageId: string,\n stageData: DataResultRaw<T>,\n hasDataForStage: boolean,\n ) {\n this.kanbanStageStates[stageId] = new KanbanStageState<\n T,\n S,\n F & { stageId: ReturnType<typeof stringFilter> }\n >({\n container: this.container,\n fetchData: this.items.fetchData,\n itemKey: this.items.itemKey,\n itemName: this.items.itemName,\n initialPage: hasDataForStage\n ? this.getInitialPageData(stageData)\n : {\n items: [],\n total: 0,\n cursor: null,\n },\n name: this.stagesCollectionState.itemName(stage),\n key: this.stagesCollectionState.itemKey(stage),\n kanbanId: this.kanbanId,\n stage,\n query: this.query as any,\n });\n const disposer = this.kanbanStageStates[stageId].init();\n this.stageStateDisposers[stageId] = disposer;\n }\n\n private updateExistingStageState(\n stage: S,\n stageId: string,\n stageData: DataResultRaw<T>,\n hasDataForStage: boolean,\n ) {\n const stageState = this.kanbanStageStates[stageId];\n stageState.name = this.stagesCollectionState.itemName(stage);\n\n runInAction(() => {\n const initialPageData = this.getInitialPageData(\n hasDataForStage\n ? stageData\n : {\n items: [],\n total: 0,\n cursor: null,\n },\n );\n\n stageState.itemsCollectionState.setInitialPage(initialPageData);\n\n // Directly update QueryResultState to trigger MobX reactivity for keyedItems\n const items = initialPageData.items || [];\n const total = initialPageData.total ?? items.length;\n const cursor = initialPageData.cursor;\n\n stageState.itemsCollectionState.result.setPages({\n processed: [items],\n unprocessed: [items],\n });\n\n stageState.itemsCollectionState.result.setTotals({\n processed: total,\n unprocessed: total,\n });\n\n stageState.setTotal(stageData?.total ?? 0);\n\n if (cursor != null) {\n stageState.itemsCollectionState.paginationMode.setCursor(cursor);\n }\n });\n }\n\n private getInitialPageData(stageData: DataResultRaw<T>) {\n return {\n items: stageData?.items,\n total: stageData?.total,\n cursor: stageData?.cursor,\n };\n }\n\n private getStageIdFromItem(item: T): string {\n return (item as Record<string, any>)[this.items.stageField];\n }\n\n // optimistic actions\n\n updateStage(originalStage: S, updatedStage: S) {\n const stageId = this.stagesCollectionState.itemKey(originalStage);\n const stageState = this.getStageStateByKey(stageId);\n\n this.stagesCollectionState.optimisticActions.updateOne(originalStage, {\n submit: () => Promise.resolve(updatedStage),\n keepPosition: true,\n });\n runInAction(() => {\n if (\n stageState.name !== this.stagesCollectionState.itemName(updatedStage)\n ) {\n stageState.name = this.stagesCollectionState.itemName(updatedStage);\n }\n stageState.refetchStage();\n });\n }\n\n createStage(stage: S) {\n this.stagesCollectionState.optimisticActions.createOne(stage, {\n submit: (_items) => Promise.resolve(),\n });\n runInAction(() => {\n const stageId = this.stagesCollectionState.itemKey(stage);\n\n this.createNewStageState(\n stage,\n stageId,\n {\n items: [],\n total: 0,\n cursor: null,\n },\n false,\n );\n });\n }\n\n scrollToStage({ stageKey }: { stageKey: string }) {\n this.events.emit('scrollToStage', { stageKey });\n }\n\n scrollToCardInStage({\n stageKey,\n cardKey,\n }: {\n stageKey: string;\n cardKey: string;\n }) {\n this.events.emit('scrollToCardInStage', { stageKey, cardKey });\n }\n\n deleteStage(stage: S) {\n const stageId = this.stagesCollectionState.itemKey(stage);\n\n this.stagesCollectionState.optimisticActions.deleteOne(stage, {\n submit: (_items) => Promise.resolve(),\n });\n this.disposeStageState(stageId);\n }\n\n reorderStages(fromIndex: number, toIndex: number) {\n const keyedItems = this.stagesCollectionState.result.keyedItems;\n if (fromIndex === toIndex) {\n return;\n }\n\n const from = keyedItems[fromIndex];\n const over = keyedItems[toIndex];\n\n let after;\n if (toIndex === 0) {\n after = null;\n } else if (fromIndex < toIndex) {\n after = over;\n } else {\n after = keyedItems[toIndex - 1];\n }\n\n const actionMove = {\n moveId: uuid(),\n from,\n over,\n after,\n isFromHandle: false,\n filtersKeyHash: this.stagesCollectionState.query.filtersKeyHash,\n query: this.stagesCollectionState.originQuery,\n };\n\n this.stagesCollectionState.optimisticActions._orderByMode = 'moves';\n this.stagesCollectionState.optimisticActions.move(actionMove, {\n collectionSnapshot: {},\n });\n }\n\n moveItemBetweenStages(\n originalItem: T,\n updatedItem: T,\n fromStageId: string,\n toStageId: string,\n ) {\n this.getStageStateByKey(fromStageId).deleteItem(originalItem);\n this.getStageStateByKey(toStageId).createItem(updatedItem);\n }\n\n // optimistic actions card\n deleteCard(card: T) {\n const stageId = this.getStageIdFromItem(card);\n this.getStageStateByKey(stageId).deleteItem(card);\n }\n\n createCard(card: T) {\n const stageId = this.getStageIdFromItem(card);\n this.getStageStateByKey(stageId).createItem(card);\n }\n\n updateCard(card: T) {\n const stageId = this.getStageIdFromItem(card);\n this.getStageStateByKey(stageId).updateItem(card);\n }\n\n // Helper functions for BI reporting\n getStageIndexByKey(stageKey: string): number {\n return this.stages.findIndex(\n (stage) => this.stagesCollectionState.itemKey(stage) === stageKey,\n );\n }\n\n getStageNameByKey(stageKey: string): string {\n const stage = this.stages.find(\n (stage) => this.stagesCollectionState.itemKey(stage) === stageKey,\n );\n return stage ? this.stagesCollectionState.itemName(stage) : '';\n }\n\n getStageById(stageKey: string): S | undefined {\n return this.stages.find(\n (stage) => this.stagesCollectionState.itemKey(stage) === stageKey,\n );\n }\n}\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -0,0 +1,226 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
+
exports.__esModule = true;
|
|
5
|
+
exports.KanbanStateBIReporter = exports.KanbanCtaType = void 0;
|
|
6
|
+
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
|
7
|
+
var _bexCore = require("@wix/bex-core");
|
|
8
|
+
var _bi = require("@wix/bex-core/bi");
|
|
9
|
+
var _KanbanState = require("./KanbanState");
|
|
10
|
+
let KanbanCtaType = exports.KanbanCtaType = /*#__PURE__*/function (KanbanCtaType) {
|
|
11
|
+
KanbanCtaType["PRIMARY_BUTTON"] = "Primary Button";
|
|
12
|
+
KanbanCtaType["SECONDARY_DROPDOWN"] = "Secondary Dropdown";
|
|
13
|
+
KanbanCtaType["MORE_ACTIONS_OPTION"] = "More Actions Option";
|
|
14
|
+
return KanbanCtaType;
|
|
15
|
+
}({});
|
|
16
|
+
class KanbanStateBIReporter {
|
|
17
|
+
constructor(kanbanState) {
|
|
18
|
+
(0, _defineProperty2.default)(this, "kanbanState", void 0);
|
|
19
|
+
// 144:110
|
|
20
|
+
(0, _defineProperty2.default)(this, "loadStart", () => {
|
|
21
|
+
this.toolbar.toolbarBIReporter.loadStart();
|
|
22
|
+
});
|
|
23
|
+
// 144:111
|
|
24
|
+
(0, _defineProperty2.default)(this, "loadEnd", startTime => {
|
|
25
|
+
this.reportBi({
|
|
26
|
+
...(0, _bexCore.withoutDefaults)(_bi.loadEnd)({
|
|
27
|
+
...this.toolbar._commonDynamicBiParams()
|
|
28
|
+
}),
|
|
29
|
+
params: {
|
|
30
|
+
...this.toolbar._commonDynamicBiParams(),
|
|
31
|
+
componentType: _KanbanState.KanbanComponentType,
|
|
32
|
+
componentStatus: 'Kanban',
|
|
33
|
+
currentKanban: this.kanbanState.kanbanId,
|
|
34
|
+
filteredListSize: this.getTotalCardsCount(),
|
|
35
|
+
stageCardCnt: this.getStageCardCounts(),
|
|
36
|
+
loadingTime: Math.round(performance.now() - startTime)
|
|
37
|
+
}
|
|
38
|
+
});
|
|
39
|
+
});
|
|
40
|
+
(0, _defineProperty2.default)(this, "reportSearchTriggered", searchTerm => {
|
|
41
|
+
const startTime = performance.now();
|
|
42
|
+
|
|
43
|
+
// 144:117
|
|
44
|
+
this.reportBi({
|
|
45
|
+
...(0, _bexCore.withoutDefaults)(_bi.cairoFilterToggled)({
|
|
46
|
+
...this.toolbar._commonDynamicBiParams()
|
|
47
|
+
}),
|
|
48
|
+
params: {
|
|
49
|
+
...this.toolbar._commonDynamicBiParams(),
|
|
50
|
+
componentType: _KanbanState.KanbanComponentType,
|
|
51
|
+
filterName: 'search',
|
|
52
|
+
filterValue: searchTerm,
|
|
53
|
+
origin: 'toolbar',
|
|
54
|
+
filteredListSize: this.getTotalCardsCount(),
|
|
55
|
+
numFiltersActive: this.kanbanState.query.activeFiltersCount,
|
|
56
|
+
actionType: 'add'
|
|
57
|
+
}
|
|
58
|
+
});
|
|
59
|
+
return () => {
|
|
60
|
+
const searchResultsCount = this.getTotalCardsCount();
|
|
61
|
+
// 144:116
|
|
62
|
+
this.reportBi({
|
|
63
|
+
...(0, _bexCore.withoutDefaults)(_bi.cairoSearchResults)({
|
|
64
|
+
...this.toolbar._commonDynamicBiParams(),
|
|
65
|
+
searchResultsCnt: searchResultsCount
|
|
66
|
+
}),
|
|
67
|
+
params: {
|
|
68
|
+
...this.toolbar._commonDynamicBiParams(),
|
|
69
|
+
componentType: _KanbanState.KanbanComponentType,
|
|
70
|
+
searchResultsCnt: searchResultsCount,
|
|
71
|
+
stageCardCnt: this.getStageCardCounts(),
|
|
72
|
+
searchTerm,
|
|
73
|
+
loadingTime: Math.round(performance.now() - startTime)
|
|
74
|
+
}
|
|
75
|
+
});
|
|
76
|
+
};
|
|
77
|
+
});
|
|
78
|
+
// 144:138
|
|
79
|
+
(0, _defineProperty2.default)(this, "reportDragStart", ({
|
|
80
|
+
itemId,
|
|
81
|
+
itemIndex,
|
|
82
|
+
stageId,
|
|
83
|
+
dragAndDropID
|
|
84
|
+
}) => {
|
|
85
|
+
this.reportBi({
|
|
86
|
+
...(0, _bexCore.withoutDefaults)(_bi.cairoDragItem)({
|
|
87
|
+
...this.toolbar._commonDynamicBiParams()
|
|
88
|
+
}),
|
|
89
|
+
params: {
|
|
90
|
+
...this.toolbar._commonDynamicBiParams(),
|
|
91
|
+
componentType: _KanbanState.KanbanComponentType,
|
|
92
|
+
itemId,
|
|
93
|
+
itemIndex,
|
|
94
|
+
itemLevel: this.kanbanState.getStageIndexByKey(stageId),
|
|
95
|
+
hierarchyPathIndex: null,
|
|
96
|
+
dragAndDropID,
|
|
97
|
+
stageType: this.getStageType(stageId) === 'DONE' ? 'done' : 'regular',
|
|
98
|
+
kanbanId: this.kanbanState.kanbanId
|
|
99
|
+
}
|
|
100
|
+
});
|
|
101
|
+
});
|
|
102
|
+
// 144:139
|
|
103
|
+
(0, _defineProperty2.default)(this, "reportDragEnd", ({
|
|
104
|
+
itemId,
|
|
105
|
+
itemIndexBefore,
|
|
106
|
+
itemIndexAfter,
|
|
107
|
+
stageIdBefore,
|
|
108
|
+
stageIdAfter,
|
|
109
|
+
dragAndDropID,
|
|
110
|
+
endType
|
|
111
|
+
}) => {
|
|
112
|
+
this.reportBi({
|
|
113
|
+
...(0, _bexCore.withoutDefaults)(_bi.cairoDragItemEndDrop)({
|
|
114
|
+
...this.toolbar._commonDynamicBiParams()
|
|
115
|
+
}),
|
|
116
|
+
params: {
|
|
117
|
+
...this.toolbar._commonDynamicBiParams(),
|
|
118
|
+
componentType: _KanbanState.KanbanComponentType,
|
|
119
|
+
itemId,
|
|
120
|
+
itemIndexBefore,
|
|
121
|
+
itemIndexAfter,
|
|
122
|
+
itemLevelBefore: this.kanbanState.getStageIndexByKey(stageIdBefore),
|
|
123
|
+
itemLevelAfter: this.kanbanState.getStageIndexByKey(stageIdAfter),
|
|
124
|
+
dragAndDropID,
|
|
125
|
+
stageTypeBefore: this.getStageType(stageIdBefore) === 'DONE' ? 'done' : 'regular',
|
|
126
|
+
stageTypeAfter: this.getStageType(stageIdAfter) === 'DONE' ? 'done' : 'regular',
|
|
127
|
+
kanbanId: this.kanbanState.kanbanId,
|
|
128
|
+
endType
|
|
129
|
+
}
|
|
130
|
+
});
|
|
131
|
+
});
|
|
132
|
+
// 144:115
|
|
133
|
+
(0, _defineProperty2.default)(this, "reportStageCTAClicked", ({
|
|
134
|
+
ctaName,
|
|
135
|
+
ctaType,
|
|
136
|
+
stageId,
|
|
137
|
+
stageIndex,
|
|
138
|
+
stageName
|
|
139
|
+
}) => {
|
|
140
|
+
this.reportBi({
|
|
141
|
+
...(0, _bexCore.withoutDefaults)(_bi.cairoCtaClicked)({
|
|
142
|
+
...this.toolbar._commonDynamicBiParams()
|
|
143
|
+
}),
|
|
144
|
+
params: {
|
|
145
|
+
...this.toolbar._commonDynamicBiParams(),
|
|
146
|
+
componentType: _KanbanState.KanbanComponentType,
|
|
147
|
+
ctaName,
|
|
148
|
+
ctaType,
|
|
149
|
+
location: 'stage',
|
|
150
|
+
stageId,
|
|
151
|
+
stageIndex,
|
|
152
|
+
stageName,
|
|
153
|
+
kanbanId: this.kanbanState.kanbanId
|
|
154
|
+
}
|
|
155
|
+
});
|
|
156
|
+
});
|
|
157
|
+
// 144:115
|
|
158
|
+
(0, _defineProperty2.default)(this, "reportCardCTAClicked", ({
|
|
159
|
+
itemId,
|
|
160
|
+
itemIndex,
|
|
161
|
+
ctaName,
|
|
162
|
+
ctaType,
|
|
163
|
+
ctaIndex,
|
|
164
|
+
numCtas,
|
|
165
|
+
stageId,
|
|
166
|
+
stageIndex,
|
|
167
|
+
stageName
|
|
168
|
+
}) => {
|
|
169
|
+
this.reportBi({
|
|
170
|
+
...(0, _bexCore.withoutDefaults)(_bi.cairoCtaClicked)({
|
|
171
|
+
...this.toolbar._commonDynamicBiParams()
|
|
172
|
+
}),
|
|
173
|
+
params: {
|
|
174
|
+
...this.toolbar._commonDynamicBiParams(),
|
|
175
|
+
componentType: _KanbanState.KanbanComponentType,
|
|
176
|
+
itemId,
|
|
177
|
+
itemIndex,
|
|
178
|
+
ctaName,
|
|
179
|
+
ctaType,
|
|
180
|
+
location: 'card',
|
|
181
|
+
stageIndex,
|
|
182
|
+
stageId,
|
|
183
|
+
stageName,
|
|
184
|
+
kanbanId: this.kanbanState.kanbanId,
|
|
185
|
+
...(ctaIndex !== undefined && {
|
|
186
|
+
ctaIndex
|
|
187
|
+
}),
|
|
188
|
+
...(numCtas !== undefined && {
|
|
189
|
+
numCtas
|
|
190
|
+
})
|
|
191
|
+
}
|
|
192
|
+
});
|
|
193
|
+
});
|
|
194
|
+
this.kanbanState = kanbanState;
|
|
195
|
+
}
|
|
196
|
+
get reportBi() {
|
|
197
|
+
return this.kanbanState.container.reportBi;
|
|
198
|
+
}
|
|
199
|
+
get toolbar() {
|
|
200
|
+
return this.kanbanState.toolbar;
|
|
201
|
+
}
|
|
202
|
+
getTotalCardsCount() {
|
|
203
|
+
return Object.values(this.kanbanState.kanbanStageStates).reduce((total, stageState) => total + ((stageState == null ? void 0 : stageState.totalItems()) || 0), 0);
|
|
204
|
+
}
|
|
205
|
+
getStageCardCounts() {
|
|
206
|
+
const counts = {};
|
|
207
|
+
Object.entries(this.kanbanState.kanbanStageStates).forEach(([stageId, stageState]) => {
|
|
208
|
+
if (stageState) {
|
|
209
|
+
counts[stageId] = stageState.totalItems() || 0;
|
|
210
|
+
}
|
|
211
|
+
});
|
|
212
|
+
return JSON.stringify(counts);
|
|
213
|
+
}
|
|
214
|
+
getStageType(stageId) {
|
|
215
|
+
const stage = this.kanbanState.stages.find(s => this.kanbanState.stageKey(s) === stageId);
|
|
216
|
+
if (!stage) {
|
|
217
|
+
return 'NONE';
|
|
218
|
+
}
|
|
219
|
+
if (this.kanbanState.stageType) {
|
|
220
|
+
return this.kanbanState.stageType(stage) || 'NONE';
|
|
221
|
+
}
|
|
222
|
+
return 'NONE';
|
|
223
|
+
}
|
|
224
|
+
}
|
|
225
|
+
exports.KanbanStateBIReporter = KanbanStateBIReporter;
|
|
226
|
+
//# sourceMappingURL=KanbanStateBIReporter.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["_bexCore","require","_bi","_KanbanState","KanbanCtaType","exports","KanbanStateBIReporter","constructor","kanbanState","_defineProperty2","default","toolbar","toolbarBIReporter","loadStart","startTime","reportBi","withoutDefaults","loadEnd","_commonDynamicBiParams","params","componentType","KanbanComponentType","componentStatus","currentKanban","kanbanId","filteredListSize","getTotalCardsCount","stageCardCnt","getStageCardCounts","loadingTime","Math","round","performance","now","searchTerm","cairoFilterToggled","filterName","filterValue","origin","numFiltersActive","query","activeFiltersCount","actionType","searchResultsCount","cairoSearchResults","searchResultsCnt","itemId","itemIndex","stageId","dragAndDropID","cairoDragItem","itemLevel","getStageIndexByKey","hierarchyPathIndex","stageType","getStageType","itemIndexBefore","itemIndexAfter","stageIdBefore","stageIdAfter","endType","cairoDragItemEndDrop","itemLevelBefore","itemLevelAfter","stageTypeBefore","stageTypeAfter","ctaName","ctaType","stageIndex","stageName","cairoCtaClicked","location","ctaIndex","numCtas","undefined","container","Object","values","kanbanStageStates","reduce","total","stageState","totalItems","counts","entries","forEach","JSON","stringify","stage","stages","find","s","stageKey"],"sources":["../../../../src/state/KanbanState/KanbanStateBIReporter.ts"],"sourcesContent":["import { FiltersMap, withoutDefaults } from '@wix/bex-core';\nimport {\n loadEnd,\n cairoFilterToggled,\n cairoSearchResults,\n cairoCtaClicked,\n cairoDragItem,\n cairoDragItemEndDrop,\n} from '@wix/bex-core/bi';\nimport { KanbanComponentType, type KanbanState } from './KanbanState';\n\nexport enum KanbanCtaType {\n PRIMARY_BUTTON = 'Primary Button',\n SECONDARY_DROPDOWN = 'Secondary Dropdown',\n MORE_ACTIONS_OPTION = 'More Actions Option',\n}\n\nexport class KanbanStateBIReporter<T, S, F extends FiltersMap> {\n readonly kanbanState: KanbanState<T, S, F>;\n\n constructor(kanbanState: KanbanState<T, S, F>) {\n this.kanbanState = kanbanState;\n }\n\n get reportBi() {\n return this.kanbanState.container.reportBi;\n }\n\n get toolbar() {\n return this.kanbanState.toolbar;\n }\n // 144:110\n loadStart = () => {\n this.toolbar.toolbarBIReporter.loadStart();\n };\n // 144:111\n loadEnd = (startTime: DOMHighResTimeStamp) => {\n this.reportBi({\n ...withoutDefaults(loadEnd)({\n ...this.toolbar._commonDynamicBiParams(),\n }),\n params: {\n ...this.toolbar._commonDynamicBiParams(),\n componentType: KanbanComponentType,\n componentStatus: 'Kanban',\n currentKanban: this.kanbanState.kanbanId,\n filteredListSize: this.getTotalCardsCount(),\n stageCardCnt: this.getStageCardCounts(),\n loadingTime: Math.round(performance.now() - startTime),\n },\n });\n };\n\n reportSearchTriggered = (searchTerm: string) => {\n const startTime = performance.now();\n\n // 144:117\n this.reportBi({\n ...withoutDefaults(cairoFilterToggled)({\n ...this.toolbar._commonDynamicBiParams(),\n }),\n params: {\n ...this.toolbar._commonDynamicBiParams(),\n componentType: KanbanComponentType,\n filterName: 'search',\n filterValue: searchTerm,\n origin: 'toolbar',\n filteredListSize: this.getTotalCardsCount(),\n numFiltersActive: this.kanbanState.query.activeFiltersCount,\n actionType: 'add',\n },\n });\n\n return () => {\n const searchResultsCount = this.getTotalCardsCount();\n // 144:116\n this.reportBi({\n ...withoutDefaults(cairoSearchResults)({\n ...this.toolbar._commonDynamicBiParams(),\n searchResultsCnt: searchResultsCount,\n }),\n params: {\n ...this.toolbar._commonDynamicBiParams(),\n componentType: KanbanComponentType,\n searchResultsCnt: searchResultsCount,\n stageCardCnt: this.getStageCardCounts(),\n searchTerm,\n loadingTime: Math.round(performance.now() - startTime),\n },\n });\n };\n };\n\n // 144:138\n reportDragStart = ({\n itemId,\n itemIndex,\n stageId,\n dragAndDropID,\n }: {\n itemId: string;\n itemIndex: number;\n stageId: string;\n dragAndDropID: string;\n }) => {\n this.reportBi({\n ...withoutDefaults(cairoDragItem)({\n ...this.toolbar._commonDynamicBiParams(),\n }),\n params: {\n ...this.toolbar._commonDynamicBiParams(),\n componentType: KanbanComponentType,\n itemId,\n itemIndex,\n itemLevel: this.kanbanState.getStageIndexByKey(stageId),\n hierarchyPathIndex: null,\n dragAndDropID,\n stageType: this.getStageType(stageId) === 'DONE' ? 'done' : 'regular',\n kanbanId: this.kanbanState.kanbanId,\n },\n });\n };\n\n // 144:139\n reportDragEnd = ({\n itemId,\n itemIndexBefore,\n itemIndexAfter,\n stageIdBefore,\n stageIdAfter,\n dragAndDropID,\n endType,\n }: {\n itemId: string;\n itemIndexBefore: number;\n itemIndexAfter: number;\n stageIdBefore: string;\n stageIdAfter: string;\n dragAndDropID: string;\n endType: 'drop succeeded' | 'drop back' | 'drag disabled';\n }) => {\n this.reportBi({\n ...withoutDefaults(cairoDragItemEndDrop)({\n ...this.toolbar._commonDynamicBiParams(),\n }),\n params: {\n ...this.toolbar._commonDynamicBiParams(),\n componentType: KanbanComponentType,\n itemId,\n itemIndexBefore,\n itemIndexAfter,\n itemLevelBefore: this.kanbanState.getStageIndexByKey(stageIdBefore),\n itemLevelAfter: this.kanbanState.getStageIndexByKey(stageIdAfter),\n dragAndDropID,\n stageTypeBefore:\n this.getStageType(stageIdBefore) === 'DONE' ? 'done' : 'regular',\n stageTypeAfter:\n this.getStageType(stageIdAfter) === 'DONE' ? 'done' : 'regular',\n kanbanId: this.kanbanState.kanbanId,\n endType,\n },\n });\n };\n\n // 144:115\n reportStageCTAClicked = ({\n ctaName,\n ctaType,\n stageId,\n stageIndex,\n stageName,\n }: {\n ctaName: string;\n ctaType: 'Primary Button' | 'Secondary Dropdown';\n stageId: string;\n stageIndex: number;\n stageName: string;\n }) => {\n this.reportBi({\n ...withoutDefaults(cairoCtaClicked)({\n ...this.toolbar._commonDynamicBiParams(),\n }),\n params: {\n ...this.toolbar._commonDynamicBiParams(),\n componentType: KanbanComponentType,\n ctaName,\n ctaType,\n location: 'stage',\n stageId,\n stageIndex,\n stageName,\n kanbanId: this.kanbanState.kanbanId,\n },\n });\n };\n\n // 144:115\n reportCardCTAClicked = ({\n itemId,\n itemIndex,\n ctaName,\n ctaType,\n ctaIndex,\n numCtas,\n stageId,\n stageIndex,\n stageName,\n }: {\n itemId: string;\n itemIndex: number;\n ctaName: string;\n ctaType: KanbanCtaType;\n ctaIndex?: number;\n numCtas?: number;\n stageId: string;\n stageIndex: number;\n stageName: string;\n }) => {\n this.reportBi({\n ...withoutDefaults(cairoCtaClicked)({\n ...this.toolbar._commonDynamicBiParams(),\n }),\n params: {\n ...this.toolbar._commonDynamicBiParams(),\n componentType: KanbanComponentType,\n itemId,\n itemIndex,\n ctaName,\n ctaType,\n location: 'card',\n stageIndex,\n stageId,\n stageName,\n kanbanId: this.kanbanState.kanbanId,\n ...(ctaIndex !== undefined && { ctaIndex }),\n ...(numCtas !== undefined && { numCtas }),\n },\n });\n };\n\n private getTotalCardsCount(): number {\n return Object.values(this.kanbanState.kanbanStageStates).reduce(\n (total, stageState) => total + (stageState?.totalItems() || 0),\n 0,\n );\n }\n\n private getStageCardCounts(): string {\n const counts: Record<string, number> = {};\n Object.entries(this.kanbanState.kanbanStageStates).forEach(\n ([stageId, stageState]) => {\n if (stageState) {\n counts[stageId] = stageState.totalItems() || 0;\n }\n },\n );\n return JSON.stringify(counts);\n }\n\n private getStageType(stageId: string): string {\n const stage = this.kanbanState.stages.find(\n (s) => this.kanbanState.stageKey(s) === stageId,\n );\n if (!stage) {\n return 'NONE';\n }\n\n if (this.kanbanState.stageType) {\n return this.kanbanState.stageType(stage) || 'NONE';\n }\n\n return 'NONE';\n }\n}\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -309,13 +309,15 @@ class ViewsState {
|
|
|
309
309
|
});
|
|
310
310
|
}
|
|
311
311
|
createNewView(name, viewBase) {
|
|
312
|
+
var _this$currentView2;
|
|
312
313
|
return {
|
|
313
314
|
...viewBase,
|
|
314
315
|
categorySortInd: _model.SAVED_VIEWS_SORT_IND,
|
|
315
316
|
categoryId: _model.SAVED_VIEWS_ID,
|
|
316
317
|
isPreset: false,
|
|
317
318
|
name,
|
|
318
|
-
id: (0, _uuid.v4)()
|
|
319
|
+
id: (0, _uuid.v4)(),
|
|
320
|
+
extra: (_this$currentView2 = this.currentView) == null ? void 0 : _this$currentView2.extra
|
|
319
321
|
};
|
|
320
322
|
}
|
|
321
323
|
async saveView({
|
|
@@ -563,8 +565,8 @@ class ViewsState {
|
|
|
563
565
|
}) => !isPreset).length >= MAX_SAVED_VIEWS;
|
|
564
566
|
}
|
|
565
567
|
get isCurrentViewSelected() {
|
|
566
|
-
var _this$
|
|
567
|
-
return !!((_this$
|
|
568
|
+
var _this$currentView3;
|
|
569
|
+
return !!((_this$currentView3 = this.currentView) != null && _this$currentView3.id);
|
|
568
570
|
}
|
|
569
571
|
hasViewName(viewName) {
|
|
570
572
|
return this.getViews().map(({
|