@wix/patterns 1.126.0 → 1.131.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 (323) hide show
  1. package/dist/cjs/components/AppliedFiltersTagList/AppliedFiltersTagListState.js +3 -2
  2. package/dist/cjs/components/AppliedFiltersTagList/AppliedFiltersTagListState.js.map +1 -1
  3. package/dist/cjs/components/CardContainer/CardContainer.js +11 -5
  4. package/dist/cjs/components/CardContainer/CardContainer.js.map +1 -1
  5. package/dist/cjs/components/Collapse/Collapse.st.css.js +3 -3
  6. package/dist/cjs/components/Collapse/Collapse.st.css.js.map +1 -1
  7. package/dist/cjs/components/CollectionCard/CollectionCard.js.map +1 -1
  8. package/dist/cjs/components/CollectionFilter/CollectionFilterState.js +2 -1
  9. package/dist/cjs/components/CollectionFilter/CollectionFilterState.js.map +1 -1
  10. package/dist/cjs/components/CollectionTable/CollectionTable.js.map +1 -1
  11. package/dist/cjs/components/CollectionToolbar/CollectionToolbar.js.map +1 -1
  12. package/dist/cjs/components/CollectionToolbar/CollectionToolbar.st.css.js +5 -5
  13. package/dist/cjs/components/CollectionToolbar/CollectionToolbar.st.css.js.map +1 -1
  14. package/dist/cjs/components/CollectionToolbar/SearchOrCustomFilter.js.map +1 -1
  15. package/dist/cjs/components/CollectionToolbar/SearchOrCustomFilter.st.css.js +3 -3
  16. package/dist/cjs/components/CollectionToolbar/SearchOrCustomFilter.st.css.js.map +1 -1
  17. package/dist/cjs/components/CollectionToolbars/CollectionToolbars.js +9 -9
  18. package/dist/cjs/components/CollectionToolbars/CollectionToolbars.js.map +1 -1
  19. package/dist/cjs/components/CollectionViewsDropdown/AutoCompleteReadonly.st.css.js +2 -2
  20. package/dist/cjs/components/CollectionViewsDropdown/AutoCompleteReadonly.st.css.js.map +1 -1
  21. package/dist/cjs/components/CollectionViewsDropdown/ViewsDropdown.st.css.js +2 -2
  22. package/dist/cjs/components/CollectionViewsDropdown/ViewsDropdown.st.css.js.map +1 -1
  23. package/dist/cjs/components/CustomFieldsForm/CustomFieldsForm.js +15 -11
  24. package/dist/cjs/components/CustomFieldsForm/CustomFieldsForm.js.map +1 -1
  25. package/dist/cjs/components/CustomFieldsWidget/CustomFieldsNamespaceForm.js +41 -0
  26. package/dist/cjs/components/CustomFieldsWidget/CustomFieldsNamespaceForm.js.map +1 -0
  27. package/dist/cjs/components/CustomFieldsWidget/CustomFieldsViewWidget.js +63 -121
  28. package/dist/cjs/components/CustomFieldsWidget/CustomFieldsViewWidget.js.map +1 -1
  29. package/dist/cjs/components/CustomFieldsWidget/CustomFieldsViewWidget.uni.driver.js +2 -2
  30. package/dist/cjs/components/CustomFieldsWidget/CustomFieldsViewWidget.uni.driver.js.map +1 -1
  31. package/dist/cjs/components/CustomFieldsWidget/CustomFieldsViewWidgetInline.js +83 -0
  32. package/dist/cjs/components/CustomFieldsWidget/CustomFieldsViewWidgetInline.js.map +1 -0
  33. package/dist/cjs/components/CustomFieldsWidget/CustomFieldsWidget.js +4 -6
  34. package/dist/cjs/components/CustomFieldsWidget/CustomFieldsWidget.js.map +1 -1
  35. package/dist/cjs/components/CustomFieldsWidget/CustomFieldsWidgetCard.js +10 -12
  36. package/dist/cjs/components/CustomFieldsWidget/CustomFieldsWidgetCard.js.map +1 -1
  37. package/dist/cjs/components/CustomFieldsWidget/CustomFieldsWidgetContent.js +17 -23
  38. package/dist/cjs/components/CustomFieldsWidget/CustomFieldsWidgetContent.js.map +1 -1
  39. package/dist/cjs/components/CustomFieldsWidget/CustomFieldsWidgetContentLazy.js +2 -4
  40. package/dist/cjs/components/CustomFieldsWidget/CustomFieldsWidgetContentLazy.js.map +1 -1
  41. package/dist/cjs/components/CustomFieldsWidget/CustomFieldsWidgetInline.js +1 -3
  42. package/dist/cjs/components/CustomFieldsWidget/CustomFieldsWidgetInline.js.map +1 -1
  43. package/dist/cjs/components/CustomFieldsWidget/EmptyStateViewContent.js +38 -0
  44. package/dist/cjs/components/CustomFieldsWidget/EmptyStateViewContent.js.map +1 -0
  45. package/dist/cjs/components/DataExtension/CollectionDataExtensionState.js +5 -4
  46. package/dist/cjs/components/DataExtension/CollectionDataExtensionState.js.map +1 -1
  47. package/dist/cjs/components/DragHandle/DragHandle.st.css.js +2 -2
  48. package/dist/cjs/components/DragHandle/DragHandle.st.css.js.map +1 -1
  49. package/dist/cjs/components/Fade/Fade.st.css.js +2 -2
  50. package/dist/cjs/components/Fade/Fade.st.css.js.map +1 -1
  51. package/dist/cjs/components/Heading/Heading.st.css.js +2 -2
  52. package/dist/cjs/components/Heading/Heading.st.css.js.map +1 -1
  53. package/dist/cjs/components/InputOverflow/InputOverflow.st.css.js +2 -2
  54. package/dist/cjs/components/InputOverflow/InputOverflow.st.css.js.map +1 -1
  55. package/dist/cjs/components/LoadingRow/LoadingRow.st.css.js +3 -3
  56. package/dist/cjs/components/LoadingRow/LoadingRow.st.css.js.map +1 -1
  57. package/dist/cjs/components/MaxHeightText/MaxHeightText.st.css.js +2 -2
  58. package/dist/cjs/components/MaxHeightText/MaxHeightText.st.css.js.map +1 -1
  59. package/dist/cjs/components/MaxLines/MaxLines.st.css.js +2 -2
  60. package/dist/cjs/components/MaxLines/MaxLines.st.css.js.map +1 -1
  61. package/dist/cjs/components/MultiBulkActionToolbar/MultiBulkActionToolbar.st.css.js +2 -2
  62. package/dist/cjs/components/MultiBulkActionToolbar/MultiBulkActionToolbar.st.css.js.map +1 -1
  63. package/dist/cjs/components/NestedTable/NestedTable.js +3 -3
  64. package/dist/cjs/components/NestedTable/NestedTable.js.map +1 -1
  65. package/dist/cjs/components/NestedTable/NestedTablePlaceholderStatesRow.st.css.js +2 -2
  66. package/dist/cjs/components/NestedTable/NestedTablePlaceholderStatesRow.st.css.js.map +1 -1
  67. package/dist/cjs/components/NestedTable/NestedTableRow.st.css.js +5 -5
  68. package/dist/cjs/components/NestedTable/NestedTableRow.st.css.js.map +1 -1
  69. package/dist/cjs/components/NestedTable/NestedTableWSRTable.js +6 -12
  70. package/dist/cjs/components/NestedTable/NestedTableWSRTable.js.map +1 -1
  71. package/dist/cjs/components/NestedTableDragAndDrop/MultipleDragOverlayEffect.st.css.js +2 -2
  72. package/dist/cjs/components/NestedTableDragAndDrop/MultipleDragOverlayEffect.st.css.js.map +1 -1
  73. package/dist/cjs/components/NestedTableDragAndDrop/NestedTableDragAndDropRow.st.css.js +2 -2
  74. package/dist/cjs/components/NestedTableDragAndDrop/NestedTableDragAndDropRow.st.css.js.map +1 -1
  75. package/dist/cjs/components/PickerContent/PickerContent.st.css.js +2 -2
  76. package/dist/cjs/components/PickerContent/PickerContent.st.css.js.map +1 -1
  77. package/dist/cjs/components/PickerContent/PickerContentAdditionalStep.st.css.js +4 -4
  78. package/dist/cjs/components/PickerContent/PickerContentAdditionalStep.st.css.js.map +1 -1
  79. package/dist/cjs/components/PickerTableListItem/PickerTableListItem.st.css.js +2 -2
  80. package/dist/cjs/components/PickerTableListItem/PickerTableListItem.st.css.js.map +1 -1
  81. package/dist/cjs/components/ScrollableContent/ScrollableContent.st.css.js +2 -2
  82. package/dist/cjs/components/ScrollableContent/ScrollableContent.st.css.js.map +1 -1
  83. package/dist/cjs/components/SkeletonCard/SkeletonCard.st.css.js +3 -3
  84. package/dist/cjs/components/SkeletonCard/SkeletonCard.st.css.js.map +1 -1
  85. package/dist/cjs/components/SlidingModal/SlidingModal.st.css.js +2 -2
  86. package/dist/cjs/components/SlidingModal/SlidingModal.st.css.js.map +1 -1
  87. package/dist/cjs/components/Table/TableVirtualHeader.st.css.js +2 -2
  88. package/dist/cjs/components/Table/TableVirtualHeader.st.css.js.map +1 -1
  89. package/dist/cjs/components/TabsFilter/TabsFilter.st.css.js +3 -3
  90. package/dist/cjs/components/TabsFilter/TabsFilter.st.css.js.map +1 -1
  91. package/dist/cjs/components/Tags/ManageTags/ManageTagsModal/ManageTagsModal.st.css.js +2 -2
  92. package/dist/cjs/components/Tags/ManageTags/ManageTagsModal/ManageTagsModal.st.css.js.map +1 -1
  93. package/dist/cjs/components/Tags/Tags.js +2 -10
  94. package/dist/cjs/components/Tags/Tags.js.map +1 -1
  95. package/dist/cjs/components/TagsAssignButton/TagsAssignButton.js +10 -12
  96. package/dist/cjs/components/TagsAssignButton/TagsAssignButton.js.map +1 -1
  97. package/dist/cjs/components/ToolbarCollection/ToolbarCollection.js +3 -3
  98. package/dist/cjs/components/ToolbarCollection/ToolbarCollection.js.map +1 -1
  99. package/dist/cjs/components/ToolbarItemBox/ToolbarItemBox.st.css.js +2 -2
  100. package/dist/cjs/components/ToolbarItemBox/ToolbarItemBox.st.css.js.map +1 -1
  101. package/dist/cjs/components/common.st.css.js +4 -4
  102. package/dist/cjs/components/common.st.css.js.map +1 -1
  103. package/dist/cjs/hooks/useNestedTable.js.map +1 -1
  104. package/dist/cjs/state/CustomFields/CustomFieldsAllNamespacesFormState.js +71 -0
  105. package/dist/cjs/state/CustomFields/CustomFieldsAllNamespacesFormState.js.map +1 -0
  106. package/dist/cjs/state/CustomFields/CustomFieldsFormState.js +27 -9
  107. package/dist/cjs/state/CustomFields/CustomFieldsFormState.js.map +1 -1
  108. package/dist/cjs/state/CustomFields/CustomFieldsWidgetState.js +5 -10
  109. package/dist/cjs/state/CustomFields/CustomFieldsWidgetState.js.map +1 -1
  110. package/dist/cjs/state/CustomFields/index.js +6 -0
  111. package/dist/cjs/state/CustomFields/index.js.map +1 -1
  112. package/dist/cjs/state/NestedTableState/NestedCollectionFetchAllCollectionState.js +3 -1
  113. package/dist/cjs/state/NestedTableState/NestedCollectionFetchAllCollectionState.js.map +1 -1
  114. package/dist/cjs/state/NestedTableState/NestedCollectionNodeState.js +2 -1
  115. package/dist/cjs/state/NestedTableState/NestedCollectionNodeState.js.map +1 -1
  116. package/dist/cjs/state/NestedTableState/NestedCollectionState.js +5 -2
  117. package/dist/cjs/state/NestedTableState/NestedCollectionState.js.map +1 -1
  118. package/dist/cjs/state/NestedTableState/NestedTableState.js +14 -4
  119. package/dist/cjs/state/NestedTableState/NestedTableState.js.map +1 -1
  120. package/dist/cjs/state/PickerContentState.js +2 -1
  121. package/dist/cjs/state/PickerContentState.js.map +1 -1
  122. package/dist/cjs/state/TagsBulkAssignPopoverState.js +91 -33
  123. package/dist/cjs/state/TagsBulkAssignPopoverState.js.map +1 -1
  124. package/dist/cjs/state/TagsCollectionState.js +3 -1
  125. package/dist/cjs/state/TagsCollectionState.js.map +1 -1
  126. package/dist/cjs/state/ToolbarCollectionState.js +5 -2
  127. package/dist/cjs/state/ToolbarCollectionState.js.map +1 -1
  128. package/dist/cjs/styles.global.css +1 -1
  129. package/dist/cjs/version.js +1 -1
  130. package/dist/cjs/version.js.map +1 -1
  131. package/dist/esm/components/AppliedFiltersTagList/AppliedFiltersTagListState.js +1 -0
  132. package/dist/esm/components/AppliedFiltersTagList/AppliedFiltersTagListState.js.map +1 -1
  133. package/dist/esm/components/CardContainer/CardContainer.js +5 -2
  134. package/dist/esm/components/CardContainer/CardContainer.js.map +1 -1
  135. package/dist/esm/components/Collapse/Collapse.st.css.js +2 -2
  136. package/dist/esm/components/Collapse/Collapse.st.css.js.map +1 -1
  137. package/dist/esm/components/CollectionFilter/CollectionFilterState.js +1 -0
  138. package/dist/esm/components/CollectionFilter/CollectionFilterState.js.map +1 -1
  139. package/dist/esm/components/CollectionToolbar/CollectionToolbar.st.css.js +2 -2
  140. package/dist/esm/components/CollectionToolbar/CollectionToolbar.st.css.js.map +1 -1
  141. package/dist/esm/components/CollectionToolbar/SearchOrCustomFilter.js.map +1 -1
  142. package/dist/esm/components/CollectionToolbar/SearchOrCustomFilter.st.css.js +2 -2
  143. package/dist/esm/components/CollectionToolbars/CollectionToolbars.js +1 -1
  144. package/dist/esm/components/CollectionToolbars/CollectionToolbars.js.map +1 -1
  145. package/dist/esm/components/CollectionViewsDropdown/AutoCompleteReadonly.st.css.js +2 -2
  146. package/dist/esm/components/CollectionViewsDropdown/ViewsDropdown.st.css.js +2 -2
  147. package/dist/esm/components/CustomFieldsForm/CustomFieldsForm.js +6 -4
  148. package/dist/esm/components/CustomFieldsForm/CustomFieldsForm.js.map +1 -1
  149. package/dist/esm/components/CustomFieldsWidget/CustomFieldsNamespaceForm.js +18 -0
  150. package/dist/esm/components/CustomFieldsWidget/CustomFieldsNamespaceForm.js.map +1 -0
  151. package/dist/esm/components/CustomFieldsWidget/CustomFieldsViewWidget.js +27 -39
  152. package/dist/esm/components/CustomFieldsWidget/CustomFieldsViewWidget.js.map +1 -1
  153. package/dist/esm/components/CustomFieldsWidget/CustomFieldsViewWidget.uni.driver.js +2 -2
  154. package/dist/esm/components/CustomFieldsWidget/CustomFieldsViewWidget.uni.driver.js.map +1 -1
  155. package/dist/esm/components/CustomFieldsWidget/CustomFieldsViewWidgetInline.js +25 -0
  156. package/dist/esm/components/CustomFieldsWidget/CustomFieldsViewWidgetInline.js.map +1 -0
  157. package/dist/esm/components/CustomFieldsWidget/CustomFieldsWidget.js +1 -1
  158. package/dist/esm/components/CustomFieldsWidget/CustomFieldsWidget.js.map +1 -1
  159. package/dist/esm/components/CustomFieldsWidget/CustomFieldsWidgetCard.js +2 -2
  160. package/dist/esm/components/CustomFieldsWidget/CustomFieldsWidgetCard.js.map +1 -1
  161. package/dist/esm/components/CustomFieldsWidget/CustomFieldsWidgetContent.js +7 -10
  162. package/dist/esm/components/CustomFieldsWidget/CustomFieldsWidgetContent.js.map +1 -1
  163. package/dist/esm/components/CustomFieldsWidget/CustomFieldsWidgetContentLazy.js +2 -2
  164. package/dist/esm/components/CustomFieldsWidget/CustomFieldsWidgetContentLazy.js.map +1 -1
  165. package/dist/esm/components/CustomFieldsWidget/CustomFieldsWidgetInline.js +2 -2
  166. package/dist/esm/components/CustomFieldsWidget/CustomFieldsWidgetInline.js.map +1 -1
  167. package/dist/esm/components/CustomFieldsWidget/EmptyStateViewContent.js +8 -0
  168. package/dist/esm/components/CustomFieldsWidget/EmptyStateViewContent.js.map +1 -0
  169. package/dist/esm/components/DataExtension/CollectionDataExtensionState.js +4 -2
  170. package/dist/esm/components/DataExtension/CollectionDataExtensionState.js.map +1 -1
  171. package/dist/esm/components/DragHandle/DragHandle.st.css.js +2 -2
  172. package/dist/esm/components/DragHandle/DragHandle.st.css.js.map +1 -1
  173. package/dist/esm/components/Fade/Fade.st.css.js +2 -2
  174. package/dist/esm/components/Heading/Heading.st.css.js +2 -2
  175. package/dist/esm/components/InputOverflow/InputOverflow.st.css.js +2 -2
  176. package/dist/esm/components/InputOverflow/InputOverflow.st.css.js.map +1 -1
  177. package/dist/esm/components/LoadingRow/LoadingRow.st.css.js +3 -3
  178. package/dist/esm/components/MaxHeightText/MaxHeightText.st.css.js +2 -2
  179. package/dist/esm/components/MaxLines/MaxLines.st.css.js +2 -2
  180. package/dist/esm/components/MultiBulkActionToolbar/MultiBulkActionToolbar.st.css.js +2 -2
  181. package/dist/esm/components/NestedTable/NestedTable.js.map +1 -1
  182. package/dist/esm/components/NestedTable/NestedTablePlaceholderStatesRow.st.css.js +2 -2
  183. package/dist/esm/components/NestedTable/NestedTableRow.st.css.js +2 -2
  184. package/dist/esm/components/NestedTable/NestedTableWSRTable.js +2 -2
  185. package/dist/esm/components/NestedTable/NestedTableWSRTable.js.map +1 -1
  186. package/dist/esm/components/NestedTableDragAndDrop/MultipleDragOverlayEffect.st.css.js +2 -2
  187. package/dist/esm/components/NestedTableDragAndDrop/MultipleDragOverlayEffect.st.css.js.map +1 -1
  188. package/dist/esm/components/NestedTableDragAndDrop/NestedTableDragAndDropRow.st.css.js +2 -2
  189. package/dist/esm/components/NestedTableDragAndDrop/NestedTableDragAndDropRow.st.css.js.map +1 -1
  190. package/dist/esm/components/PickerContent/PickerContent.st.css.js +2 -2
  191. package/dist/esm/components/PickerContent/PickerContent.st.css.js.map +1 -1
  192. package/dist/esm/components/PickerContent/PickerContentAdditionalStep.st.css.js +2 -2
  193. package/dist/esm/components/PickerTableListItem/PickerTableListItem.st.css.js +2 -2
  194. package/dist/esm/components/PickerTableListItem/PickerTableListItem.st.css.js.map +1 -1
  195. package/dist/esm/components/ScrollableContent/ScrollableContent.st.css.js +2 -2
  196. package/dist/esm/components/ScrollableContent/ScrollableContent.st.css.js.map +1 -1
  197. package/dist/esm/components/SkeletonCard/SkeletonCard.st.css.js +2 -2
  198. package/dist/esm/components/SkeletonCard/SkeletonCard.st.css.js.map +1 -1
  199. package/dist/esm/components/SlidingModal/SlidingModal.st.css.js +2 -2
  200. package/dist/esm/components/SlidingModal/SlidingModal.st.css.js.map +1 -1
  201. package/dist/esm/components/Table/TableVirtualHeader.st.css.js +2 -2
  202. package/dist/esm/components/Table/TableVirtualHeader.st.css.js.map +1 -1
  203. package/dist/esm/components/TabsFilter/TabsFilter.st.css.js +2 -2
  204. package/dist/esm/components/TabsFilter/TabsFilter.st.css.js.map +1 -1
  205. package/dist/esm/components/Tags/ManageTags/ManageTagsModal/ManageTagsModal.st.css.js +2 -2
  206. package/dist/esm/components/Tags/Tags.js +2 -5
  207. package/dist/esm/components/Tags/Tags.js.map +1 -1
  208. package/dist/esm/components/TagsAssignButton/TagsAssignButton.js +5 -6
  209. package/dist/esm/components/TagsAssignButton/TagsAssignButton.js.map +1 -1
  210. package/dist/esm/components/ToolbarCollection/ToolbarCollection.js.map +1 -1
  211. package/dist/esm/components/ToolbarItemBox/ToolbarItemBox.st.css.js +2 -2
  212. package/dist/esm/components/common.st.css.js +2 -2
  213. package/dist/esm/components/common.st.css.js.map +1 -1
  214. package/dist/esm/hooks/useNestedTable.js.map +1 -1
  215. package/dist/esm/state/CustomFields/CustomFieldsAllNamespacesFormState.js +50 -0
  216. package/dist/esm/state/CustomFields/CustomFieldsAllNamespacesFormState.js.map +1 -0
  217. package/dist/esm/state/CustomFields/CustomFieldsFormState.js +18 -7
  218. package/dist/esm/state/CustomFields/CustomFieldsFormState.js.map +1 -1
  219. package/dist/esm/state/CustomFields/CustomFieldsWidgetState.js +1 -6
  220. package/dist/esm/state/CustomFields/CustomFieldsWidgetState.js.map +1 -1
  221. package/dist/esm/state/CustomFields/index.js +1 -0
  222. package/dist/esm/state/CustomFields/index.js.map +1 -1
  223. package/dist/esm/state/NestedTableState/NestedCollectionFetchAllCollectionState.js +1 -1
  224. package/dist/esm/state/NestedTableState/NestedCollectionFetchAllCollectionState.js.map +1 -1
  225. package/dist/esm/state/NestedTableState/NestedCollectionNodeState.js +1 -0
  226. package/dist/esm/state/NestedTableState/NestedCollectionNodeState.js.map +1 -1
  227. package/dist/esm/state/NestedTableState/NestedCollectionState.js +5 -1
  228. package/dist/esm/state/NestedTableState/NestedCollectionState.js.map +1 -1
  229. package/dist/esm/state/NestedTableState/NestedTableState.js +13 -4
  230. package/dist/esm/state/NestedTableState/NestedTableState.js.map +1 -1
  231. package/dist/esm/state/PickerContentState.js +1 -0
  232. package/dist/esm/state/PickerContentState.js.map +1 -1
  233. package/dist/esm/state/TagsBulkAssignPopoverState.js +66 -26
  234. package/dist/esm/state/TagsBulkAssignPopoverState.js.map +1 -1
  235. package/dist/esm/state/TagsCollectionState.js +4 -3
  236. package/dist/esm/state/TagsCollectionState.js.map +1 -1
  237. package/dist/esm/state/ToolbarCollectionState.js +2 -2
  238. package/dist/esm/state/ToolbarCollectionState.js.map +1 -1
  239. package/dist/esm/styles.global.css +1 -1
  240. package/dist/esm/version.js +1 -1
  241. package/dist/types/components/AppliedFiltersTagList/AppliedFiltersTagListState.d.ts.map +1 -1
  242. package/dist/types/components/CardContainer/CardContainer.d.ts.map +1 -1
  243. package/dist/types/components/Collapse/Collapse.st.css.d.ts.map +1 -1
  244. package/dist/types/components/CollectionCard/CollectionCard.d.ts +1 -1
  245. package/dist/types/components/CollectionCard/CollectionCard.d.ts.map +1 -1
  246. package/dist/types/components/CollectionFilter/CollectionFilterState.d.ts.map +1 -1
  247. package/dist/types/components/CollectionTable/CollectionTable.d.ts +1 -1
  248. package/dist/types/components/CollectionTable/CollectionTable.d.ts.map +1 -1
  249. package/dist/types/components/CollectionToolbar/CollectionToolbar.d.ts +1 -1
  250. package/dist/types/components/CollectionToolbar/CollectionToolbar.d.ts.map +1 -1
  251. package/dist/types/components/CollectionToolbar/CollectionToolbar.st.css.d.ts.map +1 -1
  252. package/dist/types/components/CollectionToolbar/SearchOrCustomFilter.d.ts +3 -3
  253. package/dist/types/components/CollectionToolbar/SearchOrCustomFilter.d.ts.map +1 -1
  254. package/dist/types/components/CollectionToolbars/CollectionToolbars.d.ts +3 -22
  255. package/dist/types/components/CollectionToolbars/CollectionToolbars.d.ts.map +1 -1
  256. package/dist/types/components/CustomFieldsForm/CustomFieldsForm.d.ts +1 -1
  257. package/dist/types/components/CustomFieldsForm/CustomFieldsForm.d.ts.map +1 -1
  258. package/dist/types/components/CustomFieldsWidget/CustomFieldsNamespaceForm.d.ts +15 -0
  259. package/dist/types/components/CustomFieldsWidget/CustomFieldsNamespaceForm.d.ts.map +1 -0
  260. package/dist/types/components/CustomFieldsWidget/CustomFieldsViewWidget.d.ts.map +1 -1
  261. package/dist/types/components/CustomFieldsWidget/CustomFieldsViewWidget.uni.driver.d.ts.map +1 -1
  262. package/dist/types/components/CustomFieldsWidget/CustomFieldsViewWidgetInline.d.ts +15 -0
  263. package/dist/types/components/CustomFieldsWidget/CustomFieldsViewWidgetInline.d.ts.map +1 -0
  264. package/dist/types/components/CustomFieldsWidget/CustomFieldsWidget.d.ts.map +1 -1
  265. package/dist/types/components/CustomFieldsWidget/CustomFieldsWidgetCard.d.ts +1 -2
  266. package/dist/types/components/CustomFieldsWidget/CustomFieldsWidgetCard.d.ts.map +1 -1
  267. package/dist/types/components/CustomFieldsWidget/CustomFieldsWidgetContent.d.ts +1 -3
  268. package/dist/types/components/CustomFieldsWidget/CustomFieldsWidgetContent.d.ts.map +1 -1
  269. package/dist/types/components/CustomFieldsWidget/CustomFieldsWidgetContentLazy.d.ts +1 -3
  270. package/dist/types/components/CustomFieldsWidget/CustomFieldsWidgetContentLazy.d.ts.map +1 -1
  271. package/dist/types/components/CustomFieldsWidget/CustomFieldsWidgetInline.d.ts.map +1 -1
  272. package/dist/types/components/CustomFieldsWidget/EmptyStateViewContent.d.ts +11 -0
  273. package/dist/types/components/CustomFieldsWidget/EmptyStateViewContent.d.ts.map +1 -0
  274. package/dist/types/components/DataExtension/CollectionDataExtensionState.d.ts.map +1 -1
  275. package/dist/types/components/DragHandle/DragHandle.st.css.d.ts.map +1 -1
  276. package/dist/types/components/InputOverflow/InputOverflow.st.css.d.ts.map +1 -1
  277. package/dist/types/components/NestedTable/NestedTable.d.ts +15 -1
  278. package/dist/types/components/NestedTable/NestedTable.d.ts.map +1 -1
  279. package/dist/types/components/NestedTable/NestedTableWSRTable.d.ts +2 -0
  280. package/dist/types/components/NestedTable/NestedTableWSRTable.d.ts.map +1 -1
  281. package/dist/types/components/NestedTableDragAndDrop/MultipleDragOverlayEffect.st.css.d.ts.map +1 -1
  282. package/dist/types/components/NestedTableDragAndDrop/NestedTableDragAndDropRow.st.css.d.ts.map +1 -1
  283. package/dist/types/components/PickerContent/PickerContent.st.css.d.ts.map +1 -1
  284. package/dist/types/components/PickerTableListItem/PickerTableListItem.st.css.d.ts.map +1 -1
  285. package/dist/types/components/ScrollableContent/ScrollableContent.st.css.d.ts.map +1 -1
  286. package/dist/types/components/SkeletonCard/SkeletonCard.st.css.d.ts.map +1 -1
  287. package/dist/types/components/SlidingModal/SlidingModal.st.css.d.ts.map +1 -1
  288. package/dist/types/components/Table/TableVirtualHeader.st.css.d.ts.map +1 -1
  289. package/dist/types/components/TabsFilter/TabsFilter.st.css.d.ts.map +1 -1
  290. package/dist/types/components/Tags/Tags.d.ts +10 -4
  291. package/dist/types/components/Tags/Tags.d.ts.map +1 -1
  292. package/dist/types/components/TagsAssignButton/TagsAssignButton.d.ts +3 -1
  293. package/dist/types/components/TagsAssignButton/TagsAssignButton.d.ts.map +1 -1
  294. package/dist/types/components/ToolbarCollection/ToolbarCollection.d.ts +7 -7
  295. package/dist/types/components/ToolbarCollection/ToolbarCollection.d.ts.map +1 -1
  296. package/dist/types/components/common.st.css.d.ts.map +1 -1
  297. package/dist/types/hooks/useNestedTable.d.ts +2 -1
  298. package/dist/types/hooks/useNestedTable.d.ts.map +1 -1
  299. package/dist/types/state/CustomFields/CustomFieldsAllNamespacesFormState.d.ts +23 -0
  300. package/dist/types/state/CustomFields/CustomFieldsAllNamespacesFormState.d.ts.map +1 -0
  301. package/dist/types/state/CustomFields/CustomFieldsFormState.d.ts +4 -3
  302. package/dist/types/state/CustomFields/CustomFieldsFormState.d.ts.map +1 -1
  303. package/dist/types/state/CustomFields/CustomFieldsWidgetState.d.ts +3 -3
  304. package/dist/types/state/CustomFields/CustomFieldsWidgetState.d.ts.map +1 -1
  305. package/dist/types/state/CustomFields/index.d.ts +1 -0
  306. package/dist/types/state/CustomFields/index.d.ts.map +1 -1
  307. package/dist/types/state/NestedTableState/NestedCollectionNodeState.d.ts.map +1 -1
  308. package/dist/types/state/NestedTableState/NestedCollectionState.d.ts.map +1 -1
  309. package/dist/types/state/NestedTableState/NestedTableFlatModeState.d.ts +1 -1
  310. package/dist/types/state/NestedTableState/NestedTableFlatModeState.d.ts.map +1 -1
  311. package/dist/types/state/NestedTableState/NestedTableNestedModeState.d.ts +1 -1
  312. package/dist/types/state/NestedTableState/NestedTableNestedModeState.d.ts.map +1 -1
  313. package/dist/types/state/NestedTableState/NestedTableState.d.ts +7 -5
  314. package/dist/types/state/NestedTableState/NestedTableState.d.ts.map +1 -1
  315. package/dist/types/state/PickerContentState.d.ts.map +1 -1
  316. package/dist/types/state/TagsBulkAssignPopoverState.d.ts +16 -5
  317. package/dist/types/state/TagsBulkAssignPopoverState.d.ts.map +1 -1
  318. package/dist/types/state/TagsCollectionState.d.ts +7 -8
  319. package/dist/types/state/TagsCollectionState.d.ts.map +1 -1
  320. package/dist/types/state/ToolbarCollectionState.d.ts +2 -1
  321. package/dist/types/state/ToolbarCollectionState.d.ts.map +1 -1
  322. package/dist/types/version.d.ts +1 -1
  323. package/package.json +5 -5
