@wix/patterns 1.37.0 → 1.39.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/README.md +23 -0
- package/dist/cjs/components/{MultiBulkActionButton/MultiBulkActionButton.js → ActionControl/ActionButton.js} +12 -27
- package/dist/cjs/components/ActionControl/ActionButton.js.map +1 -0
- package/dist/cjs/components/ActionControl/ActionControl.js +33 -0
- package/dist/cjs/components/ActionControl/ActionControl.js.map +1 -0
- package/dist/cjs/components/{MultiBulkActionButton/MultiBulkActionPopover.js → ActionControl/ActionPopover.js} +12 -27
- package/dist/cjs/components/ActionControl/ActionPopover.js.map +1 -0
- package/dist/cjs/components/ActionControl/ActionSubItemProps.js +4 -0
- package/dist/cjs/components/ActionControl/ActionSubItemProps.js.map +1 -0
- package/dist/cjs/components/ActionControl/index.js +28 -0
- package/dist/cjs/components/ActionControl/index.js.map +1 -0
- 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/CollectionPageHeaderNew/CollectionPageHeader.js.map +1 -1
- package/dist/cjs/components/CollectionPageNew/CollectionPage.uni.driver.js +9 -1
- package/dist/cjs/components/CollectionPageNew/CollectionPage.uni.driver.js.map +1 -1
- package/dist/cjs/components/CollectionToolbar/CollectionToolbar.st.css.js +5 -5
- package/dist/cjs/components/CollectionToolbar/CollectionToolbar.st.css.js.map +1 -1
- package/dist/cjs/components/CollectionToolbar/SearchOrCustomFilter.st.css.js +3 -3
- package/dist/cjs/components/CollectionToolbar/SearchOrCustomFilter.st.css.js.map +1 -1
- package/dist/cjs/components/CollectionViewsDropdown/AutoCompleteReadonly.st.css.js +2 -2
- package/dist/cjs/components/CollectionViewsDropdown/AutoCompleteReadonly.st.css.js.map +1 -1
- package/dist/cjs/components/CollectionViewsDropdown/ViewsDropdown.st.css.js +2 -2
- package/dist/cjs/components/CollectionViewsDropdown/ViewsDropdown.st.css.js.map +1 -1
- package/dist/cjs/components/CustomFieldsWidget/CustomFieldsViewWidgetSection.st.css.js +3 -3
- package/dist/cjs/components/CustomFieldsWidget/CustomFieldsViewWidgetSection.st.css.js.map +1 -1
- package/dist/cjs/components/DragAndDrop/DragOverlayTestComponent.js +48 -0
- package/dist/cjs/components/DragAndDrop/DragOverlayTestComponent.js.map +1 -0
- package/dist/cjs/components/DragHandle/DragHandle.st.css.js +2 -2
- package/dist/cjs/components/DragHandle/DragHandle.st.css.js.map +1 -1
- package/dist/cjs/components/EntityPage/EntityPage.js +2 -2
- package/dist/cjs/components/EntityPage/EntityPage.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/GridSingleGridContent.js +1 -1
- package/dist/cjs/components/Grid/GridSingleGridContent.js.map +1 -1
- package/dist/cjs/components/Grid/useGridBaseSyncProps.js +6 -4
- package/dist/cjs/components/Grid/useGridBaseSyncProps.js.map +1 -1
- package/dist/cjs/components/GridSections/GridSectionsContent.js +7 -6
- package/dist/cjs/components/GridSections/GridSectionsContent.js.map +1 -1
- package/dist/cjs/components/GridSections/GridSectionsSectionState.js +1 -1
- package/dist/cjs/components/GridSections/GridSectionsSectionState.js.map +1 -1
- package/dist/cjs/components/GridSections/GridSectionsSingleSkeletonGrid.js +1 -1
- package/dist/cjs/components/GridSections/GridSectionsSingleSkeletonGrid.js.map +1 -1
- package/dist/cjs/components/GridSections/GridSectionsState.js +2 -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/MoreActions/{MoreActions.js → MoreActionsBase.js} +11 -27
- package/dist/cjs/components/MoreActions/MoreActionsBase.js.map +1 -0
- package/dist/cjs/components/MoreActions/MoreActionsIcon.js +42 -0
- package/dist/cjs/components/MoreActions/MoreActionsIcon.js.map +1 -0
- package/dist/cjs/components/MoreActions/MoreActionsText.js +47 -0
- package/dist/cjs/components/MoreActions/MoreActionsText.js.map +1 -0
- package/dist/cjs/components/MoreActions/index.js +7 -6
- package/dist/cjs/components/MoreActions/index.js.map +1 -1
- package/dist/cjs/components/MultiBulkActionToolbar/MultiBulkActionToolbar.js +86 -43
- package/dist/cjs/components/MultiBulkActionToolbar/MultiBulkActionToolbar.js.map +1 -1
- package/dist/cjs/components/MultiBulkActionToolbar/MultiBulkActionToolbar.st.css.js +2 -2
- package/dist/cjs/components/MultiBulkActionToolbar/MultiBulkActionToolbar.st.css.js.map +1 -1
- package/dist/cjs/components/MultiBulkActionToolbar/MultiBulkActionToolbarState.js.map +1 -1
- package/dist/cjs/components/NestedTable/NestedTable.uni.driver.js +3 -1
- package/dist/cjs/components/NestedTable/NestedTable.uni.driver.js.map +1 -1
- package/dist/cjs/components/NestedTable/NestedTableRow.st.css.js +5 -5
- package/dist/cjs/components/NestedTable/NestedTableRow.st.css.js.map +1 -1
- package/dist/cjs/components/NestedTableDragAndDrop/DepthLimitMessage.js +48 -0
- package/dist/cjs/components/NestedTableDragAndDrop/DepthLimitMessage.js.map +1 -0
- package/dist/cjs/components/NestedTableDragAndDrop/NestedTableDragAndDropContext.js +33 -6
- package/dist/cjs/components/NestedTableDragAndDrop/NestedTableDragAndDropContext.js.map +1 -1
- package/dist/cjs/components/NestedTableDragAndDrop/NestedTableDragAndDropOverlay.js +50 -0
- package/dist/cjs/components/NestedTableDragAndDrop/NestedTableDragAndDropOverlay.js.map +1 -0
- package/dist/cjs/components/NestedTableDragAndDrop/NestedTableDragAndDropOverlayPopover.js +64 -0
- package/dist/cjs/components/NestedTableDragAndDrop/NestedTableDragAndDropOverlayPopover.js.map +1 -0
- package/dist/cjs/components/NestedTableDragAndDrop/NestedTableDragAndDropState.js +29 -1
- package/dist/cjs/components/NestedTableDragAndDrop/NestedTableDragAndDropState.js.map +1 -1
- package/dist/cjs/components/NestedTableDragAndDrop/NestedTableDragOverlay.uni.driver.js +15 -0
- package/dist/cjs/components/NestedTableDragAndDrop/NestedTableDragOverlay.uni.driver.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/SecondaryActions/SecondaryActions.js +24 -0
- package/dist/cjs/components/SecondaryActions/SecondaryActions.js.map +1 -0
- package/dist/cjs/components/SecondaryActions/index.js +10 -0
- package/dist/cjs/components/SecondaryActions/index.js.map +1 -0
- 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/Table/getVirtualTableProps.js +1 -1
- package/dist/cjs/components/Table/getVirtualTableProps.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/Tags/ManageTags/ManageTagsModal/ManageTagsModal.uni.driver.js +2 -0
- package/dist/cjs/components/Tags/ManageTags/ManageTagsModal/ManageTagsModal.uni.driver.js.map +1 -1
- package/dist/cjs/components/ToolbarCollection/useToolbarCollectionSyncProps.js +10 -2
- package/dist/cjs/components/ToolbarCollection/useToolbarCollectionSyncProps.js.map +1 -1
- package/dist/cjs/components/ToolbarItemBox/ToolbarItemBox.st.css.js +2 -2
- package/dist/cjs/components/ToolbarItemBox/ToolbarItemBox.st.css.js.map +1 -1
- package/dist/cjs/components/common.st.css.js +4 -4
- package/dist/cjs/components/common.st.css.js.map +1 -1
- package/dist/cjs/hooks/useSyncCollectionOnEntityReturn.js +17 -5
- package/dist/cjs/hooks/useSyncCollectionOnEntityReturn.js.map +1 -1
- package/dist/cjs/index.js +13 -4
- package/dist/cjs/index.js.map +1 -1
- package/dist/cjs/providers/WixPatternsRouterProvider.js +6 -12
- package/dist/cjs/providers/WixPatternsRouterProvider.js.map +1 -1
- package/dist/cjs/state/CollectionPage/useCollectionPageHeader.js +25 -8
- package/dist/cjs/state/CollectionPage/useCollectionPageHeader.js.map +1 -1
- package/dist/cjs/state/CustomColumnsState.js +23 -11
- package/dist/cjs/state/CustomColumnsState.js.map +1 -1
- package/dist/cjs/state/EntityPage/EntityPageState.js +9 -5
- package/dist/cjs/state/EntityPage/EntityPageState.js.map +1 -1
- package/dist/cjs/state/GridBaseState.js +6 -3
- package/dist/cjs/state/GridBaseState.js.map +1 -1
- package/dist/cjs/state/GridFoldersState.js +1 -0
- package/dist/cjs/state/GridFoldersState.js.map +1 -1
- package/dist/cjs/state/GridParentState.js +4 -0
- package/dist/cjs/state/GridParentState.js.map +1 -0
- package/dist/cjs/state/GridState.js +5 -0
- package/dist/cjs/state/GridState.js.map +1 -1
- package/dist/cjs/state/NestedTableState/NestedTableNodeState.js +22 -2
- package/dist/cjs/state/NestedTableState/NestedTableNodeState.js.map +1 -1
- package/dist/cjs/state/TagsBulkAssignPopoverState.js +10 -4
- package/dist/cjs/state/TagsBulkAssignPopoverState.js.map +1 -1
- package/dist/cjs/state/TagsModalState.js +11 -4
- package/dist/cjs/state/TagsModalState.js.map +1 -1
- package/dist/cjs/state/WixPatternsRouterState.js +9 -1
- package/dist/cjs/state/WixPatternsRouterState.js.map +1 -1
- package/dist/cjs/styles.global.css +1 -1
- package/dist/cjs/test-utils/TagsMocks.js +23 -1
- package/dist/cjs/test-utils/TagsMocks.js.map +1 -1
- package/dist/cjs/testkit/puppeteer.js +3 -1
- package/dist/cjs/testkit/puppeteer.js.map +1 -1
- package/dist/cjs/version.js +1 -1
- package/dist/cjs/version.js.map +1 -1
- package/dist/esm/components/ActionControl/ActionButton.js +10 -0
- package/dist/esm/components/ActionControl/ActionButton.js.map +1 -0
- package/dist/esm/components/ActionControl/ActionControl.js +8 -0
- package/dist/esm/components/ActionControl/ActionControl.js.map +1 -0
- package/dist/esm/components/{MultiBulkActionButton/MultiBulkActionPopover.js → ActionControl/ActionPopover.js} +5 -19
- package/dist/esm/components/ActionControl/ActionPopover.js.map +1 -0
- package/dist/esm/components/ActionControl/ActionSubItemProps.js +2 -0
- package/dist/esm/components/ActionControl/ActionSubItemProps.js.map +1 -0
- package/dist/esm/components/ActionControl/index.js +5 -0
- package/dist/esm/components/ActionControl/index.js.map +1 -0
- package/dist/esm/components/Collapse/Collapse.st.css.js +2 -2
- package/dist/esm/components/CollectionPageHeaderNew/CollectionPageHeader.js.map +1 -1
- package/dist/esm/components/CollectionPageNew/CollectionPage.uni.driver.js +9 -1
- package/dist/esm/components/CollectionPageNew/CollectionPage.uni.driver.js.map +1 -1
- package/dist/esm/components/CollectionToolbar/CollectionToolbar.st.css.js +2 -2
- package/dist/esm/components/CollectionToolbar/SearchOrCustomFilter.st.css.js +2 -2
- package/dist/esm/components/CollectionViewsDropdown/AutoCompleteReadonly.st.css.js +2 -2
- package/dist/esm/components/CollectionViewsDropdown/AutoCompleteReadonly.st.css.js.map +1 -1
- package/dist/esm/components/CollectionViewsDropdown/ViewsDropdown.st.css.js +2 -2
- package/dist/esm/components/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/DragOverlayTestComponent.js +19 -0
- package/dist/esm/components/DragAndDrop/DragOverlayTestComponent.js.map +1 -0
- package/dist/esm/components/DragHandle/DragHandle.st.css.js +2 -2
- package/dist/esm/components/EntityPage/EntityPage.js +2 -2
- package/dist/esm/components/EntityPage/EntityPage.js.map +1 -1
- package/dist/esm/components/Fade/Fade.st.css.js +2 -2
- package/dist/esm/components/Grid/GridSingleGridContent.js.map +1 -1
- package/dist/esm/components/Grid/useGridBaseSyncProps.js +7 -4
- package/dist/esm/components/Grid/useGridBaseSyncProps.js.map +1 -1
- package/dist/esm/components/GridSections/GridSectionsContent.js +2 -1
- package/dist/esm/components/GridSections/GridSectionsContent.js.map +1 -1
- package/dist/esm/components/GridSections/GridSectionsSectionState.js +1 -1
- package/dist/esm/components/GridSections/GridSectionsSectionState.js.map +1 -1
- package/dist/esm/components/GridSections/GridSectionsSingleSkeletonGrid.js.map +1 -1
- package/dist/esm/components/GridSections/GridSectionsState.js +1 -1
- package/dist/esm/components/GridSections/GridSectionsState.js.map +1 -1
- package/dist/esm/components/Heading/Heading.st.css.js +2 -2
- package/dist/esm/components/InputOverflow/InputOverflow.st.css.js +2 -2
- package/dist/esm/components/MaxHeightText/MaxHeightText.st.css.js +2 -2
- package/dist/esm/components/MaxHeightText/MaxHeightText.st.css.js.map +1 -1
- package/dist/esm/components/MaxLines/MaxLines.st.css.js +2 -2
- package/dist/esm/components/MoreActions/{MoreActions.js → MoreActionsBase.js} +6 -8
- package/dist/esm/components/MoreActions/MoreActionsBase.js.map +1 -0
- package/dist/esm/components/MoreActions/MoreActionsIcon.js +12 -0
- package/dist/esm/components/MoreActions/MoreActionsIcon.js.map +1 -0
- package/dist/esm/components/MoreActions/MoreActionsText.js +12 -0
- package/dist/esm/components/MoreActions/MoreActionsText.js.map +1 -0
- package/dist/esm/components/MoreActions/index.js +1 -1
- package/dist/esm/components/MoreActions/index.js.map +1 -1
- package/dist/esm/components/MultiBulkActionToolbar/MultiBulkActionToolbar.js +49 -6
- package/dist/esm/components/MultiBulkActionToolbar/MultiBulkActionToolbar.js.map +1 -1
- package/dist/esm/components/MultiBulkActionToolbar/MultiBulkActionToolbar.st.css.js +2 -2
- package/dist/esm/components/MultiBulkActionToolbar/MultiBulkActionToolbarState.js.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/NestedTableRow.st.css.js +2 -2
- package/dist/esm/components/NestedTableDragAndDrop/DepthLimitMessage.js +14 -0
- package/dist/esm/components/NestedTableDragAndDrop/DepthLimitMessage.js.map +1 -0
- package/dist/esm/components/NestedTableDragAndDrop/NestedTableDragAndDropContext.js +11 -2
- package/dist/esm/components/NestedTableDragAndDrop/NestedTableDragAndDropContext.js.map +1 -1
- package/dist/esm/components/NestedTableDragAndDrop/NestedTableDragAndDropOverlay.js +20 -0
- package/dist/esm/components/NestedTableDragAndDrop/NestedTableDragAndDropOverlay.js.map +1 -0
- package/dist/esm/components/NestedTableDragAndDrop/NestedTableDragAndDropOverlayPopover.js +15 -0
- package/dist/esm/components/NestedTableDragAndDrop/NestedTableDragAndDropOverlayPopover.js.map +1 -0
- package/dist/esm/components/NestedTableDragAndDrop/NestedTableDragAndDropState.js +30 -2
- package/dist/esm/components/NestedTableDragAndDrop/NestedTableDragAndDropState.js.map +1 -1
- package/dist/esm/components/NestedTableDragAndDrop/NestedTableDragOverlay.uni.driver.js +11 -0
- package/dist/esm/components/NestedTableDragAndDrop/NestedTableDragOverlay.uni.driver.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/PickerContent/PickerContentAdditionalStep.st.css.js.map +1 -1
- package/dist/esm/components/PickerTableListItem/PickerTableListItem.st.css.js +2 -2
- package/dist/esm/components/ScrollableContent/ScrollableContent.st.css.js +2 -2
- package/dist/esm/components/ScrollableContent/ScrollableContent.st.css.js.map +1 -1
- package/dist/esm/components/SecondaryActions/SecondaryActions.js +9 -0
- package/dist/esm/components/SecondaryActions/SecondaryActions.js.map +1 -0
- package/dist/esm/components/SecondaryActions/index.js +2 -0
- package/dist/esm/components/SecondaryActions/index.js.map +1 -0
- package/dist/esm/components/SkeletonCard/SkeletonCard.st.css.js +2 -2
- package/dist/esm/components/SkeletonCard/SkeletonCard.st.css.js.map +1 -1
- package/dist/esm/components/SlidingModal/SlidingModal.st.css.js +2 -2
- package/dist/esm/components/Table/TableVirtualHeader.st.css.js +2 -2
- package/dist/esm/components/Table/getVirtualTableProps.js +1 -1
- package/dist/esm/components/Table/getVirtualTableProps.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/Tags/ManageTags/ManageTagsModal/ManageTagsModal.st.css.js.map +1 -1
- package/dist/esm/components/Tags/ManageTags/ManageTagsModal/ManageTagsModal.uni.driver.js +5 -0
- package/dist/esm/components/Tags/ManageTags/ManageTagsModal/ManageTagsModal.uni.driver.js.map +1 -1
- package/dist/esm/components/ToolbarCollection/useToolbarCollectionSyncProps.js +9 -2
- package/dist/esm/components/ToolbarCollection/useToolbarCollectionSyncProps.js.map +1 -1
- package/dist/esm/components/ToolbarItemBox/ToolbarItemBox.st.css.js +2 -2
- package/dist/esm/components/common.st.css.js +2 -2
- package/dist/esm/components/common.st.css.js.map +1 -1
- package/dist/esm/hooks/useSyncCollectionOnEntityReturn.js +18 -6
- package/dist/esm/hooks/useSyncCollectionOnEntityReturn.js.map +1 -1
- package/dist/esm/index.js +1 -0
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/providers/WixPatternsRouterProvider.js +5 -10
- package/dist/esm/providers/WixPatternsRouterProvider.js.map +1 -1
- package/dist/esm/state/CollectionPage/useCollectionPageHeader.js +12 -1
- package/dist/esm/state/CollectionPage/useCollectionPageHeader.js.map +1 -1
- package/dist/esm/state/CustomColumnsState.js +17 -8
- package/dist/esm/state/CustomColumnsState.js.map +1 -1
- package/dist/esm/state/EntityPage/EntityPageState.js +8 -4
- package/dist/esm/state/EntityPage/EntityPageState.js.map +1 -1
- package/dist/esm/state/GridBaseState.js +5 -2
- package/dist/esm/state/GridBaseState.js.map +1 -1
- package/dist/esm/state/GridFoldersState.js +2 -1
- package/dist/esm/state/GridFoldersState.js.map +1 -1
- package/dist/esm/state/GridParentState.js +2 -0
- package/dist/esm/state/GridParentState.js.map +1 -0
- package/dist/esm/state/GridState.js +5 -0
- package/dist/esm/state/GridState.js.map +1 -1
- package/dist/esm/state/NestedTableState/NestedTableNodeState.js +9 -0
- package/dist/esm/state/NestedTableState/NestedTableNodeState.js.map +1 -1
- package/dist/esm/state/TagsBulkAssignPopoverState.js +11 -5
- package/dist/esm/state/TagsBulkAssignPopoverState.js.map +1 -1
- package/dist/esm/state/TagsModalState.js +12 -5
- package/dist/esm/state/TagsModalState.js.map +1 -1
- package/dist/esm/state/WixPatternsRouterState.js +6 -1
- package/dist/esm/state/WixPatternsRouterState.js.map +1 -1
- package/dist/esm/styles.global.css +1 -1
- package/dist/esm/test-utils/TagsMocks.js +17 -1
- package/dist/esm/test-utils/TagsMocks.js.map +1 -1
- package/dist/esm/testkit/puppeteer.js +2 -0
- package/dist/esm/testkit/puppeteer.js.map +1 -1
- package/dist/esm/version.js +1 -1
- package/dist/types/components/ActionControl/ActionButton.d.ts +10 -0
- package/dist/types/components/ActionControl/ActionButton.d.ts.map +1 -0
- package/dist/types/components/ActionControl/ActionControl.d.ts +8 -0
- package/dist/types/components/ActionControl/ActionControl.d.ts.map +1 -0
- package/dist/types/components/ActionControl/ActionPopover.d.ts +8 -0
- package/dist/types/components/ActionControl/ActionPopover.d.ts.map +1 -0
- package/dist/types/components/{MultiBulkActionButton/MultiBulkActionSubItemProps.d.ts → ActionControl/ActionSubItemProps.d.ts} +6 -6
- package/dist/types/components/ActionControl/ActionSubItemProps.d.ts.map +1 -0
- package/dist/types/components/ActionControl/index.d.ts +5 -0
- package/dist/types/components/ActionControl/index.d.ts.map +1 -0
- package/dist/types/components/CollectionList/CollectionList.uni.driver.d.ts +20 -20
- package/dist/types/components/CollectionPageHeaderNew/CollectionPageHeader.d.ts +6 -0
- package/dist/types/components/CollectionPageHeaderNew/CollectionPageHeader.d.ts.map +1 -1
- package/dist/types/components/CollectionPageNew/CollectionPage.uni.driver.d.ts +30 -2
- package/dist/types/components/CollectionPageNew/CollectionPage.uni.driver.d.ts.map +1 -1
- package/dist/types/components/CollectionTable/CollectionTable.uni.driver.d.ts +40 -40
- package/dist/types/components/CollectionToolbar/CollectionToolbar.uni.driver.d.ts +20 -20
- package/dist/types/components/CollectionViewsDropdown/AutoCompleteReadonly.st.css.d.ts.map +1 -1
- package/dist/types/components/CollectionViewsDropdown/CollectionViewsDropdown.uni.driver.d.ts +10 -10
- package/dist/types/components/CollectionViewsDropdown/ViewsDropdown.st.css.d.ts.map +1 -1
- package/dist/types/components/CollectionViewsDropdown/ViewsDropdownListItem.uni.driver.d.ts +5 -5
- package/dist/types/components/CollectionViewsDropdown/viewsDropdownRenderHelpers.d.ts +3 -3
- package/dist/types/components/CustomFieldModal/CustomFieldModal.uni.driver.d.ts +51 -3
- package/dist/types/components/CustomFieldModal/CustomFieldModal.uni.driver.d.ts.map +1 -1
- package/dist/types/components/CustomFieldsWidget/CustomFieldsViewWidgetSection.st.css.d.ts.map +1 -1
- package/dist/types/components/CustomFieldsWidget/CustomFieldsWidget.uni.driver.d.ts +51 -3
- package/dist/types/components/CustomFieldsWidget/CustomFieldsWidget.uni.driver.d.ts.map +1 -1
- package/dist/types/components/DragAndDrop/DragOverlayTestComponent.d.ts +13 -0
- package/dist/types/components/DragAndDrop/DragOverlayTestComponent.d.ts.map +1 -0
- package/dist/types/components/Grid/Grid.uni.driver.d.ts +20 -20
- package/dist/types/components/Grid/GridFolders.uni.driver.d.ts +60 -60
- package/dist/types/components/Grid/GridFoldersSection.uni.driver.d.ts +20 -20
- package/dist/types/components/Grid/GridSingleGridContent.d.ts +3 -7
- package/dist/types/components/Grid/GridSingleGridContent.d.ts.map +1 -1
- package/dist/types/components/Grid/useGridBaseSyncProps.d.ts.map +1 -1
- package/dist/types/components/GridSections/GridSectionsContent.d.ts +4 -9
- package/dist/types/components/GridSections/GridSectionsContent.d.ts.map +1 -1
- package/dist/types/components/GridSections/GridSectionsSingleSkeletonGrid.d.ts +3 -7
- package/dist/types/components/GridSections/GridSectionsSingleSkeletonGrid.d.ts.map +1 -1
- package/dist/types/components/GridSections/GridSectionsState.d.ts +3 -2
- package/dist/types/components/GridSections/GridSectionsState.d.ts.map +1 -1
- package/dist/types/components/InfiniteScrollCollectionList/InfiniteScrollCollectionList.uni.driver.d.ts +20 -20
- package/dist/types/components/MaxHeightText/MaxHeightText.st.css.d.ts.map +1 -1
- package/dist/types/components/MoreActions/{MoreActions.d.ts → MoreActionsBase.d.ts} +7 -6
- package/dist/types/components/MoreActions/MoreActionsBase.d.ts.map +1 -0
- package/dist/types/components/MoreActions/MoreActionsIcon.d.ts +12 -0
- package/dist/types/components/MoreActions/MoreActionsIcon.d.ts.map +1 -0
- package/dist/types/components/MoreActions/MoreActionsText.d.ts +8 -0
- package/dist/types/components/MoreActions/MoreActionsText.d.ts.map +1 -0
- package/dist/types/components/MoreActions/index.d.ts +2 -1
- package/dist/types/components/MoreActions/index.d.ts.map +1 -1
- package/dist/types/components/MultiBulkActionToolbar/MultiBulkActionToolbar.d.ts +3 -3
- package/dist/types/components/MultiBulkActionToolbar/MultiBulkActionToolbar.d.ts.map +1 -1
- package/dist/types/components/MultiBulkActionToolbar/MultiBulkActionToolbarState.d.ts +8 -8
- package/dist/types/components/MultiBulkActionToolbar/MultiBulkActionToolbarState.d.ts.map +1 -1
- package/dist/types/components/NestedTable/NestedTable.uni.driver.d.ts +211 -74
- package/dist/types/components/NestedTable/NestedTable.uni.driver.d.ts.map +1 -1
- package/dist/types/components/NestedTableDragAndDrop/DepthLimitMessage.d.ts +11 -0
- package/dist/types/components/NestedTableDragAndDrop/DepthLimitMessage.d.ts.map +1 -0
- package/dist/types/components/NestedTableDragAndDrop/NestedTableDragAndDropContext.d.ts +1 -1
- package/dist/types/components/NestedTableDragAndDrop/NestedTableDragAndDropContext.d.ts.map +1 -1
- package/dist/types/components/NestedTableDragAndDrop/NestedTableDragAndDropOverlay.d.ts +13 -0
- package/dist/types/components/NestedTableDragAndDrop/NestedTableDragAndDropOverlay.d.ts.map +1 -0
- package/dist/types/components/NestedTableDragAndDrop/NestedTableDragAndDropOverlayPopover.d.ts +12 -0
- package/dist/types/components/NestedTableDragAndDrop/NestedTableDragAndDropOverlayPopover.d.ts.map +1 -0
- package/dist/types/components/NestedTableDragAndDrop/NestedTableDragAndDropState.d.ts +1 -0
- package/dist/types/components/NestedTableDragAndDrop/NestedTableDragAndDropState.d.ts.map +1 -1
- package/dist/types/components/NestedTableDragAndDrop/NestedTableDragOverlay.uni.driver.d.ts +9 -0
- package/dist/types/components/NestedTableDragAndDrop/NestedTableDragOverlay.uni.driver.d.ts.map +1 -0
- package/dist/types/components/PickerContent/PickerContentAdditionalStep.st.css.d.ts.map +1 -1
- package/dist/types/components/ScrollableContent/ScrollableContent.st.css.d.ts.map +1 -1
- package/dist/types/components/SecondaryActions/SecondaryActions.d.ts +5 -0
- package/dist/types/components/SecondaryActions/SecondaryActions.d.ts.map +1 -0
- package/dist/types/components/SecondaryActions/index.d.ts +2 -0
- package/dist/types/components/SecondaryActions/index.d.ts.map +1 -0
- package/dist/types/components/SkeletonCard/SkeletonCard.st.css.d.ts.map +1 -1
- package/dist/types/components/Table/Table.uni.driver.d.ts +163 -47
- package/dist/types/components/Table/Table.uni.driver.d.ts.map +1 -1
- package/dist/types/components/TableFolders/TableFolders.uni.driver.d.ts +183 -67
- package/dist/types/components/TableFolders/TableFolders.uni.driver.d.ts.map +1 -1
- package/dist/types/components/TableGridSwitch/TableGridSwitch.uni.driver.d.ts +183 -67
- package/dist/types/components/TableGridSwitch/TableGridSwitch.uni.driver.d.ts.map +1 -1
- package/dist/types/components/TableGridSwitchFolders/TableGridSwitchFolders.uni.driver.d.ts +243 -127
- package/dist/types/components/TableGridSwitchFolders/TableGridSwitchFolders.uni.driver.d.ts.map +1 -1
- package/dist/types/components/Tags/BulkAssignTagsPopover/BulkAssignTagsPopover.uni.driver.d.ts +36 -2
- package/dist/types/components/Tags/BulkAssignTagsPopover/BulkAssignTagsPopover.uni.driver.d.ts.map +1 -1
- package/dist/types/components/Tags/ManageTags/ManageTagsModal/ManageTagsModal.st.css.d.ts.map +1 -1
- package/dist/types/components/Tags/ManageTags/ManageTagsModal/ManageTagsModal.uni.driver.d.ts +36 -2
- package/dist/types/components/Tags/ManageTags/ManageTagsModal/ManageTagsModal.uni.driver.d.ts.map +1 -1
- package/dist/types/components/TagsAssignButton/TagsAssignButton.uni.driver.d.ts +36 -2
- package/dist/types/components/TagsAssignButton/TagsAssignButton.uni.driver.d.ts.map +1 -1
- package/dist/types/components/ToolbarCollection/useToolbarCollectionSyncProps.d.ts.map +1 -1
- package/dist/types/components/common.st.css.d.ts.map +1 -1
- package/dist/types/hooks/useBuildOption.d.ts +3 -3
- package/dist/types/hooks/useSyncCollectionOnEntityReturn.d.ts.map +1 -1
- package/dist/types/index.d.ts +2 -1
- package/dist/types/index.d.ts.map +1 -1
- package/dist/types/providers/WixPatternsRouterProvider.d.ts +1 -1
- package/dist/types/providers/WixPatternsRouterProvider.d.ts.map +1 -1
- package/dist/types/state/CollectionPage/useCollectionPageHeader.d.ts.map +1 -1
- package/dist/types/state/CustomColumnsState.d.ts.map +1 -1
- package/dist/types/state/EntityPage/EntityPageState.d.ts +5 -3
- package/dist/types/state/EntityPage/EntityPageState.d.ts.map +1 -1
- package/dist/types/state/GridBaseState.d.ts +5 -7
- package/dist/types/state/GridBaseState.d.ts.map +1 -1
- package/dist/types/state/GridFoldersState.d.ts +2 -0
- package/dist/types/state/GridFoldersState.d.ts.map +1 -1
- package/dist/types/state/GridParentState.d.ts +8 -0
- package/dist/types/state/GridParentState.d.ts.map +1 -0
- package/dist/types/state/GridState.d.ts +2 -0
- package/dist/types/state/GridState.d.ts.map +1 -1
- package/dist/types/state/NestedTableState/NestedTableNodeState.d.ts +1 -0
- package/dist/types/state/NestedTableState/NestedTableNodeState.d.ts.map +1 -1
- package/dist/types/state/TagsBulkAssignPopoverState.d.ts.map +1 -1
- package/dist/types/state/TagsModalState.d.ts.map +1 -1
- package/dist/types/state/WixPatternsRouterState.d.ts +14 -3
- package/dist/types/state/WixPatternsRouterState.d.ts.map +1 -1
- package/dist/types/test-utils/TagsMocks.d.ts.map +1 -1
- package/dist/types/testkit/enzyme.d.ts +1123 -488
- package/dist/types/testkit/enzyme.d.ts.map +1 -1
- package/dist/types/testkit/jsdom.d.ts +1149 -489
- package/dist/types/testkit/jsdom.d.ts.map +1 -1
- package/dist/types/testkit/puppeteer.d.ts +1237 -490
- package/dist/types/testkit/puppeteer.d.ts.map +1 -1
- package/dist/types/utils/useWindowFlipPopoverProps.d.ts +1 -1
- package/dist/types/version.d.ts +1 -1
- package/package.json +4 -4
- package/dist/cjs/components/MoreActions/MoreActions.js.map +0 -1
- package/dist/cjs/components/MultiBulkActionButton/MultiBulkActionButton.js.map +0 -1
- package/dist/cjs/components/MultiBulkActionButton/MultiBulkActionControl.js +0 -38
- package/dist/cjs/components/MultiBulkActionButton/MultiBulkActionControl.js.map +0 -1
- package/dist/cjs/components/MultiBulkActionButton/MultiBulkActionPopover.js.map +0 -1
- package/dist/cjs/components/MultiBulkActionButton/MultiBulkActionSubItemProps.js +0 -4
- package/dist/cjs/components/MultiBulkActionButton/MultiBulkActionSubItemProps.js.map +0 -1
- package/dist/cjs/components/MultiBulkActionButton/index.js +0 -28
- package/dist/cjs/components/MultiBulkActionButton/index.js.map +0 -1
- package/dist/esm/components/MoreActions/MoreActions.js.map +0 -1
- package/dist/esm/components/MultiBulkActionButton/MultiBulkActionButton.js +0 -22
- package/dist/esm/components/MultiBulkActionButton/MultiBulkActionButton.js.map +0 -1
- package/dist/esm/components/MultiBulkActionButton/MultiBulkActionControl.js +0 -9
- package/dist/esm/components/MultiBulkActionButton/MultiBulkActionControl.js.map +0 -1
- package/dist/esm/components/MultiBulkActionButton/MultiBulkActionPopover.js.map +0 -1
- package/dist/esm/components/MultiBulkActionButton/MultiBulkActionSubItemProps.js +0 -2
- package/dist/esm/components/MultiBulkActionButton/MultiBulkActionSubItemProps.js.map +0 -1
- package/dist/esm/components/MultiBulkActionButton/index.js +0 -5
- package/dist/esm/components/MultiBulkActionButton/index.js.map +0 -1
- package/dist/types/components/MoreActions/MoreActions.d.ts.map +0 -1
- package/dist/types/components/MultiBulkActionButton/MultiBulkActionButton.d.ts +0 -12
- package/dist/types/components/MultiBulkActionButton/MultiBulkActionButton.d.ts.map +0 -1
- package/dist/types/components/MultiBulkActionButton/MultiBulkActionControl.d.ts +0 -9
- package/dist/types/components/MultiBulkActionButton/MultiBulkActionControl.d.ts.map +0 -1
- package/dist/types/components/MultiBulkActionButton/MultiBulkActionPopover.d.ts +0 -9
- package/dist/types/components/MultiBulkActionButton/MultiBulkActionPopover.d.ts.map +0 -1
- package/dist/types/components/MultiBulkActionButton/MultiBulkActionSubItemProps.d.ts.map +0 -1
- package/dist/types/components/MultiBulkActionButton/index.d.ts +0 -5
- package/dist/types/components/MultiBulkActionButton/index.d.ts.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_GridBaseState","require","_mobx","_ToolbarCollectionState","_FoldersAndItemsCollectionsState","_gridSizePresets","_GridFoldersBIReporter","GridFoldersState","constructor","params","_defineProperty2","default","action","showAllFolders","bi","onToggleShowAllButtonClick","toolbar","retryErrorState","container","ToolbarCollectionState","collection","items","componentType","collections","FoldersAndItemsCollectionsState","GridBaseState","sizePreset","topGridSizePreset","parentState","layoutType","folders","sideGridSizePreset","GridFoldersBIReporter","state","makeObservable","observable","ref","foldersLocalLimit","computed","effectiveFoldersLocalLimit","showToggleShowAllLessButton","showItemsSection","showItemsSectionHeader","showFoldersSection","showFoldersSectionHeader","showLoadingSection","columnsCount","result","size","isEmptyAndNotFetching","hasFoldersOnlyActiveFilters","fetchedLastPage","initTask","showErrorState","multi","errorStatus","showLoadingState","showEmptyState","hasAvailableItems","resultOriginQuerySearch","hasNonPersistentActiveFilters","hasItemsOnlyActiveFilters","isLoadingToolbarAndCollection","showInitialLoader","status","isLoading","isIdle","showRefreshLoader","init","disposers","reaction","_localLimit","fireImmediately","forEach","d","exports"],"sources":["../../../src/state/GridFoldersState.ts"],"sourcesContent":["import {\n WixPatternsContainer,\n CollectionState,\n FiltersMap,\n} from '@wix/bex-core';\nimport { GridBaseState } from './GridBaseState';\nimport { action, computed, makeObservable, observable, reaction } from 'mobx';\nimport { ToolbarCollectionState } from './ToolbarCollectionState';\nimport {\n FoldersAndItemsCollectionsState,\n FoldersAndItemsCollectionsStateInitParams,\n PartialAllFilters,\n} from './FoldersAndItemsCollectionsState';\nimport { sideGridSizePreset, topGridSizePreset } from './gridSizePresets';\nimport { GridFoldersBIReporter } from './GridFoldersBIReporter';\nimport { ICollectionComponentState } from './ICollectionComponentState';\n\nexport interface GridFoldersStateParams<\n T1,\n F1 extends FiltersMap,\n T2,\n F2 extends FiltersMap,\n> {\n readonly items: CollectionState<T1, F1>;\n readonly folders: CollectionState<T2, F2>;\n readonly container: WixPatternsContainer;\n readonly toolbar?: ToolbarCollectionState<T1, PartialAllFilters<F1, F2>>;\n readonly collections?: FoldersAndItemsCollectionsState<T1, F1, T2, F2>;\n}\n\ninterface GridFoldersStateInitParams\n extends FoldersAndItemsCollectionsStateInitParams {}\n\nexport class GridFoldersState<\n T1,\n F1 extends FiltersMap,\n T2,\n F2 extends FiltersMap,\n> implements ICollectionComponentState\n{\n readonly container;\n readonly toolbar;\n readonly items;\n readonly folders;\n readonly collections;\n readonly bi;\n\n readonly _subGrids = [] as GridBaseState<any, any>[];\n\n showAllFolders = false;\n\n constructor(params: GridFoldersStateParams<T1, F1, T2, F2>) {\n this.container = params.container;\n\n this.toolbar =\n params.toolbar ??\n new ToolbarCollectionState({\n collection: params.items as CollectionState<T1, {}> as CollectionState<\n T1,\n PartialAllFilters<F1, F2>\n >,\n container: params.container,\n componentType: 'GridFolders',\n });\n\n this.collections =\n params.collections ??\n new FoldersAndItemsCollectionsState({\n ...params,\n toolbar: this.toolbar,\n });\n\n this.items = new GridBaseState({\n collection: params.items,\n container: params.container,\n toolbar: this.toolbar as ToolbarCollectionState<unknown, Partial<F1>>,\n sizePreset: topGridSizePreset,\n parentState: this,\n layoutType: 'grid',\n });\n\n this.folders = new GridBaseState({\n collection: params.folders,\n container: params.container,\n toolbar: this.toolbar as ToolbarCollectionState<unknown, Partial<F2>>,\n sizePreset: sideGridSizePreset,\n parentState: this,\n layoutType: 'grid',\n });\n\n this.bi = new GridFoldersBIReporter({\n state: this,\n });\n\n makeObservable(this, {\n showAllFolders: observable.ref,\n foldersLocalLimit: computed,\n effectiveFoldersLocalLimit: computed,\n showToggleShowAllLessButton: computed,\n showItemsSection: computed,\n showItemsSectionHeader: computed,\n showFoldersSection: computed,\n showFoldersSectionHeader: computed,\n showLoadingSection: computed,\n });\n }\n\n toggleShowAllFolders = action(() => {\n this.showAllFolders = !this.showAllFolders;\n this.bi.onToggleShowAllButtonClick();\n });\n\n get foldersLocalLimit() {\n return this.folders.columnsCount * 2;\n }\n\n get effectiveFoldersLocalLimit() {\n return this.showAllFolders ? null : this.folders.columnsCount * 2;\n }\n\n get showToggleShowAllLessButton() {\n return this.collections.folders.result.size > this.foldersLocalLimit;\n }\n\n get showFoldersSectionHeader() {\n return this.showToggleShowAllLessButton || this.showItemsSection;\n }\n\n get showItemsSection() {\n return (\n !this.collections.items.result.isEmptyAndNotFetching &&\n !this.collections.hasFoldersOnlyActiveFilters &&\n (!this.showAllFolders || this.folders.collection.fetchedLastPage)\n );\n }\n\n get initTask() {\n return this.toolbar.initTask;\n }\n\n get showErrorState() {\n return this.toolbar.multi.showErrorState;\n }\n\n get errorStatus() {\n return this.toolbar.multi.errorStatus;\n }\n\n retryErrorState = action(() => this.toolbar.retryErrorState());\n\n get showLoadingState() {\n return this.toolbar.multi.showLoadingState;\n }\n\n get showEmptyState() {\n return this.collections.showEmptyState;\n }\n\n get hasAvailableItems() {\n return this.collections.hasAvailableItems;\n }\n\n get resultOriginQuerySearch() {\n return this.collections.resultOriginQuerySearch;\n }\n\n get hasNonPersistentActiveFilters() {\n return this.collections.hasNonPersistentActiveFilters;\n }\n\n get showItemsSectionHeader() {\n return this.showFoldersSection;\n }\n\n get showFoldersSection() {\n return (\n !this.collections.folders.result.isEmptyAndNotFetching &&\n !this.collections.hasItemsOnlyActiveFilters\n );\n }\n\n get showLoadingSection() {\n const {\n collections: { hasFoldersOnlyActiveFilters, hasItemsOnlyActiveFilters },\n toolbar: { initTask, multi },\n } = this;\n\n const isLoadingToolbarAndCollection = () =>\n (multi.showInitialLoader && initTask.status.isLoading) ||\n initTask.status.isIdle;\n\n return (\n !hasFoldersOnlyActiveFilters &&\n !hasItemsOnlyActiveFilters &&\n (multi.showRefreshLoader || isLoadingToolbarAndCollection())\n );\n }\n\n init(params: GridFoldersStateInitParams) {\n const disposers = [\n this.collections.init(params),\n reaction(\n () => this.effectiveFoldersLocalLimit,\n (effectiveFoldersLocalLimit) => {\n this.folders._localLimit = effectiveFoldersLocalLimit;\n },\n {\n fireImmediately: true,\n },\n ),\n ];\n\n return () => {\n disposers.forEach((d) => d());\n };\n }\n}\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["_GridBaseState","require","_mobx","_ToolbarCollectionState","_FoldersAndItemsCollectionsState","_gridSizePresets","_GridFoldersBIReporter","GridFoldersState","constructor","params","_defineProperty2","default","undefined","action","showAllFolders","bi","onToggleShowAllButtonClick","toolbar","retryErrorState","container","ToolbarCollectionState","collection","items","componentType","collections","FoldersAndItemsCollectionsState","GridBaseState","sizePreset","topGridSizePreset","parentState","layoutType","folders","sideGridSizePreset","GridFoldersBIReporter","state","makeObservable","observable","ref","foldersLocalLimit","computed","effectiveFoldersLocalLimit","showToggleShowAllLessButton","showItemsSection","showItemsSectionHeader","showFoldersSection","showFoldersSectionHeader","showLoadingSection","columnsCount","result","size","isEmptyAndNotFetching","hasFoldersOnlyActiveFilters","fetchedLastPage","initTask","showErrorState","multi","errorStatus","showLoadingState","showEmptyState","hasAvailableItems","resultOriginQuerySearch","hasNonPersistentActiveFilters","hasItemsOnlyActiveFilters","isLoadingToolbarAndCollection","showInitialLoader","status","isLoading","isIdle","showRefreshLoader","init","disposers","reaction","_localLimit","fireImmediately","forEach","d","exports"],"sources":["../../../src/state/GridFoldersState.ts"],"sourcesContent":["import {\n WixPatternsContainer,\n CollectionState,\n FiltersMap,\n} from '@wix/bex-core';\nimport { GridBaseState } from './GridBaseState';\nimport { action, computed, makeObservable, observable, reaction } from 'mobx';\nimport { ToolbarCollectionState } from './ToolbarCollectionState';\nimport {\n FoldersAndItemsCollectionsState,\n FoldersAndItemsCollectionsStateInitParams,\n PartialAllFilters,\n} from './FoldersAndItemsCollectionsState';\nimport {\n GridSizePreset,\n sideGridSizePreset,\n topGridSizePreset,\n} from './gridSizePresets';\nimport { GridFoldersBIReporter } from './GridFoldersBIReporter';\nimport { ICollectionComponentState } from './ICollectionComponentState';\n\nexport interface GridFoldersStateParams<\n T1,\n F1 extends FiltersMap,\n T2,\n F2 extends FiltersMap,\n> {\n readonly items: CollectionState<T1, F1>;\n readonly folders: CollectionState<T2, F2>;\n readonly container: WixPatternsContainer;\n readonly toolbar?: ToolbarCollectionState<T1, PartialAllFilters<F1, F2>>;\n readonly collections?: FoldersAndItemsCollectionsState<T1, F1, T2, F2>;\n}\n\ninterface GridFoldersStateInitParams\n extends FoldersAndItemsCollectionsStateInitParams {}\n\nexport class GridFoldersState<\n T1,\n F1 extends FiltersMap,\n T2,\n F2 extends FiltersMap,\n> implements ICollectionComponentState\n{\n readonly container;\n readonly toolbar;\n readonly items;\n readonly folders;\n readonly collections;\n readonly bi;\n\n readonly _subGrids = [] as GridBaseState<any, any>[];\n readonly _sizePreset = undefined as undefined | GridSizePreset;\n\n showAllFolders = false;\n\n constructor(params: GridFoldersStateParams<T1, F1, T2, F2>) {\n this.container = params.container;\n\n this.toolbar =\n params.toolbar ??\n new ToolbarCollectionState({\n collection: params.items as CollectionState<T1, {}> as CollectionState<\n T1,\n PartialAllFilters<F1, F2>\n >,\n container: params.container,\n componentType: 'GridFolders',\n });\n\n this.collections =\n params.collections ??\n new FoldersAndItemsCollectionsState({\n ...params,\n toolbar: this.toolbar,\n });\n\n this.items = new GridBaseState({\n collection: params.items,\n container: params.container,\n toolbar: this.toolbar as ToolbarCollectionState<unknown, Partial<F1>>,\n sizePreset: topGridSizePreset,\n parentState: this,\n layoutType: 'grid',\n });\n\n this.folders = new GridBaseState({\n collection: params.folders,\n container: params.container,\n toolbar: this.toolbar as ToolbarCollectionState<unknown, Partial<F2>>,\n sizePreset: sideGridSizePreset,\n parentState: this,\n layoutType: 'grid',\n });\n\n this.bi = new GridFoldersBIReporter({\n state: this,\n });\n\n makeObservable(this, {\n showAllFolders: observable.ref,\n foldersLocalLimit: computed,\n effectiveFoldersLocalLimit: computed,\n showToggleShowAllLessButton: computed,\n showItemsSection: computed,\n showItemsSectionHeader: computed,\n showFoldersSection: computed,\n showFoldersSectionHeader: computed,\n showLoadingSection: computed,\n });\n }\n\n toggleShowAllFolders = action(() => {\n this.showAllFolders = !this.showAllFolders;\n this.bi.onToggleShowAllButtonClick();\n });\n\n get foldersLocalLimit() {\n return this.folders.columnsCount * 2;\n }\n\n get effectiveFoldersLocalLimit() {\n return this.showAllFolders ? null : this.folders.columnsCount * 2;\n }\n\n get showToggleShowAllLessButton() {\n return this.collections.folders.result.size > this.foldersLocalLimit;\n }\n\n get showFoldersSectionHeader() {\n return this.showToggleShowAllLessButton || this.showItemsSection;\n }\n\n get showItemsSection() {\n return (\n !this.collections.items.result.isEmptyAndNotFetching &&\n !this.collections.hasFoldersOnlyActiveFilters &&\n (!this.showAllFolders || this.folders.collection.fetchedLastPage)\n );\n }\n\n get initTask() {\n return this.toolbar.initTask;\n }\n\n get showErrorState() {\n return this.toolbar.multi.showErrorState;\n }\n\n get errorStatus() {\n return this.toolbar.multi.errorStatus;\n }\n\n retryErrorState = action(() => this.toolbar.retryErrorState());\n\n get showLoadingState() {\n return this.toolbar.multi.showLoadingState;\n }\n\n get showEmptyState() {\n return this.collections.showEmptyState;\n }\n\n get hasAvailableItems() {\n return this.collections.hasAvailableItems;\n }\n\n get resultOriginQuerySearch() {\n return this.collections.resultOriginQuerySearch;\n }\n\n get hasNonPersistentActiveFilters() {\n return this.collections.hasNonPersistentActiveFilters;\n }\n\n get showItemsSectionHeader() {\n return this.showFoldersSection;\n }\n\n get showFoldersSection() {\n return (\n !this.collections.folders.result.isEmptyAndNotFetching &&\n !this.collections.hasItemsOnlyActiveFilters\n );\n }\n\n get showLoadingSection() {\n const {\n collections: { hasFoldersOnlyActiveFilters, hasItemsOnlyActiveFilters },\n toolbar: { initTask, multi },\n } = this;\n\n const isLoadingToolbarAndCollection = () =>\n (multi.showInitialLoader && initTask.status.isLoading) ||\n initTask.status.isIdle;\n\n return (\n !hasFoldersOnlyActiveFilters &&\n !hasItemsOnlyActiveFilters &&\n (multi.showRefreshLoader || isLoadingToolbarAndCollection())\n );\n }\n\n init(params: GridFoldersStateInitParams) {\n const disposers = [\n this.collections.init(params),\n reaction(\n () => this.effectiveFoldersLocalLimit,\n (effectiveFoldersLocalLimit) => {\n this.folders._localLimit = effectiveFoldersLocalLimit;\n },\n {\n fireImmediately: true,\n },\n ),\n ];\n\n return () => {\n disposers.forEach((d) => d());\n };\n }\n}\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":[],"sources":["../../../src/state/GridParentState.ts"],"sourcesContent":["import { FiltersMap } from '@wix/bex-core';\nimport { GridSizePreset } from './gridSizePresets';\nimport { GridBaseState } from './GridBaseState';\n\nexport interface GridParentState<T, F extends FiltersMap> {\n _subGrids: GridBaseState<T, F>[] | undefined;\n _sizePreset: GridSizePreset | undefined;\n}\n"],"mappings":"","ignoreList":[]}
|
|
@@ -5,12 +5,14 @@ exports.__esModule = true;
|
|
|
5
5
|
exports.GridState = void 0;
|
|
6
6
|
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
|
7
7
|
var _ToolbarCollectionState = require("./ToolbarCollectionState");
|
|
8
|
+
var _mobx = require("mobx");
|
|
8
9
|
class GridState {
|
|
9
10
|
constructor(params) {
|
|
10
11
|
(0, _defineProperty2.default)(this, "toolbar", void 0);
|
|
11
12
|
(0, _defineProperty2.default)(this, "container", void 0);
|
|
12
13
|
(0, _defineProperty2.default)(this, "collection", void 0);
|
|
13
14
|
(0, _defineProperty2.default)(this, "_subGrids", []);
|
|
15
|
+
(0, _defineProperty2.default)(this, "_sizePreset", undefined);
|
|
14
16
|
(0, _defineProperty2.default)(this, "_sections", void 0);
|
|
15
17
|
(0, _defineProperty2.default)(this, "onAddItemActionComplete", async items => {
|
|
16
18
|
return this.toolbar.onAddItemActionComplete(items);
|
|
@@ -22,6 +24,9 @@ class GridState {
|
|
|
22
24
|
container: params.container,
|
|
23
25
|
componentType: 'Grid'
|
|
24
26
|
});
|
|
27
|
+
(0, _mobx.makeObservable)(this, {
|
|
28
|
+
_sizePreset: _mobx.observable.ref
|
|
29
|
+
});
|
|
25
30
|
}
|
|
26
31
|
init(params) {
|
|
27
32
|
const disposers = [this.toolbar.init(params)];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_ToolbarCollectionState","require","GridState","constructor","params","_defineProperty2","default","items","toolbar","onAddItemActionComplete","container","collection","ToolbarCollectionState","componentType","init","disposers","disposer","exports"],"sources":["../../../src/state/GridState.ts"],"sourcesContent":["import {\n CollectionState,\n FiltersMap,\n WixPatternsContainer,\n} from '@wix/bex-core';\nimport {\n ToolbarCollectionState,\n ToolbarCollectionStateParamsInitParams,\n} from './ToolbarCollectionState';\nimport { GridBaseState } from './GridBaseState';\nimport { GridSectionsState } from '../components/GridSections/GridSectionsState';\nimport { ICollectionComponentState } from './ICollectionComponentState';\n\nexport interface GridStateParams<T, F extends FiltersMap> {\n readonly collection: CollectionState<T, F>;\n readonly container: WixPatternsContainer;\n readonly toolbar?: ToolbarCollectionState<T, F>;\n}\n\nexport interface GridStateInitParams\n extends ToolbarCollectionStateParamsInitParams {}\n\nexport interface GridStatePublicAPI<T, F extends FiltersMap> {\n /**\n * Underlying [CollectionState](./?path=/story/common-state--collectionstate) instance\n * @external\n */\n readonly collection: CollectionState<T, F>;\n /**\n * Underlying [ToolbarCollectionState](./?path=/story/common-state--toolbarcollectionstate) instance\n * @external\n */\n readonly toolbar: ToolbarCollectionState<T, F>;\n\n /**\n * Reset active filters & sorting and adds new items to the collection.\n * @param items - new items to add to the collection\n * @external\n */\n onAddItemActionComplete(items: T[]): void;\n}\n\nexport class GridState<T, F extends FiltersMap>\n implements GridStatePublicAPI<T, F>, ICollectionComponentState\n{\n readonly toolbar;\n readonly container;\n readonly collection;\n\n readonly _subGrids = [] as GridBaseState<T, F>[];\n _sections?: GridSectionsState<T, F>;\n\n constructor(params: GridStateParams<T, F>) {\n this.container = params.container;\n this.collection = params.collection;\n\n this.toolbar =\n params.toolbar ??\n new ToolbarCollectionState({\n collection: params.collection,\n container: params.container,\n componentType: 'Grid',\n });\n }\n\n init(params: GridStateInitParams) {\n const disposers = [this.toolbar.init(params)];\n\n return () => {\n for (const disposer of disposers) {\n disposer();\n }\n };\n }\n\n onAddItemActionComplete = async (items: T[]) => {\n return this.toolbar.onAddItemActionComplete(items);\n };\n}\n"],"mappings":";;;;;;AAKA,IAAAA,uBAAA,GAAAC,OAAA;
|
|
1
|
+
{"version":3,"names":["_ToolbarCollectionState","require","_mobx","GridState","constructor","params","_defineProperty2","default","undefined","items","toolbar","onAddItemActionComplete","container","collection","ToolbarCollectionState","componentType","makeObservable","_sizePreset","observable","ref","init","disposers","disposer","exports"],"sources":["../../../src/state/GridState.ts"],"sourcesContent":["import {\n CollectionState,\n FiltersMap,\n WixPatternsContainer,\n} from '@wix/bex-core';\nimport {\n ToolbarCollectionState,\n ToolbarCollectionStateParamsInitParams,\n} from './ToolbarCollectionState';\nimport { GridBaseState } from './GridBaseState';\nimport { GridSectionsState } from '../components/GridSections/GridSectionsState';\nimport { ICollectionComponentState } from './ICollectionComponentState';\nimport { GridSizePreset } from './gridSizePresets';\nimport { makeObservable, observable } from 'mobx';\n\nexport interface GridStateParams<T, F extends FiltersMap> {\n readonly collection: CollectionState<T, F>;\n readonly container: WixPatternsContainer;\n readonly toolbar?: ToolbarCollectionState<T, F>;\n}\n\nexport interface GridStateInitParams\n extends ToolbarCollectionStateParamsInitParams {}\n\nexport interface GridStatePublicAPI<T, F extends FiltersMap> {\n /**\n * Underlying [CollectionState](./?path=/story/common-state--collectionstate) instance\n * @external\n */\n readonly collection: CollectionState<T, F>;\n /**\n * Underlying [ToolbarCollectionState](./?path=/story/common-state--toolbarcollectionstate) instance\n * @external\n */\n readonly toolbar: ToolbarCollectionState<T, F>;\n\n /**\n * Reset active filters & sorting and adds new items to the collection.\n * @param items - new items to add to the collection\n * @external\n */\n onAddItemActionComplete(items: T[]): void;\n}\n\nexport class GridState<T, F extends FiltersMap>\n implements GridStatePublicAPI<T, F>, ICollectionComponentState\n{\n readonly toolbar;\n readonly container;\n readonly collection;\n\n readonly _subGrids = [] as GridBaseState<T, F>[];\n _sizePreset = undefined as GridSizePreset | undefined;\n _sections?: GridSectionsState<T, F>;\n\n constructor(params: GridStateParams<T, F>) {\n this.container = params.container;\n this.collection = params.collection;\n\n this.toolbar =\n params.toolbar ??\n new ToolbarCollectionState({\n collection: params.collection,\n container: params.container,\n componentType: 'Grid',\n });\n\n makeObservable(this, {\n _sizePreset: observable.ref,\n });\n }\n\n init(params: GridStateInitParams) {\n const disposers = [this.toolbar.init(params)];\n\n return () => {\n for (const disposer of disposers) {\n disposer();\n }\n };\n }\n\n onAddItemActionComplete = async (items: T[]) => {\n return this.toolbar.onAddItemActionComplete(items);\n };\n}\n"],"mappings":";;;;;;AAKA,IAAAA,uBAAA,GAAAC,OAAA;AAQA,IAAAC,KAAA,GAAAD,OAAA;AA+BO,MAAME,SAAS,CAEtB;EASEC,WAAWA,CAACC,MAA6B,EAAE;IAAA,IAAAC,gBAAA,CAAAC,OAAA;IAAA,IAAAD,gBAAA,CAAAC,OAAA;IAAA,IAAAD,gBAAA,CAAAC,OAAA;IAAA,IAAAD,gBAAA,CAAAC,OAAA,qBAJtB,EAAE;IAAA,IAAAD,gBAAA,CAAAC,OAAA,uBACTC,SAAS;IAAA,IAAAF,gBAAA,CAAAC,OAAA;IAAA,IAAAD,gBAAA,CAAAC,OAAA,mCA8BG,MAAOE,KAAU,IAAK;MAC9C,OAAO,IAAI,CAACC,OAAO,CAACC,uBAAuB,CAACF,KAAK,CAAC;IACpD,CAAC;IA5BC,IAAI,CAACG,SAAS,GAAGP,MAAM,CAACO,SAAS;IACjC,IAAI,CAACC,UAAU,GAAGR,MAAM,CAACQ,UAAU;IAEnC,IAAI,CAACH,OAAO,GACVL,MAAM,CAACK,OAAO,IACd,IAAII,8CAAsB,CAAC;MACzBD,UAAU,EAAER,MAAM,CAACQ,UAAU;MAC7BD,SAAS,EAAEP,MAAM,CAACO,SAAS;MAC3BG,aAAa,EAAE;IACjB,CAAC,CAAC;IAEJ,IAAAC,oBAAc,EAAC,IAAI,EAAE;MACnBC,WAAW,EAAEC,gBAAU,CAACC;IAC1B,CAAC,CAAC;EACJ;EAEAC,IAAIA,CAACf,MAA2B,EAAE;IAChC,MAAMgB,SAAS,GAAG,CAAC,IAAI,CAACX,OAAO,CAACU,IAAI,CAACf,MAAM,CAAC,CAAC;IAE7C,OAAO,MAAM;MACX,KAAK,MAAMiB,QAAQ,IAAID,SAAS,EAAE;QAChCC,QAAQ,CAAC,CAAC;MACZ;IACF,CAAC;EACH;AAKF;AAACC,OAAA,CAAApB,SAAA,GAAAA,SAAA","ignoreList":[]}
|
|
@@ -41,6 +41,7 @@ class NestedTableNodeState {
|
|
|
41
41
|
_notify: _mobx.action,
|
|
42
42
|
_notifyAll: _mobx.action,
|
|
43
43
|
_keyedItemsMap: _mobx.computed,
|
|
44
|
+
deepestBranchDepth: _mobx.computed,
|
|
44
45
|
getKeyedItem: _mobx.action
|
|
45
46
|
});
|
|
46
47
|
this._register();
|
|
@@ -51,6 +52,25 @@ class NestedTableNodeState {
|
|
|
51
52
|
get depth() {
|
|
52
53
|
return this.levelDescriptor.depth;
|
|
53
54
|
}
|
|
55
|
+
get deepestBranchDepth() {
|
|
56
|
+
const {
|
|
57
|
+
node,
|
|
58
|
+
parentKeyToChildrenMap,
|
|
59
|
+
parentKeyToChildrenMapAtom
|
|
60
|
+
} = this;
|
|
61
|
+
const {
|
|
62
|
+
collection: {
|
|
63
|
+
result: {
|
|
64
|
+
keyedItems
|
|
65
|
+
}
|
|
66
|
+
}
|
|
67
|
+
} = node;
|
|
68
|
+
parentKeyToChildrenMapAtom.reportObserved();
|
|
69
|
+
return keyedItems.reduce((acc, keyedItem) => {
|
|
70
|
+
var _parentKeyToChildrenM;
|
|
71
|
+
return Math.max(acc, ((_parentKeyToChildrenM = parentKeyToChildrenMap.get(keyedItem.id)) == null ? void 0 : _parentKeyToChildrenM.deepestBranchDepth) ?? 0);
|
|
72
|
+
}, 0) + (keyedItems.length ? 1 : 0);
|
|
73
|
+
}
|
|
54
74
|
get _expanded() {
|
|
55
75
|
return this.node._expanded;
|
|
56
76
|
}
|
|
@@ -139,14 +159,14 @@ class NestedTableNodeState {
|
|
|
139
159
|
} = node;
|
|
140
160
|
parentKeyToChildrenMapAtom.reportObserved();
|
|
141
161
|
return keyedItems.flatMap(keyedItem => {
|
|
142
|
-
var
|
|
162
|
+
var _parentKeyToChildrenM2;
|
|
143
163
|
return [{
|
|
144
164
|
...keyedItem,
|
|
145
165
|
item: {
|
|
146
166
|
state: this,
|
|
147
167
|
originalKeyedItem: keyedItem
|
|
148
168
|
}
|
|
149
|
-
}, ...(((
|
|
169
|
+
}, ...(((_parentKeyToChildrenM2 = parentKeyToChildrenMap.get(keyedItem.key)) == null ? void 0 : _parentKeyToChildrenM2._keyedItemsIfExpanded) ?? [])];
|
|
150
170
|
}).map((keyedItem, index) => ({
|
|
151
171
|
...keyedItem,
|
|
152
172
|
index
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_bexCore","require","_mobx","_NestedTableNodeStateBIReporter","NestedTableNodeState","constructor","params","_defineProperty2","default","TaskState","Map","createAtom","node","collection","retryErrorState","nestedTable","parentNode","parent","levelDescriptor","bi","NestedTableNodeStateBIReporter","multi","MultiCollectionSupport","collections","makeObservable","keyedItems","computed","_keyedItemsIfExpanded","_isNotExpandableWhenEmpty","init","action","createNode","_preRegisterAll","_toggleExpand","_notify","_notifyAll","_keyedItemsMap","getKeyedItem","_register","depth","_expanded","columns","renderMainColumn","showHoverHighlight","hoveredOrParentHovered","_changeHover","hovered","showEmptyState","showLoadingState","showInitialLoader","showRefreshLoader","showErrorState","errorStatus","result","isFetchAllAborted","Array","fill","map","_","index","id","key","pageIndex","indexWithinPage","item","state","originalKeyedItem","undefined","keyedItem","parentKeyToChildrenMap","parentKeyToChildrenMapAtom","reportObserved","flatMap","_parentKeyToChildrenM","get","getKeyedItemByIndex","ind","set","delete","_this$parentNode","promise","reportExpandCollapse","reportChanged","runInAction","_this$parentNode2","Promise","all","preRegister","dispose","initTask","status","forEach","skipCollectionInit","nestedTableDragAndDrop","disposers","initCollection","runOnce","expandAll","d","existing","nextLevelDescriptor","levels","nextLevelNode","_createNode","exports"],"sources":["../../../../src/state/NestedTableState/NestedTableNodeState.ts"],"sourcesContent":["import {\n FiltersMap,\n KeyedItem,\n MultiCollectionSupport,\n TaskState,\n} from '@wix/bex-core';\nimport { NestedCollectionNodeState } from './NestedCollectionNodeState';\nimport {\n action,\n computed,\n createAtom,\n makeObservable,\n runInAction,\n} from 'mobx';\nimport { TableColumn } from '../../model';\nimport { NestedTableNestedModeState } from './NestedTableNestedModeState';\nimport { ReactNode } from 'react';\nimport { NestedTableNodeStateBIReporter } from './NestedTableNodeStateBIReporter';\nimport { NestedTableLevelDescriptor } from './NestedTableLevelDescriptor';\n\nexport interface NestedTableDataItem<\n C extends string,\n T,\n F extends FiltersMap,\n> {\n state: NestedTableNodeState<C, T, F>;\n originalKeyedItem: KeyedItem<T>;\n}\n\ninterface NestedTableSkeletonItem<C extends string, T, F extends FiltersMap> {\n state: NestedTableNodeState<C, T, F>;\n originalKeyedItem: undefined;\n}\n\nexport type NestedTableItem<C extends string, T, F extends FiltersMap> =\n | NestedTableDataItem<C, T, F>\n | NestedTableSkeletonItem<C, T, F>;\n\nexport type NestedTableKeyedItem<\n C extends string,\n T,\n F extends FiltersMap,\n> = KeyedItem<NestedTableItem<C, T, F>>;\n\nexport type RenderMainColumn<T> = (item: T) => {\n title?: string;\n subtitle?: string;\n image?: ReactNode;\n};\n\nexport type NestedTableNestColumns<C extends string, T> = Partial<\n Record<C, TableColumn<T>['render']>\n>;\n\nexport interface NestedTableNodeStateParams<\n C extends string,\n T,\n F extends FiltersMap,\n> {\n readonly nestedTable: NestedTableNestedModeState<C>;\n readonly node: NestedCollectionNodeState<T, F>;\n readonly levelDescriptor: NestedTableLevelDescriptor<C, T, F>;\n readonly parentNode: NestedTableNodeState<C, any, any> | null;\n readonly parent: KeyedItem<unknown> | null;\n readonly preRegister?: boolean;\n}\n\nexport class NestedTableNodeState<C extends string, T, F extends FiltersMap> {\n readonly nestedTable;\n readonly node;\n\n readonly levelDescriptor;\n readonly parentNode;\n readonly parent;\n readonly bi: NestedTableNodeStateBIReporter<C, T, F>;\n\n readonly multi;\n\n _rowNum?: number;\n\n readonly initTask = new TaskState();\n\n readonly parentKeyToChildrenMap = new Map<\n string,\n NestedTableNodeState<C, any, any>\n >();\n\n readonly parentKeyToChildrenMapAtom = createAtom(\n 'parentKeyToChildrenMapAtom',\n );\n\n constructor(params: NestedTableNodeStateParams<C, T, F>) {\n this.nestedTable = params.nestedTable;\n this.node = params.node;\n this.parentNode = params.parentNode;\n this.parent = params.parent;\n this.levelDescriptor = params.levelDescriptor;\n this.bi = new NestedTableNodeStateBIReporter(this);\n\n this.multi = new MultiCollectionSupport({\n collections: [this.node.collection],\n });\n\n makeObservable(this, {\n keyedItems: computed,\n _keyedItemsIfExpanded: computed,\n _isNotExpandableWhenEmpty: computed,\n init: action,\n createNode: action,\n _preRegisterAll: action,\n _toggleExpand: action,\n _notify: action,\n _notifyAll: action,\n _keyedItemsMap: computed,\n getKeyedItem: action,\n });\n\n this._register();\n }\n\n get collection() {\n return this.node.collection;\n }\n\n get depth() {\n return this.levelDescriptor.depth;\n }\n\n get _expanded() {\n return this.node._expanded;\n }\n\n get columns() {\n return this.levelDescriptor.columns;\n }\n\n get renderMainColumn() {\n return this.levelDescriptor.renderMainColumn;\n }\n\n get showHoverHighlight() {\n return this.node.hoveredOrParentHovered;\n }\n\n _changeHover(hovered: boolean) {\n this.node._changeHover(hovered);\n }\n\n get showEmptyState() {\n return this.node.collection.showEmptyState;\n }\n\n get showLoadingState() {\n return (\n this.node.collection.showInitialLoader ||\n this.node.collection.showRefreshLoader\n );\n }\n\n get showErrorState() {\n return this.node.collection.showErrorState;\n }\n\n get errorStatus() {\n return this.node.collection.result.errorStatus;\n }\n\n retryErrorState = () => this.node.collection.retryErrorState();\n\n get _isNotExpandableWhenEmpty() {\n const {\n nestedTable: { isFetchAllAborted },\n node: {\n collection: { showEmptyState },\n },\n } = this;\n return !isFetchAllAborted && showEmptyState;\n }\n\n get _keyedItemsIfExpanded(): NestedTableKeyedItem<C, any, any>[] {\n const {\n parent,\n nestedTable: { isFetchAllAborted },\n _expanded,\n node: {\n collection: { showRefreshLoader, showEmptyState, showErrorState },\n },\n } = this;\n\n if (!_expanded) {\n return [];\n }\n\n return [\n ...this.keyedItems,\n ...(parent &&\n isFetchAllAborted &&\n (showRefreshLoader || showEmptyState || showErrorState)\n ? new Array(1).fill(null).map((_, index) => ({\n id: `placeholder-states-${parent.key}`,\n key: `placeholder-states-${parent.key}`,\n index,\n pageIndex: 0,\n indexWithinPage: index,\n item: {\n state: this,\n originalKeyedItem: undefined,\n },\n }))\n : []),\n ];\n }\n\n get _keyedItemsMap(): Map<string, NestedTableKeyedItem<C, any, any>> {\n return new Map(\n this.keyedItems.map((keyedItem) => [keyedItem.key, keyedItem]),\n );\n }\n\n get keyedItems(): NestedTableKeyedItem<C, any, any>[] {\n const { node, parentKeyToChildrenMap, parentKeyToChildrenMapAtom } = this;\n const {\n collection: {\n result: { keyedItems },\n },\n } = node;\n\n parentKeyToChildrenMapAtom.reportObserved();\n\n return keyedItems\n .flatMap((keyedItem) => [\n {\n ...keyedItem,\n item: {\n state: this,\n originalKeyedItem: keyedItem,\n },\n },\n ...(parentKeyToChildrenMap.get(keyedItem.key)?._keyedItemsIfExpanded ??\n []),\n ])\n .map((keyedItem, index) => ({ ...keyedItem, index }));\n }\n\n getKeyedItem(key: string) {\n return this._keyedItemsMap.get(key);\n }\n\n getKeyedItemByIndex(ind: number) {\n return this.keyedItems[ind];\n }\n\n _register() {\n const { parent, parentNode } = this;\n\n if (parent == null || parentNode == null) {\n return;\n }\n\n parentNode.parentKeyToChildrenMap.set(parent.key, this);\n\n return () => {\n parentNode.parentKeyToChildrenMap.delete(parent.key);\n };\n }\n\n async _toggleExpand() {\n const promise = this.node._toggleExpand();\n this.bi.reportExpandCollapse();\n this.parentNode?.parentKeyToChildrenMapAtom.reportChanged();\n await promise;\n runInAction(() => {\n this.parentNode?.parentKeyToChildrenMapAtom.reportChanged();\n });\n }\n\n async _preRegisterAll() {\n const { node } = this;\n const {\n collection: {\n result: { keyedItems },\n },\n } = node;\n\n await Promise.all(\n keyedItems.map(async (keyedItem) => {\n const state = this.createNode({ parent: keyedItem, preRegister: true });\n if (state == null) {\n return;\n }\n const dispose = state.init();\n await state.initTask.status.promise;\n dispose();\n }),\n );\n }\n\n _notify() {\n const { parentKeyToChildrenMapAtom } = this;\n parentKeyToChildrenMapAtom.reportChanged();\n }\n\n _notifyAll() {\n const { parentKeyToChildrenMap } = this;\n this._notify();\n parentKeyToChildrenMap.forEach((state) => {\n state._notifyAll();\n });\n }\n\n init({ skipCollectionInit }: { skipCollectionInit?: boolean } = {}) {\n const { node, initTask, nestedTable, collection } = this;\n\n const { nestedTableDragAndDrop } = nestedTable;\n\n const disposers = [\n node.init({ skipCollectionInit }),\n nestedTableDragAndDrop?.initCollection(collection),\n ];\n\n initTask.runOnce(async () => {\n node.initTask.runOnce();\n await node.initTask.status.promise;\n\n await runInAction(async () => {\n if (!nestedTable.isFetchAllAborted && nestedTable.expandAll) {\n await this._preRegisterAll();\n if (this.depth === 0) {\n this._notifyAll();\n }\n }\n return;\n });\n });\n\n return () => {\n disposers.forEach((d) => d?.());\n };\n }\n\n createNode({\n parent,\n preRegister,\n }: {\n parent: KeyedItem<any>;\n preRegister?: boolean;\n }): NestedTableNodeState<C, any, any> | null {\n const { nestedTable, node, depth, parentKeyToChildrenMap } = this;\n\n const existing = parentKeyToChildrenMap.get(parent.key);\n\n if (existing != null) {\n return existing;\n }\n\n const nextLevelDescriptor = nestedTable.levels[depth + 1];\n\n if (nextLevelDescriptor == null) {\n return null;\n }\n\n const nextLevelNode = node._createNode(parent, {\n levelDescriptor: nextLevelDescriptor,\n preRegister,\n });\n\n if (nextLevelNode == null) {\n return null;\n }\n\n return new NestedTableNodeState({\n parent,\n parentNode: this,\n nestedTable,\n node: nextLevelNode,\n levelDescriptor: nextLevelDescriptor,\n preRegister,\n });\n }\n}\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["_bexCore","require","_mobx","_NestedTableNodeStateBIReporter","NestedTableNodeState","constructor","params","_defineProperty2","default","TaskState","Map","createAtom","node","collection","retryErrorState","nestedTable","parentNode","parent","levelDescriptor","bi","NestedTableNodeStateBIReporter","multi","MultiCollectionSupport","collections","makeObservable","keyedItems","computed","_keyedItemsIfExpanded","_isNotExpandableWhenEmpty","init","action","createNode","_preRegisterAll","_toggleExpand","_notify","_notifyAll","_keyedItemsMap","deepestBranchDepth","getKeyedItem","_register","depth","parentKeyToChildrenMap","parentKeyToChildrenMapAtom","result","reportObserved","reduce","acc","keyedItem","_parentKeyToChildrenM","Math","max","get","id","length","_expanded","columns","renderMainColumn","showHoverHighlight","hoveredOrParentHovered","_changeHover","hovered","showEmptyState","showLoadingState","showInitialLoader","showRefreshLoader","showErrorState","errorStatus","isFetchAllAborted","Array","fill","map","_","index","key","pageIndex","indexWithinPage","item","state","originalKeyedItem","undefined","flatMap","_parentKeyToChildrenM2","getKeyedItemByIndex","ind","set","delete","_this$parentNode","promise","reportExpandCollapse","reportChanged","runInAction","_this$parentNode2","Promise","all","preRegister","dispose","initTask","status","forEach","skipCollectionInit","nestedTableDragAndDrop","disposers","initCollection","runOnce","expandAll","d","existing","nextLevelDescriptor","levels","nextLevelNode","_createNode","exports"],"sources":["../../../../src/state/NestedTableState/NestedTableNodeState.ts"],"sourcesContent":["import {\n FiltersMap,\n KeyedItem,\n MultiCollectionSupport,\n TaskState,\n} from '@wix/bex-core';\nimport { NestedCollectionNodeState } from './NestedCollectionNodeState';\nimport {\n action,\n computed,\n createAtom,\n makeObservable,\n runInAction,\n} from 'mobx';\nimport { TableColumn } from '../../model';\nimport { NestedTableNestedModeState } from './NestedTableNestedModeState';\nimport { ReactNode } from 'react';\nimport { NestedTableNodeStateBIReporter } from './NestedTableNodeStateBIReporter';\nimport { NestedTableLevelDescriptor } from './NestedTableLevelDescriptor';\n\nexport interface NestedTableDataItem<\n C extends string,\n T,\n F extends FiltersMap,\n> {\n state: NestedTableNodeState<C, T, F>;\n originalKeyedItem: KeyedItem<T>;\n}\n\ninterface NestedTableSkeletonItem<C extends string, T, F extends FiltersMap> {\n state: NestedTableNodeState<C, T, F>;\n originalKeyedItem: undefined;\n}\n\nexport type NestedTableItem<C extends string, T, F extends FiltersMap> =\n | NestedTableDataItem<C, T, F>\n | NestedTableSkeletonItem<C, T, F>;\n\nexport type NestedTableKeyedItem<\n C extends string,\n T,\n F extends FiltersMap,\n> = KeyedItem<NestedTableItem<C, T, F>>;\n\nexport type RenderMainColumn<T> = (item: T) => {\n title?: string;\n subtitle?: string;\n image?: ReactNode;\n};\n\nexport type NestedTableNestColumns<C extends string, T> = Partial<\n Record<C, TableColumn<T>['render']>\n>;\n\nexport interface NestedTableNodeStateParams<\n C extends string,\n T,\n F extends FiltersMap,\n> {\n readonly nestedTable: NestedTableNestedModeState<C>;\n readonly node: NestedCollectionNodeState<T, F>;\n readonly levelDescriptor: NestedTableLevelDescriptor<C, T, F>;\n readonly parentNode: NestedTableNodeState<C, any, any> | null;\n readonly parent: KeyedItem<unknown> | null;\n readonly preRegister?: boolean;\n}\n\nexport class NestedTableNodeState<C extends string, T, F extends FiltersMap> {\n readonly nestedTable;\n readonly node;\n\n readonly levelDescriptor;\n readonly parentNode;\n readonly parent;\n readonly bi: NestedTableNodeStateBIReporter<C, T, F>;\n\n readonly multi;\n\n _rowNum?: number;\n\n readonly initTask = new TaskState();\n\n readonly parentKeyToChildrenMap = new Map<\n string,\n NestedTableNodeState<C, any, any>\n >();\n\n readonly parentKeyToChildrenMapAtom = createAtom(\n 'parentKeyToChildrenMapAtom',\n );\n\n constructor(params: NestedTableNodeStateParams<C, T, F>) {\n this.nestedTable = params.nestedTable;\n this.node = params.node;\n this.parentNode = params.parentNode;\n this.parent = params.parent;\n this.levelDescriptor = params.levelDescriptor;\n this.bi = new NestedTableNodeStateBIReporter(this);\n\n this.multi = new MultiCollectionSupport({\n collections: [this.node.collection],\n });\n\n makeObservable(this, {\n keyedItems: computed,\n _keyedItemsIfExpanded: computed,\n _isNotExpandableWhenEmpty: computed,\n init: action,\n createNode: action,\n _preRegisterAll: action,\n _toggleExpand: action,\n _notify: action,\n _notifyAll: action,\n _keyedItemsMap: computed,\n deepestBranchDepth: computed,\n getKeyedItem: action,\n });\n\n this._register();\n }\n\n get collection() {\n return this.node.collection;\n }\n\n get depth() {\n return this.levelDescriptor.depth;\n }\n\n get deepestBranchDepth(): number {\n const { node, parentKeyToChildrenMap, parentKeyToChildrenMapAtom } = this;\n const {\n collection: {\n result: { keyedItems },\n },\n } = node;\n\n parentKeyToChildrenMapAtom.reportObserved();\n\n return (\n keyedItems.reduce((acc, keyedItem) => {\n return Math.max(\n acc,\n parentKeyToChildrenMap.get(keyedItem.id)?.deepestBranchDepth ?? 0,\n );\n }, 0) + (keyedItems.length ? 1 : 0)\n );\n }\n\n get _expanded() {\n return this.node._expanded;\n }\n\n get columns() {\n return this.levelDescriptor.columns;\n }\n\n get renderMainColumn() {\n return this.levelDescriptor.renderMainColumn;\n }\n\n get showHoverHighlight() {\n return this.node.hoveredOrParentHovered;\n }\n\n _changeHover(hovered: boolean) {\n this.node._changeHover(hovered);\n }\n\n get showEmptyState() {\n return this.node.collection.showEmptyState;\n }\n\n get showLoadingState() {\n return (\n this.node.collection.showInitialLoader ||\n this.node.collection.showRefreshLoader\n );\n }\n\n get showErrorState() {\n return this.node.collection.showErrorState;\n }\n\n get errorStatus() {\n return this.node.collection.result.errorStatus;\n }\n\n retryErrorState = () => this.node.collection.retryErrorState();\n\n get _isNotExpandableWhenEmpty() {\n const {\n nestedTable: { isFetchAllAborted },\n node: {\n collection: { showEmptyState },\n },\n } = this;\n return !isFetchAllAborted && showEmptyState;\n }\n\n get _keyedItemsIfExpanded(): NestedTableKeyedItem<C, any, any>[] {\n const {\n parent,\n nestedTable: { isFetchAllAborted },\n _expanded,\n node: {\n collection: { showRefreshLoader, showEmptyState, showErrorState },\n },\n } = this;\n\n if (!_expanded) {\n return [];\n }\n\n return [\n ...this.keyedItems,\n ...(parent &&\n isFetchAllAborted &&\n (showRefreshLoader || showEmptyState || showErrorState)\n ? new Array(1).fill(null).map((_, index) => ({\n id: `placeholder-states-${parent.key}`,\n key: `placeholder-states-${parent.key}`,\n index,\n pageIndex: 0,\n indexWithinPage: index,\n item: {\n state: this,\n originalKeyedItem: undefined,\n },\n }))\n : []),\n ];\n }\n\n get _keyedItemsMap(): Map<string, NestedTableKeyedItem<C, any, any>> {\n return new Map(\n this.keyedItems.map((keyedItem) => [keyedItem.key, keyedItem]),\n );\n }\n\n get keyedItems(): NestedTableKeyedItem<C, any, any>[] {\n const { node, parentKeyToChildrenMap, parentKeyToChildrenMapAtom } = this;\n const {\n collection: {\n result: { keyedItems },\n },\n } = node;\n\n parentKeyToChildrenMapAtom.reportObserved();\n\n return keyedItems\n .flatMap((keyedItem) => [\n {\n ...keyedItem,\n item: {\n state: this,\n originalKeyedItem: keyedItem,\n },\n },\n ...(parentKeyToChildrenMap.get(keyedItem.key)?._keyedItemsIfExpanded ??\n []),\n ])\n .map((keyedItem, index) => ({ ...keyedItem, index }));\n }\n\n getKeyedItem(key: string) {\n return this._keyedItemsMap.get(key);\n }\n\n getKeyedItemByIndex(ind: number) {\n return this.keyedItems[ind];\n }\n\n _register() {\n const { parent, parentNode } = this;\n\n if (parent == null || parentNode == null) {\n return;\n }\n\n parentNode.parentKeyToChildrenMap.set(parent.key, this);\n\n return () => {\n parentNode.parentKeyToChildrenMap.delete(parent.key);\n };\n }\n\n async _toggleExpand() {\n const promise = this.node._toggleExpand();\n this.bi.reportExpandCollapse();\n this.parentNode?.parentKeyToChildrenMapAtom.reportChanged();\n await promise;\n runInAction(() => {\n this.parentNode?.parentKeyToChildrenMapAtom.reportChanged();\n });\n }\n\n async _preRegisterAll() {\n const { node } = this;\n const {\n collection: {\n result: { keyedItems },\n },\n } = node;\n\n await Promise.all(\n keyedItems.map(async (keyedItem) => {\n const state = this.createNode({ parent: keyedItem, preRegister: true });\n if (state == null) {\n return;\n }\n const dispose = state.init();\n await state.initTask.status.promise;\n dispose();\n }),\n );\n }\n\n _notify() {\n const { parentKeyToChildrenMapAtom } = this;\n parentKeyToChildrenMapAtom.reportChanged();\n }\n\n _notifyAll() {\n const { parentKeyToChildrenMap } = this;\n this._notify();\n parentKeyToChildrenMap.forEach((state) => {\n state._notifyAll();\n });\n }\n\n init({ skipCollectionInit }: { skipCollectionInit?: boolean } = {}) {\n const { node, initTask, nestedTable, collection } = this;\n\n const { nestedTableDragAndDrop } = nestedTable;\n\n const disposers = [\n node.init({ skipCollectionInit }),\n nestedTableDragAndDrop?.initCollection(collection),\n ];\n\n initTask.runOnce(async () => {\n node.initTask.runOnce();\n await node.initTask.status.promise;\n\n await runInAction(async () => {\n if (!nestedTable.isFetchAllAborted && nestedTable.expandAll) {\n await this._preRegisterAll();\n if (this.depth === 0) {\n this._notifyAll();\n }\n }\n return;\n });\n });\n\n return () => {\n disposers.forEach((d) => d?.());\n };\n }\n\n createNode({\n parent,\n preRegister,\n }: {\n parent: KeyedItem<any>;\n preRegister?: boolean;\n }): NestedTableNodeState<C, any, any> | null {\n const { nestedTable, node, depth, parentKeyToChildrenMap } = this;\n\n const existing = parentKeyToChildrenMap.get(parent.key);\n\n if (existing != null) {\n return existing;\n }\n\n const nextLevelDescriptor = nestedTable.levels[depth + 1];\n\n if (nextLevelDescriptor == null) {\n return null;\n }\n\n const nextLevelNode = node._createNode(parent, {\n levelDescriptor: nextLevelDescriptor,\n preRegister,\n });\n\n if (nextLevelNode == null) {\n return null;\n }\n\n return new NestedTableNodeState({\n parent,\n parentNode: this,\n nestedTable,\n node: nextLevelNode,\n levelDescriptor: nextLevelDescriptor,\n preRegister,\n });\n }\n}\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -201,10 +201,16 @@ class TagsBulkAssignPopoverState {
|
|
|
201
201
|
biName: 'cairo-save-new-tag-success',
|
|
202
202
|
message: this.container.translate('cairo.tags.popover.tagCreated.toast.success')
|
|
203
203
|
},
|
|
204
|
-
errorToast:
|
|
205
|
-
|
|
206
|
-
|
|
207
|
-
|
|
204
|
+
errorToast: error => {
|
|
205
|
+
const config = (0, _bexCore.getCreateTagErrorConfig)({
|
|
206
|
+
container: this.container,
|
|
207
|
+
error
|
|
208
|
+
});
|
|
209
|
+
return {
|
|
210
|
+
biName: 'cairo-save-new-tag-error',
|
|
211
|
+
...config
|
|
212
|
+
};
|
|
213
|
+
}
|
|
208
214
|
}
|
|
209
215
|
});
|
|
210
216
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_mobx","require","_bexCore","_bi","_uuid","origin","TagsBulkAssignPopoverState","constructor","tagsManagementState","collectionState","tagsModalState","bulkUpdateTags","_defineProperty2","default","tag","optimisticNewTag","assignedTagIds","includes","id","push","tagName","tagId","name","createdDate","Date","updatedAssignedTagIds","filter","assignedTagId","selectedKeyedItems","tagsCount","items","reduce","result","forEach","selectedKeyedItem","_tags","entityTagIds","item","tags","privateTags","tagIds","Set","entityTagId","selectedTagIds","indeterminateTagIds","tagCount","Object","entries","length","_tags2","currentTagIds","updatedTagIds","Array","from","newAssignedTagIds","newUnassignedTagIds","map","selectedIds","bulkSelect","itemKey","_calItemUpdatedTagsIds","initialIndeterminateTagIds","initialSelectedIds","tagsBIReporter","reportBi","cairoUndoClicked","actionName","changedAttributes","optimisticActions","_optimisticActions","CollectionOptimisticActions","container","collection","TagsBIReporter","createBILogger","componentType","fqdn","location","makeObservable","init","action","isShown","observable","searchValue","showPopover","closePopover","applyChanges","handleManageTagsCtaClick","handleItemSelect","handleSearchChange","createAndAssignTag","retry","ref","assignedTags","computed","disposers","disposer","_reportPopoverShowChangedBi","_initSelectionState","_reportSearchEventsBi","slice","TAG_MAX_LENGTH","uuid","assignTagOptimistic","createTag","filteredListSize","isFromSearch","onSuccess","newTag","assignTag","optimisticActionParams","successToast","biName","message","translate","errorToast","_reportApplyBi","_calcOptimisticItems","entityIds","updateMany","keepPosition","submit","assignTags","unassignTags","showUndoToast","onUndo","_reportUndoBi","openManageTagsModal","itemId","currentTag","find","indeterminateTagId","assignedWithOptimisticTagIds","unassignTag","_reportSearchChangedBi","isInEmptyState","isSuccessful","tagOptions","sort","tag1","tag2","isTag1InitialUnassigned","_isInitialUnassignedTag","isTag2InitialUnassigned","valueOf","savedAssignedTags","element","Boolean","isError","isLoading","isDirty","_calcTagsCount","_getSelectedTagsIdsStatus","isOpened","cairoFiltersPanelUsed","feature","onSearch","_clearAllEvents","event","events","emit","selectedItemsIds","cairoAssignTagsToEntities","itemIds","JSON","stringify","numItems","unAssignedTags","exports"],"sources":["../../../src/state/TagsBulkAssignPopoverState.ts"],"sourcesContent":["import { action, makeObservable, computed, observable } from 'mobx';\nimport { TagsModalState } from './TagsModalState';\nimport { Tag } from '@wix/bex-utils/@wix/ambassador-os-tags-v1-tag/types';\nimport {\n CollectionOptimisticActions,\n CollectionState,\n FiltersMap,\n KeyedItem,\n TAG_MAX_LENGTH,\n Tags,\n TagsBIReporter,\n TagsManagementState,\n} from '@wix/bex-core';\nimport {\n cairoAssignTagsToEntities,\n cairoFiltersPanelUsed,\n cairoUndoClicked,\n} from '@wix/bex-core/bi';\nimport { v4 as uuid } from 'uuid';\n\nconst origin = 'bulk_assign_popover';\n\nexport interface BulkUpdateTagsParams {\n entityIds: string[];\n assignTags: Tags;\n unassignTags: Tags;\n}\n\nexport interface TagsBulkAssignPopoverStateParams<T, F extends FiltersMap> {\n readonly tagsManagementState: TagsManagementState;\n readonly tagsModalState: TagsModalState;\n readonly collectionState: CollectionState<T, F>;\n bulkUpdateTags: (params: BulkUpdateTagsParams) => Promise<unknown>;\n}\n\nexport class TagsBulkAssignPopoverState<T, F extends FiltersMap> {\n readonly tagsManagementState: TagsManagementState;\n readonly collectionState;\n readonly optimisticActions: CollectionOptimisticActions<T, F>;\n readonly tagsModalState;\n readonly bulkUpdateTags: (params: BulkUpdateTagsParams) => Promise<unknown>;\n readonly container;\n readonly tagsBIReporter: TagsBIReporter;\n initialSelectedIds: string[] = [];\n initialIndeterminateTagIds: string[] = [];\n indeterminateTagIds: string[] = [];\n assignedTagIds: string[] = [];\n optimisticNewTag: Tag | null = null;\n isShown = false;\n searchValue: string = '';\n\n constructor({\n tagsManagementState,\n collectionState,\n tagsModalState,\n bulkUpdateTags,\n }: TagsBulkAssignPopoverStateParams<T, F>) {\n this.tagsManagementState = tagsManagementState;\n this.collectionState = collectionState;\n this.optimisticActions =\n collectionState._optimisticActions ??\n new CollectionOptimisticActions<T, F>({\n container: this.tagsManagementState.container,\n collection: this.collectionState,\n });\n this.tagsBIReporter = new TagsBIReporter({\n collection: this.tagsManagementState.collection,\n reportBi: this.tagsManagementState.container.createBILogger({\n componentType: 'TagsBulkAssignPopover',\n ...tagsManagementState.fqdn,\n }),\n location: 'Bulk assign tags popover',\n });\n this.tagsModalState = tagsModalState;\n this.bulkUpdateTags = bulkUpdateTags;\n this.container = tagsManagementState.container;\n\n makeObservable(this, {\n init: action,\n isShown: observable,\n initialSelectedIds: observable,\n initialIndeterminateTagIds: observable,\n indeterminateTagIds: observable,\n searchValue: observable,\n showPopover: action,\n closePopover: action,\n applyChanges: action,\n handleManageTagsCtaClick: action,\n handleItemSelect: action,\n handleSearchChange: action,\n createAndAssignTag: action,\n retry: action,\n assignedTagIds: observable,\n optimisticNewTag: observable.ref,\n assignedTags: computed,\n });\n }\n\n init() {\n const disposers = [this.optimisticActions.init()];\n\n return () => {\n disposers.forEach((disposer) => disposer());\n };\n }\n\n async showPopover() {\n if (this.isShown) {\n return;\n }\n\n this.isShown = true;\n this._reportPopoverShowChangedBi(true);\n const { selectedTagIds, indeterminateTagIds } = this._initSelectionState();\n this.initialSelectedIds = selectedTagIds;\n this.assignedTagIds = selectedTagIds;\n this.initialIndeterminateTagIds = indeterminateTagIds;\n this.indeterminateTagIds = indeterminateTagIds;\n }\n\n closePopover() {\n this._reportPopoverShowChangedBi(false);\n this._reportSearchEventsBi('blur');\n this.isShown = false;\n this.assignedTagIds = [];\n this.initialSelectedIds = [];\n this.initialIndeterminateTagIds = [];\n this.indeterminateTagIds = [];\n }\n\n async createAndAssignTag(name: string) {\n this._reportSearchEventsBi('add');\n const tagName = name.slice(0, TAG_MAX_LENGTH);\n const id = uuid();\n this.assignTagOptimistic(tagName, id);\n this.tagsManagementState.createTag({\n name,\n id,\n filteredListSize: 0,\n origin,\n isFromSearch: true,\n tagsBIReporter: this.tagsBIReporter,\n onSuccess: (newTag) => this.assignTag({ tag: newTag }),\n optimisticActionParams: {\n successToast: {\n biName: 'cairo-save-new-tag-success',\n message: this.container.translate(\n 'cairo.tags.popover.tagCreated.toast.success',\n ),\n },\n errorToast: () => ({\n biName: 'cairo-save-new-tag-error',\n message: this.container.translate(\n 'cairo.tags.collectionPage.toast.create.error',\n ),\n }),\n },\n });\n }\n\n async applyChanges() {\n this._reportApplyBi();\n const items = this._calcOptimisticItems();\n const entityIds = this.collectionState.bulkSelect.selectedIds;\n const assignedTagIds = this.newAssignedTagIds;\n const newUnassignedTagIds = this.newUnassignedTagIds;\n this.optimisticActions.updateMany(items, {\n keepPosition: true,\n submit: async () => {\n return this.bulkUpdateTags({\n entityIds,\n assignTags: { privateTags: { tagIds: assignedTagIds } },\n unassignTags: { privateTags: { tagIds: newUnassignedTagIds } },\n });\n },\n successToast: {\n biName: 'cairo-update-bulk-assign-tags-success',\n message: this.container.translate(\n 'cairo.tags.applyChanges.toast.success',\n ),\n },\n showUndoToast: true,\n errorToast: () => ({\n biName: 'cairo-update-bulk-assign-tags-error',\n message: this.container.translate(\n 'cairo.tags.collectionPage.toast.update.error',\n ),\n }),\n onUndo: this._reportUndoBi,\n });\n\n this.closePopover();\n }\n\n handleManageTagsCtaClick() {\n this.closePopover();\n this.tagsModalState.openManageTagsModal({\n origin,\n });\n }\n\n handleItemSelect(itemId: string) {\n const currentTag = this.tagsManagementState.items.find(\n (tag) => tag.id === itemId,\n );\n if (!currentTag) {\n return;\n }\n\n this._reportSearchEventsBi('select');\n\n if (\n this.initialIndeterminateTagIds.includes(itemId) &&\n this.indeterminateTagIds.includes(itemId)\n ) {\n this.indeterminateTagIds = this.indeterminateTagIds.filter(\n (indeterminateTagId) => indeterminateTagId !== itemId,\n );\n }\n\n if (this.assignedWithOptimisticTagIds.includes(itemId)) {\n this.unassignTag({ tag: currentTag });\n } else {\n this.assignTag({ tag: currentTag });\n }\n }\n\n handleSearchChange(searchValue: string) {\n this._reportSearchChangedBi(searchValue);\n this.searchValue = searchValue;\n }\n\n retry() {\n this.tagsManagementState.retry();\n }\n\n get isInEmptyState() {\n return (\n this.tagsManagementState.isSuccessful &&\n this.tagsManagementState.items.length === 0\n );\n }\n\n get tagOptions() {\n return this.tagsManagementState.items.sort((tag1, tag2) => {\n const isTag1InitialUnassigned = this._isInitialUnassignedTag(tag1);\n const isTag2InitialUnassigned = this._isInitialUnassignedTag(tag2);\n\n // Showing first assigned/indeterminate tags, and unassigned tags below it\n if (!isTag1InitialUnassigned && isTag2InitialUnassigned) {\n return -1;\n }\n\n if (isTag1InitialUnassigned && !isTag2InitialUnassigned) {\n return 1;\n }\n\n // Sub order by showing first newer tags\n return (\n new Date(tag2.createdDate!).valueOf() -\n new Date(tag1.createdDate!).valueOf()\n );\n });\n }\n\n get assignedTags() {\n const savedAssignedTags = this.assignedTagIds\n .map((tagId) => {\n return this.tagsManagementState.items.find((tag) => tag.id === tagId);\n })\n .filter((element) => Boolean(element)) as Tag[];\n return this.optimisticNewTag\n ? [...savedAssignedTags, this.optimisticNewTag]\n : savedAssignedTags;\n }\n\n get assignedWithOptimisticTagIds() {\n return this.assignedTags.map((tag) => tag.id!);\n }\n\n get newAssignedTagIds() {\n return this.assignedTagIds.filter(\n (tagId) => !this.initialSelectedIds.includes(tagId),\n );\n }\n\n get newUnassignedTagIds() {\n return [\n ...this.initialSelectedIds.filter(\n (tagId) => !this.assignedTagIds.includes(tagId),\n ),\n ...this.initialIndeterminateTagIds.filter(\n (tagId) =>\n ![...this.assignedTagIds, ...this.indeterminateTagIds].includes(\n tagId,\n ),\n ),\n ];\n }\n\n get isError() {\n return this.tagsManagementState.isError;\n }\n\n get isLoading() {\n return this.tagsManagementState.isLoading;\n }\n\n get isDirty() {\n return (\n this.newAssignedTagIds.length > 0 || this.newUnassignedTagIds.length > 0\n );\n }\n\n assignTag = async ({ tag }: { tag: Tag }) => {\n this.optimisticNewTag = null;\n if (this.assignedTagIds.includes(tag.id!)) {\n return;\n }\n\n this.assignedTagIds.push(tag.id!);\n };\n\n assignTagOptimistic = (tagName: string, tagId: string = 'fake tag id') => {\n this.optimisticNewTag = {\n id: tagId,\n name: tagName,\n createdDate: new Date(),\n };\n };\n\n unassignTag = async ({ tag }: { tag: Tag }) => {\n const updatedAssignedTagIds = this.assignedTagIds.filter(\n (assignedTagId) => assignedTagId !== tag.id,\n );\n\n this.assignedTagIds = updatedAssignedTagIds;\n };\n\n private _calcTagsCount = (selectedKeyedItems: KeyedItem<T>[]) => {\n const tagsCount = this.tagsManagementState.items.reduce(\n (result: Record<string, number>, tag) => {\n result[tag.id!] = 0;\n return result;\n },\n {},\n );\n selectedKeyedItems.forEach((selectedKeyedItem) => {\n const entityTagIds =\n ((selectedKeyedItem.item as any).tags?.privateTags\n ?.tagIds as string[]) || [];\n [...new Set(entityTagIds)].forEach((entityTagId) => {\n if (entityTagId in tagsCount) {\n tagsCount[entityTagId]++;\n }\n });\n });\n return tagsCount;\n };\n\n private _getSelectedTagsIdsStatus = (\n tagsCount: Record<string, number>,\n selectedKeyedItems: KeyedItem<T>[],\n ) => {\n const selectedTagIds: string[] = [];\n const indeterminateTagIds: string[] = [];\n for (const [tagId, tagCount] of Object.entries(tagsCount)) {\n if (tagCount === selectedKeyedItems.length) {\n selectedTagIds.push(tagId);\n } else if (tagCount > 0) {\n indeterminateTagIds.push(tagId);\n }\n }\n return { selectedTagIds, indeterminateTagIds };\n };\n\n private _calItemUpdatedTagsIds = (item: T) => {\n const currentTagIds =\n ((item as any).tags?.privateTags?.tagIds as string[]) || [];\n\n const updatedTagIds = Array.from(\n new Set(\n [...currentTagIds, ...this.newAssignedTagIds].filter(\n (tagId) => !this.newUnassignedTagIds.includes(tagId),\n ),\n ),\n );\n return updatedTagIds;\n };\n\n private _calcOptimisticItems = () => {\n return this.collectionState.result.items.map((item: T) => {\n const selectedIds = this.collectionState.bulkSelect.selectedIds;\n const itemKey = this.collectionState.itemKey(item);\n if (!selectedIds.includes(itemKey)) {\n return item;\n }\n const updatedTagIds = this._calItemUpdatedTagsIds(item);\n return { ...item, tags: { privateTags: { tagIds: updatedTagIds } } };\n });\n };\n\n private _initSelectionState() {\n const { selectedKeyedItems } = this.collectionState.bulkSelect;\n const tagsCount = this._calcTagsCount(selectedKeyedItems);\n return this._getSelectedTagsIdsStatus(tagsCount, selectedKeyedItems);\n }\n\n private _isInitialUnassignedTag = (tag: Tag) =>\n !this.initialIndeterminateTagIds.includes(tag.id!) &&\n !this.initialSelectedIds.includes(tag.id!);\n\n private _reportPopoverShowChangedBi(isOpened: boolean) {\n this.tagsBIReporter.reportBi(\n cairoFiltersPanelUsed({\n isOpened,\n feature: 'Tags',\n origin: 'Assign Tags',\n }),\n );\n }\n\n private _reportSearchChangedBi(searchValue: string) {\n if (searchValue !== '') {\n this.tagsBIReporter.onSearch(searchValue);\n } else {\n this.tagsBIReporter._clearAllEvents();\n }\n }\n\n private _reportSearchEventsBi(event: 'add' | 'select' | 'blur') {\n return this.tagsBIReporter.events.emit(event);\n }\n\n private _reportApplyBi() {\n let actionName = 'Both';\n if (this.newAssignedTagIds.length === 0) {\n actionName = 'Remove';\n } else if (this.newUnassignedTagIds.length === 0) {\n actionName = 'Assign';\n }\n\n const { selectedIds: selectedItemsIds } = this.collectionState.bulkSelect;\n\n this.tagsBIReporter.reportBi(\n cairoAssignTagsToEntities({\n actionName,\n isFromSearch: this.searchValue !== '',\n itemIds: JSON.stringify(selectedItemsIds),\n numItems: selectedItemsIds.length,\n assignedTags: JSON.stringify(this.newAssignedTagIds),\n unAssignedTags: JSON.stringify(this.newUnassignedTagIds),\n origin: 'Assign Tags Modal',\n }),\n );\n }\n\n private _reportUndoBi = () => {\n this.tagsBIReporter.reportBi(\n cairoUndoClicked({\n actionName: 'Save',\n changedAttributes: 'Tags Assignment',\n }),\n );\n };\n}\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["_mobx","require","_bexCore","_bi","_uuid","origin","TagsBulkAssignPopoverState","constructor","tagsManagementState","collectionState","tagsModalState","bulkUpdateTags","_defineProperty2","default","tag","optimisticNewTag","assignedTagIds","includes","id","push","tagName","tagId","name","createdDate","Date","updatedAssignedTagIds","filter","assignedTagId","selectedKeyedItems","tagsCount","items","reduce","result","forEach","selectedKeyedItem","_tags","entityTagIds","item","tags","privateTags","tagIds","Set","entityTagId","selectedTagIds","indeterminateTagIds","tagCount","Object","entries","length","_tags2","currentTagIds","updatedTagIds","Array","from","newAssignedTagIds","newUnassignedTagIds","map","selectedIds","bulkSelect","itemKey","_calItemUpdatedTagsIds","initialIndeterminateTagIds","initialSelectedIds","tagsBIReporter","reportBi","cairoUndoClicked","actionName","changedAttributes","optimisticActions","_optimisticActions","CollectionOptimisticActions","container","collection","TagsBIReporter","createBILogger","componentType","fqdn","location","makeObservable","init","action","isShown","observable","searchValue","showPopover","closePopover","applyChanges","handleManageTagsCtaClick","handleItemSelect","handleSearchChange","createAndAssignTag","retry","ref","assignedTags","computed","disposers","disposer","_reportPopoverShowChangedBi","_initSelectionState","_reportSearchEventsBi","slice","TAG_MAX_LENGTH","uuid","assignTagOptimistic","createTag","filteredListSize","isFromSearch","onSuccess","newTag","assignTag","optimisticActionParams","successToast","biName","message","translate","errorToast","error","config","getCreateTagErrorConfig","_reportApplyBi","_calcOptimisticItems","entityIds","updateMany","keepPosition","submit","assignTags","unassignTags","showUndoToast","onUndo","_reportUndoBi","openManageTagsModal","itemId","currentTag","find","indeterminateTagId","assignedWithOptimisticTagIds","unassignTag","_reportSearchChangedBi","isInEmptyState","isSuccessful","tagOptions","sort","tag1","tag2","isTag1InitialUnassigned","_isInitialUnassignedTag","isTag2InitialUnassigned","valueOf","savedAssignedTags","element","Boolean","isError","isLoading","isDirty","_calcTagsCount","_getSelectedTagsIdsStatus","isOpened","cairoFiltersPanelUsed","feature","onSearch","_clearAllEvents","event","events","emit","selectedItemsIds","cairoAssignTagsToEntities","itemIds","JSON","stringify","numItems","unAssignedTags","exports"],"sources":["../../../src/state/TagsBulkAssignPopoverState.ts"],"sourcesContent":["import { action, makeObservable, computed, observable } from 'mobx';\nimport { TagsModalState } from './TagsModalState';\nimport { Tag } from '@wix/bex-utils/@wix/ambassador-os-tags-v1-tag/types';\nimport {\n CollectionOptimisticActions,\n CollectionState,\n FiltersMap,\n KeyedItem,\n TAG_MAX_LENGTH,\n Tags,\n TagsBIReporter,\n TagsManagementState,\n getCreateTagErrorConfig,\n} from '@wix/bex-core';\nimport {\n cairoAssignTagsToEntities,\n cairoFiltersPanelUsed,\n cairoUndoClicked,\n} from '@wix/bex-core/bi';\nimport { v4 as uuid } from 'uuid';\n\nconst origin = 'bulk_assign_popover';\n\nexport interface BulkUpdateTagsParams {\n entityIds: string[];\n assignTags: Tags;\n unassignTags: Tags;\n}\n\nexport interface TagsBulkAssignPopoverStateParams<T, F extends FiltersMap> {\n readonly tagsManagementState: TagsManagementState;\n readonly tagsModalState: TagsModalState;\n readonly collectionState: CollectionState<T, F>;\n bulkUpdateTags: (params: BulkUpdateTagsParams) => Promise<unknown>;\n}\n\nexport class TagsBulkAssignPopoverState<T, F extends FiltersMap> {\n readonly tagsManagementState: TagsManagementState;\n readonly collectionState;\n readonly optimisticActions: CollectionOptimisticActions<T, F>;\n readonly tagsModalState;\n readonly bulkUpdateTags: (params: BulkUpdateTagsParams) => Promise<unknown>;\n readonly container;\n readonly tagsBIReporter: TagsBIReporter;\n initialSelectedIds: string[] = [];\n initialIndeterminateTagIds: string[] = [];\n indeterminateTagIds: string[] = [];\n assignedTagIds: string[] = [];\n optimisticNewTag: Tag | null = null;\n isShown = false;\n searchValue: string = '';\n\n constructor({\n tagsManagementState,\n collectionState,\n tagsModalState,\n bulkUpdateTags,\n }: TagsBulkAssignPopoverStateParams<T, F>) {\n this.tagsManagementState = tagsManagementState;\n this.collectionState = collectionState;\n this.optimisticActions =\n collectionState._optimisticActions ??\n new CollectionOptimisticActions<T, F>({\n container: this.tagsManagementState.container,\n collection: this.collectionState,\n });\n this.tagsBIReporter = new TagsBIReporter({\n collection: this.tagsManagementState.collection,\n reportBi: this.tagsManagementState.container.createBILogger({\n componentType: 'TagsBulkAssignPopover',\n ...tagsManagementState.fqdn,\n }),\n location: 'Bulk assign tags popover',\n });\n this.tagsModalState = tagsModalState;\n this.bulkUpdateTags = bulkUpdateTags;\n this.container = tagsManagementState.container;\n\n makeObservable(this, {\n init: action,\n isShown: observable,\n initialSelectedIds: observable,\n initialIndeterminateTagIds: observable,\n indeterminateTagIds: observable,\n searchValue: observable,\n showPopover: action,\n closePopover: action,\n applyChanges: action,\n handleManageTagsCtaClick: action,\n handleItemSelect: action,\n handleSearchChange: action,\n createAndAssignTag: action,\n retry: action,\n assignedTagIds: observable,\n optimisticNewTag: observable.ref,\n assignedTags: computed,\n });\n }\n\n init() {\n const disposers = [this.optimisticActions.init()];\n\n return () => {\n disposers.forEach((disposer) => disposer());\n };\n }\n\n async showPopover() {\n if (this.isShown) {\n return;\n }\n\n this.isShown = true;\n this._reportPopoverShowChangedBi(true);\n const { selectedTagIds, indeterminateTagIds } = this._initSelectionState();\n this.initialSelectedIds = selectedTagIds;\n this.assignedTagIds = selectedTagIds;\n this.initialIndeterminateTagIds = indeterminateTagIds;\n this.indeterminateTagIds = indeterminateTagIds;\n }\n\n closePopover() {\n this._reportPopoverShowChangedBi(false);\n this._reportSearchEventsBi('blur');\n this.isShown = false;\n this.assignedTagIds = [];\n this.initialSelectedIds = [];\n this.initialIndeterminateTagIds = [];\n this.indeterminateTagIds = [];\n }\n\n async createAndAssignTag(name: string) {\n this._reportSearchEventsBi('add');\n const tagName = name.slice(0, TAG_MAX_LENGTH);\n const id = uuid();\n this.assignTagOptimistic(tagName, id);\n this.tagsManagementState.createTag({\n name,\n id,\n filteredListSize: 0,\n origin,\n isFromSearch: true,\n tagsBIReporter: this.tagsBIReporter,\n onSuccess: (newTag) => this.assignTag({ tag: newTag }),\n optimisticActionParams: {\n successToast: {\n biName: 'cairo-save-new-tag-success',\n message: this.container.translate(\n 'cairo.tags.popover.tagCreated.toast.success',\n ),\n },\n errorToast: (error) => {\n const config = getCreateTagErrorConfig({\n container: this.container,\n error,\n });\n return {\n biName: 'cairo-save-new-tag-error',\n ...config,\n };\n },\n },\n });\n }\n\n async applyChanges() {\n this._reportApplyBi();\n const items = this._calcOptimisticItems();\n const entityIds = this.collectionState.bulkSelect.selectedIds;\n const assignedTagIds = this.newAssignedTagIds;\n const newUnassignedTagIds = this.newUnassignedTagIds;\n this.optimisticActions.updateMany(items, {\n keepPosition: true,\n submit: async () => {\n return this.bulkUpdateTags({\n entityIds,\n assignTags: { privateTags: { tagIds: assignedTagIds } },\n unassignTags: { privateTags: { tagIds: newUnassignedTagIds } },\n });\n },\n successToast: {\n biName: 'cairo-update-bulk-assign-tags-success',\n message: this.container.translate(\n 'cairo.tags.applyChanges.toast.success',\n ),\n },\n showUndoToast: true,\n errorToast: () => ({\n biName: 'cairo-update-bulk-assign-tags-error',\n message: this.container.translate(\n 'cairo.tags.collectionPage.toast.update.error',\n ),\n }),\n onUndo: this._reportUndoBi,\n });\n\n this.closePopover();\n }\n\n handleManageTagsCtaClick() {\n this.closePopover();\n this.tagsModalState.openManageTagsModal({\n origin,\n });\n }\n\n handleItemSelect(itemId: string) {\n const currentTag = this.tagsManagementState.items.find(\n (tag) => tag.id === itemId,\n );\n if (!currentTag) {\n return;\n }\n\n this._reportSearchEventsBi('select');\n\n if (\n this.initialIndeterminateTagIds.includes(itemId) &&\n this.indeterminateTagIds.includes(itemId)\n ) {\n this.indeterminateTagIds = this.indeterminateTagIds.filter(\n (indeterminateTagId) => indeterminateTagId !== itemId,\n );\n }\n\n if (this.assignedWithOptimisticTagIds.includes(itemId)) {\n this.unassignTag({ tag: currentTag });\n } else {\n this.assignTag({ tag: currentTag });\n }\n }\n\n handleSearchChange(searchValue: string) {\n this._reportSearchChangedBi(searchValue);\n this.searchValue = searchValue;\n }\n\n retry() {\n this.tagsManagementState.retry();\n }\n\n get isInEmptyState() {\n return (\n this.tagsManagementState.isSuccessful &&\n this.tagsManagementState.items.length === 0\n );\n }\n\n get tagOptions() {\n return this.tagsManagementState.items.sort((tag1, tag2) => {\n const isTag1InitialUnassigned = this._isInitialUnassignedTag(tag1);\n const isTag2InitialUnassigned = this._isInitialUnassignedTag(tag2);\n\n // Showing first assigned/indeterminate tags, and unassigned tags below it\n if (!isTag1InitialUnassigned && isTag2InitialUnassigned) {\n return -1;\n }\n\n if (isTag1InitialUnassigned && !isTag2InitialUnassigned) {\n return 1;\n }\n\n // Sub order by showing first newer tags\n return (\n new Date(tag2.createdDate!).valueOf() -\n new Date(tag1.createdDate!).valueOf()\n );\n });\n }\n\n get assignedTags() {\n const savedAssignedTags = this.assignedTagIds\n .map((tagId) => {\n return this.tagsManagementState.items.find((tag) => tag.id === tagId);\n })\n .filter((element) => Boolean(element)) as Tag[];\n return this.optimisticNewTag\n ? [...savedAssignedTags, this.optimisticNewTag]\n : savedAssignedTags;\n }\n\n get assignedWithOptimisticTagIds() {\n return this.assignedTags.map((tag) => tag.id!);\n }\n\n get newAssignedTagIds() {\n return this.assignedTagIds.filter(\n (tagId) => !this.initialSelectedIds.includes(tagId),\n );\n }\n\n get newUnassignedTagIds() {\n return [\n ...this.initialSelectedIds.filter(\n (tagId) => !this.assignedTagIds.includes(tagId),\n ),\n ...this.initialIndeterminateTagIds.filter(\n (tagId) =>\n ![...this.assignedTagIds, ...this.indeterminateTagIds].includes(\n tagId,\n ),\n ),\n ];\n }\n\n get isError() {\n return this.tagsManagementState.isError;\n }\n\n get isLoading() {\n return this.tagsManagementState.isLoading;\n }\n\n get isDirty() {\n return (\n this.newAssignedTagIds.length > 0 || this.newUnassignedTagIds.length > 0\n );\n }\n\n assignTag = async ({ tag }: { tag: Tag }) => {\n this.optimisticNewTag = null;\n if (this.assignedTagIds.includes(tag.id!)) {\n return;\n }\n\n this.assignedTagIds.push(tag.id!);\n };\n\n assignTagOptimistic = (tagName: string, tagId: string = 'fake tag id') => {\n this.optimisticNewTag = {\n id: tagId,\n name: tagName,\n createdDate: new Date(),\n };\n };\n\n unassignTag = async ({ tag }: { tag: Tag }) => {\n const updatedAssignedTagIds = this.assignedTagIds.filter(\n (assignedTagId) => assignedTagId !== tag.id,\n );\n\n this.assignedTagIds = updatedAssignedTagIds;\n };\n\n private _calcTagsCount = (selectedKeyedItems: KeyedItem<T>[]) => {\n const tagsCount = this.tagsManagementState.items.reduce(\n (result: Record<string, number>, tag) => {\n result[tag.id!] = 0;\n return result;\n },\n {},\n );\n selectedKeyedItems.forEach((selectedKeyedItem) => {\n const entityTagIds =\n ((selectedKeyedItem.item as any).tags?.privateTags\n ?.tagIds as string[]) || [];\n [...new Set(entityTagIds)].forEach((entityTagId) => {\n if (entityTagId in tagsCount) {\n tagsCount[entityTagId]++;\n }\n });\n });\n return tagsCount;\n };\n\n private _getSelectedTagsIdsStatus = (\n tagsCount: Record<string, number>,\n selectedKeyedItems: KeyedItem<T>[],\n ) => {\n const selectedTagIds: string[] = [];\n const indeterminateTagIds: string[] = [];\n for (const [tagId, tagCount] of Object.entries(tagsCount)) {\n if (tagCount === selectedKeyedItems.length) {\n selectedTagIds.push(tagId);\n } else if (tagCount > 0) {\n indeterminateTagIds.push(tagId);\n }\n }\n return { selectedTagIds, indeterminateTagIds };\n };\n\n private _calItemUpdatedTagsIds = (item: T) => {\n const currentTagIds =\n ((item as any).tags?.privateTags?.tagIds as string[]) || [];\n\n const updatedTagIds = Array.from(\n new Set(\n [...currentTagIds, ...this.newAssignedTagIds].filter(\n (tagId) => !this.newUnassignedTagIds.includes(tagId),\n ),\n ),\n );\n return updatedTagIds;\n };\n\n private _calcOptimisticItems = () => {\n return this.collectionState.result.items.map((item: T) => {\n const selectedIds = this.collectionState.bulkSelect.selectedIds;\n const itemKey = this.collectionState.itemKey(item);\n if (!selectedIds.includes(itemKey)) {\n return item;\n }\n const updatedTagIds = this._calItemUpdatedTagsIds(item);\n return { ...item, tags: { privateTags: { tagIds: updatedTagIds } } };\n });\n };\n\n private _initSelectionState() {\n const { selectedKeyedItems } = this.collectionState.bulkSelect;\n const tagsCount = this._calcTagsCount(selectedKeyedItems);\n return this._getSelectedTagsIdsStatus(tagsCount, selectedKeyedItems);\n }\n\n private _isInitialUnassignedTag = (tag: Tag) =>\n !this.initialIndeterminateTagIds.includes(tag.id!) &&\n !this.initialSelectedIds.includes(tag.id!);\n\n private _reportPopoverShowChangedBi(isOpened: boolean) {\n this.tagsBIReporter.reportBi(\n cairoFiltersPanelUsed({\n isOpened,\n feature: 'Tags',\n origin: 'Assign Tags',\n }),\n );\n }\n\n private _reportSearchChangedBi(searchValue: string) {\n if (searchValue !== '') {\n this.tagsBIReporter.onSearch(searchValue);\n } else {\n this.tagsBIReporter._clearAllEvents();\n }\n }\n\n private _reportSearchEventsBi(event: 'add' | 'select' | 'blur') {\n return this.tagsBIReporter.events.emit(event);\n }\n\n private _reportApplyBi() {\n let actionName = 'Both';\n if (this.newAssignedTagIds.length === 0) {\n actionName = 'Remove';\n } else if (this.newUnassignedTagIds.length === 0) {\n actionName = 'Assign';\n }\n\n const { selectedIds: selectedItemsIds } = this.collectionState.bulkSelect;\n\n this.tagsBIReporter.reportBi(\n cairoAssignTagsToEntities({\n actionName,\n isFromSearch: this.searchValue !== '',\n itemIds: JSON.stringify(selectedItemsIds),\n numItems: selectedItemsIds.length,\n assignedTags: JSON.stringify(this.newAssignedTagIds),\n unAssignedTags: JSON.stringify(this.newUnassignedTagIds),\n origin: 'Assign Tags Modal',\n }),\n );\n }\n\n private _reportUndoBi = () => {\n this.tagsBIReporter.reportBi(\n cairoUndoClicked({\n actionName: 'Save',\n changedAttributes: 'Tags Assignment',\n }),\n );\n };\n}\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -274,10 +274,17 @@ class TagsModalState {
|
|
|
274
274
|
biName: 'cairo-save-new-tag-success',
|
|
275
275
|
message: this.container.translate('cairo.tags.manageTags.modal.toast.create.success')
|
|
276
276
|
},
|
|
277
|
-
errorToast:
|
|
278
|
-
|
|
279
|
-
|
|
280
|
-
|
|
277
|
+
errorToast: error => {
|
|
278
|
+
const config = (0, _bexCore.getCreateTagErrorConfig)({
|
|
279
|
+
container: this.container,
|
|
280
|
+
error,
|
|
281
|
+
visualType: 'notification'
|
|
282
|
+
});
|
|
283
|
+
return {
|
|
284
|
+
biName: 'cairo-save-new-tag-error',
|
|
285
|
+
...config
|
|
286
|
+
};
|
|
287
|
+
}
|
|
281
288
|
}
|
|
282
289
|
});
|
|
283
290
|
this.editedTagErrorMessage = null;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_mobx","require","_bexCore","_bi","_util","actionOrigin","TagsModalState","constructor","tagsManagementState","entityTypeName","_defineProperty2","default","ConditionalModalState","undefined","observable","array","deep","tagsSearchState","TagsSearchState","container","tagsBIReporter","TagsBIReporter","collection","reportBi","createBILogger","componentType","fqdn","location","makeObservable","editedTagId","editedTagErrorMessage","isShowingNewTagListItem","init","action","openManageTagsModal","closeManageTagsModal","handleSearchChange","handleSearchClear","handleCreateCtaClick","handleEditCtaClick","handleCancelEditCtaClick","openConfirmDeleteModal","createTagFromSearch","createTagFromList","updateTag","deleteTag","showNotification","hideNotification","disposers","addEventListener","events","toastConfig","forEach","d","origin","manageTagsModalState","modal","open","_reportBiModalOpened","overrideShowToast","setSearchValue","_reportSearchEventsBi","close","_reportModalClosedBi","props","confirmModalState","theme","primaryButtonText","translate","secondaryButtonText","title","newSearchValue","_reportSearchChangedBi","setTimeout","_scrollContentTo","tag","id","toastConfigs","push","remove","clear","searchValue","shownItems","length","newName","slice","TAG_MAX_LENGTH","_createTag","name","isFromSearch","onSuccess","status","statusMessage","_isValidName","isLastTag","previousName","tagToUpdate","filteredListSize","optimisticActionParams","keepPosition","successToast","biName","message","showUndoToast","errorToast","type","tagToDelete","primaryButtonOnClick","filteredItems","sort","tag1","tag2","Date","createdDate","valueOf","isOpen","createTag","tagName","_getValidationMessage","count","items","find","toLowerCase","_this$tagsManagementS","cairoTagsModalStartLoad","numTags","onModalClose","onSearch","_clearAllEvents","event","emit","direction","_this$ref","_this$ref2","ref","current","scrollTo","top","scrollHeight","behavior","exports"],"sources":["../../../src/state/TagsModalState.ts"],"sourcesContent":["import { RefObject } from 'react';\nimport { action, makeObservable, observable } from 'mobx';\nimport {\n ConditionalModalState,\n TAG_MAX_LENGTH,\n TagsBIReporter,\n TagsManagementState,\n TagsSearchState,\n ToastConfig,\n} from '@wix/bex-core';\nimport { InputStatus, MessageModalLayoutProps } from '@wix/design-system';\nimport { cairoTagsModalStartLoad } from '@wix/bex-core/bi';\nimport { Tag } from '@wix/bex-utils/@wix/ambassador-os-tags-v1-tag/types';\nimport { addEventListener } from '@wix/bex-core/util';\n\nexport interface TagsModalStateParams {\n readonly tagsManagementState: TagsManagementState;\n readonly entityTypeName: string;\n}\n\nconst actionOrigin = 'Manage Tags Modal';\n\nexport class TagsModalState {\n readonly tagsManagementState;\n readonly tagsSearchState;\n readonly manageTagsModalState = new ConditionalModalState();\n readonly confirmModalState = new ConditionalModalState<\n Partial<MessageModalLayoutProps>\n >();\n readonly container;\n readonly tagsBIReporter: TagsBIReporter;\n readonly entityTypeName: string;\n origin?: string = undefined;\n editedTagId: string | null = null;\n editedTagErrorMessage: string | null = null;\n isShowingNewTagListItem: boolean = false;\n tagToDelete?: Tag;\n toastConfigs = observable.array([] as ToastConfig[], {\n deep: false,\n });\n ref: RefObject<HTMLDivElement> | null = null;\n\n constructor({ tagsManagementState, entityTypeName }: TagsModalStateParams) {\n this.tagsManagementState = tagsManagementState;\n this.tagsSearchState = new TagsSearchState({\n tagsManagementState,\n });\n this.entityTypeName = entityTypeName;\n this.container = tagsManagementState.container;\n this.tagsBIReporter = new TagsBIReporter({\n collection: this.tagsManagementState.collection,\n reportBi: this.tagsManagementState.container.createBILogger({\n componentType: 'ManageTagsModal',\n ...tagsManagementState.fqdn,\n }),\n location: 'Manage tags modal',\n });\n\n makeObservable(this, {\n editedTagId: observable,\n editedTagErrorMessage: observable,\n isShowingNewTagListItem: observable,\n init: action,\n openManageTagsModal: action,\n closeManageTagsModal: action,\n handleSearchChange: action,\n handleSearchClear: action,\n handleCreateCtaClick: action,\n handleEditCtaClick: action,\n handleCancelEditCtaClick: action,\n openConfirmDeleteModal: action,\n createTagFromSearch: action,\n createTagFromList: action,\n updateTag: action,\n deleteTag: action,\n showNotification: action,\n hideNotification: action,\n });\n }\n\n init() {\n const disposers = [\n addEventListener(\n this.tagsManagementState.events,\n 'showToast',\n (toastConfig: ToastConfig) => {\n this.showNotification(toastConfig);\n },\n ),\n addEventListener(\n this.tagsManagementState.events,\n 'hideToast',\n (toastConfig: ToastConfig) => {\n this.hideNotification(toastConfig);\n },\n ),\n ];\n\n return () => {\n disposers.forEach((d) => d?.());\n };\n }\n\n openManageTagsModal({ origin }: { origin: string }) {\n this.origin = origin;\n this.manageTagsModalState.modal.open();\n this._reportBiModalOpened();\n this.tagsManagementState.overrideShowToast = true;\n }\n\n closeManageTagsModal() {\n this.editedTagId = null;\n this.editedTagErrorMessage = null;\n this.isShowingNewTagListItem = false;\n this.tagsSearchState.setSearchValue('');\n this._reportSearchEventsBi('blur');\n this.manageTagsModalState.modal.close();\n this._reportModalClosedBi();\n this.origin = undefined;\n this.tagsManagementState.overrideShowToast = false;\n this.hideNotification();\n }\n\n openConfirmDeleteModal(props?: Partial<MessageModalLayoutProps>) {\n this.confirmModalState.open({\n theme: 'destructive',\n primaryButtonText: this.container.translate(\n 'cairo.tags.manageTags.modal.deleteModal.delete.CTA',\n ),\n secondaryButtonText: this.container.translate(\n 'cairo.tags.manageTags.modal.deleteModal.cancel.CTA',\n ),\n title: this.container.translate(\n 'cairo.tags.manageTags.modal.deleteModal.title',\n ),\n ...props,\n });\n }\n\n handleSearchChange(newSearchValue: string) {\n this.editedTagId = null;\n this.isShowingNewTagListItem = false;\n this._reportSearchChangedBi(newSearchValue);\n this.tagsSearchState.setSearchValue(newSearchValue);\n }\n\n handleSearchClear() {\n this._reportSearchEventsBi('clear');\n this.tagsSearchState.setSearchValue('');\n }\n\n handleCreateCtaClick() {\n this.tagsSearchState.setSearchValue('');\n this.editedTagId = null;\n this.isShowingNewTagListItem = true;\n setTimeout(() => this._scrollContentTo('bottom'), 100);\n }\n\n handleEditCtaClick(tag: Tag) {\n this._reportSearchEventsBi('select');\n this.editedTagId = tag.id!;\n }\n\n handleCancelEditCtaClick() {\n this.editedTagId = null;\n this.isShowingNewTagListItem = false;\n }\n\n showNotification(toastConfig: ToastConfig) {\n this.toastConfigs.push(toastConfig);\n setTimeout(() => {\n this.hideNotification(toastConfig);\n }, 6000);\n }\n\n hideNotification(toastConfig?: ToastConfig) {\n if (toastConfig) {\n this.toastConfigs.remove(toastConfig);\n } else {\n this.toastConfigs.clear();\n }\n }\n\n async createTagFromSearch() {\n if (!this.searchValue || this.shownItems.length) {\n return;\n }\n\n const newName = this.searchValue.slice(0, TAG_MAX_LENGTH);\n this._reportSearchEventsBi('add');\n this._createTag({\n name: newName,\n isFromSearch: true,\n onSuccess: () => this._scrollContentTo('bottom'),\n });\n this.tagsSearchState.setSearchValue('');\n }\n\n async createTagFromList(newName: string) {\n const { status, statusMessage } = this._isValidName(newName);\n if (status === 'error') {\n this.editedTagErrorMessage = statusMessage;\n setTimeout(() => this._scrollContentTo('bottom'), 100);\n return;\n }\n\n this._createTag({\n name: newName,\n });\n this.isShowingNewTagListItem = false;\n }\n\n async updateTag({\n tag,\n newName,\n isLastTag,\n }: {\n tag: Tag;\n newName: string;\n isLastTag: boolean;\n }) {\n if (newName === tag.name) {\n this.editedTagId = null;\n return;\n }\n\n const { status, statusMessage } = this._isValidName(newName);\n if (status === 'error') {\n this.editedTagErrorMessage = statusMessage;\n if (isLastTag) {\n setTimeout(() => this._scrollContentTo('bottom'), 100);\n }\n return;\n }\n\n this.editedTagId = null;\n const previousName = tag.name!;\n const isFromSearch = this.tagsSearchState.searchValue !== '';\n\n this.tagsManagementState.updateTag({\n tagToUpdate: { ...tag, name: newName },\n previousName,\n isFromSearch,\n filteredListSize: this.shownItems.length,\n origin: actionOrigin,\n tagsBIReporter: this.tagsBIReporter,\n optimisticActionParams: {\n keepPosition: true,\n successToast: {\n biName: 'cairo-save-rename-tag-success',\n message: this.container.translate(\n 'cairo.tags.manageTags.modal.toast.rename.success',\n ),\n },\n showUndoToast: true,\n errorToast: () => ({\n biName: 'cairo-save-rename-tag-error',\n message: this.container.translate(\n 'cairo.tags.manageTags.modal.toast.rename.error',\n ),\n type: 'ERROR',\n }),\n },\n });\n }\n\n async deleteTag(tagToDelete: Tag) {\n this._reportSearchEventsBi('select');\n this.tagToDelete = tagToDelete;\n const isFromSearch = this.tagsSearchState.searchValue !== '';\n this.openConfirmDeleteModal({\n primaryButtonOnClick: async () => {\n this.tagsManagementState.deleteTag({\n tagToDelete,\n isFromSearch,\n filteredListSize: this.shownItems.length,\n origin: actionOrigin,\n tagsBIReporter: this.tagsBIReporter,\n optimisticActionParams: {\n successToast: {\n biName: 'cairo-delete-tag-success',\n message: this.container.translate(\n 'cairo.tags.manageTags.modal.toast.delete.success',\n ),\n },\n showUndoToast: true,\n errorToast: () => ({\n biName: 'cairo-delete-tag-error',\n message: this.container.translate(\n 'cairo.tags.manageTags.modal.toast.delete.error',\n ),\n type: 'ERROR',\n }),\n },\n });\n },\n });\n }\n\n get searchValue() {\n return this.tagsSearchState.searchValue;\n }\n\n get shownItems() {\n return this.tagsSearchState.filteredItems.sort(\n (tag1, tag2) =>\n new Date(tag1.createdDate!).valueOf() -\n new Date(tag2.createdDate!).valueOf(),\n );\n }\n\n get isOpen() {\n return this.manageTagsModalState.isOpen;\n }\n\n get toastConfig() {\n return this.toastConfigs[this.toastConfigs.length - 1] ?? null;\n }\n\n private async _createTag({\n name,\n isFromSearch = false,\n onSuccess,\n }: {\n name: string;\n isFromSearch?: boolean;\n onSuccess?: (tag: Tag) => void;\n }) {\n this.tagsManagementState.createTag({\n name,\n isFromSearch,\n filteredListSize: this.shownItems.length,\n onSuccess,\n origin: actionOrigin,\n tagsBIReporter: this.tagsBIReporter,\n optimisticActionParams: {\n successToast: {\n biName: 'cairo-save-new-tag-success',\n message: this.container.translate(\n 'cairo.tags.manageTags.modal.toast.create.success',\n ),\n },\n errorToast: () => ({\n biName: 'cairo-save-new-tag-error',\n message: this.container.translate(\n 'cairo.tags.manageTags.modal.toast.create.error',\n ),\n }),\n },\n });\n this.editedTagErrorMessage = null;\n }\n\n private _isValidName(tagName: string) {\n if (tagName.length === 0) {\n return this._getValidationMessage(\n this.container.translate(\n 'cairo.tags.manageTags.modal.list.input.validation.emptyName',\n ),\n );\n }\n if (tagName.length > TAG_MAX_LENGTH) {\n return this._getValidationMessage(\n this.container.translate(\n 'cairo.tags.manageTags.modal.list.input.validation.maxLength',\n { count: TAG_MAX_LENGTH },\n ),\n );\n }\n\n if (\n this.tagsManagementState.items.find(\n ({ name }) => name!.toLowerCase() === tagName.toLowerCase(),\n )\n ) {\n return this._getValidationMessage(\n this.container.translate(\n 'cairo.tags.manageTags.modal.list.input.validation.exists',\n ),\n );\n }\n\n return { status: '' as InputStatus, statusMessage: '' };\n }\n\n private _reportBiModalOpened() {\n this.tagsBIReporter.reportBi(\n cairoTagsModalStartLoad({\n numTags: this.tagsManagementState.items?.length,\n origin: this.origin,\n }),\n );\n }\n\n private _reportModalClosedBi() {\n this.tagsBIReporter.onModalClose({ origin: this.origin });\n }\n\n private _reportSearchChangedBi(searchValue: string) {\n if (searchValue !== '') {\n this.tagsBIReporter.onSearch(searchValue);\n } else {\n this.tagsBIReporter._clearAllEvents();\n }\n }\n\n private _reportSearchEventsBi(event: 'add' | 'select' | 'clear' | 'blur') {\n return this.tagsBIReporter.events.emit(event);\n }\n\n private _scrollContentTo(direction: 'top' | 'bottom' = 'top') {\n this.ref?.current?.scrollTo({\n top: direction === 'top' ? 0 : this.ref?.current?.scrollHeight,\n behavior: 'smooth',\n });\n }\n\n private _getValidationMessage(statusMessage: string) {\n return {\n status: 'error' as InputStatus,\n statusMessage,\n };\n }\n}\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["_mobx","require","_bexCore","_bi","_util","actionOrigin","TagsModalState","constructor","tagsManagementState","entityTypeName","_defineProperty2","default","ConditionalModalState","undefined","observable","array","deep","tagsSearchState","TagsSearchState","container","tagsBIReporter","TagsBIReporter","collection","reportBi","createBILogger","componentType","fqdn","location","makeObservable","editedTagId","editedTagErrorMessage","isShowingNewTagListItem","init","action","openManageTagsModal","closeManageTagsModal","handleSearchChange","handleSearchClear","handleCreateCtaClick","handleEditCtaClick","handleCancelEditCtaClick","openConfirmDeleteModal","createTagFromSearch","createTagFromList","updateTag","deleteTag","showNotification","hideNotification","disposers","addEventListener","events","toastConfig","forEach","d","origin","manageTagsModalState","modal","open","_reportBiModalOpened","overrideShowToast","setSearchValue","_reportSearchEventsBi","close","_reportModalClosedBi","props","confirmModalState","theme","primaryButtonText","translate","secondaryButtonText","title","newSearchValue","_reportSearchChangedBi","setTimeout","_scrollContentTo","tag","id","toastConfigs","push","remove","clear","searchValue","shownItems","length","newName","slice","TAG_MAX_LENGTH","_createTag","name","isFromSearch","onSuccess","status","statusMessage","_isValidName","isLastTag","previousName","tagToUpdate","filteredListSize","optimisticActionParams","keepPosition","successToast","biName","message","showUndoToast","errorToast","type","tagToDelete","primaryButtonOnClick","filteredItems","sort","tag1","tag2","Date","createdDate","valueOf","isOpen","createTag","error","config","getCreateTagErrorConfig","visualType","tagName","_getValidationMessage","count","items","find","toLowerCase","_this$tagsManagementS","cairoTagsModalStartLoad","numTags","onModalClose","onSearch","_clearAllEvents","event","emit","direction","_this$ref","_this$ref2","ref","current","scrollTo","top","scrollHeight","behavior","exports"],"sources":["../../../src/state/TagsModalState.ts"],"sourcesContent":["import { RefObject } from 'react';\nimport { action, makeObservable, observable } from 'mobx';\nimport {\n ConditionalModalState,\n TAG_MAX_LENGTH,\n TagsBIReporter,\n TagsManagementState,\n TagsSearchState,\n ToastConfig,\n getCreateTagErrorConfig,\n} from '@wix/bex-core';\nimport { InputStatus, MessageModalLayoutProps } from '@wix/design-system';\nimport { cairoTagsModalStartLoad } from '@wix/bex-core/bi';\nimport { Tag } from '@wix/bex-utils/@wix/ambassador-os-tags-v1-tag/types';\nimport { addEventListener } from '@wix/bex-core/util';\n\nexport interface TagsModalStateParams {\n readonly tagsManagementState: TagsManagementState;\n readonly entityTypeName: string;\n}\n\nconst actionOrigin = 'Manage Tags Modal';\n\nexport class TagsModalState {\n readonly tagsManagementState;\n readonly tagsSearchState;\n readonly manageTagsModalState = new ConditionalModalState();\n readonly confirmModalState = new ConditionalModalState<\n Partial<MessageModalLayoutProps>\n >();\n readonly container;\n readonly tagsBIReporter: TagsBIReporter;\n readonly entityTypeName: string;\n origin?: string = undefined;\n editedTagId: string | null = null;\n editedTagErrorMessage: string | null = null;\n isShowingNewTagListItem: boolean = false;\n tagToDelete?: Tag;\n toastConfigs = observable.array([] as ToastConfig[], {\n deep: false,\n });\n ref: RefObject<HTMLDivElement> | null = null;\n\n constructor({ tagsManagementState, entityTypeName }: TagsModalStateParams) {\n this.tagsManagementState = tagsManagementState;\n this.tagsSearchState = new TagsSearchState({\n tagsManagementState,\n });\n this.entityTypeName = entityTypeName;\n this.container = tagsManagementState.container;\n this.tagsBIReporter = new TagsBIReporter({\n collection: this.tagsManagementState.collection,\n reportBi: this.tagsManagementState.container.createBILogger({\n componentType: 'ManageTagsModal',\n ...tagsManagementState.fqdn,\n }),\n location: 'Manage tags modal',\n });\n\n makeObservable(this, {\n editedTagId: observable,\n editedTagErrorMessage: observable,\n isShowingNewTagListItem: observable,\n init: action,\n openManageTagsModal: action,\n closeManageTagsModal: action,\n handleSearchChange: action,\n handleSearchClear: action,\n handleCreateCtaClick: action,\n handleEditCtaClick: action,\n handleCancelEditCtaClick: action,\n openConfirmDeleteModal: action,\n createTagFromSearch: action,\n createTagFromList: action,\n updateTag: action,\n deleteTag: action,\n showNotification: action,\n hideNotification: action,\n });\n }\n\n init() {\n const disposers = [\n addEventListener(\n this.tagsManagementState.events,\n 'showToast',\n (toastConfig: ToastConfig) => {\n this.showNotification(toastConfig);\n },\n ),\n addEventListener(\n this.tagsManagementState.events,\n 'hideToast',\n (toastConfig: ToastConfig) => {\n this.hideNotification(toastConfig);\n },\n ),\n ];\n\n return () => {\n disposers.forEach((d) => d?.());\n };\n }\n\n openManageTagsModal({ origin }: { origin: string }) {\n this.origin = origin;\n this.manageTagsModalState.modal.open();\n this._reportBiModalOpened();\n this.tagsManagementState.overrideShowToast = true;\n }\n\n closeManageTagsModal() {\n this.editedTagId = null;\n this.editedTagErrorMessage = null;\n this.isShowingNewTagListItem = false;\n this.tagsSearchState.setSearchValue('');\n this._reportSearchEventsBi('blur');\n this.manageTagsModalState.modal.close();\n this._reportModalClosedBi();\n this.origin = undefined;\n this.tagsManagementState.overrideShowToast = false;\n this.hideNotification();\n }\n\n openConfirmDeleteModal(props?: Partial<MessageModalLayoutProps>) {\n this.confirmModalState.open({\n theme: 'destructive',\n primaryButtonText: this.container.translate(\n 'cairo.tags.manageTags.modal.deleteModal.delete.CTA',\n ),\n secondaryButtonText: this.container.translate(\n 'cairo.tags.manageTags.modal.deleteModal.cancel.CTA',\n ),\n title: this.container.translate(\n 'cairo.tags.manageTags.modal.deleteModal.title',\n ),\n ...props,\n });\n }\n\n handleSearchChange(newSearchValue: string) {\n this.editedTagId = null;\n this.isShowingNewTagListItem = false;\n this._reportSearchChangedBi(newSearchValue);\n this.tagsSearchState.setSearchValue(newSearchValue);\n }\n\n handleSearchClear() {\n this._reportSearchEventsBi('clear');\n this.tagsSearchState.setSearchValue('');\n }\n\n handleCreateCtaClick() {\n this.tagsSearchState.setSearchValue('');\n this.editedTagId = null;\n this.isShowingNewTagListItem = true;\n setTimeout(() => this._scrollContentTo('bottom'), 100);\n }\n\n handleEditCtaClick(tag: Tag) {\n this._reportSearchEventsBi('select');\n this.editedTagId = tag.id!;\n }\n\n handleCancelEditCtaClick() {\n this.editedTagId = null;\n this.isShowingNewTagListItem = false;\n }\n\n showNotification(toastConfig: ToastConfig) {\n this.toastConfigs.push(toastConfig);\n setTimeout(() => {\n this.hideNotification(toastConfig);\n }, 6000);\n }\n\n hideNotification(toastConfig?: ToastConfig) {\n if (toastConfig) {\n this.toastConfigs.remove(toastConfig);\n } else {\n this.toastConfigs.clear();\n }\n }\n\n async createTagFromSearch() {\n if (!this.searchValue || this.shownItems.length) {\n return;\n }\n\n const newName = this.searchValue.slice(0, TAG_MAX_LENGTH);\n this._reportSearchEventsBi('add');\n this._createTag({\n name: newName,\n isFromSearch: true,\n onSuccess: () => this._scrollContentTo('bottom'),\n });\n this.tagsSearchState.setSearchValue('');\n }\n\n async createTagFromList(newName: string) {\n const { status, statusMessage } = this._isValidName(newName);\n if (status === 'error') {\n this.editedTagErrorMessage = statusMessage;\n setTimeout(() => this._scrollContentTo('bottom'), 100);\n return;\n }\n\n this._createTag({\n name: newName,\n });\n this.isShowingNewTagListItem = false;\n }\n\n async updateTag({\n tag,\n newName,\n isLastTag,\n }: {\n tag: Tag;\n newName: string;\n isLastTag: boolean;\n }) {\n if (newName === tag.name) {\n this.editedTagId = null;\n return;\n }\n\n const { status, statusMessage } = this._isValidName(newName);\n if (status === 'error') {\n this.editedTagErrorMessage = statusMessage;\n if (isLastTag) {\n setTimeout(() => this._scrollContentTo('bottom'), 100);\n }\n return;\n }\n\n this.editedTagId = null;\n const previousName = tag.name!;\n const isFromSearch = this.tagsSearchState.searchValue !== '';\n\n this.tagsManagementState.updateTag({\n tagToUpdate: { ...tag, name: newName },\n previousName,\n isFromSearch,\n filteredListSize: this.shownItems.length,\n origin: actionOrigin,\n tagsBIReporter: this.tagsBIReporter,\n optimisticActionParams: {\n keepPosition: true,\n successToast: {\n biName: 'cairo-save-rename-tag-success',\n message: this.container.translate(\n 'cairo.tags.manageTags.modal.toast.rename.success',\n ),\n },\n showUndoToast: true,\n errorToast: () => ({\n biName: 'cairo-save-rename-tag-error',\n message: this.container.translate(\n 'cairo.tags.manageTags.modal.toast.rename.error',\n ),\n type: 'ERROR',\n }),\n },\n });\n }\n\n async deleteTag(tagToDelete: Tag) {\n this._reportSearchEventsBi('select');\n this.tagToDelete = tagToDelete;\n const isFromSearch = this.tagsSearchState.searchValue !== '';\n this.openConfirmDeleteModal({\n primaryButtonOnClick: async () => {\n this.tagsManagementState.deleteTag({\n tagToDelete,\n isFromSearch,\n filteredListSize: this.shownItems.length,\n origin: actionOrigin,\n tagsBIReporter: this.tagsBIReporter,\n optimisticActionParams: {\n successToast: {\n biName: 'cairo-delete-tag-success',\n message: this.container.translate(\n 'cairo.tags.manageTags.modal.toast.delete.success',\n ),\n },\n showUndoToast: true,\n errorToast: () => ({\n biName: 'cairo-delete-tag-error',\n message: this.container.translate(\n 'cairo.tags.manageTags.modal.toast.delete.error',\n ),\n type: 'ERROR',\n }),\n },\n });\n },\n });\n }\n\n get searchValue() {\n return this.tagsSearchState.searchValue;\n }\n\n get shownItems() {\n return this.tagsSearchState.filteredItems.sort(\n (tag1, tag2) =>\n new Date(tag1.createdDate!).valueOf() -\n new Date(tag2.createdDate!).valueOf(),\n );\n }\n\n get isOpen() {\n return this.manageTagsModalState.isOpen;\n }\n\n get toastConfig() {\n return this.toastConfigs[this.toastConfigs.length - 1] ?? null;\n }\n\n private async _createTag({\n name,\n isFromSearch = false,\n onSuccess,\n }: {\n name: string;\n isFromSearch?: boolean;\n onSuccess?: (tag: Tag) => void;\n }) {\n this.tagsManagementState.createTag({\n name,\n isFromSearch,\n filteredListSize: this.shownItems.length,\n onSuccess,\n origin: actionOrigin,\n tagsBIReporter: this.tagsBIReporter,\n optimisticActionParams: {\n successToast: {\n biName: 'cairo-save-new-tag-success',\n message: this.container.translate(\n 'cairo.tags.manageTags.modal.toast.create.success',\n ),\n },\n errorToast: (error) => {\n const config = getCreateTagErrorConfig({\n container: this.container,\n error,\n visualType: 'notification',\n });\n\n return {\n biName: 'cairo-save-new-tag-error',\n ...config,\n };\n },\n },\n });\n this.editedTagErrorMessage = null;\n }\n\n private _isValidName(tagName: string) {\n if (tagName.length === 0) {\n return this._getValidationMessage(\n this.container.translate(\n 'cairo.tags.manageTags.modal.list.input.validation.emptyName',\n ),\n );\n }\n if (tagName.length > TAG_MAX_LENGTH) {\n return this._getValidationMessage(\n this.container.translate(\n 'cairo.tags.manageTags.modal.list.input.validation.maxLength',\n { count: TAG_MAX_LENGTH },\n ),\n );\n }\n\n if (\n this.tagsManagementState.items.find(\n ({ name }) => name!.toLowerCase() === tagName.toLowerCase(),\n )\n ) {\n return this._getValidationMessage(\n this.container.translate(\n 'cairo.tags.manageTags.modal.list.input.validation.exists',\n ),\n );\n }\n\n return { status: '' as InputStatus, statusMessage: '' };\n }\n\n private _reportBiModalOpened() {\n this.tagsBIReporter.reportBi(\n cairoTagsModalStartLoad({\n numTags: this.tagsManagementState.items?.length,\n origin: this.origin,\n }),\n );\n }\n\n private _reportModalClosedBi() {\n this.tagsBIReporter.onModalClose({ origin: this.origin });\n }\n\n private _reportSearchChangedBi(searchValue: string) {\n if (searchValue !== '') {\n this.tagsBIReporter.onSearch(searchValue);\n } else {\n this.tagsBIReporter._clearAllEvents();\n }\n }\n\n private _reportSearchEventsBi(event: 'add' | 'select' | 'clear' | 'blur') {\n return this.tagsBIReporter.events.emit(event);\n }\n\n private _scrollContentTo(direction: 'top' | 'bottom' = 'top') {\n this.ref?.current?.scrollTo({\n top: direction === 'top' ? 0 : this.ref?.current?.scrollHeight,\n behavior: 'smooth',\n });\n }\n\n private _getValidationMessage(statusMessage: string) {\n return {\n status: 'error' as InputStatus,\n statusMessage,\n };\n }\n}\n"],"mappings":"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","ignoreList":[]}
|