@visactor/vtable 0.22.0-alpha.0 → 0.22.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 (57) hide show
  1. package/cjs/ListTable.js.map +1 -1
  2. package/cjs/core/BaseTable.js +21 -7
  3. package/cjs/core/BaseTable.js.map +1 -1
  4. package/cjs/data/DataSource.js +5 -1
  5. package/cjs/data/DataSource.js.map +1 -1
  6. package/cjs/index.d.ts +1 -1
  7. package/cjs/index.js +1 -1
  8. package/cjs/index.js.map +1 -1
  9. package/cjs/layout/pivot-header-layout.js +1 -1
  10. package/cjs/layout/pivot-header-layout.js.map +1 -1
  11. package/cjs/layout/tree-helper.js +0 -1
  12. package/cjs/plugins/themes.js +2 -1
  13. package/cjs/scenegraph/component/custom.js +1 -1
  14. package/cjs/scenegraph/component/custom.js.map +1 -1
  15. package/cjs/scenegraph/group-creater/cell-helper.d.ts +1 -0
  16. package/cjs/scenegraph/group-creater/cell-helper.js +16 -26
  17. package/cjs/scenegraph/group-creater/cell-helper.js.map +1 -1
  18. package/cjs/scenegraph/group-creater/column-helper.js +3 -2
  19. package/cjs/scenegraph/group-creater/column-helper.js.map +1 -1
  20. package/cjs/scenegraph/group-creater/progress/proxy.js +1 -1
  21. package/cjs/scenegraph/group-creater/progress/proxy.js.map +1 -1
  22. package/cjs/scenegraph/select/update-select-border.d.ts +2 -0
  23. package/cjs/scenegraph/select/update-select-border.js +19 -2
  24. package/cjs/scenegraph/select/update-select-border.js.map +1 -1
  25. package/cjs/ts-types/new-data-set.d.ts +2 -1
  26. package/cjs/ts-types/new-data-set.js.map +1 -1
  27. package/cjs/vrender.js.map +1 -1
  28. package/dist/vtable.js +64 -51
  29. package/dist/vtable.min.js +2 -2
  30. package/es/ListTable.js.map +1 -1
  31. package/es/core/BaseTable.js +20 -7
  32. package/es/core/BaseTable.js.map +1 -1
  33. package/es/data/DataSource.js +5 -1
  34. package/es/data/DataSource.js.map +1 -1
  35. package/es/index.d.ts +1 -1
  36. package/es/index.js +1 -1
  37. package/es/index.js.map +1 -1
  38. package/es/layout/pivot-header-layout.js +1 -1
  39. package/es/layout/pivot-header-layout.js.map +1 -1
  40. package/es/layout/tree-helper.js +1 -2
  41. package/es/plugins/themes.js +2 -1
  42. package/es/scenegraph/component/custom.js +1 -1
  43. package/es/scenegraph/component/custom.js.map +1 -1
  44. package/es/scenegraph/group-creater/cell-helper.d.ts +1 -0
  45. package/es/scenegraph/group-creater/cell-helper.js +12 -24
  46. package/es/scenegraph/group-creater/cell-helper.js.map +1 -1
  47. package/es/scenegraph/group-creater/column-helper.js +5 -4
  48. package/es/scenegraph/group-creater/column-helper.js.map +1 -1
  49. package/es/scenegraph/group-creater/progress/proxy.js +1 -1
  50. package/es/scenegraph/group-creater/progress/proxy.js.map +1 -1
  51. package/es/scenegraph/select/update-select-border.d.ts +2 -0
  52. package/es/scenegraph/select/update-select-border.js +16 -0
  53. package/es/scenegraph/select/update-select-border.js.map +1 -1
  54. package/es/ts-types/new-data-set.d.ts +2 -1
  55. package/es/ts-types/new-data-set.js.map +1 -1
  56. package/es/vrender.js.map +1 -1
  57. package/package.json +3 -3
@@ -33,7 +33,7 @@ Object.defineProperty(exports, "__esModule", {
33
33
  value: !0
34
34
  }), exports.BaseTable = void 0;
35
35
 
