@polygrid/core 1.0.494 → 1.0.495

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 (195) hide show
  1. package/dist/engine/const/pg-css-class.d.ts +1 -0
  2. package/dist/engine/const/pg-css-class.d.ts.map +1 -1
  3. package/dist/engine/const/pg-css-class.js +1 -0
  4. package/dist/engine/const/pg-css-class.js.map +1 -1
  5. package/dist/engine/const/pg-icons.d.ts +3 -0
  6. package/dist/engine/const/pg-icons.d.ts.map +1 -1
  7. package/dist/engine/const/pg-icons.js +3 -0
  8. package/dist/engine/const/pg-icons.js.map +1 -1
  9. package/dist/engine/core/grid-runtime.d.ts +1 -0
  10. package/dist/engine/core/grid-runtime.d.ts.map +1 -1
  11. package/dist/engine/core/grid-runtime.js.map +1 -1
  12. package/dist/engine/core/interfaces/grid-event-map.d.ts +3 -0
  13. package/dist/engine/core/interfaces/grid-event-map.d.ts.map +1 -1
  14. package/dist/engine/services/animation/index.d.ts +11 -5
  15. package/dist/engine/services/animation/index.d.ts.map +1 -1
  16. package/dist/engine/services/animation/index.js +11 -5
  17. package/dist/engine/services/animation/index.js.map +1 -1
  18. package/dist/engine/services/animation/methods/filtering/play-filter-animation.d.ts +3 -0
  19. package/dist/engine/services/animation/methods/filtering/play-filter-animation.d.ts.map +1 -0
  20. package/dist/engine/services/animation/methods/filtering/play-filter-animation.js.map +1 -0
  21. package/dist/engine/services/animation/methods/grouping/calculate-translate.d.ts +3 -0
  22. package/dist/engine/services/animation/methods/grouping/calculate-translate.d.ts.map +1 -0
  23. package/dist/engine/services/animation/methods/grouping/calculate-translate.js +42 -0
  24. package/dist/engine/services/animation/methods/grouping/calculate-translate.js.map +1 -0
  25. package/dist/engine/services/animation/methods/grouping/capture-positions.d.ts +3 -0
  26. package/dist/engine/services/animation/methods/grouping/capture-positions.d.ts.map +1 -0
  27. package/dist/engine/services/animation/methods/grouping/capture-positions.js +15 -0
  28. package/dist/engine/services/animation/methods/grouping/capture-positions.js.map +1 -0
  29. package/dist/engine/services/animation/methods/grouping/play-flip-animation.d.ts +3 -0
  30. package/dist/engine/services/animation/methods/grouping/play-flip-animation.d.ts.map +1 -0
  31. package/dist/engine/services/animation/methods/grouping/play-flip-animation.js +26 -0
  32. package/dist/engine/services/animation/methods/grouping/play-flip-animation.js.map +1 -0
  33. package/dist/engine/services/animation/methods/sorting/capture-after-row-pos.d.ts +4 -0
  34. package/dist/engine/services/animation/methods/sorting/capture-after-row-pos.d.ts.map +1 -0
  35. package/dist/engine/services/animation/methods/sorting/capture-after-row-pos.js.map +1 -0
  36. package/dist/engine/services/animation/methods/sorting/capture-before-row-pos.d.ts +4 -0
  37. package/dist/engine/services/animation/methods/sorting/capture-before-row-pos.d.ts.map +1 -0
  38. package/dist/engine/services/animation/methods/sorting/capture-before-row-pos.js.map +1 -0
  39. package/dist/engine/services/animation/methods/sorting/compute-row-deltas.d.ts +3 -0
  40. package/dist/engine/services/animation/methods/sorting/compute-row-deltas.d.ts.map +1 -0
  41. package/dist/engine/services/animation/methods/sorting/compute-row-deltas.js.map +1 -0
  42. package/dist/engine/services/animation/methods/sorting/play-row-animation.d.ts +4 -0
  43. package/dist/engine/services/animation/methods/sorting/play-row-animation.d.ts.map +1 -0
  44. package/dist/engine/services/animation/methods/sorting/play-row-animation.js.map +1 -0
  45. package/dist/engine/services/dragdrop/dragdrop.d.ts +16 -0
  46. package/dist/engine/services/dragdrop/dragdrop.d.ts.map +1 -0
  47. package/dist/engine/services/dragdrop/dragdrop.js +13 -0
  48. package/dist/engine/services/dragdrop/dragdrop.js.map +1 -0
  49. package/dist/engine/services/dragdrop/index.d.ts +13 -0
  50. package/dist/engine/services/dragdrop/index.d.ts.map +1 -0
  51. package/dist/engine/services/dragdrop/index.js +12 -0
  52. package/dist/engine/services/dragdrop/index.js.map +1 -0
  53. package/dist/engine/services/dragdrop/methods/end-drag.d.ts +3 -0
  54. package/dist/engine/services/dragdrop/methods/end-drag.d.ts.map +1 -0
  55. package/dist/engine/services/dragdrop/methods/end-drag.js +10 -0
  56. package/dist/engine/services/dragdrop/methods/end-drag.js.map +1 -0
  57. package/dist/engine/services/dragdrop/methods/start-drag-handler.d.ts +9 -0
  58. package/dist/engine/services/dragdrop/methods/start-drag-handler.d.ts.map +1 -0
  59. package/dist/engine/services/dragdrop/methods/start-drag-handler.js +52 -0
  60. package/dist/engine/services/dragdrop/methods/start-drag-handler.js.map +1 -0
  61. package/dist/engine/services/dragdrop/methods/start-drag.d.ts +4 -0
  62. package/dist/engine/services/dragdrop/methods/start-drag.d.ts.map +1 -0
  63. package/dist/engine/services/dragdrop/methods/start-drag.js +7 -0
  64. package/dist/engine/services/dragdrop/methods/start-drag.js.map +1 -0
  65. package/dist/engine/services/dragdrop/methods/update-position.d.ts +3 -0
  66. package/dist/engine/services/dragdrop/methods/update-position.d.ts.map +1 -0
  67. package/dist/engine/services/dragdrop/methods/update-position.js +9 -0
  68. package/dist/engine/services/dragdrop/methods/update-position.js.map +1 -0
  69. package/dist/engine/services/grouping/grouping.d.ts +2 -0
  70. package/dist/engine/services/grouping/grouping.d.ts.map +1 -1
  71. package/dist/engine/services/grouping/grouping.js +7 -0
  72. package/dist/engine/services/grouping/grouping.js.map +1 -1
  73. package/dist/engine/services/grouping/index.d.ts +23 -1
  74. package/dist/engine/services/grouping/index.d.ts.map +1 -1
  75. package/dist/engine/services/grouping/index.js +26 -2
  76. package/dist/engine/services/grouping/index.js.map +1 -1
  77. package/dist/engine/services/grouping/interfaces/grouped-column.d.ts +2 -1
  78. package/dist/engine/services/grouping/interfaces/grouped-column.d.ts.map +1 -1
  79. package/dist/engine/services/grouping/methods/ui/add-column-to-grouped.d.ts +4 -0
  80. package/dist/engine/services/grouping/methods/ui/add-column-to-grouped.d.ts.map +1 -0
  81. package/dist/engine/services/grouping/methods/ui/add-column-to-grouped.js +25 -0
  82. package/dist/engine/services/grouping/methods/ui/add-column-to-grouped.js.map +1 -0
  83. package/dist/engine/services/grouping/methods/ui/column-dropped.d.ts +4 -0
  84. package/dist/engine/services/grouping/methods/ui/column-dropped.d.ts.map +1 -0
  85. package/dist/engine/services/grouping/methods/ui/column-dropped.js +44 -0
  86. package/dist/engine/services/grouping/methods/ui/column-dropped.js.map +1 -0
  87. package/dist/engine/services/grouping/methods/ui/end-drag.d.ts +3 -0
  88. package/dist/engine/services/grouping/methods/ui/end-drag.d.ts.map +1 -0
  89. package/dist/engine/services/grouping/methods/ui/end-drag.js +25 -0
  90. package/dist/engine/services/grouping/methods/ui/end-drag.js.map +1 -0
  91. package/dist/engine/services/grouping/methods/ui/is-column-grouped.d.ts +4 -0
  92. package/dist/engine/services/grouping/methods/ui/is-column-grouped.d.ts.map +1 -0
  93. package/dist/engine/services/grouping/methods/ui/is-column-grouped.js +5 -0
  94. package/dist/engine/services/grouping/methods/ui/is-column-grouped.js.map +1 -0
  95. package/dist/engine/services/grouping/methods/ui/remove-column-from-grouped.d.ts +4 -0
  96. package/dist/engine/services/grouping/methods/ui/remove-column-from-grouped.d.ts.map +1 -0
  97. package/dist/engine/services/grouping/methods/ui/remove-column-from-grouped.js +15 -0
  98. package/dist/engine/services/grouping/methods/ui/remove-column-from-grouped.js.map +1 -0
  99. package/dist/engine/services/grouping/methods/ui/remove-grouped-column.d.ts +4 -0
  100. package/dist/engine/services/grouping/methods/ui/remove-grouped-column.d.ts.map +1 -0
  101. package/dist/engine/services/grouping/methods/ui/remove-grouped-column.js +14 -0
  102. package/dist/engine/services/grouping/methods/ui/remove-grouped-column.js.map +1 -0
  103. package/dist/engine/services/grouping/methods/ui/reorder-grouped-columns.d.ts +4 -0
  104. package/dist/engine/services/grouping/methods/ui/reorder-grouped-columns.d.ts.map +1 -0
  105. package/dist/engine/services/grouping/methods/ui/reorder-grouped-columns.js +17 -0
  106. package/dist/engine/services/grouping/methods/ui/reorder-grouped-columns.js.map +1 -0
  107. package/dist/engine/services/grouping/methods/ui/set-groupable.d.ts +5 -0
  108. package/dist/engine/services/grouping/methods/ui/set-groupable.d.ts.map +1 -0
  109. package/dist/engine/services/grouping/methods/{set-groupable.js → ui/set-groupable.js} +4 -2
  110. package/dist/engine/services/grouping/methods/ui/set-groupable.js.map +1 -0
  111. package/dist/engine/services/grouping/methods/ui/start-drag-on-column.d.ts +4 -0
  112. package/dist/engine/services/grouping/methods/ui/start-drag-on-column.d.ts.map +1 -0
  113. package/dist/engine/services/grouping/methods/ui/start-drag-on-column.js +16 -0
  114. package/dist/engine/services/grouping/methods/ui/start-drag-on-column.js.map +1 -0
  115. package/dist/engine/services/grouping/methods/ui/start-drag-on-grouped-column.d.ts +3 -0
  116. package/dist/engine/services/grouping/methods/ui/start-drag-on-grouped-column.d.ts.map +1 -0
  117. package/dist/engine/services/grouping/methods/ui/start-drag-on-grouped-column.js +27 -0
  118. package/dist/engine/services/grouping/methods/ui/start-drag-on-grouped-column.js.map +1 -0
  119. package/dist/engine/services/grouping/methods/ui/update-chip-transforms.d.ts +3 -0
  120. package/dist/engine/services/grouping/methods/ui/update-chip-transforms.d.ts.map +1 -0
  121. package/dist/engine/services/grouping/methods/ui/update-chip-transforms.js +38 -0
  122. package/dist/engine/services/grouping/methods/ui/update-chip-transforms.js.map +1 -0
  123. package/dist/engine/services/grouping/methods/ui/update-grouping-panel-hover-state.d.ts +3 -0
  124. package/dist/engine/services/grouping/methods/ui/update-grouping-panel-hover-state.d.ts.map +1 -0
  125. package/dist/engine/services/grouping/methods/ui/update-grouping-panel-hover-state.js +48 -0
  126. package/dist/engine/services/grouping/methods/ui/update-grouping-panel-hover-state.js.map +1 -0
  127. package/dist/engine/services/grouping/types/grouping-drag-data.d.ts +12 -0
  128. package/dist/engine/services/grouping/types/grouping-drag-data.d.ts.map +1 -0
  129. package/dist/engine/services/grouping/types/grouping-drag-data.js +2 -0
  130. package/dist/engine/services/grouping/types/grouping-drag-data.js.map +1 -0
  131. package/dist/engine/services/renderer/parts/grouping-panel/chip-list.d.ts +4 -0
  132. package/dist/engine/services/renderer/parts/grouping-panel/chip-list.d.ts.map +1 -0
  133. package/dist/engine/services/renderer/parts/grouping-panel/chip-list.js +19 -0
  134. package/dist/engine/services/renderer/parts/grouping-panel/chip-list.js.map +1 -0
  135. package/dist/engine/services/renderer/parts/grouping-panel/create-chip-element.d.ts +4 -0
  136. package/dist/engine/services/renderer/parts/grouping-panel/create-chip-element.d.ts.map +1 -0
  137. package/dist/engine/services/renderer/parts/grouping-panel/create-chip-element.js +30 -0
  138. package/dist/engine/services/renderer/parts/grouping-panel/create-chip-element.js.map +1 -0
  139. package/dist/engine/services/renderer/parts/grouping-panel/grouping-drag-preview.d.ts +4 -0
  140. package/dist/engine/services/renderer/parts/grouping-panel/grouping-drag-preview.d.ts.map +1 -0
  141. package/dist/engine/services/renderer/parts/grouping-panel/grouping-drag-preview.js +27 -0
  142. package/dist/engine/services/renderer/parts/grouping-panel/grouping-drag-preview.js.map +1 -0
  143. package/dist/engine/services/renderer/parts/grouping-panel/grouping-panel.d.ts.map +1 -1
  144. package/dist/engine/services/renderer/parts/grouping-panel/grouping-panel.js +16 -0
  145. package/dist/engine/services/renderer/parts/grouping-panel/grouping-panel.js.map +1 -1
  146. package/dist/engine/services/renderer/parts/header/header-cells.d.ts.map +1 -1
  147. package/dist/engine/services/renderer/parts/header/header-cells.js +4 -0
  148. package/dist/engine/services/renderer/parts/header/header-cells.js.map +1 -1
  149. package/dist/engine/services/services.d.ts +2 -0
  150. package/dist/engine/services/services.d.ts.map +1 -1
  151. package/dist/engine/services/services.js +2 -0
  152. package/dist/engine/services/services.js.map +1 -1
  153. package/dist/engine/services/sort/methods/sort.d.ts.map +1 -1
  154. package/dist/engine/services/sort/methods/sort.js +5 -1
  155. package/dist/engine/services/sort/methods/sort.js.map +1 -1
  156. package/dist/engine/store/interfaces/dragdrop-state.d.ts +13 -0
  157. package/dist/engine/store/interfaces/dragdrop-state.d.ts.map +1 -0
  158. package/dist/engine/store/interfaces/dragdrop-state.js +2 -0
  159. package/dist/engine/store/interfaces/dragdrop-state.js.map +1 -0
  160. package/dist/engine/store/interfaces/grouping-state.d.ts +10 -0
  161. package/dist/engine/store/interfaces/grouping-state.d.ts.map +1 -0
  162. package/dist/engine/store/interfaces/grouping-state.js +2 -0
  163. package/dist/engine/store/interfaces/grouping-state.js.map +1 -0
  164. package/dist/engine/store/interfaces/ui-state.d.ts +2 -0
  165. package/dist/engine/store/interfaces/ui-state.d.ts.map +1 -1
  166. package/dist/engine/store/interfaces/view-state.d.ts +2 -0
  167. package/dist/engine/store/interfaces/view-state.d.ts.map +1 -1
  168. package/dist/engine/store/methods/create-initial-state.d.ts.map +1 -1
  169. package/dist/engine/store/methods/create-initial-state.js +16 -0
  170. package/dist/engine/store/methods/create-initial-state.js.map +1 -1
  171. package/dist/polygrid.css +54 -0
  172. package/package.json +1 -1
  173. package/dist/engine/services/animation/methods/capture-after-row-pos.d.ts +0 -4
  174. package/dist/engine/services/animation/methods/capture-after-row-pos.d.ts.map +0 -1
  175. package/dist/engine/services/animation/methods/capture-after-row-pos.js.map +0 -1
  176. package/dist/engine/services/animation/methods/capture-before-row-pos.d.ts +0 -4
  177. package/dist/engine/services/animation/methods/capture-before-row-pos.d.ts.map +0 -1
  178. package/dist/engine/services/animation/methods/capture-before-row-pos.js.map +0 -1
  179. package/dist/engine/services/animation/methods/compute-row-deltas.d.ts +0 -3
  180. package/dist/engine/services/animation/methods/compute-row-deltas.d.ts.map +0 -1
  181. package/dist/engine/services/animation/methods/compute-row-deltas.js.map +0 -1
  182. package/dist/engine/services/animation/methods/play-filter-animation.d.ts +0 -3
  183. package/dist/engine/services/animation/methods/play-filter-animation.d.ts.map +0 -1
  184. package/dist/engine/services/animation/methods/play-filter-animation.js.map +0 -1
  185. package/dist/engine/services/animation/methods/play-row-animation.d.ts +0 -4
  186. package/dist/engine/services/animation/methods/play-row-animation.d.ts.map +0 -1
  187. package/dist/engine/services/animation/methods/play-row-animation.js.map +0 -1
  188. package/dist/engine/services/grouping/methods/set-groupable.d.ts +0 -5
  189. package/dist/engine/services/grouping/methods/set-groupable.d.ts.map +0 -1
  190. package/dist/engine/services/grouping/methods/set-groupable.js.map +0 -1
  191. /package/dist/engine/services/animation/methods/{play-filter-animation.js → filtering/play-filter-animation.js} +0 -0
  192. /package/dist/engine/services/animation/methods/{capture-after-row-pos.js → sorting/capture-after-row-pos.js} +0 -0
  193. /package/dist/engine/services/animation/methods/{capture-before-row-pos.js → sorting/capture-before-row-pos.js} +0 -0
  194. /package/dist/engine/services/animation/methods/{compute-row-deltas.js → sorting/compute-row-deltas.js} +0 -0
  195. /package/dist/engine/services/animation/methods/{play-row-animation.js → sorting/play-row-animation.js} +0 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"start-drag.d.ts","sourceRoot":"","sources":["../../../../../src/engine/services/dragdrop/methods/start-drag.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAC9C,OAAO,EAAE,gBAAgB,EAAE,MAAM,yCAAyC,CAAC;AAE3E,wBAAgB,SAAS,CAAC,CAAC,SAAS,gBAAgB,EAClD,IAAI,EAAE,CAAC,EACP,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,MAAM,EACd,IAAI,EAAE,QAAQ,QAMf"}
