@visactor/vtable 1.5.2-alpha.1 → 1.5.2

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 (115) hide show
  1. package/cjs/PivotChart.js +8 -8
  2. package/cjs/PivotChart.js.map +1 -1
  3. package/cjs/components/react/react-custom-layout.d.ts +8 -8
  4. package/cjs/components/react/react-custom-layout.js +123 -12
  5. package/cjs/components/react/react-custom-layout.js.map +1 -1
  6. package/cjs/core/BaseTable.js +1 -1
  7. package/cjs/core/BaseTable.js.map +1 -1
  8. package/cjs/core/utils/get-cell-position.js.map +1 -1
  9. package/cjs/data/DataSource.js +4 -2
  10. package/cjs/data/DataSource.js.map +1 -1
  11. package/cjs/dataset/dataset.js +3 -3
  12. package/cjs/dataset/dataset.js.map +1 -1
  13. package/cjs/edit/edit-manager.d.ts +2 -1
  14. package/cjs/edit/edit-manager.js +27 -15
  15. package/cjs/edit/edit-manager.js.map +1 -1
  16. package/cjs/event/event.js +1 -2
  17. package/cjs/event/listener/table-group.js +53 -41
  18. package/cjs/event/listener/table-group.js.map +1 -1
  19. package/cjs/index.d.ts +1 -1
  20. package/cjs/index.js +1 -1
  21. package/cjs/index.js.map +1 -1
  22. package/cjs/layout/chart-helper/get-axis-config.d.ts +1 -0
  23. package/cjs/layout/chart-helper/get-axis-config.js +27 -8
  24. package/cjs/layout/chart-helper/get-axis-config.js.map +1 -1
  25. package/cjs/layout/chart-helper/get-chart-spec.js +6 -6
  26. package/cjs/layout/chart-helper/get-chart-spec.js.map +1 -1
  27. package/cjs/layout/pivot-header-layout.d.ts +15 -3
  28. package/cjs/layout/pivot-header-layout.js +66 -28
  29. package/cjs/layout/pivot-header-layout.js.map +1 -1
  30. package/cjs/layout/tree-helper.js +2 -2
  31. package/cjs/layout/tree-helper.js.map +1 -1
  32. package/cjs/scenegraph/component/custom.js +3 -1
  33. package/cjs/scenegraph/component/custom.js.map +1 -1
  34. package/cjs/scenegraph/group-creater/cell-helper.js +6 -3
  35. package/cjs/scenegraph/group-creater/cell-helper.js.map +1 -1
  36. package/cjs/scenegraph/layout/compute-col-width.js +17 -11
  37. package/cjs/scenegraph/layout/compute-col-width.js.map +1 -1
  38. package/cjs/scenegraph/layout/compute-row-height.js +13 -10
  39. package/cjs/scenegraph/layout/compute-row-height.js.map +1 -1
  40. package/cjs/scenegraph/layout/update-height.js +1 -0
  41. package/cjs/scenegraph/layout/update-height.js.map +1 -1
  42. package/cjs/scenegraph/layout/update-width.js +1 -0
  43. package/cjs/scenegraph/layout/update-width.js.map +1 -1
  44. package/cjs/scenegraph/scenegraph.js +12 -2
  45. package/cjs/scenegraph/scenegraph.js.map +1 -1
  46. package/cjs/scenegraph/utils/break-string.js +2 -1
  47. package/cjs/scenegraph/utils/break-string.js.map +1 -1
  48. package/cjs/tools/helper.d.ts +1 -0
  49. package/cjs/tools/helper.js +10 -3
  50. package/cjs/tools/helper.js.map +1 -1
  51. package/cjs/tools/join.d.ts +1 -0
  52. package/cjs/tools/join.js +12 -0
  53. package/cjs/tools/join.js.map +1 -0
  54. package/cjs/ts-types/base-table.d.ts +4 -0
  55. package/cjs/ts-types/base-table.js.map +1 -1
  56. package/cjs/vrender.js.map +1 -1
  57. package/dist/vtable.js +559 -194
  58. package/dist/vtable.min.js +2 -2
  59. package/es/PivotChart.js +9 -7
  60. package/es/PivotChart.js.map +1 -1
  61. package/es/components/react/react-custom-layout.d.ts +8 -8
  62. package/es/components/react/react-custom-layout.js +123 -12
  63. package/es/components/react/react-custom-layout.js.map +1 -1
  64. package/es/core/BaseTable.js +1 -1
  65. package/es/core/BaseTable.js.map +1 -1
  66. package/es/core/utils/get-cell-position.js.map +1 -1
  67. package/es/data/DataSource.js +4 -2
  68. package/es/data/DataSource.js.map +1 -1
  69. package/es/dataset/dataset.js +4 -2
  70. package/es/dataset/dataset.js.map +1 -1
  71. package/es/edit/edit-manager.d.ts +2 -1
  72. package/es/edit/edit-manager.js +28 -14
  73. package/es/edit/edit-manager.js.map +1 -1
  74. package/es/event/event.js +1 -2
  75. package/es/event/listener/table-group.js +54 -42
  76. package/es/event/listener/table-group.js.map +1 -1
  77. package/es/index.d.ts +1 -1
  78. package/es/index.js +1 -1
  79. package/es/index.js.map +1 -1
  80. package/es/layout/chart-helper/get-axis-config.d.ts +1 -0
  81. package/es/layout/chart-helper/get-axis-config.js +25 -6
  82. package/es/layout/chart-helper/get-axis-config.js.map +1 -1
  83. package/es/layout/chart-helper/get-chart-spec.js +6 -6
  84. package/es/layout/chart-helper/get-chart-spec.js.map +1 -1
  85. package/es/layout/pivot-header-layout.d.ts +15 -3
  86. package/es/layout/pivot-header-layout.js +64 -28
  87. package/es/layout/pivot-header-layout.js.map +1 -1
  88. package/es/layout/tree-helper.js +2 -2
  89. package/es/layout/tree-helper.js.map +1 -1
  90. package/es/scenegraph/component/custom.js +3 -1
  91. package/es/scenegraph/component/custom.js.map +1 -1
  92. package/es/scenegraph/group-creater/cell-helper.js +6 -3
  93. package/es/scenegraph/group-creater/cell-helper.js.map +1 -1
  94. package/es/scenegraph/layout/compute-col-width.js +17 -11
  95. package/es/scenegraph/layout/compute-col-width.js.map +1 -1
  96. package/es/scenegraph/layout/compute-row-height.js +13 -10
  97. package/es/scenegraph/layout/compute-row-height.js.map +1 -1
  98. package/es/scenegraph/layout/update-height.js +1 -0
  99. package/es/scenegraph/layout/update-height.js.map +1 -1
  100. package/es/scenegraph/layout/update-width.js +1 -0
  101. package/es/scenegraph/layout/update-width.js.map +1 -1
  102. package/es/scenegraph/scenegraph.js +9 -2
  103. package/es/scenegraph/scenegraph.js.map +1 -1
  104. package/es/scenegraph/utils/break-string.js +2 -1
  105. package/es/scenegraph/utils/break-string.js.map +1 -1
  106. package/es/tools/helper.d.ts +1 -0
  107. package/es/tools/helper.js +6 -0
  108. package/es/tools/helper.js.map +1 -1
  109. package/es/tools/join.d.ts +1 -0
  110. package/es/tools/join.js +6 -0
  111. package/es/tools/join.js.map +1 -0
  112. package/es/ts-types/base-table.d.ts +4 -0
  113. package/es/ts-types/base-table.js.map +1 -1
  114. package/es/vrender.js.map +1 -1
  115. package/package.json +5 -5