@@ -1 +1 @@
1
- {"version":3,"names":["_bexCore","require","_ToolbarCollectionState","_TableState","_NestedTableNestedModeState","_NestedTableFlatModeState","_NestedCollectionFetchAllState","_mobx","NestedTableState","constructor","params","_defineProperty2","default","TaskState","Map","container","query","QueryState","filters","levels","map","level","i","depth","fetchAllLimit","fetchAllThreshold","options","expandAllThreshold","mainColumn","rootLevelDescriptor","Error","rootNodeCollection","createCollection","parentId","sequences","collection","syncWithSharedQuery","reportBi","reportProps","isFetchAllAborted","componentStatus","toolbar","ToolbarCollectionState","componentType","setNewColumns","columns","column","render","tableState","TableState","nested","NestedTableNestedModeState","wrapper","flat","NestedTableFlatModeState","nestedMode","flatMode","getNode","key","getAllNodes","expandAll","nestedCollection","_attemptFetchAllAndPopulateCache","initTask","init","invalidate","runOnce","fetchAllState","NestedCollectionFetchAllState","nestedCollectionState","disposers","status","promise","forEach","d","refreshAll","isFlatMode","reset","fetchAll","_refreshAll","root","hasActiveFilters","reaction","_fields","add","delete","fireImmediately","featuresInitializers","exports"],"sources":["../../../../src/state/NestedTableState/NestedTableState.ts"],"sourcesContent":["import {\n WixPatternsContainer,\n QueryState,\n ReportBI,\n syncWithSharedQuery,\n TaskState,\n CollectionOptimisticSequenceExecutor,\n FiltersMap,\n} from '@wix/bex-core';\nimport { ToolbarCollectionState } from '../ToolbarCollectionState';\nimport { TableState } from '../TableState';\nimport { TableColumn } from '../../model';\nimport { NestedTableColumn } from './NestedTableColumn';\nimport { NestedTableNestedModeState } from './NestedTableNestedModeState';\nimport { NestedTableFlatModeState } from './NestedTableFlatModeState';\nimport { NestedCollectionFetchAllState } from './NestedCollectionFetchAllState';\nimport { NestedTableLevelDescriptor } from './NestedTableLevelDescriptor';\nimport { EagerLazyModeOptions } from './types';\nimport { reaction } from 'mobx';\nimport { ICollectionComponentState } from '../ICollectionComponentState';\nimport { NestedTableNodeStatePublicAPI } from './NestedTableNodeStatePublicAPI';\n\nexport interface NestedTableStateBaseParams<C extends string> {\n /**\n * If the total items in the server are less or equal to this threshold, all items will be fetched and rendered at once, in expanded state (referred to as \"Eager\" mode).\n * @default 1000\n */\n fetchAllLimit?: number;\n /**\n * @deprecated Use `fetchAllLimit` instead.\n */\n fetchAllThreshold?: number;\n /**\n * In \"Eager\" mode, items will be in expanded state. This threshold allows to use collapsed state if the total items in the server are greater than this threshold.\n * @default `fetchAllThreshold`\n */\n expandAllThreshold?: number;\n /**\n * Columns to be rendered in the nested table. Same as [TableColumn](./?path=/story/common-types--tablecolumn) - just without rendering logic of cells (`render` prop will be defined for each level individually in the `levels` prop).\n * @overrideType [TableColumn](./?path=/story/common-types--tablecolumn)[]\n */\n columns: NestedTableColumn<C>[];\n /**\n * Main column of the nested table.\n * An object with the following properties:\n * - `title`: The title of the column. @default ''\n * - `width`: The width of the column. Can be a number (in pixels) or a string (percentage). @default '326px'\n */\n mainColumn?: {\n title?: string;\n width?: number | string;\n };\n /**\n * Configuration of the nested table levels. Use one of the helper function to create the levels configuration:\n * - [createNestedTableLevel](./?path=/story/base-components-collections-nestedtable--createnestedtablelevel) - for cases where each level if of a different entity type.\n * - [createNestedTableSingleEntityLevels](./?path=/story/base-components-collections-nestedtable--createnestedtablesingleentitylevels) - for cases where all levels are of the same entity type.\n * @overrideType [NestedTableLevelConfig](./?path=/story/base-components-collections-nestedtable--nestedtablelevelconfig)[]\n */\n levels: Omit<NestedTableLevelDescriptor<C, any, any>, 'depth'>[];\n}\n\nexport interface NestedTableStateParams<C extends string>\n extends NestedTableStateBaseParams<C> {\n container: WixPatternsContainer;\n}\n\nexport interface NestedTableStatePublicAPI<C extends string> {\n /**\n * Underlying [ToolbarCollectionState](./?path=/story/common-state--toolbarcollectionstate) instance\n * @overrideType [ToolbarCollectionState](./?path=/story/common-state--toolbarcollectionstate)\n */\n readonly toolbar: ToolbarCollectionState<unknown, {}>;\n /**\n * Underlying [TableState](./?path=/story/base-components-collections-table-tablestate--tablestate) instance\n * @overrideType [TableState](./?path=/story/base-components-collections-table-tablestate--tablestate)\n */\n readonly tableState: TableState<unknown, {}>;\n\n /**\n * Get the node this item is the parent of. i.e. this node's collection items' parent id is the `key`\n * @param key\n * @overrideType (key: string) => [NestedTableNodeState](./?path=/story/base-components-collections-nestedtable--nestedtablenodestate) | undefined\n */\n getNode<TD, FD extends FiltersMap>(\n key: string,\n ): NestedTableNodeStatePublicAPI<C, TD, FD> | undefined;\n\n /**\n * Get all the nodes in the table\n */\n getAllNodes<TD, FD extends FiltersMap>(): NestedTableNodeStatePublicAPI<\n C,\n TD,\n FD\n >[];\n\n /**\n * An API to refresh all items in the nested table.\n */\n readonly refreshAll: () => void;\n}\n\nexport class NestedTableState<C extends string = string>\n implements ICollectionComponentState, NestedTableStatePublicAPI<C>\n{\n readonly container;\n readonly reportBi: ReportBI;\n readonly toolbar;\n readonly tableState;\n readonly mainColumn;\n readonly options: EagerLazyModeOptions;\n\n readonly initTask = new TaskState();\n\n readonly levels: NestedTableLevelDescriptor<C, any, any>[];\n\n readonly rootNodeCollection;\n readonly query;\n\n readonly nested: NestedTableNestedModeState<C>;\n readonly flat: NestedTableFlatModeState<C>;\n\n readonly sequences = new Map<string, CollectionOptimisticSequenceExecutor>();\n\n constructor(params: NestedTableStateParams<C>) {\n this.container = params.container;\n\n this.query = new QueryState({\n filters: {},\n });\n\n this.levels = params.levels.map((level, i) => ({\n ...level,\n depth: i,\n }));\n\n const fetchAllLimit = params.fetchAllLimit ?? params.fetchAllThreshold;\n\n this.options = {\n fetchAllThreshold: fetchAllLimit ?? 1000,\n expandAllThreshold: params.expandAllThreshold ?? fetchAllLimit ?? 1000,\n };\n\n this.mainColumn = params.mainColumn;\n const rootLevelDescriptor = this.levels[0];\n\n if (rootLevelDescriptor == null) {\n throw new Error('NestedTableState must have at least one level');\n }\n\n this.rootNodeCollection = rootLevelDescriptor.createCollection({\n parentId: 'null',\n sequences: this.sequences,\n query: this.query,\n });\n\n const { collection } = this.rootNodeCollection;\n\n syncWithSharedQuery(collection.query, this.query);\n\n this.reportBi = (reportProps) => {\n const { isFetchAllAborted } = this;\n this.container.reportBi({\n ...reportProps,\n params: {\n ...reportProps.params,\n ...(isFetchAllAborted != null && {\n componentStatus: isFetchAllAborted\n ? 'All items collapsed'\n : 'All items expanded',\n }),\n },\n });\n };\n\n this.toolbar = new ToolbarCollectionState({\n collection: this.rootNodeCollection.collection,\n container: params.container,\n componentType: 'NestedTable',\n reportBi: this.reportBi,\n });\n\n this.toolbar.setNewColumns(\n params.columns.map((column) => ({\n ...column,\n render: () => null,\n })) as TableColumn<unknown>[],\n );\n\n this.tableState = new TableState({\n collection: this.rootNodeCollection.collection,\n container: params.container,\n toolbar: this.toolbar,\n });\n\n this.nested = new NestedTableNestedModeState({\n wrapper: this,\n reportBi: this.reportBi,\n });\n\n this.flat = new NestedTableFlatModeState({\n wrapper: this,\n });\n }\n\n get nestedMode() {\n return this.nested;\n }\n\n get flatMode() {\n return this.flat;\n }\n\n getNode<TD, FD extends FiltersMap>(key: string) {\n return this.nested.getNode<TD, FD>(key);\n }\n\n /**\n * Get all the nodes in the table\n */\n getAllNodes<TD, FD extends FiltersMap>() {\n return this.nested.getAllNodes<TD, FD>();\n }\n\n get isFetchAllAborted() {\n return this.nested.isFetchAllAborted;\n }\n\n get expandAll() {\n return this.nested.expandAll;\n }\n\n get nestedCollection() {\n return this.nested.nestedCollection;\n }\n\n _attemptFetchAllAndPopulateCache() {\n const initTask = new TaskState();\n return {\n initTask,\n init: (\n { invalidate }: { invalidate: boolean } = { invalidate: false },\n ) => {\n initTask.runOnce(async () => {\n const fetchAllState = new NestedCollectionFetchAllState({\n options: this.options,\n query: this.nested.query,\n nestedCollectionState: this.nested.nestedCollection,\n });\n\n const disposers = [fetchAllState.init({ invalidate })];\n\n try {\n await fetchAllState.initTask.status.promise;\n } finally {\n disposers.forEach((d) => d());\n }\n });\n\n return () => {};\n },\n };\n }\n\n refreshAll() {\n const initTask = this.isFlatMode\n ? this.flat.initTask\n : this.nested.initTask;\n initTask.reset();\n initTask.runOnce(async () => {\n const fetchAll = this._attemptFetchAllAndPopulateCache();\n fetchAll.init({ invalidate: true });\n await fetchAll.initTask.status.promise;\n\n await (this.isFlatMode\n ? this.flatMode._refreshAll()\n : this.nestedMode.root._refreshAll());\n });\n }\n\n get isFlatMode() {\n return this.query.hasActiveFilters;\n }\n\n init() {\n const { initTask, tableState, query } = this;\n\n const disposers = [\n query.init(),\n reaction(\n () => this.isFlatMode,\n (isFlatMode) => {\n const {\n query: { _fields },\n } = this;\n if (isFlatMode) {\n _fields.add('breadcrumbs');\n } else {\n _fields.delete('breadcrumbs');\n }\n },\n { fireImmediately: true },\n ),\n tableState.init({\n featuresInitializers: [],\n }),\n ];\n\n initTask.runOnce(async () => {\n tableState.initTask.runOnce();\n await tableState.initTask.status.promise;\n });\n\n return () => {\n initTask.reset();\n disposers.forEach((d) => d());\n };\n }\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_bexCore","require","_ToolbarCollectionState","_TableState","_NestedTableNestedModeState","_NestedTableFlatModeState","_NestedCollectionFetchAllState","_mobx","NestedTableState","constructor","params","_defineProperty2","default","TaskState","Map","container","query","QueryState","filters","levels","map","level","i","depth","fetchAllLimit","fetchAllThreshold","options","expandAllThreshold","mainColumn","rootLevelDescriptor","Error","rootNodeCollection","createCollection","parentId","sequences","collection","syncWithSharedQuery","reportBi","reportProps","isFetchAllAborted","componentStatus","toolbar","ToolbarCollectionState","componentType","setNewColumns","columns","column","render","tableState","TableState","nested","NestedTableNestedModeState","wrapper","flat","NestedTableFlatModeState","nestedMode","flatMode","getNode","key","getAllNodes","expandAll","nestedCollection","_attemptFetchAllAndPopulateCache","initTask","init","invalidate","runOnce","fetchAllState","NestedCollectionFetchAllState","nestedCollectionState","disposers","status","promise","forEach","d","refreshAll","isFlatMode","reset","fetchAll","_refreshAll","root","search","value","_addFilterListeners","Object","values","filtersEntries","_","filter","addEventListener","events","skipFilterListeners","reaction","_fields","add","delete","fireImmediately","featuresInitializers","exports"],"sources":["../../../../src/state/NestedTableState/NestedTableState.ts"],"sourcesContent":["import {\n WixPatternsContainer,\n QueryState,\n ReportBI,\n syncWithSharedQuery,\n TaskState,\n CollectionOptimisticSequenceExecutor,\n FiltersMap,\n addEventListener,\n OptionalFiltersMap,\n} from '@wix/bex-core';\nimport { ToolbarCollectionState } from '../ToolbarCollectionState';\nimport { TableState } from '../TableState';\nimport { TableColumn } from '../../model';\nimport { NestedTableColumn } from './NestedTableColumn';\nimport { NestedTableNestedModeState } from './NestedTableNestedModeState';\nimport { NestedTableFlatModeState } from './NestedTableFlatModeState';\nimport { NestedCollectionFetchAllState } from './NestedCollectionFetchAllState';\nimport { NestedTableLevelDescriptor } from './NestedTableLevelDescriptor';\nimport { EagerLazyModeOptions } from './types';\nimport { reaction } from 'mobx';\nimport { ICollectionComponentState } from '../ICollectionComponentState';\nimport { NestedTableNodeStatePublicAPI } from './NestedTableNodeStatePublicAPI';\n\nexport interface NestedTableStateBaseParams<\n C extends string,\n F extends FiltersMap = OptionalFiltersMap,\n> {\n /**\n * If the total items in the server are less or equal to this threshold, all items will be fetched and rendered at once, in expanded state (referred to as \"Eager\" mode).\n * @default 1000\n */\n fetchAllLimit?: number;\n /**\n * @deprecated Use `fetchAllLimit` instead.\n */\n fetchAllThreshold?: number;\n /**\n * In \"Eager\" mode, items will be in expanded state. This threshold allows to use collapsed state if the total items in the server are greater than this threshold.\n * @default `fetchAllThreshold`\n */\n expandAllThreshold?: number;\n /**\n * Columns to be rendered in the nested table. Same as [TableColumn](./?path=/story/common-types--tablecolumn) - just without rendering logic of cells (`render` prop will be defined for each level individually in the `levels` prop).\n * @overrideType [TableColumn](./?path=/story/common-types--tablecolumn)[]\n */\n columns: NestedTableColumn<C>[];\n /**\n * Main column of the nested table.\n * An object with the following properties:\n * - `title`: The title of the column. @default ''\n * - `width`: The width of the column. Can be a number (in pixels) or a string (percentage). @default '326px'\n */\n mainColumn?: {\n title?: string;\n width?: number | string;\n };\n /**\n * Configuration of the nested table levels. Use one of the helper function to create the levels configuration:\n * - [createNestedTableLevel](./?path=/story/base-components-collections-nestedtable--createnestedtablelevel) - for cases where each level if of a different entity type.\n * - [createNestedTableSingleEntityLevels](./?path=/story/base-components-collections-nestedtable--createnestedtablesingleentitylevels) - for cases where all levels are of the same entity type.\n * @overrideType [NestedTableLevelConfig](./?path=/story/base-components-collections-nestedtable--nestedtablelevelconfig)[]\n */\n levels: Omit<NestedTableLevelDescriptor<C, any, any>, 'depth'>[];\n\n filters?: F;\n}\n\nexport interface NestedTableStateParams<\n C extends string,\n F extends FiltersMap = OptionalFiltersMap,\n> extends NestedTableStateBaseParams<C, F> {\n container: WixPatternsContainer;\n}\n\nexport interface NestedTableStatePublicAPI<C extends string> {\n /**\n * Underlying [ToolbarCollectionState](./?path=/story/common-state--toolbarcollectionstate) instance\n * @overrideType [ToolbarCollectionState](./?path=/story/common-state--toolbarcollectionstate)\n */\n readonly toolbar: ToolbarCollectionState<unknown, {}>;\n /**\n * Underlying [TableState](./?path=/story/base-components-collections-table-tablestate--tablestate) instance\n * @overrideType [TableState](./?path=/story/base-components-collections-table-tablestate--tablestate)\n */\n readonly tableState: TableState<unknown, {}>;\n\n /**\n * Get the node this item is the parent of. i.e. this node's collection items' parent id is the `key`\n * @param key\n * @overrideType (key: string) => [NestedTableNodeState](./?path=/story/base-components-collections-nestedtable--nestedtablenodestate) | undefined\n */\n getNode<TD, FD extends FiltersMap>(\n key: string,\n ): NestedTableNodeStatePublicAPI<C, TD, FD> | undefined;\n\n /**\n * Get all the nodes in the table\n */\n getAllNodes<TD, FD extends FiltersMap>(): NestedTableNodeStatePublicAPI<\n C,\n TD,\n FD\n >[];\n\n /**\n * An API to refresh all items in the nested table.\n */\n readonly refreshAll: () => void;\n}\n\nexport class NestedTableState<\n C extends string = string,\n F extends FiltersMap = OptionalFiltersMap,\n> implements ICollectionComponentState, NestedTableStatePublicAPI<C>\n{\n readonly container;\n readonly reportBi: ReportBI;\n readonly toolbar;\n readonly tableState;\n readonly mainColumn;\n readonly options: EagerLazyModeOptions;\n\n readonly initTask = new TaskState();\n\n readonly levels: NestedTableLevelDescriptor<C, any, any>[];\n\n readonly rootNodeCollection;\n readonly query;\n\n readonly nested: NestedTableNestedModeState<C>;\n readonly flat: NestedTableFlatModeState<C>;\n\n readonly sequences = new Map<string, CollectionOptimisticSequenceExecutor>();\n\n constructor(params: NestedTableStateParams<C, F>) {\n this.container = params.container;\n\n this.query = new QueryState({\n filters: params.filters || {},\n });\n\n this.levels = params.levels.map((level, i) => ({\n ...level,\n depth: i,\n }));\n\n const fetchAllLimit = params.fetchAllLimit ?? params.fetchAllThreshold;\n\n this.options = {\n fetchAllThreshold: fetchAllLimit ?? 1000,\n expandAllThreshold: params.expandAllThreshold ?? fetchAllLimit ?? 1000,\n };\n\n this.mainColumn = params.mainColumn;\n const rootLevelDescriptor = this.levels[0];\n\n if (rootLevelDescriptor == null) {\n throw new Error('NestedTableState must have at least one level');\n }\n\n this.rootNodeCollection = rootLevelDescriptor.createCollection({\n parentId: 'null',\n sequences: this.sequences,\n query: this.query,\n });\n\n const { collection } = this.rootNodeCollection;\n\n syncWithSharedQuery(collection.query, this.query);\n\n this.reportBi = (reportProps) => {\n const { isFetchAllAborted } = this;\n this.container.reportBi({\n ...reportProps,\n params: {\n ...reportProps.params,\n ...(isFetchAllAborted != null && {\n componentStatus: isFetchAllAborted\n ? 'All items collapsed'\n : 'All items expanded',\n }),\n },\n });\n };\n\n this.toolbar = new ToolbarCollectionState({\n collection: this.rootNodeCollection.collection,\n container: params.container,\n componentType: 'NestedTable',\n reportBi: this.reportBi,\n });\n\n this.toolbar.setNewColumns(\n params.columns.map((column) => ({\n ...column,\n render: () => null,\n })) as TableColumn<unknown>[],\n );\n\n this.tableState = new TableState({\n collection: this.rootNodeCollection.collection,\n container: params.container,\n toolbar: this.toolbar,\n });\n\n this.nested = new NestedTableNestedModeState({\n wrapper: this,\n reportBi: this.reportBi,\n });\n\n this.flat = new NestedTableFlatModeState({\n wrapper: this,\n });\n }\n\n get nestedMode() {\n return this.nested;\n }\n\n get flatMode() {\n return this.flat;\n }\n\n getNode<TD, FD extends FiltersMap>(key: string) {\n return this.nested.getNode<TD, FD>(key);\n }\n\n /**\n * Get all the nodes in the table\n */\n getAllNodes<TD, FD extends FiltersMap>() {\n return this.nested.getAllNodes<TD, FD>();\n }\n\n get isFetchAllAborted() {\n return this.nested.isFetchAllAborted;\n }\n\n get expandAll() {\n return this.nested.expandAll;\n }\n\n get nestedCollection() {\n return this.nested.nestedCollection;\n }\n\n _attemptFetchAllAndPopulateCache() {\n const initTask = new TaskState();\n return {\n initTask,\n init: (\n { invalidate }: { invalidate: boolean } = { invalidate: false },\n ) => {\n initTask.runOnce(async () => {\n const fetchAllState = new NestedCollectionFetchAllState({\n options: this.options,\n query: this.nested.query,\n nestedCollectionState: this.nested.nestedCollection,\n });\n\n const disposers = [fetchAllState.init({ invalidate })];\n\n try {\n await fetchAllState.initTask.status.promise;\n } finally {\n disposers.forEach((d) => d());\n }\n });\n\n return () => {};\n },\n };\n }\n\n refreshAll() {\n const initTask = this.isFlatMode\n ? this.flat.initTask\n : this.nested.initTask;\n initTask.reset();\n initTask.runOnce(async () => {\n const fetchAll = this._attemptFetchAllAndPopulateCache();\n fetchAll.init({ invalidate: true });\n await fetchAll.initTask.status.promise;\n\n await (this.isFlatMode\n ? this.flatMode._refreshAll()\n : this.nestedMode.root._refreshAll());\n });\n }\n\n get isFlatMode() {\n return !!this.query.search.value;\n }\n\n _addFilterListeners() {\n return Object.values(this.query.filtersEntries).map(([_, filter]) => {\n return addEventListener(filter.events, 'refresh', () => {\n this.refreshAll();\n });\n });\n }\n\n init() {\n const { initTask, tableState, query } = this;\n\n const disposers = [\n query.init({ skipFilterListeners: true }),\n ...this._addFilterListeners(),\n reaction(\n () => this.isFlatMode,\n (isFlatMode) => {\n const {\n query: { _fields },\n } = this;\n if (isFlatMode) {\n _fields.add('breadcrumbs');\n } else {\n _fields.delete('breadcrumbs');\n }\n },\n { fireImmediately: true },\n ),\n tableState.init({\n featuresInitializers: [],\n skipFilterListeners: true,\n }),\n ];\n\n initTask.runOnce(async () => {\n tableState.initTask.runOnce();\n await tableState.initTask.status.promise;\n });\n\n return () => {\n initTask.reset();\n disposers.forEach((d) => d());\n };\n }\n}\n"],"mappings":"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","ignoreList":[]}
@@ -288,7 +288,8 @@ class PickerContentState {
288
288
  filterName: filter.name,
289
289
  actionType,
290
290
  numFiltersActive: collection.query.activeFiltersCount,
291
- filteredListSize: collection.result.total
291
+ filteredListSize: collection.result.total,
292
+ isCustomField: !!filter.isCustomField
292
293
  }));
