@wix/patterns 1.138.0 → 1.140.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cjs/components/ActionModal/CustomActionModal.js +3 -3
- package/dist/cjs/components/ActionModal/CustomActionModal.js.map +1 -1
- 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/CollectionToolbar/CollectionToolbar.js +46 -68
- package/dist/cjs/components/CollectionToolbar/CollectionToolbar.js.map +1 -1
- package/dist/cjs/components/CollectionToolbar/CollectionToolbar.st.css +19 -3
- 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/CollectionToolbar.uni.driver.js +7 -2
- package/dist/cjs/components/CollectionToolbar/CollectionToolbar.uni.driver.js.map +1 -1
- package/dist/cjs/components/CollectionToolbar/CollectionToolbarActionsGroupProps.js +4 -0
- package/dist/cjs/components/CollectionToolbar/CollectionToolbarActionsGroupProps.js.map +1 -0
- package/dist/cjs/components/CollectionToolbar/CollectionToolbarActionsGroupResponsiveLayout.js +104 -0
- package/dist/cjs/components/CollectionToolbar/CollectionToolbarActionsGroupResponsiveLayout.js.map +1 -0
- package/dist/cjs/components/CollectionToolbar/CollectionToolbarActionsToolbarItemsGroup.js +84 -0
- package/dist/cjs/components/CollectionToolbar/CollectionToolbarActionsToolbarItemsGroup.js.map +1 -0
- package/dist/cjs/components/CollectionToolbar/SearchOrCustomFilter.js +42 -7
- package/dist/cjs/components/CollectionToolbar/SearchOrCustomFilter.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/CollectionToolbar/ToolbarGroupScrollWidthBox.js +40 -0
- package/dist/cjs/components/CollectionToolbar/ToolbarGroupScrollWidthBox.js.map +1 -0
- package/dist/cjs/components/CollectionToolbar/useCollectionToolbarSyncedProps.js +24 -0
- package/dist/cjs/components/CollectionToolbar/useCollectionToolbarSyncedProps.js.map +1 -0
- package/dist/cjs/components/CollectionToolbars/CollectionToolbars.js +1 -1
- package/dist/cjs/components/CollectionToolbars/CollectionToolbars.js.map +1 -1
- package/dist/cjs/components/CollectionToolbars/ToolbarAndTitlebarContainer.js +4 -6
- package/dist/cjs/components/CollectionToolbars/ToolbarAndTitlebarContainer.js.map +1 -1
- package/dist/cjs/components/CollectionToolbars/ToolbarState.js +11 -2
- package/dist/cjs/components/CollectionToolbars/ToolbarState.js.map +1 -1
- package/dist/cjs/components/CollectionViewsDropdown/AutoCompleteReadonly.st.css.js +2 -2
- package/dist/cjs/components/CollectionViewsDropdown/AutoCompleteReadonly.st.css.js.map +1 -1
- package/dist/cjs/components/CollectionViewsDropdown/ViewsDropdown.st.css.js +2 -2
- package/dist/cjs/components/CollectionViewsDropdown/ViewsDropdown.st.css.js.map +1 -1
- package/dist/cjs/components/CustomColumnsPanel/CustomColumnsCTAButton.js +20 -21
- package/dist/cjs/components/CustomColumnsPanel/CustomColumnsCTAButton.js.map +1 -1
- package/dist/cjs/components/CustomFieldModal/CustomFieldFormPiiFields.js +9 -8
- package/dist/cjs/components/CustomFieldModal/CustomFieldFormPiiFields.js.map +1 -1
- package/dist/cjs/components/CustomFieldModal/CustomFieldModal.uni.driver.js +5 -1
- package/dist/cjs/components/CustomFieldModal/CustomFieldModal.uni.driver.js.map +1 -1
- package/dist/cjs/components/CustomFieldsForm/CustomFieldsForm.js +18 -28
- package/dist/cjs/components/CustomFieldsForm/CustomFieldsForm.js.map +1 -1
- package/dist/cjs/components/CustomFieldsWidget/types.js.map +1 -1
- package/dist/cjs/components/DragHandle/DragHandle.st.css.js +2 -2
- package/dist/cjs/components/DragHandle/DragHandle.st.css.js.map +1 -1
- package/dist/cjs/components/ExportButton/ExportButton.js +23 -26
- package/dist/cjs/components/ExportButton/ExportButton.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/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/LoadingRow/LoadingRow.st.css.js +3 -3
- package/dist/cjs/components/LoadingRow/LoadingRow.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/MoreFiltersCTA/MoreFiltersCTA.js +12 -9
- package/dist/cjs/components/MoreFiltersCTA/MoreFiltersCTA.js.map +1 -1
- package/dist/cjs/components/MultiBulkActionToolbar/MultiBulkActionToolbar.st.css.js +2 -2
- package/dist/cjs/components/MultiBulkActionToolbar/MultiBulkActionToolbar.st.css.js.map +1 -1
- package/dist/cjs/components/MultiLevelSorting/MultiLevelSortingCTAButton.js +17 -22
- package/dist/cjs/components/MultiLevelSorting/MultiLevelSortingCTAButton.js.map +1 -1
- package/dist/cjs/components/MultiLevelSorting/MultiLevelSortingCTAButton.uni.driver.js +11 -0
- package/dist/cjs/components/MultiLevelSorting/MultiLevelSortingCTAButton.uni.driver.js.map +1 -0
- package/dist/cjs/components/NestedTable/NestedTablePlaceholderStatesRow.st.css.js +2 -2
- package/dist/cjs/components/NestedTable/NestedTablePlaceholderStatesRow.st.css.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/MultipleDragOverlayEffect.st.css.js +2 -2
- package/dist/cjs/components/NestedTableDragAndDrop/MultipleDragOverlayEffect.st.css.js.map +1 -1
- package/dist/cjs/components/NestedTableDragAndDrop/NestedTableDragAndDropRow.st.css.js +2 -2
- package/dist/cjs/components/NestedTableDragAndDrop/NestedTableDragAndDropRow.st.css.js.map +1 -1
- package/dist/cjs/components/PickerContent/PickerContent.st.css.js +2 -2
- package/dist/cjs/components/PickerContent/PickerContent.st.css.js.map +1 -1
- package/dist/cjs/components/PickerContent/PickerContentAdditionalStep.st.css.js +4 -4
- package/dist/cjs/components/PickerContent/PickerContentAdditionalStep.st.css.js.map +1 -1
- package/dist/cjs/components/PickerTableListItem/PickerTableListItem.st.css.js +2 -2
- package/dist/cjs/components/PickerTableListItem/PickerTableListItem.st.css.js.map +1 -1
- package/dist/cjs/components/Responsive/HorizontalAvailableSpaceBox.js +37 -0
- package/dist/cjs/components/Responsive/HorizontalAvailableSpaceBox.js.map +1 -0
- package/dist/cjs/components/Responsive/HorizontalOverflowBox.js +34 -0
- package/dist/cjs/components/Responsive/HorizontalOverflowBox.js.map +1 -0
- package/dist/cjs/components/ResponsiveButton/ResponsiveButton.js +76 -0
- package/dist/cjs/components/ResponsiveButton/ResponsiveButton.js.map +1 -0
- package/dist/cjs/components/ResponsiveButton/ResponsiveButton.uni.driver.js +15 -0
- package/dist/cjs/components/ResponsiveButton/ResponsiveButton.uni.driver.js.map +1 -0
- package/dist/cjs/components/ScrollableContent/ScrollableContent.st.css.js +2 -2
- package/dist/cjs/components/ScrollableContent/ScrollableContent.st.css.js.map +1 -1
- package/dist/cjs/components/SkeletonCard/SkeletonCard.st.css.js +3 -3
- package/dist/cjs/components/SkeletonCard/SkeletonCard.st.css.js.map +1 -1
- package/dist/cjs/components/SlidingModal/SlidingModal.st.css.js +2 -2
- package/dist/cjs/components/SlidingModal/SlidingModal.st.css.js.map +1 -1
- package/dist/cjs/components/TabsFilter/TabsFilter.st.css.js +3 -3
- package/dist/cjs/components/TabsFilter/TabsFilter.st.css.js.map +1 -1
- package/dist/cjs/components/Tags/BulkAssignTagsPopover/AsyncJobProgressModal.js +7 -4
- package/dist/cjs/components/Tags/BulkAssignTagsPopover/AsyncJobProgressModal.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/ToolbarItem/ToolbarItem.js +23 -0
- package/dist/cjs/components/ToolbarItem/ToolbarItem.js.map +1 -0
- package/dist/cjs/components/ToolbarItem/ToolbarItem.st.css +3 -0
- package/dist/cjs/components/ToolbarItem/ToolbarItem.st.css.js +22 -0
- package/dist/cjs/components/ToolbarItem/ToolbarItem.st.css.js.map +1 -0
- 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/useCustomFieldsWidget.js +2 -0
- package/dist/cjs/hooks/useCustomFieldsWidget.js.map +1 -1
- package/dist/cjs/state/CustomFields/CustomFieldsFormState.js +1 -31
- package/dist/cjs/state/CustomFields/CustomFieldsFormState.js.map +1 -1
- package/dist/cjs/state/CustomFields/CustomFieldsWidgetState.js +3 -1
- package/dist/cjs/state/CustomFields/CustomFieldsWidgetState.js.map +1 -1
- package/dist/cjs/state/Responsive/HorizontalOverflowState.js +64 -0
- package/dist/cjs/state/Responsive/HorizontalOverflowState.js.map +1 -0
- package/dist/cjs/state/Responsive/HorizontalSpaceAvailableState.js +67 -0
- package/dist/cjs/state/Responsive/HorizontalSpaceAvailableState.js.map +1 -0
- package/dist/cjs/state/TagsBulkAssignAsyncState.js +98 -35
- package/dist/cjs/state/TagsBulkAssignAsyncState.js.map +1 -1
- package/dist/cjs/state/TagsBulkAssignSyncState.js +1 -1
- package/dist/cjs/state/TagsBulkAssignSyncState.js.map +1 -1
- package/dist/cjs/state/Toolbar/ToolbarResponsivePriorityState.js +85 -0
- package/dist/cjs/state/Toolbar/ToolbarResponsivePriorityState.js.map +1 -0
- package/dist/cjs/state/Toolbar/ToolbarResponsiveState.js +103 -0
- package/dist/cjs/state/Toolbar/ToolbarResponsiveState.js.map +1 -0
- package/dist/cjs/state/ToolbarCollectionState.js +4 -0
- package/dist/cjs/state/ToolbarCollectionState.js.map +1 -1
- package/dist/cjs/styles.global.css +1 -1
- package/dist/cjs/test-utils/AsyncJobMocks.js +16 -1
- package/dist/cjs/test-utils/AsyncJobMocks.js.map +1 -1
- package/dist/cjs/test-utils/WixPatternsEssentialsTestProvider.js +12 -7
- package/dist/cjs/test-utils/WixPatternsEssentialsTestProvider.js.map +1 -1
- package/dist/cjs/version.js +1 -1
- package/dist/cjs/version.js.map +1 -1
- package/dist/esm/components/ActionModal/CustomActionModal.js +6 -4
- package/dist/esm/components/ActionModal/CustomActionModal.js.map +1 -1
- package/dist/esm/components/Collapse/Collapse.st.css.js +2 -2
- package/dist/esm/components/CollectionToolbar/CollectionToolbar.js +20 -18
- package/dist/esm/components/CollectionToolbar/CollectionToolbar.js.map +1 -1
- package/dist/esm/components/CollectionToolbar/CollectionToolbar.st.css +19 -3
- package/dist/esm/components/CollectionToolbar/CollectionToolbar.st.css.js +2 -2
- package/dist/esm/components/CollectionToolbar/CollectionToolbar.st.css.js.map +1 -1
- package/dist/esm/components/CollectionToolbar/CollectionToolbar.uni.driver.js +7 -2
- package/dist/esm/components/CollectionToolbar/CollectionToolbar.uni.driver.js.map +1 -1
- package/dist/esm/components/CollectionToolbar/CollectionToolbarActionsGroupProps.js +2 -0
- package/dist/esm/components/CollectionToolbar/CollectionToolbarActionsGroupProps.js.map +1 -0
- package/dist/esm/components/CollectionToolbar/CollectionToolbarActionsGroupResponsiveLayout.js +31 -0
- package/dist/esm/components/CollectionToolbar/CollectionToolbarActionsGroupResponsiveLayout.js.map +1 -0
- package/dist/esm/components/CollectionToolbar/CollectionToolbarActionsToolbarItemsGroup.js +20 -0
- package/dist/esm/components/CollectionToolbar/CollectionToolbarActionsToolbarItemsGroup.js.map +1 -0
- package/dist/esm/components/CollectionToolbar/SearchOrCustomFilter.js +14 -3
- package/dist/esm/components/CollectionToolbar/SearchOrCustomFilter.js.map +1 -1
- package/dist/esm/components/CollectionToolbar/SearchOrCustomFilter.st.css.js +2 -2
- package/dist/esm/components/CollectionToolbar/ToolbarGroupScrollWidthBox.js +17 -0
- package/dist/esm/components/CollectionToolbar/ToolbarGroupScrollWidthBox.js.map +1 -0
- package/dist/esm/components/CollectionToolbar/useCollectionToolbarSyncedProps.js +16 -0
- package/dist/esm/components/CollectionToolbar/useCollectionToolbarSyncedProps.js.map +1 -0
- package/dist/esm/components/CollectionToolbars/CollectionToolbars.js +1 -1
- package/dist/esm/components/CollectionToolbars/CollectionToolbars.js.map +1 -1
- package/dist/esm/components/CollectionToolbars/ToolbarAndTitlebarContainer.js +4 -6
- package/dist/esm/components/CollectionToolbars/ToolbarAndTitlebarContainer.js.map +1 -1
- package/dist/esm/components/CollectionToolbars/ToolbarState.js +7 -1
- package/dist/esm/components/CollectionToolbars/ToolbarState.js.map +1 -1
- package/dist/esm/components/CollectionViewsDropdown/AutoCompleteReadonly.st.css.js +2 -2
- package/dist/esm/components/CollectionViewsDropdown/ViewsDropdown.st.css.js +2 -2
- package/dist/esm/components/CustomColumnsPanel/CustomColumnsCTAButton.js +4 -5
- package/dist/esm/components/CustomColumnsPanel/CustomColumnsCTAButton.js.map +1 -1
- package/dist/esm/components/CustomFieldModal/CustomFieldFormPiiFields.js +1 -1
- package/dist/esm/components/CustomFieldModal/CustomFieldFormPiiFields.js.map +1 -1
- package/dist/esm/components/CustomFieldModal/CustomFieldModal.uni.driver.js +5 -1
- package/dist/esm/components/CustomFieldModal/CustomFieldModal.uni.driver.js.map +1 -1
- package/dist/esm/components/CustomFieldsForm/CustomFieldsForm.js +7 -10
- package/dist/esm/components/CustomFieldsForm/CustomFieldsForm.js.map +1 -1
- package/dist/esm/components/DragHandle/DragHandle.st.css.js +2 -2
- package/dist/esm/components/ExportButton/ExportButton.js +4 -4
- package/dist/esm/components/ExportButton/ExportButton.js.map +1 -1
- package/dist/esm/components/Fade/Fade.st.css.js +2 -2
- package/dist/esm/components/Fade/Fade.st.css.js.map +1 -1
- package/dist/esm/components/Heading/Heading.st.css.js +2 -2
- package/dist/esm/components/InputOverflow/InputOverflow.st.css.js +2 -2
- package/dist/esm/components/LoadingRow/LoadingRow.st.css.js +3 -3
- package/dist/esm/components/MaxHeightText/MaxHeightText.st.css.js +2 -2
- package/dist/esm/components/MaxLines/MaxLines.st.css.js +2 -2
- package/dist/esm/components/MaxLines/MaxLines.st.css.js.map +1 -1
- package/dist/esm/components/MoreFiltersCTA/MoreFiltersCTA.js +3 -3
- package/dist/esm/components/MoreFiltersCTA/MoreFiltersCTA.js.map +1 -1
- package/dist/esm/components/MultiBulkActionToolbar/MultiBulkActionToolbar.st.css.js +2 -2
- package/dist/esm/components/MultiBulkActionToolbar/MultiBulkActionToolbar.st.css.js.map +1 -1
- package/dist/esm/components/MultiLevelSorting/MultiLevelSortingCTAButton.js +13 -15
- package/dist/esm/components/MultiLevelSorting/MultiLevelSortingCTAButton.js.map +1 -1
- package/dist/esm/components/MultiLevelSorting/MultiLevelSortingCTAButton.uni.driver.js +7 -0
- package/dist/esm/components/MultiLevelSorting/MultiLevelSortingCTAButton.uni.driver.js.map +1 -0
- package/dist/esm/components/NestedTable/NestedTablePlaceholderStatesRow.st.css.js +2 -2
- package/dist/esm/components/NestedTable/NestedTableRow.st.css.js +2 -2
- package/dist/esm/components/NestedTableDragAndDrop/MultipleDragOverlayEffect.st.css.js +2 -2
- package/dist/esm/components/NestedTableDragAndDrop/NestedTableDragAndDropRow.st.css.js +2 -2
- package/dist/esm/components/PickerContent/PickerContent.st.css.js +2 -2
- package/dist/esm/components/PickerContent/PickerContent.st.css.js.map +1 -1
- package/dist/esm/components/PickerContent/PickerContentAdditionalStep.st.css.js +2 -2
- package/dist/esm/components/PickerTableListItem/PickerTableListItem.st.css.js +2 -2
- package/dist/esm/components/PickerTableListItem/PickerTableListItem.st.css.js.map +1 -1
- package/dist/esm/components/Responsive/HorizontalAvailableSpaceBox.js +11 -0
- package/dist/esm/components/Responsive/HorizontalAvailableSpaceBox.js.map +1 -0
- package/dist/esm/components/Responsive/HorizontalOverflowBox.js +10 -0
- package/dist/esm/components/Responsive/HorizontalOverflowBox.js.map +1 -0
- package/dist/esm/components/ResponsiveButton/ResponsiveButton.js +17 -0
- package/dist/esm/components/ResponsiveButton/ResponsiveButton.js.map +1 -0
- package/dist/esm/components/ResponsiveButton/ResponsiveButton.uni.driver.js +9 -0
- package/dist/esm/components/ResponsiveButton/ResponsiveButton.uni.driver.js.map +1 -0
- package/dist/esm/components/ScrollableContent/ScrollableContent.st.css.js +2 -2
- package/dist/esm/components/SkeletonCard/SkeletonCard.st.css.js +2 -2
- package/dist/esm/components/SlidingModal/SlidingModal.st.css.js +2 -2
- package/dist/esm/components/SlidingModal/SlidingModal.st.css.js.map +1 -1
- package/dist/esm/components/TabsFilter/TabsFilter.st.css.js +2 -2
- package/dist/esm/components/TabsFilter/TabsFilter.st.css.js.map +1 -1
- package/dist/esm/components/Tags/BulkAssignTagsPopover/AsyncJobProgressModal.js +2 -2
- package/dist/esm/components/Tags/BulkAssignTagsPopover/AsyncJobProgressModal.js.map +1 -1
- 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/ToolbarItem/ToolbarItem.js +7 -0
- package/dist/esm/components/ToolbarItem/ToolbarItem.js.map +1 -0
- package/dist/esm/components/ToolbarItem/ToolbarItem.st.css +3 -0
- package/dist/esm/components/ToolbarItem/ToolbarItem.st.css.js +15 -0
- package/dist/esm/components/ToolbarItem/ToolbarItem.st.css.js.map +1 -0
- 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/useCustomFieldsWidget.js +3 -2
- package/dist/esm/hooks/useCustomFieldsWidget.js.map +1 -1
- package/dist/esm/state/CustomFields/CustomFieldsFormState.js +1 -31
- package/dist/esm/state/CustomFields/CustomFieldsFormState.js.map +1 -1
- package/dist/esm/state/CustomFields/CustomFieldsWidgetState.js +2 -1
- package/dist/esm/state/CustomFields/CustomFieldsWidgetState.js.map +1 -1
- package/dist/esm/state/Responsive/HorizontalOverflowState.js +46 -0
- package/dist/esm/state/Responsive/HorizontalOverflowState.js.map +1 -0
- package/dist/esm/state/Responsive/HorizontalSpaceAvailableState.js +46 -0
- package/dist/esm/state/Responsive/HorizontalSpaceAvailableState.js.map +1 -0
- package/dist/esm/state/TagsBulkAssignAsyncState.js +74 -18
- package/dist/esm/state/TagsBulkAssignAsyncState.js.map +1 -1
- package/dist/esm/state/TagsBulkAssignSyncState.js +1 -1
- package/dist/esm/state/TagsBulkAssignSyncState.js.map +1 -1
- package/dist/esm/state/Toolbar/ToolbarResponsivePriorityState.js +59 -0
- package/dist/esm/state/Toolbar/ToolbarResponsivePriorityState.js.map +1 -0
- package/dist/esm/state/Toolbar/ToolbarResponsiveState.js +77 -0
- package/dist/esm/state/Toolbar/ToolbarResponsiveState.js.map +1 -0
- package/dist/esm/state/ToolbarCollectionState.js +2 -0
- package/dist/esm/state/ToolbarCollectionState.js.map +1 -1
- package/dist/esm/styles.global.css +1 -1
- package/dist/esm/test-utils/AsyncJobMocks.js +11 -0
- package/dist/esm/test-utils/AsyncJobMocks.js.map +1 -1
- package/dist/esm/test-utils/WixPatternsEssentialsTestProvider.js +14 -7
- package/dist/esm/test-utils/WixPatternsEssentialsTestProvider.js.map +1 -1
- package/dist/esm/version.js +1 -1
- package/dist/types/components/ActionModal/CustomActionModal.d.ts.map +1 -1
- package/dist/types/components/CollectionTable/CollectionTable.uni.driver.d.ts +52 -2
- package/dist/types/components/CollectionTable/CollectionTable.uni.driver.d.ts.map +1 -1
- package/dist/types/components/CollectionToolbar/CollectionToolbar.d.ts.map +1 -1
- package/dist/types/components/CollectionToolbar/CollectionToolbar.st.css.d.ts.map +1 -1
- package/dist/types/components/CollectionToolbar/CollectionToolbar.uni.driver.d.ts +37 -11
- package/dist/types/components/CollectionToolbar/CollectionToolbar.uni.driver.d.ts.map +1 -1
- package/dist/types/components/CollectionToolbar/CollectionToolbarActionsGroupProps.d.ts +14 -0
- package/dist/types/components/CollectionToolbar/CollectionToolbarActionsGroupProps.d.ts.map +1 -0
- package/dist/types/components/CollectionToolbar/CollectionToolbarActionsGroupResponsiveLayout.d.ts +4 -0
- package/dist/types/components/CollectionToolbar/CollectionToolbarActionsGroupResponsiveLayout.d.ts.map +1 -0
- package/dist/types/components/CollectionToolbar/CollectionToolbarActionsToolbarItemsGroup.d.ts +4 -0
- package/dist/types/components/CollectionToolbar/CollectionToolbarActionsToolbarItemsGroup.d.ts.map +1 -0
- package/dist/types/components/CollectionToolbar/SearchOrCustomFilter.d.ts +5 -1
- package/dist/types/components/CollectionToolbar/SearchOrCustomFilter.d.ts.map +1 -1
- package/dist/types/components/CollectionToolbar/ToolbarGroupScrollWidthBox.d.ts +12 -0
- package/dist/types/components/CollectionToolbar/ToolbarGroupScrollWidthBox.d.ts.map +1 -0
- package/dist/types/components/CollectionToolbar/useCollectionToolbarSyncedProps.d.ts +13 -0
- package/dist/types/components/CollectionToolbar/useCollectionToolbarSyncedProps.d.ts.map +1 -0
- package/dist/types/components/CollectionToolbars/ToolbarAndTitlebarContainer.d.ts +2 -2
- package/dist/types/components/CollectionToolbars/ToolbarAndTitlebarContainer.d.ts.map +1 -1
- package/dist/types/components/CollectionToolbars/ToolbarState.d.ts +2 -0
- package/dist/types/components/CollectionToolbars/ToolbarState.d.ts.map +1 -1
- package/dist/types/components/CustomColumnsPanel/CustomColumnsCTAButton.d.ts.map +1 -1
- package/dist/types/components/CustomFieldModal/CustomFieldFormPiiFields.d.ts.map +1 -1
- package/dist/types/components/CustomFieldModal/CustomFieldModal.uni.driver.d.ts +1 -0
- package/dist/types/components/CustomFieldModal/CustomFieldModal.uni.driver.d.ts.map +1 -1
- package/dist/types/components/CustomFieldsForm/CustomFieldsForm.d.ts.map +1 -1
- package/dist/types/components/CustomFieldsWidget/CustomFieldsWidget.uni.driver.d.ts +2 -0
- package/dist/types/components/CustomFieldsWidget/CustomFieldsWidget.uni.driver.d.ts.map +1 -1
- package/dist/types/components/CustomFieldsWidget/types.d.ts +2 -1
- package/dist/types/components/CustomFieldsWidget/types.d.ts.map +1 -1
- package/dist/types/components/ExportButton/ExportButton.d.ts.map +1 -1
- package/dist/types/components/Fade/Fade.st.css.d.ts.map +1 -1
- package/dist/types/components/Grid/Grid.uni.driver.d.ts +26 -1
- package/dist/types/components/Grid/Grid.uni.driver.d.ts.map +1 -1
- package/dist/types/components/Grid/GridFolders.uni.driver.d.ts +75 -0
- package/dist/types/components/Grid/GridFolders.uni.driver.d.ts.map +1 -1
- package/dist/types/components/Grid/GridFoldersSection.uni.driver.d.ts +25 -0
- package/dist/types/components/Grid/GridFoldersSection.uni.driver.d.ts.map +1 -1
- package/dist/types/components/MaxLines/MaxLines.st.css.d.ts.map +1 -1
- package/dist/types/components/MoreFiltersCTA/MoreFiltersCTA.d.ts.map +1 -1
- package/dist/types/components/MultiBulkActionToolbar/MultiBulkActionToolbar.st.css.d.ts.map +1 -1
- package/dist/types/components/MultiLevelSorting/MultiLevelSortingCTAButton.d.ts.map +1 -1
- package/dist/types/components/MultiLevelSorting/MultiLevelSortingCTAButton.uni.driver.d.ts +29 -0
- package/dist/types/components/MultiLevelSorting/MultiLevelSortingCTAButton.uni.driver.d.ts.map +1 -0
- package/dist/types/components/NestedTable/NestedTable.uni.driver.d.ts +76 -36
- package/dist/types/components/NestedTable/NestedTable.uni.driver.d.ts.map +1 -1
- package/dist/types/components/PickerContent/PickerContent.st.css.d.ts.map +1 -1
- package/dist/types/components/PickerTableListItem/PickerTableListItem.st.css.d.ts.map +1 -1
- package/dist/types/components/Responsive/HorizontalAvailableSpaceBox.d.ts +8 -0
- package/dist/types/components/Responsive/HorizontalAvailableSpaceBox.d.ts.map +1 -0
- package/dist/types/components/Responsive/HorizontalOverflowBox.d.ts +8 -0
- package/dist/types/components/Responsive/HorizontalOverflowBox.d.ts.map +1 -0
- package/dist/types/components/ResponsiveButton/ResponsiveButton.d.ts +15 -0
- package/dist/types/components/ResponsiveButton/ResponsiveButton.d.ts.map +1 -0
- package/dist/types/components/ResponsiveButton/ResponsiveButton.uni.driver.d.ts +29 -0
- package/dist/types/components/ResponsiveButton/ResponsiveButton.uni.driver.d.ts.map +1 -0
- package/dist/types/components/SlidingModal/SlidingModal.st.css.d.ts.map +1 -1
- package/dist/types/components/Table/Table.uni.driver.d.ts +51 -0
- package/dist/types/components/Table/Table.uni.driver.d.ts.map +1 -1
- package/dist/types/components/TableFolders/TableFolders.uni.driver.d.ts +76 -0
- package/dist/types/components/TableFolders/TableFolders.uni.driver.d.ts.map +1 -1
- package/dist/types/components/TableGridSwitch/TableGridSwitch.uni.driver.d.ts +76 -0
- package/dist/types/components/TableGridSwitch/TableGridSwitch.uni.driver.d.ts.map +1 -1
- package/dist/types/components/TableGridSwitchFolders/TableGridSwitchFolders.uni.driver.d.ts +151 -0
- package/dist/types/components/TableGridSwitchFolders/TableGridSwitchFolders.uni.driver.d.ts.map +1 -1
- package/dist/types/components/TabsFilter/TabsFilter.st.css.d.ts.map +1 -1
- package/dist/types/components/Tags/BulkAssignTagsPopover/AsyncJobProgressModal.d.ts.map +1 -1
- package/dist/types/components/Tags/ManageTags/ManageTagsModal/ManageTagsModal.st.css.d.ts.map +1 -1
- package/dist/types/components/ToolbarItem/ToolbarItem.d.ts +5 -0
- package/dist/types/components/ToolbarItem/ToolbarItem.d.ts.map +1 -0
- package/dist/types/components/ToolbarItem/ToolbarItem.st.css.d.ts +13 -0
- package/dist/types/components/ToolbarItem/ToolbarItem.st.css.d.ts.map +1 -0
- package/dist/types/components/common.st.css.d.ts.map +1 -1
- package/dist/types/hooks/useCustomFieldsWidget.d.ts +3 -2
- package/dist/types/hooks/useCustomFieldsWidget.d.ts.map +1 -1
- package/dist/types/state/CustomFields/CustomFieldsFormState.d.ts +0 -8
- package/dist/types/state/CustomFields/CustomFieldsFormState.d.ts.map +1 -1
- package/dist/types/state/CustomFields/CustomFieldsWidgetState.d.ts +3 -2
- package/dist/types/state/CustomFields/CustomFieldsWidgetState.d.ts.map +1 -1
- package/dist/types/state/Responsive/HorizontalOverflowState.d.ts +24 -0
- package/dist/types/state/Responsive/HorizontalOverflowState.d.ts.map +1 -0
- package/dist/types/state/Responsive/HorizontalSpaceAvailableState.d.ts +25 -0
- package/dist/types/state/Responsive/HorizontalSpaceAvailableState.d.ts.map +1 -0
- package/dist/types/state/TagsBulkAssignAsyncState.d.ts +5 -0
- package/dist/types/state/TagsBulkAssignAsyncState.d.ts.map +1 -1
- package/dist/types/state/Toolbar/ToolbarResponsivePriorityState.d.ts +23 -0
- package/dist/types/state/Toolbar/ToolbarResponsivePriorityState.d.ts.map +1 -0
- package/dist/types/state/Toolbar/ToolbarResponsiveState.d.ts +22 -0
- package/dist/types/state/Toolbar/ToolbarResponsiveState.d.ts.map +1 -0
- package/dist/types/state/ToolbarCollectionState.d.ts +5 -0
- package/dist/types/state/ToolbarCollectionState.d.ts.map +1 -1
- package/dist/types/test-utils/AsyncJobMocks.d.ts +4 -0
- package/dist/types/test-utils/AsyncJobMocks.d.ts.map +1 -1
- package/dist/types/test-utils/WixPatternsEssentialsTestProvider.d.ts.map +1 -1
- package/dist/types/testkit/enzyme.d.ts +531 -0
- package/dist/types/testkit/enzyme.d.ts.map +1 -1
- package/dist/types/testkit/jsdom.d.ts +532 -0
- package/dist/types/testkit/jsdom.d.ts.map +1 -1
- package/dist/types/testkit/puppeteer.d.ts +531 -0
- package/dist/types/testkit/puppeteer.d.ts.map +1 -1
- package/dist/types/version.d.ts +1 -1
- package/package.json +3 -3
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_bexCore","require","_SidePanelsState","_mobx","_bi","_getRequireWildcardCache","e","WeakMap","r","t","_interopRequireWildcard","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","CustomFieldsWidgetState","constructor","container","fqdn","filterable","containsPii","extendedFields","_defineProperty2","TaskState","current","undefined","_extendedFields","_size","panels","SidePanelsState","panelGroupName","fqdnToString","reportBi","createBILogger","componentType","dataExtension","DataExtensionState","closeSidePanel","apps","AppsState","makeObservable","hasWritePermissions","computed","widgetSize","setWidgetContentRef","action","isLoading","isError","observable","ref","_widgetContentRef","_adjustWidgetSize","bound","retry","_userFieldsNamespace","dataExtensionService","userFieldsNamespace","_appLoadingStart","startTime","performance","now","commonBiParams","_commonDynamicBiParams","loadStart","url","window","location","href","loadEnd","loadingTime","Math","round","init","appLoaded","initTask","disposers","runOnce","_dataExtension$initTa","_container$initTask$s","_apps$initTask$status","lazyComponents","Promise","all","resolve","then","catch","err","WixPatternsError","errorCode","originalException","status","promise","error","internalMonitor","reportError","cairoErrorInLoadingAComponent","errorType","name","_customFieldsLazyComponents","forEach","d","getNamespaceFormSchemaAndData","namespace","_extendedFields$names","schema","fields","getSchemaAndFieldsByNamespace","extendedFieldsDataMap","namespaces","initContent","addResizeObserver","bind","cairoTryAgainClicked","actionName","loaction","isDirty","_this$_formState","_formState","isIdle","ActionButtonsComponent","_this$_customFieldsLa","ActionButtons","CustomFieldsWidgetContent","_this$_customFieldsLa2","element","clientWidth","validate","_this$_formState2","data","isValid","values","exports"],"sources":["../../../../src/state/CustomFields/CustomFieldsWidgetState.ts"],"sourcesContent":["import {\n addResizeObserver,\n AppsState,\n DataExtensionState,\n ExtendedFields,\n Fqdn,\n fqdnToString,\n TaskState,\n WixPatternsContainer,\n WixPatternsError,\n} from '@wix/bex-core';\nimport { SidePanelsState } from '../SidePanelsState';\nimport { action, computed, makeObservable, observable } from 'mobx';\nimport type * as CustomFieldsWidgetLazyContent from '../../components/CustomFieldsWidget/CustomFieldsWidgetLazyContent';\nimport {\n cairoErrorInLoadingAComponent,\n cairoTryAgainClicked,\n loadEnd,\n loadStart,\n} from '@wix/bex-core/bi';\n\nimport { CustomFieldsAllNamespacesFormState } from './CustomFieldsAllNamespacesFormState';\n\nexport interface CustomFieldsWidgetStateParams {\n readonly container: WixPatternsContainer;\n readonly fqdn: Fqdn;\n readonly filterable?: boolean;\n readonly containsPii?: boolean;\n readonly extendedFields?: ExtendedFields;\n}\n\nexport type CustomFieldsWidgetSize = 'default' | 'small';\n\nexport class CustomFieldsWidgetState {\n readonly container;\n readonly dataExtension;\n readonly initTask = new TaskState();\n\n _extendedFields: ExtendedFields | null | undefined = null;\n _formState: CustomFieldsAllNamespacesFormState | null = null;\n\n _size: CustomFieldsWidgetSize;\n _widgetContentRef: { current: HTMLDivElement | null } = {\n current: null,\n };\n\n readonly panels;\n readonly reportBi;\n readonly fqdn;\n _customFieldsLazyComponents:\n | typeof CustomFieldsWidgetLazyContent\n | undefined = undefined;\n\n readonly apps;\n\n constructor({\n container,\n fqdn,\n filterable,\n containsPii,\n extendedFields,\n }: CustomFieldsWidgetStateParams) {\n this.container = container;\n\n this.fqdn = fqdn;\n this._extendedFields = extendedFields;\n this._size = 'default';\n this.panels = new SidePanelsState({\n panelGroupName: fqdnToString(fqdn),\n container,\n });\n\n this.reportBi = container.createBILogger({\n componentType: 'CustomFieldsWidget',\n ...fqdn,\n });\n\n this.dataExtension = new DataExtensionState({\n container,\n reportBi: this.reportBi,\n fqdn,\n closeSidePanel: this.panels.closeSidePanel,\n filterable,\n containsPii,\n });\n\n this.apps = new AppsState({\n container,\n dataExtension: this.dataExtension,\n });\n\n makeObservable(this, {\n hasWritePermissions: computed,\n widgetSize: computed,\n setWidgetContentRef: action,\n isLoading: computed,\n isError: computed,\n _size: observable.ref,\n _widgetContentRef: observable.ref,\n _extendedFields: observable.ref,\n _adjustWidgetSize: action.bound,\n retry: action.bound,\n });\n }\n\n get _userFieldsNamespace() {\n return this.dataExtension.dataExtensionService.userFieldsNamespace;\n }\n\n _appLoadingStart() {\n const startTime = performance.now();\n const commonBiParams = this._commonDynamicBiParams();\n\n this.reportBi(\n loadStart({\n ...commonBiParams,\n url: window.location.href,\n }),\n );\n\n return () => {\n this.reportBi(\n loadEnd({\n ...commonBiParams,\n url: window.location.href,\n loadingTime: Math.round(performance.now() - startTime),\n }),\n );\n };\n }\n\n init({ appLoaded }: { appLoaded?: () => void }) {\n const { initTask, dataExtension, container, apps } = this;\n\n const disposers = [dataExtension.init(), apps.init()];\n\n initTask.runOnce(async () => {\n dataExtension.initTask.runOnce();\n apps.initTask.runOnce();\n\n const [lazyComponents] = await Promise.all([\n import(\n /* webpackChunkName: \"CustomFieldsWidgetLazyContent\" */\n '../../components/CustomFieldsWidget/CustomFieldsWidgetLazyContent'\n ).catch((err) => {\n throw new WixPatternsError({\n errorCode: 'LoadCustomFieldsWidgetLazyContentFailed',\n originalException: err,\n });\n }),\n dataExtension.initTask.status.promise?.catch((err) => {\n throw new WixPatternsError({\n errorCode: 'InitCustomFieldsDataExtensionFailed',\n originalException: err,\n });\n }),\n container.initTask.status.promise?.catch((err) => {\n throw new WixPatternsError({\n errorCode: 'InitCustomFieldsWidgetContainerFailed',\n originalException: err,\n });\n }),\n apps.initTask.status.promise?.catch(() => null),\n ]).catch((error) => {\n this.container.internalMonitor.reportError({\n error,\n });\n\n this.reportBi(\n cairoErrorInLoadingAComponent({\n errorType:\n error instanceof WixPatternsError ? error.name : undefined,\n }),\n );\n\n throw error;\n });\n\n this._customFieldsLazyComponents = lazyComponents;\n\n appLoaded?.();\n });\n\n return () => {\n disposers.forEach((d) => d?.());\n };\n }\n\n getNamespaceFormSchemaAndData(namespace: string) {\n const { dataExtension, _extendedFields } = this;\n const { schema, fields } =\n dataExtension.getSchemaAndFieldsByNamespace(namespace);\n\n return {\n fields,\n schema,\n extendedFieldsDataMap: _extendedFields?.namespaces?.[namespace],\n };\n }\n\n initContent() {\n const disposers = [\n addResizeObserver(\n this._widgetContentRef.current,\n this._adjustWidgetSize.bind(this),\n ),\n ];\n\n this._adjustWidgetSize();\n\n return () => {\n disposers.forEach((d) => d?.());\n };\n }\n\n _commonDynamicBiParams() {\n return {\n url: window.location.href,\n };\n }\n\n retry() {\n this.reportBi(\n cairoTryAgainClicked({\n actionName: 'Load custom fields',\n loaction: 'Custom fields widget',\n }),\n );\n\n this.initTask.runOnce();\n }\n\n get isDirty() {\n return !!this._formState?.isDirty;\n }\n\n get widgetSize() {\n return this._size;\n }\n\n get isLoading() {\n const { status } = this.initTask;\n return status.isIdle || status.isLoading;\n }\n\n get ActionButtonsComponent() {\n return this._customFieldsLazyComponents?.ActionButtons;\n }\n\n get CustomFieldsWidgetContent() {\n return this._customFieldsLazyComponents?.CustomFieldsWidgetContent;\n }\n\n setWidgetContentRef(ref: HTMLDivElement | null) {\n this._widgetContentRef.current = ref;\n }\n\n _adjustWidgetSize() {\n if (this._widgetContentRef.current) {\n const element = this._widgetContentRef.current;\n\n if (element.clientWidth < 842) {\n this._size = 'small';\n } else {\n this._size = 'default';\n }\n }\n }\n\n get isError() {\n return this.initTask.status.isError;\n }\n\n async validate(): Promise<{\n isValid: boolean;\n extendedFields?: ExtendedFields;\n values?: ExtendedFields;\n }> {\n const data = this._formState?.validate();\n\n if (!data) {\n return {\n isValid: true,\n };\n }\n\n if (data?.isValid) {\n const extendedFields = data.extendedFields;\n return {\n isValid: true,\n extendedFields,\n values: extendedFields,\n };\n }\n\n return { isValid: false };\n }\n\n get hasWritePermissions() {\n return this.dataExtension.hasWritePermissions;\n }\n}\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["_bexCore","require","_SidePanelsState","_mobx","_bi","_getRequireWildcardCache","e","WeakMap","r","t","_interopRequireWildcard","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","CustomFieldsWidgetState","constructor","container","fqdn","filterable","containsPii","defaultPermissions","extendedFields","_defineProperty2","TaskState","current","undefined","_extendedFields","_size","panels","SidePanelsState","panelGroupName","fqdnToString","reportBi","createBILogger","componentType","dataExtension","DataExtensionState","closeSidePanel","apps","AppsState","makeObservable","hasWritePermissions","computed","widgetSize","setWidgetContentRef","action","isLoading","isError","observable","ref","_widgetContentRef","_adjustWidgetSize","bound","retry","_userFieldsNamespace","dataExtensionService","userFieldsNamespace","_appLoadingStart","startTime","performance","now","commonBiParams","_commonDynamicBiParams","loadStart","url","window","location","href","loadEnd","loadingTime","Math","round","init","appLoaded","initTask","disposers","runOnce","_dataExtension$initTa","_container$initTask$s","_apps$initTask$status","lazyComponents","Promise","all","resolve","then","catch","err","WixPatternsError","errorCode","originalException","status","promise","error","internalMonitor","reportError","cairoErrorInLoadingAComponent","errorType","name","_customFieldsLazyComponents","forEach","d","getNamespaceFormSchemaAndData","namespace","_extendedFields$names","schema","fields","getSchemaAndFieldsByNamespace","extendedFieldsDataMap","namespaces","initContent","addResizeObserver","bind","cairoTryAgainClicked","actionName","loaction","isDirty","_this$_formState","_formState","isIdle","ActionButtonsComponent","_this$_customFieldsLa","ActionButtons","CustomFieldsWidgetContent","_this$_customFieldsLa2","element","clientWidth","validate","_this$_formState2","data","isValid","values","exports"],"sources":["../../../../src/state/CustomFields/CustomFieldsWidgetState.ts"],"sourcesContent":["import {\n addResizeObserver,\n AppsState,\n DataExtensionState,\n DefaultPermissionsConfig,\n ExtendedFields,\n Fqdn,\n fqdnToString,\n TaskState,\n WixPatternsContainer,\n WixPatternsError,\n} from '@wix/bex-core';\nimport { SidePanelsState } from '../SidePanelsState';\nimport { action, computed, makeObservable, observable } from 'mobx';\nimport type * as CustomFieldsWidgetLazyContent from '../../components/CustomFieldsWidget/CustomFieldsWidgetLazyContent';\nimport {\n cairoErrorInLoadingAComponent,\n cairoTryAgainClicked,\n loadEnd,\n loadStart,\n} from '@wix/bex-core/bi';\n\nimport { CustomFieldsAllNamespacesFormState } from './CustomFieldsAllNamespacesFormState';\n\nexport interface CustomFieldsWidgetStateParams {\n readonly container: WixPatternsContainer;\n readonly fqdn: Fqdn;\n readonly filterable?: boolean;\n readonly containsPii?: boolean;\n readonly extendedFields?: ExtendedFields;\n readonly defaultPermissions?: DefaultPermissionsConfig;\n}\n\nexport type CustomFieldsWidgetSize = 'default' | 'small';\n\nexport class CustomFieldsWidgetState {\n readonly container;\n readonly dataExtension;\n readonly initTask = new TaskState();\n\n _extendedFields: ExtendedFields | null | undefined = null;\n _formState: CustomFieldsAllNamespacesFormState | null = null;\n\n _size: CustomFieldsWidgetSize;\n _widgetContentRef: { current: HTMLDivElement | null } = {\n current: null,\n };\n\n readonly panels;\n readonly reportBi;\n readonly fqdn;\n _customFieldsLazyComponents:\n | typeof CustomFieldsWidgetLazyContent\n | undefined = undefined;\n\n readonly apps;\n\n constructor({\n container,\n fqdn,\n filterable,\n containsPii,\n defaultPermissions,\n extendedFields,\n }: CustomFieldsWidgetStateParams) {\n this.container = container;\n\n this.fqdn = fqdn;\n this._extendedFields = extendedFields;\n this._size = 'default';\n this.panels = new SidePanelsState({\n panelGroupName: fqdnToString(fqdn),\n container,\n });\n\n this.reportBi = container.createBILogger({\n componentType: 'CustomFieldsWidget',\n ...fqdn,\n });\n\n this.dataExtension = new DataExtensionState({\n container,\n reportBi: this.reportBi,\n fqdn,\n closeSidePanel: this.panels.closeSidePanel,\n filterable,\n containsPii,\n defaultPermissions,\n });\n\n this.apps = new AppsState({\n container,\n dataExtension: this.dataExtension,\n });\n\n makeObservable(this, {\n hasWritePermissions: computed,\n widgetSize: computed,\n setWidgetContentRef: action,\n isLoading: computed,\n isError: computed,\n _size: observable.ref,\n _widgetContentRef: observable.ref,\n _extendedFields: observable.ref,\n _adjustWidgetSize: action.bound,\n retry: action.bound,\n });\n }\n\n get _userFieldsNamespace() {\n return this.dataExtension.dataExtensionService.userFieldsNamespace;\n }\n\n _appLoadingStart() {\n const startTime = performance.now();\n const commonBiParams = this._commonDynamicBiParams();\n\n this.reportBi(\n loadStart({\n ...commonBiParams,\n url: window.location.href,\n }),\n );\n\n return () => {\n this.reportBi(\n loadEnd({\n ...commonBiParams,\n url: window.location.href,\n loadingTime: Math.round(performance.now() - startTime),\n }),\n );\n };\n }\n\n init({ appLoaded }: { appLoaded?: () => void }) {\n const { initTask, dataExtension, container, apps } = this;\n\n const disposers = [dataExtension.init(), apps.init()];\n\n initTask.runOnce(async () => {\n dataExtension.initTask.runOnce();\n apps.initTask.runOnce();\n\n const [lazyComponents] = await Promise.all([\n import(\n /* webpackChunkName: \"CustomFieldsWidgetLazyContent\" */\n '../../components/CustomFieldsWidget/CustomFieldsWidgetLazyContent'\n ).catch((err) => {\n throw new WixPatternsError({\n errorCode: 'LoadCustomFieldsWidgetLazyContentFailed',\n originalException: err,\n });\n }),\n dataExtension.initTask.status.promise?.catch((err) => {\n throw new WixPatternsError({\n errorCode: 'InitCustomFieldsDataExtensionFailed',\n originalException: err,\n });\n }),\n container.initTask.status.promise?.catch((err) => {\n throw new WixPatternsError({\n errorCode: 'InitCustomFieldsWidgetContainerFailed',\n originalException: err,\n });\n }),\n apps.initTask.status.promise?.catch(() => null),\n ]).catch((error) => {\n this.container.internalMonitor.reportError({\n error,\n });\n\n this.reportBi(\n cairoErrorInLoadingAComponent({\n errorType:\n error instanceof WixPatternsError ? error.name : undefined,\n }),\n );\n\n throw error;\n });\n\n this._customFieldsLazyComponents = lazyComponents;\n\n appLoaded?.();\n });\n\n return () => {\n disposers.forEach((d) => d?.());\n };\n }\n\n getNamespaceFormSchemaAndData(namespace: string) {\n const { dataExtension, _extendedFields } = this;\n const { schema, fields } =\n dataExtension.getSchemaAndFieldsByNamespace(namespace);\n\n return {\n fields,\n schema,\n extendedFieldsDataMap: _extendedFields?.namespaces?.[namespace],\n };\n }\n\n initContent() {\n const disposers = [\n addResizeObserver(\n this._widgetContentRef.current,\n this._adjustWidgetSize.bind(this),\n ),\n ];\n\n this._adjustWidgetSize();\n\n return () => {\n disposers.forEach((d) => d?.());\n };\n }\n\n _commonDynamicBiParams() {\n return {\n url: window.location.href,\n };\n }\n\n retry() {\n this.reportBi(\n cairoTryAgainClicked({\n actionName: 'Load custom fields',\n loaction: 'Custom fields widget',\n }),\n );\n\n this.initTask.runOnce();\n }\n\n get isDirty() {\n return !!this._formState?.isDirty;\n }\n\n get widgetSize() {\n return this._size;\n }\n\n get isLoading() {\n const { status } = this.initTask;\n return status.isIdle || status.isLoading;\n }\n\n get ActionButtonsComponent() {\n return this._customFieldsLazyComponents?.ActionButtons;\n }\n\n get CustomFieldsWidgetContent() {\n return this._customFieldsLazyComponents?.CustomFieldsWidgetContent;\n }\n\n setWidgetContentRef(ref: HTMLDivElement | null) {\n this._widgetContentRef.current = ref;\n }\n\n _adjustWidgetSize() {\n if (this._widgetContentRef.current) {\n const element = this._widgetContentRef.current;\n\n if (element.clientWidth < 842) {\n this._size = 'small';\n } else {\n this._size = 'default';\n }\n }\n }\n\n get isError() {\n return this.initTask.status.isError;\n }\n\n async validate(): Promise<{\n isValid: boolean;\n extendedFields?: ExtendedFields;\n values?: ExtendedFields;\n }> {\n const data = this._formState?.validate();\n\n if (!data) {\n return {\n isValid: true,\n };\n }\n\n if (data?.isValid) {\n const extendedFields = data.extendedFields;\n return {\n isValid: true,\n extendedFields,\n values: extendedFields,\n };\n }\n\n return { isValid: false };\n }\n\n get hasWritePermissions() {\n return this.dataExtension.hasWritePermissions;\n }\n}\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -0,0 +1,64 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
+
exports.__esModule = true;
|
|
5
|
+
exports.HorizontalOverflowState = void 0;
|
|
6
|
+
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
|
7
|
+
var _mobx = require("mobx");
|
|
8
|
+
var _bexCore = require("@wix/bex-core");
|
|
9
|
+
class HorizontalOverflowState {
|
|
10
|
+
constructor(params) {
|
|
11
|
+
(0, _defineProperty2.default)(this, "_syncThrottled", void 0);
|
|
12
|
+
(0, _defineProperty2.default)(this, "container", void 0);
|
|
13
|
+
(0, _defineProperty2.default)(this, "_state", void 0);
|
|
14
|
+
(0, _defineProperty2.default)(this, "_element", void 0);
|
|
15
|
+
(0, _defineProperty2.default)(this, "_scrollWidth", 0);
|
|
16
|
+
(0, _defineProperty2.default)(this, "_clientWidth", 0);
|
|
17
|
+
const {
|
|
18
|
+
state
|
|
19
|
+
} = params;
|
|
20
|
+
this.container = state.container;
|
|
21
|
+
this._state = state;
|
|
22
|
+
(0, _mobx.makeObservable)(this, {
|
|
23
|
+
_sync: _mobx.action.bound,
|
|
24
|
+
_scrollWidth: _mobx.observable.ref,
|
|
25
|
+
_clientWidth: _mobx.observable.ref,
|
|
26
|
+
_isOverflowing: _mobx.computed
|
|
27
|
+
});
|
|
28
|
+
this._syncThrottled = this.container.lodash.throttle(() => {
|
|
29
|
+
requestAnimationFrame(this._sync);
|
|
30
|
+
}, 200);
|
|
31
|
+
}
|
|
32
|
+
get _isOverflowing() {
|
|
33
|
+
return this._scrollWidth > this._clientWidth;
|
|
34
|
+
}
|
|
35
|
+
_sync() {
|
|
36
|
+
const {
|
|
37
|
+
_element
|
|
38
|
+
} = this;
|
|
39
|
+
if (!_element) {
|
|
40
|
+
return;
|
|
41
|
+
}
|
|
42
|
+
this._clientWidth = _element.clientWidth;
|
|
43
|
+
this._scrollWidth = _element.scrollWidth;
|
|
44
|
+
}
|
|
45
|
+
init() {
|
|
46
|
+
const {
|
|
47
|
+
_element,
|
|
48
|
+
_state
|
|
49
|
+
} = this;
|
|
50
|
+
if (_state.responsiveDisabled) {
|
|
51
|
+
return;
|
|
52
|
+
}
|
|
53
|
+
if (!_element) {
|
|
54
|
+
return;
|
|
55
|
+
}
|
|
56
|
+
this._syncThrottled();
|
|
57
|
+
const disposers = [(0, _bexCore.addResizeObserver)(_element, this._syncThrottled)];
|
|
58
|
+
return () => {
|
|
59
|
+
disposers.forEach(d => d == null ? void 0 : d());
|
|
60
|
+
};
|
|
61
|
+
}
|
|
62
|
+
}
|
|
63
|
+
exports.HorizontalOverflowState = HorizontalOverflowState;
|
|
64
|
+
//# sourceMappingURL=HorizontalOverflowState.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["_mobx","require","_bexCore","HorizontalOverflowState","constructor","params","_defineProperty2","default","state","container","_state","makeObservable","_sync","action","bound","_scrollWidth","observable","ref","_clientWidth","_isOverflowing","computed","_syncThrottled","lodash","throttle","requestAnimationFrame","_element","clientWidth","scrollWidth","init","responsiveDisabled","disposers","addResizeObserver","forEach","d","exports"],"sources":["../../../../src/state/Responsive/HorizontalOverflowState.ts"],"sourcesContent":["import { action, computed, makeObservable, observable } from 'mobx';\nimport { addResizeObserver, WixPatternsContainer } from '@wix/bex-core';\n\nexport interface HorizontalOverflowStateParams {\n state: {\n container: WixPatternsContainer;\n responsiveDisabled: boolean | undefined;\n };\n}\n\nexport class HorizontalOverflowState {\n readonly _syncThrottled;\n\n readonly container;\n readonly _state;\n\n _element?: Element | null | undefined;\n\n _scrollWidth = 0;\n _clientWidth = 0;\n\n constructor(params: HorizontalOverflowStateParams) {\n const { state } = params;\n this.container = state.container;\n this._state = state;\n\n makeObservable(this, {\n _sync: action.bound,\n _scrollWidth: observable.ref,\n _clientWidth: observable.ref,\n _isOverflowing: computed,\n });\n\n this._syncThrottled = this.container.lodash.throttle(() => {\n requestAnimationFrame(this._sync);\n }, 200);\n }\n\n get _isOverflowing() {\n return this._scrollWidth > this._clientWidth;\n }\n\n _sync() {\n const { _element } = this;\n\n if (!_element) {\n return;\n }\n\n this._clientWidth = _element.clientWidth;\n this._scrollWidth = _element.scrollWidth;\n }\n\n init() {\n const { _element, _state } = this;\n\n if (_state.responsiveDisabled) {\n return;\n }\n\n if (!_element) {\n return;\n }\n\n this._syncThrottled();\n\n const disposers = [addResizeObserver(_element, this._syncThrottled)];\n\n return () => {\n disposers.forEach((d) => d?.());\n };\n }\n}\n"],"mappings":";;;;;;AAAA,IAAAA,KAAA,GAAAC,OAAA;AACA,IAAAC,QAAA,GAAAD,OAAA;AASO,MAAME,uBAAuB,CAAC;EAWnCC,WAAWA,CAACC,MAAqC,EAAE;IAAA,IAAAC,gBAAA,CAAAC,OAAA;IAAA,IAAAD,gBAAA,CAAAC,OAAA;IAAA,IAAAD,gBAAA,CAAAC,OAAA;IAAA,IAAAD,gBAAA,CAAAC,OAAA;IAAA,IAAAD,gBAAA,CAAAC,OAAA,wBAHpC,CAAC;IAAA,IAAAD,gBAAA,CAAAC,OAAA,wBACD,CAAC;IAGd,MAAM;MAAEC;IAAM,CAAC,GAAGH,MAAM;IACxB,IAAI,CAACI,SAAS,GAAGD,KAAK,CAACC,SAAS;IAChC,IAAI,CAACC,MAAM,GAAGF,KAAK;IAEnB,IAAAG,oBAAc,EAAC,IAAI,EAAE;MACnBC,KAAK,EAAEC,YAAM,CAACC,KAAK;MACnBC,YAAY,EAAEC,gBAAU,CAACC,GAAG;MAC5BC,YAAY,EAAEF,gBAAU,CAACC,GAAG;MAC5BE,cAAc,EAAEC;IAClB,CAAC,CAAC;IAEF,IAAI,CAACC,cAAc,GAAG,IAAI,CAACZ,SAAS,CAACa,MAAM,CAACC,QAAQ,CAAC,MAAM;MACzDC,qBAAqB,CAAC,IAAI,CAACZ,KAAK,CAAC;IACnC,CAAC,EAAE,GAAG,CAAC;EACT;EAEA,IAAIO,cAAcA,CAAA,EAAG;IACnB,OAAO,IAAI,CAACJ,YAAY,GAAG,IAAI,CAACG,YAAY;EAC9C;EAEAN,KAAKA,CAAA,EAAG;IACN,MAAM;MAAEa;IAAS,CAAC,GAAG,IAAI;IAEzB,IAAI,CAACA,QAAQ,EAAE;MACb;IACF;IAEA,IAAI,CAACP,YAAY,GAAGO,QAAQ,CAACC,WAAW;IACxC,IAAI,CAACX,YAAY,GAAGU,QAAQ,CAACE,WAAW;EAC1C;EAEAC,IAAIA,CAAA,EAAG;IACL,MAAM;MAAEH,QAAQ;MAAEf;IAAO,CAAC,GAAG,IAAI;IAEjC,IAAIA,MAAM,CAACmB,kBAAkB,EAAE;MAC7B;IACF;IAEA,IAAI,CAACJ,QAAQ,EAAE;MACb;IACF;IAEA,IAAI,CAACJ,cAAc,CAAC,CAAC;IAErB,MAAMS,SAAS,GAAG,CAAC,IAAAC,0BAAiB,EAACN,QAAQ,EAAE,IAAI,CAACJ,cAAc,CAAC,CAAC;IAEpE,OAAO,MAAM;MACXS,SAAS,CAACE,OAAO,CAAEC,CAAC,IAAKA,CAAC,oBAADA,CAAC,CAAG,CAAC,CAAC;IACjC,CAAC;EACH;AACF;AAACC,OAAA,CAAA/B,uBAAA,GAAAA,uBAAA","ignoreList":[]}
|
|
@@ -0,0 +1,67 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
+
exports.__esModule = true;
|
|
5
|
+
exports.HorizontalSpaceAvailableState = void 0;
|
|
6
|
+
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
|
7
|
+
var _mobx = require("mobx");
|
|
8
|
+
var _bexCore = require("@wix/bex-core");
|
|
9
|
+
class HorizontalSpaceAvailableState {
|
|
10
|
+
constructor(params) {
|
|
11
|
+
(0, _defineProperty2.default)(this, "_syncThrottled", void 0);
|
|
12
|
+
(0, _defineProperty2.default)(this, "container", void 0);
|
|
13
|
+
(0, _defineProperty2.default)(this, "_state", void 0);
|
|
14
|
+
(0, _defineProperty2.default)(this, "_element", void 0);
|
|
15
|
+
(0, _defineProperty2.default)(this, "_child", void 0);
|
|
16
|
+
(0, _defineProperty2.default)(this, "_directChildClientWidth", 0);
|
|
17
|
+
(0, _defineProperty2.default)(this, "_clientWidth", 0);
|
|
18
|
+
const {
|
|
19
|
+
state
|
|
20
|
+
} = params;
|
|
21
|
+
this.container = state.container;
|
|
22
|
+
this._state = state;
|
|
23
|
+
(0, _mobx.makeObservable)(this, {
|
|
24
|
+
_sync: _mobx.action.bound,
|
|
25
|
+
_directChildClientWidth: _mobx.observable.ref,
|
|
26
|
+
_clientWidth: _mobx.observable.ref,
|
|
27
|
+
available: _mobx.computed
|
|
28
|
+
});
|
|
29
|
+
this._syncThrottled = this.container.lodash.throttle(() => {
|
|
30
|
+
requestAnimationFrame(this._sync);
|
|
31
|
+
}, 200);
|
|
32
|
+
}
|
|
33
|
+
_sync() {
|
|
34
|
+
const {
|
|
35
|
+
_element,
|
|
36
|
+
_child
|
|
37
|
+
} = this;
|
|
38
|
+
if (!_element || !_child) {
|
|
39
|
+
return;
|
|
40
|
+
}
|
|
41
|
+
this._clientWidth = _element.clientWidth;
|
|
42
|
+
this._directChildClientWidth = _child.scrollWidth;
|
|
43
|
+
}
|
|
44
|
+
get available() {
|
|
45
|
+
return this._clientWidth - this._directChildClientWidth;
|
|
46
|
+
}
|
|
47
|
+
init() {
|
|
48
|
+
const {
|
|
49
|
+
_element,
|
|
50
|
+
_child,
|
|
51
|
+
_state
|
|
52
|
+
} = this;
|
|
53
|
+
if (_state.responsiveDisabled) {
|
|
54
|
+
return;
|
|
55
|
+
}
|
|
56
|
+
if (!_element || !_child) {
|
|
57
|
+
return;
|
|
58
|
+
}
|
|
59
|
+
this._syncThrottled();
|
|
60
|
+
const disposers = [(0, _bexCore.addResizeObserver)(_child, this._syncThrottled)];
|
|
61
|
+
return () => {
|
|
62
|
+
disposers.forEach(d => d == null ? void 0 : d());
|
|
63
|
+
};
|
|
64
|
+
}
|
|
65
|
+
}
|
|
66
|
+
exports.HorizontalSpaceAvailableState = HorizontalSpaceAvailableState;
|
|
67
|
+
//# sourceMappingURL=HorizontalSpaceAvailableState.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["_mobx","require","_bexCore","HorizontalSpaceAvailableState","constructor","params","_defineProperty2","default","state","container","_state","makeObservable","_sync","action","bound","_directChildClientWidth","observable","ref","_clientWidth","available","computed","_syncThrottled","lodash","throttle","requestAnimationFrame","_element","_child","clientWidth","scrollWidth","init","responsiveDisabled","disposers","addResizeObserver","forEach","d","exports"],"sources":["../../../../src/state/Responsive/HorizontalSpaceAvailableState.ts"],"sourcesContent":["import { action, computed, makeObservable, observable } from 'mobx';\nimport { addResizeObserver, WixPatternsContainer } from '@wix/bex-core';\n\nexport interface HorizontalSpaceAvailableStateParams {\n state: {\n container: WixPatternsContainer;\n responsiveDisabled: boolean | undefined;\n };\n}\n\nexport class HorizontalSpaceAvailableState {\n readonly _syncThrottled;\n\n readonly container;\n readonly _state;\n\n _element?: Element | null | undefined;\n _child?: Element | null | undefined;\n\n _directChildClientWidth = 0;\n _clientWidth = 0;\n\n constructor(params: HorizontalSpaceAvailableStateParams) {\n const { state } = params;\n this.container = state.container;\n this._state = state;\n\n makeObservable(this, {\n _sync: action.bound,\n _directChildClientWidth: observable.ref,\n _clientWidth: observable.ref,\n available: computed,\n });\n\n this._syncThrottled = this.container.lodash.throttle(() => {\n requestAnimationFrame(this._sync);\n }, 200);\n }\n\n _sync() {\n const { _element, _child } = this;\n\n if (!_element || !_child) {\n return;\n }\n\n this._clientWidth = _element.clientWidth;\n this._directChildClientWidth = _child.scrollWidth;\n }\n\n get available() {\n return this._clientWidth - this._directChildClientWidth;\n }\n\n init() {\n const { _element, _child, _state } = this;\n\n if (_state.responsiveDisabled) {\n return;\n }\n\n if (!_element || !_child) {\n return;\n }\n\n this._syncThrottled();\n\n const disposers = [addResizeObserver(_child, this._syncThrottled)];\n\n return () => {\n disposers.forEach((d) => d?.());\n };\n }\n}\n"],"mappings":";;;;;;AAAA,IAAAA,KAAA,GAAAC,OAAA;AACA,IAAAC,QAAA,GAAAD,OAAA;AASO,MAAME,6BAA6B,CAAC;EAYzCC,WAAWA,CAACC,MAA2C,EAAE;IAAA,IAAAC,gBAAA,CAAAC,OAAA;IAAA,IAAAD,gBAAA,CAAAC,OAAA;IAAA,IAAAD,gBAAA,CAAAC,OAAA;IAAA,IAAAD,gBAAA,CAAAC,OAAA;IAAA,IAAAD,gBAAA,CAAAC,OAAA;IAAA,IAAAD,gBAAA,CAAAC,OAAA,mCAH/B,CAAC;IAAA,IAAAD,gBAAA,CAAAC,OAAA,wBACZ,CAAC;IAGd,MAAM;MAAEC;IAAM,CAAC,GAAGH,MAAM;IACxB,IAAI,CAACI,SAAS,GAAGD,KAAK,CAACC,SAAS;IAChC,IAAI,CAACC,MAAM,GAAGF,KAAK;IAEnB,IAAAG,oBAAc,EAAC,IAAI,EAAE;MACnBC,KAAK,EAAEC,YAAM,CAACC,KAAK;MACnBC,uBAAuB,EAAEC,gBAAU,CAACC,GAAG;MACvCC,YAAY,EAAEF,gBAAU,CAACC,GAAG;MAC5BE,SAAS,EAAEC;IACb,CAAC,CAAC;IAEF,IAAI,CAACC,cAAc,GAAG,IAAI,CAACZ,SAAS,CAACa,MAAM,CAACC,QAAQ,CAAC,MAAM;MACzDC,qBAAqB,CAAC,IAAI,CAACZ,KAAK,CAAC;IACnC,CAAC,EAAE,GAAG,CAAC;EACT;EAEAA,KAAKA,CAAA,EAAG;IACN,MAAM;MAAEa,QAAQ;MAAEC;IAAO,CAAC,GAAG,IAAI;IAEjC,IAAI,CAACD,QAAQ,IAAI,CAACC,MAAM,EAAE;MACxB;IACF;IAEA,IAAI,CAACR,YAAY,GAAGO,QAAQ,CAACE,WAAW;IACxC,IAAI,CAACZ,uBAAuB,GAAGW,MAAM,CAACE,WAAW;EACnD;EAEA,IAAIT,SAASA,CAAA,EAAG;IACd,OAAO,IAAI,CAACD,YAAY,GAAG,IAAI,CAACH,uBAAuB;EACzD;EAEAc,IAAIA,CAAA,EAAG;IACL,MAAM;MAAEJ,QAAQ;MAAEC,MAAM;MAAEhB;IAAO,CAAC,GAAG,IAAI;IAEzC,IAAIA,MAAM,CAACoB,kBAAkB,EAAE;MAC7B;IACF;IAEA,IAAI,CAACL,QAAQ,IAAI,CAACC,MAAM,EAAE;MACxB;IACF;IAEA,IAAI,CAACL,cAAc,CAAC,CAAC;IAErB,MAAMU,SAAS,GAAG,CAAC,IAAAC,0BAAiB,EAACN,MAAM,EAAE,IAAI,CAACL,cAAc,CAAC,CAAC;IAElE,OAAO,MAAM;MACXU,SAAS,CAACE,OAAO,CAAEC,CAAC,IAAKA,CAAC,oBAADA,CAAC,CAAG,CAAC,CAAC;IACjC,CAAC;EACH;AACF;AAACC,OAAA,CAAAhC,6BAAA,GAAAA,6BAAA","ignoreList":[]}
|
|
@@ -127,51 +127,85 @@ class TagsBulkAssignAsyncState {
|
|
|
127
127
|
throw new Error('tried to bulk assign tags async without asyncBulkUpdateTags prop given');
|
|
128
128
|
}
|
|
129
129
|
this.currentInvocationParams = params;
|
|
130
|
-
const {
|
|
131
|
-
jobId
|
|
132
|
-
} = await this.asyncBulkUpdateTags(params);
|
|
133
|
-
this.asyncJobProgressModalState.modal.open();
|
|
134
|
-
await this.pollJobStatus(jobId);
|
|
135
|
-
}
|
|
136
|
-
async pollJobStatus(jobId) {
|
|
137
130
|
try {
|
|
131
|
+
this.asyncJobProgressModalState.modal.open();
|
|
138
132
|
const {
|
|
139
|
-
data: {
|
|
140
|
-
job
|
|
141
|
-
}
|
|
142
|
-
} = await this.container.httpClient.request((0, _http.getAsyncJob)({
|
|
143
133
|
jobId
|
|
144
|
-
})
|
|
145
|
-
|
|
146
|
-
this.job = job;
|
|
147
|
-
});
|
|
134
|
+
} = await this.asyncBulkUpdateTags(params);
|
|
135
|
+
await this.pollJobStatus(jobId);
|
|
148
136
|
} catch (error) {
|
|
149
|
-
|
|
137
|
+
this.showFailToCreateJobToast(error);
|
|
138
|
+
this.resetStateParams();
|
|
150
139
|
}
|
|
140
|
+
}
|
|
141
|
+
async pollJobStatus(jobId) {
|
|
142
|
+
const job = await this.fetchJobStatus(jobId);
|
|
151
143
|
(0, _mobx.runInAction)(() => {
|
|
144
|
+
this.job = job;
|
|
152
145
|
if (this.isJobInProgress) {
|
|
153
|
-
this.
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
return;
|
|
157
|
-
}
|
|
158
|
-
if (this.isJobEnded) {
|
|
159
|
-
this.timeout = setTimeout(() => {
|
|
160
|
-
(0, _mobx.runInAction)(() => this.handleJobEnd());
|
|
161
|
-
}, MILLIS_FOR_SHOWING_SUCCESS);
|
|
146
|
+
this.scheduleNextPoll(jobId);
|
|
147
|
+
} else if (this.isJobEnded) {
|
|
148
|
+
this.handleJobEnd();
|
|
162
149
|
}
|
|
163
150
|
});
|
|
164
151
|
}
|
|
152
|
+
async fetchJobStatus(jobId) {
|
|
153
|
+
try {
|
|
154
|
+
const job = await this.container.errorHandler.withErrorHandler(async () => {
|
|
155
|
+
const {
|
|
156
|
+
data: {
|
|
157
|
+
job
|
|
158
|
+
}
|
|
159
|
+
} = await this.container.httpClient.request((0, _http.getAsyncJob)({
|
|
160
|
+
jobId
|
|
161
|
+
}));
|
|
162
|
+
return job;
|
|
163
|
+
}, {
|
|
164
|
+
errorCodesMap: {}
|
|
165
|
+
});
|
|
166
|
+
return job;
|
|
167
|
+
} catch (error) {
|
|
168
|
+
this.asyncJobProgressModalState.modal.close();
|
|
169
|
+
this.showFailedToPollToast(error);
|
|
170
|
+
this.resetStateParams();
|
|
171
|
+
return null;
|
|
172
|
+
}
|
|
173
|
+
}
|
|
174
|
+
scheduleNextPoll(jobId) {
|
|
175
|
+
this.timeout = setTimeout(() => {
|
|
176
|
+
(0, _mobx.runInAction)(() => this.pollJobStatus(jobId));
|
|
177
|
+
}, POLL_DELAY);
|
|
178
|
+
}
|
|
165
179
|
handleJobEnd() {
|
|
180
|
+
this.timeout = setTimeout(() => {
|
|
181
|
+
(0, _mobx.runInAction)(() => {
|
|
182
|
+
this.handleJobCompletion();
|
|
183
|
+
});
|
|
184
|
+
}, MILLIS_FOR_SHOWING_SUCCESS);
|
|
185
|
+
}
|
|
186
|
+
handleJobCompletion() {
|
|
166
187
|
const lastInvocationParams = this.currentInvocationParams;
|
|
188
|
+
const {
|
|
189
|
+
showToast,
|
|
190
|
+
translate: t
|
|
191
|
+
} = this.container;
|
|
167
192
|
if (this.isJobCompleted) {
|
|
168
193
|
this.handleJobSuccess(lastInvocationParams);
|
|
194
|
+
} else if (this.isJobFailed) {
|
|
195
|
+
var _this$job;
|
|
196
|
+
showToast == null || showToast({
|
|
197
|
+
type: 'ERROR',
|
|
198
|
+
message: t('cairo.tags.bulkItemUpdate.toast.error', {
|
|
199
|
+
total: (_this$job = this.job) == null || (_this$job = _this$job.counts) == null ? void 0 : _this$job.failCount
|
|
200
|
+
}),
|
|
201
|
+
biName: 'cairo-update-bulk-assign-tags-async-job-status-fail'
|
|
202
|
+
});
|
|
169
203
|
}
|
|
170
204
|
this.resetStateParams();
|
|
171
205
|
}
|
|
172
206
|
handleJobSuccess(lastInvocationParams) {
|
|
173
|
-
var _this$
|
|
174
|
-
const failCount = (_this$
|
|
207
|
+
var _this$job2;
|
|
208
|
+
const failCount = (_this$job2 = this.job) == null || (_this$job2 = _this$job2.counts) == null ? void 0 : _this$job2.failCount;
|
|
175
209
|
if (failCount) {
|
|
176
210
|
this.showPartialFailureToast({
|
|
177
211
|
failCount,
|
|
@@ -220,34 +254,63 @@ class TagsBulkAssignAsyncState {
|
|
|
220
254
|
biName: 'cairo-update-bulk-assign-tags-async-success'
|
|
221
255
|
});
|
|
222
256
|
}
|
|
257
|
+
showFailToCreateJobToast(error) {
|
|
258
|
+
const {
|
|
259
|
+
errorHandler,
|
|
260
|
+
showToast,
|
|
261
|
+
translate: t
|
|
262
|
+
} = this.container;
|
|
263
|
+
const resolvedError = errorHandler == null || errorHandler.getResolvedError == null ? void 0 : errorHandler.getResolvedError(error);
|
|
264
|
+
showToast == null || showToast({
|
|
265
|
+
type: 'ERROR',
|
|
266
|
+
message: (resolvedError == null ? void 0 : resolvedError.message) ?? t('cairo.tags.bulkItemUpdate.toast.error', {
|
|
267
|
+
total: this.collectionState.bulkSelect.selectedCountOrTotal
|
|
268
|
+
}),
|
|
269
|
+
action: resolvedError == null ? void 0 : resolvedError.action,
|
|
270
|
+
biName: 'cairo-update-bulk-assign-tags-async-create-job-fail'
|
|
271
|
+
});
|
|
272
|
+
}
|
|
273
|
+
showFailedToPollToast(error) {
|
|
274
|
+
const {
|
|
275
|
+
errorHandler,
|
|
276
|
+
showToast
|
|
277
|
+
} = this.container;
|
|
278
|
+
const resolvedError = errorHandler == null || errorHandler.getResolvedError == null ? void 0 : errorHandler.getResolvedError(error);
|
|
279
|
+
showToast == null || showToast({
|
|
280
|
+
type: 'ERROR',
|
|
281
|
+
message: resolvedError == null ? void 0 : resolvedError.message,
|
|
282
|
+
action: resolvedError == null ? void 0 : resolvedError.action,
|
|
283
|
+
biName: 'cairo-update-bulk-assign-tags-async-poll-fail'
|
|
284
|
+
});
|
|
285
|
+
}
|
|
223
286
|
refreshCollection() {
|
|
224
287
|
this.collectionState.refreshAllPages();
|
|
225
288
|
}
|
|
226
289
|
get isJobCompleted() {
|
|
227
|
-
var _this$
|
|
228
|
-
return ((_this$
|
|
290
|
+
var _this$job3;
|
|
291
|
+
return ((_this$job3 = this.job) == null ? void 0 : _this$job3.status) === 'FINISHED';
|
|
229
292
|
}
|
|
230
293
|
get isJobFailed() {
|
|
231
|
-
var _this$
|
|
232
|
-
return ((_this$
|
|
294
|
+
var _this$job4;
|
|
295
|
+
return ((_this$job4 = this.job) == null ? void 0 : _this$job4.status) === 'FAILED';
|
|
233
296
|
}
|
|
234
297
|
get isJobEnded() {
|
|
235
298
|
return this.isJobCompleted || this.isJobFailed;
|
|
236
299
|
}
|
|
237
300
|
get isJobInProgress() {
|
|
238
|
-
var _this$
|
|
239
|
-
return ((_this$
|
|
301
|
+
var _this$job5, _this$job6;
|
|
302
|
+
return ((_this$job5 = this.job) == null ? void 0 : _this$job5.status) === 'PROCESSING' || ((_this$job6 = this.job) == null ? void 0 : _this$job6.status) === 'INITIALIZED';
|
|
240
303
|
}
|
|
241
304
|
get canBulkAssignAsync() {
|
|
242
305
|
return !!this.asyncBulkUpdateTags;
|
|
243
306
|
}
|
|
244
307
|
get updatedItemsPercentage() {
|
|
245
|
-
var _this$job$counts, _this$job$counts2, _this$
|
|
308
|
+
var _this$job$counts, _this$job$counts2, _this$job7;
|
|
246
309
|
if (!this.job) {
|
|
247
310
|
return 0;
|
|
248
311
|
}
|
|
249
312
|
const alreadyUpdatedItemsCount = (((_this$job$counts = this.job.counts) == null ? void 0 : _this$job$counts.successCount) || 0) + (((_this$job$counts2 = this.job.counts) == null ? void 0 : _this$job$counts2.failCount) || 0);
|
|
250
|
-
const totalUpdatingItemsCount = ((_this$
|
|
313
|
+
const totalUpdatingItemsCount = ((_this$job7 = this.job) == null || (_this$job7 = _this$job7.counts) == null ? void 0 : _this$job7.total) || this.collectionState.bulkSelect.selectedCountOrTotal;
|
|
251
314
|
return Math.floor(100 * (alreadyUpdatedItemsCount / totalUpdatingItemsCount));
|
|
252
315
|
}
|
|
253
316
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_bexCore","require","_mobx","_http","POLL_DELAY","exports","MILLIS_FOR_SHOWING_SUCCESS","TagsBulkAssignAsyncState","constructor","params","_defineProperty2","default","ConditionalModalState","asyncJobProgressModalState","modal","open","close","isJobInProgress","_this$container$showT","_this$container","updatingTagsToast","container","showToast","call","type","message","translate","action","text","onClick","openAsyncJobProgressModal","removeToastOnClick","timeout","biName","collectionState","optimisticActions","tagsBIReporter","asyncBulkUpdateTags","makeObservable","job","observable","ref","isDuringApplyChanges","init","applyChanges","pollJobStatus","canBulkAssignAsync","computed","isJobCompleted","isJobFailed","isJobEnded","updatedItemsPercentage","onBeforeUnload","onBeforeUnloadSubscription","event","preventDefault","disposers","remove","clearTimeout","forEach","disposer","newAssignedTagIds","newUnassignedTagIds","bulkSelect","result","allSelected","selectedValues","uncheckedValues","query","originQuery","assignTags","privateTags","tagIds","unassignTags","triggerBulkAssign","Error","currentInvocationParams","jobId","data","httpClient","request","getAsyncJob","runInAction","error","console","setTimeout","handleJobEnd","lastInvocationParams","handleJobSuccess","resetStateParams","_this$job","failCount","counts","showPartialFailureToast","showJobCompletedSuccessfullyToast","refreshCollection","_this$updatingTagsToa","closeAsyncJobProgressModal","_this$container$showT2","_this$container2","total","_this$container$showT3","_this$container3","refreshAllPages","_this$job2","status","_this$job3","_this$job4","_this$job5","_this$job$counts","_this$job$counts2","_this$job6","alreadyUpdatedItemsCount","successCount","totalUpdatingItemsCount","selectedCountOrTotal","Math","floor"],"sources":["../../../src/state/TagsBulkAssignAsyncState.ts"],"sourcesContent":["import {\n ConditionalModalState,\n FiltersMap,\n ShowToast,\n Tags,\n} from '@wix/bex-core';\n\nimport {\n TagsBulkAssignPopoverState,\n TagsBulkAssignPopoverStateParams,\n} from './TagsBulkAssignPopoverState';\nimport { BulkActionModalRenderPropParams } from '../components/BulkAction';\nimport {\n computed,\n makeObservable,\n observable,\n runInAction,\n action,\n} from 'mobx';\nimport { getAsyncJob } from '@wix/bex-utils/@wix/ambassador-infra-asyncjobs-v1-async-job/http';\nimport { AsyncJob } from '@wix/bex-utils/@wix/ambassador-infra-asyncjobs-v1-async-job/types';\n\nexport const POLL_DELAY = 500;\nexport const MILLIS_FOR_SHOWING_SUCCESS = 1000;\nexport interface AsyncBulkUpdateTagsParams<T, F extends FiltersMap>\n extends Pick<\n BulkActionModalRenderPropParams<T, F>,\n 'allSelected' | 'selectedValues' | 'uncheckedValues' | 'query'\n > {\n assignTags: Tags;\n unassignTags: Tags;\n}\n\nexport interface TagsBulkAssignAsyncStateParams<T, F extends FiltersMap>\n extends Pick<\n TagsBulkAssignPopoverStateParams<T, F>,\n 'asyncBulkUpdateTags' | 'collectionState'\n > {\n container: TagsBulkAssignPopoverState<T, F>['container'];\n optimisticActions: TagsBulkAssignPopoverState<T, F>['optimisticActions'];\n tagsBIReporter: TagsBulkAssignPopoverState<T, F>['tagsBIReporter'];\n}\n\nexport class TagsBulkAssignAsyncState<T, F extends FiltersMap> {\n readonly collectionState;\n readonly optimisticActions;\n readonly container;\n readonly tagsBIReporter;\n readonly asyncBulkUpdateTags;\n readonly asyncJobProgressModalState = new ConditionalModalState();\n\n job: AsyncJob | null = null;\n timeout: NodeJS.Timeout | null = null;\n isDuringApplyChanges = false;\n currentInvocationParams: AsyncBulkUpdateTagsParams<T, F> | null = null;\n updatingTagsToast: ReturnType<ShowToast> | null = null;\n\n constructor(params: TagsBulkAssignAsyncStateParams<T, F>) {\n const {\n collectionState,\n optimisticActions,\n container,\n tagsBIReporter,\n asyncBulkUpdateTags,\n } = params;\n this.collectionState = collectionState;\n this.optimisticActions = optimisticActions;\n this.container = container;\n this.tagsBIReporter = tagsBIReporter;\n this.asyncBulkUpdateTags = asyncBulkUpdateTags;\n\n makeObservable(this, {\n job: observable.ref,\n isDuringApplyChanges: observable,\n init: action,\n applyChanges: action,\n pollJobStatus: action,\n canBulkAssignAsync: computed,\n isJobCompleted: computed,\n isJobFailed: computed,\n isJobEnded: computed,\n isJobInProgress: computed,\n updatedItemsPercentage: computed,\n });\n }\n\n init() {\n const { onBeforeUnload } = this.container;\n const onBeforeUnloadSubscription = onBeforeUnload?.(\n action((event: Event) => {\n if (this.isDuringApplyChanges) {\n event.preventDefault();\n }\n }),\n );\n const disposers = [\n () => {\n onBeforeUnloadSubscription?.remove();\n },\n () => {\n if (this.timeout) {\n clearTimeout(this.timeout);\n }\n },\n ];\n\n return () => {\n disposers.forEach((disposer) => disposer());\n };\n }\n\n async applyChanges({\n newAssignedTagIds,\n newUnassignedTagIds,\n }: {\n newAssignedTagIds: string[];\n newUnassignedTagIds: string[];\n }) {\n this.isDuringApplyChanges = true;\n const { bulkSelect, result } = this.collectionState;\n const { allSelected, selectedValues, uncheckedValues } = bulkSelect;\n\n const params = {\n allSelected,\n selectedValues,\n uncheckedValues,\n query: result.originQuery,\n assignTags: { privateTags: { tagIds: newAssignedTagIds } },\n unassignTags: { privateTags: { tagIds: newUnassignedTagIds } },\n };\n\n await this.triggerBulkAssign(params);\n }\n\n async triggerBulkAssign(params: AsyncBulkUpdateTagsParams<T, F>) {\n if (!this.asyncBulkUpdateTags) {\n throw new Error(\n 'tried to bulk assign tags async without asyncBulkUpdateTags prop given',\n );\n }\n\n this.currentInvocationParams = params;\n const { jobId } = await this.asyncBulkUpdateTags(params);\n this.asyncJobProgressModalState.modal.open();\n await this.pollJobStatus(jobId);\n }\n\n async pollJobStatus(jobId: string) {\n try {\n const {\n data: { job },\n } = await this.container.httpClient.request(getAsyncJob({ jobId }));\n runInAction(() => {\n this.job = job as AsyncJob;\n });\n } catch (error) {\n console.error('failed to get job status', error);\n }\n\n runInAction(() => {\n if (this.isJobInProgress) {\n this.timeout = setTimeout(() => {\n runInAction(() => this.pollJobStatus(jobId));\n }, POLL_DELAY);\n return;\n }\n if (this.isJobEnded) {\n this.timeout = setTimeout(() => {\n runInAction(() => this.handleJobEnd());\n }, MILLIS_FOR_SHOWING_SUCCESS);\n }\n });\n }\n\n handleJobEnd() {\n const lastInvocationParams = this.currentInvocationParams;\n\n if (this.isJobCompleted) {\n this.handleJobSuccess(lastInvocationParams);\n }\n\n this.resetStateParams();\n }\n\n handleJobSuccess(\n lastInvocationParams: AsyncBulkUpdateTagsParams<T, F> | null,\n ) {\n const failCount = this.job?.counts?.failCount;\n if (failCount) {\n this.showPartialFailureToast({ failCount, lastInvocationParams });\n }\n this.showJobCompletedSuccessfullyToast();\n this.refreshCollection();\n }\n\n resetStateParams() {\n this.job = null;\n this.currentInvocationParams = null;\n this.isDuringApplyChanges = false;\n this.updatingTagsToast?.remove();\n this.updatingTagsToast = null;\n this.closeAsyncJobProgressModal();\n }\n\n showPartialFailureToast({\n failCount,\n lastInvocationParams,\n }: {\n failCount: number;\n lastInvocationParams: AsyncBulkUpdateTagsParams<T, F> | null;\n }) {\n this.container.showToast?.({\n type: 'WARNING',\n message: this.container.translate(\n 'cairo.tags.bulkItemUpdate.toast.error',\n { total: failCount },\n ),\n action: {\n text: this.container.translate(\n 'cairo.tags.bulkItemUpdate.toast.error.CTA',\n ),\n onClick: async () => {\n if (lastInvocationParams) {\n await this.triggerBulkAssign(lastInvocationParams);\n }\n },\n removeToastOnClick: true,\n },\n biName: 'cairo-update-bulk-assign-tags-async-fail',\n });\n }\n\n showJobCompletedSuccessfullyToast() {\n this.container.showToast?.({\n type: 'SUCCESS',\n message: this.container.translate(\n 'cairo.tags.bulkItemUpdate.toast.success',\n ),\n biName: 'cairo-update-bulk-assign-tags-async-success',\n });\n }\n\n refreshCollection() {\n this.collectionState.refreshAllPages();\n }\n\n openAsyncJobProgressModal = () => {\n this.asyncJobProgressModalState.modal.open();\n };\n\n closeAsyncJobProgressModal = () => {\n this.asyncJobProgressModalState.modal.close();\n if (this.isJobInProgress) {\n this.updatingTagsToast =\n this.container.showToast?.({\n type: 'STANDARD',\n message: this.container.translate(\n 'cairo.tags.bulkItemUpdate.updatingTags.toast',\n ),\n action: {\n text: this.container.translate(\n 'cairo.tags.bulkItemUpdate.updatingTags.toast.CTA',\n ),\n onClick: async () => {\n this.openAsyncJobProgressModal();\n },\n removeToastOnClick: true,\n },\n timeout: 'NONE',\n biName: 'cairo-updating-bulk-assign-tags-async',\n }) || null;\n }\n };\n\n get isJobCompleted() {\n return this.job?.status === 'FINISHED';\n }\n\n get isJobFailed() {\n return this.job?.status === 'FAILED';\n }\n\n get isJobEnded() {\n return this.isJobCompleted || this.isJobFailed;\n }\n\n get isJobInProgress() {\n return (\n this.job?.status === 'PROCESSING' || this.job?.status === 'INITIALIZED'\n );\n }\n\n get canBulkAssignAsync() {\n return !!this.asyncBulkUpdateTags;\n }\n\n get updatedItemsPercentage() {\n if (!this.job) {\n return 0;\n }\n\n const alreadyUpdatedItemsCount =\n (this.job.counts?.successCount || 0) + (this.job.counts?.failCount || 0);\n const totalUpdatingItemsCount =\n this.job?.counts?.total ||\n this.collectionState.bulkSelect.selectedCountOrTotal;\n\n return Math.floor(\n 100 * (alreadyUpdatedItemsCount / totalUpdatingItemsCount),\n );\n }\n}\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["_bexCore","require","_mobx","_http","POLL_DELAY","exports","MILLIS_FOR_SHOWING_SUCCESS","TagsBulkAssignAsyncState","constructor","params","_defineProperty2","default","ConditionalModalState","asyncJobProgressModalState","modal","open","close","isJobInProgress","_this$container$showT","_this$container","updatingTagsToast","container","showToast","call","type","message","translate","action","text","onClick","openAsyncJobProgressModal","removeToastOnClick","timeout","biName","collectionState","optimisticActions","tagsBIReporter","asyncBulkUpdateTags","makeObservable","job","observable","ref","isDuringApplyChanges","init","applyChanges","pollJobStatus","canBulkAssignAsync","computed","isJobCompleted","isJobFailed","isJobEnded","updatedItemsPercentage","onBeforeUnload","onBeforeUnloadSubscription","event","preventDefault","disposers","remove","clearTimeout","forEach","disposer","newAssignedTagIds","newUnassignedTagIds","bulkSelect","result","allSelected","selectedValues","uncheckedValues","query","originQuery","assignTags","privateTags","tagIds","unassignTags","triggerBulkAssign","Error","currentInvocationParams","jobId","error","showFailToCreateJobToast","resetStateParams","fetchJobStatus","runInAction","scheduleNextPoll","handleJobEnd","errorHandler","withErrorHandler","data","httpClient","request","getAsyncJob","errorCodesMap","showFailedToPollToast","setTimeout","handleJobCompletion","lastInvocationParams","t","handleJobSuccess","_this$job","total","counts","failCount","_this$job2","showPartialFailureToast","showJobCompletedSuccessfullyToast","refreshCollection","_this$updatingTagsToa","closeAsyncJobProgressModal","_this$container$showT2","_this$container2","_this$container$showT3","_this$container3","resolvedError","getResolvedError","selectedCountOrTotal","refreshAllPages","_this$job3","status","_this$job4","_this$job5","_this$job6","_this$job$counts","_this$job$counts2","_this$job7","alreadyUpdatedItemsCount","successCount","totalUpdatingItemsCount","Math","floor"],"sources":["../../../src/state/TagsBulkAssignAsyncState.ts"],"sourcesContent":["import {\n ConditionalModalState,\n FiltersMap,\n ShowToast,\n Tags,\n} from '@wix/bex-core';\n\nimport {\n TagsBulkAssignPopoverState,\n TagsBulkAssignPopoverStateParams,\n} from './TagsBulkAssignPopoverState';\nimport { BulkActionModalRenderPropParams } from '../components/BulkAction';\nimport {\n computed,\n makeObservable,\n observable,\n runInAction,\n action,\n} from 'mobx';\nimport { getAsyncJob } from '@wix/bex-utils/@wix/ambassador-infra-asyncjobs-v1-async-job/http';\nimport { AsyncJob } from '@wix/bex-utils/@wix/ambassador-infra-asyncjobs-v1-async-job/types';\n\nexport const POLL_DELAY = 500;\nexport const MILLIS_FOR_SHOWING_SUCCESS = 1000;\nexport interface AsyncBulkUpdateTagsParams<T, F extends FiltersMap>\n extends Pick<\n BulkActionModalRenderPropParams<T, F>,\n 'allSelected' | 'selectedValues' | 'uncheckedValues' | 'query'\n > {\n assignTags: Tags;\n unassignTags: Tags;\n}\n\nexport interface TagsBulkAssignAsyncStateParams<T, F extends FiltersMap>\n extends Pick<\n TagsBulkAssignPopoverStateParams<T, F>,\n 'asyncBulkUpdateTags' | 'collectionState'\n > {\n container: TagsBulkAssignPopoverState<T, F>['container'];\n optimisticActions: TagsBulkAssignPopoverState<T, F>['optimisticActions'];\n tagsBIReporter: TagsBulkAssignPopoverState<T, F>['tagsBIReporter'];\n}\n\nexport class TagsBulkAssignAsyncState<T, F extends FiltersMap> {\n readonly collectionState;\n readonly optimisticActions;\n readonly container;\n readonly tagsBIReporter;\n readonly asyncBulkUpdateTags;\n readonly asyncJobProgressModalState = new ConditionalModalState();\n\n job: AsyncJob | null = null;\n timeout: NodeJS.Timeout | null = null;\n isDuringApplyChanges = false;\n currentInvocationParams: AsyncBulkUpdateTagsParams<T, F> | null = null;\n updatingTagsToast: ReturnType<ShowToast> | null = null;\n\n constructor(params: TagsBulkAssignAsyncStateParams<T, F>) {\n const {\n collectionState,\n optimisticActions,\n container,\n tagsBIReporter,\n asyncBulkUpdateTags,\n } = params;\n this.collectionState = collectionState;\n this.optimisticActions = optimisticActions;\n this.container = container;\n this.tagsBIReporter = tagsBIReporter;\n this.asyncBulkUpdateTags = asyncBulkUpdateTags;\n\n makeObservable(this, {\n job: observable.ref,\n isDuringApplyChanges: observable,\n init: action,\n applyChanges: action,\n pollJobStatus: action,\n canBulkAssignAsync: computed,\n isJobCompleted: computed,\n isJobFailed: computed,\n isJobEnded: computed,\n isJobInProgress: computed,\n updatedItemsPercentage: computed,\n });\n }\n\n init() {\n const { onBeforeUnload } = this.container;\n const onBeforeUnloadSubscription = onBeforeUnload?.(\n action((event: Event) => {\n if (this.isDuringApplyChanges) {\n event.preventDefault();\n }\n }),\n );\n const disposers = [\n () => {\n onBeforeUnloadSubscription?.remove();\n },\n () => {\n if (this.timeout) {\n clearTimeout(this.timeout);\n }\n },\n ];\n\n return () => {\n disposers.forEach((disposer) => disposer());\n };\n }\n\n async applyChanges({\n newAssignedTagIds,\n newUnassignedTagIds,\n }: {\n newAssignedTagIds: string[];\n newUnassignedTagIds: string[];\n }) {\n this.isDuringApplyChanges = true;\n const { bulkSelect, result } = this.collectionState;\n const { allSelected, selectedValues, uncheckedValues } = bulkSelect;\n\n const params = {\n allSelected,\n selectedValues,\n uncheckedValues,\n query: result.originQuery,\n assignTags: { privateTags: { tagIds: newAssignedTagIds } },\n unassignTags: { privateTags: { tagIds: newUnassignedTagIds } },\n };\n\n await this.triggerBulkAssign(params);\n }\n\n async triggerBulkAssign(params: AsyncBulkUpdateTagsParams<T, F>) {\n if (!this.asyncBulkUpdateTags) {\n throw new Error(\n 'tried to bulk assign tags async without asyncBulkUpdateTags prop given',\n );\n }\n\n this.currentInvocationParams = params;\n\n try {\n this.asyncJobProgressModalState.modal.open();\n const { jobId } = await this.asyncBulkUpdateTags(params);\n await this.pollJobStatus(jobId);\n } catch (error) {\n this.showFailToCreateJobToast(error);\n this.resetStateParams();\n }\n }\n\n async pollJobStatus(jobId: string) {\n const job = await this.fetchJobStatus(jobId);\n\n runInAction(() => {\n this.job = job;\n if (this.isJobInProgress) {\n this.scheduleNextPoll(jobId);\n } else if (this.isJobEnded) {\n this.handleJobEnd();\n }\n });\n }\n\n async fetchJobStatus(jobId: string): Promise<AsyncJob | null> {\n try {\n const job = await this.container.errorHandler.withErrorHandler(\n async () => {\n const {\n data: { job },\n } = await this.container.httpClient.request(getAsyncJob({ jobId }));\n\n return job as AsyncJob;\n },\n {\n errorCodesMap: {},\n },\n );\n\n return job;\n } catch (error) {\n this.asyncJobProgressModalState.modal.close();\n\n this.showFailedToPollToast(error);\n this.resetStateParams();\n\n return null;\n }\n }\n\n scheduleNextPoll(jobId: string): void {\n this.timeout = setTimeout(() => {\n runInAction(() => this.pollJobStatus(jobId));\n }, POLL_DELAY);\n }\n\n handleJobEnd(): void {\n this.timeout = setTimeout(() => {\n runInAction(() => {\n this.handleJobCompletion();\n });\n }, MILLIS_FOR_SHOWING_SUCCESS);\n }\n\n handleJobCompletion() {\n const lastInvocationParams = this.currentInvocationParams;\n const { showToast, translate: t } = this.container;\n\n if (this.isJobCompleted) {\n this.handleJobSuccess(lastInvocationParams);\n } else if (this.isJobFailed) {\n showToast?.({\n type: 'ERROR',\n message: t('cairo.tags.bulkItemUpdate.toast.error', {\n total: this.job?.counts?.failCount!,\n }),\n biName: 'cairo-update-bulk-assign-tags-async-job-status-fail',\n });\n }\n\n this.resetStateParams();\n }\n\n handleJobSuccess(\n lastInvocationParams: AsyncBulkUpdateTagsParams<T, F> | null,\n ) {\n const failCount = this.job?.counts?.failCount;\n if (failCount) {\n this.showPartialFailureToast({ failCount, lastInvocationParams });\n }\n this.showJobCompletedSuccessfullyToast();\n this.refreshCollection();\n }\n\n resetStateParams() {\n this.job = null;\n this.currentInvocationParams = null;\n this.isDuringApplyChanges = false;\n this.updatingTagsToast?.remove();\n this.updatingTagsToast = null;\n this.closeAsyncJobProgressModal();\n }\n\n showPartialFailureToast({\n failCount,\n lastInvocationParams,\n }: {\n failCount: number;\n lastInvocationParams: AsyncBulkUpdateTagsParams<T, F> | null;\n }) {\n this.container.showToast?.({\n type: 'WARNING',\n message: this.container.translate(\n 'cairo.tags.bulkItemUpdate.toast.error',\n { total: failCount },\n ),\n action: {\n text: this.container.translate(\n 'cairo.tags.bulkItemUpdate.toast.error.CTA',\n ),\n onClick: async () => {\n if (lastInvocationParams) {\n await this.triggerBulkAssign(lastInvocationParams);\n }\n },\n removeToastOnClick: true,\n },\n biName: 'cairo-update-bulk-assign-tags-async-fail',\n });\n }\n\n showJobCompletedSuccessfullyToast() {\n this.container.showToast?.({\n type: 'SUCCESS',\n message: this.container.translate(\n 'cairo.tags.bulkItemUpdate.toast.success',\n ),\n biName: 'cairo-update-bulk-assign-tags-async-success',\n });\n }\n\n showFailToCreateJobToast(error: unknown) {\n const { errorHandler, showToast, translate: t } = this.container;\n const resolvedError = errorHandler?.getResolvedError?.(error);\n\n showToast?.({\n type: 'ERROR',\n message:\n resolvedError?.message ??\n t('cairo.tags.bulkItemUpdate.toast.error', {\n total: this.collectionState.bulkSelect.selectedCountOrTotal,\n }),\n action: resolvedError?.action,\n biName: 'cairo-update-bulk-assign-tags-async-create-job-fail',\n });\n }\n\n showFailedToPollToast(error: unknown) {\n const { errorHandler, showToast } = this.container;\n\n const resolvedError = errorHandler?.getResolvedError?.(error);\n\n showToast?.({\n type: 'ERROR',\n message: resolvedError?.message!,\n action: resolvedError?.action,\n biName: 'cairo-update-bulk-assign-tags-async-poll-fail',\n });\n }\n\n refreshCollection() {\n this.collectionState.refreshAllPages();\n }\n\n openAsyncJobProgressModal = () => {\n this.asyncJobProgressModalState.modal.open();\n };\n\n closeAsyncJobProgressModal = () => {\n this.asyncJobProgressModalState.modal.close();\n if (this.isJobInProgress) {\n this.updatingTagsToast =\n this.container.showToast?.({\n type: 'STANDARD',\n message: this.container.translate(\n 'cairo.tags.bulkItemUpdate.updatingTags.toast',\n ),\n action: {\n text: this.container.translate(\n 'cairo.tags.bulkItemUpdate.updatingTags.toast.CTA',\n ),\n onClick: async () => {\n this.openAsyncJobProgressModal();\n },\n removeToastOnClick: true,\n },\n timeout: 'NONE',\n biName: 'cairo-updating-bulk-assign-tags-async',\n }) || null;\n }\n };\n\n get isJobCompleted() {\n return this.job?.status === 'FINISHED';\n }\n\n get isJobFailed() {\n return this.job?.status === 'FAILED';\n }\n\n get isJobEnded() {\n return this.isJobCompleted || this.isJobFailed;\n }\n\n get isJobInProgress() {\n return (\n this.job?.status === 'PROCESSING' || this.job?.status === 'INITIALIZED'\n );\n }\n\n get canBulkAssignAsync() {\n return !!this.asyncBulkUpdateTags;\n }\n\n get updatedItemsPercentage() {\n if (!this.job) {\n return 0;\n }\n\n const alreadyUpdatedItemsCount =\n (this.job.counts?.successCount || 0) + (this.job.counts?.failCount || 0);\n const totalUpdatingItemsCount =\n this.job?.counts?.total ||\n this.collectionState.bulkSelect.selectedCountOrTotal;\n\n return Math.floor(\n 100 * (alreadyUpdatedItemsCount / totalUpdatingItemsCount),\n );\n }\n}\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -40,7 +40,7 @@ class TagsBulkAssignSyncState {
|
|
|
40
40
|
allSelectedItemsFetched,
|
|
41
41
|
selectedCountOrTotal
|
|
42
42
|
} = this.collectionState.bulkSelect;
|
|
43
|
-
return allSelectedItemsFetched && selectedCountOrTotal
|
|
43
|
+
return allSelectedItemsFetched && selectedCountOrTotal <= MAX_SELECTED_ENTITIES_FOR_BULK_ASSIGN_SYNC;
|
|
44
44
|
}
|
|
45
45
|
async applyChanges({
|
|
46
46
|
newAssignedTagIds,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_bi","require","MAX_SELECTED_ENTITIES_FOR_BULK_ASSIGN_SYNC","exports","TagsBulkAssignSyncState","constructor","params","_defineProperty2","default","tagsBIReporter","reportBi","cairoUndoClicked","actionName","changedAttributes","collectionState","optimisticActions","container","getTags","bulkUpdateTags","canUseBulkSync","allSelectedItemsFetched","selectedCountOrTotal","bulkSelect","applyChanges","newAssignedTagIds","newUnassignedTagIds","searchValue","_reportApplyBi","items","_calcOptimisticItems","entityIds","selectedIds","updateMany","keepPosition","submit","assignTags","privateTags","tagIds","unassignTags","successToast","biName","message","translate","showUndoToast","errorToast","onUndo","_reportUndoBi","_calculateUpdatedTagIds","item","_tags$privateTags","tags","currentTagIds","updatedTagIds","Array","from","Set","filter","tagId","includes","result","map","itemKey","length","selectedItemsIds","cairoAssignTagsToEntities","isFromSearch","itemIds","JSON","stringify","numItems","assignedTags","unAssignedTags","origin"],"sources":["../../../src/state/TagsBulkAssignSyncState.ts"],"sourcesContent":["import { FiltersMap, Tags } from '@wix/bex-core';\nimport { cairoAssignTagsToEntities, cairoUndoClicked } from '@wix/bex-core/bi';\n\nimport {\n TagsBulkAssignPopoverState,\n TagsBulkAssignPopoverStateParams,\n} from './TagsBulkAssignPopoverState';\n\nexport interface BulkUpdateTagsParams {\n entityIds: string[];\n assignTags: Tags;\n unassignTags: Tags;\n}\n\nexport interface TagsBulkAssignSyncStateParams<T, F extends FiltersMap>\n extends Pick<\n TagsBulkAssignPopoverStateParams<T, F>,\n 'bulkUpdateTags' | 'collectionState' | 'getTags'\n > {\n container: TagsBulkAssignPopoverState<T, F>['container'];\n optimisticActions: TagsBulkAssignPopoverState<T, F>['optimisticActions'];\n tagsBIReporter: TagsBulkAssignPopoverState<T, F>['tagsBIReporter'];\n}\nexport const MAX_SELECTED_ENTITIES_FOR_BULK_ASSIGN_SYNC = 100;\n\nexport class TagsBulkAssignSyncState<T, F extends FiltersMap> {\n readonly collectionState;\n readonly optimisticActions;\n readonly container;\n readonly tagsBIReporter;\n readonly bulkUpdateTags;\n readonly getTags;\n\n constructor(params: TagsBulkAssignSyncStateParams<T, F>) {\n const {\n collectionState,\n optimisticActions,\n container,\n tagsBIReporter,\n getTags,\n bulkUpdateTags,\n } = params;\n this.collectionState = collectionState;\n this.optimisticActions = optimisticActions;\n this.container = container;\n this.tagsBIReporter = tagsBIReporter;\n this.getTags = getTags;\n this.bulkUpdateTags = bulkUpdateTags;\n }\n\n get canUseBulkSync() {\n const { allSelectedItemsFetched, selectedCountOrTotal } =\n this.collectionState.bulkSelect;\n\n return (\n allSelectedItemsFetched &&\n selectedCountOrTotal < MAX_SELECTED_ENTITIES_FOR_BULK_ASSIGN_SYNC\n );\n }\n\n async applyChanges({\n newAssignedTagIds,\n newUnassignedTagIds,\n searchValue,\n }: {\n newAssignedTagIds: string[];\n newUnassignedTagIds: string[];\n searchValue: string;\n }) {\n this._reportApplyBi({\n newAssignedTagIds,\n newUnassignedTagIds,\n searchValue,\n });\n const items = this._calcOptimisticItems({\n newAssignedTagIds,\n newUnassignedTagIds,\n });\n const entityIds = this.collectionState.bulkSelect.selectedIds;\n\n this.optimisticActions.updateMany(items, {\n keepPosition: true,\n submit: async () => {\n return this.bulkUpdateTags({\n entityIds,\n assignTags: { privateTags: { tagIds: newAssignedTagIds } },\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\n private _calculateUpdatedTagIds({\n item,\n getTags,\n newAssignedTagIds,\n newUnassignedTagIds,\n }: {\n item: T;\n getTags?: (item: T) => Tags;\n newAssignedTagIds: string[];\n newUnassignedTagIds: string[];\n }) {\n const tags: Tags = (item as any).tags ?? getTags?.(item);\n\n const currentTagIds = tags?.privateTags?.tagIds || [];\n\n const updatedTagIds = Array.from(\n new Set(\n [...currentTagIds, ...newAssignedTagIds].filter(\n (tagId) => !newUnassignedTagIds.includes(tagId),\n ),\n ),\n );\n return updatedTagIds;\n }\n\n private _calcOptimisticItems({\n newAssignedTagIds,\n newUnassignedTagIds,\n }: {\n newAssignedTagIds: string[];\n newUnassignedTagIds: string[];\n }) {\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\n const updatedTagIds = this._calculateUpdatedTagIds({\n newAssignedTagIds,\n newUnassignedTagIds,\n item,\n getTags: this.getTags,\n });\n\n return { ...item, tags: { privateTags: { tagIds: updatedTagIds } } };\n });\n }\n\n private _reportApplyBi({\n newAssignedTagIds,\n newUnassignedTagIds,\n searchValue,\n }: {\n newAssignedTagIds: string[];\n newUnassignedTagIds: string[];\n searchValue: string;\n }) {\n let actionName = 'Both';\n if (newAssignedTagIds.length === 0) {\n actionName = 'Remove';\n } else if (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: searchValue !== '',\n itemIds: JSON.stringify(selectedItemsIds),\n numItems: selectedItemsIds.length,\n assignedTags: JSON.stringify(newAssignedTagIds),\n unAssignedTags: JSON.stringify(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":["_bi","require","MAX_SELECTED_ENTITIES_FOR_BULK_ASSIGN_SYNC","exports","TagsBulkAssignSyncState","constructor","params","_defineProperty2","default","tagsBIReporter","reportBi","cairoUndoClicked","actionName","changedAttributes","collectionState","optimisticActions","container","getTags","bulkUpdateTags","canUseBulkSync","allSelectedItemsFetched","selectedCountOrTotal","bulkSelect","applyChanges","newAssignedTagIds","newUnassignedTagIds","searchValue","_reportApplyBi","items","_calcOptimisticItems","entityIds","selectedIds","updateMany","keepPosition","submit","assignTags","privateTags","tagIds","unassignTags","successToast","biName","message","translate","showUndoToast","errorToast","onUndo","_reportUndoBi","_calculateUpdatedTagIds","item","_tags$privateTags","tags","currentTagIds","updatedTagIds","Array","from","Set","filter","tagId","includes","result","map","itemKey","length","selectedItemsIds","cairoAssignTagsToEntities","isFromSearch","itemIds","JSON","stringify","numItems","assignedTags","unAssignedTags","origin"],"sources":["../../../src/state/TagsBulkAssignSyncState.ts"],"sourcesContent":["import { FiltersMap, Tags } from '@wix/bex-core';\nimport { cairoAssignTagsToEntities, cairoUndoClicked } from '@wix/bex-core/bi';\n\nimport {\n TagsBulkAssignPopoverState,\n TagsBulkAssignPopoverStateParams,\n} from './TagsBulkAssignPopoverState';\n\nexport interface BulkUpdateTagsParams {\n entityIds: string[];\n assignTags: Tags;\n unassignTags: Tags;\n}\n\nexport interface TagsBulkAssignSyncStateParams<T, F extends FiltersMap>\n extends Pick<\n TagsBulkAssignPopoverStateParams<T, F>,\n 'bulkUpdateTags' | 'collectionState' | 'getTags'\n > {\n container: TagsBulkAssignPopoverState<T, F>['container'];\n optimisticActions: TagsBulkAssignPopoverState<T, F>['optimisticActions'];\n tagsBIReporter: TagsBulkAssignPopoverState<T, F>['tagsBIReporter'];\n}\nexport const MAX_SELECTED_ENTITIES_FOR_BULK_ASSIGN_SYNC = 100;\n\nexport class TagsBulkAssignSyncState<T, F extends FiltersMap> {\n readonly collectionState;\n readonly optimisticActions;\n readonly container;\n readonly tagsBIReporter;\n readonly bulkUpdateTags;\n readonly getTags;\n\n constructor(params: TagsBulkAssignSyncStateParams<T, F>) {\n const {\n collectionState,\n optimisticActions,\n container,\n tagsBIReporter,\n getTags,\n bulkUpdateTags,\n } = params;\n this.collectionState = collectionState;\n this.optimisticActions = optimisticActions;\n this.container = container;\n this.tagsBIReporter = tagsBIReporter;\n this.getTags = getTags;\n this.bulkUpdateTags = bulkUpdateTags;\n }\n\n get canUseBulkSync() {\n const { allSelectedItemsFetched, selectedCountOrTotal } =\n this.collectionState.bulkSelect;\n\n return (\n allSelectedItemsFetched &&\n selectedCountOrTotal <= MAX_SELECTED_ENTITIES_FOR_BULK_ASSIGN_SYNC\n );\n }\n\n async applyChanges({\n newAssignedTagIds,\n newUnassignedTagIds,\n searchValue,\n }: {\n newAssignedTagIds: string[];\n newUnassignedTagIds: string[];\n searchValue: string;\n }) {\n this._reportApplyBi({\n newAssignedTagIds,\n newUnassignedTagIds,\n searchValue,\n });\n const items = this._calcOptimisticItems({\n newAssignedTagIds,\n newUnassignedTagIds,\n });\n const entityIds = this.collectionState.bulkSelect.selectedIds;\n\n this.optimisticActions.updateMany(items, {\n keepPosition: true,\n submit: async () => {\n return this.bulkUpdateTags({\n entityIds,\n assignTags: { privateTags: { tagIds: newAssignedTagIds } },\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\n private _calculateUpdatedTagIds({\n item,\n getTags,\n newAssignedTagIds,\n newUnassignedTagIds,\n }: {\n item: T;\n getTags?: (item: T) => Tags;\n newAssignedTagIds: string[];\n newUnassignedTagIds: string[];\n }) {\n const tags: Tags = (item as any).tags ?? getTags?.(item);\n\n const currentTagIds = tags?.privateTags?.tagIds || [];\n\n const updatedTagIds = Array.from(\n new Set(\n [...currentTagIds, ...newAssignedTagIds].filter(\n (tagId) => !newUnassignedTagIds.includes(tagId),\n ),\n ),\n );\n return updatedTagIds;\n }\n\n private _calcOptimisticItems({\n newAssignedTagIds,\n newUnassignedTagIds,\n }: {\n newAssignedTagIds: string[];\n newUnassignedTagIds: string[];\n }) {\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\n const updatedTagIds = this._calculateUpdatedTagIds({\n newAssignedTagIds,\n newUnassignedTagIds,\n item,\n getTags: this.getTags,\n });\n\n return { ...item, tags: { privateTags: { tagIds: updatedTagIds } } };\n });\n }\n\n private _reportApplyBi({\n newAssignedTagIds,\n newUnassignedTagIds,\n searchValue,\n }: {\n newAssignedTagIds: string[];\n newUnassignedTagIds: string[];\n searchValue: string;\n }) {\n let actionName = 'Both';\n if (newAssignedTagIds.length === 0) {\n actionName = 'Remove';\n } else if (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: searchValue !== '',\n itemIds: JSON.stringify(selectedItemsIds),\n numItems: selectedItemsIds.length,\n assignedTags: JSON.stringify(newAssignedTagIds),\n unAssignedTags: JSON.stringify(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":[]}
|