@wix/patterns 1.131.0 → 1.133.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/bm/testProviderPropsOverrides.js +2 -1
- package/dist/cjs/bm/testProviderPropsOverrides.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.st.css.js +5 -5
- package/dist/cjs/components/CollectionToolbar/CollectionToolbar.st.css.js.map +1 -1
- package/dist/cjs/components/CollectionToolbar/SearchOrCustomFilter.st.css.js +3 -3
- package/dist/cjs/components/CollectionToolbar/SearchOrCustomFilter.st.css.js.map +1 -1
- package/dist/cjs/components/CollectionViewsDropdown/AutoCompleteReadonly.st.css.js +2 -2
- package/dist/cjs/components/CollectionViewsDropdown/AutoCompleteReadonly.st.css.js.map +1 -1
- package/dist/cjs/components/CollectionViewsDropdown/ViewsDropdown.st.css.js +2 -2
- package/dist/cjs/components/CollectionViewsDropdown/ViewsDropdown.st.css.js.map +1 -1
- package/dist/cjs/components/CustomFieldsForm/CustomFieldsForm.js +13 -15
- package/dist/cjs/components/CustomFieldsForm/CustomFieldsForm.js.map +1 -1
- package/dist/cjs/components/CustomFieldsWidget/CustomFieldsAllNamespacesForm.js +84 -0
- package/dist/cjs/components/CustomFieldsWidget/CustomFieldsAllNamespacesForm.js.map +1 -0
- package/dist/cjs/components/CustomFieldsWidget/CustomFieldsEmptyStateOverrides.js +2 -0
- package/dist/cjs/components/CustomFieldsWidget/CustomFieldsEmptyStateOverrides.js.map +1 -0
- package/dist/cjs/components/CustomFieldsWidget/CustomFieldsNamespaceForm.js +11 -14
- package/dist/cjs/components/CustomFieldsWidget/CustomFieldsNamespaceForm.js.map +1 -1
- package/dist/cjs/components/CustomFieldsWidget/CustomFieldsNamespaceSectionForm.js +93 -0
- package/dist/cjs/components/CustomFieldsWidget/CustomFieldsNamespaceSectionForm.js.map +1 -0
- package/dist/cjs/components/CustomFieldsWidget/CustomFieldsWidget.js +7 -16
- package/dist/cjs/components/CustomFieldsWidget/CustomFieldsWidget.js.map +1 -1
- package/dist/cjs/components/CustomFieldsWidget/CustomFieldsWidget.uni.driver.js +17 -4
- package/dist/cjs/components/CustomFieldsWidget/CustomFieldsWidget.uni.driver.js.map +1 -1
- package/dist/cjs/components/CustomFieldsWidget/CustomFieldsWidgetContent.js +9 -26
- package/dist/cjs/components/CustomFieldsWidget/CustomFieldsWidgetContent.js.map +1 -1
- package/dist/cjs/components/CustomFieldsWidget/useCustomFieldsFormState.js +22 -0
- package/dist/cjs/components/CustomFieldsWidget/useCustomFieldsFormState.js.map +1 -0
- package/dist/cjs/components/DragHandle/DragHandle.st.css.js +2 -2
- package/dist/cjs/components/DragHandle/DragHandle.st.css.js.map +1 -1
- package/dist/cjs/components/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/MultiBulkActionToolbar/MultiBulkActionToolbar.st.css.js +2 -2
- package/dist/cjs/components/MultiBulkActionToolbar/MultiBulkActionToolbar.st.css.js.map +1 -1
- 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/ScrollableContent/ScrollableContent.st.css.js +2 -2
- package/dist/cjs/components/ScrollableContent/ScrollableContent.st.css.js.map +1 -1
- package/dist/cjs/components/SkeletonCard/SkeletonCard.st.css.js +3 -3
- package/dist/cjs/components/SkeletonCard/SkeletonCard.st.css.js.map +1 -1
- package/dist/cjs/components/SlidingModal/SlidingModal.st.css.js +2 -2
- package/dist/cjs/components/SlidingModal/SlidingModal.st.css.js.map +1 -1
- package/dist/cjs/components/Table/TableVirtualHeader.st.css.js +2 -2
- package/dist/cjs/components/Table/TableVirtualHeader.st.css.js.map +1 -1
- package/dist/cjs/components/TabsFilter/TabsFilter.st.css.js +3 -3
- package/dist/cjs/components/TabsFilter/TabsFilter.st.css.js.map +1 -1
- package/dist/cjs/components/Tags/ManageTags/ManageTagsModal/ManageTagsModal.st.css.js +2 -2
- package/dist/cjs/components/Tags/ManageTags/ManageTagsModal/ManageTagsModal.st.css.js.map +1 -1
- package/dist/cjs/components/Tags/Tags.js.map +1 -1
- package/dist/cjs/components/ToolbarItemBox/ToolbarItemBox.st.css.js +2 -2
- package/dist/cjs/components/ToolbarItemBox/ToolbarItemBox.st.css.js.map +1 -1
- package/dist/cjs/components/common.st.css.js +4 -4
- package/dist/cjs/components/common.st.css.js.map +1 -1
- package/dist/cjs/dashboard/WixPatternsDashboardTestProvider.js +3 -2
- package/dist/cjs/dashboard/WixPatternsDashboardTestProvider.js.map +1 -1
- package/dist/cjs/fields/DateTime/DateTime.js.map +1 -1
- package/dist/cjs/hooks/useCustomFieldsWidget.js +10 -2
- package/dist/cjs/hooks/useCustomFieldsWidget.js.map +1 -1
- package/dist/cjs/state/CustomFields/CustomFieldsAllNamespacesFormState.js +38 -3
- package/dist/cjs/state/CustomFields/CustomFieldsAllNamespacesFormState.js.map +1 -1
- package/dist/cjs/state/CustomFields/CustomFieldsFormState.js +54 -7
- package/dist/cjs/state/CustomFields/CustomFieldsFormState.js.map +1 -1
- package/dist/cjs/state/CustomFields/CustomFieldsWidgetState.js +31 -11
- package/dist/cjs/state/CustomFields/CustomFieldsWidgetState.js.map +1 -1
- package/dist/cjs/state/TagsBulkAssignAsyncState.js +137 -0
- package/dist/cjs/state/TagsBulkAssignAsyncState.js.map +1 -0
- package/dist/cjs/state/TagsBulkAssignPopoverState.js +38 -125
- package/dist/cjs/state/TagsBulkAssignPopoverState.js.map +1 -1
- package/dist/cjs/state/TagsBulkAssignSyncState.js +145 -0
- package/dist/cjs/state/TagsBulkAssignSyncState.js.map +1 -0
- package/dist/cjs/styles.global.css +1 -1
- package/dist/cjs/test-utils/AsyncJobMocks.js +50 -0
- package/dist/cjs/test-utils/AsyncJobMocks.js.map +1 -0
- package/dist/cjs/test-utils/ExtensionWidget.js +1 -1
- package/dist/cjs/test-utils/ExtensionWidget.js.map +1 -1
- package/dist/cjs/test-utils/index.js +6 -0
- package/dist/cjs/test-utils/index.js.map +1 -1
- package/dist/cjs/version.js +1 -1
- package/dist/cjs/version.js.map +1 -1
- package/dist/esm/bm/testProviderPropsOverrides.js +2 -0
- package/dist/esm/bm/testProviderPropsOverrides.js.map +1 -1
- package/dist/esm/components/Collapse/Collapse.st.css.js +2 -2
- package/dist/esm/components/CollectionToolbar/CollectionToolbar.st.css.js +2 -2
- package/dist/esm/components/CollectionToolbar/CollectionToolbar.st.css.js.map +1 -1
- package/dist/esm/components/CollectionToolbar/SearchOrCustomFilter.st.css.js +2 -2
- package/dist/esm/components/CollectionViewsDropdown/AutoCompleteReadonly.st.css.js +2 -2
- package/dist/esm/components/CollectionViewsDropdown/ViewsDropdown.st.css.js +2 -2
- package/dist/esm/components/CollectionViewsDropdown/ViewsDropdown.st.css.js.map +1 -1
- package/dist/esm/components/CustomFieldsForm/CustomFieldsForm.js +5 -8
- package/dist/esm/components/CustomFieldsForm/CustomFieldsForm.js.map +1 -1
- package/dist/esm/components/CustomFieldsWidget/CustomFieldsAllNamespacesForm.js +29 -0
- package/dist/esm/components/CustomFieldsWidget/CustomFieldsAllNamespacesForm.js.map +1 -0
- package/dist/esm/components/CustomFieldsWidget/CustomFieldsEmptyStateOverrides.js +2 -0
- package/dist/esm/components/CustomFieldsWidget/CustomFieldsEmptyStateOverrides.js.map +1 -0
- package/dist/esm/components/CustomFieldsWidget/CustomFieldsNamespaceForm.js +12 -11
- package/dist/esm/components/CustomFieldsWidget/CustomFieldsNamespaceForm.js.map +1 -1
- package/dist/esm/components/CustomFieldsWidget/CustomFieldsNamespaceSectionForm.js +23 -0
- package/dist/esm/components/CustomFieldsWidget/CustomFieldsNamespaceSectionForm.js.map +1 -0
- package/dist/esm/components/CustomFieldsWidget/CustomFieldsWidget.js +2 -8
- package/dist/esm/components/CustomFieldsWidget/CustomFieldsWidget.js.map +1 -1
- package/dist/esm/components/CustomFieldsWidget/CustomFieldsWidget.uni.driver.js +18 -5
- package/dist/esm/components/CustomFieldsWidget/CustomFieldsWidget.uni.driver.js.map +1 -1
- package/dist/esm/components/CustomFieldsWidget/CustomFieldsWidgetContent.js +3 -10
- package/dist/esm/components/CustomFieldsWidget/CustomFieldsWidgetContent.js.map +1 -1
- package/dist/esm/components/CustomFieldsWidget/useCustomFieldsFormState.js +14 -0
- package/dist/esm/components/CustomFieldsWidget/useCustomFieldsFormState.js.map +1 -0
- package/dist/esm/components/DragHandle/DragHandle.st.css.js +2 -2
- package/dist/esm/components/DragHandle/DragHandle.st.css.js.map +1 -1
- package/dist/esm/components/Fade/Fade.st.css.js +2 -2
- package/dist/esm/components/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/MaxHeightText/MaxHeightText.st.css.js.map +1 -1
- package/dist/esm/components/MaxLines/MaxLines.st.css.js +2 -2
- package/dist/esm/components/MultiBulkActionToolbar/MultiBulkActionToolbar.st.css.js +2 -2
- package/dist/esm/components/NestedTable/NestedTablePlaceholderStatesRow.st.css.js +2 -2
- package/dist/esm/components/NestedTable/NestedTableRow.st.css.js +2 -2
- package/dist/esm/components/NestedTable/NestedTableRow.st.css.js.map +1 -1
- package/dist/esm/components/NestedTableDragAndDrop/MultipleDragOverlayEffect.st.css.js +2 -2
- package/dist/esm/components/NestedTableDragAndDrop/MultipleDragOverlayEffect.st.css.js.map +1 -1
- 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/ScrollableContent/ScrollableContent.st.css.js +2 -2
- package/dist/esm/components/ScrollableContent/ScrollableContent.st.css.js.map +1 -1
- package/dist/esm/components/SkeletonCard/SkeletonCard.st.css.js +2 -2
- package/dist/esm/components/SlidingModal/SlidingModal.st.css.js +2 -2
- package/dist/esm/components/Table/TableVirtualHeader.st.css.js +2 -2
- package/dist/esm/components/Table/TableVirtualHeader.st.css.js.map +1 -1
- package/dist/esm/components/TabsFilter/TabsFilter.st.css.js +2 -2
- package/dist/esm/components/Tags/ManageTags/ManageTagsModal/ManageTagsModal.st.css.js +2 -2
- package/dist/esm/components/Tags/ManageTags/ManageTagsModal/ManageTagsModal.st.css.js.map +1 -1
- package/dist/esm/components/Tags/Tags.js.map +1 -1
- package/dist/esm/components/ToolbarItemBox/ToolbarItemBox.st.css.js +2 -2
- package/dist/esm/components/common.st.css.js +2 -2
- package/dist/esm/components/common.st.css.js.map +1 -1
- package/dist/esm/dashboard/WixPatternsDashboardTestProvider.js +2 -0
- package/dist/esm/dashboard/WixPatternsDashboardTestProvider.js.map +1 -1
- package/dist/esm/hooks/useCustomFieldsWidget.js +8 -1
- package/dist/esm/hooks/useCustomFieldsWidget.js.map +1 -1
- package/dist/esm/state/CustomFields/CustomFieldsAllNamespacesFormState.js +28 -1
- package/dist/esm/state/CustomFields/CustomFieldsAllNamespacesFormState.js.map +1 -1
- package/dist/esm/state/CustomFields/CustomFieldsFormState.js +30 -5
- package/dist/esm/state/CustomFields/CustomFieldsFormState.js.map +1 -1
- package/dist/esm/state/CustomFields/CustomFieldsWidgetState.js +21 -12
- package/dist/esm/state/CustomFields/CustomFieldsWidgetState.js.map +1 -1
- package/dist/esm/state/TagsBulkAssignAsyncState.js +94 -0
- package/dist/esm/state/TagsBulkAssignAsyncState.js.map +1 -0
- package/dist/esm/state/TagsBulkAssignPopoverState.js +35 -93
- package/dist/esm/state/TagsBulkAssignPopoverState.js.map +1 -1
- package/dist/esm/state/TagsBulkAssignSyncState.js +92 -0
- package/dist/esm/state/TagsBulkAssignSyncState.js.map +1 -0
- package/dist/esm/styles.global.css +1 -1
- package/dist/esm/test-utils/AsyncJobMocks.js +38 -0
- package/dist/esm/test-utils/AsyncJobMocks.js.map +1 -0
- package/dist/esm/test-utils/ExtensionWidget.js +1 -1
- package/dist/esm/test-utils/ExtensionWidget.js.map +1 -1
- package/dist/esm/test-utils/index.js +1 -0
- package/dist/esm/test-utils/index.js.map +1 -1
- package/dist/esm/version.js +1 -1
- package/dist/types/bm/testProviderPropsOverrides.d.ts.map +1 -1
- package/dist/types/components/CollectionToolbar/CollectionToolbar.st.css.d.ts.map +1 -1
- package/dist/types/components/CollectionViewsDropdown/ViewsDropdown.st.css.d.ts.map +1 -1
- package/dist/types/components/CustomFieldsForm/CustomFieldsForm.d.ts +1 -2
- package/dist/types/components/CustomFieldsForm/CustomFieldsForm.d.ts.map +1 -1
- package/dist/types/components/CustomFieldsWidget/CustomFieldsAllNamespacesForm.d.ts +15 -0
- package/dist/types/components/CustomFieldsWidget/CustomFieldsAllNamespacesForm.d.ts.map +1 -0
- package/dist/types/components/CustomFieldsWidget/CustomFieldsEmptyStateOverrides.d.ts +5 -0
- package/dist/types/components/CustomFieldsWidget/CustomFieldsEmptyStateOverrides.d.ts.map +1 -0
- package/dist/types/components/CustomFieldsWidget/CustomFieldsNamespaceForm.d.ts +1 -2
- package/dist/types/components/CustomFieldsWidget/CustomFieldsNamespaceForm.d.ts.map +1 -1
- package/dist/types/components/CustomFieldsWidget/CustomFieldsNamespaceSectionForm.d.ts +15 -0
- package/dist/types/components/CustomFieldsWidget/CustomFieldsNamespaceSectionForm.d.ts.map +1 -0
- package/dist/types/components/CustomFieldsWidget/CustomFieldsWidget.d.ts.map +1 -1
- package/dist/types/components/CustomFieldsWidget/CustomFieldsWidget.uni.driver.d.ts +33 -7
- package/dist/types/components/CustomFieldsWidget/CustomFieldsWidget.uni.driver.d.ts.map +1 -1
- package/dist/types/components/CustomFieldsWidget/CustomFieldsWidgetContent.d.ts +2 -4
- package/dist/types/components/CustomFieldsWidget/CustomFieldsWidgetContent.d.ts.map +1 -1
- package/dist/types/components/CustomFieldsWidget/useCustomFieldsFormState.d.ts +9 -0
- package/dist/types/components/CustomFieldsWidget/useCustomFieldsFormState.d.ts.map +1 -0
- package/dist/types/components/DragHandle/DragHandle.st.css.d.ts.map +1 -1
- package/dist/types/components/MaxHeightText/MaxHeightText.st.css.d.ts.map +1 -1
- package/dist/types/components/NestedTable/NestedTableRow.st.css.d.ts.map +1 -1
- package/dist/types/components/NestedTableDragAndDrop/MultipleDragOverlayEffect.st.css.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/ScrollableContent/ScrollableContent.st.css.d.ts.map +1 -1
- package/dist/types/components/Table/TableVirtualHeader.st.css.d.ts.map +1 -1
- package/dist/types/components/Tags/ManageTags/ManageTagsModal/ManageTagsModal.st.css.d.ts.map +1 -1
- package/dist/types/components/Tags/Tags.d.ts +2 -1
- package/dist/types/components/Tags/Tags.d.ts.map +1 -1
- package/dist/types/components/common.st.css.d.ts.map +1 -1
- package/dist/types/dashboard/WixPatternsDashboardTestProvider.d.ts.map +1 -1
- package/dist/types/hooks/useCustomFieldsWidget.d.ts +3 -1
- package/dist/types/hooks/useCustomFieldsWidget.d.ts.map +1 -1
- package/dist/types/state/CustomFields/CustomFieldsAllNamespacesFormState.d.ts +7 -1
- package/dist/types/state/CustomFields/CustomFieldsAllNamespacesFormState.d.ts.map +1 -1
- package/dist/types/state/CustomFields/CustomFieldsFormState.d.ts +7 -4
- package/dist/types/state/CustomFields/CustomFieldsFormState.d.ts.map +1 -1
- package/dist/types/state/CustomFields/CustomFieldsWidgetState.d.ts +9 -2
- package/dist/types/state/CustomFields/CustomFieldsWidgetState.d.ts.map +1 -1
- package/dist/types/state/TagsBulkAssignAsyncState.d.ts +40 -0
- package/dist/types/state/TagsBulkAssignAsyncState.d.ts.map +1 -0
- package/dist/types/state/TagsBulkAssignPopoverState.d.ts +5 -15
- package/dist/types/state/TagsBulkAssignPopoverState.d.ts.map +1 -1
- package/dist/types/state/TagsBulkAssignSyncState.d.ts +31 -0
- package/dist/types/state/TagsBulkAssignSyncState.d.ts.map +1 -0
- package/dist/types/test-utils/AsyncJobMocks.d.ts +13 -0
- package/dist/types/test-utils/AsyncJobMocks.d.ts.map +1 -0
- package/dist/types/test-utils/index.d.ts +1 -0
- package/dist/types/test-utils/index.d.ts.map +1 -1
- package/dist/types/testkit/enzyme.d.ts +31 -3
- package/dist/types/testkit/enzyme.d.ts.map +1 -1
- package/dist/types/testkit/jsdom.d.ts +31 -3
- package/dist/types/testkit/jsdom.d.ts.map +1 -1
- package/dist/types/testkit/puppeteer.d.ts +31 -3
- package/dist/types/testkit/puppeteer.d.ts.map +1 -1
- package/dist/types/version.d.ts +1 -1
- package/package.json +4 -4
|
@@ -0,0 +1,137 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
+
exports.__esModule = true;
|
|
5
|
+
exports.TagsBulkAssignAsyncState = exports.POLL_INTERVAL = void 0;
|
|
6
|
+
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
|
7
|
+
var _mobx = require("mobx");
|
|
8
|
+
var _http = require("@wix/bex-utils/@wix/ambassador-infra-asyncjobs-v1-async-job/http");
|
|
9
|
+
const POLL_INTERVAL = exports.POLL_INTERVAL = 500;
|
|
10
|
+
class TagsBulkAssignAsyncState {
|
|
11
|
+
constructor(params) {
|
|
12
|
+
(0, _defineProperty2.default)(this, "collectionState", void 0);
|
|
13
|
+
(0, _defineProperty2.default)(this, "optimisticActions", void 0);
|
|
14
|
+
(0, _defineProperty2.default)(this, "container", void 0);
|
|
15
|
+
(0, _defineProperty2.default)(this, "tagsBIReporter", void 0);
|
|
16
|
+
(0, _defineProperty2.default)(this, "asyncBulkUpdateTags", void 0);
|
|
17
|
+
(0, _defineProperty2.default)(this, "job", null);
|
|
18
|
+
(0, _defineProperty2.default)(this, "pollTimeout", null);
|
|
19
|
+
(0, _defineProperty2.default)(this, "isDuringApplyChanges", false);
|
|
20
|
+
const {
|
|
21
|
+
collectionState,
|
|
22
|
+
optimisticActions,
|
|
23
|
+
container,
|
|
24
|
+
tagsBIReporter,
|
|
25
|
+
asyncBulkUpdateTags
|
|
26
|
+
} = params;
|
|
27
|
+
this.collectionState = collectionState;
|
|
28
|
+
this.optimisticActions = optimisticActions;
|
|
29
|
+
this.container = container;
|
|
30
|
+
this.tagsBIReporter = tagsBIReporter;
|
|
31
|
+
this.asyncBulkUpdateTags = asyncBulkUpdateTags;
|
|
32
|
+
(0, _mobx.makeObservable)(this, {
|
|
33
|
+
job: _mobx.observable.ref,
|
|
34
|
+
isDuringApplyChanges: _mobx.observable,
|
|
35
|
+
init: _mobx.action,
|
|
36
|
+
applyChanges: _mobx.action,
|
|
37
|
+
checkJobStatus: _mobx.action,
|
|
38
|
+
canBulkAssignAsync: _mobx.computed,
|
|
39
|
+
isJobCompleted: _mobx.computed,
|
|
40
|
+
isJobFailed: _mobx.computed,
|
|
41
|
+
isJobEnded: _mobx.computed,
|
|
42
|
+
isJobInProgress: _mobx.computed
|
|
43
|
+
});
|
|
44
|
+
}
|
|
45
|
+
init() {
|
|
46
|
+
const disposers = [() => {
|
|
47
|
+
if (this.pollTimeout) {
|
|
48
|
+
clearTimeout(this.pollTimeout);
|
|
49
|
+
}
|
|
50
|
+
}];
|
|
51
|
+
return () => {
|
|
52
|
+
disposers.forEach(disposer => disposer());
|
|
53
|
+
};
|
|
54
|
+
}
|
|
55
|
+
async applyChanges({
|
|
56
|
+
newAssignedTagIds,
|
|
57
|
+
newUnassignedTagIds
|
|
58
|
+
}) {
|
|
59
|
+
if (!this.asyncBulkUpdateTags) {
|
|
60
|
+
throw new Error('tried to bulk assign tags async without asyncBulkUpdateTags prop given');
|
|
61
|
+
}
|
|
62
|
+
this.isDuringApplyChanges = true;
|
|
63
|
+
const {
|
|
64
|
+
bulkSelect,
|
|
65
|
+
result
|
|
66
|
+
} = this.collectionState;
|
|
67
|
+
const {
|
|
68
|
+
allSelected,
|
|
69
|
+
selectedValues,
|
|
70
|
+
uncheckedValues
|
|
71
|
+
} = bulkSelect;
|
|
72
|
+
const {
|
|
73
|
+
jobId
|
|
74
|
+
} = await this.asyncBulkUpdateTags({
|
|
75
|
+
allSelected,
|
|
76
|
+
selectedValues,
|
|
77
|
+
uncheckedValues,
|
|
78
|
+
query: result.originQuery,
|
|
79
|
+
assignTags: {
|
|
80
|
+
privateTags: {
|
|
81
|
+
tagIds: newAssignedTagIds
|
|
82
|
+
}
|
|
83
|
+
},
|
|
84
|
+
unassignTags: {
|
|
85
|
+
privateTags: {
|
|
86
|
+
tagIds: newUnassignedTagIds
|
|
87
|
+
}
|
|
88
|
+
}
|
|
89
|
+
});
|
|
90
|
+
await this.checkJobStatus(jobId);
|
|
91
|
+
}
|
|
92
|
+
async checkJobStatus(jobId) {
|
|
93
|
+
try {
|
|
94
|
+
const {
|
|
95
|
+
data: {
|
|
96
|
+
job
|
|
97
|
+
}
|
|
98
|
+
} = await this.container.httpClient.request((0, _http.getAsyncJob)({
|
|
99
|
+
jobId
|
|
100
|
+
}));
|
|
101
|
+
(0, _mobx.runInAction)(() => {
|
|
102
|
+
this.job = job;
|
|
103
|
+
});
|
|
104
|
+
} catch (error) {
|
|
105
|
+
console.error('failed to get job status', error);
|
|
106
|
+
}
|
|
107
|
+
(0, _mobx.runInAction)(() => {
|
|
108
|
+
if (this.isJobInProgress) {
|
|
109
|
+
this.pollTimeout = setTimeout(() => this.checkJobStatus(jobId), POLL_INTERVAL);
|
|
110
|
+
} else {
|
|
111
|
+
if (this.isJobEnded) {
|
|
112
|
+
this.isDuringApplyChanges = false;
|
|
113
|
+
}
|
|
114
|
+
}
|
|
115
|
+
});
|
|
116
|
+
}
|
|
117
|
+
get isJobCompleted() {
|
|
118
|
+
var _this$job;
|
|
119
|
+
return ((_this$job = this.job) == null ? void 0 : _this$job.status) === 'FINISHED';
|
|
120
|
+
}
|
|
121
|
+
get isJobFailed() {
|
|
122
|
+
var _this$job2;
|
|
123
|
+
return ((_this$job2 = this.job) == null ? void 0 : _this$job2.status) === 'FAILED';
|
|
124
|
+
}
|
|
125
|
+
get isJobEnded() {
|
|
126
|
+
return this.isJobCompleted || this.isJobFailed;
|
|
127
|
+
}
|
|
128
|
+
get isJobInProgress() {
|
|
129
|
+
var _this$job3, _this$job4;
|
|
130
|
+
return ((_this$job3 = this.job) == null ? void 0 : _this$job3.status) === 'PROCESSING' || ((_this$job4 = this.job) == null ? void 0 : _this$job4.status) === 'INITIALIZED';
|
|
131
|
+
}
|
|
132
|
+
get canBulkAssignAsync() {
|
|
133
|
+
return !!this.asyncBulkUpdateTags;
|
|
134
|
+
}
|
|
135
|
+
}
|
|
136
|
+
exports.TagsBulkAssignAsyncState = TagsBulkAssignAsyncState;
|
|
137
|
+
//# sourceMappingURL=TagsBulkAssignAsyncState.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["_mobx","require","_http","POLL_INTERVAL","exports","TagsBulkAssignAsyncState","constructor","params","_defineProperty2","default","collectionState","optimisticActions","container","tagsBIReporter","asyncBulkUpdateTags","makeObservable","job","observable","ref","isDuringApplyChanges","init","action","applyChanges","checkJobStatus","canBulkAssignAsync","computed","isJobCompleted","isJobFailed","isJobEnded","isJobInProgress","disposers","pollTimeout","clearTimeout","forEach","disposer","newAssignedTagIds","newUnassignedTagIds","Error","bulkSelect","result","allSelected","selectedValues","uncheckedValues","jobId","query","originQuery","assignTags","privateTags","tagIds","unassignTags","data","httpClient","request","getAsyncJob","runInAction","error","console","setTimeout","_this$job","status","_this$job2","_this$job3","_this$job4"],"sources":["../../../src/state/TagsBulkAssignAsyncState.ts"],"sourcesContent":["import { FiltersMap, Tags } 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_INTERVAL = 500;\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\n job: AsyncJob | null = null;\n pollTimeout: NodeJS.Timeout | null = null;\n isDuringApplyChanges = false;\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 checkJobStatus: action,\n canBulkAssignAsync: computed,\n isJobCompleted: computed,\n isJobFailed: computed,\n isJobEnded: computed,\n isJobInProgress: computed,\n });\n }\n\n init() {\n const disposers = [\n () => {\n if (this.pollTimeout) {\n clearTimeout(this.pollTimeout);\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 if (!this.asyncBulkUpdateTags) {\n throw new Error(\n 'tried to bulk assign tags async without asyncBulkUpdateTags prop given',\n );\n }\n\n this.isDuringApplyChanges = true;\n const { bulkSelect, result } = this.collectionState;\n const { allSelected, selectedValues, uncheckedValues } = bulkSelect;\n\n const { jobId } = await this.asyncBulkUpdateTags({\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.checkJobStatus(jobId);\n }\n\n async checkJobStatus(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.pollTimeout = setTimeout(\n () => this.checkJobStatus(jobId),\n POLL_INTERVAL,\n );\n } else {\n if (this.isJobEnded) {\n this.isDuringApplyChanges = false;\n }\n }\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"],"mappings":"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","ignoreList":[]}
|
|
@@ -2,13 +2,16 @@
|
|
|
2
2
|
|
|
3
3
|
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
4
|
exports.__esModule = true;
|
|
5
|
-
exports.TagsBulkAssignPopoverState = void 0;
|
|
5
|
+
exports.TagsBulkAssignPopoverState = exports.MAX_SELECTED_ENTITIES_FOR_BULK_ASSIGN_SYNC = void 0;
|
|
6
6
|
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
|
7
7
|
var _mobx = require("mobx");
|
|
8
8
|
var _bexCore = require("@wix/bex-core");
|
|
9
9
|
var _bi = require("@wix/bex-core/bi");
|
|
10
10
|
var _uuid = require("uuid");
|
|
11
|
+
var _TagsBulkAssignAsyncState = require("./TagsBulkAssignAsyncState");
|
|
12
|
+
var _TagsBulkAssignSyncState = require("./TagsBulkAssignSyncState");
|
|
11
13
|
const origin = 'bulk_assign_popover';
|
|
14
|
+
const MAX_SELECTED_ENTITIES_FOR_BULK_ASSIGN_SYNC = exports.MAX_SELECTED_ENTITIES_FOR_BULK_ASSIGN_SYNC = 100;
|
|
12
15
|
class TagsBulkAssignPopoverState {
|
|
13
16
|
constructor({
|
|
14
17
|
tagsManagementState,
|
|
@@ -22,8 +25,8 @@ class TagsBulkAssignPopoverState {
|
|
|
22
25
|
(0, _defineProperty2.default)(this, "collectionState", void 0);
|
|
23
26
|
(0, _defineProperty2.default)(this, "optimisticActions", void 0);
|
|
24
27
|
(0, _defineProperty2.default)(this, "tagsModalState", void 0);
|
|
25
|
-
(0, _defineProperty2.default)(this, "
|
|
26
|
-
(0, _defineProperty2.default)(this, "
|
|
28
|
+
(0, _defineProperty2.default)(this, "bulkAssignSyncState", void 0);
|
|
29
|
+
(0, _defineProperty2.default)(this, "bulkAssignAsyncState", void 0);
|
|
27
30
|
(0, _defineProperty2.default)(this, "container", void 0);
|
|
28
31
|
(0, _defineProperty2.default)(this, "tagsBIReporter", void 0);
|
|
29
32
|
(0, _defineProperty2.default)(this, "getTags", void 0);
|
|
@@ -34,67 +37,6 @@ class TagsBulkAssignPopoverState {
|
|
|
34
37
|
(0, _defineProperty2.default)(this, "optimisticNewTag", null);
|
|
35
38
|
(0, _defineProperty2.default)(this, "isShown", false);
|
|
36
39
|
(0, _defineProperty2.default)(this, "searchValue", '');
|
|
37
|
-
(0, _defineProperty2.default)(this, "jobId", undefined);
|
|
38
|
-
(0, _defineProperty2.default)(this, "maxSelectedEntitiesNum", 100);
|
|
39
|
-
(0, _defineProperty2.default)(this, "bulkUpdateTagsSync", () => {
|
|
40
|
-
this._reportApplyBi();
|
|
41
|
-
const items = this._calcOptimisticItems();
|
|
42
|
-
const entityIds = this.collectionState.bulkSelect.selectedIds;
|
|
43
|
-
const assignedTagIds = this.newAssignedTagIds;
|
|
44
|
-
const newUnassignedTagIds = this.newUnassignedTagIds;
|
|
45
|
-
this.optimisticActions.updateMany(items, {
|
|
46
|
-
keepPosition: true,
|
|
47
|
-
submit: async () => {
|
|
48
|
-
return this.bulkUpdateTags({
|
|
49
|
-
entityIds,
|
|
50
|
-
assignTags: {
|
|
51
|
-
privateTags: {
|
|
52
|
-
tagIds: assignedTagIds
|
|
53
|
-
}
|
|
54
|
-
},
|
|
55
|
-
unassignTags: {
|
|
56
|
-
privateTags: {
|
|
57
|
-
tagIds: newUnassignedTagIds
|
|
58
|
-
}
|
|
59
|
-
}
|
|
60
|
-
});
|
|
61
|
-
},
|
|
62
|
-
successToast: {
|
|
63
|
-
biName: 'cairo-update-bulk-assign-tags-success',
|
|
64
|
-
message: this.container.translate('cairo.tags.applyChanges.toast.success')
|
|
65
|
-
},
|
|
66
|
-
showUndoToast: true,
|
|
67
|
-
errorToast: () => ({
|
|
68
|
-
biName: 'cairo-update-bulk-assign-tags-error',
|
|
69
|
-
message: this.container.translate('cairo.tags.collectionPage.toast.update.error')
|
|
70
|
-
}),
|
|
71
|
-
onUndo: this._reportUndoBi
|
|
72
|
-
});
|
|
73
|
-
});
|
|
74
|
-
(0, _defineProperty2.default)(this, "bulkUpdateTagsAsync", async () => {
|
|
75
|
-
var _this$asyncBulkUpdate;
|
|
76
|
-
const {
|
|
77
|
-
jobId
|
|
78
|
-
} = (await ((_this$asyncBulkUpdate = this.asyncBulkUpdateTags) == null ? void 0 : _this$asyncBulkUpdate.call(this, {
|
|
79
|
-
allSelected: this.collectionState.bulkSelect.allSelected,
|
|
80
|
-
selectedValues: this.collectionState.bulkSelect.selectedValues,
|
|
81
|
-
uncheckedValues: this.collectionState.bulkSelect.uncheckedValues,
|
|
82
|
-
query: this.collectionState.result.originQuery,
|
|
83
|
-
assignTags: {
|
|
84
|
-
privateTags: {
|
|
85
|
-
tagIds: this.newAssignedTagIds
|
|
86
|
-
}
|
|
87
|
-
},
|
|
88
|
-
unassignTags: {
|
|
89
|
-
privateTags: {
|
|
90
|
-
tagIds: this.newUnassignedTagIds
|
|
91
|
-
}
|
|
92
|
-
}
|
|
93
|
-
}))) || {
|
|
94
|
-
jobId: undefined
|
|
95
|
-
};
|
|
96
|
-
this.jobId = jobId;
|
|
97
|
-
});
|
|
98
40
|
(0, _defineProperty2.default)(this, "assignTag", async ({
|
|
99
41
|
tag
|
|
100
42
|
}) => {
|
|
@@ -149,38 +91,7 @@ class TagsBulkAssignPopoverState {
|
|
|
149
91
|
indeterminateTagIds
|
|
150
92
|
};
|
|
151
93
|
});
|
|
152
|
-
(0, _defineProperty2.default)(this, "_calItemUpdatedTagsIds", item => {
|
|
153
|
-
var _this$getTags2, _tags$privateTags2;
|
|
154
|
-
const tags = item.tags ?? ((_this$getTags2 = this.getTags) == null ? void 0 : _this$getTags2.call(this, item));
|
|
155
|
-
const currentTagIds = (tags == null || (_tags$privateTags2 = tags.privateTags) == null ? void 0 : _tags$privateTags2.tagIds) || [];
|
|
156
|
-
const updatedTagIds = Array.from(new Set([...currentTagIds, ...this.newAssignedTagIds].filter(tagId => !this.newUnassignedTagIds.includes(tagId))));
|
|
157
|
-
return updatedTagIds;
|
|
158
|
-
});
|
|
159
|
-
(0, _defineProperty2.default)(this, "_calcOptimisticItems", () => {
|
|
160
|
-
return this.collectionState.result.items.map(item => {
|
|
161
|
-
const selectedIds = this.collectionState.bulkSelect.selectedIds;
|
|
162
|
-
const itemKey = this.collectionState.itemKey(item);
|
|
163
|
-
if (!selectedIds.includes(itemKey)) {
|
|
164
|
-
return item;
|
|
165
|
-
}
|
|
166
|
-
const updatedTagIds = this._calItemUpdatedTagsIds(item);
|
|
167
|
-
return {
|
|
168
|
-
...item,
|
|
169
|
-
tags: {
|
|
170
|
-
privateTags: {
|
|
171
|
-
tagIds: updatedTagIds
|
|
172
|
-
}
|
|
173
|
-
}
|
|
174
|
-
};
|
|
175
|
-
});
|
|
176
|
-
});
|
|
177
94
|
(0, _defineProperty2.default)(this, "_isInitialUnassignedTag", tag => !this.initialIndeterminateTagIds.includes(tag.id) && !this.initialSelectedIds.includes(tag.id));
|
|
178
|
-
(0, _defineProperty2.default)(this, "_reportUndoBi", () => {
|
|
179
|
-
this.tagsBIReporter.reportBi((0, _bi.cairoUndoClicked)({
|
|
180
|
-
actionName: 'Save',
|
|
181
|
-
changedAttributes: 'Tags Assignment'
|
|
182
|
-
}));
|
|
183
|
-
});
|
|
184
95
|
this.tagsManagementState = tagsManagementState;
|
|
185
96
|
this.collectionState = collectionState;
|
|
186
97
|
this.optimisticActions = collectionState._optimisticActions ?? new _bexCore.CollectionOptimisticActions({
|
|
@@ -196,14 +107,26 @@ class TagsBulkAssignPopoverState {
|
|
|
196
107
|
location: 'Bulk assign tags popover'
|
|
197
108
|
});
|
|
198
109
|
this.tagsModalState = tagsModalState;
|
|
199
|
-
this.bulkUpdateTags = bulkUpdateTags;
|
|
200
|
-
this.asyncBulkUpdateTags = asyncBulkUpdateTags;
|
|
201
110
|
this.container = tagsManagementState.container;
|
|
202
111
|
this.getTags = getTags;
|
|
112
|
+
this.bulkAssignSyncState = new _TagsBulkAssignSyncState.TagsBulkAssignSyncState({
|
|
113
|
+
collectionState,
|
|
114
|
+
optimisticActions: this.optimisticActions,
|
|
115
|
+
container: this.container,
|
|
116
|
+
tagsBIReporter: this.tagsBIReporter,
|
|
117
|
+
getTags,
|
|
118
|
+
bulkUpdateTags
|
|
119
|
+
});
|
|
120
|
+
this.bulkAssignAsyncState = new _TagsBulkAssignAsyncState.TagsBulkAssignAsyncState({
|
|
121
|
+
collectionState,
|
|
122
|
+
optimisticActions: this.optimisticActions,
|
|
123
|
+
container: this.container,
|
|
124
|
+
tagsBIReporter: this.tagsBIReporter,
|
|
125
|
+
asyncBulkUpdateTags
|
|
126
|
+
});
|
|
203
127
|
(0, _mobx.makeObservable)(this, {
|
|
204
128
|
init: _mobx.action,
|
|
205
129
|
isShown: _mobx.observable,
|
|
206
|
-
jobId: _mobx.observable,
|
|
207
130
|
initialSelectedIds: _mobx.observable,
|
|
208
131
|
initialIndeterminateTagIds: _mobx.observable,
|
|
209
132
|
indeterminateTagIds: _mobx.observable,
|
|
@@ -222,7 +145,7 @@ class TagsBulkAssignPopoverState {
|
|
|
222
145
|
});
|
|
223
146
|
}
|
|
224
147
|
init() {
|
|
225
|
-
const disposers = [this.optimisticActions.init()];
|
|
148
|
+
const disposers = [this.optimisticActions.init(), this.bulkAssignAsyncState.init()];
|
|
226
149
|
return () => {
|
|
227
150
|
disposers.forEach(disposer => disposer());
|
|
228
151
|
};
|
|
@@ -284,10 +207,20 @@ class TagsBulkAssignPopoverState {
|
|
|
284
207
|
});
|
|
285
208
|
}
|
|
286
209
|
async applyChanges() {
|
|
210
|
+
const {
|
|
211
|
+
searchValue,
|
|
212
|
+
newAssignedTagIds,
|
|
213
|
+
newUnassignedTagIds
|
|
214
|
+
} = this;
|
|
215
|
+
const params = {
|
|
216
|
+
searchValue,
|
|
217
|
+
newAssignedTagIds,
|
|
218
|
+
newUnassignedTagIds
|
|
219
|
+
};
|
|
287
220
|
if (this.shouldlUseBulkSync) {
|
|
288
|
-
this.
|
|
221
|
+
this.bulkAssignSyncState.applyChanges(params);
|
|
289
222
|
} else {
|
|
290
|
-
await this.
|
|
223
|
+
await this.bulkAssignAsyncState.applyChanges(params);
|
|
291
224
|
}
|
|
292
225
|
this.closePopover();
|
|
293
226
|
}
|
|
@@ -364,11 +297,11 @@ class TagsBulkAssignPopoverState {
|
|
|
364
297
|
allSelectedItemsFetched,
|
|
365
298
|
selectedCountOrTotal
|
|
366
299
|
} = this.collectionState.bulkSelect;
|
|
367
|
-
return allSelectedItemsFetched && selectedCountOrTotal <
|
|
300
|
+
return allSelectedItemsFetched && selectedCountOrTotal < MAX_SELECTED_ENTITIES_FOR_BULK_ASSIGN_SYNC;
|
|
368
301
|
}
|
|
369
302
|
get canUseBulkUpdate() {
|
|
370
|
-
//
|
|
371
|
-
if (this.
|
|
303
|
+
// Cannot invoke bulk assign while applying async changes
|
|
304
|
+
if (this.bulkAssignAsyncState.isDuringApplyChanges) {
|
|
372
305
|
return false;
|
|
373
306
|
}
|
|
374
307
|
|
|
@@ -378,7 +311,7 @@ class TagsBulkAssignPopoverState {
|
|
|
378
311
|
}
|
|
379
312
|
|
|
380
313
|
// can use async
|
|
381
|
-
return
|
|
314
|
+
return this.bulkAssignAsyncState.canBulkAssignAsync;
|
|
382
315
|
}
|
|
383
316
|
get isError() {
|
|
384
317
|
return this.tagsManagementState.isError;
|
|
@@ -413,26 +346,6 @@ class TagsBulkAssignPopoverState {
|
|
|
413
346
|
_reportSearchEventsBi(event) {
|
|
414
347
|
return this.tagsBIReporter.events.emit(event);
|
|
415
348
|
}
|
|
416
|
-
_reportApplyBi() {
|
|
417
|
-
let actionName = 'Both';
|
|
418
|
-
if (this.newAssignedTagIds.length === 0) {
|
|
419
|
-
actionName = 'Remove';
|
|
420
|
-
} else if (this.newUnassignedTagIds.length === 0) {
|
|
421
|
-
actionName = 'Assign';
|
|
422
|
-
}
|
|
423
|
-
const {
|
|
424
|
-
selectedIds: selectedItemsIds
|
|
425
|
-
} = this.collectionState.bulkSelect;
|
|
426
|
-
this.tagsBIReporter.reportBi((0, _bi.cairoAssignTagsToEntities)({
|
|
427
|
-
actionName,
|
|
428
|
-
isFromSearch: this.searchValue !== '',
|
|
429
|
-
itemIds: JSON.stringify(selectedItemsIds),
|
|
430
|
-
numItems: selectedItemsIds.length,
|
|
431
|
-
assignedTags: JSON.stringify(this.newAssignedTagIds),
|
|
432
|
-
unAssignedTags: JSON.stringify(this.newUnassignedTagIds),
|
|
433
|
-
origin: 'Assign Tags Modal'
|
|
434
|
-
}));
|
|
435
|
-
}
|
|
436
349
|
}
|
|
437
350
|
exports.TagsBulkAssignPopoverState = TagsBulkAssignPopoverState;
|
|
438
351
|
//# sourceMappingURL=TagsBulkAssignPopoverState.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_mobx","require","_bexCore","_bi","_uuid","origin","TagsBulkAssignPopoverState","constructor","tagsManagementState","collectionState","tagsModalState","bulkUpdateTags","asyncBulkUpdateTags","getTags","_defineProperty2","default","undefined","_reportApplyBi","items","_calcOptimisticItems","entityIds","bulkSelect","selectedIds","assignedTagIds","newAssignedTagIds","newUnassignedTagIds","optimisticActions","updateMany","keepPosition","submit","assignTags","privateTags","tagIds","unassignTags","successToast","biName","message","container","translate","showUndoToast","errorToast","onUndo","_reportUndoBi","_this$asyncBulkUpdate","jobId","call","allSelected","selectedValues","uncheckedValues","query","result","originQuery","tag","optimisticNewTag","includes","id","push","tagName","tagId","name","createdDate","Date","updatedAssignedTagIds","filter","assignedTagId","selectedKeyedItems","tagsCount","reduce","forEach","selectedKeyedItem","_this$getTags","_tags$privateTags","tags","item","entityTagIds","Set","entityTagId","selectedTagIds","indeterminateTagIds","tagCount","Object","entries","length","_this$getTags2","_tags$privateTags2","currentTagIds","updatedTagIds","Array","from","map","itemKey","_calItemUpdatedTagsIds","initialIndeterminateTagIds","initialSelectedIds","tagsBIReporter","reportBi","cairoUndoClicked","actionName","changedAttributes","_optimisticActions","CollectionOptimisticActions","collection","TagsBIReporter","createBILogger","componentType","fqdn","location","makeObservable","init","action","isShown","observable","searchValue","showPopover","closePopover","applyChanges","handleManageTagsCtaClick","handleItemSelect","handleSearchChange","createAndAssignTag","retry","ref","assignedTags","computed","disposers","disposer","_reportPopoverShowChangedBi","_initSelectionState","_reportSearchEventsBi","slice","TAG_MAX_LENGTH","uuid","assignTagOptimistic","createTag","filteredListSize","isFromSearch","onSuccess","newTag","assignTag","optimisticActionParams","error","_this$container$error","_this$container$error2","resolvedError","errorHandler","getResolvedError","shouldlUseBulkSync","bulkUpdateTagsSync","bulkUpdateTagsAsync","openManageTagsModal","tagSubOrigin","itemId","currentTag","find","indeterminateTagId","assignedWithOptimisticTagIds","unassignTag","_reportSearchChangedBi","isInEmptyState","isSuccessful","tagOptions","sort","tag1","tag2","isTag1InitialUnassigned","_isInitialUnassignedTag","isTag2InitialUnassigned","valueOf","savedAssignedTags","element","Boolean","allSelectedItemsFetched","selectedCountOrTotal","maxSelectedEntitiesNum","canUseBulkUpdate","isError","isLoading","isDirty","_calcTagsCount","_getSelectedTagsIdsStatus","isOpened","cairoFiltersPanelUsed","feature","onSearch","_clearAllEvents","event","events","emit","selectedItemsIds","cairoAssignTagsToEntities","itemIds","JSON","stringify","numItems","unAssignedTags","exports"],"sources":["../../../src/state/TagsBulkAssignPopoverState.ts"],"sourcesContent":["import { action, makeObservable, computed, observable } from 'mobx';\nimport { TagsModalState } from './TagsModalState';\nimport { Tag } from '@wix/bex-utils/@wix/ambassador-os-tags-v1-tag/types';\nimport {\n CollectionOptimisticActions,\n CollectionState,\n FiltersMap,\n KeyedItem,\n TAG_MAX_LENGTH,\n Tags,\n TagsBIReporter,\n TagsManagementState,\n} from '@wix/bex-core';\nimport {\n cairoAssignTagsToEntities,\n cairoFiltersPanelUsed,\n cairoUndoClicked,\n} from '@wix/bex-core/bi';\nimport { v4 as uuid } from 'uuid';\nimport { TagsProps } from '../components/Tags';\nimport { BulkActionModalRenderPropParams } from '../components/BulkAction';\n\nconst origin = 'bulk_assign_popover';\n\nexport interface BulkUpdateTagsParams {\n entityIds: string[];\n assignTags: Tags;\n unassignTags: Tags;\n}\n\nexport interface TagsBulkAssignPopoverStateParams<T, F extends FiltersMap>\n extends Pick<\n TagsProps<T, F>,\n 'bulkUpdateTags' | 'asyncBulkUpdateTags' | 'getTags'\n > {\n readonly tagsManagementState: TagsManagementState;\n readonly tagsModalState: TagsModalState;\n readonly collectionState: CollectionState<T, F>;\n}\n\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 class TagsBulkAssignPopoverState<T, F extends FiltersMap> {\n readonly tagsManagementState: TagsManagementState;\n readonly collectionState;\n readonly optimisticActions: CollectionOptimisticActions<T, F>;\n readonly tagsModalState;\n readonly bulkUpdateTags: TagsProps<T, F>['bulkUpdateTags'];\n readonly asyncBulkUpdateTags: TagsProps<T, F>['asyncBulkUpdateTags'];\n readonly container;\n readonly tagsBIReporter: TagsBIReporter;\n readonly getTags?: (item: T) => Tags;\n initialSelectedIds: string[] = [];\n initialIndeterminateTagIds: string[] = [];\n indeterminateTagIds: string[] = [];\n assignedTagIds: string[] = [];\n optimisticNewTag: Tag | null = null;\n isShown = false;\n searchValue: string = '';\n jobId?: string = undefined;\n\n maxSelectedEntitiesNum = 100;\n\n constructor({\n tagsManagementState,\n collectionState,\n tagsModalState,\n bulkUpdateTags,\n asyncBulkUpdateTags,\n getTags,\n }: TagsBulkAssignPopoverStateParams<T, F>) {\n this.tagsManagementState = tagsManagementState;\n this.collectionState = collectionState;\n this.optimisticActions =\n collectionState._optimisticActions ??\n new CollectionOptimisticActions<T, F>({\n container: this.tagsManagementState.container,\n collection: this.collectionState,\n });\n this.tagsBIReporter = new TagsBIReporter({\n collection: this.tagsManagementState.collection,\n reportBi: this.tagsManagementState.container.createBILogger({\n componentType: 'TagsBulkAssignPopover',\n ...tagsManagementState.fqdn,\n }),\n location: 'Bulk assign tags popover',\n });\n this.tagsModalState = tagsModalState;\n this.bulkUpdateTags = bulkUpdateTags;\n this.asyncBulkUpdateTags = asyncBulkUpdateTags;\n this.container = tagsManagementState.container;\n this.getTags = getTags;\n\n makeObservable(this, {\n init: action,\n isShown: observable,\n jobId: observable,\n initialSelectedIds: observable,\n initialIndeterminateTagIds: observable,\n indeterminateTagIds: observable,\n searchValue: observable,\n showPopover: action,\n closePopover: action,\n applyChanges: action,\n handleManageTagsCtaClick: action,\n handleItemSelect: action,\n handleSearchChange: action,\n createAndAssignTag: action,\n retry: action,\n assignedTagIds: observable,\n optimisticNewTag: observable.ref,\n assignedTags: computed,\n });\n }\n\n init() {\n const disposers = [this.optimisticActions.init()];\n\n return () => {\n disposers.forEach((disposer) => disposer());\n };\n }\n\n async showPopover() {\n if (this.isShown) {\n return;\n }\n\n this.isShown = true;\n this._reportPopoverShowChangedBi(true);\n const { selectedTagIds, indeterminateTagIds } = this._initSelectionState();\n this.initialSelectedIds = selectedTagIds;\n this.assignedTagIds = selectedTagIds;\n this.initialIndeterminateTagIds = indeterminateTagIds;\n this.indeterminateTagIds = indeterminateTagIds;\n }\n\n closePopover() {\n this._reportPopoverShowChangedBi(false);\n this._reportSearchEventsBi('blur');\n this.isShown = false;\n this.assignedTagIds = [];\n this.initialSelectedIds = [];\n this.initialIndeterminateTagIds = [];\n this.indeterminateTagIds = [];\n }\n\n async createAndAssignTag(name: string) {\n this._reportSearchEventsBi('add');\n const tagName = name.slice(0, TAG_MAX_LENGTH);\n const id = uuid();\n this.assignTagOptimistic(tagName, id);\n this.tagsManagementState.createTag({\n name,\n id,\n filteredListSize: 0,\n origin,\n isFromSearch: true,\n tagsBIReporter: this.tagsBIReporter,\n onSuccess: (newTag) => this.assignTag({ tag: newTag }),\n optimisticActionParams: {\n successToast: {\n biName: 'cairo-save-new-tag-success',\n message: this.container.translate(\n 'cairo.tags.popover.tagCreated.toast.success',\n ),\n },\n errorToast: (error) => {\n const resolvedError =\n this.container.errorHandler.getResolvedError?.(error);\n return {\n biName: 'cairo-save-new-tag-error',\n message:\n resolvedError?.message ??\n this.container.translate(\n 'cairo.tags.collectionPage.toast.create.error',\n ),\n action: resolvedError?.action,\n };\n },\n },\n });\n }\n\n async applyChanges() {\n if (this.shouldlUseBulkSync) {\n this.bulkUpdateTagsSync();\n } else {\n await this.bulkUpdateTagsAsync();\n }\n\n this.closePopover();\n }\n\n bulkUpdateTagsSync = () => {\n this._reportApplyBi();\n const items = this._calcOptimisticItems();\n const entityIds = this.collectionState.bulkSelect.selectedIds;\n const assignedTagIds = this.newAssignedTagIds;\n const newUnassignedTagIds = this.newUnassignedTagIds;\n this.optimisticActions.updateMany(items, {\n keepPosition: true,\n submit: async () => {\n return this.bulkUpdateTags({\n entityIds,\n assignTags: { privateTags: { tagIds: assignedTagIds } },\n unassignTags: { privateTags: { tagIds: newUnassignedTagIds } },\n });\n },\n successToast: {\n biName: 'cairo-update-bulk-assign-tags-success',\n message: this.container.translate(\n 'cairo.tags.applyChanges.toast.success',\n ),\n },\n showUndoToast: true,\n errorToast: () => ({\n biName: 'cairo-update-bulk-assign-tags-error',\n message: this.container.translate(\n 'cairo.tags.collectionPage.toast.update.error',\n ),\n }),\n onUndo: this._reportUndoBi,\n });\n };\n\n bulkUpdateTagsAsync = async () => {\n const { jobId } = (await this.asyncBulkUpdateTags?.({\n allSelected: this.collectionState.bulkSelect.allSelected,\n selectedValues: this.collectionState.bulkSelect.selectedValues,\n uncheckedValues: this.collectionState.bulkSelect.uncheckedValues,\n query: this.collectionState.result.originQuery,\n assignTags: { privateTags: { tagIds: this.newAssignedTagIds } },\n unassignTags: { privateTags: { tagIds: this.newUnassignedTagIds } },\n })) || { jobId: undefined };\n\n this.jobId = jobId;\n };\n\n handleManageTagsCtaClick() {\n this.closePopover();\n this.tagsModalState.openManageTagsModal({\n origin,\n tagSubOrigin: 'bulkAssignPopover',\n });\n }\n\n handleItemSelect(itemId: string) {\n const currentTag = this.tagsManagementState.items.find(\n (tag) => tag.id === itemId,\n );\n if (!currentTag) {\n return;\n }\n\n this._reportSearchEventsBi('select');\n\n if (\n this.initialIndeterminateTagIds.includes(itemId) &&\n this.indeterminateTagIds.includes(itemId)\n ) {\n this.indeterminateTagIds = this.indeterminateTagIds.filter(\n (indeterminateTagId) => indeterminateTagId !== itemId,\n );\n }\n\n if (this.assignedWithOptimisticTagIds.includes(itemId)) {\n this.unassignTag({ tag: currentTag });\n } else {\n this.assignTag({ tag: currentTag });\n }\n }\n\n handleSearchChange(searchValue: string) {\n this._reportSearchChangedBi(searchValue);\n this.searchValue = searchValue;\n }\n\n retry() {\n this.tagsManagementState.retry();\n }\n\n get isInEmptyState() {\n return (\n this.tagsManagementState.isSuccessful &&\n this.tagsManagementState.items.length === 0\n );\n }\n\n get tagOptions() {\n return this.tagsManagementState.items.sort((tag1, tag2) => {\n const isTag1InitialUnassigned = this._isInitialUnassignedTag(tag1);\n const isTag2InitialUnassigned = this._isInitialUnassignedTag(tag2);\n\n // Showing first assigned/indeterminate tags, and unassigned tags below it\n if (!isTag1InitialUnassigned && isTag2InitialUnassigned) {\n return -1;\n }\n\n if (isTag1InitialUnassigned && !isTag2InitialUnassigned) {\n return 1;\n }\n\n // Sub order by showing first newer tags\n return (\n new Date(tag2.createdDate!).valueOf() -\n new Date(tag1.createdDate!).valueOf()\n );\n });\n }\n\n get assignedTags() {\n const savedAssignedTags = this.assignedTagIds\n .map((tagId) => {\n return this.tagsManagementState.items.find((tag) => tag.id === tagId);\n })\n .filter((element) => Boolean(element)) as Tag[];\n return this.optimisticNewTag\n ? [...savedAssignedTags, this.optimisticNewTag]\n : savedAssignedTags;\n }\n\n get assignedWithOptimisticTagIds() {\n return this.assignedTags.map((tag) => tag.id!);\n }\n\n get newAssignedTagIds() {\n return this.assignedTagIds.filter(\n (tagId) => !this.initialSelectedIds.includes(tagId),\n );\n }\n\n get newUnassignedTagIds() {\n return [\n ...this.initialSelectedIds.filter(\n (tagId) => !this.assignedTagIds.includes(tagId),\n ),\n ...this.initialIndeterminateTagIds.filter(\n (tagId) =>\n ![...this.assignedTagIds, ...this.indeterminateTagIds].includes(\n tagId,\n ),\n ),\n ];\n }\n\n get shouldlUseBulkSync() {\n const { allSelectedItemsFetched, selectedCountOrTotal } =\n this.collectionState.bulkSelect;\n\n return (\n allSelectedItemsFetched &&\n selectedCountOrTotal < this.maxSelectedEntitiesNum\n );\n }\n\n get canUseBulkUpdate() {\n // if we have jobId we are in the middle of async job and should not run another one\n if (this.jobId) {\n return false;\n }\n\n // can use sync\n if (this.shouldlUseBulkSync) {\n return true;\n }\n\n // can use async\n return !!this.asyncBulkUpdateTags;\n }\n\n get isError() {\n return this.tagsManagementState.isError;\n }\n\n get isLoading() {\n return this.tagsManagementState.isLoading;\n }\n\n get isDirty() {\n return (\n this.newAssignedTagIds.length > 0 || this.newUnassignedTagIds.length > 0\n );\n }\n\n assignTag = async ({ tag }: { tag: Tag }) => {\n this.optimisticNewTag = null;\n if (this.assignedTagIds.includes(tag.id!)) {\n return;\n }\n\n this.assignedTagIds.push(tag.id!);\n };\n\n assignTagOptimistic = (tagName: string, tagId: string = 'fake tag id') => {\n this.optimisticNewTag = {\n id: tagId,\n name: tagName,\n createdDate: new Date(),\n };\n };\n\n unassignTag = async ({ tag }: { tag: Tag }) => {\n const updatedAssignedTagIds = this.assignedTagIds.filter(\n (assignedTagId) => assignedTagId !== tag.id,\n );\n\n this.assignedTagIds = updatedAssignedTagIds;\n };\n\n private _calcTagsCount = (selectedKeyedItems: KeyedItem<T>[]) => {\n const tagsCount = this.tagsManagementState.items.reduce(\n (result: Record<string, number>, tag) => {\n result[tag.id!] = 0;\n return result;\n },\n {},\n );\n\n selectedKeyedItems.forEach((selectedKeyedItem) => {\n const tags: Tags =\n (selectedKeyedItem.item as any).tags ??\n this.getTags?.(selectedKeyedItem.item);\n\n const entityTagIds = (tags?.privateTags?.tagIds as string[]) || [];\n\n [...new Set(entityTagIds)].forEach((entityTagId) => {\n if (entityTagId in tagsCount) {\n tagsCount[entityTagId]++;\n }\n });\n });\n return tagsCount;\n };\n\n private _getSelectedTagsIdsStatus = (\n tagsCount: Record<string, number>,\n selectedKeyedItems: KeyedItem<T>[],\n ) => {\n const selectedTagIds: string[] = [];\n const indeterminateTagIds: string[] = [];\n for (const [tagId, tagCount] of Object.entries(tagsCount)) {\n if (tagCount === selectedKeyedItems.length) {\n selectedTagIds.push(tagId);\n } else if (tagCount > 0) {\n indeterminateTagIds.push(tagId);\n }\n }\n return { selectedTagIds, indeterminateTagIds };\n };\n\n private _calItemUpdatedTagsIds = (item: T) => {\n const tags: Tags = (item as any).tags ?? this.getTags?.(item);\n\n const currentTagIds = (tags?.privateTags?.tagIds as string[]) || [];\n\n const updatedTagIds = Array.from(\n new Set(\n [...currentTagIds, ...this.newAssignedTagIds].filter(\n (tagId) => !this.newUnassignedTagIds.includes(tagId),\n ),\n ),\n );\n return updatedTagIds;\n };\n\n private _calcOptimisticItems = () => {\n return this.collectionState.result.items.map((item: T) => {\n const selectedIds = this.collectionState.bulkSelect.selectedIds;\n const itemKey = this.collectionState.itemKey(item);\n if (!selectedIds.includes(itemKey)) {\n return item;\n }\n const updatedTagIds = this._calItemUpdatedTagsIds(item);\n return { ...item, tags: { privateTags: { tagIds: updatedTagIds } } };\n });\n };\n\n private _initSelectionState() {\n const { selectedKeyedItems } = this.collectionState.bulkSelect;\n const tagsCount = this._calcTagsCount(selectedKeyedItems);\n return this._getSelectedTagsIdsStatus(tagsCount, selectedKeyedItems);\n }\n\n private _isInitialUnassignedTag = (tag: Tag) =>\n !this.initialIndeterminateTagIds.includes(tag.id!) &&\n !this.initialSelectedIds.includes(tag.id!);\n\n private _reportPopoverShowChangedBi(isOpened: boolean) {\n this.tagsBIReporter.reportBi(\n cairoFiltersPanelUsed({\n isOpened,\n feature: 'Tags',\n origin: 'Assign Tags',\n }),\n );\n }\n\n private _reportSearchChangedBi(searchValue: string) {\n if (searchValue !== '') {\n this.tagsBIReporter.onSearch(searchValue);\n } else {\n this.tagsBIReporter._clearAllEvents();\n }\n }\n\n private _reportSearchEventsBi(event: 'add' | 'select' | 'blur') {\n return this.tagsBIReporter.events.emit(event);\n }\n\n private _reportApplyBi() {\n let actionName = 'Both';\n if (this.newAssignedTagIds.length === 0) {\n actionName = 'Remove';\n } else if (this.newUnassignedTagIds.length === 0) {\n actionName = 'Assign';\n }\n\n const { selectedIds: selectedItemsIds } = this.collectionState.bulkSelect;\n\n this.tagsBIReporter.reportBi(\n cairoAssignTagsToEntities({\n actionName,\n isFromSearch: this.searchValue !== '',\n itemIds: JSON.stringify(selectedItemsIds),\n numItems: selectedItemsIds.length,\n assignedTags: JSON.stringify(this.newAssignedTagIds),\n unAssignedTags: JSON.stringify(this.newUnassignedTagIds),\n origin: 'Assign Tags Modal',\n }),\n );\n }\n\n private _reportUndoBi = () => {\n this.tagsBIReporter.reportBi(\n cairoUndoClicked({\n actionName: 'Save',\n changedAttributes: 'Tags Assignment',\n }),\n );\n };\n}\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["_mobx","require","_bexCore","_bi","_uuid","_TagsBulkAssignAsyncState","_TagsBulkAssignSyncState","origin","MAX_SELECTED_ENTITIES_FOR_BULK_ASSIGN_SYNC","exports","TagsBulkAssignPopoverState","constructor","tagsManagementState","collectionState","tagsModalState","bulkUpdateTags","asyncBulkUpdateTags","getTags","_defineProperty2","default","tag","optimisticNewTag","assignedTagIds","includes","id","push","tagName","tagId","name","createdDate","Date","updatedAssignedTagIds","filter","assignedTagId","selectedKeyedItems","tagsCount","items","reduce","result","forEach","selectedKeyedItem","_this$getTags","_tags$privateTags","tags","item","call","entityTagIds","privateTags","tagIds","Set","entityTagId","selectedTagIds","indeterminateTagIds","tagCount","Object","entries","length","initialIndeterminateTagIds","initialSelectedIds","optimisticActions","_optimisticActions","CollectionOptimisticActions","container","collection","tagsBIReporter","TagsBIReporter","reportBi","createBILogger","componentType","fqdn","location","bulkAssignSyncState","TagsBulkAssignSyncState","bulkAssignAsyncState","TagsBulkAssignAsyncState","makeObservable","init","action","isShown","observable","searchValue","showPopover","closePopover","applyChanges","handleManageTagsCtaClick","handleItemSelect","handleSearchChange","createAndAssignTag","retry","ref","assignedTags","computed","disposers","disposer","_reportPopoverShowChangedBi","_initSelectionState","_reportSearchEventsBi","slice","TAG_MAX_LENGTH","uuid","assignTagOptimistic","createTag","filteredListSize","isFromSearch","onSuccess","newTag","assignTag","optimisticActionParams","successToast","biName","message","translate","errorToast","error","_this$container$error","_this$container$error2","resolvedError","errorHandler","getResolvedError","newAssignedTagIds","newUnassignedTagIds","params","shouldlUseBulkSync","openManageTagsModal","tagSubOrigin","itemId","currentTag","find","indeterminateTagId","assignedWithOptimisticTagIds","unassignTag","_reportSearchChangedBi","isInEmptyState","isSuccessful","tagOptions","sort","tag1","tag2","isTag1InitialUnassigned","_isInitialUnassignedTag","isTag2InitialUnassigned","valueOf","savedAssignedTags","map","element","Boolean","allSelectedItemsFetched","selectedCountOrTotal","bulkSelect","canUseBulkUpdate","isDuringApplyChanges","canBulkAssignAsync","isError","isLoading","isDirty","_calcTagsCount","_getSelectedTagsIdsStatus","isOpened","cairoFiltersPanelUsed","feature","onSearch","_clearAllEvents","event","events","emit"],"sources":["../../../src/state/TagsBulkAssignPopoverState.ts"],"sourcesContent":["import { action, makeObservable, computed, observable } from 'mobx';\nimport { TagsModalState } from './TagsModalState';\nimport { Tag } from '@wix/bex-utils/@wix/ambassador-os-tags-v1-tag/types';\nimport {\n CollectionOptimisticActions,\n CollectionState,\n FiltersMap,\n KeyedItem,\n TAG_MAX_LENGTH,\n Tags,\n TagsBIReporter,\n TagsManagementState,\n} from '@wix/bex-core';\nimport { cairoFiltersPanelUsed } from '@wix/bex-core/bi';\nimport { v4 as uuid } from 'uuid';\nimport { TagsProps } from '../components/Tags';\nimport { TagsBulkAssignAsyncState } from './TagsBulkAssignAsyncState';\nimport { TagsBulkAssignSyncState } from './TagsBulkAssignSyncState';\n\nconst origin = 'bulk_assign_popover';\n\nexport interface BulkUpdateTagsParams {\n entityIds: string[];\n assignTags: Tags;\n unassignTags: Tags;\n}\n\nexport interface TagsBulkAssignPopoverStateParams<T, F extends FiltersMap>\n extends Pick<\n TagsProps<T, F>,\n 'bulkUpdateTags' | 'asyncBulkUpdateTags' | 'getTags'\n > {\n readonly tagsManagementState: TagsManagementState;\n readonly tagsModalState: TagsModalState;\n readonly collectionState: CollectionState<T, F>;\n}\n\nexport const MAX_SELECTED_ENTITIES_FOR_BULK_ASSIGN_SYNC = 100;\n\nexport class TagsBulkAssignPopoverState<T, F extends FiltersMap> {\n readonly tagsManagementState: TagsManagementState;\n readonly collectionState;\n readonly optimisticActions: CollectionOptimisticActions<T, F>;\n readonly tagsModalState;\n readonly bulkAssignSyncState: TagsBulkAssignSyncState<T, F>;\n readonly bulkAssignAsyncState: TagsBulkAssignAsyncState<T, F>;\n readonly container;\n readonly tagsBIReporter: TagsBIReporter;\n readonly getTags?: (item: T) => Tags;\n initialSelectedIds: string[] = [];\n initialIndeterminateTagIds: string[] = [];\n indeterminateTagIds: string[] = [];\n assignedTagIds: string[] = [];\n optimisticNewTag: Tag | null = null;\n isShown = false;\n searchValue: string = '';\n\n constructor({\n tagsManagementState,\n collectionState,\n tagsModalState,\n bulkUpdateTags,\n asyncBulkUpdateTags,\n getTags,\n }: TagsBulkAssignPopoverStateParams<T, F>) {\n this.tagsManagementState = tagsManagementState;\n this.collectionState = collectionState;\n this.optimisticActions =\n collectionState._optimisticActions ??\n new CollectionOptimisticActions<T, F>({\n container: this.tagsManagementState.container,\n collection: this.collectionState,\n });\n this.tagsBIReporter = new TagsBIReporter({\n collection: this.tagsManagementState.collection,\n reportBi: this.tagsManagementState.container.createBILogger({\n componentType: 'TagsBulkAssignPopover',\n ...tagsManagementState.fqdn,\n }),\n location: 'Bulk assign tags popover',\n });\n this.tagsModalState = tagsModalState;\n this.container = tagsManagementState.container;\n this.getTags = getTags;\n this.bulkAssignSyncState = new TagsBulkAssignSyncState({\n collectionState,\n optimisticActions: this.optimisticActions,\n container: this.container,\n tagsBIReporter: this.tagsBIReporter,\n getTags,\n bulkUpdateTags,\n });\n this.bulkAssignAsyncState = new TagsBulkAssignAsyncState({\n collectionState,\n optimisticActions: this.optimisticActions,\n container: this.container,\n tagsBIReporter: this.tagsBIReporter,\n asyncBulkUpdateTags,\n });\n\n makeObservable(this, {\n init: action,\n isShown: observable,\n initialSelectedIds: observable,\n initialIndeterminateTagIds: observable,\n indeterminateTagIds: observable,\n searchValue: observable,\n showPopover: action,\n closePopover: action,\n applyChanges: action,\n handleManageTagsCtaClick: action,\n handleItemSelect: action,\n handleSearchChange: action,\n createAndAssignTag: action,\n retry: action,\n assignedTagIds: observable,\n optimisticNewTag: observable.ref,\n assignedTags: computed,\n });\n }\n\n init() {\n const disposers = [\n this.optimisticActions.init(),\n this.bulkAssignAsyncState.init(),\n ];\n\n return () => {\n disposers.forEach((disposer) => disposer());\n };\n }\n\n async showPopover() {\n if (this.isShown) {\n return;\n }\n\n this.isShown = true;\n this._reportPopoverShowChangedBi(true);\n const { selectedTagIds, indeterminateTagIds } = this._initSelectionState();\n this.initialSelectedIds = selectedTagIds;\n this.assignedTagIds = selectedTagIds;\n this.initialIndeterminateTagIds = indeterminateTagIds;\n this.indeterminateTagIds = indeterminateTagIds;\n }\n\n closePopover() {\n this._reportPopoverShowChangedBi(false);\n this._reportSearchEventsBi('blur');\n this.isShown = false;\n this.assignedTagIds = [];\n this.initialSelectedIds = [];\n this.initialIndeterminateTagIds = [];\n this.indeterminateTagIds = [];\n }\n\n async createAndAssignTag(name: string) {\n this._reportSearchEventsBi('add');\n const tagName = name.slice(0, TAG_MAX_LENGTH);\n const id = uuid();\n this.assignTagOptimistic(tagName, id);\n this.tagsManagementState.createTag({\n name,\n id,\n filteredListSize: 0,\n origin,\n isFromSearch: true,\n tagsBIReporter: this.tagsBIReporter,\n onSuccess: (newTag) => this.assignTag({ tag: newTag }),\n optimisticActionParams: {\n successToast: {\n biName: 'cairo-save-new-tag-success',\n message: this.container.translate(\n 'cairo.tags.popover.tagCreated.toast.success',\n ),\n },\n errorToast: (error) => {\n const resolvedError =\n this.container.errorHandler.getResolvedError?.(error);\n return {\n biName: 'cairo-save-new-tag-error',\n message:\n resolvedError?.message ??\n this.container.translate(\n 'cairo.tags.collectionPage.toast.create.error',\n ),\n action: resolvedError?.action,\n };\n },\n },\n });\n }\n\n async applyChanges() {\n const { searchValue, newAssignedTagIds, newUnassignedTagIds } = this;\n const params = {\n searchValue,\n newAssignedTagIds,\n newUnassignedTagIds,\n };\n if (this.shouldlUseBulkSync) {\n this.bulkAssignSyncState.applyChanges(params);\n } else {\n await this.bulkAssignAsyncState.applyChanges(params);\n }\n\n this.closePopover();\n }\n\n handleManageTagsCtaClick() {\n this.closePopover();\n this.tagsModalState.openManageTagsModal({\n origin,\n tagSubOrigin: 'bulkAssignPopover',\n });\n }\n\n handleItemSelect(itemId: string) {\n const currentTag = this.tagsManagementState.items.find(\n (tag) => tag.id === itemId,\n );\n if (!currentTag) {\n return;\n }\n\n this._reportSearchEventsBi('select');\n\n if (\n this.initialIndeterminateTagIds.includes(itemId) &&\n this.indeterminateTagIds.includes(itemId)\n ) {\n this.indeterminateTagIds = this.indeterminateTagIds.filter(\n (indeterminateTagId) => indeterminateTagId !== itemId,\n );\n }\n\n if (this.assignedWithOptimisticTagIds.includes(itemId)) {\n this.unassignTag({ tag: currentTag });\n } else {\n this.assignTag({ tag: currentTag });\n }\n }\n\n handleSearchChange(searchValue: string) {\n this._reportSearchChangedBi(searchValue);\n this.searchValue = searchValue;\n }\n\n retry() {\n this.tagsManagementState.retry();\n }\n\n get isInEmptyState() {\n return (\n this.tagsManagementState.isSuccessful &&\n this.tagsManagementState.items.length === 0\n );\n }\n\n get tagOptions() {\n return this.tagsManagementState.items.sort((tag1, tag2) => {\n const isTag1InitialUnassigned = this._isInitialUnassignedTag(tag1);\n const isTag2InitialUnassigned = this._isInitialUnassignedTag(tag2);\n\n // Showing first assigned/indeterminate tags, and unassigned tags below it\n if (!isTag1InitialUnassigned && isTag2InitialUnassigned) {\n return -1;\n }\n\n if (isTag1InitialUnassigned && !isTag2InitialUnassigned) {\n return 1;\n }\n\n // Sub order by showing first newer tags\n return (\n new Date(tag2.createdDate!).valueOf() -\n new Date(tag1.createdDate!).valueOf()\n );\n });\n }\n\n get assignedTags() {\n const savedAssignedTags = this.assignedTagIds\n .map((tagId) => {\n return this.tagsManagementState.items.find((tag) => tag.id === tagId);\n })\n .filter((element) => Boolean(element)) as Tag[];\n return this.optimisticNewTag\n ? [...savedAssignedTags, this.optimisticNewTag]\n : savedAssignedTags;\n }\n\n get assignedWithOptimisticTagIds() {\n return this.assignedTags.map((tag) => tag.id!);\n }\n\n get newAssignedTagIds() {\n return this.assignedTagIds.filter(\n (tagId) => !this.initialSelectedIds.includes(tagId),\n );\n }\n\n get newUnassignedTagIds() {\n return [\n ...this.initialSelectedIds.filter(\n (tagId) => !this.assignedTagIds.includes(tagId),\n ),\n ...this.initialIndeterminateTagIds.filter(\n (tagId) =>\n ![...this.assignedTagIds, ...this.indeterminateTagIds].includes(\n tagId,\n ),\n ),\n ];\n }\n\n get shouldlUseBulkSync() {\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 get canUseBulkUpdate() {\n // Cannot invoke bulk assign while applying async changes\n if (this.bulkAssignAsyncState.isDuringApplyChanges) {\n return false;\n }\n\n // can use sync\n if (this.shouldlUseBulkSync) {\n return true;\n }\n\n // can use async\n return this.bulkAssignAsyncState.canBulkAssignAsync;\n }\n\n get isError() {\n return this.tagsManagementState.isError;\n }\n\n get isLoading() {\n return this.tagsManagementState.isLoading;\n }\n\n get isDirty() {\n return (\n this.newAssignedTagIds.length > 0 || this.newUnassignedTagIds.length > 0\n );\n }\n\n assignTag = async ({ tag }: { tag: Tag }) => {\n this.optimisticNewTag = null;\n if (this.assignedTagIds.includes(tag.id!)) {\n return;\n }\n\n this.assignedTagIds.push(tag.id!);\n };\n\n assignTagOptimistic = (tagName: string, tagId: string = 'fake tag id') => {\n this.optimisticNewTag = {\n id: tagId,\n name: tagName,\n createdDate: new Date(),\n };\n };\n\n unassignTag = async ({ tag }: { tag: Tag }) => {\n const updatedAssignedTagIds = this.assignedTagIds.filter(\n (assignedTagId) => assignedTagId !== tag.id,\n );\n\n this.assignedTagIds = updatedAssignedTagIds;\n };\n\n private _calcTagsCount = (selectedKeyedItems: KeyedItem<T>[]) => {\n const tagsCount = this.tagsManagementState.items.reduce(\n (result: Record<string, number>, tag) => {\n result[tag.id!] = 0;\n return result;\n },\n {},\n );\n\n selectedKeyedItems.forEach((selectedKeyedItem) => {\n const tags: Tags =\n (selectedKeyedItem.item as any).tags ??\n this.getTags?.(selectedKeyedItem.item);\n\n const entityTagIds = (tags?.privateTags?.tagIds as string[]) || [];\n\n [...new Set(entityTagIds)].forEach((entityTagId) => {\n if (entityTagId in tagsCount) {\n tagsCount[entityTagId]++;\n }\n });\n });\n return tagsCount;\n };\n\n private _getSelectedTagsIdsStatus = (\n tagsCount: Record<string, number>,\n selectedKeyedItems: KeyedItem<T>[],\n ) => {\n const selectedTagIds: string[] = [];\n const indeterminateTagIds: string[] = [];\n for (const [tagId, tagCount] of Object.entries(tagsCount)) {\n if (tagCount === selectedKeyedItems.length) {\n selectedTagIds.push(tagId);\n } else if (tagCount > 0) {\n indeterminateTagIds.push(tagId);\n }\n }\n return { selectedTagIds, indeterminateTagIds };\n };\n\n private _initSelectionState() {\n const { selectedKeyedItems } = this.collectionState.bulkSelect;\n const tagsCount = this._calcTagsCount(selectedKeyedItems);\n return this._getSelectedTagsIdsStatus(tagsCount, selectedKeyedItems);\n }\n\n private _isInitialUnassignedTag = (tag: Tag) =>\n !this.initialIndeterminateTagIds.includes(tag.id!) &&\n !this.initialSelectedIds.includes(tag.id!);\n\n private _reportPopoverShowChangedBi(isOpened: boolean) {\n this.tagsBIReporter.reportBi(\n cairoFiltersPanelUsed({\n isOpened,\n feature: 'Tags',\n origin: 'Assign Tags',\n }),\n );\n }\n\n private _reportSearchChangedBi(searchValue: string) {\n if (searchValue !== '') {\n this.tagsBIReporter.onSearch(searchValue);\n } else {\n this.tagsBIReporter._clearAllEvents();\n }\n }\n\n private _reportSearchEventsBi(event: 'add' | 'select' | 'blur') {\n return this.tagsBIReporter.events.emit(event);\n }\n}\n"],"mappings":"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","ignoreList":[]}
|