@polygrid/core 1.0.410 → 1.0.412

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 (169) 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-columns.d.ts.map +1 -1
  6. package/dist/api/set-columns.js +3 -0
  7. package/dist/api/set-columns.js.map +1 -1
  8. package/dist/api/set-resize-mode.d.ts +4 -0
  9. package/dist/api/set-resize-mode.d.ts.map +1 -0
  10. package/dist/api/set-resize-mode.js +6 -0
  11. package/dist/api/set-resize-mode.js.map +1 -0
  12. package/dist/engine/const/pg-css-class.d.ts +1 -0
  13. package/dist/engine/const/pg-css-class.d.ts.map +1 -1
  14. package/dist/engine/const/pg-css-class.js +1 -0
  15. package/dist/engine/const/pg-css-class.js.map +1 -1
  16. package/dist/engine/core/grid.d.ts.map +1 -1
  17. package/dist/engine/core/grid.js +3 -0
  18. package/dist/engine/core/grid.js.map +1 -1
  19. package/dist/engine/core/interfaces/grid-options.d.ts +2 -0
  20. package/dist/engine/core/interfaces/grid-options.d.ts.map +1 -1
  21. package/dist/engine/core/methods/consume-options.d.ts.map +1 -1
  22. package/dist/engine/core/methods/consume-options.js +10 -0
  23. package/dist/engine/core/methods/consume-options.js.map +1 -1
  24. package/dist/engine/rx-lite/operators/distinct-until-record-changed.d.ts +2 -0
  25. package/dist/engine/rx-lite/operators/distinct-until-record-changed.d.ts.map +1 -0
  26. package/dist/engine/rx-lite/operators/distinct-until-record-changed.js +11 -0
  27. package/dist/engine/rx-lite/operators/distinct-until-record-changed.js.map +1 -0
  28. package/dist/engine/services/column/column.d.ts +10 -0
  29. package/dist/engine/services/column/column.d.ts.map +1 -1
  30. package/dist/engine/services/column/column.js +12 -0
  31. package/dist/engine/services/column/column.js.map +1 -1
  32. package/dist/engine/services/column/interfaces/column-width-spec.d.ts +7 -0
  33. package/dist/engine/services/column/interfaces/column-width-spec.d.ts.map +1 -0
  34. package/dist/engine/services/column/interfaces/column-width-spec.js +2 -0
  35. package/dist/engine/services/column/interfaces/column-width-spec.js.map +1 -0
  36. package/dist/engine/services/column/interfaces/column.d.ts +2 -0
  37. package/dist/engine/services/column/interfaces/column.d.ts.map +1 -1
  38. package/dist/engine/services/column/interfaces/internal-column.d.ts +5 -0
  39. package/dist/engine/services/column/interfaces/internal-column.d.ts.map +1 -0
  40. package/dist/engine/services/column/interfaces/internal-column.js +2 -0
  41. package/dist/engine/services/column/interfaces/internal-column.js.map +1 -0
  42. package/dist/engine/services/column/methods/apply-width-constraints.d.ts +3 -0
  43. package/dist/engine/services/column/methods/apply-width-constraints.d.ts.map +1 -0
  44. package/dist/engine/services/column/methods/apply-width-constraints.js +14 -0
  45. package/dist/engine/services/column/methods/apply-width-constraints.js.map +1 -0
  46. package/dist/engine/services/column/methods/autofit.d.ts +4 -0
  47. package/dist/engine/services/column/methods/autofit.d.ts.map +1 -0
  48. package/dist/engine/services/column/methods/autofit.js +24 -0
  49. package/dist/engine/services/column/methods/autofit.js.map +1 -0
  50. package/dist/engine/services/column/methods/check-column-widths.d.ts +4 -0
  51. package/dist/engine/services/column/methods/check-column-widths.d.ts.map +1 -0
  52. package/dist/engine/services/column/methods/check-column-widths.js +24 -0
  53. package/dist/engine/services/column/methods/check-column-widths.js.map +1 -0
  54. package/dist/engine/services/column/methods/check-fields.js +1 -1
  55. package/dist/engine/services/column/methods/check-fields.js.map +1 -1
  56. package/dist/engine/services/column/methods/get-effective-spec.d.ts +9 -0
  57. package/dist/engine/services/column/methods/get-effective-spec.d.ts.map +1 -0
  58. package/dist/engine/services/column/methods/get-effective-spec.js +19 -0
  59. package/dist/engine/services/column/methods/get-effective-spec.js.map +1 -0
  60. package/dist/engine/services/column/methods/index.d.ts +9 -0
  61. package/dist/engine/services/column/methods/index.d.ts.map +1 -1
  62. package/dist/engine/services/column/methods/index.js +9 -0
  63. package/dist/engine/services/column/methods/index.js.map +1 -1
  64. package/dist/engine/services/column/methods/measure-column-content-width.d.ts +3 -0
  65. package/dist/engine/services/column/methods/measure-column-content-width.d.ts.map +1 -0
  66. package/dist/engine/services/column/methods/measure-column-content-width.js +22 -0
  67. package/dist/engine/services/column/methods/measure-column-content-width.js.map +1 -0
  68. package/dist/engine/services/column/methods/measure-element.d.ts +2 -0
  69. package/dist/engine/services/column/methods/measure-element.d.ts.map +1 -0
  70. package/dist/engine/services/column/methods/measure-element.js +12 -0
  71. package/dist/engine/services/column/methods/measure-element.js.map +1 -0
  72. package/dist/engine/services/column/methods/mouse-move.d.ts +3 -0
  73. package/dist/engine/services/column/methods/mouse-move.d.ts.map +1 -0
  74. package/dist/engine/services/column/methods/mouse-move.js +87 -0
  75. package/dist/engine/services/column/methods/mouse-move.js.map +1 -0
  76. package/dist/engine/services/column/methods/mouse-up.d.ts +4 -0
  77. package/dist/engine/services/column/methods/mouse-up.d.ts.map +1 -0
  78. package/dist/engine/services/column/methods/mouse-up.js +28 -0
  79. package/dist/engine/services/column/methods/mouse-up.js.map +1 -0
  80. package/dist/engine/services/column/methods/normalize-columns.d.ts +4 -0
  81. package/dist/engine/services/column/methods/normalize-columns.d.ts.map +1 -0
  82. package/dist/engine/services/column/methods/normalize-columns.js +9 -0
  83. package/dist/engine/services/column/methods/normalize-columns.js.map +1 -0
  84. package/dist/engine/services/column/methods/resolve-column-widths.d.ts +4 -2
  85. package/dist/engine/services/column/methods/resolve-column-widths.d.ts.map +1 -1
  86. package/dist/engine/services/column/methods/resolve-column-widths.js +120 -16
  87. package/dist/engine/services/column/methods/resolve-column-widths.js.map +1 -1
  88. package/dist/engine/services/column/methods/set-columns.d.ts.map +1 -1
  89. package/dist/engine/services/column/methods/set-columns.js +3 -3
  90. package/dist/engine/services/column/methods/set-columns.js.map +1 -1
  91. package/dist/engine/services/column/methods/set-resizable.d.ts.map +1 -1
  92. package/dist/engine/services/column/methods/set-resizable.js +1 -1
  93. package/dist/engine/services/column/methods/set-resizable.js.map +1 -1
  94. package/dist/engine/services/column/methods/set-resize-mode.d.ts +4 -0
  95. package/dist/engine/services/column/methods/set-resize-mode.d.ts.map +1 -0
  96. package/dist/engine/services/column/methods/set-resize-mode.js +31 -0
  97. package/dist/engine/services/column/methods/set-resize-mode.js.map +1 -0
  98. package/dist/engine/services/column/methods/start-resize.d.ts +3 -1
  99. package/dist/engine/services/column/methods/start-resize.d.ts.map +1 -1
  100. package/dist/engine/services/column/methods/start-resize.js +41 -2
  101. package/dist/engine/services/column/methods/start-resize.js.map +1 -1
  102. package/dist/engine/services/error/methods/log-error.d.ts.map +1 -1
  103. package/dist/engine/services/error/methods/log-error.js +3 -0
  104. package/dist/engine/services/error/methods/log-error.js.map +1 -1
  105. package/dist/engine/services/error/types/error-type.d.ts +1 -1
  106. package/dist/engine/services/error/types/error-type.d.ts.map +1 -1
  107. package/dist/engine/services/layout/layout.d.ts +2 -1
  108. package/dist/engine/services/layout/layout.d.ts.map +1 -1
  109. package/dist/engine/services/layout/layout.js +4 -8
  110. package/dist/engine/services/layout/layout.js.map +1 -1
  111. package/dist/engine/services/layout/methods/compute-column-widths.d.ts.map +1 -1
  112. package/dist/engine/services/layout/methods/compute-column-widths.js +3 -3
  113. package/dist/engine/services/layout/methods/compute-column-widths.js.map +1 -1
  114. package/dist/engine/services/layout/methods/set-cell-width.d.ts +2 -1
  115. package/dist/engine/services/layout/methods/set-cell-width.d.ts.map +1 -1
  116. package/dist/engine/services/layout/methods/set-cell-width.js +6 -7
  117. package/dist/engine/services/layout/methods/set-cell-width.js.map +1 -1
  118. package/dist/engine/services/layout/methods/update-column-widths.d.ts +2 -1
  119. package/dist/engine/services/layout/methods/update-column-widths.d.ts.map +1 -1
  120. package/dist/engine/services/layout/methods/update-column-widths.js +12 -11
  121. package/dist/engine/services/layout/methods/update-column-widths.js.map +1 -1
  122. package/dist/engine/services/renderer/methods/re-render-cells.js +1 -1
  123. package/dist/engine/services/renderer/methods/re-render-cells.js.map +1 -1
  124. package/dist/engine/services/renderer/parts/body/body.js +1 -1
  125. package/dist/engine/services/renderer/parts/body/body.js.map +1 -1
  126. package/dist/engine/services/renderer/parts/body/cell.d.ts +2 -2
  127. package/dist/engine/services/renderer/parts/body/cell.d.ts.map +1 -1
  128. package/dist/engine/services/renderer/parts/body/cell.js +1 -0
  129. package/dist/engine/services/renderer/parts/body/cell.js.map +1 -1
  130. package/dist/engine/services/renderer/parts/body/row.d.ts +2 -2
  131. package/dist/engine/services/renderer/parts/body/row.d.ts.map +1 -1
  132. package/dist/engine/services/renderer/parts/footer/footer-cells.d.ts.map +1 -1
  133. package/dist/engine/services/renderer/parts/footer/footer-cells.js +2 -1
  134. package/dist/engine/services/renderer/parts/footer/footer-cells.js.map +1 -1
  135. package/dist/engine/services/renderer/parts/header/header-cells.d.ts.map +1 -1
  136. package/dist/engine/services/renderer/parts/header/header-cells.js +8 -3
  137. package/dist/engine/services/renderer/parts/header/header-cells.js.map +1 -1
  138. package/dist/engine/services/renderer/parts/header/header.d.ts.map +1 -1
  139. package/dist/engine/services/renderer/parts/header/header.js +3 -0
  140. package/dist/engine/services/renderer/parts/header/header.js.map +1 -1
  141. package/dist/engine/services/renderer/parts/header/resize-handle.d.ts +2 -1
  142. package/dist/engine/services/renderer/parts/header/resize-handle.d.ts.map +1 -1
  143. package/dist/engine/services/renderer/parts/header/resize-handle.js +2 -2
  144. package/dist/engine/services/renderer/parts/header/resize-handle.js.map +1 -1
  145. package/dist/engine/store/interfaces/column-constraints.d.ts +5 -0
  146. package/dist/engine/store/interfaces/column-constraints.d.ts.map +1 -0
  147. package/dist/engine/store/interfaces/column-constraints.js +2 -0
  148. package/dist/engine/store/interfaces/column-constraints.js.map +1 -0
  149. package/dist/engine/store/interfaces/resize-raf.d.ts +5 -0
  150. package/dist/engine/store/interfaces/resize-raf.d.ts.map +1 -0
  151. package/dist/engine/store/interfaces/resize-raf.js +2 -0
  152. package/dist/engine/store/interfaces/resize-raf.js.map +1 -0
  153. package/dist/engine/store/interfaces/resize-state.d.ts +2 -0
  154. package/dist/engine/store/interfaces/resize-state.d.ts.map +1 -1
  155. package/dist/engine/store/interfaces/ui-state.d.ts +4 -0
  156. package/dist/engine/store/interfaces/ui-state.d.ts.map +1 -1
  157. package/dist/engine/store/interfaces/view-state.d.ts +8 -1
  158. package/dist/engine/store/interfaces/view-state.d.ts.map +1 -1
  159. package/dist/engine/store/methods/create-initial-state.d.ts.map +1 -1
  160. package/dist/engine/store/methods/create-initial-state.js +12 -1
  161. package/dist/engine/store/methods/create-initial-state.js.map +1 -1
  162. package/dist/engine/store/types/resize-mode.d.ts +2 -0
  163. package/dist/engine/store/types/resize-mode.d.ts.map +1 -0
  164. package/dist/engine/store/types/resize-mode.js +2 -0
  165. package/dist/engine/store/types/resize-mode.js.map +1 -0
  166. package/dist/index.d.ts +1 -0
  167. package/dist/index.d.ts.map +1 -1
  168. package/dist/polygrid.css +5 -0
  169. package/package.json +1 -1
