k-vtable 1.0.36 → 1.0.37

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 (83) hide show
  1. package/cjs/ListTable.d.ts +1 -0
  2. package/cjs/ListTable.js +11 -1
  3. package/cjs/ListTable.js.map +1 -1
  4. package/cjs/PivotTable.js +12 -6
  5. package/cjs/PivotTable.js.map +1 -1
  6. package/cjs/core/BaseTable.js +11 -9
  7. package/cjs/core/BaseTable.js.map +1 -1
  8. package/cjs/event/event.js +3 -1
  9. package/cjs/event/event.js.map +1 -1
  10. package/cjs/event/listener/table-group.js +52 -52
  11. package/cjs/event/listener/table-group.js.map +1 -1
  12. package/cjs/index.d.ts +1 -1
  13. package/cjs/index.js +1 -1
  14. package/cjs/index.js.map +1 -1
  15. package/cjs/layout/pivot-header-layout.d.ts +2 -2
  16. package/cjs/layout/simple-header-layout.js +7 -7
  17. package/cjs/layout/simple-header-layout.js.map +1 -1
  18. package/cjs/plugins/list-tree-stick-cell.js +29 -3
  19. package/cjs/plugins/list-tree-stick-cell.js.map +1 -1
  20. package/cjs/scenegraph/component/custom.js +2 -2
  21. package/cjs/scenegraph/component/custom.js.map +1 -1
  22. package/cjs/scenegraph/component/table-component.js +41 -50
  23. package/cjs/scenegraph/component/table-component.js.map +1 -1
  24. package/cjs/scenegraph/component/util.d.ts +1 -0
  25. package/cjs/scenegraph/component/util.js +9 -3
  26. package/cjs/scenegraph/component/util.js.map +1 -1
  27. package/cjs/scenegraph/layout/compute-col-width.js +1 -1
  28. package/cjs/scenegraph/layout/compute-col-width.js.map +1 -1
  29. package/cjs/scenegraph/layout/compute-row-height.js +1 -1
  30. package/cjs/scenegraph/layout/compute-row-height.js.map +1 -1
  31. package/cjs/scenegraph/layout/frozen.js +7 -3
  32. package/cjs/scenegraph/layout/frozen.js.map +1 -1
  33. package/cjs/scenegraph/scenegraph.js +5 -3
  34. package/cjs/scenegraph/scenegraph.js.map +1 -1
  35. package/cjs/scenegraph/utils/padding.d.ts +5 -2
  36. package/cjs/scenegraph/utils/padding.js +16 -13
  37. package/cjs/scenegraph/utils/padding.js.map +1 -1
  38. package/cjs/state/state.js +15 -15
  39. package/cjs/state/state.js.map +1 -1
  40. package/cjs/vrender.js.map +1 -1
  41. package/dist/vtable.js +256 -125
  42. package/dist/vtable.min.js +1 -1
  43. package/es/ListTable.d.ts +1 -0
  44. package/es/ListTable.js +11 -1
  45. package/es/ListTable.js.map +1 -1
  46. package/es/PivotTable.js +12 -6
  47. package/es/PivotTable.js.map +1 -1
  48. package/es/core/BaseTable.js +11 -9
  49. package/es/core/BaseTable.js.map +1 -1
  50. package/es/event/event.js +3 -1
  51. package/es/event/event.js.map +1 -1
  52. package/es/event/listener/table-group.js +52 -52
  53. package/es/event/listener/table-group.js.map +1 -1
  54. package/es/index.d.ts +1 -1
  55. package/es/index.js +1 -1
  56. package/es/index.js.map +1 -1
  57. package/es/layout/pivot-header-layout.d.ts +2 -2
  58. package/es/layout/simple-header-layout.js +7 -7
  59. package/es/layout/simple-header-layout.js.map +1 -1
  60. package/es/plugins/list-tree-stick-cell.js +32 -2
  61. package/es/plugins/list-tree-stick-cell.js.map +1 -1
  62. package/es/scenegraph/component/custom.js +2 -2
  63. package/es/scenegraph/component/custom.js.map +1 -1
  64. package/es/scenegraph/component/table-component.js +41 -51
  65. package/es/scenegraph/component/table-component.js.map +1 -1
  66. package/es/scenegraph/component/util.d.ts +1 -0
  67. package/es/scenegraph/component/util.js +6 -0
  68. package/es/scenegraph/component/util.js.map +1 -1
  69. package/es/scenegraph/layout/compute-col-width.js +1 -1
  70. package/es/scenegraph/layout/compute-col-width.js.map +1 -1
  71. package/es/scenegraph/layout/compute-row-height.js +1 -1
  72. package/es/scenegraph/layout/compute-row-height.js.map +1 -1
  73. package/es/scenegraph/layout/frozen.js +7 -3
  74. package/es/scenegraph/layout/frozen.js.map +1 -1
  75. package/es/scenegraph/scenegraph.js +5 -3
  76. package/es/scenegraph/scenegraph.js.map +1 -1
  77. package/es/scenegraph/utils/padding.d.ts +5 -2
  78. package/es/scenegraph/utils/padding.js +13 -9
  79. package/es/scenegraph/utils/padding.js.map +1 -1
  80. package/es/state/state.js +15 -13
  81. package/es/state/state.js.map +1 -1
  82. package/es/vrender.js.map +1 -1
  83. package/package.json +2 -2
