@polygrid/core 1.0.495 → 1.0.497

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 (281) hide show
  1. package/dist/api/index.d.ts +2 -0
  2. package/dist/api/index.d.ts.map +1 -1
  3. package/dist/api/index.js +2 -0
  4. package/dist/api/index.js.map +1 -1
  5. package/dist/api/set-animation-options.d.ts +4 -0
  6. package/dist/api/set-animation-options.d.ts.map +1 -0
  7. package/dist/api/set-animation-options.js +6 -0
  8. package/dist/api/set-animation-options.js.map +1 -0
  9. package/dist/api/set-data.d.ts.map +1 -1
  10. package/dist/api/set-data.js +2 -1
  11. package/dist/api/set-data.js.map +1 -1
  12. package/dist/api/set-groupable.d.ts.map +1 -1
  13. package/dist/api/set-groupable.js +9 -0
  14. package/dist/api/set-groupable.js.map +1 -1
  15. package/dist/engine/const/pg-css-class.d.ts +6 -0
  16. package/dist/engine/const/pg-css-class.d.ts.map +1 -1
  17. package/dist/engine/const/pg-css-class.js +6 -0
  18. package/dist/engine/const/pg-css-class.js.map +1 -1
  19. package/dist/engine/core/grid-dom.d.ts +2 -0
  20. package/dist/engine/core/grid-dom.d.ts.map +1 -1
  21. package/dist/engine/core/grid-dom.js.map +1 -1
  22. package/dist/engine/core/grid-runtime.d.ts +2 -0
  23. package/dist/engine/core/grid-runtime.d.ts.map +1 -1
  24. package/dist/engine/core/grid-runtime.js +2 -0
  25. package/dist/engine/core/grid-runtime.js.map +1 -1
  26. package/dist/engine/core/interfaces/grid-options.d.ts +2 -0
  27. package/dist/engine/core/interfaces/grid-options.d.ts.map +1 -1
  28. package/dist/engine/core/methods/consume-options.d.ts.map +1 -1
  29. package/dist/engine/core/methods/consume-options.js +14 -1
  30. package/dist/engine/core/methods/consume-options.js.map +1 -1
  31. package/dist/engine/core/methods/index.d.ts +1 -0
  32. package/dist/engine/core/methods/index.d.ts.map +1 -1
  33. package/dist/engine/core/methods/index.js +1 -0
  34. package/dist/engine/core/methods/index.js.map +1 -1
  35. package/dist/engine/core/methods/normalize-view-rows.d.ts +4 -0
  36. package/dist/engine/core/methods/normalize-view-rows.d.ts.map +1 -0
  37. package/dist/engine/core/methods/normalize-view-rows.js +9 -0
  38. package/dist/engine/core/methods/normalize-view-rows.js.map +1 -0
  39. package/dist/engine/services/animation/index.d.ts +4 -0
  40. package/dist/engine/services/animation/index.d.ts.map +1 -1
  41. package/dist/engine/services/animation/index.js +4 -0
  42. package/dist/engine/services/animation/index.js.map +1 -1
  43. package/dist/engine/services/animation/interfaces/animation-options.d.ts +6 -0
  44. package/dist/engine/services/animation/interfaces/animation-options.d.ts.map +1 -0
  45. package/dist/engine/services/animation/interfaces/animation-options.js +2 -0
  46. package/dist/engine/services/animation/interfaces/animation-options.js.map +1 -0
  47. package/dist/engine/services/animation/methods/grouping/collapse-animation.d.ts +5 -0
  48. package/dist/engine/services/animation/methods/grouping/collapse-animation.d.ts.map +1 -0
  49. package/dist/engine/services/animation/methods/grouping/collapse-animation.js +66 -0
  50. package/dist/engine/services/animation/methods/grouping/collapse-animation.js.map +1 -0
  51. package/dist/engine/services/animation/methods/grouping/expand-animation.d.ts +5 -0
  52. package/dist/engine/services/animation/methods/grouping/expand-animation.d.ts.map +1 -0
  53. package/dist/engine/services/animation/methods/grouping/expand-animation.js +81 -0
  54. package/dist/engine/services/animation/methods/grouping/expand-animation.js.map +1 -0
  55. package/dist/engine/services/animation/methods/sorting/capture-after-row-pos.d.ts.map +1 -1
  56. package/dist/engine/services/animation/methods/sorting/capture-after-row-pos.js +4 -2
  57. package/dist/engine/services/animation/methods/sorting/capture-after-row-pos.js.map +1 -1
  58. package/dist/engine/services/animation/methods/sorting/capture-before-row-pos.d.ts.map +1 -1
  59. package/dist/engine/services/animation/methods/sorting/capture-before-row-pos.js +4 -2
  60. package/dist/engine/services/animation/methods/sorting/capture-before-row-pos.js.map +1 -1
  61. package/dist/engine/services/column/methods/mouse-up.d.ts.map +1 -1
  62. package/dist/engine/services/column/methods/mouse-up.js +17 -13
  63. package/dist/engine/services/column/methods/mouse-up.js.map +1 -1
  64. package/dist/engine/services/column/methods/normalize-columns.d.ts.map +1 -1
  65. package/dist/engine/services/column/methods/normalize-columns.js +17 -8
  66. package/dist/engine/services/column/methods/normalize-columns.js.map +1 -1
  67. package/dist/engine/services/column/methods/start-resize.d.ts.map +1 -1
  68. package/dist/engine/services/column/methods/start-resize.js +1 -0
  69. package/dist/engine/services/column/methods/start-resize.js.map +1 -1
  70. package/dist/engine/services/data/data.d.ts +2 -1
  71. package/dist/engine/services/data/data.d.ts.map +1 -1
  72. package/dist/engine/services/data/data.js.map +1 -1
  73. package/dist/engine/services/data/methods/apply-sort-and-filter.d.ts.map +1 -1
  74. package/dist/engine/services/data/methods/apply-sort-and-filter.js +6 -2
  75. package/dist/engine/services/data/methods/apply-sort-and-filter.js.map +1 -1
  76. package/dist/engine/services/dragdrop/methods/end-drag.d.ts.map +1 -1
  77. package/dist/engine/services/dragdrop/methods/end-drag.js +8 -6
  78. package/dist/engine/services/dragdrop/methods/end-drag.js.map +1 -1
  79. package/dist/engine/services/dragdrop/methods/start-drag-handler.d.ts.map +1 -1
  80. package/dist/engine/services/dragdrop/methods/start-drag-handler.js +14 -10
  81. package/dist/engine/services/dragdrop/methods/start-drag-handler.js.map +1 -1
  82. package/dist/engine/services/dragdrop/methods/start-drag.d.ts.map +1 -1
  83. package/dist/engine/services/dragdrop/methods/start-drag.js +5 -4
  84. package/dist/engine/services/dragdrop/methods/start-drag.js.map +1 -1
  85. package/dist/engine/services/dragdrop/methods/update-position.d.ts.map +1 -1
  86. package/dist/engine/services/dragdrop/methods/update-position.js +6 -5
  87. package/dist/engine/services/dragdrop/methods/update-position.js.map +1 -1
  88. package/dist/engine/services/filter/methods/set-filterable.d.ts.map +1 -1
  89. package/dist/engine/services/filter/methods/set-filterable.js +6 -2
  90. package/dist/engine/services/filter/methods/set-filterable.js.map +1 -1
  91. package/dist/engine/services/grouping/index.d.ts +28 -0
  92. package/dist/engine/services/grouping/index.d.ts.map +1 -1
  93. package/dist/engine/services/grouping/index.js +28 -0
  94. package/dist/engine/services/grouping/index.js.map +1 -1
  95. package/dist/engine/services/grouping/interfaces/grouping-settings.d.ts +2 -0
  96. package/dist/engine/services/grouping/interfaces/grouping-settings.d.ts.map +1 -1
  97. package/dist/engine/services/grouping/methods/data/aggregate.d.ts +4 -0
  98. package/dist/engine/services/grouping/methods/data/aggregate.d.ts.map +1 -0
  99. package/dist/engine/services/grouping/methods/data/aggregate.js +154 -0
  100. package/dist/engine/services/grouping/methods/data/aggregate.js.map +1 -0
  101. package/dist/engine/services/grouping/methods/data/apply-grouping.d.ts +3 -0
  102. package/dist/engine/services/grouping/methods/data/apply-grouping.d.ts.map +1 -0
  103. package/dist/engine/services/grouping/methods/data/apply-grouping.js +18 -0
  104. package/dist/engine/services/grouping/methods/data/apply-grouping.js.map +1 -0
  105. package/dist/engine/services/grouping/methods/data/assign-group-paths.d.ts +3 -0
  106. package/dist/engine/services/grouping/methods/data/assign-group-paths.d.ts.map +1 -0
  107. package/dist/engine/services/grouping/methods/data/assign-group-paths.js +10 -0
  108. package/dist/engine/services/grouping/methods/data/assign-group-paths.js.map +1 -0
  109. package/dist/engine/services/grouping/methods/data/collapse-all-groups.d.ts +3 -0
  110. package/dist/engine/services/grouping/methods/data/collapse-all-groups.d.ts.map +1 -0
  111. package/dist/engine/services/grouping/methods/data/collapse-all-groups.js +8 -0
  112. package/dist/engine/services/grouping/methods/data/collapse-all-groups.js.map +1 -0
  113. package/dist/engine/services/grouping/methods/data/flatten-groups.d.ts +4 -0
  114. package/dist/engine/services/grouping/methods/data/flatten-groups.d.ts.map +1 -0
  115. package/dist/engine/services/grouping/methods/data/flatten-groups.js +37 -0
  116. package/dist/engine/services/grouping/methods/data/flatten-groups.js.map +1 -0
  117. package/dist/engine/services/grouping/methods/data/get-child-row-instances.d.ts +6 -0
  118. package/dist/engine/services/grouping/methods/data/get-child-row-instances.d.ts.map +1 -0
  119. package/dist/engine/services/grouping/methods/data/get-child-row-instances.js +21 -0
  120. package/dist/engine/services/grouping/methods/data/get-child-row-instances.js.map +1 -0
  121. package/dist/engine/services/grouping/methods/data/get-sticky-group-header.d.ts +5 -0
  122. package/dist/engine/services/grouping/methods/data/get-sticky-group-header.d.ts.map +1 -0
  123. package/dist/engine/services/grouping/methods/data/get-sticky-group-header.js +15 -0
  124. package/dist/engine/services/grouping/methods/data/get-sticky-group-header.js.map +1 -0
  125. package/dist/engine/services/grouping/methods/data/group-data.d.ts +5 -0
  126. package/dist/engine/services/grouping/methods/data/group-data.d.ts.map +1 -0
  127. package/dist/engine/services/grouping/methods/data/group-data.js +48 -0
  128. package/dist/engine/services/grouping/methods/data/group-data.js.map +1 -0
  129. package/dist/engine/services/grouping/methods/data/sort-grouped-data.d.ts +4 -0
  130. package/dist/engine/services/grouping/methods/data/sort-grouped-data.d.ts.map +1 -0
  131. package/dist/engine/services/grouping/methods/data/sort-grouped-data.js +36 -0
  132. package/dist/engine/services/grouping/methods/data/sort-grouped-data.js.map +1 -0
  133. package/dist/engine/services/grouping/methods/ui/build-sticky-group-content.d.ts +4 -0
  134. package/dist/engine/services/grouping/methods/ui/build-sticky-group-content.d.ts.map +1 -0
  135. package/dist/engine/services/grouping/methods/ui/build-sticky-group-content.js +19 -0
  136. package/dist/engine/services/grouping/methods/ui/build-sticky-group-content.js.map +1 -0
  137. package/dist/engine/services/grouping/methods/ui/column-dropped.d.ts.map +1 -1
  138. package/dist/engine/services/grouping/methods/ui/column-dropped.js +18 -4
  139. package/dist/engine/services/grouping/methods/ui/column-dropped.js.map +1 -1
  140. package/dist/engine/services/grouping/methods/ui/end-drag.d.ts.map +1 -1
  141. package/dist/engine/services/grouping/methods/ui/end-drag.js +8 -4
  142. package/dist/engine/services/grouping/methods/ui/end-drag.js.map +1 -1
  143. package/dist/engine/services/grouping/methods/ui/ensure-sticky-group-header.d.ts +4 -0
  144. package/dist/engine/services/grouping/methods/ui/ensure-sticky-group-header.d.ts.map +1 -0
  145. package/dist/engine/services/grouping/methods/ui/ensure-sticky-group-header.js +17 -0
  146. package/dist/engine/services/grouping/methods/ui/ensure-sticky-group-header.js.map +1 -0
  147. package/dist/engine/services/grouping/methods/ui/group-click.d.ts +4 -0
  148. package/dist/engine/services/grouping/methods/ui/group-click.d.ts.map +1 -0
  149. package/dist/engine/services/grouping/methods/ui/group-click.js +81 -0
  150. package/dist/engine/services/grouping/methods/ui/group-click.js.map +1 -0
  151. package/dist/engine/services/grouping/methods/ui/remove-column-from-grouped.d.ts.map +1 -1
  152. package/dist/engine/services/grouping/methods/ui/remove-column-from-grouped.js +1 -0
  153. package/dist/engine/services/grouping/methods/ui/remove-column-from-grouped.js.map +1 -1
  154. package/dist/engine/services/grouping/methods/ui/remove-grouped-column.d.ts.map +1 -1
  155. package/dist/engine/services/grouping/methods/ui/remove-grouped-column.js +15 -3
  156. package/dist/engine/services/grouping/methods/ui/remove-grouped-column.js.map +1 -1
  157. package/dist/engine/services/grouping/methods/ui/render-single-column-mode.d.ts +3 -0
  158. package/dist/engine/services/grouping/methods/ui/render-single-column-mode.d.ts.map +1 -0
  159. package/dist/engine/services/grouping/methods/ui/render-single-column-mode.js +15 -0
  160. package/dist/engine/services/grouping/methods/ui/render-single-column-mode.js.map +1 -0
  161. package/dist/engine/services/grouping/methods/ui/set-groupable.d.ts.map +1 -1
  162. package/dist/engine/services/grouping/methods/ui/set-groupable.js +8 -1
  163. package/dist/engine/services/grouping/methods/ui/set-groupable.js.map +1 -1
  164. package/dist/engine/services/grouping/methods/ui/start-drag-on-column.js +1 -1
  165. package/dist/engine/services/grouping/methods/ui/start-drag-on-column.js.map +1 -1
  166. package/dist/engine/services/grouping/methods/ui/start-drag-on-grouped-column.js +1 -1
  167. package/dist/engine/services/grouping/methods/ui/start-drag-on-grouped-column.js.map +1 -1
  168. package/dist/engine/services/grouping/methods/ui/update-grouping-panel-hover-state.d.ts.map +1 -1
  169. package/dist/engine/services/grouping/methods/ui/update-grouping-panel-hover-state.js +19 -9
  170. package/dist/engine/services/grouping/methods/ui/update-grouping-panel-hover-state.js.map +1 -1
  171. package/dist/engine/services/grouping/methods/ui/update-sticky-group-header.d.ts +4 -0
  172. package/dist/engine/services/grouping/methods/ui/update-sticky-group-header.d.ts.map +1 -0
  173. package/dist/engine/services/grouping/methods/ui/update-sticky-group-header.js +31 -0
  174. package/dist/engine/services/grouping/methods/ui/update-sticky-group-header.js.map +1 -0
  175. package/dist/engine/services/grouping/types/grouping-display-mode.d.ts +2 -0
  176. package/dist/engine/services/grouping/types/grouping-display-mode.d.ts.map +1 -0
  177. package/dist/engine/services/grouping/types/grouping-display-mode.js +2 -0
  178. package/dist/engine/services/grouping/types/grouping-display-mode.js.map +1 -0
  179. package/dist/engine/services/layout/layout.d.ts.map +1 -1
  180. package/dist/engine/services/layout/layout.js +6 -2
  181. package/dist/engine/services/layout/layout.js.map +1 -1
  182. package/dist/engine/services/layout/methods/add-scroll-event-listeners.d.ts.map +1 -1
  183. package/dist/engine/services/layout/methods/add-scroll-event-listeners.js +4 -1
  184. package/dist/engine/services/layout/methods/add-scroll-event-listeners.js.map +1 -1
  185. package/dist/engine/services/layout/methods/update-column-widths.d.ts.map +1 -1
  186. package/dist/engine/services/layout/methods/update-column-widths.js +4 -0
  187. package/dist/engine/services/layout/methods/update-column-widths.js.map +1 -1
  188. package/dist/engine/services/loading/methods/toggle-loading.d.ts.map +1 -1
  189. package/dist/engine/services/loading/methods/toggle-loading.js +2 -1
  190. package/dist/engine/services/loading/methods/toggle-loading.js.map +1 -1
  191. package/dist/engine/services/renderer/methods/re-render-cells.d.ts.map +1 -1
  192. package/dist/engine/services/renderer/methods/re-render-cells.js +2 -1
  193. package/dist/engine/services/renderer/methods/re-render-cells.js.map +1 -1
  194. package/dist/engine/services/renderer/parts/grid/grid.d.ts.map +1 -1
  195. package/dist/engine/services/renderer/parts/grid/grid.js +9 -2
  196. package/dist/engine/services/renderer/parts/grid/grid.js.map +1 -1
  197. package/dist/engine/services/renderer/parts/grouping/chip-list.d.ts.map +1 -0
  198. package/dist/engine/services/renderer/parts/grouping/chip-list.js.map +1 -0
  199. package/dist/engine/services/renderer/parts/grouping/create-chip-element.d.ts.map +1 -0
  200. package/dist/engine/services/renderer/parts/grouping/create-chip-element.js.map +1 -0
  201. package/dist/engine/services/renderer/parts/grouping/group-wrapper.d.ts +4 -0
  202. package/dist/engine/services/renderer/parts/grouping/group-wrapper.d.ts.map +1 -0
  203. package/dist/engine/services/renderer/parts/grouping/group-wrapper.js +35 -0
  204. package/dist/engine/services/renderer/parts/grouping/group-wrapper.js.map +1 -0
  205. package/dist/engine/services/renderer/parts/grouping/grouping-drag-preview.d.ts.map +1 -0
  206. package/dist/engine/services/renderer/parts/grouping/grouping-drag-preview.js.map +1 -0
  207. package/dist/engine/services/renderer/parts/grouping/grouping-panel.d.ts.map +1 -0
  208. package/dist/engine/services/renderer/parts/grouping/grouping-panel.js.map +1 -0
  209. package/dist/engine/services/renderer/parts/grouping/sticky-group-header.d.ts +3 -0
  210. package/dist/engine/services/renderer/parts/grouping/sticky-group-header.d.ts.map +1 -0
  211. package/dist/engine/services/renderer/parts/grouping/sticky-group-header.js +14 -0
  212. package/dist/engine/services/renderer/parts/grouping/sticky-group-header.js.map +1 -0
  213. package/dist/engine/services/renderer/parts/header/header-cells.d.ts.map +1 -1
  214. package/dist/engine/services/renderer/parts/header/header-cells.js +7 -1
  215. package/dist/engine/services/renderer/parts/header/header-cells.js.map +1 -1
  216. package/dist/engine/services/row/classes/row-instance.d.ts +6 -2
  217. package/dist/engine/services/row/classes/row-instance.d.ts.map +1 -1
  218. package/dist/engine/services/row/classes/row-instance.js +46 -2
  219. package/dist/engine/services/row/classes/row-instance.js.map +1 -1
  220. package/dist/engine/services/row/classes/row-pool.d.ts +2 -2
  221. package/dist/engine/services/row/classes/row-pool.d.ts.map +1 -1
  222. package/dist/engine/services/row/classes/row-pool.js +70 -23
  223. package/dist/engine/services/row/classes/row-pool.js.map +1 -1
  224. package/dist/engine/services/row/index.d.ts +2 -0
  225. package/dist/engine/services/row/index.d.ts.map +1 -1
  226. package/dist/engine/services/row/index.js +6 -1
  227. package/dist/engine/services/row/index.js.map +1 -1
  228. package/dist/engine/services/row/methods/recompute-virtual-rows.d.ts.map +1 -1
  229. package/dist/engine/services/row/methods/recompute-virtual-rows.js +5 -1
  230. package/dist/engine/services/row/methods/recompute-virtual-rows.js.map +1 -1
  231. package/dist/engine/services/row/methods/update-virtual-rows.d.ts.map +1 -1
  232. package/dist/engine/services/row/methods/update-virtual-rows.js +2 -1
  233. package/dist/engine/services/row/methods/update-virtual-rows.js.map +1 -1
  234. package/dist/engine/services/row/types/view-row.d.ts +14 -0
  235. package/dist/engine/services/row/types/view-row.d.ts.map +1 -0
  236. package/dist/engine/services/row/types/view-row.js +2 -0
  237. package/dist/engine/services/row/types/view-row.js.map +1 -0
  238. package/dist/engine/services/sort/methods/apply-current-sort.d.ts.map +1 -1
  239. package/dist/engine/services/sort/methods/apply-current-sort.js +2 -1
  240. package/dist/engine/services/sort/methods/apply-current-sort.js.map +1 -1
  241. package/dist/engine/services/sort/methods/apply-init-sort.d.ts.map +1 -1
  242. package/dist/engine/services/sort/methods/apply-init-sort.js +2 -1
  243. package/dist/engine/services/sort/methods/apply-init-sort.js.map +1 -1
  244. package/dist/engine/services/sort/methods/clear-sort.d.ts.map +1 -1
  245. package/dist/engine/services/sort/methods/clear-sort.js +2 -1
  246. package/dist/engine/services/sort/methods/clear-sort.js.map +1 -1
  247. package/dist/engine/services/sort/methods/sort.js +2 -2
  248. package/dist/engine/services/sort/methods/sort.js.map +1 -1
  249. package/dist/engine/store/interfaces/dragdrop-state.d.ts +0 -1
  250. package/dist/engine/store/interfaces/dragdrop-state.d.ts.map +1 -1
  251. package/dist/engine/store/interfaces/grouping-state.d.ts +12 -0
  252. package/dist/engine/store/interfaces/grouping-state.d.ts.map +1 -1
  253. package/dist/engine/store/interfaces/resize-state.d.ts +1 -0
  254. package/dist/engine/store/interfaces/resize-state.d.ts.map +1 -1
  255. package/dist/engine/store/interfaces/view-state.d.ts +4 -1
  256. package/dist/engine/store/interfaces/view-state.d.ts.map +1 -1
  257. package/dist/engine/store/methods/create-initial-state.d.ts.map +1 -1
  258. package/dist/engine/store/methods/create-initial-state.js +11 -1
  259. package/dist/engine/store/methods/create-initial-state.js.map +1 -1
  260. package/dist/engine/store/types/change-reason.d.ts +1 -1
  261. package/dist/engine/store/types/change-reason.d.ts.map +1 -1
  262. package/dist/index.d.ts +1 -0
  263. package/dist/index.d.ts.map +1 -1
  264. package/dist/polygrid.css +56 -0
  265. package/package.json +1 -1
  266. package/dist/engine/services/renderer/parts/grouping-panel/chip-list.d.ts.map +0 -1
  267. package/dist/engine/services/renderer/parts/grouping-panel/chip-list.js.map +0 -1
  268. package/dist/engine/services/renderer/parts/grouping-panel/create-chip-element.d.ts.map +0 -1
  269. package/dist/engine/services/renderer/parts/grouping-panel/create-chip-element.js.map +0 -1
  270. package/dist/engine/services/renderer/parts/grouping-panel/grouping-drag-preview.d.ts.map +0 -1
  271. package/dist/engine/services/renderer/parts/grouping-panel/grouping-drag-preview.js.map +0 -1
  272. package/dist/engine/services/renderer/parts/grouping-panel/grouping-panel.d.ts.map +0 -1
  273. package/dist/engine/services/renderer/parts/grouping-panel/grouping-panel.js.map +0 -1
  274. /package/dist/engine/services/renderer/parts/{grouping-panel → grouping}/chip-list.d.ts +0 -0
  275. /package/dist/engine/services/renderer/parts/{grouping-panel → grouping}/chip-list.js +0 -0
  276. /package/dist/engine/services/renderer/parts/{grouping-panel → grouping}/create-chip-element.d.ts +0 -0
  277. /package/dist/engine/services/renderer/parts/{grouping-panel → grouping}/create-chip-element.js +0 -0
  278. /package/dist/engine/services/renderer/parts/{grouping-panel → grouping}/grouping-drag-preview.d.ts +0 -0
  279. /package/dist/engine/services/renderer/parts/{grouping-panel → grouping}/grouping-drag-preview.js +0 -0
  280. /package/dist/engine/services/renderer/parts/{grouping-panel → grouping}/grouping-panel.d.ts +0 -0
  281. /package/dist/engine/services/renderer/parts/{grouping-panel → grouping}/grouping-panel.js +0 -0