@@ -10,6 +10,7 @@ export declare class EditManeger {
10
10
  constructor(table: BaseTableAPI);
11
11
  bindEvent(): void;
12
12
  startEditCell(col: number, row: number): void;
13
- completeEdit(e?: Event): boolean;
13
+ completeEdit(e?: Event): boolean | Promise<boolean>;
14
+ private doExit;
14
15
  cancelEdit(): void;
15
16
  }
@@ -4,7 +4,7 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: !0
5
5
  }), exports.EditManeger = void 0;
6
6
 
7
- const TABLE_EVENT_TYPE_1 = require("../core/TABLE_EVENT_TYPE"), util_1 = require("../event/util");
7
+ const TABLE_EVENT_TYPE_1 = require("../core/TABLE_EVENT_TYPE"), util_1 = require("../event/util"), helper_1 = require("../tools/helper");
8
8
 
9
9
  class EditManeger {
10
10
  constructor(table) {
@@ -63,25 +63,36 @@ class EditManeger {
63
63
  }
64
64
  }
65
65
  completeEdit(e) {
66
- var _a, _b, _c, _d, _e, _f, _g, _h;
66
+ var _a, _b;
67
67
  if (!this.editingEditor) return !0;
68
68
  const target = null == e ? void 0 : e.target, {editingEditor: editor} = this;
69
69
  if (target) if (editor.targetIsOnEditor) {
70
70
  if (editor.targetIsOnEditor(target)) return !1;
71
71
  } else if (!editor.isEditorElement || editor.isEditorElement(target)) return !1;
72
- if (this.editingEditor.getValue, !this.editingEditor.validateValue || (null === (_b = (_a = this.editingEditor).validateValue) || void 0 === _b ? void 0 : _b.call(_a))) {
73
- const changedValue = null === (_d = (_c = this.editingEditor).getValue) || void 0 === _d ? void 0 : _d.call(_c), range = this.table.getCellRange(this.editCell.col, this.editCell.row), changedValues = [];
74
- for (let row = range.start.row; row <= range.end.row; row++) {
75
- const rowChangedValues = [];
76
- for (let col = range.start.col; col <= range.end.col; col++) rowChangedValues.push(changedValue);
77
- changedValues.push(rowChangedValues);
78
- }
79
- return this.table.changeCellValues(range.start.col, range.start.row, changedValues),
80
- this.editingEditor.exit, null === (_f = (_e = this.editingEditor).exit) || void 0 === _f || _f.call(_e),
81
- null === (_h = (_g = this.editingEditor).onEnd) || void 0 === _h || _h.call(_g),
82
- this.editingEditor = null, !0;
72
+ if (this.editingEditor.getValue, this.editingEditor.validateValue) {
73
+ const maybePromiseOrValue = null === (_b = (_a = this.editingEditor).validateValue) || void 0 === _b ? void 0 : _b.call(_a);
74
+ return (0, helper_1.isPromise)(maybePromiseOrValue) ? new Promise(((resolve, reject) => {
75
+ maybePromiseOrValue.then((result => {
76
+ result ? (this.doExit(), resolve(!0)) : resolve(!1);
77
+ })).catch((err => {
78
+ reject(err);
79
+ }));
80
+ })) : !!maybePromiseOrValue && (this.doExit(), !0);
81
+ }
82
+ return this.doExit(), !0;
83
+ }
84
+ doExit() {
85
+ var _a, _b, _c, _d, _e, _f;
86
+ const changedValue = null === (_b = (_a = this.editingEditor).getValue) || void 0 === _b ? void 0 : _b.call(_a), range = this.table.getCellRange(this.editCell.col, this.editCell.row), changedValues = [];
87
+ for (let row = range.start.row; row <= range.end.row; row++) {
88
+ const rowChangedValues = [];
89
+ for (let col = range.start.col; col <= range.end.col; col++) rowChangedValues.push(changedValue);
90
+ changedValues.push(rowChangedValues);
83
91
  }
84
- return !1;
92
+ this.table.changeCellValues(range.start.col, range.start.row, changedValues), this.editingEditor.exit,
93
+ null === (_d = (_c = this.editingEditor).exit) || void 0 === _d || _d.call(_c),
94
+ null === (_f = (_e = this.editingEditor).onEnd) || void 0 === _f || _f.call(_e),
95
+ this.editingEditor = null;
85
96
  }
86
97
  cancelEdit() {
87
98
  var _a, _b, _c, _d;
@@ -91,4 +102,5 @@ class EditManeger {
91
102
  }
92
103
  }
93
104
 
94
- exports.EditManeger = EditManeger;
105
+ exports.EditManeger = EditManeger;
106
+ //# sourceMappingURL=edit-manager.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/edit/edit-manager.ts"],"names":[],"mappings":"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","file":"edit-manager.js","sourcesContent":["import type { IEditor } from '@visactor/vtable-editors';\nimport { TABLE_EVENT_TYPE } from '../core/TABLE_EVENT_TYPE';\nimport type { BaseTableAPI } from '../ts-types/base-table';\nimport type { ListTableAPI, ListTableConstructorOptions } from '../ts-types';\nimport { getCellEventArgsSet } from '../event/util';\nimport type { SimpleHeaderLayoutMap } from '../layout';\n\nexport class EditManeger {\n table: BaseTableAPI;\n editingEditor: IEditor;\n editCell: { col: number; row: number };\n\n constructor(table: BaseTableAPI) {\n this.table = table;\n this.bindEvent();\n }\n\n bindEvent() {\n const handler = this.table.internalProps.handler;\n this.table.on(TABLE_EVENT_TYPE.DBLCLICK_CELL, e => {\n if (\n !(this.table.options as ListTableConstructorOptions).editCellTrigger || //默认为双击\n (this.table.options as ListTableConstructorOptions).editCellTrigger === 'doubleclick'\n ) {\n const { col, row } = e;\n\n //取双击自动列宽逻辑\n const eventArgsSet = getCellEventArgsSet(e.federatedEvent);\n const resizeCol = this.table.scenegraph.getResizeColAt(\n eventArgsSet.abstractPos.x,\n eventArgsSet.abstractPos.y,\n eventArgsSet.eventArgs?.targetCell\n );\n if (this.table._canResizeColumn(resizeCol.col, resizeCol.row) && resizeCol.col >= 0) {\n // 判断同双击自动列宽的时间监听的DBLCLICK_CELL\n // 如果是双击自动列宽 则编辑不开启\n return;\n }\n this.startEditCell(col, row);\n }\n });\n\n this.table.on(TABLE_EVENT_TYPE.CLICK_CELL, e => {\n if ((this.table.options as ListTableConstructorOptions).editCellTrigger === 'click') {\n const { col, row } = e;\n this.startEditCell(col, row);\n }\n });\n\n handler.on(this.table.getElement(), 'wheel', (e: WheelEvent) => {\n this.completeEdit();\n });\n handler.on(this.table.getElement(), 'resize', (e: Event) => {\n if (this.table.autoFillWidth || this.table.autoFillHeight) {\n this.completeEdit();\n }\n });\n }\n\n startEditCell(col: number, row: number) {\n const editor = (this.table as ListTableAPI).getEditor(col, row);\n if (editor) {\n // //自定义内容单元格不允许编辑\n // if (this.table.getCustomRender(col, row) || this.table.getCustomLayout(col, row)) {\n // console.warn(\"VTable Warn: cell has config custom render or layout, can't be edited\");\n // return;\n // }\n // if (!this.table.isHeader(col, row)) {\n // const range = this.table.getCellRange(col, row);\n // const isMerge = range.start.col !== range.end.col || range.start.row !== range.end.row;\n // if (isMerge) {\n // console.warn(\"VTable Warn: this is merge cell, can't be edited\");\n // return;\n // }\n // }\n if ((this.table.internalProps.layoutMap as SimpleHeaderLayoutMap)?.isAggregation?.(col, row)) {\n console.warn(\"VTable Warn: this is aggregation value, can't be edited\");\n return;\n }\n\n if (!this.editingEditor) {\n this.editCell = { col, row };\n }\n this.editingEditor = editor;\n const dataValue = this.table.getCellOriginValue(col, row);\n const rect = this.table.getCellRangeRelativeRect(this.table.getCellRange(col, row));\n const referencePosition = { rect: { left: rect.left, top: rect.top, width: rect.width, height: rect.height } };\n\n editor.beginEditing && console.warn('VTable Warn: `beginEditing` is deprecated, please use `onStart` instead.');\n editor.beginEditing?.(this.table.getElement(), referencePosition, dataValue);\n\n if (editor.bindSuccessCallback) {\n console.warn('VTable Warn: `bindSuccessCallback` is deprecated, please use `onStart` instead.');\n }\n editor.bindSuccessCallback?.(() => {\n this.completeEdit();\n });\n editor.onStart?.({\n value: dataValue,\n endEdit: () => {\n this.completeEdit();\n },\n referencePosition,\n container: this.table.getElement(),\n col,\n row\n });\n }\n }\n\n /** 如果是事件触发调用该接口 请传入原始事件对象 将判断事件对象是否在编辑器本身上面 来处理是否结束编辑 返回值如果为false说明没有退出编辑状态*/\n completeEdit(e?: Event): boolean {\n if (!this.editingEditor) {\n return true;\n }\n\n const target = e?.target as HTMLElement | undefined;\n const { editingEditor: editor } = this;\n\n if (target) {\n if (editor.targetIsOnEditor) {\n console.warn('VTable Warn: `targetIsOnEditor` is deprecated, please use `isEditorElement` instead.');\n\n if (editor.targetIsOnEditor(target)) {\n return false;\n }\n } else if (!editor.isEditorElement || editor.isEditorElement(target)) {\n return false;\n }\n }\n\n if (!this.editingEditor.getValue) {\n console.warn('VTable Warn: `getValue` is not provided, did you forget to implement it?');\n }\n if (!this.editingEditor.validateValue || this.editingEditor.validateValue?.()) {\n const changedValue = this.editingEditor.getValue?.();\n const range = this.table.getCellRange(this.editCell.col, this.editCell.row);\n const changedValues: any[] = [];\n for (let row = range.start.row; row <= range.end.row; row++) {\n const rowChangedValues = [];\n for (let col = range.start.col; col <= range.end.col; col++) {\n rowChangedValues.push(changedValue);\n }\n changedValues.push(rowChangedValues);\n }\n (this.table as ListTableAPI).changeCellValues(range.start.col, range.start.row, changedValues);\n this.editingEditor.exit && console.warn('VTable Warn: `exit` is deprecated, please use `onEnd` instead.');\n this.editingEditor.exit?.();\n this.editingEditor.onEnd?.();\n this.editingEditor = null;\n return true;\n }\n return false;\n }\n\n cancelEdit() {\n if (this.editingEditor) {\n // TODO: 添加开发时弃用警告\n this.editingEditor.exit?.();\n this.editingEditor.onEnd?.();\n this.editingEditor = null;\n }\n }\n}\n"]}
1
+ {"version":3,"sources":["../src/edit/edit-manager.ts"],"names":[],"mappings":"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","file":"edit-manager.js","sourcesContent":["import type { IEditor } from '@visactor/vtable-editors';\nimport { TABLE_EVENT_TYPE } from '../core/TABLE_EVENT_TYPE';\nimport type { BaseTableAPI } from '../ts-types/base-table';\nimport type { ListTableAPI, ListTableConstructorOptions } from '../ts-types';\nimport { getCellEventArgsSet } from '../event/util';\nimport type { SimpleHeaderLayoutMap } from '../layout';\nimport { isPromise } from '../tools/helper';\n\nexport class EditManeger {\n table: BaseTableAPI;\n editingEditor: IEditor;\n editCell: { col: number; row: number };\n\n constructor(table: BaseTableAPI) {\n this.table = table;\n this.bindEvent();\n }\n\n bindEvent() {\n const handler = this.table.internalProps.handler;\n this.table.on(TABLE_EVENT_TYPE.DBLCLICK_CELL, e => {\n if (\n !(this.table.options as ListTableConstructorOptions).editCellTrigger || //默认为双击\n (this.table.options as ListTableConstructorOptions).editCellTrigger === 'doubleclick'\n ) {\n const { col, row } = e;\n\n //取双击自动列宽逻辑\n const eventArgsSet = getCellEventArgsSet(e.federatedEvent);\n const resizeCol = this.table.scenegraph.getResizeColAt(\n eventArgsSet.abstractPos.x,\n eventArgsSet.abstractPos.y,\n eventArgsSet.eventArgs?.targetCell\n );\n if (this.table._canResizeColumn(resizeCol.col, resizeCol.row) && resizeCol.col >= 0) {\n // 判断同双击自动列宽的时间监听的DBLCLICK_CELL\n // 如果是双击自动列宽 则编辑不开启\n return;\n }\n this.startEditCell(col, row);\n }\n });\n\n this.table.on(TABLE_EVENT_TYPE.CLICK_CELL, e => {\n if ((this.table.options as ListTableConstructorOptions).editCellTrigger === 'click') {\n const { col, row } = e;\n this.startEditCell(col, row);\n }\n });\n\n handler.on(this.table.getElement(), 'wheel', (e: WheelEvent) => {\n this.completeEdit();\n });\n handler.on(this.table.getElement(), 'resize', (e: Event) => {\n if (this.table.autoFillWidth || this.table.autoFillHeight) {\n this.completeEdit();\n }\n });\n }\n\n startEditCell(col: number, row: number) {\n const editor = (this.table as ListTableAPI).getEditor(col, row);\n if (editor) {\n // //自定义内容单元格不允许编辑\n // if (this.table.getCustomRender(col, row) || this.table.getCustomLayout(col, row)) {\n // console.warn(\"VTable Warn: cell has config custom render or layout, can't be edited\");\n // return;\n // }\n // if (!this.table.isHeader(col, row)) {\n // const range = this.table.getCellRange(col, row);\n // const isMerge = range.start.col !== range.end.col || range.start.row !== range.end.row;\n // if (isMerge) {\n // console.warn(\"VTable Warn: this is merge cell, can't be edited\");\n // return;\n // }\n // }\n if ((this.table.internalProps.layoutMap as SimpleHeaderLayoutMap)?.isAggregation?.(col, row)) {\n console.warn(\"VTable Warn: this is aggregation value, can't be edited\");\n return;\n }\n\n if (!this.editingEditor) {\n this.editCell = { col, row };\n }\n this.editingEditor = editor;\n const dataValue = this.table.getCellOriginValue(col, row);\n const rect = this.table.getCellRangeRelativeRect(this.table.getCellRange(col, row));\n const referencePosition = { rect: { left: rect.left, top: rect.top, width: rect.width, height: rect.height } };\n\n editor.beginEditing && console.warn('VTable Warn: `beginEditing` is deprecated, please use `onStart` instead.');\n editor.beginEditing?.(this.table.getElement(), referencePosition, dataValue);\n\n if (editor.bindSuccessCallback) {\n console.warn('VTable Warn: `bindSuccessCallback` is deprecated, please use `onStart` instead.');\n }\n editor.bindSuccessCallback?.(() => {\n this.completeEdit();\n });\n editor.onStart?.({\n value: dataValue,\n endEdit: () => {\n this.completeEdit();\n },\n referencePosition,\n container: this.table.getElement(),\n col,\n row\n });\n }\n }\n\n /** 如果是鼠标事件触发调用该接口 请传入原始事件对象 将判断事件对象是否在编辑器本身上面 来处理是否结束编辑\n * 返回值如果为false说明没有退出编辑状态 validateValue接口返回false 说明校验失败不退出编辑 */\n completeEdit(e?: Event): boolean | Promise<boolean> {\n if (!this.editingEditor) {\n return true;\n }\n\n const target = e?.target as HTMLElement | undefined;\n const { editingEditor: editor } = this;\n\n if (target) {\n if (editor.targetIsOnEditor) {\n console.warn('VTable Warn: `targetIsOnEditor` is deprecated, please use `isEditorElement` instead.');\n\n if (editor.targetIsOnEditor(target)) {\n return false;\n }\n } else if (!editor.isEditorElement || editor.isEditorElement(target)) {\n return false;\n }\n }\n\n if (!this.editingEditor.getValue) {\n console.warn('VTable Warn: `getValue` is not provided, did you forget to implement it?');\n }\n if (this.editingEditor.validateValue) {\n const maybePromiseOrValue = this.editingEditor.validateValue?.();\n if (isPromise(maybePromiseOrValue)) {\n return new Promise((resolve, reject) => {\n maybePromiseOrValue\n .then(result => {\n if (result) {\n this.doExit();\n resolve(true);\n } else {\n resolve(false);\n }\n })\n .catch((err: Error) => {\n console.error('VTable Error:', err);\n reject(err);\n });\n });\n } else if (maybePromiseOrValue) {\n this.doExit();\n return true;\n }\n return false;\n }\n this.doExit();\n return true;\n }\n\n private doExit() {\n const changedValue = this.editingEditor.getValue?.();\n const range = this.table.getCellRange(this.editCell.col, this.editCell.row);\n const changedValues: any[] = [];\n for (let row = range.start.row; row <= range.end.row; row++) {\n const rowChangedValues = [];\n for (let col = range.start.col; col <= range.end.col; col++) {\n rowChangedValues.push(changedValue);\n }\n changedValues.push(rowChangedValues);\n }\n (this.table as ListTableAPI).changeCellValues(range.start.col, range.start.row, changedValues);\n this.editingEditor.exit && console.warn('VTable Warn: `exit` is deprecated, please use `onEnd` instead.');\n this.editingEditor.exit?.();\n this.editingEditor.onEnd?.();\n this.editingEditor = null;\n }\n\n cancelEdit() {\n if (this.editingEditor) {\n // TODO: 添加开发时弃用警告\n this.editingEditor.exit?.();\n this.editingEditor.onEnd?.();\n this.editingEditor = null;\n }\n }\n}\n"]}
@@ -200,5 +200,4 @@ class EventManager {
200
200
  }
201
201
  }
202
202
 
203
- exports.EventManager = EventManager;
204
- //# sourceMappingURL=event.js.map
203
+ exports.EventManager = EventManager;
@@ -117,7 +117,7 @@ function bindTableGroupListener(eventManager) {
117
117
  event: e.nativeEvent
118
118
  });