@@ -1,6 +1,9 @@
1
- export declare function getQuadProps(paddingOrigin: number | string | number[] | {
1
+ type PaddingObject = {
2
2
  left?: number;
3
3
  right?: number;
4
4
  top?: number;
5
5
  bottom?: number;
6
- }): [number, number, number, number];
6
+ };
7
+ type Quad = [any, any, any, any];
8
+ export declare function getQuadProps(paddingOrigin: number | string | any[] | PaddingObject): Quad;
9
+ export {};
@@ -1,14 +1,18 @@
1
- import { parsePadding } from "./../../vrender";
1
+ function normalizeQuadArray(values) {
2
+ return 0 === values.length ? [ 0, 0, 0, 0 ] : 1 === values.length ? [ values[0], values[0], values[0], values[0] ] : 2 === values.length ? [ values[0], values[1], values[0], values[1] ] : 3 === values.length ? [ values[0], values[1], values[2], values[1] ] : [ values[0], values[1], values[2], values[3] ];
3
+ }
2
4
 
3
- import { isArray, isNumber, isString } from "@visactor/vutils";
5
+ function parseStringQuad(padding) {
6
+ const tokens = padding.trim().split(/\s+/), values = tokens.map((token => Number.parseFloat(token))).filter((value => Number.isFinite(value)));
7
+ return values.length === tokens.length && values.length > 0 ? normalizeQuadArray(values) : [ padding, padding, padding, padding ];
8
+ }
4
9
 
