@visactor/vtable 0.24.1 → 0.24.2-alpha.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 (51) hide show
  1. package/cjs/PivotTable.js +52 -16
  2. package/cjs/PivotTable.js.map +1 -1
  3. package/cjs/core/BaseTable.js +1 -1
  4. package/cjs/core/BaseTable.js.map +1 -1
  5. package/cjs/dataset/flatDataToObject.d.ts +8 -3
  6. package/cjs/dataset/flatDataToObject.js +35 -8
  7. package/cjs/dataset/flatDataToObject.js.map +1 -1
  8. package/cjs/edit/edit-manager.js +0 -1
  9. package/cjs/edit/edit-manager.js.map +1 -1
  10. package/cjs/index.d.ts +1 -1
  11. package/cjs/index.js +1 -1
  12. package/cjs/index.js.map +1 -1
  13. package/cjs/layout/pivot-header-layout.d.ts +1 -0
  14. package/cjs/layout/pivot-header-layout.js +16 -4
  15. package/cjs/layout/pivot-header-layout.js.map +1 -1
  16. package/cjs/state/state.js +1 -1
  17. package/cjs/themes/component.js +1 -1
  18. package/cjs/ts-types/pivot-table/dimension/basic-dimension.d.ts +6 -1
  19. package/cjs/ts-types/pivot-table/dimension/basic-dimension.js.map +1 -1
  20. package/cjs/ts-types/pivot-table/indicator/basic-indicator.d.ts +3 -0
  21. package/cjs/ts-types/pivot-table/indicator/basic-indicator.js.map +1 -1
  22. package/cjs/ts-types/table-engine.d.ts +3 -0
  23. package/cjs/ts-types/table-engine.js.map +1 -1
  24. package/cjs/vrender.js.map +1 -1
  25. package/dist/vtable.js +159 -32
  26. package/dist/vtable.min.js +1 -1
  27. package/es/PivotTable.js +52 -16
  28. package/es/PivotTable.js.map +1 -1
  29. package/es/core/BaseTable.js +1 -1
  30. package/es/core/BaseTable.js.map +1 -1
  31. package/es/dataset/flatDataToObject.d.ts +8 -3
  32. package/es/dataset/flatDataToObject.js +34 -8
  33. package/es/dataset/flatDataToObject.js.map +1 -1
  34. package/es/edit/edit-manager.js +0 -1
  35. package/es/edit/edit-manager.js.map +1 -1
  36. package/es/index.d.ts +1 -1
  37. package/es/index.js +1 -1
  38. package/es/index.js.map +1 -1
  39. package/es/layout/pivot-header-layout.d.ts +1 -0
  40. package/es/layout/pivot-header-layout.js +12 -2
  41. package/es/layout/pivot-header-layout.js.map +1 -1
  42. package/es/state/state.js +1 -1
  43. package/es/themes/component.js +1 -1
  44. package/es/ts-types/pivot-table/dimension/basic-dimension.d.ts +6 -1
  45. package/es/ts-types/pivot-table/dimension/basic-dimension.js.map +1 -1
  46. package/es/ts-types/pivot-table/indicator/basic-indicator.d.ts +3 -0
  47. package/es/ts-types/pivot-table/indicator/basic-indicator.js.map +1 -1
  48. package/es/ts-types/table-engine.d.ts +3 -0
  49. package/es/ts-types/table-engine.js.map +1 -1
  50. package/es/vrender.js.map +1 -1
  51. package/package.json +5 -5
package/cjs/PivotTable.js CHANGED
@@ -348,14 +348,37 @@ class PivotTable extends BaseTable_1.BaseTable {
348
348
  })), rowKeys = cellDimensionPath.rowHeaderPaths.map((rowPath => {
349
349
  var _a;
350
350
  return null !== (_a = rowPath.indicatorKey) && void 0 !== _a ? _a : rowPath.value;
351
- })), treeNode = this.flatDataToObjects.getTreeNode(rowKeys, colKeys, this.internalProps.layoutMap.getBody(col, row).indicatorKey, !1);
351
+ })), treeNode = this.flatDataToObjects.getTreeNode(rowKeys, colKeys, this.internalProps.layoutMap.getBody(col, row).indicatorKey);
352
352
  return null == treeNode ? void 0 : treeNode.record;
353
353
  }
354
354
  const rowIndex = this.getBodyIndexByRow(row), colIndex = this.getBodyIndexByCol(col);
355
355
  return null === (_a = this.records[rowIndex]) || void 0 === _a ? void 0 : _a[colIndex];
356
356
  }