36
- const columnStyleContents = __importStar(require("../body-helper/style")), headerStyleContents = __importStar(require("../header-helper/style")), style_1 = require("./style"), style = __importStar(require("../tools/style")), ts_types_1 = require("../ts-types"), helper_1 = require("../tools/helper"), TABLE_EVENT_TYPE_1 = require("./TABLE_EVENT_TYPE"), EventHandler_1 = require("../event/EventHandler"), EventTarget_1 = require("../event/EventTarget"), NumberMap_1 = require("../tools/NumberMap"), Rect_1 = require("../tools/Rect"), util_1 = require("../tools/util"), themes_1 = __importDefault(require("../themes")), env_1 = require("../tools/env"), scenegraph_1 = require("../scenegraph/scenegraph"), state_1 = require("../state/state"), event_1 = require("../event/event"), body_helper_1 = require("../body-helper/body-helper"), header_helper_1 = require("../header-helper/header-helper"), TooltipHandler_1 = require("../components/tooltip/TooltipHandler"), vutils_1 = require("@visactor/vutils"), text_measure_1 = require("../scenegraph/utils/text-measure"), get_prop_1 = require("../scenegraph/utils/get-prop"), icons_1 = require("../plugins/icons"), tableHelper_1 = require("./tableHelper"), MenuHandler_1 = require("../components/menu/dom/MenuHandler"), FouseInput_1 = require("./FouseInput"), pixel_ratio_1 = require("../tools/pixel-ratio"), create_legend_1 = require("../components/legend/create-legend"), vdataset_1 = require("@visactor/vdataset"), chart_render_helper_1 = require("../scenegraph/graphic/contributions/chart-render-helper"), get_axis_config_1 = require("../layout/chart-helper/get-axis-config"), row_height_map_1 = require("../layout/row-height-map"), row_series_number_helper_1 = require("./row-series-number-helper"), custom_cell_style_1 = require("../plugins/custom-cell-style"), {toBoxArray: toBoxArray} = helper_1.style, {isTouchEvent: isTouchEvent} = helper_1.event, rangeReg = /^\$(\d+)\$(\d+)$/;
36
+ const columnStyleContents = __importStar(require("../body-helper/style")), headerStyleContents = __importStar(require("../header-helper/style")), style_1 = require("./style"), style = __importStar(require("../tools/style")), ts_types_1 = require("../ts-types"), helper_1 = require("../tools/helper"), TABLE_EVENT_TYPE_1 = require("./TABLE_EVENT_TYPE"), EventHandler_1 = require("../event/EventHandler"), EventTarget_1 = require("../event/EventTarget"), NumberMap_1 = require("../tools/NumberMap"), Rect_1 = require("../tools/Rect"), util_1 = require("../tools/util"), themes_1 = __importDefault(require("../themes")), env_1 = require("../tools/env"), scenegraph_1 = require("../scenegraph/scenegraph"), state_1 = require("../state/state"), event_1 = require("../event/event"), body_helper_1 = require("../body-helper/body-helper"), header_helper_1 = require("../header-helper/header-helper"), TooltipHandler_1 = require("../components/tooltip/TooltipHandler"), vutils_1 = require("@visactor/vutils"), text_measure_1 = require("../scenegraph/utils/text-measure"), get_prop_1 = require("../scenegraph/utils/get-prop"), icons_1 = require("../plugins/icons"), tableHelper_1 = require("./tableHelper"), MenuHandler_1 = require("../components/menu/dom/MenuHandler"), FouseInput_1 = require("./FouseInput"), pixel_ratio_1 = require("../tools/pixel-ratio"), create_legend_1 = require("../components/legend/create-legend"), vdataset_1 = require("@visactor/vdataset"), chart_render_helper_1 = require("../scenegraph/graphic/contributions/chart-render-helper"), get_axis_config_1 = require("../layout/chart-helper/get-axis-config"), row_height_map_1 = require("../layout/row-height-map"), row_series_number_helper_1 = require("./row-series-number-helper"), custom_cell_style_1 = require("../plugins/custom-cell-style"), update_select_border_1 = require("../scenegraph/select/update-select-border"), {toBoxArray: toBoxArray} = helper_1.style, {isTouchEvent: isTouchEvent} = helper_1.event, rangeReg = /^\$(\d+)\$(\d+)$/;
37
37
 
38
38
  (0, style_1.importStyle)();
39
39
 
@@ -45,7 +45,7 @@ class BaseTable extends EventTarget_1.EventTarget {
45
45
  }
