@visactor/vtable 1.0.0-alpha.3 → 1.0.1

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 (71) hide show
  1. package/cjs/body-helper/body-helper.js +4 -3
  2. package/cjs/body-helper/body-helper.js.map +1 -1
  3. package/cjs/core/BaseTable.d.ts +2 -0
  4. package/cjs/core/BaseTable.js +9 -3
  5. package/cjs/core/BaseTable.js.map +1 -1
  6. package/cjs/header-helper/header-helper.js +1 -1
  7. package/cjs/header-helper/header-helper.js.map +1 -1
  8. package/cjs/index.d.ts +1 -1
  9. package/cjs/index.js +2 -2
  10. package/cjs/index.js.map +1 -1
  11. package/cjs/scenegraph/layout/compute-col-width.js +4 -2
  12. package/cjs/scenegraph/layout/compute-col-width.js.map +1 -1
  13. package/cjs/scenegraph/layout/frozen.js +1 -1
  14. package/cjs/scenegraph/layout/frozen.js.map +1 -1
  15. package/cjs/scenegraph/scenegraph.d.ts +4 -2
  16. package/cjs/scenegraph/scenegraph.js +3 -3
  17. package/cjs/scenegraph/scenegraph.js.map +1 -1
  18. package/cjs/scenegraph/select/update-select-border.d.ts +4 -1
  19. package/cjs/scenegraph/select/update-select-border.js +6 -1
  20. package/cjs/scenegraph/select/update-select-border.js.map +1 -1
  21. package/cjs/scenegraph/utils/break-string.js +1 -1
  22. package/cjs/scenegraph/utils/break-string.js.map +1 -1
  23. package/cjs/scenegraph/utils/text-icon-layout.d.ts +3 -1
  24. package/cjs/scenegraph/utils/text-icon-layout.js +13 -7
  25. package/cjs/scenegraph/utils/text-icon-layout.js.map +1 -1
  26. package/cjs/state/select/update-position.d.ts +1 -1
  27. package/cjs/state/select/update-position.js +14 -10
  28. package/cjs/state/select/update-position.js.map +1 -1
  29. package/cjs/state/state.d.ts +4 -2
  30. package/cjs/state/state.js +2 -2
  31. package/cjs/state/state.js.map +1 -1
  32. package/cjs/ts-types/base-table.d.ts +2 -0
  33. package/cjs/ts-types/base-table.js.map +1 -1
  34. package/cjs/vrender.js.map +1 -1
  35. package/dist/vtable.js +82 -34
  36. package/dist/vtable.min.js +2 -2
  37. package/es/body-helper/body-helper.js +4 -3
  38. package/es/body-helper/body-helper.js.map +1 -1
  39. package/es/core/BaseTable.d.ts +2 -0
  40. package/es/core/BaseTable.js +9 -3
  41. package/es/core/BaseTable.js.map +1 -1
  42. package/es/header-helper/header-helper.js +1 -1
  43. package/es/header-helper/header-helper.js.map +1 -1
  44. package/es/index.d.ts +1 -1
  45. package/es/index.js +1 -1
  46. package/es/index.js.map +1 -1
  47. package/es/scenegraph/layout/compute-col-width.js +4 -2
  48. package/es/scenegraph/layout/compute-col-width.js.map +1 -1
  49. package/es/scenegraph/layout/frozen.js +1 -1
  50. package/es/scenegraph/layout/frozen.js.map +1 -1
  51. package/es/scenegraph/scenegraph.d.ts +4 -2
  52. package/es/scenegraph/scenegraph.js +3 -3
  53. package/es/scenegraph/scenegraph.js.map +1 -1
  54. package/es/scenegraph/select/update-select-border.d.ts +4 -1
  55. package/es/scenegraph/select/update-select-border.js +6 -1
  56. package/es/scenegraph/select/update-select-border.js.map +1 -1
  57. package/es/scenegraph/utils/break-string.js +1 -1
  58. package/es/scenegraph/utils/break-string.js.map +1 -1
  59. package/es/scenegraph/utils/text-icon-layout.d.ts +3 -1
  60. package/es/scenegraph/utils/text-icon-layout.js +11 -7
  61. package/es/scenegraph/utils/text-icon-layout.js.map +1 -1
  62. package/es/state/select/update-position.d.ts +1 -1
  63. package/es/state/select/update-position.js +14 -10
  64. package/es/state/select/update-position.js.map +1 -1
  65. package/es/state/state.d.ts +4 -2
  66. package/es/state/state.js +2 -2
  67. package/es/state/state.js.map +1 -1
  68. package/es/ts-types/base-table.d.ts +2 -0
  69. package/es/ts-types/base-table.js.map +1 -1
  70. package/es/vrender.js.map +1 -1
  71. package/package.json +5 -5
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/vrender.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AAAA,kCAAgC;AAChC,yDAA8F;AAC9F,yDAAqE;AACrE,yDAmBgC;AAIhC,IAAI,QAAQ,GAAG,KAAK,CAAC;AACrB,SAAgB,kBAAkB;IAChC,IAAI,QAAQ,EAAE;QACZ,OAAO;KACR;IACD,QAAQ,GAAG,IAAI,CAAC;IAEhB,IAAA,+BAAgB,GAAE,CAAC;IAEnB,IAAI,IAAA,2BAAY,GAAE,EAAE;QAClB,IAAA,6BAAc,EAAC,wBAAS,CAAC,CAAC;KAC3B;SAAM,IAAI,IAAA,wBAAS,GAAE,EAAE;QACtB,IAAA,0BAAW,EAAC,wBAAS,CAAC,CAAC;KACxB;IACD,IAAA,0BAAW,GAAE,CAAC;IACd,IAAA,4BAAa,GAAE,CAAC;IAChB,IAAA,2BAAY,GAAE,CAAC;IACf,IAAA,6BAAc,GAAE,CAAC;IACjB,IAAA,4BAAa,GAAE,CAAC;IAChB,IAAA,4BAAa,GAAE,CAAC;IAChB,IAAA,4BAAa,GAAE,CAAC;IAChB,IAAA,2BAAY,GAAE,CAAC;IACf,IAAA,2BAAY,GAAE,CAAC;IACf,IAAA,8BAAe,GAAE,CAAC;IAClB,IAAA,gCAAiB,GAAE,CAAC;IACpB,IAAA,2BAAY,GAAE,CAAC;IACf,IAAA,6BAAc,GAAE,CAAC;IACjB,IAAA,+BAAgB,GAAE,CAAC;IACnB,IAAA,iCAAkB,GAAE,CAAC;IACrB,IAAA,6BAAc,GAAE,CAAC;IACjB,IAAA,2BAAY,GAAE,CAAC;IACf,IAAA,+BAAgB,GAAE,CAAC;AACrB,CAAC;AA/BD,gDA+BC;AAED,yDAAuC;AACvC,yDAAuC","file":"vrender.js","sourcesContent":["import '@visactor/vrender-core';\nimport { container, isBrowserEnv, isNodeEnv, preLoadAllModule } from '@visactor/vrender-core';\nimport { loadBrowserEnv, loadNodeEnv } from '@visactor/vrender-kits';\nimport {\n registerArc,\n registerArc3d,\n registerArea,\n registerCircle,\n registerGlyph,\n registerGroup,\n registerImage,\n registerLine,\n registerPath,\n registerPolygon,\n registerPyramid3d,\n registerRect,\n registerRect3d,\n registerRichtext,\n registerShadowRoot,\n registerSymbol,\n registerText,\n registerWrapText\n} from '@visactor/vrender-kits';\n// 导出版本号\n// export const version = \"1.0.0-alpha.3\";\n\nlet registed = false;\nexport function registerForVrender() {\n if (registed) {\n return;\n }\n registed = true;\n // 注册内置组件\n preLoadAllModule();\n\n if (isBrowserEnv()) {\n loadBrowserEnv(container);\n } else if (isNodeEnv()) {\n loadNodeEnv(container);\n }\n registerArc();\n registerArc3d();\n registerArea();\n registerCircle();\n registerGlyph();\n registerGroup();\n registerImage();\n registerLine();\n registerPath();\n registerPolygon();\n registerPyramid3d();\n registerRect();\n registerRect3d();\n registerRichtext();\n registerShadowRoot();\n registerSymbol();\n registerText();\n registerWrapText();\n}\n\nexport * from '@visactor/vrender-core';\nexport * from '@visactor/vrender-kits';\n"]}
1
+ {"version":3,"sources":["../src/vrender.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AAAA,kCAAgC;AAChC,yDAA8F;AAC9F,yDAAqE;AACrE,yDAmBgC;AAIhC,IAAI,QAAQ,GAAG,KAAK,CAAC;AACrB,SAAgB,kBAAkB;IAChC,IAAI,QAAQ,EAAE;QACZ,OAAO;KACR;IACD,QAAQ,GAAG,IAAI,CAAC;IAEhB,IAAA,+BAAgB,GAAE,CAAC;IAEnB,IAAI,IAAA,2BAAY,GAAE,EAAE;QAClB,IAAA,6BAAc,EAAC,wBAAS,CAAC,CAAC;KAC3B;SAAM,IAAI,IAAA,wBAAS,GAAE,EAAE;QACtB,IAAA,0BAAW,EAAC,wBAAS,CAAC,CAAC;KACxB;IACD,IAAA,0BAAW,GAAE,CAAC;IACd,IAAA,4BAAa,GAAE,CAAC;IAChB,IAAA,2BAAY,GAAE,CAAC;IACf,IAAA,6BAAc,GAAE,CAAC;IACjB,IAAA,4BAAa,GAAE,CAAC;IAChB,IAAA,4BAAa,GAAE,CAAC;IAChB,IAAA,4BAAa,GAAE,CAAC;IAChB,IAAA,2BAAY,GAAE,CAAC;IACf,IAAA,2BAAY,GAAE,CAAC;IACf,IAAA,8BAAe,GAAE,CAAC;IAClB,IAAA,gCAAiB,GAAE,CAAC;IACpB,IAAA,2BAAY,GAAE,CAAC;IACf,IAAA,6BAAc,GAAE,CAAC;IACjB,IAAA,+BAAgB,GAAE,CAAC;IACnB,IAAA,iCAAkB,GAAE,CAAC;IACrB,IAAA,6BAAc,GAAE,CAAC;IACjB,IAAA,2BAAY,GAAE,CAAC;IACf,IAAA,+BAAgB,GAAE,CAAC;AACrB,CAAC;AA/BD,gDA+BC;AAED,yDAAuC;AACvC,yDAAuC","file":"vrender.js","sourcesContent":["import '@visactor/vrender-core';\nimport { container, isBrowserEnv, isNodeEnv, preLoadAllModule } from '@visactor/vrender-core';\nimport { loadBrowserEnv, loadNodeEnv } from '@visactor/vrender-kits';\nimport {\n registerArc,\n registerArc3d,\n registerArea,\n registerCircle,\n registerGlyph,\n registerGroup,\n registerImage,\n registerLine,\n registerPath,\n registerPolygon,\n registerPyramid3d,\n registerRect,\n registerRect3d,\n registerRichtext,\n registerShadowRoot,\n registerSymbol,\n registerText,\n registerWrapText\n} from '@visactor/vrender-kits';\n// 导出版本号\n// export const version = \"1.0.1\";\n\nlet registed = false;\nexport function registerForVrender() {\n if (registed) {\n return;\n }\n registed = true;\n // 注册内置组件\n preLoadAllModule();\n\n if (isBrowserEnv()) {\n loadBrowserEnv(container);\n } else if (isNodeEnv()) {\n loadNodeEnv(container);\n }\n registerArc();\n registerArc3d();\n registerArea();\n registerCircle();\n registerGlyph();\n registerGroup();\n registerImage();\n registerLine();\n registerPath();\n registerPolygon();\n registerPyramid3d();\n registerRect();\n registerRect3d();\n registerRichtext();\n registerShadowRoot();\n registerSymbol();\n registerText();\n registerWrapText();\n}\n\nexport * from '@visactor/vrender-core';\nexport * from '@visactor/vrender-kits';\n"]}
package/dist/vtable.js CHANGED
@@ -38139,7 +38139,7 @@
38139
38139
  else {
38140
38140
  text = convertInternal(textStr).replace(/\r?\n/g, '\n').replace(/\r/g, '\n').split('\n') || [];
38141
38141
  }
38142
- while (text.length && !text[text.length - 1]) {
38142
+ while (text.length && text.length > 1 && !text[text.length - 1]) {
38143
38143
  text.pop();
38144
38144
  }
38145
38145
  return text;
@@ -38291,8 +38291,7 @@
38291
38291
  lineClamp,
38292
38292
  wordBreak: 'break-word',
38293
38293
  whiteSpace: text.length === 1 && !autoWrapText ? 'no-wrap' : 'normal',
38294
- dx: (textAlign === 'left' ? (!contentLeftIcons.length && !contentRightIcons.length ? hierarchyOffset : 0) : 0) +
38295
- _contentOffset
38294
+ dx: (textAlign === 'left' ? (!contentLeftIcons.length ? hierarchyOffset : 0) : 0) + _contentOffset
38296
38295
  };
38297
38296
  const wrapText = new Text$1(cellTheme.text ? Object.assign({}, cellTheme.text, attribute) : attribute);
38298
38297
  wrapText.name = 'text';
@@ -38339,14 +38338,17 @@
38339
38338
  align: textAlign,
38340
38339
  baseline: textBaseline
38341
38340
  });