@@ -12,6 +12,9 @@ export function logError(errorType, logService) {
12
12
  },
13
13
  ]);
14
14
  break;
15
+ case "wrong-width-boundaries":
16
+ // log is handled in the checkColumnWidths method
17
+ break;
15
18
  }
16
19
  }
17
20
  //# sourceMappingURL=log-error.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"log-error.js","sourceRoot":"","sources":["../../../../../src/engine/services/error/methods/log-error.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,QAAQ,EAAE,MAAM,2BAA2B,CAAC;AAGrD,MAAM,UAAU,QAAQ,CAAC,SAAwB,EAAE,UAAsB;IACvE,QAAQ,SAAS,EAAE,CAAC;QAClB,KAAK,6BAA6B;YAChC,UAAU,CAAC,cAAc,CAAC,QAAQ,CAAC,KAAK,EAAE;gBACxC,EAAE,IAAI,EAAE,8BAA8B,EAAE;gBACxC,EAAE,IAAI,EAAE,SAAS,EAAE,SAAS,EAAE,IAAI,EAAE;gBACpC,EAAE,IAAI,EAAE,gDAAgD,EAAE;gBAC1D,EAAE,IAAI,EAAE,WAAW,EAAE,SAAS,EAAE,IAAI,EAAE;gBACtC;oBACE,IAAI,EAAE,gFAAgF;iBACvF;aACF,CAAC,CAAC;YACH,MAAM;IACV,CAAC;AACH,CAAC"}
