@visactor/vtable 1.23.2 → 1.23.3
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.
- package/cjs/body-helper/body-helper.js +2 -1
- package/cjs/body-helper/style.js +1 -2
- package/cjs/core/BaseTable.js +16 -13
- package/cjs/core/BaseTable.js.map +1 -1
- package/cjs/dataset/dataset.js +6 -1
- package/cjs/dataset/dataset.js.map +1 -1
- package/cjs/edit/edit-manager.js +4 -2
- package/cjs/edit/edit-manager.js.map +1 -1
- package/cjs/event/EventTarget.js +3 -1
- package/cjs/event/EventTarget.js.map +1 -1
- package/cjs/index.d.ts +1 -1
- package/cjs/index.js +1 -1
- package/cjs/index.js.map +1 -1
- package/cjs/plugins/custom-cell-style.js +1 -1
- package/cjs/scenegraph/scenegraph.js +1 -1
- package/cjs/vrender.js.map +1 -1
- package/dist/vtable.js +81 -24
- package/dist/vtable.min.js +2 -2
- package/es/body-helper/body-helper.js +2 -1
- package/es/body-helper/style.js +1 -2
- package/es/core/BaseTable.js +16 -13
- package/es/core/BaseTable.js.map +1 -1
- package/es/dataset/dataset.js +7 -2
- package/es/dataset/dataset.js.map +1 -1
- package/es/edit/edit-manager.js +5 -3
- package/es/edit/edit-manager.js.map +1 -1
- package/es/event/EventTarget.js +3 -1
- package/es/event/EventTarget.js.map +1 -1
- package/es/index.d.ts +1 -1
- package/es/index.js +1 -1
- package/es/index.js.map +1 -1
- package/es/plugins/custom-cell-style.js +1 -1
- package/es/scenegraph/scenegraph.js +1 -1
- package/es/vrender.js.map +1 -1
- package/package.json +8 -8
package/cjs/edit/edit-manager.js
CHANGED
|
@@ -143,7 +143,10 @@ class EditManager {
|
|
|
143
143
|
var _a, _b, _c, _d;
|
|
144
144
|
this.editingEditor && (null === (_b = (_a = this.editingEditor).exit) || void 0 === _b || _b.call(_a),
|
|
145
145
|
null === (_d = (_c = this.editingEditor).onEnd) || void 0 === _d || _d.call(_c),
|
|
146
|
-
this.editingEditor = null)
|
|
146
|
+
this.editingEditor = null), Object.values(this.cacheLastSelectedCellEditor).forEach((editor => {
|
|
147
|
+
var _a;
|
|
148
|
+
return null === (_a = null == editor ? void 0 : editor.onEnd) || void 0 === _a ? void 0 : _a.call(editor);
|
|
149
|
+
})), this.cacheLastSelectedCellEditor = {};
|
|
147
150
|
}
|
|
148
151
|
release() {
|
|
149
152
|
this.listenersId.forEach((id => {
|
|
@@ -160,5 +163,4 @@ function dealWithValidateValue(validateValue, editManager, oldValue, resolve) {
|
|
|
160
163
|
!0) : (null == resolve || resolve(!1), !1);
|
|
161
164
|
}
|
|
162
165
|
|
|
163
|
-
//# sourceMappingURL=edit-manager.js.map
|
|
164
166
|
exports.EditManager = EditManager;
|
|
@@ -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, ValidateEnum } 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';\nimport { isValid } from '@visactor/vutils';\nimport type { IIconGraphicAttribute } from '../scenegraph/graphic/icon';\n\nexport class EditManager {\n table: BaseTableAPI;\n editingEditor: IEditor;\n isValidatingValue: boolean = false;\n editCell: { col: number; row: number };\n listenersId: number[] = [];\n beginTriggerEditCellMode: 'doubleclick' | 'click' | 'keydown';\n /** 主要为了editor配置成函数的情况下,点击单元格流程造成接连调用getEditor()可能生成多个editor实例,所以需要缓存 */\n cacheLastSelectedCellEditor: Record<string, IEditor> = {};\n constructor(table: BaseTableAPI) {\n this.table = table;\n const { editCellTrigger = 'doubleclick' } = table.options as ListTableConstructorOptions;\n this.bindEvent(editCellTrigger as string);\n }\n\n bindEvent(editCellTrigger: string) {\n // const handler = this.table.internalProps.handler;\n const table = this.table as ListTableAPI;\n const doubleClickEventId = table.on(TABLE_EVENT_TYPE.DBLCLICK_CELL, e => {\n if (!editCellTrigger.includes('doubleclick')) {\n return;\n }\n\n const { col, row } = e;\n\n //取双击自动列宽逻辑\n const eventArgsSet = getCellEventArgsSet(e.federatedEvent);\n const resizeCol = table.scenegraph.getResizeColAt(\n eventArgsSet.abstractPos.x,\n eventArgsSet.abstractPos.y,\n eventArgsSet.eventArgs?.targetCell\n );\n if (table._canResizeColumn(resizeCol.col, resizeCol.row) && resizeCol.col >= 0) {\n // 判断同双击自动列宽的时间监听的DBLCLICK_CELL\n // 如果是双击自动列宽 则编辑不开启\n return;\n }\n if ((e.target?.attribute as IIconGraphicAttribute)?.funcType) {\n // 点击功能图标不进入编辑\n return;\n }\n this.beginTriggerEditCellMode = 'doubleclick';\n this.startEditCell(col, row);\n });\n\n const clickEventId = table.on(TABLE_EVENT_TYPE.CLICK_CELL, e => {\n const { editCellTrigger = 'doubleclick' } = table.options;\n if (editCellTrigger === 'click' || (Array.isArray(editCellTrigger) && editCellTrigger.includes('click'))) {\n if ((e.target?.attribute as IIconGraphicAttribute)?.funcType) {\n // 点击功能图标不进入编辑\n return;\n }\n this.beginTriggerEditCellMode = 'click';\n const { col, row } = e;\n this.startEditCell(col, row);\n } else if (\n editCellTrigger === 'keydown' ||\n (Array.isArray(editCellTrigger) && editCellTrigger.includes('keydown'))\n ) {\n // const { col, row } = e;\n // this.beginTriggerEditCellMode = 'keydown';\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 // // adjust last col&row, same as packages/vtable/src/scenegraph/graphic/contributions/group-contribution-render.ts getCellSizeForDraw\n // if (col === this.table.colCount - 1) {\n // referencePosition.rect.width = rect.width - 1;\n // } else {\n // referencePosition.rect.width = rect.width + 1; // 这里的1应该根据单元格的borderWidth来定;\n // }\n // if (row === this.table.rowCount - 1) {\n // referencePosition.rect.height = rect.height - 1;\n // } else {\n // referencePosition.rect.height = rect.height + 1; // 这里的1应该根据单元格的borderWidth来定;\n // }\n // const editor = (this.table as ListTableAPI).getEditor(col, row);\n // console.log('prepareEdit click-cell');\n // //需要准备编辑环境,等待输入。否则中文输入法第一个字符会被当做英文字符\n // editor.prepareEdit?.({ referencePosition, container: this.table.getElement(), table: this.table, col, row });\n }\n });\n const selectedChangedEventId = table.on(TABLE_EVENT_TYPE.SELECTED_CHANGED, e => {\n const selectedRanges = table.stateManager.select.ranges;\n const justOneCellSelected =\n selectedRanges.length === 1 &&\n selectedRanges[0].start.col === selectedRanges[0].end.col &&\n selectedRanges[0].start.row === selectedRanges[0].end.row;\n if (\n justOneCellSelected &&\n (editCellTrigger === 'keydown' || (Array.isArray(editCellTrigger) && editCellTrigger.includes('keydown')))\n ) {\n const { col, row } = e;\n this.beginTriggerEditCellMode = 'keydown';\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 // adjust last col&row, same as packages/vtable/src/scenegraph/graphic/contributions/group-contribution-render.ts getCellSizeForDraw\n if (col === this.table.colCount - 1) {\n referencePosition.rect.width = rect.width - 1;\n } else {\n referencePosition.rect.width = rect.width + 1; // 这里的1应该根据单元格的borderWidth来定;\n }\n if (row === this.table.rowCount - 1) {\n referencePosition.rect.height = rect.height - 1;\n } else {\n referencePosition.rect.height = rect.height + 1; // 这里的1应该根据单元格的borderWidth来定;\n }\n const editor = (this.table as ListTableAPI).getEditor(col, row);\n editor &&\n setTimeout(() => {\n // 为什么要加延时:因为这个SELECTED_CHANGED事件是pointerdown过来的,\n // 如果这里不加延时,会导致鼠标抬起pointerup的时候将table.getElement()元素设置成焦点,从而导致编辑器失去焦点(因为prepareEdit只是将editor的element设置pointerEvents为none)\n if (editor && this.editingEditor !== editor) {\n // 判断当前编辑器如果是当前需要准备的编辑器,则不进行准备编辑。这个是为了container-dom文件moveEditCellOnArrowKeys前后逻辑问题,前面有个selectCell会触发这个事件,后面有startEdit了,所以这个prepare就没必要了,触发的话反而有问题\n editor.prepareEdit?.({\n referencePosition,\n container: this.table.getElement(),\n table: this.table,\n col,\n row\n });\n }\n }, 10);\n }\n });\n this.listenersId.push(doubleClickEventId, clickEventId, selectedChangedEventId);\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, value?: string | number, editElement?: HTMLInputElement) {\n if (this.editingEditor) {\n return;\n }\n const editor = (this.table as ListTableAPI).getEditor(col, row);\n if (editor) {\n editElement && (editor as any).setElement?.(editElement);\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 // 序号不允许编辑\n if (this.table.internalProps.layoutMap.isSeriesNumber(col, row)) {\n return;\n }\n //ListTable聚合值不可以修改,PivotTable聚合值在updateAggregationOnEditCell false可以修改,true不可以修改\n if ((this.table.internalProps.layoutMap as SimpleHeaderLayoutMap)?.isAggregation?.(col, row)) {\n const isPivotTable = this.table.isPivotTable?.();\n const updateAggregationOnEditCell = isPivotTable\n ? (this.table as any).internalProps?.dataConfig?.updateAggregationOnEditCell\n : false;\n if (!isPivotTable || (isPivotTable && updateAggregationOnEditCell)) {\n console.warn(\"VTable Warn: this is aggregation value, can't be edited\");\n return;\n }\n }\n\n // group title cell do not allow edit\n const record = this.table.getCellRawRecord(col, row);\n if (record?.vtableMerge) {\n console.warn(\"VTable Warn: this is group title, can't be edited\");\n return;\n }\n\n if (!this.editingEditor) {\n this.editCell = { col, row };\n }\n\n this.table._makeVisibleCell(col, row);\n this.editingEditor = editor;\n const dataValue = isValid(value) ? value : 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 // adjust last col&row, same as packages/vtable/src/scenegraph/graphic/contributions/group-contribution-render.ts getCellSizeForDraw\n if (col === this.table.colCount - 1) {\n referencePosition.rect.width = rect.width - 1;\n } else {\n referencePosition.rect.width = rect.width + 1; // 这里的1应该根据单元格的borderWidth来定;\n }\n if (row === this.table.rowCount - 1) {\n referencePosition.rect.height = rect.height - 1;\n } else {\n referencePosition.rect.height = rect.height + 1; // 这里的1应该根据单元格的borderWidth来定;\n }\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 table: this.table\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 if (this.isValidatingValue) {\n return false;\n }\n this.cacheLastSelectedCellEditor = {};\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 this.isValidatingValue = true;\n const newValue = this.editingEditor.getValue();\n const oldValue = this.table.getCellOriginValue(this.editCell.col, this.editCell.row);\n const target = e?.target as HTMLElement | undefined;\n\n const maybePromiseOrValue = this.editingEditor.validateValue?.(\n newValue,\n oldValue,\n this.editCell,\n this.table,\n !!this.table.getElement().contains(target)\n );\n\n if (isPromise(maybePromiseOrValue)) {\n this.isValidatingValue = true;\n return new Promise((resolve, reject) => {\n maybePromiseOrValue\n .then(result => {\n // if (result) {\n // this.doExit();\n // resolve(true);\n // } else {\n // this.isValidatingValue = false;\n // resolve(false);\n // }\n dealWithValidateValue(result, this, oldValue, resolve);\n })\n .catch((err: Error) => {\n this.isValidatingValue = false;\n console.error('VTable Error:', err);\n reject(err);\n });\n });\n }\n return dealWithValidateValue(maybePromiseOrValue, this, oldValue);\n }\n this.doExit();\n return true;\n }\n\n 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.editingEditor.beforeEnd?.();\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 this.isValidatingValue = false;\n this.beginTriggerEditCellMode = 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 release() {\n this.listenersId.forEach(id => {\n this.table.off(id);\n });\n }\n}\n\nfunction dealWithValidateValue(\n validateValue: boolean | ValidateEnum,\n editManager: EditManager,\n oldValue: any,\n resolve?: (value: boolean | PromiseLike<boolean>) => void\n): boolean {\n editManager.isValidatingValue = false;\n if (validateValue === 'validate-exit') {\n editManager.doExit();\n resolve?.(true);\n return true;\n } else if (validateValue === 'invalidate-exit') {\n (editManager.editingEditor as any).setValue(oldValue);\n editManager.doExit();\n resolve?.(true);\n return true;\n } else if (validateValue === 'validate-not-exit') {\n resolve?.(false);\n return false;\n } else if (validateValue === 'invalidate-not-exit') {\n resolve?.(false);\n return false;\n } else if (validateValue === true) {\n editManager.doExit();\n resolve?.(true);\n return true;\n }\n resolve?.(false);\n return false;\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, ValidateEnum } 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';\nimport { isValid } from '@visactor/vutils';\nimport type { IIconGraphicAttribute } from '../scenegraph/graphic/icon';\n\nexport class EditManager {\n table: BaseTableAPI;\n editingEditor: IEditor;\n isValidatingValue: boolean = false;\n editCell: { col: number; row: number };\n listenersId: number[] = [];\n beginTriggerEditCellMode: 'doubleclick' | 'click' | 'keydown';\n /** 主要为了editor配置成函数的情况下,点击单元格流程造成接连调用getEditor()可能生成多个editor实例,所以需要缓存 */\n cacheLastSelectedCellEditor: Record<string, IEditor> = {};\n constructor(table: BaseTableAPI) {\n this.table = table;\n const { editCellTrigger = 'doubleclick' } = table.options as ListTableConstructorOptions;\n this.bindEvent(editCellTrigger as string);\n }\n\n bindEvent(editCellTrigger: string) {\n // const handler = this.table.internalProps.handler;\n const table = this.table as ListTableAPI;\n const doubleClickEventId = table.on(TABLE_EVENT_TYPE.DBLCLICK_CELL, e => {\n if (!editCellTrigger.includes('doubleclick')) {\n return;\n }\n\n const { col, row } = e;\n\n //取双击自动列宽逻辑\n const eventArgsSet = getCellEventArgsSet(e.federatedEvent);\n const resizeCol = table.scenegraph.getResizeColAt(\n eventArgsSet.abstractPos.x,\n eventArgsSet.abstractPos.y,\n eventArgsSet.eventArgs?.targetCell\n );\n if (table._canResizeColumn(resizeCol.col, resizeCol.row) && resizeCol.col >= 0) {\n // 判断同双击自动列宽的时间监听的DBLCLICK_CELL\n // 如果是双击自动列宽 则编辑不开启\n return;\n }\n if ((e.target?.attribute as IIconGraphicAttribute)?.funcType) {\n // 点击功能图标不进入编辑\n return;\n }\n this.beginTriggerEditCellMode = 'doubleclick';\n this.startEditCell(col, row);\n });\n\n const clickEventId = table.on(TABLE_EVENT_TYPE.CLICK_CELL, e => {\n const { editCellTrigger = 'doubleclick' } = table.options;\n if (editCellTrigger === 'click' || (Array.isArray(editCellTrigger) && editCellTrigger.includes('click'))) {\n if ((e.target?.attribute as IIconGraphicAttribute)?.funcType) {\n // 点击功能图标不进入编辑\n return;\n }\n this.beginTriggerEditCellMode = 'click';\n const { col, row } = e;\n this.startEditCell(col, row);\n } else if (\n editCellTrigger === 'keydown' ||\n (Array.isArray(editCellTrigger) && editCellTrigger.includes('keydown'))\n ) {\n // const { col, row } = e;\n // this.beginTriggerEditCellMode = 'keydown';\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 // // adjust last col&row, same as packages/vtable/src/scenegraph/graphic/contributions/group-contribution-render.ts getCellSizeForDraw\n // if (col === this.table.colCount - 1) {\n // referencePosition.rect.width = rect.width - 1;\n // } else {\n // referencePosition.rect.width = rect.width + 1; // 这里的1应该根据单元格的borderWidth来定;\n // }\n // if (row === this.table.rowCount - 1) {\n // referencePosition.rect.height = rect.height - 1;\n // } else {\n // referencePosition.rect.height = rect.height + 1; // 这里的1应该根据单元格的borderWidth来定;\n // }\n // const editor = (this.table as ListTableAPI).getEditor(col, row);\n // console.log('prepareEdit click-cell');\n // //需要准备编辑环境,等待输入。否则中文输入法第一个字符会被当做英文字符\n // editor.prepareEdit?.({ referencePosition, container: this.table.getElement(), table: this.table, col, row });\n }\n });\n const selectedChangedEventId = table.on(TABLE_EVENT_TYPE.SELECTED_CHANGED, e => {\n const selectedRanges = table.stateManager.select.ranges;\n const justOneCellSelected =\n selectedRanges.length === 1 &&\n selectedRanges[0].start.col === selectedRanges[0].end.col &&\n selectedRanges[0].start.row === selectedRanges[0].end.row;\n if (\n justOneCellSelected &&\n (editCellTrigger === 'keydown' || (Array.isArray(editCellTrigger) && editCellTrigger.includes('keydown')))\n ) {\n const { col, row } = e;\n this.beginTriggerEditCellMode = 'keydown';\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 // adjust last col&row, same as packages/vtable/src/scenegraph/graphic/contributions/group-contribution-render.ts getCellSizeForDraw\n if (col === this.table.colCount - 1) {\n referencePosition.rect.width = rect.width - 1;\n } else {\n referencePosition.rect.width = rect.width + 1; // 这里的1应该根据单元格的borderWidth来定;\n }\n if (row === this.table.rowCount - 1) {\n referencePosition.rect.height = rect.height - 1;\n } else {\n referencePosition.rect.height = rect.height + 1; // 这里的1应该根据单元格的borderWidth来定;\n }\n const editor = (this.table as ListTableAPI).getEditor(col, row);\n editor &&\n setTimeout(() => {\n // 为什么要加延时:因为这个SELECTED_CHANGED事件是pointerdown过来的,\n // 如果这里不加延时,会导致鼠标抬起pointerup的时候将table.getElement()元素设置成焦点,从而导致编辑器失去焦点(因为prepareEdit只是将editor的element设置pointerEvents为none)\n if (editor && this.editingEditor !== editor) {\n // 判断当前编辑器如果是当前需要准备的编辑器,则不进行准备编辑。这个是为了container-dom文件moveEditCellOnArrowKeys前后逻辑问题,前面有个selectCell会触发这个事件,后面有startEdit了,所以这个prepare就没必要了,触发的话反而有问题\n editor.prepareEdit?.({\n referencePosition,\n container: this.table.getElement(),\n table: this.table,\n col,\n row\n });\n }\n }, 10);\n }\n });\n this.listenersId.push(doubleClickEventId, clickEventId, selectedChangedEventId);\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, value?: string | number, editElement?: HTMLInputElement) {\n if (this.editingEditor) {\n return;\n }\n const editor = (this.table as ListTableAPI).getEditor(col, row);\n if (editor) {\n editElement && (editor as any).setElement?.(editElement);\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 // 序号不允许编辑\n if (this.table.internalProps.layoutMap.isSeriesNumber(col, row)) {\n return;\n }\n //ListTable聚合值不可以修改,PivotTable聚合值在updateAggregationOnEditCell false可以修改,true不可以修改\n if ((this.table.internalProps.layoutMap as SimpleHeaderLayoutMap)?.isAggregation?.(col, row)) {\n const isPivotTable = this.table.isPivotTable?.();\n const updateAggregationOnEditCell = isPivotTable\n ? (this.table as any).internalProps?.dataConfig?.updateAggregationOnEditCell\n : false;\n if (!isPivotTable || (isPivotTable && updateAggregationOnEditCell)) {\n console.warn(\"VTable Warn: this is aggregation value, can't be edited\");\n return;\n }\n }\n\n // group title cell do not allow edit\n const record = this.table.getCellRawRecord(col, row);\n if (record?.vtableMerge) {\n console.warn(\"VTable Warn: this is group title, can't be edited\");\n return;\n }\n\n if (!this.editingEditor) {\n this.editCell = { col, row };\n }\n\n this.table._makeVisibleCell(col, row);\n this.editingEditor = editor;\n const dataValue = isValid(value) ? value : 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 // adjust last col&row, same as packages/vtable/src/scenegraph/graphic/contributions/group-contribution-render.ts getCellSizeForDraw\n if (col === this.table.colCount - 1) {\n referencePosition.rect.width = rect.width - 1;\n } else {\n referencePosition.rect.width = rect.width + 1; // 这里的1应该根据单元格的borderWidth来定;\n }\n if (row === this.table.rowCount - 1) {\n referencePosition.rect.height = rect.height - 1;\n } else {\n referencePosition.rect.height = rect.height + 1; // 这里的1应该根据单元格的borderWidth来定;\n }\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 table: this.table\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 if (this.isValidatingValue) {\n return false;\n }\n this.cacheLastSelectedCellEditor = {};\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 this.isValidatingValue = true;\n const newValue = this.editingEditor.getValue();\n const oldValue = this.table.getCellOriginValue(this.editCell.col, this.editCell.row);\n const target = e?.target as HTMLElement | undefined;\n\n const maybePromiseOrValue = this.editingEditor.validateValue?.(\n newValue,\n oldValue,\n this.editCell,\n this.table,\n !!this.table.getElement().contains(target)\n );\n\n if (isPromise(maybePromiseOrValue)) {\n this.isValidatingValue = true;\n return new Promise((resolve, reject) => {\n maybePromiseOrValue\n .then(result => {\n // if (result) {\n // this.doExit();\n // resolve(true);\n // } else {\n // this.isValidatingValue = false;\n // resolve(false);\n // }\n dealWithValidateValue(result, this, oldValue, resolve);\n })\n .catch((err: Error) => {\n this.isValidatingValue = false;\n console.error('VTable Error:', err);\n reject(err);\n });\n });\n }\n return dealWithValidateValue(maybePromiseOrValue, this, oldValue);\n }\n this.doExit();\n return true;\n }\n\n 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.editingEditor.beforeEnd?.();\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 this.isValidatingValue = false;\n this.beginTriggerEditCellMode = 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 // 清理缓存的编辑器实例,避免在后续 getEditor 调用中对已结束或未启动的编辑器重复调用 onEnd\n Object.values(this.cacheLastSelectedCellEditor).forEach((editor: IEditor) => editor?.onEnd?.());\n this.cacheLastSelectedCellEditor = {};\n }\n\n release() {\n this.listenersId.forEach(id => {\n this.table.off(id);\n });\n }\n}\n\nfunction dealWithValidateValue(\n validateValue: boolean | ValidateEnum,\n editManager: EditManager,\n oldValue: any,\n resolve?: (value: boolean | PromiseLike<boolean>) => void\n): boolean {\n editManager.isValidatingValue = false;\n if (validateValue === 'validate-exit') {\n editManager.doExit();\n resolve?.(true);\n return true;\n } else if (validateValue === 'invalidate-exit') {\n (editManager.editingEditor as any).setValue(oldValue);\n editManager.doExit();\n resolve?.(true);\n return true;\n } else if (validateValue === 'validate-not-exit') {\n resolve?.(false);\n return false;\n } else if (validateValue === 'invalidate-not-exit') {\n resolve?.(false);\n return false;\n } else if (validateValue === true) {\n editManager.doExit();\n resolve?.(true);\n return true;\n }\n resolve?.(false);\n return false;\n}\n"]}
|
package/cjs/event/EventTarget.js
CHANGED
|
@@ -16,6 +16,7 @@ class EventTarget {
|
|
|
16
16
|
};
|
|
17
17
|
}
|
|
18
18
|
on(type, listener) {
|
|
19
|
+
if (!this.listenersData) return;
|
|
19
20
|
const list = this.listenersData.listeners[type] || (this.listenersData.listeners[type] = []);
|
|
20
21
|
list.push(listener);
|
|
21
22
|
const id = idCount++;
|
|
@@ -23,9 +24,10 @@ class EventTarget {
|
|
|
23
24
|
type: type,
|
|
24
25
|
listener: listener,
|
|
25
26
|
remove: () => {
|
|
27
|
+
if (!this.listenersData) return;
|
|
26
28
|
delete this.listenersData.listenerData[id];
|
|
27
29
|
const index = list.indexOf(listener);
|
|
28
|
-
list.splice(index, 1), this.listenersData.listeners[type].length
|
|
30
|
+
list.splice(index, 1), this.listenersData.listeners[type] && !this.listenersData.listeners[type].length && delete this.listenersData.listeners[type];
|
|
29
31
|
}
|
|
30
32
|
}, id;
|
|
31
33
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/event/EventTarget.ts"],"names":[],"mappings":";;;AAWA,6CAA2C;AAE3C,IAAI,OAAO,GAAG,CAAC,CAAC;AAEhB,MAAa,WAAW;IAAxB;QACU,kBAAa,GASjB;YACF,SAAS,EAAE,EAAE;YACb,YAAY,EAAE,EAAE;SACjB,CAAC;
|
|
1
|
+
{"version":3,"sources":["../src/event/EventTarget.ts"],"names":[],"mappings":"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","file":"EventTarget.js","sourcesContent":["/* Adapted from cheetah-grid by yosuke ota\n *url:https://github.com/future-architect/cheetah-grid/blob/master/packages/cheetah-grid/src/js/core/EventTarget.ts\n *License: https://github.com/future-architect/cheetah-grid/blob/master/LICENSE\n * @license\n */\nimport type {\n TableEventListener,\n EventListenerId,\n TableEventHandlersEventArgumentMap,\n TableEventHandlersReturnMap\n} from '../ts-types';\nimport { isValid } from '@visactor/vutils';\n\nlet idCount = 1;\n\nexport class EventTarget {\n private listenersData: {\n listeners: { [TYPE in keyof TableEventHandlersEventArgumentMap]?: TableEventListener<TYPE>[] };\n listenerData: {\n [id: number]: {\n type: string;\n listener: TableEventListener<keyof TableEventHandlersEventArgumentMap>;\n remove: () => void;\n };\n };\n } = {\n listeners: {},\n listenerData: {}\n };\n\n /**\n * 监听事件\n * @param type 事件类型\n * @param listener 事件监听器\n * @returns 事件监听器id\n */\n on<TYPE extends keyof TableEventHandlersEventArgumentMap>(\n type: TYPE,\n listener: TableEventListener<TYPE>\n ): EventListenerId {\n if (!this.listenersData) {\n return undefined;\n }\n const list: TableEventListener<TYPE>[] =\n this.listenersData.listeners[type] || (this.listenersData.listeners[type] = []);\n list.push(listener);\n\n const id = idCount++;\n this.listenersData.listenerData[id] = {\n type,\n listener,\n remove: (): void => {\n if (!this.listenersData) {\n return;\n }\n delete this.listenersData.listenerData[id];\n const index = list.indexOf(listener);\n list.splice(index, 1);\n if (this.listenersData.listeners[type] && !this.listenersData.listeners[type].length) {\n delete this.listenersData.listeners[type];\n }\n }\n };\n return id;\n }\n\n off(type: string, listener: TableEventListener<keyof TableEventHandlersEventArgumentMap>): void;\n off(id: EventListenerId): void;\n off(\n idOrType: EventListenerId | string,\n listener?: TableEventListener<keyof TableEventHandlersEventArgumentMap>\n ): void {\n if (listener) {\n const type = idOrType as string;\n this.removeEventListener(type, listener);\n } else {\n const id = idOrType as EventListenerId;\n if (!this.listenersData) {\n return;\n }\n this.listenersData.listenerData[id]?.remove();\n }\n }\n\n addEventListener<TYPE extends keyof TableEventHandlersEventArgumentMap>(\n type: TYPE,\n listener: TableEventListener<TYPE>,\n option?: any\n ): void {\n this.on(type, listener);\n }\n\n removeEventListener(type: string, listener: TableEventListener<keyof TableEventHandlersEventArgumentMap>): void {\n if (!this.listenersData) {\n return;\n }\n for (const key in this.listenersData.listenerData) {\n const listenerData = this.listenersData.listenerData[key];\n if (listenerData.type === type && listenerData.listener === listener) {\n this.off(key as unknown as number);\n }\n }\n }\n\n hasListeners(type: string): boolean {\n if (!this.listenersData) {\n return false;\n }\n return !!this.listenersData.listeners[type];\n }\n\n // fireListeners(type: string, ...args: any[]): any {\n // if (!this.listenersData) {\n // return [];\n // }\n // const list = this.listenersData.listeners[type];\n // if (!list) {\n // return [];\n // }\n // return list.map(listener => listener.call(this, ...args)).filter(r => isValid(r));\n // }\n fireListeners<TYPE extends keyof TableEventHandlersEventArgumentMap>(\n type: TYPE,\n event: TableEventHandlersEventArgumentMap[TYPE]\n ): TableEventHandlersReturnMap[TYPE][] {\n if (!this.listenersData) {\n return [];\n }\n const list = this.listenersData.listeners[type];\n if (!list) {\n return [];\n }\n return list.map(listener => listener.call(this, event)).filter(r => isValid(r));\n }\n release(): void {\n delete this.listenersData;\n }\n}\n"]}
|
package/cjs/index.d.ts
CHANGED
|
@@ -24,7 +24,7 @@ export { getTargetCell } from './event/util';
|
|
|
24
24
|
export { toBoxArray } from './tools/helper';
|
|
25
25
|
export { Icon } from './scenegraph/graphic/icon';
|
|
26
26
|
export { CUSTOM_MERGE_PRE_NAME, CUSTOM_CONTAINER_NAME } from './scenegraph/component/custom';
|
|
27
|
-
export declare const version = "1.23.
|
|
27
|
+
export declare const version = "1.23.3";
|
|
28
28
|
export { TYPES, core, ListTable, ListTableSimple, BaseTableAPI, ListTableConstructorOptions, PivotTable, PivotTableSimple, PivotTableConstructorOptions, PivotChartConstructorOptions, PivotChart, IHeaderTreeDefine, IDimension, IIndicator, ITitleDefine, ICornerDefine, ColumnsDefine, ColumnDefine, LinkColumnDefine, ChartColumnDefine, ImageColumnDefine, SparklineColumnDefine, ProgressbarColumnDefine, TextColumnDefine, GroupColumnDefine, TextAlignType, TextBaselineType, textMeasure, themes, data, MousePointerCellEvent, getIcons, clearGlobal, register, DataStatistics, CustomLayout, updateCell, renderChart, graphicUtil, setCustomAlphabetCharSet, restoreMeasureText, pluginsDefinition };
|
|
29
29
|
declare function getIcons(): {
|
|
30
30
|
[key: string]: TYPES.ColumnIconOption;
|
package/cjs/index.js
CHANGED
|
@@ -210,7 +210,7 @@ Object.defineProperty(exports, "CUSTOM_MERGE_PRE_NAME", {
|
|
|
210
210
|
get: function() {
|
|
211
211
|
return custom_1.CUSTOM_CONTAINER_NAME;
|
|
212
212
|
}
|
|
213
|
-
}), exports.version = "1.23.
|
|
213
|
+
}), exports.version = "1.23.3", exports.getIcons = getIcons, exports.clearGlobal = clearGlobal,
|
|
214
214
|
TYPES.AggregationType, __exportStar(require("./components"), exports), __exportStar(require("./scenegraph/group-creater/cell-type"), exports);
|
|
215
215
|
|
|
216
216
|
var TABLE_EVENT_TYPE_1 = require("./core/TABLE_EVENT_TYPE");
|
package/cjs/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;AACA,uCAA4D;AA8G1D,4FA9GO,qBAAW,OA8GP;AA7Gb,IAAA,4BAAkB,GAAE,CAAC;AAErB,kDAAoC;AAiElC,sBAAK;AAhEP,6CAA+B;AAiE7B,oBAAI;AAhEN,6CAA+B;AA4F7B,oBAAI;AA3FN,+CAAiC;AACjC,qDAAuC;AA+FrC,4BAAQ;AA9FV,iDAAmC;AAwFjC,wBAAM;AAvFR,yEAA2D;AAiGzD,wCAAc;AAhGhB,6DAA+C;AAuG7C,8CAAiB;AAjFnB,mDAA4D;AAsC1D,0FAtCuB,4BAAS,OAsCvB;AArCX,yDAAqD;AAsCnD,gGAtCO,kCAAe,OAsCP;AApCjB,qDAA+D;AAuC7D,2FAvCwB,8BAAU,OAuCxB;AAtCZ,2DAAuD;AAuCrD,iGAvCO,oCAAgB,OAuCP;AAtClB,6CAA0C;AAyCxC,2FAzCO,uBAAU,OAyCP;AAvCZ,8DAAgD;AAoE9C,oCAAY;AAlEd,wEAAoE;AAmElE,2FAnEO,wBAAU,OAmEP;AAlEZ,gGAAqF;AAmEnF,4FAnEO,iCAAW,OAmEP;AAlEb,kEAA4G;AAqE1G,mGArEO,iCAAkB,OAqEP;AADlB,yGApE2B,uCAAwB,OAoE3B;AAhBxB,4FApDqD,0BAAW,OAoDrD;AA9Cb,uDAAwD;AAA/C,gHAAA,eAAe,OAAA;AACxB,+CAA6B;AAC7B,qCAA6C;AAApC,qGAAA,aAAa,OAAA;AACtB,yCAA4C;AAAnC,oGAAA,UAAU,OAAA;AACnB,kDAAiD;AAAxC,4FAAA,IAAI,OAAA;AACb,wDAA6F;AAApF,+GAAA,qBAAqB,OAAA;AAAE,+GAAA,qBAAqB,OAAA;AAKxC,QAAA,OAAO,GAAG,QAAQ,CAAC;AA2DhC,SAAS,QAAQ;IAGf,OAAO,KAAK,CAAC,GAAG,EAAE,CAAC;AACrB,CAAC;AAvBC,4BAAQ;AAyBV,SAAS,WAAW;IAClB,QAAQ,CAAC,QAAQ,EAAE,CAAC;AAGtB,CAAC;AA5BC,kCAAW;AA6Bb,KAAK,CAAC,eAAe,CAAC;AAEtB,+CAA6B;AAC7B,uEAAqD;AAErD,4DAA2D;AAAlD,oHAAA,gBAAgB,OAAA;AACzB,wFAA+G;AAAtG,gIAAA,sBAAsB,OAAA;AAAE,gIAAA,sBAAsB,OAAA;AAEvD,mDAAkD;AAAzC,0GAAA,WAAW,OAAA","file":"index.js","sourcesContent":["/* eslint-disable sort-imports */\nimport { graphicUtil, registerForVrender } from './vrender';\nregisterForVrender();\n\nimport * as TYPES from './ts-types';\nimport * as core from './core';\nimport * as data from './data';\nimport * as icons from './icons';\nimport * as register from './register';\nimport * as themes from './themes';\nimport * as DataStatistics from './dataset/DataStatistics';\nimport * as pluginsDefinition from './plugins';\nimport type {\n ColumnDefine,\n ColumnsDefine,\n LinkColumnDefine,\n ChartColumnDefine,\n ImageColumnDefine,\n SparklineColumnDefine,\n ProgressbarColumnDefine,\n TextColumnDefine,\n GroupColumnDefine,\n ListTableConstructorOptions,\n PivotTableConstructorOptions,\n PivotChartConstructorOptions,\n IHeaderTreeDefine,\n IDimension,\n IIndicator,\n ITitleDefine,\n ICornerDefine,\n TextAlignType,\n TextBaselineType\n} from './ts-types';\nimport { ListTableAll as ListTable } from './ListTable-all';\nimport { ListTableSimple } from './ListTable-simple';\n// import { PivotTable } from './PivotTable';\nimport { PivotTableAll as PivotTable } from './PivotTable-all';\nimport { PivotTableSimple } from './PivotTable-simple';\nimport { PivotChart } from './PivotChart';\nimport type { MousePointerCellEvent } from './ts-types/events';\nimport * as CustomLayout from './render/layout';\n\nimport { updateCell } from './scenegraph/group-creater/cell-helper';\nimport { renderChart } from './scenegraph/graphic/contributions/chart-render-helper';\nimport { restoreMeasureText, setCustomAlphabetCharSet, textMeasure } from './scenegraph/utils/text-measure';\nimport type { BaseTableAPI } from './ts-types/base-table';\n\n// import { container, loadCanvasPicker } from '@src/vrender';\n// loadCanvasPicker(container);\n\nexport { getDataCellPath } from './tools/get-data-path';\nexport * from './render/jsx';\nexport { getTargetCell } from './event/util';\nexport { toBoxArray } from './tools/helper';\nexport { Icon } from './scenegraph/graphic/icon';\nexport { CUSTOM_MERGE_PRE_NAME, CUSTOM_CONTAINER_NAME } from './scenegraph/component/custom';\n\n// export * as VRender from './vrender';\n// import * as VRender from './vrender';\n\nexport const version = \"1.23.
|
|
1
|
+
{"version":3,"sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;AACA,uCAA4D;AA8G1D,4FA9GO,qBAAW,OA8GP;AA7Gb,IAAA,4BAAkB,GAAE,CAAC;AAErB,kDAAoC;AAiElC,sBAAK;AAhEP,6CAA+B;AAiE7B,oBAAI;AAhEN,6CAA+B;AA4F7B,oBAAI;AA3FN,+CAAiC;AACjC,qDAAuC;AA+FrC,4BAAQ;AA9FV,iDAAmC;AAwFjC,wBAAM;AAvFR,yEAA2D;AAiGzD,wCAAc;AAhGhB,6DAA+C;AAuG7C,8CAAiB;AAjFnB,mDAA4D;AAsC1D,0FAtCuB,4BAAS,OAsCvB;AArCX,yDAAqD;AAsCnD,gGAtCO,kCAAe,OAsCP;AApCjB,qDAA+D;AAuC7D,2FAvCwB,8BAAU,OAuCxB;AAtCZ,2DAAuD;AAuCrD,iGAvCO,oCAAgB,OAuCP;AAtClB,6CAA0C;AAyCxC,2FAzCO,uBAAU,OAyCP;AAvCZ,8DAAgD;AAoE9C,oCAAY;AAlEd,wEAAoE;AAmElE,2FAnEO,wBAAU,OAmEP;AAlEZ,gGAAqF;AAmEnF,4FAnEO,iCAAW,OAmEP;AAlEb,kEAA4G;AAqE1G,mGArEO,iCAAkB,OAqEP;AADlB,yGApE2B,uCAAwB,OAoE3B;AAhBxB,4FApDqD,0BAAW,OAoDrD;AA9Cb,uDAAwD;AAA/C,gHAAA,eAAe,OAAA;AACxB,+CAA6B;AAC7B,qCAA6C;AAApC,qGAAA,aAAa,OAAA;AACtB,yCAA4C;AAAnC,oGAAA,UAAU,OAAA;AACnB,kDAAiD;AAAxC,4FAAA,IAAI,OAAA;AACb,wDAA6F;AAApF,+GAAA,qBAAqB,OAAA;AAAE,+GAAA,qBAAqB,OAAA;AAKxC,QAAA,OAAO,GAAG,QAAQ,CAAC;AA2DhC,SAAS,QAAQ;IAGf,OAAO,KAAK,CAAC,GAAG,EAAE,CAAC;AACrB,CAAC;AAvBC,4BAAQ;AAyBV,SAAS,WAAW;IAClB,QAAQ,CAAC,QAAQ,EAAE,CAAC;AAGtB,CAAC;AA5BC,kCAAW;AA6Bb,KAAK,CAAC,eAAe,CAAC;AAEtB,+CAA6B;AAC7B,uEAAqD;AAErD,4DAA2D;AAAlD,oHAAA,gBAAgB,OAAA;AACzB,wFAA+G;AAAtG,gIAAA,sBAAsB,OAAA;AAAE,gIAAA,sBAAsB,OAAA;AAEvD,mDAAkD;AAAzC,0GAAA,WAAW,OAAA","file":"index.js","sourcesContent":["/* eslint-disable sort-imports */\nimport { graphicUtil, registerForVrender } from './vrender';\nregisterForVrender();\n\nimport * as TYPES from './ts-types';\nimport * as core from './core';\nimport * as data from './data';\nimport * as icons from './icons';\nimport * as register from './register';\nimport * as themes from './themes';\nimport * as DataStatistics from './dataset/DataStatistics';\nimport * as pluginsDefinition from './plugins';\nimport type {\n ColumnDefine,\n ColumnsDefine,\n LinkColumnDefine,\n ChartColumnDefine,\n ImageColumnDefine,\n SparklineColumnDefine,\n ProgressbarColumnDefine,\n TextColumnDefine,\n GroupColumnDefine,\n ListTableConstructorOptions,\n PivotTableConstructorOptions,\n PivotChartConstructorOptions,\n IHeaderTreeDefine,\n IDimension,\n IIndicator,\n ITitleDefine,\n ICornerDefine,\n TextAlignType,\n TextBaselineType\n} from './ts-types';\nimport { ListTableAll as ListTable } from './ListTable-all';\nimport { ListTableSimple } from './ListTable-simple';\n// import { PivotTable } from './PivotTable';\nimport { PivotTableAll as PivotTable } from './PivotTable-all';\nimport { PivotTableSimple } from './PivotTable-simple';\nimport { PivotChart } from './PivotChart';\nimport type { MousePointerCellEvent } from './ts-types/events';\nimport * as CustomLayout from './render/layout';\n\nimport { updateCell } from './scenegraph/group-creater/cell-helper';\nimport { renderChart } from './scenegraph/graphic/contributions/chart-render-helper';\nimport { restoreMeasureText, setCustomAlphabetCharSet, textMeasure } from './scenegraph/utils/text-measure';\nimport type { BaseTableAPI } from './ts-types/base-table';\n\n// import { container, loadCanvasPicker } from '@src/vrender';\n// loadCanvasPicker(container);\n\nexport { getDataCellPath } from './tools/get-data-path';\nexport * from './render/jsx';\nexport { getTargetCell } from './event/util';\nexport { toBoxArray } from './tools/helper';\nexport { Icon } from './scenegraph/graphic/icon';\nexport { CUSTOM_MERGE_PRE_NAME, CUSTOM_CONTAINER_NAME } from './scenegraph/component/custom';\n\n// export * as VRender from './vrender';\n// import * as VRender from './vrender';\n\nexport const version = \"1.23.3\";\n/**\n * @namespace VTable\n */\nexport {\n /**\n * Types\n * @namespace VTable.TYPES\n */\n TYPES,\n core,\n ListTable,\n ListTableSimple,\n BaseTableAPI,\n ListTableConstructorOptions,\n PivotTable,\n PivotTableSimple,\n PivotTableConstructorOptions,\n PivotChartConstructorOptions,\n PivotChart,\n IHeaderTreeDefine,\n IDimension,\n IIndicator,\n ITitleDefine,\n ICornerDefine,\n ColumnsDefine,\n ColumnDefine,\n LinkColumnDefine,\n ChartColumnDefine,\n ImageColumnDefine,\n SparklineColumnDefine,\n ProgressbarColumnDefine,\n TextColumnDefine,\n GroupColumnDefine,\n TextAlignType,\n TextBaselineType,\n textMeasure,\n themes,\n data,\n MousePointerCellEvent,\n getIcons,\n clearGlobal,\n //plugin registers\n register,\n /**\n * 暂不推荐使用\n */\n DataStatistics,\n CustomLayout,\n updateCell,\n renderChart,\n graphicUtil,\n setCustomAlphabetCharSet,\n restoreMeasureText,\n pluginsDefinition\n // VRender // should use import {xxx} from '@visactor/vtable/es/vrender'\n};\n\n/** @private */\nfunction getIcons(): {\n [key: string]: TYPES.ColumnIconOption;\n} {\n return icons.get();\n}\n/** 清理内部的全局变量 如注册的icon theme等 以及共享的header column类实例 */\nfunction clearGlobal() {\n register.clearAll();\n // headers.type.clearGlobal();\n // columns.type.clearGlobal();\n}\nTYPES.AggregationType;\n\nexport * from './components';\nexport * from './scenegraph/group-creater/cell-type';\n\nexport { TABLE_EVENT_TYPE } from './core/TABLE_EVENT_TYPE';\nexport { PIVOT_CHART_EVENT_TYPE, PIVOT_TABLE_EVENT_TYPE } from './ts-types/pivot-table/PIVOT_TABLE_EVENT_TYPE';\n\nexport { EventTarget } from './event/EventTarget';\n"]}
|
package/cjs/vrender.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/vrender.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AAAA,qEAA0D;AAC1D,kCAAgC;AAChC,yDAAwH;AACxH,yDAqBgC;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;IAGd,IAAA,6BAAc,GAAE,CAAC;IAEjB,IAAA,4BAAa,GAAE,CAAC;IAChB,IAAA,4BAAa,GAAE,CAAC;IAChB,IAAA,2BAAY,GAAE,CAAC;IAIf,IAAA,2BAAY,GAAE,CAAC;IAEf,IAAA,+BAAgB,GAAE,CAAC;IACnB,IAAA,iCAAkB,GAAE,CAAC;IACrB,IAAA,6BAAc,GAAE,CAAC;IACjB,IAAA,2BAAY,GAAE,CAAC;IACf,IAAA,uCAAwB,GAAE,CAAC;IAE3B,IAAA,+BAAU,GAAE,CAAC;IAEb,IAAA,uCAAwB,GAAE,CAAC;AAC7B,CAAC;AAnCD,gDAmCC;AAOD,yDAAuC;AACvC,yDAAuC;AACvC,+DAA6C;AAC7C,4DAA0C","file":"vrender.js","sourcesContent":["import { loadPoptip } from '@visactor/vrender-components';\nimport '@visactor/vrender-core';\nimport { container, isBrowserEnv, isNodeEnv, preLoadAllModule, registerFlexLayoutPlugin } from '@visactor/vrender-core';\nimport {\n loadBrowserEnv,\n loadNodeEnv,\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.23.
|
|
1
|
+
{"version":3,"sources":["../src/vrender.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AAAA,qEAA0D;AAC1D,kCAAgC;AAChC,yDAAwH;AACxH,yDAqBgC;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;IAGd,IAAA,6BAAc,GAAE,CAAC;IAEjB,IAAA,4BAAa,GAAE,CAAC;IAChB,IAAA,4BAAa,GAAE,CAAC;IAChB,IAAA,2BAAY,GAAE,CAAC;IAIf,IAAA,2BAAY,GAAE,CAAC;IAEf,IAAA,+BAAgB,GAAE,CAAC;IACnB,IAAA,iCAAkB,GAAE,CAAC;IACrB,IAAA,6BAAc,GAAE,CAAC;IACjB,IAAA,2BAAY,GAAE,CAAC;IACf,IAAA,uCAAwB,GAAE,CAAC;IAE3B,IAAA,+BAAU,GAAE,CAAC;IAEb,IAAA,uCAAwB,GAAE,CAAC;AAC7B,CAAC;AAnCD,gDAmCC;AAOD,yDAAuC;AACvC,yDAAuC;AACvC,+DAA6C;AAC7C,4DAA0C","file":"vrender.js","sourcesContent":["import { loadPoptip } from '@visactor/vrender-components';\nimport '@visactor/vrender-core';\nimport { container, isBrowserEnv, isNodeEnv, preLoadAllModule, registerFlexLayoutPlugin } from '@visactor/vrender-core';\nimport {\n loadBrowserEnv,\n loadNodeEnv,\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.23.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 registerFlexLayoutPlugin();\n // registerWrapText();\n loadPoptip();\n\n registerFlexLayoutPlugin();\n}\n\nexport type { Direction } from '@visactor/vrender-core';\nexport type { State } from '@visactor/vrender-components';\n// export { GroupFadeIn } from '@visactor/vrender-core';\n// export { GroupFadeOut } from '@visactor/vrender-core';\n\nexport * from '@visactor/vrender-core';\nexport * from '@visactor/vrender-kits';\nexport * from '@visactor/vrender-components';\nexport * from '@visactor/vrender-animate';\n"]}
|
package/dist/vtable.js
CHANGED
|
@@ -627,28 +627,59 @@
|
|
|
627
627
|
}
|
|
628
628
|
addEventListener(type, listener, options) {
|
|
629
629
|
if (!listener) return;
|
|
630
|
+
const capture = this._resolveCapture(options),
|
|
631
|
+
once = this._resolveOnce(options),
|
|
632
|
+
listenerTypeMap = this._getOrCreateListenerTypeMap(type),
|
|
633
|
+
wrappedMap = this._getOrCreateWrappedMap(listenerTypeMap, listener);
|
|
634
|
+
if (wrappedMap.has(capture)) return;
|
|
630
635
|
const wrappedListener = event => {
|
|
631
636
|
const transformedEvent = this._eventListenerTransformer(event);
|
|
632
|
-
"function" == typeof listener ? listener(transformedEvent) : listener.handleEvent && listener.handleEvent(transformedEvent);
|
|
637
|
+
"function" == typeof listener ? listener(transformedEvent) : listener.handleEvent && listener.handleEvent(transformedEvent), once && this._deleteListenerRecord(type, listener, capture);
|
|
633
638
|
};
|
|
634
|
-
|
|
639
|
+
wrappedMap.set(capture, {
|
|
640
|
+
wrappedListener: wrappedListener,
|
|
641
|
+
options: options
|
|
642
|
+
}), this._nativeAddEventListener(type, wrappedListener, options);
|
|
635
643
|
}
|
|
636
644
|
removeEventListener(type, listener, options) {
|
|
637
|
-
var _a;
|
|
645
|
+
var _a, _b;
|
|
638
646
|
if (!listener) return;
|
|
639
|
-
const
|
|
640
|
-
|
|
647
|
+
const capture = this._resolveCapture(options),
|
|
648
|
+
wrappedRecord = null === (_b = null === (_a = this._listenerMap.get(type)) || void 0 === _a ? void 0 : _a.get(listener)) || void 0 === _b ? void 0 : _b.get(capture);
|
|
649
|
+
wrappedRecord && (this._nativeRemoveEventListener(type, wrappedRecord.wrappedListener, capture), this._deleteListenerRecord(type, listener, capture));
|
|
641
650
|
}
|
|
642
651
|
dispatchEvent(event) {
|
|
643
652
|
return this._nativeDispatchEvent(event);
|
|
644
653
|
}
|
|
645
654
|
clearAllEventListeners() {
|
|
646
|
-
this._listenerMap.forEach((
|
|
647
|
-
|
|
648
|
-
|
|
655
|
+
this._listenerMap.forEach((listenerMap, type) => {
|
|
656
|
+
listenerMap.forEach(wrappedMap => {
|
|
657
|
+
wrappedMap.forEach((wrappedRecord, capture) => {
|
|
658
|
+
this._nativeRemoveEventListener(type, wrappedRecord.wrappedListener, capture);
|
|
659
|
+
});
|
|
649
660
|
});
|
|
650
661
|
}), this._listenerMap.clear();
|
|
651
662
|
}
|
|
663
|
+
_resolveCapture(options) {
|
|
664
|
+
return "boolean" == typeof options ? options : !!(null == options ? void 0 : options.capture);
|
|
665
|
+
}
|
|
666
|
+
_resolveOnce(options) {
|
|
667
|
+
return "object" == typeof options && !!(null == options ? void 0 : options.once);
|
|
668
|
+
}
|
|
669
|
+
_getOrCreateListenerTypeMap(type) {
|
|
670
|
+
let listenerTypeMap = this._listenerMap.get(type);
|
|
671
|
+
return listenerTypeMap || (listenerTypeMap = new Map(), this._listenerMap.set(type, listenerTypeMap)), listenerTypeMap;
|
|
672
|
+
}
|
|
673
|
+
_getOrCreateWrappedMap(listenerTypeMap, listener) {
|
|
674
|
+
let wrappedMap = listenerTypeMap.get(listener);
|
|
675
|
+
return wrappedMap || (wrappedMap = new Map(), listenerTypeMap.set(listener, wrappedMap)), wrappedMap;
|
|
676
|
+
}
|
|
677
|
+
_deleteListenerRecord(type, listener, capture) {
|
|
678
|
+
const listenerTypeMap = this._listenerMap.get(type);
|
|
679
|
+
if (!listenerTypeMap) return;
|
|
680
|
+
const wrappedMap = listenerTypeMap.get(listener);
|
|
681
|
+
wrappedMap && (wrappedMap.delete(capture), 0 === wrappedMap.size && listenerTypeMap.delete(listener), 0 === listenerTypeMap.size && this._listenerMap.delete(type));
|
|
682
|
+
}
|
|
652
683
|
_nativeAddEventListener(type, listener, options) {
|
|
653
684
|
throw new Error("_nativeAddEventListener must be implemented by derived classes");
|
|
654
685
|
}
|
|
@@ -7162,7 +7193,9 @@
|
|
|
7162
7193
|
var _a;
|
|
7163
7194
|
if (event.manager !== this) throw new Error("It is illegal to free an event not managed by this EventManager!");
|
|
7164
7195
|
const constructor = event.constructor;
|
|
7165
|
-
this.eventPool.has(constructor) || this.eventPool.
|
|
7196
|
+
this.eventPool.has(constructor) || (this.eventPool.get(constructor).forEach(e => {
|
|
7197
|
+
e.eventPhase = event.NONE, e.currentTarget = null, e.path = [], e.detailPath = [], e.target = null;
|
|
7198
|
+
}), this.eventPool.set(constructor, [])), null === (_a = this.eventPool.get(constructor)) || void 0 === _a || _a.push(event);
|
|
7166
7199
|
}
|
|
7167
7200
|
notifyListeners(e, type) {
|
|
7168
7201
|
const listeners = e.currentTarget._events[type];
|
|
@@ -9766,7 +9799,7 @@
|
|
|
9766
9799
|
});
|
|
9767
9800
|
}
|
|
9768
9801
|
release() {
|
|
9769
|
-
this.releaseStatus = "released", this.stopAnimates(), application.graphicService.onRelease(this);
|
|
9802
|
+
this.releaseStatus = "released", this.stopAnimates(), application.graphicService.onRelease(this), super.release();
|
|
9770
9803
|
}
|
|
9771
9804
|
_emitCustomEvent(type, context) {
|
|
9772
9805
|
var _a, _b;
|
|
@@ -17173,12 +17206,12 @@
|
|
|
17173
17206
|
throw new Error("暂不支持");
|
|
17174
17207
|
}
|
|
17175
17208
|
release() {
|
|
17176
|
-
var _a, _b;
|
|
17209
|
+
var _a, _b, _d;
|
|
17177
17210
|
super.release(), this.hooks.beforeRender.unTap("constructor", this.beforeRender), this.hooks.afterRender.unTap("constructor", this.afterRender), this.eventSystem && this.eventSystem.release(), this.layerService.releaseStage(this), this.pluginService.release(), this.forEach(layer => {
|
|
17178
17211
|
layer.release();
|
|
17179
17212
|
}), this.interactiveLayer && (this.interactiveLayer.forEachChildren(item => {
|
|
17180
17213
|
item.setStage && item.setStage(null, null), this.interactiveLayer.removeChild(item);
|
|
17181
|
-
}), this.interactiveLayer.release()), this.window.release(), null === (_a = this._ticker) || void 0 === _a || _a.remTimeline(null == this ? void 0 : this.timeline), null === (_b = this._ticker) || void 0 === _b || _b.removeListener("tick", this.afterTickCb), this.renderService.renderTreeRoots = [];
|
|
17214
|
+
}), this.interactiveLayer.release()), this.window.release(), null === (_a = this._ticker) || void 0 === _a || _a.remTimeline(null == this ? void 0 : this.timeline), null === (_b = this._ticker) || void 0 === _b || _b.removeListener("tick", this.afterTickCb), this.params.ticker || null === (_d = this._ticker) || void 0 === _d || _d.release(), this.renderService.renderTreeRoots = [];
|
|
17182
17215
|
}
|
|
17183
17216
|
setStage(stage) {}
|
|
17184
17217
|
dirty(b, matrix) {
|
|
@@ -21499,7 +21532,7 @@
|
|
|
21499
21532
|
this._sliderRenderBounds = null, this._sliderLimitRange = null;
|
|
21500
21533
|
}
|
|
21501
21534
|
release(all) {
|
|
21502
|
-
super.release(all), ("browser" === vglobal.env ? vglobal : this.stage).
|
|
21535
|
+
super.release(all), ("browser" === vglobal.env ? vglobal : this.stage).removeEventListener("touchmove", this._handleTouchMove, {
|
|
21503
21536
|
passive: !1
|
|
21504
21537
|
}), this._clearDragEvents();
|
|
21505
21538
|
}
|
|
@@ -23082,17 +23115,21 @@
|
|
|
23082
23115
|
} = this.attribute.label;
|
|
23083
23116
|
textStyle = isFunction$3(textStyle) ? merge({}, DEFAULT_AXIS_THEME.label.style, textStyle(tickDatum, index, tickData, layer)) : textStyle;
|
|
23084
23117
|
const labelAlign = this.getLabelAlign(vector, inside, textStyle.angle);
|
|
23085
|
-
|
|
23118
|
+
textStyle = merge(labelAlign, textStyle), isFunction$3(textStyle.text) && (textStyle.text = textStyle.text({
|
|
23086
23119
|
label: tickDatum.label,
|
|
23087
23120
|
value: tickDatum.rawValue,
|
|
23088
23121
|
index: tickDatum.index,
|
|
23089
23122
|
layer: layer
|
|
23090
|
-
}))
|
|
23123
|
+
}));
|
|
23124
|
+
let reactStyle = textStyle.react;
|
|
23125
|
+
return isFunction$3(reactStyle) && (reactStyle = reactStyle(tickDatum, index, tickData, layer)), Object.assign(Object.assign(Object.assign(Object.assign({}, this.getLabelPosition(point, vector, textContent, textStyle)), {
|
|
23091
23126
|
text: null != text ? text : textContent,
|
|
23092
23127
|
_originText: tickDatum.label,
|
|
23093
23128
|
lineHeight: null == textStyle ? void 0 : textStyle.fontSize,
|
|
23094
23129
|
type: type
|
|
23095
|
-
}), textStyle)
|
|
23130
|
+
}), textStyle), {
|
|
23131
|
+
react: reactStyle
|
|
23132
|
+
});
|
|
23096
23133
|
}
|
|
23097
23134
|
getLabelPosition(point, vector, text, style) {
|
|
23098
23135
|
return point;
|
|
@@ -24121,6 +24158,8 @@
|
|
|
24121
24158
|
this.status === STATUS$1.RUNNING && (this.tickCounts++, this.timelines.forEach(timeline => {
|
|
24122
24159
|
timeline.tick(delta);
|
|
24123
24160
|
}), this.emit("tick", delta));
|
|
24161
|
+
}, this._handleGraphTick = () => {
|
|
24162
|
+
this.initHandler(!1);
|
|
24124
24163
|
}, this.init(), this.lastFrameTime = -1, this.tickCounts = 0, this.stage = stage, this.autoStop = !0, this.interval = 16, this.computeTimeOffsetAndJitter();
|
|
24125
24164
|
}
|
|
24126
24165
|
bindStage(stage) {
|
|
@@ -24130,9 +24169,7 @@
|
|
|
24130
24169
|
this.timeOffset = Math.floor(Math.random() * this.interval), this._jitter = Math.min(Math.max(.2 * this.interval, 6), .7 * this.interval);
|
|
24131
24170
|
}
|
|
24132
24171
|
init() {
|
|
24133
|
-
this.interval = 16, this.status = STATUS$1.INITIAL, application.global.hooks.onSetEnv.tap("graph-ticker",
|
|
24134
|
-
this.initHandler(!1);
|
|
24135
|
-
}), application.global.env && this.initHandler(!1);
|
|
24172
|
+
this.interval = 16, this.status = STATUS$1.INITIAL, application.global.hooks.onSetEnv.tap("graph-ticker", this._handleGraphTick), application.global.env && this.initHandler(!1);
|
|
24136
24173
|
}
|
|
24137
24174
|
addTimeline(timeline) {
|
|
24138
24175
|
this.timelines.push(timeline);
|
|
@@ -24205,7 +24242,7 @@
|
|
|
24205
24242
|
}
|
|
24206
24243
|
release() {
|
|
24207
24244
|
var _a;
|
|
24208
|
-
this.stop(), this.timelines = [], null === (_a = this.tickerHandler) || void 0 === _a || _a.release(), this.tickerHandler = null, this.lastFrameTime = -1;
|
|
24245
|
+
this.stop(), this.timelines = [], null === (_a = this.tickerHandler) || void 0 === _a || _a.release(), this.tickerHandler = null, this.lastFrameTime = -1, application.global.hooks.onSetEnv.unTap("graph-ticker", this._handleGraphTick);
|
|
24209
24246
|
}
|
|
24210
24247
|
checkSkip(delta) {
|
|
24211
24248
|
var _a, _b, _c;
|
|
@@ -32684,7 +32721,7 @@
|
|
|
32684
32721
|
};
|
|
32685
32722
|
}
|
|
32686
32723
|
release(all) {
|
|
32687
|
-
super.release(all), ("browser" === vglobal.env ? vglobal : this.stage).
|
|
32724
|
+
super.release(all), ("browser" === vglobal.env ? vglobal : this.stage).removeEventListener("touchmove", this._handleTouchMove, {
|
|
32688
32725
|
passive: !1
|
|
32689
32726
|
}), this._clearAllDragEvents();
|
|
32690
32727
|
}
|
|
@@ -34889,6 +34926,9 @@
|
|
|
34889
34926
|
listenerData: {}
|
|
34890
34927
|
};
|
|
34891
34928
|
on(type, listener) {
|
|
34929
|
+
if (!this.listenersData) {
|
|
34930
|
+
return undefined;
|
|
34931
|
+
}
|
|
34892
34932
|
const list = this.listenersData.listeners[type] || (this.listenersData.listeners[type] = []);
|
|
34893
34933
|
list.push(listener);
|
|
34894
34934
|
const id = idCount$1++;
|
|
@@ -34896,10 +34936,13 @@
|
|
|
34896
34936
|
type,
|
|
34897
34937
|
listener,
|
|
34898
34938
|
remove: () => {
|
|
34939
|
+
if (!this.listenersData) {
|
|
34940
|
+
return;
|
|
34941
|
+
}
|
|
34899
34942
|
delete this.listenersData.listenerData[id];
|
|
34900
34943
|
const index = list.indexOf(listener);
|
|
34901
34944
|
list.splice(index, 1);
|
|
34902
|
-
if (!this.listenersData.listeners[type].length) {
|
|
34945
|
+
if (this.listenersData.listeners[type] && !this.listenersData.listeners[type].length) {
|
|
34903
34946
|
delete this.listenersData.listeners[type];
|
|
34904
34947
|
}
|
|
34905
34948
|
}
|
|
@@ -71005,7 +71048,7 @@
|
|
|
71005
71048
|
return TABLE_EVENT_TYPE;
|
|
71006
71049
|
}
|
|
71007
71050
|
options;
|
|
71008
|
-
version = "1.23.
|
|
71051
|
+
version = "1.23.3";
|
|
71009
71052
|
pagination;
|
|
71010
71053
|
id = `VTable${Date.now()}`;
|
|
71011
71054
|
headerStyleCache;
|
|
@@ -72597,6 +72640,11 @@
|
|
|
72597
72640
|
this.release();
|
|
72598
72641
|
}
|
|
72599
72642
|
release() {
|
|
72643
|
+
this.scenegraph?.component?.vScrollBar?.release();
|
|
72644
|
+
this.scenegraph?.component?.hScrollBar?.release();
|
|
72645
|
+
this.animationManager.clear();
|
|
72646
|
+
this.animationManager.ticker.release();
|
|
72647
|
+
this.scenegraph?.stage?.ticker?.release();
|
|
72600
72648
|
const internalProps = this.internalProps;
|
|
72601
72649
|
if (this.isReleased) {
|
|
72602
72650
|
return;
|
|
@@ -77038,6 +77086,8 @@
|
|
|
77038
77086
|
this.editingEditor.onEnd?.();
|
|
77039
77087
|
this.editingEditor = null;
|
|
77040
77088
|
}
|
|
77089
|
+
Object.values(this.cacheLastSelectedCellEditor).forEach((editor) => editor?.onEnd?.());
|
|
77090
|
+
this.cacheLastSelectedCellEditor = {};
|
|
77041
77091
|
}
|
|
77042
77092
|
release() {
|
|
77043
77093
|
this.listenersId.forEach(id => {
|
|
@@ -89644,6 +89694,13 @@
|
|
|
89644
89694
|
}
|
|
89645
89695
|
}
|
|
89646
89696
|
}
|
|
89697
|
+
else if (typeof this.collectValuesBy[field]?.extendRange === 'number') {
|
|
89698
|
+
for (const byKeys in this.collectedValues[field]) {
|
|
89699
|
+
let max = this.collectedValues[field][byKeys].max;
|
|
89700
|
+
max = Math.max(max, this.collectValuesBy[field]?.extendRange);
|
|
89701
|
+
this.collectedValues[field][byKeys].max = max;
|
|
89702
|
+
}
|
|
89703
|
+
}
|
|
89647
89704
|
}
|
|
89648
89705
|
}
|
|
89649
89706
|
processCollectedValuesWithSortBy() {
|
|
@@ -94763,7 +94820,7 @@
|
|
|
94763
94820
|
}
|
|
94764
94821
|
|
|
94765
94822
|
registerForVrender();
|
|
94766
|
-
const version = "1.23.
|
|
94823
|
+
const version = "1.23.3";
|
|
94767
94824
|
function getIcons() {
|
|
94768
94825
|
return get$2();
|
|
94769
94826
|
}
|