@wix/patterns 1.130.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.
Files changed (249) hide show
  1. package/dist/cjs/bm/testProviderPropsOverrides.js +2 -1
  2. package/dist/cjs/bm/testProviderPropsOverrides.js.map +1 -1
  3. package/dist/cjs/components/Collapse/Collapse.st.css.js +3 -3
  4. package/dist/cjs/components/Collapse/Collapse.st.css.js.map +1 -1
  5. package/dist/cjs/components/CollectionToolbar/CollectionToolbar.st.css.js +5 -5
  6. package/dist/cjs/components/CollectionToolbar/CollectionToolbar.st.css.js.map +1 -1
  7. package/dist/cjs/components/CollectionToolbar/SearchOrCustomFilter.st.css.js +3 -3
  8. package/dist/cjs/components/CollectionToolbar/SearchOrCustomFilter.st.css.js.map +1 -1
  9. package/dist/cjs/components/CollectionToolbars/CollectionToolbars.js +9 -9
  10. package/dist/cjs/components/CollectionToolbars/CollectionToolbars.js.map +1 -1
  11. package/dist/cjs/components/CollectionViewsDropdown/AutoCompleteReadonly.st.css.js +2 -2
  12. package/dist/cjs/components/CollectionViewsDropdown/AutoCompleteReadonly.st.css.js.map +1 -1
  13. package/dist/cjs/components/CollectionViewsDropdown/ViewsDropdown.st.css.js +2 -2
  14. package/dist/cjs/components/CollectionViewsDropdown/ViewsDropdown.st.css.js.map +1 -1
  15. package/dist/cjs/components/CustomFieldsForm/CustomFieldsForm.js +13 -15
  16. package/dist/cjs/components/CustomFieldsForm/CustomFieldsForm.js.map +1 -1
  17. package/dist/cjs/components/CustomFieldsWidget/CustomFieldsAllNamespacesForm.js +84 -0
  18. package/dist/cjs/components/CustomFieldsWidget/CustomFieldsAllNamespacesForm.js.map +1 -0
  19. package/dist/cjs/components/CustomFieldsWidget/CustomFieldsEmptyStateOverrides.js +2 -0
  20. package/dist/cjs/components/CustomFieldsWidget/CustomFieldsEmptyStateOverrides.js.map +1 -0
  21. package/dist/cjs/components/CustomFieldsWidget/CustomFieldsNamespaceForm.js +11 -14
  22. package/dist/cjs/components/CustomFieldsWidget/CustomFieldsNamespaceForm.js.map +1 -1
  23. package/dist/cjs/components/CustomFieldsWidget/CustomFieldsNamespaceSectionForm.js +93 -0
  24. package/dist/cjs/components/CustomFieldsWidget/CustomFieldsNamespaceSectionForm.js.map +1 -0
  25. package/dist/cjs/components/CustomFieldsWidget/CustomFieldsWidget.js +7 -16
  26. package/dist/cjs/components/CustomFieldsWidget/CustomFieldsWidget.js.map +1 -1
  27. package/dist/cjs/components/CustomFieldsWidget/CustomFieldsWidget.uni.driver.js +17 -4
  28. package/dist/cjs/components/CustomFieldsWidget/CustomFieldsWidget.uni.driver.js.map +1 -1
  29. package/dist/cjs/components/CustomFieldsWidget/CustomFieldsWidgetContent.js +9 -26
  30. package/dist/cjs/components/CustomFieldsWidget/CustomFieldsWidgetContent.js.map +1 -1
  31. package/dist/cjs/components/CustomFieldsWidget/useCustomFieldsFormState.js +22 -0
  32. package/dist/cjs/components/CustomFieldsWidget/useCustomFieldsFormState.js.map +1 -0
  33. package/dist/cjs/components/DragHandle/DragHandle.st.css.js +2 -2
  34. package/dist/cjs/components/DragHandle/DragHandle.st.css.js.map +1 -1
  35. package/dist/cjs/components/Fade/Fade.st.css.js +2 -2
  36. package/dist/cjs/components/Fade/Fade.st.css.js.map +1 -1
  37. package/dist/cjs/components/Heading/Heading.st.css.js +2 -2
  38. package/dist/cjs/components/Heading/Heading.st.css.js.map +1 -1
  39. package/dist/cjs/components/InputOverflow/InputOverflow.st.css.js +2 -2
  40. package/dist/cjs/components/InputOverflow/InputOverflow.st.css.js.map +1 -1
  41. package/dist/cjs/components/LoadingRow/LoadingRow.st.css.js +3 -3
  42. package/dist/cjs/components/LoadingRow/LoadingRow.st.css.js.map +1 -1
  43. package/dist/cjs/components/MaxHeightText/MaxHeightText.st.css.js +2 -2
  44. package/dist/cjs/components/MaxHeightText/MaxHeightText.st.css.js.map +1 -1
  45. package/dist/cjs/components/MaxLines/MaxLines.st.css.js +2 -2
  46. package/dist/cjs/components/MaxLines/MaxLines.st.css.js.map +1 -1
  47. package/dist/cjs/components/MultiBulkActionToolbar/MultiBulkActionToolbar.st.css.js +2 -2
  48. package/dist/cjs/components/MultiBulkActionToolbar/MultiBulkActionToolbar.st.css.js.map +1 -1
  49. package/dist/cjs/components/NestedTable/NestedTablePlaceholderStatesRow.st.css.js +2 -2
  50. package/dist/cjs/components/NestedTable/NestedTablePlaceholderStatesRow.st.css.js.map +1 -1
  51. package/dist/cjs/components/NestedTable/NestedTableRow.st.css.js +5 -5
  52. package/dist/cjs/components/NestedTable/NestedTableRow.st.css.js.map +1 -1
  53. package/dist/cjs/components/NestedTableDragAndDrop/MultipleDragOverlayEffect.st.css.js +2 -2
  54. package/dist/cjs/components/NestedTableDragAndDrop/MultipleDragOverlayEffect.st.css.js.map +1 -1
  55. package/dist/cjs/components/NestedTableDragAndDrop/NestedTableDragAndDropRow.st.css.js +2 -2
  56. package/dist/cjs/components/NestedTableDragAndDrop/NestedTableDragAndDropRow.st.css.js.map +1 -1
  57. package/dist/cjs/components/PickerContent/PickerContent.st.css.js +2 -2
  58. package/dist/cjs/components/PickerContent/PickerContent.st.css.js.map +1 -1
  59. package/dist/cjs/components/PickerContent/PickerContentAdditionalStep.st.css.js +4 -4
  60. package/dist/cjs/components/PickerContent/PickerContentAdditionalStep.st.css.js.map +1 -1
  61. package/dist/cjs/components/PickerTableListItem/PickerTableListItem.st.css.js +2 -2
  62. package/dist/cjs/components/PickerTableListItem/PickerTableListItem.st.css.js.map +1 -1
  63. package/dist/cjs/components/ScrollableContent/ScrollableContent.st.css.js +2 -2
  64. package/dist/cjs/components/ScrollableContent/ScrollableContent.st.css.js.map +1 -1
  65. package/dist/cjs/components/SkeletonCard/SkeletonCard.st.css.js +3 -3
  66. package/dist/cjs/components/SkeletonCard/SkeletonCard.st.css.js.map +1 -1
  67. package/dist/cjs/components/SlidingModal/SlidingModal.st.css.js +2 -2
  68. package/dist/cjs/components/SlidingModal/SlidingModal.st.css.js.map +1 -1
  69. package/dist/cjs/components/Table/TableVirtualHeader.st.css.js +2 -2
  70. package/dist/cjs/components/Table/TableVirtualHeader.st.css.js.map +1 -1
  71. package/dist/cjs/components/TabsFilter/TabsFilter.st.css.js +3 -3
  72. package/dist/cjs/components/TabsFilter/TabsFilter.st.css.js.map +1 -1
  73. package/dist/cjs/components/Tags/ManageTags/ManageTagsModal/ManageTagsModal.st.css.js +2 -2
  74. package/dist/cjs/components/Tags/ManageTags/ManageTagsModal/ManageTagsModal.st.css.js.map +1 -1
  75. package/dist/cjs/components/Tags/Tags.js.map +1 -1
  76. package/dist/cjs/components/ToolbarItemBox/ToolbarItemBox.st.css.js +2 -2
  77. package/dist/cjs/components/ToolbarItemBox/ToolbarItemBox.st.css.js.map +1 -1
  78. package/dist/cjs/components/common.st.css.js +4 -4
  79. package/dist/cjs/components/common.st.css.js.map +1 -1
  80. package/dist/cjs/dashboard/WixPatternsDashboardTestProvider.js +3 -2
  81. package/dist/cjs/dashboard/WixPatternsDashboardTestProvider.js.map +1 -1
  82. package/dist/cjs/fields/DateTime/DateTime.js.map +1 -1
  83. package/dist/cjs/hooks/useCustomFieldsWidget.js +10 -2
  84. package/dist/cjs/hooks/useCustomFieldsWidget.js.map +1 -1
  85. package/dist/cjs/state/CustomFields/CustomFieldsAllNamespacesFormState.js +38 -3
  86. package/dist/cjs/state/CustomFields/CustomFieldsAllNamespacesFormState.js.map +1 -1
  87. package/dist/cjs/state/CustomFields/CustomFieldsFormState.js +54 -7
  88. package/dist/cjs/state/CustomFields/CustomFieldsFormState.js.map +1 -1
  89. package/dist/cjs/state/CustomFields/CustomFieldsWidgetState.js +31 -11
  90. package/dist/cjs/state/CustomFields/CustomFieldsWidgetState.js.map +1 -1
  91. package/dist/cjs/state/TagsBulkAssignAsyncState.js +137 -0
  92. package/dist/cjs/state/TagsBulkAssignAsyncState.js.map +1 -0
  93. package/dist/cjs/state/TagsBulkAssignPopoverState.js +38 -125
  94. package/dist/cjs/state/TagsBulkAssignPopoverState.js.map +1 -1
  95. package/dist/cjs/state/TagsBulkAssignSyncState.js +145 -0
  96. package/dist/cjs/state/TagsBulkAssignSyncState.js.map +1 -0
  97. package/dist/cjs/styles.global.css +1 -1
  98. package/dist/cjs/test-utils/AsyncJobMocks.js +50 -0
  99. package/dist/cjs/test-utils/AsyncJobMocks.js.map +1 -0
  100. package/dist/cjs/test-utils/ExtensionWidget.js +1 -1
  101. package/dist/cjs/test-utils/ExtensionWidget.js.map +1 -1
  102. package/dist/cjs/test-utils/index.js +6 -0
  103. package/dist/cjs/test-utils/index.js.map +1 -1
  104. package/dist/cjs/version.js +1 -1
  105. package/dist/cjs/version.js.map +1 -1
  106. package/dist/esm/bm/testProviderPropsOverrides.js +2 -0
  107. package/dist/esm/bm/testProviderPropsOverrides.js.map +1 -1
  108. package/dist/esm/components/Collapse/Collapse.st.css.js +2 -2
  109. package/dist/esm/components/Collapse/Collapse.st.css.js.map +1 -1
  110. package/dist/esm/components/CollectionToolbar/CollectionToolbar.st.css.js +2 -2
  111. package/dist/esm/components/CollectionToolbar/SearchOrCustomFilter.st.css.js +2 -2
  112. package/dist/esm/components/CollectionToolbars/CollectionToolbars.js +1 -1
  113. package/dist/esm/components/CollectionToolbars/CollectionToolbars.js.map +1 -1
  114. package/dist/esm/components/CollectionViewsDropdown/AutoCompleteReadonly.st.css.js +2 -2
  115. package/dist/esm/components/CollectionViewsDropdown/ViewsDropdown.st.css.js +2 -2
  116. package/dist/esm/components/CollectionViewsDropdown/ViewsDropdown.st.css.js.map +1 -1
  117. package/dist/esm/components/CustomFieldsForm/CustomFieldsForm.js +5 -8
  118. package/dist/esm/components/CustomFieldsForm/CustomFieldsForm.js.map +1 -1
  119. package/dist/esm/components/CustomFieldsWidget/CustomFieldsAllNamespacesForm.js +29 -0
  120. package/dist/esm/components/CustomFieldsWidget/CustomFieldsAllNamespacesForm.js.map +1 -0
  121. package/dist/esm/components/CustomFieldsWidget/CustomFieldsEmptyStateOverrides.js +2 -0
  122. package/dist/esm/components/CustomFieldsWidget/CustomFieldsEmptyStateOverrides.js.map +1 -0
  123. package/dist/esm/components/CustomFieldsWidget/CustomFieldsNamespaceForm.js +12 -11
  124. package/dist/esm/components/CustomFieldsWidget/CustomFieldsNamespaceForm.js.map +1 -1
  125. package/dist/esm/components/CustomFieldsWidget/CustomFieldsNamespaceSectionForm.js +23 -0
  126. package/dist/esm/components/CustomFieldsWidget/CustomFieldsNamespaceSectionForm.js.map +1 -0
  127. package/dist/esm/components/CustomFieldsWidget/CustomFieldsWidget.js +2 -8
  128. package/dist/esm/components/CustomFieldsWidget/CustomFieldsWidget.js.map +1 -1
  129. package/dist/esm/components/CustomFieldsWidget/CustomFieldsWidget.uni.driver.js +18 -5
  130. package/dist/esm/components/CustomFieldsWidget/CustomFieldsWidget.uni.driver.js.map +1 -1
  131. package/dist/esm/components/CustomFieldsWidget/CustomFieldsWidgetContent.js +3 -10
  132. package/dist/esm/components/CustomFieldsWidget/CustomFieldsWidgetContent.js.map +1 -1
  133. package/dist/esm/components/CustomFieldsWidget/useCustomFieldsFormState.js +14 -0
  134. package/dist/esm/components/CustomFieldsWidget/useCustomFieldsFormState.js.map +1 -0
  135. package/dist/esm/components/DragHandle/DragHandle.st.css.js +2 -2
  136. package/dist/esm/components/DragHandle/DragHandle.st.css.js.map +1 -1
  137. package/dist/esm/components/Fade/Fade.st.css.js +2 -2
  138. package/dist/esm/components/Heading/Heading.st.css.js +2 -2
  139. package/dist/esm/components/Heading/Heading.st.css.js.map +1 -1
  140. package/dist/esm/components/InputOverflow/InputOverflow.st.css.js +2 -2
  141. package/dist/esm/components/LoadingRow/LoadingRow.st.css.js +3 -3
  142. package/dist/esm/components/MaxHeightText/MaxHeightText.st.css.js +2 -2
  143. package/dist/esm/components/MaxHeightText/MaxHeightText.st.css.js.map +1 -1
  144. package/dist/esm/components/MaxLines/MaxLines.st.css.js +2 -2
  145. package/dist/esm/components/MultiBulkActionToolbar/MultiBulkActionToolbar.st.css.js +2 -2
  146. package/dist/esm/components/NestedTable/NestedTablePlaceholderStatesRow.st.css.js +2 -2
  147. package/dist/esm/components/NestedTable/NestedTableRow.st.css.js +2 -2
  148. package/dist/esm/components/NestedTable/NestedTableRow.st.css.js.map +1 -1
  149. package/dist/esm/components/NestedTableDragAndDrop/MultipleDragOverlayEffect.st.css.js +2 -2
  150. package/dist/esm/components/NestedTableDragAndDrop/NestedTableDragAndDropRow.st.css.js +2 -2
  151. package/dist/esm/components/PickerContent/PickerContent.st.css.js +2 -2
  152. package/dist/esm/components/PickerContent/PickerContentAdditionalStep.st.css.js +2 -2
  153. package/dist/esm/components/PickerContent/PickerContentAdditionalStep.st.css.js.map +1 -1
  154. package/dist/esm/components/PickerTableListItem/PickerTableListItem.st.css.js +2 -2
  155. package/dist/esm/components/ScrollableContent/ScrollableContent.st.css.js +2 -2
  156. package/dist/esm/components/SkeletonCard/SkeletonCard.st.css.js +2 -2
  157. package/dist/esm/components/SlidingModal/SlidingModal.st.css.js +2 -2
  158. package/dist/esm/components/Table/TableVirtualHeader.st.css.js +2 -2
  159. package/dist/esm/components/Table/TableVirtualHeader.st.css.js.map +1 -1
  160. package/dist/esm/components/TabsFilter/TabsFilter.st.css.js +2 -2
  161. package/dist/esm/components/Tags/ManageTags/ManageTagsModal/ManageTagsModal.st.css.js +2 -2
  162. package/dist/esm/components/Tags/ManageTags/ManageTagsModal/ManageTagsModal.st.css.js.map +1 -1
  163. package/dist/esm/components/Tags/Tags.js.map +1 -1
  164. package/dist/esm/components/ToolbarItemBox/ToolbarItemBox.st.css.js +2 -2
  165. package/dist/esm/components/ToolbarItemBox/ToolbarItemBox.st.css.js.map +1 -1
  166. package/dist/esm/components/common.st.css.js +2 -2
  167. package/dist/esm/dashboard/WixPatternsDashboardTestProvider.js +2 -0
  168. package/dist/esm/dashboard/WixPatternsDashboardTestProvider.js.map +1 -1
  169. package/dist/esm/hooks/useCustomFieldsWidget.js +8 -1
  170. package/dist/esm/hooks/useCustomFieldsWidget.js.map +1 -1
  171. package/dist/esm/state/CustomFields/CustomFieldsAllNamespacesFormState.js +28 -1
  172. package/dist/esm/state/CustomFields/CustomFieldsAllNamespacesFormState.js.map +1 -1
  173. package/dist/esm/state/CustomFields/CustomFieldsFormState.js +30 -5
  174. package/dist/esm/state/CustomFields/CustomFieldsFormState.js.map +1 -1
  175. package/dist/esm/state/CustomFields/CustomFieldsWidgetState.js +21 -12
  176. package/dist/esm/state/CustomFields/CustomFieldsWidgetState.js.map +1 -1
  177. package/dist/esm/state/TagsBulkAssignAsyncState.js +94 -0
  178. package/dist/esm/state/TagsBulkAssignAsyncState.js.map +1 -0
  179. package/dist/esm/state/TagsBulkAssignPopoverState.js +35 -93
  180. package/dist/esm/state/TagsBulkAssignPopoverState.js.map +1 -1
  181. package/dist/esm/state/TagsBulkAssignSyncState.js +92 -0
  182. package/dist/esm/state/TagsBulkAssignSyncState.js.map +1 -0
  183. package/dist/esm/styles.global.css +1 -1
  184. package/dist/esm/test-utils/AsyncJobMocks.js +38 -0
  185. package/dist/esm/test-utils/AsyncJobMocks.js.map +1 -0
  186. package/dist/esm/test-utils/ExtensionWidget.js +1 -1
  187. package/dist/esm/test-utils/ExtensionWidget.js.map +1 -1
  188. package/dist/esm/test-utils/index.js +1 -0
  189. package/dist/esm/test-utils/index.js.map +1 -1
  190. package/dist/esm/version.js +1 -1
  191. package/dist/types/bm/testProviderPropsOverrides.d.ts.map +1 -1
  192. package/dist/types/components/Collapse/Collapse.st.css.d.ts.map +1 -1
  193. package/dist/types/components/CollectionToolbars/CollectionToolbars.d.ts +3 -22
  194. package/dist/types/components/CollectionToolbars/CollectionToolbars.d.ts.map +1 -1
  195. package/dist/types/components/CollectionViewsDropdown/ViewsDropdown.st.css.d.ts.map +1 -1
  196. package/dist/types/components/CustomFieldsForm/CustomFieldsForm.d.ts +1 -2
  197. package/dist/types/components/CustomFieldsForm/CustomFieldsForm.d.ts.map +1 -1
  198. package/dist/types/components/CustomFieldsWidget/CustomFieldsAllNamespacesForm.d.ts +15 -0
  199. package/dist/types/components/CustomFieldsWidget/CustomFieldsAllNamespacesForm.d.ts.map +1 -0
  200. package/dist/types/components/CustomFieldsWidget/CustomFieldsEmptyStateOverrides.d.ts +5 -0
  201. package/dist/types/components/CustomFieldsWidget/CustomFieldsEmptyStateOverrides.d.ts.map +1 -0
  202. package/dist/types/components/CustomFieldsWidget/CustomFieldsNamespaceForm.d.ts +1 -2
  203. package/dist/types/components/CustomFieldsWidget/CustomFieldsNamespaceForm.d.ts.map +1 -1
  204. package/dist/types/components/CustomFieldsWidget/CustomFieldsNamespaceSectionForm.d.ts +15 -0
  205. package/dist/types/components/CustomFieldsWidget/CustomFieldsNamespaceSectionForm.d.ts.map +1 -0
  206. package/dist/types/components/CustomFieldsWidget/CustomFieldsWidget.d.ts.map +1 -1
  207. package/dist/types/components/CustomFieldsWidget/CustomFieldsWidget.uni.driver.d.ts +33 -7
  208. package/dist/types/components/CustomFieldsWidget/CustomFieldsWidget.uni.driver.d.ts.map +1 -1
  209. package/dist/types/components/CustomFieldsWidget/CustomFieldsWidgetContent.d.ts +2 -4
  210. package/dist/types/components/CustomFieldsWidget/CustomFieldsWidgetContent.d.ts.map +1 -1
  211. package/dist/types/components/CustomFieldsWidget/useCustomFieldsFormState.d.ts +9 -0
  212. package/dist/types/components/CustomFieldsWidget/useCustomFieldsFormState.d.ts.map +1 -0
  213. package/dist/types/components/DragHandle/DragHandle.st.css.d.ts.map +1 -1
  214. package/dist/types/components/Heading/Heading.st.css.d.ts.map +1 -1
  215. package/dist/types/components/MaxHeightText/MaxHeightText.st.css.d.ts.map +1 -1
  216. package/dist/types/components/NestedTable/NestedTableRow.st.css.d.ts.map +1 -1
  217. package/dist/types/components/PickerContent/PickerContentAdditionalStep.st.css.d.ts.map +1 -1
  218. package/dist/types/components/Table/TableVirtualHeader.st.css.d.ts.map +1 -1
  219. package/dist/types/components/Tags/ManageTags/ManageTagsModal/ManageTagsModal.st.css.d.ts.map +1 -1
  220. package/dist/types/components/Tags/Tags.d.ts +2 -1
  221. package/dist/types/components/Tags/Tags.d.ts.map +1 -1
  222. package/dist/types/components/ToolbarItemBox/ToolbarItemBox.st.css.d.ts.map +1 -1
  223. package/dist/types/dashboard/WixPatternsDashboardTestProvider.d.ts.map +1 -1
  224. package/dist/types/hooks/useCustomFieldsWidget.d.ts +3 -1
  225. package/dist/types/hooks/useCustomFieldsWidget.d.ts.map +1 -1
  226. package/dist/types/state/CustomFields/CustomFieldsAllNamespacesFormState.d.ts +7 -1
  227. package/dist/types/state/CustomFields/CustomFieldsAllNamespacesFormState.d.ts.map +1 -1
  228. package/dist/types/state/CustomFields/CustomFieldsFormState.d.ts +7 -4
  229. package/dist/types/state/CustomFields/CustomFieldsFormState.d.ts.map +1 -1
  230. package/dist/types/state/CustomFields/CustomFieldsWidgetState.d.ts +9 -2
  231. package/dist/types/state/CustomFields/CustomFieldsWidgetState.d.ts.map +1 -1
  232. package/dist/types/state/TagsBulkAssignAsyncState.d.ts +40 -0
  233. package/dist/types/state/TagsBulkAssignAsyncState.d.ts.map +1 -0
  234. package/dist/types/state/TagsBulkAssignPopoverState.d.ts +5 -15
  235. package/dist/types/state/TagsBulkAssignPopoverState.d.ts.map +1 -1
  236. package/dist/types/state/TagsBulkAssignSyncState.d.ts +31 -0
  237. package/dist/types/state/TagsBulkAssignSyncState.d.ts.map +1 -0
  238. package/dist/types/test-utils/AsyncJobMocks.d.ts +13 -0
  239. package/dist/types/test-utils/AsyncJobMocks.d.ts.map +1 -0
  240. package/dist/types/test-utils/index.d.ts +1 -0
  241. package/dist/types/test-utils/index.d.ts.map +1 -1
  242. package/dist/types/testkit/enzyme.d.ts +31 -3
  243. package/dist/types/testkit/enzyme.d.ts.map +1 -1
  244. package/dist/types/testkit/jsdom.d.ts +31 -3
  245. package/dist/types/testkit/jsdom.d.ts.map +1 -1
  246. package/dist/types/testkit/puppeteer.d.ts +31 -3
  247. package/dist/types/testkit/puppeteer.d.ts.map +1 -1
  248. package/dist/types/version.d.ts +1 -1
  249. package/package.json +5 -5
