@polygrid/core 1.0.482 → 1.0.483

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":"row-filter-changed.d.ts","sourceRoot":"","sources":["../../../../../src/engine/services/filter/methods/row-filter-changed.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAE9C,OAAO,EAAE,MAAM,EAAE,MAAM,sBAAsB,CAAC;AAE9C,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,QAAQ,QAoB9D"}
1
+ {"version":3,"file":"row-filter-changed.d.ts","sourceRoot":"","sources":["../../../../../src/engine/services/filter/methods/row-filter-changed.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAE9C,OAAO,EAAE,MAAM,EAAE,MAAM,sBAAsB,CAAC;AAE9C,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,QAAQ,QAkB9D"}
@@ -4,7 +4,6 @@ export function rowFilterChanged(filter, grid) {
4
4
  const iconNode = renderIcon(grid._services.icon, "clearFilter");
5
5
  iconContainer.setAttribute("active", "");
6
6
  iconContainer.replaceChildren(iconNode ?? "");
7
- grid._gridDom.vScrollInner.scrollTop = 0;
8
7
  grid._store.update((draft) => {
9
8
  let rowFilter = draft.view.rowFilters.find((f) => f.columnId === filter.columnId);
10
9
  if (rowFilter) {
@@ -1 +1 @@
1
- {"version":3,"file":"row-filter-changed.js","sourceRoot":"","sources":["../../../../../src/engine/services/filter/methods/row-filter-changed.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAGhD,MAAM,UAAU,gBAAgB,CAAC,MAAc,EAAE,IAAc;IAC7D,MAAM,aAAa,GAAG,IAAI,CAAC,QAAQ,CAAC,eAAe,CAAC,GAAG,CAAC,MAAM,CAAC,QAAQ,CAAE,CAAC;IAC1E,MAAM,QAAQ,GAAG,UAAU,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,aAAa,CAAC,CAAC;IAChE,aAAa,CAAC,YAAY,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC;IACzC,aAAa,CAAC,eAAe,CAAC,QAAQ,IAAI,EAAE,CAAC,CAAC;IAE9C,IAAI,CAAC,QAAQ,CAAC,YAAY,CAAC,SAAS,GAAG,CAAC,CAAC;IAEzC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE;QAC3B,IAAI,SAAS,GAAG,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,IAAI,CACxC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,KAAK,MAAM,CAAC,QAAQ,CACtC,CAAC;QACF,IAAI,SAAS,EAAE,CAAC;YACd,MAAM,CAAC,MAAM,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC;QACnC,CAAC;aAAM,CAAC;YACN,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QACrC,CAAC;IACH,CAAC,CAAC,CAAC;IAEH,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,CAAC;AAC/C,CAAC"}
1
+ {"version":3,"file":"row-filter-changed.js","sourceRoot":"","sources":["../../../../../src/engine/services/filter/methods/row-filter-changed.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAGhD,MAAM,UAAU,gBAAgB,CAAC,MAAc,EAAE,IAAc;IAC7D,MAAM,aAAa,GAAG,IAAI,CAAC,QAAQ,CAAC,eAAe,CAAC,GAAG,CAAC,MAAM,CAAC,QAAQ,CAAE,CAAC;IAC1E,MAAM,QAAQ,GAAG,UAAU,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,aAAa,CAAC,CAAC;IAChE,aAAa,CAAC,YAAY,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC;IACzC,aAAa,CAAC,eAAe,CAAC,QAAQ,IAAI,EAAE,CAAC,CAAC;IAE9C,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE;QAC3B,IAAI,SAAS,GAAG,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,IAAI,CACxC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,KAAK,MAAM,CAAC,QAAQ,CACtC,CAAC;QACF,IAAI,SAAS,EAAE,CAAC;YACd,MAAM,CAAC,MAAM,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC;QACnC,CAAC;aAAM,CAAC;YACN,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QACrC,CAAC;IACH,CAAC,CAAC,CAAC;IAEH,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,CAAC;AAC/C,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"resize-view-height.d.ts","sourceRoot":"","sources":["../../../../../src/engine/services/layout/methods/resize-view-height.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,6CAA6C,CAAC;AAE7E,OAAO,EAAE,aAAa,EAAE,MAAM,WAAW,CAAC;AAE1C,wBAAgB,gBAAgB,CAC9B,aAAa,EAAE,aAAa,EAC5B,QAAQ,EAAE,cAAc,CAAC,IAAI,CAAC,QAU/B"}
1
+ {"version":3,"file":"resize-view-height.d.ts","sourceRoot":"","sources":["../../../../../src/engine/services/layout/methods/resize-view-height.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,6CAA6C,CAAC;AAE7E,OAAO,EAAE,aAAa,EAAE,MAAM,WAAW,CAAC;AAE1C,wBAAgB,gBAAgB,CAC9B,aAAa,EAAE,aAAa,EAC5B,QAAQ,EAAE,cAAc,CAAC,IAAI,CAAC,QAY/B"}
@@ -8,6 +8,8 @@ export function resizeViewHeight(layoutService, destroy$) {
8
8
  return;
9
9
  gridDom.body.style.height = viewHeight > 0 ? `${viewHeight}px` : "100%";
10
10
  gridDom.vScrollTrack.style.height = `${viewHeight}px`;
11
+ // force recomputevirtualrows
12
+ gridDom.vScrollInner.scrollTop += 1;
11
13
  }, "RESIZE-VIEW-HEIGHT");
12
14
  }
13
15
  //# sourceMappingURL=resize-view-height.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"resize-view-height.js","sourceRoot":"","sources":["../../../../../src/engine/services/layout/methods/resize-view-height.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAE,MAAM,sCAAsC,CAAC;AAGjE,MAAM,UAAU,gBAAgB,CAC9B,aAA4B,EAC5B,QAA8B;IAE9B,MAAM,OAAO,GAAG,aAAa,CAAC,OAAO,CAAC;IACtC,aAAa,CAAC,WAAW;SACtB,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC;SACzB,SAAS,CAAC,CAAC,UAAU,EAAE,EAAE;QACxB,IAAI,UAAU,KAAK,IAAI;YAAE,OAAO;QAChC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,GAAG,UAAU,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,UAAU,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC;QACxE,OAAO,CAAC,YAAY,CAAC,KAAK,CAAC,MAAM,GAAG,GAAG,UAAU,IAAI,CAAC;IACxD,CAAC,EAAE,oBAAoB,CAAC,CAAC;AAC7B,CAAC"}
1
+ {"version":3,"file":"resize-view-height.js","sourceRoot":"","sources":["../../../../../src/engine/services/layout/methods/resize-view-height.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAE,MAAM,sCAAsC,CAAC;AAGjE,MAAM,UAAU,gBAAgB,CAC9B,aAA4B,EAC5B,QAA8B;IAE9B,MAAM,OAAO,GAAG,aAAa,CAAC,OAAO,CAAC;IACtC,aAAa,CAAC,WAAW;SACtB,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC;SACzB,SAAS,CAAC,CAAC,UAAU,EAAE,EAAE;QACxB,IAAI,UAAU,KAAK,IAAI;YAAE,OAAO;QAChC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,GAAG,UAAU,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,UAAU,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC;QACxE,OAAO,CAAC,YAAY,CAAC,KAAK,CAAC,MAAM,GAAG,GAAG,UAAU,IAAI,CAAC;QACtD,6BAA6B;QAC7B,OAAO,CAAC,YAAY,CAAC,SAAS,IAAI,CAAC,CAAC;IACtC,CAAC,EAAE,oBAAoB,CAAC,CAAC;AAC7B,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"recompute-virtual-rows.d.ts","sourceRoot":"","sources":["../../../../../src/engine/services/row/methods/recompute-virtual-rows.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,8CAA8C,CAAC;AAEhF,wBAAgB,oBAAoB,CAAC,CAAC,EAAE,gBAAgB,QAiBvD"}
1
+ {"version":3,"file":"recompute-virtual-rows.d.ts","sourceRoot":"","sources":["../../../../../src/engine/services/row/methods/recompute-virtual-rows.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,8CAA8C,CAAC;AAEhF,wBAAgB,oBAAoB,CAAC,CAAC,EAAE,gBAAgB,QAsCvD"}
@@ -1,10 +1,28 @@
1
1
  export function recomputeVirtualRows(v) {
2
2
  const { scrollTop, rowHeight, viewportHeight, totalRowCount } = v;
3
3
  const overscan = 3;
4
- // Base slice
5
- const baseStart = Math.floor(scrollTop / rowHeight);
4
+ const totalHeight = totalRowCount * rowHeight;
5
+ // ---------------------------------------------------------
6
+ // 1) If everything fits into the viewport → render all rows
7
+ // ---------------------------------------------------------
8
+ if (totalHeight <= viewportHeight) {
9
+ v.renderStartIndex = 0;
10
+ v.renderEndIndex = totalRowCount;
11
+ return;
12
+ }
13
+ // ---------------------------------------------------------
14
+ // 2) Clamp scrollTop to valid range
15
+ // ---------------------------------------------------------
16
+ const maxScrollTop = totalHeight - viewportHeight;
17
+ const clampedScrollTop = Math.max(0, Math.min(scrollTop, maxScrollTop));
18
+ // ---------------------------------------------------------
19
+ // 3) Compute base slice
20
+ // ---------------------------------------------------------
21
+ const baseStart = Math.floor(clampedScrollTop / rowHeight);
6
22
  const baseVisibleCount = Math.ceil(viewportHeight / rowHeight);
7
- // Overscanned slice
23
+ // ---------------------------------------------------------
24
+ // 4) Overscan
25
+ // ---------------------------------------------------------
8
26
  let start = baseStart - overscan;
9
27
  if (start < 0)
10
28
  start = 0;
@@ -1 +1 @@
1
- {"version":3,"file":"recompute-virtual-rows.js","sourceRoot":"","sources":["../../../../../src/engine/services/row/methods/recompute-virtual-rows.ts"],"names":[],"mappings":"AAEA,MAAM,UAAU,oBAAoB,CAAC,CAAmB;IACtD,MAAM,EAAE,SAAS,EAAE,SAAS,EAAE,cAAc,EAAE,aAAa,EAAE,GAAG,CAAC,CAAC;IAElE,MAAM,QAAQ,GAAG,CAAC,CAAC;IAEnB,aAAa;IACb,MAAM,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,SAAS,GAAG,SAAS,CAAC,CAAC;IACpD,MAAM,gBAAgB,GAAG,IAAI,CAAC,IAAI,CAAC,cAAc,GAAG,SAAS,CAAC,CAAC;IAE/D,oBAAoB;IACpB,IAAI,KAAK,GAAG,SAAS,GAAG,QAAQ,CAAC;IACjC,IAAI,KAAK,GAAG,CAAC;QAAE,KAAK,GAAG,CAAC,CAAC;IACzB,IAAI,GAAG,GAAG,SAAS,GAAG,gBAAgB,GAAG,QAAQ,CAAC;IAClD,IAAI,GAAG,GAAG,aAAa;QAAE,GAAG,GAAG,aAAa,CAAC;IAE7C,CAAC,CAAC,gBAAgB,GAAG,KAAK,CAAC;IAC3B,CAAC,CAAC,cAAc,GAAG,GAAG,CAAC;AACzB,CAAC"}
1
+ {"version":3,"file":"recompute-virtual-rows.js","sourceRoot":"","sources":["../../../../../src/engine/services/row/methods/recompute-virtual-rows.ts"],"names":[],"mappings":"AAEA,MAAM,UAAU,oBAAoB,CAAC,CAAmB;IACtD,MAAM,EAAE,SAAS,EAAE,SAAS,EAAE,cAAc,EAAE,aAAa,EAAE,GAAG,CAAC,CAAC;IAElE,MAAM,QAAQ,GAAG,CAAC,CAAC;IACnB,MAAM,WAAW,GAAG,aAAa,GAAG,SAAS,CAAC;IAE9C,4DAA4D;IAC5D,4DAA4D;IAC5D,4DAA4D;IAC5D,IAAI,WAAW,IAAI,cAAc,EAAE,CAAC;QAClC,CAAC,CAAC,gBAAgB,GAAG,CAAC,CAAC;QACvB,CAAC,CAAC,cAAc,GAAG,aAAa,CAAC;QACjC,OAAO;IACT,CAAC;IAED,4DAA4D;IAC5D,oCAAoC;IACpC,4DAA4D;IAC5D,MAAM,YAAY,GAAG,WAAW,GAAG,cAAc,CAAC;IAClD,MAAM,gBAAgB,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,SAAS,EAAE,YAAY,CAAC,CAAC,CAAC;IAExE,4DAA4D;IAC5D,wBAAwB;IACxB,4DAA4D;IAC5D,MAAM,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,gBAAgB,GAAG,SAAS,CAAC,CAAC;IAC3D,MAAM,gBAAgB,GAAG,IAAI,CAAC,IAAI,CAAC,cAAc,GAAG,SAAS,CAAC,CAAC;IAE/D,4DAA4D;IAC5D,cAAc;IACd,4DAA4D;IAC5D,IAAI,KAAK,GAAG,SAAS,GAAG,QAAQ,CAAC;IACjC,IAAI,KAAK,GAAG,CAAC;QAAE,KAAK,GAAG,CAAC,CAAC;IAEzB,IAAI,GAAG,GAAG,SAAS,GAAG,gBAAgB,GAAG,QAAQ,CAAC;IAClD,IAAI,GAAG,GAAG,aAAa;QAAE,GAAG,GAAG,aAAa,CAAC;IAE7C,CAAC,CAAC,gBAAgB,GAAG,KAAK,CAAC;IAC3B,CAAC,CAAC,cAAc,GAAG,GAAG,CAAC;AACzB,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@polygrid/core",
3
- "version": "1.0.482",
3
+ "version": "1.0.483",
4
4
  "description": "",
5
5
  "type": "module",
6
6
  "main": "./dist/index.js",