@@ -0,0 +1,4 @@
1
+ import { PolyGrid } from "../../../../core/grid";
2
+ import { Group } from "../../interfaces/group";
3
+ export declare function buildStickyGroupContent(grid: PolyGrid, group: Group): HTMLElement;
4
+ //# sourceMappingURL=build-sticky-group-content.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"build-sticky-group-content.d.ts","sourceRoot":"","sources":["../../../../../../src/engine/services/grouping/methods/ui/build-sticky-group-content.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AACjD,OAAO,EAAE,KAAK,EAAE,MAAM,wBAAwB,CAAC;AAE/C,wBAAgB,uBAAuB,CACrC,IAAI,EAAE,QAAQ,EACd,KAAK,EAAE,KAAK,GACX,WAAW,CAyBb"}
@@ -0,0 +1,19 @@
1
+ import { PG_CSS_CLASS } from "../../../../const/pg-css-class";
2
+ export function buildStickyGroupContent(grid, group) {
3
+ const div = document.createElement("div");
4
+ div.className = PG_CSS_CLASS.groupContent;
5
+ div.style.paddingLeft = `${group.level * 16}px`;
6
+ const iconContainer = document.createElement("span");
7
+ iconContainer.classList.add("icon");
8
+ const chevronRight = grid._services.icon.renderIcon(grid._services.icon, "chevronRight");
9
+ iconContainer.replaceChildren(chevronRight);
10
+ iconContainer.className = PG_CSS_CLASS.groupToggle;
11
+ const label = document.createElement("span");
12
+ label.className = PG_CSS_CLASS.groupLabel;
13
+ const count = group.children?.length || group.rows?.length || 0;
14
+ label.textContent = `${group.key} (${count})`;
15
+ div.appendChild(iconContainer);
16
+ div.appendChild(label);
17
+ return div;
18
+ }
19
+ //# sourceMappingURL=build-sticky-group-content.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"build-sticky-group-content.js","sourceRoot":"","sources":["../../../../../../src/engine/services/grouping/methods/ui/build-sticky-group-content.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,gCAAgC,CAAC;AAI9D,MAAM,UAAU,uBAAuB,CACrC,IAAc,EACd,KAAY;IAEZ,MAAM,GAAG,GAAG,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;IAC1C,GAAG,CAAC,SAAS,GAAG,YAAY,CAAC,YAAY,CAAC;IAC1C,GAAG,CAAC,KAAK,CAAC,WAAW,GAAG,GAAG,KAAK,CAAC,KAAK,GAAG,EAAE,IAAI,CAAC;IAEhD,MAAM,aAAa,GAAG,QAAQ,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC;IACrD,aAAa,CAAC,SAAS,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;IACpC,MAAM,YAAY,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,UAAU,CACjD,IAAI,CAAC,SAAS,CAAC,IAAI,EACnB,cAAc,CACd,CAAC;IACH,aAAa,CAAC,eAAe,CAAC,YAAY,CAAC,CAAC;IAC5C,aAAa,CAAC,SAAS,GAAG,YAAY,CAAC,WAAW,CAAC;IAEnD,MAAM,KAAK,GAAG,QAAQ,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC;IAC7C,KAAK,CAAC,SAAS,GAAG,YAAY,CAAC,UAAU,CAAC;IAE1C,MAAM,KAAK,GAAG,KAAK,CAAC,QAAQ,EAAE,MAAM,IAAI,KAAK,CAAC,IAAI,EAAE,MAAM,IAAI,CAAC,CAAC;IAEhE,KAAK,CAAC,WAAW,GAAG,GAAG,KAAK,CAAC,GAAG,KAAK,KAAK,GAAG,CAAC;IAE9C,GAAG,CAAC,WAAW,CAAC,aAAa,CAAC,CAAC;IAC/B,GAAG,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;IAEvB,OAAO,GAAG,CAAC;AACb,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"column-dropped.d.ts","sourceRoot":"","sources":["../../../../../../src/engine/services/grouping/methods/ui/column-dropped.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AAGjD,OAAO,EAAE,gBAAgB,EAAE,MAAM,gCAAgC,CAAC;AAElE,wBAAgB,aAAa,CAAC,IAAI,EAAE,QAAQ,EAAE,QAAQ,EAAE,gBAAgB,QAuCvE"}
1
+ {"version":3,"file":"column-dropped.d.ts","sourceRoot":"","sources":["../../../../../../src/engine/services/grouping/methods/ui/column-dropped.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AAGjD,OAAO,EAAE,gBAAgB,EAAE,MAAM,gCAAgC,CAAC;AAIlE,wBAAgB,aAAa,CAAC,IAAI,EAAE,QAAQ,EAAE,QAAQ,EAAE,gBAAgB,QAqDvE"}
@@ -1,12 +1,23 @@
1
+ import { applyGrouping } from "../data/apply-grouping";
2
+ import { renderSingleColumnMode } from "./render-single-column-mode";
1
3
  export function columnDropped(grid, dragData) {
2
4
  const { column, type } = dragData;
3
5
  const services = grid._services;
4
6
  const state = grid._store.getState();
5
7
  if (type === "column-header") {
8
+ const alreadyGrouped = state.view.groupingState.groupedColumns.find((col) => col.column.id === dragData.column.id);
9
+ if (alreadyGrouped)
10
+ return;
6
11
  const insertIndex = state.view.groupingState.hoveredInsertIndex;
7
12
  services.grouping.addColumnToGroupedColumns(column, insertIndex ?? state.view.groupingState.groupedColumns.length, grid);
8
- state.view.groupingState.hoveredInsertIndex = null;
9
- state.view.groupingState.isGridGrouped = true;
13
+ if (state.view.groupingState.displayMode === "single-group-column")
14
+ renderSingleColumnMode(grid);
15
+ applyGrouping(grid);
16
+ grid._store.update((draft) => {
17
+ draft.view.groupingState.hoveredInsertIndex = null;
18
+ draft.view.viewRowsChangeReason = "group";
19
+ draft.view.groupingState.isGridGrouped = true;
20
+ });
10
21
  }
11
22
  else {
12
23
  const draggedIndex = dragData.column.orderIndex;
@@ -24,8 +35,11 @@ export function columnDropped(grid, dragData) {
24
35
  });
25
36
  }
26
37
  // Reset state
27
- state.view.groupingState.hasChipCrossedMidpoint = false;
28
- state.view.groupingState.hoveredInsertIndex = null;
38
+ grid._store.update((draft) => {
39
+ draft.view.groupingState.hasChipCrossedMidpoint = false;
40
+ draft.view.groupingState.hoveredInsertIndex = null;
41
+ draft.view.viewRowsChangeReason = "group";
42
+ });
29
43
  }