38341
+ const dealWithIconComputeVar = {
38342
+ addedHierarchyOffset: 0
38343
+ };
38342
38344
  contentLeftIcons.forEach(icon => {
38343
- const iconMark = dealWithIcon(icon, undefined, cellGroup.col, cellGroup.row, range, table);
38345
+ const iconMark = dealWithIcon(icon, undefined, cellGroup.col, cellGroup.row, range, table, dealWithIconComputeVar);
38344
38346
  iconMark.role = 'icon-content-left';
38345
38347
  iconMark.name = icon.name;
38346
38348
  cellContent.addLeftOccupyingIcon(iconMark);
38347
38349
  });
38348
38350
  contentRightIcons.forEach(icon => {
38349
- const iconMark = dealWithIcon(icon, undefined, cellGroup.col, cellGroup.row, range, table);
38351
+ const iconMark = dealWithIcon(icon, undefined, cellGroup.col, cellGroup.row, range, table, dealWithIconComputeVar);
38350
38352
  iconMark.role = 'icon-content-right';
38351
38353
  iconMark.name = icon.name;
38352
38354
  cellContent.addRightOccupyingIcon(iconMark);
@@ -38410,7 +38412,7 @@
38410
38412
  height: height + padding[0] + padding[2]
38411
38413
  });
