@wix/patterns 1.12.0 → 1.14.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/Collapse/Collapse.st.css.js +3 -3
- package/dist/cjs/components/Collapse/Collapse.st.css.js.map +1 -1
- package/dist/cjs/components/CollectionItemActions/CollectionItemActions.js +2 -2
- package/dist/cjs/components/CollectionItemActions/CollectionItemActions.js.map +1 -1
- package/dist/cjs/components/CollectionItemActions/CollectionItemActionsHelper.js +2 -2
- package/dist/cjs/components/CollectionItemActions/CollectionItemActionsHelper.js.map +1 -1
- package/dist/cjs/components/CollectionTable/CollectionTable.js +2 -2
- package/dist/cjs/components/CollectionTable/CollectionTable.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 +3 -3
- 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/CustomColumnsPanel/CustomColumnsPanelEntry.js +7 -2
- package/dist/cjs/components/CustomColumnsPanel/CustomColumnsPanelEntry.js.map +1 -1
- package/dist/cjs/components/CustomFieldsWidget/CustomFieldsViewWidgetSection.st.css.js +3 -3
- package/dist/cjs/components/CustomFieldsWidget/CustomFieldsViewWidgetSection.st.css.js.map +1 -1
- package/dist/cjs/components/DragAndDrop/CollectionDragAndDropState.js +3 -3
- package/dist/cjs/components/DragAndDrop/CollectionDragAndDropState.js.map +1 -1
- package/dist/cjs/components/DragAndDrop/DragAndDropAnnouncements.js +5 -5
- package/dist/cjs/components/DragAndDrop/DragAndDropAnnouncements.js.map +1 -1
- package/dist/cjs/components/DragAndDrop/DragAndDropState.js +3 -10
- package/dist/cjs/components/DragAndDrop/DragAndDropState.js.map +1 -1
- package/dist/cjs/components/DragAndDrop/TableDragAndDropState.js +7 -11
- package/dist/cjs/components/DragAndDrop/TableDragAndDropState.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/ExtensionMenuItems/ExtensionMenuItems.js +2 -2
- package/dist/cjs/components/ExtensionMenuItems/ExtensionMenuItems.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 +6 -6
- package/dist/cjs/components/Grid/Grid.js.map +1 -1
- package/dist/cjs/components/Grid/Grid.uni.driver.js +6 -1
- package/dist/cjs/components/Grid/Grid.uni.driver.js.map +1 -1
- package/dist/cjs/components/Grid/GridCardItem.js +2 -2
- package/dist/cjs/components/Grid/GridCardItem.js.map +1 -1
- package/dist/cjs/components/Grid/GridContent.js +12 -9
- package/dist/cjs/components/Grid/GridContent.js.map +1 -1
- package/dist/cjs/components/Grid/GridFoldersSectionsGroup.js.map +1 -1
- package/dist/cjs/components/Grid/GridItem.js.map +1 -1
- package/dist/cjs/components/Grid/GridSingleGridContent.js +10 -4
- package/dist/cjs/components/Grid/GridSingleGridContent.js.map +1 -1
- package/dist/cjs/components/Grid/renderFolderItem.js.map +1 -1
- package/dist/cjs/components/Grid/useGridBaseSyncProps.js +18 -1
- package/dist/cjs/components/Grid/useGridBaseSyncProps.js.map +1 -1
- package/dist/cjs/components/Grid/{toGridItemActions.js → useGridItemActions.js} +6 -6
- package/dist/cjs/components/Grid/useGridItemActions.js.map +1 -0
- package/dist/cjs/components/Grid/useRenderItem.js.map +1 -1
- package/dist/cjs/components/GridDragAndDropDndKit/GridDragAndDrop.js +14 -1
- package/dist/cjs/components/GridDragAndDropDndKit/GridDragAndDrop.js.map +1 -1
- package/dist/cjs/components/GridDragAndDropDndKit/GridSortableContext.js +6 -18
- package/dist/cjs/components/GridDragAndDropDndKit/GridSortableContext.js.map +1 -1
- package/dist/cjs/components/GridSections/GridSectionAndRepeater.js +10 -5
- package/dist/cjs/components/GridSections/GridSectionAndRepeater.js.map +1 -1
- package/dist/cjs/components/GridSections/GridSectionHeader.js +9 -3
- package/dist/cjs/components/GridSections/GridSectionHeader.js.map +1 -1
- package/dist/cjs/components/GridSections/GridSectionsContent.js +28 -12
- package/dist/cjs/components/GridSections/GridSectionsContent.js.map +1 -1
- package/dist/cjs/components/GridSections/GridSectionsSectionState.js +6 -2
- package/dist/cjs/components/GridSections/GridSectionsSectionState.js.map +1 -1
- package/dist/cjs/components/GridSections/GridSectionsSingleSkeletonGrid.js +45 -0
- package/dist/cjs/components/GridSections/GridSectionsSingleSkeletonGrid.js.map +1 -0
- 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/ListDragAndDrop/ListDragAndDropContext.js +6 -19
- package/dist/cjs/components/ListDragAndDrop/ListDragAndDropContext.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/MoreActions/MoreActions.js +2 -2
- package/dist/cjs/components/MoreActions/MoreActions.js.map +1 -1
- package/dist/cjs/components/MultiBulkActionToolbar/MultiBulkActionToolbar.js +4 -3
- package/dist/cjs/components/MultiBulkActionToolbar/MultiBulkActionToolbar.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/MultiBulkActionToolbar/MultiBulkActionToolbarState.js +2 -3
- package/dist/cjs/components/MultiBulkActionToolbar/MultiBulkActionToolbarState.js.map +1 -1
- package/dist/cjs/components/MultiLevelSorting/MultiLevelSortingCTAButton.js +10 -5
- package/dist/cjs/components/MultiLevelSorting/MultiLevelSortingCTAButton.js.map +1 -1
- package/dist/cjs/components/NestedTable/NestedTable.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/NestedTable/NestedTableWSRTable.js +16 -6
- package/dist/cjs/components/NestedTable/NestedTableWSRTable.js.map +1 -1
- package/dist/cjs/components/NestedTableDragAndDrop/NestedTableDragAndDrop.js +33 -0
- package/dist/cjs/components/NestedTableDragAndDrop/NestedTableDragAndDrop.js.map +1 -0
- package/dist/cjs/components/{CollectionTableDragAndDropContext/CollectionNestedTableDragAndDropContext.js → NestedTableDragAndDrop/NestedTableDragAndDropContext.js} +14 -31
- package/dist/cjs/components/NestedTableDragAndDrop/NestedTableDragAndDropContext.js.map +1 -0
- package/dist/cjs/components/NestedTableDragAndDrop/NestedTableDragAndDropState.js +85 -0
- package/dist/cjs/components/NestedTableDragAndDrop/NestedTableDragAndDropState.js.map +1 -0
- package/dist/cjs/components/PageWrapper/PageWrapperBase.js +8 -5
- package/dist/cjs/components/PageWrapper/PageWrapperBase.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/SkeletonGrid/SkeletonGrid.js +5 -4
- package/dist/cjs/components/SkeletonGrid/SkeletonGrid.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/TableVirtual.st.css.js +3 -3
- package/dist/cjs/components/Table/TableVirtual.st.css.js.map +1 -1
- package/dist/cjs/components/Table/useTableSyncProps.js +11 -0
- package/dist/cjs/components/Table/useTableSyncProps.js.map +1 -1
- package/dist/cjs/components/TableDragAndDrop.js +15 -2
- package/dist/cjs/components/TableDragAndDrop.js.map +1 -1
- package/dist/cjs/components/{CollectionTableDragAndDropContext/CollectionTableDragAndDropContext.js → TableDragAndDropContext/TableDragAndDropContext.js} +13 -23
- package/dist/cjs/components/TableDragAndDropContext/TableDragAndDropContext.js.map +1 -0
- package/dist/cjs/components/TableDragAndDropContext/index.js +8 -0
- package/dist/cjs/components/TableDragAndDropContext/index.js.map +1 -0
- package/dist/cjs/components/TableSkeleton/TableSkeleton.js +11 -9
- package/dist/cjs/components/TableSkeleton/TableSkeleton.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/ToolbarCollection/ToolbarCollection.js.map +1 -1
- package/dist/cjs/components/ToolbarCollection/useToolbarCollectionSyncProps.js +0 -2
- package/dist/cjs/components/ToolbarCollection/useToolbarCollectionSyncProps.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/index.js +0 -6
- package/dist/cjs/hooks/index.js.map +1 -1
- package/dist/cjs/hooks/useColumnsSyncProps.js +10 -2
- package/dist/cjs/hooks/useColumnsSyncProps.js.map +1 -1
- package/dist/cjs/index.js +1 -1
- package/dist/cjs/index.js.map +1 -1
- package/dist/cjs/state/CustomColumnsDragAndDropState.js +16 -6
- package/dist/cjs/state/CustomColumnsDragAndDropState.js.map +1 -1
- package/dist/cjs/state/CustomColumnsState.js +2 -1
- package/dist/cjs/state/CustomColumnsState.js.map +1 -1
- package/dist/cjs/state/GridBaseState.js +35 -7
- package/dist/cjs/state/GridBaseState.js.map +1 -1
- package/dist/cjs/state/GridFoldersState.js +4 -2
- package/dist/cjs/state/GridFoldersState.js.map +1 -1
- package/dist/cjs/state/MultiLevelSortingDragAndDrop.js +15 -3
- package/dist/cjs/state/MultiLevelSortingDragAndDrop.js.map +1 -1
- package/dist/cjs/state/MultiLevelSortingState.js +2 -1
- package/dist/cjs/state/MultiLevelSortingState.js.map +1 -1
- package/dist/cjs/state/NestedTableState/NestedTableNestedModeState.js +1 -0
- package/dist/cjs/state/NestedTableState/NestedTableNestedModeState.js.map +1 -1
- package/dist/cjs/state/ResponsiveColumnsState.js +7 -7
- package/dist/cjs/state/ResponsiveColumnsState.js.map +1 -1
- package/dist/cjs/state/TableState.js +2 -9
- package/dist/cjs/state/TableState.js.map +1 -1
- package/dist/cjs/state/ToolbarCollectionState.js +0 -2
- package/dist/cjs/state/ToolbarCollectionState.js.map +1 -1
- package/dist/cjs/state/initCustomColumns.js +8 -2
- package/dist/cjs/state/initCustomColumns.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/Collapse/Collapse.st.css.js +2 -2
- package/dist/esm/components/Collapse/Collapse.st.css.js.map +1 -1
- package/dist/esm/components/CollectionItemActions/CollectionItemActions.js +3 -2
- package/dist/esm/components/CollectionItemActions/CollectionItemActions.js.map +1 -1
- package/dist/esm/components/CollectionItemActions/CollectionItemActionsHelper.js +2 -2
- package/dist/esm/components/CollectionItemActions/CollectionItemActionsHelper.js.map +1 -1
- package/dist/esm/components/CollectionTable/CollectionTable.js +2 -2
- package/dist/esm/components/CollectionTable/CollectionTable.js.map +1 -1
- package/dist/esm/components/CollectionToolbar/CollectionToolbar.st.css.js +2 -2
- package/dist/esm/components/CollectionToolbar/CollectionToolbar.st.css.js.map +1 -1
- 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/CustomColumnsPanel/CustomColumnsPanelEntry.js +3 -0
- package/dist/esm/components/CustomColumnsPanel/CustomColumnsPanelEntry.js.map +1 -1
- package/dist/esm/components/CustomFieldsWidget/CustomFieldsViewWidgetSection.st.css.js +2 -2
- package/dist/esm/components/DragAndDrop/CollectionDragAndDropState.js +3 -3
- package/dist/esm/components/DragAndDrop/CollectionDragAndDropState.js.map +1 -1
- package/dist/esm/components/DragAndDrop/DragAndDropAnnouncements.js +4 -4
- package/dist/esm/components/DragAndDrop/DragAndDropAnnouncements.js.map +1 -1
- package/dist/esm/components/DragAndDrop/DragAndDropState.js +2 -7
- package/dist/esm/components/DragAndDrop/DragAndDropState.js.map +1 -1
- package/dist/esm/components/DragAndDrop/TableDragAndDropState.js +7 -8
- package/dist/esm/components/DragAndDrop/TableDragAndDropState.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/ExtensionMenuItems/ExtensionMenuItems.js +1 -1
- package/dist/esm/components/ExtensionMenuItems/ExtensionMenuItems.js.map +1 -1
- package/dist/esm/components/Fade/Fade.st.css.js +2 -2
- package/dist/esm/components/Grid/Grid.js.map +1 -1
- package/dist/esm/components/Grid/Grid.uni.driver.js +5 -1
- package/dist/esm/components/Grid/Grid.uni.driver.js.map +1 -1
- package/dist/esm/components/Grid/GridCardItem.js +2 -2
- package/dist/esm/components/Grid/GridCardItem.js.map +1 -1
- package/dist/esm/components/Grid/GridContent.js +2 -2
- package/dist/esm/components/Grid/GridContent.js.map +1 -1
- package/dist/esm/components/Grid/GridFoldersSectionsGroup.js.map +1 -1
- package/dist/esm/components/Grid/GridSingleGridContent.js +4 -2
- package/dist/esm/components/Grid/GridSingleGridContent.js.map +1 -1
- package/dist/esm/components/Grid/renderFolderItem.js.map +1 -1
- package/dist/esm/components/Grid/useGridBaseSyncProps.js +16 -2
- package/dist/esm/components/Grid/useGridBaseSyncProps.js.map +1 -1
- package/dist/esm/components/Grid/{toGridItemActions.js → useGridItemActions.js} +4 -4
- package/dist/esm/components/Grid/useGridItemActions.js.map +1 -0
- package/dist/esm/components/Grid/useRenderItem.js.map +1 -1
- package/dist/esm/components/GridDragAndDropDndKit/GridDragAndDrop.js +11 -0
- package/dist/esm/components/GridDragAndDropDndKit/GridDragAndDrop.js.map +1 -1
- package/dist/esm/components/GridDragAndDropDndKit/GridSortableContext.js +3 -13
- package/dist/esm/components/GridDragAndDropDndKit/GridSortableContext.js.map +1 -1
- package/dist/esm/components/GridSections/GridSectionAndRepeater.js +4 -2
- package/dist/esm/components/GridSections/GridSectionAndRepeater.js.map +1 -1
- package/dist/esm/components/GridSections/GridSectionHeader.js +2 -1
- package/dist/esm/components/GridSections/GridSectionHeader.js.map +1 -1
- package/dist/esm/components/GridSections/GridSectionsContent.js +9 -4
- package/dist/esm/components/GridSections/GridSectionsContent.js.map +1 -1
- package/dist/esm/components/GridSections/GridSectionsSectionState.js +3 -1
- package/dist/esm/components/GridSections/GridSectionsSectionState.js.map +1 -1
- package/dist/esm/components/GridSections/GridSectionsSingleSkeletonGrid.js +20 -0
- package/dist/esm/components/GridSections/GridSectionsSingleSkeletonGrid.js.map +1 -0
- package/dist/esm/components/Heading/Heading.st.css.js +2 -2
- package/dist/esm/components/Heading/Heading.st.css.js.map +1 -1
- package/dist/esm/components/InputOverflow/InputOverflow.st.css.js +2 -2
- package/dist/esm/components/InputOverflow/InputOverflow.st.css.js.map +1 -1
- package/dist/esm/components/ListDragAndDrop/ListDragAndDropContext.js +4 -15
- package/dist/esm/components/ListDragAndDrop/ListDragAndDropContext.js.map +1 -1
- package/dist/esm/components/MaxHeightText/MaxHeightText.st.css.js +2 -2
- package/dist/esm/components/MaxHeightText/MaxHeightText.st.css.js.map +1 -1
- 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/MoreActions/MoreActions.js +1 -1
- package/dist/esm/components/MoreActions/MoreActions.js.map +1 -1
- package/dist/esm/components/MultiBulkActionToolbar/MultiBulkActionToolbar.js +4 -3
- package/dist/esm/components/MultiBulkActionToolbar/MultiBulkActionToolbar.js.map +1 -1
- package/dist/esm/components/MultiBulkActionToolbar/MultiBulkActionToolbar.st.css.js +2 -2
- package/dist/esm/components/MultiBulkActionToolbar/MultiBulkActionToolbarState.js +1 -2
- package/dist/esm/components/MultiBulkActionToolbar/MultiBulkActionToolbarState.js.map +1 -1
- package/dist/esm/components/MultiLevelSorting/MultiLevelSortingCTAButton.js +4 -1
- package/dist/esm/components/MultiLevelSorting/MultiLevelSortingCTAButton.js.map +1 -1
- package/dist/esm/components/NestedTable/NestedTableRow.st.css.js +2 -2
- package/dist/esm/components/NestedTable/NestedTableWSRTable.js +9 -1
- package/dist/esm/components/NestedTable/NestedTableWSRTable.js.map +1 -1
- package/dist/esm/components/NestedTableDragAndDrop/NestedTableDragAndDrop.js +23 -0
- package/dist/esm/components/NestedTableDragAndDrop/NestedTableDragAndDrop.js.map +1 -0
- package/dist/esm/components/{CollectionTableDragAndDropContext/CollectionNestedTableDragAndDropContext.js → NestedTableDragAndDrop/NestedTableDragAndDropContext.js} +8 -21
- package/dist/esm/components/NestedTableDragAndDrop/NestedTableDragAndDropContext.js.map +1 -0
- package/dist/esm/components/NestedTableDragAndDrop/NestedTableDragAndDropState.js +61 -0
- package/dist/esm/components/NestedTableDragAndDrop/NestedTableDragAndDropState.js.map +1 -0
- package/dist/esm/components/PageWrapper/PageWrapperBase.js +4 -1
- package/dist/esm/components/PageWrapper/PageWrapperBase.js.map +1 -1
- 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/SkeletonGrid/SkeletonGrid.js +2 -2
- package/dist/esm/components/SkeletonGrid/SkeletonGrid.js.map +1 -1
- package/dist/esm/components/SlidingModal/SlidingModal.st.css.js +2 -2
- package/dist/esm/components/Table/TableVirtual.st.css.js +2 -2
- package/dist/esm/components/Table/useTableSyncProps.js +9 -0
- package/dist/esm/components/Table/useTableSyncProps.js.map +1 -1
- package/dist/esm/components/TableDragAndDrop.js +12 -2
- package/dist/esm/components/TableDragAndDrop.js.map +1 -1
- package/dist/esm/components/{CollectionTableDragAndDropContext/CollectionTableDragAndDropContext.js → TableDragAndDropContext/TableDragAndDropContext.js} +7 -18
- package/dist/esm/components/TableDragAndDropContext/TableDragAndDropContext.js.map +1 -0
- package/dist/esm/components/TableDragAndDropContext/index.js +2 -0
- package/dist/esm/components/TableDragAndDropContext/index.js.map +1 -0
- package/dist/esm/components/TableSkeleton/TableSkeleton.js +3 -1
- package/dist/esm/components/TableSkeleton/TableSkeleton.js.map +1 -1
- 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/ToolbarCollection/useToolbarCollectionSyncProps.js +1 -2
- package/dist/esm/components/ToolbarCollection/useToolbarCollectionSyncProps.js.map +1 -1
- 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/components/common.st.css.js.map +1 -1
- package/dist/esm/hooks/index.js +0 -1
- package/dist/esm/hooks/index.js.map +1 -1
- package/dist/esm/hooks/useColumnsSyncProps.js +8 -2
- package/dist/esm/hooks/useColumnsSyncProps.js.map +1 -1
- package/dist/esm/index.js +1 -1
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/state/CustomColumnsDragAndDropState.js +14 -4
- package/dist/esm/state/CustomColumnsDragAndDropState.js.map +1 -1
- package/dist/esm/state/CustomColumnsState.js +1 -0
- package/dist/esm/state/CustomColumnsState.js.map +1 -1
- package/dist/esm/state/GridBaseState.js +30 -8
- package/dist/esm/state/GridBaseState.js.map +1 -1
- package/dist/esm/state/GridFoldersState.js +2 -0
- package/dist/esm/state/GridFoldersState.js.map +1 -1
- package/dist/esm/state/MultiLevelSortingDragAndDrop.js +13 -1
- package/dist/esm/state/MultiLevelSortingDragAndDrop.js.map +1 -1
- package/dist/esm/state/MultiLevelSortingState.js +1 -0
- package/dist/esm/state/MultiLevelSortingState.js.map +1 -1
- package/dist/esm/state/NestedTableState/NestedTableNestedModeState.js +1 -0
- package/dist/esm/state/NestedTableState/NestedTableNestedModeState.js.map +1 -1
- package/dist/esm/state/ResponsiveColumnsState.js +6 -6
- package/dist/esm/state/ResponsiveColumnsState.js.map +1 -1
- package/dist/esm/state/TableState.js +3 -9
- package/dist/esm/state/TableState.js.map +1 -1
- package/dist/esm/state/ToolbarCollectionState.js +0 -2
- package/dist/esm/state/ToolbarCollectionState.js.map +1 -1
- package/dist/esm/state/initCustomColumns.js +3 -1
- package/dist/esm/state/initCustomColumns.js.map +1 -1
- package/dist/esm/styles.global.css +1 -1
- package/dist/esm/version.js +1 -1
- package/dist/types/components/Collapse/Collapse.st.css.d.ts.map +1 -1
- package/dist/types/components/CollectionItemActions/CollectionItemActions.d.ts.map +1 -1
- package/dist/types/components/CollectionItemActions/CollectionItemActionsHelper.d.ts +1 -1
- package/dist/types/components/CollectionItemActions/CollectionItemActionsHelper.d.ts.map +1 -1
- package/dist/types/components/CollectionToolbar/CollectionToolbar.st.css.d.ts.map +1 -1
- package/dist/types/components/CustomColumnsPanel/CustomColumnsPanelEntry.d.ts.map +1 -1
- package/dist/types/components/DragAndDrop/CollectionDragAndDropState.d.ts +4 -4
- package/dist/types/components/DragAndDrop/CollectionDragAndDropState.d.ts.map +1 -1
- package/dist/types/components/DragAndDrop/DragAndDropState.d.ts +8 -6
- package/dist/types/components/DragAndDrop/DragAndDropState.d.ts.map +1 -1
- package/dist/types/components/DragAndDrop/TableDragAndDropState.d.ts +2 -3
- package/dist/types/components/DragAndDrop/TableDragAndDropState.d.ts.map +1 -1
- package/dist/types/components/DragHandle/DragHandle.st.css.d.ts.map +1 -1
- package/dist/types/components/ExtensionMenuItems/ExtensionMenuItems.d.ts +1 -1
- package/dist/types/components/ExtensionMenuItems/ExtensionMenuItems.d.ts.map +1 -1
- package/dist/types/components/Grid/Grid.d.ts +4 -3
- package/dist/types/components/Grid/Grid.d.ts.map +1 -1
- package/dist/types/components/Grid/Grid.uni.driver.d.ts +7 -4
- package/dist/types/components/Grid/Grid.uni.driver.d.ts.map +1 -1
- package/dist/types/components/Grid/GridContent.d.ts +7 -3
- package/dist/types/components/Grid/GridContent.d.ts.map +1 -1
- package/dist/types/components/Grid/GridFolders.uni.driver.d.ts +4 -2
- package/dist/types/components/Grid/GridFolders.uni.driver.d.ts.map +1 -1
- package/dist/types/components/Grid/GridFoldersSection.uni.driver.d.ts +2 -1
- package/dist/types/components/Grid/GridFoldersSection.uni.driver.d.ts.map +1 -1
- package/dist/types/components/Grid/GridFoldersSectionsGroup.d.ts +2 -2
- package/dist/types/components/Grid/GridFoldersSectionsGroup.d.ts.map +1 -1
- package/dist/types/components/Grid/GridItem.d.ts +2 -2
- package/dist/types/components/Grid/GridItem.d.ts.map +1 -1
- package/dist/types/components/Grid/GridSingleGridContent.d.ts.map +1 -1
- package/dist/types/components/Grid/renderFolderItem.d.ts +2 -2
- package/dist/types/components/Grid/renderFolderItem.d.ts.map +1 -1
- package/dist/types/components/Grid/useGridBaseSyncProps.d.ts +4 -3
- package/dist/types/components/Grid/useGridBaseSyncProps.d.ts.map +1 -1
- package/dist/types/components/Grid/{toGridItemActions.d.ts → useGridItemActions.d.ts} +2 -2
- package/dist/types/components/Grid/useGridItemActions.d.ts.map +1 -0
- package/dist/types/components/Grid/useRenderItem.d.ts +2 -2
- package/dist/types/components/Grid/useRenderItem.d.ts.map +1 -1
- package/dist/types/components/GridDragAndDropDndKit/GridDragAndDrop.d.ts +22 -2
- package/dist/types/components/GridDragAndDropDndKit/GridDragAndDrop.d.ts.map +1 -1
- package/dist/types/components/GridDragAndDropDndKit/GridSortableContext.d.ts +10 -3
- package/dist/types/components/GridDragAndDropDndKit/GridSortableContext.d.ts.map +1 -1
- package/dist/types/components/GridSections/GridSectionAndRepeater.d.ts.map +1 -1
- package/dist/types/components/GridSections/GridSectionHeader.d.ts.map +1 -1
- package/dist/types/components/GridSections/GridSectionsContent.d.ts.map +1 -1
- package/dist/types/components/GridSections/GridSectionsSectionState.d.ts +3 -1
- package/dist/types/components/GridSections/GridSectionsSectionState.d.ts.map +1 -1
- package/dist/types/components/GridSections/GridSectionsSingleSkeletonGrid.d.ts +17 -0
- package/dist/types/components/GridSections/GridSectionsSingleSkeletonGrid.d.ts.map +1 -0
- package/dist/types/components/Heading/Heading.st.css.d.ts.map +1 -1
- package/dist/types/components/InputOverflow/InputOverflow.st.css.d.ts.map +1 -1
- package/dist/types/components/ListDragAndDrop/ListDragAndDropContext.d.ts +4 -2
- package/dist/types/components/ListDragAndDrop/ListDragAndDropContext.d.ts.map +1 -1
- package/dist/types/components/MaxHeightText/MaxHeightText.st.css.d.ts.map +1 -1
- package/dist/types/components/MaxLines/MaxLines.st.css.d.ts.map +1 -1
- package/dist/types/components/MultiBulkActionToolbar/MultiBulkActionToolbar.d.ts.map +1 -1
- package/dist/types/components/MultiBulkActionToolbar/MultiBulkActionToolbarState.d.ts +2 -2
- package/dist/types/components/MultiBulkActionToolbar/MultiBulkActionToolbarState.d.ts.map +1 -1
- package/dist/types/components/MultiLevelSorting/MultiLevelSortingCTAButton.d.ts.map +1 -1
- package/dist/types/components/NestedTable/NestedTable.d.ts +1 -1
- package/dist/types/components/NestedTable/NestedTable.d.ts.map +1 -1
- package/dist/types/components/NestedTable/NestedTableWSRTable.d.ts +1 -1
- package/dist/types/components/NestedTable/NestedTableWSRTable.d.ts.map +1 -1
- package/dist/types/components/{NestedTableDragAndDrop.d.ts → NestedTableDragAndDrop/NestedTableDragAndDrop.d.ts} +10 -1
- package/dist/types/components/NestedTableDragAndDrop/NestedTableDragAndDrop.d.ts.map +1 -0
- package/dist/types/components/{CollectionTableDragAndDropContext/CollectionNestedTableDragAndDropContext.d.ts → NestedTableDragAndDrop/NestedTableDragAndDropContext.d.ts} +4 -4
- package/dist/types/components/NestedTableDragAndDrop/NestedTableDragAndDropContext.d.ts.map +1 -0
- package/dist/types/components/{DragAndDrop → NestedTableDragAndDrop}/NestedTableDragAndDropState.d.ts +7 -5
- package/dist/types/components/NestedTableDragAndDrop/NestedTableDragAndDropState.d.ts.map +1 -0
- package/dist/types/components/PageWrapper/PageWrapperBase.d.ts.map +1 -1
- package/dist/types/components/PickerContent/PickerContent.st.css.d.ts.map +1 -1
- package/dist/types/components/SkeletonGrid/SkeletonGrid.d.ts.map +1 -1
- package/dist/types/components/Table/useTableSyncProps.d.ts.map +1 -1
- package/dist/types/components/TableDragAndDrop.d.ts +11 -2
- package/dist/types/components/TableDragAndDrop.d.ts.map +1 -1
- package/dist/types/components/{CollectionTableDragAndDropContext/CollectionTableDragAndDropContext.d.ts → TableDragAndDropContext/TableDragAndDropContext.d.ts} +4 -4
- package/dist/types/components/TableDragAndDropContext/TableDragAndDropContext.d.ts.map +1 -0
- package/dist/types/components/TableDragAndDropContext/index.d.ts +2 -0
- package/dist/types/components/TableDragAndDropContext/index.d.ts.map +1 -0
- package/dist/types/components/TableGridSwitch/TableGridSwitch.uni.driver.d.ts +2 -1
- package/dist/types/components/TableGridSwitch/TableGridSwitch.uni.driver.d.ts.map +1 -1
- package/dist/types/components/TableGridSwitch/TableGridSwitchDragAndDrop.d.ts +18 -1
- package/dist/types/components/TableGridSwitch/TableGridSwitchDragAndDrop.d.ts.map +1 -1
- package/dist/types/components/TableGridSwitchFolders/TableGridSwitchFolders.uni.driver.d.ts +4 -2
- package/dist/types/components/TableGridSwitchFolders/TableGridSwitchFolders.uni.driver.d.ts.map +1 -1
- package/dist/types/components/TableSkeleton/TableSkeleton.d.ts.map +1 -1
- package/dist/types/components/ToolbarCollection/ToolbarCollection.d.ts +1 -1
- package/dist/types/components/ToolbarCollection/useToolbarCollectionSyncProps.d.ts.map +1 -1
- package/dist/types/components/ToolbarItemBox/ToolbarItemBox.st.css.d.ts.map +1 -1
- package/dist/types/components/common.st.css.d.ts.map +1 -1
- package/dist/types/hooks/index.d.ts +0 -1
- package/dist/types/hooks/index.d.ts.map +1 -1
- package/dist/types/hooks/useColumnsSyncProps.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/CustomColumnsDragAndDropState.d.ts +7 -3
- package/dist/types/state/CustomColumnsDragAndDropState.d.ts.map +1 -1
- package/dist/types/state/CustomColumnsState.d.ts +4 -1
- package/dist/types/state/CustomColumnsState.d.ts.map +1 -1
- package/dist/types/state/GridBaseState.d.ts +9 -3
- package/dist/types/state/GridBaseState.d.ts.map +1 -1
- package/dist/types/state/GridFoldersState.d.ts.map +1 -1
- package/dist/types/state/MultiLevelSortingDragAndDrop.d.ts +7 -1
- package/dist/types/state/MultiLevelSortingDragAndDrop.d.ts.map +1 -1
- package/dist/types/state/MultiLevelSortingState.d.ts +4 -1
- package/dist/types/state/MultiLevelSortingState.d.ts.map +1 -1
- package/dist/types/state/NestedTableState/NestedTableNestedModeState.d.ts +2 -0
- package/dist/types/state/NestedTableState/NestedTableNestedModeState.d.ts.map +1 -1
- package/dist/types/state/ResponsiveColumnsState.d.ts +7 -3
- package/dist/types/state/ResponsiveColumnsState.d.ts.map +1 -1
- package/dist/types/state/TableState.d.ts +3 -8
- package/dist/types/state/TableState.d.ts.map +1 -1
- package/dist/types/state/ToolbarCollectionState.d.ts +1 -3
- package/dist/types/state/ToolbarCollectionState.d.ts.map +1 -1
- package/dist/types/state/initCustomColumns.d.ts +8 -2
- package/dist/types/state/initCustomColumns.d.ts.map +1 -1
- package/dist/types/testkit/enzyme.d.ts +12 -6
- package/dist/types/testkit/enzyme.d.ts.map +1 -1
- package/dist/types/testkit/jsdom.d.ts +12 -6
- package/dist/types/testkit/jsdom.d.ts.map +1 -1
- package/dist/types/testkit/puppeteer.d.ts +12 -6
- package/dist/types/testkit/puppeteer.d.ts.map +1 -1
- package/dist/types/version.d.ts +1 -1
- package/package.json +3 -3
- package/dist/cjs/components/CollectionTableDragAndDropContext/CollectionNestedTableDragAndDropContext.js.map +0 -1
- package/dist/cjs/components/CollectionTableDragAndDropContext/CollectionTableDragAndDropContext.js.map +0 -1
- package/dist/cjs/components/CollectionTableDragAndDropContext/index.js +0 -11
- package/dist/cjs/components/CollectionTableDragAndDropContext/index.js.map +0 -1
- package/dist/cjs/components/DragAndDrop/NestedDragAndDropState.js +0 -83
- package/dist/cjs/components/DragAndDrop/NestedDragAndDropState.js.map +0 -1
- package/dist/cjs/components/DragAndDrop/NestedTableDragAndDropState.js +0 -51
- package/dist/cjs/components/DragAndDrop/NestedTableDragAndDropState.js.map +0 -1
- package/dist/cjs/components/Grid/toGridItemActions.js.map +0 -1
- package/dist/cjs/components/NestedTableDragAndDrop.js +0 -18
- package/dist/cjs/components/NestedTableDragAndDrop.js.map +0 -1
- package/dist/esm/components/CollectionTableDragAndDropContext/CollectionNestedTableDragAndDropContext.js.map +0 -1
- package/dist/esm/components/CollectionTableDragAndDropContext/CollectionTableDragAndDropContext.js.map +0 -1
- package/dist/esm/components/CollectionTableDragAndDropContext/index.js +0 -3
- package/dist/esm/components/CollectionTableDragAndDropContext/index.js.map +0 -1
- package/dist/esm/components/DragAndDrop/NestedDragAndDropState.js +0 -60
- package/dist/esm/components/DragAndDrop/NestedDragAndDropState.js.map +0 -1
- package/dist/esm/components/DragAndDrop/NestedTableDragAndDropState.js +0 -31
- package/dist/esm/components/DragAndDrop/NestedTableDragAndDropState.js.map +0 -1
- package/dist/esm/components/Grid/toGridItemActions.js.map +0 -1
- package/dist/esm/components/NestedTableDragAndDrop.js +0 -11
- package/dist/esm/components/NestedTableDragAndDrop.js.map +0 -1
- package/dist/types/components/CollectionTableDragAndDropContext/CollectionNestedTableDragAndDropContext.d.ts.map +0 -1
- package/dist/types/components/CollectionTableDragAndDropContext/CollectionTableDragAndDropContext.d.ts.map +0 -1
- package/dist/types/components/CollectionTableDragAndDropContext/index.d.ts +0 -3
- package/dist/types/components/CollectionTableDragAndDropContext/index.d.ts.map +0 -1
- package/dist/types/components/DragAndDrop/NestedDragAndDropState.d.ts +0 -17
- package/dist/types/components/DragAndDrop/NestedDragAndDropState.d.ts.map +0 -1
- package/dist/types/components/DragAndDrop/NestedTableDragAndDropState.d.ts.map +0 -1
- package/dist/types/components/Grid/toGridItemActions.d.ts.map +0 -1
- package/dist/types/components/NestedTableDragAndDrop.d.ts.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_mobx","require","_RectState","_ResponsiveColumnsState","GridBaseState","constructor","params","_params$range","_params$range2","_defineProperty2","default","undefined","origin","toolbar","toolbarBIReporter","onAddItemClick","items","onAddItemActionComplete","container","collection","parentState","_containerRectState","RectState","_responsiveColumnsState","ResponsiveColumnsState","gap","minItemWidth","rectState","sizePreset","_localLimit","range","length","_localStart","start","makeObservable","_dnd","observable","ref","trailingItemsCount","forceRenderIndexes","preset","_draggable","draggable","computed","itemsToRenderCount","itemsToRender","rowCount","isInteracting","calcGridProps","columnsCount","_sizeProps","itemKeyRecyclerOverride","itemsContentWidth","imagePlacement","aspectRatio","footerHeights","_this$_dnd","isDisabled","window","result","keyedItems","itemsCount","Math","min","fetchedLastPage","floor","reportBi","columnCount","containerRect","ceil","_this$_dnd2","_this$_dnd3","isActive","isDropping","Array","fill","getItemRenderTypeAt","index","indexInCollection","errorMonitor","width","widthWithLastColumnGap","widthWithoutGaps","columnWidth","cardFooterSize","cardFooterHeight","cardTopImageHeight","rowHeight","columnWidthIncludingGap","rowHeightIncludingGap","rowHeightFixed","itemsContentHeight","overscanCount","round","getCollectionSnapshot","_keyedItems$index","key","dragAndDropCategories","listAttributes","_this$_dnd4","nullAnnouncements","role","_subscribe","_subGrids","push","i","indexOf","splice","init","exports"],"sources":["../../../src/state/GridBaseState.ts"],"sourcesContent":["import {\n WixPatternsContainer,\n CollectionState,\n FiltersMap,\n} from '@wix/bex-core';\nimport { computed, makeObservable, observable } from 'mobx';\nimport {\n ToolbarCollectionState,\n ToolbarCollectionStateParamsInitParams,\n} from './ToolbarCollectionState';\nimport { DragAndDropState } from '../components/DragAndDrop';\nimport { RectState } from './RectState';\nimport { GridSizePreset } from './gridSizePresets';\nimport { ResponsiveColumnsState } from './ResponsiveColumnsState';\n\nexport interface GridBaseStateParams<T, F extends FiltersMap> {\n readonly collection: CollectionState<T, F>;\n readonly container: WixPatternsContainer;\n readonly toolbar: ToolbarCollectionState<any, Partial<F>>;\n readonly sizePreset: GridSizePreset;\n readonly range?: { start: number; length: number };\n readonly parentState: {\n _subGrids?: GridBaseState<T, F>[];\n };\n}\n\nexport interface GridBaseStateInitParams\n extends ToolbarCollectionStateParamsInitParams {}\n\nexport class GridBaseState<T, F extends FiltersMap> {\n readonly toolbar;\n readonly container;\n readonly collection;\n readonly _containerRectState;\n readonly _responsiveColumnsState;\n readonly parentState;\n sizePreset;\n\n trailingItemsCount = 0;\n minItemWidth = 196;\n gap = 24;\n smallCardWidthThreshold = 200;\n preset: 'full' | 'title' | 'empty' = 'title';\n _draggable: 'none' | 'draggable' = 'none';\n _localLimit: number | null | undefined;\n _localStart: number;\n _dnd?: DragAndDropState<T, F> | null = null;\n forceRenderIndexes: { rowIndex: number; columnIndex: number }[] | undefined =\n undefined;\n\n constructor(params: GridBaseStateParams<T, F>) {\n this.container = params.container;\n this.collection = params.collection;\n this.parentState = params.parentState;\n this._containerRectState = new RectState({\n container: this.container,\n });\n this.toolbar = params.toolbar as ToolbarCollectionState<\n unknown,\n Partial<F>\n >;\n this._responsiveColumnsState = new ResponsiveColumnsState({\n gap: this.gap,\n minItemWidth: this.minItemWidth,\n rectState: this._containerRectState,\n });\n this.sizePreset = params.sizePreset;\n this._localLimit = params.range?.length;\n this._localStart = params.range?.start ?? 0;\n\n makeObservable(this, {\n _dnd: observable.ref,\n trailingItemsCount: observable.ref,\n forceRenderIndexes: observable.ref,\n preset: observable.ref,\n _draggable: observable.ref,\n draggable: computed,\n itemsToRenderCount: computed,\n itemsToRender: computed,\n rowCount: computed,\n isInteracting: computed,\n calcGridProps: computed,\n columnsCount: computed,\n _sizeProps: computed,\n itemKeyRecyclerOverride: computed,\n _localLimit: observable.ref,\n _localStart: observable.ref,\n itemsContentWidth: computed,\n sizePreset: observable.ref,\n });\n }\n\n get imagePlacement() {\n return this.sizePreset.imagePlacement;\n }\n\n get aspectRatio() {\n return this.sizePreset.aspectRatio;\n }\n\n get footerHeights() {\n return this.sizePreset.footerHeights;\n }\n\n get itemsContentWidth() {\n return this._responsiveColumnsState.itemsContentWidth;\n }\n\n get draggable() {\n if (this._dnd?.isDisabled) {\n return 'none' as const;\n }\n return this._draggable;\n }\n\n get window() {\n return this.container.window;\n }\n\n get itemsToRenderCount() {\n const { collection, trailingItemsCount, _localLimit, _localStart } = this;\n const {\n result: { keyedItems },\n } = collection;\n\n const itemsCount =\n _localLimit != null\n ? Math.min(_localLimit, keyedItems.length)\n : keyedItems.length;\n\n return collection.fetchedLastPage ||\n (_localLimit != null && _localStart + _localLimit < keyedItems.length)\n ? itemsCount + trailingItemsCount\n : itemsCount - Math.floor(itemsCount % this.columnsCount);\n }\n\n get reportBi() {\n return this.toolbar.reportBi;\n }\n\n get columnsCount() {\n return this.calcGridProps.columnCount;\n }\n\n get containerRect() {\n return this.toolbar.containerRect;\n }\n\n get rowCount() {\n const { itemsToRenderCount, columnsCount } = this;\n\n return Math.ceil(itemsToRenderCount / columnsCount);\n }\n\n get isInteracting() {\n return this._dnd?.isActive || this._dnd?.isDropping;\n }\n\n get itemsToRender(): null[] {\n const { itemsToRenderCount } = this;\n return new Array(itemsToRenderCount).fill(null);\n }\n\n getItemRenderTypeAt(index: number) {\n const { collection, itemsToRenderCount, _localStart } = this;\n const {\n result: { keyedItems },\n } = collection;\n\n if (index >= itemsToRenderCount) {\n return null;\n }\n\n const indexInCollection = index + _localStart;\n\n if (indexInCollection >= keyedItems.length) {\n return 'trailing';\n }\n\n return keyedItems[indexInCollection];\n }\n\n get errorMonitor() {\n return this.container.errorMonitor;\n }\n\n get _sizeProps() {\n const {\n aspectRatio,\n preset,\n draggable,\n _responsiveColumnsState: {\n gap,\n columnCount,\n itemsContentWidth: width,\n widthWithLastColumnGap,\n },\n } = this;\n\n const widthWithoutGaps = width - (columnCount - 1) * gap;\n const columnWidth = widthWithoutGaps / columnCount;\n\n const cardFooterSize = 'small' as const;\n\n const cardFooterHeight =\n this.footerHeights[preset][draggable][cardFooterSize];\n const cardTopImageHeight = columnWidth * aspectRatio;\n const rowHeight = cardTopImageHeight + cardFooterHeight + 1;\n\n const columnWidthIncludingGap = widthWithLastColumnGap / columnCount;\n const rowHeightIncludingGap = rowHeight + gap;\n\n return {\n columnCount,\n columnWidth: () => columnWidth,\n columnWidthIncludingGap: () => columnWidthIncludingGap,\n rowHeight: () => rowHeight,\n rowHeightFixed: rowHeight,\n cardTopImageHeight,\n rowHeightIncludingGap: () => rowHeightIncludingGap,\n cardFooterHeight,\n cardFooterSize,\n };\n }\n\n get calcGridProps() {\n const {\n toolbar: { itemsContentHeight },\n _sizeProps: { rowHeightFixed },\n } = this;\n\n const overscanCount = Math.round(\n (itemsContentHeight / rowHeightFixed) * 1.5,\n );\n\n return {\n ...this._sizeProps,\n overscanCount,\n };\n }\n\n get getCollectionSnapshot() {\n return this.toolbar.getCollectionSnapshot;\n }\n\n onAddItemClick = (origin?: string) => {\n this.toolbar.toolbarBIReporter.onAddItemClick(origin);\n };\n\n onAddItemActionComplete = async (items: T[]) => {\n return this.toolbar.onAddItemActionComplete(items);\n };\n\n get itemKeyRecyclerOverride() {\n const { collection } = this;\n const {\n result: { keyedItems },\n } = collection;\n return (index: number) => {\n return keyedItems[index]?.key ?? index;\n };\n }\n\n get dragAndDropCategories() {\n return this.toolbar.dragAndDropCategories;\n }\n\n get listAttributes() {\n return {\n ...this._dnd?.nullAnnouncements.listAttributes?.(),\n role: 'list',\n };\n }\n\n _subscribe() {\n const {\n parentState: { _subGrids },\n } = this;\n\n if (!_subGrids) {\n return;\n }\n\n _subGrids.push(this);\n\n return () => {\n const i = _subGrids.indexOf(this);\n i !== -1 && _subGrids.splice(i, 1);\n };\n }\n\n init() {\n return this._subscribe();\n }\n}\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["_mobx","require","_RectState","_ResponsiveColumnsState","GridBaseState","_dnd","_this$collectionDragA","collectionDragAndDropState","dnd","constructor","params","_params$range","_params$range2","_defineProperty2","default","undefined","origin","toolbar","toolbarBIReporter","onAddItemClick","items","onAddItemActionComplete","container","collection","parentState","layoutType","_containerRectState","RectState","_draggable","draggable","_responsiveColumnsState","ResponsiveColumnsState","gridState","minItemWidth","rectState","sizePreset","_localLimit","range","length","_localStart","start","makeObservable","trailingItemsCount","observable","ref","forceRenderIndexes","preset","computed","itemsToRenderCount","itemsToRender","rowCount","isInteracting","calcGridProps","columnsCount","_sizeProps","itemKeyRecyclerOverride","itemsContentWidth","containerPaddingTop","gap","imagePlacement","contentPadding","aspectRatio","footerHeights","_this$_dnd","isDisabled","window","result","keyedItems","itemsCount","Math","min","fetchedLastPage","floor","reportBi","columnCount","containerRect","ceil","_this$_dnd2","_this$_dnd3","isActive","isDropping","Array","fill","getItemRenderTypeAt","index","indexInCollection","errorMonitor","responsiveColumnCount","width","widthWithLastColumnGap","widthWithoutGaps","columnWidth","cardFooterSize","cardFooterHeight","cardTopImageHeight","rowHeight","columnWidthIncludingGap","rowHeightIncludingGap","rowHeightFixed","itemsContentHeight","overscanCount","round","getCollectionSnapshot","_keyedItems$index","key","dragAndDropCategories","listAttributes","_this$_dnd4","nullAnnouncements","role","_subscribe","_subGrids","push","i","indexOf","splice","init","exports"],"sources":["../../../src/state/GridBaseState.ts"],"sourcesContent":["import {\n WixPatternsContainer,\n CollectionState,\n FiltersMap,\n} from '@wix/bex-core';\nimport { computed, makeObservable, observable } from 'mobx';\nimport {\n ToolbarCollectionState,\n ToolbarCollectionStateParamsInitParams,\n} from './ToolbarCollectionState';\nimport { CollectionDragAndDropState } from '../components/DragAndDrop';\nimport { RectState } from './RectState';\nimport { GridSizePreset } from './gridSizePresets';\nimport { ResponsiveColumnsState } from './ResponsiveColumnsState';\n\nexport type LayoutType = 'grid' | 'list';\n\nexport interface GridBaseStateParams<T, F extends FiltersMap> {\n readonly collection: CollectionState<T, F>;\n readonly container: WixPatternsContainer;\n readonly toolbar: ToolbarCollectionState<any, Partial<F>>;\n readonly sizePreset: GridSizePreset;\n readonly range?: { start: number; length: number };\n readonly layoutType: LayoutType | undefined;\n readonly parentState: {\n _subGrids?: GridBaseState<T, F>[];\n };\n readonly draggable?: 'none' | 'draggable';\n}\n\nexport interface GridBaseStateInitParams\n extends ToolbarCollectionStateParamsInitParams {}\n\nexport class GridBaseState<T, F extends FiltersMap> {\n readonly toolbar;\n readonly container;\n readonly collection;\n readonly _containerRectState;\n readonly _responsiveColumnsState;\n readonly parentState;\n sizePreset;\n layoutType;\n\n trailingItemsCount = 0;\n minItemWidth = 196;\n smallCardWidthThreshold = 200;\n preset: 'full' | 'title' | 'empty' = 'title';\n _draggable: 'none' | 'draggable' = 'none';\n _localLimit: number | null | undefined;\n _localStart: number;\n forceRenderIndexes: { rowIndex: number; columnIndex: number }[] | undefined =\n undefined;\n\n collectionDragAndDropState: CollectionDragAndDropState<T, F> | null = null;\n\n get _dnd() {\n return this.collectionDragAndDropState?.dnd;\n }\n\n constructor(params: GridBaseStateParams<T, F>) {\n this.container = params.container;\n this.collection = params.collection;\n this.parentState = params.parentState;\n this.layoutType = params.layoutType ?? 'grid';\n this._containerRectState = new RectState({\n container: this.container,\n });\n this._draggable = params.draggable ?? 'none';\n this.toolbar = params.toolbar as ToolbarCollectionState<\n unknown,\n Partial<F>\n >;\n this._responsiveColumnsState = new ResponsiveColumnsState({\n gridState: this,\n minItemWidth: this.minItemWidth,\n rectState: this._containerRectState,\n });\n this.sizePreset = params.sizePreset;\n this._localLimit = params.range?.length;\n this._localStart = params.range?.start ?? 0;\n\n makeObservable(this, {\n trailingItemsCount: observable.ref,\n forceRenderIndexes: observable.ref,\n preset: observable.ref,\n _draggable: observable.ref,\n draggable: computed,\n itemsToRenderCount: computed,\n itemsToRender: computed,\n rowCount: computed,\n isInteracting: computed,\n calcGridProps: computed,\n columnsCount: computed,\n _sizeProps: computed,\n itemKeyRecyclerOverride: computed,\n _localLimit: observable.ref,\n _localStart: observable.ref,\n itemsContentWidth: computed,\n containerPaddingTop: computed,\n gap: computed,\n sizePreset: observable.ref,\n layoutType: observable.ref,\n });\n }\n\n get imagePlacement() {\n return this.sizePreset.imagePlacement;\n }\n\n get gap() {\n const { layoutType } = this;\n if (layoutType === 'list') {\n return 12;\n }\n\n return 24;\n }\n\n get containerPaddingTop() {\n const { layoutType } = this;\n if (layoutType === 'list') {\n return 0;\n }\n\n return this.toolbar.contentPadding;\n }\n\n get aspectRatio() {\n return this.sizePreset.aspectRatio;\n }\n\n get footerHeights() {\n return this.sizePreset.footerHeights;\n }\n\n get itemsContentWidth() {\n return this._responsiveColumnsState.itemsContentWidth;\n }\n\n get draggable() {\n if (this._dnd?.isDisabled) {\n return 'none' as const;\n }\n return this._draggable;\n }\n\n get window() {\n return this.container.window;\n }\n\n get itemsToRenderCount() {\n const { collection, trailingItemsCount, _localLimit, _localStart } = this;\n const {\n result: { keyedItems },\n } = collection;\n\n const itemsCount =\n _localLimit != null\n ? Math.min(_localLimit, keyedItems.length)\n : keyedItems.length;\n\n return collection.fetchedLastPage ||\n (_localLimit != null && _localStart + _localLimit < keyedItems.length)\n ? itemsCount + trailingItemsCount\n : itemsCount - Math.floor(itemsCount % this.columnsCount);\n }\n\n get reportBi() {\n return this.toolbar.reportBi;\n }\n\n get columnsCount() {\n return this.calcGridProps.columnCount;\n }\n\n get containerRect() {\n return this.toolbar.containerRect;\n }\n\n get rowCount() {\n const { itemsToRenderCount, columnsCount } = this;\n\n return Math.ceil(itemsToRenderCount / columnsCount);\n }\n\n get isInteracting() {\n return this._dnd?.isActive || this._dnd?.isDropping;\n }\n\n get itemsToRender(): null[] {\n const { itemsToRenderCount } = this;\n return new Array(itemsToRenderCount).fill(null);\n }\n\n getItemRenderTypeAt(index: number) {\n const { collection, itemsToRenderCount, _localStart } = this;\n const {\n result: { keyedItems },\n } = collection;\n\n if (index >= itemsToRenderCount) {\n return null;\n }\n\n const indexInCollection = index + _localStart;\n\n if (indexInCollection >= keyedItems.length) {\n return 'trailing';\n }\n\n return keyedItems[indexInCollection];\n }\n\n get errorMonitor() {\n return this.container.errorMonitor;\n }\n\n get _sizeProps() {\n const {\n aspectRatio,\n preset,\n draggable,\n _responsiveColumnsState: {\n gap,\n columnCount: responsiveColumnCount,\n itemsContentWidth: width,\n widthWithLastColumnGap,\n },\n layoutType,\n } = this;\n\n const columnCount = layoutType === 'list' ? 1 : responsiveColumnCount;\n\n const widthWithoutGaps = width - (columnCount - 1) * gap;\n const columnWidth = widthWithoutGaps / columnCount;\n\n const cardFooterSize = 'small' as const;\n\n const cardFooterHeight =\n this.footerHeights[preset][draggable][cardFooterSize];\n const cardTopImageHeight = columnWidth * aspectRatio;\n const rowHeight = cardTopImageHeight + cardFooterHeight + 1;\n\n const columnWidthIncludingGap = widthWithLastColumnGap / columnCount;\n const rowHeightIncludingGap = rowHeight + gap;\n\n return {\n columnCount,\n columnWidth: () => columnWidth,\n columnWidthIncludingGap: () => columnWidthIncludingGap,\n rowHeight: () => rowHeight,\n rowHeightFixed: rowHeight,\n cardTopImageHeight,\n rowHeightIncludingGap: () => rowHeightIncludingGap,\n cardFooterHeight,\n cardFooterSize,\n };\n }\n\n get calcGridProps() {\n const {\n toolbar: { itemsContentHeight },\n _sizeProps: { rowHeightFixed },\n } = this;\n\n const overscanCount = Math.round(\n (itemsContentHeight / rowHeightFixed) * 1.5,\n );\n\n return {\n ...this._sizeProps,\n overscanCount,\n };\n }\n\n get getCollectionSnapshot() {\n return this.toolbar.getCollectionSnapshot;\n }\n\n onAddItemClick = (origin?: string) => {\n this.toolbar.toolbarBIReporter.onAddItemClick(origin);\n };\n\n onAddItemActionComplete = async (items: T[]) => {\n return this.toolbar.onAddItemActionComplete(items);\n };\n\n get itemKeyRecyclerOverride() {\n const { collection } = this;\n const {\n result: { keyedItems },\n } = collection;\n return (index: number) => {\n return keyedItems[index]?.key ?? index;\n };\n }\n\n get dragAndDropCategories() {\n return this.toolbar.dragAndDropCategories;\n }\n\n get listAttributes() {\n return {\n ...this._dnd?.nullAnnouncements.listAttributes?.(),\n role: 'list',\n };\n }\n\n _subscribe() {\n const {\n parentState: { _subGrids },\n } = this;\n\n if (!_subGrids) {\n return;\n }\n\n _subGrids.push(this);\n\n return () => {\n const i = _subGrids.indexOf(this);\n i !== -1 && _subGrids.splice(i, 1);\n };\n }\n\n init() {\n return this._subscribe();\n }\n}\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -40,14 +40,16 @@ class GridFoldersState {
|
|
|
40
40
|
container: params.container,
|
|
41
41
|
toolbar: this.toolbar,
|
|
42
42
|
sizePreset: _gridSizePresets.topGridSizePreset,
|
|
43
|
-
parentState: this
|
|
43
|
+
parentState: this,
|
|
44
|
+
layoutType: 'grid'
|
|
44
45
|
});
|
|
45
46
|
this.folders = new _GridBaseState.GridBaseState({
|
|
46
47
|
collection: params.folders,
|
|
47
48
|
container: params.container,
|
|
48
49
|
toolbar: this.toolbar,
|
|
49
50
|
sizePreset: _gridSizePresets.sideGridSizePreset,
|
|
50
|
-
parentState: this
|
|
51
|
+
parentState: this,
|
|
52
|
+
layoutType: 'grid'
|
|
51
53
|
});
|
|
52
54
|
this.bi = new _GridFoldersBIReporter.GridFoldersBIReporter({
|
|
53
55
|
state: this
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_GridBaseState","require","_mobx","_ToolbarCollectionState","_FoldersAndItemsCollectionsState","_gridSizePresets","_GridFoldersBIReporter","GridFoldersState","constructor","params","_defineProperty2","default","action","showAllFolders","bi","onToggleShowAllButtonClick","toolbar","retryErrorState","container","ToolbarCollectionState","collection","items","componentType","collections","FoldersAndItemsCollectionsState","GridBaseState","sizePreset","topGridSizePreset","parentState","folders","sideGridSizePreset","GridFoldersBIReporter","state","makeObservable","observable","ref","foldersLocalLimit","computed","effectiveFoldersLocalLimit","showToggleShowAllLessButton","showItemsSection","showItemsSectionHeader","showFoldersSection","showFoldersSectionHeader","showLoadingSection","columnsCount","result","size","isEmptyAndNotFetching","hasFoldersOnlyActiveFilters","fetchedLastPage","initTask","showErrorState","multi","errorStatus","showLoadingState","showEmptyState","hasAvailableItems","resultOriginQuerySearch","hasNonPersistentActiveFilters","hasItemsOnlyActiveFilters","isLoadingToolbarAndCollection","showInitialLoader","status","isLoading","isIdle","showRefreshLoader","init","disposers","reaction","_localLimit","fireImmediately","forEach","d","exports"],"sources":["../../../src/state/GridFoldersState.ts"],"sourcesContent":["import {\n WixPatternsContainer,\n CollectionState,\n FiltersMap,\n} from '@wix/bex-core';\nimport { GridBaseState } from './GridBaseState';\nimport { action, computed, makeObservable, observable, reaction } from 'mobx';\nimport { ToolbarCollectionState } from './ToolbarCollectionState';\nimport {\n FoldersAndItemsCollectionsState,\n FoldersAndItemsCollectionsStateInitParams,\n PartialAllFilters,\n} from './FoldersAndItemsCollectionsState';\nimport { sideGridSizePreset, topGridSizePreset } from './gridSizePresets';\nimport { GridFoldersBIReporter } from './GridFoldersBIReporter';\n\nexport interface GridFoldersStateParams<\n T1,\n F1 extends FiltersMap,\n T2,\n F2 extends FiltersMap,\n> {\n readonly items: CollectionState<T1, F1>;\n readonly folders: CollectionState<T2, F2>;\n readonly container: WixPatternsContainer;\n readonly toolbar?: ToolbarCollectionState<T1, PartialAllFilters<F1, F2>>;\n readonly collections?: FoldersAndItemsCollectionsState<T1, F1, T2, F2>;\n}\n\ninterface GridFoldersStateInitParams\n extends FoldersAndItemsCollectionsStateInitParams {}\n\nexport class GridFoldersState<\n T1,\n F1 extends FiltersMap,\n T2,\n F2 extends FiltersMap,\n> {\n readonly container;\n readonly toolbar;\n readonly items;\n readonly folders;\n readonly collections;\n readonly bi;\n\n readonly _subGrids = [] as GridBaseState<any, any>[];\n\n showAllFolders = false;\n\n constructor(params: GridFoldersStateParams<T1, F1, T2, F2>) {\n this.container = params.container;\n\n this.toolbar =\n params.toolbar ??\n new ToolbarCollectionState({\n collection: params.items as CollectionState<T1, {}> as CollectionState<\n T1,\n PartialAllFilters<F1, F2>\n >,\n container: params.container,\n componentType: 'GridFolders',\n });\n\n this.collections =\n params.collections ??\n new FoldersAndItemsCollectionsState({\n ...params,\n toolbar: this.toolbar,\n });\n\n this.items = new GridBaseState({\n collection: params.items,\n container: params.container,\n toolbar: this.toolbar as ToolbarCollectionState<unknown, Partial<F1>>,\n sizePreset: topGridSizePreset,\n parentState: this,\n });\n\n this.folders = new GridBaseState({\n collection: params.folders,\n container: params.container,\n toolbar: this.toolbar as ToolbarCollectionState<unknown, Partial<F2>>,\n sizePreset: sideGridSizePreset,\n parentState: this,\n });\n\n this.bi = new GridFoldersBIReporter({\n state: this,\n });\n\n makeObservable(this, {\n showAllFolders: observable.ref,\n foldersLocalLimit: computed,\n effectiveFoldersLocalLimit: computed,\n showToggleShowAllLessButton: computed,\n showItemsSection: computed,\n showItemsSectionHeader: computed,\n showFoldersSection: computed,\n showFoldersSectionHeader: computed,\n showLoadingSection: computed,\n });\n }\n\n toggleShowAllFolders = action(() => {\n this.showAllFolders = !this.showAllFolders;\n this.bi.onToggleShowAllButtonClick();\n });\n\n get foldersLocalLimit() {\n return this.folders.columnsCount * 2;\n }\n\n get effectiveFoldersLocalLimit() {\n return this.showAllFolders ? null : this.folders.columnsCount * 2;\n }\n\n get showToggleShowAllLessButton() {\n return this.collections.folders.result.size > this.foldersLocalLimit;\n }\n\n get showFoldersSectionHeader() {\n return this.showToggleShowAllLessButton || this.showItemsSection;\n }\n\n get showItemsSection() {\n return (\n !this.collections.items.result.isEmptyAndNotFetching &&\n !this.collections.hasFoldersOnlyActiveFilters &&\n (!this.showAllFolders || this.folders.collection.fetchedLastPage)\n );\n }\n\n get initTask() {\n return this.toolbar.initTask;\n }\n\n get showErrorState() {\n return this.toolbar.multi.showErrorState;\n }\n\n get errorStatus() {\n return this.toolbar.multi.errorStatus;\n }\n\n retryErrorState = action(() => this.toolbar.retryErrorState());\n\n get showLoadingState() {\n return this.toolbar.multi.showLoadingState;\n }\n\n get showEmptyState() {\n return this.collections.showEmptyState;\n }\n\n get hasAvailableItems() {\n return this.collections.hasAvailableItems;\n }\n\n get resultOriginQuerySearch() {\n return this.collections.resultOriginQuerySearch;\n }\n\n get hasNonPersistentActiveFilters() {\n return this.collections.hasNonPersistentActiveFilters;\n }\n\n get showItemsSectionHeader() {\n return this.showFoldersSection;\n }\n\n get showFoldersSection() {\n return (\n !this.collections.folders.result.isEmptyAndNotFetching &&\n !this.collections.hasItemsOnlyActiveFilters\n );\n }\n\n get showLoadingSection() {\n const {\n collections: { hasFoldersOnlyActiveFilters, hasItemsOnlyActiveFilters },\n toolbar: { initTask, multi },\n } = this;\n\n const isLoadingToolbarAndCollection = () =>\n (multi.showInitialLoader && initTask.status.isLoading) ||\n initTask.status.isIdle;\n\n return (\n !hasFoldersOnlyActiveFilters &&\n !hasItemsOnlyActiveFilters &&\n (multi.showRefreshLoader || isLoadingToolbarAndCollection())\n );\n }\n\n init(params: GridFoldersStateInitParams) {\n const disposers = [\n this.collections.init(params),\n reaction(\n () => this.effectiveFoldersLocalLimit,\n (effectiveFoldersLocalLimit) => {\n this.folders._localLimit = effectiveFoldersLocalLimit;\n },\n {\n fireImmediately: true,\n },\n ),\n ];\n\n return () => {\n disposers.forEach((d) => d());\n };\n }\n}\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["_GridBaseState","require","_mobx","_ToolbarCollectionState","_FoldersAndItemsCollectionsState","_gridSizePresets","_GridFoldersBIReporter","GridFoldersState","constructor","params","_defineProperty2","default","action","showAllFolders","bi","onToggleShowAllButtonClick","toolbar","retryErrorState","container","ToolbarCollectionState","collection","items","componentType","collections","FoldersAndItemsCollectionsState","GridBaseState","sizePreset","topGridSizePreset","parentState","layoutType","folders","sideGridSizePreset","GridFoldersBIReporter","state","makeObservable","observable","ref","foldersLocalLimit","computed","effectiveFoldersLocalLimit","showToggleShowAllLessButton","showItemsSection","showItemsSectionHeader","showFoldersSection","showFoldersSectionHeader","showLoadingSection","columnsCount","result","size","isEmptyAndNotFetching","hasFoldersOnlyActiveFilters","fetchedLastPage","initTask","showErrorState","multi","errorStatus","showLoadingState","showEmptyState","hasAvailableItems","resultOriginQuerySearch","hasNonPersistentActiveFilters","hasItemsOnlyActiveFilters","isLoadingToolbarAndCollection","showInitialLoader","status","isLoading","isIdle","showRefreshLoader","init","disposers","reaction","_localLimit","fireImmediately","forEach","d","exports"],"sources":["../../../src/state/GridFoldersState.ts"],"sourcesContent":["import {\n WixPatternsContainer,\n CollectionState,\n FiltersMap,\n} from '@wix/bex-core';\nimport { GridBaseState } from './GridBaseState';\nimport { action, computed, makeObservable, observable, reaction } from 'mobx';\nimport { ToolbarCollectionState } from './ToolbarCollectionState';\nimport {\n FoldersAndItemsCollectionsState,\n FoldersAndItemsCollectionsStateInitParams,\n PartialAllFilters,\n} from './FoldersAndItemsCollectionsState';\nimport { sideGridSizePreset, topGridSizePreset } from './gridSizePresets';\nimport { GridFoldersBIReporter } from './GridFoldersBIReporter';\n\nexport interface GridFoldersStateParams<\n T1,\n F1 extends FiltersMap,\n T2,\n F2 extends FiltersMap,\n> {\n readonly items: CollectionState<T1, F1>;\n readonly folders: CollectionState<T2, F2>;\n readonly container: WixPatternsContainer;\n readonly toolbar?: ToolbarCollectionState<T1, PartialAllFilters<F1, F2>>;\n readonly collections?: FoldersAndItemsCollectionsState<T1, F1, T2, F2>;\n}\n\ninterface GridFoldersStateInitParams\n extends FoldersAndItemsCollectionsStateInitParams {}\n\nexport class GridFoldersState<\n T1,\n F1 extends FiltersMap,\n T2,\n F2 extends FiltersMap,\n> {\n readonly container;\n readonly toolbar;\n readonly items;\n readonly folders;\n readonly collections;\n readonly bi;\n\n readonly _subGrids = [] as GridBaseState<any, any>[];\n\n showAllFolders = false;\n\n constructor(params: GridFoldersStateParams<T1, F1, T2, F2>) {\n this.container = params.container;\n\n this.toolbar =\n params.toolbar ??\n new ToolbarCollectionState({\n collection: params.items as CollectionState<T1, {}> as CollectionState<\n T1,\n PartialAllFilters<F1, F2>\n >,\n container: params.container,\n componentType: 'GridFolders',\n });\n\n this.collections =\n params.collections ??\n new FoldersAndItemsCollectionsState({\n ...params,\n toolbar: this.toolbar,\n });\n\n this.items = new GridBaseState({\n collection: params.items,\n container: params.container,\n toolbar: this.toolbar as ToolbarCollectionState<unknown, Partial<F1>>,\n sizePreset: topGridSizePreset,\n parentState: this,\n layoutType: 'grid',\n });\n\n this.folders = new GridBaseState({\n collection: params.folders,\n container: params.container,\n toolbar: this.toolbar as ToolbarCollectionState<unknown, Partial<F2>>,\n sizePreset: sideGridSizePreset,\n parentState: this,\n layoutType: 'grid',\n });\n\n this.bi = new GridFoldersBIReporter({\n state: this,\n });\n\n makeObservable(this, {\n showAllFolders: observable.ref,\n foldersLocalLimit: computed,\n effectiveFoldersLocalLimit: computed,\n showToggleShowAllLessButton: computed,\n showItemsSection: computed,\n showItemsSectionHeader: computed,\n showFoldersSection: computed,\n showFoldersSectionHeader: computed,\n showLoadingSection: computed,\n });\n }\n\n toggleShowAllFolders = action(() => {\n this.showAllFolders = !this.showAllFolders;\n this.bi.onToggleShowAllButtonClick();\n });\n\n get foldersLocalLimit() {\n return this.folders.columnsCount * 2;\n }\n\n get effectiveFoldersLocalLimit() {\n return this.showAllFolders ? null : this.folders.columnsCount * 2;\n }\n\n get showToggleShowAllLessButton() {\n return this.collections.folders.result.size > this.foldersLocalLimit;\n }\n\n get showFoldersSectionHeader() {\n return this.showToggleShowAllLessButton || this.showItemsSection;\n }\n\n get showItemsSection() {\n return (\n !this.collections.items.result.isEmptyAndNotFetching &&\n !this.collections.hasFoldersOnlyActiveFilters &&\n (!this.showAllFolders || this.folders.collection.fetchedLastPage)\n );\n }\n\n get initTask() {\n return this.toolbar.initTask;\n }\n\n get showErrorState() {\n return this.toolbar.multi.showErrorState;\n }\n\n get errorStatus() {\n return this.toolbar.multi.errorStatus;\n }\n\n retryErrorState = action(() => this.toolbar.retryErrorState());\n\n get showLoadingState() {\n return this.toolbar.multi.showLoadingState;\n }\n\n get showEmptyState() {\n return this.collections.showEmptyState;\n }\n\n get hasAvailableItems() {\n return this.collections.hasAvailableItems;\n }\n\n get resultOriginQuerySearch() {\n return this.collections.resultOriginQuerySearch;\n }\n\n get hasNonPersistentActiveFilters() {\n return this.collections.hasNonPersistentActiveFilters;\n }\n\n get showItemsSectionHeader() {\n return this.showFoldersSection;\n }\n\n get showFoldersSection() {\n return (\n !this.collections.folders.result.isEmptyAndNotFetching &&\n !this.collections.hasItemsOnlyActiveFilters\n );\n }\n\n get showLoadingSection() {\n const {\n collections: { hasFoldersOnlyActiveFilters, hasItemsOnlyActiveFilters },\n toolbar: { initTask, multi },\n } = this;\n\n const isLoadingToolbarAndCollection = () =>\n (multi.showInitialLoader && initTask.status.isLoading) ||\n initTask.status.isIdle;\n\n return (\n !hasFoldersOnlyActiveFilters &&\n !hasItemsOnlyActiveFilters &&\n (multi.showRefreshLoader || isLoadingToolbarAndCollection())\n );\n }\n\n init(params: GridFoldersStateInitParams) {\n const disposers = [\n this.collections.init(params),\n reaction(\n () => this.effectiveFoldersLocalLimit,\n (effectiveFoldersLocalLimit) => {\n this.folders._localLimit = effectiveFoldersLocalLimit;\n },\n {\n fireImmediately: true,\n },\n ),\n ];\n\n return () => {\n disposers.forEach((d) => d());\n };\n }\n}\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -8,18 +8,30 @@ var _bexCore = require("@wix/bex-core");
|
|
|
8
8
|
var _bi = require("@wix/bex-core/bi");
|
|
9
9
|
var _sortable = require("@wix/wix-style-react-incubator/dnd-kit/sortable");
|
|
10
10
|
var _events = _interopRequireDefault(require("events"));
|
|
11
|
+
var _DragAndDrop = require("../components/DragAndDrop");
|
|
11
12
|
class MultiLevelSortingStateDragAndDrop {
|
|
12
|
-
constructor({
|
|
13
|
-
multiLevelSortingState
|
|
14
|
-
}) {
|
|
13
|
+
constructor(params) {
|
|
15
14
|
(0, _defineProperty2.default)(this, "multiLevelSortingState", void 0);
|
|
16
15
|
(0, _defineProperty2.default)(this, "multiLevelSortingActions", void 0);
|
|
16
|
+
(0, _defineProperty2.default)(this, "collectionDragAndDropState", null);
|
|
17
17
|
(0, _defineProperty2.default)(this, "events", new _events.default());
|
|
18
|
+
const {
|
|
19
|
+
multiLevelSortingState
|
|
20
|
+
} = params;
|
|
18
21
|
this.multiLevelSortingState = multiLevelSortingState;
|
|
19
22
|
this.multiLevelSortingActions = new _bexCore.CollectionOptimisticActions({
|
|
20
23
|
container: this.container,
|
|
21
24
|
collection: this.collection
|
|
22
25
|
});
|
|
26
|
+
this.collectionDragAndDropState = new _DragAndDrop.CollectionDragAndDropState({
|
|
27
|
+
state: this,
|
|
28
|
+
a11yContainer: params.modalsContainerRef,
|
|
29
|
+
container: this.multiLevelSortingState.container
|
|
30
|
+
});
|
|
31
|
+
}
|
|
32
|
+
get _dnd() {
|
|
33
|
+
var _this$collectionDragA;
|
|
34
|
+
return (_this$collectionDragA = this.collectionDragAndDropState) == null ? void 0 : _this$collectionDragA.dnd;
|
|
23
35
|
}
|
|
24
36
|
get reportBi() {
|
|
25
37
|
return this.multiLevelSortingState.table.reportBi;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_bexCore","require","_bi","_sortable","_events","_interopRequireDefault","MultiLevelSortingStateDragAndDrop","constructor","
|
|
1
|
+
{"version":3,"names":["_bexCore","require","_bi","_sortable","_events","_interopRequireDefault","_DragAndDrop","MultiLevelSortingStateDragAndDrop","constructor","params","_defineProperty2","default","EventEmitter","multiLevelSortingState","multiLevelSortingActions","CollectionOptimisticActions","container","collection","collectionDragAndDropState","CollectionDragAndDropState","state","a11yContainer","modalsContainerRef","_dnd","_this$collectionDragA","dnd","reportBi","table","sortingCollection","_onSortReorder","fromColumnId","overColumnId","orderedSortableColumns","indexBefore","findIndex","columnId","indexAfter","newOrder","arrayMove","events","emit","replace","init","disposers","addEventListener","prevSortOrder","JSON","stringify","currentSortOrder","once","newSortOrder","numSortingColumns","length","withoutDefaults","cairoReorderingSortColumns","columnIndexBefore","columnIndexAfter","sortingColumn","forEach","disposer","exports"],"sources":["../../../src/state/MultiLevelSortingDragAndDrop.ts"],"sourcesContent":["import {\n CollectionOptimisticActions,\n FiltersMap,\n TypedEmitter,\n addEventListener,\n withoutDefaults,\n} from '@wix/bex-core';\nimport { cairoReorderingSortColumns } from '@wix/bex-core/bi';\nimport { arrayMove } from '@wix/wix-style-react-incubator/dnd-kit/sortable';\nimport EventEmitter from 'events';\nimport {\n MultiLevelSortingState,\n SortableColumn,\n} from './MultiLevelSortingState';\nimport { CollectionDragAndDropState } from '../components/DragAndDrop';\n\nexport interface MultiLevelSortingStateDragAndDropParams<\n T,\n F extends FiltersMap,\n> {\n readonly multiLevelSortingState: MultiLevelSortingState<T, F>;\n readonly modalsContainerRef: {\n current: HTMLElement | null | undefined;\n };\n}\n\nexport class MultiLevelSortingStateDragAndDrop<T, F extends FiltersMap> {\n readonly multiLevelSortingState;\n readonly multiLevelSortingActions: CollectionOptimisticActions<\n SortableColumn,\n {}\n >;\n\n readonly collectionDragAndDropState: CollectionDragAndDropState<\n SortableColumn,\n {}\n > | null = null;\n\n events = new EventEmitter() as TypedEmitter<{\n beforeReorder: () => unknown;\n afterReorder: (params: {\n indexBefore: number;\n indexAfter: number;\n columnId: string;\n }) => unknown;\n }>;\n\n constructor(params: MultiLevelSortingStateDragAndDropParams<T, F>) {\n const { multiLevelSortingState } = params;\n this.multiLevelSortingState = multiLevelSortingState;\n this.multiLevelSortingActions = new CollectionOptimisticActions<\n SortableColumn,\n {}\n >({\n container: this.container,\n collection: this.collection,\n });\n\n this.collectionDragAndDropState = new CollectionDragAndDropState({\n state: this,\n a11yContainer: params.modalsContainerRef,\n container: this.multiLevelSortingState.container,\n });\n }\n\n get _dnd() {\n return this.collectionDragAndDropState?.dnd;\n }\n\n get reportBi() {\n return this.multiLevelSortingState.table.reportBi;\n }\n\n get container() {\n return this.multiLevelSortingState.container;\n }\n\n get collection() {\n return this.multiLevelSortingState.sortingCollection;\n }\n\n _onSortReorder(fromColumnId: string, overColumnId: string) {\n const { orderedSortableColumns } = this.multiLevelSortingState;\n\n const indexBefore = orderedSortableColumns.findIndex(\n ({ columnId }) => columnId === fromColumnId,\n );\n const indexAfter = orderedSortableColumns.findIndex(\n ({ columnId }) => columnId === overColumnId,\n );\n\n const newOrder = arrayMove(orderedSortableColumns, indexBefore, indexAfter);\n\n this.events.emit('beforeReorder');\n\n orderedSortableColumns.replace(newOrder);\n\n this.events.emit('afterReorder', {\n indexBefore,\n indexAfter,\n columnId: fromColumnId,\n });\n }\n\n init() {\n const { reportBi, events, multiLevelSortingState } = this;\n\n const disposers = [\n this.multiLevelSortingActions.init(),\n addEventListener(events, 'beforeReorder', () => {\n const prevSortOrder = JSON.stringify(\n multiLevelSortingState.currentSortOrder,\n );\n events.once('afterReorder', ({ indexBefore, indexAfter, columnId }) => {\n const newSortOrder = JSON.stringify(\n multiLevelSortingState.currentSortOrder,\n );\n const numSortingColumns =\n multiLevelSortingState.orderedSortableColumns.length;\n\n reportBi(\n withoutDefaults(cairoReorderingSortColumns)({\n columnIndexBefore: indexBefore,\n columnIndexAfter: indexAfter,\n numSortingColumns,\n sortingColumn: columnId,\n newSortOrder,\n prevSortOrder,\n }),\n );\n });\n }),\n ];\n\n return () => {\n disposers.forEach((disposer) => disposer?.());\n };\n }\n}\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -54,7 +54,8 @@ class MultiLevelSortingState {
|
|
|
54
54
|
fetchErrorMessage: () => null
|
|
55
55
|
});
|
|
56
56
|
this.dragAndDrop = new _MultiLevelSortingDragAndDrop.MultiLevelSortingStateDragAndDrop({
|
|
57
|
-
multiLevelSortingState: this
|
|
57
|
+
multiLevelSortingState: this,
|
|
58
|
+
modalsContainerRef: props.modalsContainerRef
|
|
58
59
|
});
|
|
59
60
|
(0, _mobx.makeObservable)(this, {
|
|
60
61
|
hasAvailableSortingColumns: _mobx.computed,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_mobx","require","_bexCore","_MultiLevelSortingDragAndDrop","_bi","_uuid","MultiLevelSortingState","constructor","props","_defineProperty2","default","observable","array","action","table","collection","query","orderedSortableColumns","clear","sort","value","column","sortableColumnsMap","get","field","addSort","order","direction","container","sortingCollection","CollectionState","events","queryName","environment","componentId","filter","Boolean","join","fetchData","items","filters","itemKey","item","key","itemName","String","name","fetchErrorMessage","dragAndDrop","MultiLevelSortingStateDragAndDrop","multiLevelSortingState","makeObservable","hasAvailableSortingColumns","computed","sortListSize","sortableColumns","availableColumns","removeSort","changeSortOrder","replaceSort","columns","sortable","Map","map","id","length","Set","every","orderedSortableColumn","columnId","sortableColumn","currentSortOrder","fieldName","reportBI","reportBi","getNextAvailableSortableColumn","has","toSortQuery","isDifferentFromSortState","sortStateValue","i","getAvailableOptions","title","manual","nextColumn","uuid","touchedColumnId","push","lastManuallyAddedColumnId","index","findIndex","splice","sortableColumnId","oldColumnId","newColumnId","emitter","emit","origin","setSortQuery","col","scheduleSort","clearResult","reportSidePanelOpen","withoutDefaults","cairoFiltersPanelUsed","JSON","stringify","numSortedColumns","isOpened","feature","reportSidePanelClose","init","onSortStateChange","disposers","reaction","refreshAllPages","addEventListener","forEach","disposer","exports"],"sources":["../../../src/state/MultiLevelSortingState.ts"],"sourcesContent":["import { action, computed, makeObservable, observable, reaction } from 'mobx';\nimport {\n addEventListener,\n WixPatternsContainer,\n CollectionState,\n FiltersMap,\n Sort,\n SortOrder,\n withoutDefaults,\n} from '@wix/bex-core';\nimport { ToolbarCollectionState } from './ToolbarCollectionState';\nimport { MultiLevelSortingStateDragAndDrop } from './MultiLevelSortingDragAndDrop';\nimport { Column } from '../model';\nimport type { ReactNode } from 'react';\nimport { cairoFiltersPanelUsed } from '@wix/bex-core/bi';\nimport { v4 as uuid } from 'uuid';\n\nexport interface SortableColumn {\n key: string;\n columnId: string;\n name: ReactNode;\n direction: SortOrder;\n}\n\nexport interface MultiLevelSortingStateParams<T, F extends FiltersMap> {\n readonly table: ToolbarCollectionState<T, F>;\n readonly container: WixPatternsContainer;\n}\n\nexport class MultiLevelSortingState<T, F extends FiltersMap> {\n table: ToolbarCollectionState<T, F>;\n container;\n sortingCollection;\n dragAndDrop;\n\n orderedSortableColumns = observable.array<SortableColumn>();\n\n touchedColumnId = '';\n lastManuallyAddedColumnId: string | null = null;\n\n constructor(props: MultiLevelSortingStateParams<T, F>) {\n this.table = props.table;\n this.container = props.container;\n\n this.sortingCollection = new CollectionState<SortableColumn>({\n ...this.container,\n events: {},\n queryName: [\n this.container.environment.componentId,\n this.table.collection.queryName,\n 'multiLevelSorting',\n ]\n .filter(Boolean)\n .join('/'),\n fetchData: async () => {\n return {\n items: this.orderedSortableColumns,\n };\n },\n filters: {},\n itemKey: (item) => item.key,\n itemName: (item) => String(item.name),\n fetchErrorMessage: () => null,\n });\n\n this.dragAndDrop = new MultiLevelSortingStateDragAndDrop({\n multiLevelSortingState: this,\n });\n\n makeObservable(this, {\n hasAvailableSortingColumns: computed,\n sortListSize: computed,\n sortableColumnsMap: computed,\n sortableColumns: computed,\n availableColumns: computed,\n addSort: action,\n removeSort: action,\n changeSortOrder: action,\n replaceSort: action,\n });\n }\n\n get sortableColumns() {\n return this.table.columns.filter((column) => column.sortable);\n }\n\n get sortableColumnsMap() {\n return new Map(this.sortableColumns.map((column) => [column.id, column]));\n }\n\n get hasAvailableSortingColumns() {\n return this.sortableColumns.length - this.orderedSortableColumns.length > 0;\n }\n\n get sortListSize() {\n return this.orderedSortableColumns.length;\n }\n\n get availableColumns() {\n const { orderedSortableColumns, sortableColumns } = this;\n\n return new Set(\n sortableColumns\n .filter((column) =>\n orderedSortableColumns.every(\n (orderedSortableColumn) =>\n orderedSortableColumn.columnId !== column.id,\n ),\n )\n .map((sortableColumn) => sortableColumn.id),\n );\n }\n\n get currentSortOrder() {\n return this.orderedSortableColumns.map(({ columnId, direction }) => ({\n fieldName: columnId,\n order: direction,\n }));\n }\n\n get reportBI() {\n return this.table.reportBi;\n }\n\n private getNextAvailableSortableColumn() {\n for (const column of this.sortableColumns) {\n if (this.availableColumns.has(column.id)) {\n return column;\n }\n }\n\n return null;\n }\n\n private toSortQuery(): Sort[] {\n return this.orderedSortableColumns.map(({ columnId, direction }) => ({\n field: columnId,\n direction,\n }));\n }\n\n private isDifferentFromSortState() {\n const {\n table: {\n collection: {\n query: {\n sort: { value: sortStateValue },\n },\n },\n },\n orderedSortableColumns,\n } = this;\n\n if (sortStateValue.length !== orderedSortableColumns.length) {\n return true;\n }\n\n for (let i = 0; i < orderedSortableColumns.length; i++) {\n if (\n sortStateValue[i].direction !== orderedSortableColumns[i].direction ||\n sortStateValue[i].field !== orderedSortableColumns[i].columnId\n ) {\n return true;\n }\n }\n\n return false;\n }\n\n getAvailableOptions(columnId: string) {\n return this.sortableColumns\n .filter((column) => {\n return column.id === columnId || this.availableColumns.has(column.id);\n })\n .map((column) => ({\n id: column.id,\n value:\n (typeof column.title === 'string' && column.title) ||\n column.name ||\n column.id,\n }));\n }\n\n addSort({\n column,\n order,\n manual = false,\n }: { column?: Column; order?: SortOrder; manual?: boolean } = {}) {\n const nextColumn = column ?? this.getNextAvailableSortableColumn();\n\n if (nextColumn) {\n const sortableColumn = {\n key: uuid(),\n columnId: nextColumn.id,\n name: nextColumn.title || nextColumn.name || nextColumn.id,\n direction: order ?? 'asc',\n };\n\n this.touchedColumnId = sortableColumn.columnId;\n this.orderedSortableColumns.push(sortableColumn);\n\n if (manual) {\n this.lastManuallyAddedColumnId = sortableColumn.columnId;\n }\n }\n }\n\n removeSort(columnId: string) {\n const index = this.orderedSortableColumns.findIndex(\n (sortableColumn) => sortableColumn.columnId === columnId,\n );\n\n if (index !== -1) {\n this.touchedColumnId = columnId;\n this.orderedSortableColumns.splice(index, 1);\n }\n }\n\n changeSortOrder(sortableColumnId: string, direction: SortOrder) {\n const { orderedSortableColumns } = this;\n\n const index = orderedSortableColumns.findIndex(\n ({ columnId }) => columnId === sortableColumnId,\n );\n\n if (index !== -1) {\n this.touchedColumnId = sortableColumnId;\n orderedSortableColumns[index].direction = direction;\n }\n }\n\n replaceSort(oldColumnId: string, newColumnId: string) {\n const { orderedSortableColumns } = this;\n\n const index = orderedSortableColumns.findIndex(\n ({ columnId }) => oldColumnId === columnId,\n );\n\n if (index !== -1) {\n this.touchedColumnId = newColumnId;\n orderedSortableColumns[index].columnId = newColumnId;\n orderedSortableColumns[index].name =\n this.sortableColumnsMap.get(newColumnId)!.name;\n }\n }\n\n onSortStateChange = action(() => {\n const {\n table: {\n collection: { query },\n },\n } = this;\n\n this.orderedSortableColumns.clear();\n\n for (const sort of query.sort.value) {\n const column = this.sortableColumnsMap.get(sort.field);\n\n if (column) {\n this.addSort({\n column,\n order: sort.direction,\n });\n }\n }\n });\n\n sort() {\n const { collection } = this.table;\n const { query, emitter } = collection;\n\n emitter.emit('beforeSortStart', {\n origin: 'SidePanel',\n });\n\n query.sort.setSortQuery(this.toSortQuery());\n\n emitter.emit('sortStart', {\n col: { id: this.touchedColumnId },\n });\n\n collection.scheduleSort({ clearResult: true });\n }\n\n reportSidePanelOpen() {\n this.reportBI(\n withoutDefaults(cairoFiltersPanelUsed)({\n currentSortOrder: JSON.stringify(this.currentSortOrder),\n numSortedColumns: this.sortListSize,\n isOpened: true,\n feature: 'Sort',\n origin: 'Sort CTA',\n }),\n );\n }\n\n reportSidePanelClose({\n origin = 'X Button',\n }: { origin?: 'X Button' | 'Sort CTA' } = {}) {\n this.reportBI(\n withoutDefaults(cairoFiltersPanelUsed)({\n currentSortOrder: JSON.stringify(this.currentSortOrder),\n numSortedColumns: this.sortListSize,\n isOpened: false,\n feature: 'Sort',\n origin,\n }),\n );\n }\n\n init() {\n const {\n table: {\n collection: { query },\n },\n sortingCollection,\n } = this;\n\n this.onSortStateChange();\n\n const disposers = [\n reaction(\n () => this.orderedSortableColumns.map((item) => ({ ...item })),\n () => {\n if (!this.isDifferentFromSortState()) {\n return;\n }\n\n sortingCollection.refreshAllPages();\n this.sort();\n },\n ),\n addEventListener(query.sort.events, 'change', this.onSortStateChange),\n this.sortingCollection.init(),\n this.dragAndDrop.init(),\n ];\n\n return () => {\n disposers.forEach((disposer) => disposer?.());\n };\n }\n}\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["_mobx","require","_bexCore","_MultiLevelSortingDragAndDrop","_bi","_uuid","MultiLevelSortingState","constructor","props","_defineProperty2","default","observable","array","action","table","collection","query","orderedSortableColumns","clear","sort","value","column","sortableColumnsMap","get","field","addSort","order","direction","container","sortingCollection","CollectionState","events","queryName","environment","componentId","filter","Boolean","join","fetchData","items","filters","itemKey","item","key","itemName","String","name","fetchErrorMessage","dragAndDrop","MultiLevelSortingStateDragAndDrop","multiLevelSortingState","modalsContainerRef","makeObservable","hasAvailableSortingColumns","computed","sortListSize","sortableColumns","availableColumns","removeSort","changeSortOrder","replaceSort","columns","sortable","Map","map","id","length","Set","every","orderedSortableColumn","columnId","sortableColumn","currentSortOrder","fieldName","reportBI","reportBi","getNextAvailableSortableColumn","has","toSortQuery","isDifferentFromSortState","sortStateValue","i","getAvailableOptions","title","manual","nextColumn","uuid","touchedColumnId","push","lastManuallyAddedColumnId","index","findIndex","splice","sortableColumnId","oldColumnId","newColumnId","emitter","emit","origin","setSortQuery","col","scheduleSort","clearResult","reportSidePanelOpen","withoutDefaults","cairoFiltersPanelUsed","JSON","stringify","numSortedColumns","isOpened","feature","reportSidePanelClose","init","onSortStateChange","disposers","reaction","refreshAllPages","addEventListener","forEach","disposer","exports"],"sources":["../../../src/state/MultiLevelSortingState.ts"],"sourcesContent":["import { action, computed, makeObservable, observable, reaction } from 'mobx';\nimport {\n addEventListener,\n CollectionState,\n FiltersMap,\n Sort,\n SortOrder,\n withoutDefaults,\n WixPatternsContainer,\n} from '@wix/bex-core';\nimport { ToolbarCollectionState } from './ToolbarCollectionState';\nimport { MultiLevelSortingStateDragAndDrop } from './MultiLevelSortingDragAndDrop';\nimport { Column } from '../model';\nimport type { ReactNode } from 'react';\nimport { cairoFiltersPanelUsed } from '@wix/bex-core/bi';\nimport { v4 as uuid } from 'uuid';\n\nexport interface SortableColumn {\n key: string;\n columnId: string;\n name: ReactNode;\n direction: SortOrder;\n}\n\nexport interface MultiLevelSortingStateParams<T, F extends FiltersMap> {\n readonly table: ToolbarCollectionState<T, F>;\n readonly container: WixPatternsContainer;\n readonly modalsContainerRef: {\n current: HTMLElement | null | undefined;\n };\n}\n\nexport class MultiLevelSortingState<T, F extends FiltersMap> {\n table: ToolbarCollectionState<T, F>;\n container;\n sortingCollection;\n dragAndDrop;\n\n orderedSortableColumns = observable.array<SortableColumn>();\n\n touchedColumnId = '';\n lastManuallyAddedColumnId: string | null = null;\n\n constructor(props: MultiLevelSortingStateParams<T, F>) {\n this.table = props.table;\n this.container = props.container;\n\n this.sortingCollection = new CollectionState<SortableColumn>({\n ...this.container,\n events: {},\n queryName: [\n this.container.environment.componentId,\n this.table.collection.queryName,\n 'multiLevelSorting',\n ]\n .filter(Boolean)\n .join('/'),\n fetchData: async () => {\n return {\n items: this.orderedSortableColumns,\n };\n },\n filters: {},\n itemKey: (item) => item.key,\n itemName: (item) => String(item.name),\n fetchErrorMessage: () => null,\n });\n\n this.dragAndDrop = new MultiLevelSortingStateDragAndDrop({\n multiLevelSortingState: this,\n modalsContainerRef: props.modalsContainerRef,\n });\n\n makeObservable(this, {\n hasAvailableSortingColumns: computed,\n sortListSize: computed,\n sortableColumnsMap: computed,\n sortableColumns: computed,\n availableColumns: computed,\n addSort: action,\n removeSort: action,\n changeSortOrder: action,\n replaceSort: action,\n });\n }\n\n get sortableColumns() {\n return this.table.columns.filter((column) => column.sortable);\n }\n\n get sortableColumnsMap() {\n return new Map(this.sortableColumns.map((column) => [column.id, column]));\n }\n\n get hasAvailableSortingColumns() {\n return this.sortableColumns.length - this.orderedSortableColumns.length > 0;\n }\n\n get sortListSize() {\n return this.orderedSortableColumns.length;\n }\n\n get availableColumns() {\n const { orderedSortableColumns, sortableColumns } = this;\n\n return new Set(\n sortableColumns\n .filter((column) =>\n orderedSortableColumns.every(\n (orderedSortableColumn) =>\n orderedSortableColumn.columnId !== column.id,\n ),\n )\n .map((sortableColumn) => sortableColumn.id),\n );\n }\n\n get currentSortOrder() {\n return this.orderedSortableColumns.map(({ columnId, direction }) => ({\n fieldName: columnId,\n order: direction,\n }));\n }\n\n get reportBI() {\n return this.table.reportBi;\n }\n\n private getNextAvailableSortableColumn() {\n for (const column of this.sortableColumns) {\n if (this.availableColumns.has(column.id)) {\n return column;\n }\n }\n\n return null;\n }\n\n private toSortQuery(): Sort[] {\n return this.orderedSortableColumns.map(({ columnId, direction }) => ({\n field: columnId,\n direction,\n }));\n }\n\n private isDifferentFromSortState() {\n const {\n table: {\n collection: {\n query: {\n sort: { value: sortStateValue },\n },\n },\n },\n orderedSortableColumns,\n } = this;\n\n if (sortStateValue.length !== orderedSortableColumns.length) {\n return true;\n }\n\n for (let i = 0; i < orderedSortableColumns.length; i++) {\n if (\n sortStateValue[i].direction !== orderedSortableColumns[i].direction ||\n sortStateValue[i].field !== orderedSortableColumns[i].columnId\n ) {\n return true;\n }\n }\n\n return false;\n }\n\n getAvailableOptions(columnId: string) {\n return this.sortableColumns\n .filter((column) => {\n return column.id === columnId || this.availableColumns.has(column.id);\n })\n .map((column) => ({\n id: column.id,\n value:\n (typeof column.title === 'string' && column.title) ||\n column.name ||\n column.id,\n }));\n }\n\n addSort({\n column,\n order,\n manual = false,\n }: { column?: Column; order?: SortOrder; manual?: boolean } = {}) {\n const nextColumn = column ?? this.getNextAvailableSortableColumn();\n\n if (nextColumn) {\n const sortableColumn = {\n key: uuid(),\n columnId: nextColumn.id,\n name: nextColumn.title || nextColumn.name || nextColumn.id,\n direction: order ?? 'asc',\n };\n\n this.touchedColumnId = sortableColumn.columnId;\n this.orderedSortableColumns.push(sortableColumn);\n\n if (manual) {\n this.lastManuallyAddedColumnId = sortableColumn.columnId;\n }\n }\n }\n\n removeSort(columnId: string) {\n const index = this.orderedSortableColumns.findIndex(\n (sortableColumn) => sortableColumn.columnId === columnId,\n );\n\n if (index !== -1) {\n this.touchedColumnId = columnId;\n this.orderedSortableColumns.splice(index, 1);\n }\n }\n\n changeSortOrder(sortableColumnId: string, direction: SortOrder) {\n const { orderedSortableColumns } = this;\n\n const index = orderedSortableColumns.findIndex(\n ({ columnId }) => columnId === sortableColumnId,\n );\n\n if (index !== -1) {\n this.touchedColumnId = sortableColumnId;\n orderedSortableColumns[index].direction = direction;\n }\n }\n\n replaceSort(oldColumnId: string, newColumnId: string) {\n const { orderedSortableColumns } = this;\n\n const index = orderedSortableColumns.findIndex(\n ({ columnId }) => oldColumnId === columnId,\n );\n\n if (index !== -1) {\n this.touchedColumnId = newColumnId;\n orderedSortableColumns[index].columnId = newColumnId;\n orderedSortableColumns[index].name =\n this.sortableColumnsMap.get(newColumnId)!.name;\n }\n }\n\n onSortStateChange = action(() => {\n const {\n table: {\n collection: { query },\n },\n } = this;\n\n this.orderedSortableColumns.clear();\n\n for (const sort of query.sort.value) {\n const column = this.sortableColumnsMap.get(sort.field);\n\n if (column) {\n this.addSort({\n column,\n order: sort.direction,\n });\n }\n }\n });\n\n sort() {\n const { collection } = this.table;\n const { query, emitter } = collection;\n\n emitter.emit('beforeSortStart', {\n origin: 'SidePanel',\n });\n\n query.sort.setSortQuery(this.toSortQuery());\n\n emitter.emit('sortStart', {\n col: { id: this.touchedColumnId },\n });\n\n collection.scheduleSort({ clearResult: true });\n }\n\n reportSidePanelOpen() {\n this.reportBI(\n withoutDefaults(cairoFiltersPanelUsed)({\n currentSortOrder: JSON.stringify(this.currentSortOrder),\n numSortedColumns: this.sortListSize,\n isOpened: true,\n feature: 'Sort',\n origin: 'Sort CTA',\n }),\n );\n }\n\n reportSidePanelClose({\n origin = 'X Button',\n }: { origin?: 'X Button' | 'Sort CTA' } = {}) {\n this.reportBI(\n withoutDefaults(cairoFiltersPanelUsed)({\n currentSortOrder: JSON.stringify(this.currentSortOrder),\n numSortedColumns: this.sortListSize,\n isOpened: false,\n feature: 'Sort',\n origin,\n }),\n );\n }\n\n init() {\n const {\n table: {\n collection: { query },\n },\n sortingCollection,\n } = this;\n\n this.onSortStateChange();\n\n const disposers = [\n reaction(\n () => this.orderedSortableColumns.map((item) => ({ ...item })),\n () => {\n if (!this.isDifferentFromSortState()) {\n return;\n }\n\n sortingCollection.refreshAllPages();\n this.sort();\n },\n ),\n addEventListener(query.sort.events, 'change', this.onSortStateChange),\n this.sortingCollection.init(),\n this.dragAndDrop.init(),\n ];\n\n return () => {\n disposers.forEach((disposer) => disposer?.());\n };\n }\n}\n"],"mappings":";;;;;;AAAA,IAAAA,KAAA,GAAAC,OAAA;AACA,IAAAC,QAAA,GAAAD,OAAA;AAUA,IAAAE,6BAAA,GAAAF,OAAA;AAGA,IAAAG,GAAA,GAAAH,OAAA;AACA,IAAAI,KAAA,GAAAJ,OAAA;AAiBO,MAAMK,sBAAsB,CAA0B;EAW3DC,WAAWA,CAACC,KAAyC,EAAE;IAAA,IAAAC,gBAAA,CAAAC,OAAA;IAAA,IAAAD,gBAAA,CAAAC,OAAA;IAAA,IAAAD,gBAAA,CAAAC,OAAA;IAAA,IAAAD,gBAAA,CAAAC,OAAA;IAAA,IAAAD,gBAAA,CAAAC,OAAA,kCAL9BC,gBAAU,CAACC,KAAK,CAAiB,CAAC;IAAA,IAAAH,gBAAA,CAAAC,OAAA,2BAEzC,EAAE;IAAA,IAAAD,gBAAA,CAAAC,OAAA,qCACuB,IAAI;IAAA,IAAAD,gBAAA,CAAAC,OAAA,6BAiN3B,IAAAG,YAAM,EAAC,MAAM;MAC/B,MAAM;QACJC,KAAK,EAAE;UACLC,UAAU,EAAE;YAAEC;UAAM;QACtB;MACF,CAAC,GAAG,IAAI;MAER,IAAI,CAACC,sBAAsB,CAACC,KAAK,CAAC,CAAC;MAEnC,KAAK,MAAMC,IAAI,IAAIH,KAAK,CAACG,IAAI,CAACC,KAAK,EAAE;QACnC,MAAMC,MAAM,GAAG,IAAI,CAACC,kBAAkB,CAACC,GAAG,CAACJ,IAAI,CAACK,KAAK,CAAC;QAEtD,IAAIH,MAAM,EAAE;UACV,IAAI,CAACI,OAAO,CAAC;YACXJ,MAAM;YACNK,KAAK,EAAEP,IAAI,CAACQ;UACd,CAAC,CAAC;QACJ;MACF;IACF,CAAC,CAAC;IAjOA,IAAI,CAACb,KAAK,GAAGN,KAAK,CAACM,KAAK;IACxB,IAAI,CAACc,SAAS,GAAGpB,KAAK,CAACoB,SAAS;IAEhC,IAAI,CAACC,iBAAiB,GAAG,IAAIC,wBAAe,CAAiB;MAC3D,GAAG,IAAI,CAACF,SAAS;MACjBG,MAAM,EAAE,CAAC,CAAC;MACVC,SAAS,EAAE,CACT,IAAI,CAACJ,SAAS,CAACK,WAAW,CAACC,WAAW,EACtC,IAAI,CAACpB,KAAK,CAACC,UAAU,CAACiB,SAAS,EAC/B,mBAAmB,CACpB,CACEG,MAAM,CAACC,OAAO,CAAC,CACfC,IAAI,CAAC,GAAG,CAAC;MACZC,SAAS,EAAE,MAAAA,CAAA,KAAY;QACrB,OAAO;UACLC,KAAK,EAAE,IAAI,CAACtB;QACd,CAAC;MACH,CAAC;MACDuB,OAAO,EAAE,CAAC,CAAC;MACXC,OAAO,EAAGC,IAAI,IAAKA,IAAI,CAACC,GAAG;MAC3BC,QAAQ,EAAGF,IAAI,IAAKG,MAAM,CAACH,IAAI,CAACI,IAAI,CAAC;MACrCC,iBAAiB,EAAEA,CAAA,KAAM;IAC3B,CAAC,CAAC;IAEF,IAAI,CAACC,WAAW,GAAG,IAAIC,+DAAiC,CAAC;MACvDC,sBAAsB,EAAE,IAAI;MAC5BC,kBAAkB,EAAE3C,KAAK,CAAC2C;IAC5B,CAAC,CAAC;IAEF,IAAAC,oBAAc,EAAC,IAAI,EAAE;MACnBC,0BAA0B,EAAEC,cAAQ;MACpCC,YAAY,EAAED,cAAQ;MACtBhC,kBAAkB,EAAEgC,cAAQ;MAC5BE,eAAe,EAAEF,cAAQ;MACzBG,gBAAgB,EAAEH,cAAQ;MAC1B7B,OAAO,EAAEZ,YAAM;MACf6C,UAAU,EAAE7C,YAAM;MAClB8C,eAAe,EAAE9C,YAAM;MACvB+C,WAAW,EAAE/C;IACf,CAAC,CAAC;EACJ;EAEA,IAAI2C,eAAeA,CAAA,EAAG;IACpB,OAAO,IAAI,CAAC1C,KAAK,CAAC+C,OAAO,CAAC1B,MAAM,CAAEd,MAAM,IAAKA,MAAM,CAACyC,QAAQ,CAAC;EAC/D;EAEA,IAAIxC,kBAAkBA,CAAA,EAAG;IACvB,OAAO,IAAIyC,GAAG,CAAC,IAAI,CAACP,eAAe,CAACQ,GAAG,CAAE3C,MAAM,IAAK,CAACA,MAAM,CAAC4C,EAAE,EAAE5C,MAAM,CAAC,CAAC,CAAC;EAC3E;EAEA,IAAIgC,0BAA0BA,CAAA,EAAG;IAC/B,OAAO,IAAI,CAACG,eAAe,CAACU,MAAM,GAAG,IAAI,CAACjD,sBAAsB,CAACiD,MAAM,GAAG,CAAC;EAC7E;EAEA,IAAIX,YAAYA,CAAA,EAAG;IACjB,OAAO,IAAI,CAACtC,sBAAsB,CAACiD,MAAM;EAC3C;EAEA,IAAIT,gBAAgBA,CAAA,EAAG;IACrB,MAAM;MAAExC,sBAAsB;MAAEuC;IAAgB,CAAC,GAAG,IAAI;IAExD,OAAO,IAAIW,GAAG,CACZX,eAAe,CACZrB,MAAM,CAAEd,MAAM,IACbJ,sBAAsB,CAACmD,KAAK,CACzBC,qBAAqB,IACpBA,qBAAqB,CAACC,QAAQ,KAAKjD,MAAM,CAAC4C,EAC9C,CACF,CAAC,CACAD,GAAG,CAAEO,cAAc,IAAKA,cAAc,CAACN,EAAE,CAC9C,CAAC;EACH;EAEA,IAAIO,gBAAgBA,CAAA,EAAG;IACrB,OAAO,IAAI,CAACvD,sBAAsB,CAAC+C,GAAG,CAAC,CAAC;MAAEM,QAAQ;MAAE3C;IAAU,CAAC,MAAM;MACnE8C,SAAS,EAAEH,QAAQ;MACnB5C,KAAK,EAAEC;IACT,CAAC,CAAC,CAAC;EACL;EAEA,IAAI+C,QAAQA,CAAA,EAAG;IACb,OAAO,IAAI,CAAC5D,KAAK,CAAC6D,QAAQ;EAC5B;EAEQC,8BAA8BA,CAAA,EAAG;IACvC,KAAK,MAAMvD,MAAM,IAAI,IAAI,CAACmC,eAAe,EAAE;MACzC,IAAI,IAAI,CAACC,gBAAgB,CAACoB,GAAG,CAACxD,MAAM,CAAC4C,EAAE,CAAC,EAAE;QACxC,OAAO5C,MAAM;MACf;IACF;IAEA,OAAO,IAAI;EACb;EAEQyD,WAAWA,CAAA,EAAW;IAC5B,OAAO,IAAI,CAAC7D,sBAAsB,CAAC+C,GAAG,CAAC,CAAC;MAAEM,QAAQ;MAAE3C;IAAU,CAAC,MAAM;MACnEH,KAAK,EAAE8C,QAAQ;MACf3C;IACF,CAAC,CAAC,CAAC;EACL;EAEQoD,wBAAwBA,CAAA,EAAG;IACjC,MAAM;MACJjE,KAAK,EAAE;QACLC,UAAU,EAAE;UACVC,KAAK,EAAE;YACLG,IAAI,EAAE;cAAEC,KAAK,EAAE4D;YAAe;UAChC;QACF;MACF,CAAC;MACD/D;IACF,CAAC,GAAG,IAAI;IAER,IAAI+D,cAAc,CAACd,MAAM,KAAKjD,sBAAsB,CAACiD,MAAM,EAAE;MAC3D,OAAO,IAAI;IACb;IAEA,KAAK,IAAIe,CAAC,GAAG,CAAC,EAAEA,CAAC,GAAGhE,sBAAsB,CAACiD,MAAM,EAAEe,CAAC,EAAE,EAAE;MACtD,IACED,cAAc,CAACC,CAAC,CAAC,CAACtD,SAAS,KAAKV,sBAAsB,CAACgE,CAAC,CAAC,CAACtD,SAAS,IACnEqD,cAAc,CAACC,CAAC,CAAC,CAACzD,KAAK,KAAKP,sBAAsB,CAACgE,CAAC,CAAC,CAACX,QAAQ,EAC9D;QACA,OAAO,IAAI;MACb;IACF;IAEA,OAAO,KAAK;EACd;EAEAY,mBAAmBA,CAACZ,QAAgB,EAAE;IACpC,OAAO,IAAI,CAACd,eAAe,CACxBrB,MAAM,CAAEd,MAAM,IAAK;MAClB,OAAOA,MAAM,CAAC4C,EAAE,KAAKK,QAAQ,IAAI,IAAI,CAACb,gBAAgB,CAACoB,GAAG,CAACxD,MAAM,CAAC4C,EAAE,CAAC;IACvE,CAAC,CAAC,CACDD,GAAG,CAAE3C,MAAM,KAAM;MAChB4C,EAAE,EAAE5C,MAAM,CAAC4C,EAAE;MACb7C,KAAK,EACF,OAAOC,MAAM,CAAC8D,KAAK,KAAK,QAAQ,IAAI9D,MAAM,CAAC8D,KAAK,IACjD9D,MAAM,CAACyB,IAAI,IACXzB,MAAM,CAAC4C;IACX,CAAC,CAAC,CAAC;EACP;EAEAxC,OAAOA,CAAC;IACNJ,MAAM;IACNK,KAAK;IACL0D,MAAM,GAAG;EAC+C,CAAC,GAAG,CAAC,CAAC,EAAE;IAChE,MAAMC,UAAU,GAAGhE,MAAM,IAAI,IAAI,CAACuD,8BAA8B,CAAC,CAAC;IAElE,IAAIS,UAAU,EAAE;MACd,MAAMd,cAAc,GAAG;QACrB5B,GAAG,EAAE,IAAA2C,QAAI,EAAC,CAAC;QACXhB,QAAQ,EAAEe,UAAU,CAACpB,EAAE;QACvBnB,IAAI,EAAEuC,UAAU,CAACF,KAAK,IAAIE,UAAU,CAACvC,IAAI,IAAIuC,UAAU,CAACpB,EAAE;QAC1DtC,SAAS,EAAED,KAAK,IAAI;MACtB,CAAC;MAED,IAAI,CAAC6D,eAAe,GAAGhB,cAAc,CAACD,QAAQ;MAC9C,IAAI,CAACrD,sBAAsB,CAACuE,IAAI,CAACjB,cAAc,CAAC;MAEhD,IAAIa,MAAM,EAAE;QACV,IAAI,CAACK,yBAAyB,GAAGlB,cAAc,CAACD,QAAQ;MAC1D;IACF;EACF;EAEAZ,UAAUA,CAACY,QAAgB,EAAE;IAC3B,MAAMoB,KAAK,GAAG,IAAI,CAACzE,sBAAsB,CAAC0E,SAAS,CAChDpB,cAAc,IAAKA,cAAc,CAACD,QAAQ,KAAKA,QAClD,CAAC;IAED,IAAIoB,KAAK,KAAK,CAAC,CAAC,EAAE;MAChB,IAAI,CAACH,eAAe,GAAGjB,QAAQ;MAC/B,IAAI,CAACrD,sBAAsB,CAAC2E,MAAM,CAACF,KAAK,EAAE,CAAC,CAAC;IAC9C;EACF;EAEA/B,eAAeA,CAACkC,gBAAwB,EAAElE,SAAoB,EAAE;IAC9D,MAAM;MAAEV;IAAuB,CAAC,GAAG,IAAI;IAEvC,MAAMyE,KAAK,GAAGzE,sBAAsB,CAAC0E,SAAS,CAC5C,CAAC;MAAErB;IAAS,CAAC,KAAKA,QAAQ,KAAKuB,gBACjC,CAAC;IAED,IAAIH,KAAK,KAAK,CAAC,CAAC,EAAE;MAChB,IAAI,CAACH,eAAe,GAAGM,gBAAgB;MACvC5E,sBAAsB,CAACyE,KAAK,CAAC,CAAC/D,SAAS,GAAGA,SAAS;IACrD;EACF;EAEAiC,WAAWA,CAACkC,WAAmB,EAAEC,WAAmB,EAAE;IACpD,MAAM;MAAE9E;IAAuB,CAAC,GAAG,IAAI;IAEvC,MAAMyE,KAAK,GAAGzE,sBAAsB,CAAC0E,SAAS,CAC5C,CAAC;MAAErB;IAAS,CAAC,KAAKwB,WAAW,KAAKxB,QACpC,CAAC;IAED,IAAIoB,KAAK,KAAK,CAAC,CAAC,EAAE;MAChB,IAAI,CAACH,eAAe,GAAGQ,WAAW;MAClC9E,sBAAsB,CAACyE,KAAK,CAAC,CAACpB,QAAQ,GAAGyB,WAAW;MACpD9E,sBAAsB,CAACyE,KAAK,CAAC,CAAC5C,IAAI,GAChC,IAAI,CAACxB,kBAAkB,CAACC,GAAG,CAACwE,WAAW,CAAC,CAAEjD,IAAI;IAClD;EACF;EAuBA3B,IAAIA,CAAA,EAAG;IACL,MAAM;MAAEJ;IAAW,CAAC,GAAG,IAAI,CAACD,KAAK;IACjC,MAAM;MAAEE,KAAK;MAAEgF;IAAQ,CAAC,GAAGjF,UAAU;IAErCiF,OAAO,CAACC,IAAI,CAAC,iBAAiB,EAAE;MAC9BC,MAAM,EAAE;IACV,CAAC,CAAC;IAEFlF,KAAK,CAACG,IAAI,CAACgF,YAAY,CAAC,IAAI,CAACrB,WAAW,CAAC,CAAC,CAAC;IAE3CkB,OAAO,CAACC,IAAI,CAAC,WAAW,EAAE;MACxBG,GAAG,EAAE;QAAEnC,EAAE,EAAE,IAAI,CAACsB;MAAgB;IAClC,CAAC,CAAC;IAEFxE,UAAU,CAACsF,YAAY,CAAC;MAAEC,WAAW,EAAE;IAAK,CAAC,CAAC;EAChD;EAEAC,mBAAmBA,CAAA,EAAG;IACpB,IAAI,CAAC7B,QAAQ,CACX,IAAA8B,wBAAe,EAACC,yBAAqB,CAAC,CAAC;MACrCjC,gBAAgB,EAAEkC,IAAI,CAACC,SAAS,CAAC,IAAI,CAACnC,gBAAgB,CAAC;MACvDoC,gBAAgB,EAAE,IAAI,CAACrD,YAAY;MACnCsD,QAAQ,EAAE,IAAI;MACdC,OAAO,EAAE,MAAM;MACfZ,MAAM,EAAE;IACV,CAAC,CACH,CAAC;EACH;EAEAa,oBAAoBA,CAAC;IACnBb,MAAM,GAAG;EAC2B,CAAC,GAAG,CAAC,CAAC,EAAE;IAC5C,IAAI,CAACxB,QAAQ,CACX,IAAA8B,wBAAe,EAACC,yBAAqB,CAAC,CAAC;MACrCjC,gBAAgB,EAAEkC,IAAI,CAACC,SAAS,CAAC,IAAI,CAACnC,gBAAgB,CAAC;MACvDoC,gBAAgB,EAAE,IAAI,CAACrD,YAAY;MACnCsD,QAAQ,EAAE,KAAK;MACfC,OAAO,EAAE,MAAM;MACfZ;IACF,CAAC,CACH,CAAC;EACH;EAEAc,IAAIA,CAAA,EAAG;IACL,MAAM;MACJlG,KAAK,EAAE;QACLC,UAAU,EAAE;UAAEC;QAAM;MACtB,CAAC;MACDa;IACF,CAAC,GAAG,IAAI;IAER,IAAI,CAACoF,iBAAiB,CAAC,CAAC;IAExB,MAAMC,SAAS,GAAG,CAChB,IAAAC,cAAQ,EACN,MAAM,IAAI,CAAClG,sBAAsB,CAAC+C,GAAG,CAAEtB,IAAI,KAAM;MAAE,GAAGA;IAAK,CAAC,CAAC,CAAC,EAC9D,MAAM;MACJ,IAAI,CAAC,IAAI,CAACqC,wBAAwB,CAAC,CAAC,EAAE;QACpC;MACF;MAEAlD,iBAAiB,CAACuF,eAAe,CAAC,CAAC;MACnC,IAAI,CAACjG,IAAI,CAAC,CAAC;IACb,CACF,CAAC,EACD,IAAAkG,yBAAgB,EAACrG,KAAK,CAACG,IAAI,CAACY,MAAM,EAAE,QAAQ,EAAE,IAAI,CAACkF,iBAAiB,CAAC,EACrE,IAAI,CAACpF,iBAAiB,CAACmF,IAAI,CAAC,CAAC,EAC7B,IAAI,CAAChE,WAAW,CAACgE,IAAI,CAAC,CAAC,CACxB;IAED,OAAO,MAAM;MACXE,SAAS,CAACI,OAAO,CAAEC,QAAQ,IAAKA,QAAQ,oBAARA,QAAQ,CAAG,CAAC,CAAC;IAC/C,CAAC;EACH;AACF;AAACC,OAAA,CAAAlH,sBAAA,GAAAA,sBAAA","ignoreList":[]}
|
|
@@ -18,6 +18,7 @@ class NestedTableNestedModeState {
|
|
|
18
18
|
(0, _defineProperty2.default)(this, "virtual", void 0);
|
|
19
19
|
(0, _defineProperty2.default)(this, "initTask", new _bexCore.TaskState());
|
|
20
20
|
(0, _defineProperty2.default)(this, "root", void 0);
|
|
21
|
+
(0, _defineProperty2.default)(this, "nestedTableDragAndDrop", null);
|
|
21
22
|
(0, _defineProperty2.default)(this, "getKeyedItem", key => this.root.getKeyedItem(key));
|
|
22
23
|
(0, _defineProperty2.default)(this, "getKeyedItemByIndex", ind => this.root.getKeyedItemByIndex(ind));
|
|
23
24
|
(0, _defineProperty2.default)(this, "retryErrorState", (0, _mobx.action)(() => {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_bexCore","require","_NestedCollectionState","_TableVirtualState","_NestedTableNodeState","_mobx","NestedTableNestedModeState","constructor","params","_defineProperty2","default","TaskState","key","root","getKeyedItem","ind","getKeyedItemByIndex","action","initTask","status","isError","runOnce","wrapper","container","rootLevelDescriptor","levels","Error","nestedCollection","NestedCollectionState","query","nodeCollection","rootNodeCollection","NestedTableNodeState","nestedTable","node","levelDescriptor","parentNode","parent","reportBi","virtual","TableVirtualState","table","multi","toolbar","tableState","total","originQuery","collection","keyedItems","_keyedItemsMap","expandAll","isFetchAllAborted","showEmptyState","hasAvailableItems","resultOriginQuerySearch","hasNonPersistentActiveFilters","showErrorState","showLoadingState","isLoading","errorStatus","init","disposers","skipCollectionInit","promise","forEach","d","exports"],"sources":["../../../../src/state/NestedTableState/NestedTableNestedModeState.ts"],"sourcesContent":["import { ReportBI, TaskState } from '@wix/bex-core';\n\nimport { NestedCollectionState } from './NestedCollectionState';\nimport { TableVirtualState } from '../TableVirtualState';\nimport { NestedTableNodeState } from './NestedTableNodeState';\nimport { action } from 'mobx';\nimport { NestedTableState } from './NestedTableState';\n\nexport interface NestedTableNestedModeStateBaseParams {}\n\nexport interface NestedTableNestedModeStateParams<C extends string>\n extends NestedTableNestedModeStateBaseParams {\n wrapper: NestedTableState<C>;\n reportBi: ReportBI;\n}\n\nexport class NestedTableNestedModeState<C extends string = string> {\n readonly wrapper;\n readonly container;\n readonly reportBi: ReportBI;\n readonly nestedCollection: NestedCollectionState;\n readonly virtual;\n\n readonly initTask = new TaskState();\n\n readonly root: NestedTableNodeState<C, any, any>;\n\n constructor(params: NestedTableNestedModeStateParams<C>) {\n const { wrapper } = params;\n this.wrapper = wrapper;\n this.container = wrapper.container;\n\n const rootLevelDescriptor = this.wrapper.levels[0];\n\n if (rootLevelDescriptor == null) {\n throw new Error('NestedTableState must have at least one level');\n }\n\n this.nestedCollection = new NestedCollectionState({\n container: this.container,\n levels: wrapper.levels,\n query: wrapper.query,\n nodeCollection: wrapper.rootNodeCollection,\n });\n\n this.root = new NestedTableNodeState({\n nestedTable: this,\n node: this.nestedCollection.root,\n levelDescriptor: rootLevelDescriptor,\n parentNode: null,\n parent: null,\n });\n\n this.reportBi = params.reportBi;\n\n this.virtual = new TableVirtualState({\n table: this,\n });\n }\n\n get multi() {\n return this.toolbar.multi;\n }\n\n get tableState() {\n return this.wrapper.tableState;\n }\n\n get toolbar() {\n return this.wrapper.toolbar;\n }\n\n get total() {\n return this.nestedCollection.total;\n }\n\n get originQuery() {\n return this.toolbar.collection.originQuery;\n }\n\n get keyedItems() {\n return this.root.keyedItems;\n }\n\n get _keyedItemsMap() {\n return this.root._keyedItemsMap;\n }\n\n getKeyedItem = (key: string) => this.root.getKeyedItem(key);\n\n getKeyedItemByIndex = (ind: number) => this.root.getKeyedItemByIndex(ind);\n\n get expandAll() {\n return this.nestedCollection.expandAll;\n }\n\n get isFetchAllAborted() {\n return this.nestedCollection.isFetchAllAborted;\n }\n\n get showEmptyState() {\n return this.toolbar.multi.showEmptyState;\n }\n\n get hasAvailableItems() {\n return this.toolbar.multi.hasAvailableItems;\n }\n\n get resultOriginQuerySearch() {\n return this.toolbar.multi.resultOriginQuerySearch;\n }\n\n get hasNonPersistentActiveFilters() {\n return this.toolbar.multi.hasNonPersistentActiveFilters;\n }\n\n get showErrorState() {\n const { initTask } = this;\n return initTask.status.isError;\n }\n\n get showLoadingState() {\n return this.initTask.status.isLoading;\n }\n\n retryErrorState = action(() => {\n const { initTask } = this;\n\n if (initTask.status.isError) {\n initTask.runOnce();\n }\n });\n\n get errorStatus() {\n const { initTask } = this;\n return initTask.errorStatus;\n }\n\n get query() {\n return this.wrapper.query;\n }\n\n get levels() {\n return this.wrapper.levels;\n }\n\n init() {\n const { initTask, wrapper, root } = this;\n\n const disposers = [\n wrapper.init(),\n root.init({ skipCollectionInit: true }), // collection is initialized by toolbar state\n ];\n\n initTask.runOnce(async () => {\n wrapper.initTask.runOnce();\n root.initTask.runOnce();\n\n await root.initTask.status.promise;\n await wrapper.initTask.status.promise;\n });\n\n return () => {\n disposers.forEach((d) => d());\n };\n }\n}\n"],"mappings":";;;;;;AAAA,IAAAA,QAAA,GAAAC,OAAA;AAEA,IAAAC,sBAAA,GAAAD,OAAA;AACA,IAAAE,kBAAA,GAAAF,OAAA;AACA,IAAAG,qBAAA,GAAAH,OAAA;AACA,IAAAI,KAAA,GAAAJ,OAAA;
|
|
1
|
+
{"version":3,"names":["_bexCore","require","_NestedCollectionState","_TableVirtualState","_NestedTableNodeState","_mobx","NestedTableNestedModeState","constructor","params","_defineProperty2","default","TaskState","key","root","getKeyedItem","ind","getKeyedItemByIndex","action","initTask","status","isError","runOnce","wrapper","container","rootLevelDescriptor","levels","Error","nestedCollection","NestedCollectionState","query","nodeCollection","rootNodeCollection","NestedTableNodeState","nestedTable","node","levelDescriptor","parentNode","parent","reportBi","virtual","TableVirtualState","table","multi","toolbar","tableState","total","originQuery","collection","keyedItems","_keyedItemsMap","expandAll","isFetchAllAborted","showEmptyState","hasAvailableItems","resultOriginQuerySearch","hasNonPersistentActiveFilters","showErrorState","showLoadingState","isLoading","errorStatus","init","disposers","skipCollectionInit","promise","forEach","d","exports"],"sources":["../../../../src/state/NestedTableState/NestedTableNestedModeState.ts"],"sourcesContent":["import { ReportBI, TaskState } from '@wix/bex-core';\n\nimport { NestedCollectionState } from './NestedCollectionState';\nimport { TableVirtualState } from '../TableVirtualState';\nimport { NestedTableNodeState } from './NestedTableNodeState';\nimport { action } from 'mobx';\nimport { NestedTableState } from './NestedTableState';\nimport { NestedTableDragAndDropState } from '../../components/NestedTableDragAndDrop/NestedTableDragAndDropState';\n\nexport interface NestedTableNestedModeStateBaseParams {}\n\nexport interface NestedTableNestedModeStateParams<C extends string>\n extends NestedTableNestedModeStateBaseParams {\n wrapper: NestedTableState<C>;\n reportBi: ReportBI;\n}\n\nexport class NestedTableNestedModeState<C extends string = string> {\n readonly wrapper;\n readonly container;\n readonly reportBi: ReportBI;\n readonly nestedCollection: NestedCollectionState;\n readonly virtual;\n\n readonly initTask = new TaskState();\n\n readonly root: NestedTableNodeState<C, any, any>;\n\n nestedTableDragAndDrop: NestedTableDragAndDropState<C> | null = null;\n\n constructor(params: NestedTableNestedModeStateParams<C>) {\n const { wrapper } = params;\n this.wrapper = wrapper;\n this.container = wrapper.container;\n\n const rootLevelDescriptor = this.wrapper.levels[0];\n\n if (rootLevelDescriptor == null) {\n throw new Error('NestedTableState must have at least one level');\n }\n\n this.nestedCollection = new NestedCollectionState({\n container: this.container,\n levels: wrapper.levels,\n query: wrapper.query,\n nodeCollection: wrapper.rootNodeCollection,\n });\n\n this.root = new NestedTableNodeState({\n nestedTable: this,\n node: this.nestedCollection.root,\n levelDescriptor: rootLevelDescriptor,\n parentNode: null,\n parent: null,\n });\n\n this.reportBi = params.reportBi;\n\n this.virtual = new TableVirtualState({\n table: this,\n });\n }\n\n get multi() {\n return this.toolbar.multi;\n }\n\n get tableState() {\n return this.wrapper.tableState;\n }\n\n get toolbar() {\n return this.wrapper.toolbar;\n }\n\n get total() {\n return this.nestedCollection.total;\n }\n\n get originQuery() {\n return this.toolbar.collection.originQuery;\n }\n\n get keyedItems() {\n return this.root.keyedItems;\n }\n\n get _keyedItemsMap() {\n return this.root._keyedItemsMap;\n }\n\n getKeyedItem = (key: string) => this.root.getKeyedItem(key);\n\n getKeyedItemByIndex = (ind: number) => this.root.getKeyedItemByIndex(ind);\n\n get expandAll() {\n return this.nestedCollection.expandAll;\n }\n\n get isFetchAllAborted() {\n return this.nestedCollection.isFetchAllAborted;\n }\n\n get showEmptyState() {\n return this.toolbar.multi.showEmptyState;\n }\n\n get hasAvailableItems() {\n return this.toolbar.multi.hasAvailableItems;\n }\n\n get resultOriginQuerySearch() {\n return this.toolbar.multi.resultOriginQuerySearch;\n }\n\n get hasNonPersistentActiveFilters() {\n return this.toolbar.multi.hasNonPersistentActiveFilters;\n }\n\n get showErrorState() {\n const { initTask } = this;\n return initTask.status.isError;\n }\n\n get showLoadingState() {\n return this.initTask.status.isLoading;\n }\n\n retryErrorState = action(() => {\n const { initTask } = this;\n\n if (initTask.status.isError) {\n initTask.runOnce();\n }\n });\n\n get errorStatus() {\n const { initTask } = this;\n return initTask.errorStatus;\n }\n\n get query() {\n return this.wrapper.query;\n }\n\n get levels() {\n return this.wrapper.levels;\n }\n\n init() {\n const { initTask, wrapper, root } = this;\n\n const disposers = [\n wrapper.init(),\n root.init({ skipCollectionInit: true }), // collection is initialized by toolbar state\n ];\n\n initTask.runOnce(async () => {\n wrapper.initTask.runOnce();\n root.initTask.runOnce();\n\n await root.initTask.status.promise;\n await wrapper.initTask.status.promise;\n });\n\n return () => {\n disposers.forEach((d) => d());\n };\n }\n}\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -7,16 +7,16 @@ var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/de
|
|
|
7
7
|
var _mobx = require("mobx");
|
|
8
8
|
class ResponsiveColumnsState {
|
|
9
9
|
constructor({
|
|
10
|
-
|
|
10
|
+
gridState,
|
|
11
11
|
minItemWidth,
|
|
12
12
|
rectState,
|
|
13
13
|
containerPadding = 0
|
|
14
14
|
}) {
|
|
15
|
-
(0, _defineProperty2.default)(this, "
|
|
15
|
+
(0, _defineProperty2.default)(this, "gridState", void 0);
|
|
16
16
|
(0, _defineProperty2.default)(this, "_minItemWidth", void 0);
|
|
17
17
|
(0, _defineProperty2.default)(this, "_rectState", void 0);
|
|
18
18
|
(0, _defineProperty2.default)(this, "_containerPadding", void 0);
|
|
19
|
-
this.
|
|
19
|
+
this.gridState = gridState;
|
|
20
20
|
this._minItemWidth = minItemWidth;
|
|
21
21
|
this._rectState = rectState;
|
|
22
22
|
this._containerPadding = containerPadding;
|
|
@@ -28,7 +28,7 @@ class ResponsiveColumnsState {
|
|
|
28
28
|
});
|
|
29
29
|
}
|
|
30
30
|
get gap() {
|
|
31
|
-
return this.
|
|
31
|
+
return this.gridState.gap;
|
|
32
32
|
}
|
|
33
33
|
get minItemWidth() {
|
|
34
34
|
return this._minItemWidth;
|
|
@@ -37,18 +37,18 @@ class ResponsiveColumnsState {
|
|
|
37
37
|
return this._rectState.rect.width ?? 0;
|
|
38
38
|
}
|
|
39
39
|
get widthWithLastColumnGap() {
|
|
40
|
-
return this.itemsContentWidth + this.
|
|
40
|
+
return this.itemsContentWidth + this.gap - this.containerPadding;
|
|
41
41
|
}
|
|
42
42
|
get containerPadding() {
|
|
43
43
|
return this._containerPadding;
|
|
44
44
|
}
|
|
45
45
|
get columnCount() {
|
|
46
46
|
const {
|
|
47
|
-
|
|
47
|
+
gap,
|
|
48
48
|
minItemWidth,
|
|
49
49
|
widthWithLastColumnGap
|
|
50
50
|
} = this;
|
|
51
|
-
const maxItemWidthWithGap = minItemWidth +
|
|
51
|
+
const maxItemWidthWithGap = minItemWidth + gap;
|
|
52
52
|
return Math.max(Math.floor(widthWithLastColumnGap / maxItemWidthWithGap), 1);
|
|
53
53
|
}
|
|
54
54
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_mobx","require","ResponsiveColumnsState","constructor","
|
|
1
|
+
{"version":3,"names":["_mobx","require","ResponsiveColumnsState","constructor","gridState","minItemWidth","rectState","containerPadding","_defineProperty2","default","_minItemWidth","_rectState","_containerPadding","makeObservable","itemsContentWidth","computed","widthWithLastColumnGap","columnCount","gap","rect","width","maxItemWidthWithGap","Math","max","floor","exports"],"sources":["../../../src/state/ResponsiveColumnsState.ts"],"sourcesContent":["import { RectState } from './RectState';\nimport { computed, makeObservable } from 'mobx';\n\ninterface ResponsiveColumnsStateParams {\n gridState: {\n gap: number;\n };\n minItemWidth: number;\n rectState: RectState;\n containerPadding?: number;\n}\n\nexport class ResponsiveColumnsState {\n readonly gridState;\n readonly _minItemWidth;\n readonly _rectState;\n readonly _containerPadding;\n\n constructor({\n gridState,\n minItemWidth,\n rectState,\n containerPadding = 0,\n }: ResponsiveColumnsStateParams) {\n this.gridState = gridState;\n this._minItemWidth = minItemWidth;\n this._rectState = rectState;\n this._containerPadding = containerPadding;\n\n makeObservable(this, {\n itemsContentWidth: computed,\n widthWithLastColumnGap: computed,\n columnCount: computed,\n containerPadding: computed,\n });\n }\n\n get gap() {\n return this.gridState.gap;\n }\n\n get minItemWidth() {\n return this._minItemWidth;\n }\n\n get itemsContentWidth() {\n return this._rectState.rect.width ?? 0;\n }\n\n get widthWithLastColumnGap() {\n return this.itemsContentWidth + this.gap - this.containerPadding;\n }\n\n get containerPadding() {\n return this._containerPadding;\n }\n\n get columnCount() {\n const { gap, minItemWidth, widthWithLastColumnGap } = this;\n\n const maxItemWidthWithGap = minItemWidth + gap;\n\n return Math.max(\n Math.floor(widthWithLastColumnGap / maxItemWidthWithGap),\n 1,\n );\n }\n}\n"],"mappings":";;;;;;AACA,IAAAA,KAAA,GAAAC,OAAA;AAWO,MAAMC,sBAAsB,CAAC;EAMlCC,WAAWA,CAAC;IACVC,SAAS;IACTC,YAAY;IACZC,SAAS;IACTC,gBAAgB,GAAG;EACS,CAAC,EAAE;IAAA,IAAAC,gBAAA,CAAAC,OAAA;IAAA,IAAAD,gBAAA,CAAAC,OAAA;IAAA,IAAAD,gBAAA,CAAAC,OAAA;IAAA,IAAAD,gBAAA,CAAAC,OAAA;IAC/B,IAAI,CAACL,SAAS,GAAGA,SAAS;IAC1B,IAAI,CAACM,aAAa,GAAGL,YAAY;IACjC,IAAI,CAACM,UAAU,GAAGL,SAAS;IAC3B,IAAI,CAACM,iBAAiB,GAAGL,gBAAgB;IAEzC,IAAAM,oBAAc,EAAC,IAAI,EAAE;MACnBC,iBAAiB,EAAEC,cAAQ;MAC3BC,sBAAsB,EAAED,cAAQ;MAChCE,WAAW,EAAEF,cAAQ;MACrBR,gBAAgB,EAAEQ;IACpB,CAAC,CAAC;EACJ;EAEA,IAAIG,GAAGA,CAAA,EAAG;IACR,OAAO,IAAI,CAACd,SAAS,CAACc,GAAG;EAC3B;EAEA,IAAIb,YAAYA,CAAA,EAAG;IACjB,OAAO,IAAI,CAACK,aAAa;EAC3B;EAEA,IAAII,iBAAiBA,CAAA,EAAG;IACtB,OAAO,IAAI,CAACH,UAAU,CAACQ,IAAI,CAACC,KAAK,IAAI,CAAC;EACxC;EAEA,IAAIJ,sBAAsBA,CAAA,EAAG;IAC3B,OAAO,IAAI,CAACF,iBAAiB,GAAG,IAAI,CAACI,GAAG,GAAG,IAAI,CAACX,gBAAgB;EAClE;EAEA,IAAIA,gBAAgBA,CAAA,EAAG;IACrB,OAAO,IAAI,CAACK,iBAAiB;EAC/B;EAEA,IAAIK,WAAWA,CAAA,EAAG;IAChB,MAAM;MAAEC,GAAG;MAAEb,YAAY;MAAEW;IAAuB,CAAC,GAAG,IAAI;IAE1D,MAAMK,mBAAmB,GAAGhB,YAAY,GAAGa,GAAG;IAE9C,OAAOI,IAAI,CAACC,GAAG,CACbD,IAAI,CAACE,KAAK,CAACR,sBAAsB,GAAGK,mBAAmB,CAAC,EACxD,CACF,CAAC;EACH;AACF;AAACI,OAAA,CAAAvB,sBAAA,GAAAA,sBAAA","ignoreList":[]}
|
|
@@ -5,14 +5,12 @@ exports.__esModule = true;
|
|
|
5
5
|
exports.TableState = void 0;
|
|
6
6
|
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
|
7
7
|
var _ToolbarCollectionState = require("./ToolbarCollectionState");
|
|
8
|
-
var _mobx = require("mobx");
|
|
9
8
|
var _TableVirtualState = require("./TableVirtualState");
|
|
10
9
|
class TableState {
|
|
11
10
|
constructor(params) {
|
|
12
11
|
(0, _defineProperty2.default)(this, "toolbar", void 0);
|
|
13
12
|
(0, _defineProperty2.default)(this, "virtual", void 0);
|
|
14
13
|
(0, _defineProperty2.default)(this, "tableDragAndDropState", null);
|
|
15
|
-
(0, _defineProperty2.default)(this, "tableDragAndDropStateInitialized", false);
|
|
16
14
|
(0, _defineProperty2.default)(this, "retryErrorState", () => this.toolbar.retryErrorState());
|
|
17
15
|
(0, _defineProperty2.default)(this, "onAddItemActionComplete", async items => {
|
|
18
16
|
return this.toolbar.onAddItemActionComplete(items);
|
|
@@ -25,9 +23,6 @@ class TableState {
|
|
|
25
23
|
this.virtual = new _TableVirtualState.TableVirtualState({
|
|
26
24
|
table: this
|
|
27
25
|
});
|
|
28
|
-
(0, _mobx.makeObservable)(this, {
|
|
29
|
-
tableDragAndDropStateInitialized: _mobx.observable.ref
|
|
30
|
-
});
|
|
31
26
|
}
|
|
32
27
|
|
|
33
28
|
// backwards compat
|
|
@@ -62,7 +57,6 @@ class TableState {
|
|
|
62
57
|
}
|
|
63
58
|
const {
|
|
64
59
|
tableDragAndDropState,
|
|
65
|
-
tableDragAndDropStateInitialized,
|
|
66
60
|
toolbar
|
|
67
61
|
} = this;
|
|
68
62
|
const {
|
|
@@ -83,14 +77,13 @@ class TableState {
|
|
|
83
77
|
stickyColumns
|
|
84
78
|
});
|
|
85
79
|
}
|
|
86
|
-
|
|
87
|
-
if (dragAndDropIsEffective) {
|
|
80
|
+
if (tableDragAndDropState) {
|
|
88
81
|
stickyColumns = tableDragAndDropState.getStickyColumnsCount({
|
|
89
82
|
...params,
|
|
90
83
|
stickyColumns
|
|
91
84
|
});
|
|
92
85
|
}
|
|
93
|
-
const checkboxColumnStickyCompat = reorderDisabledColumnsIsEffective || stickySelectionColumn ||
|
|
86
|
+
const checkboxColumnStickyCompat = reorderDisabledColumnsIsEffective || stickySelectionColumn || tableDragAndDropState != null;
|
|
94
87
|
if (showSelection && checkboxColumnStickyCompat) {
|
|
95
88
|
stickyColumns += 1;
|
|
96
89
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_ToolbarCollectionState","require","
|
|
1
|
+
{"version":3,"names":["_ToolbarCollectionState","require","_TableVirtualState","TableState","constructor","params","_defineProperty2","default","toolbar","retryErrorState","items","onAddItemActionComplete","ToolbarCollectionState","collection","container","componentType","virtual","TableVirtualState","table","tableState","itemsContentWidth","itemsContentRect","rect","width","itemsToRenderCount","result","size","init","keyedItems","getStickyColumnsCount","_customColumnsState$d","horizontalScroll","stickyColumns","tableDragAndDropState","customColumnsState","customColumnsProps","customColumnsStateInitialized","stickySelectionColumn","showSelection","customColumnsIsEffective","reorderDisabledColumnsIsEffective","dragAndDrop","orderedColumnsByReorderDisabled","reorderDisabled","length","checkboxColumnStickyCompat","showEmptyState","multi","hasAvailableItems","resultOriginQuerySearch","hasNonPersistentActiveFilters","showErrorState","errorStatus","showLoadingState","initTask","status","isIdle","isLoading","exports"],"sources":["../../../src/state/TableState.ts"],"sourcesContent":["import {\n CollectionState,\n FiltersMap,\n WixPatternsContainer,\n} from '@wix/bex-core';\nimport {\n ToolbarCollectionState,\n ToolbarCollectionStateParamsInitParams,\n} from './ToolbarCollectionState';\nimport { TableVirtualState } from './TableVirtualState';\nimport { DragAndDropState } from '../components/DragAndDrop';\nimport { ICollectionComponentState } from './ICollectionComponentState';\n\nexport interface TableStateParams<T, F extends FiltersMap> {\n readonly collection: CollectionState<T, F>;\n readonly container: WixPatternsContainer;\n readonly toolbar?: ToolbarCollectionState<T, F>;\n}\n\ninterface TableDragAndDropStateBase<T, F extends FiltersMap> {\n getStickyColumnsCount: (params: { stickyColumns: number }) => number;\n init: () => void;\n dnd: DragAndDropState<T, F>;\n}\n\nexport interface TableStateInitParams\n extends ToolbarCollectionStateParamsInitParams {\n hasMultiLevelSorting?: boolean;\n}\n\nexport class TableState<T, F extends FiltersMap>\n implements ICollectionComponentState<T>\n{\n readonly toolbar;\n readonly virtual;\n\n tableDragAndDropState: TableDragAndDropStateBase<T, F> | null = null;\n\n constructor(params: TableStateParams<T, F>) {\n this.toolbar =\n params.toolbar ??\n new ToolbarCollectionState({\n collection: params.collection,\n container: params.container,\n componentType: 'Table',\n });\n\n this.virtual = new TableVirtualState({\n table: this,\n });\n }\n\n // backwards compat\n get table() {\n return this.toolbar;\n }\n\n get collection() {\n return this.table.collection;\n }\n\n get tableState() {\n return this;\n }\n\n get itemsContentWidth() {\n return this.toolbar.itemsContentRect.rect.width ?? 0;\n }\n\n get itemsToRenderCount() {\n return this.collection.result.size;\n }\n\n init(params: TableStateInitParams) {\n return this.table.init(params);\n }\n\n get keyedItems() {\n return this.collection.result.keyedItems;\n }\n\n getStickyColumnsCount(params: {\n stickyColumns?: number;\n horizontalScroll?: boolean;\n showSelection?: boolean;\n stickySelectionColumn?: boolean;\n }) {\n const { horizontalScroll } = params;\n\n if (!horizontalScroll) {\n return params.stickyColumns;\n }\n\n const { tableDragAndDropState, toolbar } = this;\n\n const {\n customColumnsState,\n customColumnsProps,\n customColumnsStateInitialized,\n } = toolbar;\n\n const { stickySelectionColumn, showSelection } = params;\n\n let stickyColumns = params.stickyColumns ?? 0;\n\n const customColumnsIsEffective =\n customColumnsProps && customColumnsState && customColumnsStateInitialized;\n\n const reorderDisabledColumnsIsEffective =\n !!customColumnsState?.dragAndDrop?.orderedColumnsByReorderDisabled\n .reorderDisabled?.length;\n\n if (customColumnsIsEffective) {\n stickyColumns = customColumnsState.getStickyColumnsCount({\n ...params,\n stickyColumns,\n });\n }\n\n if (tableDragAndDropState) {\n stickyColumns = tableDragAndDropState.getStickyColumnsCount({\n ...params,\n stickyColumns,\n });\n }\n\n const checkboxColumnStickyCompat =\n reorderDisabledColumnsIsEffective ||\n stickySelectionColumn ||\n tableDragAndDropState != null;\n\n if (showSelection && checkboxColumnStickyCompat) {\n stickyColumns += 1;\n }\n\n return stickyColumns;\n }\n\n get showEmptyState() {\n return this.toolbar.multi.showEmptyState;\n }\n\n get hasAvailableItems() {\n return this.toolbar.multi.hasAvailableItems;\n }\n\n get resultOriginQuerySearch() {\n return this.toolbar.multi.resultOriginQuerySearch;\n }\n\n get hasNonPersistentActiveFilters() {\n return this.toolbar.multi.hasNonPersistentActiveFilters;\n }\n\n get showErrorState() {\n return this.toolbar.multi.showErrorState;\n }\n\n get errorStatus() {\n return this.toolbar.multi.errorStatus;\n }\n\n get showLoadingState() {\n const { initTask, toolbar } = this;\n return (\n initTask.status.isIdle ||\n initTask.status.isLoading ||\n toolbar.multi.showLoadingState\n );\n }\n\n get initTask() {\n return this.toolbar.initTask;\n }\n\n retryErrorState = () => this.toolbar.retryErrorState();\n\n onAddItemActionComplete = async (items: T[]) => {\n return this.toolbar.onAddItemActionComplete(items);\n };\n}\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -49,7 +49,6 @@ class ToolbarCollectionState {
|
|
|
49
49
|
current: null
|
|
50
50
|
});
|
|
51
51
|
(0, _defineProperty2.default)(this, "collectionDataExtension", null);
|
|
52
|
-
(0, _defineProperty2.default)(this, "extensionMenuItems", null);
|
|
53
52
|
(0, _defineProperty2.default)(this, "tagsCollectionState", null);
|
|
54
53
|
(0, _defineProperty2.default)(this, "toolbarFiltersState", null);
|
|
55
54
|
(0, _defineProperty2.default)(this, "toolbarFiltersStateInitialized", false);
|
|
@@ -294,7 +293,6 @@ class ToolbarCollectionState {
|
|
|
294
293
|
};
|
|
295
294
|
(0, _mobx.makeObservable)(this, {
|
|
296
295
|
_userColumns: _mobx.observable.ref,
|
|
297
|
-
_dnd: _mobx.observable.ref,
|
|
298
296
|
_extendedColumns: _mobx.observable.ref,
|
|
299
297
|
columns: _mobx.computed,
|
|
300
298
|
customColumnsStateInitialized: _mobx.observable.ref,
|