357
357
  getCellRawRecord(col, row) {
358
- return this.getCellOriginRecord(col, row);
358
+ var _a;
359
+ if (this.internalProps.layoutMap.isHeader(col, row)) return;
360
+ if (this.dataset) {
361
+ const cellDimensionPath = this.internalProps.layoutMap.getCellHeaderPaths(col, row), colKeys = cellDimensionPath.colHeaderPaths.map((colPath => {
362
+ var _a;
363
+ return null !== (_a = colPath.indicatorKey) && void 0 !== _a ? _a : colPath.value;
364
+ })), rowKeys = cellDimensionPath.rowHeaderPaths.map((rowPath => {
365
+ var _a;
366
+ return null !== (_a = rowPath.indicatorKey) && void 0 !== _a ? _a : rowPath.value;
367
+ }));
368
+ return this.dataset.getAggregator(this.internalProps.layoutMap.indicatorsAsCol ? rowKeys : rowKeys.slice(0, -1), this.internalProps.layoutMap.indicatorsAsCol ? colKeys.slice(0, -1) : colKeys, this.internalProps.layoutMap.getIndicatorKey(col, row)).records;
369
+ }
370
+ if (this.flatDataToObjects) {
371
+ const cellDimensionPath = this.internalProps.layoutMap.getCellHeaderPaths(col, row), colKeys = cellDimensionPath.colHeaderPaths.map((colPath => {
372
+ var _a;
373
+ return null !== (_a = colPath.indicatorKey) && void 0 !== _a ? _a : colPath.value;
374
+ })), rowKeys = cellDimensionPath.rowHeaderPaths.map((rowPath => {
375
+ var _a;
376
+ return null !== (_a = rowPath.indicatorKey) && void 0 !== _a ? _a : rowPath.value;
377
+ })), treeNode = this.flatDataToObjects.getTreeNode(rowKeys, colKeys, this.internalProps.layoutMap.getBody(col, row).indicatorKey, !1);
378
+ return null == treeNode ? void 0 : treeNode.record;
379
+ }
380
+ const rowIndex = this.getBodyIndexByRow(row), colIndex = this.getBodyIndexByCol(col);
381
+ return null === (_a = this.records[rowIndex]) || void 0 === _a ? void 0 : _a[colIndex];
359
382
  }
