@visactor/vtable 0.12.0-alpha.3 → 0.12.0

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 (35) hide show
  1. package/cjs/core/BaseTable.js +3 -3
  2. package/cjs/core/BaseTable.js.map +1 -1
  3. package/cjs/event/event.js +1 -1
  4. package/cjs/event/event.js.map +1 -1
  5. package/cjs/event/listener/container-dom.js.map +1 -1
  6. package/cjs/event/listener/table-group.js +27 -23
  7. package/cjs/event/listener/table-group.js.map +1 -1
  8. package/cjs/index.d.ts +1 -1
  9. package/cjs/index.js +1 -1
  10. package/cjs/index.js.map +1 -1
  11. package/cjs/scenegraph/layout/compute-col-width.js +12 -11
  12. package/cjs/scenegraph/layout/compute-col-width.js.map +1 -1
  13. package/cjs/scenegraph/layout/compute-row-height.js +14 -14
  14. package/cjs/scenegraph/layout/compute-row-height.js.map +1 -1
  15. package/cjs/scenegraph/scenegraph.js +4 -3
  16. package/cjs/scenegraph/scenegraph.js.map +1 -1
  17. package/dist/vtable.js +69 -50
  18. package/dist/vtable.min.js +2 -2
  19. package/es/core/BaseTable.js +3 -3
  20. package/es/core/BaseTable.js.map +1 -1
  21. package/es/event/event.js +1 -1
  22. package/es/event/event.js.map +1 -1
  23. package/es/event/listener/container-dom.js.map +1 -1
  24. package/es/event/listener/table-group.js +27 -23
  25. package/es/event/listener/table-group.js.map +1 -1
  26. package/es/index.d.ts +1 -1
  27. package/es/index.js +1 -1
  28. package/es/index.js.map +1 -1
  29. package/es/scenegraph/layout/compute-col-width.js +12 -11
  30. package/es/scenegraph/layout/compute-col-width.js.map +1 -1
  31. package/es/scenegraph/layout/compute-row-height.js +13 -13
  32. package/es/scenegraph/layout/compute-row-height.js.map +1 -1
  33. package/es/scenegraph/scenegraph.js +4 -3
  34. package/es/scenegraph/scenegraph.js.map +1 -1
  35. package/package.json +3 -3
package/dist/vtable.js CHANGED
@@ -40428,25 +40428,29 @@
40428
40428
  }
