@visactor/vtable 0.16.3-alpha.0 → 0.16.3

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 (93) hide show
  1. package/cjs/core/BaseTable.js +1 -1
  2. package/cjs/core/BaseTable.js.map +1 -1
  3. package/cjs/core/tableHelper.js +1 -2
  4. package/cjs/dataset/flatDataToObject.js +2 -1
  5. package/cjs/event/scroll.js +1 -0
  6. package/cjs/event/util.js +0 -1
  7. package/cjs/index.d.ts +1 -1
  8. package/cjs/index.js +1 -1
  9. package/cjs/index.js.map +1 -1
  10. package/cjs/layout/pivot-header-layout.js +15 -5
  11. package/cjs/layout/pivot-header-layout.js.map +1 -1
  12. package/cjs/layout/pivot-layout-helper.js +3 -1
  13. package/cjs/layout/pivot-layout-helper.js.map +1 -1
  14. package/cjs/scenegraph/component/custom.d.ts +1 -1
  15. package/cjs/scenegraph/component/custom.js +10 -4
  16. package/cjs/scenegraph/component/custom.js.map +1 -1
  17. package/cjs/scenegraph/group-creater/cell-helper.js +1 -1
  18. package/cjs/scenegraph/group-creater/cell-helper.js.map +1 -1
  19. package/cjs/scenegraph/layout/compute-col-width.js +7 -2
  20. package/cjs/scenegraph/layout/compute-col-width.js.map +1 -1
  21. package/cjs/scenegraph/layout/compute-row-height.js +8 -3
  22. package/cjs/scenegraph/layout/compute-row-height.js.map +1 -1
  23. package/cjs/scenegraph/layout/update-height.js +3 -1
  24. package/cjs/scenegraph/layout/update-height.js.map +1 -1
  25. package/cjs/scenegraph/layout/update-width.js +3 -1
  26. package/cjs/scenegraph/layout/update-width.js.map +1 -1
  27. package/cjs/scenegraph/scenegraph.d.ts +1 -0
  28. package/cjs/scenegraph/scenegraph.js +3 -2
  29. package/cjs/scenegraph/scenegraph.js.map +1 -1
  30. package/cjs/scenegraph/select/update-select-border.js +12 -0
  31. package/cjs/scenegraph/select/update-select-border.js.map +1 -1
  32. package/cjs/state/hover/is-cell-hover.js +12 -9
  33. package/cjs/state/hover/is-cell-hover.js.map +1 -1
  34. package/cjs/ts-types/customLayout.d.ts +1 -0
  35. package/cjs/ts-types/customLayout.js.map +1 -1
  36. package/cjs/ts-types/list-table/define/basic-define.d.ts +0 -1
  37. package/cjs/ts-types/list-table/define/basic-define.js.map +1 -1
  38. package/cjs/ts-types/pivot-table/corner.d.ts +2 -0
  39. package/cjs/ts-types/pivot-table/corner.js.map +1 -1
  40. package/cjs/ts-types/pivot-table/dimension/basic-dimension.d.ts +2 -0
  41. package/cjs/ts-types/pivot-table/dimension/basic-dimension.js.map +1 -1
  42. package/cjs/ts-types/pivot-table/indicator/basic-indicator.d.ts +4 -0
  43. package/cjs/ts-types/pivot-table/indicator/basic-indicator.js.map +1 -1
  44. package/cjs/ts-types/pivot-table/title.d.ts +2 -0
  45. package/cjs/ts-types/pivot-table/title.js.map +1 -1
  46. package/dist/vtable.js +102 -21
  47. package/dist/vtable.min.js +2 -2
  48. package/es/core/BaseTable.js +1 -1
  49. package/es/core/BaseTable.js.map +1 -1
  50. package/es/core/tableHelper.js +1 -2
  51. package/es/dataset/flatDataToObject.js +2 -1
  52. package/es/event/scroll.js +2 -1
  53. package/es/event/util.js +1 -2
  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.js +15 -5
  58. package/es/layout/pivot-header-layout.js.map +1 -1
  59. package/es/layout/pivot-layout-helper.js +3 -1
  60. package/es/layout/pivot-layout-helper.js.map +1 -1
  61. package/es/scenegraph/component/custom.d.ts +1 -1
  62. package/es/scenegraph/component/custom.js +10 -4
  63. package/es/scenegraph/component/custom.js.map +1 -1
  64. package/es/scenegraph/group-creater/cell-helper.js +1 -1
  65. package/es/scenegraph/group-creater/cell-helper.js.map +1 -1
  66. package/es/scenegraph/layout/compute-col-width.js +6 -2
  67. package/es/scenegraph/layout/compute-col-width.js.map +1 -1
  68. package/es/scenegraph/layout/compute-row-height.js +7 -3
  69. package/es/scenegraph/layout/compute-row-height.js.map +1 -1
  70. package/es/scenegraph/layout/update-height.js +1 -1
  71. package/es/scenegraph/layout/update-height.js.map +1 -1
  72. package/es/scenegraph/layout/update-width.js +1 -1
  73. package/es/scenegraph/layout/update-width.js.map +1 -1
  74. package/es/scenegraph/scenegraph.d.ts +1 -0
  75. package/es/scenegraph/scenegraph.js +3 -2
  76. package/es/scenegraph/scenegraph.js.map +1 -1
  77. package/es/scenegraph/select/update-select-border.js +12 -0
  78. package/es/scenegraph/select/update-select-border.js.map +1 -1
  79. package/es/state/hover/is-cell-hover.js +12 -9
  80. package/es/state/hover/is-cell-hover.js.map +1 -1
  81. package/es/ts-types/customLayout.d.ts +1 -0
  82. package/es/ts-types/customLayout.js.map +1 -1
  83. package/es/ts-types/list-table/define/basic-define.d.ts +0 -1
  84. package/es/ts-types/list-table/define/basic-define.js.map +1 -1
  85. package/es/ts-types/pivot-table/corner.d.ts +2 -0
  86. package/es/ts-types/pivot-table/corner.js.map +1 -1
  87. package/es/ts-types/pivot-table/dimension/basic-dimension.d.ts +2 -0
  88. package/es/ts-types/pivot-table/dimension/basic-dimension.js.map +1 -1
  89. package/es/ts-types/pivot-table/indicator/basic-indicator.d.ts +4 -0
  90. package/es/ts-types/pivot-table/indicator/basic-indicator.js.map +1 -1
  91. package/es/ts-types/pivot-table/title.d.ts +2 -0
  92. package/es/ts-types/pivot-table/title.js.map +1 -1
  93. package/package.json +4 -4
