@polygrid/core 1.0.478 → 1.0.479

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.
@@ -1 +1 @@
1
- {"version":3,"file":"set-external-loading.d.ts","sourceRoot":"","sources":["../../src/api/set-external-loading.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AAEpD,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,OAAO,QAElE"}
1
+ {"version":3,"file":"set-external-loading.d.ts","sourceRoot":"","sources":["../../src/api/set-external-loading.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AAEpD,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,OAAO,QAIlE"}
@@ -1,4 +1,6 @@
1
1
  export function setExternalLoading(grid, visible) {
2
- grid._store.emitEvent("setLoading", { visible });
2
+ grid._store.update((draft) => {
3
+ draft.view.externalLoading = visible;
4
+ });
3
5
  }
4
6
  //# sourceMappingURL=set-external-loading.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"set-external-loading.js","sourceRoot":"","sources":["../../src/api/set-external-loading.ts"],"names":[],"mappings":"AAEA,MAAM,UAAU,kBAAkB,CAAC,IAAc,EAAE,OAAgB;IACjE,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,YAAY,EAAE,EAAE,OAAO,EAAE,CAAC,CAAC;AACnD,CAAC"}
1
+ {"version":3,"file":"set-external-loading.js","sourceRoot":"","sources":["../../src/api/set-external-loading.ts"],"names":[],"mappings":"AAEA,MAAM,UAAU,kBAAkB,CAAC,IAAc,EAAE,OAAgB;IACjE,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE;QAC3B,KAAK,CAAC,IAAI,CAAC,eAAe,GAAG,OAAO,CAAC;IACvC,CAAC,CAAC,CAAC;AACL,CAAC"}
@@ -7,8 +7,5 @@ export interface GridEventMap {
7
7
  rowFilterCleared: {
8
8
  filter: Filter;
9
9
  };
10
- setLoading: {
11
- visible: boolean;
12
- };
13
10
  }
14
11
  //# sourceMappingURL=grid-event-map.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"grid-event-map.d.ts","sourceRoot":"","sources":["../../../../src/engine/core/interfaces/grid-event-map.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,yCAAyC,CAAC;AAEjE,MAAM,WAAW,YAAY;IAC3B,mBAAmB,EAAE,EAAE,CAAC;IACxB,gBAAgB,EAAE;QAAE,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC;IACrC,gBAAgB,EAAE;QAAE,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC;IACrC,UAAU,EAAE;QAAE,OAAO,EAAE,OAAO,CAAA;KAAE,CAAC;CAClC"}
1
+ {"version":3,"file":"grid-event-map.d.ts","sourceRoot":"","sources":["../../../../src/engine/core/interfaces/grid-event-map.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,yCAAyC,CAAC;AAEjE,MAAM,WAAW,YAAY;IAC3B,mBAAmB,EAAE,EAAE,CAAC;IACxB,gBAAgB,EAAE;QAAE,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC;IACrC,gBAAgB,EAAE;QAAE,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC;CACtC"}
@@ -7,6 +7,9 @@ export declare class LoadingService {
7
7
  destroy$: ObservableLike<void>;
8
8
  gridDom: GridDOM;
9
9
  grid: PolyGrid;
10
+ externalLoading$: ObservableLike<boolean>;
11
+ internalLoading$: ObservableLike<boolean>;
12
+ loading$: ObservableLike<boolean>;
10
13
  constructor(grid: PolyGrid);
11
14
  initApiSubscriptions(): void;
12
15
  }
@@ -1 +1 @@
1
- {"version":3,"file":"loading.d.ts","sourceRoot":"","sources":["../../../../src/engine/services/loading/loading.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AAChD,OAAO,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAC;AAE9C,OAAO,EAAE,cAAc,EAAE,MAAM,0CAA0C,CAAC;AAG1E,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAIvD,qBAAa,cAAc;IACzB,KAAK,EAAE,aAAa,CAAC;IACrB,QAAQ,EAAE,cAAc,CAAC,IAAI,CAAC,CAAC;IAC/B,OAAO,EAAE,OAAO,CAAC;IACjB,IAAI,EAAE,QAAQ,CAAC;gBAEH,IAAI,EAAE,QAAQ;IAwB1B,oBAAoB;CACrB"}
1
+ {"version":3,"file":"loading.d.ts","sourceRoot":"","sources":["../../../../src/engine/services/loading/loading.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AAChD,OAAO,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAC;AAE9C,OAAO,EAAE,cAAc,EAAE,MAAM,0CAA0C,CAAC;AAG1E,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAGvD,qBAAa,cAAc;IACzB,KAAK,EAAE,aAAa,CAAC;IACrB,QAAQ,EAAE,cAAc,CAAC,IAAI,CAAC,CAAC;IAC/B,OAAO,EAAE,OAAO,CAAC;IACjB,IAAI,EAAE,QAAQ,CAAC;IAEf,gBAAgB,EAAE,cAAc,CAAC,OAAO,CAAC,CAAC;IAC1C,gBAAgB,EAAE,cAAc,CAAC,OAAO,CAAC,CAAC;IAC1C,QAAQ,EAAG,cAAc,CAAC,OAAO,CAAC,CAAC;gBAEvB,IAAI,EAAE,QAAQ;IAgB1B,oBAAoB;CAYrB"}
@@ -1,28 +1,23 @@
1
- import { recomputeVirtualRows } from "../row/methods/recompute-virtual-rows";
1
+ import { distinctUntilChanged } from "../../rx-lite/operators/distinct-until-changed";
2
+ import { map } from "../../rx-lite/operators/map";
3
+ import * as methods from "./methods/index";
2
4
  export class LoadingService {
3
5
  constructor(grid) {
4
6
  this.store = grid._store;
5
7
  this.destroy$ = grid._destroy$;
6
8
  this.gridDom = grid._gridDom;
7
9
  this.grid = grid;
8
- this.store.on("setLoading", (payload) => {
9
- grid._store.update((draft) => {
10
- draft.view.externalLoading = payload.visible;
11
- if (payload.visible) {
12
- draft.view.rows = [];
13
- draft.view.viewRows = [];
14
- draft.ui.virtualRows.totalRowCount = 0;
15
- recomputeVirtualRows(draft.ui.virtualRows);
16
- }
17
- else {
18
- draft.ui.virtualRows = {
19
- ...draft.ui.virtualRows,
20
- };
21
- }
22
- });
23
- console.log("TOGGLE LOADING");
24
- });
10
+ this.externalLoading$ = this.store.selectKeyed("view.externalLoading", (s) => s.view.externalLoading);
11
+ this.internalLoading$ = this.store.selectKeyed("view.internalLoading", (s) => s.view.internalLoading);
12
+ }
13
+ initApiSubscriptions() {
14
+ this.loading$ = this.store
15
+ .merge(this.externalLoading$, this.internalLoading$)
16
+ .pipe(map(() => {
17
+ const s = this.store.getState();
18
+ return s.view.externalLoading || s.view.internalLoading;
19
+ }), distinctUntilChanged());
20
+ methods.toggleLoading(this, this.destroy$);
25
21
  }
26
- initApiSubscriptions() { }
27
22
  }
28
23
  //# sourceMappingURL=loading.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"loading.js","sourceRoot":"","sources":["../../../../src/engine/services/loading/loading.ts"],"names":[],"mappings":"AAOA,OAAO,EAAE,oBAAoB,EAAE,MAAM,uCAAuC,CAAC;AAG7E,MAAM,OAAO,cAAc;IAMzB,YAAY,IAAc;QACxB,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC;QACzB,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,SAAS,CAAC;QAC/B,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAC;QAC7B,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QAEjB,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,YAAY,EAAE,CAAC,OAAO,EAAE,EAAE;YACtC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE;gBAC3B,KAAK,CAAC,IAAI,CAAC,eAAe,GAAG,OAAO,CAAC,OAAO,CAAC;gBAC7C,IAAI,OAAO,CAAC,OAAO,EAAE,CAAC;oBACpB,KAAK,CAAC,IAAI,CAAC,IAAI,GAAG,EAAE,CAAC;oBACrB,KAAK,CAAC,IAAI,CAAC,QAAQ,GAAG,EAAE,CAAC;oBACzB,KAAK,CAAC,EAAE,CAAC,WAAW,CAAC,aAAa,GAAG,CAAC,CAAC;oBACvC,oBAAoB,CAAC,KAAK,CAAC,EAAE,CAAC,WAAW,CAAC,CAAC;gBAC7C,CAAC;qBAAM,CAAC;oBACN,KAAK,CAAC,EAAE,CAAC,WAAW,GAAG;wBACrB,GAAG,KAAK,CAAC,EAAE,CAAC,WAAW;qBACxB,CAAC;gBACJ,CAAC;YACH,CAAC,CAAC,CAAC;YACH,OAAO,CAAC,GAAG,CAAC,gBAAgB,CAAC,CAAC;QAChC,CAAC,CAAC,CAAC;IACL,CAAC;IAED,oBAAoB,KAAI,CAAC;CAC1B"}
1
+ {"version":3,"file":"loading.js","sourceRoot":"","sources":["../../../../src/engine/services/loading/loading.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,oBAAoB,EAAE,MAAM,gDAAgD,CAAC;AACtF,OAAO,EAAE,GAAG,EAAE,MAAM,6BAA6B,CAAC;AAElD,OAAO,KAAK,OAAO,MAAM,iBAAiB,CAAC;AAE3C,MAAM,OAAO,cAAc;IAUzB,YAAY,IAAc;QACxB,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC;QACzB,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,SAAS,CAAC;QAC/B,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAC;QAC7B,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QAEjB,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC,KAAK,CAAC,WAAW,CAC5C,sBAAsB,EACtB,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,eAAe,CAC9B,CAAC;QACF,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC,KAAK,CAAC,WAAW,CAC5C,sBAAsB,EACtB,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,eAAe,CAC9B,CAAC;IACJ,CAAC;IAED,oBAAoB;QAClB,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,KAAK;aACvB,KAAK,CAAC,IAAI,CAAC,gBAAgB,EAAE,IAAI,CAAC,gBAAgB,CAAC;aACnD,IAAI,CACH,GAAG,CAAC,GAAG,EAAE;YACP,MAAM,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC;YAChC,OAAO,CAAC,CAAC,IAAI,CAAC,eAAe,IAAI,CAAC,CAAC,IAAI,CAAC,eAAe,CAAC;QAC1D,CAAC,CAAC,EACF,oBAAoB,EAAE,CACvB,CAAC;QACJ,OAAO,CAAC,aAAa,CAAC,IAAI,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC;IAC7C,CAAC;CACF"}
@@ -1 +1 @@
1
- {"version":3,"file":"toggle-loading.d.ts","sourceRoot":"","sources":["../../../../../src/engine/services/loading/methods/toggle-loading.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,6CAA6C,CAAC;AAM7E,OAAO,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAE5C,wBAAgB,aAAa,CAC3B,cAAc,EAAE,cAAc,EAC9B,QAAQ,EAAE,cAAc,CAAC,IAAI,CAAC,QAC5B"}
1
+ {"version":3,"file":"toggle-loading.d.ts","sourceRoot":"","sources":["../../../../../src/engine/services/loading/methods/toggle-loading.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,6CAA6C,CAAC;AAM7E,OAAO,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAE5C,wBAAgB,aAAa,CAC3B,cAAc,EAAE,cAAc,EAC9B,QAAQ,EAAE,cAAc,CAAC,IAAI,CAAC,QAqD/B"}
@@ -1,2 +1,48 @@
1
- export function toggleLoading(loadingService, destroy$) { }
1
+ import { takeUntil } from "../../../rx-lite/operators/takeuntil";
2
+ import { updateColumnWidths } from "../../layout/methods";
3
+ import { RowPool } from "../../row/classes/row-pool";
4
+ import { recomputeVirtualRows } from "../../row/methods/recompute-virtual-rows";
5
+ export function toggleLoading(loadingService, destroy$) {
6
+ const grid = loadingService.grid;
7
+ loadingService.loading$.pipe(takeUntil(destroy$)).subscribe((visible) => {
8
+ const state = grid._store.getState();
9
+ grid._store.update((draft) => {
10
+ if (visible) {
11
+ // loading ON → clear rows
12
+ draft.view.rows = [];
13
+ draft.view.viewRows = [];
14
+ draft.ui.virtualRows.totalRowCount = 0;
15
+ recomputeVirtualRows(draft.ui.virtualRows);
16
+ }
17
+ else {
18
+ // loading OFF - if loading is still visible, remove it and create a new row pool
19
+ // this is needed, because in angular setting visible to false happens for some reason as the last step
20
+ if (grid._runtime.loadingContainer) {
21
+ grid._runtime.loadingContainer.remove();
22
+ grid._runtime.loadingContainer = null;
23
+ // Destroy dynamic template if any
24
+ grid._runtime.loadingHandle?.destroy();
25
+ grid._runtime.loadingHandle = null;
26
+ // create a new row pool
27
+ const rowHeight = state.view.rowHeight;
28
+ const columns = state.view.internalColumns;
29
+ const viewportHeight = state.view.viewportHeight;
30
+ const rowPool = new RowPool(grid._gridDom, columns, rowHeight, grid, viewportHeight);
31
+ grid._runtime.rowPool = rowPool;
32
+ // use fresh virtualRows
33
+ const v = state.ui.virtualRows;
34
+ recomputeVirtualRows(v);
35
+ const data = state.view.rows;
36
+ rowPool.update(v, data);
37
+ // update col widths (for body cells)
38
+ updateColumnWidths(loadingService.gridDom, state, state.view.resolvedColumnWidths, loadingService.grid);
39
+ // trigger a virtual rows update
40
+ draft.ui.virtualRows = {
41
+ ...draft.ui.virtualRows,
42
+ };
43
+ }
44
+ }
45
+ });
46
+ }, "TOGGLE-LOADING");
47
+ }
2
48
  //# sourceMappingURL=toggle-loading.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"toggle-loading.js","sourceRoot":"","sources":["../../../../../src/engine/services/loading/methods/toggle-loading.ts"],"names":[],"mappings":"AAQA,MAAM,UAAU,aAAa,CAC3B,cAA8B,EAC9B,QAA8B,IAC7B,CAAC"}
1
+ {"version":3,"file":"toggle-loading.js","sourceRoot":"","sources":["../../../../../src/engine/services/loading/methods/toggle-loading.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAE,MAAM,sCAAsC,CAAC;AACjE,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAC1D,OAAO,EAAE,OAAO,EAAE,MAAM,4BAA4B,CAAC;AACrD,OAAO,EAAE,oBAAoB,EAAE,MAAM,0CAA0C,CAAC;AAIhF,MAAM,UAAU,aAAa,CAC3B,cAA8B,EAC9B,QAA8B;IAE9B,MAAM,IAAI,GAAG,cAAc,CAAC,IAAI,CAAC;IACjC,cAAc,CAAC,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,OAAO,EAAE,EAAE;QACtE,MAAM,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC;QACrC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE;YAC3B,IAAI,OAAO,EAAE,CAAC;gBACZ,0BAA0B;gBAC1B,KAAK,CAAC,IAAI,CAAC,IAAI,GAAG,EAAE,CAAC;gBACrB,KAAK,CAAC,IAAI,CAAC,QAAQ,GAAG,EAAE,CAAC;gBACzB,KAAK,CAAC,EAAE,CAAC,WAAW,CAAC,aAAa,GAAG,CAAC,CAAC;gBACvC,oBAAoB,CAAC,KAAK,CAAC,EAAE,CAAC,WAAW,CAAC,CAAC;YAC7C,CAAC;iBAAM,CAAC;gBACN,iFAAiF;gBACjF,uGAAuG;gBACvG,IAAI,IAAI,CAAC,QAAQ,CAAC,gBAAgB,EAAE,CAAC;oBACnC,IAAI,CAAC,QAAQ,CAAC,gBAAgB,CAAC,MAAM,EAAE,CAAC;oBACxC,IAAI,CAAC,QAAQ,CAAC,gBAAgB,GAAG,IAAI,CAAC;oBACtC,kCAAkC;oBAClC,IAAI,CAAC,QAAQ,CAAC,aAAa,EAAE,OAAO,EAAE,CAAC;oBACvC,IAAI,CAAC,QAAQ,CAAC,aAAa,GAAG,IAAI,CAAC;oBACnC,wBAAwB;oBACxB,MAAM,SAAS,GAAG,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC;oBACvC,MAAM,OAAO,GAAG,KAAK,CAAC,IAAI,CAAC,eAAe,CAAC;oBAC3C,MAAM,cAAc,GAAG,KAAK,CAAC,IAAI,CAAC,cAAc,CAAC;oBACjD,MAAM,OAAO,GAAG,IAAI,OAAO,CACzB,IAAI,CAAC,QAAQ,EACb,OAAO,EACP,SAAS,EACT,IAAI,EACJ,cAAc,CACf,CAAC;oBACF,IAAI,CAAC,QAAQ,CAAC,OAAO,GAAG,OAAO,CAAC;oBAChC,wBAAwB;oBACxB,MAAM,CAAC,GAAG,KAAK,CAAC,EAAE,CAAC,WAAW,CAAC;oBAC/B,oBAAoB,CAAC,CAAC,CAAC,CAAC;oBACxB,MAAM,IAAI,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC;oBAC7B,OAAO,CAAC,MAAM,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC;oBACxB,qCAAqC;oBACrC,kBAAkB,CAChB,cAAc,CAAC,OAAO,EACtB,KAAK,EACL,KAAK,CAAC,IAAI,CAAC,oBAAoB,EAC/B,cAAc,CAAC,IAAI,CACpB,CAAC;oBACF,gCAAgC;oBAChC,KAAK,CAAC,EAAE,CAAC,WAAW,GAAG;wBACrB,GAAG,KAAK,CAAC,EAAE,CAAC,WAAW;qBACxB,CAAC;gBACJ,CAAC;YACH,CAAC;QACH,CAAC,CAAC,CAAC;IACL,CAAC,EAAE,gBAAgB,CAAC,CAAC;AACvB,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@polygrid/core",
3
- "version": "1.0.478",
3
+ "version": "1.0.479",
4
4
  "description": "",
5
5
  "type": "module",
6
6
  "main": "./dist/index.js",