46
46
  constructor(container, options = {}) {
47
47
  var _a, _b, _c, _d, _e, _f, _g, _h, _j;
48
- if (super(), this.showFrozenIcon = !0, this.version = "0.22.0-alpha.0", this.id = `VTable${Date.now()}`,
48
+ if (super(), this.showFrozenIcon = !0, this.version = "0.22.1", this.id = `VTable${Date.now()}`,
49
49
  this.isReleased = !1, this._chartEventMap = {}, this.throttleInvalidate = (0, util_1.throttle2)(this.render.bind(this), 200),
50
50
  !container && "node" !== options.mode) throw new Error("vtable's container is undefined");
51
51
  const {frozenColCount: frozenColCount = 0, defaultRowHeight: defaultRowHeight = 40, defaultHeaderRowHeight: defaultHeaderRowHeight, defaultColWidth: defaultColWidth = 80, defaultHeaderColWidth: defaultHeaderColWidth, widthMode: widthMode = "standard", heightMode: heightMode = "standard", autoFillWidth: autoFillWidth = !1, autoFillHeight: autoFillHeight = !1, keyboardOptions: keyboardOptions, eventOptions: eventOptions, rowSeriesNumber: rowSeriesNumber, columnResizeMode: columnResizeMode, dragHeaderMode: dragHeaderMode, showFrozenIcon: showFrozenIcon, allowFrozenColCount: allowFrozenColCount, padding: padding, hover: hover, menu: menu, select: click, customRender: customRender, pixelRatio: pixelRatio = pixel_ratio_1.defaultPixelRatio, renderChartAsync: renderChartAsync, renderChartAsyncBatchCount: renderChartAsyncBatchCount, mode: mode, modeParams: modeParams, canvasWidth: canvasWidth, canvasHeight: canvasHeight, overscrollBehavior: overscrollBehavior, limitMinWidth: limitMinWidth} = options;
@@ -1150,7 +1150,7 @@ class BaseTable extends EventTarget_1.EventTarget {
1150
1150
  return null === (_a = this.internalProps.dataSource) || void 0 === _a ? void 0 : _a.hasField(index, field);
1151
1151
  }
1152
1152
  _getCellStyle(col, row) {
1153
- var _a, _b, _c, _d;
1153
+ var _a, _b, _c, _d, _e, _f, _g, _h, _j;
1154
1154
  const customCellStyle = this.customCellStylePlugin.getCustomCellStyle(col, row), {layoutMap: layoutMap} = this.internalProps;
1155
1155
  if (layoutMap.isHeader(col, row)) {
1156
1156
  let cacheKey;
@@ -1200,7 +1200,10 @@ class BaseTable extends EventTarget_1.EventTarget {
1200
1200
  }
1201
1201
  return this.headerStyleCache.set(cacheKey, cacheStyle), customCellStyle ? (0, custom_cell_style_1.mergeStyle)(cacheStyle, customCellStyle) : cacheStyle;
1202
1202
  }
1203
- let cacheKey;
1203
+ let bgColorFunc, cacheKey;
1204
+ (null === (_f = null === (_e = this.internalProps) || void 0 === _e ? void 0 : _e.dataConfig) || void 0 === _f ? void 0 : _f.mappingRules) && !this.isHeader(col, row) && (null === (_j = null === (_h = null === (_g = this.internalProps) || void 0 === _g ? void 0 : _g.dataConfig) || void 0 === _h ? void 0 : _h.mappingRules) || void 0 === _j || _j.forEach(((mappingRule, i) => {
1205
+ mappingRule.bgColor && this.internalProps.layoutMap.getIndicatorKey(col, row) === mappingRule.bgColor.indicatorKey && (bgColorFunc = mappingRule.bgColor.mapping);
1206
+ })));
1204
1207
  const cellType = this.getCellType(col, row);
1205
1208
  let cacheStyle;
1206
1209
  if (cacheKey = this.isSeriesNumberInBody(col, row) ? `${col}-series-` + cellType : this.isListTable() && !this.transpose || this.isPivotTable() && this.internalProps.layoutMap.indicatorsAsCol ? col + cellType : row + cellType,
@@ -1214,7 +1217,10 @@ class BaseTable extends EventTarget_1.EventTarget {
1214
1217
  value: this.getCellValue(col, row),
1215
1218
  dataValue: this.getCellOriginValue(col, row),
1216
1219
  cellHeaderPaths: this.getCellHeaderPaths(col, row)
1217
- }, styleClass, this.options.autoWrapText, this.theme), (0, vutils_1.isFunction)(style) || (layoutMap.isBottomFrozenRow(row) ? this.bodyBottomStyleCache.set(cacheKey, cacheStyle) : this.bodyStyleCache.set(cacheKey, cacheStyle)),
1220
+ }, styleClass, this.options.autoWrapText, this.theme), bgColorFunc && (cacheStyle = (0,
1221
+ custom_cell_style_1.mergeStyle)(cacheStyle, {
1222
+ bgColor: bgColorFunc
1223
+ })), (0, vutils_1.isFunction)(style) || (layoutMap.isBottomFrozenRow(row) ? this.bodyBottomStyleCache.set(cacheKey, cacheStyle) : this.bodyStyleCache.set(cacheKey, cacheStyle)),
1218
1224
  customCellStyle ? (0, custom_cell_style_1.mergeStyle)(cacheStyle, customCellStyle) : cacheStyle;
1219
1225
  }
