@wix/patterns 1.13.0 → 1.15.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/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/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/Fade/Fade.st.css.js +2 -2
- package/dist/cjs/components/Fade/Fade.st.css.js.map +1 -1
- package/dist/cjs/components/Grid/Grid.js.map +1 -1
- package/dist/cjs/components/Grid/GridContent.js +7 -7
- 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 +5 -3
- 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 +11 -0
- package/dist/cjs/components/Grid/useGridBaseSyncProps.js.map +1 -1
- 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 +7 -5
- package/dist/cjs/components/GridSections/GridSectionAndRepeater.js.map +1 -1
- package/dist/cjs/components/GridSections/GridSectionsSectionState.js +5 -2
- package/dist/cjs/components/GridSections/GridSectionsSectionState.js.map +1 -1
- package/dist/cjs/components/Heading/Heading.st.css.js +2 -2
- package/dist/cjs/components/Heading/Heading.st.css.js.map +1 -1
- package/dist/cjs/components/InputOverflow/InputOverflow.st.css.js +2 -2
- package/dist/cjs/components/InputOverflow/InputOverflow.st.css.js.map +1 -1
- package/dist/cjs/components/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/MultiBulkActionToolbar/MultiBulkActionToolbar.st.css.js +2 -2
- package/dist/cjs/components/MultiBulkActionToolbar/MultiBulkActionToolbar.st.css.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/SingleSelectFilterBase/SingleSelectFilterBase.js +1 -0
- package/dist/cjs/components/SingleSelectFilterBase/SingleSelectFilterBase.js.map +1 -1
- package/dist/cjs/components/SkeletonCard/SkeletonCard.st.css.js +3 -3
- package/dist/cjs/components/SkeletonCard/SkeletonCard.st.css.js.map +1 -1
- package/dist/cjs/components/SlidingModal/SlidingModal.st.css.js +2 -2
- package/dist/cjs/components/SlidingModal/SlidingModal.st.css.js.map +1 -1
- package/dist/cjs/components/Table/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/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/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/useColumnsSyncProps.js +10 -2
- package/dist/cjs/hooks/useColumnsSyncProps.js.map +1 -1
- package/dist/cjs/hooks/useOptionalCachedState.js +22 -0
- package/dist/cjs/hooks/useOptionalCachedState.js.map +1 -0
- package/dist/cjs/hooks/useTableCollection.js +6 -14
- package/dist/cjs/hooks/useTableCollection.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 +6 -2
- package/dist/cjs/state/GridBaseState.js.map +1 -1
- package/dist/cjs/state/GridFoldersState.js.map +1 -1
- package/dist/cjs/state/GridState.js.map +1 -1
- package/dist/cjs/state/ICollectionComponentState.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/NestedTableState/NestedTableState.js.map +1 -1
- package/dist/cjs/state/TableFoldersState.js.map +1 -1
- package/dist/cjs/state/TableGridSwitchFoldersState.js.map +1 -1
- package/dist/cjs/state/TableGridSwitchState.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 -1
- package/dist/cjs/state/ToolbarCollectionState.js.map +1 -1
- package/dist/cjs/state/WixPatternsRouterState.js +3 -1
- package/dist/cjs/state/WixPatternsRouterState.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/utils/getCollectionComponentUniqueId.js +9 -0
- package/dist/cjs/utils/getCollectionComponentUniqueId.js.map +1 -0
- 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/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/SearchOrCustomFilter.st.css.js +2 -2
- package/dist/esm/components/CollectionViewsDropdown/AutoCompleteReadonly.st.css.js +2 -2
- package/dist/esm/components/CollectionViewsDropdown/AutoCompleteReadonly.st.css.js.map +1 -1
- package/dist/esm/components/CollectionViewsDropdown/ViewsDropdown.st.css.js +2 -2
- package/dist/esm/components/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/Fade/Fade.st.css.js +2 -2
- package/dist/esm/components/Grid/Grid.js.map +1 -1
- 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 +2 -1
- 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 +10 -1
- package/dist/esm/components/Grid/useGridBaseSyncProps.js.map +1 -1
- 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 +2 -1
- package/dist/esm/components/GridSections/GridSectionAndRepeater.js.map +1 -1
- package/dist/esm/components/GridSections/GridSectionsSectionState.js +3 -2
- package/dist/esm/components/GridSections/GridSectionsSectionState.js.map +1 -1
- 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/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/MaxLines/MaxLines.st.css.js +2 -2
- package/dist/esm/components/MultiBulkActionToolbar/MultiBulkActionToolbar.st.css.js +2 -2
- package/dist/esm/components/MultiBulkActionToolbar/MultiBulkActionToolbar.st.css.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/NestedTableRow.st.css.js.map +1 -1
- 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/PickerContent/PickerContentAdditionalStep.st.css.js.map +1 -1
- 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/ScrollableContent/ScrollableContent.st.css.js.map +1 -1
- package/dist/esm/components/SingleSelectFilterBase/SingleSelectFilterBase.js +1 -1
- package/dist/esm/components/SingleSelectFilterBase/SingleSelectFilterBase.js.map +1 -1
- package/dist/esm/components/SkeletonCard/SkeletonCard.st.css.js +2 -2
- package/dist/esm/components/SlidingModal/SlidingModal.st.css.js +2 -2
- package/dist/esm/components/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/TabsFilter/TabsFilter.st.css.js +2 -2
- package/dist/esm/components/Tags/ManageTags/ManageTagsModal/ManageTagsModal.st.css.js +2 -2
- package/dist/esm/components/ToolbarItemBox/ToolbarItemBox.st.css.js +2 -2
- package/dist/esm/components/common.st.css.js +2 -2
- package/dist/esm/hooks/useColumnsSyncProps.js +8 -2
- package/dist/esm/hooks/useColumnsSyncProps.js.map +1 -1
- package/dist/esm/hooks/useOptionalCachedState.js +18 -0
- package/dist/esm/hooks/useOptionalCachedState.js.map +1 -0
- package/dist/esm/hooks/useTableCollection.js +3 -11
- package/dist/esm/hooks/useTableCollection.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 +9 -5
- package/dist/esm/state/GridBaseState.js.map +1 -1
- package/dist/esm/state/GridFoldersState.js.map +1 -1
- package/dist/esm/state/GridState.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/NestedTableState/NestedTableState.js.map +1 -1
- package/dist/esm/state/TableFoldersState.js.map +1 -1
- package/dist/esm/state/TableGridSwitchFoldersState.js.map +1 -1
- package/dist/esm/state/TableGridSwitchState.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 -1
- package/dist/esm/state/ToolbarCollectionState.js.map +1 -1
- package/dist/esm/state/WixPatternsRouterState.js +3 -1
- package/dist/esm/state/WixPatternsRouterState.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/utils/getCollectionComponentUniqueId.js +4 -0
- package/dist/esm/utils/getCollectionComponentUniqueId.js.map +1 -0
- package/dist/esm/version.js +1 -1
- package/dist/types/components/CollectionViewsDropdown/AutoCompleteReadonly.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/Grid/Grid.d.ts +2 -2
- package/dist/types/components/Grid/Grid.d.ts.map +1 -1
- package/dist/types/components/Grid/GridContent.d.ts +3 -2
- package/dist/types/components/Grid/GridContent.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 +2 -2
- package/dist/types/components/Grid/useGridBaseSyncProps.d.ts.map +1 -1
- 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/GridSectionsSectionState.d.ts +1 -0
- package/dist/types/components/GridSections/GridSectionsSectionState.d.ts.map +1 -1
- package/dist/types/components/Heading/Heading.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/MultiBulkActionToolbar/MultiBulkActionToolbar.st.css.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/NestedTableRow.st.css.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/PickerContent/PickerContentAdditionalStep.st.css.d.ts.map +1 -1
- package/dist/types/components/ScrollableContent/ScrollableContent.st.css.d.ts.map +1 -1
- package/dist/types/components/SingleSelectFilterBase/SingleSelectFilterBase.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/TableGridSwitchDragAndDrop.d.ts +18 -1
- package/dist/types/components/TableGridSwitch/TableGridSwitchDragAndDrop.d.ts.map +1 -1
- package/dist/types/hooks/useColumnsSyncProps.d.ts.map +1 -1
- package/dist/types/hooks/useOptionalCachedState.d.ts +3 -0
- package/dist/types/hooks/useOptionalCachedState.d.ts.map +1 -0
- package/dist/types/hooks/useTableCollection.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 +4 -2
- package/dist/types/state/GridBaseState.d.ts.map +1 -1
- package/dist/types/state/GridFoldersState.d.ts +2 -1
- package/dist/types/state/GridFoldersState.d.ts.map +1 -1
- package/dist/types/state/GridState.d.ts +2 -1
- package/dist/types/state/GridState.d.ts.map +1 -1
- package/dist/types/state/ICollectionComponentState.d.ts +2 -2
- package/dist/types/state/ICollectionComponentState.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/NestedTableState/NestedTableState.d.ts +2 -1
- package/dist/types/state/NestedTableState/NestedTableState.d.ts.map +1 -1
- package/dist/types/state/TableFoldersState.d.ts +2 -1
- package/dist/types/state/TableFoldersState.d.ts.map +1 -1
- package/dist/types/state/TableGridSwitchFoldersState.d.ts +2 -1
- package/dist/types/state/TableGridSwitchFoldersState.d.ts.map +1 -1
- package/dist/types/state/TableGridSwitchState.d.ts +2 -1
- package/dist/types/state/TableGridSwitchState.d.ts.map +1 -1
- package/dist/types/state/TableState.d.ts +4 -9
- package/dist/types/state/TableState.d.ts.map +1 -1
- package/dist/types/state/ToolbarCollectionState.d.ts +1 -1
- package/dist/types/state/ToolbarCollectionState.d.ts.map +1 -1
- package/dist/types/state/WixPatternsRouterState.d.ts +2 -2
- package/dist/types/state/WixPatternsRouterState.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/utils/getCollectionComponentUniqueId.d.ts +3 -0
- package/dist/types/utils/getCollectionComponentUniqueId.d.ts.map +1 -0
- 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/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/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/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","layoutType","_containerRectState","RectState","_responsiveColumnsState","ResponsiveColumnsState","gridState","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","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 { DragAndDropState } 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}\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 _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.layoutType = params.layoutType ?? 'grid';\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 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 _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 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":[]}
|
|
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":[]}
|
|
@@ -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","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":[]}
|
|
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';\nimport { ICollectionComponentState } from './ICollectionComponentState';\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> implements ICollectionComponentState\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":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_ToolbarCollectionState","require","GridState","constructor","params","_defineProperty2","default","items","toolbar","onAddItemActionComplete","container","collection","ToolbarCollectionState","componentType","init","disposers","disposer","exports"],"sources":["../../../src/state/GridState.ts"],"sourcesContent":["import {\n CollectionState,\n FiltersMap,\n WixPatternsContainer,\n} from '@wix/bex-core';\nimport {\n ToolbarCollectionState,\n ToolbarCollectionStateParamsInitParams,\n} from './ToolbarCollectionState';\nimport { GridBaseState } from './GridBaseState';\nimport { GridSectionsState } from '../components/GridSections/GridSectionsState';\n\nexport interface GridStateParams<T, F extends FiltersMap> {\n readonly collection: CollectionState<T, F>;\n readonly container: WixPatternsContainer;\n readonly toolbar?: ToolbarCollectionState<T, F>;\n}\n\nexport interface GridStateInitParams\n extends ToolbarCollectionStateParamsInitParams {}\n\nexport interface GridStatePublicAPI<T, F extends FiltersMap> {\n /**\n * Underlying [CollectionState](./?path=/story/common-state--collectionstate) instance\n * @external\n */\n readonly collection: CollectionState<T, F>;\n /**\n * Underlying [ToolbarCollectionState](./?path=/story/common-state--toolbarcollectionstate) instance\n * @external\n */\n readonly toolbar: ToolbarCollectionState<T, F>;\n\n /**\n * Reset active filters & sorting and adds new items to the collection.\n * @param items - new items to add to the collection\n * @external\n */\n onAddItemActionComplete(items: T[]): void;\n}\n\nexport class GridState<T, F extends FiltersMap
|
|
1
|
+
{"version":3,"names":["_ToolbarCollectionState","require","GridState","constructor","params","_defineProperty2","default","items","toolbar","onAddItemActionComplete","container","collection","ToolbarCollectionState","componentType","init","disposers","disposer","exports"],"sources":["../../../src/state/GridState.ts"],"sourcesContent":["import {\n CollectionState,\n FiltersMap,\n WixPatternsContainer,\n} from '@wix/bex-core';\nimport {\n ToolbarCollectionState,\n ToolbarCollectionStateParamsInitParams,\n} from './ToolbarCollectionState';\nimport { GridBaseState } from './GridBaseState';\nimport { GridSectionsState } from '../components/GridSections/GridSectionsState';\nimport { ICollectionComponentState } from './ICollectionComponentState';\n\nexport interface GridStateParams<T, F extends FiltersMap> {\n readonly collection: CollectionState<T, F>;\n readonly container: WixPatternsContainer;\n readonly toolbar?: ToolbarCollectionState<T, F>;\n}\n\nexport interface GridStateInitParams\n extends ToolbarCollectionStateParamsInitParams {}\n\nexport interface GridStatePublicAPI<T, F extends FiltersMap> {\n /**\n * Underlying [CollectionState](./?path=/story/common-state--collectionstate) instance\n * @external\n */\n readonly collection: CollectionState<T, F>;\n /**\n * Underlying [ToolbarCollectionState](./?path=/story/common-state--toolbarcollectionstate) instance\n * @external\n */\n readonly toolbar: ToolbarCollectionState<T, F>;\n\n /**\n * Reset active filters & sorting and adds new items to the collection.\n * @param items - new items to add to the collection\n * @external\n */\n onAddItemActionComplete(items: T[]): void;\n}\n\nexport class GridState<T, F extends FiltersMap>\n implements GridStatePublicAPI<T, F>, ICollectionComponentState\n{\n readonly toolbar;\n readonly container;\n readonly collection;\n\n readonly _subGrids = [] as GridBaseState<T, F>[];\n _sections?: GridSectionsState<T, F>;\n\n constructor(params: GridStateParams<T, F>) {\n this.container = params.container;\n this.collection = params.collection;\n\n this.toolbar =\n params.toolbar ??\n new ToolbarCollectionState({\n collection: params.collection,\n container: params.container,\n componentType: 'Grid',\n });\n }\n\n init(params: GridStateInitParams) {\n const disposers = [this.toolbar.init(params)];\n\n return () => {\n for (const disposer of disposers) {\n disposer();\n }\n };\n }\n\n onAddItemActionComplete = async (items: T[]) => {\n return this.toolbar.onAddItemActionComplete(items);\n };\n}\n"],"mappings":";;;;;;AAKA,IAAAA,uBAAA,GAAAC,OAAA;AAqCO,MAAMC,SAAS,CAEtB;EAQEC,WAAWA,CAACC,MAA6B,EAAE;IAAA,IAAAC,gBAAA,CAAAC,OAAA;IAAA,IAAAD,gBAAA,CAAAC,OAAA;IAAA,IAAAD,gBAAA,CAAAC,OAAA;IAAA,IAAAD,gBAAA,CAAAC,OAAA,qBAHtB,EAAE;IAAA,IAAAD,gBAAA,CAAAC,OAAA;IAAA,IAAAD,gBAAA,CAAAC,OAAA,mCA0BG,MAAOC,KAAU,IAAK;MAC9C,OAAO,IAAI,CAACC,OAAO,CAACC,uBAAuB,CAACF,KAAK,CAAC;IACpD,CAAC;IAxBC,IAAI,CAACG,SAAS,GAAGN,MAAM,CAACM,SAAS;IACjC,IAAI,CAACC,UAAU,GAAGP,MAAM,CAACO,UAAU;IAEnC,IAAI,CAACH,OAAO,GACVJ,MAAM,CAACI,OAAO,IACd,IAAII,8CAAsB,CAAC;MACzBD,UAAU,EAAEP,MAAM,CAACO,UAAU;MAC7BD,SAAS,EAAEN,MAAM,CAACM,SAAS;MAC3BG,aAAa,EAAE;IACjB,CAAC,CAAC;EACN;EAEAC,IAAIA,CAACV,MAA2B,EAAE;IAChC,MAAMW,SAAS,GAAG,CAAC,IAAI,CAACP,OAAO,CAACM,IAAI,CAACV,MAAM,CAAC,CAAC;IAE7C,OAAO,MAAM;MACX,KAAK,MAAMY,QAAQ,IAAID,SAAS,EAAE;QAChCC,QAAQ,CAAC,CAAC;MACZ;IACF,CAAC;EACH;AAKF;AAACC,OAAA,CAAAf,SAAA,GAAAA,SAAA","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":[],"sources":["../../../src/state/ICollectionComponentState.ts"],"sourcesContent":["import { ToolbarCollectionState } from './ToolbarCollectionState';\n\nexport interface ICollectionComponentState
|
|
1
|
+
{"version":3,"names":[],"sources":["../../../src/state/ICollectionComponentState.ts"],"sourcesContent":["import { ToolbarCollectionState } from './ToolbarCollectionState';\n\nexport interface ICollectionComponentState {\n toolbar: ToolbarCollectionState<any, any>;\n}\n"],"mappings":"","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":"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","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":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_bexCore","require","_ToolbarCollectionState","_TableState","_NestedTableNestedModeState","_NestedTableFlatModeState","_NestedCollectionFetchAllState","_util","_mobx","NestedTableState","constructor","params","_defineProperty2","default","TaskState","container","query","QueryState","filters","levels","map","level","i","depth","options","fetchAllThreshold","expandAllThreshold","mainColumn","rootLevelDescriptor","Error","rootNodeCollection","createCollection","collection","syncWithSharedQuery","reportBi","reportProps","isFetchAllAborted","componentStatus","toolbar","ToolbarCollectionState","componentType","setNewColumns","columns","column","render","tableState","TableState","nested","NestedTableNestedModeState","wrapper","flat","NestedTableFlatModeState","expandAll","nestedCollection","_attemptFetchAllAndPopulateCache","initTask","init","runOnce","fetchAllState","NestedCollectionFetchAllState","nestedCollectionState","disposers","status","promise","forEach","d","isFlatMode","hasActiveFilters","attemptFetchAllState","reaction","_fields","add","delete","fireImmediately","addEventListener","emitter","sections","featuresInitializers","reset","exports"],"sources":["../../../../src/state/NestedTableState/NestedTableState.ts"],"sourcesContent":["import {\n WixPatternsContainer,\n QueryState,\n ReportBI,\n syncWithSharedQuery,\n TaskState,\n} from '@wix/bex-core';\nimport { ToolbarCollectionState } from '../ToolbarCollectionState';\nimport { TableState } from '../TableState';\nimport { TableColumn } from '../../model';\nimport { NestedTableColumn } from './NestedTableColumn';\nimport { NestedTableNestedModeState } from './NestedTableNestedModeState';\nimport { NestedTableFlatModeState } from './NestedTableFlatModeState';\nimport { NestedCollectionFetchAllState } from './NestedCollectionFetchAllState';\nimport { NestedTableLevelDescriptor } from './NestedTableLevelDescriptor';\nimport { EagerLazyModeOptions } from './types';\nimport { addEventListener } from '@wix/bex-core/util';\nimport { reaction } from 'mobx';\n\nexport interface NestedTableStateBaseParams<C extends string> {\n /**\n * If the total items in the server are less or equal to this threshold, all items will be fetched and rendered at once, in expanded state (referred to as \"Eager\" mode).\n * @default 1000\n */\n fetchAllThreshold?: number;\n /**\n * In \"Eager\" mode, items will be in expanded state. This threshold allows to use collapsed state if the total items in the server are greater than this threshold.\n * @default 0\n */\n expandAllThreshold?: number;\n /**\n * Columns to be rendered in the nested table. Same as [regular table columns](./?path=%2Fstory%2Fcomponents-collection--table&tab=API) - without rendering logic of cells (defined for each level individually in the `levels` prop).\n */\n columns: NestedTableColumn<C>[];\n /**\n * Main column of the nested table.\n * An object with the following properties:\n * - `title`: The title of the column. @default ''\n * - `width`: The width of the column. Can be a number (in pixels) or a string (percentage). @default '326px'\n */\n mainColumn?: {\n title?: string;\n width?: number | string;\n };\n /**\n * Defines the collection for each level in the nested table.\n * Each level needs to specify:\n * - `createCollection`: A function that creates a collection for the current level (using `useCreateCollection` hook), and returns the collection state and a reference to a filter object within this collection that filters the collection by the parent key.\n * - `parentKey`: A function that accepts the item of the current level and returns the key of the parent item, for example: `(item) => item.parentId`.\n * - `breadcrumbs`: A function that accepts the item of the current level and returns an array of breadcrumbs to be displayed in the toolbar. Each breadcrumb is an object with `id` and `name` properties. `fetchData` will be called with `query.fields` that contains the value `breadcrumbs` to signal that the breadcrumbs should be fetched.\n * - `columns` (optional): Render logic of the cells for this level. By default all cells will be empty.\n * - `renderMainColumn` (optional): Render logic of the main column for this level.\n * - `actionCell` (optional): A table's last column. Use this column to add an action at the end of each row. For example, a delete button to delete an item. Pass an [`ActionCellProps`](https://www.docs.wixdesignsystem.com/?path=/story/components-lists-table--tableactioncell) object, or a function that returns an `ActionCellProps` object.\n<\n */\n levels: Omit<NestedTableLevelDescriptor<C, any, any>, 'depth'>[];\n}\n\nexport interface NestedTableStateParams<C extends string>\n extends NestedTableStateBaseParams<C> {\n container: WixPatternsContainer;\n}\n\nexport class NestedTableState<C extends string = string> {\n readonly container;\n readonly reportBi: ReportBI;\n readonly toolbar;\n readonly tableState;\n readonly mainColumn;\n readonly options: EagerLazyModeOptions;\n\n readonly initTask = new TaskState();\n\n readonly levels: NestedTableLevelDescriptor<C, any, any>[];\n\n readonly rootNodeCollection;\n readonly query;\n\n readonly nested: NestedTableNestedModeState<C>;\n readonly flat: NestedTableFlatModeState<C>;\n\n constructor(params: NestedTableStateParams<C>) {\n this.container = params.container;\n\n this.query = new QueryState({\n filters: {},\n });\n\n this.levels = params.levels.map((level, i) => ({\n ...level,\n depth: i,\n }));\n\n this.options = {\n fetchAllThreshold: params.fetchAllThreshold ?? 1000,\n expandAllThreshold: params.expandAllThreshold ?? 0,\n };\n\n this.mainColumn = params.mainColumn;\n const rootLevelDescriptor = this.levels[0];\n\n if (rootLevelDescriptor == null) {\n throw new Error('NestedTableState must have at least one level');\n }\n\n this.rootNodeCollection = rootLevelDescriptor.createCollection();\n\n const { collection } = this.rootNodeCollection;\n\n syncWithSharedQuery(collection.query, this.query);\n\n this.reportBi = (reportProps) => {\n const { isFetchAllAborted } = this;\n this.container.reportBi({\n ...reportProps,\n params: {\n ...reportProps.params,\n ...(isFetchAllAborted != null && {\n componentStatus: isFetchAllAborted\n ? 'All items collapsed'\n : 'All items expanded',\n }),\n },\n });\n };\n\n this.toolbar = new ToolbarCollectionState({\n collection: this.rootNodeCollection.collection,\n container: params.container,\n componentType: 'NestedTable',\n reportBi: this.reportBi,\n });\n\n this.toolbar.setNewColumns(\n params.columns.map((column) => ({\n ...column,\n render: () => null,\n })) as TableColumn<unknown>[],\n );\n\n this.tableState = new TableState({\n collection: this.rootNodeCollection.collection,\n container: params.container,\n toolbar: this.toolbar,\n });\n\n this.nested = new NestedTableNestedModeState({\n wrapper: this,\n reportBi: this.reportBi,\n });\n\n this.flat = new NestedTableFlatModeState({\n wrapper: this,\n });\n }\n\n get isFetchAllAborted() {\n return this.nested.isFetchAllAborted;\n }\n\n get expandAll() {\n return this.nested.expandAll;\n }\n\n get nestedCollection() {\n return this.nested.nestedCollection;\n }\n\n _attemptFetchAllAndPopulateCache() {\n const initTask = new TaskState();\n return {\n initTask,\n init: () => {\n initTask.runOnce(async () => {\n const fetchAllState = new NestedCollectionFetchAllState({\n options: this.options,\n query: this.nested.query,\n nestedCollectionState: this.nested.nestedCollection,\n });\n\n const disposers = [fetchAllState.init()];\n\n try {\n await fetchAllState.initTask.status.promise;\n } finally {\n disposers.forEach((d) => d());\n }\n });\n\n return () => {};\n },\n };\n }\n\n get isFlatMode() {\n return this.query.hasActiveFilters;\n }\n\n init() {\n const { initTask, tableState, query, rootNodeCollection, flat } = this;\n\n const attemptFetchAllState = this._attemptFetchAllAndPopulateCache();\n\n const disposers = [\n query.init(),\n reaction(\n () => this.isFlatMode,\n (isFlatMode) => {\n const {\n query: { _fields },\n } = this;\n if (isFlatMode) {\n _fields.add('breadcrumbs');\n } else {\n _fields.delete('breadcrumbs');\n }\n },\n { fireImmediately: true },\n ),\n addEventListener(\n rootNodeCollection.collection.emitter,\n 'beforeInitialFetch',\n () => attemptFetchAllState.initTask.status.promise,\n ),\n ...flat.sections.map(({ collection }) =>\n addEventListener(\n collection.emitter,\n 'beforeInitialFetch',\n () => attemptFetchAllState.initTask.status.promise,\n ),\n ),\n attemptFetchAllState.init(),\n tableState.init({\n featuresInitializers: [],\n }),\n ];\n\n initTask.runOnce(async () => {\n tableState.initTask.runOnce();\n attemptFetchAllState.initTask.runOnce();\n await attemptFetchAllState.initTask.status.promise;\n await tableState.initTask.status.promise;\n });\n\n return () => {\n initTask.reset();\n disposers.forEach((d) => d());\n };\n }\n}\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["_bexCore","require","_ToolbarCollectionState","_TableState","_NestedTableNestedModeState","_NestedTableFlatModeState","_NestedCollectionFetchAllState","_util","_mobx","NestedTableState","constructor","params","_defineProperty2","default","TaskState","container","query","QueryState","filters","levels","map","level","i","depth","options","fetchAllThreshold","expandAllThreshold","mainColumn","rootLevelDescriptor","Error","rootNodeCollection","createCollection","collection","syncWithSharedQuery","reportBi","reportProps","isFetchAllAborted","componentStatus","toolbar","ToolbarCollectionState","componentType","setNewColumns","columns","column","render","tableState","TableState","nested","NestedTableNestedModeState","wrapper","flat","NestedTableFlatModeState","expandAll","nestedCollection","_attemptFetchAllAndPopulateCache","initTask","init","runOnce","fetchAllState","NestedCollectionFetchAllState","nestedCollectionState","disposers","status","promise","forEach","d","isFlatMode","hasActiveFilters","attemptFetchAllState","reaction","_fields","add","delete","fireImmediately","addEventListener","emitter","sections","featuresInitializers","reset","exports"],"sources":["../../../../src/state/NestedTableState/NestedTableState.ts"],"sourcesContent":["import {\n WixPatternsContainer,\n QueryState,\n ReportBI,\n syncWithSharedQuery,\n TaskState,\n} from '@wix/bex-core';\nimport { ToolbarCollectionState } from '../ToolbarCollectionState';\nimport { TableState } from '../TableState';\nimport { TableColumn } from '../../model';\nimport { NestedTableColumn } from './NestedTableColumn';\nimport { NestedTableNestedModeState } from './NestedTableNestedModeState';\nimport { NestedTableFlatModeState } from './NestedTableFlatModeState';\nimport { NestedCollectionFetchAllState } from './NestedCollectionFetchAllState';\nimport { NestedTableLevelDescriptor } from './NestedTableLevelDescriptor';\nimport { EagerLazyModeOptions } from './types';\nimport { addEventListener } from '@wix/bex-core/util';\nimport { reaction } from 'mobx';\nimport { ICollectionComponentState } from '../ICollectionComponentState';\n\nexport interface NestedTableStateBaseParams<C extends string> {\n /**\n * If the total items in the server are less or equal to this threshold, all items will be fetched and rendered at once, in expanded state (referred to as \"Eager\" mode).\n * @default 1000\n */\n fetchAllThreshold?: number;\n /**\n * In \"Eager\" mode, items will be in expanded state. This threshold allows to use collapsed state if the total items in the server are greater than this threshold.\n * @default 0\n */\n expandAllThreshold?: number;\n /**\n * Columns to be rendered in the nested table. Same as [regular table columns](./?path=%2Fstory%2Fcomponents-collection--table&tab=API) - without rendering logic of cells (defined for each level individually in the `levels` prop).\n */\n columns: NestedTableColumn<C>[];\n /**\n * Main column of the nested table.\n * An object with the following properties:\n * - `title`: The title of the column. @default ''\n * - `width`: The width of the column. Can be a number (in pixels) or a string (percentage). @default '326px'\n */\n mainColumn?: {\n title?: string;\n width?: number | string;\n };\n /**\n * Defines the collection for each level in the nested table.\n * Each level needs to specify:\n * - `createCollection`: A function that creates a collection for the current level (using `useCreateCollection` hook), and returns the collection state and a reference to a filter object within this collection that filters the collection by the parent key.\n * - `parentKey`: A function that accepts the item of the current level and returns the key of the parent item, for example: `(item) => item.parentId`.\n * - `breadcrumbs`: A function that accepts the item of the current level and returns an array of breadcrumbs to be displayed in the toolbar. Each breadcrumb is an object with `id` and `name` properties. `fetchData` will be called with `query.fields` that contains the value `breadcrumbs` to signal that the breadcrumbs should be fetched.\n * - `columns` (optional): Render logic of the cells for this level. By default all cells will be empty.\n * - `renderMainColumn` (optional): Render logic of the main column for this level.\n * - `actionCell` (optional): A table's last column. Use this column to add an action at the end of each row. For example, a delete button to delete an item. Pass an [`ActionCellProps`](https://www.docs.wixdesignsystem.com/?path=/story/components-lists-table--tableactioncell) object, or a function that returns an `ActionCellProps` object.\n<\n */\n levels: Omit<NestedTableLevelDescriptor<C, any, any>, 'depth'>[];\n}\n\nexport interface NestedTableStateParams<C extends string>\n extends NestedTableStateBaseParams<C> {\n container: WixPatternsContainer;\n}\n\nexport class NestedTableState<C extends string = string>\n implements ICollectionComponentState\n{\n readonly container;\n readonly reportBi: ReportBI;\n readonly toolbar;\n readonly tableState;\n readonly mainColumn;\n readonly options: EagerLazyModeOptions;\n\n readonly initTask = new TaskState();\n\n readonly levels: NestedTableLevelDescriptor<C, any, any>[];\n\n readonly rootNodeCollection;\n readonly query;\n\n readonly nested: NestedTableNestedModeState<C>;\n readonly flat: NestedTableFlatModeState<C>;\n\n constructor(params: NestedTableStateParams<C>) {\n this.container = params.container;\n\n this.query = new QueryState({\n filters: {},\n });\n\n this.levels = params.levels.map((level, i) => ({\n ...level,\n depth: i,\n }));\n\n this.options = {\n fetchAllThreshold: params.fetchAllThreshold ?? 1000,\n expandAllThreshold: params.expandAllThreshold ?? 0,\n };\n\n this.mainColumn = params.mainColumn;\n const rootLevelDescriptor = this.levels[0];\n\n if (rootLevelDescriptor == null) {\n throw new Error('NestedTableState must have at least one level');\n }\n\n this.rootNodeCollection = rootLevelDescriptor.createCollection();\n\n const { collection } = this.rootNodeCollection;\n\n syncWithSharedQuery(collection.query, this.query);\n\n this.reportBi = (reportProps) => {\n const { isFetchAllAborted } = this;\n this.container.reportBi({\n ...reportProps,\n params: {\n ...reportProps.params,\n ...(isFetchAllAborted != null && {\n componentStatus: isFetchAllAborted\n ? 'All items collapsed'\n : 'All items expanded',\n }),\n },\n });\n };\n\n this.toolbar = new ToolbarCollectionState({\n collection: this.rootNodeCollection.collection,\n container: params.container,\n componentType: 'NestedTable',\n reportBi: this.reportBi,\n });\n\n this.toolbar.setNewColumns(\n params.columns.map((column) => ({\n ...column,\n render: () => null,\n })) as TableColumn<unknown>[],\n );\n\n this.tableState = new TableState({\n collection: this.rootNodeCollection.collection,\n container: params.container,\n toolbar: this.toolbar,\n });\n\n this.nested = new NestedTableNestedModeState({\n wrapper: this,\n reportBi: this.reportBi,\n });\n\n this.flat = new NestedTableFlatModeState({\n wrapper: this,\n });\n }\n\n get isFetchAllAborted() {\n return this.nested.isFetchAllAborted;\n }\n\n get expandAll() {\n return this.nested.expandAll;\n }\n\n get nestedCollection() {\n return this.nested.nestedCollection;\n }\n\n _attemptFetchAllAndPopulateCache() {\n const initTask = new TaskState();\n return {\n initTask,\n init: () => {\n initTask.runOnce(async () => {\n const fetchAllState = new NestedCollectionFetchAllState({\n options: this.options,\n query: this.nested.query,\n nestedCollectionState: this.nested.nestedCollection,\n });\n\n const disposers = [fetchAllState.init()];\n\n try {\n await fetchAllState.initTask.status.promise;\n } finally {\n disposers.forEach((d) => d());\n }\n });\n\n return () => {};\n },\n };\n }\n\n get isFlatMode() {\n return this.query.hasActiveFilters;\n }\n\n init() {\n const { initTask, tableState, query, rootNodeCollection, flat } = this;\n\n const attemptFetchAllState = this._attemptFetchAllAndPopulateCache();\n\n const disposers = [\n query.init(),\n reaction(\n () => this.isFlatMode,\n (isFlatMode) => {\n const {\n query: { _fields },\n } = this;\n if (isFlatMode) {\n _fields.add('breadcrumbs');\n } else {\n _fields.delete('breadcrumbs');\n }\n },\n { fireImmediately: true },\n ),\n addEventListener(\n rootNodeCollection.collection.emitter,\n 'beforeInitialFetch',\n () => attemptFetchAllState.initTask.status.promise,\n ),\n ...flat.sections.map(({ collection }) =>\n addEventListener(\n collection.emitter,\n 'beforeInitialFetch',\n () => attemptFetchAllState.initTask.status.promise,\n ),\n ),\n attemptFetchAllState.init(),\n tableState.init({\n featuresInitializers: [],\n }),\n ];\n\n initTask.runOnce(async () => {\n tableState.initTask.runOnce();\n attemptFetchAllState.initTask.runOnce();\n await attemptFetchAllState.initTask.status.promise;\n await tableState.initTask.status.promise;\n });\n\n return () => {\n initTask.reset();\n disposers.forEach((d) => d());\n };\n }\n}\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_mobx","require","_ToolbarCollectionState","_FoldersAndItemsCollectionsState","_TableState","_TableVirtualState","isItemKeyedItem","keyedItem","item","_tag","isFolderKeyedItem","TableFoldersState","constructor","params","_defineProperty2","default","toolbar","retryErrorState","container","virtual","TableVirtualState","table","ToolbarCollectionState","collection","items","componentType","collections","FoldersAndItemsCollectionsState","TableState","makeObservable","showItemsSection","computed","showFoldersSection","keyedItems","result","isEmptyAndNotFetching","hasFoldersOnlyActiveFilters","folders","fetchedLastPage","hasItemsOnlyActiveFilters","tableState","showEmptyState","hasAvailableItems","resultOriginQuerySearch","hasNonPersistentActiveFilters","showErrorState","multi","errorStatus","showLoadingState","initTask","status","isIdle","isLoading","map","originalKeyedItem","init","disposers","forEach","d","exports"],"sources":["../../../src/state/TableFoldersState.ts"],"sourcesContent":["import {\n WixPatternsContainer,\n CollectionState,\n FiltersMap,\n KeyedItem,\n} from '@wix/bex-core';\nimport { computed, makeObservable } from 'mobx';\nimport { ToolbarCollectionState } from './ToolbarCollectionState';\nimport {\n FoldersAndItemsCollectionsState,\n FoldersAndItemsCollectionsStateInitParams,\n PartialAllFilters,\n} from './FoldersAndItemsCollectionsState';\nimport { TableState } from './TableState';\nimport { TableVirtualState } from './TableVirtualState';\n\nexport interface TableFoldersStateParams<\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}\n\ninterface Item<T1> {\n _tag: 'item';\n originalKeyedItem: KeyedItem<T1>;\n}\n\ninterface Folder<T2> {\n _tag: 'folder';\n originalKeyedItem: KeyedItem<T2>;\n}\n\nexport type RowItem<T1, T2> = Item<T1> | Folder<T2>;\nexport type RowKeyedItem<T1, T2> = KeyedItem<RowItem<T1, T2>>;\n\nexport function isItemKeyedItem<T1, T2>(\n keyedItem: RowKeyedItem<T1, T2>,\n): keyedItem is KeyedItem<Item<T1>> {\n return keyedItem.item._tag === 'item';\n}\n\nexport function isFolderKeyedItem<T1, T2>(\n keyedItem: RowKeyedItem<T1, T2>,\n): keyedItem is KeyedItem<Folder<T2>> {\n return keyedItem.item._tag === 'folder';\n}\n\ninterface TableFoldersStateInitParams\n extends FoldersAndItemsCollectionsStateInitParams {}\n\nexport class TableFoldersState<\n T1,\n F1 extends FiltersMap,\n T2,\n F2 extends FiltersMap,\n> {\n readonly container;\n readonly table;\n readonly toolbar;\n readonly virtual;\n readonly collections;\n\n constructor(params: TableFoldersStateParams<T1, F1, T2, F2>) {\n this.container = params.container;\n\n this.virtual = new TableVirtualState({\n table: this,\n });\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: 'TableFolders',\n });\n\n this.collections = new FoldersAndItemsCollectionsState({\n ...params,\n toolbar: this.toolbar,\n });\n\n this.table = new TableState({\n container: this.container,\n collection: params.items,\n toolbar: this.toolbar as ToolbarCollectionState<T1, {}>,\n });\n\n makeObservable(this, {\n showItemsSection: computed,\n showFoldersSection: computed,\n keyedItems: computed,\n });\n }\n\n get showItemsSection() {\n return (\n !this.collections.items.result.isEmptyAndNotFetching &&\n !this.collections.hasFoldersOnlyActiveFilters &&\n (!this.showFoldersSection || this.collections.folders.fetchedLastPage)\n );\n }\n\n get showFoldersSection() {\n return (\n !this.collections.folders.result.isEmptyAndNotFetching &&\n !this.collections.hasItemsOnlyActiveFilters\n );\n }\n\n get tableState() {\n return this.table;\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 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 get keyedItems(): RowKeyedItem<T1, T2>[] {\n const {\n showFoldersSection,\n showItemsSection,\n collections: { folders, items },\n } = this;\n return [\n ...(showFoldersSection\n ? folders.result.keyedItems.map((keyedItem) => ({\n ...keyedItem,\n item: {\n _tag: 'folder' as const,\n originalKeyedItem: keyedItem,\n },\n }))\n : []),\n ...(showItemsSection\n ? items.result.keyedItems.map((keyedItem) => ({\n ...keyedItem,\n item: {\n _tag: 'item' as const,\n originalKeyedItem: keyedItem,\n },\n originalKeyedItem: keyedItem,\n }))\n : []),\n ];\n }\n\n init(params: TableFoldersStateInitParams) {\n const disposers = [this.collections.init(params)];\n\n return () => {\n disposers.forEach((d) => d());\n };\n }\n}\n"],"mappings":";;;;;;;;AAMA,IAAAA,KAAA,GAAAC,OAAA;AACA,IAAAC,uBAAA,GAAAD,OAAA;AACA,IAAAE,gCAAA,GAAAF,OAAA;AAKA,IAAAG,WAAA,GAAAH,OAAA;AACA,IAAAI,kBAAA,GAAAJ,OAAA;
|
|
1
|
+
{"version":3,"names":["_mobx","require","_ToolbarCollectionState","_FoldersAndItemsCollectionsState","_TableState","_TableVirtualState","isItemKeyedItem","keyedItem","item","_tag","isFolderKeyedItem","TableFoldersState","constructor","params","_defineProperty2","default","toolbar","retryErrorState","container","virtual","TableVirtualState","table","ToolbarCollectionState","collection","items","componentType","collections","FoldersAndItemsCollectionsState","TableState","makeObservable","showItemsSection","computed","showFoldersSection","keyedItems","result","isEmptyAndNotFetching","hasFoldersOnlyActiveFilters","folders","fetchedLastPage","hasItemsOnlyActiveFilters","tableState","showEmptyState","hasAvailableItems","resultOriginQuerySearch","hasNonPersistentActiveFilters","showErrorState","multi","errorStatus","showLoadingState","initTask","status","isIdle","isLoading","map","originalKeyedItem","init","disposers","forEach","d","exports"],"sources":["../../../src/state/TableFoldersState.ts"],"sourcesContent":["import {\n WixPatternsContainer,\n CollectionState,\n FiltersMap,\n KeyedItem,\n} from '@wix/bex-core';\nimport { computed, makeObservable } from 'mobx';\nimport { ToolbarCollectionState } from './ToolbarCollectionState';\nimport {\n FoldersAndItemsCollectionsState,\n FoldersAndItemsCollectionsStateInitParams,\n PartialAllFilters,\n} from './FoldersAndItemsCollectionsState';\nimport { TableState } from './TableState';\nimport { TableVirtualState } from './TableVirtualState';\nimport { ICollectionComponentState } from './ICollectionComponentState';\n\nexport interface TableFoldersStateParams<\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}\n\ninterface Item<T1> {\n _tag: 'item';\n originalKeyedItem: KeyedItem<T1>;\n}\n\ninterface Folder<T2> {\n _tag: 'folder';\n originalKeyedItem: KeyedItem<T2>;\n}\n\nexport type RowItem<T1, T2> = Item<T1> | Folder<T2>;\nexport type RowKeyedItem<T1, T2> = KeyedItem<RowItem<T1, T2>>;\n\nexport function isItemKeyedItem<T1, T2>(\n keyedItem: RowKeyedItem<T1, T2>,\n): keyedItem is KeyedItem<Item<T1>> {\n return keyedItem.item._tag === 'item';\n}\n\nexport function isFolderKeyedItem<T1, T2>(\n keyedItem: RowKeyedItem<T1, T2>,\n): keyedItem is KeyedItem<Folder<T2>> {\n return keyedItem.item._tag === 'folder';\n}\n\ninterface TableFoldersStateInitParams\n extends FoldersAndItemsCollectionsStateInitParams {}\n\nexport class TableFoldersState<\n T1,\n F1 extends FiltersMap,\n T2,\n F2 extends FiltersMap,\n> implements ICollectionComponentState\n{\n readonly container;\n readonly table;\n readonly toolbar;\n readonly virtual;\n readonly collections;\n\n constructor(params: TableFoldersStateParams<T1, F1, T2, F2>) {\n this.container = params.container;\n\n this.virtual = new TableVirtualState({\n table: this,\n });\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: 'TableFolders',\n });\n\n this.collections = new FoldersAndItemsCollectionsState({\n ...params,\n toolbar: this.toolbar,\n });\n\n this.table = new TableState({\n container: this.container,\n collection: params.items,\n toolbar: this.toolbar as ToolbarCollectionState<T1, {}>,\n });\n\n makeObservable(this, {\n showItemsSection: computed,\n showFoldersSection: computed,\n keyedItems: computed,\n });\n }\n\n get showItemsSection() {\n return (\n !this.collections.items.result.isEmptyAndNotFetching &&\n !this.collections.hasFoldersOnlyActiveFilters &&\n (!this.showFoldersSection || this.collections.folders.fetchedLastPage)\n );\n }\n\n get showFoldersSection() {\n return (\n !this.collections.folders.result.isEmptyAndNotFetching &&\n !this.collections.hasItemsOnlyActiveFilters\n );\n }\n\n get tableState() {\n return this.table;\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 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 get keyedItems(): RowKeyedItem<T1, T2>[] {\n const {\n showFoldersSection,\n showItemsSection,\n collections: { folders, items },\n } = this;\n return [\n ...(showFoldersSection\n ? folders.result.keyedItems.map((keyedItem) => ({\n ...keyedItem,\n item: {\n _tag: 'folder' as const,\n originalKeyedItem: keyedItem,\n },\n }))\n : []),\n ...(showItemsSection\n ? items.result.keyedItems.map((keyedItem) => ({\n ...keyedItem,\n item: {\n _tag: 'item' as const,\n originalKeyedItem: keyedItem,\n },\n originalKeyedItem: keyedItem,\n }))\n : []),\n ];\n }\n\n init(params: TableFoldersStateInitParams) {\n const disposers = [this.collections.init(params)];\n\n return () => {\n disposers.forEach((d) => d());\n };\n }\n}\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_bexCore","require","_GridFoldersState","_TableFoldersState","_mobx","_ToolbarCollectionState","_ViewTypeState","TableGridSwitchFoldersState","constructor","params","_defineProperty2","default","TaskState","container","containerOverrides","tableFoldersState","TableFoldersState","items","folders","toolbar","ToolbarCollectionState","componentType","collection","reportBi","biParams","componentStatus","viewTypeState","viewType","gridFoldersState","GridFoldersState","collections","ViewTypeState","dataCapsule","makeObservable","computed","runInAction","init","initTask","runOnce","exports"],"sources":["../../../src/state/TableGridSwitchFoldersState.ts"],"sourcesContent":["import {\n WixPatternsContainer,\n WixPatternsContainerParams,\n CollectionState,\n FiltersMap,\n TaskState,\n} from '@wix/bex-core';\nimport { GridFoldersState } from './GridFoldersState';\nimport { TableFoldersState } from './TableFoldersState';\nimport { runInAction, makeObservable, computed } from 'mobx';\nimport { ToolbarCollectionState } from './ToolbarCollectionState';\nimport { PartialAllFilters } from './FoldersAndItemsCollectionsState';\nimport { ViewTypeState } from './ViewTypeState';\n\nexport interface TableGridSwitchStateFoldersParams<\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 containerOverrides: Partial<WixPatternsContainerParams>;\n}\ntype ViewType = 'table' | 'grid';\nexport class TableGridSwitchFoldersState<\n T1,\n F1 extends FiltersMap,\n T2,\n F2 extends FiltersMap,\n> {\n readonly container;\n readonly initTask = new TaskState();\n readonly containerOverrides: Partial<WixPatternsContainerParams>;\n\n readonly gridFoldersState: GridFoldersState<T1, F1, T2, F2>;\n readonly tableFoldersState: TableFoldersState<T1, F1, T2, F2>;\n readonly viewTypeState: ViewTypeState;\n\n constructor(params: TableGridSwitchStateFoldersParams<T1, F1, T2, F2>) {\n this.container = params.container;\n this.containerOverrides = params.containerOverrides;\n\n this.tableFoldersState = new TableFoldersState({\n items: params.items,\n folders: params.folders,\n container: this.container,\n toolbar: new ToolbarCollectionState({\n componentType: 'TableGridSwitchFolders',\n collection: params.items as CollectionState<T1, {}> as CollectionState<\n T1,\n PartialAllFilters<F1, F2>\n >,\n container: params.container,\n reportBi: (biParams) =>\n this.container.reportBi({\n ...biParams,\n params: {\n ...biParams.params,\n componentStatus: this.viewTypeState.viewType,\n },\n }),\n }),\n });\n\n this.gridFoldersState = new GridFoldersState({\n items: params.items,\n folders: params.folders,\n container: this.container,\n toolbar: this.tableFoldersState.toolbar,\n collections: this.tableFoldersState.collections,\n });\n\n this.viewTypeState = new ViewTypeState({\n container: this.container,\n dataCapsule: this.toolbar.dataCapsule,\n componentType: 'TableGridSwitchFolders',\n });\n\n makeObservable(this, {\n viewType: computed,\n });\n }\n\n get viewType() {\n return this.viewTypeState.viewType;\n }\n\n set viewType(viewType: ViewType) {\n runInAction(() => {\n this.viewTypeState.viewType = viewType;\n });\n }\n\n get toolbar() {\n return this.tableFoldersState.toolbar;\n }\n\n init() {\n this.initTask.runOnce(async () => {\n await this.viewTypeState.init();\n });\n }\n}\n"],"mappings":";;;;;;AAAA,IAAAA,QAAA,GAAAC,OAAA;AAOA,IAAAC,iBAAA,GAAAD,OAAA;AACA,IAAAE,kBAAA,GAAAF,OAAA;AACA,IAAAG,KAAA,GAAAH,OAAA;AACA,IAAAI,uBAAA,GAAAJ,OAAA;AAEA,IAAAK,cAAA,GAAAL,OAAA;
|
|
1
|
+
{"version":3,"names":["_bexCore","require","_GridFoldersState","_TableFoldersState","_mobx","_ToolbarCollectionState","_ViewTypeState","TableGridSwitchFoldersState","constructor","params","_defineProperty2","default","TaskState","container","containerOverrides","tableFoldersState","TableFoldersState","items","folders","toolbar","ToolbarCollectionState","componentType","collection","reportBi","biParams","componentStatus","viewTypeState","viewType","gridFoldersState","GridFoldersState","collections","ViewTypeState","dataCapsule","makeObservable","computed","runInAction","init","initTask","runOnce","exports"],"sources":["../../../src/state/TableGridSwitchFoldersState.ts"],"sourcesContent":["import {\n WixPatternsContainer,\n WixPatternsContainerParams,\n CollectionState,\n FiltersMap,\n TaskState,\n} from '@wix/bex-core';\nimport { GridFoldersState } from './GridFoldersState';\nimport { TableFoldersState } from './TableFoldersState';\nimport { runInAction, makeObservable, computed } from 'mobx';\nimport { ToolbarCollectionState } from './ToolbarCollectionState';\nimport { PartialAllFilters } from './FoldersAndItemsCollectionsState';\nimport { ViewTypeState } from './ViewTypeState';\nimport { ICollectionComponentState } from './ICollectionComponentState';\n\nexport interface TableGridSwitchStateFoldersParams<\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 containerOverrides: Partial<WixPatternsContainerParams>;\n}\ntype ViewType = 'table' | 'grid';\nexport class TableGridSwitchFoldersState<\n T1,\n F1 extends FiltersMap,\n T2,\n F2 extends FiltersMap,\n> implements ICollectionComponentState\n{\n readonly container;\n readonly initTask = new TaskState();\n readonly containerOverrides: Partial<WixPatternsContainerParams>;\n\n readonly gridFoldersState: GridFoldersState<T1, F1, T2, F2>;\n readonly tableFoldersState: TableFoldersState<T1, F1, T2, F2>;\n readonly viewTypeState: ViewTypeState;\n\n constructor(params: TableGridSwitchStateFoldersParams<T1, F1, T2, F2>) {\n this.container = params.container;\n this.containerOverrides = params.containerOverrides;\n\n this.tableFoldersState = new TableFoldersState({\n items: params.items,\n folders: params.folders,\n container: this.container,\n toolbar: new ToolbarCollectionState({\n componentType: 'TableGridSwitchFolders',\n collection: params.items as CollectionState<T1, {}> as CollectionState<\n T1,\n PartialAllFilters<F1, F2>\n >,\n container: params.container,\n reportBi: (biParams) =>\n this.container.reportBi({\n ...biParams,\n params: {\n ...biParams.params,\n componentStatus: this.viewTypeState.viewType,\n },\n }),\n }),\n });\n\n this.gridFoldersState = new GridFoldersState({\n items: params.items,\n folders: params.folders,\n container: this.container,\n toolbar: this.tableFoldersState.toolbar,\n collections: this.tableFoldersState.collections,\n });\n\n this.viewTypeState = new ViewTypeState({\n container: this.container,\n dataCapsule: this.toolbar.dataCapsule,\n componentType: 'TableGridSwitchFolders',\n });\n\n makeObservable(this, {\n viewType: computed,\n });\n }\n\n get viewType() {\n return this.viewTypeState.viewType;\n }\n\n set viewType(viewType: ViewType) {\n runInAction(() => {\n this.viewTypeState.viewType = viewType;\n });\n }\n\n get toolbar() {\n return this.tableFoldersState.toolbar;\n }\n\n init() {\n this.initTask.runOnce(async () => {\n await this.viewTypeState.init();\n });\n }\n}\n"],"mappings":";;;;;;AAAA,IAAAA,QAAA,GAAAC,OAAA;AAOA,IAAAC,iBAAA,GAAAD,OAAA;AACA,IAAAE,kBAAA,GAAAF,OAAA;AACA,IAAAG,KAAA,GAAAH,OAAA;AACA,IAAAI,uBAAA,GAAAJ,OAAA;AAEA,IAAAK,cAAA,GAAAL,OAAA;AAeO,MAAMM,2BAA2B,CAMxC;EASEC,WAAWA,CAACC,MAAyD,EAAE;IAAA,IAAAC,gBAAA,CAAAC,OAAA;IAAA,IAAAD,gBAAA,CAAAC,OAAA,oBAPnD,IAAIC,kBAAS,CAAC,CAAC;IAAA,IAAAF,gBAAA,CAAAC,OAAA;IAAA,IAAAD,gBAAA,CAAAC,OAAA;IAAA,IAAAD,gBAAA,CAAAC,OAAA;IAAA,IAAAD,gBAAA,CAAAC,OAAA;IAQjC,IAAI,CAACE,SAAS,GAAGJ,MAAM,CAACI,SAAS;IACjC,IAAI,CAACC,kBAAkB,GAAGL,MAAM,CAACK,kBAAkB;IAEnD,IAAI,CAACC,iBAAiB,GAAG,IAAIC,oCAAiB,CAAC;MAC7CC,KAAK,EAAER,MAAM,CAACQ,KAAK;MACnBC,OAAO,EAAET,MAAM,CAACS,OAAO;MACvBL,SAAS,EAAE,IAAI,CAACA,SAAS;MACzBM,OAAO,EAAE,IAAIC,8CAAsB,CAAC;QAClCC,aAAa,EAAE,wBAAwB;QACvCC,UAAU,EAAEb,MAAM,CAACQ,KAGlB;QACDJ,SAAS,EAAEJ,MAAM,CAACI,SAAS;QAC3BU,QAAQ,EAAGC,QAAQ,IACjB,IAAI,CAACX,SAAS,CAACU,QAAQ,CAAC;UACtB,GAAGC,QAAQ;UACXf,MAAM,EAAE;YACN,GAAGe,QAAQ,CAACf,MAAM;YAClBgB,eAAe,EAAE,IAAI,CAACC,aAAa,CAACC;UACtC;QACF,CAAC;MACL,CAAC;IACH,CAAC,CAAC;IAEF,IAAI,CAACC,gBAAgB,GAAG,IAAIC,kCAAgB,CAAC;MAC3CZ,KAAK,EAAER,MAAM,CAACQ,KAAK;MACnBC,OAAO,EAAET,MAAM,CAACS,OAAO;MACvBL,SAAS,EAAE,IAAI,CAACA,SAAS;MACzBM,OAAO,EAAE,IAAI,CAACJ,iBAAiB,CAACI,OAAO;MACvCW,WAAW,EAAE,IAAI,CAACf,iBAAiB,CAACe;IACtC,CAAC,CAAC;IAEF,IAAI,CAACJ,aAAa,GAAG,IAAIK,4BAAa,CAAC;MACrClB,SAAS,EAAE,IAAI,CAACA,SAAS;MACzBmB,WAAW,EAAE,IAAI,CAACb,OAAO,CAACa,WAAW;MACrCX,aAAa,EAAE;IACjB,CAAC,CAAC;IAEF,IAAAY,oBAAc,EAAC,IAAI,EAAE;MACnBN,QAAQ,EAAEO;IACZ,CAAC,CAAC;EACJ;EAEA,IAAIP,QAAQA,CAAA,EAAG;IACb,OAAO,IAAI,CAACD,aAAa,CAACC,QAAQ;EACpC;EAEA,IAAIA,QAAQA,CAACA,QAAkB,EAAE;IAC/B,IAAAQ,iBAAW,EAAC,MAAM;MAChB,IAAI,CAACT,aAAa,CAACC,QAAQ,GAAGA,QAAQ;IACxC,CAAC,CAAC;EACJ;EAEA,IAAIR,OAAOA,CAAA,EAAG;IACZ,OAAO,IAAI,CAACJ,iBAAiB,CAACI,OAAO;EACvC;EAEAiB,IAAIA,CAAA,EAAG;IACL,IAAI,CAACC,QAAQ,CAACC,OAAO,CAAC,YAAY;MAChC,MAAM,IAAI,CAACZ,aAAa,CAACU,IAAI,CAAC,CAAC;IACjC,CAAC,CAAC;EACJ;AACF;AAACG,OAAA,CAAAhC,2BAAA,GAAAA,2BAAA","ignoreList":[]}
|