@wix/patterns 1.13.0 → 1.15.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 (403) 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/SingleSelectFilterBase/SingleSelectFilterBase.js +1 -0
  84. package/dist/cjs/components/SingleSelectFilterBase/SingleSelectFilterBase.js.map +1 -1
  85. package/dist/cjs/components/SkeletonCard/SkeletonCard.st.css.js +3 -3
  86. package/dist/cjs/components/SkeletonCard/SkeletonCard.st.css.js.map +1 -1
  87. package/dist/cjs/components/SlidingModal/SlidingModal.st.css.js +2 -2
  88. package/dist/cjs/components/SlidingModal/SlidingModal.st.css.js.map +1 -1
  89. package/dist/cjs/components/Table/TableVirtual.st.css.js +3 -3
  90. package/dist/cjs/components/Table/TableVirtual.st.css.js.map +1 -1
  91. package/dist/cjs/components/Table/useTableSyncProps.js +11 -0
  92. package/dist/cjs/components/Table/useTableSyncProps.js.map +1 -1
  93. package/dist/cjs/components/TableDragAndDrop.js +15 -2
  94. package/dist/cjs/components/TableDragAndDrop.js.map +1 -1
  95. package/dist/cjs/components/{CollectionTableDragAndDropContext/CollectionTableDragAndDropContext.js → TableDragAndDropContext/TableDragAndDropContext.js} +13 -23
  96. package/dist/cjs/components/TableDragAndDropContext/TableDragAndDropContext.js.map +1 -0
  97. package/dist/cjs/components/TableDragAndDropContext/index.js +8 -0
  98. package/dist/cjs/components/TableDragAndDropContext/index.js.map +1 -0
  99. package/dist/cjs/components/TabsFilter/TabsFilter.st.css.js +3 -3
  100. package/dist/cjs/components/TabsFilter/TabsFilter.st.css.js.map +1 -1
  101. package/dist/cjs/components/Tags/ManageTags/ManageTagsModal/ManageTagsModal.st.css.js +2 -2
  102. package/dist/cjs/components/Tags/ManageTags/ManageTagsModal/ManageTagsModal.st.css.js.map +1 -1
  103. package/dist/cjs/components/ToolbarItemBox/ToolbarItemBox.st.css.js +2 -2
  104. package/dist/cjs/components/ToolbarItemBox/ToolbarItemBox.st.css.js.map +1 -1
  105. package/dist/cjs/components/common.st.css.js +4 -4
  106. package/dist/cjs/components/common.st.css.js.map +1 -1
  107. package/dist/cjs/hooks/useColumnsSyncProps.js +10 -2
  108. package/dist/cjs/hooks/useColumnsSyncProps.js.map +1 -1
  109. package/dist/cjs/hooks/useOptionalCachedState.js +22 -0
  110. package/dist/cjs/hooks/useOptionalCachedState.js.map +1 -0
  111. package/dist/cjs/hooks/useTableCollection.js +6 -14
  112. package/dist/cjs/hooks/useTableCollection.js.map +1 -1
  113. package/dist/cjs/index.js +1 -1
  114. package/dist/cjs/index.js.map +1 -1
  115. package/dist/cjs/state/CustomColumnsDragAndDropState.js +16 -6
  116. package/dist/cjs/state/CustomColumnsDragAndDropState.js.map +1 -1
  117. package/dist/cjs/state/CustomColumnsState.js +2 -1
  118. package/dist/cjs/state/CustomColumnsState.js.map +1 -1
  119. package/dist/cjs/state/GridBaseState.js +6 -2
  120. package/dist/cjs/state/GridBaseState.js.map +1 -1
  121. package/dist/cjs/state/GridFoldersState.js.map +1 -1
  122. package/dist/cjs/state/GridState.js.map +1 -1
  123. package/dist/cjs/state/ICollectionComponentState.js.map +1 -1
  124. package/dist/cjs/state/MultiLevelSortingDragAndDrop.js +15 -3
  125. package/dist/cjs/state/MultiLevelSortingDragAndDrop.js.map +1 -1
  126. package/dist/cjs/state/MultiLevelSortingState.js +2 -1
  127. package/dist/cjs/state/MultiLevelSortingState.js.map +1 -1
  128. package/dist/cjs/state/NestedTableState/NestedTableNestedModeState.js +1 -0
  129. package/dist/cjs/state/NestedTableState/NestedTableNestedModeState.js.map +1 -1
  130. package/dist/cjs/state/NestedTableState/NestedTableState.js.map +1 -1
  131. package/dist/cjs/state/TableFoldersState.js.map +1 -1
  132. package/dist/cjs/state/TableGridSwitchFoldersState.js.map +1 -1
  133. package/dist/cjs/state/TableGridSwitchState.js.map +1 -1
  134. package/dist/cjs/state/TableState.js +2 -9
  135. package/dist/cjs/state/TableState.js.map +1 -1
  136. package/dist/cjs/state/ToolbarCollectionState.js +0 -1
  137. package/dist/cjs/state/ToolbarCollectionState.js.map +1 -1
  138. package/dist/cjs/state/WixPatternsRouterState.js +3 -1
  139. package/dist/cjs/state/WixPatternsRouterState.js.map +1 -1
  140. package/dist/cjs/state/initCustomColumns.js +8 -2
  141. package/dist/cjs/state/initCustomColumns.js.map +1 -1
  142. package/dist/cjs/styles.global.css +1 -1
  143. package/dist/cjs/utils/getCollectionComponentUniqueId.js +9 -0
  144. package/dist/cjs/utils/getCollectionComponentUniqueId.js.map +1 -0
  145. package/dist/cjs/version.js +1 -1
  146. package/dist/cjs/version.js.map +1 -1
  147. package/dist/esm/components/Collapse/Collapse.st.css.js +2 -2
  148. package/dist/esm/components/CollectionTable/CollectionTable.js +2 -2
  149. package/dist/esm/components/CollectionTable/CollectionTable.js.map +1 -1
  150. package/dist/esm/components/CollectionToolbar/CollectionToolbar.st.css.js +2 -2
  151. package/dist/esm/components/CollectionToolbar/SearchOrCustomFilter.st.css.js +2 -2
  152. package/dist/esm/components/CollectionViewsDropdown/AutoCompleteReadonly.st.css.js +2 -2
  153. package/dist/esm/components/CollectionViewsDropdown/AutoCompleteReadonly.st.css.js.map +1 -1
  154. package/dist/esm/components/CollectionViewsDropdown/ViewsDropdown.st.css.js +2 -2
  155. package/dist/esm/components/CustomColumnsPanel/CustomColumnsPanelEntry.js +3 -0
  156. package/dist/esm/components/CustomColumnsPanel/CustomColumnsPanelEntry.js.map +1 -1
  157. package/dist/esm/components/CustomFieldsWidget/CustomFieldsViewWidgetSection.st.css.js +2 -2
  158. package/dist/esm/components/DragAndDrop/CollectionDragAndDropState.js +3 -3
  159. package/dist/esm/components/DragAndDrop/CollectionDragAndDropState.js.map +1 -1
  160. package/dist/esm/components/DragAndDrop/DragAndDropAnnouncements.js +4 -4
  161. package/dist/esm/components/DragAndDrop/DragAndDropAnnouncements.js.map +1 -1
  162. package/dist/esm/components/DragAndDrop/DragAndDropState.js +2 -7
  163. package/dist/esm/components/DragAndDrop/DragAndDropState.js.map +1 -1
  164. package/dist/esm/components/DragAndDrop/TableDragAndDropState.js +7 -8
  165. package/dist/esm/components/DragAndDrop/TableDragAndDropState.js.map +1 -1
  166. package/dist/esm/components/DragHandle/DragHandle.st.css.js +2 -2
  167. package/dist/esm/components/DragHandle/DragHandle.st.css.js.map +1 -1
  168. package/dist/esm/components/Fade/Fade.st.css.js +2 -2
  169. package/dist/esm/components/Grid/Grid.js.map +1 -1
  170. package/dist/esm/components/Grid/GridContent.js.map +1 -1
  171. package/dist/esm/components/Grid/GridFoldersSectionsGroup.js.map +1 -1
  172. package/dist/esm/components/Grid/GridSingleGridContent.js +2 -1
  173. package/dist/esm/components/Grid/GridSingleGridContent.js.map +1 -1
  174. package/dist/esm/components/Grid/renderFolderItem.js.map +1 -1
  175. package/dist/esm/components/Grid/useGridBaseSyncProps.js +10 -1
  176. package/dist/esm/components/Grid/useGridBaseSyncProps.js.map +1 -1
  177. package/dist/esm/components/Grid/useRenderItem.js.map +1 -1
  178. package/dist/esm/components/GridDragAndDropDndKit/GridDragAndDrop.js +11 -0
  179. package/dist/esm/components/GridDragAndDropDndKit/GridDragAndDrop.js.map +1 -1
  180. package/dist/esm/components/GridDragAndDropDndKit/GridSortableContext.js +3 -13
  181. package/dist/esm/components/GridDragAndDropDndKit/GridSortableContext.js.map +1 -1
  182. package/dist/esm/components/GridSections/GridSectionAndRepeater.js +2 -1
  183. package/dist/esm/components/GridSections/GridSectionAndRepeater.js.map +1 -1
  184. package/dist/esm/components/GridSections/GridSectionsSectionState.js +3 -2
  185. package/dist/esm/components/GridSections/GridSectionsSectionState.js.map +1 -1
  186. package/dist/esm/components/Heading/Heading.st.css.js +2 -2
  187. package/dist/esm/components/Heading/Heading.st.css.js.map +1 -1
  188. package/dist/esm/components/InputOverflow/InputOverflow.st.css.js +2 -2
  189. package/dist/esm/components/ListDragAndDrop/ListDragAndDropContext.js +4 -15
  190. package/dist/esm/components/ListDragAndDrop/ListDragAndDropContext.js.map +1 -1
  191. package/dist/esm/components/MaxHeightText/MaxHeightText.st.css.js +2 -2
  192. package/dist/esm/components/MaxLines/MaxLines.st.css.js +2 -2
  193. package/dist/esm/components/MultiBulkActionToolbar/MultiBulkActionToolbar.st.css.js +2 -2
  194. package/dist/esm/components/MultiBulkActionToolbar/MultiBulkActionToolbar.st.css.js.map +1 -1
  195. package/dist/esm/components/MultiLevelSorting/MultiLevelSortingCTAButton.js +4 -1
  196. package/dist/esm/components/MultiLevelSorting/MultiLevelSortingCTAButton.js.map +1 -1
  197. package/dist/esm/components/NestedTable/NestedTableRow.st.css.js +2 -2
  198. package/dist/esm/components/NestedTable/NestedTableRow.st.css.js.map +1 -1
  199. package/dist/esm/components/NestedTable/NestedTableWSRTable.js +9 -1
  200. package/dist/esm/components/NestedTable/NestedTableWSRTable.js.map +1 -1
  201. package/dist/esm/components/NestedTableDragAndDrop/NestedTableDragAndDrop.js +23 -0
  202. package/dist/esm/components/NestedTableDragAndDrop/NestedTableDragAndDrop.js.map +1 -0
  203. package/dist/esm/components/{CollectionTableDragAndDropContext/CollectionNestedTableDragAndDropContext.js → NestedTableDragAndDrop/NestedTableDragAndDropContext.js} +8 -21
  204. package/dist/esm/components/NestedTableDragAndDrop/NestedTableDragAndDropContext.js.map +1 -0
  205. package/dist/esm/components/NestedTableDragAndDrop/NestedTableDragAndDropState.js +61 -0
  206. package/dist/esm/components/NestedTableDragAndDrop/NestedTableDragAndDropState.js.map +1 -0
  207. package/dist/esm/components/PageWrapper/PageWrapperBase.js +4 -1
  208. package/dist/esm/components/PageWrapper/PageWrapperBase.js.map +1 -1
  209. package/dist/esm/components/PickerContent/PickerContent.st.css.js +2 -2
  210. package/dist/esm/components/PickerContent/PickerContent.st.css.js.map +1 -1
  211. package/dist/esm/components/PickerContent/PickerContentAdditionalStep.st.css.js +2 -2
  212. package/dist/esm/components/PickerContent/PickerContentAdditionalStep.st.css.js.map +1 -1
  213. package/dist/esm/components/PickerTableListItem/PickerTableListItem.st.css.js +2 -2
  214. package/dist/esm/components/ScrollableContent/ScrollableContent.st.css.js +2 -2
  215. package/dist/esm/components/ScrollableContent/ScrollableContent.st.css.js.map +1 -1
  216. package/dist/esm/components/SingleSelectFilterBase/SingleSelectFilterBase.js +1 -1
  217. package/dist/esm/components/SingleSelectFilterBase/SingleSelectFilterBase.js.map +1 -1
  218. package/dist/esm/components/SkeletonCard/SkeletonCard.st.css.js +2 -2
  219. package/dist/esm/components/SlidingModal/SlidingModal.st.css.js +2 -2
  220. package/dist/esm/components/Table/TableVirtual.st.css.js +2 -2
  221. package/dist/esm/components/Table/useTableSyncProps.js +9 -0
  222. package/dist/esm/components/Table/useTableSyncProps.js.map +1 -1
  223. package/dist/esm/components/TableDragAndDrop.js +12 -2
  224. package/dist/esm/components/TableDragAndDrop.js.map +1 -1
  225. package/dist/esm/components/{CollectionTableDragAndDropContext/CollectionTableDragAndDropContext.js → TableDragAndDropContext/TableDragAndDropContext.js} +7 -18
  226. package/dist/esm/components/TableDragAndDropContext/TableDragAndDropContext.js.map +1 -0
  227. package/dist/esm/components/TableDragAndDropContext/index.js +2 -0
  228. package/dist/esm/components/TableDragAndDropContext/index.js.map +1 -0
  229. package/dist/esm/components/TabsFilter/TabsFilter.st.css.js +2 -2
  230. package/dist/esm/components/Tags/ManageTags/ManageTagsModal/ManageTagsModal.st.css.js +2 -2
  231. package/dist/esm/components/ToolbarItemBox/ToolbarItemBox.st.css.js +2 -2
  232. package/dist/esm/components/common.st.css.js +2 -2
  233. package/dist/esm/hooks/useColumnsSyncProps.js +8 -2
  234. package/dist/esm/hooks/useColumnsSyncProps.js.map +1 -1
  235. package/dist/esm/hooks/useOptionalCachedState.js +18 -0
  236. package/dist/esm/hooks/useOptionalCachedState.js.map +1 -0
  237. package/dist/esm/hooks/useTableCollection.js +3 -11
  238. package/dist/esm/hooks/useTableCollection.js.map +1 -1
  239. package/dist/esm/index.js +1 -1
  240. package/dist/esm/index.js.map +1 -1
  241. package/dist/esm/state/CustomColumnsDragAndDropState.js +14 -4
  242. package/dist/esm/state/CustomColumnsDragAndDropState.js.map +1 -1
  243. package/dist/esm/state/CustomColumnsState.js +1 -0
  244. package/dist/esm/state/CustomColumnsState.js.map +1 -1
  245. package/dist/esm/state/GridBaseState.js +9 -5
  246. package/dist/esm/state/GridBaseState.js.map +1 -1
  247. package/dist/esm/state/GridFoldersState.js.map +1 -1
  248. package/dist/esm/state/GridState.js.map +1 -1
  249. package/dist/esm/state/MultiLevelSortingDragAndDrop.js +13 -1
  250. package/dist/esm/state/MultiLevelSortingDragAndDrop.js.map +1 -1
  251. package/dist/esm/state/MultiLevelSortingState.js +1 -0
  252. package/dist/esm/state/MultiLevelSortingState.js.map +1 -1
  253. package/dist/esm/state/NestedTableState/NestedTableNestedModeState.js +1 -0
  254. package/dist/esm/state/NestedTableState/NestedTableNestedModeState.js.map +1 -1
  255. package/dist/esm/state/NestedTableState/NestedTableState.js.map +1 -1
  256. package/dist/esm/state/TableFoldersState.js.map +1 -1
  257. package/dist/esm/state/TableGridSwitchFoldersState.js.map +1 -1
  258. package/dist/esm/state/TableGridSwitchState.js.map +1 -1
  259. package/dist/esm/state/TableState.js +3 -9
  260. package/dist/esm/state/TableState.js.map +1 -1
  261. package/dist/esm/state/ToolbarCollectionState.js +0 -1
  262. package/dist/esm/state/ToolbarCollectionState.js.map +1 -1
  263. package/dist/esm/state/WixPatternsRouterState.js +3 -1
  264. package/dist/esm/state/WixPatternsRouterState.js.map +1 -1
  265. package/dist/esm/state/initCustomColumns.js +3 -1
  266. package/dist/esm/state/initCustomColumns.js.map +1 -1
  267. package/dist/esm/styles.global.css +1 -1
  268. package/dist/esm/utils/getCollectionComponentUniqueId.js +4 -0
  269. package/dist/esm/utils/getCollectionComponentUniqueId.js.map +1 -0
  270. package/dist/esm/version.js +1 -1
  271. package/dist/types/components/CollectionViewsDropdown/AutoCompleteReadonly.st.css.d.ts.map +1 -1
  272. package/dist/types/components/CustomColumnsPanel/CustomColumnsPanelEntry.d.ts.map +1 -1
  273. package/dist/types/components/DragAndDrop/CollectionDragAndDropState.d.ts +4 -4
  274. package/dist/types/components/DragAndDrop/CollectionDragAndDropState.d.ts.map +1 -1
  275. package/dist/types/components/DragAndDrop/DragAndDropState.d.ts +8 -6
  276. package/dist/types/components/DragAndDrop/DragAndDropState.d.ts.map +1 -1
  277. package/dist/types/components/DragAndDrop/TableDragAndDropState.d.ts +2 -3
  278. package/dist/types/components/DragAndDrop/TableDragAndDropState.d.ts.map +1 -1
  279. package/dist/types/components/DragHandle/DragHandle.st.css.d.ts.map +1 -1
  280. package/dist/types/components/Grid/Grid.d.ts +2 -2
  281. package/dist/types/components/Grid/Grid.d.ts.map +1 -1
  282. package/dist/types/components/Grid/GridContent.d.ts +3 -2
  283. package/dist/types/components/Grid/GridContent.d.ts.map +1 -1
  284. package/dist/types/components/Grid/GridFoldersSectionsGroup.d.ts +2 -2
  285. package/dist/types/components/Grid/GridFoldersSectionsGroup.d.ts.map +1 -1
  286. package/dist/types/components/Grid/GridItem.d.ts +2 -2
  287. package/dist/types/components/Grid/GridItem.d.ts.map +1 -1
  288. package/dist/types/components/Grid/GridSingleGridContent.d.ts.map +1 -1
  289. package/dist/types/components/Grid/renderFolderItem.d.ts +2 -2
  290. package/dist/types/components/Grid/renderFolderItem.d.ts.map +1 -1
  291. package/dist/types/components/Grid/useGridBaseSyncProps.d.ts +2 -2
  292. package/dist/types/components/Grid/useGridBaseSyncProps.d.ts.map +1 -1
  293. package/dist/types/components/Grid/useRenderItem.d.ts +2 -2
  294. package/dist/types/components/Grid/useRenderItem.d.ts.map +1 -1
  295. package/dist/types/components/GridDragAndDropDndKit/GridDragAndDrop.d.ts +22 -2
  296. package/dist/types/components/GridDragAndDropDndKit/GridDragAndDrop.d.ts.map +1 -1
  297. package/dist/types/components/GridDragAndDropDndKit/GridSortableContext.d.ts +10 -3
  298. package/dist/types/components/GridDragAndDropDndKit/GridSortableContext.d.ts.map +1 -1
  299. package/dist/types/components/GridSections/GridSectionAndRepeater.d.ts.map +1 -1
  300. package/dist/types/components/GridSections/GridSectionsSectionState.d.ts +1 -0
  301. package/dist/types/components/GridSections/GridSectionsSectionState.d.ts.map +1 -1
  302. package/dist/types/components/Heading/Heading.st.css.d.ts.map +1 -1
  303. package/dist/types/components/ListDragAndDrop/ListDragAndDropContext.d.ts +4 -2
  304. package/dist/types/components/ListDragAndDrop/ListDragAndDropContext.d.ts.map +1 -1
  305. package/dist/types/components/MultiBulkActionToolbar/MultiBulkActionToolbar.st.css.d.ts.map +1 -1
  306. package/dist/types/components/MultiLevelSorting/MultiLevelSortingCTAButton.d.ts.map +1 -1
  307. package/dist/types/components/NestedTable/NestedTable.d.ts +1 -1
  308. package/dist/types/components/NestedTable/NestedTable.d.ts.map +1 -1
  309. package/dist/types/components/NestedTable/NestedTableRow.st.css.d.ts.map +1 -1
  310. package/dist/types/components/NestedTable/NestedTableWSRTable.d.ts +1 -1
  311. package/dist/types/components/NestedTable/NestedTableWSRTable.d.ts.map +1 -1
  312. package/dist/types/components/{NestedTableDragAndDrop.d.ts → NestedTableDragAndDrop/NestedTableDragAndDrop.d.ts} +10 -1
  313. package/dist/types/components/NestedTableDragAndDrop/NestedTableDragAndDrop.d.ts.map +1 -0
  314. package/dist/types/components/{CollectionTableDragAndDropContext/CollectionNestedTableDragAndDropContext.d.ts → NestedTableDragAndDrop/NestedTableDragAndDropContext.d.ts} +4 -4
  315. package/dist/types/components/NestedTableDragAndDrop/NestedTableDragAndDropContext.d.ts.map +1 -0
  316. package/dist/types/components/{DragAndDrop → NestedTableDragAndDrop}/NestedTableDragAndDropState.d.ts +7 -5
  317. package/dist/types/components/NestedTableDragAndDrop/NestedTableDragAndDropState.d.ts.map +1 -0
  318. package/dist/types/components/PageWrapper/PageWrapperBase.d.ts.map +1 -1
  319. package/dist/types/components/PickerContent/PickerContent.st.css.d.ts.map +1 -1
  320. package/dist/types/components/PickerContent/PickerContentAdditionalStep.st.css.d.ts.map +1 -1
  321. package/dist/types/components/ScrollableContent/ScrollableContent.st.css.d.ts.map +1 -1
  322. package/dist/types/components/SingleSelectFilterBase/SingleSelectFilterBase.d.ts.map +1 -1
  323. package/dist/types/components/Table/useTableSyncProps.d.ts.map +1 -1
  324. package/dist/types/components/TableDragAndDrop.d.ts +11 -2
  325. package/dist/types/components/TableDragAndDrop.d.ts.map +1 -1
  326. package/dist/types/components/{CollectionTableDragAndDropContext/CollectionTableDragAndDropContext.d.ts → TableDragAndDropContext/TableDragAndDropContext.d.ts} +4 -4
  327. package/dist/types/components/TableDragAndDropContext/TableDragAndDropContext.d.ts.map +1 -0
  328. package/dist/types/components/TableDragAndDropContext/index.d.ts +2 -0
  329. package/dist/types/components/TableDragAndDropContext/index.d.ts.map +1 -0
  330. package/dist/types/components/TableGridSwitch/TableGridSwitchDragAndDrop.d.ts +18 -1
  331. package/dist/types/components/TableGridSwitch/TableGridSwitchDragAndDrop.d.ts.map +1 -1
  332. package/dist/types/hooks/useColumnsSyncProps.d.ts.map +1 -1
  333. package/dist/types/hooks/useOptionalCachedState.d.ts +3 -0
  334. package/dist/types/hooks/useOptionalCachedState.d.ts.map +1 -0
  335. package/dist/types/hooks/useTableCollection.d.ts.map +1 -1
  336. package/dist/types/index.d.ts +1 -1
  337. package/dist/types/index.d.ts.map +1 -1
  338. package/dist/types/state/CustomColumnsDragAndDropState.d.ts +7 -3
  339. package/dist/types/state/CustomColumnsDragAndDropState.d.ts.map +1 -1
  340. package/dist/types/state/CustomColumnsState.d.ts +4 -1
  341. package/dist/types/state/CustomColumnsState.d.ts.map +1 -1
  342. package/dist/types/state/GridBaseState.d.ts +4 -2
  343. package/dist/types/state/GridBaseState.d.ts.map +1 -1
  344. package/dist/types/state/GridFoldersState.d.ts +2 -1
  345. package/dist/types/state/GridFoldersState.d.ts.map +1 -1
  346. package/dist/types/state/GridState.d.ts +2 -1
  347. package/dist/types/state/GridState.d.ts.map +1 -1
  348. package/dist/types/state/ICollectionComponentState.d.ts +2 -2
  349. package/dist/types/state/ICollectionComponentState.d.ts.map +1 -1
  350. package/dist/types/state/MultiLevelSortingDragAndDrop.d.ts +7 -1
  351. package/dist/types/state/MultiLevelSortingDragAndDrop.d.ts.map +1 -1
  352. package/dist/types/state/MultiLevelSortingState.d.ts +4 -1
  353. package/dist/types/state/MultiLevelSortingState.d.ts.map +1 -1
  354. package/dist/types/state/NestedTableState/NestedTableNestedModeState.d.ts +2 -0
  355. package/dist/types/state/NestedTableState/NestedTableNestedModeState.d.ts.map +1 -1
  356. package/dist/types/state/NestedTableState/NestedTableState.d.ts +2 -1
  357. package/dist/types/state/NestedTableState/NestedTableState.d.ts.map +1 -1
  358. package/dist/types/state/TableFoldersState.d.ts +2 -1
  359. package/dist/types/state/TableFoldersState.d.ts.map +1 -1
  360. package/dist/types/state/TableGridSwitchFoldersState.d.ts +2 -1
  361. package/dist/types/state/TableGridSwitchFoldersState.d.ts.map +1 -1
  362. package/dist/types/state/TableGridSwitchState.d.ts +2 -1
  363. package/dist/types/state/TableGridSwitchState.d.ts.map +1 -1
  364. package/dist/types/state/TableState.d.ts +4 -9
  365. package/dist/types/state/TableState.d.ts.map +1 -1
  366. package/dist/types/state/ToolbarCollectionState.d.ts +1 -1
  367. package/dist/types/state/ToolbarCollectionState.d.ts.map +1 -1
  368. package/dist/types/state/WixPatternsRouterState.d.ts +2 -2
  369. package/dist/types/state/WixPatternsRouterState.d.ts.map +1 -1
  370. package/dist/types/state/initCustomColumns.d.ts +8 -2
  371. package/dist/types/state/initCustomColumns.d.ts.map +1 -1
  372. package/dist/types/utils/getCollectionComponentUniqueId.d.ts +3 -0
  373. package/dist/types/utils/getCollectionComponentUniqueId.d.ts.map +1 -0
  374. package/dist/types/version.d.ts +1 -1
  375. package/package.json +3 -3
  376. package/dist/cjs/components/CollectionTableDragAndDropContext/CollectionNestedTableDragAndDropContext.js.map +0 -1
  377. package/dist/cjs/components/CollectionTableDragAndDropContext/CollectionTableDragAndDropContext.js.map +0 -1
  378. package/dist/cjs/components/CollectionTableDragAndDropContext/index.js +0 -11
  379. package/dist/cjs/components/CollectionTableDragAndDropContext/index.js.map +0 -1
  380. package/dist/cjs/components/DragAndDrop/NestedDragAndDropState.js +0 -83
  381. package/dist/cjs/components/DragAndDrop/NestedDragAndDropState.js.map +0 -1
  382. package/dist/cjs/components/DragAndDrop/NestedTableDragAndDropState.js +0 -51
  383. package/dist/cjs/components/DragAndDrop/NestedTableDragAndDropState.js.map +0 -1
  384. package/dist/cjs/components/NestedTableDragAndDrop.js +0 -18
  385. package/dist/cjs/components/NestedTableDragAndDrop.js.map +0 -1
  386. package/dist/esm/components/CollectionTableDragAndDropContext/CollectionNestedTableDragAndDropContext.js.map +0 -1
  387. package/dist/esm/components/CollectionTableDragAndDropContext/CollectionTableDragAndDropContext.js.map +0 -1
  388. package/dist/esm/components/CollectionTableDragAndDropContext/index.js +0 -3
  389. package/dist/esm/components/CollectionTableDragAndDropContext/index.js.map +0 -1
  390. package/dist/esm/components/DragAndDrop/NestedDragAndDropState.js +0 -60
  391. package/dist/esm/components/DragAndDrop/NestedDragAndDropState.js.map +0 -1
  392. package/dist/esm/components/DragAndDrop/NestedTableDragAndDropState.js +0 -31
  393. package/dist/esm/components/DragAndDrop/NestedTableDragAndDropState.js.map +0 -1
  394. package/dist/esm/components/NestedTableDragAndDrop.js +0 -11
  395. package/dist/esm/components/NestedTableDragAndDrop.js.map +0 -1
  396. package/dist/types/components/CollectionTableDragAndDropContext/CollectionNestedTableDragAndDropContext.d.ts.map +0 -1
  397. package/dist/types/components/CollectionTableDragAndDropContext/CollectionTableDragAndDropContext.d.ts.map +0 -1
  398. package/dist/types/components/CollectionTableDragAndDropContext/index.d.ts +0 -3
  399. package/dist/types/components/CollectionTableDragAndDropContext/index.d.ts.map +0 -1
  400. package/dist/types/components/DragAndDrop/NestedDragAndDropState.d.ts +0 -17
  401. package/dist/types/components/DragAndDrop/NestedDragAndDropState.d.ts.map +0 -1
  402. package/dist/types/components/DragAndDrop/NestedTableDragAndDropState.d.ts.map +0 -1
  403. package/dist/types/components/NestedTableDragAndDrop.d.ts.map +0 -1