5
- export function getQuadProps(paddingOrigin) {
10
+ function normalizePaddingObject(paddingOrigin) {
6
11
  var _a, _b, _c, _d;
7
- if (isNumber(paddingOrigin) || isString(paddingOrigin) || isArray(paddingOrigin)) {
8
- let padding = parsePadding(paddingOrigin);
9
- return "number" == typeof padding || "string" == typeof padding ? padding = [ padding, padding, padding, padding ] : Array.isArray(padding) && (padding = padding.slice(0)),
10
- padding;
11
- }
12
- return paddingOrigin && (isFinite(paddingOrigin.bottom) || isFinite(paddingOrigin.left) || isFinite(paddingOrigin.right) || isFinite(paddingOrigin.top)) ? [ null !== (_a = paddingOrigin.top) && void 0 !== _a ? _a : 0, null !== (_b = paddingOrigin.right) && void 0 !== _b ? _b : 0, null !== (_c = paddingOrigin.bottom) && void 0 !== _c ? _c : 0, null !== (_d = paddingOrigin.left) && void 0 !== _d ? _d : 0 ] : [ 0, 0, 0, 0 ];
12
+ return Number.isFinite(paddingOrigin.bottom) || Number.isFinite(paddingOrigin.left) || Number.isFinite(paddingOrigin.right) || Number.isFinite(paddingOrigin.top) ? [ null !== (_a = paddingOrigin.top) && void 0 !== _a ? _a : 0, null !== (_b = paddingOrigin.right) && void 0 !== _b ? _b : 0, null !== (_c = paddingOrigin.bottom) && void 0 !== _c ? _c : 0, null !== (_d = paddingOrigin.left) && void 0 !== _d ? _d : 0 ] : [ 0, 0, 0, 0 ];
13
+ }
14
+
15
+ export function getQuadProps(paddingOrigin) {
16
+ return Array.isArray(paddingOrigin) ? normalizeQuadArray(paddingOrigin.slice(0, 4)) : "number" == typeof paddingOrigin && Number.isFinite(paddingOrigin) ? [ paddingOrigin, paddingOrigin, paddingOrigin, paddingOrigin ] : "string" == typeof paddingOrigin ? parseStringQuad(paddingOrigin) : paddingOrigin && "object" == typeof paddingOrigin ? normalizePaddingObject(paddingOrigin) : [ 0, 0, 0, 0 ];
13
17
  }
14
18
  //# sourceMappingURL=padding.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/scenegraph/utils/padding.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAC/C,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAE/D,MAAM,UAAU,YAAY,CAC1B,aAA4G;;IAE5G,IAAI,QAAQ,CAAC,aAAa,CAAC,IAAI,QAAQ,CAAC,aAAa,CAAC,IAAI,OAAO,CAAC,aAAa,CAAC,EAAE;QAChF,IAAI,OAAO,GAAG,YAAY,CAAC,aAAuB,CAAC,CAAC;QACpD,IAAI,OAAO,OAAO,KAAK,QAAQ,IAAI,OAAO,OAAO,KAAK,QAAQ,EAAE;YAC9D,OAAO,GAAG,CAAC,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;SAChD;aAAM,IAAI,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE;YACjC,OAAO,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC,CAAQ,CAAC;SACnC;QACD,OAAO,OAAc,CAAC;KACvB;SAAM,IACL,aAAa;QACb,CAAC,QAAQ,CAAC,aAAa,CAAC,MAAM,CAAC;YAC7B,QAAQ,CAAC,aAAa,CAAC,IAAI,CAAC;YAC5B,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC;YAC7B,QAAQ,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC,EAC9B;QACA,OAAO,CAAC,MAAA,aAAa,CAAC,GAAG,mCAAI,CAAC,EAAE,MAAA,aAAa,CAAC,KAAK,mCAAI,CAAC,EAAE,MAAA,aAAa,CAAC,MAAM,mCAAI,CAAC,EAAE,MAAA,aAAa,CAAC,IAAI,mCAAI,CAAC,CAAC,CAAC;KAC/G;IACD,OAAO,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;AACtB,CAAC","file":"padding.js","sourcesContent":["import { parsePadding } from './../../vrender';\nimport { isArray, isNumber, isString } from '@visactor/vutils';\n\nexport function getQuadProps(\n paddingOrigin: number | string | number[] | { left?: number; right?: number; top?: number; bottom?: number }\n): [number, number, number, number] {\n if (isNumber(paddingOrigin) || isString(paddingOrigin) || isArray(paddingOrigin)) {\n let padding = parsePadding(paddingOrigin as number);\n if (typeof padding === 'number' || typeof padding === 'string') {\n padding = [padding, padding, padding, padding];\n } else if (Array.isArray(padding)) {\n padding = padding.slice(0) as any;\n }\n return padding as any;\n } else if (\n paddingOrigin &&\n (isFinite(paddingOrigin.bottom) ||\n isFinite(paddingOrigin.left) ||\n isFinite(paddingOrigin.right) ||\n isFinite(paddingOrigin.top))\n ) {\n return [paddingOrigin.top ?? 0, paddingOrigin.right ?? 0, paddingOrigin.bottom ?? 0, paddingOrigin.left ?? 0];\n }\n return [0, 0, 0, 0];\n}\n"]}
1
+ {"version":3,"sources":["../src/scenegraph/utils/padding.ts"],"names":[],"mappings":"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","file":"padding.js","sourcesContent":["type PaddingObject = { left?: number; right?: number; top?: number; bottom?: number };\ntype Quad = [any, any, any, any];\n\nfunction normalizeQuadArray(values: any[]): Quad {\n if (values.length === 0) {\n return [0, 0, 0, 0];\n }\n if (values.length === 1) {\n return [values[0], values[0], values[0], values[0]];\n }\n if (values.length === 2) {\n return [values[0], values[1], values[0], values[1]];\n }\n if (values.length === 3) {\n return [values[0], values[1], values[2], values[1]];\n }\n return [values[0], values[1], values[2], values[3]];\n}\n\nfunction parseStringQuad(padding: string): Quad {\n const tokens = padding.trim().split(/\\s+/);\n const values = tokens.map(token => Number.parseFloat(token)).filter(value => Number.isFinite(value));\n\n if (values.length === tokens.length && values.length > 0) {\n return normalizeQuadArray(values);\n }\n\n return [padding, padding, padding, padding];\n}\n\nfunction normalizePaddingObject(paddingOrigin: PaddingObject): Quad {\n if (\n Number.isFinite(paddingOrigin.bottom) ||\n Number.isFinite(paddingOrigin.left) ||\n Number.isFinite(paddingOrigin.right) ||\n Number.isFinite(paddingOrigin.top)\n ) {\n return [paddingOrigin.top ?? 0, paddingOrigin.right ?? 0, paddingOrigin.bottom ?? 0, paddingOrigin.left ?? 0];\n }\n return [0, 0, 0, 0];\n}\n\nexport function getQuadProps(paddingOrigin: number | string | any[] | PaddingObject): Quad {\n if (Array.isArray(paddingOrigin)) {\n return normalizeQuadArray(paddingOrigin.slice(0, 4));\n }\n\n if (typeof paddingOrigin === 'number' && Number.isFinite(paddingOrigin)) {\n return [paddingOrigin, paddingOrigin, paddingOrigin, paddingOrigin];\n }\n\n if (typeof paddingOrigin === 'string') {\n return parseStringQuad(paddingOrigin);\n }\n\n if (paddingOrigin && typeof paddingOrigin === 'object') {\n return normalizePaddingObject(paddingOrigin);\n }\n\n return [0, 0, 0, 0];\n}\n"]}
package/es/state/state.js CHANGED
@@ -30,6 +30,8 @@ import { endMoveCol, startMoveCol, updateMoveCol } from "./cell-move";
30
30
 
31
31
  import { getIconAndPositionFromTarget } from "../scenegraph/utils/icon";
32
32
 
33
+ import { getBodyHorizontalScrollRange } from "../scenegraph/component/util";
34
+
33
35
  import { debounce } from "../tools/debounce";
34
36
 
35
37
  import { updateResizeColumn } from "./resize/update-resize-column";
@@ -537,8 +539,8 @@ export class StateManager {
537
539
  }), oldVerticalBarPos !== this.scroll.verticalBarPos && this.checkVerticalScrollBarEnd();