38412
38414
  }
38413
- function dealWithIcon(icon, mark, col, row, range, table) {
38415
+ function dealWithIcon(icon, mark, col, row, range, table, dealWithIconComputeVar) {
38414
38416
  const iconAttribute = {};
38415
38417
  if (icon.type === 'image') {
38416
38418
  iconAttribute.image = icon.src;
@@ -38424,13 +38426,20 @@
38424
38426
  iconAttribute.funcType = icon.funcType;
38425
38427
  iconAttribute.interactive = icon.interactive;
38426
38428
  let hierarchyOffset = 0;
38427
- if (isNumber$4(col) &&
38429
+ if ((!dealWithIconComputeVar || dealWithIconComputeVar?.addedHierarchyOffset === 0) &&
38430
+ isNumber$4(col) &&
38428
38431
  isNumber$4(row) &&
38429
38432
  table &&
38430
- (icon.funcType === IconFuncTypeEnum.collapse || icon.funcType === IconFuncTypeEnum.expand)) {
38433
+ (icon.funcType === IconFuncTypeEnum.collapse ||
38434
+ icon.funcType === IconFuncTypeEnum.expand ||
38435
+ icon.positionType === IconPosition.contentLeft ||
38436
+ icon.positionType === IconPosition.contentRight)) {
38431
38437
  hierarchyOffset = range
38432
38438
  ? getHierarchyOffset(range.start.col, range.start.row, table)
38433
38439
  : getHierarchyOffset(col, row, table);
38440
+ if (dealWithIconComputeVar) {
38441
+ dealWithIconComputeVar.addedHierarchyOffset = 1;
38442
+ }
38434
38443
  }
38435
38444
  iconAttribute.marginLeft = (icon.marginLeft ?? 0) + hierarchyOffset;
38436
38445
  iconAttribute.marginRight = icon.marginRight ?? 0;
@@ -44903,6 +44912,10 @@
44903
44912
  if (hd?.hierarchyLevel) {
44904
44913
  cellHierarchyIndent =
44905
44914
  (hd.hierarchyLevel ?? 0) * (layoutMap.rowHierarchyIndent ?? 0);
44915
+ if (layoutMap.rowHierarchyTextStartAlignment &&
44916
+ !table.internalProps.headerHelper.getHierarchyIcon(col, row)) {
44917
+ cellHierarchyIndent += table.internalProps.headerHelper.getHierarchyIconWidth();
44918
+ }
44906
44919
  }
44907
44920
  }
44908
44921
  else {
@@ -44914,6 +44927,10 @@
44914
44927
  Array.isArray(indexArr) && table.getHierarchyState(col, row) !== HierarchyState.none
44915
44928
  ? (indexArr.length - 1) * (layoutMap.hierarchyIndent ?? 0)
44916
44929
  : 0;
44930
+ if (layoutMap.hierarchyTextStartAlignment &&
44931
+ !table.internalProps.bodyHelper.getHierarchyIcon(col, row)) {
44932
+ cellHierarchyIndent += table.internalProps.headerHelper.getHierarchyIconWidth();
44933
+ }
44917
44934
  }
44918
44935
  }
44919
44936
  const textWidth = computeTextWidth(col, row, cellType, table);
@@ -47180,7 +47197,12 @@
47180
47197
  });