119
119
  })), table.scenegraph.tableGroup.addEventListener("pointerupoutside", (e => {
120
- var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l;
120
+ var _a, _b, _c, _d, _e, _f, _g, _h, _j;
121
121
  const eventArgsSet = (0, util_1.getCellEventArgsSet)(e);
122
122
  if (stateManager.menu.isShow && (null === (_a = eventArgsSet.eventArgs) || void 0 === _a ? void 0 : _a.target) !== (null === (_b = stateManager.residentHoverIcon) || void 0 === _b ? void 0 : _b.icon) && setTimeout((() => {
123
123
  table.internalProps.menuHandler.pointInMenuElement(e.page.x, e.page.y) || stateManager.menu.isShow && stateManager.hideMenu();
@@ -145,13 +145,17 @@ function bindTableGroupListener(eventManager) {
145
145
  cellsEvent.cells = table.getSelectedCellInfos(), table.fireListeners(TABLE_EVENT_TYPE_1.TABLE_EVENT_TYPE.DRAG_SELECT_END, cellsEvent);
146
146
  }
147
147
  }
148
- if (!1 !== (null === (_j = table.editorManager) || void 0 === _j ? void 0 : _j.completeEdit(e.nativeEvent)) && (stateManager.updateInteractionState(ts_types_1.InteractionState.default),
149
- eventManager.dealTableHover(), null === (_k = table.options.select) || void 0 === _k ? void 0 : _k.outsideClickDeselect)) {
150
- const isHasSelected = !!(null === (_l = stateManager.select.ranges) || void 0 === _l ? void 0 : _l.length);
151
- eventManager.dealTableSelect(), stateManager.endSelectCells(!0, isHasSelected);
152
- }
148
+ const isCompleteEdit = null === (_j = table.editorManager) || void 0 === _j ? void 0 : _j.completeEdit(e.nativeEvent);
149
+ (0, helper_1.getPromiseValue)(isCompleteEdit, (isCompleteEdit => {
150
+ var _a, _b;
151
+ if (!1 !== isCompleteEdit && (stateManager.updateInteractionState(ts_types_1.InteractionState.default),
152
+ eventManager.dealTableHover(), null === (_a = table.options.select) || void 0 === _a ? void 0 : _a.outsideClickDeselect)) {
153
+ const isHasSelected = !!(null === (_b = stateManager.select.ranges) || void 0 === _b ? void 0 : _b.length);
154
+ eventManager.dealTableSelect(), stateManager.endSelectCells(!0, isHasSelected);
155
+ }
156
+ }));
153
157
  })), table.scenegraph.tableGroup.addEventListener("pointerdown", (e => {
154
- var _a, _b, _c, _d, _e, _f, _g, _h, _j;
158
+ var _a, _b, _c, _d;
155
159
  if (table.hasListeners(TABLE_EVENT_TYPE_1.TABLE_EVENT_TYPE.MOUSEDOWN_TABLE) && table.fireListeners(TABLE_EVENT_TYPE_1.TABLE_EVENT_TYPE.MOUSEDOWN_TABLE, {
156
160
  event: e.nativeEvent
157
161
  }), table.eventManager.isDown = !0, table.eventManager.LastBodyPointerXY = {
@@ -165,29 +169,33 @@ function bindTableGroupListener(eventManager) {
165
169
  if (eventManager.downIcon = void 0, stateManager.interactionState !== ts_types_1.InteractionState.default) return;
166
170
  table.isPivotChart() && "chart" !== (null === (_a = null == eventArgsSet ? void 0 : eventArgsSet.eventArgs) || void 0 === _a ? void 0 : _a.target.type) && table.scenegraph.updateChartState(null),
167
171
  (null === (_b = eventArgsSet.eventArgs) || void 0 === _b ? void 0 : _b.target) !== (null === (_c = stateManager.residentHoverIcon) || void 0 === _c ? void 0 : _c.icon) && stateManager.hideMenu();
168
- if (!1 === (null === (_d = table.editorManager) || void 0 === _d ? void 0 : _d.completeEdit(e.nativeEvent))) return;
169
- const hitIcon = (null === (_g = null === (_f = null === (_e = null == eventArgsSet ? void 0 : eventArgsSet.eventArgs) || void 0 === _e ? void 0 : _e.target) || void 0 === _f ? void 0 : _f.role) || void 0 === _g ? void 0 : _g.startsWith("icon")) ? eventArgsSet.eventArgs.target : (null === (_h = e.target.role) || void 0 === _h ? void 0 : _h.startsWith("icon")) ? e.target : void 0;
170
- if (eventManager.downIcon = hitIcon, hitIcon && !1 !== hitIcon.attribute.interactive) hitIcon.attribute.funcType === ts_types_1.IconFuncTypeEnum.dragReorder && (stateManager.startMoveCol(eventArgsSet.eventArgs.col, eventArgsSet.eventArgs.row, eventArgsSet.abstractPos.x, eventArgsSet.abstractPos.y),
171
- stateManager.updateInteractionState(ts_types_1.InteractionState.grabing)); else if ("touch" === e.pointerType) eventManager.touchEnd = !1,
172
- eventManager.touchSetTimeout = setTimeout((() => {
173
- eventManager.isTouchdown = !1, eventManager.touchMove = !0, (eventManager.touchEnd || !eventManager.checkColumnResize(eventArgsSet, !0) && !eventManager.checkRowResize(eventArgsSet, !0)) && (eventManager.touchEnd || !eventManager.chechColumnMover(eventArgsSet)) ? eventManager.dealTableSelect(eventArgsSet) && !eventManager.touchEnd && stateManager.updateInteractionState(ts_types_1.InteractionState.grabing) : stateManager.updateInteractionState(ts_types_1.InteractionState.grabing);
174
- }), 500), eventManager.dealTableHover(eventArgsSet); else {
175
- if (!eventManager.checkCellFillhandle(eventArgsSet) && (eventManager.checkColumnResize(eventArgsSet, !0) || eventManager.checkRowResize(eventArgsSet, !0))) return table.scenegraph.updateChartState(null),
176
- void stateManager.updateInteractionState(ts_types_1.InteractionState.grabing);
177
- if (eventManager.chechColumnMover(eventArgsSet)) return void stateManager.updateInteractionState(ts_types_1.InteractionState.grabing);
178
- if (eventManager.checkCellFillhandle(eventArgsSet, !0) && eventManager.dealFillSelect(eventArgsSet)) return void stateManager.updateInteractionState(ts_types_1.InteractionState.grabing);
179
- eventManager.dealTableSelect(eventArgsSet) && stateManager.updateInteractionState(ts_types_1.InteractionState.grabing);
180
- }
181
- if (table.hasListeners(TABLE_EVENT_TYPE_1.TABLE_EVENT_TYPE.MOUSEDOWN_CELL)) {
182
- const eventArgsSet = (0, util_1.getCellEventArgsSet)(e);
183
- eventArgsSet.eventArgs && table.fireListeners(TABLE_EVENT_TYPE_1.TABLE_EVENT_TYPE.MOUSEDOWN_CELL, {
184
- col: eventArgsSet.eventArgs.col,
185
- row: eventArgsSet.eventArgs.row,
186
- event: e.nativeEvent,
187
- target: null === (_j = null == eventArgsSet ? void 0 : eventArgsSet.eventArgs) || void 0 === _j ? void 0 : _j.target,
188
- mergeCellInfo: eventArgsSet.eventArgs.mergeInfo
189
- });
190
- }
172
+ const isCompleteEdit = null === (_d = table.editorManager) || void 0 === _d ? void 0 : _d.completeEdit(e.nativeEvent);
173
+ (0, helper_1.getPromiseValue)(isCompleteEdit, (isCompleteEdit => {
174
+ var _a, _b, _c, _d, _e;
175
+ if (!1 === isCompleteEdit) return;
176
+ const hitIcon = (null === (_c = null === (_b = null === (_a = null == eventArgsSet ? void 0 : eventArgsSet.eventArgs) || void 0 === _a ? void 0 : _a.target) || void 0 === _b ? void 0 : _b.role) || void 0 === _c ? void 0 : _c.startsWith("icon")) ? eventArgsSet.eventArgs.target : (null === (_d = e.target.role) || void 0 === _d ? void 0 : _d.startsWith("icon")) ? e.target : void 0;
177
+ if (eventManager.downIcon = hitIcon, hitIcon && !1 !== hitIcon.attribute.interactive) hitIcon.attribute.funcType === ts_types_1.IconFuncTypeEnum.dragReorder && (stateManager.startMoveCol(eventArgsSet.eventArgs.col, eventArgsSet.eventArgs.row, eventArgsSet.abstractPos.x, eventArgsSet.abstractPos.y),
178
+ stateManager.updateInteractionState(ts_types_1.InteractionState.grabing)); else if ("touch" === e.pointerType) eventManager.touchEnd = !1,
179
+ eventManager.touchSetTimeout = setTimeout((() => {
180
+ eventManager.isTouchdown = !1, eventManager.touchMove = !0, (eventManager.touchEnd || !eventManager.checkColumnResize(eventArgsSet, !0) && !eventManager.checkRowResize(eventArgsSet, !0)) && (eventManager.touchEnd || !eventManager.chechColumnMover(eventArgsSet)) ? eventManager.dealTableSelect(eventArgsSet) && !eventManager.touchEnd && stateManager.updateInteractionState(ts_types_1.InteractionState.grabing) : stateManager.updateInteractionState(ts_types_1.InteractionState.grabing);
181
+ }), 500), eventManager.dealTableHover(eventArgsSet); else {
182
+ if (!eventManager.checkCellFillhandle(eventArgsSet) && (eventManager.checkColumnResize(eventArgsSet, !0) || eventManager.checkRowResize(eventArgsSet, !0))) return table.scenegraph.updateChartState(null),
183
+ void stateManager.updateInteractionState(ts_types_1.InteractionState.grabing);
184
+ if (eventManager.chechColumnMover(eventArgsSet)) return void stateManager.updateInteractionState(ts_types_1.InteractionState.grabing);
185
+ if (eventManager.checkCellFillhandle(eventArgsSet, !0) && eventManager.dealFillSelect(eventArgsSet)) return void stateManager.updateInteractionState(ts_types_1.InteractionState.grabing);
186
+ eventManager.dealTableSelect(eventArgsSet) && stateManager.updateInteractionState(ts_types_1.InteractionState.grabing);
187
+ }
188
+ if (table.hasListeners(TABLE_EVENT_TYPE_1.TABLE_EVENT_TYPE.MOUSEDOWN_CELL)) {
189
+ const eventArgsSet = (0, util_1.getCellEventArgsSet)(e);
190
+ eventArgsSet.eventArgs && table.fireListeners(TABLE_EVENT_TYPE_1.TABLE_EVENT_TYPE.MOUSEDOWN_CELL, {
191
+ col: eventArgsSet.eventArgs.col,
192
+ row: eventArgsSet.eventArgs.row,
193
+ event: e.nativeEvent,
194
+ target: null === (_e = null == eventArgsSet ? void 0 : eventArgsSet.eventArgs) || void 0 === _e ? void 0 : _e.target,
195
+ mergeCellInfo: eventArgsSet.eventArgs.mergeInfo
196
+ });
197
+ }
198
+ }));
191
199
  })), table.scenegraph.tableGroup.addEventListener("pointerup", (e => {
192
200
  var _a, _b, _c, _d;
193
201
  if (0 === e.button) {
@@ -297,20 +305,24 @@ function bindTableGroupListener(eventManager) {
297
305
  }
298
306
  }
299
307
  })), table.scenegraph.stage.addEventListener("pointerdown", (e => {
300
- var _a, _b, _c, _d;
308
+ var _a, _b, _c;
301
309
  const eventArgsSet = (0, util_1.getCellEventArgsSet)(e);
302
310
  (null === (_a = eventArgsSet.eventArgs) || void 0 === _a ? void 0 : _a.target) !== (null === (_b = stateManager.residentHoverIcon) || void 0 === _b ? void 0 : _b.icon) && stateManager.hideMenu();
303
- if (!1 === (null === (_c = table.editorManager) || void 0 === _c ? void 0 : _c.completeEdit(e.nativeEvent))) return;
304
- const hitIcon = (null === (_d = e.target.role) || void 0 === _d ? void 0 : _d.startsWith("icon")) ? e.target : void 0;
305
- if (eventManager.downIcon = hitIcon, hitIcon || eventManager.checkCellFillhandle(eventArgsSet) || stateManager.columnResize.resizing || !eventManager.checkColumnResize(eventArgsSet, !0)) ; else {
306
- table.scenegraph.updateChartState(null), stateManager.updateInteractionState(ts_types_1.InteractionState.grabing);
307
- const {eventArgs: eventArgs} = eventArgsSet;
308
- if (!(null == eventArgs ? void 0 : eventArgs.targetCell)) {
309
- table.getCellAt(eventArgsSet.abstractPos.x - global_1.ResizeColumnHotSpotSize / 2, eventArgsSet.abstractPos.y) && table.hasListeners(TABLE_EVENT_TYPE_1.TABLE_EVENT_TYPE.MOUSEDOWN_TABLE) && table.fireListeners(TABLE_EVENT_TYPE_1.TABLE_EVENT_TYPE.MOUSEDOWN_TABLE, {
310
- event: e.nativeEvent
311
- });
311
+ const isCompleteEdit = null === (_c = table.editorManager) || void 0 === _c ? void 0 : _c.completeEdit(e.nativeEvent);
312
+ (0, helper_1.getPromiseValue)(isCompleteEdit, (isCompleteEdit => {
313
+ var _a;
314
+ if (!1 === isCompleteEdit) return;
315
+ const hitIcon = (null === (_a = e.target.role) || void 0 === _a ? void 0 : _a.startsWith("icon")) ? e.target : void 0;
316
+ if (eventManager.downIcon = hitIcon, hitIcon || eventManager.checkCellFillhandle(eventArgsSet) || stateManager.columnResize.resizing || !eventManager.checkColumnResize(eventArgsSet, !0)) ; else {
317
+ table.scenegraph.updateChartState(null), stateManager.updateInteractionState(ts_types_1.InteractionState.grabing);
318
+ const {eventArgs: eventArgs} = eventArgsSet;
319
+ if (!(null == eventArgs ? void 0 : eventArgs.targetCell)) {
320
+ table.getCellAt(eventArgsSet.abstractPos.x - global_1.ResizeColumnHotSpotSize / 2, eventArgsSet.abstractPos.y) && table.hasListeners(TABLE_EVENT_TYPE_1.TABLE_EVENT_TYPE.MOUSEDOWN_TABLE) && table.fireListeners(TABLE_EVENT_TYPE_1.TABLE_EVENT_TYPE.MOUSEDOWN_TABLE, {
321
+ event: e.nativeEvent
322
+ });
323
+ }
312
324
  }
313
- }
325
+ }));
314
326
  })), table.scenegraph.stage.addEventListener("pointerup", (e => {
315
327
  "grabing" === stateManager.interactionState && (stateManager.updateInteractionState(ts_types_1.InteractionState.default),
316
328
  stateManager.isResizeCol() && endResizeCol(table));