package/dist/vtable.js CHANGED
@@ -50655,8 +50655,9 @@
50655
50655
  }
50656
50656
  };
50657
50657
 
50658
- function dealWithCustom(customLayout, customRender, col, row, width, height, autoWidth, autoHeight, table) {
50658
+ function dealWithCustom(customLayout, customRender, col, row, width, height, autoWidth, autoHeight, padding, table) {
50659
50659
  let renderDefault = true;
50660
+ let enableCellPadding = false;
50660
50661
  let expectedWidth;
50661
50662
  let expectedHeight;
50662
50663
  let customElements;
@@ -50686,6 +50687,7 @@
50686
50687
  elementsGroup.name = 'custom-container';
50687
50688
  }
50688
50689
  renderDefault = customRenderObj.renderDefault;
50690
+ enableCellPadding = customRenderObj.enableCellPadding;
50689
50691
  }
50690
50692
  else if (typeof customRender === 'function') {
50691
50693
  const arg = {
@@ -50721,6 +50723,14 @@
50721
50723
  const value = table.getCellValue(col, row);
50722
50724
  elementsGroup = adjustElementToGroup(customElements, autoWidth ? expectedWidth : width, autoHeight ? expectedHeight : height, value);
50723
50725
  }
50726
+ if (enableCellPadding) {
50727
+ elementsGroup.setAttributes({
50728
+ x: padding[3],
50729
+ y: padding[0],
50730
+ width: width - padding[1] - padding[3],
50731
+ height: height - padding[0] - padding[2]
50732
+ });
50733
+ }
50724
50734
  dealPercentCalc(elementsGroup, width, height);
50725
50735
  return {
50726
50736
  elementsGroup,
@@ -53546,7 +53556,7 @@
53546
53556
  customLayout = define?.customLayout;
53547
53557
  }
53548
53558
  if (customLayout || customRender) {
53549
- const customResult = dealWithCustom(customLayout, customRender, col, row, cellWidth, cellHeight, false, table.heightMode === 'autoHeight', table);
53559
+ const customResult = dealWithCustom(customLayout, customRender, col, row, cellWidth, cellHeight, false, table.heightMode === 'autoHeight', padding, table);
53550
53560
  customElementsGroup = customResult.elementsGroup;
53551
53561
  renderDefault = customResult.renderDefault;
53552
53562
  }
@@ -55032,6 +55042,7 @@
55032
55042
  }