1220
1226
  clearCellStyleCache() {
@@ -1386,7 +1392,7 @@ class BaseTable extends EventTarget_1.EventTarget {
1386
1392
  if (range) {
1387
1393
  const copyCellValue = getCopyCellValue(c, r, range);
1388
1394
  if ("undefined" != typeof Promise && copyCellValue instanceof Promise) ; else {
1389
- const strCellValue = `${copyCellValue}`;
1395
+ const strCellValue = (0, vutils_1.isValid)(copyCellValue) ? `${copyCellValue}` : "";
1390
1396
  /^\[object .*\]$/.exec(strCellValue) || (copyValue += strCellValue);
1391
1397
  }
1392
1398
  (c < range.end.col || c < maxCol) && (copyValue += "\t");
@@ -1495,13 +1501,21 @@ class BaseTable extends EventTarget_1.EventTarget {
1495
1501
  return this.scenegraph.stage.toCanvas().toDataURL();
1496
1502
  }
1497
1503
  exportCellImg(col, row) {
1504
+ var _a, _b, _c, _d;
1498
1505
  const isInView = this.cellIsInVisualView(col, row), {scrollTop: scrollTop, scrollLeft: scrollLeft} = this;
1499
1506
  isInView || this.scrollToCell({
1500
1507
  col: col,
1501
1508
  row: row
1502
1509
  });
1503
- const cellRect = this.getCellRelativeRect(col, row), c = this.scenegraph.stage.toCanvas(!1, (new vutils_1.AABBBounds).set(cellRect.left + this.tableX + 1, cellRect.top + this.tableY + 1, cellRect.right + this.tableX, cellRect.bottom + this.tableY));
1510
+ const cellRect = this.getCellRelativeRect(col, row);
1511
+ (null === (_b = null === (_a = this.stateManager.select) || void 0 === _a ? void 0 : _a.ranges) || void 0 === _b ? void 0 : _b.length) > 0 && (0,
1512
+ update_select_border_1.hideCellSelectBorder)(this.scenegraph);
1513
+ const {col: hoverCol, row: hoverRow} = this.stateManager.hover.cellPos;
1514
+ this.stateManager.updateHoverPos(-1, -1);
1515
+ const c = this.scenegraph.stage.toCanvas(!1, (new vutils_1.AABBBounds).set(cellRect.left + this.tableX + 1, cellRect.top + this.tableY + 1, cellRect.right + this.tableX, cellRect.bottom + this.tableY));
1504
1516
  return isInView || (this.setScrollTop(scrollTop), this.setScrollLeft(scrollLeft)),
1517
+ (null === (_d = null === (_c = this.stateManager.select) || void 0 === _c ? void 0 : _c.ranges) || void 0 === _d ? void 0 : _d.length) > 0 && (0,
1518
+ update_select_border_1.restoreCellSelectBorder)(this.scenegraph), this.stateManager.updateHoverPos(hoverCol, hoverRow),
1505
1519
  c.toDataURL();
1506
1520
  }
1507
1521
  exportCellRangeImg(cellRange) {