@polygrid/core 1.0.3 → 1.0.401

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 (69) 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/core/grid-runtime.d.ts +15 -0
  6. package/dist/engine/core/grid-runtime.d.ts.map +1 -0
  7. package/dist/engine/core/grid-runtime.js +26 -0
  8. package/dist/engine/core/grid-runtime.js.map +1 -0
  9. package/dist/engine/core/grid.d.ts +3 -0
  10. package/dist/engine/core/grid.d.ts.map +1 -1
  11. package/dist/engine/core/grid.js +8 -1
  12. package/dist/engine/core/grid.js.map +1 -1
  13. package/dist/engine/core/interfaces/grid-options.d.ts +2 -0
  14. package/dist/engine/core/interfaces/grid-options.d.ts.map +1 -1
  15. package/dist/engine/core/methods/consume-options.d.ts.map +1 -1
  16. package/dist/engine/core/methods/consume-options.js +5 -0
  17. package/dist/engine/core/methods/consume-options.js.map +1 -1
  18. package/dist/engine/services/column/methods/set-columns.js +1 -1
  19. package/dist/engine/services/column/methods/set-columns.js.map +1 -1
  20. package/dist/engine/services/data/methods/set-rows.js +1 -1
  21. package/dist/engine/services/data/methods/set-rows.js.map +1 -1
  22. package/dist/engine/services/layout/methods/apply-column-widths.js +1 -1
  23. package/dist/engine/services/layout/methods/apply-column-widths.js.map +1 -1
  24. package/dist/engine/services/layout/methods/resize-body.d.ts.map +1 -1
  25. package/dist/engine/services/layout/methods/resize-body.js +2 -1
  26. package/dist/engine/services/layout/methods/resize-body.js.map +1 -1
  27. package/dist/engine/services/layout/methods/set-up-resize-observer.d.ts.map +1 -1
  28. package/dist/engine/services/layout/methods/set-up-resize-observer.js +0 -2
  29. package/dist/engine/services/layout/methods/set-up-resize-observer.js.map +1 -1
  30. package/dist/engine/services/layout/methods/update-column-widths.d.ts +2 -1
  31. package/dist/engine/services/layout/methods/update-column-widths.d.ts.map +1 -1
  32. package/dist/engine/services/layout/methods/update-column-widths.js +5 -1
  33. package/dist/engine/services/layout/methods/update-column-widths.js.map +1 -1
  34. package/dist/engine/services/renderer/interfaces/renderer-adapter.d.ts +6 -0
  35. package/dist/engine/services/renderer/interfaces/renderer-adapter.d.ts.map +1 -0
  36. package/dist/engine/services/renderer/interfaces/renderer-adapter.js +2 -0
  37. package/dist/engine/services/renderer/interfaces/renderer-adapter.js.map +1 -0
  38. package/dist/engine/services/renderer/interfaces/renderer-handle.d.ts +5 -0
  39. package/dist/engine/services/renderer/interfaces/renderer-handle.d.ts.map +1 -0
  40. package/dist/engine/services/renderer/interfaces/renderer-handle.js +2 -0
  41. package/dist/engine/services/renderer/interfaces/renderer-handle.js.map +1 -0
  42. package/dist/engine/services/renderer/interfaces/template-mounts/no-data-mount.d.ts +7 -0
  43. package/dist/engine/services/renderer/interfaces/template-mounts/no-data-mount.d.ts.map +1 -0
  44. package/dist/engine/services/renderer/interfaces/template-mounts/no-data-mount.js +2 -0
  45. package/dist/engine/services/renderer/interfaces/template-mounts/no-data-mount.js.map +1 -0
  46. package/dist/engine/services/renderer/parts/body/body.d.ts +2 -1
  47. package/dist/engine/services/renderer/parts/body/body.d.ts.map +1 -1
  48. package/dist/engine/services/renderer/parts/body/body.js +18 -10
  49. package/dist/engine/services/renderer/parts/body/body.js.map +1 -1
  50. package/dist/engine/services/renderer/parts/grid/grid.d.ts +2 -1
  51. package/dist/engine/services/renderer/parts/grid/grid.d.ts.map +1 -1
  52. package/dist/engine/services/renderer/parts/grid/grid.js +7 -7
  53. package/dist/engine/services/renderer/parts/grid/grid.js.map +1 -1
  54. package/dist/engine/services/renderer/parts/no-data/no-data.d.ts +3 -0
  55. package/dist/engine/services/renderer/parts/no-data/no-data.d.ts.map +1 -0
  56. package/dist/engine/services/renderer/parts/no-data/no-data.js +38 -0
  57. package/dist/engine/services/renderer/parts/no-data/no-data.js.map +1 -0
  58. package/dist/engine/services/renderer/parts/root/root.d.ts +2 -1
  59. package/dist/engine/services/renderer/parts/root/root.d.ts.map +1 -1
  60. package/dist/engine/services/renderer/parts/root/root.js +4 -4
  61. package/dist/engine/services/renderer/parts/root/root.js.map +1 -1
  62. package/dist/engine/services/renderer/parts/viewport/viewport.d.ts +2 -1
  63. package/dist/engine/services/renderer/parts/viewport/viewport.d.ts.map +1 -1
  64. package/dist/engine/services/renderer/parts/viewport/viewport.js +2 -2
  65. package/dist/engine/services/renderer/parts/viewport/viewport.js.map +1 -1
  66. package/dist/engine/store/interfaces/grid-state.d.ts +2 -0
  67. package/dist/engine/store/interfaces/grid-state.d.ts.map +1 -1
  68. package/dist/polygrid.css +56 -0
  69. package/package.json +32 -42
@@ -21,5 +21,6 @@ export declare const PG_CSS_CLASS: {
21
21
  readonly footerViewport: "pg-footer-viewport";
22
22
  readonly footer: "pg-footer";
23
23
  readonly footerCell: "pg-footer-cell";
24
+ readonly noData: "pg-no-data";
24
25
  };
25
26
  //# sourceMappingURL=pg-css-class.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"pg-css-class.d.ts","sourceRoot":"","sources":["../../../src/engine/const/pg-css-class.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,YAAY;;;;;;;;;;;;;;;;;;;;;;;CAuBf,CAAC"}