55033
55043
  actualHeight += rowHeight;
55034
55044
  }
55045
+ table.scenegraph._dealAutoFillHeightOriginRowsHeight = actualHeight;
55035
55046
  if (actualHeight < canvasHeight && actualHeight - actualHeaderHeight > 0) {
55036
55047
  const factor = (canvasHeight - actualHeaderHeight) / (actualHeight - actualHeaderHeight);
55037
55048
  for (let row = table.frozenRowCount; row < table.rowCount - table.bottomFrozenRowCount; row++) {
@@ -55209,6 +55220,7 @@
55209
55220
  let spanRow = 1;
55210
55221
  let height = 0;
55211
55222
  let renderDefault = false;
55223
+ let enableCellPadding = false;
55212
55224
  if (table.isHeader(col, row) || table.getBodyColumnDefine(col, row)?.mergeCell) {
55213
55225
  const cellRange = table.getCellRange(col, row);
55214
55226
  spanRow = cellRange.end.row - cellRange.start.row + 1;
@@ -55229,6 +55241,7 @@
55229
55241
  customLayoutObj.rootContainer.setStage(table.scenegraph.stage);
55230
55242
  height = customLayoutObj.rootContainer.AABBBounds.height() ?? 0;
55231
55243
  renderDefault = customLayoutObj.renderDefault;
55244
+ enableCellPadding = customLayoutObj.enableCellPadding;
55232
55245
  }
55233
55246
  else {
55234
55247
  height = 0;
@@ -55243,6 +55256,11 @@
55243
55256
  height = customRender?.expectedHeight ?? 0;
55244
55257
  renderDefault = customRender?.renderDefault;
55245
55258
  }
55259
+ if (enableCellPadding) {
55260
+ const actStyle = table._getCellStyle(col, row);
55261
+ const padding = getQuadProps(getProp('padding', actStyle, col, row, table));
55262
+ height += padding[0] + padding[2];
55263
+ }
55246
55264
  return {
55247
55265
  height: height / spanRow,
55248
55266
  renderDefault
@@ -55480,7 +55498,9 @@
55480
55498
  customLayout = define?.customLayout;
55481
55499
  }
55482
55500
  if (customLayout || customRender) {
55483
- const customResult = dealWithCustom(customLayout, customRender, col, row, cell.attribute.width, cell.attribute.height, false, scene.table.heightMode === 'autoHeight', scene.table);
55501
+ const style = scene.table._getCellStyle(col, row);
55502
+ const padding = getQuadProps(getProp('padding', style, col, row, scene.table));
55503
+ const customResult = dealWithCustom(customLayout, customRender, col, row, cell.attribute.width, cell.attribute.height, false, scene.table.heightMode === 'autoHeight', padding, scene.table);
55484
55504
  customElementsGroup = customResult.elementsGroup;
55485
55505
  renderDefault = customResult.renderDefault;
55486
55506
  }
@@ -55745,7 +55765,9 @@
55745
55765
  customLayout = define?.customLayout;
55746
55766
  }
55747
55767
  if (customLayout || customRender) {
55748
- const customResult = dealWithCustom(customLayout, customRender, col, row, cellGroup.attribute.width, cellGroup.attribute.height, false, scene.table.heightMode === 'autoHeight', scene.table);
55768
+ const style = scene.table._getCellStyle(col, row);
55769
+ const padding = getQuadProps(getProp('padding', style, col, row, scene.table));
55770
+ const customResult = dealWithCustom(customLayout, customRender, col, row, cellGroup.attribute.width, cellGroup.attribute.height, false, scene.table.heightMode === 'autoHeight', padding, scene.table);
55749
55771
  customElementsGroup = customResult.elementsGroup;
55750
55772
  renderDefault = customResult.renderDefault;
55751
55773
  isHeightChange = true;
@@ -57155,27 +57177,42 @@
57155
57177
  if (isHeader && disableHeader) {
57156
57178
  return undefined;
57157
57179
  }
57180
+ let hoverMode;
57158
57181
  if (highlightScope === HighlightScope.single && cellPos.col === col && cellPos.row === row) {
57159
- return 'cellBgColor';
57182
+ hoverMode = 'cellBgColor';
57160
57183
  }
57161
57184
  else if (highlightScope === HighlightScope.column && cellPos.col === col) {
57162
- return 'inlineColumnBgColor';
57185
+ hoverMode = 'inlineColumnBgColor';
57163
57186
  }
57164
57187
  else if (highlightScope === HighlightScope.row && cellPos.row === row) {
57165
- return 'inlineRowBgColor';
57188
+ hoverMode = 'inlineRowBgColor';
57166
57189
  }
57167
57190
  else if (highlightScope === HighlightScope.cross) {
57168
57191
  if (cellPos.col === col && cellPos.row === row) {
57169
- return 'cellBgColor';
57192
+ hoverMode = 'cellBgColor';
57170
57193
  }
57171
57194
  else if (cellPos.col === col) {
57172
- return 'inlineColumnBgColor';
57195
+ hoverMode = 'inlineColumnBgColor';
57173
57196
  }
57174
57197
  else if (cellPos.row === row) {
57175
- return 'inlineRowBgColor';
57198
+ hoverMode = 'inlineRowBgColor';
57176
57199
  }
57177
57200
  }
57178
- return undefined;
57201
+ if (hoverMode) {
57202
+ let cellDisable;
57203
+ if (isHeader) {
57204
+ const define = table.getHeaderDefine(col, row);
57205
+ cellDisable = define.disableHeaderHover;
57206
+ }
57207
+ else {
57208
+ const define = table.getBodyColumnDefine(col, row);
57209
+ cellDisable = define.disableHover;
57210
+ }
57211
+ if (cellDisable) {
57212
+ hoverMode = undefined;
57213
+ }
57214
+ }
57215
+ return hoverMode;
57179
57216
  }
57180
57217
 
57181
57218
  let SplitGroupBeforeRenderContribution = class SplitGroupBeforeRenderContribution {
@@ -57849,6 +57886,7 @@
57849
57886
  let spanCol = 1;
57850
57887
  let width = 0;
57851
57888
  let renderDefault = false;
57889
+ let enableCellPadding = false;
57852
57890
  if (table.isHeader(col, row) || table.getBodyColumnDefine(col, row)?.mergeCell) {
57853
57891
  const cellRange = table.getCellRange(col, row);
57854
57892
  spanCol = cellRange.end.col - cellRange.start.col + 1;
@@ -57869,6 +57907,7 @@
57869
57907
  customLayoutObj.rootContainer.setStage(table.scenegraph.stage);
57870
57908
  width = customLayoutObj.rootContainer.AABBBounds.width() ?? 0;
57871
57909
  renderDefault = customLayoutObj.renderDefault;
57910
+ enableCellPadding = customLayoutObj.enableCellPadding;
57872
57911
  }
57873
57912
  else {
57874
57913
  width = 0;
@@ -57883,6 +57922,11 @@
57883
57922
  width = customRender?.expectedWidth ?? 0;
57884
57923
  renderDefault = customRender?.renderDefault;
57885
57924
  }
57925
+ if (enableCellPadding) {
57926
+ const actStyle = table._getCellStyle(col, row);
57927
+ const padding = getQuadProps(getProp('padding', actStyle, col, row, table));
57928
+ width += padding[1] + padding[3];
57929
+ }
57886
57930
  return {
57887
57931
  width: width / spanCol,
57888
57932
  renderDefault
@@ -59407,6 +59451,29 @@
59407
59451
  ? scene.bottomFrozenGroup
59408
59452
  : scene.rightBottomCornerGroup);
59409
59453
  }
59454
+ const diffSize = Math.ceil(selectComp.rect.attribute.lineWidth / 2);
59455
+ if (endCol === scene.table.colCount - 1) {
59456
+ selectComp.rect.setAttributes({
59457
+ width: selectComp.rect.attribute.width - diffSize
59458
+ });
59459
+ }
59460
+ if (startCol === 0) {
59461
+ selectComp.rect.setAttributes({
59462
+ x: selectComp.rect.attribute.x + diffSize,
59463
+ width: selectComp.rect.attribute.width - diffSize
59464
+ });
59465
+ }
59466
+ if (endRow === scene.table.rowCount - 1) {
59467
+ selectComp.rect.setAttributes({
59468
+ height: selectComp.rect.attribute.height - diffSize
59469
+ });
59470
+ }
59471
+ if (startRow === 0) {
59472
+ selectComp.rect.setAttributes({
59473
+ y: selectComp.rect.attribute.y + diffSize,
59474
+ height: selectComp.rect.attribute.height - diffSize
59475
+ });
59476
+ }
59410
59477
  }