40429
40429
  if (table.heightMode === 'adaptive') {
40430
40430
  table._clearRowRangeHeightsMap();
40431
- const totalDrawHeight = table.tableNoFrameHeight - table.getFrozenRowsHeight() - table.getBottomFrozenRowsHeight();
40431
+ const columnHeaderHeight = table.getRowsHeight(0, table.columnHeaderLevelCount - 1);
40432
+ const bottomHeaderHeight = table.isPivotChart() ? table.getBottomFrozenRowsHeight() : 0;
40433
+ const totalDrawHeight = table.tableNoFrameHeight - columnHeaderHeight - bottomHeaderHeight;
40434
+ const startRow = table.columnHeaderLevelCount;
40435
+ const endRow = table.isPivotChart() ? table.rowCount - table.bottomFrozenRowCount : table.rowCount;
40432
40436
  let actualHeight = 0;
40433
- for (let row = table.frozenRowCount; row < table.rowCount - table.bottomFrozenRowCount; row++) {
40437
+ for (let row = startRow; row < endRow; row++) {
40434
40438
  actualHeight += update ? newHeights[row] : table.getRowHeight(row);
40435
40439
  }
40436
40440
  const factor = totalDrawHeight / actualHeight;
40437
- for (let row = table.frozenRowCount; row < table.rowCount - table.bottomFrozenRowCount; row++) {
40441
+ for (let row = startRow; row < endRow; row++) {
40438
40442
  let rowHeight;
40439
- if (row === table.rowCount - table.bottomFrozenRowCount - 1) {
40443
+ if (row === endRow - 1) {
40440
40444
  rowHeight =
40441
40445
  totalDrawHeight -
40442
40446
  (update
40443
40447
  ? newHeights.reduce((acr, cur, index) => {
40444
- if (index >= table.frozenRowCount && index < newHeights.length - table.bottomFrozenRowCount - 1) {
40448
+ if (index >= startRow && index <= endRow - 2) {
40445
40449
  return acr + cur;
40446
40450
  }
40447
40451
  return acr;
40448
40452
  }, 0)
40449
- : table.getRowsHeight(table.frozenRowCount, table.rowCount - table.bottomFrozenRowCount - 2));
40453
+ : table.getRowsHeight(startRow, endRow - 2));
40450
40454
  }
40451
40455
  else {
40452
40456
  rowHeight = Math.round((update ? newHeights[row] : table.getRowHeight(row)) * factor);
@@ -40595,7 +40599,7 @@
40595
40599
  if (customRender || customLayout) {
40596
40600
  let spanRow = 1;
40597
40601
  let height = 0;
40598
- if (table.isHeader(col, row) || table.getBodyColumnDefine(col, row).mergeCell) {
40602
+ if (table.isHeader(col, row) || table.getBodyColumnDefine(col, row)?.mergeCell) {
40599
40603
  const cellRange = table.getCellRange(col, row);
40600
40604
  spanRow = cellRange.end.row - cellRange.start.row + 1;
40601
40605
  }
@@ -40665,7 +40669,7 @@
40665
40669
  }
40666
40670
  let spanRow = 1;
40667
40671
  let endCol = col;
40668
- if (table.isHeader(col, row) || table.getBodyColumnDefine(col, row).mergeCell) {
40672
+ if (table.isHeader(col, row) || table.getBodyColumnDefine(col, row)?.mergeCell) {
40669
40673
  const cellRange = table.getCellRange(col, row);
40670
40674
  spanRow = cellRange.end.row - cellRange.start.row + 1;
40671
40675
  col = cellRange.start.col;
@@ -43034,25 +43038,29 @@
43034
43038
  }
43035
43039
  if (table.widthMode === 'adaptive') {
43036
43040
  table._clearColRangeWidthsMap();
43037
- const totalDrawWidth = table.tableNoFrameWidth - table.getFrozenColsWidth() - table.getRightFrozenColsWidth();
43041
+ const rowHeaderWidth = table.getColsWidth(0, table.rowHeaderLevelCount - 1);
43042
+ const rightHeaderWidth = table.isPivotChart() ? table.getRightFrozenColsWidth() : 0;
43043
+ const totalDrawWidth = table.tableNoFrameWidth - rowHeaderWidth - rightHeaderWidth;
43044
+ const startCol = table.rowHeaderLevelCount;
43045
+ const endCol = table.isPivotChart() ? table.colCount - table.rightFrozenColCount : table.colCount;
43038
43046
  let actualWidth = 0;
43039
- for (let col = table.frozenColCount; col < table.colCount - table.rightFrozenColCount; col++) {
43047
+ for (let col = startCol; col < endCol; col++) {
43040
43048
  actualWidth += update ? newWidths[col] : table.getColWidth(col);
43041
43049
  }
43042
43050
  const factor = totalDrawWidth / actualWidth;
43043
- for (let col = table.frozenColCount; col < table.colCount - table.rightFrozenColCount; col++) {
43051
+ for (let col = startCol; col < endCol; col++) {
43044
43052
  let colWidth;
43045
- if (col === table.colCount - table.rightFrozenColCount - 1) {
43053
+ if (col === endCol - 1) {
43046
43054
  colWidth =
43047
43055
  totalDrawWidth -
43048
43056
  (update
43049
43057
  ? newWidths.reduce((acr, cur, index) => {
43050
- if (index >= table.rowHeaderLevelCount && index < newWidths.length - table.rightFrozenColCount - 1) {
43058
+ if (index >= startCol && index <= endCol - 2) {
43051
43059
  return acr + cur;
43052
43060
  }
43053
43061
  return acr;
43054
43062
  }, 0)
43055
- : table.getColsWidth(table.frozenColCount, table.colCount - table.rightFrozenColCount - 2));
43063
+ : table.getColsWidth(startCol, endCol - 2));
43056
43064
  }
43057
43065
  else {
43058
43066
  colWidth = Math.round((update ? newWidths[col] : table.getColWidth(col)) * factor);
@@ -43199,7 +43207,7 @@
43199
43207
  if (customRender || customLayout) {
43200
43208
  let spanCol = 1;
43201
43209
  let width = 0;
43202
- if (table.isHeader(col, row) || table.getBodyColumnDefine(col, row).mergeCell) {
43210
+ if (table.isHeader(col, row) || table.getBodyColumnDefine(col, row)?.mergeCell) {
43203
43211
  const cellRange = table.getCellRange(col, row);
43204
43212
  spanCol = cellRange.end.col - cellRange.start.col + 1;
43205
43213
  }
@@ -43252,7 +43260,7 @@
43252
43260
  });
43253
43261
  }
43254
43262
  let spanCol = 1;
43255
- if (table.isHeader(col, row) || table.getBodyColumnDefine(col, row).mergeCell) {
43263
+ if (table.isHeader(col, row) || table.getBodyColumnDefine(col, row)?.mergeCell) {
43256
43264
  const cellRange = table.getCellRange(col, row);
43257
43265
  spanCol = cellRange.end.col - cellRange.start.col + 1;
43258
43266
  }
@@ -46626,6 +46634,7 @@
46626
46634
  }
46627
46635
  this.dealWidthMode();
46628
46636
  this.dealHeightMode();
46637
+ this.resetFrozen();
46629
46638
  this.dealFrozen();
46630
46639
  this.updateTableSize();
46631
46640
  this.updateBorderSizeAndPosition();
@@ -46771,6 +46780,7 @@
46771
46780
  this.updateNextFrame();
46772
46781
  }
46773
46782
  afterScenegraphCreated() {
46783
+ this.resetFrozen();
46774
46784
  this.dealFrozen();
46775
46785
  this.createFrameBorder();
46776
46786
  this.updateBorderSizeAndPosition();
@@ -48897,10 +48907,6 @@
48897
48907
  const table = eventManeger.table;
48898
48908
  const stateManeger = table.stateManeger;
48899
48909
  document.body.addEventListener('pointermove', (e) => {
48900
- if (eventManeger.touchSetTimeout) {
48901
- clearTimeout(eventManeger.touchSetTimeout);
48902
- eventManeger.touchSetTimeout = undefined;
48903
- }
48904
48910
  const { x, y } = table._getMouseAbstractPoint(e, false);
48905
48911
  if (stateManeger.interactionState === InteractionState.scrolling) {
48906
48912
  return;
@@ -49108,6 +49114,7 @@
49108
49114
  stateManeger.updateInteractionState(InteractionState.grabing);
49109
49115
  }
49110
49116
  }, 500);
49117
+ eventManeger.dealTableHover(eventArgsSet);
49111
49118
  }
49112
49119
  else {
49113
49120
  if (eventManeger.checkColumnResize(eventArgsSet, true)) {
@@ -49229,7 +49236,7 @@
49229
49236
  }
49230
49237
  }
49231
49238
  });
49232
- table.scenegraph.tableGroup.addEventListener('click', (e) => {
49239
+ table.scenegraph.tableGroup.addEventListener('pointertap', (e) => {
49233
49240
  if (table.stateManeger.columnResize.resizing || table.stateManeger.columnMove.moving) {
49234
49241
  return;
49235
49242
  }
@@ -49238,35 +49245,45 @@
49238
49245
  if (!eventArgsSet?.eventArgs) {
49239
49246
  return;
49240
49247
  }
49241
- const { col, row } = eventArgsSet.eventArgs;
49242
- if (table.hasListeners(TABLE_EVENT_TYPE.CLICK_CELL)) {
49243
- const cellInfo = table.getCellInfo(col, row);
49244
- let icon;
49245
- let position;
49246
- if (eventArgsSet.eventArgs?.target) {
49247
- const iconInfo = getIconAndPositionFromTarget(eventArgsSet.eventArgs?.target);
49248
- if (iconInfo) {
49249
- icon = iconInfo.icon;
49250
- position = iconInfo.position;
49248
+ if (eventManeger.touchSetTimeout || e.pointerType !== 'touch') {
49249
+ if (e.pointerType === 'touch') {
49250
+ const eventArgsSet = getCellEventArgsSet(e);
49251
+ if (eventManeger.touchSetTimeout) {
49252
+ clearTimeout(eventManeger.touchSetTimeout);
49253
+ eventManeger.dealTableSelect(eventArgsSet);
49254
+ eventManeger.touchSetTimeout = undefined;
49251
49255
  }
49252
49256
  }
49253
- const cellsEvent = {
49254
- ...cellInfo,
49255
- event: e.nativeEvent,
49256
- cells: [],
49257
- targetIcon: icon
49258
- ? {
49259
- name: icon.name,
49260
- position: position,
49261
- funcType: icon.attribute.funcType
49257
+ if (table.hasListeners(TABLE_EVENT_TYPE.CLICK_CELL)) {
49258
+ const { col, row } = eventArgsSet.eventArgs;
49259
+ const cellInfo = table.getCellInfo(col, row);
49260
+ let icon;
49261
+ let position;
49262
+ if (eventArgsSet.eventArgs?.target) {
49263
+ const iconInfo = getIconAndPositionFromTarget(eventArgsSet.eventArgs?.target);
49264
+ if (iconInfo) {
49265
+ icon = iconInfo.icon;
49266
+ position = iconInfo.position;
49262
49267
  }
49263
- : undefined,
49264
- target: eventArgsSet?.eventArgs?.target
49265
- };
49266
- table.fireListeners(TABLE_EVENT_TYPE.CLICK_CELL, cellsEvent);
49268
+ }
49269
+ const cellsEvent = {
49270
+ ...cellInfo,
49271
+ event: e.nativeEvent,
49272
+ cells: [],
49273
+ targetIcon: icon
49274
+ ? {
49275
+ name: icon.name,
49276
+ position: position,
49277
+ funcType: icon.attribute.funcType
49278
+ }
49279
+ : undefined,
49280
+ target: eventArgsSet?.eventArgs?.target
49281
+ };
49282
+ table.fireListeners(TABLE_EVENT_TYPE.CLICK_CELL, cellsEvent);
49283
+ }
49267
49284
  }
49268
49285
  });
49269
- table.scenegraph.stage.addEventListener('click', (e) => {
49286
+ table.scenegraph.stage.addEventListener('pointertap', (e) => {
49270
49287
  const target = e.target;
49271
49288
  if (target &&
49272
49289
  !target.isDescendantsOf(table.scenegraph.tableGroup) &&
@@ -49853,7 +49870,9 @@
49853
49870
  }
49854
49871
  const { eventArgs } = eventArgsSet;
49855
49872
  if (eventArgs) {
49856
- if (!this.table.isPivotChart() && eventArgsSet?.eventArgs?.target.type !== 'chart') {
49873
+ if (!this.table.isPivotChart() &&
49874
+ eventArgsSet?.eventArgs?.target.type !== 'chart' &&
49875
+ eventArgs.event.pointerType !== 'touch') {
49857
49876
  this.table.stateManeger.updateHoverPos(-1, -1);
49858
49877
  }
49859
49878
  if (this.table.isPivotChart() &&
@@ -52757,7 +52776,7 @@
52757
52776
  return TABLE_EVENT_TYPE;
52758
52777
  }
52759
52778
  options;
52760
- version = "0.12.0-alpha.3";
52779
+ version = "0.12.0";
52761
52780
  pagination;
52762
52781
  id = `VTable${Date.now()}`;
52763
52782
  headerStyleCache;
@@ -54246,8 +54265,8 @@
54246
54265
  row,
54247
54266
  field: this.getHeaderField(col, row),
54248
54267
  cellHeaderPaths: this.internalProps.layoutMap.getCellHeaderPaths(col, row),
54249
- title: colDef.title,
54250
- cellType: colDef.cellType ? (typeof colDef.cellType === 'string' ? colDef.cellType : 'progressbar') : 'text',
54268
+ title: colDef?.title,
54269
+ cellType: colDef?.cellType ? (typeof colDef.cellType === 'string' ? colDef.cellType : 'progressbar') : 'text',
54251
54270
  originData: this.getCellOriginRecord(col, row),
54252
54271
  cellRange: this.getCellRangeRelativeRect({ col, row }),
54253
54272
  value: this.getCellValue(col, row),
@@ -62262,7 +62281,7 @@
62262
62281
  return new Tag(params ? params.attribute : {});
62263
62282
  }
62264
62283
 
62265
- const version = "0.12.0-alpha.3";
62284
+ const version = "0.12.0";
62266
62285
  function getIcons() {
62267
62286
  return get$1();
62268
62287
  }