@wix/patterns 1.13.0 → 1.14.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 (346) hide show
  1. package/dist/cjs/components/Collapse/Collapse.st.css.js +3 -3
  2. package/dist/cjs/components/Collapse/Collapse.st.css.js.map +1 -1
  3. package/dist/cjs/components/CollectionTable/CollectionTable.js +2 -2
  4. package/dist/cjs/components/CollectionTable/CollectionTable.js.map +1 -1
  5. package/dist/cjs/components/CollectionToolbar/CollectionToolbar.st.css.js +5 -5
  6. package/dist/cjs/components/CollectionToolbar/CollectionToolbar.st.css.js.map +1 -1
  7. package/dist/cjs/components/CollectionToolbar/SearchOrCustomFilter.st.css.js +3 -3
  8. package/dist/cjs/components/CollectionToolbar/SearchOrCustomFilter.st.css.js.map +1 -1
  9. package/dist/cjs/components/CollectionViewsDropdown/AutoCompleteReadonly.st.css.js +2 -2
  10. package/dist/cjs/components/CollectionViewsDropdown/AutoCompleteReadonly.st.css.js.map +1 -1
  11. package/dist/cjs/components/CollectionViewsDropdown/ViewsDropdown.st.css.js +2 -2
  12. package/dist/cjs/components/CollectionViewsDropdown/ViewsDropdown.st.css.js.map +1 -1
  13. package/dist/cjs/components/CustomColumnsPanel/CustomColumnsPanelEntry.js +7 -2
  14. package/dist/cjs/components/CustomColumnsPanel/CustomColumnsPanelEntry.js.map +1 -1
  15. package/dist/cjs/components/CustomFieldsWidget/CustomFieldsViewWidgetSection.st.css.js +3 -3
  16. package/dist/cjs/components/CustomFieldsWidget/CustomFieldsViewWidgetSection.st.css.js.map +1 -1
  17. package/dist/cjs/components/DragAndDrop/CollectionDragAndDropState.js +3 -3
  18. package/dist/cjs/components/DragAndDrop/CollectionDragAndDropState.js.map +1 -1
  19. package/dist/cjs/components/DragAndDrop/DragAndDropAnnouncements.js +5 -5
  20. package/dist/cjs/components/DragAndDrop/DragAndDropAnnouncements.js.map +1 -1
  21. package/dist/cjs/components/DragAndDrop/DragAndDropState.js +3 -10
  22. package/dist/cjs/components/DragAndDrop/DragAndDropState.js.map +1 -1
  23. package/dist/cjs/components/DragAndDrop/TableDragAndDropState.js +7 -11
  24. package/dist/cjs/components/DragAndDrop/TableDragAndDropState.js.map +1 -1
  25. package/dist/cjs/components/DragHandle/DragHandle.st.css.js +2 -2
  26. package/dist/cjs/components/DragHandle/DragHandle.st.css.js.map +1 -1
  27. package/dist/cjs/components/Fade/Fade.st.css.js +2 -2
  28. package/dist/cjs/components/Fade/Fade.st.css.js.map +1 -1
  29. package/dist/cjs/components/Grid/Grid.js.map +1 -1
  30. package/dist/cjs/components/Grid/GridContent.js +7 -7
  31. package/dist/cjs/components/Grid/GridContent.js.map +1 -1
  32. package/dist/cjs/components/Grid/GridFoldersSectionsGroup.js.map +1 -1
  33. package/dist/cjs/components/Grid/GridItem.js.map +1 -1
  34. package/dist/cjs/components/Grid/GridSingleGridContent.js +5 -3
  35. package/dist/cjs/components/Grid/GridSingleGridContent.js.map +1 -1
  36. package/dist/cjs/components/Grid/renderFolderItem.js.map +1 -1
  37. package/dist/cjs/components/Grid/useGridBaseSyncProps.js +11 -0
  38. package/dist/cjs/components/Grid/useGridBaseSyncProps.js.map +1 -1
  39. package/dist/cjs/components/Grid/useRenderItem.js.map +1 -1
  40. package/dist/cjs/components/GridDragAndDropDndKit/GridDragAndDrop.js +14 -1
  41. package/dist/cjs/components/GridDragAndDropDndKit/GridDragAndDrop.js.map +1 -1
  42. package/dist/cjs/components/GridDragAndDropDndKit/GridSortableContext.js +6 -18
  43. package/dist/cjs/components/GridDragAndDropDndKit/GridSortableContext.js.map +1 -1
  44. package/dist/cjs/components/GridSections/GridSectionAndRepeater.js +7 -5
  45. package/dist/cjs/components/GridSections/GridSectionAndRepeater.js.map +1 -1
  46. package/dist/cjs/components/GridSections/GridSectionsSectionState.js +5 -2
  47. package/dist/cjs/components/GridSections/GridSectionsSectionState.js.map +1 -1
  48. package/dist/cjs/components/Heading/Heading.st.css.js +2 -2
  49. package/dist/cjs/components/Heading/Heading.st.css.js.map +1 -1
  50. package/dist/cjs/components/InputOverflow/InputOverflow.st.css.js +2 -2
  51. package/dist/cjs/components/InputOverflow/InputOverflow.st.css.js.map +1 -1
  52. package/dist/cjs/components/ListDragAndDrop/ListDragAndDropContext.js +6 -19
  53. package/dist/cjs/components/ListDragAndDrop/ListDragAndDropContext.js.map +1 -1
  54. package/dist/cjs/components/MaxHeightText/MaxHeightText.st.css.js +2 -2
  55. package/dist/cjs/components/MaxHeightText/MaxHeightText.st.css.js.map +1 -1
  56. package/dist/cjs/components/MaxLines/MaxLines.st.css.js +2 -2
  57. package/dist/cjs/components/MaxLines/MaxLines.st.css.js.map +1 -1
  58. package/dist/cjs/components/MultiBulkActionToolbar/MultiBulkActionToolbar.st.css.js +2 -2
  59. package/dist/cjs/components/MultiBulkActionToolbar/MultiBulkActionToolbar.st.css.js.map +1 -1
  60. package/dist/cjs/components/MultiLevelSorting/MultiLevelSortingCTAButton.js +10 -5
  61. package/dist/cjs/components/MultiLevelSorting/MultiLevelSortingCTAButton.js.map +1 -1
  62. package/dist/cjs/components/NestedTable/NestedTable.js.map +1 -1
  63. package/dist/cjs/components/NestedTable/NestedTableRow.st.css.js +5 -5
  64. package/dist/cjs/components/NestedTable/NestedTableRow.st.css.js.map +1 -1
  65. package/dist/cjs/components/NestedTable/NestedTableWSRTable.js +16 -6
  66. package/dist/cjs/components/NestedTable/NestedTableWSRTable.js.map +1 -1
  67. package/dist/cjs/components/NestedTableDragAndDrop/NestedTableDragAndDrop.js +33 -0
  68. package/dist/cjs/components/NestedTableDragAndDrop/NestedTableDragAndDrop.js.map +1 -0
  69. package/dist/cjs/components/{CollectionTableDragAndDropContext/CollectionNestedTableDragAndDropContext.js → NestedTableDragAndDrop/NestedTableDragAndDropContext.js} +14 -31
  70. package/dist/cjs/components/NestedTableDragAndDrop/NestedTableDragAndDropContext.js.map +1 -0
  71. package/dist/cjs/components/NestedTableDragAndDrop/NestedTableDragAndDropState.js +85 -0
  72. package/dist/cjs/components/NestedTableDragAndDrop/NestedTableDragAndDropState.js.map +1 -0
  73. package/dist/cjs/components/PageWrapper/PageWrapperBase.js +8 -5
  74. package/dist/cjs/components/PageWrapper/PageWrapperBase.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/TableVirtual.st.css.js +3 -3
  88. package/dist/cjs/components/Table/TableVirtual.st.css.js.map +1 -1
  89. package/dist/cjs/components/Table/useTableSyncProps.js +11 -0
  90. package/dist/cjs/components/Table/useTableSyncProps.js.map +1 -1
  91. package/dist/cjs/components/TableDragAndDrop.js +15 -2
  92. package/dist/cjs/components/TableDragAndDrop.js.map +1 -1
  93. package/dist/cjs/components/{CollectionTableDragAndDropContext/CollectionTableDragAndDropContext.js → TableDragAndDropContext/TableDragAndDropContext.js} +13 -23
  94. package/dist/cjs/components/TableDragAndDropContext/TableDragAndDropContext.js.map +1 -0
  95. package/dist/cjs/components/TableDragAndDropContext/index.js +8 -0
  96. package/dist/cjs/components/TableDragAndDropContext/index.js.map +1 -0
  97. package/dist/cjs/components/TabsFilter/TabsFilter.st.css.js +3 -3
  98. package/dist/cjs/components/TabsFilter/TabsFilter.st.css.js.map +1 -1
  99. package/dist/cjs/components/Tags/ManageTags/ManageTagsModal/ManageTagsModal.st.css.js +2 -2
  100. package/dist/cjs/components/Tags/ManageTags/ManageTagsModal/ManageTagsModal.st.css.js.map +1 -1
  101. package/dist/cjs/components/ToolbarItemBox/ToolbarItemBox.st.css.js +2 -2
  102. package/dist/cjs/components/ToolbarItemBox/ToolbarItemBox.st.css.js.map +1 -1
  103. package/dist/cjs/components/common.st.css.js +4 -4
  104. package/dist/cjs/components/common.st.css.js.map +1 -1
  105. package/dist/cjs/hooks/useColumnsSyncProps.js +10 -2
  106. package/dist/cjs/hooks/useColumnsSyncProps.js.map +1 -1
  107. package/dist/cjs/index.js +1 -1
  108. package/dist/cjs/index.js.map +1 -1
  109. package/dist/cjs/state/CustomColumnsDragAndDropState.js +16 -6
  110. package/dist/cjs/state/CustomColumnsDragAndDropState.js.map +1 -1
  111. package/dist/cjs/state/CustomColumnsState.js +2 -1
  112. package/dist/cjs/state/CustomColumnsState.js.map +1 -1
  113. package/dist/cjs/state/GridBaseState.js +6 -2
  114. package/dist/cjs/state/GridBaseState.js.map +1 -1
  115. package/dist/cjs/state/MultiLevelSortingDragAndDrop.js +15 -3
  116. package/dist/cjs/state/MultiLevelSortingDragAndDrop.js.map +1 -1
  117. package/dist/cjs/state/MultiLevelSortingState.js +2 -1
  118. package/dist/cjs/state/MultiLevelSortingState.js.map +1 -1
  119. package/dist/cjs/state/NestedTableState/NestedTableNestedModeState.js +1 -0
  120. package/dist/cjs/state/NestedTableState/NestedTableNestedModeState.js.map +1 -1
  121. package/dist/cjs/state/TableState.js +2 -9
  122. package/dist/cjs/state/TableState.js.map +1 -1
  123. package/dist/cjs/state/ToolbarCollectionState.js +0 -1
  124. package/dist/cjs/state/ToolbarCollectionState.js.map +1 -1
  125. package/dist/cjs/state/initCustomColumns.js +8 -2
  126. package/dist/cjs/state/initCustomColumns.js.map +1 -1
  127. package/dist/cjs/styles.global.css +1 -1
  128. package/dist/cjs/version.js +1 -1
  129. package/dist/cjs/version.js.map +1 -1
  130. package/dist/esm/components/Collapse/Collapse.st.css.js +2 -2
  131. package/dist/esm/components/Collapse/Collapse.st.css.js.map +1 -1
  132. package/dist/esm/components/CollectionTable/CollectionTable.js +2 -2
  133. package/dist/esm/components/CollectionTable/CollectionTable.js.map +1 -1
  134. package/dist/esm/components/CollectionToolbar/CollectionToolbar.st.css.js +2 -2
  135. package/dist/esm/components/CollectionToolbar/SearchOrCustomFilter.st.css.js +2 -2
  136. package/dist/esm/components/CollectionViewsDropdown/AutoCompleteReadonly.st.css.js +2 -2
  137. package/dist/esm/components/CollectionViewsDropdown/AutoCompleteReadonly.st.css.js.map +1 -1
  138. package/dist/esm/components/CollectionViewsDropdown/ViewsDropdown.st.css.js +2 -2
  139. package/dist/esm/components/CollectionViewsDropdown/ViewsDropdown.st.css.js.map +1 -1
  140. package/dist/esm/components/CustomColumnsPanel/CustomColumnsPanelEntry.js +3 -0
  141. package/dist/esm/components/CustomColumnsPanel/CustomColumnsPanelEntry.js.map +1 -1
  142. package/dist/esm/components/CustomFieldsWidget/CustomFieldsViewWidgetSection.st.css.js +2 -2
  143. package/dist/esm/components/DragAndDrop/CollectionDragAndDropState.js +3 -3
  144. package/dist/esm/components/DragAndDrop/CollectionDragAndDropState.js.map +1 -1
  145. package/dist/esm/components/DragAndDrop/DragAndDropAnnouncements.js +4 -4
  146. package/dist/esm/components/DragAndDrop/DragAndDropAnnouncements.js.map +1 -1
  147. package/dist/esm/components/DragAndDrop/DragAndDropState.js +2 -7
  148. package/dist/esm/components/DragAndDrop/DragAndDropState.js.map +1 -1
  149. package/dist/esm/components/DragAndDrop/TableDragAndDropState.js +7 -8
  150. package/dist/esm/components/DragAndDrop/TableDragAndDropState.js.map +1 -1
  151. package/dist/esm/components/DragHandle/DragHandle.st.css.js +2 -2
  152. package/dist/esm/components/DragHandle/DragHandle.st.css.js.map +1 -1
  153. package/dist/esm/components/Fade/Fade.st.css.js +2 -2
  154. package/dist/esm/components/Grid/Grid.js.map +1 -1
  155. package/dist/esm/components/Grid/GridContent.js.map +1 -1
  156. package/dist/esm/components/Grid/GridFoldersSectionsGroup.js.map +1 -1
  157. package/dist/esm/components/Grid/GridSingleGridContent.js +2 -1
  158. package/dist/esm/components/Grid/GridSingleGridContent.js.map +1 -1
  159. package/dist/esm/components/Grid/renderFolderItem.js.map +1 -1
  160. package/dist/esm/components/Grid/useGridBaseSyncProps.js +10 -1
  161. package/dist/esm/components/Grid/useGridBaseSyncProps.js.map +1 -1
  162. package/dist/esm/components/Grid/useRenderItem.js.map +1 -1
  163. package/dist/esm/components/GridDragAndDropDndKit/GridDragAndDrop.js +11 -0
  164. package/dist/esm/components/GridDragAndDropDndKit/GridDragAndDrop.js.map +1 -1
  165. package/dist/esm/components/GridDragAndDropDndKit/GridSortableContext.js +3 -13
  166. package/dist/esm/components/GridDragAndDropDndKit/GridSortableContext.js.map +1 -1
  167. package/dist/esm/components/GridSections/GridSectionAndRepeater.js +2 -1
  168. package/dist/esm/components/GridSections/GridSectionAndRepeater.js.map +1 -1
  169. package/dist/esm/components/GridSections/GridSectionsSectionState.js +3 -2
  170. package/dist/esm/components/GridSections/GridSectionsSectionState.js.map +1 -1
  171. package/dist/esm/components/Heading/Heading.st.css.js +2 -2
  172. package/dist/esm/components/InputOverflow/InputOverflow.st.css.js +2 -2
  173. package/dist/esm/components/ListDragAndDrop/ListDragAndDropContext.js +4 -15
  174. package/dist/esm/components/ListDragAndDrop/ListDragAndDropContext.js.map +1 -1
  175. package/dist/esm/components/MaxHeightText/MaxHeightText.st.css.js +2 -2
  176. package/dist/esm/components/MaxHeightText/MaxHeightText.st.css.js.map +1 -1
  177. package/dist/esm/components/MaxLines/MaxLines.st.css.js +2 -2
  178. package/dist/esm/components/MultiBulkActionToolbar/MultiBulkActionToolbar.st.css.js +2 -2
  179. package/dist/esm/components/MultiBulkActionToolbar/MultiBulkActionToolbar.st.css.js.map +1 -1
  180. package/dist/esm/components/MultiLevelSorting/MultiLevelSortingCTAButton.js +4 -1
  181. package/dist/esm/components/MultiLevelSorting/MultiLevelSortingCTAButton.js.map +1 -1
  182. package/dist/esm/components/NestedTable/NestedTableRow.st.css.js +2 -2
  183. package/dist/esm/components/NestedTable/NestedTableWSRTable.js +9 -1
  184. package/dist/esm/components/NestedTable/NestedTableWSRTable.js.map +1 -1
  185. package/dist/esm/components/NestedTableDragAndDrop/NestedTableDragAndDrop.js +23 -0
  186. package/dist/esm/components/NestedTableDragAndDrop/NestedTableDragAndDrop.js.map +1 -0
  187. package/dist/esm/components/{CollectionTableDragAndDropContext/CollectionNestedTableDragAndDropContext.js → NestedTableDragAndDrop/NestedTableDragAndDropContext.js} +8 -21
  188. package/dist/esm/components/NestedTableDragAndDrop/NestedTableDragAndDropContext.js.map +1 -0
  189. package/dist/esm/components/NestedTableDragAndDrop/NestedTableDragAndDropState.js +61 -0
  190. package/dist/esm/components/NestedTableDragAndDrop/NestedTableDragAndDropState.js.map +1 -0
  191. package/dist/esm/components/PageWrapper/PageWrapperBase.js +4 -1
  192. package/dist/esm/components/PageWrapper/PageWrapperBase.js.map +1 -1
  193. package/dist/esm/components/PickerContent/PickerContent.st.css.js +2 -2
  194. package/dist/esm/components/PickerContent/PickerContentAdditionalStep.st.css.js +2 -2
  195. package/dist/esm/components/PickerTableListItem/PickerTableListItem.st.css.js +2 -2
  196. package/dist/esm/components/ScrollableContent/ScrollableContent.st.css.js +2 -2
  197. package/dist/esm/components/SkeletonCard/SkeletonCard.st.css.js +2 -2
  198. package/dist/esm/components/SlidingModal/SlidingModal.st.css.js +2 -2
  199. package/dist/esm/components/Table/TableVirtual.st.css.js +2 -2
  200. package/dist/esm/components/Table/useTableSyncProps.js +9 -0
  201. package/dist/esm/components/Table/useTableSyncProps.js.map +1 -1
  202. package/dist/esm/components/TableDragAndDrop.js +12 -2
  203. package/dist/esm/components/TableDragAndDrop.js.map +1 -1
  204. package/dist/esm/components/{CollectionTableDragAndDropContext/CollectionTableDragAndDropContext.js → TableDragAndDropContext/TableDragAndDropContext.js} +7 -18
  205. package/dist/esm/components/TableDragAndDropContext/TableDragAndDropContext.js.map +1 -0
  206. package/dist/esm/components/TableDragAndDropContext/index.js +2 -0
  207. package/dist/esm/components/TableDragAndDropContext/index.js.map +1 -0
  208. package/dist/esm/components/TabsFilter/TabsFilter.st.css.js +2 -2
  209. package/dist/esm/components/Tags/ManageTags/ManageTagsModal/ManageTagsModal.st.css.js +2 -2
  210. package/dist/esm/components/ToolbarItemBox/ToolbarItemBox.st.css.js +2 -2
  211. package/dist/esm/components/common.st.css.js +2 -2
  212. package/dist/esm/components/common.st.css.js.map +1 -1
  213. package/dist/esm/hooks/useColumnsSyncProps.js +8 -2
  214. package/dist/esm/hooks/useColumnsSyncProps.js.map +1 -1
  215. package/dist/esm/index.js +1 -1
  216. package/dist/esm/index.js.map +1 -1
  217. package/dist/esm/state/CustomColumnsDragAndDropState.js +14 -4
  218. package/dist/esm/state/CustomColumnsDragAndDropState.js.map +1 -1
  219. package/dist/esm/state/CustomColumnsState.js +1 -0
  220. package/dist/esm/state/CustomColumnsState.js.map +1 -1
  221. package/dist/esm/state/GridBaseState.js +9 -5
  222. package/dist/esm/state/GridBaseState.js.map +1 -1
  223. package/dist/esm/state/MultiLevelSortingDragAndDrop.js +13 -1
  224. package/dist/esm/state/MultiLevelSortingDragAndDrop.js.map +1 -1
  225. package/dist/esm/state/MultiLevelSortingState.js +1 -0
  226. package/dist/esm/state/MultiLevelSortingState.js.map +1 -1
  227. package/dist/esm/state/NestedTableState/NestedTableNestedModeState.js +1 -0
  228. package/dist/esm/state/NestedTableState/NestedTableNestedModeState.js.map +1 -1
  229. package/dist/esm/state/TableState.js +3 -9
  230. package/dist/esm/state/TableState.js.map +1 -1
  231. package/dist/esm/state/ToolbarCollectionState.js +0 -1
  232. package/dist/esm/state/ToolbarCollectionState.js.map +1 -1
  233. package/dist/esm/state/initCustomColumns.js +3 -1
  234. package/dist/esm/state/initCustomColumns.js.map +1 -1
  235. package/dist/esm/styles.global.css +1 -1
  236. package/dist/esm/version.js +1 -1
  237. package/dist/types/components/Collapse/Collapse.st.css.d.ts.map +1 -1
  238. package/dist/types/components/CollectionViewsDropdown/AutoCompleteReadonly.st.css.d.ts.map +1 -1
  239. package/dist/types/components/CollectionViewsDropdown/ViewsDropdown.st.css.d.ts.map +1 -1
  240. package/dist/types/components/CustomColumnsPanel/CustomColumnsPanelEntry.d.ts.map +1 -1
  241. package/dist/types/components/DragAndDrop/CollectionDragAndDropState.d.ts +4 -4
  242. package/dist/types/components/DragAndDrop/CollectionDragAndDropState.d.ts.map +1 -1
  243. package/dist/types/components/DragAndDrop/DragAndDropState.d.ts +8 -6
  244. package/dist/types/components/DragAndDrop/DragAndDropState.d.ts.map +1 -1
  245. package/dist/types/components/DragAndDrop/TableDragAndDropState.d.ts +2 -3
  246. package/dist/types/components/DragAndDrop/TableDragAndDropState.d.ts.map +1 -1
  247. package/dist/types/components/DragHandle/DragHandle.st.css.d.ts.map +1 -1
  248. package/dist/types/components/Grid/Grid.d.ts +2 -2
  249. package/dist/types/components/Grid/Grid.d.ts.map +1 -1
  250. package/dist/types/components/Grid/GridContent.d.ts +3 -2
  251. package/dist/types/components/Grid/GridContent.d.ts.map +1 -1
  252. package/dist/types/components/Grid/GridFoldersSectionsGroup.d.ts +2 -2
  253. package/dist/types/components/Grid/GridFoldersSectionsGroup.d.ts.map +1 -1
  254. package/dist/types/components/Grid/GridItem.d.ts +2 -2
  255. package/dist/types/components/Grid/GridItem.d.ts.map +1 -1
  256. package/dist/types/components/Grid/GridSingleGridContent.d.ts.map +1 -1
  257. package/dist/types/components/Grid/renderFolderItem.d.ts +2 -2
  258. package/dist/types/components/Grid/renderFolderItem.d.ts.map +1 -1
  259. package/dist/types/components/Grid/useGridBaseSyncProps.d.ts +2 -2
  260. package/dist/types/components/Grid/useGridBaseSyncProps.d.ts.map +1 -1
  261. package/dist/types/components/Grid/useRenderItem.d.ts +2 -2
  262. package/dist/types/components/Grid/useRenderItem.d.ts.map +1 -1
  263. package/dist/types/components/GridDragAndDropDndKit/GridDragAndDrop.d.ts +22 -2
  264. package/dist/types/components/GridDragAndDropDndKit/GridDragAndDrop.d.ts.map +1 -1
  265. package/dist/types/components/GridDragAndDropDndKit/GridSortableContext.d.ts +10 -3
  266. package/dist/types/components/GridDragAndDropDndKit/GridSortableContext.d.ts.map +1 -1
  267. package/dist/types/components/GridSections/GridSectionAndRepeater.d.ts.map +1 -1
  268. package/dist/types/components/GridSections/GridSectionsSectionState.d.ts +1 -0
  269. package/dist/types/components/GridSections/GridSectionsSectionState.d.ts.map +1 -1
  270. package/dist/types/components/ListDragAndDrop/ListDragAndDropContext.d.ts +4 -2
  271. package/dist/types/components/ListDragAndDrop/ListDragAndDropContext.d.ts.map +1 -1
  272. package/dist/types/components/MaxHeightText/MaxHeightText.st.css.d.ts.map +1 -1
  273. package/dist/types/components/MultiBulkActionToolbar/MultiBulkActionToolbar.st.css.d.ts.map +1 -1
  274. package/dist/types/components/MultiLevelSorting/MultiLevelSortingCTAButton.d.ts.map +1 -1
  275. package/dist/types/components/NestedTable/NestedTable.d.ts +1 -1
  276. package/dist/types/components/NestedTable/NestedTable.d.ts.map +1 -1
  277. package/dist/types/components/NestedTable/NestedTableWSRTable.d.ts +1 -1
  278. package/dist/types/components/NestedTable/NestedTableWSRTable.d.ts.map +1 -1
  279. package/dist/types/components/{NestedTableDragAndDrop.d.ts → NestedTableDragAndDrop/NestedTableDragAndDrop.d.ts} +10 -1
  280. package/dist/types/components/NestedTableDragAndDrop/NestedTableDragAndDrop.d.ts.map +1 -0
  281. package/dist/types/components/{CollectionTableDragAndDropContext/CollectionNestedTableDragAndDropContext.d.ts → NestedTableDragAndDrop/NestedTableDragAndDropContext.d.ts} +4 -4
  282. package/dist/types/components/NestedTableDragAndDrop/NestedTableDragAndDropContext.d.ts.map +1 -0
  283. package/dist/types/components/{DragAndDrop → NestedTableDragAndDrop}/NestedTableDragAndDropState.d.ts +7 -5
  284. package/dist/types/components/NestedTableDragAndDrop/NestedTableDragAndDropState.d.ts.map +1 -0
  285. package/dist/types/components/PageWrapper/PageWrapperBase.d.ts.map +1 -1
  286. package/dist/types/components/Table/useTableSyncProps.d.ts.map +1 -1
  287. package/dist/types/components/TableDragAndDrop.d.ts +11 -2
  288. package/dist/types/components/TableDragAndDrop.d.ts.map +1 -1
  289. package/dist/types/components/{CollectionTableDragAndDropContext/CollectionTableDragAndDropContext.d.ts → TableDragAndDropContext/TableDragAndDropContext.d.ts} +4 -4
  290. package/dist/types/components/TableDragAndDropContext/TableDragAndDropContext.d.ts.map +1 -0
  291. package/dist/types/components/TableDragAndDropContext/index.d.ts +2 -0
  292. package/dist/types/components/TableDragAndDropContext/index.d.ts.map +1 -0
  293. package/dist/types/components/TableGridSwitch/TableGridSwitchDragAndDrop.d.ts +18 -1
  294. package/dist/types/components/TableGridSwitch/TableGridSwitchDragAndDrop.d.ts.map +1 -1
  295. package/dist/types/components/common.st.css.d.ts.map +1 -1
  296. package/dist/types/hooks/useColumnsSyncProps.d.ts.map +1 -1
  297. package/dist/types/index.d.ts +1 -1
  298. package/dist/types/index.d.ts.map +1 -1
  299. package/dist/types/state/CustomColumnsDragAndDropState.d.ts +7 -3
  300. package/dist/types/state/CustomColumnsDragAndDropState.d.ts.map +1 -1
  301. package/dist/types/state/CustomColumnsState.d.ts +4 -1
  302. package/dist/types/state/CustomColumnsState.d.ts.map +1 -1
  303. package/dist/types/state/GridBaseState.d.ts +4 -2
  304. package/dist/types/state/GridBaseState.d.ts.map +1 -1
  305. package/dist/types/state/MultiLevelSortingDragAndDrop.d.ts +7 -1
  306. package/dist/types/state/MultiLevelSortingDragAndDrop.d.ts.map +1 -1
  307. package/dist/types/state/MultiLevelSortingState.d.ts +4 -1
  308. package/dist/types/state/MultiLevelSortingState.d.ts.map +1 -1
  309. package/dist/types/state/NestedTableState/NestedTableNestedModeState.d.ts +2 -0
  310. package/dist/types/state/NestedTableState/NestedTableNestedModeState.d.ts.map +1 -1
  311. package/dist/types/state/TableState.d.ts +3 -8
  312. package/dist/types/state/TableState.d.ts.map +1 -1
  313. package/dist/types/state/ToolbarCollectionState.d.ts +1 -1
  314. package/dist/types/state/ToolbarCollectionState.d.ts.map +1 -1
  315. package/dist/types/state/initCustomColumns.d.ts +8 -2
  316. package/dist/types/state/initCustomColumns.d.ts.map +1 -1
  317. package/dist/types/version.d.ts +1 -1
  318. package/package.json +3 -3
  319. package/dist/cjs/components/CollectionTableDragAndDropContext/CollectionNestedTableDragAndDropContext.js.map +0 -1
  320. package/dist/cjs/components/CollectionTableDragAndDropContext/CollectionTableDragAndDropContext.js.map +0 -1
  321. package/dist/cjs/components/CollectionTableDragAndDropContext/index.js +0 -11
  322. package/dist/cjs/components/CollectionTableDragAndDropContext/index.js.map +0 -1
  323. package/dist/cjs/components/DragAndDrop/NestedDragAndDropState.js +0 -83
  324. package/dist/cjs/components/DragAndDrop/NestedDragAndDropState.js.map +0 -1
  325. package/dist/cjs/components/DragAndDrop/NestedTableDragAndDropState.js +0 -51
  326. package/dist/cjs/components/DragAndDrop/NestedTableDragAndDropState.js.map +0 -1
  327. package/dist/cjs/components/NestedTableDragAndDrop.js +0 -18
  328. package/dist/cjs/components/NestedTableDragAndDrop.js.map +0 -1
  329. package/dist/esm/components/CollectionTableDragAndDropContext/CollectionNestedTableDragAndDropContext.js.map +0 -1
  330. package/dist/esm/components/CollectionTableDragAndDropContext/CollectionTableDragAndDropContext.js.map +0 -1
  331. package/dist/esm/components/CollectionTableDragAndDropContext/index.js +0 -3
  332. package/dist/esm/components/CollectionTableDragAndDropContext/index.js.map +0 -1
  333. package/dist/esm/components/DragAndDrop/NestedDragAndDropState.js +0 -60
  334. package/dist/esm/components/DragAndDrop/NestedDragAndDropState.js.map +0 -1
  335. package/dist/esm/components/DragAndDrop/NestedTableDragAndDropState.js +0 -31
  336. package/dist/esm/components/DragAndDrop/NestedTableDragAndDropState.js.map +0 -1
  337. package/dist/esm/components/NestedTableDragAndDrop.js +0 -11
  338. package/dist/esm/components/NestedTableDragAndDrop.js.map +0 -1
  339. package/dist/types/components/CollectionTableDragAndDropContext/CollectionNestedTableDragAndDropContext.d.ts.map +0 -1
  340. package/dist/types/components/CollectionTableDragAndDropContext/CollectionTableDragAndDropContext.d.ts.map +0 -1
  341. package/dist/types/components/CollectionTableDragAndDropContext/index.d.ts +0 -3
  342. package/dist/types/components/CollectionTableDragAndDropContext/index.d.ts.map +0 -1
  343. package/dist/types/components/DragAndDrop/NestedDragAndDropState.d.ts +0 -17
  344. package/dist/types/components/DragAndDrop/NestedDragAndDropState.d.ts.map +0 -1
  345. package/dist/types/components/DragAndDrop/NestedTableDragAndDropState.d.ts.map +0 -1
  346. package/dist/types/components/NestedTableDragAndDrop.d.ts.map +0 -1