59411
59478
  function updateCellSelectBorder(scene, newStartCol, newStartRow, newEndCol, newEndRow) {
59412
59479
  let startCol = Math.min(newEndCol, newStartCol);
@@ -61445,6 +61512,7 @@
61445
61512
  frozenRowCount;
61446
61513
  clear;
61447
61514
  mergeMap;
61515
+ _dealAutoFillHeightOriginRowsHeight;
61448
61516
  constructor(table) {
61449
61517
  this.table = table;
61450
61518
  this.hasFrozen = false;
@@ -61906,7 +61974,7 @@
61906
61974
  if (this.table.heightMode === 'adaptive') {
61907
61975
  this.recalculateRowHeights();
61908
61976
  }
61909
- else if (this.table.autoFillHeight && this.table.tableNoFrameHeight >= this.table.getAllRowsHeight()) {
61977
+ else if (this.table.autoFillHeight) {
61910
61978
  this.dealHeightMode();
61911
61979
  }
61912
61980
  this.resetFrozen();
@@ -62190,7 +62258,8 @@
62190
62258
  }
62191
62259
  actualHeight += rowHeight;
62192
62260
  }
62193
- if (actualHeight < canvasHeight && actualHeight - actualHeaderHeight > 0) {
62261
+ if ((this._dealAutoFillHeightOriginRowsHeight ?? actualHeight) < canvasHeight &&
62262
+ actualHeight - actualHeaderHeight > 0) {
62194
62263
  const factor = (canvasHeight - actualHeaderHeight) / (actualHeight - actualHeaderHeight);
62195
62264
  for (let row = table.frozenRowCount; row < table.rowCount - table.bottomFrozenRowCount; row++) {
62196
62265
  let rowHeight;
@@ -68481,7 +68550,7 @@
68481
68550
  return TABLE_EVENT_TYPE;
68482
68551
  }
68483
68552
  options;
68484
- version = "0.16.3-alpha.0";
68553
+ version = "0.16.3";
68485
68554
  pagination;
68486
68555
  id = `VTable${Date.now()}`;
68487
68556
  headerStyleCache;
@@ -73242,7 +73311,9 @@
73242
73311
  imageAutoSizing: dimensionInfo?.imageAutoSizing,
73243
73312
  headerCustomRender: dimensionInfo?.headerCustomRender,
73244
73313
  headerCustomLayout: dimensionInfo?.headerCustomLayout,
73245
- dragHeader: dimensionInfo?.dragHeader
73314
+ dragHeader: dimensionInfo?.dragHeader,
73315
+ disableHeaderHover: !!dimensionInfo?.disableHeaderHover,
73316
+ disableHeaderSelect: !!dimensionInfo?.disableHeaderSelect
73246
73317
  }),
73247
73318
  fieldFormat: dimensionInfo?.headerFormat,
73248
73319
  dropDownMenu: dimensionInfo?.dropDownMenu,
@@ -73428,7 +73499,9 @@
73428
73499
  headerType: this.columnHeaderTitle.headerType ?? 'text',
73429
73500
  style: this.columnHeaderTitle.headerStyle,
73430
73501
  define: {
73431
- id
73502
+ id,
73503
+ disableHeaderHover: !!this.columnHeaderTitle.disableHeaderHover,
73504
+ disableHeaderSelect: !!this.columnHeaderTitle.disableHeaderSelect
73432
73505
  }
73433
73506
  };