@@ -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":[]}
@@ -1 +1 @@
1
- {"version":3,"names":["_GridBaseState","require","_mobx","_ToolbarCollectionState","_FoldersAndItemsCollectionsState","_gridSizePresets","_GridFoldersBIReporter","GridFoldersState","constructor","params","_defineProperty2","default","action","showAllFolders","bi","onToggleShowAllButtonClick","toolbar","retryErrorState","container","ToolbarCollectionState","collection","items","componentType","collections","FoldersAndItemsCollectionsState","GridBaseState","sizePreset","topGridSizePreset","parentState","layoutType","folders","sideGridSizePreset","GridFoldersBIReporter","state","makeObservable","observable","ref","foldersLocalLimit","computed","effectiveFoldersLocalLimit","showToggleShowAllLessButton","showItemsSection","showItemsSectionHeader","showFoldersSection","showFoldersSectionHeader","showLoadingSection","columnsCount","result","size","isEmptyAndNotFetching","hasFoldersOnlyActiveFilters","fetchedLastPage","initTask","showErrorState","multi","errorStatus","showLoadingState","showEmptyState","hasAvailableItems","resultOriginQuerySearch","hasNonPersistentActiveFilters","hasItemsOnlyActiveFilters","isLoadingToolbarAndCollection","showInitialLoader","status","isLoading","isIdle","showRefreshLoader","init","disposers","reaction","_localLimit","fireImmediately","forEach","d","exports"],"sources":["../../../src/state/GridFoldersState.ts"],"sourcesContent":["import {\n WixPatternsContainer,\n CollectionState,\n FiltersMap,\n} from '@wix/bex-core';\nimport { GridBaseState } from './GridBaseState';\nimport { action, computed, makeObservable, observable, reaction } from 'mobx';\nimport { ToolbarCollectionState } from './ToolbarCollectionState';\nimport {\n FoldersAndItemsCollectionsState,\n FoldersAndItemsCollectionsStateInitParams,\n PartialAllFilters,\n} from './FoldersAndItemsCollectionsState';\nimport { sideGridSizePreset, topGridSizePreset } from './gridSizePresets';\nimport { GridFoldersBIReporter } from './GridFoldersBIReporter';\n\nexport interface GridFoldersStateParams<\n T1,\n F1 extends FiltersMap,\n T2,\n F2 extends FiltersMap,\n> {\n readonly items: CollectionState<T1, F1>;\n readonly folders: CollectionState<T2, F2>;\n readonly container: WixPatternsContainer;\n readonly toolbar?: ToolbarCollectionState<T1, PartialAllFilters<F1, F2>>;\n readonly collections?: FoldersAndItemsCollectionsState<T1, F1, T2, F2>;\n}\n\ninterface GridFoldersStateInitParams\n extends FoldersAndItemsCollectionsStateInitParams {}\n\nexport class GridFoldersState<\n T1,\n F1 extends FiltersMap,\n T2,\n F2 extends FiltersMap,\n> {\n readonly container;\n readonly toolbar;\n readonly items;\n readonly folders;\n readonly collections;\n readonly bi;\n\n readonly _subGrids = [] as GridBaseState<any, any>[];\n\n showAllFolders = false;\n\n constructor(params: GridFoldersStateParams<T1, F1, T2, F2>) {\n this.container = params.container;\n\n this.toolbar =\n params.toolbar ??\n new ToolbarCollectionState({\n collection: params.items as CollectionState<T1, {}> as CollectionState<\n T1,\n PartialAllFilters<F1, F2>\n >,\n container: params.container,\n componentType: 'GridFolders',\n });\n\n this.collections =\n params.collections ??\n new FoldersAndItemsCollectionsState({\n ...params,\n toolbar: this.toolbar,\n });\n\n this.items = new GridBaseState({\n collection: params.items,\n container: params.container,\n toolbar: this.toolbar as ToolbarCollectionState<unknown, Partial<F1>>,\n sizePreset: topGridSizePreset,\n parentState: this,\n layoutType: 'grid',\n });\n\n this.folders = new GridBaseState({\n collection: params.folders,\n container: params.container,\n toolbar: this.toolbar as ToolbarCollectionState<unknown, Partial<F2>>,\n sizePreset: sideGridSizePreset,\n parentState: this,\n layoutType: 'grid',\n });\n\n this.bi = new GridFoldersBIReporter({\n state: this,\n });\n\n makeObservable(this, {\n showAllFolders: observable.ref,\n foldersLocalLimit: computed,\n effectiveFoldersLocalLimit: computed,\n showToggleShowAllLessButton: computed,\n showItemsSection: computed,\n showItemsSectionHeader: computed,\n showFoldersSection: computed,\n showFoldersSectionHeader: computed,\n showLoadingSection: computed,\n });\n }\n\n toggleShowAllFolders = action(() => {\n this.showAllFolders = !this.showAllFolders;\n this.bi.onToggleShowAllButtonClick();\n });\n\n get foldersLocalLimit() {\n return this.folders.columnsCount * 2;\n }\n\n get effectiveFoldersLocalLimit() {\n return this.showAllFolders ? null : this.folders.columnsCount * 2;\n }\n\n get showToggleShowAllLessButton() {\n return this.collections.folders.result.size > this.foldersLocalLimit;\n }\n\n get showFoldersSectionHeader() {\n return this.showToggleShowAllLessButton || this.showItemsSection;\n }\n\n get showItemsSection() {\n return (\n !this.collections.items.result.isEmptyAndNotFetching &&\n !this.collections.hasFoldersOnlyActiveFilters &&\n (!this.showAllFolders || this.folders.collection.fetchedLastPage)\n );\n }\n\n get initTask() {\n return this.toolbar.initTask;\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 retryErrorState = action(() => this.toolbar.retryErrorState());\n\n get showLoadingState() {\n return this.toolbar.multi.showLoadingState;\n }\n\n get showEmptyState() {\n return this.collections.showEmptyState;\n }\n\n get hasAvailableItems() {\n return this.collections.hasAvailableItems;\n }\n\n get resultOriginQuerySearch() {\n return this.collections.resultOriginQuerySearch;\n }\n\n get hasNonPersistentActiveFilters() {\n return this.collections.hasNonPersistentActiveFilters;\n }\n\n get showItemsSectionHeader() {\n return this.showFoldersSection;\n }\n\n get showFoldersSection() {\n return (\n !this.collections.folders.result.isEmptyAndNotFetching &&\n !this.collections.hasItemsOnlyActiveFilters\n );\n }\n\n get showLoadingSection() {\n const {\n collections: { hasFoldersOnlyActiveFilters, hasItemsOnlyActiveFilters },\n toolbar: { initTask, multi },\n } = this;\n\n const isLoadingToolbarAndCollection = () =>\n (multi.showInitialLoader && initTask.status.isLoading) ||\n initTask.status.isIdle;\n\n return (\n !hasFoldersOnlyActiveFilters &&\n !hasItemsOnlyActiveFilters &&\n (multi.showRefreshLoader || isLoadingToolbarAndCollection())\n );\n }\n\n init(params: GridFoldersStateInitParams) {\n const disposers = [\n this.collections.init(params),\n reaction(\n () => this.effectiveFoldersLocalLimit,\n (effectiveFoldersLocalLimit) => {\n this.folders._localLimit = effectiveFoldersLocalLimit;\n },\n {\n fireImmediately: true,\n },\n ),\n ];\n\n return () => {\n disposers.forEach((d) => d());\n };\n }\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_GridBaseState","require","_mobx","_ToolbarCollectionState","_FoldersAndItemsCollectionsState","_gridSizePresets","_GridFoldersBIReporter","GridFoldersState","constructor","params","_defineProperty2","default","action","showAllFolders","bi","onToggleShowAllButtonClick","toolbar","retryErrorState","container","ToolbarCollectionState","collection","items","componentType","collections","FoldersAndItemsCollectionsState","GridBaseState","sizePreset","topGridSizePreset","parentState","layoutType","folders","sideGridSizePreset","GridFoldersBIReporter","state","makeObservable","observable","ref","foldersLocalLimit","computed","effectiveFoldersLocalLimit","showToggleShowAllLessButton","showItemsSection","showItemsSectionHeader","showFoldersSection","showFoldersSectionHeader","showLoadingSection","columnsCount","result","size","isEmptyAndNotFetching","hasFoldersOnlyActiveFilters","fetchedLastPage","initTask","showErrorState","multi","errorStatus","showLoadingState","showEmptyState","hasAvailableItems","resultOriginQuerySearch","hasNonPersistentActiveFilters","hasItemsOnlyActiveFilters","isLoadingToolbarAndCollection","showInitialLoader","status","isLoading","isIdle","showRefreshLoader","init","disposers","reaction","_localLimit","fireImmediately","forEach","d","exports"],"sources":["../../../src/state/GridFoldersState.ts"],"sourcesContent":["import {\n WixPatternsContainer,\n CollectionState,\n FiltersMap,\n} from '@wix/bex-core';\nimport { GridBaseState } from './GridBaseState';\nimport { action, computed, makeObservable, observable, reaction } from 'mobx';\nimport { ToolbarCollectionState } from './ToolbarCollectionState';\nimport {\n FoldersAndItemsCollectionsState,\n FoldersAndItemsCollectionsStateInitParams,\n PartialAllFilters,\n} from './FoldersAndItemsCollectionsState';\nimport { sideGridSizePreset, topGridSizePreset } from './gridSizePresets';\nimport { GridFoldersBIReporter } from './GridFoldersBIReporter';\nimport { ICollectionComponentState } from './ICollectionComponentState';\n\nexport interface GridFoldersStateParams<\n T1,\n F1 extends FiltersMap,\n T2,\n F2 extends FiltersMap,\n> {\n readonly items: CollectionState<T1, F1>;\n readonly folders: CollectionState<T2, F2>;\n readonly container: WixPatternsContainer;\n readonly toolbar?: ToolbarCollectionState<T1, PartialAllFilters<F1, F2>>;\n readonly collections?: FoldersAndItemsCollectionsState<T1, F1, T2, F2>;\n}\n\ninterface GridFoldersStateInitParams\n extends FoldersAndItemsCollectionsStateInitParams {}\n\nexport class GridFoldersState<\n T1,\n F1 extends FiltersMap,\n T2,\n F2 extends FiltersMap,\n> implements ICollectionComponentState\n{\n readonly container;\n readonly toolbar;\n readonly items;\n readonly folders;\n readonly collections;\n readonly bi;\n\n readonly _subGrids = [] as GridBaseState<any, any>[];\n\n showAllFolders = false;\n\n constructor(params: GridFoldersStateParams<T1, F1, T2, F2>) {\n this.container = params.container;\n\n this.toolbar =\n params.toolbar ??\n new ToolbarCollectionState({\n collection: params.items as CollectionState<T1, {}> as CollectionState<\n T1,\n PartialAllFilters<F1, F2>\n >,\n container: params.container,\n componentType: 'GridFolders',\n });\n\n this.collections =\n params.collections ??\n new FoldersAndItemsCollectionsState({\n ...params,\n toolbar: this.toolbar,\n });\n\n this.items = new GridBaseState({\n collection: params.items,\n container: params.container,\n toolbar: this.toolbar as ToolbarCollectionState<unknown, Partial<F1>>,\n sizePreset: topGridSizePreset,\n parentState: this,\n layoutType: 'grid',\n });\n\n this.folders = new GridBaseState({\n collection: params.folders,\n container: params.container,\n toolbar: this.toolbar as ToolbarCollectionState<unknown, Partial<F2>>,\n sizePreset: sideGridSizePreset,\n parentState: this,\n layoutType: 'grid',\n });\n\n this.bi = new GridFoldersBIReporter({\n state: this,\n });\n\n makeObservable(this, {\n showAllFolders: observable.ref,\n foldersLocalLimit: computed,\n effectiveFoldersLocalLimit: computed,\n showToggleShowAllLessButton: computed,\n showItemsSection: computed,\n showItemsSectionHeader: computed,\n showFoldersSection: computed,\n showFoldersSectionHeader: computed,\n showLoadingSection: computed,\n });\n }\n\n toggleShowAllFolders = action(() => {\n this.showAllFolders = !this.showAllFolders;\n this.bi.onToggleShowAllButtonClick();\n });\n\n get foldersLocalLimit() {\n return this.folders.columnsCount * 2;\n }\n\n get effectiveFoldersLocalLimit() {\n return this.showAllFolders ? null : this.folders.columnsCount * 2;\n }\n\n get showToggleShowAllLessButton() {\n return this.collections.folders.result.size > this.foldersLocalLimit;\n }\n\n get showFoldersSectionHeader() {\n return this.showToggleShowAllLessButton || this.showItemsSection;\n }\n\n get showItemsSection() {\n return (\n !this.collections.items.result.isEmptyAndNotFetching &&\n !this.collections.hasFoldersOnlyActiveFilters &&\n (!this.showAllFolders || this.folders.collection.fetchedLastPage)\n );\n }\n\n get initTask() {\n return this.toolbar.initTask;\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 retryErrorState = action(() => this.toolbar.retryErrorState());\n\n get showLoadingState() {\n return this.toolbar.multi.showLoadingState;\n }\n\n get showEmptyState() {\n return this.collections.showEmptyState;\n }\n\n get hasAvailableItems() {\n return this.collections.hasAvailableItems;\n }\n\n get resultOriginQuerySearch() {\n return this.collections.resultOriginQuerySearch;\n }\n\n get hasNonPersistentActiveFilters() {\n return this.collections.hasNonPersistentActiveFilters;\n }\n\n get showItemsSectionHeader() {\n return this.showFoldersSection;\n }\n\n get showFoldersSection() {\n return (\n !this.collections.folders.result.isEmptyAndNotFetching &&\n !this.collections.hasItemsOnlyActiveFilters\n );\n }\n\n get showLoadingSection() {\n const {\n collections: { hasFoldersOnlyActiveFilters, hasItemsOnlyActiveFilters },\n toolbar: { initTask, multi },\n } = this;\n\n const isLoadingToolbarAndCollection = () =>\n (multi.showInitialLoader && initTask.status.isLoading) ||\n initTask.status.isIdle;\n\n return (\n !hasFoldersOnlyActiveFilters &&\n !hasItemsOnlyActiveFilters &&\n (multi.showRefreshLoader || isLoadingToolbarAndCollection())\n );\n }\n\n init(params: GridFoldersStateInitParams) {\n const disposers = [\n this.collections.init(params),\n reaction(\n () => this.effectiveFoldersLocalLimit,\n (effectiveFoldersLocalLimit) => {\n this.folders._localLimit = effectiveFoldersLocalLimit;\n },\n {\n fireImmediately: true,\n },\n ),\n ];\n\n return () => {\n disposers.forEach((d) => d());\n };\n }\n}\n"],"mappings":"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","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"names":["_ToolbarCollectionState","require","GridState","constructor","params","_defineProperty2","default","items","toolbar","onAddItemActionComplete","container","collection","ToolbarCollectionState","componentType","init","disposers","disposer","exports"],"sources":["../../../src/state/GridState.ts"],"sourcesContent":["import {\n CollectionState,\n FiltersMap,\n WixPatternsContainer,\n} from '@wix/bex-core';\nimport {\n ToolbarCollectionState,\n ToolbarCollectionStateParamsInitParams,\n} from './ToolbarCollectionState';\nimport { GridBaseState } from './GridBaseState';\nimport { GridSectionsState } from '../components/GridSections/GridSectionsState';\n\nexport interface GridStateParams<T, F extends FiltersMap> {\n readonly collection: CollectionState<T, F>;\n readonly container: WixPatternsContainer;\n readonly toolbar?: ToolbarCollectionState<T, F>;\n}\n\nexport interface GridStateInitParams\n extends ToolbarCollectionStateParamsInitParams {}\n\nexport interface GridStatePublicAPI<T, F extends FiltersMap> {\n /**\n * Underlying [CollectionState](./?path=/story/common-state--collectionstate) instance\n * @external\n */\n readonly collection: CollectionState<T, F>;\n /**\n * Underlying [ToolbarCollectionState](./?path=/story/common-state--toolbarcollectionstate) instance\n * @external\n */\n readonly toolbar: ToolbarCollectionState<T, F>;\n\n /**\n * Reset active filters & sorting and adds new items to the collection.\n * @param items - new items to add to the collection\n * @external\n */\n onAddItemActionComplete(items: T[]): void;\n}\n\nexport class GridState<T, F extends FiltersMap> {\n readonly toolbar;\n readonly container;\n readonly collection;\n\n readonly _subGrids = [] as GridBaseState<T, F>[];\n _sections?: GridSectionsState<T, F>;\n\n constructor(params: GridStateParams<T, F>) {\n this.container = params.container;\n this.collection = params.collection;\n\n this.toolbar =\n params.toolbar ??\n new ToolbarCollectionState({\n collection: params.collection,\n container: params.container,\n componentType: 'Grid',\n });\n }\n\n init(params: GridStateInitParams) {\n const disposers = [this.toolbar.init(params)];\n\n return () => {\n for (const disposer of disposers) {\n disposer();\n }\n };\n }\n\n onAddItemActionComplete = async (items: T[]) => {\n return this.toolbar.onAddItemActionComplete(items);\n };\n}\n"],"mappings":";;;;;;AAKA,IAAAA,uBAAA,GAAAC,OAAA;AAoCO,MAAMC,SAAS,CAA0B;EAQ9CC,WAAWA,CAACC,MAA6B,EAAE;IAAA,IAAAC,gBAAA,CAAAC,OAAA;IAAA,IAAAD,gBAAA,CAAAC,OAAA;IAAA,IAAAD,gBAAA,CAAAC,OAAA;IAAA,IAAAD,gBAAA,CAAAC,OAAA,qBAHtB,EAAE;IAAA,IAAAD,gBAAA,CAAAC,OAAA;IAAA,IAAAD,gBAAA,CAAAC,OAAA,mCA0BG,MAAOC,KAAU,IAAK;MAC9C,OAAO,IAAI,CAACC,OAAO,CAACC,uBAAuB,CAACF,KAAK,CAAC;IACpD,CAAC;IAxBC,IAAI,CAACG,SAAS,GAAGN,MAAM,CAACM,SAAS;IACjC,IAAI,CAACC,UAAU,GAAGP,MAAM,CAACO,UAAU;IAEnC,IAAI,CAACH,OAAO,GACVJ,MAAM,CAACI,OAAO,IACd,IAAII,8CAAsB,CAAC;MACzBD,UAAU,EAAEP,MAAM,CAACO,UAAU;MAC7BD,SAAS,EAAEN,MAAM,CAACM,SAAS;MAC3BG,aAAa,EAAE;IACjB,CAAC,CAAC;EACN;EAEAC,IAAIA,CAACV,MAA2B,EAAE;IAChC,MAAMW,SAAS,GAAG,CAAC,IAAI,CAACP,OAAO,CAACM,IAAI,CAACV,MAAM,CAAC,CAAC;IAE7C,OAAO,MAAM;MACX,KAAK,MAAMY,QAAQ,IAAID,SAAS,EAAE;QAChCC,QAAQ,CAAC,CAAC;MACZ;IACF,CAAC;EACH;AAKF;AAACC,OAAA,CAAAf,SAAA,GAAAA,SAAA","ignoreList":[]}
1
+ {"version":3,"names":["_ToolbarCollectionState","require","GridState","constructor","params","_defineProperty2","default","items","toolbar","onAddItemActionComplete","container","collection","ToolbarCollectionState","componentType","init","disposers","disposer","exports"],"sources":["../../../src/state/GridState.ts"],"sourcesContent":["import {\n CollectionState,\n FiltersMap,\n WixPatternsContainer,\n} from '@wix/bex-core';\nimport {\n ToolbarCollectionState,\n ToolbarCollectionStateParamsInitParams,\n} from './ToolbarCollectionState';\nimport { GridBaseState } from './GridBaseState';\nimport { GridSectionsState } from '../components/GridSections/GridSectionsState';\nimport { ICollectionComponentState } from './ICollectionComponentState';\n\nexport interface GridStateParams<T, F extends FiltersMap> {\n readonly collection: CollectionState<T, F>;\n readonly container: WixPatternsContainer;\n readonly toolbar?: ToolbarCollectionState<T, F>;\n}\n\nexport interface GridStateInitParams\n extends ToolbarCollectionStateParamsInitParams {}\n\nexport interface GridStatePublicAPI<T, F extends FiltersMap> {\n /**\n * Underlying [CollectionState](./?path=/story/common-state--collectionstate) instance\n * @external\n */\n readonly collection: CollectionState<T, F>;\n /**\n * Underlying [ToolbarCollectionState](./?path=/story/common-state--toolbarcollectionstate) instance\n * @external\n */\n readonly toolbar: ToolbarCollectionState<T, F>;\n\n /**\n * Reset active filters & sorting and adds new items to the collection.\n * @param items - new items to add to the collection\n * @external\n */\n onAddItemActionComplete(items: T[]): void;\n}\n\nexport class GridState<T, F extends FiltersMap>\n implements GridStatePublicAPI<T, F>, ICollectionComponentState\n{\n readonly toolbar;\n readonly container;\n readonly collection;\n\n readonly _subGrids = [] as GridBaseState<T, F>[];\n _sections?: GridSectionsState<T, F>;\n\n constructor(params: GridStateParams<T, F>) {\n this.container = params.container;\n this.collection = params.collection;\n\n this.toolbar =\n params.toolbar ??\n new ToolbarCollectionState({\n collection: params.collection,\n container: params.container,\n componentType: 'Grid',\n });\n }\n\n init(params: GridStateInitParams) {\n const disposers = [this.toolbar.init(params)];\n\n return () => {\n for (const disposer of disposers) {\n disposer();\n }\n };\n }\n\n onAddItemActionComplete = async (items: T[]) => {\n return this.toolbar.onAddItemActionComplete(items);\n };\n}\n"],"mappings":";;;;;;AAKA,IAAAA,uBAAA,GAAAC,OAAA;AAqCO,MAAMC,SAAS,CAEtB;EAQEC,WAAWA,CAACC,MAA6B,EAAE;IAAA,IAAAC,gBAAA,CAAAC,OAAA;IAAA,IAAAD,gBAAA,CAAAC,OAAA;IAAA,IAAAD,gBAAA,CAAAC,OAAA;IAAA,IAAAD,gBAAA,CAAAC,OAAA,qBAHtB,EAAE;IAAA,IAAAD,gBAAA,CAAAC,OAAA;IAAA,IAAAD,gBAAA,CAAAC,OAAA,mCA0BG,MAAOC,KAAU,IAAK;MAC9C,OAAO,IAAI,CAACC,OAAO,CAACC,uBAAuB,CAACF,KAAK,CAAC;IACpD,CAAC;IAxBC,IAAI,CAACG,SAAS,GAAGN,MAAM,CAACM,SAAS;IACjC,IAAI,CAACC,UAAU,GAAGP,MAAM,CAACO,UAAU;IAEnC,IAAI,CAACH,OAAO,GACVJ,MAAM,CAACI,OAAO,IACd,IAAII,8CAAsB,CAAC;MACzBD,UAAU,EAAEP,MAAM,CAACO,UAAU;MAC7BD,SAAS,EAAEN,MAAM,CAACM,SAAS;MAC3BG,aAAa,EAAE;IACjB,CAAC,CAAC;EACN;EAEAC,IAAIA,CAACV,MAA2B,EAAE;IAChC,MAAMW,SAAS,GAAG,CAAC,IAAI,CAACP,OAAO,CAACM,IAAI,CAACV,MAAM,CAAC,CAAC;IAE7C,OAAO,MAAM;MACX,KAAK,MAAMY,QAAQ,IAAID,SAAS,EAAE;QAChCC,QAAQ,CAAC,CAAC;MACZ;IACF,CAAC;EACH;AAKF;AAACC,OAAA,CAAAf,SAAA,GAAAA,SAAA","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"names":[],"sources":["../../../src/state/ICollectionComponentState.ts"],"sourcesContent":["import { ToolbarCollectionState } from './ToolbarCollectionState';\n\nexport interface ICollectionComponentState<T> {\n toolbar: ToolbarCollectionState<T, any>;\n}\n"],"mappings":"","ignoreList":[]}
1
+ {"version":3,"names":[],"sources":["../../../src/state/ICollectionComponentState.ts"],"sourcesContent":["import { ToolbarCollectionState } from './ToolbarCollectionState';\n\nexport interface ICollectionComponentState {\n toolbar: ToolbarCollectionState<any, any>;\n}\n"],"mappings":"","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":";;;;;;AAAA,IAAAA,KAAA,GAAAC,OAAA;AACA,IAAAC,QAAA,GAAAD,OAAA;AAUA,IAAAE,6BAAA,GAAAF,OAAA;AAGA,IAAAG,GAAA,GAAAH,OAAA;AACA,IAAAI,KAAA,GAAAJ,OAAA;AAiBO,MAAMK,sBAAsB,CAA0B;EAW3DC,WAAWA,CAACC,KAAyC,EAAE;IAAA,IAAAC,gBAAA,CAAAC,OAAA;IAAA,IAAAD,gBAAA,CAAAC,OAAA;IAAA,IAAAD,gBAAA,CAAAC,OAAA;IAAA,IAAAD,gBAAA,CAAAC,OAAA;IAAA,IAAAD,gBAAA,CAAAC,OAAA,kCAL9BC,gBAAU,CAACC,KAAK,CAAiB,CAAC;IAAA,IAAAH,gBAAA,CAAAC,OAAA,2BAEzC,EAAE;IAAA,IAAAD,gBAAA,CAAAC,OAAA,qCACuB,IAAI;IAAA,IAAAD,gBAAA,CAAAC,OAAA,6BAiN3B,IAAAG,YAAM,EAAC,MAAM;MAC/B,MAAM;QACJC,KAAK,EAAE;UACLC,UAAU,EAAE;YAAEC;UAAM;QACtB;MACF,CAAC,GAAG,IAAI;MAER,IAAI,CAACC,sBAAsB,CAACC,KAAK,CAAC,CAAC;MAEnC,KAAK,MAAMC,IAAI,IAAIH,KAAK,CAACG,IAAI,CAACC,KAAK,EAAE;QACnC,MAAMC,MAAM,GAAG,IAAI,CAACC,kBAAkB,CAACC,GAAG,CAACJ,IAAI,CAACK,KAAK,CAAC;QAEtD,IAAIH,MAAM,EAAE;UACV,IAAI,CAACI,OAAO,CAAC;YACXJ,MAAM;YACNK,KAAK,EAAEP,IAAI,CAACQ;UACd,CAAC,CAAC;QACJ;MACF;IACF,CAAC,CAAC;IAjOA,IAAI,CAACb,KAAK,GAAGN,KAAK,CAACM,KAAK;IACxB,IAAI,CAACc,SAAS,GAAGpB,KAAK,CAACoB,SAAS;IAEhC,IAAI,CAACC,iBAAiB,GAAG,IAAIC,wBAAe,CAAiB;MAC3D,GAAG,IAAI,CAACF,SAAS;MACjBG,MAAM,EAAE,CAAC,CAAC;MACVC,SAAS,EAAE,CACT,IAAI,CAACJ,SAAS,CAACK,WAAW,CAACC,WAAW,EACtC,IAAI,CAACpB,KAAK,CAACC,UAAU,CAACiB,SAAS,EAC/B,mBAAmB,CACpB,CACEG,MAAM,CAACC,OAAO,CAAC,CACfC,IAAI,CAAC,GAAG,CAAC;MACZC,SAAS,EAAE,MAAAA,CAAA,KAAY;QACrB,OAAO;UACLC,KAAK,EAAE,IAAI,CAACtB;QACd,CAAC;MACH,CAAC;MACDuB,OAAO,EAAE,CAAC,CAAC;MACXC,OAAO,EAAGC,IAAI,IAAKA,IAAI,CAACC,GAAG;MAC3BC,QAAQ,EAAGF,IAAI,IAAKG,MAAM,CAACH,IAAI,CAACI,IAAI,CAAC;MACrCC,iBAAiB,EAAEA,CAAA,KAAM;IAC3B,CAAC,CAAC;IAEF,IAAI,CAACC,WAAW,GAAG,IAAIC,+DAAiC,CAAC;MACvDC,sBAAsB,EAAE,IAAI;MAC5BC,kBAAkB,EAAE3C,KAAK,CAAC2C;IAC5B,CAAC,CAAC;IAEF,IAAAC,oBAAc,EAAC,IAAI,EAAE;MACnBC,0BAA0B,EAAEC,cAAQ;MACpCC,YAAY,EAAED,cAAQ;MACtBhC,kBAAkB,EAAEgC,cAAQ;MAC5BE,eAAe,EAAEF,cAAQ;MACzBG,gBAAgB,EAAEH,cAAQ;MAC1B7B,OAAO,EAAEZ,YAAM;MACf6C,UAAU,EAAE7C,YAAM;MAClB8C,eAAe,EAAE9C,YAAM;MACvB+C,WAAW,EAAE/C;IACf,CAAC,CAAC;EACJ;EAEA,IAAI2C,eAAeA,CAAA,EAAG;IACpB,OAAO,IAAI,CAAC1C,KAAK,CAAC+C,OAAO,CAAC1B,MAAM,CAAEd,MAAM,IAAKA,MAAM,CAACyC,QAAQ,CAAC;EAC/D;EAEA,IAAIxC,kBAAkBA,CAAA,EAAG;IACvB,OAAO,IAAIyC,GAAG,CAAC,IAAI,CAACP,eAAe,CAACQ,GAAG,CAAE3C,MAAM,IAAK,CAACA,MAAM,CAAC4C,EAAE,EAAE5C,MAAM,CAAC,CAAC,CAAC;EAC3E;EAEA,IAAIgC,0BAA0BA,CAAA,EAAG;IAC/B,OAAO,IAAI,CAACG,eAAe,CAACU,MAAM,GAAG,IAAI,CAACjD,sBAAsB,CAACiD,MAAM,GAAG,CAAC;EAC7E;EAEA,IAAIX,YAAYA,CAAA,EAAG;IACjB,OAAO,IAAI,CAACtC,sBAAsB,CAACiD,MAAM;EAC3C;EAEA,IAAIT,gBAAgBA,CAAA,EAAG;IACrB,MAAM;MAAExC,sBAAsB;MAAEuC;IAAgB,CAAC,GAAG,IAAI;IAExD,OAAO,IAAIW,GAAG,CACZX,eAAe,CACZrB,MAAM,CAAEd,MAAM,IACbJ,sBAAsB,CAACmD,KAAK,CACzBC,qBAAqB,IACpBA,qBAAqB,CAACC,QAAQ,KAAKjD,MAAM,CAAC4C,EAC9C,CACF,CAAC,CACAD,GAAG,CAAEO,cAAc,IAAKA,cAAc,CAACN,EAAE,CAC9C,CAAC;EACH;EAEA,IAAIO,gBAAgBA,CAAA,EAAG;IACrB,OAAO,IAAI,CAACvD,sBAAsB,CAAC+C,GAAG,CAAC,CAAC;MAAEM,QAAQ;MAAE3C;IAAU,CAAC,MAAM;MACnE8C,SAAS,EAAEH,QAAQ;MACnB5C,KAAK,EAAEC;IACT,CAAC,CAAC,CAAC;EACL;EAEA,IAAI+C,QAAQA,CAAA,EAAG;IACb,OAAO,IAAI,CAAC5D,KAAK,CAAC6D,QAAQ;EAC5B;EAEQC,8BAA8BA,CAAA,EAAG;IACvC,KAAK,MAAMvD,MAAM,IAAI,IAAI,CAACmC,eAAe,EAAE;MACzC,IAAI,IAAI,CAACC,gBAAgB,CAACoB,GAAG,CAACxD,MAAM,CAAC4C,EAAE,CAAC,EAAE;QACxC,OAAO5C,MAAM;MACf;IACF;IAEA,OAAO,IAAI;EACb;EAEQyD,WAAWA,CAAA,EAAW;IAC5B,OAAO,IAAI,CAAC7D,sBAAsB,CAAC+C,GAAG,CAAC,CAAC;MAAEM,QAAQ;MAAE3C;IAAU,CAAC,MAAM;MACnEH,KAAK,EAAE8C,QAAQ;MACf3C;IACF,CAAC,CAAC,CAAC;EACL;EAEQoD,wBAAwBA,CAAA,EAAG;IACjC,MAAM;MACJjE,KAAK,EAAE;QACLC,UAAU,EAAE;UACVC,KAAK,EAAE;YACLG,IAAI,EAAE;cAAEC,KAAK,EAAE4D;YAAe;UAChC;QACF;MACF,CAAC;MACD/D;IACF,CAAC,GAAG,IAAI;IAER,IAAI+D,cAAc,CAACd,MAAM,KAAKjD,sBAAsB,CAACiD,MAAM,EAAE;MAC3D,OAAO,IAAI;IACb;IAEA,KAAK,IAAIe,CAAC,GAAG,CAAC,EAAEA,CAAC,GAAGhE,sBAAsB,CAACiD,MAAM,EAAEe,CAAC,EAAE,EAAE;MACtD,IACED,cAAc,CAACC,CAAC,CAAC,CAACtD,SAAS,KAAKV,sBAAsB,CAACgE,CAAC,CAAC,CAACtD,SAAS,IACnEqD,cAAc,CAACC,CAAC,CAAC,CAACzD,KAAK,KAAKP,sBAAsB,CAACgE,CAAC,CAAC,CAACX,QAAQ,EAC9D;QACA,OAAO,IAAI;MACb;IACF;IAEA,OAAO,KAAK;EACd;EAEAY,mBAAmBA,CAACZ,QAAgB,EAAE;IACpC,OAAO,IAAI,CAACd,eAAe,CACxBrB,MAAM,CAAEd,MAAM,IAAK;MAClB,OAAOA,MAAM,CAAC4C,EAAE,KAAKK,QAAQ,IAAI,IAAI,CAACb,gBAAgB,CAACoB,GAAG,CAACxD,MAAM,CAAC4C,EAAE,CAAC;IACvE,CAAC,CAAC,CACDD,GAAG,CAAE3C,MAAM,KAAM;MAChB4C,EAAE,EAAE5C,MAAM,CAAC4C,EAAE;MACb7C,KAAK,EACF,OAAOC,MAAM,CAAC8D,KAAK,KAAK,QAAQ,IAAI9D,MAAM,CAAC8D,KAAK,IACjD9D,MAAM,CAACyB,IAAI,IACXzB,MAAM,CAAC4C;IACX,CAAC,CAAC,CAAC;EACP;EAEAxC,OAAOA,CAAC;IACNJ,MAAM;IACNK,KAAK;IACL0D,MAAM,GAAG;EAC+C,CAAC,GAAG,CAAC,CAAC,EAAE;IAChE,MAAMC,UAAU,GAAGhE,MAAM,IAAI,IAAI,CAACuD,8BAA8B,CAAC,CAAC;IAElE,IAAIS,UAAU,EAAE;MACd,MAAMd,cAAc,GAAG;QACrB5B,GAAG,EAAE,IAAA2C,QAAI,EAAC,CAAC;QACXhB,QAAQ,EAAEe,UAAU,CAACpB,EAAE;QACvBnB,IAAI,EAAEuC,UAAU,CAACF,KAAK,IAAIE,UAAU,CAACvC,IAAI,IAAIuC,UAAU,CAACpB,EAAE;QAC1DtC,SAAS,EAAED,KAAK,IAAI;MACtB,CAAC;MAED,IAAI,CAAC6D,eAAe,GAAGhB,cAAc,CAACD,QAAQ;MAC9C,IAAI,CAACrD,sBAAsB,CAACuE,IAAI,CAACjB,cAAc,CAAC;MAEhD,IAAIa,MAAM,EAAE;QACV,IAAI,CAACK,yBAAyB,GAAGlB,cAAc,CAACD,QAAQ;MAC1D;IACF;EACF;EAEAZ,UAAUA,CAACY,QAAgB,EAAE;IAC3B,MAAMoB,KAAK,GAAG,IAAI,CAACzE,sBAAsB,CAAC0E,SAAS,CAChDpB,cAAc,IAAKA,cAAc,CAACD,QAAQ,KAAKA,QAClD,CAAC;IAED,IAAIoB,KAAK,KAAK,CAAC,CAAC,EAAE;MAChB,IAAI,CAACH,eAAe,GAAGjB,QAAQ;MAC/B,IAAI,CAACrD,sBAAsB,CAAC2E,MAAM,CAACF,KAAK,EAAE,CAAC,CAAC;IAC9C;EACF;EAEA/B,eAAeA,CAACkC,gBAAwB,EAAElE,SAAoB,EAAE;IAC9D,MAAM;MAAEV;IAAuB,CAAC,GAAG,IAAI;IAEvC,MAAMyE,KAAK,GAAGzE,sBAAsB,CAAC0E,SAAS,CAC5C,CAAC;MAAErB;IAAS,CAAC,KAAKA,QAAQ,KAAKuB,gBACjC,CAAC;IAED,IAAIH,KAAK,KAAK,CAAC,CAAC,EAAE;MAChB,IAAI,CAACH,eAAe,GAAGM,gBAAgB;MACvC5E,sBAAsB,CAACyE,KAAK,CAAC,CAAC/D,SAAS,GAAGA,SAAS;IACrD;EACF;EAEAiC,WAAWA,CAACkC,WAAmB,EAAEC,WAAmB,EAAE;IACpD,MAAM;MAAE9E;IAAuB,CAAC,GAAG,IAAI;IAEvC,MAAMyE,KAAK,GAAGzE,sBAAsB,CAAC0E,SAAS,CAC5C,CAAC;MAAErB;IAAS,CAAC,KAAKwB,WAAW,KAAKxB,QACpC,CAAC;IAED,IAAIoB,KAAK,KAAK,CAAC,CAAC,EAAE;MAChB,IAAI,CAACH,eAAe,GAAGQ,WAAW;MAClC9E,sBAAsB,CAACyE,KAAK,CAAC,CAACpB,QAAQ,GAAGyB,WAAW;MACpD9E,sBAAsB,CAACyE,KAAK,CAAC,CAAC5C,IAAI,GAChC,IAAI,CAACxB,kBAAkB,CAACC,GAAG,CAACwE,WAAW,CAAC,CAAEjD,IAAI;IAClD;EACF;EAuBA3B,IAAIA,CAAA,EAAG;IACL,MAAM;MAAEJ;IAAW,CAAC,GAAG,IAAI,CAACD,KAAK;IACjC,MAAM;MAAEE,KAAK;MAAEgF;IAAQ,CAAC,GAAGjF,UAAU;IAErCiF,OAAO,CAACC,IAAI,CAAC,iBAAiB,EAAE;MAC9BC,MAAM,EAAE;IACV,CAAC,CAAC;IAEFlF,KAAK,CAACG,IAAI,CAACgF,YAAY,CAAC,IAAI,CAACrB,WAAW,CAAC,CAAC,CAAC;IAE3CkB,OAAO,CAACC,IAAI,CAAC,WAAW,EAAE;MACxBG,GAAG,EAAE;QAAEnC,EAAE,EAAE,IAAI,CAACsB;MAAgB;IAClC,CAAC,CAAC;IAEFxE,UAAU,CAACsF,YAAY,CAAC;MAAEC,WAAW,EAAE;IAAK,CAAC,CAAC;EAChD;EAEAC,mBAAmBA,CAAA,EAAG;IACpB,IAAI,CAAC7B,QAAQ,CACX,IAAA8B,wBAAe,EAACC,yBAAqB,CAAC,CAAC;MACrCjC,gBAAgB,EAAEkC,IAAI,CAACC,SAAS,CAAC,IAAI,CAACnC,gBAAgB,CAAC;MACvDoC,gBAAgB,EAAE,IAAI,CAACrD,YAAY;MACnCsD,QAAQ,EAAE,IAAI;MACdC,OAAO,EAAE,MAAM;MACfZ,MAAM,EAAE;IACV,CAAC,CACH,CAAC;EACH;EAEAa,oBAAoBA,CAAC;IACnBb,MAAM,GAAG;EAC2B,CAAC,GAAG,CAAC,CAAC,EAAE;IAC5C,IAAI,CAACxB,QAAQ,CACX,IAAA8B,wBAAe,EAACC,yBAAqB,CAAC,CAAC;MACrCjC,gBAAgB,EAAEkC,IAAI,CAACC,SAAS,CAAC,IAAI,CAACnC,gBAAgB,CAAC;MACvDoC,gBAAgB,EAAE,IAAI,CAACrD,YAAY;MACnCsD,QAAQ,EAAE,KAAK;MACfC,OAAO,EAAE,MAAM;MACfZ;IACF,CAAC,CACH,CAAC;EACH;EAEAc,IAAIA,CAAA,EAAG;IACL,MAAM;MACJlG,KAAK,EAAE;QACLC,UAAU,EAAE;UAAEC;QAAM;MACtB,CAAC;MACDa;IACF,CAAC,GAAG,IAAI;IAER,IAAI,CAACoF,iBAAiB,CAAC,CAAC;IAExB,MAAMC,SAAS,GAAG,CAChB,IAAAC,cAAQ,EACN,MAAM,IAAI,CAAClG,sBAAsB,CAAC+C,GAAG,CAAEtB,IAAI,KAAM;MAAE,GAAGA;IAAK,CAAC,CAAC,CAAC,EAC9D,MAAM;MACJ,IAAI,CAAC,IAAI,CAACqC,wBAAwB,CAAC,CAAC,EAAE;QACpC;MACF;MAEAlD,iBAAiB,CAACuF,eAAe,CAAC,CAAC;MACnC,IAAI,CAACjG,IAAI,CAAC,CAAC;IACb,CACF,CAAC,EACD,IAAAkG,yBAAgB,EAACrG,KAAK,CAACG,IAAI,CAACY,MAAM,EAAE,QAAQ,EAAE,IAAI,CAACkF,iBAAiB,CAAC,EACrE,IAAI,CAACpF,iBAAiB,CAACmF,IAAI,CAAC,CAAC,EAC7B,IAAI,CAAChE,WAAW,CAACgE,IAAI,CAAC,CAAC,CACxB;IAED,OAAO,MAAM;MACXE,SAAS,CAACI,OAAO,CAAEC,QAAQ,IAAKA,QAAQ,oBAARA,QAAQ,CAAG,CAAC,CAAC;IAC/C,CAAC;EACH;AACF;AAACC,OAAA,CAAAlH,sBAAA,GAAAA,sBAAA","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":[]}
@@ -1 +1 @@
1
- {"version":3,"names":["_bexCore","require","_ToolbarCollectionState","_TableState","_NestedTableNestedModeState","_NestedTableFlatModeState","_NestedCollectionFetchAllState","_util","_mobx","NestedTableState","constructor","params","_defineProperty2","default","TaskState","container","query","QueryState","filters","levels","map","level","i","depth","options","fetchAllThreshold","expandAllThreshold","mainColumn","rootLevelDescriptor","Error","rootNodeCollection","createCollection","collection","syncWithSharedQuery","reportBi","reportProps","isFetchAllAborted","componentStatus","toolbar","ToolbarCollectionState","componentType","setNewColumns","columns","column","render","tableState","TableState","nested","NestedTableNestedModeState","wrapper","flat","NestedTableFlatModeState","expandAll","nestedCollection","_attemptFetchAllAndPopulateCache","initTask","init","runOnce","fetchAllState","NestedCollectionFetchAllState","nestedCollectionState","disposers","status","promise","forEach","d","isFlatMode","hasActiveFilters","attemptFetchAllState","reaction","_fields","add","delete","fireImmediately","addEventListener","emitter","sections","featuresInitializers","reset","exports"],"sources":["../../../../src/state/NestedTableState/NestedTableState.ts"],"sourcesContent":["import {\n WixPatternsContainer,\n QueryState,\n ReportBI,\n syncWithSharedQuery,\n TaskState,\n} from '@wix/bex-core';\nimport { ToolbarCollectionState } from '../ToolbarCollectionState';\nimport { TableState } from '../TableState';\nimport { TableColumn } from '../../model';\nimport { NestedTableColumn } from './NestedTableColumn';\nimport { NestedTableNestedModeState } from './NestedTableNestedModeState';\nimport { NestedTableFlatModeState } from './NestedTableFlatModeState';\nimport { NestedCollectionFetchAllState } from './NestedCollectionFetchAllState';\nimport { NestedTableLevelDescriptor } from './NestedTableLevelDescriptor';\nimport { EagerLazyModeOptions } from './types';\nimport { addEventListener } from '@wix/bex-core/util';\nimport { reaction } from 'mobx';\n\nexport interface NestedTableStateBaseParams<C extends string> {\n /**\n * If the total items in the server are less or equal to this threshold, all items will be fetched and rendered at once, in expanded state (referred to as \"Eager\" mode).\n * @default 1000\n */\n fetchAllThreshold?: number;\n /**\n * In \"Eager\" mode, items will be in expanded state. This threshold allows to use collapsed state if the total items in the server are greater than this threshold.\n * @default 0\n */\n expandAllThreshold?: number;\n /**\n * Columns to be rendered in the nested table. Same as [regular table columns](./?path=%2Fstory%2Fcomponents-collection--table&tab=API) - without rendering logic of cells (defined for each level individually in the `levels` prop).\n */\n columns: NestedTableColumn<C>[];\n /**\n * Main column of the nested table.\n * An object with the following properties:\n * - `title`: The title of the column. @default ''\n * - `width`: The width of the column. Can be a number (in pixels) or a string (percentage). @default '326px'\n */\n mainColumn?: {\n title?: string;\n width?: number | string;\n };\n /**\n * Defines the collection for each level in the nested table.\n * Each level needs to specify:\n * - `createCollection`: A function that creates a collection for the current level (using `useCreateCollection` hook), and returns the collection state and a reference to a filter object within this collection that filters the collection by the parent key.\n * - `parentKey`: A function that accepts the item of the current level and returns the key of the parent item, for example: `(item) => item.parentId`.\n * - `breadcrumbs`: A function that accepts the item of the current level and returns an array of breadcrumbs to be displayed in the toolbar. Each breadcrumb is an object with `id` and `name` properties. `fetchData` will be called with `query.fields` that contains the value `breadcrumbs` to signal that the breadcrumbs should be fetched.\n * - `columns` (optional): Render logic of the cells for this level. By default all cells will be empty.\n * - `renderMainColumn` (optional): Render logic of the main column for this level.\n * - `actionCell` (optional): A table's last column. Use this column to add an action at the end of each row. For example, a delete button to delete an item. Pass an [`ActionCellProps`](https://www.docs.wixdesignsystem.com/?path=/story/components-lists-table--tableactioncell) object, or a function that returns an `ActionCellProps` object.\n<\n */\n levels: Omit<NestedTableLevelDescriptor<C, any, any>, 'depth'>[];\n}\n\nexport interface NestedTableStateParams<C extends string>\n extends NestedTableStateBaseParams<C> {\n container: WixPatternsContainer;\n}\n\nexport class NestedTableState<C extends string = string> {\n readonly container;\n readonly reportBi: ReportBI;\n readonly toolbar;\n readonly tableState;\n readonly mainColumn;\n readonly options: EagerLazyModeOptions;\n\n readonly initTask = new TaskState();\n\n readonly levels: NestedTableLevelDescriptor<C, any, any>[];\n\n readonly rootNodeCollection;\n readonly query;\n\n readonly nested: NestedTableNestedModeState<C>;\n readonly flat: NestedTableFlatModeState<C>;\n\n constructor(params: NestedTableStateParams<C>) {\n this.container = params.container;\n\n this.query = new QueryState({\n filters: {},\n });\n\n this.levels = params.levels.map((level, i) => ({\n ...level,\n depth: i,\n }));\n\n this.options = {\n fetchAllThreshold: params.fetchAllThreshold ?? 1000,\n expandAllThreshold: params.expandAllThreshold ?? 0,\n };\n\n this.mainColumn = params.mainColumn;\n const rootLevelDescriptor = this.levels[0];\n\n if (rootLevelDescriptor == null) {\n throw new Error('NestedTableState must have at least one level');\n }\n\n this.rootNodeCollection = rootLevelDescriptor.createCollection();\n\n const { collection } = this.rootNodeCollection;\n\n syncWithSharedQuery(collection.query, this.query);\n\n this.reportBi = (reportProps) => {\n const { isFetchAllAborted } = this;\n this.container.reportBi({\n ...reportProps,\n params: {\n ...reportProps.params,\n ...(isFetchAllAborted != null && {\n componentStatus: isFetchAllAborted\n ? 'All items collapsed'\n : 'All items expanded',\n }),\n },\n });\n };\n\n this.toolbar = new ToolbarCollectionState({\n collection: this.rootNodeCollection.collection,\n container: params.container,\n componentType: 'NestedTable',\n reportBi: this.reportBi,\n });\n\n this.toolbar.setNewColumns(\n params.columns.map((column) => ({\n ...column,\n render: () => null,\n })) as TableColumn<unknown>[],\n );\n\n this.tableState = new TableState({\n collection: this.rootNodeCollection.collection,\n container: params.container,\n toolbar: this.toolbar,\n });\n\n this.nested = new NestedTableNestedModeState({\n wrapper: this,\n reportBi: this.reportBi,\n });\n\n this.flat = new NestedTableFlatModeState({\n wrapper: this,\n });\n }\n\n get isFetchAllAborted() {\n return this.nested.isFetchAllAborted;\n }\n\n get expandAll() {\n return this.nested.expandAll;\n }\n\n get nestedCollection() {\n return this.nested.nestedCollection;\n }\n\n _attemptFetchAllAndPopulateCache() {\n const initTask = new TaskState();\n return {\n initTask,\n init: () => {\n initTask.runOnce(async () => {\n const fetchAllState = new NestedCollectionFetchAllState({\n options: this.options,\n query: this.nested.query,\n nestedCollectionState: this.nested.nestedCollection,\n });\n\n const disposers = [fetchAllState.init()];\n\n try {\n await fetchAllState.initTask.status.promise;\n } finally {\n disposers.forEach((d) => d());\n }\n });\n\n return () => {};\n },\n };\n }\n\n get isFlatMode() {\n return this.query.hasActiveFilters;\n }\n\n init() {\n const { initTask, tableState, query, rootNodeCollection, flat } = this;\n\n const attemptFetchAllState = this._attemptFetchAllAndPopulateCache();\n\n const disposers = [\n query.init(),\n reaction(\n () => this.isFlatMode,\n (isFlatMode) => {\n const {\n query: { _fields },\n } = this;\n if (isFlatMode) {\n _fields.add('breadcrumbs');\n } else {\n _fields.delete('breadcrumbs');\n }\n },\n { fireImmediately: true },\n ),\n addEventListener(\n rootNodeCollection.collection.emitter,\n 'beforeInitialFetch',\n () => attemptFetchAllState.initTask.status.promise,\n ),\n ...flat.sections.map(({ collection }) =>\n addEventListener(\n collection.emitter,\n 'beforeInitialFetch',\n () => attemptFetchAllState.initTask.status.promise,\n ),\n ),\n attemptFetchAllState.init(),\n tableState.init({\n featuresInitializers: [],\n }),\n ];\n\n initTask.runOnce(async () => {\n tableState.initTask.runOnce();\n attemptFetchAllState.initTask.runOnce();\n await attemptFetchAllState.initTask.status.promise;\n await tableState.initTask.status.promise;\n });\n\n return () => {\n initTask.reset();\n disposers.forEach((d) => d());\n };\n }\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_bexCore","require","_ToolbarCollectionState","_TableState","_NestedTableNestedModeState","_NestedTableFlatModeState","_NestedCollectionFetchAllState","_util","_mobx","NestedTableState","constructor","params","_defineProperty2","default","TaskState","container","query","QueryState","filters","levels","map","level","i","depth","options","fetchAllThreshold","expandAllThreshold","mainColumn","rootLevelDescriptor","Error","rootNodeCollection","createCollection","collection","syncWithSharedQuery","reportBi","reportProps","isFetchAllAborted","componentStatus","toolbar","ToolbarCollectionState","componentType","setNewColumns","columns","column","render","tableState","TableState","nested","NestedTableNestedModeState","wrapper","flat","NestedTableFlatModeState","expandAll","nestedCollection","_attemptFetchAllAndPopulateCache","initTask","init","runOnce","fetchAllState","NestedCollectionFetchAllState","nestedCollectionState","disposers","status","promise","forEach","d","isFlatMode","hasActiveFilters","attemptFetchAllState","reaction","_fields","add","delete","fireImmediately","addEventListener","emitter","sections","featuresInitializers","reset","exports"],"sources":["../../../../src/state/NestedTableState/NestedTableState.ts"],"sourcesContent":["import {\n WixPatternsContainer,\n QueryState,\n ReportBI,\n syncWithSharedQuery,\n TaskState,\n} from '@wix/bex-core';\nimport { ToolbarCollectionState } from '../ToolbarCollectionState';\nimport { TableState } from '../TableState';\nimport { TableColumn } from '../../model';\nimport { NestedTableColumn } from './NestedTableColumn';\nimport { NestedTableNestedModeState } from './NestedTableNestedModeState';\nimport { NestedTableFlatModeState } from './NestedTableFlatModeState';\nimport { NestedCollectionFetchAllState } from './NestedCollectionFetchAllState';\nimport { NestedTableLevelDescriptor } from './NestedTableLevelDescriptor';\nimport { EagerLazyModeOptions } from './types';\nimport { addEventListener } from '@wix/bex-core/util';\nimport { reaction } from 'mobx';\nimport { ICollectionComponentState } from '../ICollectionComponentState';\n\nexport interface NestedTableStateBaseParams<C extends string> {\n /**\n * If the total items in the server are less or equal to this threshold, all items will be fetched and rendered at once, in expanded state (referred to as \"Eager\" mode).\n * @default 1000\n */\n fetchAllThreshold?: number;\n /**\n * In \"Eager\" mode, items will be in expanded state. This threshold allows to use collapsed state if the total items in the server are greater than this threshold.\n * @default 0\n */\n expandAllThreshold?: number;\n /**\n * Columns to be rendered in the nested table. Same as [regular table columns](./?path=%2Fstory%2Fcomponents-collection--table&tab=API) - without rendering logic of cells (defined for each level individually in the `levels` prop).\n */\n columns: NestedTableColumn<C>[];\n /**\n * Main column of the nested table.\n * An object with the following properties:\n * - `title`: The title of the column. @default ''\n * - `width`: The width of the column. Can be a number (in pixels) or a string (percentage). @default '326px'\n */\n mainColumn?: {\n title?: string;\n width?: number | string;\n };\n /**\n * Defines the collection for each level in the nested table.\n * Each level needs to specify:\n * - `createCollection`: A function that creates a collection for the current level (using `useCreateCollection` hook), and returns the collection state and a reference to a filter object within this collection that filters the collection by the parent key.\n * - `parentKey`: A function that accepts the item of the current level and returns the key of the parent item, for example: `(item) => item.parentId`.\n * - `breadcrumbs`: A function that accepts the item of the current level and returns an array of breadcrumbs to be displayed in the toolbar. Each breadcrumb is an object with `id` and `name` properties. `fetchData` will be called with `query.fields` that contains the value `breadcrumbs` to signal that the breadcrumbs should be fetched.\n * - `columns` (optional): Render logic of the cells for this level. By default all cells will be empty.\n * - `renderMainColumn` (optional): Render logic of the main column for this level.\n * - `actionCell` (optional): A table's last column. Use this column to add an action at the end of each row. For example, a delete button to delete an item. Pass an [`ActionCellProps`](https://www.docs.wixdesignsystem.com/?path=/story/components-lists-table--tableactioncell) object, or a function that returns an `ActionCellProps` object.\n<\n */\n levels: Omit<NestedTableLevelDescriptor<C, any, any>, 'depth'>[];\n}\n\nexport interface NestedTableStateParams<C extends string>\n extends NestedTableStateBaseParams<C> {\n container: WixPatternsContainer;\n}\n\nexport class NestedTableState<C extends string = string>\n implements ICollectionComponentState\n{\n readonly container;\n readonly reportBi: ReportBI;\n readonly toolbar;\n readonly tableState;\n readonly mainColumn;\n readonly options: EagerLazyModeOptions;\n\n readonly initTask = new TaskState();\n\n readonly levels: NestedTableLevelDescriptor<C, any, any>[];\n\n readonly rootNodeCollection;\n readonly query;\n\n readonly nested: NestedTableNestedModeState<C>;\n readonly flat: NestedTableFlatModeState<C>;\n\n constructor(params: NestedTableStateParams<C>) {\n this.container = params.container;\n\n this.query = new QueryState({\n filters: {},\n });\n\n this.levels = params.levels.map((level, i) => ({\n ...level,\n depth: i,\n }));\n\n this.options = {\n fetchAllThreshold: params.fetchAllThreshold ?? 1000,\n expandAllThreshold: params.expandAllThreshold ?? 0,\n };\n\n this.mainColumn = params.mainColumn;\n const rootLevelDescriptor = this.levels[0];\n\n if (rootLevelDescriptor == null) {\n throw new Error('NestedTableState must have at least one level');\n }\n\n this.rootNodeCollection = rootLevelDescriptor.createCollection();\n\n const { collection } = this.rootNodeCollection;\n\n syncWithSharedQuery(collection.query, this.query);\n\n this.reportBi = (reportProps) => {\n const { isFetchAllAborted } = this;\n this.container.reportBi({\n ...reportProps,\n params: {\n ...reportProps.params,\n ...(isFetchAllAborted != null && {\n componentStatus: isFetchAllAborted\n ? 'All items collapsed'\n : 'All items expanded',\n }),\n },\n });\n };\n\n this.toolbar = new ToolbarCollectionState({\n collection: this.rootNodeCollection.collection,\n container: params.container,\n componentType: 'NestedTable',\n reportBi: this.reportBi,\n });\n\n this.toolbar.setNewColumns(\n params.columns.map((column) => ({\n ...column,\n render: () => null,\n })) as TableColumn<unknown>[],\n );\n\n this.tableState = new TableState({\n collection: this.rootNodeCollection.collection,\n container: params.container,\n toolbar: this.toolbar,\n });\n\n this.nested = new NestedTableNestedModeState({\n wrapper: this,\n reportBi: this.reportBi,\n });\n\n this.flat = new NestedTableFlatModeState({\n wrapper: this,\n });\n }\n\n get isFetchAllAborted() {\n return this.nested.isFetchAllAborted;\n }\n\n get expandAll() {\n return this.nested.expandAll;\n }\n\n get nestedCollection() {\n return this.nested.nestedCollection;\n }\n\n _attemptFetchAllAndPopulateCache() {\n const initTask = new TaskState();\n return {\n initTask,\n init: () => {\n initTask.runOnce(async () => {\n const fetchAllState = new NestedCollectionFetchAllState({\n options: this.options,\n query: this.nested.query,\n nestedCollectionState: this.nested.nestedCollection,\n });\n\n const disposers = [fetchAllState.init()];\n\n try {\n await fetchAllState.initTask.status.promise;\n } finally {\n disposers.forEach((d) => d());\n }\n });\n\n return () => {};\n },\n };\n }\n\n get isFlatMode() {\n return this.query.hasActiveFilters;\n }\n\n init() {\n const { initTask, tableState, query, rootNodeCollection, flat } = this;\n\n const attemptFetchAllState = this._attemptFetchAllAndPopulateCache();\n\n const disposers = [\n query.init(),\n reaction(\n () => this.isFlatMode,\n (isFlatMode) => {\n const {\n query: { _fields },\n } = this;\n if (isFlatMode) {\n _fields.add('breadcrumbs');\n } else {\n _fields.delete('breadcrumbs');\n }\n },\n { fireImmediately: true },\n ),\n addEventListener(\n rootNodeCollection.collection.emitter,\n 'beforeInitialFetch',\n () => attemptFetchAllState.initTask.status.promise,\n ),\n ...flat.sections.map(({ collection }) =>\n addEventListener(\n collection.emitter,\n 'beforeInitialFetch',\n () => attemptFetchAllState.initTask.status.promise,\n ),\n ),\n attemptFetchAllState.init(),\n tableState.init({\n featuresInitializers: [],\n }),\n ];\n\n initTask.runOnce(async () => {\n tableState.initTask.runOnce();\n attemptFetchAllState.initTask.runOnce();\n await attemptFetchAllState.initTask.status.promise;\n await tableState.initTask.status.promise;\n });\n\n return () => {\n initTask.reset();\n disposers.forEach((d) => d());\n };\n }\n}\n"],"mappings":"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","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"names":["_mobx","require","_ToolbarCollectionState","_FoldersAndItemsCollectionsState","_TableState","_TableVirtualState","isItemKeyedItem","keyedItem","item","_tag","isFolderKeyedItem","TableFoldersState","constructor","params","_defineProperty2","default","toolbar","retryErrorState","container","virtual","TableVirtualState","table","ToolbarCollectionState","collection","items","componentType","collections","FoldersAndItemsCollectionsState","TableState","makeObservable","showItemsSection","computed","showFoldersSection","keyedItems","result","isEmptyAndNotFetching","hasFoldersOnlyActiveFilters","folders","fetchedLastPage","hasItemsOnlyActiveFilters","tableState","showEmptyState","hasAvailableItems","resultOriginQuerySearch","hasNonPersistentActiveFilters","showErrorState","multi","errorStatus","showLoadingState","initTask","status","isIdle","isLoading","map","originalKeyedItem","init","disposers","forEach","d","exports"],"sources":["../../../src/state/TableFoldersState.ts"],"sourcesContent":["import {\n WixPatternsContainer,\n CollectionState,\n FiltersMap,\n KeyedItem,\n} from '@wix/bex-core';\nimport { computed, makeObservable } from 'mobx';\nimport { ToolbarCollectionState } from './ToolbarCollectionState';\nimport {\n FoldersAndItemsCollectionsState,\n FoldersAndItemsCollectionsStateInitParams,\n PartialAllFilters,\n} from './FoldersAndItemsCollectionsState';\nimport { TableState } from './TableState';\nimport { TableVirtualState } from './TableVirtualState';\n\nexport interface TableFoldersStateParams<\n T1,\n F1 extends FiltersMap,\n T2,\n F2 extends FiltersMap,\n> {\n readonly items: CollectionState<T1, F1>;\n readonly folders: CollectionState<T2, F2>;\n readonly container: WixPatternsContainer;\n readonly toolbar?: ToolbarCollectionState<T1, PartialAllFilters<F1, F2>>;\n}\n\ninterface Item<T1> {\n _tag: 'item';\n originalKeyedItem: KeyedItem<T1>;\n}\n\ninterface Folder<T2> {\n _tag: 'folder';\n originalKeyedItem: KeyedItem<T2>;\n}\n\nexport type RowItem<T1, T2> = Item<T1> | Folder<T2>;\nexport type RowKeyedItem<T1, T2> = KeyedItem<RowItem<T1, T2>>;\n\nexport function isItemKeyedItem<T1, T2>(\n keyedItem: RowKeyedItem<T1, T2>,\n): keyedItem is KeyedItem<Item<T1>> {\n return keyedItem.item._tag === 'item';\n}\n\nexport function isFolderKeyedItem<T1, T2>(\n keyedItem: RowKeyedItem<T1, T2>,\n): keyedItem is KeyedItem<Folder<T2>> {\n return keyedItem.item._tag === 'folder';\n}\n\ninterface TableFoldersStateInitParams\n extends FoldersAndItemsCollectionsStateInitParams {}\n\nexport class TableFoldersState<\n T1,\n F1 extends FiltersMap,\n T2,\n F2 extends FiltersMap,\n> {\n readonly container;\n readonly table;\n readonly toolbar;\n readonly virtual;\n readonly collections;\n\n constructor(params: TableFoldersStateParams<T1, F1, T2, F2>) {\n this.container = params.container;\n\n this.virtual = new TableVirtualState({\n table: this,\n });\n\n this.toolbar =\n params.toolbar ??\n new ToolbarCollectionState({\n collection: params.items as CollectionState<T1, {}> as CollectionState<\n T1,\n PartialAllFilters<F1, F2>\n >,\n container: params.container,\n componentType: 'TableFolders',\n });\n\n this.collections = new FoldersAndItemsCollectionsState({\n ...params,\n toolbar: this.toolbar,\n });\n\n this.table = new TableState({\n container: this.container,\n collection: params.items,\n toolbar: this.toolbar as ToolbarCollectionState<T1, {}>,\n });\n\n makeObservable(this, {\n showItemsSection: computed,\n showFoldersSection: computed,\n keyedItems: computed,\n });\n }\n\n get showItemsSection() {\n return (\n !this.collections.items.result.isEmptyAndNotFetching &&\n !this.collections.hasFoldersOnlyActiveFilters &&\n (!this.showFoldersSection || this.collections.folders.fetchedLastPage)\n );\n }\n\n get showFoldersSection() {\n return (\n !this.collections.folders.result.isEmptyAndNotFetching &&\n !this.collections.hasItemsOnlyActiveFilters\n );\n }\n\n get tableState() {\n return this.table;\n }\n\n get showEmptyState() {\n return this.collections.showEmptyState;\n }\n\n get hasAvailableItems() {\n return this.collections.hasAvailableItems;\n }\n\n get resultOriginQuerySearch() {\n return this.collections.resultOriginQuerySearch;\n }\n\n get hasNonPersistentActiveFilters() {\n return this.collections.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 get keyedItems(): RowKeyedItem<T1, T2>[] {\n const {\n showFoldersSection,\n showItemsSection,\n collections: { folders, items },\n } = this;\n return [\n ...(showFoldersSection\n ? folders.result.keyedItems.map((keyedItem) => ({\n ...keyedItem,\n item: {\n _tag: 'folder' as const,\n originalKeyedItem: keyedItem,\n },\n }))\n : []),\n ...(showItemsSection\n ? items.result.keyedItems.map((keyedItem) => ({\n ...keyedItem,\n item: {\n _tag: 'item' as const,\n originalKeyedItem: keyedItem,\n },\n originalKeyedItem: keyedItem,\n }))\n : []),\n ];\n }\n\n init(params: TableFoldersStateInitParams) {\n const disposers = [this.collections.init(params)];\n\n return () => {\n disposers.forEach((d) => d());\n };\n }\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_mobx","require","_ToolbarCollectionState","_FoldersAndItemsCollectionsState","_TableState","_TableVirtualState","isItemKeyedItem","keyedItem","item","_tag","isFolderKeyedItem","TableFoldersState","constructor","params","_defineProperty2","default","toolbar","retryErrorState","container","virtual","TableVirtualState","table","ToolbarCollectionState","collection","items","componentType","collections","FoldersAndItemsCollectionsState","TableState","makeObservable","showItemsSection","computed","showFoldersSection","keyedItems","result","isEmptyAndNotFetching","hasFoldersOnlyActiveFilters","folders","fetchedLastPage","hasItemsOnlyActiveFilters","tableState","showEmptyState","hasAvailableItems","resultOriginQuerySearch","hasNonPersistentActiveFilters","showErrorState","multi","errorStatus","showLoadingState","initTask","status","isIdle","isLoading","map","originalKeyedItem","init","disposers","forEach","d","exports"],"sources":["../../../src/state/TableFoldersState.ts"],"sourcesContent":["import {\n WixPatternsContainer,\n CollectionState,\n FiltersMap,\n KeyedItem,\n} from '@wix/bex-core';\nimport { computed, makeObservable } from 'mobx';\nimport { ToolbarCollectionState } from './ToolbarCollectionState';\nimport {\n FoldersAndItemsCollectionsState,\n FoldersAndItemsCollectionsStateInitParams,\n PartialAllFilters,\n} from './FoldersAndItemsCollectionsState';\nimport { TableState } from './TableState';\nimport { TableVirtualState } from './TableVirtualState';\nimport { ICollectionComponentState } from './ICollectionComponentState';\n\nexport interface TableFoldersStateParams<\n T1,\n F1 extends FiltersMap,\n T2,\n F2 extends FiltersMap,\n> {\n readonly items: CollectionState<T1, F1>;\n readonly folders: CollectionState<T2, F2>;\n readonly container: WixPatternsContainer;\n readonly toolbar?: ToolbarCollectionState<T1, PartialAllFilters<F1, F2>>;\n}\n\ninterface Item<T1> {\n _tag: 'item';\n originalKeyedItem: KeyedItem<T1>;\n}\n\ninterface Folder<T2> {\n _tag: 'folder';\n originalKeyedItem: KeyedItem<T2>;\n}\n\nexport type RowItem<T1, T2> = Item<T1> | Folder<T2>;\nexport type RowKeyedItem<T1, T2> = KeyedItem<RowItem<T1, T2>>;\n\nexport function isItemKeyedItem<T1, T2>(\n keyedItem: RowKeyedItem<T1, T2>,\n): keyedItem is KeyedItem<Item<T1>> {\n return keyedItem.item._tag === 'item';\n}\n\nexport function isFolderKeyedItem<T1, T2>(\n keyedItem: RowKeyedItem<T1, T2>,\n): keyedItem is KeyedItem<Folder<T2>> {\n return keyedItem.item._tag === 'folder';\n}\n\ninterface TableFoldersStateInitParams\n extends FoldersAndItemsCollectionsStateInitParams {}\n\nexport class TableFoldersState<\n T1,\n F1 extends FiltersMap,\n T2,\n F2 extends FiltersMap,\n> implements ICollectionComponentState\n{\n readonly container;\n readonly table;\n readonly toolbar;\n readonly virtual;\n readonly collections;\n\n constructor(params: TableFoldersStateParams<T1, F1, T2, F2>) {\n this.container = params.container;\n\n this.virtual = new TableVirtualState({\n table: this,\n });\n\n this.toolbar =\n params.toolbar ??\n new ToolbarCollectionState({\n collection: params.items as CollectionState<T1, {}> as CollectionState<\n T1,\n PartialAllFilters<F1, F2>\n >,\n container: params.container,\n componentType: 'TableFolders',\n });\n\n this.collections = new FoldersAndItemsCollectionsState({\n ...params,\n toolbar: this.toolbar,\n });\n\n this.table = new TableState({\n container: this.container,\n collection: params.items,\n toolbar: this.toolbar as ToolbarCollectionState<T1, {}>,\n });\n\n makeObservable(this, {\n showItemsSection: computed,\n showFoldersSection: computed,\n keyedItems: computed,\n });\n }\n\n get showItemsSection() {\n return (\n !this.collections.items.result.isEmptyAndNotFetching &&\n !this.collections.hasFoldersOnlyActiveFilters &&\n (!this.showFoldersSection || this.collections.folders.fetchedLastPage)\n );\n }\n\n get showFoldersSection() {\n return (\n !this.collections.folders.result.isEmptyAndNotFetching &&\n !this.collections.hasItemsOnlyActiveFilters\n );\n }\n\n get tableState() {\n return this.table;\n }\n\n get showEmptyState() {\n return this.collections.showEmptyState;\n }\n\n get hasAvailableItems() {\n return this.collections.hasAvailableItems;\n }\n\n get resultOriginQuerySearch() {\n return this.collections.resultOriginQuerySearch;\n }\n\n get hasNonPersistentActiveFilters() {\n return this.collections.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 get keyedItems(): RowKeyedItem<T1, T2>[] {\n const {\n showFoldersSection,\n showItemsSection,\n collections: { folders, items },\n } = this;\n return [\n ...(showFoldersSection\n ? folders.result.keyedItems.map((keyedItem) => ({\n ...keyedItem,\n item: {\n _tag: 'folder' as const,\n originalKeyedItem: keyedItem,\n },\n }))\n : []),\n ...(showItemsSection\n ? items.result.keyedItems.map((keyedItem) => ({\n ...keyedItem,\n item: {\n _tag: 'item' as const,\n originalKeyedItem: keyedItem,\n },\n originalKeyedItem: keyedItem,\n }))\n : []),\n ];\n }\n\n init(params: TableFoldersStateInitParams) {\n const disposers = [this.collections.init(params)];\n\n return () => {\n disposers.forEach((d) => d());\n };\n }\n}\n"],"mappings":"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","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"names":["_bexCore","require","_GridFoldersState","_TableFoldersState","_mobx","_ToolbarCollectionState","_ViewTypeState","TableGridSwitchFoldersState","constructor","params","_defineProperty2","default","TaskState","container","containerOverrides","tableFoldersState","TableFoldersState","items","folders","toolbar","ToolbarCollectionState","componentType","collection","reportBi","biParams","componentStatus","viewTypeState","viewType","gridFoldersState","GridFoldersState","collections","ViewTypeState","dataCapsule","makeObservable","computed","runInAction","init","initTask","runOnce","exports"],"sources":["../../../src/state/TableGridSwitchFoldersState.ts"],"sourcesContent":["import {\n WixPatternsContainer,\n WixPatternsContainerParams,\n CollectionState,\n FiltersMap,\n TaskState,\n} from '@wix/bex-core';\nimport { GridFoldersState } from './GridFoldersState';\nimport { TableFoldersState } from './TableFoldersState';\nimport { runInAction, makeObservable, computed } from 'mobx';\nimport { ToolbarCollectionState } from './ToolbarCollectionState';\nimport { PartialAllFilters } from './FoldersAndItemsCollectionsState';\nimport { ViewTypeState } from './ViewTypeState';\n\nexport interface TableGridSwitchStateFoldersParams<\n T1,\n F1 extends FiltersMap,\n T2,\n F2 extends FiltersMap,\n> {\n readonly items: CollectionState<T1, F1>;\n readonly folders: CollectionState<T2, F2>;\n readonly container: WixPatternsContainer;\n readonly containerOverrides: Partial<WixPatternsContainerParams>;\n}\ntype ViewType = 'table' | 'grid';\nexport class TableGridSwitchFoldersState<\n T1,\n F1 extends FiltersMap,\n T2,\n F2 extends FiltersMap,\n> {\n readonly container;\n readonly initTask = new TaskState();\n readonly containerOverrides: Partial<WixPatternsContainerParams>;\n\n readonly gridFoldersState: GridFoldersState<T1, F1, T2, F2>;\n readonly tableFoldersState: TableFoldersState<T1, F1, T2, F2>;\n readonly viewTypeState: ViewTypeState;\n\n constructor(params: TableGridSwitchStateFoldersParams<T1, F1, T2, F2>) {\n this.container = params.container;\n this.containerOverrides = params.containerOverrides;\n\n this.tableFoldersState = new TableFoldersState({\n items: params.items,\n folders: params.folders,\n container: this.container,\n toolbar: new ToolbarCollectionState({\n componentType: 'TableGridSwitchFolders',\n collection: params.items as CollectionState<T1, {}> as CollectionState<\n T1,\n PartialAllFilters<F1, F2>\n >,\n container: params.container,\n reportBi: (biParams) =>\n this.container.reportBi({\n ...biParams,\n params: {\n ...biParams.params,\n componentStatus: this.viewTypeState.viewType,\n },\n }),\n }),\n });\n\n this.gridFoldersState = new GridFoldersState({\n items: params.items,\n folders: params.folders,\n container: this.container,\n toolbar: this.tableFoldersState.toolbar,\n collections: this.tableFoldersState.collections,\n });\n\n this.viewTypeState = new ViewTypeState({\n container: this.container,\n dataCapsule: this.toolbar.dataCapsule,\n componentType: 'TableGridSwitchFolders',\n });\n\n makeObservable(this, {\n viewType: computed,\n });\n }\n\n get viewType() {\n return this.viewTypeState.viewType;\n }\n\n set viewType(viewType: ViewType) {\n runInAction(() => {\n this.viewTypeState.viewType = viewType;\n });\n }\n\n get toolbar() {\n return this.tableFoldersState.toolbar;\n }\n\n init() {\n this.initTask.runOnce(async () => {\n await this.viewTypeState.init();\n });\n }\n}\n"],"mappings":";;;;;;AAAA,IAAAA,QAAA,GAAAC,OAAA;AAOA,IAAAC,iBAAA,GAAAD,OAAA;AACA,IAAAE,kBAAA,GAAAF,OAAA;AACA,IAAAG,KAAA,GAAAH,OAAA;AACA,IAAAI,uBAAA,GAAAJ,OAAA;AAEA,IAAAK,cAAA,GAAAL,OAAA;AAcO,MAAMM,2BAA2B,CAKtC;EASAC,WAAWA,CAACC,MAAyD,EAAE;IAAA,IAAAC,gBAAA,CAAAC,OAAA;IAAA,IAAAD,gBAAA,CAAAC,OAAA,oBAPnD,IAAIC,kBAAS,CAAC,CAAC;IAAA,IAAAF,gBAAA,CAAAC,OAAA;IAAA,IAAAD,gBAAA,CAAAC,OAAA;IAAA,IAAAD,gBAAA,CAAAC,OAAA;IAAA,IAAAD,gBAAA,CAAAC,OAAA;IAQjC,IAAI,CAACE,SAAS,GAAGJ,MAAM,CAACI,SAAS;IACjC,IAAI,CAACC,kBAAkB,GAAGL,MAAM,CAACK,kBAAkB;IAEnD,IAAI,CAACC,iBAAiB,GAAG,IAAIC,oCAAiB,CAAC;MAC7CC,KAAK,EAAER,MAAM,CAACQ,KAAK;MACnBC,OAAO,EAAET,MAAM,CAACS,OAAO;MACvBL,SAAS,EAAE,IAAI,CAACA,SAAS;MACzBM,OAAO,EAAE,IAAIC,8CAAsB,CAAC;QAClCC,aAAa,EAAE,wBAAwB;QACvCC,UAAU,EAAEb,MAAM,CAACQ,KAGlB;QACDJ,SAAS,EAAEJ,MAAM,CAACI,SAAS;QAC3BU,QAAQ,EAAGC,QAAQ,IACjB,IAAI,CAACX,SAAS,CAACU,QAAQ,CAAC;UACtB,GAAGC,QAAQ;UACXf,MAAM,EAAE;YACN,GAAGe,QAAQ,CAACf,MAAM;YAClBgB,eAAe,EAAE,IAAI,CAACC,aAAa,CAACC;UACtC;QACF,CAAC;MACL,CAAC;IACH,CAAC,CAAC;IAEF,IAAI,CAACC,gBAAgB,GAAG,IAAIC,kCAAgB,CAAC;MAC3CZ,KAAK,EAAER,MAAM,CAACQ,KAAK;MACnBC,OAAO,EAAET,MAAM,CAACS,OAAO;MACvBL,SAAS,EAAE,IAAI,CAACA,SAAS;MACzBM,OAAO,EAAE,IAAI,CAACJ,iBAAiB,CAACI,OAAO;MACvCW,WAAW,EAAE,IAAI,CAACf,iBAAiB,CAACe;IACtC,CAAC,CAAC;IAEF,IAAI,CAACJ,aAAa,GAAG,IAAIK,4BAAa,CAAC;MACrClB,SAAS,EAAE,IAAI,CAACA,SAAS;MACzBmB,WAAW,EAAE,IAAI,CAACb,OAAO,CAACa,WAAW;MACrCX,aAAa,EAAE;IACjB,CAAC,CAAC;IAEF,IAAAY,oBAAc,EAAC,IAAI,EAAE;MACnBN,QAAQ,EAAEO;IACZ,CAAC,CAAC;EACJ;EAEA,IAAIP,QAAQA,CAAA,EAAG;IACb,OAAO,IAAI,CAACD,aAAa,CAACC,QAAQ;EACpC;EAEA,IAAIA,QAAQA,CAACA,QAAkB,EAAE;IAC/B,IAAAQ,iBAAW,EAAC,MAAM;MAChB,IAAI,CAACT,aAAa,CAACC,QAAQ,GAAGA,QAAQ;IACxC,CAAC,CAAC;EACJ;EAEA,IAAIR,OAAOA,CAAA,EAAG;IACZ,OAAO,IAAI,CAACJ,iBAAiB,CAACI,OAAO;EACvC;EAEAiB,IAAIA,CAAA,EAAG;IACL,IAAI,CAACC,QAAQ,CAACC,OAAO,CAAC,YAAY;MAChC,MAAM,IAAI,CAACZ,aAAa,CAACU,IAAI,CAAC,CAAC;IACjC,CAAC,CAAC;EACJ;AACF;AAACG,OAAA,CAAAhC,2BAAA,GAAAA,2BAAA","ignoreList":[]}
1
+ {"version":3,"names":["_bexCore","require","_GridFoldersState","_TableFoldersState","_mobx","_ToolbarCollectionState","_ViewTypeState","TableGridSwitchFoldersState","constructor","params","_defineProperty2","default","TaskState","container","containerOverrides","tableFoldersState","TableFoldersState","items","folders","toolbar","ToolbarCollectionState","componentType","collection","reportBi","biParams","componentStatus","viewTypeState","viewType","gridFoldersState","GridFoldersState","collections","ViewTypeState","dataCapsule","makeObservable","computed","runInAction","init","initTask","runOnce","exports"],"sources":["../../../src/state/TableGridSwitchFoldersState.ts"],"sourcesContent":["import {\n WixPatternsContainer,\n WixPatternsContainerParams,\n CollectionState,\n FiltersMap,\n TaskState,\n} from '@wix/bex-core';\nimport { GridFoldersState } from './GridFoldersState';\nimport { TableFoldersState } from './TableFoldersState';\nimport { runInAction, makeObservable, computed } from 'mobx';\nimport { ToolbarCollectionState } from './ToolbarCollectionState';\nimport { PartialAllFilters } from './FoldersAndItemsCollectionsState';\nimport { ViewTypeState } from './ViewTypeState';\nimport { ICollectionComponentState } from './ICollectionComponentState';\n\nexport interface TableGridSwitchStateFoldersParams<\n T1,\n F1 extends FiltersMap,\n T2,\n F2 extends FiltersMap,\n> {\n readonly items: CollectionState<T1, F1>;\n readonly folders: CollectionState<T2, F2>;\n readonly container: WixPatternsContainer;\n readonly containerOverrides: Partial<WixPatternsContainerParams>;\n}\ntype ViewType = 'table' | 'grid';\nexport class TableGridSwitchFoldersState<\n T1,\n F1 extends FiltersMap,\n T2,\n F2 extends FiltersMap,\n> implements ICollectionComponentState\n{\n readonly container;\n readonly initTask = new TaskState();\n readonly containerOverrides: Partial<WixPatternsContainerParams>;\n\n readonly gridFoldersState: GridFoldersState<T1, F1, T2, F2>;\n readonly tableFoldersState: TableFoldersState<T1, F1, T2, F2>;\n readonly viewTypeState: ViewTypeState;\n\n constructor(params: TableGridSwitchStateFoldersParams<T1, F1, T2, F2>) {\n this.container = params.container;\n this.containerOverrides = params.containerOverrides;\n\n this.tableFoldersState = new TableFoldersState({\n items: params.items,\n folders: params.folders,\n container: this.container,\n toolbar: new ToolbarCollectionState({\n componentType: 'TableGridSwitchFolders',\n collection: params.items as CollectionState<T1, {}> as CollectionState<\n T1,\n PartialAllFilters<F1, F2>\n >,\n container: params.container,\n reportBi: (biParams) =>\n this.container.reportBi({\n ...biParams,\n params: {\n ...biParams.params,\n componentStatus: this.viewTypeState.viewType,\n },\n }),\n }),\n });\n\n this.gridFoldersState = new GridFoldersState({\n items: params.items,\n folders: params.folders,\n container: this.container,\n toolbar: this.tableFoldersState.toolbar,\n collections: this.tableFoldersState.collections,\n });\n\n this.viewTypeState = new ViewTypeState({\n container: this.container,\n dataCapsule: this.toolbar.dataCapsule,\n componentType: 'TableGridSwitchFolders',\n });\n\n makeObservable(this, {\n viewType: computed,\n });\n }\n\n get viewType() {\n return this.viewTypeState.viewType;\n }\n\n set viewType(viewType: ViewType) {\n runInAction(() => {\n this.viewTypeState.viewType = viewType;\n });\n }\n\n get toolbar() {\n return this.tableFoldersState.toolbar;\n }\n\n init() {\n this.initTask.runOnce(async () => {\n await this.viewTypeState.init();\n });\n }\n}\n"],"mappings":";;;;;;AAAA,IAAAA,QAAA,GAAAC,OAAA;AAOA,IAAAC,iBAAA,GAAAD,OAAA;AACA,IAAAE,kBAAA,GAAAF,OAAA;AACA,IAAAG,KAAA,GAAAH,OAAA;AACA,IAAAI,uBAAA,GAAAJ,OAAA;AAEA,IAAAK,cAAA,GAAAL,OAAA;AAeO,MAAMM,2BAA2B,CAMxC;EASEC,WAAWA,CAACC,MAAyD,EAAE;IAAA,IAAAC,gBAAA,CAAAC,OAAA;IAAA,IAAAD,gBAAA,CAAAC,OAAA,oBAPnD,IAAIC,kBAAS,CAAC,CAAC;IAAA,IAAAF,gBAAA,CAAAC,OAAA;IAAA,IAAAD,gBAAA,CAAAC,OAAA;IAAA,IAAAD,gBAAA,CAAAC,OAAA;IAAA,IAAAD,gBAAA,CAAAC,OAAA;IAQjC,IAAI,CAACE,SAAS,GAAGJ,MAAM,CAACI,SAAS;IACjC,IAAI,CAACC,kBAAkB,GAAGL,MAAM,CAACK,kBAAkB;IAEnD,IAAI,CAACC,iBAAiB,GAAG,IAAIC,oCAAiB,CAAC;MAC7CC,KAAK,EAAER,MAAM,CAACQ,KAAK;MACnBC,OAAO,EAAET,MAAM,CAACS,OAAO;MACvBL,SAAS,EAAE,IAAI,CAACA,SAAS;MACzBM,OAAO,EAAE,IAAIC,8CAAsB,CAAC;QAClCC,aAAa,EAAE,wBAAwB;QACvCC,UAAU,EAAEb,MAAM,CAACQ,KAGlB;QACDJ,SAAS,EAAEJ,MAAM,CAACI,SAAS;QAC3BU,QAAQ,EAAGC,QAAQ,IACjB,IAAI,CAACX,SAAS,CAACU,QAAQ,CAAC;UACtB,GAAGC,QAAQ;UACXf,MAAM,EAAE;YACN,GAAGe,QAAQ,CAACf,MAAM;YAClBgB,eAAe,EAAE,IAAI,CAACC,aAAa,CAACC;UACtC;QACF,CAAC;MACL,CAAC;IACH,CAAC,CAAC;IAEF,IAAI,CAACC,gBAAgB,GAAG,IAAIC,kCAAgB,CAAC;MAC3CZ,KAAK,EAAER,MAAM,CAACQ,KAAK;MACnBC,OAAO,EAAET,MAAM,CAACS,OAAO;MACvBL,SAAS,EAAE,IAAI,CAACA,SAAS;MACzBM,OAAO,EAAE,IAAI,CAACJ,iBAAiB,CAACI,OAAO;MACvCW,WAAW,EAAE,IAAI,CAACf,iBAAiB,CAACe;IACtC,CAAC,CAAC;IAEF,IAAI,CAACJ,aAAa,GAAG,IAAIK,4BAAa,CAAC;MACrClB,SAAS,EAAE,IAAI,CAACA,SAAS;MACzBmB,WAAW,EAAE,IAAI,CAACb,OAAO,CAACa,WAAW;MACrCX,aAAa,EAAE;IACjB,CAAC,CAAC;IAEF,IAAAY,oBAAc,EAAC,IAAI,EAAE;MACnBN,QAAQ,EAAEO;IACZ,CAAC,CAAC;EACJ;EAEA,IAAIP,QAAQA,CAAA,EAAG;IACb,OAAO,IAAI,CAACD,aAAa,CAACC,QAAQ;EACpC;EAEA,IAAIA,QAAQA,CAACA,QAAkB,EAAE;IAC/B,IAAAQ,iBAAW,EAAC,MAAM;MAChB,IAAI,CAACT,aAAa,CAACC,QAAQ,GAAGA,QAAQ;IACxC,CAAC,CAAC;EACJ;EAEA,IAAIR,OAAOA,CAAA,EAAG;IACZ,OAAO,IAAI,CAACJ,iBAAiB,CAACI,OAAO;EACvC;EAEAiB,IAAIA,CAAA,EAAG;IACL,IAAI,CAACC,QAAQ,CAACC,OAAO,CAAC,YAAY;MAChC,MAAM,IAAI,CAACZ,aAAa,CAACU,IAAI,CAAC,CAAC;IACjC,CAAC,CAAC;EACJ;AACF;AAACG,OAAA,CAAAhC,2BAAA,GAAAA,2BAAA","ignoreList":[]}