1
+ {"version":3,"file":"pg-css-class.d.ts","sourceRoot":"","sources":["../../../src/engine/const/pg-css-class.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,YAAY;;;;;;;;;;;;;;;;;;;;;;;;CAwBf,CAAC"}
@@ -21,5 +21,6 @@ export const PG_CSS_CLASS = {
21
21
  footerViewport: "pg-footer-viewport",
22
22
  footer: "pg-footer",
23
23
  footerCell: "pg-footer-cell",
24
+ noData: "pg-no-data",
24
25
  };
25
26
  //# sourceMappingURL=pg-css-class.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"pg-css-class.js","sourceRoot":"","sources":["../../../src/engine/const/pg-css-class.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,YAAY,GAAG;IAC1B,IAAI,EAAE,SAAS;IACf,IAAI,EAAE,SAAS;IACf,QAAQ,EAAE,aAAa;IACvB,OAAO,EAAE,aAAa;IACtB,gBAAgB,EAAE,wBAAwB;IAC1C,YAAY,EAAE,mBAAmB;IACjC,YAAY,EAAE,mBAAmB;IACjC,mBAAmB,EAAE,2BAA2B;IAChD,mBAAmB,EAAE,2BAA2B;IAChD,OAAO,EAAE,aAAa;IACtB,YAAY,EAAE,mBAAmB;IACjC,YAAY,EAAE,mBAAmB;IACjC,cAAc,EAAE,oBAAoB;IACpC,MAAM,EAAE,WAAW;IACnB,UAAU,EAAE,gBAAgB;IAC5B,YAAY,EAAE,kBAAkB;IAChC,IAAI,EAAE,SAAS;IACf,GAAG,EAAE,QAAQ;IACb,IAAI,EAAE,SAAS;IACf,cAAc,EAAE,oBAAoB;IACpC,MAAM,EAAE,WAAW;IACnB,UAAU,EAAE,gBAAgB;CACpB,CAAC"}
1
+ {"version":3,"file":"pg-css-class.js","sourceRoot":"","sources":["../../../src/engine/const/pg-css-class.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,YAAY,GAAG;IAC1B,IAAI,EAAE,SAAS;IACf,IAAI,EAAE,SAAS;IACf,QAAQ,EAAE,aAAa;IACvB,OAAO,EAAE,aAAa;IACtB,gBAAgB,EAAE,wBAAwB;IAC1C,YAAY,EAAE,mBAAmB;IACjC,YAAY,EAAE,mBAAmB;IACjC,mBAAmB,EAAE,2BAA2B;IAChD,mBAAmB,EAAE,2BAA2B;IAChD,OAAO,EAAE,aAAa;IACtB,YAAY,EAAE,mBAAmB;IACjC,YAAY,EAAE,mBAAmB;IACjC,cAAc,EAAE,oBAAoB;IACpC,MAAM,EAAE,WAAW;IACnB,UAAU,EAAE,gBAAgB;IAC5B,YAAY,EAAE,kBAAkB;IAChC,IAAI,EAAE,SAAS;IACf,GAAG,EAAE,QAAQ;IACb,IAAI,EAAE,SAAS;IACf,cAAc,EAAE,oBAAoB;IACpC,MAAM,EAAE,WAAW;IACnB,UAAU,EAAE,gBAAgB;IAC5B,MAAM,EAAE,YAAY;CACZ,CAAC"}
@@ -0,0 +1,15 @@
1
+ import { RendererHandle } from "../services/renderer/interfaces/renderer-handle";
2
+ export declare class GridRuntime {
3
+ noDataHandle: RendererHandle | null;
4
+ noDataContainer: HTMLElement | null;
5
+ headerHandles: Map<string, RendererHandle>;
6
+ headerContainers: Map<string, HTMLElement>;
7
+ cellHandles: Map<string, RendererHandle>;
8
+ cellContainers: Map<string, HTMLElement>;
9
+ footerHandles: Map<string, RendererHandle>;
10
+ footerContainers: Map<string, HTMLElement>;
11
+ overlayHandles: Map<string, RendererHandle>;
12
+ overlayContainers: Map<string, HTMLElement>;
13
+ destroyRuntimeHandles(): void;
14
+ }
15
+ //# sourceMappingURL=grid-runtime.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"grid-runtime.d.ts","sourceRoot":"","sources":["../../../src/engine/core/grid-runtime.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,iDAAiD,CAAC;AAEjF,qBAAa,WAAW;IACtB,YAAY,EAAE,cAAc,GAAG,IAAI,CAAQ;IAC3C,eAAe,EAAE,WAAW,GAAG,IAAI,CAAQ;IAE3C,aAAa,8BAAqC;IAClD,gBAAgB,2BAAkC;IAElD,WAAW,8BAAqC;IAChD,cAAc,2BAAkC;IAEhD,aAAa,8BAAqC;IAClD,gBAAgB,2BAAkC;IAElD,cAAc,8BAAqC;IACnD,iBAAiB,2BAAkC;IAEnD,qBAAqB;CAOtB"}
@@ -0,0 +1,26 @@
1
+ export class GridRuntime {
2
+ constructor() {
3
+ this.noDataHandle = null;
4
+ this.noDataContainer = null;
5
+ this.headerHandles = new Map();
6
+ this.headerContainers = new Map();
7
+ this.cellHandles = new Map();
8
+ this.cellContainers = new Map();
9
+ this.footerHandles = new Map();
10
+ this.footerContainers = new Map();
11
+ this.overlayHandles = new Map();
12
+ this.overlayContainers = new Map();
13
+ }
14
+ destroyRuntimeHandles() {
15
+ this.noDataHandle?.destroy();
16
+ for (const h of this.headerHandles.values())
17
+ h.destroy();
18
+ for (const h of this.cellHandles.values())
19
+ h.destroy();
20
+ for (const h of this.footerHandles.values())
21
+ h.destroy();
22
+ for (const h of this.overlayHandles.values())
23
+ h.destroy();
24
+ }
25
+ }
26
+ //# sourceMappingURL=grid-runtime.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"grid-runtime.js","sourceRoot":"","sources":["../../../src/engine/core/grid-runtime.ts"],"names":[],"mappings":"AAEA,MAAM,OAAO,WAAW;IAAxB;QACE,iBAAY,GAA0B,IAAI,CAAC;QAC3C,oBAAe,GAAuB,IAAI,CAAC;QAE3C,kBAAa,GAAG,IAAI,GAAG,EAA0B,CAAC;QAClD,qBAAgB,GAAG,IAAI,GAAG,EAAuB,CAAC;QAElD,gBAAW,GAAG,IAAI,GAAG,EAA0B,CAAC;QAChD,mBAAc,GAAG,IAAI,GAAG,EAAuB,CAAC;QAEhD,kBAAa,GAAG,IAAI,GAAG,EAA0B,CAAC;QAClD,qBAAgB,GAAG,IAAI,GAAG,EAAuB,CAAC;QAElD,mBAAc,GAAG,IAAI,GAAG,EAA0B,CAAC;QACnD,sBAAiB,GAAG,IAAI,GAAG,EAAuB,CAAC;IASrD,CAAC;IAPC,qBAAqB;QACnB,IAAI,CAAC,YAAY,EAAE,OAAO,EAAE,CAAC;QAC7B,KAAK,MAAM,CAAC,IAAI,IAAI,CAAC,aAAa,CAAC,MAAM,EAAE;YAAE,CAAC,CAAC,OAAO,EAAE,CAAC;QACzD,KAAK,MAAM,CAAC,IAAI,IAAI,CAAC,WAAW,CAAC,MAAM,EAAE;YAAE,CAAC,CAAC,OAAO,EAAE,CAAC;QACvD,KAAK,MAAM,CAAC,IAAI,IAAI,CAAC,aAAa,CAAC,MAAM,EAAE;YAAE,CAAC,CAAC,OAAO,EAAE,CAAC;QACzD,KAAK,MAAM,CAAC,IAAI,IAAI,CAAC,cAAc,CAAC,MAAM,EAAE;YAAE,CAAC,CAAC,OAAO,EAAE,CAAC;IAC5D,CAAC;CACF"}
@@ -3,11 +3,13 @@ import { PolyGridStore } from "../store/store";
3
3
  import { Subject } from "../rx-lite/core/subject";
4
4
  import { GridDOM } from "./grid-dom";
5
5
  import { type PolyGridApi } from "../../api";
6
+ import { GridRuntime } from "./grid-runtime";
6
7
  export declare class PolyGrid {
7
8
  private store;
8
9
  private services;
9
10
  private destroy$;
10
11
  private gridDom;
12
+ private runtime;
11
13
  private resizeObserver;
12
14
  api: PolyGridApi;
13
15
  constructor(hostElement: HTMLElement, options: PolyGridOptions);
@@ -15,5 +17,6 @@ export declare class PolyGrid {
15
17
  get _store(): PolyGridStore;
16
18
  get _destroy$(): Subject<void>;
17
19
  get _gridDom(): GridDOM;
20
+ get _runtime(): GridRuntime;
18
21
  }
19
22
  //# sourceMappingURL=grid.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"grid.d.ts","sourceRoot":"","sources":["../../../src/engine/core/grid.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,2BAA2B,CAAC;AAEjE,OAAO,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAC/C,OAAO,EAAE,OAAO,EAAE,MAAM,yBAAyB,CAAC;AAGlD,OAAO,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AACrC,OAAO,EAAa,KAAK,WAAW,EAAE,MAAM,WAAW,CAAC;AAExD,qBAAa,QAAQ;IACnB,OAAO,CAAC,KAAK,CAAgB;IAC7B,OAAO,CAAC,QAAQ,CAAmB;IACnC,OAAO,CAAC,QAAQ,CAAgB;IAChC,OAAO,CAAC,OAAO,CAAU;IACzB,OAAO,CAAC,cAAc,CAAkB;IAExC,GAAG,EAAE,WAAW,CAAC;gBAEL,WAAW,EAAE,WAAW,EAAE,OAAO,EAAE,eAAe;IAsC9D,OAAO;IASP,IAAI,MAAM,kBAET;IAED,IAAI,SAAS,kBAEZ;IAED,IAAI,QAAQ,YAEX;CACF"}
1
+ {"version":3,"file":"grid.d.ts","sourceRoot":"","sources":["../../../src/engine/core/grid.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,2BAA2B,CAAC;AAEjE,OAAO,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAC/C,OAAO,EAAE,OAAO,EAAE,MAAM,yBAAyB,CAAC;AAGlD,OAAO,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AACrC,OAAO,EAAa,KAAK,WAAW,EAAE,MAAM,WAAW,CAAC;AACxD,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAE7C,qBAAa,QAAQ;IACnB,OAAO,CAAC,KAAK,CAAgB;IAC7B,OAAO,CAAC,QAAQ,CAAmB;IACnC,OAAO,CAAC,QAAQ,CAAgB;IAChC,OAAO,CAAC,OAAO,CAAU;IACzB,OAAO,CAAC,OAAO,CAAc;IAC7B,OAAO,CAAC,cAAc,CAAkB;IAExC,GAAG,EAAE,WAAW,CAAC;gBAEL,WAAW,EAAE,WAAW,EAAE,OAAO,EAAE,eAAe;IAuC9D,OAAO;IAWP,IAAI,MAAM,kBAET;IAED,IAAI,SAAS,kBAEZ;IAED,IAAI,QAAQ,YAEX;IAED,IAAI,QAAQ,gBAEX;CACF"}
@@ -5,16 +5,18 @@ import { PolyGridServices } from "../services/services";
5
5
  import * as methods from "./methods/index";
6
6
  import { GridDOM } from "./grid-dom";
7
7
  import { createApi } from "../../api";
8
+ import { GridRuntime } from "./grid-runtime";
8
9
  export class PolyGrid {
9
10
  constructor(hostElement, options) {
10
11
  this.store = new PolyGridStore();
11
12
  this.gridDom = new GridDOM();
13
+ this.runtime = new GridRuntime();
12
14
  this.destroy$ = new Subject();
13
15
  this.services = new PolyGridServices(this);
14
16
  // process the options
15
17
  methods.consumeOptions(this.store, options);
16
18
  // render the root element
17
- renderRoot(this.store, hostElement, this.gridDom);
19
+ renderRoot(this.store, hostElement, this.gridDom, this);
18
20
  // setting up a resize observer for the grid
19
21
  this.resizeObserver = this.services.layout.setUpResizeObserver(this.resizeObserver, this.gridDom, this.store);
20
22
  this.resizeObserver.observe(this.gridDom.grid);
@@ -36,6 +38,8 @@ export class PolyGrid {
36
38
  for (const fn of this.gridDom.cleanups) {
37
39
  fn();
38
40
  }
41
+ // destroy handles
42
+ this.runtime.destroyRuntimeHandles();
39
43
  }
40
44
  get _store() {
41
45
  return this.store;
@@ -46,5 +50,8 @@ export class PolyGrid {
46
50
  get _gridDom() {
47
51
  return this.gridDom;
48
52
  }
53
+ get _runtime() {
54
+ return this.runtime;
55
+ }
49
56
  }
50
57
  //# sourceMappingURL=grid.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"grid.js","sourceRoot":"","sources":["../../../src/engine/core/grid.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,UAAU,EAAE,MAAM,sCAAsC,CAAC;AAClE,OAAO,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAC/C,OAAO,EAAE,OAAO,EAAE,MAAM,yBAAyB,CAAC;AAClD,OAAO,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AACxD,OAAO,KAAK,OAAO,MAAM,iBAAiB,CAAC;AAC3C,OAAO,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AACrC,OAAO,EAAE,SAAS,EAAoB,MAAM,WAAW,CAAC;AAExD,MAAM,OAAO,QAAQ;IASnB,YAAY,WAAwB,EAAE,OAAwB;QAC5D,IAAI,CAAC,KAAK,GAAG,IAAI,aAAa,EAAE,CAAC;QACjC,IAAI,CAAC,OAAO,GAAG,IAAI,OAAO,EAAE,CAAC;QAC7B,IAAI,CAAC,QAAQ,GAAG,IAAI,OAAO,EAAQ,CAAC;QACpC,IAAI,CAAC,QAAQ,GAAG,IAAI,gBAAgB,CAAC,IAAI,CAAC,CAAC;QAE3C,sBAAsB;QACtB,OAAO,CAAC,cAAc,CAAC,IAAI,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;QAE5C,0BAA0B;QAC1B,UAAU,CAAC,IAAI,CAAC,KAAK,EAAE,WAAW,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC;QAElD,4CAA4C;QAC5C,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,mBAAmB,CAC5D,IAAI,CAAC,cAAc,EACnB,IAAI,CAAC,OAAO,EACZ,IAAI,CAAC,KAAK,CACX,CAAC;QACF,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;QAE/C,uBAAuB;QACvB,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,wBAAwB,CAC3C,IAAI,CAAC,QAAQ,CAAC,MAAM,EACpB,IAAI,CAAC,QAAQ,CACd,CAAC;QAEF,oBAAoB;QACpB,IAAI,CAAC,GAAG,GAAG,SAAS,CAAC,IAAI,CAAC,CAAC;QAE3B,yBAAyB;QACzB,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,oBAAoB,EAAE,CAAC;QAC5C,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,oBAAoB,EAAE,CAAC;QAC1C,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,oBAAoB,EAAE,CAAC;QAC5C,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,oBAAoB,EAAE,CAAC;QAE9C,OAAO,CAAC,GAAG,CAAC,sBAAsB,CAAC,CAAC;IACtC,CAAC;IAED,OAAO;QACL,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC;QACrB,IAAI,CAAC,QAAQ,CAAC,QAAQ,EAAE,CAAC;QACzB,0BAA0B;QAC1B,KAAK,MAAM,EAAE,IAAI,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC;YACvC,EAAE,EAAE,CAAC;QACP,CAAC;IACH,CAAC;IAED,IAAI,MAAM;QACR,OAAO,IAAI,CAAC,KAAK,CAAC;IACpB,CAAC;IAED,IAAI,SAAS;QACX,OAAO,IAAI,CAAC,QAAQ,CAAC;IACvB,CAAC;IAED,IAAI,QAAQ;QACV,OAAO,IAAI,CAAC,OAAO,CAAC;IACtB,CAAC;CACF"}
1
+ {"version":3,"file":"grid.js","sourceRoot":"","sources":["../../../src/engine/core/grid.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,UAAU,EAAE,MAAM,sCAAsC,CAAC;AAClE,OAAO,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAC/C,OAAO,EAAE,OAAO,EAAE,MAAM,yBAAyB,CAAC;AAClD,OAAO,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AACxD,OAAO,KAAK,OAAO,MAAM,iBAAiB,CAAC;AAC3C,OAAO,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AACrC,OAAO,EAAE,SAAS,EAAoB,MAAM,WAAW,CAAC;AACxD,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAE7C,MAAM,OAAO,QAAQ;IAUnB,YAAY,WAAwB,EAAE,OAAwB;QAC5D,IAAI,CAAC,KAAK,GAAG,IAAI,aAAa,EAAE,CAAC;QACjC,IAAI,CAAC,OAAO,GAAG,IAAI,OAAO,EAAE,CAAC;QAC7B,IAAI,CAAC,OAAO,GAAG,IAAI,WAAW,EAAE,CAAC;QACjC,IAAI,CAAC,QAAQ,GAAG,IAAI,OAAO,EAAQ,CAAC;QACpC,IAAI,CAAC,QAAQ,GAAG,IAAI,gBAAgB,CAAC,IAAI,CAAC,CAAC;QAE3C,sBAAsB;QACtB,OAAO,CAAC,cAAc,CAAC,IAAI,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;QAE5C,0BAA0B;QAC1B,UAAU,CAAC,IAAI,CAAC,KAAK,EAAE,WAAW,EAAE,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;QAExD,4CAA4C;QAC5C,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,mBAAmB,CAC5D,IAAI,CAAC,cAAc,EACnB,IAAI,CAAC,OAAO,EACZ,IAAI,CAAC,KAAK,CACX,CAAC;QACF,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;QAE/C,uBAAuB;QACvB,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,wBAAwB,CAC3C,IAAI,CAAC,QAAQ,CAAC,MAAM,EACpB,IAAI,CAAC,QAAQ,CACd,CAAC;QAEF,oBAAoB;QACpB,IAAI,CAAC,GAAG,GAAG,SAAS,CAAC,IAAI,CAAC,CAAC;QAE3B,yBAAyB;QACzB,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,oBAAoB,EAAE,CAAC;QAC5C,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,oBAAoB,EAAE,CAAC;QAC1C,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,oBAAoB,EAAE,CAAC;QAC5C,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,oBAAoB,EAAE,CAAC;QAE9C,OAAO,CAAC,GAAG,CAAC,sBAAsB,CAAC,CAAC;IACtC,CAAC;IAED,OAAO;QACL,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC;QACrB,IAAI,CAAC,QAAQ,CAAC,QAAQ,EAAE,CAAC;QACzB,0BAA0B;QAC1B,KAAK,MAAM,EAAE,IAAI,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC;YACvC,EAAE,EAAE,CAAC;QACP,CAAC;QACD,kBAAkB;QAClB,IAAI,CAAC,OAAO,CAAC,qBAAqB,EAAE,CAAC;IACvC,CAAC;IAED,IAAI,MAAM;QACR,OAAO,IAAI,CAAC,KAAK,CAAC;IACpB,CAAC;IAED,IAAI,SAAS;QACX,OAAO,IAAI,CAAC,QAAQ,CAAC;IACvB,CAAC;IAED,IAAI,QAAQ;QACV,OAAO,IAAI,CAAC,OAAO,CAAC;IACtB,CAAC;IAED,IAAI,QAAQ;QACV,OAAO,IAAI,CAAC,OAAO,CAAC;IACtB,CAAC;CACF"}
@@ -1,8 +1,10 @@
1
1
  import type { PolyGridColumn } from "../../services/column/interfaces/column";
2
+ import { RendererAdapter } from "../../services/renderer/interfaces/renderer-adapter";
2
3
  export interface PolyGridOptions {
3
4
  id: string;
4
5
  columns?: PolyGridColumn[];
5
6
  data?: any[];
6
7
  rowHeight?: number;
8
+ rendererAdapter?: RendererAdapter;
7
9
  }
8
10
  //# sourceMappingURL=grid-options.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"grid-options.d.ts","sourceRoot":"","sources":["../../../../src/engine/core/interfaces/grid-options.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,yCAAyC,CAAC;AAE9E,MAAM,WAAW,eAAe;IAC9B,EAAE,EAAE,MAAM,CAAC;IACX,OAAO,CAAC,EAAE,cAAc,EAAE,CAAC;IAC3B,IAAI,CAAC,EAAE,GAAG,EAAE,CAAC;IACb,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB"}
1
+ {"version":3,"file":"grid-options.d.ts","sourceRoot":"","sources":["../../../../src/engine/core/interfaces/grid-options.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,yCAAyC,CAAC;AAC9E,OAAO,EAAE,eAAe,EAAE,MAAM,qDAAqD,CAAC;AAEtF,MAAM,WAAW,eAAe;IAC9B,EAAE,EAAE,MAAM,CAAC;IACX,OAAO,CAAC,EAAE,cAAc,EAAE,CAAC;IAC3B,IAAI,CAAC,EAAE,GAAG,EAAE,CAAC;IACb,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,eAAe,CAAC,EAAE,eAAe,CAAC;CACnC"}
@@ -1 +1 @@
1
- {"version":3,"file":"consume-options.d.ts","sourceRoot":"","sources":["../../../../src/engine/core/methods/consume-options.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,4BAA4B,CAAC;AAClE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAEvD,wBAAgB,cAAc,CAAC,KAAK,EAAE,aAAa,EAAE,OAAO,EAAE,eAAe,QA2B5E"}
1
+ {"version":3,"file":"consume-options.d.ts","sourceRoot":"","sources":["../../../../src/engine/core/methods/consume-options.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,4BAA4B,CAAC;AAClE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAEvD,wBAAgB,cAAc,CAAC,KAAK,EAAE,aAAa,EAAE,OAAO,EAAE,eAAe,QAiC5E"}
@@ -23,5 +23,10 @@ export function consumeOptions(store, options) {
23
23
  state.rowHeight = rowHeight;
24
24
  });
25
25
  }
26
+ // assign renderer adapter
27
+ const rendererAdapter = options.rendererAdapter;
28
+ if (rendererAdapter) {
29
+ store.update((state) => (state.rendererAdapter = rendererAdapter));
30
+ }
26
31
  }
27
32
  //# sourceMappingURL=consume-options.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"consume-options.js","sourceRoot":"","sources":["../../../../src/engine/core/methods/consume-options.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAIjD,MAAM,UAAU,cAAc,CAAC,KAAoB,EAAE,OAAwB;IAC3E,YAAY;IACZ,KAAK,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,EAAE,GAAG,OAAO,CAAC,EAAE,CAAC,CAAC,CAAC;IAEjD,iBAAiB;IACjB,MAAM,IAAI,GAAG,OAAO,CAAC,OAAO,CAAC;IAC7B,IAAI,IAAI,EAAE,CAAC;QACT,KAAK,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE;YACrB,KAAK,CAAC,OAAO,GAAG,IAAI,CAAC;QACvB,CAAC,CAAC,CAAC;IACL,CAAC;IAED,cAAc;IACd,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC;IAC1B,IAAI,IAAI,EAAE,CAAC;QACT,KAAK,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE;YACrB,KAAK,CAAC,IAAI,GAAG,aAAa,CAAC,IAAI,CAAC,CAAC;QACnC,CAAC,CAAC,CAAC;IACL,CAAC;IAED,oBAAoB;IACpB,MAAM,SAAS,GAAG,OAAO,CAAC,SAAS,CAAC;IACpC,IAAI,SAAS,EAAE,CAAC;QACd,KAAK,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE;YACrB,KAAK,CAAC,SAAS,GAAG,SAAS,CAAC;QAC9B,CAAC,CAAC,CAAC;IACL,CAAC;AACH,CAAC"}
1
+ {"version":3,"file":"consume-options.js","sourceRoot":"","sources":["../../../../src/engine/core/methods/consume-options.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAIjD,MAAM,UAAU,cAAc,CAAC,KAAoB,EAAE,OAAwB;IAC3E,YAAY;IACZ,KAAK,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,EAAE,GAAG,OAAO,CAAC,EAAE,CAAC,CAAC,CAAC;IAEjD,iBAAiB;IACjB,MAAM,IAAI,GAAG,OAAO,CAAC,OAAO,CAAC;IAC7B,IAAI,IAAI,EAAE,CAAC;QACT,KAAK,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE;YACrB,KAAK,CAAC,OAAO,GAAG,IAAI,CAAC;QACvB,CAAC,CAAC,CAAC;IACL,CAAC;IAED,cAAc;IACd,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC;IAC1B,IAAI,IAAI,EAAE,CAAC;QACT,KAAK,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE;YACrB,KAAK,CAAC,IAAI,GAAG,aAAa,CAAC,IAAI,CAAC,CAAC;QACnC,CAAC,CAAC,CAAC;IACL,CAAC;IAED,oBAAoB;IACpB,MAAM,SAAS,GAAG,OAAO,CAAC,SAAS,CAAC;IACpC,IAAI,SAAS,EAAE,CAAC;QACd,KAAK,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE;YACrB,KAAK,CAAC,SAAS,GAAG,SAAS,CAAC;QAC9B,CAAC,CAAC,CAAC;IACL,CAAC;IAED,0BAA0B;IAC1B,MAAM,eAAe,GAAG,OAAO,CAAC,eAAe,CAAC;IAChD,IAAI,eAAe,EAAE,CAAC;QACpB,KAAK,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,eAAe,GAAG,eAAe,CAAC,CAAC,CAAC;IACrE,CAAC;AACH,CAAC"}
@@ -17,7 +17,7 @@ export function setColumns(columnService, destroy$) {
17
17
  draft.resolvedColumnWidths = resolvedColWidths;
18
18
  draft.totalColumnWidth = totalColumnWidth;
19
19
  });
20
- updateColumnWidths(gridDom, state, resolvedColWidths);
20
+ updateColumnWidths(gridDom, state, resolvedColWidths, columnService.grid);
21
21
  }, "SET-COLUMNS");
22
22
  }
23
23
  //# sourceMappingURL=set-columns.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"set-columns.js","sourceRoot":"","sources":["../../../../../src/engine/services/column/methods/set-columns.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAE,MAAM,sCAAsC,CAAC;AACjE,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAC1D,OAAO,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAC;AAEvD,OAAO,EAAE,mBAAmB,EAAE,MAAM,yBAAyB,CAAC;AAE9D,MAAM,UAAU,UAAU,CACxB,aAA4B,EAC5B,QAA8B;IAE9B,aAAa,CAAC,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,OAAO,EAAE,EAAE;QACrE,MAAM,OAAO,GAAG,aAAa,CAAC,OAAO,CAAC;QACtC,iBAAiB;QACjB,aAAa,CAAC,OAAO,EAAE,aAAa,CAAC,KAAK,CAAC,CAAC;QAC5C,qBAAqB;QACrB,MAAM,KAAK,GAAG,aAAa,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC;QAC7C,MAAM,IAAI,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,OAAO,IAAI,IAAI,CAAC,CAAC;QAC1D,MAAM,aAAa,GAAG,KAAK,CAAC,aAAa,CAAC;QAC1C,MAAM,iBAAiB,GAAG,mBAAmB,CAAC,IAAI,EAAE,aAAa,CAAC,CAAC;QACnE,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,oBAAoB,GAAG,iBAAiB,CAAC;YAC/C,KAAK,CAAC,gBAAgB,GAAG,gBAAgB,CAAC;QAC5C,CAAC,CAAC,CAAC;QACH,kBAAkB,CAAC,OAAO,EAAE,KAAK,EAAE,iBAAiB,CAAC,CAAC;IACxD,CAAC,EAAE,aAAa,CAAC,CAAC;AACpB,CAAC"}
1
+ {"version":3,"file":"set-columns.js","sourceRoot":"","sources":["../../../../../src/engine/services/column/methods/set-columns.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAE,MAAM,sCAAsC,CAAC;AACjE,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAC1D,OAAO,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAC;AAEvD,OAAO,EAAE,mBAAmB,EAAE,MAAM,yBAAyB,CAAC;AAE9D,MAAM,UAAU,UAAU,CACxB,aAA4B,EAC5B,QAA8B;IAE9B,aAAa,CAAC,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,OAAO,EAAE,EAAE;QACrE,MAAM,OAAO,GAAG,aAAa,CAAC,OAAO,CAAC;QACtC,iBAAiB;QACjB,aAAa,CAAC,OAAO,EAAE,aAAa,CAAC,KAAK,CAAC,CAAC;QAC5C,qBAAqB;QACrB,MAAM,KAAK,GAAG,aAAa,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC;QAC7C,MAAM,IAAI,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,OAAO,IAAI,IAAI,CAAC,CAAC;QAC1D,MAAM,aAAa,GAAG,KAAK,CAAC,aAAa,CAAC;QAC1C,MAAM,iBAAiB,GAAG,mBAAmB,CAAC,IAAI,EAAE,aAAa,CAAC,CAAC;QACnE,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,oBAAoB,GAAG,iBAAiB,CAAC;YAC/C,KAAK,CAAC,gBAAgB,GAAG,gBAAgB,CAAC;QAC5C,CAAC,CAAC,CAAC;QACH,kBAAkB,CAAC,OAAO,EAAE,KAAK,EAAE,iBAAiB,EAAE,aAAa,CAAC,IAAI,CAAC,CAAC;IAC5E,CAAC,EAAE,aAAa,CAAC,CAAC;AACpB,CAAC"}
@@ -7,7 +7,7 @@ export function setRows(dataService, destroy$) {
7
7
  const state = dataService.store.getState();
8
8
  const resColWidths = state.resolvedColumnWidths;
9
9
  reRenderCells(gridDom, dataService.store);
10
- updateColumnWidths(gridDom, state, resColWidths);
10
+ updateColumnWidths(gridDom, state, resColWidths, dataService.grid);
11
11
  }, "SET-DATA");
12
12
  }
13
13
  //# sourceMappingURL=set-rows.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"set-rows.js","sourceRoot":"","sources":["../../../../../src/engine/services/data/methods/set-rows.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAE,MAAM,sCAAsC,CAAC;AACjE,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAC1D,OAAO,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAC;AAGvD,MAAM,UAAU,OAAO,CACrB,WAAwB,EACxB,QAA8B;IAE9B,WAAW,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,IAAI,EAAE,EAAE;QAC7D,MAAM,OAAO,GAAG,WAAW,CAAC,OAAO,CAAC;QACpC,MAAM,KAAK,GAAG,WAAW,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC;QAC3C,MAAM,YAAY,GAAG,KAAK,CAAC,oBAAoB,CAAC;QAChD,aAAa,CAAC,OAAO,EAAE,WAAW,CAAC,KAAK,CAAC,CAAC;QAC1C,kBAAkB,CAAC,OAAO,EAAE,KAAK,EAAE,YAAY,CAAC,CAAC;IACnD,CAAC,EAAE,UAAU,CAAC,CAAC;AACjB,CAAC"}
1
+ {"version":3,"file":"set-rows.js","sourceRoot":"","sources":["../../../../../src/engine/services/data/methods/set-rows.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAE,MAAM,sCAAsC,CAAC;AACjE,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAC1D,OAAO,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAC;AAGvD,MAAM,UAAU,OAAO,CACrB,WAAwB,EACxB,QAA8B;IAE9B,WAAW,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,IAAI,EAAE,EAAE;QAC7D,MAAM,OAAO,GAAG,WAAW,CAAC,OAAO,CAAC;QACpC,MAAM,KAAK,GAAG,WAAW,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC;QAC3C,MAAM,YAAY,GAAG,KAAK,CAAC,oBAAoB,CAAC;QAChD,aAAa,CAAC,OAAO,EAAE,WAAW,CAAC,KAAK,CAAC,CAAC;QAC1C,kBAAkB,CAAC,OAAO,EAAE,KAAK,EAAE,YAAY,EAAE,WAAW,CAAC,IAAI,CAAC,CAAC;IACrE,CAAC,EAAE,UAAU,CAAC,CAAC;AACjB,CAAC"}
@@ -6,7 +6,7 @@ export function applyColumnWidths(layoutService, destroy$) {
6
6
  .subscribe((resolvedColWidths) => {
7
7
  const gridDom = layoutService.gridDom;
8
8
  const state = layoutService.store.getState();
9
- updateColumnWidths(gridDom, state, resolvedColWidths);
9
+ updateColumnWidths(gridDom, state, resolvedColWidths, layoutService.grid);
10
10
  }, "APPLY-COLUMN-WIDTHS");
11
11
  }
12
12
  //# sourceMappingURL=apply-column-widths.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"apply-column-widths.js","sourceRoot":"","sources":["../../../../../src/engine/services/layout/methods/apply-column-widths.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAE,MAAM,sCAAsC,CAAC;AAEjE,OAAO,EAAE,kBAAkB,EAAE,MAAM,wBAAwB,CAAC;AAE5D,MAAM,UAAU,iBAAiB,CAC/B,aAA4B,EAC5B,QAA8B;IAE9B,aAAa,CAAC,kBAAkB;SAC7B,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC;SACzB,SAAS,CAAC,CAAC,iBAAiB,EAAE,EAAE;QAC/B,MAAM,OAAO,GAAG,aAAa,CAAC,OAAO,CAAC;QACtC,MAAM,KAAK,GAAG,aAAa,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC;QAC7C,kBAAkB,CAAC,OAAO,EAAE,KAAK,EAAE,iBAAiB,CAAC,CAAC;IACxD,CAAC,EAAE,qBAAqB,CAAC,CAAC;AAC9B,CAAC"}
1
+ {"version":3,"file":"apply-column-widths.js","sourceRoot":"","sources":["../../../../../src/engine/services/layout/methods/apply-column-widths.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAE,MAAM,sCAAsC,CAAC;AAEjE,OAAO,EAAE,kBAAkB,EAAE,MAAM,wBAAwB,CAAC;AAE5D,MAAM,UAAU,iBAAiB,CAC/B,aAA4B,EAC5B,QAA8B;IAE9B,aAAa,CAAC,kBAAkB;SAC7B,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC;SACzB,SAAS,CAAC,CAAC,iBAAiB,EAAE,EAAE;QAC/B,MAAM,OAAO,GAAG,aAAa,CAAC,OAAO,CAAC;QACtC,MAAM,KAAK,GAAG,aAAa,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC;QAC7C,kBAAkB,CAAC,OAAO,EAAE,KAAK,EAAE,iBAAiB,EAAE,aAAa,CAAC,IAAI,CAAC,CAAC;IAC5E,CAAC,EAAE,qBAAqB,CAAC,CAAC;AAC9B,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"resize-body.d.ts","sourceRoot":"","sources":["../../../../../src/engine/services/layout/methods/resize-body.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,6CAA6C,CAAC;AAElF,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,WAAW,CAAC;AAE/C,wBAAgB,UAAU,CACxB,aAAa,EAAE,aAAa,EAC5B,QAAQ,EAAE,cAAc,CAAC,IAAI,CAAC,QAQ/B"}
1
+ {"version":3,"file":"resize-body.d.ts","sourceRoot":"","sources":["../../../../../src/engine/services/layout/methods/resize-body.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,6CAA6C,CAAC;AAElF,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,WAAW,CAAC;AAE/C,wBAAgB,UAAU,CACxB,aAAa,EAAE,aAAa,EAC5B,QAAQ,EAAE,cAAc,CAAC,IAAI,CAAC,QAS/B"}
@@ -4,7 +4,8 @@ export function resizeBody(layoutService, destroy$) {
4
4
  layoutService.totalRowHeight$
5
5
  .pipe(takeUntil(destroy$))
6
6
  .subscribe((totalRowHeight) => {
7
- gridDom.body.style.height = `${totalRowHeight}px`;
7
+ gridDom.body.style.height =
8
+ totalRowHeight > 0 ? `${totalRowHeight}px` : "100%";
8
9
  }, "RESIZE-BODY-HEIGHT");
9
10
  }
10
11
  //# sourceMappingURL=resize-body.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"resize-body.js","sourceRoot":"","sources":["../../../../../src/engine/services/layout/methods/resize-body.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAE,MAAM,sCAAsC,CAAC;AAGjE,MAAM,UAAU,UAAU,CACxB,aAA4B,EAC5B,QAA8B;IAE9B,MAAM,OAAO,GAAG,aAAa,CAAC,OAAO,CAAC;IACtC,aAAa,CAAC,eAAe;SAC1B,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC;SACzB,SAAS,CAAC,CAAC,cAAc,EAAE,EAAE;QAC5B,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,GAAG,GAAG,cAAc,IAAI,CAAC;IACpD,CAAC,EAAE,oBAAoB,CAAC,CAAC;AAC7B,CAAC"}
1
+ {"version":3,"file":"resize-body.js","sourceRoot":"","sources":["../../../../../src/engine/services/layout/methods/resize-body.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAE,MAAM,sCAAsC,CAAC;AAGjE,MAAM,UAAU,UAAU,CACxB,aAA4B,EAC5B,QAA8B;IAE9B,MAAM,OAAO,GAAG,aAAa,CAAC,OAAO,CAAC;IACtC,aAAa,CAAC,eAAe;SAC1B,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC;SACzB,SAAS,CAAC,CAAC,cAAc,EAAE,EAAE;QAC5B,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM;YACvB,cAAc,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,cAAc,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC;IACxD,CAAC,EAAE,oBAAoB,CAAC,CAAC;AAC7B,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"set-up-resize-observer.d.ts","sourceRoot":"","sources":["../../../../../src/engine/services/layout/methods/set-up-resize-observer.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,wBAAwB,CAAC;AACtD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAE1D,wBAAgB,mBAAmB,CACjC,cAAc,EAAE,cAAc,EAC9B,OAAO,EAAE,OAAO,EAChB,KAAK,EAAE,aAAa,kBAkBrB"}
1
+ {"version":3,"file":"set-up-resize-observer.d.ts","sourceRoot":"","sources":["../../../../../src/engine/services/layout/methods/set-up-resize-observer.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,wBAAwB,CAAC;AACtD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAE1D,wBAAgB,mBAAmB,CACjC,cAAc,EAAE,cAAc,EAC9B,OAAO,EAAE,OAAO,EAChB,KAAK,EAAE,aAAa,kBAgBrB"}
@@ -6,8 +6,6 @@ export function setUpResizeObserver(resizeObserver, gridDom, store) {
6
6
  const headerHeight = gridDom.headerViewport.getBoundingClientRect().height;
7
7
  const footerHeight = gridDom.footerViewport.getBoundingClientRect().height;
8
8
  store.update((draft) => {
9
- draft.viewportWidth = gridWidth; // at this moment this is the full grid width without a v scroll bar
10
- draft.viewportHeight = gridHeight - headerHeight - footerHeight; // at this moment this is the full grid height without a h scroll bar
11
9
  draft.rawViewportWidth = gridWidth;
12
10
  draft.rawViewportHeight = gridHeight - headerHeight - footerHeight;
13
11
  });
@@ -1 +1 @@
1
- {"version":3,"file":"set-up-resize-observer.js","sourceRoot":"","sources":["../../../../../src/engine/services/layout/methods/set-up-resize-observer.ts"],"names":[],"mappings":"AAGA,MAAM,UAAU,mBAAmB,CACjC,cAA8B,EAC9B,OAAgB,EAChB,KAAoB;IAEpB,OAAO,CAAC,cAAc,GAAG,IAAI,cAAc,CAAC,CAAC,OAAO,EAAE,EAAE;QACtD,KAAK,MAAM,KAAK,IAAI,OAAO,EAAE,CAAC;YAC5B,MAAM,SAAS,GAAG,KAAK,CAAC,WAAW,CAAC,KAAK,CAAC;YAC1C,MAAM,UAAU,GAAG,KAAK,CAAC,WAAW,CAAC,MAAM,CAAC;YAC5C,MAAM,YAAY,GAChB,OAAO,CAAC,cAAc,CAAC,qBAAqB,EAAE,CAAC,MAAM,CAAC;YACxD,MAAM,YAAY,GAChB,OAAO,CAAC,cAAc,CAAC,qBAAqB,EAAE,CAAC,MAAM,CAAC;YACxD,KAAK,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE;gBACrB,KAAK,CAAC,aAAa,GAAG,SAAS,CAAC,CAAC,oEAAoE;gBACrG,KAAK,CAAC,cAAc,GAAG,UAAU,GAAG,YAAY,GAAG,YAAY,CAAC,CAAC,qEAAqE;gBACtI,KAAK,CAAC,gBAAgB,GAAG,SAAS,CAAC;gBACnC,KAAK,CAAC,iBAAiB,GAAG,UAAU,GAAG,YAAY,GAAG,YAAY,CAAC;YACrE,CAAC,CAAC,CAAC;QACL,CAAC;IACH,CAAC,CAAC,CAAC,CAAC;AACN,CAAC"}
1
+ {"version":3,"file":"set-up-resize-observer.js","sourceRoot":"","sources":["../../../../../src/engine/services/layout/methods/set-up-resize-observer.ts"],"names":[],"mappings":"AAGA,MAAM,UAAU,mBAAmB,CACjC,cAA8B,EAC9B,OAAgB,EAChB,KAAoB;IAEpB,OAAO,CAAC,cAAc,GAAG,IAAI,cAAc,CAAC,CAAC,OAAO,EAAE,EAAE;QACtD,KAAK,MAAM,KAAK,IAAI,OAAO,EAAE,CAAC;YAC5B,MAAM,SAAS,GAAG,KAAK,CAAC,WAAW,CAAC,KAAK,CAAC;YAC1C,MAAM,UAAU,GAAG,KAAK,CAAC,WAAW,CAAC,MAAM,CAAC;YAC5C,MAAM,YAAY,GAChB,OAAO,CAAC,cAAc,CAAC,qBAAqB,EAAE,CAAC,MAAM,CAAC;YACxD,MAAM,YAAY,GAChB,OAAO,CAAC,cAAc,CAAC,qBAAqB,EAAE,CAAC,MAAM,CAAC;YACxD,KAAK,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE;gBACrB,KAAK,CAAC,gBAAgB,GAAG,SAAS,CAAC;gBACnC,KAAK,CAAC,iBAAiB,GAAG,UAAU,GAAG,YAAY,GAAG,YAAY,CAAC;YACrE,CAAC,CAAC,CAAC;QACL,CAAC;IACH,CAAC,CAAC,CAAC,CAAC;AACN,CAAC"}
@@ -1,4 +1,5 @@
1
+ import { PolyGrid } from "../../../core/grid";
1
2
  import type { GridDOM } from "../../../core/grid-dom";
2
3
  import type { PolyGridState } from "../../../store/interfaces/grid-state";
3
- export declare function updateColumnWidths(gridDom: GridDOM, state: PolyGridState, resolvedColWidths: number[]): void;
4
+ export declare function updateColumnWidths(gridDom: GridDOM, state: PolyGridState, resolvedColWidths: number[], grid: PolyGrid): void;
4
5
  //# 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,KAAK,EAAE,OAAO,EAAE,MAAM,wBAAwB,CAAC;AACtD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,sCAAsC,CAAC;AAG1E,wBAAgB,kBAAkB,CAChC,OAAO,EAAE,OAAO,EAChB,KAAK,EAAE,aAAa,EACpB,iBAAiB,EAAE,MAAM,EAAE,QAoB5B"}
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,QAsBf"}
@@ -1,5 +1,6 @@
1
+ import { renderNoData } from "../../renderer/parts/no-data/no-data";
1
2
  import { setCellWidth } from "./set-cell-width";
2
- export function updateColumnWidths(gridDom, state, resolvedColWidths) {
3
+ export function updateColumnWidths(gridDom, state, resolvedColWidths, grid) {
3
4
  // set header, footer and body cell widths
4
5
  setCellWidth(gridDom.header, resolvedColWidths, state.showVScrollbar);
5
6
  setCellWidth(gridDom.footer, resolvedColWidths, state.showVScrollbar);
@@ -18,5 +19,8 @@ export function updateColumnWidths(gridDom, state, resolvedColWidths) {
18
19
  // set viewport width
19
20
  const viewportWidth = state.viewportWidth;
20
21
  gridDom.viewport.style.width = `${viewportWidth}px`;
22
+ // if there is no data
23
+ if (state.rows.length === 0)
24
+ renderNoData(gridDom.body, grid);
21
25
  }
22
26
  //# sourceMappingURL=update-column-widths.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"update-column-widths.js","sourceRoot":"","sources":["../../../../../src/engine/services/layout/methods/update-column-widths.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAEhD,MAAM,UAAU,kBAAkB,CAChC,OAAgB,EAChB,KAAoB,EACpB,iBAA2B;IAE3B,0CAA0C;IAC1C,YAAY,CAAC,OAAO,CAAC,MAAM,EAAE,iBAAiB,EAAE,KAAK,CAAC,cAAc,CAAC,CAAC;IACtE,YAAY,CAAC,OAAO,CAAC,MAAM,EAAE,iBAAiB,EAAE,KAAK,CAAC,cAAc,CAAC,CAAC;IACtE,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,iBAAiB,EAAE,KAAK,CAAC,cAAc,CAAC,CAAC;IAC5E,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,aAAa,CAAC;IAC1C,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,KAAK,GAAG,GAAG,aAAa,IAAI,CAAC;AACtD,CAAC"}
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,cAAc,CAAC,CAAC;IACtE,YAAY,CAAC,OAAO,CAAC,MAAM,EAAE,iBAAiB,EAAE,KAAK,CAAC,cAAc,CAAC,CAAC;IACtE,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,iBAAiB,EAAE,KAAK,CAAC,cAAc,CAAC,CAAC;IAC5E,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,aAAa,CAAC;IAC1C,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,KAAK,GAAG,GAAG,aAAa,IAAI,CAAC;IACpD,sBAAsB;IACtB,IAAI,KAAK,CAAC,IAAI,CAAC,MAAM,KAAK,CAAC;QAAE,YAAY,CAAC,OAAO,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;AAChE,CAAC"}
@@ -0,0 +1,6 @@
1
+ import { RendererHandle } from "./renderer-handle";
2
+ import { NoDataMount } from "./template-mounts/no-data-mount";
3
+ export interface RendererAdapter {
4
+ renderNoDataTemplate?(req: NoDataMount): RendererHandle | null;
5
+ }
6
+ //# sourceMappingURL=renderer-adapter.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"renderer-adapter.d.ts","sourceRoot":"","sources":["../../../../../src/engine/services/renderer/interfaces/renderer-adapter.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AACnD,OAAO,EAAE,WAAW,EAAE,MAAM,iCAAiC,CAAC;AAE9D,MAAM,WAAW,eAAe;IAC9B,oBAAoB,CAAC,CAAC,GAAG,EAAE,WAAW,GAAG,cAAc,GAAG,IAAI,CAAC;CAChE"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=renderer-adapter.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"renderer-adapter.js","sourceRoot":"","sources":["../../../../../src/engine/services/renderer/interfaces/renderer-adapter.ts"],"names":[],"mappings":""}
@@ -0,0 +1,5 @@
1
+ export interface RendererHandle {
2
+ update(ctx: unknown): void;
3
+ destroy(): void;
4
+ }
5
+ //# sourceMappingURL=renderer-handle.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"renderer-handle.d.ts","sourceRoot":"","sources":["../../../../../src/engine/services/renderer/interfaces/renderer-handle.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,cAAc;IAC7B,MAAM,CAAC,GAAG,EAAE,OAAO,GAAG,IAAI,CAAC;IAC3B,OAAO,IAAI,IAAI,CAAC;CACjB"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=renderer-handle.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"renderer-handle.js","sourceRoot":"","sources":["../../../../../src/engine/services/renderer/interfaces/renderer-handle.ts"],"names":[],"mappings":""}
@@ -0,0 +1,7 @@
1
+ export interface NoDataMount {
2
+ container: HTMLElement;
3
+ context: {
4
+ reason: "empty" | "filter";
5
+ };
6
+ }
7
+ //# sourceMappingURL=no-data-mount.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"no-data-mount.d.ts","sourceRoot":"","sources":["../../../../../../src/engine/services/renderer/interfaces/template-mounts/no-data-mount.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,WAAW;IAC1B,SAAS,EAAE,WAAW,CAAC;IACvB,OAAO,EAAE;QACP,MAAM,EAAE,OAAO,GAAG,QAAQ,CAAC;KAC5B,CAAC;CACH"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=no-data-mount.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"no-data-mount.js","sourceRoot":"","sources":["../../../../../../src/engine/services/renderer/interfaces/template-mounts/no-data-mount.ts"],"names":[],"mappings":""}
@@ -1,4 +1,5 @@
1
+ import { PolyGrid } from "../../../../core/grid";
1
2
  import type { GridDOM } from "../../../../core/grid-dom";
2
3
  import type { PolyGridStore } from "../../../../store/store";
3
- export declare function renderBody(store: PolyGridStore, gridDom: GridDOM): HTMLDivElement;
4
+ export declare function renderBody(store: PolyGridStore, gridDom: GridDOM, grid: PolyGrid): HTMLDivElement;
4
5
  //# sourceMappingURL=body.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"body.d.ts","sourceRoot":"","sources":["../../../../../../src/engine/services/renderer/parts/body/body.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,2BAA2B,CAAC;AACzD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAC;AAG7D,wBAAgB,UAAU,CACxB,KAAK,EAAE,aAAa,EACpB,OAAO,EAAE,OAAO,GACf,cAAc,CAyBhB"}
1
+ {"version":3,"file":"body.d.ts","sourceRoot":"","sources":["../../../../../../src/engine/services/renderer/parts/body/body.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AACjD,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,2BAA2B,CAAC;AACzD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAC;AAI7D,wBAAgB,UAAU,CACxB,KAAK,EAAE,aAAa,EACpB,OAAO,EAAE,OAAO,EAChB,IAAI,EAAE,QAAQ,GACb,cAAc,CAgChB"}
@@ -1,6 +1,7 @@
1
1
  import { PG_CSS_CLASS } from "../../../../const/pg-css-class";
2
+ import { renderNoData } from "../no-data/no-data";
2
3
  import { renderRows } from "./row";
3
- export function renderBody(store, gridDom) {
4
+ export function renderBody(store, gridDom, grid) {
4
5
  // viewport
5
6
  const bodyViewportEl = document.createElement("div");
6
7
  bodyViewportEl.className = PG_CSS_CLASS.bodyViewport;
@@ -8,17 +9,24 @@ export function renderBody(store, gridDom) {
8
9
  const bodyEl = document.createElement("div");
9
10
  bodyEl.className = PG_CSS_CLASS.body;
10
11
  bodyEl.innerHTML = "";
11
- // render the rows
12
+ // if we have rows
12
13
  const rows = store.getState().rows;
13
- const columns = store.getState().columns;
14
- const rowHeight = store.getState().rowHeight;
15
- const bodyRows = renderRows(rows, columns, rowHeight);
16
- // append the rows to the body
17
- const fragment = document.createDocumentFragment();
18
- for (const row of bodyRows) {
19
- fragment.appendChild(row);
14
+ if (rows.length > 0) {
15
+ // render the rows
16
+ const columns = store.getState().columns;
17
+ const rowHeight = store.getState().rowHeight;
18
+ const bodyRows = renderRows(rows, columns, rowHeight);
19
+ // append the rows to the body
20
+ const fragment = document.createDocumentFragment();
21
+ for (const row of bodyRows) {
22
+ fragment.appendChild(row);
23
+ }
24
+ bodyEl.appendChild(fragment);
25
+ }
26
+ else {
27
+ // render no data template
28
+ renderNoData(bodyEl, grid);
20
29
  }
21
- bodyEl.appendChild(fragment);
22
30
  bodyViewportEl.appendChild(bodyEl);
23
31
  gridDom.body = bodyEl;
24
32
  return bodyViewportEl;
@@ -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;AAG9D,OAAO,EAAE,UAAU,EAAE,MAAM,OAAO,CAAC;AAEnC,MAAM,UAAU,UAAU,CACxB,KAAoB,EACpB,OAAgB;IAEhB,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;IACtB,kBAAkB;IAClB,MAAM,IAAI,GAAG,KAAK,CAAC,QAAQ,EAAE,CAAC,IAAI,CAAC;IACnC,MAAM,OAAO,GAAG,KAAK,CAAC,QAAQ,EAAE,CAAC,OAAO,CAAC;IACzC,MAAM,SAAS,GAAG,KAAK,CAAC,QAAQ,EAAE,CAAC,SAAS,CAAC;IAC7C,MAAM,QAAQ,GAAG,UAAU,CAAC,IAAI,EAAE,OAAO,EAAE,SAAS,CAAC,CAAC;IACtD,8BAA8B;IAC9B,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,MAAM,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC;IAE7B,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;IACnC,IAAI,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACpB,kBAAkB;QAClB,MAAM,OAAO,GAAG,KAAK,CAAC,QAAQ,EAAE,CAAC,OAAO,CAAC;QACzC,MAAM,SAAS,GAAG,KAAK,CAAC,QAAQ,EAAE,CAAC,SAAS,CAAC;QAC7C,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,4 +1,5 @@
1
1
  import type { PolyGridStore } from "../../../../store/store";
2
2
  import type { GridDOM } from "../../../../core/grid-dom";
3
- export declare function renderGrid(store: PolyGridStore, gridDom: GridDOM): HTMLDivElement;
3
+ import { PolyGrid } from "../../../../core/grid";
4
+ export declare function renderGrid(store: PolyGridStore, gridDom: GridDOM, grid: PolyGrid): HTMLDivElement;
4
5
  //# sourceMappingURL=grid.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"grid.d.ts","sourceRoot":"","sources":["../../../../../../src/engine/services/renderer/parts/grid/grid.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAC;AAE7D,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,2BAA2B,CAAC;AAEzD,wBAAgB,UAAU,CAAC,KAAK,EAAE,aAAa,EAAE,OAAO,EAAE,OAAO,kBAchE"}
1
+ {"version":3,"file":"grid.d.ts","sourceRoot":"","sources":["../../../../../../src/engine/services/renderer/parts/grid/grid.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAC;AAE7D,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,2BAA2B,CAAC;AACzD,OAAO,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AAEjD,wBAAgB,UAAU,CACxB,KAAK,EAAE,aAAa,EACpB,OAAO,EAAE,OAAO,EAChB,IAAI,EAAE,QAAQ,kBAef"}
@@ -1,15 +1,15 @@
1
1
  import { renderViewport } from "../viewport/viewport";
2
2
  import { renderVScrollbar } from "../scrollbars/v-scrollbar";
3
3
  import { PG_CSS_CLASS } from "../../../../const/pg-css-class";
4
- export function renderGrid(store, gridDom) {
5
- const grid = document.createElement("div");
6
- grid.className = PG_CSS_CLASS.grid;
7
- const viewport = renderViewport(store, gridDom);
4
+ export function renderGrid(store, gridDom, grid) {
5
+ const gridEl = document.createElement("div");
6
+ gridEl.className = PG_CSS_CLASS.grid;
7
+ const viewport = renderViewport(store, gridDom, grid);
8
8
  const vScrollbar = renderVScrollbar(gridDom);
9
- grid.appendChild(viewport);
10
- grid.appendChild(vScrollbar);
9
+ gridEl.appendChild(viewport);
10
+ gridEl.appendChild(vScrollbar);
11
11
  gridDom.viewport = viewport;
12
12
  gridDom.vScrollbar = vScrollbar;
13
- return grid;
13
+ return gridEl;
14
14
  }
15
15
  //# sourceMappingURL=grid.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"grid.js","sourceRoot":"","sources":["../../../../../../src/engine/services/renderer/parts/grid/grid.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AACtD,OAAO,EAAE,gBAAgB,EAAE,MAAM,2BAA2B,CAAC;AAE7D,OAAO,EAAE,YAAY,EAAE,MAAM,gCAAgC,CAAC;AAG9D,MAAM,UAAU,UAAU,CAAC,KAAoB,EAAE,OAAgB;IAC/D,MAAM,IAAI,GAAG,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;IAC3C,IAAI,CAAC,SAAS,GAAG,YAAY,CAAC,IAAI,CAAC;IAEnC,MAAM,QAAQ,GAAG,cAAc,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;IAChD,MAAM,UAAU,GAAG,gBAAgB,CAAC,OAAO,CAAC,CAAC;IAE7C,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC;IAC3B,IAAI,CAAC,WAAW,CAAC,UAAU,CAAC,CAAC;IAE7B,OAAO,CAAC,QAAQ,GAAG,QAAQ,CAAC;IAC5B,OAAO,CAAC,UAAU,GAAG,UAAU,CAAC;IAEhC,OAAO,IAAI,CAAC;AACd,CAAC"}
1
+ {"version":3,"file":"grid.js","sourceRoot":"","sources":["../../../../../../src/engine/services/renderer/parts/grid/grid.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AACtD,OAAO,EAAE,gBAAgB,EAAE,MAAM,2BAA2B,CAAC;AAE7D,OAAO,EAAE,YAAY,EAAE,MAAM,gCAAgC,CAAC;AAI9D,MAAM,UAAU,UAAU,CACxB,KAAoB,EACpB,OAAgB,EAChB,IAAc;IAEd,MAAM,MAAM,GAAG,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;IAC7C,MAAM,CAAC,SAAS,GAAG,YAAY,CAAC,IAAI,CAAC;IAErC,MAAM,QAAQ,GAAG,cAAc,CAAC,KAAK,EAAE,OAAO,EAAE,IAAI,CAAC,CAAC;IACtD,MAAM,UAAU,GAAG,gBAAgB,CAAC,OAAO,CAAC,CAAC;IAE7C,MAAM,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC;IAC7B,MAAM,CAAC,WAAW,CAAC,UAAU,CAAC,CAAC;IAE/B,OAAO,CAAC,QAAQ,GAAG,QAAQ,CAAC;IAC5B,OAAO,CAAC,UAAU,GAAG,UAAU,CAAC;IAEhC,OAAO,MAAM,CAAC;AAChB,CAAC"}
@@ -0,0 +1,3 @@
1
+ import { PolyGrid } from "../../../../core/grid";
2
+ export declare function renderNoData(body: HTMLElement, grid: PolyGrid): void;
3
+ //# sourceMappingURL=no-data.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"no-data.d.ts","sourceRoot":"","sources":["../../../../../../src/engine/services/renderer/parts/no-data/no-data.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AAEjD,wBAAgB,YAAY,CAAC,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,QAAQ,QA2B7D"}
@@ -0,0 +1,38 @@
1
+ import { PG_CSS_CLASS } from "../../../../const/pg-css-class";
2
+ export function renderNoData(body, grid) {
3
+ const runtime = grid._runtime;
4
+ const state = grid._store.getState();
5
+ const noData = document.createElement("div");
6
+ noData.className = PG_CSS_CLASS.noData;
7
+ body.appendChild(noData);
8
+ runtime.noDataContainer = noData;
9
+ // destroy previous dynamic template if any
10
+ runtime.noDataHandle?.destroy();
11
+ runtime.noDataHandle = null;
12
+ // try dynamic template first
13
+ const handle = state.rendererAdapter?.renderNoDataTemplate?.({
14
+ container: noData,
15
+ context: { reason: "empty" },
16
+ });
17
+ if (!handle) {
18
+ // fallback to static built-in template
19
+ renderDefaultNoData(noData);
20
+ return;
21
+ }
22
+ // store dynamic handle
23
+ runtime.noDataHandle = handle;
24
+ }
25
+ function renderDefaultNoData(container) {
26
+ const icon = document.createElement("div");
27
+ icon.className = `${PG_CSS_CLASS.noData}__icon`;
28
+ const title = document.createElement("div");
29
+ title.className = `${PG_CSS_CLASS.noData}__title`;
30
+ title.textContent = "No data available";
31
+ const subtitle = document.createElement("div");
32
+ subtitle.className = `${PG_CSS_CLASS.noData}__subtitle`;
33
+ subtitle.textContent = "Try adjusting your filters or loading data.";
34
+ container.appendChild(icon);
35
+ container.appendChild(title);
36
+ container.appendChild(subtitle);
37
+ }
38
+ //# sourceMappingURL=no-data.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"no-data.js","sourceRoot":"","sources":["../../../../../../src/engine/services/renderer/parts/no-data/no-data.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,gCAAgC,CAAC;AAG9D,MAAM,UAAU,YAAY,CAAC,IAAiB,EAAE,IAAc;IAC5D,MAAM,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAC;IAC9B,MAAM,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC;IACrC,MAAM,MAAM,GAAG,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;IAC7C,MAAM,CAAC,SAAS,GAAG,YAAY,CAAC,MAAM,CAAC;IAEvC,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;IACzB,OAAO,CAAC,eAAe,GAAG,MAAM,CAAC;IAEjC,2CAA2C;IAC3C,OAAO,CAAC,YAAY,EAAE,OAAO,EAAE,CAAC;IAChC,OAAO,CAAC,YAAY,GAAG,IAAI,CAAC;IAE5B,6BAA6B;IAC7B,MAAM,MAAM,GAAG,KAAK,CAAC,eAAe,EAAE,oBAAoB,EAAE,CAAC;QAC3D,SAAS,EAAE,MAAM;QACjB,OAAO,EAAE,EAAE,MAAM,EAAE,OAAO,EAAE;KAC7B,CAAC,CAAC;IAEH,IAAI,CAAC,MAAM,EAAE,CAAC;QACZ,uCAAuC;QACvC,mBAAmB,CAAC,MAAM,CAAC,CAAC;QAC5B,OAAO;IACT,CAAC;IAED,uBAAuB;IACvB,OAAO,CAAC,YAAY,GAAG,MAAM,CAAC;AAChC,CAAC;AAED,SAAS,mBAAmB,CAAC,SAAyB;IACpD,MAAM,IAAI,GAAG,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;IAC3C,IAAI,CAAC,SAAS,GAAG,GAAG,YAAY,CAAC,MAAM,QAAQ,CAAC;IAEhD,MAAM,KAAK,GAAG,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;IAC5C,KAAK,CAAC,SAAS,GAAG,GAAG,YAAY,CAAC,MAAM,SAAS,CAAC;IAClD,KAAK,CAAC,WAAW,GAAG,mBAAmB,CAAC;IAExC,MAAM,QAAQ,GAAG,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;IAC/C,QAAQ,CAAC,SAAS,GAAG,GAAG,YAAY,CAAC,MAAM,YAAY,CAAC;IACxD,QAAQ,CAAC,WAAW,GAAG,6CAA6C,CAAC;IAErE,SAAS,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;IAC5B,SAAS,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;IAC7B,SAAS,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC;AAClC,CAAC"}
@@ -1,4 +1,5 @@
1
+ import { PolyGrid } from "../../../../core/grid";
1
2
  import type { GridDOM } from "../../../../core/grid-dom";
2
3
  import type { PolyGridStore } from "../../../../store/store";
3
- export declare function renderRoot(store: PolyGridStore, host: HTMLElement, gridDom: GridDOM): void;
4
+ export declare function renderRoot(store: PolyGridStore, host: HTMLElement, gridDom: GridDOM, grid: PolyGrid): void;
4
5
  //# sourceMappingURL=root.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"root.d.ts","sourceRoot":"","sources":["../../../../../../src/engine/services/renderer/parts/root/root.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,2BAA2B,CAAC;AACzD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAC;AAG7D,wBAAgB,UAAU,CACxB,KAAK,EAAE,aAAa,EACpB,IAAI,EAAE,WAAW,EACjB,OAAO,EAAE,OAAO,QAajB"}
1
+ {"version":3,"file":"root.d.ts","sourceRoot":"","sources":["../../../../../../src/engine/services/renderer/parts/root/root.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AACjD,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,2BAA2B,CAAC;AACzD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAC;AAG7D,wBAAgB,UAAU,CACxB,KAAK,EAAE,aAAa,EACpB,IAAI,EAAE,WAAW,EACjB,OAAO,EAAE,OAAO,EAChB,IAAI,EAAE,QAAQ,QAaf"}
@@ -1,13 +1,13 @@
1
1
  import { PG_CSS_CLASS } from "../../../../const/pg-css-class";
2
2
  import { renderGrid } from "../grid/grid";
3
- export function renderRoot(store, host, gridDom) {
3
+ export function renderRoot(store, host, gridDom, grid) {
4
4
  const root = document.createElement("div");
5
5
  root.className = PG_CSS_CLASS.root;
6
6
  root.id = store.getState().id;
7
- const grid = renderGrid(store, gridDom);
8
- root.appendChild(grid);
7
+ const gridEl = renderGrid(store, gridDom, grid);
8
+ root.appendChild(gridEl);
9
9
  host.appendChild(root);
10
10
  gridDom.root = root;
11
- gridDom.grid = grid;
11
+ gridDom.grid = gridEl;
12
12
  }
13
13
  //# sourceMappingURL=root.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"root.js","sourceRoot":"","sources":["../../../../../../src/engine/services/renderer/parts/root/root.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,gCAAgC,CAAC;AAG9D,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAE1C,MAAM,UAAU,UAAU,CACxB,KAAoB,EACpB,IAAiB,EACjB,OAAgB;IAEhB,MAAM,IAAI,GAAG,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;IAC3C,IAAI,CAAC,SAAS,GAAG,YAAY,CAAC,IAAI,CAAC;IACnC,IAAI,CAAC,EAAE,GAAG,KAAK,CAAC,QAAQ,EAAE,CAAC,EAAE,CAAC;IAE9B,MAAM,IAAI,GAAG,UAAU,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;IAExC,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;IACvB,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;IAEvB,OAAO,CAAC,IAAI,GAAG,IAAI,CAAC;IACpB,OAAO,CAAC,IAAI,GAAG,IAAI,CAAC;AACtB,CAAC"}
1
+ {"version":3,"file":"root.js","sourceRoot":"","sources":["../../../../../../src/engine/services/renderer/parts/root/root.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,gCAAgC,CAAC;AAI9D,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAE1C,MAAM,UAAU,UAAU,CACxB,KAAoB,EACpB,IAAiB,EACjB,OAAgB,EAChB,IAAc;IAEd,MAAM,IAAI,GAAG,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;IAC3C,IAAI,CAAC,SAAS,GAAG,YAAY,CAAC,IAAI,CAAC;IACnC,IAAI,CAAC,EAAE,GAAG,KAAK,CAAC,QAAQ,EAAE,CAAC,EAAE,CAAC;IAE9B,MAAM,MAAM,GAAG,UAAU,CAAC,KAAK,EAAE,OAAO,EAAE,IAAI,CAAC,CAAC;IAEhD,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;IACzB,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;IAEvB,OAAO,CAAC,IAAI,GAAG,IAAI,CAAC;IACpB,OAAO,CAAC,IAAI,GAAG,MAAM,CAAC;AACxB,CAAC"}
@@ -1,4 +1,5 @@
1
+ import { PolyGrid } from "../../../../core/grid";
1
2
  import type { GridDOM } from "../../../../core/grid-dom";
2
3
  import type { PolyGridStore } from "../../../../store/store";
3
- export declare function renderViewport(store: PolyGridStore, gridDom: GridDOM): HTMLDivElement;
4
+ export declare function renderViewport(store: PolyGridStore, gridDom: GridDOM, grid: PolyGrid): HTMLDivElement;
4
5
  //# sourceMappingURL=viewport.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"viewport.d.ts","sourceRoot":"","sources":["../../../../../../src/engine/services/renderer/parts/viewport/viewport.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,2BAA2B,CAAC;AACzD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAC;AAM7D,wBAAgB,cAAc,CAC5B,KAAK,EAAE,aAAa,EACpB,OAAO,EAAE,OAAO,GACf,cAAc,CAoBhB"}
1
+ {"version":3,"file":"viewport.d.ts","sourceRoot":"","sources":["../../../../../../src/engine/services/renderer/parts/viewport/viewport.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AACjD,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,2BAA2B,CAAC;AACzD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAC;AAM7D,wBAAgB,cAAc,CAC5B,KAAK,EAAE,aAAa,EACpB,OAAO,EAAE,OAAO,EAChB,IAAI,EAAE,QAAQ,GACb,cAAc,CAoBhB"}
@@ -3,11 +3,11 @@ import { renderBody } from "../body/body";
3
3
  import { renderFooter } from "../footer/footer";
4
4
  import { renderHeader } from "../header/header";
5
5
  import { renderHScrollbar } from "../scrollbars/h-scrollbar";
6
- export function renderViewport(store, gridDom) {
6
+ export function renderViewport(store, gridDom, grid) {
7
7
  const viewport = document.createElement("div");
8
8
  viewport.className = PG_CSS_CLASS.viewport;
9
9
  const headerVp = renderHeader(store, gridDom);
10
- const bodyVp = renderBody(store, gridDom);
10
+ const bodyVp = renderBody(store, gridDom, grid);
11
11
  const footerVp = renderFooter(store, gridDom);
12
12
  const hScrollbar = renderHScrollbar(gridDom);
13
13
  viewport.appendChild(headerVp);
@@ -1 +1 @@
1
- {"version":3,"file":"viewport.js","sourceRoot":"","sources":["../../../../../../src/engine/services/renderer/parts/viewport/viewport.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,gCAAgC,CAAC;AAG9D,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAC1C,OAAO,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAChD,OAAO,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAChD,OAAO,EAAE,gBAAgB,EAAE,MAAM,2BAA2B,CAAC;AAE7D,MAAM,UAAU,cAAc,CAC5B,KAAoB,EACpB,OAAgB;IAEhB,MAAM,QAAQ,GAAG,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;IAC/C,QAAQ,CAAC,SAAS,GAAG,YAAY,CAAC,QAAQ,CAAC;IAE3C,MAAM,QAAQ,GAAG,YAAY,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;IAC9C,MAAM,MAAM,GAAG,UAAU,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;IAC1C,MAAM,QAAQ,GAAG,YAAY,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;IAC9C,MAAM,UAAU,GAAG,gBAAgB,CAAC,OAAO,CAAC,CAAC;IAE7C,QAAQ,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC;IAC/B,QAAQ,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;IAC7B,QAAQ,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC;IAC/B,QAAQ,CAAC,WAAW,CAAC,UAAU,CAAC,CAAC;IAEjC,OAAO,CAAC,cAAc,GAAG,QAAQ,CAAC;IAClC,OAAO,CAAC,YAAY,GAAG,MAAM,CAAC;IAC9B,OAAO,CAAC,cAAc,GAAG,QAAQ,CAAC;IAClC,OAAO,CAAC,UAAU,GAAG,UAAU,CAAC;IAEhC,OAAO,QAAQ,CAAC;AAClB,CAAC"}
1
+ {"version":3,"file":"viewport.js","sourceRoot":"","sources":["../../../../../../src/engine/services/renderer/parts/viewport/viewport.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,gCAAgC,CAAC;AAI9D,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAC1C,OAAO,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAChD,OAAO,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAChD,OAAO,EAAE,gBAAgB,EAAE,MAAM,2BAA2B,CAAC;AAE7D,MAAM,UAAU,cAAc,CAC5B,KAAoB,EACpB,OAAgB,EAChB,IAAc;IAEd,MAAM,QAAQ,GAAG,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;IAC/C,QAAQ,CAAC,SAAS,GAAG,YAAY,CAAC,QAAQ,CAAC;IAE3C,MAAM,QAAQ,GAAG,YAAY,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;IAC9C,MAAM,MAAM,GAAG,UAAU,CAAC,KAAK,EAAE,OAAO,EAAE,IAAI,CAAC,CAAC;IAChD,MAAM,QAAQ,GAAG,YAAY,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;IAC9C,MAAM,UAAU,GAAG,gBAAgB,CAAC,OAAO,CAAC,CAAC;IAE7C,QAAQ,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC;IAC/B,QAAQ,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;IAC7B,QAAQ,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC;IAC/B,QAAQ,CAAC,WAAW,CAAC,UAAU,CAAC,CAAC;IAEjC,OAAO,CAAC,cAAc,GAAG,QAAQ,CAAC;IAClC,OAAO,CAAC,YAAY,GAAG,MAAM,CAAC;IAC9B,OAAO,CAAC,cAAc,GAAG,QAAQ,CAAC;IAClC,OAAO,CAAC,UAAU,GAAG,UAAU,CAAC;IAEhC,OAAO,QAAQ,CAAC;AAClB,CAAC"}
@@ -1,5 +1,6 @@
1
1
  import type { PolyGridColumn } from "../../services/column/interfaces/column";
2
2
  import type { ColumnWidthState } from "../../services/column/types/column-width-state";
3
+ import { RendererAdapter } from "../../services/renderer/interfaces/renderer-adapter";
3
4
  import type { PolyGridRow } from "../../services/row/interfaces/row";
4
5
  export interface PolyGridState {
5
6
  id: string;
@@ -16,5 +17,6 @@ export interface PolyGridState {
16
17
  rawViewportHeight: number;
17
18
  showHScrollbar: boolean;
18
19
  showVScrollbar: boolean;
20
+ rendererAdapter?: RendererAdapter;
19
21
  }
20
22
  //# sourceMappingURL=grid-state.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"grid-state.d.ts","sourceRoot":"","sources":["../../../../src/engine/store/interfaces/grid-state.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,yCAAyC,CAAC;AAC9E,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,gDAAgD,CAAC;AACvF,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,mCAAmC,CAAC;AAErE,MAAM,WAAW,aAAa;IAC5B,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;CACzB"}
1
+ {"version":3,"file":"grid-state.d.ts","sourceRoot":"","sources":["../../../../src/engine/store/interfaces/grid-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,eAAe,EAAE,MAAM,qDAAqD,CAAC;AACtF,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,mCAAmC,CAAC;AAErE,MAAM,WAAW,aAAa;IAC5B,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;CACnC"}
package/dist/polygrid.css CHANGED
@@ -174,3 +174,59 @@
174
174
  .pg-row.last-row {
175
175
  border-bottom: 1px solid #d0d0d0;
176
176
  }
177
+
178
+ .pg-no-data {
179
+ display: flex;
180
+ flex-direction: column;
181
+ align-items: center;
182
+ justify-content: center;
183
+
184
+ height: 100%;
185
+ width: 100%;
186
+
187
+ color: #666;
188
+ font-family: sans-serif;
189
+ text-align: center;
190
+
191
+ opacity: 0.8;
192
+ pointer-events: none; /* ensures no interference with scrolling */
193
+ }
194
+
195
+ .pg-no-data__icon {
196
+ width: 48px;
197
+ height: 48px;
198
+ margin-bottom: 12px;
199
+
200
+ background: #ddd;
201
+ border-radius: 50%;
202
+
203
+ display: flex;
204
+ align-items: center;
205
+ justify-content: center;
206
+
207
+ /* simple placeholder icon */
208
+ position: relative;
209
+ }
210
+
211
+ .pg-no-data__icon::before {
212
+ content: "";
213
+ width: 24px;
214
+ height: 24px;
215
+ border: 3px solid #bbb;
216
+ border-radius: 50%;
217
+ border-top-color: transparent;
218
+ border-right-color: transparent;
219
+ transform: rotate(45deg);
220
+ display: block;
221
+ }
222
+
223
+ .pg-no-data__title {
224
+ font-size: 16px;
225
+ font-weight: 600;
226
+ margin-bottom: 4px;
227
+ }
228
+
229
+ .pg-no-data__subtitle {
230
+ font-size: 13px;
231
+ color: #999;
232
+ }
package/package.json CHANGED
@@ -1,42 +1,32 @@
1
- {
2
- "name": "@polygrid/core",
3
- "version": "1.0.3",
4
- "description": "",
5
- "type": "module",
6
- "main": "./dist/index.js",
7
- "types": "./dist/index.d.ts",
8
- "exports": {
9
- ".": {
10
- "import": "./dist/index.js",
11
- "types": "./dist/index.d.ts"
12
- },
13
- "./*": {
14
- "import": "./dist/*.js",
15
- "types": "./dist/*.d.ts"
16
- }
17
- },
18
- "files": [
19
- "dist/**/*"
20
- ],
21
- "scripts": {
22
- "dev": "vite",
23
- "clean": "rimraf dist angular/dist",
24
- "build": "npm run clean && tsc --outDir dist && npm run build:css",
25
- "build:angular": "npm run build --workspace=@polygrid/angular",
26
- "build:all": "npm run clean && npm run build && npm run build:angular",
27
- "build:css": "postcss src/styles/index.css -o dist/polygrid.css",
28
- "preview": "vite preview"
29
- },
30
- "keywords": [],
31
- "author": "",
32
- "license": "ISC",
33
- "devDependencies": {
34
- "@types/node": "^25.0.3",
35
- "postcss": "^8.5.6",
36
- "postcss-cli": "^11.0.1",
37
- "postcss-import": "^16.1.1",
38
- "rimraf": "^6.1.2",
39
- "typescript": "^5.9.3",
40
- "vite": "^7.3.0"
41
- }
42
- }
1
+ {
2
+ "name": "@polygrid/core",
3
+ "version": "1.0.401",
4
+ "description": "",
5
+ "type": "module",
6
+ "main": "./dist/index.js",
7
+ "types": "./dist/index.d.ts",
8
+ "exports": {
9
+ ".": {
10
+ "import": "./dist/index.js",
11
+ "types": "./dist/index.d.ts"
12
+ },
13
+ "./*": {
14
+ "import": "./dist/*.js",
15
+ "types": "./dist/*.d.ts"
16
+ }
17
+ },
18
+ "files": [
19
+ "dist/**/*"
20
+ ],
21
+ "scripts": {
22
+ "clean": "rimraf dist angular/dist",
23
+ "build": "npm run clean && tsc --outDir dist && npm run build:css",
24
+ "build:angular": "npm run build --workspace=@polygrid/angular",
25
+ "build:all": "npm run clean && npm run build && npm run build:angular",
26
+ "build:css": "postcss src/styles/index.css -o dist/polygrid.css"
27
+ },
28
+ "keywords": [],
29
+ "author": "",
30
+ "license": "ISC",
31
+ "devDependencies": {}
32
+ }