73434
73507
  this.columnHeaderObjs.push(cell);
@@ -73459,7 +73532,9 @@
73459
73532
  headerType: this.rowHeaderTitle.headerType ?? 'text',
73460
73533
  style: this.rowHeaderTitle.headerStyle,
73461
73534
  define: {
73462
- id
73535
+ id,
73536
+ disableHeaderHover: !!this.columnHeaderTitle.disableHeaderHover,
73537
+ disableHeaderSelect: !!this.columnHeaderTitle.disableHeaderSelect
73463
73538
  }
73464
73539
  };
73465
73540
  this.rowHeaderObjs.push(cell);
@@ -73634,7 +73709,9 @@
73634
73709
  define: {
73635
73710
  dimensionKey: '维度名称',
73636
73711
  id,
73637
- value: dimensionKey
73712
+ value: dimensionKey,
73713
+ disableHeaderHover: !!this.cornerSetting.disableHeaderHover,
73714
+ disableHeaderSelect: !!this.cornerSetting.disableHeaderSelect
73638
73715
  },
73639
73716
  dropDownMenu: dimensionInfo?.cornerDropDownMenu,
73640
73717
  pivotInfo: {
@@ -73675,7 +73752,9 @@
73675
73752
  define: {
73676
73753
  dimensionKey: '维度名称',
73677
73754
  id,
73678
- value: ''
73755
+ value: '',
73756
+ disableHeaderHover: !!this.cornerSetting.disableHeaderHover,
73757
+ disableHeaderSelect: !!this.cornerSetting.disableHeaderSelect
73679
73758
  }
73680
73759
  };
73681
73760
  results[id] = cell;
@@ -74474,7 +74553,9 @@
74474
74553
  define: {
74475
74554
  field: '',
74476
74555
  headerType: 'text',
74477
- cellType: 'text'
74556
+ cellType: 'text',
74557
+ disableHeaderHover: !!this.columnHeaderTitle.disableHeaderHover,
74558
+ disableHeaderSelect: !!this.columnHeaderTitle.disableHeaderSelect
74478
74559
  }
74479
74560
  };
74480
74561
  this.rowHeaderObjs.push(cell);
@@ -78946,7 +79027,7 @@
78946
79027
  return new Tag$1(params ? params.attribute : {});
78947
79028
  }
78948
79029
 
78949
- const version = "0.16.3-alpha.0";
79030
+ const version = "0.16.3";
78950
79031
  function getIcons() {
78951
79032
  return get$2();
78952
79033
  }