@@ -0,0 +1,7 @@
1
+ export function startDrag(data, startX, startY, grid) {
2
+ const state = grid._store.getState();
3
+ state.ui.dragDrop.currentDragData = data;
4
+ state.ui.dragDrop.dragImageEl.style.top = `${startY}px`;
5
+ state.ui.dragDrop.dragImageEl.style.left = `${startX}px`;
6
+ }
7
+ //# sourceMappingURL=start-drag.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"start-drag.js","sourceRoot":"","sources":["../../../../../src/engine/services/dragdrop/methods/start-drag.ts"],"names":[],"mappings":"AAGA,MAAM,UAAU,SAAS,CACvB,IAAO,EACP,MAAc,EACd,MAAc,EACd,IAAc;IAEd,MAAM,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC;IACrC,KAAK,CAAC,EAAE,CAAC,QAAQ,CAAC,eAAe,GAAG,IAAI,CAAC;IACzC,KAAK,CAAC,EAAE,CAAC,QAAQ,CAAC,WAAY,CAAC,KAAK,CAAC,GAAG,GAAG,GAAG,MAAM,IAAI,CAAC;IACzD,KAAK,CAAC,EAAE,CAAC,QAAQ,CAAC,WAAY,CAAC,KAAK,CAAC,IAAI,GAAG,GAAG,MAAM,IAAI,CAAC;AAC5D,CAAC"}
@@ -0,0 +1,3 @@
1
+ import { PolyGrid } from "../../../core/grid";
2
+ export declare function updatePosition(grid: PolyGrid, x: number, y: number): void;
3
+ //# sourceMappingURL=update-position.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"update-position.d.ts","sourceRoot":"","sources":["../../../../../src/engine/services/dragdrop/methods/update-position.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAE9C,wBAAgB,cAAc,CAAC,IAAI,EAAE,QAAQ,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,QAOlE"}
@@ -0,0 +1,9 @@
1
+ export function updatePosition(grid, x, y) {
2
+ const state = grid._store.getState();
3
+ if (state.ui.dragDrop.dragImageEl) {
4
+ state.ui.dragDrop.dragImageEl.style.top = `${y}px`;
5
+ state.ui.dragDrop.dragImageEl.style.left = `${x}px`;
6
+ state.ui.dragDrop.dragPosition = { x: x, y: y };
7
+ }
8
+ }
9
+ //# sourceMappingURL=update-position.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"update-position.js","sourceRoot":"","sources":["../../../../../src/engine/services/dragdrop/methods/update-position.ts"],"names":[],"mappings":"AAEA,MAAM,UAAU,cAAc,CAAC,IAAc,EAAE,CAAS,EAAE,CAAS;IACjE,MAAM,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC;IACrC,IAAI,KAAK,CAAC,EAAE,CAAC,QAAQ,CAAC,WAAW,EAAE,CAAC;QAClC,KAAK,CAAC,EAAE,CAAC,QAAQ,CAAC,WAAW,CAAC,KAAK,CAAC,GAAG,GAAG,GAAG,CAAC,IAAI,CAAC;QACnD,KAAK,CAAC,EAAE,CAAC,QAAQ,CAAC,WAAW,CAAC,KAAK,CAAC,IAAI,GAAG,GAAG,CAAC,IAAI,CAAC;QACpD,KAAK,CAAC,EAAE,CAAC,QAAQ,CAAC,YAAY,GAAG,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC;IAClD,CAAC;AACH,CAAC"}
@@ -4,6 +4,7 @@ import { ObservableLike } from "../../rx-lite/interfaces/observable-like";
4
4
  import { PolyGridStore } from "../../store/store";
