@wix/patterns 1.229.0 → 1.231.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/CollectionMultiSelectCheckbox/CollectionMultiSelectCheckbox.js +3 -2
- package/dist/cjs/components/CollectionMultiSelectCheckbox/CollectionMultiSelectCheckbox.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/CollectionSectionHeader/CollectionSectionHeader.js +41 -0
- package/dist/cjs/components/CollectionSectionHeader/CollectionSectionHeader.js.map +1 -0
- package/dist/cjs/components/CollectionSectionHeader/CollectionSectionHeader.types.js +4 -0
- package/dist/cjs/components/CollectionSectionHeader/CollectionSectionHeader.types.js.map +1 -0
- package/dist/cjs/components/CollectionSectionHeader/CollectionSectionHeader.uni.driver.js +12 -0
- package/dist/cjs/components/CollectionSectionHeader/CollectionSectionHeader.uni.driver.js.map +1 -0
- package/dist/cjs/components/{GridSections/GridSectionHeaderActionBar.js → CollectionSectionHeader/CollectionSectionHeaderActionBar.js} +23 -25
- package/dist/cjs/components/CollectionSectionHeader/CollectionSectionHeaderActionBar.js.map +1 -0
- package/dist/cjs/components/CollectionSectionHeader/index.js +19 -0
- package/dist/cjs/components/CollectionSectionHeader/index.js.map +1 -0
- package/dist/cjs/components/CollectionTable/CollectionTable.js +11 -9
- package/dist/cjs/components/CollectionTable/CollectionTable.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/CollectionTable/CollectionTableWSRTable.js +13 -12
- package/dist/cjs/components/CollectionTable/CollectionTableWSRTable.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/Grid/Grid.js.map +1 -1
- package/dist/cjs/components/Grid/Grid.uni.driver.js +2 -2
- package/dist/cjs/components/Grid/Grid.uni.driver.js.map +1 -1
- package/dist/cjs/components/GridSections/GridSectionHeader.js +5 -17
- package/dist/cjs/components/GridSections/GridSectionHeader.js.map +1 -1
- package/dist/cjs/components/GridSections/GridSectionsContent.js +3 -3
- package/dist/cjs/components/GridSections/GridSectionsContent.js.map +1 -1
- package/dist/cjs/components/GridSections/GridSectionsState.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 +1 -1
- package/dist/cjs/components/Kanban/Card.js.map +1 -1
- package/dist/cjs/components/Kanban/CardsSkeleton.js +132 -0
- package/dist/cjs/components/Kanban/CardsSkeleton.js.map +1 -0
- package/dist/cjs/components/Kanban/Kanban.js +15 -13
- package/dist/cjs/components/Kanban/Kanban.js.map +1 -1
- package/dist/cjs/components/Kanban/Kanban.uni.driver.js +16 -2
- package/dist/cjs/components/Kanban/Kanban.uni.driver.js.map +1 -1
- package/dist/cjs/components/Kanban/Stage.js +92 -37
- package/dist/cjs/components/Kanban/Stage.js.map +1 -1
- package/dist/cjs/components/Kanban/StagesSkeleton.js +100 -0
- package/dist/cjs/components/Kanban/StagesSkeleton.js.map +1 -0
- package/dist/cjs/components/Kanban/StagesSkeleton.scss +10 -0
- package/dist/cjs/components/Kanban/useCardActions.js +5 -4
- package/dist/cjs/components/Kanban/useCardActions.js.map +1 -1
- package/dist/cjs/components/KanbanDragAndDropDndKit/KanbanCardDragAndDrop.js +13 -14
- package/dist/cjs/components/KanbanDragAndDropDndKit/KanbanCardDragAndDrop.js.map +1 -1
- package/dist/cjs/components/KanbanDragAndDropDndKit/KanbanDraggableCardItem.js +6 -8
- 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/Picker/Picker.js +59 -19
- package/dist/cjs/components/Picker/Picker.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/Table/Table.js +2 -2
- package/dist/cjs/components/Table/Table.js.map +1 -1
- package/dist/cjs/components/Table/Table.uni.driver.js +4 -1
- package/dist/cjs/components/Table/Table.uni.driver.js.map +1 -1
- package/dist/cjs/components/Table/TableBase.js +24 -10
- package/dist/cjs/components/Table/TableBase.js.map +1 -1
- package/dist/cjs/components/Table/TableCompat.js +1 -1
- package/dist/cjs/components/Table/TableCompat.js.map +1 -1
- package/dist/cjs/components/Table/TableVirtual.js +3 -3
- package/dist/cjs/components/Table/TableVirtual.js.map +1 -1
- package/dist/cjs/components/TableGridSwitch/TableGridSwitch.js +19 -7
- package/dist/cjs/components/TableGridSwitch/TableGridSwitch.js.map +1 -1
- package/dist/cjs/components/TableSections/TableSectionRow.js +105 -0
- package/dist/cjs/components/TableSections/TableSectionRow.js.map +1 -0
- package/dist/cjs/components/TableSections/TableSections.js +49 -0
- package/dist/cjs/components/TableSections/TableSections.js.map +1 -0
- package/dist/cjs/components/TableSections/TableSectionsState.js +67 -0
- package/dist/cjs/components/TableSections/TableSectionsState.js.map +1 -0
- package/dist/cjs/components/TableSections/index.js +9 -0
- package/dist/cjs/components/TableSections/index.js.map +1 -0
- package/dist/cjs/components/TableSections/useTableSectionRow.js +28 -0
- package/dist/cjs/components/TableSections/useTableSectionRow.js.map +1 -0
- 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/exports/router/index.js +10 -0
- package/dist/cjs/exports/router/index.js.map +1 -0
- package/dist/cjs/hooks/useCollectionOptions.js +15 -10
- package/dist/cjs/hooks/useCollectionOptions.js.map +1 -1
- package/dist/cjs/index.js +5 -9
- package/dist/cjs/index.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/DropdownCollectionFilterState.js +7 -1
- package/dist/cjs/state/DropdownCollectionFilterState.js.map +1 -1
- package/dist/cjs/state/EntityPage/EntityPageState.js +3 -1
- package/dist/cjs/state/EntityPage/EntityPageState.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 +48 -4
- package/dist/cjs/state/KanbanState/KanbanStageState.js.map +1 -1
- package/dist/cjs/state/KanbanState/KanbanState.js +255 -77
- package/dist/cjs/state/KanbanState/KanbanState.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/CollectionMultiSelectCheckbox/CollectionMultiSelectCheckbox.js +2 -1
- package/dist/esm/components/CollectionMultiSelectCheckbox/CollectionMultiSelectCheckbox.js.map +1 -1
- package/dist/esm/components/CollectionPageNew/CollectionPage.st.css.js +2 -2
- package/dist/esm/components/CollectionSectionHeader/CollectionSectionHeader.js +7 -0
- package/dist/esm/components/CollectionSectionHeader/CollectionSectionHeader.js.map +1 -0
- package/dist/esm/components/CollectionSectionHeader/CollectionSectionHeader.types.js +2 -0
- package/dist/esm/components/CollectionSectionHeader/CollectionSectionHeader.types.js.map +1 -0
- package/dist/esm/components/{GridSections/GridSectionHeader.uni.driver.js → CollectionSectionHeader/CollectionSectionHeader.uni.driver.js} +3 -3
- package/dist/esm/components/CollectionSectionHeader/CollectionSectionHeader.uni.driver.js.map +1 -0
- package/dist/esm/components/CollectionSectionHeader/CollectionSectionHeaderActionBar.js +18 -0
- package/dist/esm/components/CollectionSectionHeader/CollectionSectionHeaderActionBar.js.map +1 -0
- package/dist/esm/components/CollectionSectionHeader/index.js +3 -0
- package/dist/esm/components/CollectionSectionHeader/index.js.map +1 -0
- package/dist/esm/components/CollectionTable/CollectionTable.js +2 -2
- package/dist/esm/components/CollectionTable/CollectionTable.js.map +1 -1
- package/dist/esm/components/CollectionTable/CollectionTable.st.css.js +2 -2
- package/dist/esm/components/CollectionTable/CollectionTableWSRTable.js +2 -1
- package/dist/esm/components/CollectionTable/CollectionTableWSRTable.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/CollectionViewsDropdown/AutoCompleteReadonly.st.css.js +2 -2
- 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/DragHandle/DragHandle.st.css.js.map +1 -1
- package/dist/esm/components/EntityPage/EntityPagePlain.st.css.js +2 -2
- package/dist/esm/components/EntityPage/EntityPagePlain.st.css.js.map +1 -1
- 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/Grid/Grid.uni.driver.js +2 -2
- package/dist/esm/components/Grid/Grid.uni.driver.js.map +1 -1
- package/dist/esm/components/GridSections/GridSectionHeader.js +2 -3
- package/dist/esm/components/GridSections/GridSectionHeader.js.map +1 -1
- package/dist/esm/components/GridSections/GridSectionsContent.js.map +1 -1
- package/dist/esm/components/GridSections/GridSectionsState.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 +1 -1
- package/dist/esm/components/Kanban/CardsSkeleton.js +18 -0
- package/dist/esm/components/Kanban/CardsSkeleton.js.map +1 -0
- package/dist/esm/components/Kanban/Kanban.js +3 -2
- package/dist/esm/components/Kanban/Kanban.js.map +1 -1
- package/dist/esm/components/Kanban/Kanban.uni.driver.js +16 -2
- package/dist/esm/components/Kanban/Kanban.uni.driver.js.map +1 -1
- package/dist/esm/components/Kanban/Stage.js +33 -16
- package/dist/esm/components/Kanban/Stage.js.map +1 -1
- package/dist/esm/components/Kanban/StagesSkeleton.js +17 -0
- package/dist/esm/components/Kanban/StagesSkeleton.js.map +1 -0
- package/dist/esm/components/Kanban/StagesSkeleton.scss +10 -0
- package/dist/esm/components/Kanban/useCardActions.js +1 -1
- package/dist/esm/components/Kanban/useCardActions.js.map +1 -1
- package/dist/esm/components/KanbanDragAndDropDndKit/KanbanCardDragAndDrop.js +13 -20
- package/dist/esm/components/KanbanDragAndDropDndKit/KanbanCardDragAndDrop.js.map +1 -1
- package/dist/esm/components/KanbanDragAndDropDndKit/KanbanDraggableCardItem.js +3 -5
- 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/MaxLines/MaxLines.st.css.js.map +1 -1
- 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/MultipleDragOverlayEffect.st.css.js.map +1 -1
- package/dist/esm/components/NestedTableDragAndDrop/NestedTableDragAndDropRow.st.css.js +2 -2
- package/dist/esm/components/NestedTableDragAndDrop/NestedTableDragAndDropRow.st.css.js.map +1 -1
- package/dist/esm/components/Picker/Picker.js +8 -4
- package/dist/esm/components/Picker/Picker.js.map +1 -1
- package/dist/esm/components/PickerContent/PickerContent.st.css.js +2 -2
- 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/SlidingModal/SlidingModal.st.css.js.map +1 -1
- package/dist/esm/components/Table/Table.js.map +1 -1
- package/dist/esm/components/Table/Table.uni.driver.js +3 -0
- package/dist/esm/components/Table/Table.uni.driver.js.map +1 -1
- package/dist/esm/components/Table/TableBase.js +10 -3
- package/dist/esm/components/Table/TableBase.js.map +1 -1
- package/dist/esm/components/Table/TableCompat.js.map +1 -1
- package/dist/esm/components/Table/TableVirtual.js.map +1 -1
- package/dist/esm/components/TableGridSwitch/TableGridSwitch.js +14 -2
- package/dist/esm/components/TableGridSwitch/TableGridSwitch.js.map +1 -1
- package/dist/esm/components/TableSections/TableSectionRow.js +32 -0
- package/dist/esm/components/TableSections/TableSectionRow.js.map +1 -0
- package/dist/esm/components/TableSections/TableSections.js +24 -0
- package/dist/esm/components/TableSections/TableSections.js.map +1 -0
- package/dist/esm/components/TableSections/TableSectionsState.js +56 -0
- package/dist/esm/components/TableSections/TableSectionsState.js.map +1 -0
- package/dist/esm/components/TableSections/index.js +2 -0
- package/dist/esm/components/TableSections/index.js.map +1 -0
- package/dist/esm/components/TableSections/useTableSectionRow.js +9 -0
- package/dist/esm/components/TableSections/useTableSectionRow.js.map +1 -0
- 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/Tags/ManageTags/ManageTagsModal/ManageTagsModal.st.css.js.map +1 -1
- package/dist/esm/components/ToolbarItem/ToolbarItem.st.css.js +2 -2
- package/dist/esm/components/ToolbarItemBox/ToolbarItemBox.st.css.js +2 -2
- package/dist/esm/components/ToolbarItemBox/ToolbarItemBox.st.css.js.map +1 -1
- package/dist/esm/components/common.st.css.js +2 -2
- package/dist/esm/exports/router/index.js +2 -0
- package/dist/esm/exports/router/index.js.map +1 -0
- package/dist/esm/hooks/useCollectionOptions.js +18 -9
- package/dist/esm/hooks/useCollectionOptions.js.map +1 -1
- package/dist/esm/index.js +1 -1
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/state/CollectionPage/CollectionPageHeader.st.css.js +2 -2
- package/dist/esm/state/DropdownCollectionFilterState.js +7 -1
- package/dist/esm/state/DropdownCollectionFilterState.js.map +1 -1
- package/dist/esm/state/EntityPage/EntityPageState.js +3 -1
- package/dist/esm/state/EntityPage/EntityPageState.js.map +1 -1
- package/dist/esm/state/FormPage/FormPageHeader.st.css.js +2 -2
- package/dist/esm/state/FormPage/FormPageHeader.st.css.js.map +1 -1
- package/dist/esm/state/KanbanState/KanbanStageState.js +46 -4
- package/dist/esm/state/KanbanState/KanbanStageState.js.map +1 -1
- package/dist/esm/state/KanbanState/KanbanState.js +254 -80
- package/dist/esm/state/KanbanState/KanbanState.js.map +1 -1
- package/dist/esm/styles.global.css +1 -1
- package/dist/esm/version.js +1 -1
- package/dist/types/components/CollectionMultiSelectCheckbox/CollectionMultiSelectCheckbox.d.ts.map +1 -1
- package/dist/types/components/CollectionSectionHeader/CollectionSectionHeader.d.ts +9 -0
- package/dist/types/components/CollectionSectionHeader/CollectionSectionHeader.d.ts.map +1 -0
- package/dist/types/components/CollectionSectionHeader/CollectionSectionHeader.types.d.ts +21 -0
- package/dist/types/components/CollectionSectionHeader/CollectionSectionHeader.types.d.ts.map +1 -0
- package/dist/types/components/{GridSections/GridSectionHeader.uni.driver.d.ts → CollectionSectionHeader/CollectionSectionHeader.uni.driver.d.ts} +2 -2
- package/dist/types/components/CollectionSectionHeader/CollectionSectionHeader.uni.driver.d.ts.map +1 -0
- package/dist/types/components/CollectionSectionHeader/CollectionSectionHeaderActionBar.d.ts +8 -0
- package/dist/types/components/CollectionSectionHeader/CollectionSectionHeaderActionBar.d.ts.map +1 -0
- package/dist/types/components/CollectionSectionHeader/index.d.ts +3 -0
- package/dist/types/components/CollectionSectionHeader/index.d.ts.map +1 -0
- package/dist/types/components/CollectionTable/CollectionTable.d.ts +1 -0
- package/dist/types/components/CollectionTable/CollectionTable.d.ts.map +1 -1
- package/dist/types/components/CollectionTable/CollectionTableWSRTable.d.ts +1 -0
- package/dist/types/components/CollectionTable/CollectionTableWSRTable.d.ts.map +1 -1
- package/dist/types/components/CollectionViewsDropdown/ViewsDropdown.st.css.d.ts.map +1 -1
- package/dist/types/components/DragHandle/DragHandle.st.css.d.ts.map +1 -1
- package/dist/types/components/EntityPage/EntityPagePlain.st.css.d.ts.map +1 -1
- package/dist/types/components/Fade/Fade.st.css.d.ts.map +1 -1
- package/dist/types/components/Grid/Grid.d.ts +1 -1
- package/dist/types/components/Grid/Grid.d.ts.map +1 -1
- package/dist/types/components/Grid/Grid.uni.driver.d.ts +5 -5
- package/dist/types/components/Grid/Grid.uni.driver.d.ts.map +1 -1
- package/dist/types/components/GridSections/GridSectionHeader.d.ts.map +1 -1
- package/dist/types/components/GridSections/GridSectionsContent.d.ts +2 -2
- package/dist/types/components/GridSections/GridSectionsContent.d.ts.map +1 -1
- package/dist/types/components/GridSections/GridSectionsState.d.ts +1 -20
- package/dist/types/components/GridSections/GridSectionsState.d.ts.map +1 -1
- package/dist/types/components/Kanban/CardsSkeleton.d.ts +5 -0
- package/dist/types/components/Kanban/CardsSkeleton.d.ts.map +1 -0
- package/dist/types/components/Kanban/Kanban.d.ts.map +1 -1
- package/dist/types/components/Kanban/Kanban.uni.driver.d.ts +25 -0
- package/dist/types/components/Kanban/Kanban.uni.driver.d.ts.map +1 -1
- package/dist/types/components/Kanban/Stage.d.ts.map +1 -1
- package/dist/types/components/Kanban/StagesSkeleton.d.ts +3 -0
- package/dist/types/components/Kanban/StagesSkeleton.d.ts.map +1 -0
- package/dist/types/components/Kanban/useCardActions.d.ts.map +1 -1
- package/dist/types/components/KanbanDragAndDropDndKit/KanbanCardDragAndDrop.d.ts +1 -1
- package/dist/types/components/KanbanDragAndDropDndKit/KanbanCardDragAndDrop.d.ts.map +1 -1
- package/dist/types/components/KanbanDragAndDropDndKit/KanbanDraggableCardItem.d.ts.map +1 -1
- package/dist/types/components/MaxLines/MaxLines.st.css.d.ts.map +1 -1
- package/dist/types/components/NestedTable/NestedTable.uni.driver.d.ts +8 -0
- package/dist/types/components/NestedTable/NestedTable.uni.driver.d.ts.map +1 -1
- package/dist/types/components/NestedTableDragAndDrop/MultipleDragOverlayEffect.st.css.d.ts.map +1 -1
- package/dist/types/components/NestedTableDragAndDrop/NestedTableDragAndDropRow.st.css.d.ts.map +1 -1
- package/dist/types/components/Picker/Picker.d.ts.map +1 -1
- package/dist/types/components/SlidingModal/SlidingModal.st.css.d.ts.map +1 -1
- package/dist/types/components/Table/Table.d.ts +7 -0
- package/dist/types/components/Table/Table.d.ts.map +1 -1
- package/dist/types/components/Table/Table.uni.driver.d.ts +33 -12
- package/dist/types/components/Table/Table.uni.driver.d.ts.map +1 -1
- package/dist/types/components/Table/TableBase.d.ts +2 -0
- package/dist/types/components/Table/TableBase.d.ts.map +1 -1
- package/dist/types/components/Table/TableCompat.d.ts +2 -0
- package/dist/types/components/Table/TableCompat.d.ts.map +1 -1
- package/dist/types/components/Table/TableVirtual.d.ts +2 -0
- package/dist/types/components/Table/TableVirtual.d.ts.map +1 -1
- package/dist/types/components/TableFolders/TableFolders.uni.driver.d.ts +8 -0
- package/dist/types/components/TableFolders/TableFolders.uni.driver.d.ts.map +1 -1
- package/dist/types/components/TableGridSwitch/TableGridSwitch.d.ts +14 -1
- package/dist/types/components/TableGridSwitch/TableGridSwitch.d.ts.map +1 -1
- package/dist/types/components/TableGridSwitch/TableGridSwitch.uni.driver.d.ts +8 -0
- package/dist/types/components/TableGridSwitch/TableGridSwitch.uni.driver.d.ts.map +1 -1
- package/dist/types/components/TableGridSwitchFolders/TableGridSwitchFolders.uni.driver.d.ts +8 -0
- package/dist/types/components/TableGridSwitchFolders/TableGridSwitchFolders.uni.driver.d.ts.map +1 -1
- package/dist/types/components/TableSections/TableSectionRow.d.ts +16 -0
- package/dist/types/components/TableSections/TableSectionRow.d.ts.map +1 -0
- package/dist/types/components/TableSections/TableSections.d.ts +17 -0
- package/dist/types/components/TableSections/TableSections.d.ts.map +1 -0
- package/dist/types/components/TableSections/TableSectionsState.d.ts +13 -0
- package/dist/types/components/TableSections/TableSectionsState.d.ts.map +1 -0
- package/dist/types/components/TableSections/index.d.ts +2 -0
- package/dist/types/components/TableSections/index.d.ts.map +1 -0
- package/dist/types/components/TableSections/useTableSectionRow.d.ts +9 -0
- package/dist/types/components/TableSections/useTableSectionRow.d.ts.map +1 -0
- package/dist/types/components/Tags/ManageTags/ManageTagsModal/ManageTagsModal.st.css.d.ts.map +1 -1
- package/dist/types/components/ToolbarItemBox/ToolbarItemBox.st.css.d.ts.map +1 -1
- package/dist/types/exports/router/index.d.ts +2 -0
- package/dist/types/exports/router/index.d.ts.map +1 -0
- package/dist/types/hooks/useCollectionOptions.d.ts +3 -3
- package/dist/types/hooks/useCollectionOptions.d.ts.map +1 -1
- package/dist/types/index.d.ts +1 -1
- package/dist/types/index.d.ts.map +1 -1
- package/dist/types/state/DropdownCollectionFilterState.d.ts +2 -0
- package/dist/types/state/DropdownCollectionFilterState.d.ts.map +1 -1
- package/dist/types/state/EntityPage/EntityPageState.d.ts.map +1 -1
- package/dist/types/state/FormPage/FormPageHeader.st.css.d.ts.map +1 -1
- package/dist/types/state/KanbanState/KanbanStageState.d.ts +9 -1
- package/dist/types/state/KanbanState/KanbanStageState.d.ts.map +1 -1
- package/dist/types/state/KanbanState/KanbanState.d.ts +36 -12
- package/dist/types/state/KanbanState/KanbanState.d.ts.map +1 -1
- package/dist/types/testkit/enzyme.d.ts +40 -0
- package/dist/types/testkit/enzyme.d.ts.map +1 -1
- package/dist/types/testkit/jsdom.d.ts +65 -0
- package/dist/types/testkit/jsdom.d.ts.map +1 -1
- package/dist/types/testkit/playwright.d.ts +40 -0
- package/dist/types/testkit/playwright.d.ts.map +1 -1
- package/dist/types/testkit/puppeteer.d.ts +65 -0
- package/dist/types/testkit/puppeteer.d.ts.map +1 -1
- package/dist/types/version.d.ts +1 -1
- package/package.json +11 -6
- package/router/package.json +6 -0
- package/dist/cjs/components/GridSections/GridSectionHeader.uni.driver.js +0 -12
- package/dist/cjs/components/GridSections/GridSectionHeader.uni.driver.js.map +0 -1
- package/dist/cjs/components/GridSections/GridSectionHeaderActionBar.js.map +0 -1
- package/dist/esm/components/GridSections/GridSectionHeader.uni.driver.js.map +0 -1
- package/dist/esm/components/GridSections/GridSectionHeaderActionBar.js +0 -16
- package/dist/esm/components/GridSections/GridSectionHeaderActionBar.js.map +0 -1
- package/dist/types/components/GridSections/GridSectionHeader.uni.driver.d.ts.map +0 -1
- package/dist/types/components/GridSections/GridSectionHeaderActionBar.d.ts +0 -10
- package/dist/types/components/GridSections/GridSectionHeaderActionBar.d.ts.map +0 -1
|
@@ -13,6 +13,7 @@ class KanbanStageState {
|
|
|
13
13
|
(0, _defineProperty2.default)(this, "name", void 0);
|
|
14
14
|
(0, _defineProperty2.default)(this, "key", void 0);
|
|
15
15
|
(0, _defineProperty2.default)(this, "stage", void 0);
|
|
16
|
+
(0, _defineProperty2.default)(this, "isRefetching", false);
|
|
16
17
|
this.container = params.container;
|
|
17
18
|
this.name = params.name;
|
|
18
19
|
this.key = params.key;
|
|
@@ -29,28 +30,36 @@ class KanbanStageState {
|
|
|
29
30
|
itemKey: params.itemKey,
|
|
30
31
|
itemName: params.itemName,
|
|
31
32
|
filters: {
|
|
32
|
-
...params.filters,
|
|
33
|
+
...params.query.filters,
|
|
33
34
|
stageId: (0, _bexCore.stringFilter)({
|
|
34
35
|
initialValue: this.key
|
|
35
36
|
})
|
|
36
37
|
},
|
|
37
38
|
initialPage: params.initialPage,
|
|
38
|
-
errorHandler: this.container.
|
|
39
|
-
paginationMode: 'cursor'
|
|
39
|
+
errorHandler: this.container.errorHandler,
|
|
40
|
+
paginationMode: 'cursor',
|
|
41
|
+
search: params.query.search
|
|
40
42
|
});
|
|
41
43
|
new _bexCore.CollectionOptimisticActions({
|
|
42
44
|
collection: this.itemsCollectionState,
|
|
43
45
|
container: this.container
|
|
44
46
|
});
|
|
45
47
|
(0, _mobx.makeObservable)(this, {
|
|
48
|
+
name: _mobx.observable,
|
|
46
49
|
fetchMore: _mobx.action,
|
|
47
50
|
stageName: _mobx.computed,
|
|
48
|
-
stageKey: _mobx.computed
|
|
51
|
+
stageKey: _mobx.computed,
|
|
52
|
+
isRefetching: _mobx.observable,
|
|
53
|
+
hasError: _mobx.computed
|
|
49
54
|
});
|
|
50
55
|
}
|
|
51
56
|
init() {
|
|
52
57
|
this.itemsCollectionState.init();
|
|
53
58
|
}
|
|
59
|
+
get hasError() {
|
|
60
|
+
var _this$itemsCollection;
|
|
61
|
+
return (_this$itemsCollection = this.itemsCollectionState.result.status) == null ? void 0 : _this$itemsCollection.isError;
|
|
62
|
+
}
|
|
54
63
|
items() {
|
|
55
64
|
return this.itemsCollectionState.keyedItems.map(item => item.item);
|
|
56
65
|
}
|
|
@@ -78,6 +87,41 @@ class KanbanStageState {
|
|
|
78
87
|
isFetchingMore() {
|
|
79
88
|
return true;
|
|
80
89
|
}
|
|
90
|
+
deleteItem(item) {
|
|
91
|
+
this.itemsCollectionState.optimisticActions.deleteOne(item, {
|
|
92
|
+
submit: () => Promise.resolve()
|
|
93
|
+
});
|
|
94
|
+
}
|
|
95
|
+
createItem(item) {
|
|
96
|
+
this.itemsCollectionState.optimisticActions.createOne(item, {
|
|
97
|
+
submit: () => Promise.resolve()
|
|
98
|
+
});
|
|
99
|
+
}
|
|
100
|
+
showErrorToast(error) {
|
|
101
|
+
var _this$container$error, _this$container$error2;
|
|
102
|
+
const resolvedError = (_this$container$error = this.container.errorHandler) == null || _this$container$error.getResolvedError == null ? void 0 : _this$container$error.getResolvedError(error);
|
|
103
|
+
resolvedError && ((_this$container$error2 = this.container.errorHandler) == null || _this$container$error2.showError == null ? void 0 : _this$container$error2.showError(resolvedError));
|
|
104
|
+
}
|
|
105
|
+
updateItem(updatedItem) {
|
|
106
|
+
const allItems = this.itemsCollectionState.result.keyedItems.map(k => k.item);
|
|
107
|
+
const updatedItems = allItems.map(item => this.itemKey(item) === this.itemKey(updatedItem) ? updatedItem : item);
|
|
108
|
+
this.itemsCollectionState.optimisticActions.updateMany(updatedItems, {
|
|
109
|
+
submit: () => Promise.resolve(updatedItems),
|
|
110
|
+
keepPosition: true
|
|
111
|
+
});
|
|
112
|
+
}
|
|
113
|
+
async refetchStage() {
|
|
114
|
+
(0, _mobx.runInAction)(() => {
|
|
115
|
+
this.isRefetching = true;
|
|
116
|
+
});
|
|
117
|
+
try {
|
|
118
|
+
await this.itemsCollectionState.refreshAllPages();
|
|
119
|
+
} finally {
|
|
120
|
+
(0, _mobx.runInAction)(() => {
|
|
121
|
+
this.isRefetching = false;
|
|
122
|
+
});
|
|
123
|
+
}
|
|
124
|
+
}
|
|
81
125
|
}
|
|
82
126
|
exports.KanbanStageState = KanbanStageState;
|
|
83
127
|
//# sourceMappingURL=KanbanStageState.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_bexCore","require","_mobx","KanbanStageState","constructor","params","_defineProperty2","default","container","name","key","stage","itemsCollectionState","CollectionState","errorMonitor","history","lodash","onlineState","queryCache","translate","queryName","fetchData","itemKey","itemName","filters","stageId","stringFilter","initialValue","initialPage","errorHandler","paginationMode","CollectionOptimisticActions","collection","makeObservable","fetchMore","action","stageName","computed","stageKey","init","items","keyedItems","map","item","totalItems","total","isLoading","initTask","
|
|
1
|
+
{"version":3,"names":["_bexCore","require","_mobx","KanbanStageState","constructor","params","_defineProperty2","default","container","name","key","stage","itemsCollectionState","CollectionState","errorMonitor","history","lodash","onlineState","queryCache","translate","queryName","fetchData","itemKey","itemName","filters","query","stageId","stringFilter","initialValue","initialPage","errorHandler","paginationMode","search","CollectionOptimisticActions","collection","makeObservable","observable","fetchMore","action","stageName","computed","stageKey","isRefetching","hasError","init","_this$itemsCollection","result","status","isError","items","keyedItems","map","item","totalItems","total","isLoading","initTask","fetchNextPageIfNeeded","isFetchingMore","deleteItem","optimisticActions","deleteOne","submit","Promise","resolve","createItem","createOne","showErrorToast","error","_this$container$error","_this$container$error2","resolvedError","getResolvedError","showError","updateItem","updatedItem","allItems","k","updatedItems","updateMany","keepPosition","refetchStage","runInAction","refreshAllPages","exports"],"sources":["../../../../src/state/KanbanState/KanbanStageState.ts"],"sourcesContent":["import {\n FiltersMap,\n WixPatternsContainer,\n DataResultRaw,\n CollectionState,\n CollectionStateParams,\n stringFilter,\n CollectionOptimisticActions,\n QueryState,\n} from '@wix/bex-core';\nimport {\n action,\n computed,\n makeObservable,\n observable,\n runInAction,\n} from 'mobx';\n\nexport interface KanbanStageStateBaseParams<T> {\n readonly container: WixPatternsContainer;\n readonly initialPage?: DataResultRaw<T>;\n readonly name: string;\n readonly key: string;\n}\n\nexport interface KanbanStageStateParams<\n T,\n S,\n F extends FiltersMap & { stageId: ReturnType<typeof stringFilter> },\n> extends KanbanStageStateBaseParams<T> {\n readonly fetchData: CollectionStateParams<T, F>['fetchData'];\n readonly itemKey: CollectionStateParams<T, F>['itemKey'];\n readonly itemName: CollectionStateParams<T, F>['itemName'];\n readonly stage: S;\n readonly query: QueryState<F>;\n}\n\nexport class KanbanStageState<\n T,\n S,\n F extends FiltersMap & { stageId: ReturnType<typeof stringFilter> },\n> {\n readonly container: WixPatternsContainer;\n readonly itemsCollectionState: CollectionState<T, F>;\n name: string;\n readonly key: string;\n readonly stage: S;\n isRefetching = false;\n constructor(params: KanbanStageStateParams<T, S, F>) {\n this.container = params.container;\n this.name = params.name;\n this.key = params.key;\n this.stage = params.stage;\n this.itemsCollectionState = 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-items-${this.key}`,\n fetchData: params.fetchData,\n itemKey: params.itemKey,\n itemName: params.itemName,\n filters: {\n ...params.query.filters,\n stageId: stringFilter({ initialValue: this.key }),\n },\n initialPage: params.initialPage,\n errorHandler: this.container.errorHandler,\n paginationMode: 'cursor',\n search: params.query.search,\n });\n\n new CollectionOptimisticActions({\n collection: this.itemsCollectionState,\n container: this.container,\n });\n\n makeObservable(this, {\n name: observable,\n fetchMore: action,\n stageName: computed,\n stageKey: computed,\n isRefetching: observable,\n hasError: computed,\n });\n }\n\n init() {\n this.itemsCollectionState.init();\n }\n\n get hasError() {\n return this.itemsCollectionState.result.status?.isError;\n }\n\n items() {\n return this.itemsCollectionState.keyedItems.map((item: any) => item.item);\n }\n\n itemName(item: T) {\n return this.itemsCollectionState.itemName(item);\n }\n\n itemKey(item: T) {\n return this.itemsCollectionState.itemKey(item);\n }\n\n totalItems() {\n return this.itemsCollectionState.total;\n }\n\n get stageName() {\n return this.name;\n }\n\n get stageKey() {\n return this.key;\n }\n\n isLoading() {\n return this.itemsCollectionState.initTask.status.isLoading;\n }\n\n fetchMore() {\n this.itemsCollectionState.fetchNextPageIfNeeded();\n }\n\n isFetchingMore() {\n return true;\n }\n\n deleteItem(item: T) {\n this.itemsCollectionState.optimisticActions.deleteOne(item, {\n submit: () => Promise.resolve(),\n });\n }\n\n createItem(item: T) {\n this.itemsCollectionState.optimisticActions.createOne(item, {\n submit: () => Promise.resolve(),\n });\n }\n\n showErrorToast(error: unknown) {\n const resolvedError =\n this.container.errorHandler?.getResolvedError?.(error);\n resolvedError && this.container.errorHandler?.showError?.(resolvedError);\n }\n\n updateItem(updatedItem: T) {\n const allItems = this.itemsCollectionState.result.keyedItems.map(\n (k) => k.item,\n );\n const updatedItems = allItems.map((item) =>\n this.itemKey(item) === this.itemKey(updatedItem) ? updatedItem : item,\n );\n this.itemsCollectionState.optimisticActions.updateMany(updatedItems, {\n submit: () => Promise.resolve(updatedItems),\n keepPosition: true,\n });\n }\n\n async refetchStage() {\n runInAction(() => {\n this.isRefetching = true;\n });\n try {\n await this.itemsCollectionState.refreshAllPages();\n } finally {\n runInAction(() => {\n this.isRefetching = false;\n });\n }\n }\n}\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -9,35 +9,33 @@ var _ToolbarCollectionState = require("../ToolbarCollectionState");
|
|
|
9
9
|
var _KanbanStageState = require("./KanbanStageState");
|
|
10
10
|
var _mobx = require("mobx");
|
|
11
11
|
var _KanbanCardDragAndDrop = require("../../components/KanbanDragAndDropDndKit/KanbanCardDragAndDrop");
|
|
12
|
+
var _uuid = require("uuid");
|
|
12
13
|
class KanbanState {
|
|
13
14
|
constructor(params) {
|
|
14
15
|
(0, _defineProperty2.default)(this, "container", void 0);
|
|
15
16
|
(0, _defineProperty2.default)(this, "kanbanStageStates", {});
|
|
16
|
-
// @ts-expect-error
|
|
17
17
|
(0, _defineProperty2.default)(this, "toolbar", void 0);
|
|
18
18
|
(0, _defineProperty2.default)(this, "stagesCollectionState", void 0);
|
|
19
|
+
(0, _defineProperty2.default)(this, "toolbarQueryCollectionState", void 0);
|
|
19
20
|
(0, _defineProperty2.default)(this, "dragAndDropState", void 0);
|
|
21
|
+
(0, _defineProperty2.default)(this, "query", void 0);
|
|
22
|
+
(0, _defineProperty2.default)(this, "debouncedStagesRefresh", void 0);
|
|
20
23
|
(0, _defineProperty2.default)(this, "items", void 0);
|
|
21
24
|
(0, _defineProperty2.default)(this, "isRefetching", false);
|
|
25
|
+
(0, _defineProperty2.default)(this, "isChangingFiltersValue", false);
|
|
22
26
|
this.container = params.container;
|
|
23
27
|
this.items = params.items;
|
|
24
|
-
this.
|
|
25
|
-
|
|
26
|
-
history: this.container.history,
|
|
27
|
-
lodash: this.container.lodash,
|
|
28
|
-
onlineState: this.container.onlineState,
|
|
29
|
-
queryCache: this.container.queryCache,
|
|
30
|
-
translate: this.container.translate,
|
|
31
|
-
queryName: 'kanban-stages',
|
|
32
|
-
fetchData: params.stages.fetchData,
|
|
33
|
-
itemKey: params.stages.stageKey,
|
|
34
|
-
itemName: params.stages.stageName,
|
|
28
|
+
this.toolbarQueryCollectionState = this.createToolbarQueryCollectionState();
|
|
29
|
+
this.query = new _bexCore.QueryState({
|
|
35
30
|
filters: {},
|
|
36
|
-
|
|
37
|
-
|
|
31
|
+
search: (0, _bexCore.stringFilter)({
|
|
32
|
+
initialValue: ''
|
|
33
|
+
})
|
|
38
34
|
});
|
|
35
|
+
(0, _bexCore.syncWithSharedQuery)(this.toolbarQueryCollectionState.query, this.query);
|
|
36
|
+
this.stagesCollectionState = this.createStagesCollectionState(params);
|
|
39
37
|
this.toolbar = new _ToolbarCollectionState.ToolbarCollectionState({
|
|
40
|
-
collection: this.
|
|
38
|
+
collection: this.toolbarQueryCollectionState,
|
|
41
39
|
container: params.container,
|
|
42
40
|
componentType: 'Kanban',
|
|
43
41
|
reportBi: this.container.reportBi
|
|
@@ -50,15 +48,21 @@ class KanbanState {
|
|
|
50
48
|
updateStage: _mobx.action,
|
|
51
49
|
stages: _mobx.computed,
|
|
52
50
|
isRefetching: _mobx.observable,
|
|
53
|
-
refetchKanban: _mobx.action
|
|
51
|
+
refetchKanban: _mobx.action,
|
|
52
|
+
hasStagesError: _mobx.computed
|
|
54
53
|
});
|
|
54
|
+
this.debouncedStagesRefresh = this.container.lodash.debounce(() => {
|
|
55
|
+
this.isChangingFiltersValue = false;
|
|
56
|
+
this.initializeStageStates();
|
|
57
|
+
}, 300);
|
|
58
|
+
}
|
|
59
|
+
triggerDebouncedStagesRefresh() {
|
|
60
|
+
this.isChangingFiltersValue = true;
|
|
61
|
+
this.debouncedStagesRefresh();
|
|
55
62
|
}
|
|
56
63
|
async init() {
|
|
57
|
-
|
|
58
|
-
this.
|
|
59
|
-
await ((_this$stagesCollectio = this.stagesCollectionState) == null || (_this$stagesCollectio = _this$stagesCollectio.initTask) == null || (_this$stagesCollectio = _this$stagesCollectio.status) == null || (_this$stagesCollectio = _this$stagesCollectio.promise) == null ? void 0 : _this$stagesCollectio.catch(() => {}));
|
|
60
|
-
await this.initialAllStages();
|
|
61
|
-
this.waitLoadStagesState();
|
|
64
|
+
await this.loadStages();
|
|
65
|
+
await this.initializeStageStates();
|
|
62
66
|
this.toolbar.init({
|
|
63
67
|
featuresInitializers: []
|
|
64
68
|
});
|
|
@@ -67,56 +71,32 @@ class KanbanState {
|
|
|
67
71
|
collection: this.stagesCollectionState,
|
|
68
72
|
container: this.container
|
|
69
73
|
});
|
|
74
|
+
const disposers = [(0, _mobx.reaction)(() => this.query.asComputed, () => {
|
|
75
|
+
this.triggerDebouncedStagesRefresh();
|
|
76
|
+
}, {
|
|
77
|
+
fireImmediately: false
|
|
78
|
+
})];
|
|
79
|
+
return () => {
|
|
80
|
+
disposers.forEach(d => d == null ? void 0 : d());
|
|
81
|
+
};
|
|
82
|
+
}
|
|
83
|
+
async loadStages() {
|
|
84
|
+
var _this$stagesCollectio;
|
|
85
|
+
this.stagesCollectionState.init();
|
|
86
|
+
await ((_this$stagesCollectio = this.stagesCollectionState) == null || (_this$stagesCollectio = _this$stagesCollectio.initTask) == null || (_this$stagesCollectio = _this$stagesCollectio.status) == null || (_this$stagesCollectio = _this$stagesCollectio.promise) == null ? void 0 : _this$stagesCollectio.catch(error => {
|
|
87
|
+
this.showErrorToast(error);
|
|
88
|
+
}));
|
|
70
89
|
}
|
|
71
|
-
async
|
|
90
|
+
async initializeStageStates() {
|
|
72
91
|
if (!this.items.fetchAllByStageIds) {
|
|
73
92
|
return;
|
|
74
93
|
}
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
})
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
const stageId = this.stagesCollectionState.itemKey(stage.item);
|
|
82
|
-
const hasDataForStage = !!data[stageId];
|
|
83
|
-
if (!this.kanbanStageStates[stageId]) {
|
|
84
|
-
var _data$stageId, _data$stageId2, _data$stageId3;
|
|
85
|
-
this.kanbanStageStates[stageId] = new _KanbanStageState.KanbanStageState({
|
|
86
|
-
container: this.container,
|
|
87
|
-
fetchData: this.items.fetchData,
|
|
88
|
-
itemKey: this.items.itemKey,
|
|
89
|
-
itemName: this.items.itemName,
|
|
90
|
-
initialPage: hasDataForStage ? {
|
|
91
|
-
items: (_data$stageId = data[stageId]) == null ? void 0 : _data$stageId.items,
|
|
92
|
-
total: (_data$stageId2 = data[stageId]) == null ? void 0 : _data$stageId2.total,
|
|
93
|
-
cursor: (_data$stageId3 = data[stageId]) == null ? void 0 : _data$stageId3.cursor
|
|
94
|
-
} : undefined,
|
|
95
|
-
name: this.stagesCollectionState.itemName(stage.item),
|
|
96
|
-
key: this.stagesCollectionState.itemKey(stage.item),
|
|
97
|
-
stage: stage.item
|
|
98
|
-
});
|
|
99
|
-
} else {
|
|
100
|
-
this.kanbanStageStates[stageId].itemsCollectionState.clearResultAndMoveToStart();
|
|
101
|
-
this.kanbanStageStates[stageId].name = this.stagesCollectionState.itemName(stage.item);
|
|
102
|
-
if (hasDataForStage) {
|
|
103
|
-
var _data$stageId4, _data$stageId5, _data$stageId6;
|
|
104
|
-
this.kanbanStageStates[stageId].itemsCollectionState.setInitialPage({
|
|
105
|
-
items: (_data$stageId4 = data[stageId]) == null ? void 0 : _data$stageId4.items,
|
|
106
|
-
total: (_data$stageId5 = data[stageId]) == null ? void 0 : _data$stageId5.total,
|
|
107
|
-
cursor: (_data$stageId6 = data[stageId]) == null ? void 0 : _data$stageId6.cursor
|
|
108
|
-
});
|
|
109
|
-
} else {
|
|
110
|
-
this.kanbanStageStates[stageId].itemsCollectionState.clearResultAndMoveToStart();
|
|
111
|
-
}
|
|
112
|
-
}
|
|
113
|
-
});
|
|
114
|
-
});
|
|
115
|
-
}
|
|
116
|
-
waitLoadStagesState() {
|
|
117
|
-
Object.entries(this.kanbanStageStates).forEach(([, stageState]) => {
|
|
118
|
-
stageState.init();
|
|
119
|
-
});
|
|
94
|
+
try {
|
|
95
|
+
const stageData = await this.fetchStagesData();
|
|
96
|
+
this.processAllStages(stageData);
|
|
97
|
+
} catch (error) {
|
|
98
|
+
this.showErrorToast(error);
|
|
99
|
+
}
|
|
120
100
|
}
|
|
121
101
|
get stages() {
|
|
122
102
|
return this.stagesCollectionState.result.keyedItems.map(item => item.item);
|
|
@@ -128,19 +108,31 @@ class KanbanState {
|
|
|
128
108
|
return this.kanbanStageStates[stageKey];
|
|
129
109
|
}
|
|
130
110
|
isLoading() {
|
|
131
|
-
return this.
|
|
111
|
+
return this.isLoadingStages() || Object.values(this.kanbanStageStates).some(stage => stage.isLoading());
|
|
112
|
+
}
|
|
113
|
+
isLoadingStages() {
|
|
114
|
+
return this.stagesCollectionState.initTask.status.isLoading || this.isRefetching || Object.keys(this.kanbanStageStates).length !== this.stagesCollectionState.result.keyedItems.length;
|
|
115
|
+
}
|
|
116
|
+
isInSearchMode() {
|
|
117
|
+
var _this$query$asCompute;
|
|
118
|
+
return ((_this$query$asCompute = this.query.asComputed.search) == null ? void 0 : _this$query$asCompute.length) && this.query.asComputed.search.length > 0;
|
|
119
|
+
}
|
|
120
|
+
getIsChangingFiltersValue() {
|
|
121
|
+
return this.isChangingFiltersValue;
|
|
132
122
|
}
|
|
133
123
|
stageKey(stage) {
|
|
134
124
|
return this.stagesCollectionState.itemKey(stage);
|
|
135
125
|
}
|
|
136
|
-
|
|
137
|
-
this.
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
126
|
+
moveItemBetweenStages(item, fromStageId, toStageId) {
|
|
127
|
+
this.getStageStateByKey(fromStageId).deleteItem(item);
|
|
128
|
+
this.getStageStateByKey(toStageId).createItem(item);
|
|
129
|
+
}
|
|
130
|
+
get hasStagesError() {
|
|
131
|
+
var _this$stagesCollectio2;
|
|
132
|
+
return (_this$stagesCollectio2 = this.stagesCollectionState.result.status) == null ? void 0 : _this$stagesCollectio2.isError;
|
|
143
133
|
}
|
|
134
|
+
|
|
135
|
+
// Public methods
|
|
144
136
|
async refetchKanban() {
|
|
145
137
|
(0, _mobx.runInAction)(() => {
|
|
146
138
|
this.isRefetching = true;
|
|
@@ -148,14 +140,200 @@ class KanbanState {
|
|
|
148
140
|
try {
|
|
149
141
|
await this.stagesCollectionState.clearResultBeforeRefresh();
|
|
150
142
|
await this.stagesCollectionState.refreshAllPages();
|
|
151
|
-
await this.
|
|
152
|
-
this.waitLoadStagesState();
|
|
143
|
+
await this.initializeStageStates();
|
|
153
144
|
} finally {
|
|
154
145
|
(0, _mobx.runInAction)(() => {
|
|
155
146
|
this.isRefetching = false;
|
|
156
147
|
});
|
|
157
148
|
}
|
|
158
149
|
}
|
|
150
|
+
|
|
151
|
+
// Private methods
|
|
152
|
+
showErrorToast(error) {
|
|
153
|
+
var _this$container$error, _this$container$error2;
|
|
154
|
+
const resolvedError = (_this$container$error = this.container.errorHandler) == null || _this$container$error.getResolvedError == null ? void 0 : _this$container$error.getResolvedError(error);
|
|
155
|
+
resolvedError && ((_this$container$error2 = this.container.errorHandler) == null || _this$container$error2.showError == null ? void 0 : _this$container$error2.showError(resolvedError));
|
|
156
|
+
}
|
|
157
|
+
createToolbarQueryCollectionState() {
|
|
158
|
+
return new _bexCore.CollectionState({
|
|
159
|
+
errorMonitor: this.container.errorMonitor,
|
|
160
|
+
history: this.container.history,
|
|
161
|
+
lodash: this.container.lodash,
|
|
162
|
+
onlineState: this.container.onlineState,
|
|
163
|
+
queryCache: this.container.queryCache,
|
|
164
|
+
translate: this.container.translate,
|
|
165
|
+
queryName: 'kanban-toolbar-query-items',
|
|
166
|
+
fetchData: () => Promise.resolve({
|
|
167
|
+
items: [],
|
|
168
|
+
total: 0,
|
|
169
|
+
cursor: null
|
|
170
|
+
}),
|
|
171
|
+
itemKey: () => '',
|
|
172
|
+
itemName: () => '',
|
|
173
|
+
filters: {},
|
|
174
|
+
errorHandler: this.container.errorHandler,
|
|
175
|
+
paginationMode: 'cursor'
|
|
176
|
+
});
|
|
177
|
+
}
|
|
178
|
+
createStagesCollectionState(params) {
|
|
179
|
+
return new _bexCore.CollectionState({
|
|
180
|
+
errorMonitor: this.container.errorMonitor,
|
|
181
|
+
history: this.container.history,
|
|
182
|
+
lodash: this.container.lodash,
|
|
183
|
+
onlineState: this.container.onlineState,
|
|
184
|
+
queryCache: this.container.queryCache,
|
|
185
|
+
translate: this.container.translate,
|
|
186
|
+
queryName: 'kanban-stages',
|
|
187
|
+
fetchData: params.stages.fetchData,
|
|
188
|
+
itemKey: params.stages.stageKey,
|
|
189
|
+
itemName: params.stages.stageName,
|
|
190
|
+
filters: {},
|
|
191
|
+
errorHandler: this.container.errorHandler,
|
|
192
|
+
paginationMode: 'cursor'
|
|
193
|
+
});
|
|
194
|
+
}
|
|
195
|
+
async fetchStagesData() {
|
|
196
|
+
const stageIds = this.getStageIds();
|
|
197
|
+
return this.items.fetchAllByStageIds({
|
|
198
|
+
ids: stageIds,
|
|
199
|
+
filters: this.query.asComputed.filters,
|
|
200
|
+
search: this.query.asComputed.search
|
|
201
|
+
});
|
|
202
|
+
}
|
|
203
|
+
getStageIds() {
|
|
204
|
+
return this.stagesCollectionState.result.keyedItems.map(item => this.stagesCollectionState.itemKey(item.item));
|
|
205
|
+
}
|
|
206
|
+
processAllStages(stageData) {
|
|
207
|
+
this.stagesCollectionState.result.keyedItems.forEach(keyedStage => {
|
|
208
|
+
const stage = keyedStage.item;
|
|
209
|
+
(0, _mobx.runInAction)(() => {
|
|
210
|
+
const stageId = this.stagesCollectionState.itemKey(stage);
|
|
211
|
+
const hasDataForStage = !!stageData[stageId];
|
|
212
|
+
if (!this.kanbanStageStates[stageId]) {
|
|
213
|
+
this.createNewStageState(stage, stageId, stageData[stageId], hasDataForStage);
|
|
214
|
+
} else {
|
|
215
|
+
this.updateExistingStageState(stage, stageId, stageData[stageId], hasDataForStage);
|
|
216
|
+
}
|
|
217
|
+
});
|
|
218
|
+
});
|
|
219
|
+
}
|
|
220
|
+
createNewStageState(stage, stageId, stageData, hasDataForStage) {
|
|
221
|
+
this.kanbanStageStates[stageId] = new _KanbanStageState.KanbanStageState({
|
|
222
|
+
container: this.container,
|
|
223
|
+
fetchData: this.items.fetchData,
|
|
224
|
+
itemKey: this.items.itemKey,
|
|
225
|
+
itemName: this.items.itemName,
|
|
226
|
+
initialPage: hasDataForStage ? this.getInitialPageData(stageData) : undefined,
|
|
227
|
+
name: this.stagesCollectionState.itemName(stage),
|
|
228
|
+
key: this.stagesCollectionState.itemKey(stage),
|
|
229
|
+
stage,
|
|
230
|
+
query: this.query
|
|
231
|
+
});
|
|
232
|
+
this.kanbanStageStates[stageId].init();
|
|
233
|
+
}
|
|
234
|
+
updateExistingStageState(stage, stageId, stageData, hasDataForStage) {
|
|
235
|
+
const stageState = this.kanbanStageStates[stageId];
|
|
236
|
+
stageState.name = this.stagesCollectionState.itemName(stage);
|
|
237
|
+
(0, _mobx.runInAction)(() => {
|
|
238
|
+
const initialPageData = this.getInitialPageData(hasDataForStage ? stageData : {
|
|
239
|
+
items: [],
|
|
240
|
+
total: 0,
|
|
241
|
+
cursor: null
|
|
242
|
+
});
|
|
243
|
+
stageState.itemsCollectionState.setInitialPage(initialPageData);
|
|
244
|
+
|
|
245
|
+
// Directly update QueryResultState to trigger MobX reactivity for keyedItems
|
|
246
|
+
const items = initialPageData.items || [];
|
|
247
|
+
const total = initialPageData.total ?? items.length;
|
|
248
|
+
const cursor = initialPageData.cursor;
|
|
249
|
+
stageState.itemsCollectionState.result.setPages({
|
|
250
|
+
processed: [items],
|
|
251
|
+
unprocessed: [items]
|
|
252
|
+
});
|
|
253
|
+
stageState.itemsCollectionState.result.setTotals({
|
|
254
|
+
processed: total,
|
|
255
|
+
unprocessed: total
|
|
256
|
+
});
|
|
257
|
+
if (cursor != null) {
|
|
258
|
+
stageState.itemsCollectionState.paginationMode.setCursor(cursor);
|
|
259
|
+
}
|
|
260
|
+
});
|
|
261
|
+
}
|
|
262
|
+
getInitialPageData(stageData) {
|
|
263
|
+
return {
|
|
264
|
+
items: stageData == null ? void 0 : stageData.items,
|
|
265
|
+
total: stageData == null ? void 0 : stageData.total,
|
|
266
|
+
cursor: stageData == null ? void 0 : stageData.cursor
|
|
267
|
+
};
|
|
268
|
+
}
|
|
269
|
+
|
|
270
|
+
// optimistic actions
|
|
271
|
+
|
|
272
|
+
updateStage(originalStage, updatedStage) {
|
|
273
|
+
const stageId = this.stagesCollectionState.itemKey(originalStage);
|
|
274
|
+
const stageState = this.getStageStateByKey(stageId);
|
|
275
|
+
this.stagesCollectionState.optimisticActions.updateOne(originalStage, {
|
|
276
|
+
submit: () => Promise.resolve(updatedStage),
|
|
277
|
+
keepPosition: true
|
|
278
|
+
});
|
|
279
|
+
(0, _mobx.runInAction)(() => {
|
|
280
|
+
if (stageState.name !== this.stagesCollectionState.itemName(updatedStage)) {
|
|
281
|
+
stageState.name = this.stagesCollectionState.itemName(updatedStage);
|
|
282
|
+
}
|
|
283
|
+
stageState.refetchStage();
|
|
284
|
+
});
|
|
285
|
+
}
|
|
286
|
+
createStage(stage) {
|
|
287
|
+
this.stagesCollectionState.optimisticActions.createOne(stage, {
|
|
288
|
+
submit: _items => Promise.resolve()
|
|
289
|
+
});
|
|
290
|
+
(0, _mobx.runInAction)(() => {
|
|
291
|
+
const stageId = this.stagesCollectionState.itemKey(stage);
|
|
292
|
+
this.createNewStageState(stage, stageId, {
|
|
293
|
+
items: [],
|
|
294
|
+
total: 0,
|
|
295
|
+
cursor: null
|
|
296
|
+
}, false);
|
|
297
|
+
});
|
|
298
|
+
}
|
|
299
|
+
deleteStage(stage) {
|
|
300
|
+
const stageId = this.stagesCollectionState.itemKey(stage);
|
|
301
|
+
this.stagesCollectionState.optimisticActions.deleteOne(stage, {
|
|
302
|
+
submit: _items => Promise.resolve()
|
|
303
|
+
});
|
|
304
|
+
(0, _mobx.runInAction)(() => {
|
|
305
|
+
Reflect.deleteProperty(this.kanbanStageStates, stageId);
|
|
306
|
+
});
|
|
307
|
+
}
|
|
308
|
+
reorderStages(fromIndex, toIndex) {
|
|
309
|
+
const keyedItems = this.stagesCollectionState.result.keyedItems;
|
|
310
|
+
if (fromIndex === toIndex) {
|
|
311
|
+
return;
|
|
312
|
+
}
|
|
313
|
+
const from = keyedItems[fromIndex];
|
|
314
|
+
const over = keyedItems[toIndex];
|
|
315
|
+
let after;
|
|
316
|
+
if (toIndex === 0) {
|
|
317
|
+
after = null;
|
|
318
|
+
} else if (fromIndex < toIndex) {
|
|
319
|
+
after = over;
|
|
320
|
+
} else {
|
|
321
|
+
after = keyedItems[toIndex - 1];
|
|
322
|
+
}
|
|
323
|
+
const actionMove = {
|
|
324
|
+
moveId: (0, _uuid.v4)(),
|
|
325
|
+
from,
|
|
326
|
+
over,
|
|
327
|
+
after,
|
|
328
|
+
isFromHandle: false,
|
|
329
|
+
filtersKeyHash: this.stagesCollectionState.query.filtersKeyHash,
|
|
330
|
+
query: this.stagesCollectionState.originQuery
|
|
331
|
+
};
|
|
332
|
+
this.stagesCollectionState.optimisticActions._orderByMode = 'moves';
|
|
333
|
+
this.stagesCollectionState.optimisticActions.move(actionMove, {
|
|
334
|
+
collectionSnapshot: {}
|
|
335
|
+
});
|
|
336
|
+
}
|
|
159
337
|
}
|
|
160
338
|
exports.KanbanState = KanbanState;
|
|
161
339
|
//# sourceMappingURL=KanbanState.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_bexCore","require","_ToolbarCollectionState","_KanbanStageState","_mobx","_KanbanCardDragAndDrop","KanbanState","constructor","params","_defineProperty2","default","container","items","stagesCollectionState","CollectionState","errorMonitor","history","lodash","onlineState","queryCache","translate","queryName","fetchData","stages","itemKey","stageKey","itemName","stageName","filters","errorHandler","paginationMode","toolbar","ToolbarCollectionState","collection","componentType","reportBi","dragAndDropState","KanbanDragAndDropState","kanbanState","makeObservable","kanbanStageStates","observable","updateStage","action","computed","isRefetching","refetchKanban","init","_this$stagesCollectio","initTask","status","promise","catch","initialAllStages","waitLoadStagesState","featuresInitializers","CollectionOptimisticActions","fetchAllByStageIds","data","ids","result","keyedItems","map","item","filter","forEach","stage","runInAction","stageId","hasDataForStage","_data$stageId","_data$stageId2","_data$stageId3","KanbanStageState","initialPage","total","cursor","undefined","name","key","itemsCollectionState","clearResultAndMoveToStart","_data$stageId4","_data$stageId5","_data$stageId6","setInitialPage","Object","entries","stageState","getStageState","getStageStateByKey","isLoading","keys","length","values","some","originalStage","updatedStage","optimisticActions","updateOne","submit","Promise","resolve","keepPosition","clearResultBeforeRefresh","refreshAllPages","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} 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} from 'mobx';\nimport { KanbanDragAndDropState } from '../../components/KanbanDragAndDropDndKit/KanbanCardDragAndDrop';\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 fetchAllByStageIds?: ({\n ids,\n filter,\n }: {\n ids: string[];\n filter: F;\n }) => Promise<Record<string, DataResultRaw<T>>>;\n dragAndDrop?: {\n onSubmit?: (event: KanbanDragEndItemEvent<T>) => Promise<T>;\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 readonly toolbar: ToolbarCollectionState<unknown, {}>;\n}\n\nexport class KanbanState<T, S, F extends FiltersMap = OptionalFiltersMap>\n implements ICollectionComponentState, KanbanStateParamsAPI\n{\n readonly container: any;\n kanbanStageStates: Record<\n string,\n KanbanStageState<T, S, F & { stageId: ReturnType<typeof stringFilter> }>\n > = {};\n // @ts-expect-error\n readonly toolbar: ToolbarCollectionState<S, F>;\n readonly stagesCollectionState: CollectionState<S, F>;\n readonly dragAndDropState: KanbanDragAndDropState<\n T,\n S,\n F & { stageId: ReturnType<typeof stringFilter> }\n >;\n items: KanbanStateBaseParams<T, S, F>['items'];\n isRefetching = false;\n\n constructor(params: KanbanStateParams<T, S, F>) {\n this.container = params.container;\n this.items = params.items;\n this.stagesCollectionState = 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.errorMonitor,\n paginationMode: 'cursor',\n });\n\n this.toolbar = new ToolbarCollectionState({\n collection: this.stagesCollectionState,\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 });\n }\n\n async init() {\n this.stagesCollectionState.init();\n await this.stagesCollectionState?.initTask?.status?.promise?.catch(\n () => {},\n );\n await this.initialAllStages();\n this.waitLoadStagesState();\n this.toolbar.init({ featuresInitializers: [] });\n this.dragAndDropState.init();\n new CollectionOptimisticActions({\n collection: this.stagesCollectionState,\n container: this.container,\n });\n }\n\n async initialAllStages() {\n if (!this.items.fetchAllByStageIds) {\n return;\n }\n\n const data = await this.items.fetchAllByStageIds({\n ids: this.stagesCollectionState.result.keyedItems.map((item) =>\n this.stagesCollectionState.itemKey(item.item),\n ),\n filter: {} as any,\n });\n\n this.stagesCollectionState.result.keyedItems.forEach((stage) => {\n runInAction(() => {\n const stageId = this.stagesCollectionState.itemKey(stage.item);\n const hasDataForStage = !!data[stageId];\n if (!this.kanbanStageStates[stageId]) {\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 ? {\n items: data[stageId]?.items,\n total: data[stageId]?.total,\n cursor: data[stageId]?.cursor,\n }\n : undefined,\n name: this.stagesCollectionState.itemName(stage.item),\n key: this.stagesCollectionState.itemKey(stage.item),\n stage: stage.item,\n });\n } else {\n this.kanbanStageStates[\n stageId\n ].itemsCollectionState.clearResultAndMoveToStart();\n this.kanbanStageStates[stageId].name =\n this.stagesCollectionState.itemName(stage.item);\n if (hasDataForStage) {\n this.kanbanStageStates[stageId].itemsCollectionState.setInitialPage(\n {\n items: data[stageId]?.items,\n total: data[stageId]?.total,\n cursor: data[stageId]?.cursor,\n },\n );\n } else {\n this.kanbanStageStates[\n stageId\n ].itemsCollectionState.clearResultAndMoveToStart();\n }\n }\n });\n });\n }\n\n waitLoadStagesState() {\n Object.entries(this.kanbanStageStates).forEach(([, stageState]) => {\n stageState.init();\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 isLoading() {\n return (\n this.stagesCollectionState.initTask.status.isLoading ||\n this.isRefetching ||\n Object.keys(this.kanbanStageStates).length !==\n this.stagesCollectionState.result.keyedItems.length ||\n Object.values(this.kanbanStageStates).some((stage) => stage.isLoading())\n );\n }\n\n stageKey(stage: S) {\n return this.stagesCollectionState.itemKey(stage);\n }\n\n updateStage(originalStage: S, updatedStage: S) {\n this.stagesCollectionState.optimisticActions.updateOne(originalStage, {\n submit: () => {\n return Promise.resolve(updatedStage);\n },\n keepPosition: true,\n });\n }\n\n async refetchKanban() {\n runInAction(() => {\n this.isRefetching = true;\n });\n try {\n await this.stagesCollectionState.clearResultBeforeRefresh();\n await this.stagesCollectionState.refreshAllPages();\n await this.initialAllStages();\n this.waitLoadStagesState();\n } finally {\n runInAction(() => {\n this.isRefetching = false;\n });\n }\n }\n}\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["_bexCore","require","_ToolbarCollectionState","_KanbanStageState","_mobx","_KanbanCardDragAndDrop","_uuid","KanbanState","constructor","params","_defineProperty2","default","container","items","toolbarQueryCollectionState","createToolbarQueryCollectionState","query","QueryState","filters","search","stringFilter","initialValue","syncWithSharedQuery","stagesCollectionState","createStagesCollectionState","toolbar","ToolbarCollectionState","collection","componentType","reportBi","dragAndDropState","KanbanDragAndDropState","kanbanState","makeObservable","kanbanStageStates","observable","updateStage","action","stages","computed","isRefetching","refetchKanban","hasStagesError","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","isLoading","isLoadingStages","Object","values","some","keys","length","isInSearchMode","_this$query$asCompute","getIsChangingFiltersValue","moveItemBetweenStages","fromStageId","toStageId","deleteItem","createItem","_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","undefined","name","key","stageState","initialPageData","itemsCollectionState","setInitialPage","setPages","processed","unprocessed","setTotals","setCursor","originalStage","updatedStage","optimisticActions","updateOne","submit","keepPosition","refetchStage","createStage","createOne","_items","deleteStage","deleteOne","Reflect","deleteProperty","reorderStages","fromIndex","toIndex","from","over","after","actionMove","moveId","uuid","isFromHandle","filtersKeyHash","originQuery","_orderByMode","move","collectionSnapshot","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';\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 };\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 items: KanbanStateBaseParams<T, S, F>['items'];\n isRefetching = false;\n isChangingFiltersValue = false;\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\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 });\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 isLoading() {\n return (\n this.isLoadingStages() ||\n Object.values(this.kanbanStageStates).some((stage) => stage.isLoading())\n );\n }\n\n 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 moveItemBetweenStages(item: T, fromStageId: string, toStageId: string) {\n this.getStageStateByKey(fromStageId).deleteItem(item);\n this.getStageStateByKey(toStageId).createItem(item);\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 } 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 : undefined,\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 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 // 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 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"],"mappings":"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","ignoreList":[]}
|