47181
47198
  }
47182
47199
  }
47183
- function updateCellSelectBorder(scene, newStartCol, newStartRow, newEndCol, newEndRow, ifExtendSelectRange = true) {
47200
+ function updateCellSelectBorder(scene, selectRange, ifExtendSelectRange = true) {
47201
+ const newStartCol = selectRange.start.col;
47202
+ const newStartRow = selectRange.start.row;
47203
+ const newEndCol = selectRange.end.col;
47204
+ const newEndRow = selectRange.end.row;
47205
+ const skipBodyMerge = selectRange.skipBodyMerge;
47184
47206
  let startCol = Math.max(Math.min(newEndCol, newStartCol), 0);
47185
47207
  let startRow = Math.max(Math.min(newEndRow, newStartRow), 0);
47186
47208
  let endCol = Math.min(Math.max(newEndCol, newStartCol), scene.table.colCount - 1);
@@ -47190,6 +47212,9 @@
47190
47212
  for (let col = startCol; col <= endCol; col++) {
47191
47213
  if (col === startCol) {
47192
47214
  for (let row = startRow; row <= endRow; row++) {
47215
+ if (!scene.table.isHeader(col, row) && skipBodyMerge) {
47216
+ continue;
47217
+ }
47193
47218
  const mergeInfo = getCellMergeInfo(scene.table, col, row);
47194
47219
  if (mergeInfo && mergeInfo.start.col < startCol) {
47195
47220
  startCol = mergeInfo.start.col;
@@ -47200,6 +47225,9 @@
47200
47225
  }
47201
47226
  if (!isExtend && col === endCol) {
47202
47227
  for (let row = startRow; row <= endRow; row++) {
47228
+ if (!scene.table.isHeader(col, row) && skipBodyMerge) {
47229
+ continue;
47230
+ }
47203
47231
  const mergeInfo = getCellMergeInfo(scene.table, col, row);
47204
47232
  if (mergeInfo && Math.min(mergeInfo.end.col, scene.table.colCount - 1) > endCol) {
47205
47233
  endCol = mergeInfo.end.col;
@@ -47216,6 +47244,9 @@
47216
47244
  for (let row = startRow; row <= endRow; row++) {
47217
47245
  if (row === startRow) {
47218
47246
  for (let col = startCol; col <= endCol; col++) {
47247
+ if (!scene.table.isHeader(col, row) && skipBodyMerge) {
47248
+ continue;
47249
+ }
47219
47250
  const mergeInfo = getCellMergeInfo(scene.table, col, row);
47220
47251
  if (mergeInfo && mergeInfo.start.row < startRow) {
47221
47252
  startRow = mergeInfo.start.row;
@@ -47226,6 +47257,9 @@
47226
47257
  }
47227
47258
  if (!isExtend && row === endRow) {
47228
47259
  for (let col = startCol; col <= endCol; col++) {
47260
+ if (!scene.table.isHeader(col, row) && skipBodyMerge) {
47261
+ continue;
47262
+ }
47229
47263
  const mergeInfo = getCellMergeInfo(scene.table, col, row);
47230
47264
  if (mergeInfo && Math.min(mergeInfo.end.row, scene.table.rowCount - 1) > endRow) {
47231
47265
  endRow = mergeInfo.end.row;
@@ -47996,7 +48030,7 @@
47996
48030
  }
47997
48031
  scene.deleteAllSelectBorder();
47998
48032
  scene.table.stateManager.select.ranges.forEach(range => {
47999
- scene.updateCellSelectBorder(range.start.col, range.start.row, range.end.col, range.end.row);
48033
+ scene.updateCellSelectBorder(range);
48000
48034
  });
48001
48035
  scene.frozenColCount = scene.table.frozenColCount;
48002
48036
  scene.frozenRowCount = scene.colHeaderGroup.firstChild?.childrenCount ?? 0;
@@ -49508,8 +49542,8 @@
49508
49542
  deleteAllSelectBorder() {
49509
49543
  deleteAllSelectBorder(this);
49510
49544
  }
49511
- updateCellSelectBorder(newStartCol, newStartRow, newEndCol, newEndRow, extendSelectRange = true) {
49512
- updateCellSelectBorder(this, newStartCol, newStartRow, newEndCol, newEndRow, extendSelectRange);
49545
+ updateCellSelectBorder(selectRange, extendSelectRange = true) {
49546
+ updateCellSelectBorder(this, selectRange, extendSelectRange);
49513
49547
  }
49514
49548
  removeFillHandleFromSelectComponents() {
49515
49549
  removeFillHandleFromSelectComponents(this);
@@ -49517,7 +49551,7 @@
49517
49551
  recreateAllSelectRangeComponents() {
49518
49552
  deleteAllSelectBorder(this);
49519
49553
  this.table.stateManager.select.ranges.forEach((cellRange) => {
49520
- updateCellSelectBorder(this, cellRange.start.col, cellRange.start.row, cellRange.end.col, cellRange.end.row);
49554
+ updateCellSelectBorder(this, cellRange);
49521
49555
  });
49522
49556
  moveSelectingRangeComponentsToSelectedRangeComponents(this);
49523
49557
  }
@@ -50663,7 +50697,7 @@
50663
50697
  return table._getLayoutCellId(col, row) === table._getLayoutCellId(range1Col, range1Row);
50664
50698
  }
50665
50699
 
50666
- function updateSelectPosition(state, col, row, isShift, isCtrl, isSelectAll, isSelectMoving = false) {
50700
+ function updateSelectPosition(state, col, row, isShift, isCtrl, isSelectAll, isSelectMoving = false, skipBodyMerge = false) {
50667
50701
  const { table, interactionState } = state;
50668
50702
  const { scenegraph } = table;
50669
50703
  const { highlightScope, disableHeader, cellPos } = state.select;
@@ -50699,7 +50733,7 @@
50699
50733
  end: { col: table.colCount - 1, row: table.rowCount - 1 }
50700
50734
  });
50701
50735
  const currentRange = state.select.ranges[state.select.ranges.length - 1];
50702
- scenegraph.updateCellSelectBorder(currentRange.start.col, currentRange.start.row, currentRange.end.col, currentRange.end.row, false);
50736
+ scenegraph.updateCellSelectBorder(currentRange, false);
50703
50737
  }
50704
50738
  else if (cellPos.col !== -1 && cellPos.row !== -1 && (col === -1 || row === -1)) {
50705
50739
  cellPos.col = -1;
@@ -50732,7 +50766,7 @@
50732
50766
  currentRange.end = { col, row };
50733
50767
  }
50734
50768
  scenegraph.deleteLastSelectedRangeComponents();
50735
- scenegraph.updateCellSelectBorder(currentRange.start.col, currentRange.start.row, currentRange.end.col, currentRange.end.row);
50769
+ scenegraph.updateCellSelectBorder(currentRange);
50736
50770
  }
50737
50771
  else {
50738
50772
  let extendSelectRange = true;
@@ -50744,28 +50778,32 @@
50744
50778
  const cellRange = table.getCellRange(col, row);
50745
50779
  state.select.ranges.push({
50746
50780
  start: { col: cellRange.start.col, row },
50747
- end: { col: cellRange.end.col, row: table.rowCount - 1 }
50781
+ end: { col: cellRange.end.col, row: table.rowCount - 1 },
50782
+ skipBodyMerge: true
50748
50783
  });
50749
50784
  }
50750
50785
  else if (state.select.headerSelectMode !== 'cell' && table.isRowHeader(col, row)) {
50751
50786
  const cellRange = table.getCellRange(col, row);
50752
50787
  state.select.ranges.push({
50753
50788
  start: { col, row: cellRange.start.row },
50754
- end: { col: table.colCount - 1, row: cellRange.end.row }
50789
+ end: { col: table.colCount - 1, row: cellRange.end.row },
50790
+ skipBodyMerge: true
50755
50791
  });
50756
50792
  }
50757
50793
  else if (table.internalProps.layoutMap.isSeriesNumberInHeader(col, row)) {
50758
50794
  extendSelectRange = false;
50759
50795
  state.select.ranges.push({
50760
50796
  start: { col: 0, row: 0 },
50761
- end: { col: table.colCount - 1, row: table.rowCount - 1 }
50797
+ end: { col: table.colCount - 1, row: table.rowCount - 1 },
50798
+ skipBodyMerge: true
50762
50799
  });
50763
50800
  }
50764
50801
  else if (table.internalProps.layoutMap.isSeriesNumberInBody(col, row)) {
50765
50802
  extendSelectRange = false;
50766
50803
  state.select.ranges.push({
50767
50804
  start: { col, row: row },
50768
- end: { col: table.colCount - 1, row: row }
50805
+ end: { col: table.colCount - 1, row: row },
50806
+ skipBodyMerge: true
50769
50807
  });
50770
50808
  }
50771
50809
  else if (col >= 0 && row >= 0) {
@@ -50778,8 +50816,7 @@
50778
50816
  cellPos.col = col;
50779
50817
  cellPos.row = row;
50780
50818
  const currentRange = state.select.ranges?.[state.select.ranges.length - 1];
50781
- currentRange &&
50782
- scenegraph.updateCellSelectBorder(currentRange.start.col, currentRange.start.row, currentRange.end.col, currentRange.end.row, extendSelectRange);
50819
+ currentRange && scenegraph.updateCellSelectBorder(currentRange, extendSelectRange);
50783
50820
  }
50784
50821
  }
50785
50822
  else if ((interactionState === InteractionState.grabing || table.eventManager.isDraging) &&
@@ -50872,9 +50909,12 @@
50872
50909
  col,
50873
50910
  row
50874
50911
  };
50912
+ if (skipBodyMerge) {
50913
+ currentRange.skipBodyMerge = true;
50914
+ }
50875
50915
  }
50876
50916
  }
50877
- scenegraph.updateCellSelectBorder(currentRange.start.col, currentRange.start.row, currentRange.end.col, currentRange.end.row, extendSelectRange);
50917
+ scenegraph.updateCellSelectBorder(currentRange, extendSelectRange);
50878
50918
  }
50879
50919
  }
50880
50920
  scenegraph.updateNextFrame();
@@ -52185,11 +52225,11 @@
52185
52225
  updateHoverPos(col, row) {
52186
52226
  updateHoverPosition(this, col, row);
52187
52227
  }
52188
- updateSelectPos(col, row, isShift = false, isCtrl = false, isSelectAll = false, isSelectMoving = false) {
52228
+ updateSelectPos(col, row, isShift = false, isCtrl = false, isSelectAll = false, isSelectMoving = false, skipBodyMerge = false) {
52189
52229
  if (row !== -1 && row !== -1) {
52190
52230
  this.select.selecting = true;
52191
52231
  }
52192
- updateSelectPosition(this, col, row, isShift, isCtrl, isSelectAll, isSelectMoving);
52232
+ updateSelectPosition(this, col, row, isShift, isCtrl, isSelectAll, isSelectMoving, skipBodyMerge);
52193
52233
  }
52194
52234
  checkCellRangeInSelect(cellPosStart, cellPosEnd) {
52195
52235
  return checkMultiCellInSelect(cellPosStart, cellPosEnd, this.select.ranges, this.select.highlightScope);
@@ -55347,6 +55387,10 @@
55347
55387
  }
55348
55388
  getIcons(col, row, cellValue, dataValue, context) {
55349
55389
  const iconArr = [];
55390
+ const hierarchyIcon = this.getHierarchyIcon(col, row);
55391
+ if (hierarchyIcon) {
55392
+ iconArr.push(hierarchyIcon);
55393
+ }
55350
55394
  const { icon: iconDefine } = this._table.getBodyColumnDefine(col, row);
55351
55395
  if (iconDefine) {
55352
55396
  let iconResults;
@@ -55385,10 +55429,6 @@
55385
55429
  addIcon(iconResults);
55386
55430
  }
55387
55431
  }
55388
- const hierarchyIcon = this.getHierarchyIcon(col, row);
55389
- if (hierarchyIcon) {
55390
- iconArr.push(hierarchyIcon);
55391
- }
55392
55432
  context &&
55393
55433
  iconArr.forEach((i, index) => {
55394
55434
  if (i.content || i.src) {
@@ -56375,7 +56415,7 @@
56375
56415
  }
56376
56416
  setTableColumnsEditor() {
56377
56417
  const setEditor = (colDefines, setColumns) => {
56378
- colDefines.forEach((colDefine, index) => {
56418
+ colDefines?.forEach((colDefine, index) => {
56379
56419
  if (colDefine.editor) {
56380
56420
  setColumns[index].editor = colDefine.editor;
56381
56421
  }
@@ -58421,7 +58461,7 @@
58421
58461
  return TABLE_EVENT_TYPE;
58422
58462
  }
58423
58463
  options;
58424
- version = "1.0.0-alpha.3";
58464
+ version = "1.0.1";
58425
58465
  pagination;
58426
58466
  id = `VTable${Date.now()}`;
58427
58467
  headerStyleCache;
@@ -58995,6 +59035,10 @@
58995
59035
  this._clearRowRangeHeightsMap(row);
58996
59036
  }
58997
59037
  }
59038
+ setRowHeight(row, height) {
59039
+ this.scenegraph.setRowHeight(row, height);
59040
+ this.internalProps._heightResizedRowMap.add(row);
59041
+ }
58998
59042
  getRowsHeight(startRow, endRow) {
58999
59043
  if (startRow > endRow || this.rowCount === 0) {
59000
59044
  return 0;
@@ -59088,6 +59132,10 @@
59088
59132
  this.stateManager.checkFrozen();
59089
59133
  }
59090
59134
  }
59135
+ setColWidth(col, width) {
59136
+ this.scenegraph.setColWidth(col, width);
59137
+ this.internalProps._widthResizedColMap.add(col);
59138
+ }
59091
59139
  _clearColRangeWidthsMap(col) {
59092
59140
  if (typeof col !== 'number') {
59093
59141
  this._colRangeWidthsMap.clear();
@@ -59979,12 +60027,12 @@
59979
60027
  const { scrollLeft, scrollTop } = this;
59980
60028
  cellRanges.forEach((cellRange, index) => {
59981
60029
  if (cellRange.start.col === cellRange.end.col && cellRange.start.row === cellRange.end.row) {
59982
- this.stateManager.updateSelectPos(cellRange.start.col, cellRange.start.row, false, index >= 1);
60030
+ this.stateManager.updateSelectPos(cellRange.start.col, cellRange.start.row, false, index >= 1, false, false, true);
59983
60031
  }
59984
60032
  else {
59985
60033
  this.stateManager.updateSelectPos(cellRange.start.col, cellRange.start.row, false, index >= 1);
59986
60034
  this.stateManager.updateInteractionState(InteractionState.grabing);
59987
- this.stateManager.updateSelectPos(cellRange.end.col, cellRange.end.row, false, index >= 1);
60035
+ this.stateManager.updateSelectPos(cellRange.end.col, cellRange.end.row, false, index >= 1, false, false, true);
59988
60036
  }
59989
60037
  this.stateManager.endSelectCells(false);
59990
60038
  this.stateManager.updateInteractionState(InteractionState.default);
@@ -71627,7 +71675,7 @@
71627
71675
  }
71628
71676
 
71629
71677
  registerForVrender();
71630
- const version = "1.0.0-alpha.3";
71678
+ const version = "1.0.1";
71631
71679
  function getIcons() {
71632
71680
  return get$2();
71633
71681
  }