@@ -15,7 +15,8 @@ class CustomFieldsWidgetState {
15
15
  container,
16
16
  fqdn,
17
17
  filterable,
18
- containsPii
18
+ containsPii,
19
+ extendedFields
19
20
  }) {
20
21
  (0, _defineProperty2.default)(this, "container", void 0);
21
22
  (0, _defineProperty2.default)(this, "dataExtension", void 0);
@@ -30,8 +31,10 @@ class CustomFieldsWidgetState {
30
31
  (0, _defineProperty2.default)(this, "reportBi", void 0);
31
32
  (0, _defineProperty2.default)(this, "fqdn", void 0);
32
33
  (0, _defineProperty2.default)(this, "_customFieldsLazyComponents", undefined);
34
+ (0, _defineProperty2.default)(this, "apps", void 0);
33
35
  this.container = container;
34
36
  this.fqdn = fqdn;
37
+ this._extendedFields = extendedFields;
35
38
  this._size = 'default';
36
39
  this.panels = new _SidePanelsState.SidePanelsState({
37
40
  panelGroupName: (0, _bexCore.fqdnToString)(fqdn),
@@ -49,6 +52,10 @@ class CustomFieldsWidgetState {
49
52
  filterable,
50
53
  containsPii
51
54
  });
55
+ this.apps = new _bexCore.AppsState({
56
+ container,
57
+ dataExtension: this.dataExtension
58
+ });
52
59
  (0, _mobx.makeObservable)(this, {
53
60
  hasWritePermissions: _mobx.computed,
54
61
  widgetSize: _mobx.computed,
@@ -59,7 +66,6 @@ class CustomFieldsWidgetState {
59
66
  _widgetContentRef: _mobx.observable.ref,
60
67
  _extendedFields: _mobx.observable.ref,
61
68
  _adjustWidgetSize: _mobx.action.bound,
62
- _formState: _mobx.observable.ref,
63
69
  retry: _mobx.action.bound
64
70
  });
65
71
  }
@@ -84,15 +90,17 @@ class CustomFieldsWidgetState {
84
90
  init({
85
91
  appLoaded
86
92
  }) {
87
- const disposers = [this.dataExtension.init()];
88
93
  const {
89
94
  initTask,
90
95
  dataExtension,
91
- container
96
+ container,
97
+ apps
92
98
  } = this;
99
+ const disposers = [dataExtension.init(), apps.init()];
93
100
  initTask.runOnce(async () => {
94
- var _dataExtension$initTa, _container$initTask$s;
101
+ var _dataExtension$initTa, _container$initTask$s, _apps$initTask$status;
95
102
  dataExtension.initTask.runOnce();
103
+ apps.initTask.runOnce();
96
104
  const [lazyComponents] = await Promise.all([Promise.resolve().then(() => _interopRequireWildcard(require(/* webpackChunkName: "CustomFieldsWidgetLazyContent" */
97
105
  '../../components/CustomFieldsWidget/CustomFieldsWidgetLazyContent'))).catch(err => {
98
106
  throw new _bexCore.WixPatternsError({
@@ -109,7 +117,7 @@ class CustomFieldsWidgetState {
109
117
  errorCode: 'InitCustomFieldsWidgetContainerFailed',
110
118
  originalException: err
111
119
  });
112
- })]).catch(error => {
120
+ }), (_apps$initTask$status = apps.initTask.status.promise) == null ? void 0 : _apps$initTask$status.catch(() => null)]).catch(error => {
113
121
  this.container.internalMonitor.reportError({
114
122
  error
115
123
  });
@@ -125,6 +133,22 @@ class CustomFieldsWidgetState {
125
133
  disposers.forEach(d => d == null ? void 0 : d());
126
134
  };
127
135
  }
136
+ getNamespaceFormSchemaAndData(namespace) {
137
+ var _extendedFields$names;
138
+ const {
139
+ dataExtension,
140
+ _extendedFields
141
+ } = this;
142
+ const {
143
+ schema,
144
+ fields
145
+ } = dataExtension.getSchemaAndFieldsByNamespace(namespace);
146
+ return {
147
+ fields,
148
+ schema,
149
+ extendedFieldsDataMap: _extendedFields == null || (_extendedFields$names = _extendedFields.namespaces) == null ? void 0 : _extendedFields$names[namespace]
150
+ };
151
+ }
128
152
  initContent() {
129
153
  const disposers = [(0, _bexCore.addResizeObserver)(this._widgetContentRef.current, this._adjustWidgetSize.bind(this))];
130
154
  this._adjustWidgetSize();
@@ -190,11 +214,7 @@ class CustomFieldsWidgetState {
190
214
  };
191
215
  }
192
216
  if (data != null && data.isValid) {
193
- const extendedFields = {
194
- namespaces: {
195
- _user_fields: data.extendedFields
196
- }
197
- };
217
+ const extendedFields = data.extendedFields;
198
218
  return {
199
219
  isValid: true,
200
220
  extendedFields,
@@ -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","_defineProperty2","TaskState","current","undefined","_size","panels","SidePanelsState","panelGroupName","fqdnToString","reportBi","createBILogger","componentType","dataExtension","DataExtensionState","closeSidePanel","makeObservable","hasWritePermissions","computed","widgetSize","setWidgetContentRef","action","isLoading","isError","observable","ref","_widgetContentRef","_extendedFields","_adjustWidgetSize","bound","_formState","retry","_userFieldsNamespace","dataExtensionService","userFieldsNamespace","_appLoadingStart","startTime","performance","now","commonBiParams","_commonDynamicBiParams","loadStart","url","window","location","href","loadEnd","loadingTime","Math","round","init","appLoaded","disposers","initTask","runOnce","_dataExtension$initTa","_container$initTask$s","lazyComponents","Promise","all","resolve","then","catch","err","WixPatternsError","errorCode","originalException","status","promise","error","internalMonitor","reportError","cairoErrorInLoadingAComponent","errorType","name","_customFieldsLazyComponents","forEach","d","initContent","addResizeObserver","bind","cairoTryAgainClicked","actionName","loaction","isDirty","_this$_formState","isIdle","ActionButtonsComponent","_this$_customFieldsLa","ActionButtons","CustomFieldsWidgetContent","_this$_customFieldsLa2","element","clientWidth","validate","_this$_formState2","data","isValid","extendedFields","namespaces","_user_fields","values","exports"],"sources":["../../../../src/state/CustomFields/CustomFieldsWidgetState.ts"],"sourcesContent":["import {\n addResizeObserver,\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';\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}\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 constructor({\n container,\n fqdn,\n filterable,\n containsPii,\n }: CustomFieldsWidgetStateParams) {\n this.container = container;\n\n this.fqdn = fqdn;\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 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 _formState: observable.ref,\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 disposers = [\n this.dataExtension.init(),\n ];\n\n const { initTask, dataExtension, container } = this;\n\n initTask.runOnce(async () => {\n dataExtension.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 ]).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 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: ExtendedFields = {\n namespaces: {\n _user_fields: data.extendedFields,\n },\n };\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","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":[]}
@@ -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, "bulkUpdateTags", void 0);
26
- (0, _defineProperty2.default)(this, "asyncBulkUpdateTags", void 0);
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.bulkUpdateTagsSync();
221
+ this.bulkAssignSyncState.applyChanges(params);
289
222
  } else {
290
- await this.bulkUpdateTagsAsync();
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 < this.maxSelectedEntitiesNum;
300
+ return allSelectedItemsFetched && selectedCountOrTotal < MAX_SELECTED_ENTITIES_FOR_BULK_ASSIGN_SYNC;
368
301
  }
369
302
  get canUseBulkUpdate() {
370
- // if we have jobId we are in the middle of async job and should not run another one
371
- if (this.jobId) {
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 !!this.asyncBulkUpdateTags;
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