30
44
  }
31
45
  function getDropIndex(draggedIndex, hovered) {
@@ -1 +1 @@
1
- {"version":3,"file":"column-dropped.js","sourceRoot":"","sources":["../../../../../../src/engine/services/grouping/methods/ui/column-dropped.ts"],"names":[],"mappings":"AAKA,MAAM,UAAU,aAAa,CAAC,IAAc,EAAE,QAA0B;IACtE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,GAAG,QAAQ,CAAC;IAClC,MAAM,QAAQ,GAAG,IAAI,CAAC,SAAS,CAAC;IAChC,MAAM,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC;IAErC,IAAI,IAAI,KAAK,eAAe,EAAE,CAAC;QAC7B,MAAM,WAAW,GAAG,KAAK,CAAC,IAAI,CAAC,aAAa,CAAC,kBAAkB,CAAC;QAChE,QAAQ,CAAC,QAAQ,CAAC,yBAAyB,CACzC,MAAwB,EACxB,WAAW,IAAI,KAAK,CAAC,IAAI,CAAC,aAAa,CAAC,cAAc,CAAC,MAAM,EAC7D,IAAI,CACL,CAAC;QACF,KAAK,CAAC,IAAI,CAAC,aAAa,CAAC,kBAAkB,GAAG,IAAI,CAAC;QACnD,KAAK,CAAC,IAAI,CAAC,aAAa,CAAC,aAAa,GAAG,IAAI,CAAC;IAChD,CAAC;SAAM,CAAC;QACN,MAAM,YAAY,GAAI,QAAQ,CAAC,MAAwB,CAAC,UAAU,CAAC;QACnE,MAAM,OAAO,GAAG,KAAK,CAAC,IAAI,CAAC,aAAa,CAAC,kBAAmB,CAAC;QAC7D,MAAM,WAAW,GAAG,YAAY,CAAC,YAAY,EAAE,OAAO,CAAC,CAAC;QACxD,QAAQ,CAAC,QAAQ,CAAC,oBAAoB,CACpC,IAAI,EACH,MAAwB,CAAC,MAAM,EAChC,WAAW,CACZ,CAAC;QACF,sDAAsD;QACtD,MAAM,SAAS,GAAG,IAAI,CAAC,QAAQ,CAAC,aAAa,CAAC,aAAa,CACzD,wBAAwB,CACzB,CAAC;QACF,IAAI,SAAS,EAAE,CAAC;YACd,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,EAAE;gBAC/C,MAAM,EAAE,GAAG,KAAoB,CAAC;gBAChC,EAAE,CAAC,KAAK,CAAC,SAAS,GAAG,EAAE,CAAC;gBACxB,EAAE,CAAC,SAAS,CAAC,MAAM,CAAC,kBAAkB,CAAC,CAAC;gBACxC,EAAE,CAAC,KAAK,CAAC,UAAU,GAAG,SAAS,CAAC;YAClC,CAAC,CAAC,CAAC;QACL,CAAC;QACD,cAAc;QACd,KAAK,CAAC,IAAI,CAAC,aAAa,CAAC,sBAAsB,GAAG,KAAK,CAAC;QACxD,KAAK,CAAC,IAAI,CAAC,aAAa,CAAC,kBAAkB,GAAG,IAAI,CAAC;IACrD,CAAC;AACH,CAAC;AAED,SAAS,YAAY,CAAC,YAAoB,EAAE,OAAe;IACzD,IAAI,OAAO,KAAK,IAAI;QAAE,OAAO,YAAY,CAAC;IAC1C,gBAAgB;IAChB,IAAI,OAAO,GAAG,YAAY,EAAE,CAAC;QAC3B,OAAO,OAAO,CAAC;IACjB,CAAC;IACD,iBAAiB;IACjB,IAAI,OAAO,GAAG,YAAY,EAAE,CAAC;QAC3B,OAAO,OAAO,GAAG,CAAC,CAAC;IACrB,CAAC;IACD,OAAO,YAAY,CAAC;AACtB,CAAC"}
1
+ {"version":3,"file":"column-dropped.js","sourceRoot":"","sources":["../../../../../../src/engine/services/grouping/methods/ui/column-dropped.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"end-drag.d.ts","sourceRoot":"","sources":["../../../../../../src/engine/services/grouping/methods/ui/end-drag.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AAEjD,wBAAgB,OAAO,CAAC,IAAI,EAAE,QAAQ,QAsBrC"}
1
+ {"version":3,"file":"end-drag.d.ts","sourceRoot":"","sources":["../../../../../../src/engine/services/grouping/methods/ui/end-drag.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AAEjD,wBAAgB,OAAO,CAAC,IAAI,EAAE,QAAQ,QA0BrC"}
@@ -7,9 +7,11 @@ export function endDrag(grid) {
7
7
  if (!state.view.groupingState.isInsideGroupingPanel) {
8
8
  grid._services.grouping.removeGroupedColumn(grid, dragData.column);
9
9
  grid._services.dragdrop.endDrag(grid);
10
- state.view.groupingState.hoveredInsertIndex = null;
11
- state.view.groupingState.isInsideGroupingPanel = false;
12
- state.ui.dragDrop.suppressClick = false;
10
+ grid._store.update((draft) => {
11
+ draft.view.groupingState.hoveredInsertIndex = null;
12
+ draft.view.groupingState.isInsideGroupingPanel = false;
13
+ draft.ui.dragDrop.suppressClick = false;
14
+ });
13
15
  }
14
16
  else {
15
17
  grid._store.emitEvent("columnDrop", { data: dragData });
@@ -18,7 +20,9 @@ export function endDrag(grid) {
18
20
  else {
19
21
  if (state.view.groupingState.isInsideGroupingPanel) {
20
22
  grid._store.emitEvent("columnDrop", { data: dragData });
21
- state.ui.dragDrop.suppressClick = false;
23
+ grid._store.update((draft) => {
24
+ draft.ui.dragDrop.suppressClick = false;
25
+ });
22
26
  }
23
27
  }
24
28
  }
@@ -1 +1 @@
1
- {"version":3,"file":"end-drag.js","sourceRoot":"","sources":["../../../../../../src/engine/services/grouping/methods/ui/end-drag.ts"],"names":[],"mappings":"AAEA,MAAM,UAAU,OAAO,CAAC,IAAc;IACpC,MAAM,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC;IACrC,MAAM,QAAQ,GAAG,KAAK,CAAC,EAAE,CAAC,QAAQ,CAAC,eAAe,CAAC;IAEnD,IAAI,CAAC,QAAQ;QAAE,OAAO;IAEtB,IAAI,QAAQ,CAAC,IAAI,KAAK,cAAc,EAAE,CAAC;QACrC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,aAAa,CAAC,qBAAqB,EAAE,CAAC;YACpD,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,mBAAmB,CAAC,IAAI,EAAE,QAAQ,CAAC,MAAM,CAAC,CAAC;YACnE,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;YACtC,KAAK,CAAC,IAAI,CAAC,aAAa,CAAC,kBAAkB,GAAG,IAAI,CAAC;YACnD,KAAK,CAAC,IAAI,CAAC,aAAa,CAAC,qBAAqB,GAAG,KAAK,CAAC;YACvD,KAAK,CAAC,EAAE,CAAC,QAAQ,CAAC,aAAa,GAAG,KAAK,CAAC;QAC1C,CAAC;aAAM,CAAC;YACN,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,YAAY,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC,CAAC;QAC1D,CAAC;IACH,CAAC;SAAM,CAAC;QACN,IAAI,KAAK,CAAC,IAAI,CAAC,aAAa,CAAC,qBAAqB,EAAE,CAAC;YACnD,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,YAAY,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC,CAAC;YACxD,KAAK,CAAC,EAAE,CAAC,QAAQ,CAAC,aAAa,GAAG,KAAK,CAAC;QAC1C,CAAC;IACH,CAAC;AACH,CAAC"}
1
+ {"version":3,"file":"end-drag.js","sourceRoot":"","sources":["../../../../../../src/engine/services/grouping/methods/ui/end-drag.ts"],"names":[],"mappings":"AAEA,MAAM,UAAU,OAAO,CAAC,IAAc;IACpC,MAAM,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC;IACrC,MAAM,QAAQ,GAAG,KAAK,CAAC,EAAE,CAAC,QAAQ,CAAC,eAAe,CAAC;IAEnD,IAAI,CAAC,QAAQ;QAAE,OAAO;IAEtB,IAAI,QAAQ,CAAC,IAAI,KAAK,cAAc,EAAE,CAAC;QACrC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,aAAa,CAAC,qBAAqB,EAAE,CAAC;YACpD,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,mBAAmB,CAAC,IAAI,EAAE,QAAQ,CAAC,MAAM,CAAC,CAAC;YACnE,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;YACtC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE;gBAC3B,KAAK,CAAC,IAAI,CAAC,aAAa,CAAC,kBAAkB,GAAG,IAAI,CAAC;gBACnD,KAAK,CAAC,IAAI,CAAC,aAAa,CAAC,qBAAqB,GAAG,KAAK,CAAC;gBACvD,KAAK,CAAC,EAAE,CAAC,QAAQ,CAAC,aAAa,GAAG,KAAK,CAAC;YAC1C,CAAC,CAAC,CAAC;QACL,CAAC;aAAM,CAAC;YACN,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,YAAY,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC,CAAC;QAC1D,CAAC;IACH,CAAC;SAAM,CAAC;QACN,IAAI,KAAK,CAAC,IAAI,CAAC,aAAa,CAAC,qBAAqB,EAAE,CAAC;YACnD,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,YAAY,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC,CAAC;YACxD,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE;gBAC3B,KAAK,CAAC,EAAE,CAAC,QAAQ,CAAC,aAAa,GAAG,KAAK,CAAC;YAC1C,CAAC,CAAC,CAAC;QACL,CAAC;IACH,CAAC;AACH,CAAC"}
@@ -0,0 +1,4 @@
1
+ import { PolyGrid } from "../../../../core/grid";
2
+ import { PolyGridState } from "../../../../store/interfaces/grid-state";
3
+ export declare function ensureStickyGroupHeader(grid: PolyGrid, draft: PolyGridState): void;
4
+ //# sourceMappingURL=ensure-sticky-group-header.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ensure-sticky-group-header.d.ts","sourceRoot":"","sources":["../../../../../../src/engine/services/grouping/methods/ui/ensure-sticky-group-header.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AACjD,OAAO,EAAE,aAAa,EAAE,MAAM,yCAAyC,CAAC;AAExE,wBAAgB,uBAAuB,CAAC,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,aAAa,QAe3E"}
@@ -0,0 +1,17 @@
1
+ export function ensureStickyGroupHeader(grid, draft) {
2
+ if (draft.view.groupingState.stickyHeader) {
3
+ const newGroup = grid._services.grouping.getStickGroupHeader(grid, draft);
4
+ if (!newGroup || draft.ui.virtualRows.renderStartIndex === 0) {
5
+ grid._gridDom.stickyGroupHeader.style.display = "none";
6
+ draft.view.groupingState.stickyCurrentGroupKey = null;
7
+ return;
8
+ }
9
+ const newKey = `${newGroup.level}:${newGroup.key}`;
10
+ if (newKey !== draft.view.groupingState.stickyCurrentGroupKey) {
11
+ // Group changed → re-render sticky header
12
+ draft.view.groupingState.stickyCurrentGroupKey = newKey;
13
+ grid._services.grouping.updateStickyGroupHeader(grid, newGroup);
14
+ }
15
+ }
16
+ }
17
+ //# sourceMappingURL=ensure-sticky-group-header.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ensure-sticky-group-header.js","sourceRoot":"","sources":["../../../../../../src/engine/services/grouping/methods/ui/ensure-sticky-group-header.ts"],"names":[],"mappings":"AAGA,MAAM,UAAU,uBAAuB,CAAC,IAAc,EAAE,KAAoB;IAC1E,IAAI,KAAK,CAAC,IAAI,CAAC,aAAa,CAAC,YAAY,EAAE,CAAC;QAC1C,MAAM,QAAQ,GAAG,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,mBAAmB,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;QAC1E,IAAI,CAAC,QAAQ,IAAI,KAAK,CAAC,EAAE,CAAC,WAAW,CAAC,gBAAgB,KAAK,CAAC,EAAE,CAAC;YAC7D,IAAI,CAAC,QAAQ,CAAC,iBAAiB,CAAC,KAAK,CAAC,OAAO,GAAG,MAAM,CAAC;YACvD,KAAK,CAAC,IAAI,CAAC,aAAa,CAAC,qBAAqB,GAAG,IAAI,CAAC;YACtD,OAAO;QACT,CAAC;QACD,MAAM,MAAM,GAAG,GAAG,QAAQ,CAAC,KAAK,IAAI,QAAQ,CAAC,GAAG,EAAE,CAAC;QACnD,IAAI,MAAM,KAAK,KAAK,CAAC,IAAI,CAAC,aAAa,CAAC,qBAAqB,EAAE,CAAC;YAC9D,0CAA0C;YAC1C,KAAK,CAAC,IAAI,CAAC,aAAa,CAAC,qBAAqB,GAAG,MAAM,CAAC;YACxD,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,uBAAuB,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;QAClE,CAAC;IACH,CAAC;AACH,CAAC"}
@@ -0,0 +1,4 @@
1
+ import { PolyGrid } from "../../../../core/grid";
2
+ import { Group } from "../../interfaces/group";
3
+ export declare function groupClick(grid: PolyGrid, e: PointerEvent, group: Group, el: HTMLDivElement): void;
4
+ //# sourceMappingURL=group-click.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"group-click.d.ts","sourceRoot":"","sources":["../../../../../../src/engine/services/grouping/methods/ui/group-click.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AAEjD,OAAO,EAAE,KAAK,EAAE,MAAM,wBAAwB,CAAC;AAE/C,wBAAgB,UAAU,CACxB,IAAI,EAAE,QAAQ,EACd,CAAC,EAAE,YAAY,EACf,KAAK,EAAE,KAAK,EACZ,EAAE,EAAE,cAAc,QAyGnB"}
@@ -0,0 +1,81 @@
1
+ import { renderGroupWrapper } from "../../../renderer/parts/grouping/group-wrapper";
2
+ export function groupClick(grid, e, group, el) {
3
+ e.stopPropagation();
4
+ const wasCollapsed = group.collapsed;
5
+ group.collapsed = !group.collapsed;
6
+ el.classList.toggle("collapsed", group.collapsed);
7
+ // update collapsed state
8
+ grid._store.update((draft) => {
9
+ const g = draft.view.groupingState.groups.find((x) => x === group);
10
+ if (g)
11
+ g.collapsed = group.collapsed;
12
+ });
13
+ const state = grid._store.getState();
14
+ const oldViewRows = state.view.viewRows;
15
+ const groups = state.view.groupingState.groups;
16
+ // compute new flattened rows
17
+ const newViewRows = grid._services.grouping.flattenGroups(groups);
18
+ // --- COLLAPSE: animate BEFORE virtualization ---
19
+ if (!wasCollapsed) {
20
+ const groupIndex = oldViewRows.findIndex((r) => r.kind === "group" && r.group === group);
21
+ if (groupIndex === -1) {
22
+ // fallback: no animation, just update
23
+ grid._store.update((draft) => {
24
+ draft.view.viewRowsChangeReason = "collapse";
25
+ draft.view.viewRows = newViewRows;
26
+ draft.ui.virtualRows.totalRowCount = newViewRows.length;
27
+ grid._services.row.recomputeVirtualRows(draft.ui.virtualRows);
28
+ });
29
+ return;
30
+ }
31
+ if (state.view.enableAnimations && state.view.animationOptions.group) {
32
+ grid._services.animation.collapseAnimation(grid, oldViewRows, newViewRows, group, groupIndex);
33
+ }
34
+ else {
35
+ grid._store.update((draft) => {
36
+ draft.view.viewRowsChangeReason = "collapse";
37
+ draft.view.viewRows = newViewRows;
38
+ draft.ui.virtualRows.totalRowCount = newViewRows.length;
39
+ grid._services.row.recomputeVirtualRows(draft.ui.virtualRows);
40
+ });
41
+ }
42
+ }
43
+ // --- EXPAND: animate in rowpool update ---
44
+ else {
45
+ // expanding – compute rowsBelow from OLD viewRows
46
+ const groupIndex = oldViewRows.findIndex((r) => r.kind === "group" && r.group === group);
47
+ if (groupIndex === -1)
48
+ return;
49
+ const rowHeight = state.view.rowHeight;
50
+ // child count in NEW viewRows
51
+ let childCount = 0;
52
+ for (let i = groupIndex + 1; i < newViewRows.length; i++) {
53
+ const r = newViewRows[i];
54
+ if (!r.path?.startsWith(group.path + "-"))
55
+ break;
56
+ childCount++;
57
+ }
58
+ const totalShift = childCount * rowHeight;
59
+ // rows below in OLD viewRows
60
+ const rowsBelowIndexes = [];
61
+ for (let i = groupIndex + 1; i < oldViewRows.length; i++) {
62
+ rowsBelowIndexes.push(i);
63
+ }
64
+ // early cloning + wrapper creation
65
+ const rowInstances = grid._runtime.rowPool.getRows();
66
+ const wrapper = renderGroupWrapper("expand", grid, groupIndex, rowsBelowIndexes, rowInstances, 0);
67
+ // store wrapper for rowPool.update
68
+ grid._runtime.groupingAnimWrapper = wrapper;
69
+ // 5) write intent + metadata + new rows
70
+ grid._store.update((draft) => {
71
+ draft.view.viewRowsChangeReason = "expand";
72
+ draft.view.groupingState.expandFinished = false;
73
+ draft.view.groupingState.expandedGroupPath = group.path;
74
+ draft.view.groupingState.totalShift = totalShift;
75
+ draft.view.viewRows = newViewRows;
76
+ draft.ui.virtualRows.totalRowCount = newViewRows.length;
77
+ grid._services.row.recomputeVirtualRows(draft.ui.virtualRows);
78
+ });
79
+ }
80
+ }
81
+ //# sourceMappingURL=group-click.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"group-click.js","sourceRoot":"","sources":["../../../../../../src/engine/services/grouping/methods/ui/group-click.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"remove-column-from-grouped.d.ts","sourceRoot":"","sources":["../../../../../../src/engine/services/grouping/methods/ui/remove-column-from-grouped.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AACjD,OAAO,EAAE,aAAa,EAAE,MAAM,iCAAiC,CAAC;AAEhE,wBAAgB,8BAA8B,CAC5C,IAAI,EAAE,QAAQ,EACd,aAAa,EAAE,aAAa,QAgB7B"}
1
+ {"version":3,"file":"remove-column-from-grouped.d.ts","sourceRoot":"","sources":["../../../../../../src/engine/services/grouping/methods/ui/remove-column-from-grouped.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AACjD,OAAO,EAAE,aAAa,EAAE,MAAM,iCAAiC,CAAC;AAEhE,wBAAgB,8BAA8B,CAC5C,IAAI,EAAE,QAAQ,EACd,aAAa,EAAE,aAAa,QAiB7B"}
@@ -9,6 +9,7 @@ export function removeColumnFromGroupedColumns(grid, groupedColumn) {
9
9
  }));
10
10
  grid._store.update((draft) => {
11
11
  draft.view.groupingState.groupedColumns = updated;
12
+ draft.view.groupingState.isGridGrouped = updated.length > 0;
12
13
  });
13
14
  }
14
15
  }
@@ -1 +1 @@
1
- {"version":3,"file":"remove-column-from-grouped.js","sourceRoot":"","sources":["../../../../../../src/engine/services/grouping/methods/ui/remove-column-from-grouped.ts"],"names":[],"mappings":"AAGA,MAAM,UAAU,8BAA8B,CAC5C,IAAc,EACd,aAA4B;IAE5B,MAAM,QAAQ,GAAG,IAAI,CAAC,SAAS,CAAC;IAChC,MAAM,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC;IACrC,IAAI,QAAQ,CAAC,QAAQ,CAAC,eAAe,CAAC,IAAI,EAAE,aAAa,CAAC,MAAM,CAAC,EAAE,CAAC;QAClE,MAAM,QAAQ,GAAG,KAAK,CAAC,IAAI,CAAC,aAAa,CAAC,cAAc,CAAC,MAAM,CAC7D,CAAC,UAAU,EAAE,EAAE,CAAC,UAAU,CAAC,MAAM,CAAC,EAAE,KAAK,aAAa,CAAC,MAAM,CAAC,EAAE,CACjE,CAAC;QACF,MAAM,OAAO,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC;YACxC,GAAG,GAAG;YACN,UAAU,EAAE,CAAC;SACd,CAAC,CAAC,CAAC;QACJ,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE;YAC3B,KAAK,CAAC,IAAI,CAAC,aAAa,CAAC,cAAc,GAAG,OAAO,CAAC;QACpD,CAAC,CAAC,CAAC;IACL,CAAC;AACH,CAAC"}
1
+ {"version":3,"file":"remove-column-from-grouped.js","sourceRoot":"","sources":["../../../../../../src/engine/services/grouping/methods/ui/remove-column-from-grouped.ts"],"names":[],"mappings":"AAGA,MAAM,UAAU,8BAA8B,CAC5C,IAAc,EACd,aAA4B;IAE5B,MAAM,QAAQ,GAAG,IAAI,CAAC,SAAS,CAAC;IAChC,MAAM,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC;IACrC,IAAI,QAAQ,CAAC,QAAQ,CAAC,eAAe,CAAC,IAAI,EAAE,aAAa,CAAC,MAAM,CAAC,EAAE,CAAC;QAClE,MAAM,QAAQ,GAAG,KAAK,CAAC,IAAI,CAAC,aAAa,CAAC,cAAc,CAAC,MAAM,CAC7D,CAAC,UAAU,EAAE,EAAE,CAAC,UAAU,CAAC,MAAM,CAAC,EAAE,KAAK,aAAa,CAAC,MAAM,CAAC,EAAE,CACjE,CAAC;QACF,MAAM,OAAO,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC;YACxC,GAAG,GAAG;YACN,UAAU,EAAE,CAAC;SACd,CAAC,CAAC,CAAC;QACJ,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE;YAC3B,KAAK,CAAC,IAAI,CAAC,aAAa,CAAC,cAAc,GAAG,OAAO,CAAC;YAClD,KAAK,CAAC,IAAI,CAAC,aAAa,CAAC,aAAa,GAAG,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC;QAC9D,CAAC,CAAC,CAAC;IACL,CAAC;AACH,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"remove-grouped-column.d.ts","sourceRoot":"","sources":["../../../../../../src/engine/services/grouping/methods/ui/remove-grouped-column.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AACjD,OAAO,EAAE,aAAa,EAAE,MAAM,iCAAiC,CAAC;AAEhE,wBAAgB,mBAAmB,CACjC,IAAI,EAAE,QAAQ,EACd,aAAa,EAAE,aAAa,QAgB7B"}
1
+ {"version":3,"file":"remove-grouped-column.d.ts","sourceRoot":"","sources":["../../../../../../src/engine/services/grouping/methods/ui/remove-grouped-column.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AACjD,OAAO,EAAE,aAAa,EAAE,MAAM,iCAAiC,CAAC;AAEhE,wBAAgB,mBAAmB,CACjC,IAAI,EAAE,QAAQ,EACd,aAAa,EAAE,aAAa,QA4B7B"}
@@ -1,14 +1,26 @@
1
+ import { setColumns } from "../../../../../api/set-columns";
1
2
  export function removeGroupedColumn(grid, groupedColumn) {
2
- const state = grid._store.getState();
3
3
  const anim = grid._services.animation;
4
4
  // Capture current positions BEFORE removal
5
5
  anim.capturePositions(grid);
6
6
  grid._services.grouping.removeColumnFromGroupedColumns(grid, groupedColumn);
7
- state.view.groupingState.isGridGrouped =
8
- state.view.groupingState.groupedColumns.length > 0;
9
7
  // Wait for DOM update, then animate
10
8
  requestAnimationFrame(() => {
11
9
  anim.playFlipAnimation(grid);
12
10
  });
11
+ grid._store.update((draft) => (draft.view.viewRowsChangeReason = "group"));
12
+ const state = grid._store.getState();
13
+ if (!state.view.groupingState.isGridGrouped) {
14
+ if (state.view.groupingState.displayMode === "single-group-column") {
15
+ const newColumns = [...state.view.columns.slice(1)];
16
+ setColumns(grid, newColumns);
17
+ }
18
+ queueMicrotask(() => {
19
+ grid._services.data.applySortAndFilter(grid);
20
+ });
21
+ }
22
+ else {
23
+ grid._services.grouping.applyGrouping(grid);
24
+ }
13
25
  }
14
26
  //# sourceMappingURL=remove-grouped-column.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"remove-grouped-column.js","sourceRoot":"","sources":["../../../../../../src/engine/services/grouping/methods/ui/remove-grouped-column.ts"],"names":[],"mappings":"AAGA,MAAM,UAAU,mBAAmB,CACjC,IAAc,EACd,aAA4B;IAE5B,MAAM,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC;IACrC,MAAM,IAAI,GAAG,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC;IAEtC,2CAA2C;IAC3C,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,CAAC;IAE5B,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,8BAA8B,CAAC,IAAI,EAAE,aAAa,CAAC,CAAC;IAC5E,KAAK,CAAC,IAAI,CAAC,aAAa,CAAC,aAAa;QACpC,KAAK,CAAC,IAAI,CAAC,aAAa,CAAC,cAAc,CAAC,MAAM,GAAG,CAAC,CAAC;IAErD,oCAAoC;IACpC,qBAAqB,CAAC,GAAG,EAAE;QACzB,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,CAAC;IAC/B,CAAC,CAAC,CAAC;AACL,CAAC"}
1
+ {"version":3,"file":"remove-grouped-column.js","sourceRoot":"","sources":["../../../../../../src/engine/services/grouping/methods/ui/remove-grouped-column.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,gCAAgC,CAAC;AAI5D,MAAM,UAAU,mBAAmB,CACjC,IAAc,EACd,aAA4B;IAE5B,MAAM,IAAI,GAAG,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC;IAEtC,2CAA2C;IAC3C,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,CAAC;IAE5B,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,8BAA8B,CAAC,IAAI,EAAE,aAAa,CAAC,CAAC;IAE5E,oCAAoC;IACpC,qBAAqB,CAAC,GAAG,EAAE;QACzB,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,CAAC;IAC/B,CAAC,CAAC,CAAC;IAEH,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,oBAAoB,GAAG,OAAO,CAAC,CAAC,CAAC;IAE3E,MAAM,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC;IACrC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,aAAa,CAAC,aAAa,EAAE,CAAC;QAC5C,IAAI,KAAK,CAAC,IAAI,CAAC,aAAa,CAAC,WAAW,KAAK,qBAAqB,EAAE,CAAC;YACnE,MAAM,UAAU,GAAG,CAAC,GAAG,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;YACpD,UAAU,CAAC,IAAI,EAAE,UAAU,CAAC,CAAC;QAC/B,CAAC;QACD,cAAc,CAAC,GAAG,EAAE;YAClB,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,CAAC;QAC/C,CAAC,CAAC,CAAC;IACL,CAAC;SAAM,CAAC;QACN,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC;IAC9C,CAAC;AACH,CAAC"}
@@ -0,0 +1,3 @@
1
+ import { PolyGrid } from "../../../../core/grid";
2
+ export declare function renderSingleColumnMode(grid: PolyGrid): void;
3
+ //# sourceMappingURL=render-single-column-mode.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"render-single-column-mode.d.ts","sourceRoot":"","sources":["../../../../../../src/engine/services/grouping/methods/ui/render-single-column-mode.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AAGjD,wBAAgB,sBAAsB,CAAC,IAAI,EAAE,QAAQ,QAWpD"}
@@ -0,0 +1,15 @@
1
+ import { setColumns } from "../../../../../api/set-columns";
2
+ export function renderSingleColumnMode(grid) {
3
+ const state = grid._store.getState();
4
+ if (state.view.groupingState.isGridGrouped)
5
+ return;
6
+ const groupColumns = {
7
+ field: "",
8
+ header: "Grouping",
9
+ sortable: false,
10
+ width: 150,
11
+ };
12
+ const newColumns = [groupColumns, ...state.view.columns];
13
+ setColumns(grid, newColumns);
14
+ }
15
+ //# sourceMappingURL=render-single-column-mode.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"render-single-column-mode.js","sourceRoot":"","sources":["../../../../../../src/engine/services/grouping/methods/ui/render-single-column-mode.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,gCAAgC,CAAC;AAI5D,MAAM,UAAU,sBAAsB,CAAC,IAAc;IACnD,MAAM,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC;IACrC,IAAI,KAAK,CAAC,IAAI,CAAC,aAAa,CAAC,aAAa;QAAE,OAAO;IACnD,MAAM,YAAY,GAAmB;QACnC,KAAK,EAAE,EAAE;QACT,MAAM,EAAE,UAAU;QAClB,QAAQ,EAAE,KAAK;QACf,KAAK,EAAE,GAAG;KACX,CAAC;IACF,MAAM,UAAU,GAAG,CAAC,YAAY,EAAE,GAAG,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IACzD,UAAU,CAAC,IAAI,EAAE,UAAU,CAAC,CAAC;AAC/B,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"set-groupable.d.ts","sourceRoot":"","sources":["../../../../../../src/engine/services/grouping/methods/ui/set-groupable.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AACjD,OAAO,EAAE,cAAc,EAAE,MAAM,gDAAgD,CAAC;AAGhF,OAAO,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAC;AAEjD,wBAAgB,YAAY,CAC1B,eAAe,EAAE,eAAe,EAChC,QAAQ,EAAE,cAAc,CAAC,IAAI,CAAC,EAC9B,IAAI,EAAE,QAAQ,QAwBf"}
1
+ {"version":3,"file":"set-groupable.d.ts","sourceRoot":"","sources":["../../../../../../src/engine/services/grouping/methods/ui/set-groupable.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AACjD,OAAO,EAAE,cAAc,EAAE,MAAM,gDAAgD,CAAC;AAIhF,OAAO,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAC;AAEjD,wBAAgB,YAAY,CAC1B,eAAe,EAAE,eAAe,EAChC,QAAQ,EAAE,cAAc,CAAC,IAAI,CAAC,EAC9B,IAAI,EAAE,QAAQ,QA4Bf"}
@@ -1,5 +1,6 @@
1
1
  import { takeUntil } from "../../../../rx-lite/operators/takeuntil";
2
- import { renderGroupingPanel } from "../../../renderer/parts/grouping-panel/grouping-panel";
2
+ import { renderGroupingPanel } from "../../../renderer/parts/grouping/grouping-panel";
3
+ import { renderStickyGroupHeader } from "../../../renderer/parts/grouping/sticky-group-header";
3
4
  export function setGroupable(groupingService, destroy$, grid) {
4
5
  groupingService.groupable$
5
6
  .pipe(takeUntil(destroy$))
@@ -14,6 +15,8 @@ export function setGroupable(groupingService, destroy$, grid) {
14
15
  grid._runtime.groupedColumnsUnsub?.();
15
16
  grid._runtime.groupedColumnsUnsub = undefined;
16
17
  }
18
+ if (gridDom.stickyGroupHeader)
19
+ gridDom.stickyGroupHeader.remove();
17
20
  }
18
21
  else {
19
22
  const groupingPanel = renderGroupingPanel(grid);
@@ -22,6 +25,10 @@ export function setGroupable(groupingService, destroy$, grid) {
22
25
  groupingService.store.update((draft) => {
23
26
  draft.view.rawViewportHeight -= 40;
24
27
  });
28
+ if (typeof groupable === "object") {
29
+ if (groupable.stickyHeader)
30
+ renderStickyGroupHeader(grid);
31
+ }
25
32
  }
26
33
  }, "SET-GROUPABLE");
27
34
  }
@@ -1 +1 @@
1
- {"version":3,"file":"set-groupable.js","sourceRoot":"","sources":["../../../../../../src/engine/services/grouping/methods/ui/set-groupable.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AACpE,OAAO,EAAE,mBAAmB,EAAE,MAAM,uDAAuD,CAAC;AAG5F,MAAM,UAAU,YAAY,CAC1B,eAAgC,EAChC,QAA8B,EAC9B,IAAc;IAEd,eAAe,CAAC,UAAU;SACvB,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC;SACzB,SAAS,CAAC,CAAC,SAAS,EAAE,EAAE;QACvB,MAAM,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAC;QAC9B,IAAI,SAAS,KAAK,KAAK,IAAI,SAAS,KAAK,SAAS,EAAE,CAAC;YACnD,IAAI,OAAO,CAAC,aAAa,EAAE,CAAC;gBAC1B,OAAO,CAAC,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC;gBAChD,eAAe,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE;oBACrC,KAAK,CAAC,IAAI,CAAC,iBAAiB,IAAI,EAAE,CAAC;gBACrC,CAAC,CAAC,CAAC;gBACH,IAAI,CAAC,QAAQ,CAAC,mBAAmB,EAAE,EAAE,CAAC;gBACtC,IAAI,CAAC,QAAQ,CAAC,mBAAmB,GAAG,SAAS,CAAC;YAChD,CAAC;QACH,CAAC;aAAM,CAAC;YACN,MAAM,aAAa,GAAG,mBAAmB,CAAC,IAAI,CAAC,CAAC;YAChD,OAAO,CAAC,IAAI,CAAC,YAAY,CAAC,aAAa,EAAE,OAAO,CAAC,aAAa,CAAC,CAAC;YAChE,OAAO,CAAC,aAAa,GAAG,aAAa,CAAC;YACtC,eAAe,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE;gBACrC,KAAK,CAAC,IAAI,CAAC,iBAAiB,IAAI,EAAE,CAAC;YACrC,CAAC,CAAC,CAAC;QACL,CAAC;IACH,CAAC,EAAE,eAAe,CAAC,CAAC;AACxB,CAAC"}
1
+ {"version":3,"file":"set-groupable.js","sourceRoot":"","sources":["../../../../../../src/engine/services/grouping/methods/ui/set-groupable.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AACpE,OAAO,EAAE,mBAAmB,EAAE,MAAM,iDAAiD,CAAC;AACtF,OAAO,EAAE,uBAAuB,EAAE,MAAM,sDAAsD,CAAC;AAG/F,MAAM,UAAU,YAAY,CAC1B,eAAgC,EAChC,QAA8B,EAC9B,IAAc;IAEd,eAAe,CAAC,UAAU;SACvB,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC;SACzB,SAAS,CAAC,CAAC,SAAS,EAAE,EAAE;QACvB,MAAM,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAC;QAC9B,IAAI,SAAS,KAAK,KAAK,IAAI,SAAS,KAAK,SAAS,EAAE,CAAC;YACnD,IAAI,OAAO,CAAC,aAAa,EAAE,CAAC;gBAC1B,OAAO,CAAC,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC;gBAChD,eAAe,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE;oBACrC,KAAK,CAAC,IAAI,CAAC,iBAAiB,IAAI,EAAE,CAAC;gBACrC,CAAC,CAAC,CAAC;gBACH,IAAI,CAAC,QAAQ,CAAC,mBAAmB,EAAE,EAAE,CAAC;gBACtC,IAAI,CAAC,QAAQ,CAAC,mBAAmB,GAAG,SAAS,CAAC;YAChD,CAAC;YACD,IAAI,OAAO,CAAC,iBAAiB;gBAAE,OAAO,CAAC,iBAAiB,CAAC,MAAM,EAAE,CAAC;QACpE,CAAC;aAAM,CAAC;YACN,MAAM,aAAa,GAAG,mBAAmB,CAAC,IAAI,CAAC,CAAC;YAChD,OAAO,CAAC,IAAI,CAAC,YAAY,CAAC,aAAa,EAAE,OAAO,CAAC,aAAa,CAAC,CAAC;YAChE,OAAO,CAAC,aAAa,GAAG,aAAa,CAAC;YACtC,eAAe,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE;gBACrC,KAAK,CAAC,IAAI,CAAC,iBAAiB,IAAI,EAAE,CAAC;YACrC,CAAC,CAAC,CAAC;YACH,IAAI,OAAO,SAAS,KAAK,QAAQ,EAAE,CAAC;gBAClC,IAAI,SAAS,CAAC,YAAY;oBAAE,uBAAuB,CAAC,IAAI,CAAC,CAAC;YAC5D,CAAC;QACH,CAAC;IACH,CAAC,EAAE,eAAe,CAAC,CAAC;AACxB,CAAC"}
@@ -1,4 +1,4 @@
1
- import { renderGroupingDragPreview } from "../../../renderer/parts/grouping-panel/grouping-drag-preview";
1
+ import { renderGroupingDragPreview } from "../../../renderer/parts/grouping/grouping-drag-preview";
2
2
  import { endDrag } from "./end-drag";
3
3
  import { updateGroupingPanelHoverState } from "./update-grouping-panel-hover-state";
4
4
  export function startDragOnColumn(e, grid, column) {
@@ -1 +1 @@
1
- {"version":3,"file":"start-drag-on-column.js","sourceRoot":"","sources":["../../../../../../src/engine/services/grouping/methods/ui/start-drag-on-column.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,yBAAyB,EAAE,MAAM,8DAA8D,CAAC;AAEzG,OAAO,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AACrC,OAAO,EAAE,6BAA6B,EAAE,MAAM,qCAAqC,CAAC;AAEpF,MAAM,UAAU,iBAAiB,CAC/B,CAAa,EACb,IAAc,EACd,MAAsB;IAEtB,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,gBAAgB,CAAuB,CAAC,EAAE,IAAI,EAAE;QACtE,IAAI,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,eAAe,EAAE;QACvC,aAAa,EAAE,CAAC,SAAS,EAAE,EAAE,CAC3B,SAAS,CAAC,WAAW,CACnB,yBAAyB,CAAC,IAAI,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,eAAe,EAAE,CAAC,CACnE;QACH,UAAU,EAAE,CAAC,IAAI,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE;YACzB,6BAA6B,CAAC,IAAI,CAAC,CAAC;QACtC,CAAC;QACD,SAAS,EAAE,CAAC,IAAI,EAAE,EAAE;YAClB,OAAO,CAAC,IAAI,CAAC,CAAC;QAChB,CAAC;KACF,CAAC,CAAC;AACL,CAAC"}
1
+ {"version":3,"file":"start-drag-on-column.js","sourceRoot":"","sources":["../../../../../../src/engine/services/grouping/methods/ui/start-drag-on-column.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,yBAAyB,EAAE,MAAM,wDAAwD,CAAC;AAEnG,OAAO,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AACrC,OAAO,EAAE,6BAA6B,EAAE,MAAM,qCAAqC,CAAC;AAEpF,MAAM,UAAU,iBAAiB,CAC/B,CAAa,EACb,IAAc,EACd,MAAsB;IAEtB,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,gBAAgB,CAAuB,CAAC,EAAE,IAAI,EAAE;QACtE,IAAI,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,eAAe,EAAE;QACvC,aAAa,EAAE,CAAC,SAAS,EAAE,EAAE,CAC3B,SAAS,CAAC,WAAW,CACnB,yBAAyB,CAAC,IAAI,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,eAAe,EAAE,CAAC,CACnE;QACH,UAAU,EAAE,CAAC,IAAI,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE;YACzB,6BAA6B,CAAC,IAAI,CAAC,CAAC;QACtC,CAAC;QACD,SAAS,EAAE,CAAC,IAAI,EAAE,EAAE;YAClB,OAAO,CAAC,IAAI,CAAC,CAAC;QAChB,CAAC;KACF,CAAC,CAAC;AACL,CAAC"}
@@ -1,4 +1,4 @@
1
- import { renderGroupingDragPreview } from "../../../renderer/parts/grouping-panel/grouping-drag-preview";
1
+ import { renderGroupingDragPreview } from "../../../renderer/parts/grouping/grouping-drag-preview";
2
2
  import { endDrag } from "./end-drag";
3
3
  import { updateChipTransforms } from "./update-chip-transforms";
4
4
  import { updateGroupingPanelHoverState } from "./update-grouping-panel-hover-state";
@@ -1 +1 @@
1
- {"version":3,"file":"start-drag-on-grouped-column.js","sourceRoot":"","sources":["../../../../../../src/engine/services/grouping/methods/ui/start-drag-on-grouped-column.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,yBAAyB,EAAE,MAAM,8DAA8D,CAAC;AAEzG,OAAO,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AACrC,OAAO,EAAE,oBAAoB,EAAE,MAAM,0BAA0B,CAAC;AAChE,OAAO,EAAE,6BAA6B,EAAE,MAAM,qCAAqC,CAAC;AAEpF,MAAM,UAAU,wBAAwB,CAAC,CAAa,EAAE,IAAc;IACpE,MAAM,EAAE,GAAI,CAAC,CAAC,MAAsB,CAAC,OAAO,CAAC,cAAc,CAAgB,CAAC;IAC5E,IAAI,CAAC,EAAE;QAAE,OAAO;IAEhB,MAAM,KAAK,GAAG,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC;IAC/B,IAAI,CAAC,KAAK;QAAE,OAAO;IAEnB,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM;SACvB,QAAQ,EAAE;SACV,IAAI,CAAC,aAAa,CAAC,cAAc,CAAC,IAAI,CACrC,CAAC,UAAU,EAAE,EAAE,CAAC,UAAU,CAAC,MAAM,CAAC,EAAE,KAAK,KAAK,CAC9C,CAAC;IAEL,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,gBAAgB,CAAsB,CAAC,EAAE,IAAI,EAAE;QACrE,IAAI,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,cAAc,EAAE;QACtC,aAAa,EAAE,CAAC,SAAS,EAAE,EAAE,CAC3B,SAAS,CAAC,WAAW,CACnB,yBAAyB,CAAC,IAAI,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,cAAc,EAAE,CAAC,CAClE;QACH,UAAU,EAAE,CAAC,IAAI,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE;YACzB,6BAA6B,CAAC,IAAI,CAAC,CAAC;YACpC,oBAAoB,CAAC,IAAI,CAAC,CAAC;QAC7B,CAAC;QACD,SAAS,EAAE,CAAC,IAAI,EAAE,EAAE;YAClB,OAAO,CAAC,IAAI,CAAC,CAAC;QAChB,CAAC;KACF,CAAC,CAAC;AACL,CAAC"}
1
+ {"version":3,"file":"start-drag-on-grouped-column.js","sourceRoot":"","sources":["../../../../../../src/engine/services/grouping/methods/ui/start-drag-on-grouped-column.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,yBAAyB,EAAE,MAAM,wDAAwD,CAAC;AAEnG,OAAO,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AACrC,OAAO,EAAE,oBAAoB,EAAE,MAAM,0BAA0B,CAAC;AAChE,OAAO,EAAE,6BAA6B,EAAE,MAAM,qCAAqC,CAAC;AAEpF,MAAM,UAAU,wBAAwB,CAAC,CAAa,EAAE,IAAc;IACpE,MAAM,EAAE,GAAI,CAAC,CAAC,MAAsB,CAAC,OAAO,CAAC,cAAc,CAAgB,CAAC;IAC5E,IAAI,CAAC,EAAE;QAAE,OAAO;IAEhB,MAAM,KAAK,GAAG,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC;IAC/B,IAAI,CAAC,KAAK;QAAE,OAAO;IAEnB,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM;SACvB,QAAQ,EAAE;SACV,IAAI,CAAC,aAAa,CAAC,cAAc,CAAC,IAAI,CACrC,CAAC,UAAU,EAAE,EAAE,CAAC,UAAU,CAAC,MAAM,CAAC,EAAE,KAAK,KAAK,CAC9C,CAAC;IAEL,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,gBAAgB,CAAsB,CAAC,EAAE,IAAI,EAAE;QACrE,IAAI,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,cAAc,EAAE;QACtC,aAAa,EAAE,CAAC,SAAS,EAAE,EAAE,CAC3B,SAAS,CAAC,WAAW,CACnB,yBAAyB,CAAC,IAAI,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,cAAc,EAAE,CAAC,CAClE;QACH,UAAU,EAAE,CAAC,IAAI,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE;YACzB,6BAA6B,CAAC,IAAI,CAAC,CAAC;YACpC,oBAAoB,CAAC,IAAI,CAAC,CAAC;QAC7B,CAAC;QACD,SAAS,EAAE,CAAC,IAAI,EAAE,EAAE;YAClB,OAAO,CAAC,IAAI,CAAC,CAAC;QAChB,CAAC;KACF,CAAC,CAAC;AACL,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"update-grouping-panel-hover-state.d.ts","sourceRoot":"","sources":["../../../../../../src/engine/services/grouping/methods/ui/update-grouping-panel-hover-state.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AAEjD,wBAAgB,6BAA6B,CAAC,IAAI,EAAE,QAAQ,QAyD3D"}
1
+ {"version":3,"file":"update-grouping-panel-hover-state.d.ts","sourceRoot":"","sources":["../../../../../../src/engine/services/grouping/methods/ui/update-grouping-panel-hover-state.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AAEjD,wBAAgB,6BAA6B,CAAC,IAAI,EAAE,QAAQ,QAmE3D"}
@@ -3,9 +3,11 @@ export function updateGroupingPanelHoverState(grid) {
3
3
  const pos = state.ui.dragDrop.dragPosition;
4
4
  // if there's no drag position or no dragged column, reset state
5
5
  if (!pos || !state.ui.dragDrop.currentDragData) {
6
- state.view.groupingState.hoveredInsertIndex = null;
7
- state.view.groupingState.isInsideGroupingPanel = false;
8
- state.view.groupingState.hasChipCrossedMidpoint = false;
6
+ grid._store.update((draft) => {
7
+ draft.view.groupingState.hoveredInsertIndex = null;
8
+ draft.view.groupingState.isInsideGroupingPanel = false;
9
+ draft.view.groupingState.hasChipCrossedMidpoint = false;
10
+ });
9
11
  return;
10
12
  }
11
13
  const panel = grid._gridDom.groupingPanel;
@@ -14,11 +16,15 @@ export function updateGroupingPanelHoverState(grid) {
14
16
  pos.x <= rect.right &&
15
17
  pos.y >= rect.top &&
16
18
  pos.y <= rect.bottom;
17
- state.view.groupingState.isInsideGroupingPanel = inside;
18
- state.ui.dragDrop.showPasteIcon = inside;
19
+ grid._store.update((draft) => {
20
+ draft.view.groupingState.isInsideGroupingPanel = inside;
21
+ draft.ui.dragDrop.showPasteIcon = inside;
22
+ });
19
23
  if (!inside) {
20
- state.view.groupingState.hoveredInsertIndex = null;
21
- state.view.groupingState.hasChipCrossedMidpoint = false;
24
+ grid._store.update((draft) => {
25
+ draft.view.groupingState.hoveredInsertIndex = null;
26
+ draft.view.groupingState.hasChipCrossedMidpoint = false;
27
+ });
22
28
  return;
23
29
  }
24
30
  else {
@@ -32,7 +38,9 @@ export function updateGroupingPanelHoverState(grid) {
32
38
  break;
33
39
  }
34
40
  }
35
- state.view.groupingState.hoveredInsertIndex = insertIndex;
41
+ grid._store.update((draft) => {
42
+ draft.view.groupingState.hoveredInsertIndex = insertIndex;
43
+ });
36
44
  // midpoint logic to suppress early shifting ---
37
45
  const dragData = state.ui.dragDrop.currentDragData;
38
46
  if (dragData?.type === "grouped-chip") {
@@ -41,7 +49,9 @@ export function updateGroupingPanelHoverState(grid) {
41
49
  // If hovered index is the chip’s own slot or the slot immediately after it,
42
50
  // then the dragged chip has NOT crossed a midpoint yet.
43
51
  const isSelfHover = insertIndex === originalIndex || insertIndex === originalIndex + 1;
44
- state.view.groupingState.hasChipCrossedMidpoint = !isSelfHover;
52
+ grid._store.update((draft) => {
53
+ draft.view.groupingState.hasChipCrossedMidpoint = !isSelfHover;
54
+ });
45
55
  }
46
56
  }
47
57
  }
@@ -1 +1 @@
1
- {"version":3,"file":"update-grouping-panel-hover-state.js","sourceRoot":"","sources":["../../../../../../src/engine/services/grouping/methods/ui/update-grouping-panel-hover-state.ts"],"names":[],"mappings":"AAEA,MAAM,UAAU,6BAA6B,CAAC,IAAc;IAC1D,MAAM,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC;IACrC,MAAM,GAAG,GAAG,KAAK,CAAC,EAAE,CAAC,QAAQ,CAAC,YAAY,CAAC;IAE3C,gEAAgE;IAChE,IAAI,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,QAAQ,CAAC,eAAe,EAAE,CAAC;QAC/C,KAAK,CAAC,IAAI,CAAC,aAAa,CAAC,kBAAkB,GAAG,IAAI,CAAC;QACnD,KAAK,CAAC,IAAI,CAAC,aAAa,CAAC,qBAAqB,GAAG,KAAK,CAAC;QACvD,KAAK,CAAC,IAAI,CAAC,aAAa,CAAC,sBAAsB,GAAG,KAAK,CAAC;QACxD,OAAO;IACT,CAAC;IAED,MAAM,KAAK,GAAG,IAAI,CAAC,QAAQ,CAAC,aAAa,CAAC;IAC1C,MAAM,IAAI,GAAG,KAAK,CAAC,qBAAqB,EAAE,CAAC;IAC3C,MAAM,MAAM,GACV,GAAG,CAAC,CAAC,IAAI,IAAI,CAAC,IAAI;QAClB,GAAG,CAAC,CAAC,IAAI,IAAI,CAAC,KAAK;QACnB,GAAG,CAAC,CAAC,IAAI,IAAI,CAAC,GAAG;QACjB,GAAG,CAAC,CAAC,IAAI,IAAI,CAAC,MAAM,CAAC;IAEvB,KAAK,CAAC,IAAI,CAAC,aAAa,CAAC,qBAAqB,GAAG,MAAM,CAAC;IACxD,KAAK,CAAC,EAAE,CAAC,QAAQ,CAAC,aAAa,GAAG,MAAM,CAAC;IAEzC,IAAI,CAAC,MAAM,EAAE,CAAC;QACZ,KAAK,CAAC,IAAI,CAAC,aAAa,CAAC,kBAAkB,GAAG,IAAI,CAAC;QACnD,KAAK,CAAC,IAAI,CAAC,aAAa,CAAC,sBAAsB,GAAG,KAAK,CAAC;QACxD,OAAO;IACT,CAAC;SAAM,CAAC;QACN,wCAAwC;QACxC,MAAM,QAAQ,GAAG,KAAK,CAAC,IAAI,CACzB,KAAK,CAAC,gBAAgB,CAAC,cAAc,CAAC,CACtB,CAAC;QACnB,IAAI,WAAW,GAAG,QAAQ,CAAC,MAAM,CAAC;QAClC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,QAAQ,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;YACzC,MAAM,GAAG,GAAG,QAAQ,CAAC,CAAC,CAAE,CAAC,qBAAqB,EAAE,CAAC;YACjD,IAAI,GAAG,CAAC,CAAC,GAAG,GAAG,CAAC,IAAI,GAAG,GAAG,CAAC,KAAK,GAAG,CAAC,EAAE,CAAC;gBACrC,WAAW,GAAG,CAAC,CAAC;gBAChB,MAAM;YACR,CAAC;QACH,CAAC;QACD,KAAK,CAAC,IAAI,CAAC,aAAa,CAAC,kBAAkB,GAAG,WAAW,CAAC;QAE1D,gDAAgD;QAChD,MAAM,QAAQ,GAAG,KAAK,CAAC,EAAE,CAAC,QAAQ,CAAC,eAAe,CAAC;QAEnD,IAAI,QAAQ,EAAE,IAAI,KAAK,cAAc,EAAE,CAAC;YACtC,4EAA4E;YAC5E,MAAM,aAAa,GAAG,QAAQ,CAAC,MAAM,CAAC,UAAU,CAAC;YAEjD,4EAA4E;YAC5E,wDAAwD;YACxD,MAAM,WAAW,GACf,WAAW,KAAK,aAAa,IAAI,WAAW,KAAK,aAAa,GAAG,CAAC,CAAC;YAErE,KAAK,CAAC,IAAI,CAAC,aAAa,CAAC,sBAAsB,GAAG,CAAC,WAAW,CAAC;QACjE,CAAC;IACH,CAAC;AACH,CAAC"}
1
+ {"version":3,"file":"update-grouping-panel-hover-state.js","sourceRoot":"","sources":["../../../../../../src/engine/services/grouping/methods/ui/update-grouping-panel-hover-state.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,4 @@
1
+ import { PolyGrid } from "../../../../core/grid";
2
+ import { Group } from "../../interfaces/group";
3
+ export declare function updateStickyGroupHeader(grid: PolyGrid, group: Group): void;
4
+ //# sourceMappingURL=update-sticky-group-header.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"update-sticky-group-header.d.ts","sourceRoot":"","sources":["../../../../../../src/engine/services/grouping/methods/ui/update-sticky-group-header.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AACjD,OAAO,EAAE,KAAK,EAAE,MAAM,wBAAwB,CAAC;AAG/C,wBAAgB,uBAAuB,CAAC,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,KAAK,QAmCnE"}
@@ -0,0 +1,31 @@
1
+ import { PG_CSS_CLASS } from "../../../../const/pg-css-class";
2
+ import { buildStickyGroupContent } from "./build-sticky-group-content";
3
+ export function updateStickyGroupHeader(grid, group) {
4
+ const sticky = grid._gridDom.stickyGroupHeader;
5
+ const innerScroll = grid._gridDom.stickyGroupInnerScroll;
6
+ innerScroll.innerHTML = "";
7
+ const state = grid._store.getState();
8
+ const visibleColumns = state.view.internalColumns.filter((col) => col.visible);
9
+ const rowHeight = state.ui.virtualRows.rowHeight;
10
+ // Create the row container
11
+ const row = document.createElement("div");
12
+ row.classList.add(PG_CSS_CLASS.row, PG_CSS_CLASS.groupRow);
13
+ row.style.height = `${rowHeight}px`;
14
+ // Build cells for each visible column
15
+ visibleColumns.forEach((col, i) => {
16
+ const cell = document.createElement("div");
17
+ cell.className = PG_CSS_CLASS.cell;
18
+ cell.setAttribute("col-id", col.id);
19
+ const width = state.view.resolvedColumnWidths[col.id].width;
20
+ cell.style.width = `${width}px`;
21
+ // Insert group content into the first column
22
+ if (i === 0) {
23
+ const content = buildStickyGroupContent(grid, group);
24
+ cell.appendChild(content);
25
+ }
26
+ row.appendChild(cell);
27
+ });
28
+ innerScroll.appendChild(row);
29
+ sticky.style.display = "block";
30
+ }
31
+ //# sourceMappingURL=update-sticky-group-header.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"update-sticky-group-header.js","sourceRoot":"","sources":["../../../../../../src/engine/services/grouping/methods/ui/update-sticky-group-header.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,gCAAgC,CAAC;AAG9D,OAAO,EAAE,uBAAuB,EAAE,MAAM,8BAA8B,CAAC;AAEvE,MAAM,UAAU,uBAAuB,CAAC,IAAc,EAAE,KAAY;IAClE,MAAM,MAAM,GAAG,IAAI,CAAC,QAAQ,CAAC,iBAAiB,CAAC;IAC/C,MAAM,WAAW,GAAG,IAAI,CAAC,QAAQ,CAAC,sBAAsB,CAAC;IACzD,WAAW,CAAC,SAAS,GAAG,EAAE,CAAC;IAE3B,MAAM,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC;IACrC,MAAM,cAAc,GAAG,KAAK,CAAC,IAAI,CAAC,eAAe,CAAC,MAAM,CACtD,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,OAAO,CACrB,CAAC;IACF,MAAM,SAAS,GAAG,KAAK,CAAC,EAAE,CAAC,WAAW,CAAC,SAAS,CAAC;IAEjD,2BAA2B;IAC3B,MAAM,GAAG,GAAG,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;IAC1C,GAAG,CAAC,SAAS,CAAC,GAAG,CAAC,YAAY,CAAC,GAAG,EAAE,YAAY,CAAC,QAAQ,CAAC,CAAC;IAC3D,GAAG,CAAC,KAAK,CAAC,MAAM,GAAG,GAAG,SAAS,IAAI,CAAC;IAEpC,sCAAsC;IACtC,cAAc,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,CAAC,EAAE,EAAE;QAChC,MAAM,IAAI,GAAG,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;QAC3C,IAAI,CAAC,SAAS,GAAG,YAAY,CAAC,IAAI,CAAC;QACnC,IAAI,CAAC,YAAY,CAAC,QAAQ,EAAE,GAAG,CAAC,EAAE,CAAC,CAAC;QACpC,MAAM,KAAK,GAAG,KAAK,CAAC,IAAI,CAAC,oBAAoB,CAAC,GAAG,CAAC,EAAE,CAAE,CAAC,KAAK,CAAC;QAC7D,IAAI,CAAC,KAAK,CAAC,KAAK,GAAG,GAAG,KAAK,IAAI,CAAC;QAEhC,6CAA6C;QAC7C,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC;YACZ,MAAM,OAAO,GAAG,uBAAuB,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;YACrD,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC;QAC5B,CAAC;QAED,GAAG,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;IACxB,CAAC,CAAC,CAAC;IAEH,WAAW,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC;IAC7B,MAAM,CAAC,KAAK,CAAC,OAAO,GAAG,OAAO,CAAC;AACjC,CAAC"}
@@ -0,0 +1,2 @@
1
+ export type GroupingDisplayMode = "single-group-column" | "multiple-group-columns" | "group-rows";
2
+ //# sourceMappingURL=grouping-display-mode.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"grouping-display-mode.d.ts","sourceRoot":"","sources":["../../../../../src/engine/services/grouping/types/grouping-display-mode.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,mBAAmB,GAC3B,qBAAqB,GACrB,wBAAwB,GACxB,YAAY,CAAC"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=grouping-display-mode.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"grouping-display-mode.js","sourceRoot":"","sources":["../../../../../src/engine/services/grouping/types/grouping-display-mode.ts"],"names":[],"mappings":""}