@@ -60,7 +60,8 @@ class CustomColumnsState {
60
60
  } = params.dragAndDrop;
61
61
  this.dragAndDrop = new CustomColumnsDragAndDropState({
62
62
  customColumns: this,
63
- components: params.dragAndDrop
63
+ components: params.dragAndDrop,
64
+ modalsContainerRef: params.modalsContainerRef
64
65
  });
65
66
  }
66
67
  this.customColumnsHistory = this.table.collection.persistQueryToUrl ? new _CustomColumnsHistoryState.CustomColumnsHistoryState({
@@ -1 +1 @@
1
- {"version":3,"names":["_bexCore","require","_mobx","_CustomColumnsHistoryState","_indexOfCompareFn","_events","_bi","asStoredColumnsOrNull","customColumnsResult","Array","isArray","CustomColumnsState","constructor","params","_defineProperty2","default","Map","TaskState","SelectState","keyGetter","column","id","EventEmitter","action","select","onColumnClick","toggle","isChecked","table","container","columnsCollection","CollectionState","events","queryName","environment","componentId","collection","filter","Boolean","join","fetchData","orderedColumns","items","hiddenFromCustomColumnsSelection","filters","itemKey","item","itemName","name","fetchErrorMessage","dragAndDrop","CustomColumnsDragAndDropState","customColumns","components","customColumnsHistory","persistQueryToUrl","CustomColumnsHistoryState","history","makeObservable","persistCustomColumns","bound","toSelectedColumns","computed","selectedOrderedColumns","init","columns","customColumnsState","selectedColumns","value","some","selectedColumn","isSelected","dataCapsule","viewsProps","setItem","registerSelectedColumnChange","on","off","mergeNewColumns","_toStoredColumn","_didFirstColumnsMerge","defaultHidden","length","mergeTargetSelectedColumns","s","every","c","map","existing","find","hideable","diffColumns","forEach","d","originalIndex","findIndex","afterId","afterIndex","splice","getStickyColumnsCount","stickyColumns","reorderDisabled","reorderDisabledColumns","orderedColumnsByReorderDisabled","selectionChanged","i","a","b","_this$dragAndDrop","_this$customColumnsHi","customColumnsStateInitialized","disposers","reaction","clear","forceSetMany","status","finalStatus","startStatus","refreshAllPages","fireImmediately","selectedValues","setValue","emitEvents","disposer","_getStoredCustomColumns","getItem","e","Error","message","_tableInit","initTask","multi","collections","runOnce","beforeInitialFetchListeners","listeners","Promise","all","l","_fetchFromStorage","console","error","query","refreshOnColumnsChange","emitter","addListener","promise","_customColumnsState$c","_selectedColumnsFromUrl","storedCustomColumns","selectedColumnsFromStorage","sort","indexOfCompareFn","customizeColumnsInSidePanelBi","actionName","_performedCustomColumnsActions","get","set","reportBi","withoutDefaults","cairoCustomizeColumnsInSidePanel","exports"],"sources":["../../../src/state/CustomColumnsState.ts"],"sourcesContent":["import {\n WixPatternsContainer,\n CollectionState,\n FiltersMap,\n SelectState,\n TaskState,\n TypedEmitter,\n withoutDefaults,\n} from '@wix/bex-core';\nimport { action, computed, makeObservable, reaction } from 'mobx';\nimport { ToolbarCollectionState } from './ToolbarCollectionState';\nimport { Column } from '../model';\nimport type { CustomColumnsDragAndDrop } from '../components/CustomColumns/CustomColumnsDragAndDrop';\nimport { CustomColumnsHistoryState } from './CustomColumnsHistoryState';\nimport { indexOfCompareFn } from './indexOfCompareFn';\nimport { EventEmitter } from 'events';\nimport { cairoCustomizeColumnsInSidePanel } from '@wix/bex-core/bi';\n\ntype StoredColumn =\n | { id?: string; name?: string; isSelected?: boolean }\n | null\n | undefined;\n\nconst asStoredColumnsOrNull = (customColumnsResult: unknown) =>\n Array.isArray(customColumnsResult)\n ? (customColumnsResult as StoredColumn[])\n : null;\n\nexport interface CustomColumnsStateParams<T, F extends FiltersMap> {\n readonly table: ToolbarCollectionState<T, F>;\n readonly container: WixPatternsContainer;\n readonly dragAndDrop?: typeof CustomColumnsDragAndDrop;\n}\n\nexport type CustomColumnsActionName = 'visibility' | 'reorder';\n\nexport class CustomColumnsState<T, F extends FiltersMap> {\n readonly table;\n readonly container;\n\n readonly columnsCollection;\n\n readonly dragAndDrop;\n\n readonly customColumnsHistory;\n\n onColumnClick?: (column: Column, checked: boolean) => unknown;\n\n _didFirstColumnsMerge?: boolean;\n _performedCustomColumnsActions: Map<CustomColumnsActionName, boolean> =\n new Map();\n\n readonly initTask = new TaskState();\n\n readonly select = new SelectState<{ id: string }>({\n keyGetter: (column) => column.id,\n });\n\n readonly events = new EventEmitter() as TypedEmitter<{\n beforeInitialFetch: () => void;\n }>;\n\n constructor(params: CustomColumnsStateParams<T, F>) {\n this.table = params.table;\n this.container = params.container;\n\n this.columnsCollection = new CollectionState({\n ...this.container,\n events: {},\n queryName: [\n this.container.environment.componentId,\n this.table.collection.queryName,\n 'customColumns',\n ]\n .filter(Boolean)\n .join('/'),\n fetchData: async () => {\n const { orderedColumns } = this;\n\n const items = orderedColumns.filter(\n (column) => column.hiddenFromCustomColumnsSelection !== true,\n );\n\n return {\n items,\n };\n },\n filters: {},\n itemKey: (item) => item.id,\n itemName: (item) => item.name,\n fetchErrorMessage: () => null,\n });\n\n if (params.dragAndDrop) {\n const { CustomColumnsDragAndDropState } = params.dragAndDrop;\n this.dragAndDrop = new CustomColumnsDragAndDropState({\n customColumns: this,\n components: params.dragAndDrop,\n });\n }\n\n this.customColumnsHistory = this.table.collection.persistQueryToUrl\n ? new CustomColumnsHistoryState({\n customColumns: this,\n history: params.container.history,\n })\n : null;\n\n makeObservable(this, {\n persistCustomColumns: action.bound,\n toSelectedColumns: computed,\n orderedColumns: computed,\n selectedOrderedColumns: computed,\n init: action,\n });\n }\n\n get orderedColumns(): Column[] {\n const { dragAndDrop, table } = this;\n const { columns, customColumnsState } = table;\n\n if (customColumnsState?.dragAndDrop && dragAndDrop) {\n return dragAndDrop.orderedColumns;\n }\n\n return columns;\n }\n\n get selectedOrderedColumns() {\n const {\n orderedColumns,\n table: {\n selectedColumns: { value: selectedColumns },\n },\n } = this;\n\n return orderedColumns.filter((column) =>\n selectedColumns.some(\n (selectedColumn) =>\n selectedColumn.id === column.id && selectedColumn.isSelected,\n ),\n );\n }\n\n async persistCustomColumns() {\n const { table } = this;\n const { dataCapsule, viewsProps } = table;\n\n // if views enabled columns persists inside the view instead of data capsule\n if (viewsProps) {\n return;\n }\n\n await dataCapsule.setItem('custom-columns', table.selectedColumns.value);\n }\n\n private registerSelectedColumnChange() {\n const { table } = this;\n table.selectedColumns.events.on('refresh', this.persistCustomColumns);\n\n return () => {\n table.selectedColumns.events.off('refresh', this.persistCustomColumns);\n };\n }\n\n mergeNewColumns() {\n const {\n table: { columns, selectedColumns, _toStoredColumn, customColumnsState },\n _didFirstColumnsMerge,\n } = this;\n\n const defaultHidden =\n !_didFirstColumnsMerge && !!selectedColumns.value.length;\n\n const mergeTargetSelectedColumns = [...selectedColumns.value];\n\n if (customColumnsState?.dragAndDrop == null) {\n return [\n ...mergeTargetSelectedColumns.filter((s) =>\n columns.every((c) => s.id !== c.id),\n ),\n ...columns.map((c) => {\n const existing = selectedColumns.value.find((s) => s.id === c.id);\n if (existing == null) {\n return _toStoredColumn(c);\n }\n\n return {\n ...existing,\n isSelected:\n c.hideable === false ||\n c.hiddenFromCustomColumnsSelection ||\n existing.isSelected,\n };\n }),\n ];\n }\n\n const diffColumns = columns\n .filter((c) => selectedColumns.value.every((s) => s.id !== c.id))\n .map((c) =>\n _toStoredColumn({\n ...c,\n defaultHidden: defaultHidden || c.defaultHidden,\n }),\n );\n\n // place new columns according to their order in the original columns prop\n diffColumns.forEach((d) => {\n const originalIndex = columns.findIndex((c) => c.id === d.id);\n const afterId = originalIndex > 0 ? columns[originalIndex - 1].id : null;\n const afterIndex =\n afterId != null\n ? mergeTargetSelectedColumns.findIndex((c) => c.id === afterId) + 1\n : originalIndex === 0\n ? 0\n : mergeTargetSelectedColumns.length;\n mergeTargetSelectedColumns.splice(afterIndex, 0, d);\n });\n\n this._didFirstColumnsMerge = true;\n return mergeTargetSelectedColumns;\n }\n\n onColumnCheckboxToggle = action((column: Column) => {\n const { select, onColumnClick } = this;\n select.toggle(column);\n onColumnClick?.(column, select.isChecked(column.id));\n });\n\n getStickyColumnsCount({ stickyColumns }: { stickyColumns: number }) {\n const {\n dragAndDrop,\n table: {\n selectedColumns: { value: selectedColumns },\n },\n } = this;\n\n if (dragAndDrop == null) {\n return stickyColumns;\n }\n\n const { reorderDisabled: reorderDisabledColumns } =\n dragAndDrop.orderedColumnsByReorderDisabled;\n\n if (!reorderDisabledColumns.length) {\n return stickyColumns;\n }\n\n return dragAndDrop.orderedColumnsByReorderDisabled.reorderDisabled.filter(\n (column) =>\n selectedColumns.some(\n (selectedColumn) =>\n selectedColumn.id === column.id && selectedColumn.isSelected,\n ),\n ).length;\n }\n\n get toSelectedColumns() {\n const {\n select,\n table: {\n selectedColumns: { value },\n },\n } = this;\n\n return value.map(({ id }) => ({\n id,\n isSelected: select.isChecked(id),\n }));\n }\n\n get selectionChanged() {\n const {\n toSelectedColumns,\n table: {\n selectedColumns: { value },\n },\n } = this;\n\n if (value.length !== toSelectedColumns.length) {\n return true;\n }\n\n for (let i = 0; i < value.length; i++) {\n const a = value[i];\n const b = toSelectedColumns[i];\n\n if (a.id !== b.id || a.isSelected !== b.isSelected) {\n return true;\n }\n }\n\n return false;\n }\n\n init() {\n const { table } = this;\n table.customColumnsStateInitialized = true;\n\n const disposers = [\n reaction(\n () => this.table.selectedColumns.value,\n async (selectedColumns) => {\n const { select, columnsCollection } = this;\n\n select.clear();\n select.forceSetMany(\n selectedColumns.map(({ id, isSelected }) => ({\n value: { id },\n status: isSelected ? select.finalStatus : select.startStatus,\n })),\n );\n await columnsCollection.refreshAllPages();\n },\n {\n fireImmediately: true,\n },\n ),\n reaction(\n () => this.select.selectedValues,\n () => {\n const {\n table: { selectedColumns },\n } = this;\n\n if (!this.selectionChanged) {\n return;\n }\n\n selectedColumns.setValue(this.toSelectedColumns, {\n emitEvents: ['change', 'beforeRefresh', 'refresh'],\n });\n },\n ),\n\n this.registerSelectedColumnChange(),\n this.columnsCollection.init(),\n this.dragAndDrop?.init(),\n this.customColumnsHistory?.init(),\n ];\n\n return () => {\n disposers.forEach((disposer) => disposer?.());\n };\n }\n\n async _getStoredCustomColumns() {\n const { dataCapsule } = this.table;\n try {\n return asStoredColumnsOrNull(await dataCapsule.getItem('custom-columns'));\n } catch (e) {\n if (e instanceof Error && e.message === 'Key was not found in capsule') {\n return null;\n }\n\n throw e;\n }\n }\n\n _tableInit() {\n const {\n initTask,\n table: {\n multi: { collections },\n },\n } = this;\n initTask.runOnce(async () => {\n try {\n const beforeInitialFetchListeners =\n this.events.listeners('beforeInitialFetch');\n await Promise.all(beforeInitialFetchListeners.map((l) => l()));\n await this._fetchFromStorage();\n } catch (e) {\n console.error(e);\n }\n });\n\n collections.forEach((collection) => {\n if (collection.query.refreshOnColumnsChange) {\n collection.emitter.addListener(\n 'beforeInitialFetch',\n () => initTask.status.promise,\n );\n }\n });\n }\n\n async _fetchFromStorage() {\n const {\n table: { viewsProps, columns, selectedColumns, customColumnsState },\n } = this;\n\n if (viewsProps) {\n return;\n }\n\n if (customColumnsState?.customColumnsHistory?._selectedColumnsFromUrl) {\n return;\n }\n\n const storedCustomColumns = await this._getStoredCustomColumns();\n\n if (storedCustomColumns == null) {\n return;\n }\n\n const selectedColumnsFromStorage = columns.map(\n ({ id, name, hideable, hiddenFromCustomColumnsSelection }) => ({\n id,\n name,\n isSelected:\n storedCustomColumns.some(\n (c) => c?.id === id && c?.isSelected !== false,\n ) ||\n !hideable ||\n hiddenFromCustomColumnsSelection === true,\n }),\n );\n\n selectedColumns.setValue(\n customColumnsState?.dragAndDrop\n ? selectedColumnsFromStorage.sort(\n indexOfCompareFn(storedCustomColumns, (e) => e?.id),\n )\n : selectedColumnsFromStorage,\n );\n }\n\n customizeColumnsInSidePanelBi({\n actionName,\n }: {\n actionName: CustomColumnsActionName;\n }) {\n if (this._performedCustomColumnsActions.get(actionName)) {\n return;\n }\n this._performedCustomColumnsActions.set(actionName, true);\n this.table.reportBi(\n withoutDefaults(cairoCustomizeColumnsInSidePanel)({\n actionName,\n }),\n );\n }\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_bexCore","require","_mobx","_CustomColumnsHistoryState","_indexOfCompareFn","_events","_bi","asStoredColumnsOrNull","customColumnsResult","Array","isArray","CustomColumnsState","constructor","params","_defineProperty2","default","Map","TaskState","SelectState","keyGetter","column","id","EventEmitter","action","select","onColumnClick","toggle","isChecked","table","container","columnsCollection","CollectionState","events","queryName","environment","componentId","collection","filter","Boolean","join","fetchData","orderedColumns","items","hiddenFromCustomColumnsSelection","filters","itemKey","item","itemName","name","fetchErrorMessage","dragAndDrop","CustomColumnsDragAndDropState","customColumns","components","modalsContainerRef","customColumnsHistory","persistQueryToUrl","CustomColumnsHistoryState","history","makeObservable","persistCustomColumns","bound","toSelectedColumns","computed","selectedOrderedColumns","init","columns","customColumnsState","selectedColumns","value","some","selectedColumn","isSelected","dataCapsule","viewsProps","setItem","registerSelectedColumnChange","on","off","mergeNewColumns","_toStoredColumn","_didFirstColumnsMerge","defaultHidden","length","mergeTargetSelectedColumns","s","every","c","map","existing","find","hideable","diffColumns","forEach","d","originalIndex","findIndex","afterId","afterIndex","splice","getStickyColumnsCount","stickyColumns","reorderDisabled","reorderDisabledColumns","orderedColumnsByReorderDisabled","selectionChanged","i","a","b","_this$dragAndDrop","_this$customColumnsHi","customColumnsStateInitialized","disposers","reaction","clear","forceSetMany","status","finalStatus","startStatus","refreshAllPages","fireImmediately","selectedValues","setValue","emitEvents","disposer","_getStoredCustomColumns","getItem","e","Error","message","_tableInit","initTask","multi","collections","runOnce","beforeInitialFetchListeners","listeners","Promise","all","l","_fetchFromStorage","console","error","query","refreshOnColumnsChange","emitter","addListener","promise","_customColumnsState$c","_selectedColumnsFromUrl","storedCustomColumns","selectedColumnsFromStorage","sort","indexOfCompareFn","customizeColumnsInSidePanelBi","actionName","_performedCustomColumnsActions","get","set","reportBi","withoutDefaults","cairoCustomizeColumnsInSidePanel","exports"],"sources":["../../../src/state/CustomColumnsState.ts"],"sourcesContent":["import {\n CollectionState,\n FiltersMap,\n SelectState,\n TaskState,\n TypedEmitter,\n withoutDefaults,\n WixPatternsContainer,\n} from '@wix/bex-core';\nimport { action, computed, makeObservable, reaction } from 'mobx';\nimport { ToolbarCollectionState } from './ToolbarCollectionState';\nimport { Column } from '../model';\nimport type { CustomColumnsDragAndDrop } from '../components/CustomColumns/CustomColumnsDragAndDrop';\nimport { CustomColumnsHistoryState } from './CustomColumnsHistoryState';\nimport { indexOfCompareFn } from './indexOfCompareFn';\nimport { EventEmitter } from 'events';\nimport { cairoCustomizeColumnsInSidePanel } from '@wix/bex-core/bi';\n\ntype StoredColumn =\n | { id?: string; name?: string; isSelected?: boolean }\n | null\n | undefined;\n\nconst asStoredColumnsOrNull = (customColumnsResult: unknown) =>\n Array.isArray(customColumnsResult)\n ? (customColumnsResult as StoredColumn[])\n : null;\n\nexport interface CustomColumnsStateParams<T, F extends FiltersMap> {\n readonly table: ToolbarCollectionState<T, F>;\n readonly container: WixPatternsContainer;\n readonly dragAndDrop?: typeof CustomColumnsDragAndDrop;\n readonly modalsContainerRef: {\n current: HTMLElement | null | undefined;\n };\n}\n\nexport type CustomColumnsActionName = 'visibility' | 'reorder';\n\nexport class CustomColumnsState<T, F extends FiltersMap> {\n readonly table;\n readonly container;\n\n readonly columnsCollection;\n\n readonly dragAndDrop;\n\n readonly customColumnsHistory;\n\n onColumnClick?: (column: Column, checked: boolean) => unknown;\n\n _didFirstColumnsMerge?: boolean;\n _performedCustomColumnsActions: Map<CustomColumnsActionName, boolean> =\n new Map();\n\n readonly initTask = new TaskState();\n\n readonly select = new SelectState<{ id: string }>({\n keyGetter: (column) => column.id,\n });\n\n readonly events = new EventEmitter() as TypedEmitter<{\n beforeInitialFetch: () => void;\n }>;\n\n constructor(params: CustomColumnsStateParams<T, F>) {\n this.table = params.table;\n this.container = params.container;\n\n this.columnsCollection = new CollectionState({\n ...this.container,\n events: {},\n queryName: [\n this.container.environment.componentId,\n this.table.collection.queryName,\n 'customColumns',\n ]\n .filter(Boolean)\n .join('/'),\n fetchData: async () => {\n const { orderedColumns } = this;\n\n const items = orderedColumns.filter(\n (column) => column.hiddenFromCustomColumnsSelection !== true,\n );\n\n return {\n items,\n };\n },\n filters: {},\n itemKey: (item) => item.id,\n itemName: (item) => item.name,\n fetchErrorMessage: () => null,\n });\n\n if (params.dragAndDrop) {\n const { CustomColumnsDragAndDropState } = params.dragAndDrop;\n this.dragAndDrop = new CustomColumnsDragAndDropState({\n customColumns: this,\n components: params.dragAndDrop,\n modalsContainerRef: params.modalsContainerRef,\n });\n }\n\n this.customColumnsHistory = this.table.collection.persistQueryToUrl\n ? new CustomColumnsHistoryState({\n customColumns: this,\n history: params.container.history,\n })\n : null;\n\n makeObservable(this, {\n persistCustomColumns: action.bound,\n toSelectedColumns: computed,\n orderedColumns: computed,\n selectedOrderedColumns: computed,\n init: action,\n });\n }\n\n get orderedColumns(): Column[] {\n const { dragAndDrop, table } = this;\n const { columns, customColumnsState } = table;\n\n if (customColumnsState?.dragAndDrop && dragAndDrop) {\n return dragAndDrop.orderedColumns;\n }\n\n return columns;\n }\n\n get selectedOrderedColumns() {\n const {\n orderedColumns,\n table: {\n selectedColumns: { value: selectedColumns },\n },\n } = this;\n\n return orderedColumns.filter((column) =>\n selectedColumns.some(\n (selectedColumn) =>\n selectedColumn.id === column.id && selectedColumn.isSelected,\n ),\n );\n }\n\n async persistCustomColumns() {\n const { table } = this;\n const { dataCapsule, viewsProps } = table;\n\n // if views enabled columns persists inside the view instead of data capsule\n if (viewsProps) {\n return;\n }\n\n await dataCapsule.setItem('custom-columns', table.selectedColumns.value);\n }\n\n private registerSelectedColumnChange() {\n const { table } = this;\n table.selectedColumns.events.on('refresh', this.persistCustomColumns);\n\n return () => {\n table.selectedColumns.events.off('refresh', this.persistCustomColumns);\n };\n }\n\n mergeNewColumns() {\n const {\n table: { columns, selectedColumns, _toStoredColumn, customColumnsState },\n _didFirstColumnsMerge,\n } = this;\n\n const defaultHidden =\n !_didFirstColumnsMerge && !!selectedColumns.value.length;\n\n const mergeTargetSelectedColumns = [...selectedColumns.value];\n\n if (customColumnsState?.dragAndDrop == null) {\n return [\n ...mergeTargetSelectedColumns.filter((s) =>\n columns.every((c) => s.id !== c.id),\n ),\n ...columns.map((c) => {\n const existing = selectedColumns.value.find((s) => s.id === c.id);\n if (existing == null) {\n return _toStoredColumn(c);\n }\n\n return {\n ...existing,\n isSelected:\n c.hideable === false ||\n c.hiddenFromCustomColumnsSelection ||\n existing.isSelected,\n };\n }),\n ];\n }\n\n const diffColumns = columns\n .filter((c) => selectedColumns.value.every((s) => s.id !== c.id))\n .map((c) =>\n _toStoredColumn({\n ...c,\n defaultHidden: defaultHidden || c.defaultHidden,\n }),\n );\n\n // place new columns according to their order in the original columns prop\n diffColumns.forEach((d) => {\n const originalIndex = columns.findIndex((c) => c.id === d.id);\n const afterId = originalIndex > 0 ? columns[originalIndex - 1].id : null;\n const afterIndex =\n afterId != null\n ? mergeTargetSelectedColumns.findIndex((c) => c.id === afterId) + 1\n : originalIndex === 0\n ? 0\n : mergeTargetSelectedColumns.length;\n mergeTargetSelectedColumns.splice(afterIndex, 0, d);\n });\n\n this._didFirstColumnsMerge = true;\n return mergeTargetSelectedColumns;\n }\n\n onColumnCheckboxToggle = action((column: Column) => {\n const { select, onColumnClick } = this;\n select.toggle(column);\n onColumnClick?.(column, select.isChecked(column.id));\n });\n\n getStickyColumnsCount({ stickyColumns }: { stickyColumns: number }) {\n const {\n dragAndDrop,\n table: {\n selectedColumns: { value: selectedColumns },\n },\n } = this;\n\n if (dragAndDrop == null) {\n return stickyColumns;\n }\n\n const { reorderDisabled: reorderDisabledColumns } =\n dragAndDrop.orderedColumnsByReorderDisabled;\n\n if (!reorderDisabledColumns.length) {\n return stickyColumns;\n }\n\n return dragAndDrop.orderedColumnsByReorderDisabled.reorderDisabled.filter(\n (column) =>\n selectedColumns.some(\n (selectedColumn) =>\n selectedColumn.id === column.id && selectedColumn.isSelected,\n ),\n ).length;\n }\n\n get toSelectedColumns() {\n const {\n select,\n table: {\n selectedColumns: { value },\n },\n } = this;\n\n return value.map(({ id }) => ({\n id,\n isSelected: select.isChecked(id),\n }));\n }\n\n get selectionChanged() {\n const {\n toSelectedColumns,\n table: {\n selectedColumns: { value },\n },\n } = this;\n\n if (value.length !== toSelectedColumns.length) {\n return true;\n }\n\n for (let i = 0; i < value.length; i++) {\n const a = value[i];\n const b = toSelectedColumns[i];\n\n if (a.id !== b.id || a.isSelected !== b.isSelected) {\n return true;\n }\n }\n\n return false;\n }\n\n init() {\n const { table } = this;\n table.customColumnsStateInitialized = true;\n\n const disposers = [\n reaction(\n () => this.table.selectedColumns.value,\n async (selectedColumns) => {\n const { select, columnsCollection } = this;\n\n select.clear();\n select.forceSetMany(\n selectedColumns.map(({ id, isSelected }) => ({\n value: { id },\n status: isSelected ? select.finalStatus : select.startStatus,\n })),\n );\n await columnsCollection.refreshAllPages();\n },\n {\n fireImmediately: true,\n },\n ),\n reaction(\n () => this.select.selectedValues,\n () => {\n const {\n table: { selectedColumns },\n } = this;\n\n if (!this.selectionChanged) {\n return;\n }\n\n selectedColumns.setValue(this.toSelectedColumns, {\n emitEvents: ['change', 'beforeRefresh', 'refresh'],\n });\n },\n ),\n\n this.registerSelectedColumnChange(),\n this.columnsCollection.init(),\n this.dragAndDrop?.init(),\n this.customColumnsHistory?.init(),\n ];\n\n return () => {\n disposers.forEach((disposer) => disposer?.());\n };\n }\n\n async _getStoredCustomColumns() {\n const { dataCapsule } = this.table;\n try {\n return asStoredColumnsOrNull(await dataCapsule.getItem('custom-columns'));\n } catch (e) {\n if (e instanceof Error && e.message === 'Key was not found in capsule') {\n return null;\n }\n\n throw e;\n }\n }\n\n _tableInit() {\n const {\n initTask,\n table: {\n multi: { collections },\n },\n } = this;\n initTask.runOnce(async () => {\n try {\n const beforeInitialFetchListeners =\n this.events.listeners('beforeInitialFetch');\n await Promise.all(beforeInitialFetchListeners.map((l) => l()));\n await this._fetchFromStorage();\n } catch (e) {\n console.error(e);\n }\n });\n\n collections.forEach((collection) => {\n if (collection.query.refreshOnColumnsChange) {\n collection.emitter.addListener(\n 'beforeInitialFetch',\n () => initTask.status.promise,\n );\n }\n });\n }\n\n async _fetchFromStorage() {\n const {\n table: { viewsProps, columns, selectedColumns, customColumnsState },\n } = this;\n\n if (viewsProps) {\n return;\n }\n\n if (customColumnsState?.customColumnsHistory?._selectedColumnsFromUrl) {\n return;\n }\n\n const storedCustomColumns = await this._getStoredCustomColumns();\n\n if (storedCustomColumns == null) {\n return;\n }\n\n const selectedColumnsFromStorage = columns.map(\n ({ id, name, hideable, hiddenFromCustomColumnsSelection }) => ({\n id,\n name,\n isSelected:\n storedCustomColumns.some(\n (c) => c?.id === id && c?.isSelected !== false,\n ) ||\n !hideable ||\n hiddenFromCustomColumnsSelection === true,\n }),\n );\n\n selectedColumns.setValue(\n customColumnsState?.dragAndDrop\n ? selectedColumnsFromStorage.sort(\n indexOfCompareFn(storedCustomColumns, (e) => e?.id),\n )\n : selectedColumnsFromStorage,\n );\n }\n\n customizeColumnsInSidePanelBi({\n actionName,\n }: {\n actionName: CustomColumnsActionName;\n }) {\n if (this._performedCustomColumnsActions.get(actionName)) {\n return;\n }\n this._performedCustomColumnsActions.set(actionName, true);\n this.table.reportBi(\n withoutDefaults(cairoCustomizeColumnsInSidePanel)({\n actionName,\n }),\n );\n }\n}\n"],"mappings":"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","ignoreList":[]}
@@ -8,6 +8,10 @@ var _mobx = require("mobx");
8
8
  var _RectState = require("./RectState");
9
9
  var _ResponsiveColumnsState = require("./ResponsiveColumnsState");
10
10
  class GridBaseState {
11
+ get _dnd() {
12
+ var _this$collectionDragA;
13
+ return (_this$collectionDragA = this.collectionDragAndDropState) == null ? void 0 : _this$collectionDragA.dnd;
14
+ }
11
15
  constructor(params) {
12
16
  var _params$range, _params$range2;
13
17
  (0, _defineProperty2.default)(this, "toolbar", void 0);
@@ -25,8 +29,8 @@ class GridBaseState {
25
29
  (0, _defineProperty2.default)(this, "_draggable", 'none');
26
30
  (0, _defineProperty2.default)(this, "_localLimit", void 0);
27
31
  (0, _defineProperty2.default)(this, "_localStart", void 0);
28
- (0, _defineProperty2.default)(this, "_dnd", null);
29
32
  (0, _defineProperty2.default)(this, "forceRenderIndexes", undefined);
33
+ (0, _defineProperty2.default)(this, "collectionDragAndDropState", null);
30
34
  (0, _defineProperty2.default)(this, "onAddItemClick", origin => {
31
35
  this.toolbar.toolbarBIReporter.onAddItemClick(origin);
32
36
  });
@@ -40,6 +44,7 @@ class GridBaseState {
40
44
  this._containerRectState = new _RectState.RectState({
41
45
  container: this.container
42
46
  });
47
+ this._draggable = params.draggable ?? 'none';
43
48
  this.toolbar = params.toolbar;
44
49
  this._responsiveColumnsState = new _ResponsiveColumnsState.ResponsiveColumnsState({
45
50
  gridState: this,
@@ -50,7 +55,6 @@ class GridBaseState {
50
55
  this._localLimit = (_params$range = params.range) == null ? void 0 : _params$range.length;
51
56
  this._localStart = ((_params$range2 = params.range) == null ? void 0 : _params$range2.start) ?? 0;
52
57
  (0, _mobx.makeObservable)(this, {
53
- _dnd: _mobx.observable.ref,
54
58
  trailingItemsCount: _mobx.observable.ref,
55
59
  forceRenderIndexes: _mobx.observable.ref,
56
60
  preset: _mobx.observable.ref,
@@ -1 +1 @@
1
- {"version":3,"names":["_mobx","require","_RectState","_ResponsiveColumnsState","GridBaseState","constructor","params","_params$range","_params$range2","_defineProperty2","default","undefined","origin","toolbar","toolbarBIReporter","onAddItemClick","items","onAddItemActionComplete","container","collection","parentState","layoutType","_containerRectState","RectState","_responsiveColumnsState","ResponsiveColumnsState","gridState","minItemWidth","rectState","sizePreset","_localLimit","range","length","_localStart","start","makeObservable","_dnd","observable","ref","trailingItemsCount","forceRenderIndexes","preset","_draggable","draggable","computed","itemsToRenderCount","itemsToRender","rowCount","isInteracting","calcGridProps","columnsCount","_sizeProps","itemKeyRecyclerOverride","itemsContentWidth","containerPaddingTop","gap","imagePlacement","contentPadding","aspectRatio","footerHeights","_this$_dnd","isDisabled","window","result","keyedItems","itemsCount","Math","min","fetchedLastPage","floor","reportBi","columnCount","containerRect","ceil","_this$_dnd2","_this$_dnd3","isActive","isDropping","Array","fill","getItemRenderTypeAt","index","indexInCollection","errorMonitor","responsiveColumnCount","width","widthWithLastColumnGap","widthWithoutGaps","columnWidth","cardFooterSize","cardFooterHeight","cardTopImageHeight","rowHeight","columnWidthIncludingGap","rowHeightIncludingGap","rowHeightFixed","itemsContentHeight","overscanCount","round","getCollectionSnapshot","_keyedItems$index","key","dragAndDropCategories","listAttributes","_this$_dnd4","nullAnnouncements","role","_subscribe","_subGrids","push","i","indexOf","splice","init","exports"],"sources":["../../../src/state/GridBaseState.ts"],"sourcesContent":["import {\n WixPatternsContainer,\n CollectionState,\n FiltersMap,\n} from '@wix/bex-core';\nimport { computed, makeObservable, observable } from 'mobx';\nimport {\n ToolbarCollectionState,\n ToolbarCollectionStateParamsInitParams,\n} from './ToolbarCollectionState';\nimport { DragAndDropState } from '../components/DragAndDrop';\nimport { RectState } from './RectState';\nimport { GridSizePreset } from './gridSizePresets';\nimport { ResponsiveColumnsState } from './ResponsiveColumnsState';\n\nexport type LayoutType = 'grid' | 'list';\n\nexport interface GridBaseStateParams<T, F extends FiltersMap> {\n readonly collection: CollectionState<T, F>;\n readonly container: WixPatternsContainer;\n readonly toolbar: ToolbarCollectionState<any, Partial<F>>;\n readonly sizePreset: GridSizePreset;\n readonly range?: { start: number; length: number };\n readonly layoutType: LayoutType | undefined;\n readonly parentState: {\n _subGrids?: GridBaseState<T, F>[];\n };\n}\n\nexport interface GridBaseStateInitParams\n extends ToolbarCollectionStateParamsInitParams {}\n\nexport class GridBaseState<T, F extends FiltersMap> {\n readonly toolbar;\n readonly container;\n readonly collection;\n readonly _containerRectState;\n readonly _responsiveColumnsState;\n readonly parentState;\n sizePreset;\n layoutType;\n\n trailingItemsCount = 0;\n minItemWidth = 196;\n smallCardWidthThreshold = 200;\n preset: 'full' | 'title' | 'empty' = 'title';\n _draggable: 'none' | 'draggable' = 'none';\n _localLimit: number | null | undefined;\n _localStart: number;\n _dnd?: DragAndDropState<T, F> | null = null;\n forceRenderIndexes: { rowIndex: number; columnIndex: number }[] | undefined =\n undefined;\n\n constructor(params: GridBaseStateParams<T, F>) {\n this.container = params.container;\n this.collection = params.collection;\n this.parentState = params.parentState;\n this.layoutType = params.layoutType ?? 'grid';\n this._containerRectState = new RectState({\n container: this.container,\n });\n this.toolbar = params.toolbar as ToolbarCollectionState<\n unknown,\n Partial<F>\n >;\n this._responsiveColumnsState = new ResponsiveColumnsState({\n gridState: this,\n minItemWidth: this.minItemWidth,\n rectState: this._containerRectState,\n });\n this.sizePreset = params.sizePreset;\n this._localLimit = params.range?.length;\n this._localStart = params.range?.start ?? 0;\n\n makeObservable(this, {\n _dnd: observable.ref,\n trailingItemsCount: observable.ref,\n forceRenderIndexes: observable.ref,\n preset: observable.ref,\n _draggable: observable.ref,\n draggable: computed,\n itemsToRenderCount: computed,\n itemsToRender: computed,\n rowCount: computed,\n isInteracting: computed,\n calcGridProps: computed,\n columnsCount: computed,\n _sizeProps: computed,\n itemKeyRecyclerOverride: computed,\n _localLimit: observable.ref,\n _localStart: observable.ref,\n itemsContentWidth: computed,\n containerPaddingTop: computed,\n gap: computed,\n sizePreset: observable.ref,\n layoutType: observable.ref,\n });\n }\n\n get imagePlacement() {\n return this.sizePreset.imagePlacement;\n }\n\n get gap() {\n const { layoutType } = this;\n if (layoutType === 'list') {\n return 12;\n }\n\n return 24;\n }\n\n get containerPaddingTop() {\n const { layoutType } = this;\n if (layoutType === 'list') {\n return 0;\n }\n\n return this.toolbar.contentPadding;\n }\n\n get aspectRatio() {\n return this.sizePreset.aspectRatio;\n }\n\n get footerHeights() {\n return this.sizePreset.footerHeights;\n }\n\n get itemsContentWidth() {\n return this._responsiveColumnsState.itemsContentWidth;\n }\n\n get draggable() {\n if (this._dnd?.isDisabled) {\n return 'none' as const;\n }\n return this._draggable;\n }\n\n get window() {\n return this.container.window;\n }\n\n get itemsToRenderCount() {\n const { collection, trailingItemsCount, _localLimit, _localStart } = this;\n const {\n result: { keyedItems },\n } = collection;\n\n const itemsCount =\n _localLimit != null\n ? Math.min(_localLimit, keyedItems.length)\n : keyedItems.length;\n\n return collection.fetchedLastPage ||\n (_localLimit != null && _localStart + _localLimit < keyedItems.length)\n ? itemsCount + trailingItemsCount\n : itemsCount - Math.floor(itemsCount % this.columnsCount);\n }\n\n get reportBi() {\n return this.toolbar.reportBi;\n }\n\n get columnsCount() {\n return this.calcGridProps.columnCount;\n }\n\n get containerRect() {\n return this.toolbar.containerRect;\n }\n\n get rowCount() {\n const { itemsToRenderCount, columnsCount } = this;\n\n return Math.ceil(itemsToRenderCount / columnsCount);\n }\n\n get isInteracting() {\n return this._dnd?.isActive || this._dnd?.isDropping;\n }\n\n get itemsToRender(): null[] {\n const { itemsToRenderCount } = this;\n return new Array(itemsToRenderCount).fill(null);\n }\n\n getItemRenderTypeAt(index: number) {\n const { collection, itemsToRenderCount, _localStart } = this;\n const {\n result: { keyedItems },\n } = collection;\n\n if (index >= itemsToRenderCount) {\n return null;\n }\n\n const indexInCollection = index + _localStart;\n\n if (indexInCollection >= keyedItems.length) {\n return 'trailing';\n }\n\n return keyedItems[indexInCollection];\n }\n\n get errorMonitor() {\n return this.container.errorMonitor;\n }\n\n get _sizeProps() {\n const {\n aspectRatio,\n preset,\n draggable,\n _responsiveColumnsState: {\n gap,\n columnCount: responsiveColumnCount,\n itemsContentWidth: width,\n widthWithLastColumnGap,\n },\n layoutType,\n } = this;\n\n const columnCount = layoutType === 'list' ? 1 : responsiveColumnCount;\n\n const widthWithoutGaps = width - (columnCount - 1) * gap;\n const columnWidth = widthWithoutGaps / columnCount;\n\n const cardFooterSize = 'small' as const;\n\n const cardFooterHeight =\n this.footerHeights[preset][draggable][cardFooterSize];\n const cardTopImageHeight = columnWidth * aspectRatio;\n const rowHeight = cardTopImageHeight + cardFooterHeight + 1;\n\n const columnWidthIncludingGap = widthWithLastColumnGap / columnCount;\n const rowHeightIncludingGap = rowHeight + gap;\n\n return {\n columnCount,\n columnWidth: () => columnWidth,\n columnWidthIncludingGap: () => columnWidthIncludingGap,\n rowHeight: () => rowHeight,\n rowHeightFixed: rowHeight,\n cardTopImageHeight,\n rowHeightIncludingGap: () => rowHeightIncludingGap,\n cardFooterHeight,\n cardFooterSize,\n };\n }\n\n get calcGridProps() {\n const {\n toolbar: { itemsContentHeight },\n _sizeProps: { rowHeightFixed },\n } = this;\n\n const overscanCount = Math.round(\n (itemsContentHeight / rowHeightFixed) * 1.5,\n );\n\n return {\n ...this._sizeProps,\n overscanCount,\n };\n }\n\n get getCollectionSnapshot() {\n return this.toolbar.getCollectionSnapshot;\n }\n\n onAddItemClick = (origin?: string) => {\n this.toolbar.toolbarBIReporter.onAddItemClick(origin);\n };\n\n onAddItemActionComplete = async (items: T[]) => {\n return this.toolbar.onAddItemActionComplete(items);\n };\n\n get itemKeyRecyclerOverride() {\n const { collection } = this;\n const {\n result: { keyedItems },\n } = collection;\n return (index: number) => {\n return keyedItems[index]?.key ?? index;\n };\n }\n\n get dragAndDropCategories() {\n return this.toolbar.dragAndDropCategories;\n }\n\n get listAttributes() {\n return {\n ...this._dnd?.nullAnnouncements.listAttributes?.(),\n role: 'list',\n };\n }\n\n _subscribe() {\n const {\n parentState: { _subGrids },\n } = this;\n\n if (!_subGrids) {\n return;\n }\n\n _subGrids.push(this);\n\n return () => {\n const i = _subGrids.indexOf(this);\n i !== -1 && _subGrids.splice(i, 1);\n };\n }\n\n init() {\n return this._subscribe();\n }\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_mobx","require","_RectState","_ResponsiveColumnsState","GridBaseState","_dnd","_this$collectionDragA","collectionDragAndDropState","dnd","constructor","params","_params$range","_params$range2","_defineProperty2","default","undefined","origin","toolbar","toolbarBIReporter","onAddItemClick","items","onAddItemActionComplete","container","collection","parentState","layoutType","_containerRectState","RectState","_draggable","draggable","_responsiveColumnsState","ResponsiveColumnsState","gridState","minItemWidth","rectState","sizePreset","_localLimit","range","length","_localStart","start","makeObservable","trailingItemsCount","observable","ref","forceRenderIndexes","preset","computed","itemsToRenderCount","itemsToRender","rowCount","isInteracting","calcGridProps","columnsCount","_sizeProps","itemKeyRecyclerOverride","itemsContentWidth","containerPaddingTop","gap","imagePlacement","contentPadding","aspectRatio","footerHeights","_this$_dnd","isDisabled","window","result","keyedItems","itemsCount","Math","min","fetchedLastPage","floor","reportBi","columnCount","containerRect","ceil","_this$_dnd2","_this$_dnd3","isActive","isDropping","Array","fill","getItemRenderTypeAt","index","indexInCollection","errorMonitor","responsiveColumnCount","width","widthWithLastColumnGap","widthWithoutGaps","columnWidth","cardFooterSize","cardFooterHeight","cardTopImageHeight","rowHeight","columnWidthIncludingGap","rowHeightIncludingGap","rowHeightFixed","itemsContentHeight","overscanCount","round","getCollectionSnapshot","_keyedItems$index","key","dragAndDropCategories","listAttributes","_this$_dnd4","nullAnnouncements","role","_subscribe","_subGrids","push","i","indexOf","splice","init","exports"],"sources":["../../../src/state/GridBaseState.ts"],"sourcesContent":["import {\n WixPatternsContainer,\n CollectionState,\n FiltersMap,\n} from '@wix/bex-core';\nimport { computed, makeObservable, observable } from 'mobx';\nimport {\n ToolbarCollectionState,\n ToolbarCollectionStateParamsInitParams,\n} from './ToolbarCollectionState';\nimport { CollectionDragAndDropState } from '../components/DragAndDrop';\nimport { RectState } from './RectState';\nimport { GridSizePreset } from './gridSizePresets';\nimport { ResponsiveColumnsState } from './ResponsiveColumnsState';\n\nexport type LayoutType = 'grid' | 'list';\n\nexport interface GridBaseStateParams<T, F extends FiltersMap> {\n readonly collection: CollectionState<T, F>;\n readonly container: WixPatternsContainer;\n readonly toolbar: ToolbarCollectionState<any, Partial<F>>;\n readonly sizePreset: GridSizePreset;\n readonly range?: { start: number; length: number };\n readonly layoutType: LayoutType | undefined;\n readonly parentState: {\n _subGrids?: GridBaseState<T, F>[];\n };\n readonly draggable?: 'none' | 'draggable';\n}\n\nexport interface GridBaseStateInitParams\n extends ToolbarCollectionStateParamsInitParams {}\n\nexport class GridBaseState<T, F extends FiltersMap> {\n readonly toolbar;\n readonly container;\n readonly collection;\n readonly _containerRectState;\n readonly _responsiveColumnsState;\n readonly parentState;\n sizePreset;\n layoutType;\n\n trailingItemsCount = 0;\n minItemWidth = 196;\n smallCardWidthThreshold = 200;\n preset: 'full' | 'title' | 'empty' = 'title';\n _draggable: 'none' | 'draggable' = 'none';\n _localLimit: number | null | undefined;\n _localStart: number;\n forceRenderIndexes: { rowIndex: number; columnIndex: number }[] | undefined =\n undefined;\n\n collectionDragAndDropState: CollectionDragAndDropState<T, F> | null = null;\n\n get _dnd() {\n return this.collectionDragAndDropState?.dnd;\n }\n\n constructor(params: GridBaseStateParams<T, F>) {\n this.container = params.container;\n this.collection = params.collection;\n this.parentState = params.parentState;\n this.layoutType = params.layoutType ?? 'grid';\n this._containerRectState = new RectState({\n container: this.container,\n });\n this._draggable = params.draggable ?? 'none';\n this.toolbar = params.toolbar as ToolbarCollectionState<\n unknown,\n Partial<F>\n >;\n this._responsiveColumnsState = new ResponsiveColumnsState({\n gridState: this,\n minItemWidth: this.minItemWidth,\n rectState: this._containerRectState,\n });\n this.sizePreset = params.sizePreset;\n this._localLimit = params.range?.length;\n this._localStart = params.range?.start ?? 0;\n\n makeObservable(this, {\n trailingItemsCount: observable.ref,\n forceRenderIndexes: observable.ref,\n preset: observable.ref,\n _draggable: observable.ref,\n draggable: computed,\n itemsToRenderCount: computed,\n itemsToRender: computed,\n rowCount: computed,\n isInteracting: computed,\n calcGridProps: computed,\n columnsCount: computed,\n _sizeProps: computed,\n itemKeyRecyclerOverride: computed,\n _localLimit: observable.ref,\n _localStart: observable.ref,\n itemsContentWidth: computed,\n containerPaddingTop: computed,\n gap: computed,\n sizePreset: observable.ref,\n layoutType: observable.ref,\n });\n }\n\n get imagePlacement() {\n return this.sizePreset.imagePlacement;\n }\n\n get gap() {\n const { layoutType } = this;\n if (layoutType === 'list') {\n return 12;\n }\n\n return 24;\n }\n\n get containerPaddingTop() {\n const { layoutType } = this;\n if (layoutType === 'list') {\n return 0;\n }\n\n return this.toolbar.contentPadding;\n }\n\n get aspectRatio() {\n return this.sizePreset.aspectRatio;\n }\n\n get footerHeights() {\n return this.sizePreset.footerHeights;\n }\n\n get itemsContentWidth() {\n return this._responsiveColumnsState.itemsContentWidth;\n }\n\n get draggable() {\n if (this._dnd?.isDisabled) {\n return 'none' as const;\n }\n return this._draggable;\n }\n\n get window() {\n return this.container.window;\n }\n\n get itemsToRenderCount() {\n const { collection, trailingItemsCount, _localLimit, _localStart } = this;\n const {\n result: { keyedItems },\n } = collection;\n\n const itemsCount =\n _localLimit != null\n ? Math.min(_localLimit, keyedItems.length)\n : keyedItems.length;\n\n return collection.fetchedLastPage ||\n (_localLimit != null && _localStart + _localLimit < keyedItems.length)\n ? itemsCount + trailingItemsCount\n : itemsCount - Math.floor(itemsCount % this.columnsCount);\n }\n\n get reportBi() {\n return this.toolbar.reportBi;\n }\n\n get columnsCount() {\n return this.calcGridProps.columnCount;\n }\n\n get containerRect() {\n return this.toolbar.containerRect;\n }\n\n get rowCount() {\n const { itemsToRenderCount, columnsCount } = this;\n\n return Math.ceil(itemsToRenderCount / columnsCount);\n }\n\n get isInteracting() {\n return this._dnd?.isActive || this._dnd?.isDropping;\n }\n\n get itemsToRender(): null[] {\n const { itemsToRenderCount } = this;\n return new Array(itemsToRenderCount).fill(null);\n }\n\n getItemRenderTypeAt(index: number) {\n const { collection, itemsToRenderCount, _localStart } = this;\n const {\n result: { keyedItems },\n } = collection;\n\n if (index >= itemsToRenderCount) {\n return null;\n }\n\n const indexInCollection = index + _localStart;\n\n if (indexInCollection >= keyedItems.length) {\n return 'trailing';\n }\n\n return keyedItems[indexInCollection];\n }\n\n get errorMonitor() {\n return this.container.errorMonitor;\n }\n\n get _sizeProps() {\n const {\n aspectRatio,\n preset,\n draggable,\n _responsiveColumnsState: {\n gap,\n columnCount: responsiveColumnCount,\n itemsContentWidth: width,\n widthWithLastColumnGap,\n },\n layoutType,\n } = this;\n\n const columnCount = layoutType === 'list' ? 1 : responsiveColumnCount;\n\n const widthWithoutGaps = width - (columnCount - 1) * gap;\n const columnWidth = widthWithoutGaps / columnCount;\n\n const cardFooterSize = 'small' as const;\n\n const cardFooterHeight =\n this.footerHeights[preset][draggable][cardFooterSize];\n const cardTopImageHeight = columnWidth * aspectRatio;\n const rowHeight = cardTopImageHeight + cardFooterHeight + 1;\n\n const columnWidthIncludingGap = widthWithLastColumnGap / columnCount;\n const rowHeightIncludingGap = rowHeight + gap;\n\n return {\n columnCount,\n columnWidth: () => columnWidth,\n columnWidthIncludingGap: () => columnWidthIncludingGap,\n rowHeight: () => rowHeight,\n rowHeightFixed: rowHeight,\n cardTopImageHeight,\n rowHeightIncludingGap: () => rowHeightIncludingGap,\n cardFooterHeight,\n cardFooterSize,\n };\n }\n\n get calcGridProps() {\n const {\n toolbar: { itemsContentHeight },\n _sizeProps: { rowHeightFixed },\n } = this;\n\n const overscanCount = Math.round(\n (itemsContentHeight / rowHeightFixed) * 1.5,\n );\n\n return {\n ...this._sizeProps,\n overscanCount,\n };\n }\n\n get getCollectionSnapshot() {\n return this.toolbar.getCollectionSnapshot;\n }\n\n onAddItemClick = (origin?: string) => {\n this.toolbar.toolbarBIReporter.onAddItemClick(origin);\n };\n\n onAddItemActionComplete = async (items: T[]) => {\n return this.toolbar.onAddItemActionComplete(items);\n };\n\n get itemKeyRecyclerOverride() {\n const { collection } = this;\n const {\n result: { keyedItems },\n } = collection;\n return (index: number) => {\n return keyedItems[index]?.key ?? index;\n };\n }\n\n get dragAndDropCategories() {\n return this.toolbar.dragAndDropCategories;\n }\n\n get listAttributes() {\n return {\n ...this._dnd?.nullAnnouncements.listAttributes?.(),\n role: 'list',\n };\n }\n\n _subscribe() {\n const {\n parentState: { _subGrids },\n } = this;\n\n if (!_subGrids) {\n return;\n }\n\n _subGrids.push(this);\n\n return () => {\n const i = _subGrids.indexOf(this);\n i !== -1 && _subGrids.splice(i, 1);\n };\n }\n\n init() {\n return this._subscribe();\n }\n}\n"],"mappings":"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","ignoreList":[]}
@@ -8,18 +8,30 @@ var _bexCore = require("@wix/bex-core");
8
8
  var _bi = require("@wix/bex-core/bi");
9
9
  var _sortable = require("@wix/wix-style-react-incubator/dnd-kit/sortable");
10
10
  var _events = _interopRequireDefault(require("events"));
11
+ var _DragAndDrop = require("../components/DragAndDrop");
11
12
  class MultiLevelSortingStateDragAndDrop {
12
- constructor({
13
- multiLevelSortingState
14
- }) {
13
+ constructor(params) {
15
14
  (0, _defineProperty2.default)(this, "multiLevelSortingState", void 0);
16
15
  (0, _defineProperty2.default)(this, "multiLevelSortingActions", void 0);
16
+ (0, _defineProperty2.default)(this, "collectionDragAndDropState", null);
17
17
  (0, _defineProperty2.default)(this, "events", new _events.default());
18
+ const {
19
+ multiLevelSortingState
20
+ } = params;
18
21
  this.multiLevelSortingState = multiLevelSortingState;
19
22
  this.multiLevelSortingActions = new _bexCore.CollectionOptimisticActions({
20
23
  container: this.container,
21
24
  collection: this.collection
22
25
  });
26
+ this.collectionDragAndDropState = new _DragAndDrop.CollectionDragAndDropState({
27
+ state: this,
28
+ a11yContainer: params.modalsContainerRef,
29
+ container: this.multiLevelSortingState.container
30
+ });
31
+ }
32
+ get _dnd() {
33
+ var _this$collectionDragA;
34
+ return (_this$collectionDragA = this.collectionDragAndDropState) == null ? void 0 : _this$collectionDragA.dnd;
23
35
  }
24
36
  get reportBi() {
25
37
  return this.multiLevelSortingState.table.reportBi;
@@ -1 +1 @@
1
- {"version":3,"names":["_bexCore","require","_bi","_sortable","_events","_interopRequireDefault","MultiLevelSortingStateDragAndDrop","constructor","multiLevelSortingState","_defineProperty2","default","EventEmitter","multiLevelSortingActions","CollectionOptimisticActions","container","collection","reportBi","table","sortingCollection","_onSortReorder","fromColumnId","overColumnId","orderedSortableColumns","indexBefore","findIndex","columnId","indexAfter","newOrder","arrayMove","events","emit","replace","init","disposers","addEventListener","prevSortOrder","JSON","stringify","currentSortOrder","once","newSortOrder","numSortingColumns","length","withoutDefaults","cairoReorderingSortColumns","columnIndexBefore","columnIndexAfter","sortingColumn","forEach","disposer","exports"],"sources":["../../../src/state/MultiLevelSortingDragAndDrop.ts"],"sourcesContent":["import {\n CollectionOptimisticActions,\n FiltersMap,\n TypedEmitter,\n addEventListener,\n withoutDefaults,\n} from '@wix/bex-core';\nimport { cairoReorderingSortColumns } from '@wix/bex-core/bi';\nimport { arrayMove } from '@wix/wix-style-react-incubator/dnd-kit/sortable';\nimport EventEmitter from 'events';\nimport {\n MultiLevelSortingState,\n SortableColumn,\n} from './MultiLevelSortingState';\n\nexport interface MultiLevelSortingStateDragAndDropParams<\n T,\n F extends FiltersMap,\n> {\n readonly multiLevelSortingState: MultiLevelSortingState<T, F>;\n}\n\nexport class MultiLevelSortingStateDragAndDrop<T, F extends FiltersMap> {\n readonly multiLevelSortingState;\n readonly multiLevelSortingActions: CollectionOptimisticActions<\n SortableColumn,\n {}\n >;\n\n events = new EventEmitter() as TypedEmitter<{\n beforeReorder: () => unknown;\n afterReorder: (params: {\n indexBefore: number;\n indexAfter: number;\n columnId: string;\n }) => unknown;\n }>;\n\n constructor({\n multiLevelSortingState,\n }: MultiLevelSortingStateDragAndDropParams<T, F>) {\n this.multiLevelSortingState = multiLevelSortingState;\n this.multiLevelSortingActions = new CollectionOptimisticActions<\n SortableColumn,\n {}\n >({\n container: this.container,\n collection: this.collection,\n });\n }\n\n get reportBi() {\n return this.multiLevelSortingState.table.reportBi;\n }\n\n get container() {\n return this.multiLevelSortingState.container;\n }\n\n get collection() {\n return this.multiLevelSortingState.sortingCollection;\n }\n\n _onSortReorder(fromColumnId: string, overColumnId: string) {\n const { orderedSortableColumns } = this.multiLevelSortingState;\n\n const indexBefore = orderedSortableColumns.findIndex(\n ({ columnId }) => columnId === fromColumnId,\n );\n const indexAfter = orderedSortableColumns.findIndex(\n ({ columnId }) => columnId === overColumnId,\n );\n\n const newOrder = arrayMove(orderedSortableColumns, indexBefore, indexAfter);\n\n this.events.emit('beforeReorder');\n\n orderedSortableColumns.replace(newOrder);\n\n this.events.emit('afterReorder', {\n indexBefore,\n indexAfter,\n columnId: fromColumnId,\n });\n }\n\n init() {\n const { reportBi, events, multiLevelSortingState } = this;\n\n const disposers = [\n this.multiLevelSortingActions.init(),\n addEventListener(events, 'beforeReorder', () => {\n const prevSortOrder = JSON.stringify(\n multiLevelSortingState.currentSortOrder,\n );\n events.once('afterReorder', ({ indexBefore, indexAfter, columnId }) => {\n const newSortOrder = JSON.stringify(\n multiLevelSortingState.currentSortOrder,\n );\n const numSortingColumns =\n multiLevelSortingState.orderedSortableColumns.length;\n\n reportBi(\n withoutDefaults(cairoReorderingSortColumns)({\n columnIndexBefore: indexBefore,\n columnIndexAfter: indexAfter,\n numSortingColumns,\n sortingColumn: columnId,\n newSortOrder,\n prevSortOrder,\n }),\n );\n });\n }),\n ];\n\n return () => {\n disposers.forEach((disposer) => disposer?.());\n };\n }\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_bexCore","require","_bi","_sortable","_events","_interopRequireDefault","_DragAndDrop","MultiLevelSortingStateDragAndDrop","constructor","params","_defineProperty2","default","EventEmitter","multiLevelSortingState","multiLevelSortingActions","CollectionOptimisticActions","container","collection","collectionDragAndDropState","CollectionDragAndDropState","state","a11yContainer","modalsContainerRef","_dnd","_this$collectionDragA","dnd","reportBi","table","sortingCollection","_onSortReorder","fromColumnId","overColumnId","orderedSortableColumns","indexBefore","findIndex","columnId","indexAfter","newOrder","arrayMove","events","emit","replace","init","disposers","addEventListener","prevSortOrder","JSON","stringify","currentSortOrder","once","newSortOrder","numSortingColumns","length","withoutDefaults","cairoReorderingSortColumns","columnIndexBefore","columnIndexAfter","sortingColumn","forEach","disposer","exports"],"sources":["../../../src/state/MultiLevelSortingDragAndDrop.ts"],"sourcesContent":["import {\n CollectionOptimisticActions,\n FiltersMap,\n TypedEmitter,\n addEventListener,\n withoutDefaults,\n} from '@wix/bex-core';\nimport { cairoReorderingSortColumns } from '@wix/bex-core/bi';\nimport { arrayMove } from '@wix/wix-style-react-incubator/dnd-kit/sortable';\nimport EventEmitter from 'events';\nimport {\n MultiLevelSortingState,\n SortableColumn,\n} from './MultiLevelSortingState';\nimport { CollectionDragAndDropState } from '../components/DragAndDrop';\n\nexport interface MultiLevelSortingStateDragAndDropParams<\n T,\n F extends FiltersMap,\n> {\n readonly multiLevelSortingState: MultiLevelSortingState<T, F>;\n readonly modalsContainerRef: {\n current: HTMLElement | null | undefined;\n };\n}\n\nexport class MultiLevelSortingStateDragAndDrop<T, F extends FiltersMap> {\n readonly multiLevelSortingState;\n readonly multiLevelSortingActions: CollectionOptimisticActions<\n SortableColumn,\n {}\n >;\n\n readonly collectionDragAndDropState: CollectionDragAndDropState<\n SortableColumn,\n {}\n > | null = null;\n\n events = new EventEmitter() as TypedEmitter<{\n beforeReorder: () => unknown;\n afterReorder: (params: {\n indexBefore: number;\n indexAfter: number;\n columnId: string;\n }) => unknown;\n }>;\n\n constructor(params: MultiLevelSortingStateDragAndDropParams<T, F>) {\n const { multiLevelSortingState } = params;\n this.multiLevelSortingState = multiLevelSortingState;\n this.multiLevelSortingActions = new CollectionOptimisticActions<\n SortableColumn,\n {}\n >({\n container: this.container,\n collection: this.collection,\n });\n\n this.collectionDragAndDropState = new CollectionDragAndDropState({\n state: this,\n a11yContainer: params.modalsContainerRef,\n container: this.multiLevelSortingState.container,\n });\n }\n\n get _dnd() {\n return this.collectionDragAndDropState?.dnd;\n }\n\n get reportBi() {\n return this.multiLevelSortingState.table.reportBi;\n }\n\n get container() {\n return this.multiLevelSortingState.container;\n }\n\n get collection() {\n return this.multiLevelSortingState.sortingCollection;\n }\n\n _onSortReorder(fromColumnId: string, overColumnId: string) {\n const { orderedSortableColumns } = this.multiLevelSortingState;\n\n const indexBefore = orderedSortableColumns.findIndex(\n ({ columnId }) => columnId === fromColumnId,\n );\n const indexAfter = orderedSortableColumns.findIndex(\n ({ columnId }) => columnId === overColumnId,\n );\n\n const newOrder = arrayMove(orderedSortableColumns, indexBefore, indexAfter);\n\n this.events.emit('beforeReorder');\n\n orderedSortableColumns.replace(newOrder);\n\n this.events.emit('afterReorder', {\n indexBefore,\n indexAfter,\n columnId: fromColumnId,\n });\n }\n\n init() {\n const { reportBi, events, multiLevelSortingState } = this;\n\n const disposers = [\n this.multiLevelSortingActions.init(),\n addEventListener(events, 'beforeReorder', () => {\n const prevSortOrder = JSON.stringify(\n multiLevelSortingState.currentSortOrder,\n );\n events.once('afterReorder', ({ indexBefore, indexAfter, columnId }) => {\n const newSortOrder = JSON.stringify(\n multiLevelSortingState.currentSortOrder,\n );\n const numSortingColumns =\n multiLevelSortingState.orderedSortableColumns.length;\n\n reportBi(\n withoutDefaults(cairoReorderingSortColumns)({\n columnIndexBefore: indexBefore,\n columnIndexAfter: indexAfter,\n numSortingColumns,\n sortingColumn: columnId,\n newSortOrder,\n prevSortOrder,\n }),\n );\n });\n }),\n ];\n\n return () => {\n disposers.forEach((disposer) => disposer?.());\n };\n }\n}\n"],"mappings":"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","ignoreList":[]}
@@ -54,7 +54,8 @@ class MultiLevelSortingState {
54
54
  fetchErrorMessage: () => null
55
55
  });
56
56
  this.dragAndDrop = new _MultiLevelSortingDragAndDrop.MultiLevelSortingStateDragAndDrop({
57
- multiLevelSortingState: this
57
+ multiLevelSortingState: this,
58
+ modalsContainerRef: props.modalsContainerRef
58
59
  });
59
60
  (0, _mobx.makeObservable)(this, {
60
61
  hasAvailableSortingColumns: _mobx.computed,
@@ -1 +1 @@
1
- {"version":3,"names":["_mobx","require","_bexCore","_MultiLevelSortingDragAndDrop","_bi","_uuid","MultiLevelSortingState","constructor","props","_defineProperty2","default","observable","array","action","table","collection","query","orderedSortableColumns","clear","sort","value","column","sortableColumnsMap","get","field","addSort","order","direction","container","sortingCollection","CollectionState","events","queryName","environment","componentId","filter","Boolean","join","fetchData","items","filters","itemKey","item","key","itemName","String","name","fetchErrorMessage","dragAndDrop","MultiLevelSortingStateDragAndDrop","multiLevelSortingState","makeObservable","hasAvailableSortingColumns","computed","sortListSize","sortableColumns","availableColumns","removeSort","changeSortOrder","replaceSort","columns","sortable","Map","map","id","length","Set","every","orderedSortableColumn","columnId","sortableColumn","currentSortOrder","fieldName","reportBI","reportBi","getNextAvailableSortableColumn","has","toSortQuery","isDifferentFromSortState","sortStateValue","i","getAvailableOptions","title","manual","nextColumn","uuid","touchedColumnId","push","lastManuallyAddedColumnId","index","findIndex","splice","sortableColumnId","oldColumnId","newColumnId","emitter","emit","origin","setSortQuery","col","scheduleSort","clearResult","reportSidePanelOpen","withoutDefaults","cairoFiltersPanelUsed","JSON","stringify","numSortedColumns","isOpened","feature","reportSidePanelClose","init","onSortStateChange","disposers","reaction","refreshAllPages","addEventListener","forEach","disposer","exports"],"sources":["../../../src/state/MultiLevelSortingState.ts"],"sourcesContent":["import { action, computed, makeObservable, observable, reaction } from 'mobx';\nimport {\n addEventListener,\n WixPatternsContainer,\n CollectionState,\n FiltersMap,\n Sort,\n SortOrder,\n withoutDefaults,\n} from '@wix/bex-core';\nimport { ToolbarCollectionState } from './ToolbarCollectionState';\nimport { MultiLevelSortingStateDragAndDrop } from './MultiLevelSortingDragAndDrop';\nimport { Column } from '../model';\nimport type { ReactNode } from 'react';\nimport { cairoFiltersPanelUsed } from '@wix/bex-core/bi';\nimport { v4 as uuid } from 'uuid';\n\nexport interface SortableColumn {\n key: string;\n columnId: string;\n name: ReactNode;\n direction: SortOrder;\n}\n\nexport interface MultiLevelSortingStateParams<T, F extends FiltersMap> {\n readonly table: ToolbarCollectionState<T, F>;\n readonly container: WixPatternsContainer;\n}\n\nexport class MultiLevelSortingState<T, F extends FiltersMap> {\n table: ToolbarCollectionState<T, F>;\n container;\n sortingCollection;\n dragAndDrop;\n\n orderedSortableColumns = observable.array<SortableColumn>();\n\n touchedColumnId = '';\n lastManuallyAddedColumnId: string | null = null;\n\n constructor(props: MultiLevelSortingStateParams<T, F>) {\n this.table = props.table;\n this.container = props.container;\n\n this.sortingCollection = new CollectionState<SortableColumn>({\n ...this.container,\n events: {},\n queryName: [\n this.container.environment.componentId,\n this.table.collection.queryName,\n 'multiLevelSorting',\n ]\n .filter(Boolean)\n .join('/'),\n fetchData: async () => {\n return {\n items: this.orderedSortableColumns,\n };\n },\n filters: {},\n itemKey: (item) => item.key,\n itemName: (item) => String(item.name),\n fetchErrorMessage: () => null,\n });\n\n this.dragAndDrop = new MultiLevelSortingStateDragAndDrop({\n multiLevelSortingState: this,\n });\n\n makeObservable(this, {\n hasAvailableSortingColumns: computed,\n sortListSize: computed,\n sortableColumnsMap: computed,\n sortableColumns: computed,\n availableColumns: computed,\n addSort: action,\n removeSort: action,\n changeSortOrder: action,\n replaceSort: action,\n });\n }\n\n get sortableColumns() {\n return this.table.columns.filter((column) => column.sortable);\n }\n\n get sortableColumnsMap() {\n return new Map(this.sortableColumns.map((column) => [column.id, column]));\n }\n\n get hasAvailableSortingColumns() {\n return this.sortableColumns.length - this.orderedSortableColumns.length > 0;\n }\n\n get sortListSize() {\n return this.orderedSortableColumns.length;\n }\n\n get availableColumns() {\n const { orderedSortableColumns, sortableColumns } = this;\n\n return new Set(\n sortableColumns\n .filter((column) =>\n orderedSortableColumns.every(\n (orderedSortableColumn) =>\n orderedSortableColumn.columnId !== column.id,\n ),\n )\n .map((sortableColumn) => sortableColumn.id),\n );\n }\n\n get currentSortOrder() {\n return this.orderedSortableColumns.map(({ columnId, direction }) => ({\n fieldName: columnId,\n order: direction,\n }));\n }\n\n get reportBI() {\n return this.table.reportBi;\n }\n\n private getNextAvailableSortableColumn() {\n for (const column of this.sortableColumns) {\n if (this.availableColumns.has(column.id)) {\n return column;\n }\n }\n\n return null;\n }\n\n private toSortQuery(): Sort[] {\n return this.orderedSortableColumns.map(({ columnId, direction }) => ({\n field: columnId,\n direction,\n }));\n }\n\n private isDifferentFromSortState() {\n const {\n table: {\n collection: {\n query: {\n sort: { value: sortStateValue },\n },\n },\n },\n orderedSortableColumns,\n } = this;\n\n if (sortStateValue.length !== orderedSortableColumns.length) {\n return true;\n }\n\n for (let i = 0; i < orderedSortableColumns.length; i++) {\n if (\n sortStateValue[i].direction !== orderedSortableColumns[i].direction ||\n sortStateValue[i].field !== orderedSortableColumns[i].columnId\n ) {\n return true;\n }\n }\n\n return false;\n }\n\n getAvailableOptions(columnId: string) {\n return this.sortableColumns\n .filter((column) => {\n return column.id === columnId || this.availableColumns.has(column.id);\n })\n .map((column) => ({\n id: column.id,\n value:\n (typeof column.title === 'string' && column.title) ||\n column.name ||\n column.id,\n }));\n }\n\n addSort({\n column,\n order,\n manual = false,\n }: { column?: Column; order?: SortOrder; manual?: boolean } = {}) {\n const nextColumn = column ?? this.getNextAvailableSortableColumn();\n\n if (nextColumn) {\n const sortableColumn = {\n key: uuid(),\n columnId: nextColumn.id,\n name: nextColumn.title || nextColumn.name || nextColumn.id,\n direction: order ?? 'asc',\n };\n\n this.touchedColumnId = sortableColumn.columnId;\n this.orderedSortableColumns.push(sortableColumn);\n\n if (manual) {\n this.lastManuallyAddedColumnId = sortableColumn.columnId;\n }\n }\n }\n\n removeSort(columnId: string) {\n const index = this.orderedSortableColumns.findIndex(\n (sortableColumn) => sortableColumn.columnId === columnId,\n );\n\n if (index !== -1) {\n this.touchedColumnId = columnId;\n this.orderedSortableColumns.splice(index, 1);\n }\n }\n\n changeSortOrder(sortableColumnId: string, direction: SortOrder) {\n const { orderedSortableColumns } = this;\n\n const index = orderedSortableColumns.findIndex(\n ({ columnId }) => columnId === sortableColumnId,\n );\n\n if (index !== -1) {\n this.touchedColumnId = sortableColumnId;\n orderedSortableColumns[index].direction = direction;\n }\n }\n\n replaceSort(oldColumnId: string, newColumnId: string) {\n const { orderedSortableColumns } = this;\n\n const index = orderedSortableColumns.findIndex(\n ({ columnId }) => oldColumnId === columnId,\n );\n\n if (index !== -1) {\n this.touchedColumnId = newColumnId;\n orderedSortableColumns[index].columnId = newColumnId;\n orderedSortableColumns[index].name =\n this.sortableColumnsMap.get(newColumnId)!.name;\n }\n }\n\n onSortStateChange = action(() => {\n const {\n table: {\n collection: { query },\n },\n } = this;\n\n this.orderedSortableColumns.clear();\n\n for (const sort of query.sort.value) {\n const column = this.sortableColumnsMap.get(sort.field);\n\n if (column) {\n this.addSort({\n column,\n order: sort.direction,\n });\n }\n }\n });\n\n sort() {\n const { collection } = this.table;\n const { query, emitter } = collection;\n\n emitter.emit('beforeSortStart', {\n origin: 'SidePanel',\n });\n\n query.sort.setSortQuery(this.toSortQuery());\n\n emitter.emit('sortStart', {\n col: { id: this.touchedColumnId },\n });\n\n collection.scheduleSort({ clearResult: true });\n }\n\n reportSidePanelOpen() {\n this.reportBI(\n withoutDefaults(cairoFiltersPanelUsed)({\n currentSortOrder: JSON.stringify(this.currentSortOrder),\n numSortedColumns: this.sortListSize,\n isOpened: true,\n feature: 'Sort',\n origin: 'Sort CTA',\n }),\n );\n }\n\n reportSidePanelClose({\n origin = 'X Button',\n }: { origin?: 'X Button' | 'Sort CTA' } = {}) {\n this.reportBI(\n withoutDefaults(cairoFiltersPanelUsed)({\n currentSortOrder: JSON.stringify(this.currentSortOrder),\n numSortedColumns: this.sortListSize,\n isOpened: false,\n feature: 'Sort',\n origin,\n }),\n );\n }\n\n init() {\n const {\n table: {\n collection: { query },\n },\n sortingCollection,\n } = this;\n\n this.onSortStateChange();\n\n const disposers = [\n reaction(\n () => this.orderedSortableColumns.map((item) => ({ ...item })),\n () => {\n if (!this.isDifferentFromSortState()) {\n return;\n }\n\n sortingCollection.refreshAllPages();\n this.sort();\n },\n ),\n addEventListener(query.sort.events, 'change', this.onSortStateChange),\n this.sortingCollection.init(),\n this.dragAndDrop.init(),\n ];\n\n return () => {\n disposers.forEach((disposer) => disposer?.());\n };\n }\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_mobx","require","_bexCore","_MultiLevelSortingDragAndDrop","_bi","_uuid","MultiLevelSortingState","constructor","props","_defineProperty2","default","observable","array","action","table","collection","query","orderedSortableColumns","clear","sort","value","column","sortableColumnsMap","get","field","addSort","order","direction","container","sortingCollection","CollectionState","events","queryName","environment","componentId","filter","Boolean","join","fetchData","items","filters","itemKey","item","key","itemName","String","name","fetchErrorMessage","dragAndDrop","MultiLevelSortingStateDragAndDrop","multiLevelSortingState","modalsContainerRef","makeObservable","hasAvailableSortingColumns","computed","sortListSize","sortableColumns","availableColumns","removeSort","changeSortOrder","replaceSort","columns","sortable","Map","map","id","length","Set","every","orderedSortableColumn","columnId","sortableColumn","currentSortOrder","fieldName","reportBI","reportBi","getNextAvailableSortableColumn","has","toSortQuery","isDifferentFromSortState","sortStateValue","i","getAvailableOptions","title","manual","nextColumn","uuid","touchedColumnId","push","lastManuallyAddedColumnId","index","findIndex","splice","sortableColumnId","oldColumnId","newColumnId","emitter","emit","origin","setSortQuery","col","scheduleSort","clearResult","reportSidePanelOpen","withoutDefaults","cairoFiltersPanelUsed","JSON","stringify","numSortedColumns","isOpened","feature","reportSidePanelClose","init","onSortStateChange","disposers","reaction","refreshAllPages","addEventListener","forEach","disposer","exports"],"sources":["../../../src/state/MultiLevelSortingState.ts"],"sourcesContent":["import { action, computed, makeObservable, observable, reaction } from 'mobx';\nimport {\n addEventListener,\n CollectionState,\n FiltersMap,\n Sort,\n SortOrder,\n withoutDefaults,\n WixPatternsContainer,\n} from '@wix/bex-core';\nimport { ToolbarCollectionState } from './ToolbarCollectionState';\nimport { MultiLevelSortingStateDragAndDrop } from './MultiLevelSortingDragAndDrop';\nimport { Column } from '../model';\nimport type { ReactNode } from 'react';\nimport { cairoFiltersPanelUsed } from '@wix/bex-core/bi';\nimport { v4 as uuid } from 'uuid';\n\nexport interface SortableColumn {\n key: string;\n columnId: string;\n name: ReactNode;\n direction: SortOrder;\n}\n\nexport interface MultiLevelSortingStateParams<T, F extends FiltersMap> {\n readonly table: ToolbarCollectionState<T, F>;\n readonly container: WixPatternsContainer;\n readonly modalsContainerRef: {\n current: HTMLElement | null | undefined;\n };\n}\n\nexport class MultiLevelSortingState<T, F extends FiltersMap> {\n table: ToolbarCollectionState<T, F>;\n container;\n sortingCollection;\n dragAndDrop;\n\n orderedSortableColumns = observable.array<SortableColumn>();\n\n touchedColumnId = '';\n lastManuallyAddedColumnId: string | null = null;\n\n constructor(props: MultiLevelSortingStateParams<T, F>) {\n this.table = props.table;\n this.container = props.container;\n\n this.sortingCollection = new CollectionState<SortableColumn>({\n ...this.container,\n events: {},\n queryName: [\n this.container.environment.componentId,\n this.table.collection.queryName,\n 'multiLevelSorting',\n ]\n .filter(Boolean)\n .join('/'),\n fetchData: async () => {\n return {\n items: this.orderedSortableColumns,\n };\n },\n filters: {},\n itemKey: (item) => item.key,\n itemName: (item) => String(item.name),\n fetchErrorMessage: () => null,\n });\n\n this.dragAndDrop = new MultiLevelSortingStateDragAndDrop({\n multiLevelSortingState: this,\n modalsContainerRef: props.modalsContainerRef,\n });\n\n makeObservable(this, {\n hasAvailableSortingColumns: computed,\n sortListSize: computed,\n sortableColumnsMap: computed,\n sortableColumns: computed,\n availableColumns: computed,\n addSort: action,\n removeSort: action,\n changeSortOrder: action,\n replaceSort: action,\n });\n }\n\n get sortableColumns() {\n return this.table.columns.filter((column) => column.sortable);\n }\n\n get sortableColumnsMap() {\n return new Map(this.sortableColumns.map((column) => [column.id, column]));\n }\n\n get hasAvailableSortingColumns() {\n return this.sortableColumns.length - this.orderedSortableColumns.length > 0;\n }\n\n get sortListSize() {\n return this.orderedSortableColumns.length;\n }\n\n get availableColumns() {\n const { orderedSortableColumns, sortableColumns } = this;\n\n return new Set(\n sortableColumns\n .filter((column) =>\n orderedSortableColumns.every(\n (orderedSortableColumn) =>\n orderedSortableColumn.columnId !== column.id,\n ),\n )\n .map((sortableColumn) => sortableColumn.id),\n );\n }\n\n get currentSortOrder() {\n return this.orderedSortableColumns.map(({ columnId, direction }) => ({\n fieldName: columnId,\n order: direction,\n }));\n }\n\n get reportBI() {\n return this.table.reportBi;\n }\n\n private getNextAvailableSortableColumn() {\n for (const column of this.sortableColumns) {\n if (this.availableColumns.has(column.id)) {\n return column;\n }\n }\n\n return null;\n }\n\n private toSortQuery(): Sort[] {\n return this.orderedSortableColumns.map(({ columnId, direction }) => ({\n field: columnId,\n direction,\n }));\n }\n\n private isDifferentFromSortState() {\n const {\n table: {\n collection: {\n query: {\n sort: { value: sortStateValue },\n },\n },\n },\n orderedSortableColumns,\n } = this;\n\n if (sortStateValue.length !== orderedSortableColumns.length) {\n return true;\n }\n\n for (let i = 0; i < orderedSortableColumns.length; i++) {\n if (\n sortStateValue[i].direction !== orderedSortableColumns[i].direction ||\n sortStateValue[i].field !== orderedSortableColumns[i].columnId\n ) {\n return true;\n }\n }\n\n return false;\n }\n\n getAvailableOptions(columnId: string) {\n return this.sortableColumns\n .filter((column) => {\n return column.id === columnId || this.availableColumns.has(column.id);\n })\n .map((column) => ({\n id: column.id,\n value:\n (typeof column.title === 'string' && column.title) ||\n column.name ||\n column.id,\n }));\n }\n\n addSort({\n column,\n order,\n manual = false,\n }: { column?: Column; order?: SortOrder; manual?: boolean } = {}) {\n const nextColumn = column ?? this.getNextAvailableSortableColumn();\n\n if (nextColumn) {\n const sortableColumn = {\n key: uuid(),\n columnId: nextColumn.id,\n name: nextColumn.title || nextColumn.name || nextColumn.id,\n direction: order ?? 'asc',\n };\n\n this.touchedColumnId = sortableColumn.columnId;\n this.orderedSortableColumns.push(sortableColumn);\n\n if (manual) {\n this.lastManuallyAddedColumnId = sortableColumn.columnId;\n }\n }\n }\n\n removeSort(columnId: string) {\n const index = this.orderedSortableColumns.findIndex(\n (sortableColumn) => sortableColumn.columnId === columnId,\n );\n\n if (index !== -1) {\n this.touchedColumnId = columnId;\n this.orderedSortableColumns.splice(index, 1);\n }\n }\n\n changeSortOrder(sortableColumnId: string, direction: SortOrder) {\n const { orderedSortableColumns } = this;\n\n const index = orderedSortableColumns.findIndex(\n ({ columnId }) => columnId === sortableColumnId,\n );\n\n if (index !== -1) {\n this.touchedColumnId = sortableColumnId;\n orderedSortableColumns[index].direction = direction;\n }\n }\n\n replaceSort(oldColumnId: string, newColumnId: string) {\n const { orderedSortableColumns } = this;\n\n const index = orderedSortableColumns.findIndex(\n ({ columnId }) => oldColumnId === columnId,\n );\n\n if (index !== -1) {\n this.touchedColumnId = newColumnId;\n orderedSortableColumns[index].columnId = newColumnId;\n orderedSortableColumns[index].name =\n this.sortableColumnsMap.get(newColumnId)!.name;\n }\n }\n\n onSortStateChange = action(() => {\n const {\n table: {\n collection: { query },\n },\n } = this;\n\n this.orderedSortableColumns.clear();\n\n for (const sort of query.sort.value) {\n const column = this.sortableColumnsMap.get(sort.field);\n\n if (column) {\n this.addSort({\n column,\n order: sort.direction,\n });\n }\n }\n });\n\n sort() {\n const { collection } = this.table;\n const { query, emitter } = collection;\n\n emitter.emit('beforeSortStart', {\n origin: 'SidePanel',\n });\n\n query.sort.setSortQuery(this.toSortQuery());\n\n emitter.emit('sortStart', {\n col: { id: this.touchedColumnId },\n });\n\n collection.scheduleSort({ clearResult: true });\n }\n\n reportSidePanelOpen() {\n this.reportBI(\n withoutDefaults(cairoFiltersPanelUsed)({\n currentSortOrder: JSON.stringify(this.currentSortOrder),\n numSortedColumns: this.sortListSize,\n isOpened: true,\n feature: 'Sort',\n origin: 'Sort CTA',\n }),\n );\n }\n\n reportSidePanelClose({\n origin = 'X Button',\n }: { origin?: 'X Button' | 'Sort CTA' } = {}) {\n this.reportBI(\n withoutDefaults(cairoFiltersPanelUsed)({\n currentSortOrder: JSON.stringify(this.currentSortOrder),\n numSortedColumns: this.sortListSize,\n isOpened: false,\n feature: 'Sort',\n origin,\n }),\n );\n }\n\n init() {\n const {\n table: {\n collection: { query },\n },\n sortingCollection,\n } = this;\n\n this.onSortStateChange();\n\n const disposers = [\n reaction(\n () => this.orderedSortableColumns.map((item) => ({ ...item })),\n () => {\n if (!this.isDifferentFromSortState()) {\n return;\n }\n\n sortingCollection.refreshAllPages();\n this.sort();\n },\n ),\n addEventListener(query.sort.events, 'change', this.onSortStateChange),\n this.sortingCollection.init(),\n this.dragAndDrop.init(),\n ];\n\n return () => {\n disposers.forEach((disposer) => disposer?.());\n };\n }\n}\n"],"mappings":"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","ignoreList":[]}
@@ -18,6 +18,7 @@ class NestedTableNestedModeState {
18
18
  (0, _defineProperty2.default)(this, "virtual", void 0);
19
19
  (0, _defineProperty2.default)(this, "initTask", new _bexCore.TaskState());
20
20
  (0, _defineProperty2.default)(this, "root", void 0);
21
+ (0, _defineProperty2.default)(this, "nestedTableDragAndDrop", null);
21
22
  (0, _defineProperty2.default)(this, "getKeyedItem", key => this.root.getKeyedItem(key));
22
23
  (0, _defineProperty2.default)(this, "getKeyedItemByIndex", ind => this.root.getKeyedItemByIndex(ind));
23
24
  (0, _defineProperty2.default)(this, "retryErrorState", (0, _mobx.action)(() => {
@@ -1 +1 @@
1
- {"version":3,"names":["_bexCore","require","_NestedCollectionState","_TableVirtualState","_NestedTableNodeState","_mobx","NestedTableNestedModeState","constructor","params","_defineProperty2","default","TaskState","key","root","getKeyedItem","ind","getKeyedItemByIndex","action","initTask","status","isError","runOnce","wrapper","container","rootLevelDescriptor","levels","Error","nestedCollection","NestedCollectionState","query","nodeCollection","rootNodeCollection","NestedTableNodeState","nestedTable","node","levelDescriptor","parentNode","parent","reportBi","virtual","TableVirtualState","table","multi","toolbar","tableState","total","originQuery","collection","keyedItems","_keyedItemsMap","expandAll","isFetchAllAborted","showEmptyState","hasAvailableItems","resultOriginQuerySearch","hasNonPersistentActiveFilters","showErrorState","showLoadingState","isLoading","errorStatus","init","disposers","skipCollectionInit","promise","forEach","d","exports"],"sources":["../../../../src/state/NestedTableState/NestedTableNestedModeState.ts"],"sourcesContent":["import { ReportBI, TaskState } from '@wix/bex-core';\n\nimport { NestedCollectionState } from './NestedCollectionState';\nimport { TableVirtualState } from '../TableVirtualState';\nimport { NestedTableNodeState } from './NestedTableNodeState';\nimport { action } from 'mobx';\nimport { NestedTableState } from './NestedTableState';\n\nexport interface NestedTableNestedModeStateBaseParams {}\n\nexport interface NestedTableNestedModeStateParams<C extends string>\n extends NestedTableNestedModeStateBaseParams {\n wrapper: NestedTableState<C>;\n reportBi: ReportBI;\n}\n\nexport class NestedTableNestedModeState<C extends string = string> {\n readonly wrapper;\n readonly container;\n readonly reportBi: ReportBI;\n readonly nestedCollection: NestedCollectionState;\n readonly virtual;\n\n readonly initTask = new TaskState();\n\n readonly root: NestedTableNodeState<C, any, any>;\n\n constructor(params: NestedTableNestedModeStateParams<C>) {\n const { wrapper } = params;\n this.wrapper = wrapper;\n this.container = wrapper.container;\n\n const rootLevelDescriptor = this.wrapper.levels[0];\n\n if (rootLevelDescriptor == null) {\n throw new Error('NestedTableState must have at least one level');\n }\n\n this.nestedCollection = new NestedCollectionState({\n container: this.container,\n levels: wrapper.levels,\n query: wrapper.query,\n nodeCollection: wrapper.rootNodeCollection,\n });\n\n this.root = new NestedTableNodeState({\n nestedTable: this,\n node: this.nestedCollection.root,\n levelDescriptor: rootLevelDescriptor,\n parentNode: null,\n parent: null,\n });\n\n this.reportBi = params.reportBi;\n\n this.virtual = new TableVirtualState({\n table: this,\n });\n }\n\n get multi() {\n return this.toolbar.multi;\n }\n\n get tableState() {\n return this.wrapper.tableState;\n }\n\n get toolbar() {\n return this.wrapper.toolbar;\n }\n\n get total() {\n return this.nestedCollection.total;\n }\n\n get originQuery() {\n return this.toolbar.collection.originQuery;\n }\n\n get keyedItems() {\n return this.root.keyedItems;\n }\n\n get _keyedItemsMap() {\n return this.root._keyedItemsMap;\n }\n\n getKeyedItem = (key: string) => this.root.getKeyedItem(key);\n\n getKeyedItemByIndex = (ind: number) => this.root.getKeyedItemByIndex(ind);\n\n get expandAll() {\n return this.nestedCollection.expandAll;\n }\n\n get isFetchAllAborted() {\n return this.nestedCollection.isFetchAllAborted;\n }\n\n get showEmptyState() {\n return this.toolbar.multi.showEmptyState;\n }\n\n get hasAvailableItems() {\n return this.toolbar.multi.hasAvailableItems;\n }\n\n get resultOriginQuerySearch() {\n return this.toolbar.multi.resultOriginQuerySearch;\n }\n\n get hasNonPersistentActiveFilters() {\n return this.toolbar.multi.hasNonPersistentActiveFilters;\n }\n\n get showErrorState() {\n const { initTask } = this;\n return initTask.status.isError;\n }\n\n get showLoadingState() {\n return this.initTask.status.isLoading;\n }\n\n retryErrorState = action(() => {\n const { initTask } = this;\n\n if (initTask.status.isError) {\n initTask.runOnce();\n }\n });\n\n get errorStatus() {\n const { initTask } = this;\n return initTask.errorStatus;\n }\n\n get query() {\n return this.wrapper.query;\n }\n\n get levels() {\n return this.wrapper.levels;\n }\n\n init() {\n const { initTask, wrapper, root } = this;\n\n const disposers = [\n wrapper.init(),\n root.init({ skipCollectionInit: true }), // collection is initialized by toolbar state\n ];\n\n initTask.runOnce(async () => {\n wrapper.initTask.runOnce();\n root.initTask.runOnce();\n\n await root.initTask.status.promise;\n await wrapper.initTask.status.promise;\n });\n\n return () => {\n disposers.forEach((d) => d());\n };\n }\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_bexCore","require","_NestedCollectionState","_TableVirtualState","_NestedTableNodeState","_mobx","NestedTableNestedModeState","constructor","params","_defineProperty2","default","TaskState","key","root","getKeyedItem","ind","getKeyedItemByIndex","action","initTask","status","isError","runOnce","wrapper","container","rootLevelDescriptor","levels","Error","nestedCollection","NestedCollectionState","query","nodeCollection","rootNodeCollection","NestedTableNodeState","nestedTable","node","levelDescriptor","parentNode","parent","reportBi","virtual","TableVirtualState","table","multi","toolbar","tableState","total","originQuery","collection","keyedItems","_keyedItemsMap","expandAll","isFetchAllAborted","showEmptyState","hasAvailableItems","resultOriginQuerySearch","hasNonPersistentActiveFilters","showErrorState","showLoadingState","isLoading","errorStatus","init","disposers","skipCollectionInit","promise","forEach","d","exports"],"sources":["../../../../src/state/NestedTableState/NestedTableNestedModeState.ts"],"sourcesContent":["import { ReportBI, TaskState } from '@wix/bex-core';\n\nimport { NestedCollectionState } from './NestedCollectionState';\nimport { TableVirtualState } from '../TableVirtualState';\nimport { NestedTableNodeState } from './NestedTableNodeState';\nimport { action } from 'mobx';\nimport { NestedTableState } from './NestedTableState';\nimport { NestedTableDragAndDropState } from '../../components/NestedTableDragAndDrop/NestedTableDragAndDropState';\n\nexport interface NestedTableNestedModeStateBaseParams {}\n\nexport interface NestedTableNestedModeStateParams<C extends string>\n extends NestedTableNestedModeStateBaseParams {\n wrapper: NestedTableState<C>;\n reportBi: ReportBI;\n}\n\nexport class NestedTableNestedModeState<C extends string = string> {\n readonly wrapper;\n readonly container;\n readonly reportBi: ReportBI;\n readonly nestedCollection: NestedCollectionState;\n readonly virtual;\n\n readonly initTask = new TaskState();\n\n readonly root: NestedTableNodeState<C, any, any>;\n\n nestedTableDragAndDrop: NestedTableDragAndDropState<C> | null = null;\n\n constructor(params: NestedTableNestedModeStateParams<C>) {\n const { wrapper } = params;\n this.wrapper = wrapper;\n this.container = wrapper.container;\n\n const rootLevelDescriptor = this.wrapper.levels[0];\n\n if (rootLevelDescriptor == null) {\n throw new Error('NestedTableState must have at least one level');\n }\n\n this.nestedCollection = new NestedCollectionState({\n container: this.container,\n levels: wrapper.levels,\n query: wrapper.query,\n nodeCollection: wrapper.rootNodeCollection,\n });\n\n this.root = new NestedTableNodeState({\n nestedTable: this,\n node: this.nestedCollection.root,\n levelDescriptor: rootLevelDescriptor,\n parentNode: null,\n parent: null,\n });\n\n this.reportBi = params.reportBi;\n\n this.virtual = new TableVirtualState({\n table: this,\n });\n }\n\n get multi() {\n return this.toolbar.multi;\n }\n\n get tableState() {\n return this.wrapper.tableState;\n }\n\n get toolbar() {\n return this.wrapper.toolbar;\n }\n\n get total() {\n return this.nestedCollection.total;\n }\n\n get originQuery() {\n return this.toolbar.collection.originQuery;\n }\n\n get keyedItems() {\n return this.root.keyedItems;\n }\n\n get _keyedItemsMap() {\n return this.root._keyedItemsMap;\n }\n\n getKeyedItem = (key: string) => this.root.getKeyedItem(key);\n\n getKeyedItemByIndex = (ind: number) => this.root.getKeyedItemByIndex(ind);\n\n get expandAll() {\n return this.nestedCollection.expandAll;\n }\n\n get isFetchAllAborted() {\n return this.nestedCollection.isFetchAllAborted;\n }\n\n get showEmptyState() {\n return this.toolbar.multi.showEmptyState;\n }\n\n get hasAvailableItems() {\n return this.toolbar.multi.hasAvailableItems;\n }\n\n get resultOriginQuerySearch() {\n return this.toolbar.multi.resultOriginQuerySearch;\n }\n\n get hasNonPersistentActiveFilters() {\n return this.toolbar.multi.hasNonPersistentActiveFilters;\n }\n\n get showErrorState() {\n const { initTask } = this;\n return initTask.status.isError;\n }\n\n get showLoadingState() {\n return this.initTask.status.isLoading;\n }\n\n retryErrorState = action(() => {\n const { initTask } = this;\n\n if (initTask.status.isError) {\n initTask.runOnce();\n }\n });\n\n get errorStatus() {\n const { initTask } = this;\n return initTask.errorStatus;\n }\n\n get query() {\n return this.wrapper.query;\n }\n\n get levels() {\n return this.wrapper.levels;\n }\n\n init() {\n const { initTask, wrapper, root } = this;\n\n const disposers = [\n wrapper.init(),\n root.init({ skipCollectionInit: true }), // collection is initialized by toolbar state\n ];\n\n initTask.runOnce(async () => {\n wrapper.initTask.runOnce();\n root.initTask.runOnce();\n\n await root.initTask.status.promise;\n await wrapper.initTask.status.promise;\n });\n\n return () => {\n disposers.forEach((d) => d());\n };\n }\n}\n"],"mappings":"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","ignoreList":[]}
@@ -5,14 +5,12 @@ exports.__esModule = true;
5
5
  exports.TableState = void 0;
6
6
  var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
7
7
  var _ToolbarCollectionState = require("./ToolbarCollectionState");
8
- var _mobx = require("mobx");
9
8
  var _TableVirtualState = require("./TableVirtualState");
10
9
  class TableState {
11
10
  constructor(params) {
12
11
  (0, _defineProperty2.default)(this, "toolbar", void 0);
13
12
  (0, _defineProperty2.default)(this, "virtual", void 0);
14
13
  (0, _defineProperty2.default)(this, "tableDragAndDropState", null);
15
- (0, _defineProperty2.default)(this, "tableDragAndDropStateInitialized", false);
16
14
  (0, _defineProperty2.default)(this, "retryErrorState", () => this.toolbar.retryErrorState());
17
15
  (0, _defineProperty2.default)(this, "onAddItemActionComplete", async items => {
18
16
  return this.toolbar.onAddItemActionComplete(items);
@@ -25,9 +23,6 @@ class TableState {
25
23
  this.virtual = new _TableVirtualState.TableVirtualState({
26
24
  table: this
27
25
  });
28
- (0, _mobx.makeObservable)(this, {
29
- tableDragAndDropStateInitialized: _mobx.observable.ref
30
- });
31
26
  }
32
27
 
33
28
  // backwards compat
@@ -62,7 +57,6 @@ class TableState {
62
57
  }
63
58
  const {
64
59
  tableDragAndDropState,
65
- tableDragAndDropStateInitialized,
66
60
  toolbar
67
61
  } = this;
68
62
  const {
@@ -83,14 +77,13 @@ class TableState {
83
77
  stickyColumns
84
78
  });
85
79
  }
86
- const dragAndDropIsEffective = tableDragAndDropState && tableDragAndDropStateInitialized;
87
- if (dragAndDropIsEffective) {
80
+ if (tableDragAndDropState) {
88
81
  stickyColumns = tableDragAndDropState.getStickyColumnsCount({
89
82
  ...params,
90
83
  stickyColumns
91
84
  });
92
85
  }
93
- const checkboxColumnStickyCompat = reorderDisabledColumnsIsEffective || stickySelectionColumn || dragAndDropIsEffective;
86
+ const checkboxColumnStickyCompat = reorderDisabledColumnsIsEffective || stickySelectionColumn || tableDragAndDropState != null;
94
87
  if (showSelection && checkboxColumnStickyCompat) {
95
88
  stickyColumns += 1;
96
89
  }
@@ -1 +1 @@
1
- {"version":3,"names":["_ToolbarCollectionState","require","_mobx","_TableVirtualState","TableState","constructor","params","_defineProperty2","default","toolbar","retryErrorState","items","onAddItemActionComplete","ToolbarCollectionState","collection","container","componentType","virtual","TableVirtualState","table","makeObservable","tableDragAndDropStateInitialized","observable","ref","tableState","itemsContentWidth","itemsContentRect","rect","width","itemsToRenderCount","result","size","init","keyedItems","getStickyColumnsCount","_customColumnsState$d","horizontalScroll","stickyColumns","tableDragAndDropState","customColumnsState","customColumnsProps","customColumnsStateInitialized","stickySelectionColumn","showSelection","customColumnsIsEffective","reorderDisabledColumnsIsEffective","dragAndDrop","orderedColumnsByReorderDisabled","reorderDisabled","length","dragAndDropIsEffective","checkboxColumnStickyCompat","showEmptyState","multi","hasAvailableItems","resultOriginQuerySearch","hasNonPersistentActiveFilters","showErrorState","errorStatus","showLoadingState","initTask","status","isIdle","isLoading","exports"],"sources":["../../../src/state/TableState.ts"],"sourcesContent":["import {\n WixPatternsContainer,\n CollectionState,\n FiltersMap,\n} from '@wix/bex-core';\nimport {\n ToolbarCollectionState,\n ToolbarCollectionStateParamsInitParams,\n} from './ToolbarCollectionState';\nimport { makeObservable, observable } from 'mobx';\nimport { TableVirtualState } from './TableVirtualState';\nimport { DragAndDropState } from '../components/DragAndDrop';\nimport { ICollectionComponentState } from './ICollectionComponentState';\n\nexport interface TableStateParams<T, F extends FiltersMap> {\n readonly collection: CollectionState<T, F>;\n readonly container: WixPatternsContainer;\n readonly toolbar?: ToolbarCollectionState<T, F>;\n}\n\ninterface TableDragAndDropStateBase<T, F extends FiltersMap> {\n getStickyColumnsCount: (params: { stickyColumns: number }) => number;\n init: (params: { a11yContainer?: HTMLElement | null | undefined }) => void;\n dragAndDrop: {\n dnd: DragAndDropState<T, F>;\n };\n}\n\nexport interface TableStateInitParams\n extends ToolbarCollectionStateParamsInitParams {\n hasMultiLevelSorting?: boolean;\n}\n\nexport class TableState<T, F extends FiltersMap>\n implements ICollectionComponentState<T>\n{\n readonly toolbar;\n readonly virtual;\n\n tableDragAndDropState: TableDragAndDropStateBase<T, F> | null = null;\n tableDragAndDropStateInitialized = false;\n\n constructor(params: TableStateParams<T, F>) {\n this.toolbar =\n params.toolbar ??\n new ToolbarCollectionState({\n collection: params.collection,\n container: params.container,\n componentType: 'Table',\n });\n\n this.virtual = new TableVirtualState({\n table: this,\n });\n\n makeObservable(this, {\n tableDragAndDropStateInitialized: observable.ref,\n });\n }\n\n // backwards compat\n get table() {\n return this.toolbar;\n }\n\n get collection() {\n return this.table.collection;\n }\n\n get tableState() {\n return this;\n }\n\n get itemsContentWidth() {\n return this.toolbar.itemsContentRect.rect.width ?? 0;\n }\n\n get itemsToRenderCount() {\n return this.collection.result.size;\n }\n\n init(params: TableStateInitParams) {\n return this.table.init(params);\n }\n\n get keyedItems() {\n return this.collection.result.keyedItems;\n }\n\n getStickyColumnsCount(params: {\n stickyColumns?: number;\n horizontalScroll?: boolean;\n showSelection?: boolean;\n stickySelectionColumn?: boolean;\n }) {\n const { horizontalScroll } = params;\n\n if (!horizontalScroll) {\n return params.stickyColumns;\n }\n\n const { tableDragAndDropState, tableDragAndDropStateInitialized, toolbar } =\n this;\n\n const {\n customColumnsState,\n customColumnsProps,\n customColumnsStateInitialized,\n } = toolbar;\n\n const { stickySelectionColumn, showSelection } = params;\n\n let stickyColumns = params.stickyColumns ?? 0;\n\n const customColumnsIsEffective =\n customColumnsProps && customColumnsState && customColumnsStateInitialized;\n\n const reorderDisabledColumnsIsEffective =\n !!customColumnsState?.dragAndDrop?.orderedColumnsByReorderDisabled\n .reorderDisabled?.length;\n\n if (customColumnsIsEffective) {\n stickyColumns = customColumnsState.getStickyColumnsCount({\n ...params,\n stickyColumns,\n });\n }\n\n const dragAndDropIsEffective =\n tableDragAndDropState && tableDragAndDropStateInitialized;\n if (dragAndDropIsEffective) {\n stickyColumns = tableDragAndDropState.getStickyColumnsCount({\n ...params,\n stickyColumns,\n });\n }\n\n const checkboxColumnStickyCompat =\n reorderDisabledColumnsIsEffective ||\n stickySelectionColumn ||\n dragAndDropIsEffective;\n\n if (showSelection && checkboxColumnStickyCompat) {\n stickyColumns += 1;\n }\n\n return stickyColumns;\n }\n\n get showEmptyState() {\n return this.toolbar.multi.showEmptyState;\n }\n\n get hasAvailableItems() {\n return this.toolbar.multi.hasAvailableItems;\n }\n\n get resultOriginQuerySearch() {\n return this.toolbar.multi.resultOriginQuerySearch;\n }\n\n get hasNonPersistentActiveFilters() {\n return this.toolbar.multi.hasNonPersistentActiveFilters;\n }\n\n get showErrorState() {\n return this.toolbar.multi.showErrorState;\n }\n\n get errorStatus() {\n return this.toolbar.multi.errorStatus;\n }\n\n get showLoadingState() {\n const { initTask, toolbar } = this;\n return (\n initTask.status.isIdle ||\n initTask.status.isLoading ||\n toolbar.multi.showLoadingState\n );\n }\n\n get initTask() {\n return this.toolbar.initTask;\n }\n\n retryErrorState = () => this.toolbar.retryErrorState();\n\n onAddItemActionComplete = async (items: T[]) => {\n return this.toolbar.onAddItemActionComplete(items);\n };\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_ToolbarCollectionState","require","_TableVirtualState","TableState","constructor","params","_defineProperty2","default","toolbar","retryErrorState","items","onAddItemActionComplete","ToolbarCollectionState","collection","container","componentType","virtual","TableVirtualState","table","tableState","itemsContentWidth","itemsContentRect","rect","width","itemsToRenderCount","result","size","init","keyedItems","getStickyColumnsCount","_customColumnsState$d","horizontalScroll","stickyColumns","tableDragAndDropState","customColumnsState","customColumnsProps","customColumnsStateInitialized","stickySelectionColumn","showSelection","customColumnsIsEffective","reorderDisabledColumnsIsEffective","dragAndDrop","orderedColumnsByReorderDisabled","reorderDisabled","length","checkboxColumnStickyCompat","showEmptyState","multi","hasAvailableItems","resultOriginQuerySearch","hasNonPersistentActiveFilters","showErrorState","errorStatus","showLoadingState","initTask","status","isIdle","isLoading","exports"],"sources":["../../../src/state/TableState.ts"],"sourcesContent":["import {\n CollectionState,\n FiltersMap,\n WixPatternsContainer,\n} from '@wix/bex-core';\nimport {\n ToolbarCollectionState,\n ToolbarCollectionStateParamsInitParams,\n} from './ToolbarCollectionState';\nimport { TableVirtualState } from './TableVirtualState';\nimport { DragAndDropState } from '../components/DragAndDrop';\nimport { ICollectionComponentState } from './ICollectionComponentState';\n\nexport interface TableStateParams<T, F extends FiltersMap> {\n readonly collection: CollectionState<T, F>;\n readonly container: WixPatternsContainer;\n readonly toolbar?: ToolbarCollectionState<T, F>;\n}\n\ninterface TableDragAndDropStateBase<T, F extends FiltersMap> {\n getStickyColumnsCount: (params: { stickyColumns: number }) => number;\n init: () => void;\n dnd: DragAndDropState<T, F>;\n}\n\nexport interface TableStateInitParams\n extends ToolbarCollectionStateParamsInitParams {\n hasMultiLevelSorting?: boolean;\n}\n\nexport class TableState<T, F extends FiltersMap>\n implements ICollectionComponentState<T>\n{\n readonly toolbar;\n readonly virtual;\n\n tableDragAndDropState: TableDragAndDropStateBase<T, F> | null = null;\n\n constructor(params: TableStateParams<T, F>) {\n this.toolbar =\n params.toolbar ??\n new ToolbarCollectionState({\n collection: params.collection,\n container: params.container,\n componentType: 'Table',\n });\n\n this.virtual = new TableVirtualState({\n table: this,\n });\n }\n\n // backwards compat\n get table() {\n return this.toolbar;\n }\n\n get collection() {\n return this.table.collection;\n }\n\n get tableState() {\n return this;\n }\n\n get itemsContentWidth() {\n return this.toolbar.itemsContentRect.rect.width ?? 0;\n }\n\n get itemsToRenderCount() {\n return this.collection.result.size;\n }\n\n init(params: TableStateInitParams) {\n return this.table.init(params);\n }\n\n get keyedItems() {\n return this.collection.result.keyedItems;\n }\n\n getStickyColumnsCount(params: {\n stickyColumns?: number;\n horizontalScroll?: boolean;\n showSelection?: boolean;\n stickySelectionColumn?: boolean;\n }) {\n const { horizontalScroll } = params;\n\n if (!horizontalScroll) {\n return params.stickyColumns;\n }\n\n const { tableDragAndDropState, toolbar } = this;\n\n const {\n customColumnsState,\n customColumnsProps,\n customColumnsStateInitialized,\n } = toolbar;\n\n const { stickySelectionColumn, showSelection } = params;\n\n let stickyColumns = params.stickyColumns ?? 0;\n\n const customColumnsIsEffective =\n customColumnsProps && customColumnsState && customColumnsStateInitialized;\n\n const reorderDisabledColumnsIsEffective =\n !!customColumnsState?.dragAndDrop?.orderedColumnsByReorderDisabled\n .reorderDisabled?.length;\n\n if (customColumnsIsEffective) {\n stickyColumns = customColumnsState.getStickyColumnsCount({\n ...params,\n stickyColumns,\n });\n }\n\n if (tableDragAndDropState) {\n stickyColumns = tableDragAndDropState.getStickyColumnsCount({\n ...params,\n stickyColumns,\n });\n }\n\n const checkboxColumnStickyCompat =\n reorderDisabledColumnsIsEffective ||\n stickySelectionColumn ||\n tableDragAndDropState != null;\n\n if (showSelection && checkboxColumnStickyCompat) {\n stickyColumns += 1;\n }\n\n return stickyColumns;\n }\n\n get showEmptyState() {\n return this.toolbar.multi.showEmptyState;\n }\n\n get hasAvailableItems() {\n return this.toolbar.multi.hasAvailableItems;\n }\n\n get resultOriginQuerySearch() {\n return this.toolbar.multi.resultOriginQuerySearch;\n }\n\n get hasNonPersistentActiveFilters() {\n return this.toolbar.multi.hasNonPersistentActiveFilters;\n }\n\n get showErrorState() {\n return this.toolbar.multi.showErrorState;\n }\n\n get errorStatus() {\n return this.toolbar.multi.errorStatus;\n }\n\n get showLoadingState() {\n const { initTask, toolbar } = this;\n return (\n initTask.status.isIdle ||\n initTask.status.isLoading ||\n toolbar.multi.showLoadingState\n );\n }\n\n get initTask() {\n return this.toolbar.initTask;\n }\n\n retryErrorState = () => this.toolbar.retryErrorState();\n\n onAddItemActionComplete = async (items: T[]) => {\n return this.toolbar.onAddItemActionComplete(items);\n };\n}\n"],"mappings":"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","ignoreList":[]}