360
383
  updateSortRules(sortRules) {
361
384
  this.internalProps.dataConfig.sortRules = sortRules, this.dataset.updateSortRules(sortRules),
@@ -509,9 +532,15 @@ class PivotTable extends BaseTable_1.BaseTable {
509
532
  this.editorManager.completeEdit();
510
533
  }
511
534
  getEditor(col, row) {
512
- var _a;
513
- const define = this.getBodyColumnDefine(col, row);
514
- let editorDefine = null !== (_a = null == define ? void 0 : define.editor) && void 0 !== _a ? _a : this.options.editor;
535
+ var _a, _b;
536
+ let editorDefine;
537
+ if (this.isHeader(col, row) && !this.isCornerHeader(col, row)) {
538
+ const define = this.getHeaderDefine(col, row);
539
+ editorDefine = null !== (_a = null == define ? void 0 : define.headerEditor) && void 0 !== _a ? _a : this.options.headerEditor;
540
+ } else {
541
+ const define = this.getBodyColumnDefine(col, row);
542
+ editorDefine = null !== (_b = null == define ? void 0 : define.editor) && void 0 !== _b ? _b : this.options.editor;
543
+ }
515
544
  if ("function" == typeof editorDefine) {
516
545
  editorDefine = editorDefine({
517
546
  col: col,
@@ -541,9 +570,11 @@ class PivotTable extends BaseTable_1.BaseTable {
541
570
  changeCellValue(col, row, value, workOnEditableCell = !1) {
542
571
  if (workOnEditableCell && this.isHasEditorDefine(col, row) || !1 === workOnEditableCell) {
543
572
  let newValue = value;
544
- if ("number" == typeof this.getCellRawValue(col, row) && (0, util_1.isAllDigits)(value) && (newValue = parseFloat(value)),
545
- this._changeCellValueToDataSet(col, row, newValue), this.scenegraph.updateCellContent(col, row),
546
- "adaptive" === this.widthMode || this.autoFillWidth && this.getAllColsWidth() <= this.tableNoFrameWidth) 0 === this.internalProps._widthResizedColMap.size && this.scenegraph.recalculateColWidths(); else if (!this.internalProps._widthResizedColMap.has(col)) {
573
+ "number" == typeof this.getCellRawValue(col, row) && (0, util_1.isAllDigits)(value) && (newValue = parseFloat(value)),
574
+ this._changeCellValueToDataSet(col, row, newValue);
575
+ const range = this.getCellRange(col, row);
576
+ for (let sCol = range.start.col; sCol <= range.end.col; sCol++) for (let sRow = range.start.row; sRow <= range.end.row; sRow++) this.scenegraph.updateCellContent(sCol, sRow);
577
+ if ("adaptive" === this.widthMode || this.autoFillWidth && this.getAllColsWidth() <= this.tableNoFrameWidth) 0 === this.internalProps._widthResizedColMap.size && this.scenegraph.recalculateColWidths(); else if (!this.internalProps._widthResizedColMap.has(col)) {
547
578
  const oldWidth = this.getColWidth(col), newWidth = (0, compute_col_width_1.computeColWidth)(col, 0, this.rowCount - 1, this, !1);
548
579
  newWidth !== oldWidth && this.scenegraph.updateColWidth(col, newWidth - oldWidth);
549
580
  }
@@ -597,6 +628,7 @@ class PivotTable extends BaseTable_1.BaseTable {
597
628
  this.scenegraph.updateNextFrame();
598
629
  }
599
630
  _changeCellValueToDataSet(col, row, newValue) {
631
+ var _a, _b, _c;
600
632
  if (this.dataset) {
601
633
  const cellDimensionPath = this.internalProps.layoutMap.getCellHeaderPaths(col, row), colKeys = cellDimensionPath.colHeaderPaths.map((colPath => {
602
634
  var _a;
@@ -607,14 +639,18 @@ class PivotTable extends BaseTable_1.BaseTable {
607
639
  }));
608
640
  this.dataset.changeTreeNodeValue(this.internalProps.layoutMap.indicatorsAsCol ? rowKeys : rowKeys.slice(0, -1), this.internalProps.layoutMap.indicatorsAsCol ? colKeys.slice(0, -1) : colKeys, this.internalProps.layoutMap.getIndicatorKey(col, row), newValue);
609
641
  } else if (this.flatDataToObjects) {
610
- const cellDimensionPath = this.internalProps.layoutMap.getCellHeaderPaths(col, row), colKeys = cellDimensionPath.colHeaderPaths.map((colPath => {
611
- var _a;
612
- return null !== (_a = colPath.indicatorKey) && void 0 !== _a ? _a : colPath.value;
613
- })), rowKeys = cellDimensionPath.rowHeaderPaths.map((rowPath => {
614
- var _a;
615
- return null !== (_a = rowPath.indicatorKey) && void 0 !== _a ? _a : rowPath.value;
616
- }));
617
- this.flatDataToObjects.changeTreeNodeValue(rowKeys, colKeys, this.internalProps.layoutMap.getBody(col, row).indicatorKey, newValue);
642
+ const cellDimensionPath = this.internalProps.layoutMap.getCellHeaderPaths(col, row);
643
+ if (this.isHeader(col, row)) this.internalProps.layoutMap.changeTreeNodeTitle(col, row, newValue),
644
+ this.flatDataToObjects.changeRecordFieldValue((null === (_a = cellDimensionPath.colHeaderPaths) || void 0 === _a ? void 0 : _a.length) ? null !== (_b = cellDimensionPath.colHeaderPaths[cellDimensionPath.colHeaderPaths.length - 1].indicatorKey) && void 0 !== _b ? _b : cellDimensionPath.colHeaderPaths[cellDimensionPath.colHeaderPaths.length - 1].dimensionKey : null !== (_c = cellDimensionPath.rowHeaderPaths[cellDimensionPath.rowHeaderPaths.length - 1].indicatorKey) && void 0 !== _c ? _c : cellDimensionPath.rowHeaderPaths[cellDimensionPath.rowHeaderPaths.length - 1].dimensionKey, newValue); else {
645
+ const colKeys = cellDimensionPath.colHeaderPaths.map((colPath => {
646
+ var _a;
647
+ return null !== (_a = colPath.indicatorKey) && void 0 !== _a ? _a : colPath.value;
648
+ })), rowKeys = cellDimensionPath.rowHeaderPaths.map((rowPath => {
649
+ var _a;
650
+ return null !== (_a = rowPath.indicatorKey) && void 0 !== _a ? _a : rowPath.value;
651
+ }));
652
+ this.flatDataToObjects.changeTreeNodeValue(rowKeys, colKeys, this.internalProps.layoutMap.getBody(col, row).indicatorKey, newValue);
653
+ }
618
654
  } else {
619
655
  const rowIndex = this.getBodyIndexByRow(row), colIndex = this.getBodyIndexByCol(col);
620
656
  this.records[rowIndex][colIndex] = newValue;