@wix/patterns 1.31.0 → 1.33.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 +10 -10
- 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/CollectionToolbarFilters/CollectionToolbarFilters.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/CtaProps.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 +8 -12
- package/dist/cjs/components/DragAndDrop/CollectionDragAndDropState.js.map +1 -1
- package/dist/cjs/components/DragAndDrop/DragAndDrop.js.map +1 -1
- package/dist/cjs/components/DragAndDrop/DragAndDropCategoriesProps.js +4 -0
- package/dist/cjs/components/DragAndDrop/DragAndDropCategoriesProps.js.map +1 -0
- package/dist/cjs/components/DragAndDrop/DragAndDropState.js +5 -1
- package/dist/cjs/components/DragAndDrop/DragAndDropState.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 +6 -6
- package/dist/cjs/components/Grid/Grid.js.map +1 -1
- package/dist/cjs/components/Grid/GridItemBaseProps.js.map +1 -1
- package/dist/cjs/components/GridSections/GridSectionsState.js.map +1 -1
- package/dist/cjs/components/Heading/Heading.st.css.js +2 -2
- package/dist/cjs/components/Heading/Heading.st.css.js.map +1 -1
- package/dist/cjs/components/InputOverflow/InputOverflow.st.css.js +2 -2
- package/dist/cjs/components/InputOverflow/InputOverflow.st.css.js.map +1 -1
- package/dist/cjs/components/MaxHeightText/MaxHeightText.st.css.js +2 -2
- package/dist/cjs/components/MaxHeightText/MaxHeightText.st.css.js.map +1 -1
- package/dist/cjs/components/MaxLines/MaxLines.st.css.js +2 -2
- package/dist/cjs/components/MaxLines/MaxLines.st.css.js.map +1 -1
- package/dist/cjs/components/MultiBulkActionToolbar/MultiBulkActionToolbar.st.css.js +2 -2
- package/dist/cjs/components/MultiBulkActionToolbar/MultiBulkActionToolbar.st.css.js.map +1 -1
- package/dist/cjs/components/NestedTable/NestedTable.js +3 -3
- package/dist/cjs/components/NestedTable/NestedTable.js.map +1 -1
- package/dist/cjs/components/NestedTable/NestedTable.uni.driver.js +2 -0
- package/dist/cjs/components/NestedTable/NestedTable.uni.driver.js.map +1 -1
- package/dist/cjs/components/NestedTable/NestedTableParentCell.js +24 -13
- package/dist/cjs/components/NestedTable/NestedTableParentCell.js.map +1 -1
- package/dist/cjs/components/NestedTable/NestedTableParentCell.uni.driver.js +9 -2
- package/dist/cjs/components/NestedTable/NestedTableParentCell.uni.driver.js.map +1 -1
- package/dist/cjs/components/NestedTable/NestedTableRow.js +6 -2
- package/dist/cjs/components/NestedTable/NestedTableRow.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 +2 -2
- package/dist/cjs/components/NestedTable/NestedTableWSRTable.js.map +1 -1
- package/dist/cjs/components/NestedTable/useModeTableProps.js.map +1 -1
- package/dist/cjs/components/NestedTableDragAndDrop/NestedTableDragAndDrop.js +1 -1
- package/dist/cjs/components/NestedTableDragAndDrop/NestedTableDragAndDrop.js.map +1 -1
- package/dist/cjs/components/NestedTableDragAndDrop/NestedTableDragAndDropContext.js +13 -4
- package/dist/cjs/components/NestedTableDragAndDrop/NestedTableDragAndDropContext.js.map +1 -1
- package/dist/cjs/components/NestedTableDragAndDrop/NestedTableDragAndDropState.js +176 -47
- package/dist/cjs/components/NestedTableDragAndDrop/NestedTableDragAndDropState.js.map +1 -1
- package/dist/cjs/components/NestedTableDragAndDrop/NestedTableGhostIndentationCell.js +1 -1
- package/dist/cjs/components/NestedTableDragAndDrop/NestedTableGhostIndentationCell.js.map +1 -1
- package/dist/cjs/components/NestedTableDragAndDrop/NestedTableGhostRow.uni.driver.js +2 -9
- package/dist/cjs/components/NestedTableDragAndDrop/NestedTableGhostRow.uni.driver.js.map +1 -1
- package/dist/cjs/components/NestedTableDragAndDrop/validateNestedTableDragAndDropProps.js +19 -0
- package/dist/cjs/components/NestedTableDragAndDrop/validateNestedTableDragAndDropProps.js.map +1 -0
- 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/SidePanelModal/SidePanelModal.js +8 -2
- package/dist/cjs/components/SidePanelModal/SidePanelModal.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.js +20 -7
- package/dist/cjs/components/SlidingModal/SlidingModal.js.map +1 -1
- package/dist/cjs/components/SlidingModal/SlidingModal.st.css +6 -2
- 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/TableVirtualHeader.st.css.js +2 -2
- package/dist/cjs/components/Table/TableVirtualHeader.st.css.js.map +1 -1
- package/dist/cjs/components/TableGridSwitch/TableGridSwitch.js +4 -4
- package/dist/cjs/components/TableGridSwitch/TableGridSwitch.js.map +1 -1
- package/dist/cjs/components/TabsFilter/TabsFilter.st.css.js +3 -3
- package/dist/cjs/components/TabsFilter/TabsFilter.st.css.js.map +1 -1
- package/dist/cjs/components/Tags/ManageTags/ManageTagsModal/ManageTagsModal.st.css.js +2 -2
- package/dist/cjs/components/Tags/ManageTags/ManageTagsModal/ManageTagsModal.st.css.js.map +1 -1
- package/dist/cjs/components/ToolbarCollection/ToolbarCollection.js +3 -3
- package/dist/cjs/components/ToolbarCollection/ToolbarCollection.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/useCreateNestedOptimisticActions.js +3 -1
- package/dist/cjs/hooks/useCreateNestedOptimisticActions.js.map +1 -1
- package/dist/cjs/hooks/useOptionalCachedState.js +3 -3
- package/dist/cjs/hooks/useOptionalCachedState.js.map +1 -1
- package/dist/cjs/hooks/useSyncCollectionOnEntityReturn.js +90 -0
- package/dist/cjs/hooks/useSyncCollectionOnEntityReturn.js.map +1 -0
- package/dist/cjs/hooks/useSyncCollectionOnEntityUpdate.js +43 -0
- package/dist/cjs/hooks/useSyncCollectionOnEntityUpdate.js.map +1 -0
- package/dist/cjs/model/tableColumn.js.map +1 -1
- package/dist/cjs/state/DragAndDrop/createOptimisticActionsOrderByModeReaction.js +19 -0
- package/dist/cjs/state/DragAndDrop/createOptimisticActionsOrderByModeReaction.js.map +1 -0
- package/dist/cjs/state/EntityPage/EntityPageState.js +4 -5
- package/dist/cjs/state/EntityPage/EntityPageState.js.map +1 -1
- package/dist/cjs/state/NestedTableState/NestedCollectionLevelDescriptor.js.map +1 -1
- package/dist/cjs/state/NestedTableState/NestedCollectionNodeState.js +15 -5
- package/dist/cjs/state/NestedTableState/NestedCollectionNodeState.js.map +1 -1
- package/dist/cjs/state/NestedTableState/NestedCollectionState.js +11 -1
- package/dist/cjs/state/NestedTableState/NestedCollectionState.js.map +1 -1
- package/dist/cjs/state/NestedTableState/NestedTableLevelDescriptor.js.map +1 -1
- package/dist/cjs/state/NestedTableState/NestedTableNestedModeState.js +35 -6
- package/dist/cjs/state/NestedTableState/NestedTableNestedModeState.js.map +1 -1
- package/dist/cjs/state/NestedTableState/NestedTableNodeState.js +14 -26
- package/dist/cjs/state/NestedTableState/NestedTableNodeState.js.map +1 -1
- package/dist/cjs/state/NestedTableState/NestedTableState.js +6 -1
- package/dist/cjs/state/NestedTableState/NestedTableState.js.map +1 -1
- package/dist/cjs/state/TableVirtualState.js +5 -2
- package/dist/cjs/state/TableVirtualState.js.map +1 -1
- package/dist/cjs/state/ToolbarCollectionState.js +3 -0
- package/dist/cjs/state/ToolbarCollectionState.js.map +1 -1
- package/dist/cjs/state/WixPatternsRouterState.js.map +1 -1
- package/dist/cjs/styles.global.css +1 -1
- package/dist/cjs/test-utils/getUniDriverStyle.js +14 -0
- package/dist/cjs/test-utils/getUniDriverStyle.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.map +1 -1
- package/dist/esm/components/CollectionToolbar/CollectionToolbar.st.css.js +2 -2
- package/dist/esm/components/CollectionToolbar/CollectionToolbar.st.css.js.map +1 -1
- package/dist/esm/components/CollectionToolbar/SearchOrCustomFilter.st.css.js +2 -2
- package/dist/esm/components/CollectionToolbarFilters/CollectionToolbarFilters.js.map +1 -1
- package/dist/esm/components/CollectionViewsDropdown/AutoCompleteReadonly.st.css.js +2 -2
- package/dist/esm/components/CollectionViewsDropdown/ViewsDropdown.st.css.js +2 -2
- package/dist/esm/components/CollectionViewsDropdown/ViewsDropdown.st.css.js.map +1 -1
- package/dist/esm/components/CustomFieldsWidget/CustomFieldsViewWidgetSection.st.css.js +2 -2
- package/dist/esm/components/DragAndDrop/CollectionDragAndDropState.js +6 -11
- package/dist/esm/components/DragAndDrop/CollectionDragAndDropState.js.map +1 -1
- package/dist/esm/components/DragAndDrop/DragAndDropCategoriesProps.js +2 -0
- package/dist/esm/components/DragAndDrop/DragAndDropCategoriesProps.js.map +1 -0
- package/dist/esm/components/DragAndDrop/DragAndDropState.js +3 -1
- package/dist/esm/components/DragAndDrop/DragAndDropState.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/Fade/Fade.st.css.js.map +1 -1
- package/dist/esm/components/Grid/Grid.js.map +1 -1
- package/dist/esm/components/GridSections/GridSectionsState.js.map +1 -1
- package/dist/esm/components/Heading/Heading.st.css.js +2 -2
- package/dist/esm/components/InputOverflow/InputOverflow.st.css.js +2 -2
- package/dist/esm/components/MaxHeightText/MaxHeightText.st.css.js +2 -2
- package/dist/esm/components/MaxLines/MaxLines.st.css.js +2 -2
- package/dist/esm/components/MaxLines/MaxLines.st.css.js.map +1 -1
- package/dist/esm/components/MultiBulkActionToolbar/MultiBulkActionToolbar.st.css.js +2 -2
- package/dist/esm/components/NestedTable/NestedTable.js.map +1 -1
- package/dist/esm/components/NestedTable/NestedTable.uni.driver.js +2 -0
- package/dist/esm/components/NestedTable/NestedTable.uni.driver.js.map +1 -1
- package/dist/esm/components/NestedTable/NestedTableParentCell.js +8 -2
- package/dist/esm/components/NestedTable/NestedTableParentCell.js.map +1 -1
- package/dist/esm/components/NestedTable/NestedTableParentCell.uni.driver.js +7 -1
- package/dist/esm/components/NestedTable/NestedTableParentCell.uni.driver.js.map +1 -1
- package/dist/esm/components/NestedTable/NestedTableRow.js +4 -1
- package/dist/esm/components/NestedTable/NestedTableRow.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 +2 -2
- package/dist/esm/components/NestedTable/NestedTableWSRTable.js.map +1 -1
- package/dist/esm/components/NestedTableDragAndDrop/NestedTableDragAndDrop.js +1 -1
- package/dist/esm/components/NestedTableDragAndDrop/NestedTableDragAndDrop.js.map +1 -1
- package/dist/esm/components/NestedTableDragAndDrop/NestedTableDragAndDropContext.js +9 -0
- package/dist/esm/components/NestedTableDragAndDrop/NestedTableDragAndDropContext.js.map +1 -1
- package/dist/esm/components/NestedTableDragAndDrop/NestedTableDragAndDropState.js +154 -41
- package/dist/esm/components/NestedTableDragAndDrop/NestedTableDragAndDropState.js.map +1 -1
- package/dist/esm/components/NestedTableDragAndDrop/NestedTableGhostIndentationCell.js.map +1 -1
- package/dist/esm/components/NestedTableDragAndDrop/NestedTableGhostRow.uni.driver.js +2 -9
- package/dist/esm/components/NestedTableDragAndDrop/NestedTableGhostRow.uni.driver.js.map +1 -1
- package/dist/esm/components/NestedTableDragAndDrop/validateNestedTableDragAndDropProps.js +15 -0
- package/dist/esm/components/NestedTableDragAndDrop/validateNestedTableDragAndDropProps.js.map +1 -0
- package/dist/esm/components/PickerContent/PickerContent.st.css.js +2 -2
- package/dist/esm/components/PickerContent/PickerContentAdditionalStep.st.css.js +2 -2
- package/dist/esm/components/PickerTableListItem/PickerTableListItem.st.css.js +2 -2
- package/dist/esm/components/ScrollableContent/ScrollableContent.st.css.js +2 -2
- package/dist/esm/components/SidePanelModal/SidePanelModal.js +4 -0
- package/dist/esm/components/SidePanelModal/SidePanelModal.js.map +1 -1
- package/dist/esm/components/SkeletonCard/SkeletonCard.st.css.js +2 -2
- package/dist/esm/components/SkeletonCard/SkeletonCard.st.css.js.map +1 -1
- package/dist/esm/components/SlidingModal/SlidingModal.js +18 -5
- package/dist/esm/components/SlidingModal/SlidingModal.js.map +1 -1
- package/dist/esm/components/SlidingModal/SlidingModal.st.css +6 -2
- package/dist/esm/components/SlidingModal/SlidingModal.st.css.js +2 -2
- package/dist/esm/components/Table/TableVirtualHeader.st.css.js +2 -2
- package/dist/esm/components/TableGridSwitch/TableGridSwitch.js.map +1 -1
- package/dist/esm/components/TabsFilter/TabsFilter.st.css.js +2 -2
- package/dist/esm/components/Tags/ManageTags/ManageTagsModal/ManageTagsModal.st.css.js +2 -2
- package/dist/esm/components/ToolbarCollection/ToolbarCollection.js.map +1 -1
- package/dist/esm/components/ToolbarItemBox/ToolbarItemBox.st.css.js +2 -2
- package/dist/esm/components/ToolbarItemBox/ToolbarItemBox.st.css.js.map +1 -1
- package/dist/esm/components/common.st.css.js +2 -2
- package/dist/esm/hooks/useCreateNestedOptimisticActions.js +2 -0
- package/dist/esm/hooks/useCreateNestedOptimisticActions.js.map +1 -1
- package/dist/esm/hooks/useOptionalCachedState.js +3 -3
- package/dist/esm/hooks/useOptionalCachedState.js.map +1 -1
- package/dist/esm/hooks/useSyncCollectionOnEntityReturn.js +84 -0
- package/dist/esm/hooks/useSyncCollectionOnEntityReturn.js.map +1 -0
- package/dist/esm/hooks/useSyncCollectionOnEntityUpdate.js +38 -0
- package/dist/esm/hooks/useSyncCollectionOnEntityUpdate.js.map +1 -0
- package/dist/esm/state/DragAndDrop/createOptimisticActionsOrderByModeReaction.js +11 -0
- package/dist/esm/state/DragAndDrop/createOptimisticActionsOrderByModeReaction.js.map +1 -0
- package/dist/esm/state/EntityPage/EntityPageState.js +2 -5
- package/dist/esm/state/EntityPage/EntityPageState.js.map +1 -1
- package/dist/esm/state/NestedTableState/NestedCollectionNodeState.js +12 -3
- package/dist/esm/state/NestedTableState/NestedCollectionNodeState.js.map +1 -1
- package/dist/esm/state/NestedTableState/NestedCollectionState.js +9 -0
- package/dist/esm/state/NestedTableState/NestedCollectionState.js.map +1 -1
- package/dist/esm/state/NestedTableState/NestedTableNestedModeState.js +19 -2
- package/dist/esm/state/NestedTableState/NestedTableNestedModeState.js.map +1 -1
- package/dist/esm/state/NestedTableState/NestedTableNodeState.js +10 -16
- package/dist/esm/state/NestedTableState/NestedTableNodeState.js.map +1 -1
- package/dist/esm/state/NestedTableState/NestedTableState.js +6 -1
- package/dist/esm/state/NestedTableState/NestedTableState.js.map +1 -1
- package/dist/esm/state/TableVirtualState.js +4 -2
- package/dist/esm/state/TableVirtualState.js.map +1 -1
- package/dist/esm/state/ToolbarCollectionState.js +3 -0
- package/dist/esm/state/ToolbarCollectionState.js.map +1 -1
- package/dist/esm/styles.global.css +1 -1
- package/dist/esm/test-utils/getUniDriverStyle.js +9 -0
- package/dist/esm/test-utils/getUniDriverStyle.js.map +1 -0
- package/dist/esm/version.js +1 -1
- package/dist/types/components/CollectionTable/CollectionTable.d.ts +3 -1
- package/dist/types/components/CollectionTable/CollectionTable.d.ts.map +1 -1
- package/dist/types/components/CollectionToolbar/CollectionToolbar.st.css.d.ts.map +1 -1
- package/dist/types/components/CollectionViewsDropdown/ViewsDropdown.st.css.d.ts.map +1 -1
- package/dist/types/components/CtaProps.d.ts +13 -0
- package/dist/types/components/CtaProps.d.ts.map +1 -1
- package/dist/types/components/DragAndDrop/CollectionDragAndDropState.d.ts.map +1 -1
- package/dist/types/components/DragAndDrop/DragAndDrop.d.ts +1 -1
- package/dist/types/components/DragAndDrop/DragAndDrop.d.ts.map +1 -1
- package/dist/types/components/DragAndDrop/DragAndDropCategoriesProps.d.ts +12 -0
- package/dist/types/components/DragAndDrop/DragAndDropCategoriesProps.d.ts.map +1 -0
- package/dist/types/components/DragAndDrop/DragAndDropState.d.ts +2 -1
- package/dist/types/components/DragAndDrop/DragAndDropState.d.ts.map +1 -1
- package/dist/types/components/DragHandle/DragHandle.st.css.d.ts.map +1 -1
- package/dist/types/components/Fade/Fade.st.css.d.ts.map +1 -1
- package/dist/types/components/Grid/Grid.d.ts +8 -2
- package/dist/types/components/Grid/Grid.d.ts.map +1 -1
- package/dist/types/components/GridSections/GridSectionsState.d.ts +13 -0
- package/dist/types/components/GridSections/GridSectionsState.d.ts.map +1 -1
- package/dist/types/components/MaxLines/MaxLines.st.css.d.ts.map +1 -1
- package/dist/types/components/NestedTable/NestedTable.d.ts +3 -35
- package/dist/types/components/NestedTable/NestedTable.d.ts.map +1 -1
- package/dist/types/components/NestedTable/NestedTable.uni.driver.d.ts +4 -0
- package/dist/types/components/NestedTable/NestedTable.uni.driver.d.ts.map +1 -1
- package/dist/types/components/NestedTable/NestedTableParentCell.d.ts.map +1 -1
- package/dist/types/components/NestedTable/NestedTableParentCell.uni.driver.d.ts +1 -0
- package/dist/types/components/NestedTable/NestedTableParentCell.uni.driver.d.ts.map +1 -1
- package/dist/types/components/NestedTable/NestedTableRow.d.ts.map +1 -1
- package/dist/types/components/NestedTable/NestedTableRow.st.css.d.ts.map +1 -1
- package/dist/types/components/NestedTable/useModeTableProps.d.ts +3 -3
- package/dist/types/components/NestedTable/useModeTableProps.d.ts.map +1 -1
- package/dist/types/components/NestedTableDragAndDrop/NestedTableDragAndDrop.d.ts +1 -1
- package/dist/types/components/NestedTableDragAndDrop/NestedTableDragAndDropContext.d.ts.map +1 -1
- package/dist/types/components/NestedTableDragAndDrop/NestedTableDragAndDropState.d.ts +35 -7
- package/dist/types/components/NestedTableDragAndDrop/NestedTableDragAndDropState.d.ts.map +1 -1
- package/dist/types/components/NestedTableDragAndDrop/NestedTableGhostIndentationCell.d.ts.map +1 -1
- package/dist/types/components/NestedTableDragAndDrop/NestedTableGhostRow.uni.driver.d.ts.map +1 -1
- package/dist/types/components/NestedTableDragAndDrop/validateNestedTableDragAndDropProps.d.ts +3 -0
- package/dist/types/components/NestedTableDragAndDrop/validateNestedTableDragAndDropProps.d.ts.map +1 -0
- package/dist/types/components/SidePanelModal/SidePanelModal.d.ts.map +1 -1
- package/dist/types/components/SkeletonCard/SkeletonCard.st.css.d.ts.map +1 -1
- package/dist/types/components/SlidingModal/SlidingModal.d.ts +2 -0
- package/dist/types/components/SlidingModal/SlidingModal.d.ts.map +1 -1
- package/dist/types/components/TableGridSwitch/TableGridSwitch.d.ts +2 -1
- package/dist/types/components/TableGridSwitch/TableGridSwitch.d.ts.map +1 -1
- package/dist/types/components/ToolbarCollection/ToolbarCollection.d.ts +14 -19
- package/dist/types/components/ToolbarCollection/ToolbarCollection.d.ts.map +1 -1
- package/dist/types/components/ToolbarItemBox/ToolbarItemBox.st.css.d.ts.map +1 -1
- package/dist/types/hooks/useCreateNestedOptimisticActions.d.ts +5 -3
- package/dist/types/hooks/useCreateNestedOptimisticActions.d.ts.map +1 -1
- package/dist/types/hooks/useOptionalCachedState.d.ts +2 -1
- package/dist/types/hooks/useOptionalCachedState.d.ts.map +1 -1
- package/dist/types/hooks/useSyncCollectionOnEntityReturn.d.ts +10 -0
- package/dist/types/hooks/useSyncCollectionOnEntityReturn.d.ts.map +1 -0
- package/dist/types/hooks/useSyncCollectionOnEntityUpdate.d.ts +4 -0
- package/dist/types/hooks/useSyncCollectionOnEntityUpdate.d.ts.map +1 -0
- package/dist/types/model/tableColumn.d.ts +1 -1
- package/dist/types/model/tableColumn.d.ts.map +1 -1
- package/dist/types/state/DragAndDrop/createOptimisticActionsOrderByModeReaction.d.ts +4 -0
- package/dist/types/state/DragAndDrop/createOptimisticActionsOrderByModeReaction.d.ts.map +1 -0
- package/dist/types/state/EntityPage/EntityPageState.d.ts.map +1 -1
- package/dist/types/state/NestedTableState/NestedCollectionLevelDescriptor.d.ts +7 -2
- package/dist/types/state/NestedTableState/NestedCollectionLevelDescriptor.d.ts.map +1 -1
- package/dist/types/state/NestedTableState/NestedCollectionNodeState.d.ts +2 -0
- package/dist/types/state/NestedTableState/NestedCollectionNodeState.d.ts.map +1 -1
- package/dist/types/state/NestedTableState/NestedCollectionState.d.ts +8 -1
- package/dist/types/state/NestedTableState/NestedCollectionState.d.ts.map +1 -1
- package/dist/types/state/NestedTableState/NestedTableFlatModeState.d.ts +1 -1
- package/dist/types/state/NestedTableState/NestedTableFlatModeState.d.ts.map +1 -1
- package/dist/types/state/NestedTableState/NestedTableLevelDescriptor.d.ts +2 -0
- package/dist/types/state/NestedTableState/NestedTableLevelDescriptor.d.ts.map +1 -1
- package/dist/types/state/NestedTableState/NestedTableNestedModeState.d.ts +8 -1
- package/dist/types/state/NestedTableState/NestedTableNestedModeState.d.ts.map +1 -1
- package/dist/types/state/NestedTableState/NestedTableNodeState.d.ts +3 -8
- package/dist/types/state/NestedTableState/NestedTableNodeState.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 +1 -1
- package/dist/types/state/TableFoldersState.d.ts.map +1 -1
- package/dist/types/state/TableState.d.ts +1 -1
- package/dist/types/state/TableState.d.ts.map +1 -1
- package/dist/types/state/TableVirtualState.d.ts +10 -6
- package/dist/types/state/TableVirtualState.d.ts.map +1 -1
- package/dist/types/state/ToolbarCollectionState.d.ts +1 -0
- package/dist/types/state/ToolbarCollectionState.d.ts.map +1 -1
- package/dist/types/state/WixPatternsRouterState.d.ts +1 -1
- package/dist/types/test-utils/getUniDriverStyle.d.ts +3 -0
- package/dist/types/test-utils/getUniDriverStyle.d.ts.map +1 -0
- package/dist/types/testkit/enzyme.d.ts +4 -0
- package/dist/types/testkit/enzyme.d.ts.map +1 -1
- package/dist/types/testkit/jsdom.d.ts +4 -0
- package/dist/types/testkit/jsdom.d.ts.map +1 -1
- package/dist/types/testkit/puppeteer.d.ts +4 -0
- package/dist/types/testkit/puppeteer.d.ts.map +1 -1
- package/dist/types/version.d.ts +1 -1
- package/package.json +3 -3
- package/dist/cjs/hooks/useCachedUpdatedEntity.js +0 -101
- package/dist/cjs/hooks/useCachedUpdatedEntity.js.map +0 -1
- package/dist/esm/hooks/useCachedUpdatedEntity.js +0 -99
- package/dist/esm/hooks/useCachedUpdatedEntity.js.map +0 -1
- package/dist/types/hooks/useCachedUpdatedEntity.d.ts +0 -3
- package/dist/types/hooks/useCachedUpdatedEntity.d.ts.map +0 -1
|
@@ -19,6 +19,7 @@ class NestedCollectionNodeState {
|
|
|
19
19
|
}));
|
|
20
20
|
(0, _defineProperty2.default)(this, "_expanded", false);
|
|
21
21
|
(0, _defineProperty2.default)(this, "_hovered", false);
|
|
22
|
+
(0, _defineProperty2.default)(this, "_firstRender", void 0);
|
|
22
23
|
(0, _defineProperty2.default)(this, "initTask", new _bexCore.TaskState());
|
|
23
24
|
const {
|
|
24
25
|
nestedCollection
|
|
@@ -27,13 +28,18 @@ class NestedCollectionNodeState {
|
|
|
27
28
|
this.levelDescriptor = params.levelDescriptor;
|
|
28
29
|
this.parent = params.parent;
|
|
29
30
|
this.parentNode = params.parentNode;
|
|
31
|
+
this._firstRender = !params.preRegister;
|
|
30
32
|
(0, _mobx.runInAction)(() => {
|
|
31
33
|
this._expanded = !nestedCollection.isFetchAllAborted && nestedCollection.expandAll;
|
|
32
34
|
});
|
|
33
35
|
const {
|
|
34
36
|
collection,
|
|
35
37
|
parentFilter
|
|
36
|
-
} = params.nodeCollection ?? this.levelDescriptor.createCollection(
|
|
38
|
+
} = params.nodeCollection ?? this.levelDescriptor.createCollection({
|
|
39
|
+
parent: this.parent,
|
|
40
|
+
sequences: nestedCollection.sequences,
|
|
41
|
+
query: nestedCollection.query
|
|
42
|
+
});
|
|
37
43
|
this.collection = collection;
|
|
38
44
|
this.parentFilter = parentFilter;
|
|
39
45
|
const {
|
|
@@ -79,14 +85,17 @@ class NestedCollectionNodeState {
|
|
|
79
85
|
init({
|
|
80
86
|
skipCollectionInit
|
|
81
87
|
} = {}) {
|
|
82
|
-
var _collection$_optimist;
|
|
83
88
|
const {
|
|
84
89
|
initTask,
|
|
85
|
-
collection
|
|
90
|
+
collection,
|
|
91
|
+
nestedCollection
|
|
86
92
|
} = this;
|
|
93
|
+
if (collection._optimisticActions) {
|
|
94
|
+
nestedCollection.events.on('dispose', collection._optimisticActions.init());
|
|
95
|
+
}
|
|
87
96
|
const disposers = [!skipCollectionInit ? collection.init({
|
|
88
97
|
skipInitialFetch: !this._expanded
|
|
89
|
-
}) : undefined
|
|
98
|
+
}) : undefined];
|
|
90
99
|
initTask.runOnce(async () => {
|
|
91
100
|
collection.initTask.runOnce();
|
|
92
101
|
await collection.initTask.status.promise;
|
|
@@ -103,7 +112,8 @@ class NestedCollectionNodeState {
|
|
|
103
112
|
parent,
|
|
104
113
|
parentNode: this,
|
|
105
114
|
nestedCollection,
|
|
106
|
-
levelDescriptor: params.levelDescriptor
|
|
115
|
+
levelDescriptor: params.levelDescriptor,
|
|
116
|
+
preRegister: params.preRegister
|
|
107
117
|
});
|
|
108
118
|
}
|
|
109
119
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_bexCore","require","_mobx","NestedCollectionNodeState","constructor","params","_defineProperty2","default","observable","map","deep","TaskState","nestedCollection","levelDescriptor","parent","parentNode","runInAction","_expanded","isFetchAllAborted","expandAll","collection","parentFilter","nodeCollection","createCollection","query","sharedQuery","syncWithSharedQuery","persistent","setValue","key","makeObservable","init","action","_toggleExpand","_changeHover","ref","_hovered","hoveredOrParentHovered","computed","initialFetch","e","console","error","_this$parentNode","hovered","skipCollectionInit","
|
|
1
|
+
{"version":3,"names":["_bexCore","require","_mobx","NestedCollectionNodeState","constructor","params","_defineProperty2","default","observable","map","deep","TaskState","nestedCollection","levelDescriptor","parent","parentNode","_firstRender","preRegister","runInAction","_expanded","isFetchAllAborted","expandAll","collection","parentFilter","nodeCollection","createCollection","sequences","query","sharedQuery","syncWithSharedQuery","persistent","setValue","key","makeObservable","init","action","_toggleExpand","_changeHover","ref","_hovered","hoveredOrParentHovered","computed","initialFetch","e","console","error","_this$parentNode","hovered","skipCollectionInit","initTask","_optimisticActions","events","on","disposers","skipInitialFetch","undefined","runOnce","status","promise","forEach","d","_createNode","exports"],"sources":["../../../../src/state/NestedTableState/NestedCollectionNodeState.ts"],"sourcesContent":["import {\n FiltersMap,\n KeyedItem,\n QueryState,\n syncWithSharedQuery,\n TaskState,\n} from '@wix/bex-core';\nimport {\n action,\n computed,\n makeObservable,\n observable,\n runInAction,\n} from 'mobx';\nimport { NestedCollectionState } from './NestedCollectionState';\nimport { NestedCollectionLevelDescriptor } from './NestedCollectionLevelDescriptor';\nimport { NodeCollection } from './types';\n\nexport interface NestedCollectionNodeStateBaseParams<T, F extends FiltersMap> {\n readonly levelDescriptor: NestedCollectionLevelDescriptor<T, F>;\n readonly preRegister?: boolean;\n}\n\nexport interface NestedCollectionNodeStateParams<T, F extends FiltersMap>\n extends NestedCollectionNodeStateBaseParams<T, F> {\n readonly nestedCollection: NestedCollectionState;\n readonly parentNode: NestedCollectionNodeState<any, any> | null;\n readonly parent: KeyedItem<any> | null;\n readonly nodeCollection?: NodeCollection<T, F>;\n}\n\nexport class NestedCollectionNodeState<T, F extends FiltersMap> {\n readonly nestedCollection;\n readonly collection;\n readonly levelDescriptor: NestedCollectionLevelDescriptor<T, F>;\n readonly parent;\n readonly parentNode;\n readonly parentFilter;\n\n readonly parentKeyToChildrenMap = observable.map<\n string,\n NestedCollectionNodeState<any, any>\n >([], {\n deep: false,\n });\n\n _expanded = false;\n _hovered = false;\n\n _firstRender;\n\n readonly initTask = new TaskState();\n\n constructor(params: NestedCollectionNodeStateParams<T, F>) {\n const { nestedCollection } = params;\n this.nestedCollection = nestedCollection;\n this.levelDescriptor = params.levelDescriptor;\n this.parent = params.parent;\n this.parentNode = params.parentNode;\n this._firstRender = !params.preRegister;\n\n runInAction(() => {\n this._expanded =\n !nestedCollection.isFetchAllAborted && nestedCollection.expandAll;\n });\n\n const { collection, parentFilter } =\n params.nodeCollection ??\n this.levelDescriptor.createCollection({\n parent: this.parent,\n sequences: nestedCollection.sequences,\n query: nestedCollection.query as QueryState<F>,\n });\n\n this.collection = collection;\n this.parentFilter = parentFilter;\n\n const {\n parent,\n nestedCollection: { query: sharedQuery },\n } = this;\n\n const { query } = collection;\n\n syncWithSharedQuery(query, sharedQuery);\n\n if (parent != null && parentFilter != null) {\n parentFilter.persistent = true;\n parentFilter.setValue([parent.key]);\n }\n\n makeObservable(this, {\n init: action,\n _toggleExpand: action,\n _changeHover: action,\n _expanded: observable.ref,\n _hovered: observable.ref,\n hoveredOrParentHovered: computed,\n });\n }\n\n async _toggleExpand() {\n this._expanded = !this._expanded;\n if (this._expanded) {\n try {\n await this.collection.initialFetch();\n } catch (e) {\n console.error(e);\n }\n }\n }\n\n get hoveredOrParentHovered(): boolean {\n return this._hovered || !!this.parentNode?.hoveredOrParentHovered;\n }\n\n _changeHover(hovered: boolean) {\n this._hovered = hovered;\n }\n\n init({ skipCollectionInit }: { skipCollectionInit?: boolean } = {}) {\n const { initTask, collection, nestedCollection } = this;\n\n if (collection._optimisticActions) {\n nestedCollection.events.on(\n 'dispose',\n collection._optimisticActions.init(),\n );\n }\n\n const disposers = [\n !skipCollectionInit\n ? collection.init({ skipInitialFetch: !this._expanded })\n : undefined,\n ];\n\n initTask.runOnce(async () => {\n collection.initTask.runOnce();\n await collection.initTask.status.promise;\n });\n\n return () => {\n disposers.forEach((d) => d?.());\n };\n }\n\n _createNode(\n parent: KeyedItem<any>,\n params: NestedCollectionNodeStateBaseParams<any, any>,\n ) {\n const { nestedCollection } = this;\n\n return new NestedCollectionNodeState({\n parent,\n parentNode: this,\n nestedCollection,\n levelDescriptor: params.levelDescriptor,\n preRegister: params.preRegister,\n });\n }\n}\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -6,6 +6,7 @@ exports.NestedCollectionState = void 0;
|
|
|
6
6
|
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
|
7
7
|
var _mobx = require("mobx");
|
|
8
8
|
var _NestedCollectionNodeState = require("./NestedCollectionNodeState");
|
|
9
|
+
var _events = require("events");
|
|
9
10
|
class NestedCollectionState {
|
|
10
11
|
constructor(params) {
|
|
11
12
|
var _this$root$parentFilt;
|
|
@@ -17,10 +18,13 @@ class NestedCollectionState {
|
|
|
17
18
|
(0, _defineProperty2.default)(this, "total", 0);
|
|
18
19
|
(0, _defineProperty2.default)(this, "root", void 0);
|
|
19
20
|
(0, _defineProperty2.default)(this, "query", void 0);
|
|
21
|
+
(0, _defineProperty2.default)(this, "sequences", void 0);
|
|
22
|
+
(0, _defineProperty2.default)(this, "events", new _events.EventEmitter());
|
|
20
23
|
const {
|
|
21
24
|
container
|
|
22
25
|
} = params;
|
|
23
26
|
this.container = container;
|
|
27
|
+
this.sequences = params.sequences;
|
|
24
28
|
const rootLevelDescriptor = params.levels[0];
|
|
25
29
|
this.levels = params.levels;
|
|
26
30
|
this.query = params.query;
|
|
@@ -29,13 +33,19 @@ class NestedCollectionState {
|
|
|
29
33
|
parentNode: null,
|
|
30
34
|
parent: null,
|
|
31
35
|
levelDescriptor: rootLevelDescriptor,
|
|
32
|
-
nodeCollection: params.nodeCollection
|
|
36
|
+
nodeCollection: params.nodeCollection,
|
|
37
|
+
preRegister: true
|
|
33
38
|
});
|
|
34
39
|
(_this$root$parentFilt = this.root.parentFilter) == null || _this$root$parentFilt.setValue(['null']);
|
|
35
40
|
(0, _mobx.makeObservable)(this, {
|
|
36
41
|
total: _mobx.observable.ref
|
|
37
42
|
});
|
|
38
43
|
}
|
|
44
|
+
init() {
|
|
45
|
+
return () => {
|
|
46
|
+
return this.events.listeners('dispose').forEach(d => d == null ? void 0 : d());
|
|
47
|
+
};
|
|
48
|
+
}
|
|
39
49
|
}
|
|
40
50
|
exports.NestedCollectionState = NestedCollectionState;
|
|
41
51
|
//# sourceMappingURL=NestedCollectionState.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_mobx","require","_NestedCollectionNodeState","NestedCollectionState","constructor","params","_this$root$parentFilt","_defineProperty2","default","undefined","container","rootLevelDescriptor","levels","query","root","NestedCollectionNodeState","nestedCollection","parentNode","parent","levelDescriptor","nodeCollection","parentFilter","setValue","makeObservable","total","observable","ref","exports"],"sources":["../../../../src/state/NestedTableState/NestedCollectionState.ts"],"sourcesContent":["import {
|
|
1
|
+
{"version":3,"names":["_mobx","require","_NestedCollectionNodeState","_events","NestedCollectionState","constructor","params","_this$root$parentFilt","_defineProperty2","default","undefined","EventEmitter","container","sequences","rootLevelDescriptor","levels","query","root","NestedCollectionNodeState","nestedCollection","parentNode","parent","levelDescriptor","nodeCollection","preRegister","parentFilter","setValue","makeObservable","total","observable","ref","init","events","listeners","forEach","d","exports"],"sources":["../../../../src/state/NestedTableState/NestedCollectionState.ts"],"sourcesContent":["import {\n WixPatternsContainer,\n QueryState,\n CollectionOptimisticSequenceExecutor,\n} from '@wix/bex-core';\nimport { makeObservable, observable } from 'mobx';\nimport { NestedCollectionNodeState } from './NestedCollectionNodeState';\nimport { NestedCollectionLevelDescriptor } from './NestedCollectionLevelDescriptor';\nimport { NodeCollection } from './types';\nimport { EventEmitter } from 'events';\nimport { TypedEmitter } from '@wix/bex-core/events';\n\nexport interface NestedCollectionStateBaseParams {\n levels: NestedCollectionLevelDescriptor<any, any>[];\n query: QueryState<{}>;\n nodeCollection?: NodeCollection<any, any>;\n}\n\nexport interface NestedCollectionStateParams\n extends NestedCollectionStateBaseParams {\n readonly container: WixPatternsContainer;\n readonly sequences: Map<string, CollectionOptimisticSequenceExecutor>;\n}\n\nexport class NestedCollectionState {\n readonly container;\n\n readonly levels;\n\n isFetchAllAborted = null as null | boolean;\n\n _fetchAllTotal = undefined as undefined | number;\n\n expandAll = true;\n total = 0;\n\n readonly root: NestedCollectionNodeState<any, any>;\n readonly query;\n readonly sequences;\n\n readonly events = new EventEmitter() as TypedEmitter<{\n dispose: (() => void) | undefined;\n }>;\n\n constructor(params: NestedCollectionStateParams) {\n const { container } = params;\n this.container = container;\n this.sequences = params.sequences;\n\n const rootLevelDescriptor = params.levels[0];\n\n this.levels = params.levels;\n this.query = params.query;\n\n this.root = new NestedCollectionNodeState({\n nestedCollection: this,\n parentNode: null,\n parent: null,\n levelDescriptor: rootLevelDescriptor,\n nodeCollection: params.nodeCollection,\n preRegister: true,\n });\n\n this.root.parentFilter?.setValue(['null']);\n\n makeObservable(this, {\n total: observable.ref,\n });\n }\n\n init() {\n return () => {\n return this.events.listeners('dispose').forEach((d) => d?.());\n };\n }\n}\n"],"mappings":";;;;;;AAKA,IAAAA,KAAA,GAAAC,OAAA;AACA,IAAAC,0BAAA,GAAAD,OAAA;AAGA,IAAAE,OAAA,GAAAF,OAAA;AAeO,MAAMG,qBAAqB,CAAC;EAoBjCC,WAAWA,CAACC,MAAmC,EAAE;IAAA,IAAAC,qBAAA;IAAA,IAAAC,gBAAA,CAAAC,OAAA;IAAA,IAAAD,gBAAA,CAAAC,OAAA;IAAA,IAAAD,gBAAA,CAAAC,OAAA,6BAf7B,IAAI;IAAA,IAAAD,gBAAA,CAAAC,OAAA,0BAEPC,SAAS;IAAA,IAAAF,gBAAA,CAAAC,OAAA,qBAEd,IAAI;IAAA,IAAAD,gBAAA,CAAAC,OAAA,iBACR,CAAC;IAAA,IAAAD,gBAAA,CAAAC,OAAA;IAAA,IAAAD,gBAAA,CAAAC,OAAA;IAAA,IAAAD,gBAAA,CAAAC,OAAA;IAAA,IAAAD,gBAAA,CAAAC,OAAA,kBAMS,IAAIE,oBAAY,CAAC,CAAC;IAKlC,MAAM;MAAEC;IAAU,CAAC,GAAGN,MAAM;IAC5B,IAAI,CAACM,SAAS,GAAGA,SAAS;IAC1B,IAAI,CAACC,SAAS,GAAGP,MAAM,CAACO,SAAS;IAEjC,MAAMC,mBAAmB,GAAGR,MAAM,CAACS,MAAM,CAAC,CAAC,CAAC;IAE5C,IAAI,CAACA,MAAM,GAAGT,MAAM,CAACS,MAAM;IAC3B,IAAI,CAACC,KAAK,GAAGV,MAAM,CAACU,KAAK;IAEzB,IAAI,CAACC,IAAI,GAAG,IAAIC,oDAAyB,CAAC;MACxCC,gBAAgB,EAAE,IAAI;MACtBC,UAAU,EAAE,IAAI;MAChBC,MAAM,EAAE,IAAI;MACZC,eAAe,EAAER,mBAAmB;MACpCS,cAAc,EAAEjB,MAAM,CAACiB,cAAc;MACrCC,WAAW,EAAE;IACf,CAAC,CAAC;IAEF,CAAAjB,qBAAA,OAAI,CAACU,IAAI,CAACQ,YAAY,aAAtBlB,qBAAA,CAAwBmB,QAAQ,CAAC,CAAC,MAAM,CAAC,CAAC;IAE1C,IAAAC,oBAAc,EAAC,IAAI,EAAE;MACnBC,KAAK,EAAEC,gBAAU,CAACC;IACpB,CAAC,CAAC;EACJ;EAEAC,IAAIA,CAAA,EAAG;IACL,OAAO,MAAM;MACX,OAAO,IAAI,CAACC,MAAM,CAACC,SAAS,CAAC,SAAS,CAAC,CAACC,OAAO,CAAEC,CAAC,IAAKA,CAAC,oBAADA,CAAC,CAAG,CAAC,CAAC;IAC/D,CAAC;EACH;AACF;AAACC,OAAA,CAAAhC,qBAAA,GAAAA,qBAAA","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":[],"sources":["../../../../src/state/NestedTableState/NestedTableLevelDescriptor.ts"],"sourcesContent":["import { FiltersMap } from '@wix/bex-core';\nimport { NestedCollectionLevelDescriptor } from './NestedCollectionLevelDescriptor';\nimport { ActionCell } from '../../components/ActionCell';\nimport {\n NestedTableNestColumns,\n RenderMainColumn,\n} from './NestedTableNodeState';\n\nexport interface NestedTableLevelDescriptor<\n C extends string,\n T,\n F extends FiltersMap,\n> extends NestedCollectionLevelDescriptor<T, F> {\n readonly columns?: NestedTableNestColumns<C, T>;\n readonly renderMainColumn?: RenderMainColumn<T>;\n readonly actionCell?: ActionCell<T, F>;\n readonly breadcrumbs?: (\n item: T,\n ) => { id: string; name: string }[] | null | undefined;\n readonly onAddNewClick?: () => void;\n}\n"],"mappings":"","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":[],"sources":["../../../../src/state/NestedTableState/NestedTableLevelDescriptor.ts"],"sourcesContent":["import { FiltersMap } from '@wix/bex-core';\nimport { NestedCollectionLevelDescriptor } from './NestedCollectionLevelDescriptor';\nimport { ActionCell } from '../../components/ActionCell';\nimport {\n NestedTableNestColumns,\n RenderMainColumn,\n} from './NestedTableNodeState';\nimport { NestedDragEndEvent } from '../../components/NestedTableDragAndDrop/NestedTableDragAndDropState';\n\nexport interface NestedTableLevelDescriptor<\n C extends string,\n T,\n F extends FiltersMap,\n> extends NestedCollectionLevelDescriptor<T, F> {\n readonly columns?: NestedTableNestColumns<C, T>;\n readonly renderMainColumn?: RenderMainColumn<T>;\n readonly actionCell?: ActionCell<T, F>;\n readonly breadcrumbs?: (\n item: T,\n ) => { id: string; name: string }[] | null | undefined;\n readonly onAddNewClick?: () => void;\n readonly dragAndDropSubmit?: (\n event: NestedDragEndEvent<C, T, F>,\n ) => Promise<void>;\n}\n"],"mappings":"","ignoreList":[]}
|
|
@@ -44,20 +44,47 @@ class NestedTableNestedModeState {
|
|
|
44
44
|
container: this.container,
|
|
45
45
|
levels: wrapper.levels,
|
|
46
46
|
query: wrapper.query,
|
|
47
|
-
nodeCollection: wrapper.rootNodeCollection
|
|
47
|
+
nodeCollection: wrapper.rootNodeCollection,
|
|
48
|
+
sequences: wrapper.sequences
|
|
48
49
|
});
|
|
49
50
|
this.root = new _NestedTableNodeState.NestedTableNodeState({
|
|
50
51
|
nestedTable: this,
|
|
51
52
|
node: this.nestedCollection.root,
|
|
52
53
|
levelDescriptor: rootLevelDescriptor,
|
|
53
54
|
parentNode: null,
|
|
54
|
-
parent: null
|
|
55
|
+
parent: null,
|
|
56
|
+
preRegister: true
|
|
55
57
|
});
|
|
56
58
|
this.reportBi = params.reportBi;
|
|
57
59
|
this.virtual = new _TableVirtualState.TableVirtualState({
|
|
58
|
-
table: this
|
|
60
|
+
table: this,
|
|
61
|
+
getVirtualItemKey: item => {
|
|
62
|
+
var _item$item$state$pare;
|
|
63
|
+
return [item.id, (_item$item$state$pare = item.item.state.parent) == null ? void 0 : _item$item$state$pare.id].filter(Boolean).join('_');
|
|
64
|
+
}
|
|
59
65
|
});
|
|
60
66
|
}
|
|
67
|
+
getCollectionSnapshot() {
|
|
68
|
+
var _toolbar$viewsState, _originQuery$sort;
|
|
69
|
+
const {
|
|
70
|
+
toolbar
|
|
71
|
+
} = this;
|
|
72
|
+
const {
|
|
73
|
+
collection: {
|
|
74
|
+
result: {
|
|
75
|
+
originQuery,
|
|
76
|
+
total
|
|
77
|
+
}
|
|
78
|
+
}
|
|
79
|
+
} = toolbar;
|
|
80
|
+
return {
|
|
81
|
+
viewShown: (_toolbar$viewsState = toolbar.viewsState) == null || (_toolbar$viewsState = _toolbar$viewsState.views.currentView) == null ? void 0 : _toolbar$viewsState.id,
|
|
82
|
+
tabShown: toolbar.getCurrentTabName(),
|
|
83
|
+
sortOrderApplied: (_originQuery$sort = originQuery.sort) != null && _originQuery$sort.length ? JSON.stringify(originQuery.sort) : undefined,
|
|
84
|
+
filtersApplied: JSON.stringify(originQuery.filtersKey),
|
|
85
|
+
filteredListSizeShown: total
|
|
86
|
+
};
|
|
87
|
+
}
|
|
61
88
|
get multi() {
|
|
62
89
|
return this.toolbar.multi;
|
|
63
90
|
}
|
|
@@ -122,12 +149,14 @@ class NestedTableNestedModeState {
|
|
|
122
149
|
const {
|
|
123
150
|
initTask,
|
|
124
151
|
wrapper,
|
|
125
|
-
root
|
|
152
|
+
root,
|
|
153
|
+
nestedCollection
|
|
126
154
|
} = this;
|
|
127
155
|
const disposers = [wrapper.init(), root.init({
|
|
128
156
|
skipCollectionInit: true
|
|
129
|
-
})
|
|
130
|
-
|
|
157
|
+
}),
|
|
158
|
+
// collection is initialized by toolbar state
|
|
159
|
+
nestedCollection.init()];
|
|
131
160
|
initTask.runOnce(async () => {
|
|
132
161
|
wrapper.initTask.runOnce();
|
|
133
162
|
root.initTask.runOnce();
|
|
@@ -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';\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 _indentationWidth = 28;\n _parentCellPaddingStart = 24;\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
|
+
{"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","sequences","NestedTableNodeState","nestedTable","node","levelDescriptor","parentNode","parent","preRegister","reportBi","virtual","TableVirtualState","table","getVirtualItemKey","item","_item$item$state$pare","id","state","filter","Boolean","join","getCollectionSnapshot","_toolbar$viewsState","_originQuery$sort","toolbar","collection","result","originQuery","total","viewShown","viewsState","views","currentView","tabShown","getCurrentTabName","sortOrderApplied","sort","length","JSON","stringify","undefined","filtersApplied","filtersKey","filteredListSizeShown","multi","tableState","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 sequences: wrapper.sequences,\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 preRegister: true,\n });\n\n this.reportBi = params.reportBi;\n\n this.virtual = new TableVirtualState({\n table: this,\n getVirtualItemKey: (item) =>\n [item.id, item.item.state.parent?.id].filter(Boolean).join('_'),\n });\n }\n\n getCollectionSnapshot() {\n const { toolbar } = this;\n\n const {\n collection: {\n result: { originQuery, total },\n },\n } = toolbar;\n\n return {\n viewShown: toolbar.viewsState?.views.currentView?.id,\n tabShown: toolbar.getCurrentTabName(),\n sortOrderApplied: originQuery.sort?.length\n ? JSON.stringify(originQuery.sort)\n : undefined,\n filtersApplied: JSON.stringify(originQuery.filtersKey),\n filteredListSizeShown: total,\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 _indentationWidth = 28;\n _parentCellPaddingStart = 24;\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, nestedCollection } = this;\n\n const disposers = [\n wrapper.init(),\n root.init({ skipCollectionInit: true }), // collection is initialized by toolbar state\n nestedCollection.init(),\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;AAYO,MAAMK,0BAA0B,CAA4B;EAajEC,WAAWA,CAACC,MAA2C,EAAE;IAAA,IAAAC,gBAAA,CAAAC,OAAA;IAAA,IAAAD,gBAAA,CAAAC,OAAA;IAAA,IAAAD,gBAAA,CAAAC,OAAA;IAAA,IAAAD,gBAAA,CAAAC,OAAA;IAAA,IAAAD,gBAAA,CAAAC,OAAA;IAAA,IAAAD,gBAAA,CAAAC,OAAA,oBANrC,IAAIC,kBAAS,CAAC,CAAC;IAAA,IAAAF,gBAAA,CAAAC,OAAA;IAAA,IAAAD,gBAAA,CAAAC,OAAA,kCAI6B,IAAI;IAAA,IAAAD,gBAAA,CAAAC,OAAA,6BAuFhD,EAAE;IAAA,IAAAD,gBAAA,CAAAC,OAAA,mCACI,EAAE;IAAA,IAAAD,gBAAA,CAAAC,OAAA,wBAEZE,GAAW,IAAK,IAAI,CAACC,IAAI,CAACC,YAAY,CAACF,GAAG,CAAC;IAAA,IAAAH,gBAAA,CAAAC,OAAA,+BAEpCK,GAAW,IAAK,IAAI,CAACF,IAAI,CAACG,mBAAmB,CAACD,GAAG,CAAC;IAAA,IAAAN,gBAAA,CAAAC,OAAA,2BAmCvD,IAAAO,YAAM,EAAC,MAAM;MAC7B,MAAM;QAAEC;MAAS,CAAC,GAAG,IAAI;MAEzB,IAAIA,QAAQ,CAACC,MAAM,CAACC,OAAO,EAAE;QAC3BF,QAAQ,CAACG,OAAO,CAAC,CAAC;MACpB;IACF,CAAC,CAAC;IAlIA,MAAM;MAAEC;IAAQ,CAAC,GAAGd,MAAM;IAC1B,IAAI,CAACc,OAAO,GAAGA,OAAO;IACtB,IAAI,CAACC,SAAS,GAAGD,OAAO,CAACC,SAAS;IAElC,MAAMC,mBAAmB,GAAG,IAAI,CAACF,OAAO,CAACG,MAAM,CAAC,CAAC,CAAC;IAElD,IAAID,mBAAmB,IAAI,IAAI,EAAE;MAC/B,MAAM,IAAIE,KAAK,CAAC,+CAA+C,CAAC;IAClE;IAEA,IAAI,CAACC,gBAAgB,GAAG,IAAIC,4CAAqB,CAAC;MAChDL,SAAS,EAAE,IAAI,CAACA,SAAS;MACzBE,MAAM,EAAEH,OAAO,CAACG,MAAM;MACtBI,KAAK,EAAEP,OAAO,CAACO,KAAK;MACpBC,cAAc,EAAER,OAAO,CAACS,kBAAkB;MAC1CC,SAAS,EAAEV,OAAO,CAACU;IACrB,CAAC,CAAC;IAEF,IAAI,CAACnB,IAAI,GAAG,IAAIoB,0CAAoB,CAAC;MACnCC,WAAW,EAAE,IAAI;MACjBC,IAAI,EAAE,IAAI,CAACR,gBAAgB,CAACd,IAAI;MAChCuB,eAAe,EAAEZ,mBAAmB;MACpCa,UAAU,EAAE,IAAI;MAChBC,MAAM,EAAE,IAAI;MACZC,WAAW,EAAE;IACf,CAAC,CAAC;IAEF,IAAI,CAACC,QAAQ,GAAGhC,MAAM,CAACgC,QAAQ;IAE/B,IAAI,CAACC,OAAO,GAAG,IAAIC,oCAAiB,CAAC;MACnCC,KAAK,EAAE,IAAI;MACXC,iBAAiB,EAAGC,IAAI;QAAA,IAAAC,qBAAA;QAAA,OACtB,CAACD,IAAI,CAACE,EAAE,GAAAD,qBAAA,GAAED,IAAI,CAACA,IAAI,CAACG,KAAK,CAACV,MAAM,qBAAtBQ,qBAAA,CAAwBC,EAAE,CAAC,CAACE,MAAM,CAACC,OAAO,CAAC,CAACC,IAAI,CAAC,GAAG,CAAC;MAAA;IACnE,CAAC,CAAC;EACJ;EAEAC,qBAAqBA,CAAA,EAAG;IAAA,IAAAC,mBAAA,EAAAC,iBAAA;IACtB,MAAM;MAAEC;IAAQ,CAAC,GAAG,IAAI;IAExB,MAAM;MACJC,UAAU,EAAE;QACVC,MAAM,EAAE;UAAEC,WAAW;UAAEC;QAAM;MAC/B;IACF,CAAC,GAAGJ,OAAO;IAEX,OAAO;MACLK,SAAS,GAAAP,mBAAA,GAAEE,OAAO,CAACM,UAAU,cAAAR,mBAAA,GAAlBA,mBAAA,CAAoBS,KAAK,CAACC,WAAW,qBAArCV,mBAAA,CAAuCN,EAAE;MACpDiB,QAAQ,EAAET,OAAO,CAACU,iBAAiB,CAAC,CAAC;MACrCC,gBAAgB,EAAE,CAAAZ,iBAAA,GAAAI,WAAW,CAACS,IAAI,aAAhBb,iBAAA,CAAkBc,MAAM,GACtCC,IAAI,CAACC,SAAS,CAACZ,WAAW,CAACS,IAAI,CAAC,GAChCI,SAAS;MACbC,cAAc,EAAEH,IAAI,CAACC,SAAS,CAACZ,WAAW,CAACe,UAAU,CAAC;MACtDC,qBAAqB,EAAEf;IACzB,CAAC;EACH;EAEA,IAAIgB,KAAKA,CAAA,EAAG;IACV,OAAO,IAAI,CAACpB,OAAO,CAACoB,KAAK;EAC3B;EAEA,IAAIC,UAAUA,CAAA,EAAG;IACf,OAAO,IAAI,CAACtD,OAAO,CAACsD,UAAU;EAChC;EAEA,IAAIrB,OAAOA,CAAA,EAAG;IACZ,OAAO,IAAI,CAACjC,OAAO,CAACiC,OAAO;EAC7B;EAEA,IAAII,KAAKA,CAAA,EAAG;IACV,OAAO,IAAI,CAAChC,gBAAgB,CAACgC,KAAK;EACpC;EAEA,IAAID,WAAWA,CAAA,EAAG;IAChB,OAAO,IAAI,CAACH,OAAO,CAACC,UAAU,CAACE,WAAW;EAC5C;EAEA,IAAImB,UAAUA,CAAA,EAAG;IACf,OAAO,IAAI,CAAChE,IAAI,CAACgE,UAAU;EAC7B;EAEA,IAAIC,cAAcA,CAAA,EAAG;IACnB,OAAO,IAAI,CAACjE,IAAI,CAACiE,cAAc;EACjC;EASA,IAAIC,SAASA,CAAA,EAAG;IACd,OAAO,IAAI,CAACpD,gBAAgB,CAACoD,SAAS;EACxC;EAEA,IAAIC,iBAAiBA,CAAA,EAAG;IACtB,OAAO,IAAI,CAACrD,gBAAgB,CAACqD,iBAAiB;EAChD;EAEA,IAAIC,cAAcA,CAAA,EAAG;IACnB,OAAO,IAAI,CAAC1B,OAAO,CAACoB,KAAK,CAACM,cAAc;EAC1C;EAEA,IAAIC,iBAAiBA,CAAA,EAAG;IACtB,OAAO,IAAI,CAAC3B,OAAO,CAACoB,KAAK,CAACO,iBAAiB;EAC7C;EAEA,IAAIC,uBAAuBA,CAAA,EAAG;IAC5B,OAAO,IAAI,CAAC5B,OAAO,CAACoB,KAAK,CAACQ,uBAAuB;EACnD;EAEA,IAAIC,6BAA6BA,CAAA,EAAG;IAClC,OAAO,IAAI,CAAC7B,OAAO,CAACoB,KAAK,CAACS,6BAA6B;EACzD;EAEA,IAAIC,cAAcA,CAAA,EAAG;IACnB,MAAM;MAAEnE;IAAS,CAAC,GAAG,IAAI;IACzB,OAAOA,QAAQ,CAACC,MAAM,CAACC,OAAO;EAChC;EAEA,IAAIkE,gBAAgBA,CAAA,EAAG;IACrB,OAAO,IAAI,CAACpE,QAAQ,CAACC,MAAM,CAACoE,SAAS;EACvC;EAUA,IAAIC,WAAWA,CAAA,EAAG;IAChB,MAAM;MAAEtE;IAAS,CAAC,GAAG,IAAI;IACzB,OAAOA,QAAQ,CAACsE,WAAW;EAC7B;EAEA,IAAI3D,KAAKA,CAAA,EAAG;IACV,OAAO,IAAI,CAACP,OAAO,CAACO,KAAK;EAC3B;EAEA,IAAIJ,MAAMA,CAAA,EAAG;IACX,OAAO,IAAI,CAACH,OAAO,CAACG,MAAM;EAC5B;EAEAgE,IAAIA,CAAA,EAAG;IACL,MAAM;MAAEvE,QAAQ;MAAEI,OAAO;MAAET,IAAI;MAAEc;IAAiB,CAAC,GAAG,IAAI;IAE1D,MAAM+D,SAAS,GAAG,CAChBpE,OAAO,CAACmE,IAAI,CAAC,CAAC,EACd5E,IAAI,CAAC4E,IAAI,CAAC;MAAEE,kBAAkB,EAAE;IAAK,CAAC,CAAC;IAAE;IACzChE,gBAAgB,CAAC8D,IAAI,CAAC,CAAC,CACxB;IAEDvE,QAAQ,CAACG,OAAO,CAAC,YAAY;MAC3BC,OAAO,CAACJ,QAAQ,CAACG,OAAO,CAAC,CAAC;MAC1BR,IAAI,CAACK,QAAQ,CAACG,OAAO,CAAC,CAAC;MAEvB,MAAMR,IAAI,CAACK,QAAQ,CAACC,MAAM,CAACyE,OAAO;MAClC,MAAMtE,OAAO,CAACJ,QAAQ,CAACC,MAAM,CAACyE,OAAO;IACvC,CAAC,CAAC;IAEF,OAAO,MAAM;MACXF,SAAS,CAACG,OAAO,CAAEC,CAAC,IAAKA,CAAC,CAAC,CAAC,CAAC;IAC/B,CAAC;EACH;AACF;AAACC,OAAA,CAAAzF,0BAAA,GAAAA,0BAAA","ignoreList":[]}
|
|
@@ -158,26 +158,6 @@ class NestedTableNodeState {
|
|
|
158
158
|
getKeyedItemByIndex(ind) {
|
|
159
159
|
return this.keyedItems[ind];
|
|
160
160
|
}
|
|
161
|
-
getCollectionSnapshot() {
|
|
162
|
-
var _toolbar$viewsState, _originQuery$sort;
|
|
163
|
-
const {
|
|
164
|
-
collection: {
|
|
165
|
-
result: {
|
|
166
|
-
originQuery
|
|
167
|
-
}
|
|
168
|
-
},
|
|
169
|
-
nestedTable: {
|
|
170
|
-
toolbar
|
|
171
|
-
}
|
|
172
|
-
} = this;
|
|
173
|
-
return {
|
|
174
|
-
viewShown: (_toolbar$viewsState = toolbar.viewsState) == null || (_toolbar$viewsState = _toolbar$viewsState.views.currentView) == null ? void 0 : _toolbar$viewsState.id,
|
|
175
|
-
tabShown: toolbar.getCurrentTabName(),
|
|
176
|
-
sortOrderApplied: (_originQuery$sort = originQuery.sort) != null && _originQuery$sort.length ? JSON.stringify(originQuery.sort) : undefined,
|
|
177
|
-
filtersApplied: JSON.stringify(originQuery.filtersKey),
|
|
178
|
-
filteredListSizeShown: this.collection.result.total
|
|
179
|
-
};
|
|
180
|
-
}
|
|
181
161
|
_register() {
|
|
182
162
|
const {
|
|
183
163
|
parent,
|
|
@@ -215,7 +195,8 @@ class NestedTableNodeState {
|
|
|
215
195
|
} = node;
|
|
216
196
|
await Promise.all(keyedItems.map(async keyedItem => {
|
|
217
197
|
const state = this.createNode({
|
|
218
|
-
parent: keyedItem
|
|
198
|
+
parent: keyedItem,
|
|
199
|
+
preRegister: true
|
|
219
200
|
});
|
|
220
201
|
if (state == null) {
|
|
221
202
|
return;
|
|
@@ -246,11 +227,15 @@ class NestedTableNodeState {
|
|
|
246
227
|
const {
|
|
247
228
|
node,
|
|
248
229
|
initTask,
|
|
249
|
-
nestedTable
|
|
230
|
+
nestedTable,
|
|
231
|
+
collection
|
|
250
232
|
} = this;
|
|
233
|
+
const {
|
|
234
|
+
nestedTableDragAndDrop
|
|
235
|
+
} = nestedTable;
|
|
251
236
|
const disposers = [node.init({
|
|
252
237
|
skipCollectionInit
|
|
253
|
-
})];
|
|
238
|
+
}), nestedTableDragAndDrop == null ? void 0 : nestedTableDragAndDrop.initCollection(collection)];
|
|
254
239
|
initTask.runOnce(async () => {
|
|
255
240
|
node.initTask.runOnce();
|
|
256
241
|
await node.initTask.status.promise;
|
|
@@ -269,7 +254,8 @@ class NestedTableNodeState {
|
|
|
269
254
|
};
|
|
270
255
|
}
|
|
271
256
|
createNode({
|
|
272
|
-
parent
|
|
257
|
+
parent,
|
|
258
|
+
preRegister
|
|
273
259
|
}) {
|
|
274
260
|
const {
|
|
275
261
|
nestedTable,
|
|
@@ -286,7 +272,8 @@ class NestedTableNodeState {
|
|
|
286
272
|
return null;
|
|
287
273
|
}
|
|
288
274
|
const nextLevelNode = node._createNode(parent, {
|
|
289
|
-
levelDescriptor: nextLevelDescriptor
|
|
275
|
+
levelDescriptor: nextLevelDescriptor,
|
|
276
|
+
preRegister
|
|
290
277
|
});
|
|
291
278
|
if (nextLevelNode == null) {
|
|
292
279
|
return null;
|
|
@@ -296,7 +283,8 @@ class NestedTableNodeState {
|
|
|
296
283
|
parentNode: this,
|
|
297
284
|
nestedTable,
|
|
298
285
|
node: nextLevelNode,
|
|
299
|
-
levelDescriptor: nextLevelDescriptor
|
|
286
|
+
levelDescriptor: nextLevelDescriptor,
|
|
287
|
+
preRegister
|
|
300
288
|
});
|
|
301
289
|
}
|
|
302
290
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_bexCore","require","_mobx","_NestedTableNodeStateBIReporter","NestedTableNodeState","constructor","params","_defineProperty2","default","TaskState","Map","createAtom","node","collection","retryErrorState","nestedTable","parentNode","parent","levelDescriptor","bi","NestedTableNodeStateBIReporter","multi","MultiCollectionSupport","collections","makeObservable","keyedItems","computed","_keyedItemsIfExpanded","_isNotExpandableWhenEmpty","init","action","createNode","_preRegisterAll","_toggleExpand","_notify","_notifyAll","_keyedItemsMap","getKeyedItem","_register","depth","_expanded","columns","renderMainColumn","showHoverHighlight","hoveredOrParentHovered","_changeHover","hovered","showEmptyState","showLoadingState","showInitialLoader","showRefreshLoader","showErrorState","errorStatus","result","isFetchAllAborted","Array","fill","map","_","index","id","key","pageIndex","indexWithinPage","item","state","originalKeyedItem","undefined","keyedItem","parentKeyToChildrenMap","parentKeyToChildrenMapAtom","reportObserved","flatMap","_parentKeyToChildrenM","get","getKeyedItemByIndex","ind","getCollectionSnapshot","_toolbar$viewsState","_originQuery$sort","originQuery","toolbar","viewShown","viewsState","views","currentView","tabShown","getCurrentTabName","sortOrderApplied","sort","length","JSON","stringify","filtersApplied","filtersKey","filteredListSizeShown","total","set","delete","_this$parentNode","promise","reportExpandCollapse","reportChanged","runInAction","_this$parentNode2","Promise","all","dispose","initTask","status","forEach","skipCollectionInit","disposers","runOnce","expandAll","d","existing","nextLevelDescriptor","levels","nextLevelNode","_createNode","exports"],"sources":["../../../../src/state/NestedTableState/NestedTableNodeState.ts"],"sourcesContent":["import {\n FiltersMap,\n KeyedItem,\n MultiCollectionSupport,\n TaskState,\n} from '@wix/bex-core';\nimport { NestedCollectionNodeState } from './NestedCollectionNodeState';\nimport {\n action,\n computed,\n createAtom,\n makeObservable,\n runInAction,\n} from 'mobx';\nimport { TableColumn } from '../../model';\nimport { NestedTableNestedModeState } from './NestedTableNestedModeState';\nimport { ReactNode } from 'react';\nimport { NestedTableNodeStateBIReporter } from './NestedTableNodeStateBIReporter';\nimport { NestedTableLevelDescriptor } from './NestedTableLevelDescriptor';\n\nexport interface NestedTableDataItem<\n C extends string,\n T,\n F extends FiltersMap,\n> {\n state: NestedTableNodeState<C, T, F>;\n originalKeyedItem: KeyedItem<T>;\n}\n\ninterface NestedTableSkeletonItem<C extends string, T, F extends FiltersMap> {\n state: NestedTableNodeState<C, T, F>;\n originalKeyedItem: undefined;\n}\n\nexport type NestedTableItem<C extends string, T, F extends FiltersMap> =\n | NestedTableDataItem<C, T, F>\n | NestedTableSkeletonItem<C, T, F>;\n\nexport type NestedTableKeyedItem<\n C extends string,\n T,\n F extends FiltersMap,\n> = KeyedItem<NestedTableItem<C, T, F>>;\n\nexport type RenderMainColumn<T> = (item: T) => {\n title?: string;\n subtitle?: string;\n image?: ReactNode;\n};\n\nexport type NestedTableNestColumns<C extends string, T> = Partial<\n Record<C, TableColumn<T>['render']>\n>;\n\nexport interface NestedTableNodeStateParams<\n C extends string,\n T,\n F extends FiltersMap,\n> {\n readonly nestedTable: NestedTableNestedModeState<C>;\n readonly node: NestedCollectionNodeState<T, F>;\n readonly levelDescriptor: NestedTableLevelDescriptor<C, T, F>;\n readonly parentNode: NestedTableNodeState<C, any, any> | null;\n readonly parent: KeyedItem<unknown> | null;\n}\n\nexport class NestedTableNodeState<C extends string, T, F extends FiltersMap> {\n readonly nestedTable;\n readonly node;\n\n readonly levelDescriptor;\n readonly parentNode;\n readonly parent;\n readonly bi: NestedTableNodeStateBIReporter<C, T, F>;\n\n readonly multi;\n\n _rowNum?: number;\n\n readonly initTask = new TaskState();\n\n readonly parentKeyToChildrenMap = new Map<\n string,\n NestedTableNodeState<C, any, any>\n >();\n\n readonly parentKeyToChildrenMapAtom = createAtom(\n 'parentKeyToChildrenMapAtom',\n );\n\n constructor(params: NestedTableNodeStateParams<C, T, F>) {\n this.nestedTable = params.nestedTable;\n this.node = params.node;\n this.parentNode = params.parentNode;\n this.parent = params.parent;\n this.levelDescriptor = params.levelDescriptor;\n this.bi = new NestedTableNodeStateBIReporter(this);\n\n this.multi = new MultiCollectionSupport({\n collections: [this.node.collection],\n });\n\n makeObservable(this, {\n keyedItems: computed,\n _keyedItemsIfExpanded: computed,\n _isNotExpandableWhenEmpty: computed,\n init: action,\n createNode: action,\n _preRegisterAll: action,\n _toggleExpand: action,\n _notify: action,\n _notifyAll: action,\n _keyedItemsMap: computed,\n getKeyedItem: action,\n });\n\n this._register();\n }\n\n get collection() {\n return this.node.collection;\n }\n\n get depth() {\n return this.levelDescriptor.depth;\n }\n\n get _expanded() {\n return this.node._expanded;\n }\n\n get columns() {\n return this.levelDescriptor.columns;\n }\n\n get renderMainColumn() {\n return this.levelDescriptor.renderMainColumn;\n }\n\n get showHoverHighlight() {\n return this.node.hoveredOrParentHovered;\n }\n\n _changeHover(hovered: boolean) {\n this.node._changeHover(hovered);\n }\n\n get showEmptyState() {\n return this.node.collection.showEmptyState;\n }\n\n get showLoadingState() {\n return (\n this.node.collection.showInitialLoader ||\n this.node.collection.showRefreshLoader\n );\n }\n\n get showErrorState() {\n return this.node.collection.showErrorState;\n }\n\n get errorStatus() {\n return this.node.collection.result.errorStatus;\n }\n\n retryErrorState = () => this.node.collection.retryErrorState();\n\n get _isNotExpandableWhenEmpty() {\n const {\n nestedTable: { isFetchAllAborted },\n node: {\n collection: { showEmptyState },\n },\n } = this;\n return !isFetchAllAborted && showEmptyState;\n }\n\n get _keyedItemsIfExpanded(): NestedTableKeyedItem<C, any, any>[] {\n const {\n parent,\n nestedTable: { isFetchAllAborted },\n _expanded,\n node: {\n collection: { showRefreshLoader, showEmptyState, showErrorState },\n },\n } = this;\n\n if (!_expanded) {\n return [];\n }\n\n return [\n ...this.keyedItems,\n ...(parent &&\n isFetchAllAborted &&\n (showRefreshLoader || showEmptyState || showErrorState)\n ? new Array(1).fill(null).map((_, index) => ({\n id: `placeholder-states-${parent.key}`,\n key: `placeholder-states-${parent.key}`,\n index,\n pageIndex: 0,\n indexWithinPage: index,\n item: {\n state: this,\n originalKeyedItem: undefined,\n },\n }))\n : []),\n ];\n }\n\n get _keyedItemsMap(): Map<string, NestedTableKeyedItem<C, any, any>> {\n return new Map(\n this.keyedItems.map((keyedItem) => [keyedItem.key, keyedItem]),\n );\n }\n\n get keyedItems(): NestedTableKeyedItem<C, any, any>[] {\n const { node, parentKeyToChildrenMap, parentKeyToChildrenMapAtom } = this;\n const {\n collection: {\n result: { keyedItems },\n },\n } = node;\n\n parentKeyToChildrenMapAtom.reportObserved();\n\n return keyedItems\n .flatMap((keyedItem) => [\n {\n ...keyedItem,\n item: {\n state: this,\n originalKeyedItem: keyedItem,\n },\n },\n ...(parentKeyToChildrenMap.get(keyedItem.key)?._keyedItemsIfExpanded ??\n []),\n ])\n .map((keyedItem, index) => ({ ...keyedItem, index }));\n }\n\n getKeyedItem(key: string) {\n return this._keyedItemsMap.get(key);\n }\n\n getKeyedItemByIndex(ind: number) {\n return this.keyedItems[ind];\n }\n\n getCollectionSnapshot() {\n const {\n collection: {\n result: { originQuery },\n },\n nestedTable: { toolbar },\n } = this;\n\n return {\n viewShown: toolbar.viewsState?.views.currentView?.id,\n tabShown: toolbar.getCurrentTabName(),\n sortOrderApplied: originQuery.sort?.length\n ? JSON.stringify(originQuery.sort)\n : undefined,\n filtersApplied: JSON.stringify(originQuery.filtersKey),\n filteredListSizeShown: this.collection.result.total,\n };\n }\n\n _register() {\n const { parent, parentNode } = this;\n\n if (parent == null || parentNode == null) {\n return;\n }\n\n parentNode.parentKeyToChildrenMap.set(parent.key, this);\n\n return () => {\n parentNode.parentKeyToChildrenMap.delete(parent.key);\n };\n }\n\n async _toggleExpand() {\n const promise = this.node._toggleExpand();\n this.bi.reportExpandCollapse();\n this.parentNode?.parentKeyToChildrenMapAtom.reportChanged();\n await promise;\n runInAction(() => {\n this.parentNode?.parentKeyToChildrenMapAtom.reportChanged();\n });\n }\n\n async _preRegisterAll() {\n const { node } = this;\n const {\n collection: {\n result: { keyedItems },\n },\n } = node;\n\n await Promise.all(\n keyedItems.map(async (keyedItem) => {\n const state = this.createNode({ parent: keyedItem });\n if (state == null) {\n return;\n }\n const dispose = state.init();\n await state.initTask.status.promise;\n dispose();\n }),\n );\n }\n\n _notify() {\n const { parentKeyToChildrenMapAtom } = this;\n parentKeyToChildrenMapAtom.reportChanged();\n }\n\n _notifyAll() {\n const { parentKeyToChildrenMap } = this;\n this._notify();\n parentKeyToChildrenMap.forEach((state) => {\n state._notifyAll();\n });\n }\n\n init({ skipCollectionInit }: { skipCollectionInit?: boolean } = {}) {\n const { node, initTask, nestedTable } = this;\n\n const disposers = [node.init({ skipCollectionInit })];\n\n initTask.runOnce(async () => {\n node.initTask.runOnce();\n await node.initTask.status.promise;\n\n await runInAction(async () => {\n if (!nestedTable.isFetchAllAborted && nestedTable.expandAll) {\n await this._preRegisterAll();\n if (this.depth === 0) {\n this._notifyAll();\n }\n }\n return;\n });\n });\n\n return () => {\n disposers.forEach((d) => d?.());\n };\n }\n\n createNode({\n parent,\n }: {\n parent: KeyedItem<any>;\n }): NestedTableNodeState<C, any, any> | null {\n const { nestedTable, node, depth, parentKeyToChildrenMap } = this;\n\n const existing = parentKeyToChildrenMap.get(parent.key);\n\n if (existing != null) {\n return existing;\n }\n\n const nextLevelDescriptor = nestedTable.levels[depth + 1];\n\n if (nextLevelDescriptor == null) {\n return null;\n }\n\n const nextLevelNode = node._createNode(parent, {\n levelDescriptor: nextLevelDescriptor,\n });\n\n if (nextLevelNode == null) {\n return null;\n }\n\n return new NestedTableNodeState({\n parent,\n parentNode: this,\n nestedTable,\n node: nextLevelNode,\n levelDescriptor: nextLevelDescriptor,\n });\n }\n}\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["_bexCore","require","_mobx","_NestedTableNodeStateBIReporter","NestedTableNodeState","constructor","params","_defineProperty2","default","TaskState","Map","createAtom","node","collection","retryErrorState","nestedTable","parentNode","parent","levelDescriptor","bi","NestedTableNodeStateBIReporter","multi","MultiCollectionSupport","collections","makeObservable","keyedItems","computed","_keyedItemsIfExpanded","_isNotExpandableWhenEmpty","init","action","createNode","_preRegisterAll","_toggleExpand","_notify","_notifyAll","_keyedItemsMap","getKeyedItem","_register","depth","_expanded","columns","renderMainColumn","showHoverHighlight","hoveredOrParentHovered","_changeHover","hovered","showEmptyState","showLoadingState","showInitialLoader","showRefreshLoader","showErrorState","errorStatus","result","isFetchAllAborted","Array","fill","map","_","index","id","key","pageIndex","indexWithinPage","item","state","originalKeyedItem","undefined","keyedItem","parentKeyToChildrenMap","parentKeyToChildrenMapAtom","reportObserved","flatMap","_parentKeyToChildrenM","get","getKeyedItemByIndex","ind","set","delete","_this$parentNode","promise","reportExpandCollapse","reportChanged","runInAction","_this$parentNode2","Promise","all","preRegister","dispose","initTask","status","forEach","skipCollectionInit","nestedTableDragAndDrop","disposers","initCollection","runOnce","expandAll","d","existing","nextLevelDescriptor","levels","nextLevelNode","_createNode","exports"],"sources":["../../../../src/state/NestedTableState/NestedTableNodeState.ts"],"sourcesContent":["import {\n FiltersMap,\n KeyedItem,\n MultiCollectionSupport,\n TaskState,\n} from '@wix/bex-core';\nimport { NestedCollectionNodeState } from './NestedCollectionNodeState';\nimport {\n action,\n computed,\n createAtom,\n makeObservable,\n runInAction,\n} from 'mobx';\nimport { TableColumn } from '../../model';\nimport { NestedTableNestedModeState } from './NestedTableNestedModeState';\nimport { ReactNode } from 'react';\nimport { NestedTableNodeStateBIReporter } from './NestedTableNodeStateBIReporter';\nimport { NestedTableLevelDescriptor } from './NestedTableLevelDescriptor';\n\nexport interface NestedTableDataItem<\n C extends string,\n T,\n F extends FiltersMap,\n> {\n state: NestedTableNodeState<C, T, F>;\n originalKeyedItem: KeyedItem<T>;\n}\n\ninterface NestedTableSkeletonItem<C extends string, T, F extends FiltersMap> {\n state: NestedTableNodeState<C, T, F>;\n originalKeyedItem: undefined;\n}\n\nexport type NestedTableItem<C extends string, T, F extends FiltersMap> =\n | NestedTableDataItem<C, T, F>\n | NestedTableSkeletonItem<C, T, F>;\n\nexport type NestedTableKeyedItem<\n C extends string,\n T,\n F extends FiltersMap,\n> = KeyedItem<NestedTableItem<C, T, F>>;\n\nexport type RenderMainColumn<T> = (item: T) => {\n title?: string;\n subtitle?: string;\n image?: ReactNode;\n};\n\nexport type NestedTableNestColumns<C extends string, T> = Partial<\n Record<C, TableColumn<T>['render']>\n>;\n\nexport interface NestedTableNodeStateParams<\n C extends string,\n T,\n F extends FiltersMap,\n> {\n readonly nestedTable: NestedTableNestedModeState<C>;\n readonly node: NestedCollectionNodeState<T, F>;\n readonly levelDescriptor: NestedTableLevelDescriptor<C, T, F>;\n readonly parentNode: NestedTableNodeState<C, any, any> | null;\n readonly parent: KeyedItem<unknown> | null;\n readonly preRegister?: boolean;\n}\n\nexport class NestedTableNodeState<C extends string, T, F extends FiltersMap> {\n readonly nestedTable;\n readonly node;\n\n readonly levelDescriptor;\n readonly parentNode;\n readonly parent;\n readonly bi: NestedTableNodeStateBIReporter<C, T, F>;\n\n readonly multi;\n\n _rowNum?: number;\n\n readonly initTask = new TaskState();\n\n readonly parentKeyToChildrenMap = new Map<\n string,\n NestedTableNodeState<C, any, any>\n >();\n\n readonly parentKeyToChildrenMapAtom = createAtom(\n 'parentKeyToChildrenMapAtom',\n );\n\n constructor(params: NestedTableNodeStateParams<C, T, F>) {\n this.nestedTable = params.nestedTable;\n this.node = params.node;\n this.parentNode = params.parentNode;\n this.parent = params.parent;\n this.levelDescriptor = params.levelDescriptor;\n this.bi = new NestedTableNodeStateBIReporter(this);\n\n this.multi = new MultiCollectionSupport({\n collections: [this.node.collection],\n });\n\n makeObservable(this, {\n keyedItems: computed,\n _keyedItemsIfExpanded: computed,\n _isNotExpandableWhenEmpty: computed,\n init: action,\n createNode: action,\n _preRegisterAll: action,\n _toggleExpand: action,\n _notify: action,\n _notifyAll: action,\n _keyedItemsMap: computed,\n getKeyedItem: action,\n });\n\n this._register();\n }\n\n get collection() {\n return this.node.collection;\n }\n\n get depth() {\n return this.levelDescriptor.depth;\n }\n\n get _expanded() {\n return this.node._expanded;\n }\n\n get columns() {\n return this.levelDescriptor.columns;\n }\n\n get renderMainColumn() {\n return this.levelDescriptor.renderMainColumn;\n }\n\n get showHoverHighlight() {\n return this.node.hoveredOrParentHovered;\n }\n\n _changeHover(hovered: boolean) {\n this.node._changeHover(hovered);\n }\n\n get showEmptyState() {\n return this.node.collection.showEmptyState;\n }\n\n get showLoadingState() {\n return (\n this.node.collection.showInitialLoader ||\n this.node.collection.showRefreshLoader\n );\n }\n\n get showErrorState() {\n return this.node.collection.showErrorState;\n }\n\n get errorStatus() {\n return this.node.collection.result.errorStatus;\n }\n\n retryErrorState = () => this.node.collection.retryErrorState();\n\n get _isNotExpandableWhenEmpty() {\n const {\n nestedTable: { isFetchAllAborted },\n node: {\n collection: { showEmptyState },\n },\n } = this;\n return !isFetchAllAborted && showEmptyState;\n }\n\n get _keyedItemsIfExpanded(): NestedTableKeyedItem<C, any, any>[] {\n const {\n parent,\n nestedTable: { isFetchAllAborted },\n _expanded,\n node: {\n collection: { showRefreshLoader, showEmptyState, showErrorState },\n },\n } = this;\n\n if (!_expanded) {\n return [];\n }\n\n return [\n ...this.keyedItems,\n ...(parent &&\n isFetchAllAborted &&\n (showRefreshLoader || showEmptyState || showErrorState)\n ? new Array(1).fill(null).map((_, index) => ({\n id: `placeholder-states-${parent.key}`,\n key: `placeholder-states-${parent.key}`,\n index,\n pageIndex: 0,\n indexWithinPage: index,\n item: {\n state: this,\n originalKeyedItem: undefined,\n },\n }))\n : []),\n ];\n }\n\n get _keyedItemsMap(): Map<string, NestedTableKeyedItem<C, any, any>> {\n return new Map(\n this.keyedItems.map((keyedItem) => [keyedItem.key, keyedItem]),\n );\n }\n\n get keyedItems(): NestedTableKeyedItem<C, any, any>[] {\n const { node, parentKeyToChildrenMap, parentKeyToChildrenMapAtom } = this;\n const {\n collection: {\n result: { keyedItems },\n },\n } = node;\n\n parentKeyToChildrenMapAtom.reportObserved();\n\n return keyedItems\n .flatMap((keyedItem) => [\n {\n ...keyedItem,\n item: {\n state: this,\n originalKeyedItem: keyedItem,\n },\n },\n ...(parentKeyToChildrenMap.get(keyedItem.key)?._keyedItemsIfExpanded ??\n []),\n ])\n .map((keyedItem, index) => ({ ...keyedItem, index }));\n }\n\n getKeyedItem(key: string) {\n return this._keyedItemsMap.get(key);\n }\n\n getKeyedItemByIndex(ind: number) {\n return this.keyedItems[ind];\n }\n\n _register() {\n const { parent, parentNode } = this;\n\n if (parent == null || parentNode == null) {\n return;\n }\n\n parentNode.parentKeyToChildrenMap.set(parent.key, this);\n\n return () => {\n parentNode.parentKeyToChildrenMap.delete(parent.key);\n };\n }\n\n async _toggleExpand() {\n const promise = this.node._toggleExpand();\n this.bi.reportExpandCollapse();\n this.parentNode?.parentKeyToChildrenMapAtom.reportChanged();\n await promise;\n runInAction(() => {\n this.parentNode?.parentKeyToChildrenMapAtom.reportChanged();\n });\n }\n\n async _preRegisterAll() {\n const { node } = this;\n const {\n collection: {\n result: { keyedItems },\n },\n } = node;\n\n await Promise.all(\n keyedItems.map(async (keyedItem) => {\n const state = this.createNode({ parent: keyedItem, preRegister: true });\n if (state == null) {\n return;\n }\n const dispose = state.init();\n await state.initTask.status.promise;\n dispose();\n }),\n );\n }\n\n _notify() {\n const { parentKeyToChildrenMapAtom } = this;\n parentKeyToChildrenMapAtom.reportChanged();\n }\n\n _notifyAll() {\n const { parentKeyToChildrenMap } = this;\n this._notify();\n parentKeyToChildrenMap.forEach((state) => {\n state._notifyAll();\n });\n }\n\n init({ skipCollectionInit }: { skipCollectionInit?: boolean } = {}) {\n const { node, initTask, nestedTable, collection } = this;\n\n const { nestedTableDragAndDrop } = nestedTable;\n\n const disposers = [\n node.init({ skipCollectionInit }),\n nestedTableDragAndDrop?.initCollection(collection),\n ];\n\n initTask.runOnce(async () => {\n node.initTask.runOnce();\n await node.initTask.status.promise;\n\n await runInAction(async () => {\n if (!nestedTable.isFetchAllAborted && nestedTable.expandAll) {\n await this._preRegisterAll();\n if (this.depth === 0) {\n this._notifyAll();\n }\n }\n return;\n });\n });\n\n return () => {\n disposers.forEach((d) => d?.());\n };\n }\n\n createNode({\n parent,\n preRegister,\n }: {\n parent: KeyedItem<any>;\n preRegister?: boolean;\n }): NestedTableNodeState<C, any, any> | null {\n const { nestedTable, node, depth, parentKeyToChildrenMap } = this;\n\n const existing = parentKeyToChildrenMap.get(parent.key);\n\n if (existing != null) {\n return existing;\n }\n\n const nextLevelDescriptor = nestedTable.levels[depth + 1];\n\n if (nextLevelDescriptor == null) {\n return null;\n }\n\n const nextLevelNode = node._createNode(parent, {\n levelDescriptor: nextLevelDescriptor,\n preRegister,\n });\n\n if (nextLevelNode == null) {\n return null;\n }\n\n return new NestedTableNodeState({\n parent,\n parentNode: this,\n nestedTable,\n node: nextLevelNode,\n levelDescriptor: nextLevelDescriptor,\n preRegister,\n });\n }\n}\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -26,6 +26,7 @@ class NestedTableState {
|
|
|
26
26
|
(0, _defineProperty2.default)(this, "query", void 0);
|
|
27
27
|
(0, _defineProperty2.default)(this, "nested", void 0);
|
|
28
28
|
(0, _defineProperty2.default)(this, "flat", void 0);
|
|
29
|
+
(0, _defineProperty2.default)(this, "sequences", new Map());
|
|
29
30
|
this.container = params.container;
|
|
30
31
|
this.query = new _bexCore.QueryState({
|
|
31
32
|
filters: {}
|
|
@@ -43,7 +44,11 @@ class NestedTableState {
|
|
|
43
44
|
if (rootLevelDescriptor == null) {
|
|
44
45
|
throw new Error('NestedTableState must have at least one level');
|
|
45
46
|
}
|
|
46
|
-
this.rootNodeCollection = rootLevelDescriptor.createCollection(
|
|
47
|
+
this.rootNodeCollection = rootLevelDescriptor.createCollection({
|
|
48
|
+
parent: null,
|
|
49
|
+
sequences: this.sequences,
|
|
50
|
+
query: this.query
|
|
51
|
+
});
|
|
47
52
|
const {
|
|
48
53
|
collection
|
|
49
54
|
} = this.rootNodeCollection;
|
|
@@ -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';\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=/story/base-components-collections-table-table--table) - 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 interface NestedTableStatePublicAPI {\n /**\n * Underlying [ToolbarCollectionState](./?path=/story/common-state--toolbarcollectionstate) instance\n */\n readonly toolbar: ToolbarCollectionState<unknown, {}>;\n /**\n * Underlying [TableState](./?path=/story/base-components-collections-table-tablestate--tablestate) instance\n */\n readonly tableState: TableState<unknown, {}>;\n}\n\nexport class NestedTableState<C extends string = string>\n implements ICollectionComponentState, NestedTableStatePublicAPI\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
|
+
{"version":3,"names":["_bexCore","require","_ToolbarCollectionState","_TableState","_NestedTableNestedModeState","_NestedTableFlatModeState","_NestedCollectionFetchAllState","_util","_mobx","NestedTableState","constructor","params","_defineProperty2","default","TaskState","Map","container","query","QueryState","filters","levels","map","level","i","depth","options","fetchAllThreshold","expandAllThreshold","mainColumn","rootLevelDescriptor","Error","rootNodeCollection","createCollection","parent","sequences","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 CollectionOptimisticSequenceExecutor,\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=/story/base-components-collections-table-table--table) - 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 interface NestedTableStatePublicAPI {\n /**\n * Underlying [ToolbarCollectionState](./?path=/story/common-state--toolbarcollectionstate) instance\n */\n readonly toolbar: ToolbarCollectionState<unknown, {}>;\n /**\n * Underlying [TableState](./?path=/story/base-components-collections-table-tablestate--tablestate) instance\n */\n readonly tableState: TableState<unknown, {}>;\n}\n\nexport class NestedTableState<C extends string = string>\n implements ICollectionComponentState, NestedTableStatePublicAPI\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 readonly sequences = new Map<string, CollectionOptimisticSequenceExecutor>();\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 parent: null,\n sequences: this.sequences,\n query: this.query,\n });\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":[]}
|
|
@@ -12,6 +12,7 @@ class TableVirtualState {
|
|
|
12
12
|
constructor(params) {
|
|
13
13
|
(0, _defineProperty2.default)(this, "gridRef", void 0);
|
|
14
14
|
(0, _defineProperty2.default)(this, "table", void 0);
|
|
15
|
+
(0, _defineProperty2.default)(this, "getVirtualItemKey", void 0);
|
|
15
16
|
(0, _defineProperty2.default)(this, "forceRenderIndexes", undefined);
|
|
16
17
|
(0, _defineProperty2.default)(this, "gap", 0);
|
|
17
18
|
(0, _defineProperty2.default)(this, "rowHeight", 0);
|
|
@@ -27,6 +28,7 @@ class TableVirtualState {
|
|
|
27
28
|
};
|
|
28
29
|
});
|
|
29
30
|
this.table = params.table;
|
|
31
|
+
this.getVirtualItemKey = params.getVirtualItemKey;
|
|
30
32
|
(0, _mobx.makeObservable)(this, {
|
|
31
33
|
forceRenderIndexes: _mobx.observable.ref,
|
|
32
34
|
rowHeight: _mobx.observable.ref,
|
|
@@ -62,13 +64,14 @@ class TableVirtualState {
|
|
|
62
64
|
}
|
|
63
65
|
get itemKeyRecyclerOverride() {
|
|
64
66
|
const {
|
|
67
|
+
getVirtualItemKey,
|
|
65
68
|
table: {
|
|
66
69
|
keyedItems
|
|
67
70
|
}
|
|
68
71
|
} = this;
|
|
69
72
|
return index => {
|
|
70
|
-
|
|
71
|
-
return (
|
|
73
|
+
const keyedItem = keyedItems[index];
|
|
74
|
+
return (getVirtualItemKey == null ? void 0 : getVirtualItemKey(keyedItem)) ?? (keyedItem == null ? void 0 : keyedItem.key) ?? index;
|
|
72
75
|
};
|
|
73
76
|
}
|
|
74
77
|
get itemsToRenderCount() {
|