538
540
  }
539
541
  updateHorizontalScrollBar(xRatio) {
540
- var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k;
541
- const totalWidth = this.table.getAllColsWidth(), oldHorizontalBarPos = this.scroll.horizontalBarPos, frozenOffset = null !== (_c = null === (_b = (_a = this.table).getFrozenColsOffset) || void 0 === _b ? void 0 : _b.call(_a)) && void 0 !== _c ? _c : 0, rightFrozenOffset = null !== (_f = null === (_e = (_d = this.table).getRightFrozenColsOffset) || void 0 === _e ? void 0 : _e.call(_d)) && void 0 !== _f ? _f : 0, scrollRange = Math.max(0, totalWidth - this.table.scenegraph.width - frozenOffset - rightFrozenOffset);
542
+ var _a, _b, _c, _d;
543
+ const oldHorizontalBarPos = this.scroll.horizontalBarPos, scrollRange = getBodyHorizontalScrollRange(this.table);
542
544
  let horizontalBarPos = Math.ceil(xRatio * scrollRange);
543
545
  isValid(horizontalBarPos) && !isNaN(horizontalBarPos) || (horizontalBarPos = 0);
544
546
  const dx = horizontalBarPos - this.table.scenegraph.proxy.deltaX - oldHorizontalBarPos;
@@ -546,8 +548,8 @@ export class StateManager {
546
548
  event: void 0,
547
549
  scrollTop: this.scroll.verticalBarPos,
548
550
  scrollLeft: horizontalBarPos - this.table.scenegraph.proxy.deltaX,
549
- scrollHeight: null === (_g = this.table.theme.scrollStyle) || void 0 === _g ? void 0 : _g.width,
550
- scrollWidth: null === (_h = this.table.theme.scrollStyle) || void 0 === _h ? void 0 : _h.width,
551
+ scrollHeight: null === (_a = this.table.theme.scrollStyle) || void 0 === _a ? void 0 : _a.width,
552
+ scrollWidth: null === (_b = this.table.theme.scrollStyle) || void 0 === _b ? void 0 : _b.width,
551
553
  viewHeight: this.table.tableNoFrameHeight,
552
554
  viewWidth: this.table.tableNoFrameWidth,
553
555
  scrollDirection: "horizontal",
@@ -562,8 +564,8 @@ export class StateManager {
562
564
  event: void 0,
563
565
  scrollTop: this.scroll.verticalBarPos,
564
566
  scrollLeft: this.scroll.horizontalBarPos,
565
- scrollHeight: null === (_j = this.table.theme.scrollStyle) || void 0 === _j ? void 0 : _j.width,
566
- scrollWidth: null === (_k = this.table.theme.scrollStyle) || void 0 === _k ? void 0 : _k.width,
567
+ scrollHeight: null === (_c = this.table.theme.scrollStyle) || void 0 === _c ? void 0 : _c.width,
568
+ scrollWidth: null === (_d = this.table.theme.scrollStyle) || void 0 === _d ? void 0 : _d.width,
567
569
  viewHeight: this.table.tableNoFrameHeight,
568
570
  viewWidth: this.table.tableNoFrameWidth,
569
571
  scrollDirection: "horizontal",
@@ -616,13 +618,13 @@ export class StateManager {
616
618
  }), oldVerticalBarPos !== top && triggerEvent && this.checkVerticalScrollBarEnd();
617
619
  }
618
620
  setScrollLeft(left, event, triggerEvent = !0) {
619
- var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o;
621
+ var _a, _b, _c, _d, _e, _f, _g;
620
622
  if (!this.table || !this.table.scenegraph) return;
621
623
  this.table.scrollLeft;
622
- const totalWidth = this.table.getAllColsWidth(), frozenOffset = null !== (_c = null === (_b = (_a = this.table).getFrozenColsOffset) || void 0 === _b ? void 0 : _b.call(_a)) && void 0 !== _c ? _c : 0, rightFrozenOffset = null !== (_f = null === (_e = (_d = this.table).getRightFrozenColsOffset) || void 0 === _e ? void 0 : _e.call(_d)) && void 0 !== _f ? _f : 0, scrollRange = Math.max(0, totalWidth - this.table.scenegraph.width - frozenOffset - rightFrozenOffset), sizeTolerance = (null === (_g = this.table.options.customConfig) || void 0 === _g ? void 0 : _g._disableColumnAndRowSizeRound) ? 1 : 0;
624
+ const scrollRange = getBodyHorizontalScrollRange(this.table), sizeTolerance = (null === (_a = this.table.options.customConfig) || void 0 === _a ? void 0 : _a._disableColumnAndRowSizeRound) ? 1 : 0;
623
625
  left = Math.max(0, Math.min(left, scrollRange - sizeTolerance)), left = Math.ceil(left);
624
626
  const oldHorizontalBarPos = this.scroll.horizontalBarPos, xRatio = scrollRange ? left / scrollRange : 0;
625
- if ((oldHorizontalBarPos !== left || !0 === (null === (_j = null === (_h = this.table.options) || void 0 === _h ? void 0 : _h.customConfig) || void 0 === _j ? void 0 : _j.scrollEventAlwaysTrigger)) && triggerEvent) {
627
+ if ((oldHorizontalBarPos !== left || !0 === (null === (_c = null === (_b = this.table.options) || void 0 === _b ? void 0 : _b.customConfig) || void 0 === _c ? void 0 : _c.scrollEventAlwaysTrigger)) && triggerEvent) {
626
628
  let horizontalBarPos = left;
627
629
  isValid(horizontalBarPos) && !isNaN(horizontalBarPos) || (horizontalBarPos = 0);
628
630
  const dx = horizontalBarPos - oldHorizontalBarPos;
@@ -630,8 +632,8 @@ export class StateManager {
630
632
  event: null == event ? void 0 : event.nativeEvent,
631
633
  scrollTop: this.scroll.verticalBarPos,
632
634
  scrollLeft: horizontalBarPos,
633
- scrollHeight: null === (_k = this.table.theme.scrollStyle) || void 0 === _k ? void 0 : _k.width,
634
- scrollWidth: null === (_l = this.table.theme.scrollStyle) || void 0 === _l ? void 0 : _l.width,
635
+ scrollHeight: null === (_d = this.table.theme.scrollStyle) || void 0 === _d ? void 0 : _d.width,
636
+ scrollWidth: null === (_e = this.table.theme.scrollStyle) || void 0 === _e ? void 0 : _e.width,
635
637
  viewHeight: this.table.tableNoFrameHeight,
636
638
  viewWidth: this.table.tableNoFrameWidth,
637
639
  scrollDirection: "horizontal",
@@ -650,8 +652,8 @@ export class StateManager {
650
652
  event: null == event ? void 0 : event.nativeEvent,
651
653
  scrollTop: this.scroll.verticalBarPos,
652
654
  scrollLeft: this.scroll.horizontalBarPos,
653
- scrollHeight: null === (_m = this.table.theme.scrollStyle) || void 0 === _m ? void 0 : _m.width,
654
- scrollWidth: null === (_o = this.table.theme.scrollStyle) || void 0 === _o ? void 0 : _o.width,
655
+ scrollHeight: null === (_f = this.table.theme.scrollStyle) || void 0 === _f ? void 0 : _f.width,
656
+ scrollWidth: null === (_g = this.table.theme.scrollStyle) || void 0 === _g ? void 0 : _g.width,
655
657
  viewHeight: this.table.tableNoFrameHeight,
656
658
  viewWidth: this.table.tableNoFrameWidth,
657
659
  scrollDirection: "horizontal",