@wix/patterns 1.32.0 → 1.34.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 +6 -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/NestedTableContent.js +9 -2
- package/dist/cjs/components/NestedTable/NestedTableContent.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 -3
- 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 -6
- package/dist/cjs/components/NestedTableDragAndDrop/NestedTableDragAndDropContext.js.map +1 -1
- package/dist/cjs/components/NestedTableDragAndDrop/NestedTableDragAndDropState.js +203 -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/SkeletonCard/SkeletonCard.st.css.js +3 -3
- package/dist/cjs/components/SkeletonCard/SkeletonCard.st.css.js.map +1 -1
- package/dist/cjs/components/SlidingModal/SlidingModal.st.css.js +2 -2
- package/dist/cjs/components/SlidingModal/SlidingModal.st.css.js.map +1 -1
- package/dist/cjs/components/Table/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/useNestedTable.js +9 -1
- package/dist/cjs/hooks/useNestedTable.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 +100 -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/index.js +4 -2
- package/dist/cjs/index.js.map +1 -1
- 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/NestedTableFlatModeState.js +4 -2
- package/dist/cjs/state/NestedTableState/NestedTableFlatModeState.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/CollectionToolbar/SearchOrCustomFilter.st.css.js.map +1 -1
- 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/CustomFieldsWidget/CustomFieldsViewWidgetSection.st.css.js.map +1 -1
- 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 +4 -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/Heading/Heading.st.css.js.map +1 -1
- 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/MaxHeightText/MaxHeightText.st.css.js.map +1 -1
- package/dist/esm/components/MaxLines/MaxLines.st.css.js +2 -2
- package/dist/esm/components/MaxLines/MaxLines.st.css.js.map +1 -1
- package/dist/esm/components/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/NestedTableContent.js +6 -1
- package/dist/esm/components/NestedTable/NestedTableContent.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 +10 -2
- package/dist/esm/components/NestedTableDragAndDrop/NestedTableDragAndDropContext.js.map +1 -1
- package/dist/esm/components/NestedTableDragAndDrop/NestedTableDragAndDropState.js +176 -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/ScrollableContent/ScrollableContent.st.css.js.map +1 -1
- package/dist/esm/components/SkeletonCard/SkeletonCard.st.css.js +2 -2
- package/dist/esm/components/SlidingModal/SlidingModal.st.css.js +2 -2
- package/dist/esm/components/Table/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/useNestedTable.js +8 -1
- package/dist/esm/hooks/useNestedTable.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 +92 -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/NestedTableFlatModeState.js +2 -2
- package/dist/esm/state/NestedTableState/NestedTableFlatModeState.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/CollectionToolbar/SearchOrCustomFilter.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/CustomFieldsWidget/CustomFieldsViewWidgetSection.st.css.d.ts.map +1 -1
- package/dist/types/components/DragAndDrop/CollectionDragAndDropState.d.ts.map +1 -1
- package/dist/types/components/DragAndDrop/DragAndDrop.d.ts +2 -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/Heading/Heading.st.css.d.ts.map +1 -1
- package/dist/types/components/MaxHeightText/MaxHeightText.st.css.d.ts.map +1 -1
- package/dist/types/components/MaxLines/MaxLines.st.css.d.ts.map +1 -1
- package/dist/types/components/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/NestedTableContent.d.ts +3 -1
- package/dist/types/components/NestedTable/NestedTableContent.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/NestedTableWSRTable.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 +1 -2
- package/dist/types/components/NestedTableDragAndDrop/NestedTableDragAndDropContext.d.ts.map +1 -1
- package/dist/types/components/NestedTableDragAndDrop/NestedTableDragAndDropState.d.ts +46 -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/ScrollableContent/ScrollableContent.st.css.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/useNestedTable.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/index.d.ts +1 -1
- package/dist/types/index.d.ts.map +1 -1
- 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 +4 -2
- package/dist/types/state/NestedTableState/NestedTableFlatModeState.d.ts.map +1 -1
- package/dist/types/state/NestedTableState/NestedTableLevelDescriptor.d.ts +4 -1
- 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
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["_mobx","require","createOptimisticActionsOrderByModeReaction","dnd","collection","reaction","isDisabled","_optimisticActions","_orderByMode","fireImmediately"],"sources":["../../../../src/state/DragAndDrop/createOptimisticActionsOrderByModeReaction.ts"],"sourcesContent":["import { DragAndDropState } from '../../components/DragAndDrop';\nimport { CollectionState, FiltersMap } from '@wix/bex-core';\nimport { reaction } from 'mobx';\n\nexport function createOptimisticActionsOrderByModeReaction<\n T,\n F extends FiltersMap,\n>(dnd: DragAndDropState<T, F>, collection: CollectionState<T, F>) {\n return reaction(\n () => dnd.isDisabled,\n (isDisabled) => {\n const { _optimisticActions } = collection;\n if (!_optimisticActions) {\n return;\n }\n\n _optimisticActions._orderByMode = isDisabled ? 'orders' : 'moves';\n },\n { fireImmediately: true },\n );\n}\n"],"mappings":";;;;AAEA,IAAAA,KAAA,GAAAC,OAAA;AAEO,SAASC,0CAA0CA,CAGxDC,GAA2B,EAAEC,UAAiC,EAAE;EAChE,OAAO,IAAAC,cAAQ,EACb,MAAMF,GAAG,CAACG,UAAU,EACnBA,UAAU,IAAK;IACd,MAAM;MAAEC;IAAmB,CAAC,GAAGH,UAAU;IACzC,IAAI,CAACG,kBAAkB,EAAE;MACvB;IACF;IAEAA,kBAAkB,CAACC,YAAY,GAAGF,UAAU,GAAG,QAAQ,GAAG,OAAO;EACnE,CAAC,EACD;IAAEG,eAAe,EAAE;EAAK,CAC1B,CAAC;AACH","ignoreList":[]}
|
|
@@ -120,17 +120,16 @@ class EntityPageState {
|
|
|
120
120
|
this.navigateToParent();
|
|
121
121
|
}
|
|
122
122
|
navigateToParent(updatedEntity) {
|
|
123
|
-
const
|
|
123
|
+
const entityObject = {
|
|
124
124
|
_updatedEntity: updatedEntity
|
|
125
|
-
}
|
|
125
|
+
};
|
|
126
126
|
if (this._withinRouter) {
|
|
127
127
|
this.container.navigate(this._parentPath, {
|
|
128
|
-
state:
|
|
128
|
+
state: entityObject
|
|
129
129
|
});
|
|
130
130
|
} else {
|
|
131
131
|
this.container.navigateTo({
|
|
132
|
-
pageId: this._parentPageId
|
|
133
|
-
appState: entityString
|
|
132
|
+
pageId: this._parentPageId
|
|
134
133
|
});
|
|
135
134
|
}
|
|
136
135
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_bexCore","require","_mobx","_EntityPageStateBIReporter","_events","EntityPageState","constructor","params","_defineProperty2","default","TaskState","undefined","FormPageState","EventEmitter","fetch","onSave","saveSuccessToast","saveErrorToast","_form","form","_parentPageId","parentPageId","transformEntityToCollectionItem","anEntity","_parentPath","parentPath","container","reportBI","createBILogger","componentType","pageType","route","window","location","pathname","bi","EntityPageStateBIReporter","entityPageState","init","makeObservable","handleSubmit","action","isFetching","computed","_entity","observable","ref","setEntity","_isFormDirty","isFormDirty","withinRouter","_withinRouter","_checkPageParams","initTask","onBeforeUnload","onBeforeUnloadSubscription","event","formState","isSubmitSuccessful","preventDefault","reportOnBeforeUnload","runOnce","_this$bi$appLoaded","_this$bi","data","Promise","all","status","promise","entity","appLoaded","call","remove","retryFetch","newEntity","isLoading","isIdle","flag","_isSubmitSuccessful","formPage","isDirty","onCancel","reportButtonClick","ctaName","navigateToParent","updatedEntity","entityString","JSON","stringify","_updatedEntity","navigate","state","navigateTo","pageId","appState","_showErrorToast","err","e","_this$saveErrorToast","_this$container$showT","_this$container","errorToast","message","showTryAgain","tryAgain","showToast","type","biName","translate","code","uiType","text","onClick","reportSaveTryAgain","removeToastOnClick","_showSuccessToast","_this$saveSuccessToas","_this$container$showT2","_this$container2","submitTask","events","emit","isValid","extraFields","validate","run","savedEntity","onSaveResult","widgetsFormData","errorMonitor","captureException","setError","transformedItem","Error","exports"],"sources":["../../../../src/state/EntityPage/EntityPageState.ts"],"sourcesContent":["import {\n FormPageState,\n ReportBI,\n TaskState,\n WixPatternsContainer,\n} from '@wix/bex-core';\nimport { action, computed, makeObservable, observable } from 'mobx';\nimport { FieldValues, UseFormReturn } from 'react-hook-form';\nimport { EntityPageStateBIReporter } from './EntityPageStateBIReporter';\nimport { EventEmitter, TypedEmitter } from '@wix/bex-core/events';\n\ntype OnSaveParams = {\n widgetsFormData: { [key: string]: any };\n};\n\nexport interface EntityPageStateParams<T, V extends FieldValues = FieldValues> {\n /**\n * A function that fetches the entity data.\n * @returns a promise that resolves to an object containing the entity.\n */\n fetch: () => Promise<{ entity: T | undefined }>;\n\n /**\n * A function to handle the save action.\n * @returns promise that resolves to an object that contains a 'updatedEntity' object.\n */\n onSave: (params: OnSaveParams) => Promise<{ updatedEntity: T }>;\n\n /**\n * An optional object with an optional message, or it can directly get a string message.\n */\n saveSuccessToast?: { message?: string } | string;\n\n /**\n * An optional function to display an error toast message when a save operation fails.\n * @returns an object with an optional message and a `tryAgain` flag, or it can directly return a string message.\n */\n saveErrorToast?: (\n err: unknown,\n ) => { message?: string; tryAgain?: boolean } | string;\n\n /**\n * An optional function to transform the updated entity data before it is passed to the collection page.\n * @param entity the updated entity.\n * @returns an object representing the entity in the collection page.\n */\n transformEntityToCollectionItem?: (entity: T) => any;\n\n /**\n * An object representing the form state and methods, typically returned by a useForm hook.\n */\n form: UseFormReturn<V>;\n\n /**\n * An object representing the container, possibly for dependency injection or component management.\n */\n container: WixPatternsContainer;\n\n /**\n * A string representing the ID of the parent page.\n * Must be passed if not using Patterns Router\n */\n parentPageId?: string;\n\n /**\n * A string representing the path of the parent page.\n * Must be passed if using Patterns Router\n */\n parentPath?: string;\n}\n\nexport interface EntityPageStateInterface {}\n\nexport interface EntityPageWidgetState {\n validate: () => Promise<{ isValid: boolean; values?: any }>;\n isDirty: boolean;\n}\n\nexport class EntityPageState<T, V extends FieldValues = FieldValues>\n implements EntityPageStateInterface\n{\n readonly initTask = new TaskState();\n readonly submitTask = new TaskState();\n\n readonly fetch: EntityPageStateParams<T>['fetch'];\n readonly onSave: EntityPageStateParams<T, V>['onSave'];\n readonly saveSuccessToast?: EntityPageStateParams<T>['saveSuccessToast'];\n readonly saveErrorToast?: EntityPageStateParams<T>['saveErrorToast'];\n readonly transformEntityToCollectionItem: (entity: T) => any;\n\n _entity: T | null = null;\n private readonly _form: UseFormReturn<V>;\n private readonly _parentPageId?: string;\n private readonly _parentPath?: string;\n\n readonly container: WixPatternsContainer;\n readonly reportBI: ReportBI;\n readonly bi: EntityPageStateBIReporter<T, V>;\n\n _isSubmitSuccessful?: boolean = undefined;\n _isFormDirty = false;\n\n _withinRouter = false;\n\n readonly formPage = new FormPageState();\n\n readonly events = new EventEmitter() as TypedEmitter<{\n save: () => void;\n saveError: (err: unknown) => void;\n }>;\n\n constructor(params: EntityPageStateParams<T, V>) {\n this.fetch = params.fetch;\n this.onSave = params.onSave;\n this.saveSuccessToast = params.saveSuccessToast;\n this.saveErrorToast = params.saveErrorToast;\n this._form = params.form;\n this._parentPageId = params.parentPageId;\n this.transformEntityToCollectionItem =\n params.transformEntityToCollectionItem || ((anEntity: T) => anEntity);\n this._parentPath = params.parentPath;\n\n this.container = params.container;\n\n this.reportBI = this.container.createBILogger({\n componentType: 'Entity page',\n pageType: 'Entity',\n route: window.location.pathname,\n });\n\n this.bi = new EntityPageStateBIReporter({\n reportBI: this.reportBI,\n entityPageState: this,\n });\n this.bi.init();\n\n makeObservable(this, {\n handleSubmit: action,\n isFetching: computed,\n _entity: observable.ref,\n setEntity: action,\n _isFormDirty: observable.ref,\n isFormDirty: computed,\n });\n }\n\n init({ withinRouter }: { withinRouter: boolean }) {\n this._withinRouter = withinRouter;\n this._checkPageParams();\n const { initTask, container } = this;\n const { onBeforeUnload } = container;\n\n const onBeforeUnloadSubscription = onBeforeUnload?.(\n action((event) => {\n const { form } = this;\n if (form.formState.isSubmitSuccessful || !this.isFormDirty) {\n return;\n }\n event.preventDefault();\n this.bi.reportOnBeforeUnload();\n }),\n );\n\n initTask.runOnce(async () => {\n const [data] = await Promise.all([\n this.fetch(),\n container.initTask.status.promise,\n ]);\n\n this.setEntity(data.entity ?? null);\n this.bi.appLoaded?.();\n });\n\n return () => {\n onBeforeUnloadSubscription?.remove();\n };\n }\n\n retryFetch() {\n this.initTask.runOnce();\n }\n\n setEntity(newEntity: T | null) {\n this._entity = newEntity;\n }\n\n get entity(): T | null {\n return this._entity;\n }\n\n get isFetching() {\n return this.initTask.status.isLoading || this.initTask.status.isIdle;\n }\n\n get form() {\n return this._form;\n }\n\n set isSubmitSuccessful(flag: boolean) {\n this._isSubmitSuccessful = flag;\n }\n\n set isFormDirty(flag: boolean) {\n this._isFormDirty = flag;\n }\n\n get isFormDirty() {\n return this._isFormDirty || this.formPage.isDirty;\n }\n\n onCancel() {\n this.bi.reportButtonClick({ ctaName: 'Cancel' });\n this.navigateToParent();\n }\n\n navigateToParent(updatedEntity?: any) {\n const entityString = updatedEntity\n ? JSON.stringify({ _updatedEntity: updatedEntity })\n : undefined;\n if (this._withinRouter) {\n this.container.navigate!(this._parentPath!, { state: entityString });\n } else {\n this.container.navigateTo!({\n pageId: this._parentPageId!,\n appState: entityString,\n });\n }\n }\n\n _showErrorToast(err: any, e?: React.BaseSyntheticEvent) {\n const errorToast = this.saveErrorToast?.(err);\n const message =\n typeof errorToast === 'string' ? errorToast : errorToast?.message;\n const showTryAgain =\n typeof errorToast === 'string' ? true : errorToast?.tryAgain !== false;\n\n this.container.showToast?.({\n type: 'ERROR',\n biName: 'cairo-entity-page-save-error-toast',\n message:\n message ??\n this.container.translate(\n err?.code === 'ERR_NETWORK'\n ? 'cairo.entityPage.saveError-offline.toast.description'\n : 'cairo.entityPage.saveError-technical.toast.description',\n ),\n action: showTryAgain\n ? {\n uiType: 'LINK',\n text: this.container.translate('cairo.toast.retry'),\n onClick: () => {\n this.bi.reportSaveTryAgain();\n this.handleSubmit(e);\n },\n removeToastOnClick: true,\n }\n : undefined,\n });\n }\n\n _showSuccessToast() {\n const message =\n typeof this.saveSuccessToast === 'string'\n ? this.saveSuccessToast\n : this.saveSuccessToast?.message;\n\n this.container.showToast?.({\n type: 'SUCCESS',\n biName: 'cairo-entity-page-save-success-toast',\n message:\n message ?? this.container.translate('cairo.entityPage.success.toast'),\n });\n }\n async handleSubmit(e?: React.BaseSyntheticEvent) {\n if (this.submitTask.status.isLoading) {\n return;\n }\n\n this.events.emit('save');\n\n const { isValid, data: extraFields } = await this.formPage.validate();\n\n if (!isValid) {\n this.bi.reportButtonClick({ ctaName: 'Save', isValid: false });\n return;\n }\n\n const { form, submitTask, bi } = this;\n\n submitTask.run(async () => {\n let savedEntity: T | undefined;\n await form.handleSubmit(\n async () => {\n bi.reportButtonClick({ ctaName: 'Save', isValid: true });\n try {\n if (this.isFormDirty) {\n const onSaveResult = await this.onSave({\n widgetsFormData: { ...extraFields },\n });\n savedEntity = onSaveResult?.updatedEntity;\n }\n this._showSuccessToast();\n } catch (err) {\n this._showErrorToast(err, e);\n this.container.errorMonitor.captureException(err);\n this.events.emit('saveError', err);\n form.setError('root.serverError', {}); // https://react-hook-form.com/docs/useform/seterror\n }\n },\n () => {\n bi.reportButtonClick({ ctaName: 'Save', isValid: false });\n }, // can be used to report validation errors\n )(e);\n\n if (!form.formState.isSubmitSuccessful) {\n return;\n }\n\n const transformedItem =\n savedEntity && this.transformEntityToCollectionItem\n ? this.transformEntityToCollectionItem(savedEntity)\n : savedEntity;\n this.navigateToParent(transformedItem);\n });\n await this.submitTask.status.promise;\n }\n\n private _checkPageParams() {\n if (this._withinRouter) {\n if (this._parentPath === undefined) {\n throw new Error('parentPath was not defined in useEntityPage');\n }\n\n if (!this.container.navigate) {\n throw new Error('navigate was not defined in Patterns Provider');\n }\n } else {\n if (this._parentPageId === undefined) {\n throw new Error('parentPageId was not defined in useEntityPage');\n }\n\n if (!this.container.navigateTo) {\n throw new Error('navigateTo was not defined in Patterns Provider');\n }\n }\n }\n}\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["_bexCore","require","_mobx","_EntityPageStateBIReporter","_events","EntityPageState","constructor","params","_defineProperty2","default","TaskState","undefined","FormPageState","EventEmitter","fetch","onSave","saveSuccessToast","saveErrorToast","_form","form","_parentPageId","parentPageId","transformEntityToCollectionItem","anEntity","_parentPath","parentPath","container","reportBI","createBILogger","componentType","pageType","route","window","location","pathname","bi","EntityPageStateBIReporter","entityPageState","init","makeObservable","handleSubmit","action","isFetching","computed","_entity","observable","ref","setEntity","_isFormDirty","isFormDirty","withinRouter","_withinRouter","_checkPageParams","initTask","onBeforeUnload","onBeforeUnloadSubscription","event","formState","isSubmitSuccessful","preventDefault","reportOnBeforeUnload","runOnce","_this$bi$appLoaded","_this$bi","data","Promise","all","status","promise","entity","appLoaded","call","remove","retryFetch","newEntity","isLoading","isIdle","flag","_isSubmitSuccessful","formPage","isDirty","onCancel","reportButtonClick","ctaName","navigateToParent","updatedEntity","entityObject","_updatedEntity","navigate","state","navigateTo","pageId","_showErrorToast","err","e","_this$saveErrorToast","_this$container$showT","_this$container","errorToast","message","showTryAgain","tryAgain","showToast","type","biName","translate","code","uiType","text","onClick","reportSaveTryAgain","removeToastOnClick","_showSuccessToast","_this$saveSuccessToas","_this$container$showT2","_this$container2","submitTask","events","emit","isValid","extraFields","validate","run","savedEntity","onSaveResult","widgetsFormData","errorMonitor","captureException","setError","transformedItem","Error","exports"],"sources":["../../../../src/state/EntityPage/EntityPageState.ts"],"sourcesContent":["import {\n FormPageState,\n ReportBI,\n TaskState,\n WixPatternsContainer,\n} from '@wix/bex-core';\nimport { action, computed, makeObservable, observable } from 'mobx';\nimport { FieldValues, UseFormReturn } from 'react-hook-form';\nimport { EntityPageStateBIReporter } from './EntityPageStateBIReporter';\nimport { EventEmitter, TypedEmitter } from '@wix/bex-core/events';\n\ntype OnSaveParams = {\n widgetsFormData: { [key: string]: any };\n};\n\nexport interface EntityPageStateParams<T, V extends FieldValues = FieldValues> {\n /**\n * A function that fetches the entity data.\n * @returns a promise that resolves to an object containing the entity.\n */\n fetch: () => Promise<{ entity: T | undefined }>;\n\n /**\n * A function to handle the save action.\n * @returns promise that resolves to an object that contains a 'updatedEntity' object.\n */\n onSave: (params: OnSaveParams) => Promise<{ updatedEntity: T }>;\n\n /**\n * An optional object with an optional message, or it can directly get a string message.\n */\n saveSuccessToast?: { message?: string } | string;\n\n /**\n * An optional function to display an error toast message when a save operation fails.\n * @returns an object with an optional message and a `tryAgain` flag, or it can directly return a string message.\n */\n saveErrorToast?: (\n err: unknown,\n ) => { message?: string; tryAgain?: boolean } | string;\n\n /**\n * An optional function to transform the updated entity data before it is passed to the collection page.\n * @param entity the updated entity.\n * @returns an object representing the entity in the collection page.\n */\n transformEntityToCollectionItem?: (entity: T) => any;\n\n /**\n * An object representing the form state and methods, typically returned by a useForm hook.\n */\n form: UseFormReturn<V>;\n\n /**\n * An object representing the container, possibly for dependency injection or component management.\n */\n container: WixPatternsContainer;\n\n /**\n * A string representing the ID of the parent page.\n * Must be passed if not using Patterns Router\n */\n parentPageId?: string;\n\n /**\n * A string representing the path of the parent page.\n * Must be passed if using Patterns Router\n */\n parentPath?: string;\n}\n\nexport interface EntityPageStateInterface {}\n\nexport interface EntityPageWidgetState {\n validate: () => Promise<{ isValid: boolean; values?: any }>;\n isDirty: boolean;\n}\n\nexport class EntityPageState<T, V extends FieldValues = FieldValues>\n implements EntityPageStateInterface\n{\n readonly initTask = new TaskState();\n readonly submitTask = new TaskState();\n\n readonly fetch: EntityPageStateParams<T>['fetch'];\n readonly onSave: EntityPageStateParams<T, V>['onSave'];\n readonly saveSuccessToast?: EntityPageStateParams<T>['saveSuccessToast'];\n readonly saveErrorToast?: EntityPageStateParams<T>['saveErrorToast'];\n readonly transformEntityToCollectionItem: (entity: T) => any;\n\n _entity: T | null = null;\n private readonly _form: UseFormReturn<V>;\n private readonly _parentPageId?: string;\n private readonly _parentPath?: string;\n\n readonly container: WixPatternsContainer;\n readonly reportBI: ReportBI;\n readonly bi: EntityPageStateBIReporter<T, V>;\n\n _isSubmitSuccessful?: boolean = undefined;\n _isFormDirty = false;\n\n _withinRouter = false;\n\n readonly formPage = new FormPageState();\n\n readonly events = new EventEmitter() as TypedEmitter<{\n save: () => void;\n saveError: (err: unknown) => void;\n }>;\n\n constructor(params: EntityPageStateParams<T, V>) {\n this.fetch = params.fetch;\n this.onSave = params.onSave;\n this.saveSuccessToast = params.saveSuccessToast;\n this.saveErrorToast = params.saveErrorToast;\n this._form = params.form;\n this._parentPageId = params.parentPageId;\n this.transformEntityToCollectionItem =\n params.transformEntityToCollectionItem || ((anEntity: T) => anEntity);\n this._parentPath = params.parentPath;\n\n this.container = params.container;\n\n this.reportBI = this.container.createBILogger({\n componentType: 'Entity page',\n pageType: 'Entity',\n route: window.location.pathname,\n });\n\n this.bi = new EntityPageStateBIReporter({\n reportBI: this.reportBI,\n entityPageState: this,\n });\n this.bi.init();\n\n makeObservable(this, {\n handleSubmit: action,\n isFetching: computed,\n _entity: observable.ref,\n setEntity: action,\n _isFormDirty: observable.ref,\n isFormDirty: computed,\n });\n }\n\n init({ withinRouter }: { withinRouter: boolean }) {\n this._withinRouter = withinRouter;\n this._checkPageParams();\n const { initTask, container } = this;\n const { onBeforeUnload } = container;\n\n const onBeforeUnloadSubscription = onBeforeUnload?.(\n action((event) => {\n const { form } = this;\n if (form.formState.isSubmitSuccessful || !this.isFormDirty) {\n return;\n }\n event.preventDefault();\n this.bi.reportOnBeforeUnload();\n }),\n );\n\n initTask.runOnce(async () => {\n const [data] = await Promise.all([\n this.fetch(),\n container.initTask.status.promise,\n ]);\n\n this.setEntity(data.entity ?? null);\n this.bi.appLoaded?.();\n });\n\n return () => {\n onBeforeUnloadSubscription?.remove();\n };\n }\n\n retryFetch() {\n this.initTask.runOnce();\n }\n\n setEntity(newEntity: T | null) {\n this._entity = newEntity;\n }\n\n get entity(): T | null {\n return this._entity;\n }\n\n get isFetching() {\n return this.initTask.status.isLoading || this.initTask.status.isIdle;\n }\n\n get form() {\n return this._form;\n }\n\n set isSubmitSuccessful(flag: boolean) {\n this._isSubmitSuccessful = flag;\n }\n\n set isFormDirty(flag: boolean) {\n this._isFormDirty = flag;\n }\n\n get isFormDirty() {\n return this._isFormDirty || this.formPage.isDirty;\n }\n\n onCancel() {\n this.bi.reportButtonClick({ ctaName: 'Cancel' });\n this.navigateToParent();\n }\n\n navigateToParent(updatedEntity?: any) {\n const entityObject = { _updatedEntity: updatedEntity };\n\n if (this._withinRouter) {\n this.container.navigate!(this._parentPath!, { state: entityObject });\n } else {\n this.container.navigateTo!({\n pageId: this._parentPageId!,\n });\n }\n }\n\n _showErrorToast(err: any, e?: React.BaseSyntheticEvent) {\n const errorToast = this.saveErrorToast?.(err);\n const message =\n typeof errorToast === 'string' ? errorToast : errorToast?.message;\n const showTryAgain =\n typeof errorToast === 'string' ? true : errorToast?.tryAgain !== false;\n\n this.container.showToast?.({\n type: 'ERROR',\n biName: 'cairo-entity-page-save-error-toast',\n message:\n message ??\n this.container.translate(\n err?.code === 'ERR_NETWORK'\n ? 'cairo.entityPage.saveError-offline.toast.description'\n : 'cairo.entityPage.saveError-technical.toast.description',\n ),\n action: showTryAgain\n ? {\n uiType: 'LINK',\n text: this.container.translate('cairo.toast.retry'),\n onClick: () => {\n this.bi.reportSaveTryAgain();\n this.handleSubmit(e);\n },\n removeToastOnClick: true,\n }\n : undefined,\n });\n }\n\n _showSuccessToast() {\n const message =\n typeof this.saveSuccessToast === 'string'\n ? this.saveSuccessToast\n : this.saveSuccessToast?.message;\n\n this.container.showToast?.({\n type: 'SUCCESS',\n biName: 'cairo-entity-page-save-success-toast',\n message:\n message ?? this.container.translate('cairo.entityPage.success.toast'),\n });\n }\n async handleSubmit(e?: React.BaseSyntheticEvent) {\n if (this.submitTask.status.isLoading) {\n return;\n }\n\n this.events.emit('save');\n\n const { isValid, data: extraFields } = await this.formPage.validate();\n\n if (!isValid) {\n this.bi.reportButtonClick({ ctaName: 'Save', isValid: false });\n return;\n }\n\n const { form, submitTask, bi } = this;\n\n submitTask.run(async () => {\n let savedEntity: T | undefined;\n await form.handleSubmit(\n async () => {\n bi.reportButtonClick({ ctaName: 'Save', isValid: true });\n try {\n if (this.isFormDirty) {\n const onSaveResult = await this.onSave({\n widgetsFormData: { ...extraFields },\n });\n savedEntity = onSaveResult?.updatedEntity;\n }\n this._showSuccessToast();\n } catch (err) {\n this._showErrorToast(err, e);\n this.container.errorMonitor.captureException(err);\n this.events.emit('saveError', err);\n form.setError('root.serverError', {}); // https://react-hook-form.com/docs/useform/seterror\n }\n },\n () => {\n bi.reportButtonClick({ ctaName: 'Save', isValid: false });\n }, // can be used to report validation errors\n )(e);\n\n if (!form.formState.isSubmitSuccessful) {\n return;\n }\n\n const transformedItem =\n savedEntity && this.transformEntityToCollectionItem\n ? this.transformEntityToCollectionItem(savedEntity)\n : savedEntity;\n this.navigateToParent(transformedItem);\n });\n await this.submitTask.status.promise;\n }\n\n private _checkPageParams() {\n if (this._withinRouter) {\n if (this._parentPath === undefined) {\n throw new Error('parentPath was not defined in useEntityPage');\n }\n\n if (!this.container.navigate) {\n throw new Error('navigate was not defined in Patterns Provider');\n }\n } else {\n if (this._parentPageId === undefined) {\n throw new Error('parentPageId was not defined in useEntityPage');\n }\n\n if (!this.container.navigateTo) {\n throw new Error('navigateTo was not defined in Patterns Provider');\n }\n }\n }\n}\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":[],"sources":["../../../../src/state/NestedTableState/NestedCollectionLevelDescriptor.ts"],"sourcesContent":["import {
|
|
1
|
+
{"version":3,"names":[],"sources":["../../../../src/state/NestedTableState/NestedCollectionLevelDescriptor.ts"],"sourcesContent":["import {\n CollectionOptimisticSequenceExecutor,\n CollectionState,\n Filter,\n FiltersMap,\n KeyedItem,\n QueryState,\n} from '@wix/bex-core';\n\nexport interface NestedCollectionLevelDescriptor<T, F extends FiltersMap> {\n readonly depth: number;\n readonly parentKey: (item: T) => string | null | undefined;\n readonly setParent?: (\n item: T,\n parentId: string | undefined,\n additionalInfo: {\n parentItem?: {};\n },\n ) => T;\n readonly createCollection: (params?: {\n readonly parent?: KeyedItem<any> | null;\n readonly sequences: Map<string, CollectionOptimisticSequenceExecutor>;\n readonly query: QueryState<F>;\n }) => {\n collection: CollectionState<T, F>;\n parentFilter?: Filter<string[]>;\n };\n readonly fetchAllThreshold?: number;\n}\n"],"mappings":"","ignoreList":[]}
|
|
@@ -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":[]}
|
|
@@ -148,7 +148,9 @@ class NestedTableFlatModeState {
|
|
|
148
148
|
get levels() {
|
|
149
149
|
return this.wrapper.levels;
|
|
150
150
|
}
|
|
151
|
-
init(
|
|
151
|
+
init({
|
|
152
|
+
isUsingCache = false
|
|
153
|
+
} = {}) {
|
|
152
154
|
const {
|
|
153
155
|
initTask,
|
|
154
156
|
wrapper,
|
|
@@ -159,7 +161,7 @@ class NestedTableFlatModeState {
|
|
|
159
161
|
query
|
|
160
162
|
} = wrapper;
|
|
161
163
|
const disposers = [wrapper.init(), multi.init(), (0, _util.addEventListener)(query.search.events, 'change', this._runSearch), ...sections.map(section => section.init())];
|
|
162
|
-
if (initTask.status.isSuccess) {
|
|
164
|
+
if (!isUsingCache && initTask.status.isSuccess) {
|
|
163
165
|
this._runSearch();
|
|
164
166
|
}
|
|
165
167
|
initTask.runOnce(async () => {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_mobx","require","_bexCore","_TableVirtualState","_NestedTableFlatModeSectionState","_util","_NestedTableFlatModeStateBIReporter","NestedTableFlatModeState","constructor","params","_defineProperty2","default","TaskState","action","initTask","refreshTask","status","isError","runOnce","multi","retryErrorState","query","sections","wrapper","bi","search","isEmpty","reset","reportSearchResults","_createReportSearchResults","fetchAll","_attemptFetchAllAndPopulateCache","init","promise","forEach","collection","_runSearch","levels","NestedTableFlatModeStateBIReporter","Array","from","map","levelDescriptor","NestedTableFlatModeSectionState","reduce","section","set","getCurrentQuery","Map","values","MultiCollectionSupport","collections","virtual","TableVirtualState","table","makeObservable","keyedItems","computed","toolbar","tableState","acc","result","keyedItem","item","state","originalKeyedItem","showEmptyState","hasAvailableItems","resultOriginQuerySearch","hasNonPersistentActiveFilters","showErrorState","showLoadingState","isIdle","isLoading","errorStatus","disposers","addEventListener","events","isSuccess","d","exports"],"sources":["../../../../src/state/NestedTableState/NestedTableFlatModeState.ts"],"sourcesContent":["import { NestedTableState } from './NestedTableState';\nimport { action, computed, makeObservable } from 'mobx';\nimport { MultiCollectionSupport, TaskState } from '@wix/bex-core';\nimport { TableVirtualState } from '../TableVirtualState';\nimport {\n NestedTableFlatKeyedItem,\n NestedTableFlatModeSectionState,\n} from './NestedTableFlatModeSectionState';\nimport { addEventListener } from '@wix/bex-core/util';\nimport { NestedTableFlatModeStateBIReporter } from './NestedTableFlatModeStateBIReporter';\n\nexport interface NestedTableFlatStateBaseParams<C extends string> {\n wrapper: NestedTableState<C>;\n}\n\nexport class NestedTableFlatModeState<C extends string = string> {\n readonly wrapper;\n readonly virtual;\n\n readonly initTask = new TaskState();\n readonly refreshTask = new TaskState();\n\n readonly sections;\n readonly multi;\n readonly bi: NestedTableFlatModeStateBIReporter<C>;\n\n constructor(params: NestedTableFlatStateBaseParams<C>) {\n const { wrapper } = params;\n this.wrapper = wrapper;\n\n const { levels, query } = wrapper;\n\n this.bi = new NestedTableFlatModeStateBIReporter(this);\n\n this.sections = Array.from(\n levels\n .map((levelDescriptor) => {\n return new NestedTableFlatModeSectionState({\n levelDescriptor,\n query,\n });\n })\n .reduce((map, section) => {\n map.set(section.collection.getCurrentQuery(), section);\n return map;\n }, new Map<unknown, NestedTableFlatModeSectionState<C, unknown, {}>>())\n .values(),\n );\n\n this.multi = new MultiCollectionSupport<{}>({\n collections: this.sections.map(({ collection }) => collection),\n });\n\n this.virtual = new TableVirtualState({\n table: this,\n });\n\n makeObservable(this, {\n keyedItems: computed,\n });\n }\n\n get toolbar() {\n return this.wrapper.toolbar;\n }\n\n get tableState() {\n return this.wrapper.tableState;\n }\n\n get keyedItems(): NestedTableFlatKeyedItem<C, any, any>[] {\n return this.sections.reduce((acc, section) => {\n const {\n collection: {\n result: { keyedItems },\n },\n } = section;\n\n return [\n ...acc,\n ...keyedItems.map((keyedItem) => ({\n ...keyedItem,\n item: {\n state: section,\n originalKeyedItem: keyedItem,\n },\n })),\n ];\n }, [] as NestedTableFlatKeyedItem<C, any, any>[]);\n }\n\n get showEmptyState() {\n return this.multi.showEmptyState;\n }\n\n get hasAvailableItems() {\n return this.multi.hasAvailableItems;\n }\n\n get resultOriginQuerySearch() {\n return this.multi.resultOriginQuerySearch;\n }\n\n get hasNonPersistentActiveFilters() {\n return this.multi.hasNonPersistentActiveFilters;\n }\n\n get showErrorState() {\n const { initTask, refreshTask, multi } = this;\n return (\n initTask.status.isError ||\n refreshTask.status.isError ||\n multi.showErrorState\n );\n }\n\n get showLoadingState() {\n return (\n this.initTask.status.isIdle ||\n this.initTask.status.isLoading ||\n this.refreshTask.status.isLoading ||\n this.multi.showLoadingState\n );\n }\n\n retryErrorState = action(() => {\n const { initTask, refreshTask } = this;\n\n if (initTask.status.isError) {\n initTask.runOnce();\n } else if (refreshTask.status.isError) {\n refreshTask.runOnce();\n } else {\n this.multi.retryErrorState();\n }\n });\n\n get errorStatus() {\n const { initTask, refreshTask, multi } = this;\n return initTask.errorStatus || refreshTask.errorStatus || multi.errorStatus;\n }\n\n get query() {\n return this.wrapper.query;\n }\n\n get levels() {\n return this.wrapper.levels;\n }\n\n _runSearch = action(async () => {\n const { query, sections, wrapper, refreshTask, bi } = this;\n if (query.search.isEmpty) {\n return;\n }\n\n refreshTask.reset();\n\n refreshTask.runOnce(async () => {\n const reportSearchResults = bi._createReportSearchResults();\n const fetchAll = wrapper._attemptFetchAllAndPopulateCache();\n fetchAll.init();\n await fetchAll.initTask.status.promise;\n sections.forEach(({ collection }) => {\n collection._runSearch(true);\n });\n reportSearchResults();\n });\n });\n\n init() {\n const { initTask, wrapper, multi, sections } = this;\n\n const { query } = wrapper;\n\n const disposers = [\n wrapper.init(),\n multi.init(),\n addEventListener(query.search.events, 'change', this._runSearch),\n ...sections.map((section) => section.init()),\n ];\n\n if (initTask.status.isSuccess) {\n this._runSearch();\n }\n\n initTask.runOnce(async () => {\n wrapper.initTask.runOnce();\n this._runSearch();\n await wrapper.initTask.status.promise;\n await multi.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":["_mobx","require","_bexCore","_TableVirtualState","_NestedTableFlatModeSectionState","_util","_NestedTableFlatModeStateBIReporter","NestedTableFlatModeState","constructor","params","_defineProperty2","default","TaskState","action","initTask","refreshTask","status","isError","runOnce","multi","retryErrorState","query","sections","wrapper","bi","search","isEmpty","reset","reportSearchResults","_createReportSearchResults","fetchAll","_attemptFetchAllAndPopulateCache","init","promise","forEach","collection","_runSearch","levels","NestedTableFlatModeStateBIReporter","Array","from","map","levelDescriptor","NestedTableFlatModeSectionState","reduce","section","set","getCurrentQuery","Map","values","MultiCollectionSupport","collections","virtual","TableVirtualState","table","makeObservable","keyedItems","computed","toolbar","tableState","acc","result","keyedItem","item","state","originalKeyedItem","showEmptyState","hasAvailableItems","resultOriginQuerySearch","hasNonPersistentActiveFilters","showErrorState","showLoadingState","isIdle","isLoading","errorStatus","isUsingCache","disposers","addEventListener","events","isSuccess","d","exports"],"sources":["../../../../src/state/NestedTableState/NestedTableFlatModeState.ts"],"sourcesContent":["import { NestedTableState } from './NestedTableState';\nimport { action, computed, makeObservable } from 'mobx';\nimport { MultiCollectionSupport, TaskState } from '@wix/bex-core';\nimport { TableVirtualState } from '../TableVirtualState';\nimport {\n NestedTableFlatKeyedItem,\n NestedTableFlatModeSectionState,\n} from './NestedTableFlatModeSectionState';\nimport { addEventListener } from '@wix/bex-core/util';\nimport { NestedTableFlatModeStateBIReporter } from './NestedTableFlatModeStateBIReporter';\n\nexport interface NestedTableFlatStateBaseParams<C extends string> {\n wrapper: NestedTableState<C>;\n}\n\nexport class NestedTableFlatModeState<C extends string = string> {\n readonly wrapper;\n readonly virtual;\n\n readonly initTask = new TaskState();\n readonly refreshTask = new TaskState();\n\n readonly sections;\n readonly multi;\n readonly bi: NestedTableFlatModeStateBIReporter<C>;\n\n constructor(params: NestedTableFlatStateBaseParams<C>) {\n const { wrapper } = params;\n this.wrapper = wrapper;\n\n const { levels, query } = wrapper;\n\n this.bi = new NestedTableFlatModeStateBIReporter(this);\n\n this.sections = Array.from(\n levels\n .map((levelDescriptor) => {\n return new NestedTableFlatModeSectionState({\n levelDescriptor,\n query,\n });\n })\n .reduce((map, section) => {\n map.set(section.collection.getCurrentQuery(), section);\n return map;\n }, new Map<unknown, NestedTableFlatModeSectionState<C, unknown, {}>>())\n .values(),\n );\n\n this.multi = new MultiCollectionSupport<{}>({\n collections: this.sections.map(({ collection }) => collection),\n });\n\n this.virtual = new TableVirtualState({\n table: this,\n });\n\n makeObservable(this, {\n keyedItems: computed,\n });\n }\n\n get toolbar() {\n return this.wrapper.toolbar;\n }\n\n get tableState() {\n return this.wrapper.tableState;\n }\n\n get keyedItems(): NestedTableFlatKeyedItem<C, any, any>[] {\n return this.sections.reduce((acc, section) => {\n const {\n collection: {\n result: { keyedItems },\n },\n } = section;\n\n return [\n ...acc,\n ...keyedItems.map((keyedItem) => ({\n ...keyedItem,\n item: {\n state: section,\n originalKeyedItem: keyedItem,\n },\n })),\n ];\n }, [] as NestedTableFlatKeyedItem<C, any, any>[]);\n }\n\n get showEmptyState() {\n return this.multi.showEmptyState;\n }\n\n get hasAvailableItems() {\n return this.multi.hasAvailableItems;\n }\n\n get resultOriginQuerySearch() {\n return this.multi.resultOriginQuerySearch;\n }\n\n get hasNonPersistentActiveFilters() {\n return this.multi.hasNonPersistentActiveFilters;\n }\n\n get showErrorState() {\n const { initTask, refreshTask, multi } = this;\n return (\n initTask.status.isError ||\n refreshTask.status.isError ||\n multi.showErrorState\n );\n }\n\n get showLoadingState() {\n return (\n this.initTask.status.isIdle ||\n this.initTask.status.isLoading ||\n this.refreshTask.status.isLoading ||\n this.multi.showLoadingState\n );\n }\n\n retryErrorState = action(() => {\n const { initTask, refreshTask } = this;\n\n if (initTask.status.isError) {\n initTask.runOnce();\n } else if (refreshTask.status.isError) {\n refreshTask.runOnce();\n } else {\n this.multi.retryErrorState();\n }\n });\n\n get errorStatus() {\n const { initTask, refreshTask, multi } = this;\n return initTask.errorStatus || refreshTask.errorStatus || multi.errorStatus;\n }\n\n get query() {\n return this.wrapper.query;\n }\n\n get levels() {\n return this.wrapper.levels;\n }\n\n _runSearch = action(async () => {\n const { query, sections, wrapper, refreshTask, bi } = this;\n if (query.search.isEmpty) {\n return;\n }\n\n refreshTask.reset();\n\n refreshTask.runOnce(async () => {\n const reportSearchResults = bi._createReportSearchResults();\n const fetchAll = wrapper._attemptFetchAllAndPopulateCache();\n fetchAll.init();\n await fetchAll.initTask.status.promise;\n sections.forEach(({ collection }) => {\n collection._runSearch(true);\n });\n reportSearchResults();\n });\n });\n\n init({ isUsingCache = false } = {}) {\n const { initTask, wrapper, multi, sections } = this;\n\n const { query } = wrapper;\n\n const disposers = [\n wrapper.init(),\n multi.init(),\n addEventListener(query.search.events, 'change', this._runSearch),\n ...sections.map((section) => section.init()),\n ];\n\n if (!isUsingCache && initTask.status.isSuccess) {\n this._runSearch();\n }\n\n initTask.runOnce(async () => {\n wrapper.initTask.runOnce();\n this._runSearch();\n await wrapper.initTask.status.promise;\n await multi.initTask.status.promise;\n });\n\n return () => {\n disposers.forEach((d) => d());\n };\n }\n}\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":[],"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, ToastConfig } 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 readonly dragAndDropCancel?: (\n event: NestedDragEndEvent<C, T, F>,\n ) => Omit<ToastConfig, 'type' | 'biName'> | null | undefined | 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":"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","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
|
}
|