5
5
  import { ServiceWithMethods } from "../services";
6
6
  import { GroupingMethods } from "./index";
7
+ import { GroupedColumn } from "./interfaces/grouped-column";
7
8
  import { PolyGridGroupingSettings } from "./interfaces/grouping-settings";
8
9
  export declare class GroupingService {
9
10
  store: PolyGridStore;
@@ -11,6 +12,7 @@ export declare class GroupingService {
11
12
  gridDom: GridDOM;
12
13
  grid: PolyGrid;
13
14
  groupable$: ObservableLike<boolean | PolyGridGroupingSettings>;
15
+ groupedColumns$: ObservableLike<GroupedColumn[]>;
14
16
  constructor(grid: PolyGrid);
15
17
  initApiSubscriptions(): void;
16
18
  }
@@ -1 +1 @@
1
- {"version":3,"file":"grouping.d.ts","sourceRoot":"","sources":["../../../../src/engine/services/grouping/grouping.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AAC3C,OAAO,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAC;AAC9C,OAAO,EAAE,cAAc,EAAE,MAAM,0CAA0C,CAAC;AAE1E,OAAO,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAClD,OAAO,EAAgB,kBAAkB,EAAE,MAAM,aAAa,CAAC;AAC/D,OAAO,EAAE,eAAe,EAAW,MAAM,SAAS,CAAC;AACnD,OAAO,EAAE,wBAAwB,EAAE,MAAM,gCAAgC,CAAC;AAE1E,qBAAa,eAAe;IAC1B,KAAK,EAAE,aAAa,CAAC;IACrB,QAAQ,EAAE,cAAc,CAAC,IAAI,CAAC,CAAC;IAC/B,OAAO,EAAE,OAAO,CAAC;IACjB,IAAI,EAAE,QAAQ,CAAC;IAEf,UAAU,EAAG,cAAc,CAAC,OAAO,GAAG,wBAAwB,CAAC,CAAC;gBAEpD,IAAI,EAAE,QAAQ;IAS1B,oBAAoB;CAMrB;AAED,MAAM,MAAM,mBAAmB,GAAG,kBAAkB,CAClD,eAAe,EACf,eAAe,CAChB,CAAC"}
1
+ {"version":3,"file":"grouping.d.ts","sourceRoot":"","sources":["../../../../src/engine/services/grouping/grouping.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AAC3C,OAAO,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAC;AAC9C,OAAO,EAAE,cAAc,EAAE,MAAM,0CAA0C,CAAC;AAG1E,OAAO,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAClD,OAAO,EAAgB,kBAAkB,EAAE,MAAM,aAAa,CAAC;AAC/D,OAAO,EAAE,eAAe,EAAW,MAAM,SAAS,CAAC;AACnD,OAAO,EAAE,aAAa,EAAE,MAAM,6BAA6B,CAAC;AAC5D,OAAO,EAAE,wBAAwB,EAAE,MAAM,gCAAgC,CAAC;AAE1E,qBAAa,eAAe;IAC1B,KAAK,EAAE,aAAa,CAAC;IACrB,QAAQ,EAAE,cAAc,CAAC,IAAI,CAAC,CAAC;IAC/B,OAAO,EAAE,OAAO,CAAC;IACjB,IAAI,EAAE,QAAQ,CAAC;IAEf,UAAU,EAAG,cAAc,CAAC,OAAO,GAAG,wBAAwB,CAAC,CAAC;IAChE,eAAe,EAAG,cAAc,CAAC,aAAa,EAAE,CAAC,CAAC;gBAEtC,IAAI,EAAE,QAAQ;IAoB1B,oBAAoB;CAMrB;AAED,MAAM,MAAM,mBAAmB,GAAG,kBAAkB,CAClD,eAAe,EACf,eAAe,CAChB,CAAC"}
@@ -1,4 +1,5 @@
1
1
  import { distinctUntilChanged } from "../../rx-lite/operators/distinct-until-changed";
2
+ import { takeUntil } from "../../rx-lite/operators/takeuntil";
2
3
  import { applyMethods } from "../services";
3
4
  import { methods } from "./index";
4
5
  export class GroupingService {
@@ -8,6 +9,12 @@ export class GroupingService {
8
9
  this.gridDom = grid._gridDom;
9
10
  this.grid = grid;
10
11
  applyMethods(this, methods);
12
+ this.store.on("columnDrop", ({ data }) => {
13
+ methods.columnDropped(grid, data);
14
+ });
15
+ this.groupedColumns$ = this.store
16
+ .selectKeyed("view.groupingState.groupedColumns", (s) => s.view.groupingState.groupedColumns)
17
+ .pipe(takeUntil(this.destroy$));
11
18
  }
12
19
  initApiSubscriptions() {
13
20
  this.groupable$ = this.store
@@ -1 +1 @@
1
- {"version":3,"file":"grouping.js","sourceRoot":"","sources":["../../../../src/engine/services/grouping/grouping.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,oBAAoB,EAAE,MAAM,gDAAgD,CAAC;AAEtF,OAAO,EAAE,YAAY,EAAsB,MAAM,aAAa,CAAC;AAC/D,OAAO,EAAmB,OAAO,EAAE,MAAM,SAAS,CAAC;AAGnD,MAAM,OAAO,eAAe;IAQ1B,YAAY,IAAc;QACxB,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC;QACzB,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,SAAS,CAAC;QAC/B,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAC;QAC7B,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QAEjB,YAAY,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;IAC9B,CAAC;IAED,oBAAoB;QAClB,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,KAAK;aACzB,WAAW,CAAC,gBAAgB,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC;aACtD,IAAI,CAAC,oBAAoB,EAAE,CAAC,CAAC;QAChC,OAAO,CAAC,YAAY,CAAC,IAAI,EAAE,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;IACvD,CAAC;CACF"}
1
+ {"version":3,"file":"grouping.js","sourceRoot":"","sources":["../../../../src/engine/services/grouping/grouping.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,oBAAoB,EAAE,MAAM,gDAAgD,CAAC;AACtF,OAAO,EAAE,SAAS,EAAE,MAAM,mCAAmC,CAAC;AAE9D,OAAO,EAAE,YAAY,EAAsB,MAAM,aAAa,CAAC;AAC/D,OAAO,EAAmB,OAAO,EAAE,MAAM,SAAS,CAAC;AAInD,MAAM,OAAO,eAAe;IAS1B,YAAY,IAAc;QACxB,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC;QACzB,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,SAAS,CAAC;QAC/B,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAC;QAC7B,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QAEjB,YAAY,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;QAE5B,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,YAAY,EAAE,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE;YACvC,OAAO,CAAC,aAAa,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;QACpC,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC,KAAK;aAC9B,WAAW,CACV,mCAAmC,EACnC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,cAAc,CAC3C;aACA,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC;IACpC,CAAC;IAED,oBAAoB;QAClB,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,KAAK;aACzB,WAAW,CAAC,gBAAgB,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC;aACtD,IAAI,CAAC,oBAAoB,EAAE,CAAC,CAAC;QAChC,OAAO,CAAC,YAAY,CAAC,IAAI,EAAE,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;IACvD,CAAC;CACF"}
@@ -1,7 +1,29 @@
1
1
  export * from "./grouping";
2
- import { setGroupable } from "./methods/set-groupable";
2
+ import { setGroupable } from "./methods/ui/set-groupable";
3
+ import { columnDropped } from "./methods/ui/column-dropped";
4
+ import { isColumnGrouped } from "./methods/ui/is-column-grouped";
5
+ import { addColumnToGroupedColumns } from "./methods/ui/add-column-to-grouped";
6
+ import { removeGroupedColumn } from "./methods/ui/remove-grouped-column";
7
+ import { removeColumnFromGroupedColumns } from "./methods/ui/remove-column-from-grouped";
8
+ import { startDragOnColumn } from "./methods/ui/start-drag-on-column";
9
+ import { startDragOnGroupedColumn } from "./methods/ui/start-drag-on-grouped-column";
10
+ import { updateGroupingPanelHoverState } from "./methods/ui/update-grouping-panel-hover-state";
11
+ import { endDrag } from "./methods/ui/end-drag";
12
+ import { reorderGroupedColumn } from "./methods/ui/reorder-grouped-columns";
13
+ import { updateChipTransforms } from "./methods/ui/update-chip-transforms";
3
14
  export declare const methods: {
4
15
  setGroupable: typeof setGroupable;
16
+ columnDropped: typeof columnDropped;
17
+ isColumnGrouped: typeof isColumnGrouped;
18
+ addColumnToGroupedColumns: typeof addColumnToGroupedColumns;
19
+ removeGroupedColumn: typeof removeGroupedColumn;
20
+ removeColumnFromGroupedColumns: typeof removeColumnFromGroupedColumns;
21
+ startDragOnColumn: typeof startDragOnColumn;
22
+ startDragOnGroupedColumn: typeof startDragOnGroupedColumn;
23
+ updateGroupingPanelHoverState: typeof updateGroupingPanelHoverState;
24
+ endDrag: typeof endDrag;
25
+ reorderGroupedColumn: typeof reorderGroupedColumn;
26
+ updateChipTransforms: typeof updateChipTransforms;
5
27
  };
6
28
  export type GroupingMethods = typeof methods;
7
29
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/engine/services/grouping/index.ts"],"names":[],"mappings":"AAAA,cAAc,YAAY,CAAC;AAE3B,OAAO,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;AAEvD,eAAO,MAAM,OAAO;;CAAmB,CAAC;AACxC,MAAM,MAAM,eAAe,GAAG,OAAO,OAAO,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/engine/services/grouping/index.ts"],"names":[],"mappings":"AAAA,cAAc,YAAY,CAAC;AAE3B,OAAO,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAC;AAC1D,OAAO,EAAE,aAAa,EAAE,MAAM,6BAA6B,CAAC;AAC5D,OAAO,EAAE,eAAe,EAAE,MAAM,gCAAgC,CAAC;AACjE,OAAO,EAAE,yBAAyB,EAAE,MAAM,oCAAoC,CAAC;AAC/E,OAAO,EAAE,mBAAmB,EAAE,MAAM,oCAAoC,CAAC;AACzE,OAAO,EAAE,8BAA8B,EAAE,MAAM,yCAAyC,CAAC;AACzF,OAAO,EAAE,iBAAiB,EAAE,MAAM,mCAAmC,CAAC;AACtE,OAAO,EAAE,wBAAwB,EAAE,MAAM,2CAA2C,CAAC;AACrF,OAAO,EAAE,6BAA6B,EAAE,MAAM,gDAAgD,CAAC;AAC/F,OAAO,EAAE,OAAO,EAAE,MAAM,uBAAuB,CAAC;AAChD,OAAO,EAAE,oBAAoB,EAAE,MAAM,sCAAsC,CAAC;AAC5E,OAAO,EAAE,oBAAoB,EAAE,MAAM,qCAAqC,CAAC;AAE3E,eAAO,MAAM,OAAO;;;;;;;;;;;;;CAanB,CAAC;AACF,MAAM,MAAM,eAAe,GAAG,OAAO,OAAO,CAAC"}
@@ -1,4 +1,28 @@
1
1
  export * from "./grouping";
2
- import { setGroupable } from "./methods/set-groupable";
3
- export const methods = { setGroupable };
2
+ import { setGroupable } from "./methods/ui/set-groupable";
3
+ import { columnDropped } from "./methods/ui/column-dropped";
4
+ import { isColumnGrouped } from "./methods/ui/is-column-grouped";
5
+ import { addColumnToGroupedColumns } from "./methods/ui/add-column-to-grouped";
6
+ import { removeGroupedColumn } from "./methods/ui/remove-grouped-column";
7
+ import { removeColumnFromGroupedColumns } from "./methods/ui/remove-column-from-grouped";
8
+ import { startDragOnColumn } from "./methods/ui/start-drag-on-column";
9
+ import { startDragOnGroupedColumn } from "./methods/ui/start-drag-on-grouped-column";
10
+ import { updateGroupingPanelHoverState } from "./methods/ui/update-grouping-panel-hover-state";
11
+ import { endDrag } from "./methods/ui/end-drag";
12
+ import { reorderGroupedColumn } from "./methods/ui/reorder-grouped-columns";
13
+ import { updateChipTransforms } from "./methods/ui/update-chip-transforms";
14
+ export const methods = {
15
+ setGroupable,
16
+ columnDropped,
17
+ isColumnGrouped,
18
+ addColumnToGroupedColumns,
19
+ removeGroupedColumn,
20
+ removeColumnFromGroupedColumns,
21
+ startDragOnColumn,
22
+ startDragOnGroupedColumn,
23
+ updateGroupingPanelHoverState,
24
+ endDrag,
25
+ reorderGroupedColumn,
26
+ updateChipTransforms,
27
+ };
4
28
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/engine/services/grouping/index.ts"],"names":[],"mappings":"AAAA,cAAc,YAAY,CAAC;AAE3B,OAAO,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;AAEvD,MAAM,CAAC,MAAM,OAAO,GAAG,EAAE,YAAY,EAAE,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/engine/services/grouping/index.ts"],"names":[],"mappings":"AAAA,cAAc,YAAY,CAAC;AAE3B,OAAO,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAC;AAC1D,OAAO,EAAE,aAAa,EAAE,MAAM,6BAA6B,CAAC;AAC5D,OAAO,EAAE,eAAe,EAAE,MAAM,gCAAgC,CAAC;AACjE,OAAO,EAAE,yBAAyB,EAAE,MAAM,oCAAoC,CAAC;AAC/E,OAAO,EAAE,mBAAmB,EAAE,MAAM,oCAAoC,CAAC;AACzE,OAAO,EAAE,8BAA8B,EAAE,MAAM,yCAAyC,CAAC;AACzF,OAAO,EAAE,iBAAiB,EAAE,MAAM,mCAAmC,CAAC;AACtE,OAAO,EAAE,wBAAwB,EAAE,MAAM,2CAA2C,CAAC;AACrF,OAAO,EAAE,6BAA6B,EAAE,MAAM,gDAAgD,CAAC;AAC/F,OAAO,EAAE,OAAO,EAAE,MAAM,uBAAuB,CAAC;AAChD,OAAO,EAAE,oBAAoB,EAAE,MAAM,sCAAsC,CAAC;AAC5E,OAAO,EAAE,oBAAoB,EAAE,MAAM,qCAAqC,CAAC;AAE3E,MAAM,CAAC,MAAM,OAAO,GAAG;IACrB,YAAY;IACZ,aAAa;IACb,eAAe;IACf,yBAAyB;IACzB,mBAAmB;IACnB,8BAA8B;IAC9B,iBAAiB;IACjB,wBAAwB;IACxB,6BAA6B;IAC7B,OAAO;IACP,oBAAoB;IACpB,oBAAoB;CACrB,CAAC"}
@@ -1,9 +1,10 @@
1
1
  import { InternalColumn } from "../../column/interfaces/internal-column";
2
+ import { IconName } from "../../icon/types/icon-name";
2
3
  import { PolyGridSortOrder } from "../../sort/types/sort-order";
3
4
  export interface GroupedColumn {
4
5
  column: InternalColumn;
5
6
  sortOrder: PolyGridSortOrder;
6
7
  orderIndex: number;
7
- sortIcon: string;
8
+ sortIcon: IconName;
8
9
  }
9
10
  //# sourceMappingURL=grouped-column.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"grouped-column.d.ts","sourceRoot":"","sources":["../../../../../src/engine/services/grouping/interfaces/grouped-column.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,yCAAyC,CAAC;AACzE,OAAO,EAAE,iBAAiB,EAAE,MAAM,6BAA6B,CAAC;AAEhE,MAAM,WAAW,aAAa;IAC5B,MAAM,EAAE,cAAc,CAAC;IACvB,SAAS,EAAE,iBAAiB,CAAC;IAC7B,UAAU,EAAE,MAAM,CAAC;IACnB,QAAQ,EAAE,MAAM,CAAC;CAClB"}
1
+ {"version":3,"file":"grouped-column.d.ts","sourceRoot":"","sources":["../../../../../src/engine/services/grouping/interfaces/grouped-column.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,yCAAyC,CAAC;AACzE,OAAO,EAAE,QAAQ,EAAE,MAAM,4BAA4B,CAAC;AACtD,OAAO,EAAE,iBAAiB,EAAE,MAAM,6BAA6B,CAAC;AAEhE,MAAM,WAAW,aAAa;IAC5B,MAAM,EAAE,cAAc,CAAC;IACvB,SAAS,EAAE,iBAAiB,CAAC;IAC7B,UAAU,EAAE,MAAM,CAAC;IACnB,QAAQ,EAAE,QAAQ,CAAC;CACpB"}
@@ -0,0 +1,4 @@
1
+ import { PolyGrid } from "../../../../core/grid";
2
+ import { InternalColumn } from "../../../column/interfaces/internal-column";
3
+ export declare function addColumnToGroupedColumns(column: InternalColumn, insertIndex: number, grid: PolyGrid): void;
4
+ //# sourceMappingURL=add-column-to-grouped.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"add-column-to-grouped.d.ts","sourceRoot":"","sources":["../../../../../../src/engine/services/grouping/methods/ui/add-column-to-grouped.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AACjD,OAAO,EAAE,cAAc,EAAE,MAAM,4CAA4C,CAAC;AAG5E,wBAAgB,yBAAyB,CACvC,MAAM,EAAE,cAAc,EACtB,WAAW,EAAE,MAAM,EACnB,IAAI,EAAE,QAAQ,QA4Bf"}
@@ -0,0 +1,25 @@
1
+ export function addColumnToGroupedColumns(column, insertIndex, grid) {
2
+ const services = grid._services;
3
+ // already grouped, do nothing
4
+ if (services.grouping.isColumnGrouped(grid, column))
5
+ return;
6
+ const groupedColumns = grid._store.getState().view.groupingState.groupedColumns;
7
+ const newGroupedCol = {
8
+ column,
9
+ sortOrder: "asc",
10
+ orderIndex: insertIndex, // temporary, will be reassigned below
11
+ sortIcon: "sortAsc",
12
+ };
13
+ const updated = [
14
+ ...groupedColumns.slice(0, insertIndex),
15
+ newGroupedCol,
16
+ ...groupedColumns.slice(insertIndex),
17
+ ].map((col, i) => ({
18
+ ...col,
19
+ orderIndex: i,
20
+ }));
21
+ grid._store.update((draft) => {
22
+ draft.view.groupingState.groupedColumns = updated;
23
+ });
24
+ }
25
+ //# sourceMappingURL=add-column-to-grouped.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"add-column-to-grouped.js","sourceRoot":"","sources":["../../../../../../src/engine/services/grouping/methods/ui/add-column-to-grouped.ts"],"names":[],"mappings":"AAIA,MAAM,UAAU,yBAAyB,CACvC,MAAsB,EACtB,WAAmB,EACnB,IAAc;IAEd,MAAM,QAAQ,GAAG,IAAI,CAAC,SAAS,CAAC;IAChC,8BAA8B;IAC9B,IAAI,QAAQ,CAAC,QAAQ,CAAC,eAAe,CAAC,IAAI,EAAE,MAAM,CAAC;QAAE,OAAO;IAE5D,MAAM,cAAc,GAClB,IAAI,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC,IAAI,CAAC,aAAa,CAAC,cAAc,CAAC;IAE3D,MAAM,aAAa,GAAkB;QACnC,MAAM;QACN,SAAS,EAAE,KAAK;QAChB,UAAU,EAAE,WAAW,EAAE,sCAAsC;QAC/D,QAAQ,EAAE,SAAS;KACpB,CAAC;IAEF,MAAM,OAAO,GAAG;QACd,GAAG,cAAc,CAAC,KAAK,CAAC,CAAC,EAAE,WAAW,CAAC;QACvC,aAAa;QACb,GAAG,cAAc,CAAC,KAAK,CAAC,WAAW,CAAC;KACrC,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC;QACjB,GAAG,GAAG;QACN,UAAU,EAAE,CAAC;KACd,CAAC,CAAC,CAAC;IAEJ,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE;QAC3B,KAAK,CAAC,IAAI,CAAC,aAAa,CAAC,cAAc,GAAG,OAAO,CAAC;IACpD,CAAC,CAAC,CAAC;AACL,CAAC"}
@@ -0,0 +1,4 @@
1
+ import { PolyGrid } from "../../../../core/grid";
2
+ import { GroupingDragData } from "../../types/grouping-drag-data";
3
+ export declare function columnDropped(grid: PolyGrid, dragData: GroupingDragData): void;
4
+ //# sourceMappingURL=column-dropped.d.ts.map
@@ -0,0 +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"}
@@ -0,0 +1,44 @@
1
+ export function columnDropped(grid, dragData) {
2
+ const { column, type } = dragData;
3
+ const services = grid._services;
4
+ const state = grid._store.getState();
5
+ if (type === "column-header") {
6
+ const insertIndex = state.view.groupingState.hoveredInsertIndex;
7
+ services.grouping.addColumnToGroupedColumns(column, insertIndex ?? state.view.groupingState.groupedColumns.length, grid);
8
+ state.view.groupingState.hoveredInsertIndex = null;
9
+ state.view.groupingState.isGridGrouped = true;
10
+ }
11
+ else {
12
+ const draggedIndex = dragData.column.orderIndex;
13
+ const hovered = state.view.groupingState.hoveredInsertIndex;
14
+ const targetIndex = getDropIndex(draggedIndex, hovered);
15
+ services.grouping.reorderGroupedColumn(grid, column.column, targetIndex);
16
+ // Clear transforms, placeholder class, and visibility
17
+ const container = grid._gridDom.groupingPanel.querySelector(".grouped-col-container");
18
+ if (container) {
19
+ Array.from(container.children).forEach((child) => {
20
+ const el = child;
21
+ el.style.transform = "";
22
+ el.classList.remove("drag-placeholder");
23
+ el.style.visibility = "visible";
24
+ });
25
+ }
26
+ // Reset state
27
+ state.view.groupingState.hasChipCrossedMidpoint = false;
28
+ state.view.groupingState.hoveredInsertIndex = null;
29
+ }
30
+ }
31
+ function getDropIndex(draggedIndex, hovered) {
32
+ if (hovered === null)
33
+ return draggedIndex;
34
+ // dragging left
35
+ if (hovered < draggedIndex) {
36
+ return hovered;
37
+ }
38
+ // dragging right
39
+ if (hovered > draggedIndex) {
40
+ return hovered - 1;
41
+ }
42
+ return draggedIndex;
43
+ }
44
+ //# sourceMappingURL=column-dropped.js.map
@@ -0,0 +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"}
@@ -0,0 +1,3 @@
1
+ import { PolyGrid } from "../../../../core/grid";
2
+ export declare function endDrag(grid: PolyGrid): void;
3
+ //# sourceMappingURL=end-drag.d.ts.map
@@ -0,0 +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"}
@@ -0,0 +1,25 @@
1
+ export function endDrag(grid) {
2
+ const state = grid._store.getState();
3
+ const dragData = state.ui.dragDrop.currentDragData;
4
+ if (!dragData)
5
+ return;
6
+ if (dragData.type === "grouped-chip") {
7
+ if (!state.view.groupingState.isInsideGroupingPanel) {
8
+ grid._services.grouping.removeGroupedColumn(grid, dragData.column);
9
+ grid._services.dragdrop.endDrag(grid);
10
+ state.view.groupingState.hoveredInsertIndex = null;
11
+ state.view.groupingState.isInsideGroupingPanel = false;
12
+ state.ui.dragDrop.suppressClick = false;
13
+ }
14
+ else {
15
+ grid._store.emitEvent("columnDrop", { data: dragData });
16
+ }
17
+ }
18
+ else {
19
+ if (state.view.groupingState.isInsideGroupingPanel) {
20
+ grid._store.emitEvent("columnDrop", { data: dragData });
21
+ state.ui.dragDrop.suppressClick = false;
22
+ }
23
+ }
24
+ }
25
+ //# sourceMappingURL=end-drag.js.map
@@ -0,0 +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"}
@@ -0,0 +1,4 @@
1
+ import { PolyGrid } from "../../../../core/grid";
2
+ import { InternalColumn } from "../../../column/interfaces/internal-column";
3
+ export declare function isColumnGrouped(grid: PolyGrid, column: InternalColumn): boolean;
4
+ //# sourceMappingURL=is-column-grouped.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"is-column-grouped.d.ts","sourceRoot":"","sources":["../../../../../../src/engine/services/grouping/methods/ui/is-column-grouped.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AACjD,OAAO,EAAE,cAAc,EAAE,MAAM,4CAA4C,CAAC;AAE5E,wBAAgB,eAAe,CAAC,IAAI,EAAE,QAAQ,EAAE,MAAM,EAAE,cAAc,WAKrE"}
@@ -0,0 +1,5 @@
1
+ export function isColumnGrouped(grid, column) {
2
+ const state = grid._store.getState();
3
+ return !!state.view.groupingState.groupedColumns.find((groupedCol) => groupedCol.column.id === column.id);
4
+ }
5
+ //# sourceMappingURL=is-column-grouped.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"is-column-grouped.js","sourceRoot":"","sources":["../../../../../../src/engine/services/grouping/methods/ui/is-column-grouped.ts"],"names":[],"mappings":"AAGA,MAAM,UAAU,eAAe,CAAC,IAAc,EAAE,MAAsB;IACpE,MAAM,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC;IACrC,OAAO,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,aAAa,CAAC,cAAc,CAAC,IAAI,CACnD,CAAC,UAAU,EAAE,EAAE,CAAC,UAAU,CAAC,MAAM,CAAC,EAAE,KAAK,MAAM,CAAC,EAAE,CACnD,CAAC;AACJ,CAAC"}
@@ -0,0 +1,4 @@
1
+ import { PolyGrid } from "../../../../core/grid";
2
+ import { GroupedColumn } from "../../interfaces/grouped-column";
3
+ export declare function removeColumnFromGroupedColumns(grid: PolyGrid, groupedColumn: GroupedColumn): void;
4
+ //# sourceMappingURL=remove-column-from-grouped.d.ts.map
@@ -0,0 +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"}
@@ -0,0 +1,15 @@
1
+ export function removeColumnFromGroupedColumns(grid, groupedColumn) {
2
+ const services = grid._services;
3
+ const state = grid._store.getState();
4
+ if (services.grouping.isColumnGrouped(grid, groupedColumn.column)) {
5
+ const filtered = state.view.groupingState.groupedColumns.filter((groupedCol) => groupedCol.column.id !== groupedColumn.column.id);
6
+ const updated = filtered.map((col, i) => ({
7
+ ...col,
8
+ orderIndex: i,
9
+ }));
10
+ grid._store.update((draft) => {
11
+ draft.view.groupingState.groupedColumns = updated;
12
+ });
13
+ }
14
+ }
15
+ //# sourceMappingURL=remove-column-from-grouped.js.map
@@ -0,0 +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"}
@@ -0,0 +1,4 @@
1
+ import { PolyGrid } from "../../../../core/grid";
2
+ import { GroupedColumn } from "../../interfaces/grouped-column";
3
+ export declare function removeGroupedColumn(grid: PolyGrid, groupedColumn: GroupedColumn): void;
4
+ //# sourceMappingURL=remove-grouped-column.d.ts.map
@@ -0,0 +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"}
@@ -0,0 +1,14 @@
1
+ export function removeGroupedColumn(grid, groupedColumn) {
2
+ const state = grid._store.getState();
3
+ const anim = grid._services.animation;
4
+ // Capture current positions BEFORE removal
5
+ anim.capturePositions(grid);
6
+ grid._services.grouping.removeColumnFromGroupedColumns(grid, groupedColumn);
7
+ state.view.groupingState.isGridGrouped =
8
+ state.view.groupingState.groupedColumns.length > 0;
9
+ // Wait for DOM update, then animate
10
+ requestAnimationFrame(() => {
11
+ anim.playFlipAnimation(grid);
12
+ });
13
+ }
14
+ //# sourceMappingURL=remove-grouped-column.js.map
@@ -0,0 +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"}
@@ -0,0 +1,4 @@
1
+ import { PolyGrid } from "../../../../core/grid";
2
+ import { InternalColumn } from "../../../column/interfaces/internal-column";
3
+ export declare function reorderGroupedColumn(grid: PolyGrid, column: InternalColumn, insertIndex: number): void;
4
+ //# sourceMappingURL=reorder-grouped-columns.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"reorder-grouped-columns.d.ts","sourceRoot":"","sources":["../../../../../../src/engine/services/grouping/methods/ui/reorder-grouped-columns.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AACjD,OAAO,EAAE,cAAc,EAAE,MAAM,4CAA4C,CAAC;AAE5E,wBAAgB,oBAAoB,CAClC,IAAI,EAAE,QAAQ,EACd,MAAM,EAAE,cAAc,EACtB,WAAW,EAAE,MAAM,QAmBpB"}
@@ -0,0 +1,17 @@
1
+ export function reorderGroupedColumn(grid, column, insertIndex) {
2
+ const groupedColumns = grid._store.getState().view.groupingState.groupedColumns;
3
+ const moved = groupedColumns.find((col) => col.column.id === column.id);
4
+ const filtered = groupedColumns.filter((col) => col.column.id !== column.id);
5
+ const updated = [
6
+ ...filtered.slice(0, insertIndex),
7
+ moved,
8
+ ...filtered.slice(insertIndex),
9
+ ].map((col, i) => ({
10
+ ...col,
11
+ orderIndex: i,
12
+ }));
13
+ grid._store.update((draft) => {
14
+ draft.view.groupingState.groupedColumns = updated;
15
+ });
16
+ }
17
+ //# sourceMappingURL=reorder-grouped-columns.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"reorder-grouped-columns.js","sourceRoot":"","sources":["../../../../../../src/engine/services/grouping/methods/ui/reorder-grouped-columns.ts"],"names":[],"mappings":"AAGA,MAAM,UAAU,oBAAoB,CAClC,IAAc,EACd,MAAsB,EACtB,WAAmB;IAEnB,MAAM,cAAc,GAClB,IAAI,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC,IAAI,CAAC,aAAa,CAAC,cAAc,CAAC;IAE3D,MAAM,KAAK,GAAG,cAAc,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,KAAK,MAAM,CAAC,EAAE,CAAC,CAAC;IACxE,MAAM,QAAQ,GAAG,cAAc,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,KAAK,MAAM,CAAC,EAAE,CAAC,CAAC;IAC7E,MAAM,OAAO,GAAG;QACd,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC,EAAE,WAAW,CAAC;QACjC,KAAM;QACN,GAAG,QAAQ,CAAC,KAAK,CAAC,WAAW,CAAC;KAC/B,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC;QACjB,GAAG,GAAG;QACN,UAAU,EAAE,CAAC;KACd,CAAC,CAAC,CAAC;IAEJ,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE;QAC3B,KAAK,CAAC,IAAI,CAAC,aAAa,CAAC,cAAc,GAAG,OAAO,CAAC;IACpD,CAAC,CAAC,CAAC;AACL,CAAC"}
@@ -0,0 +1,5 @@
1
+ import { PolyGrid } from "../../../../core/grid";
2
+ import { ObservableLike } from "../../../../rx-lite/interfaces/observable-like";
3
+ import { GroupingService } from "../../grouping";
4
+ export declare function setGroupable(groupingService: GroupingService, destroy$: ObservableLike<void>, grid: PolyGrid): void;
5
+ //# sourceMappingURL=set-groupable.d.ts.map
@@ -0,0 +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,5 +1,5 @@
1
- import { takeUntil } from "../../../rx-lite/operators/takeuntil";
2
- import { renderGroupingPanel } from "../../renderer/parts/grouping-panel/grouping-panel";
1
+ import { takeUntil } from "../../../../rx-lite/operators/takeuntil";
2
+ import { renderGroupingPanel } from "../../../renderer/parts/grouping-panel/grouping-panel";
3
3
  export function setGroupable(groupingService, destroy$, grid) {
4
4
  groupingService.groupable$
5
5
  .pipe(takeUntil(destroy$))
@@ -11,6 +11,8 @@ export function setGroupable(groupingService, destroy$, grid) {
11
11
  groupingService.store.update((draft) => {
12
12
  draft.view.rawViewportHeight += 40;
13
13
  });
14
+ grid._runtime.groupedColumnsUnsub?.();
15
+ grid._runtime.groupedColumnsUnsub = undefined;
14
16
  }
15
17
  }
16
18
  else {
@@ -0,0 +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"}
@@ -0,0 +1,4 @@
1
+ import { PolyGrid } from "../../../../core/grid";
2
+ import { InternalColumn } from "../../../column/interfaces/internal-column";
3
+ export declare function startDragOnColumn(e: MouseEvent, grid: PolyGrid, column: InternalColumn): void;
4
+ //# sourceMappingURL=start-drag-on-column.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"start-drag-on-column.d.ts","sourceRoot":"","sources":["../../../../../../src/engine/services/grouping/methods/ui/start-drag-on-column.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AACjD,OAAO,EAAE,cAAc,EAAE,MAAM,4CAA4C,CAAC;AAM5E,wBAAgB,iBAAiB,CAC/B,CAAC,EAAE,UAAU,EACb,IAAI,EAAE,QAAQ,EACd,MAAM,EAAE,cAAc,QAevB"}
@@ -0,0 +1,16 @@
1
+ import { renderGroupingDragPreview } from "../../../renderer/parts/grouping-panel/grouping-drag-preview";
2
+ import { endDrag } from "./end-drag";
3
+ import { updateGroupingPanelHoverState } from "./update-grouping-panel-hover-state";
4
+ export function startDragOnColumn(e, grid, column) {
5
+ grid._services.dragdrop.startDragHandler(e, grid, {
6
+ data: { column, type: "column-header" },
7
+ renderPreview: (container) => container.appendChild(renderGroupingDragPreview(grid, { column, type: "column-header" })),
8
+ onDragMove: (grid, x, y) => {
9
+ updateGroupingPanelHoverState(grid);
10
+ },
11
+ onEndDrag: (grid) => {
12
+ endDrag(grid);
13
+ },
14
+ });
15
+ }
16
+ //# sourceMappingURL=start-drag-on-column.js.map
@@ -0,0 +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"}
@@ -0,0 +1,3 @@
1
+ import { PolyGrid } from "../../../../core/grid";
2
+ export declare function startDragOnGroupedColumn(e: MouseEvent, grid: PolyGrid): void;
3
+ //# sourceMappingURL=start-drag-on-grouped-column.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"start-drag-on-grouped-column.d.ts","sourceRoot":"","sources":["../../../../../../src/engine/services/grouping/methods/ui/start-drag-on-grouped-column.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AAOjD,wBAAgB,wBAAwB,CAAC,CAAC,EAAE,UAAU,EAAE,IAAI,EAAE,QAAQ,QA2BrE"}
@@ -0,0 +1,27 @@
1
+ import { renderGroupingDragPreview } from "../../../renderer/parts/grouping-panel/grouping-drag-preview";
2
+ import { endDrag } from "./end-drag";
3
+ import { updateChipTransforms } from "./update-chip-transforms";
4
+ import { updateGroupingPanelHoverState } from "./update-grouping-panel-hover-state";
5
+ export function startDragOnGroupedColumn(e, grid) {
6
+ const el = e.target.closest(".grouped-col");
7
+ if (!el)
8
+ return;
9
+ const colId = el.dataset.colId;
10
+ if (!colId)
11
+ return;
12
+ const column = grid._store
13
+ .getState()
14
+ .view.groupingState.groupedColumns.find((groupedCol) => groupedCol.column.id === colId);
15
+ grid._services.dragdrop.startDragHandler(e, grid, {
16
+ data: { column, type: "grouped-chip" },
17
+ renderPreview: (container) => container.appendChild(renderGroupingDragPreview(grid, { column, type: "grouped-chip" })),
18
+ onDragMove: (grid, x, y) => {
19
+ updateGroupingPanelHoverState(grid);
20
+ updateChipTransforms(grid);
21
+ },
22
+ onEndDrag: (grid) => {
23
+ endDrag(grid);
24
+ },
25
+ });
26
+ }
27
+ //# sourceMappingURL=start-drag-on-grouped-column.js.map
@@ -0,0 +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"}
@@ -0,0 +1,3 @@
1
+ import { PolyGrid } from "../../../../core/grid";
2
+ export declare function updateChipTransforms(grid: PolyGrid): void;
3
+ //# sourceMappingURL=update-chip-transforms.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"update-chip-transforms.d.ts","sourceRoot":"","sources":["../../../../../../src/engine/services/grouping/methods/ui/update-chip-transforms.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AAEjD,wBAAgB,oBAAoB,CAAC,IAAI,EAAE,QAAQ,QAkDlD"}