293
294
  });
294
295
  };
@@ -1 +1 @@
1
- {"version":3,"names":["_bexCore","require","_util","_MaxSelection","_mobx","_bi","_events2","_PickerContentStateBI","isPickerSelectionV2","e","PickerContentState","constructor","params","_defineProperty2","default","TaskState","EventEmitter","items","picker","onCreateNew","selectCreatedItems","onClick","modalState","_isCustomContentVisible","onClose","value","reportBi","newItemCreationStart","_commonDynamicBiParams","numSelectedItems","collection","bulkSelect","select","selectedCount","initialSelect","result","keyedItems","initialSelectItems","filter","item","index","syncValues","finalStatus","action","events","query","hasActiveFilters","allSelected","isEmpty","afters","listeners","map","l","toggleIsSelectAll","keyedItem","selectOneItem","forEach","afterToggleIsSelectAll","createBILogger","fqdn","type","componentType","PickerState","getMaxItems","shouldFilterNotAffectTotalCount","minContentHeight","makeObservable","_setInitialSelection","pickerContentRef","current","_setInitialData","strictFiltersOnly","noFilters","firstPageResult","withoutFiltersResult","strictFiltersResult","fetchFirstPage","status","data","setInitialPage","itemKey","firstItem","forceSet","defaultStatus","values","selectionStatusWixPatternsPreset","forceSetMany","key","isSelectAll","selectAll","uncheckedValues","deselectOne","deselectOneItem","selectedValues","selectOne","partiallySelectedIds","resolvedEntriesFromCollection","collectionItem","getCollectionItem","indeterminate","multipleRef","length","multiple","fromMultipleSelectionToBoolean","resetToDefaults","_reportFilterToggleBiOnNextResult","actionType","clickedValueKey","onFetch","emitter","off","withoutDefaults","cairoFilterToggled","origin","filterValue","filterName","name","numFiltersActive","activeFiltersCount","filteredListSize","total","on","init","initTask","bi","PickerContentStateBI","state","disposers","filtersArray","push","addEventListener","_resultUpdated","run","promise","pickerContent","undefined","d","exports"],"sources":["../../../src/state/PickerContentState.ts"],"sourcesContent":["import {\n BulkSelectKeyedItem,\n CollectionState,\n FiltersMap,\n Fqdn,\n PickerEvents,\n PickerState,\n ReportBI,\n SelectionEntry,\n selectionStatusWixPatternsPreset,\n TaskState,\n FilterEventOptions,\n withoutDefaults,\n Filter,\n} from '@wix/bex-core';\nimport { addEventListener } from '@wix/bex-core/util';\nimport type { PickerModalState } from '../hooks';\nimport { UsePickerContentParamsBase } from '../hooks/usePickerContent';\nimport { fromMultipleSelectionToBoolean } from '../components/MaxSelection';\nimport { action, makeObservable } from 'mobx';\nimport { cairoFilterToggled, newItemCreationStart } from '@wix/bex-core/bi';\nimport { EventEmitter } from 'events';\nimport { TypedEmitter } from '@wix/bex-core/events';\nimport { PickerContentStateBI } from './PickerContentStateBI';\nimport { AdditionalStepState } from './AdditionalStepState';\n\nconst isPickerSelectionV2 = <T, F extends FiltersMap>(\n e: UsePickerContentParamsBase<T, F>['initialSelect'],\n) =>\n e != null && typeof e === 'object' && ('defaultStatus' in e || 'values' in e);\n\nexport interface PickerContentStateParams<T, F extends FiltersMap> {\n modalState: PickerModalState<T, F>;\n collection: CollectionState<T, F>;\n createBILogger: <P extends Fqdn>(defaultParams: P) => ReportBI;\n events?: PickerEvents<T, F>;\n initialSelect?: UsePickerContentParamsBase<T, F>['initialSelect'];\n}\n\nexport class PickerContentState<T, F extends FiltersMap> {\n readonly picker: PickerState<T, F>;\n readonly modalState: PickerModalState<T, F>;\n readonly initTask = new TaskState();\n readonly reportBi;\n\n readonly events = new EventEmitter() as TypedEmitter<{\n beforeToggleIsSelectAll: () => {\n afterToggleIsSelectAll: () => unknown;\n };\n }>;\n\n initialSelect: PickerContentStateParams<T, F>['initialSelect'];\n\n additionalStep?: AdditionalStepState<T, F>;\n\n constructor(params: PickerContentStateParams<T, F>) {\n const { collection, modalState, createBILogger, events, initialSelect } =\n params;\n\n this.initialSelect = initialSelect;\n\n this.modalState = modalState;\n\n this.reportBi = createBILogger({\n ...collection.fqdn,\n type: 'modal',\n componentType: 'Picker Modal',\n });\n\n this.picker = new PickerState({\n collection,\n getMaxItems: modalState.getMaxItems,\n shouldFilterNotAffectTotalCount:\n modalState.shouldFilterNotAffectTotalCount,\n minContentHeight: modalState.minContentHeight,\n events,\n reportBi: this.reportBi,\n });\n\n makeObservable(this, {\n _setInitialSelection: action,\n });\n\n if (modalState.pickerContentRef.current == null) {\n this._setInitialData();\n }\n\n this._setInitialSelection();\n }\n\n _setInitialData() {\n const { modalState, picker } = this;\n const { collection, strictFiltersOnly, noFilters } = picker;\n const { firstPageResult, withoutFiltersResult, strictFiltersResult } =\n modalState.fetchFirstPage.status.value.data ?? {};\n\n if (firstPageResult) {\n collection.setInitialPage(firstPageResult);\n }\n\n if (withoutFiltersResult) {\n noFilters.setInitialPage(withoutFiltersResult);\n }\n\n if (strictFiltersResult) {\n strictFiltersOnly.setInitialPage(strictFiltersResult);\n }\n }\n\n _setInitialSelection() {\n const { initialSelect, picker } = this;\n const { collection } = picker;\n const {\n bulkSelect,\n result: { keyedItems, itemKey },\n } = collection;\n\n if (initialSelect == null) {\n return;\n }\n\n if (typeof initialSelect === 'boolean') {\n const [firstItem] = keyedItems;\n if (firstItem) {\n bulkSelect.select.forceSet(firstItem);\n }\n return;\n }\n\n if (typeof initialSelect === 'function') {\n const initialSelectItems = keyedItems.filter(({ item }, index) =>\n initialSelect(item, index),\n );\n\n bulkSelect.select.syncValues(\n initialSelectItems,\n bulkSelect.select.finalStatus,\n );\n return;\n }\n\n if (isPickerSelectionV2(initialSelect)) {\n const { defaultStatus, values } = initialSelect;\n if (defaultStatus) {\n bulkSelect.select.defaultStatus =\n typeof defaultStatus === 'object'\n ? defaultStatus\n : selectionStatusWixPatternsPreset[defaultStatus];\n }\n\n if (values) {\n bulkSelect.select.forceSetMany(\n values.map(({ status, value }) => ({\n value: {\n item: value,\n key: itemKey(value),\n },\n status:\n typeof status === 'object'\n ? status\n : selectionStatusWixPatternsPreset[status],\n })),\n );\n }\n\n return;\n }\n\n if (initialSelect.isSelectAll) {\n bulkSelect.selectAll();\n\n if (initialSelect.uncheckedValues) {\n initialSelect.uncheckedValues.forEach((item) => {\n typeof item === 'string'\n ? bulkSelect.deselectOne(item)\n : bulkSelect.deselectOneItem({\n key: itemKey(item),\n item,\n });\n });\n }\n return;\n }\n\n if (initialSelect.selectedValues) {\n initialSelect.selectedValues.forEach((item) => {\n typeof item === 'string'\n ? bulkSelect.selectOne(item)\n : bulkSelect.selectOneItem({\n key: itemKey(item),\n item,\n });\n });\n }\n\n if (initialSelect.partiallySelectedIds) {\n const resolvedEntriesFromCollection =\n initialSelect.partiallySelectedIds.map((item) => {\n const collectionItem =\n typeof item === 'string'\n ? bulkSelect.getCollectionItem(item)\n : {\n key: itemKey(item),\n item,\n };\n\n if (!collectionItem) {\n return null;\n }\n\n return {\n status: selectionStatusWixPatternsPreset.indeterminate,\n value: {\n key: collectionItem.key,\n item: collectionItem.item,\n },\n };\n });\n bulkSelect.select.forceSetMany(\n resolvedEntriesFromCollection.filter(\n (e): e is SelectionEntry<BulkSelectKeyedItem<T>> => e != null,\n ),\n );\n }\n }\n\n selectCreatedItems(items?: T[]) {\n const {\n picker,\n modalState: { multipleRef },\n } = this;\n const {\n collection: { bulkSelect, itemKey },\n } = picker;\n\n if (items?.length) {\n const [item] = items;\n const multiple = fromMultipleSelectionToBoolean(multipleRef.current);\n if (!multiple) {\n bulkSelect.resetToDefaults();\n }\n bulkSelect.selectOne(itemKey(item));\n }\n }\n\n onCreateNew = async (items?: T[]) => {\n await this.picker.onCreateNew(items);\n this.selectCreatedItems(items);\n };\n\n onCreateNewButtonClick = (\n onClick?: (param: { onClose: (arr?: T[]) => void }) => void,\n ): void => {\n const {\n modalState: { _isCustomContentVisible },\n picker,\n } = this;\n\n onClick?.({ onClose: this.onCreateNew });\n _isCustomContentVisible.value = true;\n this.reportBi(\n newItemCreationStart({\n ...picker._commonDynamicBiParams(),\n numSelectedItems: picker.collection.bulkSelect.select.selectedCount,\n }),\n );\n };\n\n _resultUpdated = () => {\n const { initialSelect, picker } = this;\n const { collection } = picker;\n const {\n bulkSelect,\n result: { keyedItems },\n } = collection;\n\n if (typeof initialSelect === 'function') {\n const initialSelectItems = keyedItems.filter(({ item }, index) =>\n initialSelect(item, index),\n );\n\n bulkSelect.select.syncValues(\n initialSelectItems,\n bulkSelect.select.finalStatus,\n );\n return;\n }\n };\n _reportFilterToggleBiOnNextResult(\n params: FilterEventOptions | undefined,\n filter: Filter<unknown>,\n ) {\n const { actionType, clickedValueKey } = params ?? {};\n const {\n picker: { collection },\n } = this;\n\n const onFetch = () => {\n collection.emitter.off('fetch', onFetch);\n return action(() => {\n this.reportBi(\n withoutDefaults(cairoFilterToggled)({\n ...this.picker._commonDynamicBiParams(),\n origin: 'Picker Modal',\n filterValue: clickedValueKey,\n filterName: filter.name,\n actionType,\n numFiltersActive: collection.query.activeFiltersCount,\n filteredListSize: collection.result.total,\n }),\n );\n });\n };\n\n this.picker.collection.emitter.on('fetch', onFetch);\n }\n\n init() {\n const { picker, modalState, initTask } = this;\n const { collection } = picker;\n\n const bi = new PickerContentStateBI({ state: this });\n\n const disposers = [picker.init(), bi.init()];\n\n this.picker.collection.query.filtersArray.forEach((filter) => {\n disposers.push(\n addEventListener(\n filter.events as TypedEmitter<{\n change: (opt: FilterEventOptions | undefined) => unknown;\n }>,\n 'change',\n (params: FilterEventOptions | undefined) => {\n this._reportFilterToggleBiOnNextResult(params, filter);\n },\n ),\n );\n });\n collection.emitter.on('resultUpdated', this._resultUpdated);\n modalState.pickerContentRef.current = {\n onCreateNew: this.onCreateNew,\n };\n\n initTask.run(async () => {\n await picker.initTask.status.promise;\n if (!isPickerSelectionV2(this.initialSelect)) {\n this._setInitialSelection();\n }\n });\n\n return () => {\n const { current: pickerContent } = modalState.pickerContentRef;\n if (pickerContent) {\n pickerContent.onCreateNew = undefined;\n }\n disposers.forEach((d) => d());\n picker.collection.emitter.off('resultUpdated', this._resultUpdated);\n };\n }\n\n toggleIsSelectAll = action(() => {\n const { picker, events } = this;\n const {\n collection: {\n bulkSelect,\n query: { hasActiveFilters },\n result,\n },\n } = picker;\n\n const {\n allSelected,\n select: { isEmpty },\n } = bulkSelect;\n\n const afters = events.listeners('beforeToggleIsSelectAll').map((l) => l());\n\n if (allSelected || !isEmpty) {\n bulkSelect.toggleIsSelectAll();\n } else if (hasActiveFilters) {\n for (const keyedItem of result.keyedItems) {\n bulkSelect.selectOneItem(keyedItem);\n }\n } else {\n bulkSelect.toggleIsSelectAll();\n }\n\n afters.forEach(({ afterToggleIsSelectAll }) => afterToggleIsSelectAll());\n });\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_bexCore","require","_util","_MaxSelection","_mobx","_bi","_events2","_PickerContentStateBI","isPickerSelectionV2","e","PickerContentState","constructor","params","_defineProperty2","default","TaskState","EventEmitter","items","picker","onCreateNew","selectCreatedItems","onClick","modalState","_isCustomContentVisible","onClose","value","reportBi","newItemCreationStart","_commonDynamicBiParams","numSelectedItems","collection","bulkSelect","select","selectedCount","initialSelect","result","keyedItems","initialSelectItems","filter","item","index","syncValues","finalStatus","action","events","query","hasActiveFilters","allSelected","isEmpty","afters","listeners","map","l","toggleIsSelectAll","keyedItem","selectOneItem","forEach","afterToggleIsSelectAll","createBILogger","fqdn","type","componentType","PickerState","getMaxItems","shouldFilterNotAffectTotalCount","minContentHeight","makeObservable","_setInitialSelection","pickerContentRef","current","_setInitialData","strictFiltersOnly","noFilters","firstPageResult","withoutFiltersResult","strictFiltersResult","fetchFirstPage","status","data","setInitialPage","itemKey","firstItem","forceSet","defaultStatus","values","selectionStatusWixPatternsPreset","forceSetMany","key","isSelectAll","selectAll","uncheckedValues","deselectOne","deselectOneItem","selectedValues","selectOne","partiallySelectedIds","resolvedEntriesFromCollection","collectionItem","getCollectionItem","indeterminate","multipleRef","length","multiple","fromMultipleSelectionToBoolean","resetToDefaults","_reportFilterToggleBiOnNextResult","actionType","clickedValueKey","onFetch","emitter","off","withoutDefaults","cairoFilterToggled","origin","filterValue","filterName","name","numFiltersActive","activeFiltersCount","filteredListSize","total","isCustomField","on","init","initTask","bi","PickerContentStateBI","state","disposers","filtersArray","push","addEventListener","_resultUpdated","run","promise","pickerContent","undefined","d","exports"],"sources":["../../../src/state/PickerContentState.ts"],"sourcesContent":["import {\n BulkSelectKeyedItem,\n CollectionState,\n FiltersMap,\n Fqdn,\n PickerEvents,\n PickerState,\n ReportBI,\n SelectionEntry,\n selectionStatusWixPatternsPreset,\n TaskState,\n FilterEventOptions,\n withoutDefaults,\n Filter,\n} from '@wix/bex-core';\nimport { addEventListener } from '@wix/bex-core/util';\nimport type { PickerModalState } from '../hooks';\nimport { UsePickerContentParamsBase } from '../hooks/usePickerContent';\nimport { fromMultipleSelectionToBoolean } from '../components/MaxSelection';\nimport { action, makeObservable } from 'mobx';\nimport { cairoFilterToggled, newItemCreationStart } from '@wix/bex-core/bi';\nimport { EventEmitter } from 'events';\nimport { TypedEmitter } from '@wix/bex-core/events';\nimport { PickerContentStateBI } from './PickerContentStateBI';\nimport { AdditionalStepState } from './AdditionalStepState';\n\nconst isPickerSelectionV2 = <T, F extends FiltersMap>(\n e: UsePickerContentParamsBase<T, F>['initialSelect'],\n) =>\n e != null && typeof e === 'object' && ('defaultStatus' in e || 'values' in e);\n\nexport interface PickerContentStateParams<T, F extends FiltersMap> {\n modalState: PickerModalState<T, F>;\n collection: CollectionState<T, F>;\n createBILogger: <P extends Fqdn>(defaultParams: P) => ReportBI;\n events?: PickerEvents<T, F>;\n initialSelect?: UsePickerContentParamsBase<T, F>['initialSelect'];\n}\n\nexport class PickerContentState<T, F extends FiltersMap> {\n readonly picker: PickerState<T, F>;\n readonly modalState: PickerModalState<T, F>;\n readonly initTask = new TaskState();\n readonly reportBi;\n\n readonly events = new EventEmitter() as TypedEmitter<{\n beforeToggleIsSelectAll: () => {\n afterToggleIsSelectAll: () => unknown;\n };\n }>;\n\n initialSelect: PickerContentStateParams<T, F>['initialSelect'];\n\n additionalStep?: AdditionalStepState<T, F>;\n\n constructor(params: PickerContentStateParams<T, F>) {\n const { collection, modalState, createBILogger, events, initialSelect } =\n params;\n\n this.initialSelect = initialSelect;\n\n this.modalState = modalState;\n\n this.reportBi = createBILogger({\n ...collection.fqdn,\n type: 'modal',\n componentType: 'Picker Modal',\n });\n\n this.picker = new PickerState({\n collection,\n getMaxItems: modalState.getMaxItems,\n shouldFilterNotAffectTotalCount:\n modalState.shouldFilterNotAffectTotalCount,\n minContentHeight: modalState.minContentHeight,\n events,\n reportBi: this.reportBi,\n });\n\n makeObservable(this, {\n _setInitialSelection: action,\n });\n\n if (modalState.pickerContentRef.current == null) {\n this._setInitialData();\n }\n\n this._setInitialSelection();\n }\n\n _setInitialData() {\n const { modalState, picker } = this;\n const { collection, strictFiltersOnly, noFilters } = picker;\n const { firstPageResult, withoutFiltersResult, strictFiltersResult } =\n modalState.fetchFirstPage.status.value.data ?? {};\n\n if (firstPageResult) {\n collection.setInitialPage(firstPageResult);\n }\n\n if (withoutFiltersResult) {\n noFilters.setInitialPage(withoutFiltersResult);\n }\n\n if (strictFiltersResult) {\n strictFiltersOnly.setInitialPage(strictFiltersResult);\n }\n }\n\n _setInitialSelection() {\n const { initialSelect, picker } = this;\n const { collection } = picker;\n const {\n bulkSelect,\n result: { keyedItems, itemKey },\n } = collection;\n\n if (initialSelect == null) {\n return;\n }\n\n if (typeof initialSelect === 'boolean') {\n const [firstItem] = keyedItems;\n if (firstItem) {\n bulkSelect.select.forceSet(firstItem);\n }\n return;\n }\n\n if (typeof initialSelect === 'function') {\n const initialSelectItems = keyedItems.filter(({ item }, index) =>\n initialSelect(item, index),\n );\n\n bulkSelect.select.syncValues(\n initialSelectItems,\n bulkSelect.select.finalStatus,\n );\n return;\n }\n\n if (isPickerSelectionV2(initialSelect)) {\n const { defaultStatus, values } = initialSelect;\n if (defaultStatus) {\n bulkSelect.select.defaultStatus =\n typeof defaultStatus === 'object'\n ? defaultStatus\n : selectionStatusWixPatternsPreset[defaultStatus];\n }\n\n if (values) {\n bulkSelect.select.forceSetMany(\n values.map(({ status, value }) => ({\n value: {\n item: value,\n key: itemKey(value),\n },\n status:\n typeof status === 'object'\n ? status\n : selectionStatusWixPatternsPreset[status],\n })),\n );\n }\n\n return;\n }\n\n if (initialSelect.isSelectAll) {\n bulkSelect.selectAll();\n\n if (initialSelect.uncheckedValues) {\n initialSelect.uncheckedValues.forEach((item) => {\n typeof item === 'string'\n ? bulkSelect.deselectOne(item)\n : bulkSelect.deselectOneItem({\n key: itemKey(item),\n item,\n });\n });\n }\n return;\n }\n\n if (initialSelect.selectedValues) {\n initialSelect.selectedValues.forEach((item) => {\n typeof item === 'string'\n ? bulkSelect.selectOne(item)\n : bulkSelect.selectOneItem({\n key: itemKey(item),\n item,\n });\n });\n }\n\n if (initialSelect.partiallySelectedIds) {\n const resolvedEntriesFromCollection =\n initialSelect.partiallySelectedIds.map((item) => {\n const collectionItem =\n typeof item === 'string'\n ? bulkSelect.getCollectionItem(item)\n : {\n key: itemKey(item),\n item,\n };\n\n if (!collectionItem) {\n return null;\n }\n\n return {\n status: selectionStatusWixPatternsPreset.indeterminate,\n value: {\n key: collectionItem.key,\n item: collectionItem.item,\n },\n };\n });\n bulkSelect.select.forceSetMany(\n resolvedEntriesFromCollection.filter(\n (e): e is SelectionEntry<BulkSelectKeyedItem<T>> => e != null,\n ),\n );\n }\n }\n\n selectCreatedItems(items?: T[]) {\n const {\n picker,\n modalState: { multipleRef },\n } = this;\n const {\n collection: { bulkSelect, itemKey },\n } = picker;\n\n if (items?.length) {\n const [item] = items;\n const multiple = fromMultipleSelectionToBoolean(multipleRef.current);\n if (!multiple) {\n bulkSelect.resetToDefaults();\n }\n bulkSelect.selectOne(itemKey(item));\n }\n }\n\n onCreateNew = async (items?: T[]) => {\n await this.picker.onCreateNew(items);\n this.selectCreatedItems(items);\n };\n\n onCreateNewButtonClick = (\n onClick?: (param: { onClose: (arr?: T[]) => void }) => void,\n ): void => {\n const {\n modalState: { _isCustomContentVisible },\n picker,\n } = this;\n\n onClick?.({ onClose: this.onCreateNew });\n _isCustomContentVisible.value = true;\n this.reportBi(\n newItemCreationStart({\n ...picker._commonDynamicBiParams(),\n numSelectedItems: picker.collection.bulkSelect.select.selectedCount,\n }),\n );\n };\n\n _resultUpdated = () => {\n const { initialSelect, picker } = this;\n const { collection } = picker;\n const {\n bulkSelect,\n result: { keyedItems },\n } = collection;\n\n if (typeof initialSelect === 'function') {\n const initialSelectItems = keyedItems.filter(({ item }, index) =>\n initialSelect(item, index),\n );\n\n bulkSelect.select.syncValues(\n initialSelectItems,\n bulkSelect.select.finalStatus,\n );\n return;\n }\n };\n _reportFilterToggleBiOnNextResult(\n params: FilterEventOptions | undefined,\n filter: Filter<unknown>,\n ) {\n const { actionType, clickedValueKey } = params ?? {};\n const {\n picker: { collection },\n } = this;\n\n const onFetch = () => {\n collection.emitter.off('fetch', onFetch);\n return action(() => {\n this.reportBi(\n withoutDefaults(cairoFilterToggled)({\n ...this.picker._commonDynamicBiParams(),\n origin: 'Picker Modal',\n filterValue: clickedValueKey,\n filterName: filter.name,\n actionType,\n numFiltersActive: collection.query.activeFiltersCount,\n filteredListSize: collection.result.total,\n isCustomField: !!filter.isCustomField,\n }),\n );\n });\n };\n\n this.picker.collection.emitter.on('fetch', onFetch);\n }\n\n init() {\n const { picker, modalState, initTask } = this;\n const { collection } = picker;\n\n const bi = new PickerContentStateBI({ state: this });\n\n const disposers = [picker.init(), bi.init()];\n\n this.picker.collection.query.filtersArray.forEach((filter) => {\n disposers.push(\n addEventListener(\n filter.events as TypedEmitter<{\n change: (opt: FilterEventOptions | undefined) => unknown;\n }>,\n 'change',\n (params: FilterEventOptions | undefined) => {\n this._reportFilterToggleBiOnNextResult(params, filter);\n },\n ),\n );\n });\n collection.emitter.on('resultUpdated', this._resultUpdated);\n modalState.pickerContentRef.current = {\n onCreateNew: this.onCreateNew,\n };\n\n initTask.run(async () => {\n await picker.initTask.status.promise;\n if (!isPickerSelectionV2(this.initialSelect)) {\n this._setInitialSelection();\n }\n });\n\n return () => {\n const { current: pickerContent } = modalState.pickerContentRef;\n if (pickerContent) {\n pickerContent.onCreateNew = undefined;\n }\n disposers.forEach((d) => d());\n picker.collection.emitter.off('resultUpdated', this._resultUpdated);\n };\n }\n\n toggleIsSelectAll = action(() => {\n const { picker, events } = this;\n const {\n collection: {\n bulkSelect,\n query: { hasActiveFilters },\n result,\n },\n } = picker;\n\n const {\n allSelected,\n select: { isEmpty },\n } = bulkSelect;\n\n const afters = events.listeners('beforeToggleIsSelectAll').map((l) => l());\n\n if (allSelected || !isEmpty) {\n bulkSelect.toggleIsSelectAll();\n } else if (hasActiveFilters) {\n for (const keyedItem of result.keyedItems) {\n bulkSelect.selectOneItem(keyedItem);\n }\n } else {\n bulkSelect.toggleIsSelectAll();\n }\n\n afters.forEach(({ afterToggleIsSelectAll }) => afterToggleIsSelectAll());\n });\n}\n"],"mappings":"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","ignoreList":[]}
@@ -15,6 +15,7 @@ class TagsBulkAssignPopoverState {
15
15
  collectionState,
16
16
  tagsModalState,
17
17
  bulkUpdateTags,
18
+ asyncBulkUpdateTags,
18
19
  getTags
19
20
  }) {
20
21
  (0, _defineProperty2.default)(this, "tagsManagementState", void 0);
@@ -22,6 +23,7 @@ class TagsBulkAssignPopoverState {
22
23
  (0, _defineProperty2.default)(this, "optimisticActions", void 0);
23
24
  (0, _defineProperty2.default)(this, "tagsModalState", void 0);
24
25
  (0, _defineProperty2.default)(this, "bulkUpdateTags", void 0);
26
+ (0, _defineProperty2.default)(this, "asyncBulkUpdateTags", void 0);
25
27
  (0, _defineProperty2.default)(this, "container", void 0);
26
28
  (0, _defineProperty2.default)(this, "tagsBIReporter", void 0);
27
29
  (0, _defineProperty2.default)(this, "getTags", void 0);
@@ -32,6 +34,67 @@ class TagsBulkAssignPopoverState {
32
34
  (0, _defineProperty2.default)(this, "optimisticNewTag", null);
33
35
  (0, _defineProperty2.default)(this, "isShown", false);
34
36
  (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
+ });
35
98
  (0, _defineProperty2.default)(this, "assignTag", async ({
36
99
  tag
37
100
  }) => {
@@ -134,11 +197,13 @@ class TagsBulkAssignPopoverState {
134
197
  });
135
198
  this.tagsModalState = tagsModalState;
136
199
  this.bulkUpdateTags = bulkUpdateTags;
200
+ this.asyncBulkUpdateTags = asyncBulkUpdateTags;
137
201
  this.container = tagsManagementState.container;
138
202
  this.getTags = getTags;
139
203
  (0, _mobx.makeObservable)(this, {
140
204
  init: _mobx.action,
141
205
  isShown: _mobx.observable,
206
+ jobId: _mobx.observable,
142
207
  initialSelectedIds: _mobx.observable,
143
208
  initialIndeterminateTagIds: _mobx.observable,
144
209
  indeterminateTagIds: _mobx.observable,
@@ -219,39 +284,11 @@ class TagsBulkAssignPopoverState {
219
284
  });
220
285
  }
221
286
  async applyChanges() {
222
- this._reportApplyBi();
223
- const items = this._calcOptimisticItems();
224
- const entityIds = this.collectionState.bulkSelect.selectedIds;
225
- const assignedTagIds = this.newAssignedTagIds;
226
- const newUnassignedTagIds = this.newUnassignedTagIds;
227
- this.optimisticActions.updateMany(items, {
228
- keepPosition: true,
229
- submit: async () => {
230
- return this.bulkUpdateTags({
231
- entityIds,
232
- assignTags: {
233
- privateTags: {
234
- tagIds: assignedTagIds
235
- }
236
- },
237
- unassignTags: {
238
- privateTags: {
239
- tagIds: newUnassignedTagIds
240
- }
241
- }
242
- });
243
- },
244
- successToast: {
245
- biName: 'cairo-update-bulk-assign-tags-success',
246
- message: this.container.translate('cairo.tags.applyChanges.toast.success')
247
- },
248
- showUndoToast: true,
249
- errorToast: () => ({
250
- biName: 'cairo-update-bulk-assign-tags-error',
251
- message: this.container.translate('cairo.tags.collectionPage.toast.update.error')
252
- }),
253
- onUndo: this._reportUndoBi
254
- });
287
+ if (this.shouldlUseBulkSync) {
288
+ this.bulkUpdateTagsSync();
289
+ } else {
290
+ await this.bulkUpdateTagsAsync();
291
+ }
255
292
  this.closePopover();
256
293
  }
257
294
  handleManageTagsCtaClick() {
@@ -322,6 +359,27 @@ class TagsBulkAssignPopoverState {
322
359
  get newUnassignedTagIds() {
323
360
  return [...this.initialSelectedIds.filter(tagId => !this.assignedTagIds.includes(tagId)), ...this.initialIndeterminateTagIds.filter(tagId => ![...this.assignedTagIds, ...this.indeterminateTagIds].includes(tagId))];
324
361
  }
362
+ get shouldlUseBulkSync() {
363
+ const {
364
+ allSelectedItemsFetched,
365
+ selectedCountOrTotal
366
+ } = this.collectionState.bulkSelect;
367
+ return allSelectedItemsFetched && selectedCountOrTotal < this.maxSelectedEntitiesNum;
368
+ }
369
+ 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) {
372
+ return false;
373
+ }
374
+
375
+ // can use sync
376
+ if (this.shouldlUseBulkSync) {
377
+ return true;
378
+ }
379
+
380
+ // can use async
381
+ return !!this.asyncBulkUpdateTags;
382
+ }
325
383
  get isError() {
326
384
  return this.tagsManagementState.isError;
327
385
  }
@@ -1 +1 @@
1
- {"version":3,"names":["_mobx","require","_bexCore","_bi","_uuid","origin","TagsBulkAssignPopoverState","constructor","tagsManagementState","collectionState","tagsModalState","bulkUpdateTags","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","_this$getTags2","_tags$privateTags2","currentTagIds","updatedTagIds","Array","from","newAssignedTagIds","newUnassignedTagIds","map","selectedIds","bulkSelect","itemKey","_calItemUpdatedTagsIds","initialIndeterminateTagIds","initialSelectedIds","tagsBIReporter","reportBi","cairoUndoClicked","actionName","changedAttributes","optimisticActions","_optimisticActions","CollectionOptimisticActions","container","collection","TagsBIReporter","createBILogger","componentType","fqdn","location","makeObservable","init","action","isShown","observable","searchValue","showPopover","closePopover","applyChanges","handleManageTagsCtaClick","handleItemSelect","handleSearchChange","createAndAssignTag","retry","ref","assignedTags","computed","disposers","disposer","_reportPopoverShowChangedBi","_initSelectionState","_reportSearchEventsBi","slice","TAG_MAX_LENGTH","uuid","assignTagOptimistic","createTag","filteredListSize","isFromSearch","onSuccess","newTag","assignTag","optimisticActionParams","successToast","biName","message","translate","errorToast","error","_this$container$error","_this$container$error2","resolvedError","errorHandler","getResolvedError","_reportApplyBi","_calcOptimisticItems","entityIds","updateMany","keepPosition","submit","assignTags","unassignTags","showUndoToast","onUndo","_reportUndoBi","openManageTagsModal","tagSubOrigin","itemId","currentTag","find","indeterminateTagId","assignedWithOptimisticTagIds","unassignTag","_reportSearchChangedBi","isInEmptyState","isSuccessful","tagOptions","sort","tag1","tag2","isTag1InitialUnassigned","_isInitialUnassignedTag","isTag2InitialUnassigned","valueOf","savedAssignedTags","element","Boolean","isError","isLoading","isDirty","_calcTagsCount","_getSelectedTagsIdsStatus","isOpened","cairoFiltersPanelUsed","feature","onSearch","_clearAllEvents","event","events","emit","selectedItemsIds","cairoAssignTagsToEntities","itemIds","JSON","stringify","numItems","unAssignedTags","exports"],"sources":["../../../src/state/TagsBulkAssignPopoverState.ts"],"sourcesContent":["import { action, makeObservable, computed, observable } from 'mobx';\nimport { TagsModalState } from './TagsModalState';\nimport { Tag } from '@wix/bex-utils/@wix/ambassador-os-tags-v1-tag/types';\nimport {\n CollectionOptimisticActions,\n CollectionState,\n FiltersMap,\n KeyedItem,\n TAG_MAX_LENGTH,\n Tags,\n TagsBIReporter,\n TagsManagementState,\n} from '@wix/bex-core';\nimport {\n cairoAssignTagsToEntities,\n cairoFiltersPanelUsed,\n cairoUndoClicked,\n} from '@wix/bex-core/bi';\nimport { v4 as uuid } from 'uuid';\n\nconst origin = 'bulk_assign_popover';\n\nexport interface BulkUpdateTagsParams {\n entityIds: string[];\n assignTags: Tags;\n unassignTags: Tags;\n}\n\nexport interface TagsBulkAssignPopoverStateParams<T, F extends FiltersMap> {\n readonly tagsManagementState: TagsManagementState;\n readonly tagsModalState: TagsModalState;\n readonly collectionState: CollectionState<T, F>;\n bulkUpdateTags: (params: BulkUpdateTagsParams) => Promise<unknown>;\n getTags?: (item: T) => 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: (params: BulkUpdateTagsParams) => Promise<unknown>;\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 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.container = tagsManagementState.container;\n this.getTags = getTags;\n\n makeObservable(this, {\n init: action,\n isShown: observable,\n initialSelectedIds: observable,\n initialIndeterminateTagIds: observable,\n indeterminateTagIds: observable,\n searchValue: observable,\n showPopover: action,\n closePopover: action,\n applyChanges: action,\n handleManageTagsCtaClick: action,\n handleItemSelect: action,\n handleSearchChange: action,\n createAndAssignTag: action,\n retry: action,\n assignedTagIds: observable,\n optimisticNewTag: observable.ref,\n assignedTags: computed,\n });\n }\n\n init() {\n const disposers = [this.optimisticActions.init()];\n\n return () => {\n disposers.forEach((disposer) => disposer());\n };\n }\n\n async showPopover() {\n if (this.isShown) {\n return;\n }\n\n this.isShown = true;\n this._reportPopoverShowChangedBi(true);\n const { selectedTagIds, indeterminateTagIds } = this._initSelectionState();\n this.initialSelectedIds = selectedTagIds;\n this.assignedTagIds = selectedTagIds;\n this.initialIndeterminateTagIds = indeterminateTagIds;\n this.indeterminateTagIds = indeterminateTagIds;\n }\n\n closePopover() {\n this._reportPopoverShowChangedBi(false);\n this._reportSearchEventsBi('blur');\n this.isShown = false;\n this.assignedTagIds = [];\n this.initialSelectedIds = [];\n this.initialIndeterminateTagIds = [];\n this.indeterminateTagIds = [];\n }\n\n async createAndAssignTag(name: string) {\n this._reportSearchEventsBi('add');\n const tagName = name.slice(0, TAG_MAX_LENGTH);\n const id = uuid();\n this.assignTagOptimistic(tagName, id);\n this.tagsManagementState.createTag({\n name,\n id,\n filteredListSize: 0,\n origin,\n isFromSearch: true,\n tagsBIReporter: this.tagsBIReporter,\n onSuccess: (newTag) => this.assignTag({ tag: newTag }),\n optimisticActionParams: {\n successToast: {\n biName: 'cairo-save-new-tag-success',\n message: this.container.translate(\n 'cairo.tags.popover.tagCreated.toast.success',\n ),\n },\n errorToast: (error) => {\n const 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 this._reportApplyBi();\n const items = this._calcOptimisticItems();\n const entityIds = this.collectionState.bulkSelect.selectedIds;\n const assignedTagIds = this.newAssignedTagIds;\n const newUnassignedTagIds = this.newUnassignedTagIds;\n this.optimisticActions.updateMany(items, {\n keepPosition: true,\n submit: async () => {\n return this.bulkUpdateTags({\n entityIds,\n assignTags: { privateTags: { tagIds: assignedTagIds } },\n unassignTags: { privateTags: { tagIds: newUnassignedTagIds } },\n });\n },\n successToast: {\n biName: 'cairo-update-bulk-assign-tags-success',\n message: this.container.translate(\n 'cairo.tags.applyChanges.toast.success',\n ),\n },\n showUndoToast: true,\n errorToast: () => ({\n biName: 'cairo-update-bulk-assign-tags-error',\n message: this.container.translate(\n 'cairo.tags.collectionPage.toast.update.error',\n ),\n }),\n onUndo: this._reportUndoBi,\n });\n\n this.closePopover();\n }\n\n handleManageTagsCtaClick() {\n this.closePopover();\n this.tagsModalState.openManageTagsModal({\n origin,\n 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 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","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":[]}
@@ -17,6 +17,7 @@ class TagsCollectionState {
17
17
  constructor({
18
18
  entityTypeName,
19
19
  bulkUpdateTags,
20
+ asyncBulkUpdateTags,
20
21
  toolbar,
21
22
  columnConfig,
22
23
  getTags
@@ -45,6 +46,7 @@ class TagsCollectionState {
45
46
  collectionState: toolbar.collection,
46
47
  tagsModalState: this.tagsModalState,
47
48
  bulkUpdateTags,
49
+ asyncBulkUpdateTags,
48
50
  getTags
49
51
  });
50
52
  this._columnConfig = columnConfig;
@@ -60,7 +62,7 @@ class TagsCollectionState {
60
62
  });
61
63
  }
62
64
  init() {
63
- const disposers = [this.tagsManagementState.init(), this.tagsBulkAssignPopoverState.init(), this.tagsModalState.init(), this.toolbar.collection.query.addFilter('tags', (0, _bexCore.idNameArrayFilter)({
65
+ const disposers = [this.tagsManagementState.init(), this.tagsBulkAssignPopoverState.init(), this.tagsModalState.init(), this.toolbar.collection.query.addFilterIfNeeded('tags', (0, _bexCore.idNameArrayFilter)({
64
66
  name: 'tags'
65
67
  }))];
66
68
  this.initTask.runOnce(async () => {
@@ -1 +1 @@
1
- {"version":3,"names":["_mobx","require","_TagsModalState","_bexCore","_TagsAssignButton","_CollectionManageTagsModal","_TagsColumn","_tagsFilterBuilder","_TagsBulkAssignPopoverState","_CollectionToolbarFilters","TagsCollectionState","constructor","entityTypeName","bulkUpdateTags","toolbar","columnConfig","getTags","_defineProperty2","default","TaskState","tagsManagementState","TagsManagementState","fqdn","collection","container","tagsModalState","TagsModalState","tagsBulkAssignPopoverState","TagsBulkAssignPopoverState","collectionState","_columnConfig","_getTags","components","AssignButton","TagsAssignButton","ManageModal","CollectionManageTagsModal","CollectionToolbarFilters","makeObservable","init","action","openManageTagsModal","disposers","query","addFilter","idNameArrayFilter","name","initTask","runOnce","Promise","all","status","promise","addTagsColumn","forEach","d","buildTagsFilterWrapper","buildTagsFilterElement","_this$toolbar","tagsColumn","buildTagsColumn","userTagsColumn","_userColumns","find","column","id","addFeatureColumn","origin","exports"],"sources":["../../../src/state/TagsCollectionState.ts"],"sourcesContent":["import { action, makeObservable } from 'mobx';\nimport { TagsModalState } from './TagsModalState';\nimport {\n FiltersMap,\n Tags,\n TagsManagementState,\n TaskState,\n idNameArrayFilter,\n} from '@wix/bex-core';\nimport { TagsAssignButton } from '../components/TagsAssignButton';\nimport { CollectionManageTagsModal } from '../components/Tags/ManageTags/CollectionManageTagsModal';\nimport { TagsColumnConfig } from '../components/Tags/types';\nimport { ToolbarCollectionState } from './ToolbarCollectionState';\nimport { buildTagsColumn } from '../components/TagsColumn/TagsColumn';\nimport { buildTagsFilterElement } from '../components/TagsFilter/tagsFilterBuilder';\nimport {\n BulkUpdateTagsParams,\n TagsBulkAssignPopoverState,\n} from './TagsBulkAssignPopoverState';\nimport { CollectionToolbarFilters } from '../components/CollectionToolbarFilters';\n\ninterface TagsCollectionStateParams<T, F extends FiltersMap> {\n toolbar: ToolbarCollectionState<T, F>;\n entityTypeName: string;\n columnConfig?: TagsColumnConfig<T>;\n bulkUpdateTags: (params: BulkUpdateTagsParams) => Promise<unknown>;\n getTags?: (item: T) => Tags;\n}\n\nexport class TagsCollectionState<T, F extends FiltersMap> {\n readonly toolbar: ToolbarCollectionState<T, F>;\n readonly tagsManagementState: TagsManagementState;\n readonly tagsModalState: TagsModalState;\n readonly tagsBulkAssignPopoverState: TagsBulkAssignPopoverState<T, F>;\n readonly initTask = new TaskState();\n\n readonly components;\n readonly _columnConfig?: TagsColumnConfig<T>;\n readonly _getTags?: (item: T) => Tags;\n\n constructor({\n entityTypeName,\n bulkUpdateTags,\n toolbar,\n columnConfig,\n getTags,\n }: TagsCollectionStateParams<T, F>) {\n this.toolbar = toolbar;\n this.tagsManagementState = new TagsManagementState({\n fqdn: { ...toolbar.collection.fqdn },\n container: toolbar.container,\n });\n\n this.tagsModalState = new TagsModalState({\n tagsManagementState: this.tagsManagementState,\n entityTypeName,\n });\n\n this.tagsBulkAssignPopoverState = new TagsBulkAssignPopoverState({\n tagsManagementState: this.tagsManagementState,\n collectionState: toolbar.collection,\n tagsModalState: this.tagsModalState,\n bulkUpdateTags,\n getTags,\n });\n\n this._columnConfig = columnConfig;\n this._getTags = getTags;\n\n this.components = {\n AssignButton: TagsAssignButton,\n ManageModal: CollectionManageTagsModal,\n CollectionToolbarFilters,\n };\n\n makeObservable(this, {\n init: action,\n openManageTagsModal: action,\n });\n }\n\n init() {\n const disposers = [\n this.tagsManagementState.init(),\n this.tagsBulkAssignPopoverState.init(),\n this.tagsModalState.init(),\n this.toolbar.collection.query.addFilter(\n 'tags' as any,\n idNameArrayFilter({\n name: 'tags',\n }),\n ),\n ];\n\n this.initTask.runOnce(async () => {\n await Promise.all([\n this.tagsManagementState.initTask.status.promise,\n this.toolbar.container.initTask.status.promise,\n ]);\n\n this.addTagsColumn();\n });\n\n return () => {\n disposers.forEach((d) => d?.());\n };\n }\n\n buildTagsFilterWrapper() {\n return buildTagsFilterElement(this.toolbar);\n }\n\n addTagsColumn() {\n const tagsColumn = buildTagsColumn(\n this.toolbar?.container,\n this._columnConfig,\n );\n\n const userTagsColumn = this.toolbar._userColumns.find(\n (column) => column.id === tagsColumn.id,\n );\n\n if (!userTagsColumn) {\n this.toolbar.addFeatureColumn(tagsColumn);\n }\n }\n\n openManageTagsModal() {\n this.tagsModalState.openManageTagsModal({ origin: 'external' });\n }\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_mobx","require","_TagsModalState","_bexCore","_TagsAssignButton","_CollectionManageTagsModal","_TagsColumn","_tagsFilterBuilder","_TagsBulkAssignPopoverState","_CollectionToolbarFilters","TagsCollectionState","constructor","entityTypeName","bulkUpdateTags","asyncBulkUpdateTags","toolbar","columnConfig","getTags","_defineProperty2","default","TaskState","tagsManagementState","TagsManagementState","fqdn","collection","container","tagsModalState","TagsModalState","tagsBulkAssignPopoverState","TagsBulkAssignPopoverState","collectionState","_columnConfig","_getTags","components","AssignButton","TagsAssignButton","ManageModal","CollectionManageTagsModal","CollectionToolbarFilters","makeObservable","init","action","openManageTagsModal","disposers","query","addFilterIfNeeded","idNameArrayFilter","name","initTask","runOnce","Promise","all","status","promise","addTagsColumn","forEach","d","buildTagsFilterWrapper","buildTagsFilterElement","_this$toolbar","tagsColumn","buildTagsColumn","userTagsColumn","_userColumns","find","column","id","addFeatureColumn","origin","exports"],"sources":["../../../src/state/TagsCollectionState.ts"],"sourcesContent":["import { action, makeObservable } from 'mobx';\nimport { TagsModalState } from './TagsModalState';\nimport {\n FiltersMap,\n Tags,\n TagsManagementState,\n TaskState,\n idNameArrayFilter,\n} from '@wix/bex-core';\nimport { TagsAssignButton } from '../components/TagsAssignButton';\nimport { CollectionManageTagsModal } from '../components/Tags/ManageTags/CollectionManageTagsModal';\nimport { TagsColumnConfig } from '../components/Tags/types';\nimport { ToolbarCollectionState } from './ToolbarCollectionState';\nimport { buildTagsColumn } from '../components/TagsColumn/TagsColumn';\nimport { buildTagsFilterElement } from '../components/TagsFilter/tagsFilterBuilder';\nimport { TagsBulkAssignPopoverState } from './TagsBulkAssignPopoverState';\nimport { CollectionToolbarFilters } from '../components/CollectionToolbarFilters';\nimport { TagsProps } from '../components/Tags';\n\ninterface TagsCollectionStateParams<T, F extends FiltersMap>\n extends TagsProps<T, F> {\n toolbar: ToolbarCollectionState<T, F>;\n}\n\nexport class TagsCollectionState<T, F extends FiltersMap> {\n readonly toolbar: ToolbarCollectionState<T, F>;\n readonly tagsManagementState: TagsManagementState;\n readonly tagsModalState: TagsModalState;\n readonly tagsBulkAssignPopoverState: TagsBulkAssignPopoverState<T, F>;\n readonly initTask = new TaskState();\n\n readonly components;\n readonly _columnConfig?: TagsColumnConfig<T>;\n readonly _getTags?: (item: T) => Tags;\n\n constructor({\n entityTypeName,\n bulkUpdateTags,\n asyncBulkUpdateTags,\n toolbar,\n columnConfig,\n getTags,\n }: TagsCollectionStateParams<T, F>) {\n this.toolbar = toolbar;\n this.tagsManagementState = new TagsManagementState({\n fqdn: { ...toolbar.collection.fqdn },\n container: toolbar.container,\n });\n\n this.tagsModalState = new TagsModalState({\n tagsManagementState: this.tagsManagementState,\n entityTypeName,\n });\n\n this.tagsBulkAssignPopoverState = new TagsBulkAssignPopoverState({\n tagsManagementState: this.tagsManagementState,\n collectionState: toolbar.collection,\n tagsModalState: this.tagsModalState,\n bulkUpdateTags,\n asyncBulkUpdateTags,\n getTags,\n });\n\n this._columnConfig = columnConfig;\n this._getTags = getTags;\n\n this.components = {\n AssignButton: TagsAssignButton,\n ManageModal: CollectionManageTagsModal,\n CollectionToolbarFilters,\n };\n\n makeObservable(this, {\n init: action,\n openManageTagsModal: action,\n });\n }\n\n init() {\n const disposers = [\n this.tagsManagementState.init(),\n this.tagsBulkAssignPopoverState.init(),\n this.tagsModalState.init(),\n this.toolbar.collection.query.addFilterIfNeeded(\n 'tags' as any,\n idNameArrayFilter({\n name: 'tags',\n }),\n ),\n ];\n\n this.initTask.runOnce(async () => {\n await Promise.all([\n this.tagsManagementState.initTask.status.promise,\n this.toolbar.container.initTask.status.promise,\n ]);\n\n this.addTagsColumn();\n });\n\n return () => {\n disposers.forEach((d) => d?.());\n };\n }\n\n buildTagsFilterWrapper() {\n return buildTagsFilterElement(this.toolbar);\n }\n\n addTagsColumn() {\n const tagsColumn = buildTagsColumn(\n this.toolbar?.container,\n this._columnConfig,\n );\n\n const userTagsColumn = this.toolbar._userColumns.find(\n (column) => column.id === tagsColumn.id,\n );\n\n if (!userTagsColumn) {\n this.toolbar.addFeatureColumn(tagsColumn);\n }\n }\n\n openManageTagsModal() {\n this.tagsModalState.openManageTagsModal({ origin: 'external' });\n }\n}\n"],"mappings":"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","ignoreList":[]}