1
+ {"version":3,"file":"log-error.js","sourceRoot":"","sources":["../../../../../src/engine/services/error/methods/log-error.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,QAAQ,EAAE,MAAM,2BAA2B,CAAC;AAGrD,MAAM,UAAU,QAAQ,CAAC,SAAwB,EAAE,UAAsB;IACvE,QAAQ,SAAS,EAAE,CAAC;QAClB,KAAK,6BAA6B;YAChC,UAAU,CAAC,cAAc,CAAC,QAAQ,CAAC,KAAK,EAAE;gBACxC,EAAE,IAAI,EAAE,8BAA8B,EAAE;gBACxC,EAAE,IAAI,EAAE,SAAS,EAAE,SAAS,EAAE,IAAI,EAAE;gBACpC,EAAE,IAAI,EAAE,gDAAgD,EAAE;gBAC1D,EAAE,IAAI,EAAE,WAAW,EAAE,SAAS,EAAE,IAAI,EAAE;gBACtC;oBACE,IAAI,EAAE,gFAAgF;iBACvF;aACF,CAAC,CAAC;YACH,MAAM;QACR,KAAK,wBAAwB;YAC3B,iDAAiD;YACjD,MAAM;IACV,CAAC;AACH,CAAC"}
@@ -1,2 +1,2 @@
1
- export type GridErrorType = "ambiguous-column-definition" | "missing-column-id" | "invalid-data" | "unknown";
1
+ export type GridErrorType = "ambiguous-column-definition" | "missing-column-id" | "invalid-data" | "wrong-width-boundaries" | "unknown";
2
2
  //# sourceMappingURL=error-type.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"error-type.d.ts","sourceRoot":"","sources":["../../../../../src/engine/services/error/types/error-type.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,aAAa,GACrB,6BAA6B,GAC7B,mBAAmB,GACnB,cAAc,GACd,SAAS,CAAC"}
1
+ {"version":3,"file":"error-type.d.ts","sourceRoot":"","sources":["../../../../../src/engine/services/error/types/error-type.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,aAAa,GACrB,6BAA6B,GAC7B,mBAAmB,GACnB,cAAc,GACd,wBAAwB,GACxB,SAAS,CAAC"}
@@ -2,6 +2,7 @@ import type { PolyGrid } from "../../core/grid";
2
2
  import type { GridDOM } from "../../core/grid-dom";
3
3
  import type { ObservableLike } from "../../rx-lite/interfaces/observable-like";
4
4
  import type { PolyGridStore } from "../../store/store";
5
+ import { ColumnWidthSpec } from "../column/interfaces/column-width-spec";
5
6
  import * as methods from "./methods/index";
6
7
  export declare class LayoutService {
7
8
  store: PolyGridStore;
@@ -10,7 +11,7 @@ export declare class LayoutService {
10
11
  grid: PolyGrid;
11
12
  totalRowHeight$: ObservableLike<number>;
12
13
  viewportWidth$: ObservableLike<number>;
13
- resolvedColWidths$: ObservableLike<number[]>;
14
+ resolvedColWidths$: ObservableLike<Record<string, ColumnWidthSpec>>;
14
15
  showVScrollbar$: ObservableLike<boolean>;
15
16
  showHScrollbar$: ObservableLike<boolean>;
16
17
  adjustedViewportWidth$: ObservableLike<[boolean, number]>;
@@ -1 +1 @@
1
- {"version":3,"file":"layout.d.ts","sourceRoot":"","sources":["../../../../src/engine/services/layout/layout.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AAChD,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAC;AACnD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,0CAA0C,CAAC;AAK/E,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AACvD,OAAO,KAAK,OAAO,MAAM,iBAAiB,CAAC;AAE3C,qBAAa,aAAa;IACxB,KAAK,EAAE,aAAa,CAAC;IACrB,QAAQ,EAAE,cAAc,CAAC,IAAI,CAAC,CAAC;IAC/B,OAAO,EAAE,OAAO,CAAC;IACjB,IAAI,EAAE,QAAQ,CAAC;IAEf,eAAe,EAAG,cAAc,CAAC,MAAM,CAAC,CAAC;IACzC,cAAc,EAAG,cAAc,CAAC,MAAM,CAAC,CAAC;IACxC,kBAAkB,EAAE,cAAc,CAAC,MAAM,EAAE,CAAC,CAAC;IAC7C,eAAe,EAAE,cAAc,CAAC,OAAO,CAAC,CAAC;IACzC,eAAe,EAAE,cAAc,CAAC,OAAO,CAAC,CAAC;IACzC,sBAAsB,EAAE,cAAc,CAAC,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC,CAAC;IAC1D,uBAAuB,EAAE,cAAc,CAAC,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC,CAAC;IAC3D,OAAO,EAAG,cAAc,CAAC,MAAM,CAAC,CAAC;gBAErB,IAAI,EAAE,QAAQ;IAiE1B,gBAAgB,kCAA4B;IAC5C,UAAU,4BAAsB;IAChC,qBAAqB,uCAAiC;IACtD,uBAAuB,yCAAmC;IAC1D,mBAAmB,qCAA+B;IAClD,YAAY,8BAAwB;IACpC,iBAAiB,mCAA6B;IAC9C,cAAc,gCAA0B;IACxC,wBAAwB,0CAAoC;IAC5D,mBAAmB,qCAA+B;IAClD,SAAS,2BAAqB;IAC9B,kBAAkB,oCAA8B;IAEhD,oBAAoB;CAIrB"}
1
+ {"version":3,"file":"layout.d.ts","sourceRoot":"","sources":["../../../../src/engine/services/layout/layout.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AAChD,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAC;AACnD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,0CAA0C,CAAC;AAO/E,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AACvD,OAAO,EAAE,eAAe,EAAE,MAAM,wCAAwC,CAAC;AACzE,OAAO,KAAK,OAAO,MAAM,iBAAiB,CAAC;AAE3C,qBAAa,aAAa;IACxB,KAAK,EAAE,aAAa,CAAC;IACrB,QAAQ,EAAE,cAAc,CAAC,IAAI,CAAC,CAAC;IAC/B,OAAO,EAAE,OAAO,CAAC;IACjB,IAAI,EAAE,QAAQ,CAAC;IAEf,eAAe,EAAG,cAAc,CAAC,MAAM,CAAC,CAAC;IACzC,cAAc,EAAG,cAAc,CAAC,MAAM,CAAC,CAAC;IACxC,kBAAkB,EAAE,cAAc,CAAC,MAAM,CAAC,MAAM,EAAE,eAAe,CAAC,CAAC,CAAC;IACpE,eAAe,EAAE,cAAc,CAAC,OAAO,CAAC,CAAC;IACzC,eAAe,EAAE,cAAc,CAAC,OAAO,CAAC,CAAC;IACzC,sBAAsB,EAAE,cAAc,CAAC,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC,CAAC;IAC1D,uBAAuB,EAAE,cAAc,CAAC,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC,CAAC;IAC3D,OAAO,EAAG,cAAc,CAAC,MAAM,CAAC,CAAC;gBAErB,IAAI,EAAE,QAAQ;IAsD1B,gBAAgB,kCAA4B;IAC5C,UAAU,4BAAsB;IAChC,qBAAqB,uCAAiC;IACtD,uBAAuB,yCAAmC;IAC1D,mBAAmB,qCAA+B;IAClD,YAAY,8BAAwB;IACpC,iBAAiB,mCAA6B;IAC9C,cAAc,gCAA0B;IACxC,wBAAwB,0CAAoC;IAC5D,mBAAmB,qCAA+B;IAClD,SAAS,2BAAqB;IAC9B,kBAAkB,oCAA8B;IAEhD,oBAAoB;CAIrB"}
@@ -1,7 +1,7 @@
1
- import { distinctUntilArrayChanged } from "../../rx-lite/operators/distinct-until-array-changed";
2
1
  import { distinctUntilChanged } from "../../rx-lite/operators/distinct-until-changed";
3
- import { filter } from "../../rx-lite/operators/filter";
2
+ import { distinctUntilRecordChanged } from "../../rx-lite/operators/distinct-until-record-changed";
4
3
  import { map } from "../../rx-lite/operators/map";
4
+ import { skip } from "../../rx-lite/operators/skip";
5
5
  import * as methods from "./methods/index";
6
6
  export class LayoutService {
7
7
  constructor(grid) {
@@ -28,12 +28,8 @@ export class LayoutService {
28
28
  .select((s) => s.view.viewportWidth)
29
29
  .pipe(distinctUntilChanged());
30
30
  this.resolvedColWidths$ = this.store
31
- .combineLatest([
32
- (s) => s.view.resolvedColumnWidths,
33
- (s) => s.view.viewportWidth,
34
- (s) => s.view.rawViewportWidth,
35
- ])
36
- .pipe(filter(([_, viewportWidth, rawViewportWidth]) => viewportWidth !== rawViewportWidth), map(([resolvedColWidths]) => resolvedColWidths), distinctUntilArrayChanged());
31
+ .select((s) => s.view.resolvedColumnWidths)
32
+ .pipe(skip(1), distinctUntilRecordChanged());
37
33
  this.showVScrollbar$ = this.store
38
34
  .combineLatest([
39
35
  (s) => s.view.totalRowHeight,
@@ -1 +1 @@
1
- {"version":3,"file":"layout.js","sourceRoot":"","sources":["../../../../src/engine/services/layout/layout.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"layout.js","sourceRoot":"","sources":["../../../../src/engine/services/layout/layout.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"compute-column-widths.d.ts","sourceRoot":"","sources":["../../../../../src/engine/services/layout/methods/compute-column-widths.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,6CAA6C,CAAC;AAGlF,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,WAAW,CAAC;AAE/C,wBAAgB,mBAAmB,CACjC,aAAa,EAAE,aAAa,EAC5B,QAAQ,EAAE,cAAc,CAAC,IAAI,CAAC,QAe/B"}
1
+ {"version":3,"file":"compute-column-widths.d.ts","sourceRoot":"","sources":["../../../../../src/engine/services/layout/methods/compute-column-widths.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,6CAA6C,CAAC;AAGlF,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,WAAW,CAAC;AAE/C,wBAAgB,mBAAmB,CACjC,aAAa,EAAE,aAAa,EAC5B,QAAQ,EAAE,cAAc,CAAC,IAAI,CAAC,QAsB/B"}
@@ -6,9 +6,9 @@ export function computeColumnWidths(layoutService, destroy$) {
6
6
  .subscribe((viewportWidth) => {
7
7
  const columns = layoutService.store
8
8
  .getState()
9
- .view.columns.filter((col) => col.visible ?? true);
10
- const resolvedColWidths = resolveColumnWidths(columns, viewportWidth);
11
- const totalColumnWidth = resolvedColWidths.reduce((a, b) => a + b, 0);
9
+ .view.internalColumns.filter((col) => col.visible ?? true);
10
+ const resolvedColWidths = resolveColumnWidths(columns, viewportWidth, layoutService.store);
11
+ const totalColumnWidth = Object.values(resolvedColWidths).reduce((sum, spec) => sum + spec.width, 0);
12
12
  layoutService.store.update((draft) => {
13
13
  draft.view.resolvedColumnWidths = resolvedColWidths;
14
14
  draft.view.totalColumnWidth = totalColumnWidth;
@@ -1 +1 @@
1
- {"version":3,"file":"compute-column-widths.js","sourceRoot":"","sources":["../../../../../src/engine/services/layout/methods/compute-column-widths.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAE,MAAM,sCAAsC,CAAC;AACjE,OAAO,EAAE,mBAAmB,EAAE,MAAM,sBAAsB,CAAC;AAG3D,MAAM,UAAU,mBAAmB,CACjC,aAA4B,EAC5B,QAA8B;IAE9B,aAAa,CAAC,cAAc;SACzB,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC;SACzB,SAAS,CAAC,CAAC,aAAa,EAAE,EAAE;QAC3B,MAAM,OAAO,GAAG,aAAa,CAAC,KAAK;aAChC,QAAQ,EAAE;aACV,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,OAAO,IAAI,IAAI,CAAC,CAAC;QACrD,MAAM,iBAAiB,GAAG,mBAAmB,CAAC,OAAO,EAAE,aAAa,CAAC,CAAC;QACtE,MAAM,gBAAgB,GAAG,iBAAiB,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC;QACtE,aAAa,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE;YACnC,KAAK,CAAC,IAAI,CAAC,oBAAoB,GAAG,iBAAiB,CAAC;YACpD,KAAK,CAAC,IAAI,CAAC,gBAAgB,GAAG,gBAAgB,CAAC;QACjD,CAAC,CAAC,CAAC;IACL,CAAC,EAAE,uBAAuB,CAAC,CAAC;AAChC,CAAC"}
1
+ {"version":3,"file":"compute-column-widths.js","sourceRoot":"","sources":["../../../../../src/engine/services/layout/methods/compute-column-widths.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAE,MAAM,sCAAsC,CAAC;AACjE,OAAO,EAAE,mBAAmB,EAAE,MAAM,sBAAsB,CAAC;AAG3D,MAAM,UAAU,mBAAmB,CACjC,aAA4B,EAC5B,QAA8B;IAE9B,aAAa,CAAC,cAAc;SACzB,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC;SACzB,SAAS,CAAC,CAAC,aAAa,EAAE,EAAE;QAC3B,MAAM,OAAO,GAAG,aAAa,CAAC,KAAK;aAChC,QAAQ,EAAE;aACV,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,OAAO,IAAI,IAAI,CAAC,CAAC;QAC7D,MAAM,iBAAiB,GAAG,mBAAmB,CAC3C,OAAO,EACP,aAAa,EACb,aAAa,CAAC,KAAK,CACpB,CAAC;QACF,MAAM,gBAAgB,GAAG,MAAM,CAAC,MAAM,CAAC,iBAAiB,CAAC,CAAC,MAAM,CAC9D,CAAC,GAAG,EAAE,IAAI,EAAE,EAAE,CAAC,GAAG,GAAG,IAAI,CAAC,KAAK,EAC/B,CAAC,CACF,CAAC;QACF,aAAa,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE;YACnC,KAAK,CAAC,IAAI,CAAC,oBAAoB,GAAG,iBAAiB,CAAC;YACpD,KAAK,CAAC,IAAI,CAAC,gBAAgB,GAAG,gBAAgB,CAAC;QACjD,CAAC,CAAC,CAAC;IACL,CAAC,EAAE,uBAAuB,CAAC,CAAC;AAChC,CAAC"}
@@ -1,2 +1,3 @@
1
- export declare function setCellWidth(el: HTMLElement, widths: number[], vScrollbarVisible: boolean): void;
1
+ import { ColumnWidthSpec } from "../../column/interfaces/column-width-spec";
2
+ export declare function setCellWidth(el: HTMLElement, specs: ColumnWidthSpec[], vScrollbarVisible: boolean): void;
2
3
  //# sourceMappingURL=set-cell-width.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"set-cell-width.d.ts","sourceRoot":"","sources":["../../../../../src/engine/services/layout/methods/set-cell-width.ts"],"names":[],"mappings":"AAAA,wBAAgB,YAAY,CAC1B,EAAE,EAAE,WAAW,EACf,MAAM,EAAE,MAAM,EAAE,EAChB,iBAAiB,EAAE,OAAO,QAiB3B"}
1
+ {"version":3,"file":"set-cell-width.d.ts","sourceRoot":"","sources":["../../../../../src/engine/services/layout/methods/set-cell-width.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,2CAA2C,CAAC;AAE5E,wBAAgB,YAAY,CAC1B,EAAE,EAAE,WAAW,EACf,KAAK,EAAE,eAAe,EAAE,EACxB,iBAAiB,EAAE,OAAO,QAiB3B"}
@@ -1,14 +1,13 @@
1
- export function setCellWidth(el, widths, vScrollbarVisible) {
1
+ export function setCellWidth(el, specs, vScrollbarVisible) {
2
2
  const cells = el.children;
3
- for (let i = 0; i < widths.length; i++) {
3
+ for (let i = 0; i < specs.length; i++) {
4
4
  const cell = cells[i];
5
5
  if (!cell)
6
6
  continue;
7
- const w = widths[i] + "px";
8
- cell.style.width = w;
9
- cell.style.minWidth = w;
10
- cell.style.maxWidth = w;
11
- if (i === widths.length - 1) {
7
+ const spec = specs[i];
8
+ const w = spec.width;
9
+ cell.style.width = `${w}px`;
10
+ if (i === specs.length - 1) {
12
11
  cell.classList.toggle("last-cell", !vScrollbarVisible);
13
12
  }
14
13
  }
@@ -1 +1 @@
1
- {"version":3,"file":"set-cell-width.js","sourceRoot":"","sources":["../../../../../src/engine/services/layout/methods/set-cell-width.ts"],"names":[],"mappings":"AAAA,MAAM,UAAU,YAAY,CAC1B,EAAe,EACf,MAAgB,EAChB,iBAA0B;IAE1B,MAAM,KAAK,GAAG,EAAE,CAAC,QAAQ,CAAC;IAE1B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QACvC,MAAM,IAAI,GAAG,KAAK,CAAC,CAAC,CAAgB,CAAC;QACrC,IAAI,CAAC,IAAI;YAAE,SAAS;QAEpB,MAAM,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC;QAC3B,IAAI,CAAC,KAAK,CAAC,KAAK,GAAG,CAAC,CAAC;QACrB,IAAI,CAAC,KAAK,CAAC,QAAQ,GAAG,CAAC,CAAC;QACxB,IAAI,CAAC,KAAK,CAAC,QAAQ,GAAG,CAAC,CAAC;QAExB,IAAI,CAAC,KAAK,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC5B,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,WAAW,EAAE,CAAC,iBAAiB,CAAC,CAAC;QACzD,CAAC;IACH,CAAC;AACH,CAAC"}
1
+ {"version":3,"file":"set-cell-width.js","sourceRoot":"","sources":["../../../../../src/engine/services/layout/methods/set-cell-width.ts"],"names":[],"mappings":"AAEA,MAAM,UAAU,YAAY,CAC1B,EAAe,EACf,KAAwB,EACxB,iBAA0B;IAE1B,MAAM,KAAK,GAAG,EAAE,CAAC,QAAQ,CAAC;IAE1B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QACtC,MAAM,IAAI,GAAG,KAAK,CAAC,CAAC,CAAgB,CAAC;QACrC,IAAI,CAAC,IAAI;YAAE,SAAS;QAEpB,MAAM,IAAI,GAAG,KAAK,CAAC,CAAC,CAAE,CAAC;QACvB,MAAM,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC;QAErB,IAAI,CAAC,KAAK,CAAC,KAAK,GAAG,GAAG,CAAC,IAAI,CAAC;QAE5B,IAAI,CAAC,KAAK,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC3B,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,WAAW,EAAE,CAAC,iBAAiB,CAAC,CAAC;QACzD,CAAC;IACH,CAAC;AACH,CAAC"}
@@ -1,5 +1,6 @@
1
1
  import { PolyGrid } from "../../../core/grid";
2
2
  import type { GridDOM } from "../../../core/grid-dom";
3
3
  import type { PolyGridState } from "../../../store/interfaces/grid-state";
4
- export declare function updateColumnWidths(gridDom: GridDOM, state: PolyGridState, resolvedColWidths: number[], grid: PolyGrid): void;
4
+ import { ColumnWidthSpec } from "../../column/interfaces/column-width-spec";
5
+ export declare function updateColumnWidths(gridDom: GridDOM, state: PolyGridState, resolvedColWidths: Record<string, ColumnWidthSpec>, grid: PolyGrid): void;
5
6
  //# sourceMappingURL=update-column-widths.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"update-column-widths.d.ts","sourceRoot":"","sources":["../../../../../src/engine/services/layout/methods/update-column-widths.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAC9C,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,wBAAwB,CAAC;AACtD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,sCAAsC,CAAC;AAI1E,wBAAgB,kBAAkB,CAChC,OAAO,EAAE,OAAO,EAChB,KAAK,EAAE,aAAa,EACpB,iBAAiB,EAAE,MAAM,EAAE,EAC3B,IAAI,EAAE,QAAQ,QA0Bf"}
1
+ {"version":3,"file":"update-column-widths.d.ts","sourceRoot":"","sources":["../../../../../src/engine/services/layout/methods/update-column-widths.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAC9C,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,wBAAwB,CAAC;AACtD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,sCAAsC,CAAC;AAC1E,OAAO,EAAE,eAAe,EAAE,MAAM,2CAA2C,CAAC;AAI5E,wBAAgB,kBAAkB,CAChC,OAAO,EAAE,OAAO,EAChB,KAAK,EAAE,aAAa,EACpB,iBAAiB,EAAE,MAAM,CAAC,MAAM,EAAE,eAAe,CAAC,EAClD,IAAI,EAAE,QAAQ,QA8Bf"}
@@ -1,24 +1,25 @@
1
1
  import { renderNoData } from "../../renderer/parts/no-data/no-data";
2
2
  import { setCellWidth } from "./set-cell-width";
3
3
  export function updateColumnWidths(gridDom, state, resolvedColWidths, grid) {
4
- // set header, footer and body cell widths
5
- setCellWidth(gridDom.header, resolvedColWidths, state.view.showVScrollbar);
6
- setCellWidth(gridDom.footer, resolvedColWidths, state.view.showVScrollbar);
4
+ // Build ordered specs array based on the current column order
5
+ const specs = state.view.internalColumns.map((col) => resolvedColWidths[col.id]);
6
+ // Apply widths to header, footer, and body rows
7
+ setCellWidth(gridDom.header, specs, state.view.showVScrollbar);
8
+ setCellWidth(gridDom.footer, specs, state.view.showVScrollbar);
7
9
  const bodyRows = gridDom.body.querySelectorAll(".pg-row");
8
10
  bodyRows.forEach((row) => {
9
- setCellWidth(row, resolvedColWidths, state.view.showVScrollbar);
11
+ setCellWidth(row, specs, state.view.showVScrollbar);
10
12
  });
11
- // set body width
12
- const totalColWidth = resolvedColWidths.reduce((a, b) => a + b, 0);
13
+ // Compute total width
14
+ const widths = specs.map((s) => s.width);
15
+ const totalColWidth = widths.reduce((sum, w) => sum + w, 0);
16
+ // Apply total width to grid sections
13
17
  gridDom.body.style.width = `${totalColWidth}px`;
14
- // set header, footer width
15
18
  gridDom.header.style.width = `${totalColWidth}px`;
16
19
  gridDom.footer.style.width = `${totalColWidth}px`;
17
- // set h-scrollbar width
18
20
  gridDom.hScrollTrack.style.width = `${totalColWidth}px`;
19
- // set viewport width
20
- const viewportWidth = state.view.viewportWidth;
21
- gridDom.viewport.style.width = `${viewportWidth}px`;
21
+ // Apply viewport width
22
+ gridDom.viewport.style.width = `${state.view.viewportWidth}px`;
22
23
  // if there is no data
23
24
  if (state.view.rows.length === 0)
24
25
  renderNoData(gridDom.body, grid);
@@ -1 +1 @@
1
- {"version":3,"file":"update-column-widths.js","sourceRoot":"","sources":["../../../../../src/engine/services/layout/methods/update-column-widths.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,YAAY,EAAE,MAAM,sCAAsC,CAAC;AACpE,OAAO,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAEhD,MAAM,UAAU,kBAAkB,CAChC,OAAgB,EAChB,KAAoB,EACpB,iBAA2B,EAC3B,IAAc;IAEd,0CAA0C;IAC1C,YAAY,CAAC,OAAO,CAAC,MAAM,EAAE,iBAAiB,EAAE,KAAK,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;IAC3E,YAAY,CAAC,OAAO,CAAC,MAAM,EAAE,iBAAiB,EAAE,KAAK,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;IAC3E,MAAM,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC,gBAAgB,CAAC,SAAS,CAAC,CAAC;IAC1D,QAAQ,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,EAAE;QACvB,YAAY,CACV,GAAkB,EAClB,iBAAiB,EACjB,KAAK,CAAC,IAAI,CAAC,cAAc,CAC1B,CAAC;IACJ,CAAC,CAAC,CAAC;IACH,iBAAiB;IACjB,MAAM,aAAa,GAAG,iBAAiB,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC;IACnE,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,GAAG,GAAG,aAAa,IAAI,CAAC;IAChD,2BAA2B;IAC3B,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,GAAG,GAAG,aAAa,IAAI,CAAC;IAClD,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,GAAG,GAAG,aAAa,IAAI,CAAC;IAClD,wBAAwB;IACxB,OAAO,CAAC,YAAY,CAAC,KAAK,CAAC,KAAK,GAAG,GAAG,aAAa,IAAI,CAAC;IACxD,qBAAqB;IACrB,MAAM,aAAa,GAAG,KAAK,CAAC,IAAI,CAAC,aAAa,CAAC;IAC/C,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,KAAK,GAAG,GAAG,aAAa,IAAI,CAAC;IACpD,sBAAsB;IACtB,IAAI,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,KAAK,CAAC;QAAE,YAAY,CAAC,OAAO,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;AACrE,CAAC"}
1
+ {"version":3,"file":"update-column-widths.js","sourceRoot":"","sources":["../../../../../src/engine/services/layout/methods/update-column-widths.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,YAAY,EAAE,MAAM,sCAAsC,CAAC;AACpE,OAAO,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAEhD,MAAM,UAAU,kBAAkB,CAChC,OAAgB,EAChB,KAAoB,EACpB,iBAAkD,EAClD,IAAc;IAEd,8DAA8D;IAC9D,MAAM,KAAK,GAAG,KAAK,CAAC,IAAI,CAAC,eAAe,CAAC,GAAG,CAC1C,CAAC,GAAG,EAAE,EAAE,CAAC,iBAAiB,CAAC,GAAG,CAAC,EAAE,CAAE,CACpC,CAAC;IACF,gDAAgD;IAChD,YAAY,CAAC,OAAO,CAAC,MAAM,EAAE,KAAK,EAAE,KAAK,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;IAC/D,YAAY,CAAC,OAAO,CAAC,MAAM,EAAE,KAAK,EAAE,KAAK,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;IAE/D,MAAM,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC,gBAAgB,CAAC,SAAS,CAAC,CAAC;IAC1D,QAAQ,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,EAAE;QACvB,YAAY,CAAC,GAAkB,EAAE,KAAK,EAAE,KAAK,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;IACrE,CAAC,CAAC,CAAC;IAEH,sBAAsB;IACtB,MAAM,MAAM,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;IACzC,MAAM,aAAa,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC,GAAG,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC;IAE5D,qCAAqC;IACrC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,GAAG,GAAG,aAAa,IAAI,CAAC;IAChD,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,GAAG,GAAG,aAAa,IAAI,CAAC;IAClD,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,GAAG,GAAG,aAAa,IAAI,CAAC;IAClD,OAAO,CAAC,YAAY,CAAC,KAAK,CAAC,KAAK,GAAG,GAAG,aAAa,IAAI,CAAC;IAExD,uBAAuB;IACvB,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,KAAK,GAAG,GAAG,KAAK,CAAC,IAAI,CAAC,aAAa,IAAI,CAAC;IAE/D,sBAAsB;IACtB,IAAI,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,KAAK,CAAC;QAAE,YAAY,CAAC,OAAO,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;AACrE,CAAC"}
@@ -11,7 +11,7 @@ export function reRenderCells(gridDom, store) {
11
11
  const body = gridDom.body;
12
12
  body.replaceChildren();
13
13
  const rows = store.getState().view.rows;
14
- const columns = store.getState().view.columns;
14
+ const columns = store.getState().view.internalColumns;
15
15
  const rowHeight = store.getState().view.rowHeight;
16
16
  const bodyRows = renderRows(rows, columns, rowHeight);
17
17
  const fragment = document.createDocumentFragment();
@@ -1 +1 @@
1
- {"version":3,"file":"re-render-cells.js","sourceRoot":"","sources":["../../../../../src/engine/services/renderer/methods/re-render-cells.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAC/C,OAAO,EAAE,iBAAiB,EAAE,MAAM,8BAA8B,CAAC;AACjE,OAAO,EAAE,iBAAiB,EAAE,MAAM,8BAA8B,CAAC;AAGjE,MAAM,UAAU,aAAa,CAAC,OAAgB,EAAE,KAAoB;IAClE,sCAAsC;IACtC,SAAS;IACT,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAC9B,MAAM,CAAC,eAAe,EAAE,CAAC;IACzB,iBAAiB,CAAC,MAAM,EAAE,KAAK,EAAE,OAAO,CAAC,CAAC;IAC1C,OAAO;IACP,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC;IAC1B,IAAI,CAAC,eAAe,EAAE,CAAC;IACvB,MAAM,IAAI,GAAG,KAAK,CAAC,QAAQ,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC;IACxC,MAAM,OAAO,GAAG,KAAK,CAAC,QAAQ,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC;IAC9C,MAAM,SAAS,GAAG,KAAK,CAAC,QAAQ,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC;IAClD,MAAM,QAAQ,GAAG,UAAU,CAAC,IAAI,EAAE,OAAO,EAAE,SAAS,CAAC,CAAC;IACtD,MAAM,QAAQ,GAAG,QAAQ,CAAC,sBAAsB,EAAE,CAAC;IACnD,KAAK,MAAM,GAAG,IAAI,QAAQ,EAAE,CAAC;QAC3B,QAAQ,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC;IAC5B,CAAC;IACD,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC;IAC3B,MAAM,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC,aAAa,CAAC,oBAAoB,CAAC,CAAC;IACjE,OAAO,EAAE,SAAS,CAAC,MAAM,CAAC,UAAU,EAAE,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;IAC7E,SAAS;IACT,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAC9B,MAAM,CAAC,eAAe,EAAE,CAAC;IACzB,iBAAiB,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;AACnC,CAAC"}
1
+ {"version":3,"file":"re-render-cells.js","sourceRoot":"","sources":["../../../../../src/engine/services/renderer/methods/re-render-cells.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAC/C,OAAO,EAAE,iBAAiB,EAAE,MAAM,8BAA8B,CAAC;AACjE,OAAO,EAAE,iBAAiB,EAAE,MAAM,8BAA8B,CAAC;AAGjE,MAAM,UAAU,aAAa,CAAC,OAAgB,EAAE,KAAoB;IAClE,sCAAsC;IACtC,SAAS;IACT,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAC9B,MAAM,CAAC,eAAe,EAAE,CAAC;IACzB,iBAAiB,CAAC,MAAM,EAAE,KAAK,EAAE,OAAO,CAAC,CAAC;IAC1C,OAAO;IACP,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC;IAC1B,IAAI,CAAC,eAAe,EAAE,CAAC;IACvB,MAAM,IAAI,GAAG,KAAK,CAAC,QAAQ,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC;IACxC,MAAM,OAAO,GAAG,KAAK,CAAC,QAAQ,EAAE,CAAC,IAAI,CAAC,eAAe,CAAC;IACtD,MAAM,SAAS,GAAG,KAAK,CAAC,QAAQ,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC;IAClD,MAAM,QAAQ,GAAG,UAAU,CAAC,IAAI,EAAE,OAAO,EAAE,SAAS,CAAC,CAAC;IACtD,MAAM,QAAQ,GAAG,QAAQ,CAAC,sBAAsB,EAAE,CAAC;IACnD,KAAK,MAAM,GAAG,IAAI,QAAQ,EAAE,CAAC;QAC3B,QAAQ,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC;IAC5B,CAAC;IACD,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC;IAC3B,MAAM,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC,aAAa,CAAC,oBAAoB,CAAC,CAAC;IACjE,OAAO,EAAE,SAAS,CAAC,MAAM,CAAC,UAAU,EAAE,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;IAC7E,SAAS;IACT,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAC9B,MAAM,CAAC,eAAe,EAAE,CAAC;IACzB,iBAAiB,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;AACnC,CAAC"}
@@ -13,7 +13,7 @@ export function renderBody(store, gridDom, grid) {
13
13
  const rows = store.getState().view.rows;
14
14
  if (rows.length > 0) {
15
15
  // render the rows
16
- const columns = store.getState().view.columns;
16
+ const columns = store.getState().view.internalColumns;
17
17
  const rowHeight = store.getState().view.rowHeight;
18
18
  const bodyRows = renderRows(rows, columns, rowHeight);
19
19
  // append the rows to the body
@@ -1 +1 @@
1
- {"version":3,"file":"body.js","sourceRoot":"","sources":["../../../../../../src/engine/services/renderer/parts/body/body.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,gCAAgC,CAAC;AAI9D,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAClD,OAAO,EAAE,UAAU,EAAE,MAAM,OAAO,CAAC;AAEnC,MAAM,UAAU,UAAU,CACxB,KAAoB,EACpB,OAAgB,EAChB,IAAc;IAEd,WAAW;IACX,MAAM,cAAc,GAAG,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;IACrD,cAAc,CAAC,SAAS,GAAG,YAAY,CAAC,YAAY,CAAC;IACrD,gBAAgB;IAChB,MAAM,MAAM,GAAG,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;IAC7C,MAAM,CAAC,SAAS,GAAG,YAAY,CAAC,IAAI,CAAC;IACrC,MAAM,CAAC,SAAS,GAAG,EAAE,CAAC;IAEtB,kBAAkB;IAClB,MAAM,IAAI,GAAG,KAAK,CAAC,QAAQ,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC;IACxC,IAAI,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACpB,kBAAkB;QAClB,MAAM,OAAO,GAAG,KAAK,CAAC,QAAQ,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC;QAC9C,MAAM,SAAS,GAAG,KAAK,CAAC,QAAQ,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC;QAClD,MAAM,QAAQ,GAAG,UAAU,CAAC,IAAI,EAAE,OAAO,EAAE,SAAS,CAAC,CAAC;QACtD,8BAA8B;QAC9B,MAAM,QAAQ,GAAG,QAAQ,CAAC,sBAAsB,EAAE,CAAC;QACnD,KAAK,MAAM,GAAG,IAAI,QAAQ,EAAE,CAAC;YAC3B,QAAQ,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC;QAC5B,CAAC;QACD,MAAM,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC;IAC/B,CAAC;SAAM,CAAC;QACN,0BAA0B;QAC1B,YAAY,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;IAC7B,CAAC;IAED,cAAc,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;IAEnC,OAAO,CAAC,IAAI,GAAG,MAAM,CAAC;IAEtB,OAAO,cAAc,CAAC;AACxB,CAAC"}
1
+ {"version":3,"file":"body.js","sourceRoot":"","sources":["../../../../../../src/engine/services/renderer/parts/body/body.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,gCAAgC,CAAC;AAI9D,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAClD,OAAO,EAAE,UAAU,EAAE,MAAM,OAAO,CAAC;AAEnC,MAAM,UAAU,UAAU,CACxB,KAAoB,EACpB,OAAgB,EAChB,IAAc;IAEd,WAAW;IACX,MAAM,cAAc,GAAG,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;IACrD,cAAc,CAAC,SAAS,GAAG,YAAY,CAAC,YAAY,CAAC;IACrD,gBAAgB;IAChB,MAAM,MAAM,GAAG,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;IAC7C,MAAM,CAAC,SAAS,GAAG,YAAY,CAAC,IAAI,CAAC;IACrC,MAAM,CAAC,SAAS,GAAG,EAAE,CAAC;IAEtB,kBAAkB;IAClB,MAAM,IAAI,GAAG,KAAK,CAAC,QAAQ,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC;IACxC,IAAI,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACpB,kBAAkB;QAClB,MAAM,OAAO,GAAG,KAAK,CAAC,QAAQ,EAAE,CAAC,IAAI,CAAC,eAAe,CAAC;QACtD,MAAM,SAAS,GAAG,KAAK,CAAC,QAAQ,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC;QAClD,MAAM,QAAQ,GAAG,UAAU,CAAC,IAAI,EAAE,OAAO,EAAE,SAAS,CAAC,CAAC;QACtD,8BAA8B;QAC9B,MAAM,QAAQ,GAAG,QAAQ,CAAC,sBAAsB,EAAE,CAAC;QACnD,KAAK,MAAM,GAAG,IAAI,QAAQ,EAAE,CAAC;YAC3B,QAAQ,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC;QAC5B,CAAC;QACD,MAAM,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC;IAC/B,CAAC;SAAM,CAAC;QACN,0BAA0B;QAC1B,YAAY,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;IAC7B,CAAC;IAED,cAAc,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;IAEnC,OAAO,CAAC,IAAI,GAAG,MAAM,CAAC;IAEtB,OAAO,cAAc,CAAC;AACxB,CAAC"}
@@ -1,3 +1,3 @@
1
- import type { PolyGridColumn } from "../../../../services/column/interfaces/column";
2
- export declare function renderCell(row: any, col: PolyGridColumn): HTMLDivElement;
1
+ import { InternalColumn } from "../../../column/interfaces/internal-column";
2
+ export declare function renderCell(row: any, col: InternalColumn): HTMLDivElement;
3
3
  //# sourceMappingURL=cell.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"cell.d.ts","sourceRoot":"","sources":["../../../../../../src/engine/services/renderer/parts/body/cell.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,+CAA+C,CAAC;AAEpF,wBAAgB,UAAU,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,cAAc,kBAQvD"}
1
+ {"version":3,"file":"cell.d.ts","sourceRoot":"","sources":["../../../../../../src/engine/services/renderer/parts/body/cell.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,cAAc,EAAE,MAAM,4CAA4C,CAAC;AAE5E,wBAAgB,UAAU,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,cAAc,kBASvD"}
@@ -4,6 +4,7 @@ export function renderCell(row, col) {
4
4
  cell.classList.add(PG_CSS_CLASS.cell);
5
5
  const value = row[col.field];
6
6
  cell.textContent = value != null ? String(value) : "";
7
+ cell.setAttribute("col-id", col.id);
7
8
  return cell;
8
9
  }
9
10
  //# sourceMappingURL=cell.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"cell.js","sourceRoot":"","sources":["../../../../../../src/engine/services/renderer/parts/body/cell.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,gCAAgC,CAAC;AAG9D,MAAM,UAAU,UAAU,CAAC,GAAQ,EAAE,GAAmB;IACtD,MAAM,IAAI,GAAG,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;IAC3C,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC;IAEtC,MAAM,KAAK,GAAG,GAAG,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;IAC7B,IAAI,CAAC,WAAW,GAAG,KAAK,IAAI,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;IAEtD,OAAO,IAAI,CAAC;AACd,CAAC"}
1
+ {"version":3,"file":"cell.js","sourceRoot":"","sources":["../../../../../../src/engine/services/renderer/parts/body/cell.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,gCAAgC,CAAC;AAG9D,MAAM,UAAU,UAAU,CAAC,GAAQ,EAAE,GAAmB;IACtD,MAAM,IAAI,GAAG,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;IAC3C,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC;IAEtC,MAAM,KAAK,GAAG,GAAG,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;IAC7B,IAAI,CAAC,WAAW,GAAG,KAAK,IAAI,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;IACtD,IAAI,CAAC,YAAY,CAAC,QAAQ,EAAE,GAAG,CAAC,EAAE,CAAC,CAAC;IAEpC,OAAO,IAAI,CAAC;AACd,CAAC"}
@@ -1,4 +1,4 @@
1
- import type { PolyGridColumn } from "../../../../services/column/interfaces/column";
2
1
  import type { PolyGridRow } from "../../../../services/row/interfaces/row";
3
- export declare function renderRows(rows: PolyGridRow[], columns: PolyGridColumn[], rowHeight: number): HTMLDivElement[];
2
+ import { InternalColumn } from "../../../column/interfaces/internal-column";
3
+ export declare function renderRows(rows: PolyGridRow[], columns: InternalColumn[], rowHeight: number): HTMLDivElement[];
4
4
  //# sourceMappingURL=row.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"row.d.ts","sourceRoot":"","sources":["../../../../../../src/engine/services/renderer/parts/body/row.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,+CAA+C,CAAC;AACpF,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,yCAAyC,CAAC;AAG3E,wBAAgB,UAAU,CACxB,IAAI,EAAE,WAAW,EAAE,EACnB,OAAO,EAAE,cAAc,EAAE,EACzB,SAAS,EAAE,MAAM,GAChB,cAAc,EAAE,CAgBlB"}
1
+ {"version":3,"file":"row.d.ts","sourceRoot":"","sources":["../../../../../../src/engine/services/renderer/parts/body/row.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,yCAAyC,CAAC;AAC3E,OAAO,EAAE,cAAc,EAAE,MAAM,4CAA4C,CAAC;AAG5E,wBAAgB,UAAU,CACxB,IAAI,EAAE,WAAW,EAAE,EACnB,OAAO,EAAE,cAAc,EAAE,EACzB,SAAS,EAAE,MAAM,GAChB,cAAc,EAAE,CAgBlB"}
@@ -1 +1 @@
1
- {"version":3,"file":"footer-cells.d.ts","sourceRoot":"","sources":["../../../../../../src/engine/services/renderer/parts/footer/footer-cells.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAC;AAE7D,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,WAAW,EAAE,KAAK,EAAE,aAAa,QAa1E"}
1
+ {"version":3,"file":"footer-cells.d.ts","sourceRoot":"","sources":["../../../../../../src/engine/services/renderer/parts/footer/footer-cells.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAC;AAE7D,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,WAAW,EAAE,KAAK,EAAE,aAAa,QAc1E"}
@@ -2,10 +2,11 @@ import { PG_CSS_CLASS } from "../../../../const/pg-css-class";
2
2
  export function renderFooterCells(footer, store) {
3
3
  const columns = store
4
4
  .getState()
5
- .view.columns.filter((col) => col.visible ?? true);
5
+ .view.internalColumns.filter((col) => col.visible ?? true);
6
6
  footer.innerHTML = "";
7
7
  columns.forEach((col, i) => {
8
8
  const cell = document.createElement("div");
9
+ cell.setAttribute("col-id", col.id);
9
10
  cell.className = PG_CSS_CLASS.footerCell;
10
11
  cell.textContent = col.header;
11
12
  footer.appendChild(cell);
@@ -1 +1 @@
1
- {"version":3,"file":"footer-cells.js","sourceRoot":"","sources":["../../../../../../src/engine/services/renderer/parts/footer/footer-cells.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,gCAAgC,CAAC;AAG9D,MAAM,UAAU,iBAAiB,CAAC,MAAmB,EAAE,KAAoB;IACzE,MAAM,OAAO,GAAG,KAAK;SAClB,QAAQ,EAAE;SACV,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,OAAO,IAAI,IAAI,CAAC,CAAC;IAErD,MAAM,CAAC,SAAS,GAAG,EAAE,CAAC;IAEtB,OAAO,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,CAAC,EAAE,EAAE;QACzB,MAAM,IAAI,GAAG,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;QAC3C,IAAI,CAAC,SAAS,GAAG,YAAY,CAAC,UAAU,CAAC;QACzC,IAAI,CAAC,WAAW,GAAG,GAAG,CAAC,MAAM,CAAC;QAC9B,MAAM,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;IAC3B,CAAC,CAAC,CAAC;AACL,CAAC"}
1
+ {"version":3,"file":"footer-cells.js","sourceRoot":"","sources":["../../../../../../src/engine/services/renderer/parts/footer/footer-cells.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,gCAAgC,CAAC;AAG9D,MAAM,UAAU,iBAAiB,CAAC,MAAmB,EAAE,KAAoB;IACzE,MAAM,OAAO,GAAG,KAAK;SAClB,QAAQ,EAAE;SACV,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,OAAO,IAAI,IAAI,CAAC,CAAC;IAE7D,MAAM,CAAC,SAAS,GAAG,EAAE,CAAC;IAEtB,OAAO,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,CAAC,EAAE,EAAE;QACzB,MAAM,IAAI,GAAG,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;QAC3C,IAAI,CAAC,YAAY,CAAC,QAAQ,EAAE,GAAG,CAAC,EAAE,CAAC,CAAC;QACpC,IAAI,CAAC,SAAS,GAAG,YAAY,CAAC,UAAU,CAAC;QACzC,IAAI,CAAC,WAAW,GAAG,GAAG,CAAC,MAAM,CAAC;QAC9B,MAAM,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;IAC3B,CAAC,CAAC,CAAC;AACL,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"header-cells.d.ts","sourceRoot":"","sources":["../../../../../../src/engine/services/renderer/parts/header/header-cells.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,OAAO,EAAE,MAAM,2BAA2B,CAAC;AACpD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAC;AAG7D,wBAAgB,iBAAiB,CAC/B,MAAM,EAAE,WAAW,EACnB,KAAK,EAAE,aAAa,EACpB,OAAO,EAAE,OAAO,QAuBjB"}
1
+ {"version":3,"file":"header-cells.d.ts","sourceRoot":"","sources":["../../../../../../src/engine/services/renderer/parts/header/header-cells.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,OAAO,EAAE,MAAM,2BAA2B,CAAC;AACpD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAC;AAG7D,wBAAgB,iBAAiB,CAC/B,MAAM,EAAE,WAAW,EACnB,KAAK,EAAE,aAAa,EACpB,OAAO,EAAE,OAAO,QA6BjB"}
@@ -3,18 +3,23 @@ import { renderResizeHandle } from "./resize-handle";
3
3
  export function renderHeaderCells(header, store, gridDom) {
4
4
  const columns = store
5
5
  .getState()
6
- .view.columns.filter((col) => col.visible ?? true);
6
+ .view.internalColumns.filter((col) => col.visible ?? true);
7
7
  const resizable = store.getState().view.resizable;
8
+ const resizeMode = store.getState().view.resizeMode;
8
9
  header.innerHTML = "";
9
10
  columns.forEach((col, i) => {
10
11
  const cell = document.createElement("div");
11
12
  cell.className = PG_CSS_CLASS.headerCell;
13
+ cell.setAttribute("col-id", col.id);
12
14
  const content = document.createElement("div");
13
15
  content.className = PG_CSS_CLASS.headerCellContent;
14
16
  content.textContent = col.header;
15
17
  cell.appendChild(content);
16
- if (resizable)
17
- renderResizeHandle(cell, gridDom);
18
+ const isLast = i === columns.length - 1;
19
+ const shouldSkipHandle = resizeMode === "constrained" && isLast;
20
+ if (!shouldSkipHandle && resizable) {
21
+ renderResizeHandle(cell, gridDom, store, col.id);
22
+ }
18
23
  header.appendChild(cell);
19
24
  });
20
25
  }
@@ -1 +1 @@
1
- {"version":3,"file":"header-cells.js","sourceRoot":"","sources":["../../../../../../src/engine/services/renderer/parts/header/header-cells.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,gCAAgC,CAAC;AAG9D,OAAO,EAAE,kBAAkB,EAAE,MAAM,iBAAiB,CAAC;AAErD,MAAM,UAAU,iBAAiB,CAC/B,MAAmB,EACnB,KAAoB,EACpB,OAAgB;IAEhB,MAAM,OAAO,GAAG,KAAK;SAClB,QAAQ,EAAE;SACV,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,OAAO,IAAI,IAAI,CAAC,CAAC;IACrD,MAAM,SAAS,GAAG,KAAK,CAAC,QAAQ,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC;IAElD,MAAM,CAAC,SAAS,GAAG,EAAE,CAAC;IAEtB,OAAO,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,CAAC,EAAE,EAAE;QACzB,MAAM,IAAI,GAAG,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;QAC3C,IAAI,CAAC,SAAS,GAAG,YAAY,CAAC,UAAU,CAAC;QAEzC,MAAM,OAAO,GAAG,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;QAC9C,OAAO,CAAC,SAAS,GAAG,YAAY,CAAC,iBAAiB,CAAC;QACnD,OAAO,CAAC,WAAW,GAAG,GAAG,CAAC,MAAM,CAAC;QAEjC,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC;QAE1B,IAAI,SAAS;YAAE,kBAAkB,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;QAEjD,MAAM,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;IAC3B,CAAC,CAAC,CAAC;AACL,CAAC"}
1
+ {"version":3,"file":"header-cells.js","sourceRoot":"","sources":["../../../../../../src/engine/services/renderer/parts/header/header-cells.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,gCAAgC,CAAC;AAG9D,OAAO,EAAE,kBAAkB,EAAE,MAAM,iBAAiB,CAAC;AAErD,MAAM,UAAU,iBAAiB,CAC/B,MAAmB,EACnB,KAAoB,EACpB,OAAgB;IAEhB,MAAM,OAAO,GAAG,KAAK;SAClB,QAAQ,EAAE;SACV,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,OAAO,IAAI,IAAI,CAAC,CAAC;IAC7D,MAAM,SAAS,GAAG,KAAK,CAAC,QAAQ,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC;IAClD,MAAM,UAAU,GAAG,KAAK,CAAC,QAAQ,EAAE,CAAC,IAAI,CAAC,UAAU,CAAC;IAEpD,MAAM,CAAC,SAAS,GAAG,EAAE,CAAC;IAEtB,OAAO,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,CAAC,EAAE,EAAE;QACzB,MAAM,IAAI,GAAG,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;QAC3C,IAAI,CAAC,SAAS,GAAG,YAAY,CAAC,UAAU,CAAC;QACzC,IAAI,CAAC,YAAY,CAAC,QAAQ,EAAE,GAAG,CAAC,EAAE,CAAC,CAAC;QAEpC,MAAM,OAAO,GAAG,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;QAC9C,OAAO,CAAC,SAAS,GAAG,YAAY,CAAC,iBAAiB,CAAC;QACnD,OAAO,CAAC,WAAW,GAAG,GAAG,CAAC,MAAM,CAAC;QAEjC,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC;QAE1B,MAAM,MAAM,GAAG,CAAC,KAAK,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC;QACxC,MAAM,gBAAgB,GAAG,UAAU,KAAK,aAAa,IAAI,MAAM,CAAC;QAChE,IAAI,CAAC,gBAAgB,IAAI,SAAS,EAAE,CAAC;YACnC,kBAAkB,CAAC,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,GAAG,CAAC,EAAE,CAAC,CAAC;QACnD,CAAC;QAED,MAAM,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;IAC3B,CAAC,CAAC,CAAC;AACL,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"header.d.ts","sourceRoot":"","sources":["../../../../../../src/engine/services/renderer/parts/header/header.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,2BAA2B,CAAC;AACzD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAC;AAG7D,wBAAgB,YAAY,CAC1B,KAAK,EAAE,aAAa,EACpB,OAAO,EAAE,OAAO,GACf,cAAc,CAehB"}
1
+ {"version":3,"file":"header.d.ts","sourceRoot":"","sources":["../../../../../../src/engine/services/renderer/parts/header/header.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,2BAA2B,CAAC;AAEzD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAC;AAI7D,wBAAgB,YAAY,CAC1B,KAAK,EAAE,aAAa,EACpB,OAAO,EAAE,OAAO,GACf,cAAc,CAkBhB"}
@@ -1,4 +1,6 @@
1
1
  import { PG_CSS_CLASS } from "../../../../const/pg-css-class";
2
+ import { addDomListener } from "../../../../core/methods";
3
+ import { autofit } from "../../../column/methods";
2
4
  import { renderHeaderCells } from "./header-cells";
3
5
  export function renderHeader(store, gridDom) {
4
6
  // viewport
@@ -7,6 +9,7 @@ export function renderHeader(store, gridDom) {
7
9
  // cell container
8
10
  const headerEl = document.createElement("div");
9
11
  headerEl.className = PG_CSS_CLASS.header;
12
+ addDomListener(gridDom, headerEl, "dblclick", (ev) => autofit(ev, store, gridDom));
10
13
  // cells
11
14
  renderHeaderCells(headerEl, store, gridDom);
12
15
  headerViewportEl.appendChild(headerEl);
@@ -1 +1 @@
1
- {"version":3,"file":"header.js","sourceRoot":"","sources":["../../../../../../src/engine/services/renderer/parts/header/header.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,gCAAgC,CAAC;AAG9D,OAAO,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAC;AAEnD,MAAM,UAAU,YAAY,CAC1B,KAAoB,EACpB,OAAgB;IAEhB,WAAW;IACX,MAAM,gBAAgB,GAAG,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;IACvD,gBAAgB,CAAC,SAAS,GAAG,YAAY,CAAC,cAAc,CAAC;IACzD,iBAAiB;IACjB,MAAM,QAAQ,GAAG,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;IAC/C,QAAQ,CAAC,SAAS,GAAG,YAAY,CAAC,MAAM,CAAC;IACzC,QAAQ;IACR,iBAAiB,CAAC,QAAQ,EAAE,KAAK,EAAE,OAAO,CAAC,CAAC;IAE5C,gBAAgB,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC;IAEvC,OAAO,CAAC,MAAM,GAAG,QAAQ,CAAC;IAE1B,OAAO,gBAAgB,CAAC;AAC1B,CAAC"}
1
+ {"version":3,"file":"header.js","sourceRoot":"","sources":["../../../../../../src/engine/services/renderer/parts/header/header.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,gCAAgC,CAAC;AAE9D,OAAO,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAE1D,OAAO,EAAE,OAAO,EAAE,MAAM,yBAAyB,CAAC;AAClD,OAAO,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAC;AAEnD,MAAM,UAAU,YAAY,CAC1B,KAAoB,EACpB,OAAgB;IAEhB,WAAW;IACX,MAAM,gBAAgB,GAAG,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;IACvD,gBAAgB,CAAC,SAAS,GAAG,YAAY,CAAC,cAAc,CAAC;IACzD,iBAAiB;IACjB,MAAM,QAAQ,GAAG,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;IAC/C,QAAQ,CAAC,SAAS,GAAG,YAAY,CAAC,MAAM,CAAC;IACzC,cAAc,CAAC,OAAO,EAAE,QAAQ,EAAE,UAAU,EAAE,CAAC,EAAE,EAAE,EAAE,CACnD,OAAO,CAAC,EAAE,EAAE,KAAK,EAAE,OAAO,CAAC,CAC5B,CAAC;IACF,QAAQ;IACR,iBAAiB,CAAC,QAAQ,EAAE,KAAK,EAAE,OAAO,CAAC,CAAC;IAE5C,gBAAgB,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC;IAEvC,OAAO,CAAC,MAAM,GAAG,QAAQ,CAAC;IAE1B,OAAO,gBAAgB,CAAC;AAC1B,CAAC"}
@@ -1,3 +1,4 @@
1
1
  import { GridDOM } from "../../../../core/grid-dom";
2
- export declare function renderResizeHandle(cell: HTMLDivElement, gridDom: GridDOM): void;
2
+ import { PolyGridStore } from "../../../../store/store";
3
+ export declare function renderResizeHandle(cell: HTMLDivElement, gridDom: GridDOM, store: PolyGridStore, colId: string): void;
3
4
  //# sourceMappingURL=resize-handle.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"resize-handle.d.ts","sourceRoot":"","sources":["../../../../../../src/engine/services/renderer/parts/header/resize-handle.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,OAAO,EAAE,MAAM,2BAA2B,CAAC;AAIpD,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,cAAc,EAAE,OAAO,EAAE,OAAO,QAMxE"}
1
+ {"version":3,"file":"resize-handle.d.ts","sourceRoot":"","sources":["../../../../../../src/engine/services/renderer/parts/header/resize-handle.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,OAAO,EAAE,MAAM,2BAA2B,CAAC;AAEpD,OAAO,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAC;AAGxD,wBAAgB,kBAAkB,CAChC,IAAI,EAAE,cAAc,EACpB,OAAO,EAAE,OAAO,EAChB,KAAK,EAAE,aAAa,EACpB,KAAK,EAAE,MAAM,QASd"}
@@ -1,10 +1,10 @@
1
1
  import { PG_CSS_CLASS } from "../../../../const/pg-css-class";
2
2
  import { addDomListener } from "../../../../core/methods";
3
3
  import { startResize } from "../../../column/methods";
4
- export function renderResizeHandle(cell, gridDom) {
4
+ export function renderResizeHandle(cell, gridDom, store, colId) {
5
5
  const resizeHandle = document.createElement("div");
6
6
  resizeHandle.className = PG_CSS_CLASS.headerResizeHandle;
7
7
  cell.appendChild(resizeHandle);
8
- addDomListener(gridDom, resizeHandle, "mousedown", startResize);
8
+ addDomListener(gridDom, resizeHandle, "mousedown", (ev) => startResize(ev, store, colId, gridDom));
9
9
  }
10
10
  //# sourceMappingURL=resize-handle.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"resize-handle.js","sourceRoot":"","sources":["../../../../../../src/engine/services/renderer/parts/header/resize-handle.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,gCAAgC,CAAC;AAE9D,OAAO,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAC1D,OAAO,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AAEtD,MAAM,UAAU,kBAAkB,CAAC,IAAoB,EAAE,OAAgB;IACvE,MAAM,YAAY,GAAG,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;IACnD,YAAY,CAAC,SAAS,GAAG,YAAY,CAAC,kBAAkB,CAAC;IACzD,IAAI,CAAC,WAAW,CAAC,YAAY,CAAC,CAAC;IAE/B,cAAc,CAAC,OAAO,EAAE,YAAY,EAAE,WAAW,EAAE,WAAW,CAAC,CAAC;AAClE,CAAC"}
1
+ {"version":3,"file":"resize-handle.js","sourceRoot":"","sources":["../../../../../../src/engine/services/renderer/parts/header/resize-handle.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,gCAAgC,CAAC;AAE9D,OAAO,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAE1D,OAAO,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AAEtD,MAAM,UAAU,kBAAkB,CAChC,IAAoB,EACpB,OAAgB,EAChB,KAAoB,EACpB,KAAa;IAEb,MAAM,YAAY,GAAG,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;IACnD,YAAY,CAAC,SAAS,GAAG,YAAY,CAAC,kBAAkB,CAAC;IACzD,IAAI,CAAC,WAAW,CAAC,YAAY,CAAC,CAAC;IAE/B,cAAc,CAAC,OAAO,EAAE,YAAY,EAAE,WAAW,EAAE,CAAC,EAAE,EAAE,EAAE,CACxD,WAAW,CAAC,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,OAAO,CAAC,CACvC,CAAC;AACJ,CAAC"}
@@ -0,0 +1,5 @@
1
+ export interface ColumnConstraints {
2
+ minWidth: number;
3
+ maxWidth: number | null;
4
+ }
5
+ //# sourceMappingURL=column-constraints.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"column-constraints.d.ts","sourceRoot":"","sources":["../../../../src/engine/store/interfaces/column-constraints.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,iBAAiB;IAChC,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;CACzB"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=column-constraints.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"column-constraints.js","sourceRoot":"","sources":["../../../../src/engine/store/interfaces/column-constraints.ts"],"names":[],"mappings":""}
@@ -0,0 +1,5 @@
1
+ export interface ResizeRaf {
2
+ pendingFrame: boolean;
3
+ lastEvent: MouseEvent | null;
4
+ }
5
+ //# sourceMappingURL=resize-raf.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"resize-raf.d.ts","sourceRoot":"","sources":["../../../../src/engine/store/interfaces/resize-raf.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,SAAS;IACxB,YAAY,EAAE,OAAO,CAAC;IACtB,SAAS,EAAE,UAAU,GAAG,IAAI,CAAC;CAC9B"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=resize-raf.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"resize-raf.js","sourceRoot":"","sources":["../../../../src/engine/store/interfaces/resize-raf.ts"],"names":[],"mappings":""}
@@ -3,5 +3,7 @@ export interface ResizeState {
3
3
  columnId: string | null;
4
4
  startX: number | null;
5
5
  startWidth: number | null;
6
+ neighborColumnId: string | null;
7
+ neighborStartWidth: number | null;
6
8
  }
7
9
  //# sourceMappingURL=resize-state.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"resize-state.d.ts","sourceRoot":"","sources":["../../../../src/engine/store/interfaces/resize-state.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,WAAW;IAC1B,MAAM,EAAE,OAAO,CAAC;IAChB,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;IACtB,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;CAC3B"}
1
+ {"version":3,"file":"resize-state.d.ts","sourceRoot":"","sources":["../../../../src/engine/store/interfaces/resize-state.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,WAAW;IAC1B,MAAM,EAAE,OAAO,CAAC;IAChB,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;IACtB,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,gBAAgB,EAAE,MAAM,GAAG,IAAI,CAAC;IAChC,kBAAkB,EAAE,MAAM,GAAG,IAAI,CAAC;CACnC"}
@@ -1,5 +1,9 @@
1
+ import { ResizeRaf } from "./resize-raf";
1
2
  import { ResizeState } from "./resize-state";
2
3
  export interface PolyGridUIState {
3
4
  resize: ResizeState;
5
+ resizeRaf: ResizeRaf;
6
+ mouseMoveHandler: ((ev: MouseEvent) => void) | null;
7
+ mouseUpHandler: ((ev: MouseEvent) => void) | null;
4
8
  }
5
9
  //# sourceMappingURL=ui-state.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"ui-state.d.ts","sourceRoot":"","sources":["../../../../src/engine/store/interfaces/ui-state.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAE7C,MAAM,WAAW,eAAe;IAC9B,MAAM,EAAE,WAAW,CAAC;CACrB"}
1
+ {"version":3,"file":"ui-state.d.ts","sourceRoot":"","sources":["../../../../src/engine/store/interfaces/ui-state.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AACzC,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAE7C,MAAM,WAAW,eAAe;IAC9B,MAAM,EAAE,WAAW,CAAC;IACpB,SAAS,EAAE,SAAS,CAAC;IACrB,gBAAgB,EAAE,CAAC,CAAC,EAAE,EAAE,UAAU,KAAK,IAAI,CAAC,GAAG,IAAI,CAAC;IACpD,cAAc,EAAE,CAAC,CAAC,EAAE,EAAE,UAAU,KAAK,IAAI,CAAC,GAAG,IAAI,CAAC;CACnD"}
@@ -1,14 +1,19 @@
1
1
  import type { PolyGridColumn } from "../../services/column/interfaces/column";
2
+ import { ColumnWidthSpec } from "../../services/column/interfaces/column-width-spec";
3
+ import { InternalColumn } from "../../services/column/interfaces/internal-column";
2
4
  import type { ColumnWidthState } from "../../services/column/types/column-width-state";
3
5
  import { GridErrorType } from "../../services/error/types/error-type";
4
6
  import { RendererAdapter } from "../../services/renderer/interfaces/renderer-adapter";
5
7
  import type { PolyGridRow } from "../../services/row/interfaces/row";
8
+ import { PolyGridResizeMode } from "../types/resize-mode";
9
+ import { ColumnConstraints } from "./column-constraints";
6
10
  export interface PolyGridViewState {
7
11
  id: string;
8
12
  columns: PolyGridColumn[];
13
+ internalColumns: InternalColumn[];
9
14
  rows: PolyGridRow[];
10
15
  rowHeight: number;
11
- resolvedColumnWidths: number[];
16
+ resolvedColumnWidths: Record<string, ColumnWidthSpec>;
12
17
  columnWidthState: ColumnWidthState;
13
18
  totalColumnWidth: number;
14
19
  totalRowHeight: number;
@@ -25,5 +30,7 @@ export interface PolyGridViewState {
25
30
  errorType: GridErrorType | null;
26
31
  hasProjectedColumns: boolean;
27
32
  resizable: boolean;
33
+ resizeMode: PolyGridResizeMode;
34
+ columnConstraints: ColumnConstraints;
28
35
  }
29
36
  //# sourceMappingURL=view-state.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"view-state.d.ts","sourceRoot":"","sources":["../../../../src/engine/store/interfaces/view-state.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,yCAAyC,CAAC;AAC9E,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,gDAAgD,CAAC;AACvF,OAAO,EAAE,aAAa,EAAE,MAAM,uCAAuC,CAAC;AACtE,OAAO,EAAE,eAAe,EAAE,MAAM,qDAAqD,CAAC;AACtF,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,mCAAmC,CAAC;AAErE,MAAM,WAAW,iBAAiB;IAChC,EAAE,EAAE,MAAM,CAAC;IACX,OAAO,EAAE,cAAc,EAAE,CAAC;IAC1B,IAAI,EAAE,WAAW,EAAE,CAAC;IACpB,SAAS,EAAE,MAAM,CAAC;IAClB,oBAAoB,EAAE,MAAM,EAAE,CAAC;IAC/B,gBAAgB,EAAE,gBAAgB,CAAC;IACnC,gBAAgB,EAAE,MAAM,CAAC;IACzB,cAAc,EAAE,MAAM,CAAC;IACvB,aAAa,EAAE,MAAM,CAAC;IACtB,cAAc,EAAE,MAAM,CAAC;IACvB,gBAAgB,EAAE,MAAM,CAAC;IACzB,iBAAiB,EAAE,MAAM,CAAC;IAC1B,cAAc,EAAE,OAAO,CAAC;IACxB,cAAc,EAAE,OAAO,CAAC;IACxB,eAAe,CAAC,EAAE,eAAe,CAAC;IAClC,eAAe,EAAE,OAAO,CAAC;IACzB,eAAe,EAAE,OAAO,CAAC;IACzB,aAAa,EAAE,OAAO,CAAC;IACvB,SAAS,EAAE,aAAa,GAAG,IAAI,CAAC;IAChC,mBAAmB,EAAE,OAAO,CAAC;IAC7B,SAAS,EAAE,OAAO,CAAC;CACpB"}
1
+ {"version":3,"file":"view-state.d.ts","sourceRoot":"","sources":["../../../../src/engine/store/interfaces/view-state.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,yCAAyC,CAAC;AAC9E,OAAO,EAAE,eAAe,EAAE,MAAM,oDAAoD,CAAC;AACrF,OAAO,EAAE,cAAc,EAAE,MAAM,kDAAkD,CAAC;AAClF,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,gDAAgD,CAAC;AACvF,OAAO,EAAE,aAAa,EAAE,MAAM,uCAAuC,CAAC;AACtE,OAAO,EAAE,eAAe,EAAE,MAAM,qDAAqD,CAAC;AACtF,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,mCAAmC,CAAC;AACrE,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAC1D,OAAO,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AAEzD,MAAM,WAAW,iBAAiB;IAChC,EAAE,EAAE,MAAM,CAAC;IACX,OAAO,EAAE,cAAc,EAAE,CAAC;IAC1B,eAAe,EAAE,cAAc,EAAE,CAAC;IAClC,IAAI,EAAE,WAAW,EAAE,CAAC;IACpB,SAAS,EAAE,MAAM,CAAC;IAClB,oBAAoB,EAAE,MAAM,CAAC,MAAM,EAAE,eAAe,CAAC,CAAC;IACtD,gBAAgB,EAAE,gBAAgB,CAAC;IACnC,gBAAgB,EAAE,MAAM,CAAC;IACzB,cAAc,EAAE,MAAM,CAAC;IACvB,aAAa,EAAE,MAAM,CAAC;IACtB,cAAc,EAAE,MAAM,CAAC;IACvB,gBAAgB,EAAE,MAAM,CAAC;IACzB,iBAAiB,EAAE,MAAM,CAAC;IAC1B,cAAc,EAAE,OAAO,CAAC;IACxB,cAAc,EAAE,OAAO,CAAC;IACxB,eAAe,CAAC,EAAE,eAAe,CAAC;IAClC,eAAe,EAAE,OAAO,CAAC;IACzB,eAAe,EAAE,OAAO,CAAC;IACzB,aAAa,EAAE,OAAO,CAAC;IACvB,SAAS,EAAE,aAAa,GAAG,IAAI,CAAC;IAChC,mBAAmB,EAAE,OAAO,CAAC;IAC7B,SAAS,EAAE,OAAO,CAAC;IACnB,UAAU,EAAE,kBAAkB,CAAC;IAC/B,iBAAiB,EAAE,iBAAiB,CAAC;CACtC"}
@@ -1 +1 @@
1
- {"version":3,"file":"create-initial-state.d.ts","sourceRoot":"","sources":["../../../../src/engine/store/methods/create-initial-state.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AAE9D,wBAAgB,kBAAkB,IAAI,aAAa,CAiClD"}
1
+ {"version":3,"file":"create-initial-state.d.ts","sourceRoot":"","sources":["../../../../src/engine/store/methods/create-initial-state.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AAE9D,wBAAgB,kBAAkB,IAAI,aAAa,CA4ClD"}