@visactor/vtable 1.18.3-alpha.1 → 1.18.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/ListTable.js.map +1 -1
- package/cjs/body-helper/style.js +1 -2
- package/cjs/core/BaseTable.js +1 -1
- package/cjs/core/BaseTable.js.map +1 -1
- package/cjs/core/FouseInput.js +2 -1
- package/cjs/dataset/dataset-pivot-table.js +1 -2
- package/cjs/dataset/flatDataToObject.js +2 -1
- package/cjs/edit/edit-manager.js +4 -2
- package/cjs/edit/edit-manager.js.map +1 -1
- package/cjs/event/listener/touch.js +6 -1
- package/cjs/event/listener/touch.js.map +1 -1
- package/cjs/header-helper/header-helper.js +1 -1
- package/cjs/header-helper/style.js +1 -1
- package/cjs/index.d.ts +3 -3
- package/cjs/index.js +7 -2
- package/cjs/index.js.map +1 -1
- package/cjs/layout/index.js +1 -2
- package/cjs/layout/pivot-header-layout.js +3 -2
- package/cjs/layout/pivot-header-layout.js.map +1 -1
- package/cjs/plugins/index.js +1 -1
- package/cjs/plugins/interface.js +1 -1
- package/cjs/vrender.js.map +1 -1
- package/dist/vtable.js +19 -5
- package/dist/vtable.min.js +1 -1
- package/es/ListTable.js.map +1 -1
- package/es/body-helper/style.js +1 -2
- package/es/core/BaseTable.js +1 -1
- package/es/core/BaseTable.js.map +1 -1
- package/es/core/FouseInput.js +2 -1
- package/es/dataset/dataset-pivot-table.js +1 -2
- package/es/dataset/flatDataToObject.js +2 -1
- package/es/edit/edit-manager.js +4 -2
- package/es/edit/edit-manager.js.map +1 -1
- package/es/event/listener/touch.js +6 -1
- package/es/event/listener/touch.js.map +1 -1
- package/es/header-helper/header-helper.js +1 -1
- package/es/header-helper/style.js +1 -1
- package/es/index.d.ts +3 -3
- package/es/index.js +3 -3
- package/es/index.js.map +1 -1
- package/es/layout/index.js +1 -2
- package/es/layout/pivot-header-layout.js +4 -3
- package/es/layout/pivot-header-layout.js.map +1 -1
- package/es/plugins/index.js +1 -1
- package/es/plugins/interface.js +1 -1
- package/es/vrender.js.map +1 -1
- package/package.json +5 -5
package/cjs/core/FouseInput.js
CHANGED
package/cjs/edit/edit-manager.js
CHANGED
|
@@ -12,15 +12,17 @@ class EditManager {
|
|
|
12
12
|
}
|
|
13
13
|
bindEvent() {
|
|
14
14
|
const table = this.table, doubleClickEventId = table.on(TABLE_EVENT_TYPE_1.TABLE_EVENT_TYPE.DBLCLICK_CELL, (e => {
|
|
15
|
-
var _a;
|
|
15
|
+
var _a, _b, _c;
|
|
16
16
|
const {editCellTrigger: editCellTrigger = "doubleclick"} = table.options;
|
|
17
17
|
if (!editCellTrigger.includes("doubleclick")) return;
|
|
18
18
|
const {col: col, row: row} = e, eventArgsSet = (0, util_1.getCellEventArgsSet)(e.federatedEvent), resizeCol = table.scenegraph.getResizeColAt(eventArgsSet.abstractPos.x, eventArgsSet.abstractPos.y, null === (_a = eventArgsSet.eventArgs) || void 0 === _a ? void 0 : _a.targetCell);
|
|
19
|
-
table._canResizeColumn(resizeCol.col, resizeCol.row) && resizeCol.col >= 0 || (this.beginTriggerEditCellMode = "doubleclick",
|
|
19
|
+
table._canResizeColumn(resizeCol.col, resizeCol.row) && resizeCol.col >= 0 || (null === (_c = null === (_b = e.target) || void 0 === _b ? void 0 : _b.attribute) || void 0 === _c ? void 0 : _c.funcType) || (this.beginTriggerEditCellMode = "doubleclick",
|
|
20
20
|
this.startEditCell(col, row));
|
|
21
21
|
})), clickEventId = table.on(TABLE_EVENT_TYPE_1.TABLE_EVENT_TYPE.CLICK_CELL, (e => {
|
|
22
|
+
var _a, _b;
|
|
22
23
|
const {editCellTrigger: editCellTrigger = "doubleclick"} = table.options;
|
|
23
24
|
if ("click" === editCellTrigger || Array.isArray(editCellTrigger) && editCellTrigger.includes("click")) {
|
|
25
|
+
if (null === (_b = null === (_a = e.target) || void 0 === _a ? void 0 : _a.attribute) || void 0 === _b ? void 0 : _b.funcType) return;
|
|
24
26
|
this.beginTriggerEditCellMode = "click";
|
|
25
27
|
const {col: col, row: row} = e;
|
|
26
28
|
this.startEditCell(col, row);
|
|
@@ -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 } from '../ts-types';\nimport { getCellEventArgsSet } from '../event/util';\nimport type { SimpleHeaderLayoutMap } from '../layout';\nimport { isPromise } from '../tools/helper';\nimport { isValid } from '@visactor/vutils';\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 constructor(table: BaseTableAPI) {\n this.table = table;\n this.bindEvent();\n }\n\n bindEvent() {\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 const { editCellTrigger = 'doubleclick' } = table.options;\n\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 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 this.beginTriggerEditCellMode = 'click';\n const { col, row } = e;\n this.startEditCell(col, row);\n }\n });\n\n this.listenersId.push(doubleClickEventId, clickEventId);\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) {\n if (this.editingEditor) {\n return;\n }\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 // 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 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\n const maybePromiseOrValue = this.editingEditor.validateValue?.(newValue, oldValue, this.editCell, this.table);\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.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 } 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 constructor(table: BaseTableAPI) {\n this.table = table;\n this.bindEvent();\n }\n\n bindEvent() {\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 const { editCellTrigger = 'doubleclick' } = table.options;\n\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 }\n });\n\n this.listenersId.push(doubleClickEventId, clickEventId);\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) {\n if (this.editingEditor) {\n return;\n }\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 // 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 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\n const maybePromiseOrValue = this.editingEditor.validateValue?.(newValue, oldValue, this.editCell, this.table);\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.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"]}
|
|
@@ -8,7 +8,12 @@ const vrender_1 = require("./../../vrender"), scroll_1 = require("../scroll"), t
|
|
|
8
8
|
|
|
9
9
|
function bindTouchListener(eventManager) {
|
|
10
10
|
const table = eventManager.table, stateManager = table.stateManager, scenegraph = table.scenegraph;
|
|
11
|
-
|
|
11
|
+
if (!1 === vrender_1.vglobal.envContribution.supportsTouchEvents) return;
|
|
12
|
+
vrender_1.vglobal.addEventListener("contextmenu", (e => {
|
|
13
|
+
e.stopPropagation(), e.preventDefault();
|
|
14
|
+
}), {
|
|
15
|
+
capture: !0
|
|
16
|
+
}), eventManager.touchMovePoints = [], table.scenegraph.tableGroup.addEventListener("touchstart", (e => {
|
|
12
17
|
var _a, _b, _c, _d, _e, _f, _g, _h;
|
|
13
18
|
if (e.target.isChildOf(scenegraph.component.vScrollBar) || e.target.isChildOf(scenegraph.component.vScrollBar)) return;
|
|
14
19
|
eventManager.isTouchdown = !0;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/event/listener/touch.ts"],"names":[],"mappings":"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","file":"touch.js","sourcesContent":["import { vglobal } from './../../vrender';\nimport type { FederatedPointerEvent } from './../../vrender';\nimport { handleWhell, isHorizontalScrollable, isVerticalScrollable } from '../scroll';\nimport type { EventManager } from '../event';\nimport { IconFuncTypeEnum } from '../../ts-types';\n\nexport function bindTouchListener(eventManager: EventManager) {\n const table = eventManager.table;\n const stateManager = table.stateManager;\n const scenegraph = table.scenegraph;\n\n // deal width touch scrolling in mobile devices\n eventManager.touchMovePoints = [];\n table.scenegraph.tableGroup.addEventListener('touchstart', (e: FederatedPointerEvent) => {\n if (e.target.isChildOf(scenegraph.component.vScrollBar) || e.target.isChildOf(scenegraph.component.vScrollBar)) {\n return;\n }\n eventManager.isTouchdown = true;\n const touchEvent = e.nativeEvent as TouchEvent;\n eventManager.touchMovePoints.push({\n x: table.rotateDegree ? (touchEvent.changedTouches?.[0] as any)?._canvasX ?? e.canvas?.x : e.page.x,\n y: table.rotateDegree ? (touchEvent.changedTouches?.[0] as any)?._canvasY ?? e.canvas?.y : e.page.y,\n timestamp: Date.now()\n });\n });\n\n const globalTouchMoveCallback = (e: TouchEvent) => {\n if (eventManager.isLongTouch) {\n e.preventDefault();\n }\n if (!eventManager.isTouchdown || !isTouchEvent(e)) {\n return;\n }\n eventManager.isTouchMove = true;\n if ((eventManager.downIcon?.attribute as any)?.funcType === IconFuncTypeEnum.dragReorder) {\n // console.log()\n e.preventDefault();\n } else {\n // collect four last touch pisitions\n if (eventManager.touchMovePoints.length > 4) {\n eventManager.touchMovePoints.shift();\n }\n eventManager.touchMovePoints.push({\n x: table.rotateDegree ? (e.changedTouches[0] as any)._canvasX : e.changedTouches[0].pageX,\n y: table.rotateDegree ? (e.changedTouches[0] as any)._canvasY : e.changedTouches[0].pageY,\n timestamp: Date.now()\n });\n if (eventManager._enableTableScroll) {\n const deltaX =\n -eventManager.touchMovePoints[eventManager.touchMovePoints.length - 1].x +\n eventManager.touchMovePoints[eventManager.touchMovePoints.length - 2].x;\n const deltaY =\n -eventManager.touchMovePoints[eventManager.touchMovePoints.length - 1].y +\n eventManager.touchMovePoints[eventManager.touchMovePoints.length - 2].y;\n handleWhell({ deltaX, deltaY } as any, stateManager);\n\n if (\n e.cancelable &&\n (table.internalProps.overscrollBehavior === 'none' ||\n (Math.abs(deltaY) >= Math.abs(deltaX) && deltaY !== 0 && isVerticalScrollable(deltaY, stateManager)) ||\n (Math.abs(deltaY) <= Math.abs(deltaX) && deltaX !== 0 && isHorizontalScrollable(deltaX, stateManager)))\n ) {\n e.preventDefault();\n }\n }\n }\n };\n vglobal.addEventListener('touchmove', globalTouchMoveCallback, { passive: false });\n eventManager.globalEventListeners.push({\n name: 'touchmove',\n env: 'vglobal',\n callback: globalTouchMoveCallback\n });\n\n const globalTouchEndCallback = (e: TouchEvent) => {\n eventManager.touchEnd = true;\n eventManager.isLongTouch = false;\n if (!eventManager.isTouchdown || !isTouchEvent(e)) {\n return;\n }\n if ((eventManager.downIcon?.attribute as any)?.funcType === IconFuncTypeEnum.dragReorder) {\n // console.log()\n e.preventDefault();\n } else {\n if (eventManager.touchMovePoints?.length) {\n if (eventManager.touchMovePoints.length > 4) {\n eventManager.touchMovePoints.shift();\n }\n eventManager.touchMovePoints.push({\n x: table.rotateDegree ? (e.changedTouches[0] as any)._canvasX : e.changedTouches[0].pageX,\n y: table.rotateDegree ? (e.changedTouches[0] as any)._canvasY : e.changedTouches[0].pageY,\n timestamp: Date.now()\n });\n // compute inertia parameter\n\n if (eventManager._enableTableScroll) {\n const firstPoint = eventManager.touchMovePoints[0];\n const lastPoint = eventManager.touchMovePoints[eventManager.touchMovePoints?.length - 1];\n const vX = (lastPoint.x - firstPoint.x) / (lastPoint.timestamp - firstPoint.timestamp);\n const vY = (lastPoint.y - firstPoint.y) / (lastPoint.timestamp - firstPoint.timestamp);\n //开始惯性滚动\n eventManager.inertiaScroll.startInertia(vX, vY, 0.95);\n table.eventManager.inertiaScroll.setScrollHandle((dx: number, dy: number) => {\n handleWhell({ deltaX: -dx, deltaY: -dy } as any, table.stateManager);\n });\n }\n }\n }\n eventManager.isTouchdown = false;\n eventManager.isTouchMove = false;\n eventManager.isDraging = false;\n eventManager.touchMovePoints = [];\n };\n vglobal.addEventListener('touchend', globalTouchEndCallback);\n eventManager.globalEventListeners.push({\n name: 'touchend',\n env: 'vglobal',\n callback: globalTouchEndCallback\n });\n\n const globalTouchCancelCallback = (e: TouchEvent) => {\n eventManager.touchEnd = true;\n eventManager.isLongTouch = false;\n\n if (!eventManager.isTouchdown) {\n return;\n }\n eventManager.isTouchdown = false;\n eventManager.isTouchMove = false;\n eventManager.touchMovePoints = [];\n eventManager.isDraging = false;\n };\n vglobal.addEventListener('touchcancel', globalTouchCancelCallback);\n eventManager.globalEventListeners.push({\n name: 'touchcancel',\n env: 'vglobal',\n callback: globalTouchCancelCallback\n });\n}\n\nfunction isTouchEvent(e: TouchEvent | MouseEvent): e is TouchEvent {\n return !!(e as TouchEvent).changedTouches;\n}\n"]}
|
|
1
|
+
{"version":3,"sources":["../src/event/listener/touch.ts"],"names":[],"mappings":"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","file":"touch.js","sourcesContent":["import { vglobal } from './../../vrender';\nimport type { FederatedPointerEvent } from './../../vrender';\nimport { handleWhell, isHorizontalScrollable, isVerticalScrollable } from '../scroll';\nimport type { EventManager } from '../event';\nimport { IconFuncTypeEnum } from '../../ts-types';\n\nexport function bindTouchListener(eventManager: EventManager) {\n const table = eventManager.table;\n const stateManager = table.stateManager;\n const scenegraph = table.scenegraph;\n if (vglobal.envContribution.supportsTouchEvents === false) {\n return;\n }\n // 阻止右键事件\n vglobal.addEventListener(\n 'contextmenu',\n e => {\n e.stopPropagation();\n e.preventDefault();\n },\n // 捕获阶段就阻止\n { capture: true }\n );\n\n // deal width touch scrolling in mobile devices\n eventManager.touchMovePoints = [];\n table.scenegraph.tableGroup.addEventListener('touchstart', (e: FederatedPointerEvent) => {\n if (e.target.isChildOf(scenegraph.component.vScrollBar) || e.target.isChildOf(scenegraph.component.vScrollBar)) {\n return;\n }\n eventManager.isTouchdown = true;\n const touchEvent = e.nativeEvent as TouchEvent;\n eventManager.touchMovePoints.push({\n x: table.rotateDegree ? (touchEvent.changedTouches?.[0] as any)?._canvasX ?? e.canvas?.x : e.page.x,\n y: table.rotateDegree ? (touchEvent.changedTouches?.[0] as any)?._canvasY ?? e.canvas?.y : e.page.y,\n timestamp: Date.now()\n });\n });\n\n const globalTouchMoveCallback = (e: TouchEvent) => {\n if (eventManager.isLongTouch) {\n e.preventDefault();\n }\n if (!eventManager.isTouchdown || !isTouchEvent(e)) {\n return;\n }\n eventManager.isTouchMove = true;\n if ((eventManager.downIcon?.attribute as any)?.funcType === IconFuncTypeEnum.dragReorder) {\n // console.log()\n e.preventDefault();\n } else {\n // collect four last touch pisitions\n if (eventManager.touchMovePoints.length > 4) {\n eventManager.touchMovePoints.shift();\n }\n eventManager.touchMovePoints.push({\n x: table.rotateDegree ? (e.changedTouches[0] as any)._canvasX : e.changedTouches[0].pageX,\n y: table.rotateDegree ? (e.changedTouches[0] as any)._canvasY : e.changedTouches[0].pageY,\n timestamp: Date.now()\n });\n if (eventManager._enableTableScroll) {\n const deltaX =\n -eventManager.touchMovePoints[eventManager.touchMovePoints.length - 1].x +\n eventManager.touchMovePoints[eventManager.touchMovePoints.length - 2].x;\n const deltaY =\n -eventManager.touchMovePoints[eventManager.touchMovePoints.length - 1].y +\n eventManager.touchMovePoints[eventManager.touchMovePoints.length - 2].y;\n handleWhell({ deltaX, deltaY } as any, stateManager);\n\n if (\n e.cancelable &&\n (table.internalProps.overscrollBehavior === 'none' ||\n (Math.abs(deltaY) >= Math.abs(deltaX) && deltaY !== 0 && isVerticalScrollable(deltaY, stateManager)) ||\n (Math.abs(deltaY) <= Math.abs(deltaX) && deltaX !== 0 && isHorizontalScrollable(deltaX, stateManager)))\n ) {\n e.preventDefault();\n }\n }\n }\n };\n vglobal.addEventListener('touchmove', globalTouchMoveCallback, { passive: false });\n eventManager.globalEventListeners.push({\n name: 'touchmove',\n env: 'vglobal',\n callback: globalTouchMoveCallback\n });\n\n const globalTouchEndCallback = (e: TouchEvent) => {\n eventManager.touchEnd = true;\n eventManager.isLongTouch = false;\n if (!eventManager.isTouchdown || !isTouchEvent(e)) {\n return;\n }\n if ((eventManager.downIcon?.attribute as any)?.funcType === IconFuncTypeEnum.dragReorder) {\n // console.log()\n e.preventDefault();\n } else {\n if (eventManager.touchMovePoints?.length) {\n if (eventManager.touchMovePoints.length > 4) {\n eventManager.touchMovePoints.shift();\n }\n eventManager.touchMovePoints.push({\n x: table.rotateDegree ? (e.changedTouches[0] as any)._canvasX : e.changedTouches[0].pageX,\n y: table.rotateDegree ? (e.changedTouches[0] as any)._canvasY : e.changedTouches[0].pageY,\n timestamp: Date.now()\n });\n // compute inertia parameter\n\n if (eventManager._enableTableScroll) {\n const firstPoint = eventManager.touchMovePoints[0];\n const lastPoint = eventManager.touchMovePoints[eventManager.touchMovePoints?.length - 1];\n const vX = (lastPoint.x - firstPoint.x) / (lastPoint.timestamp - firstPoint.timestamp);\n const vY = (lastPoint.y - firstPoint.y) / (lastPoint.timestamp - firstPoint.timestamp);\n //开始惯性滚动\n eventManager.inertiaScroll.startInertia(vX, vY, 0.95);\n table.eventManager.inertiaScroll.setScrollHandle((dx: number, dy: number) => {\n handleWhell({ deltaX: -dx, deltaY: -dy } as any, table.stateManager);\n });\n }\n }\n }\n eventManager.isTouchdown = false;\n eventManager.isTouchMove = false;\n eventManager.isDraging = false;\n eventManager.touchMovePoints = [];\n };\n vglobal.addEventListener('touchend', globalTouchEndCallback);\n eventManager.globalEventListeners.push({\n name: 'touchend',\n env: 'vglobal',\n callback: globalTouchEndCallback\n });\n\n const globalTouchCancelCallback = (e: TouchEvent) => {\n eventManager.touchEnd = true;\n eventManager.isLongTouch = false;\n\n if (!eventManager.isTouchdown) {\n return;\n }\n eventManager.isTouchdown = false;\n eventManager.isTouchMove = false;\n eventManager.touchMovePoints = [];\n eventManager.isDraging = false;\n };\n vglobal.addEventListener('touchcancel', globalTouchCancelCallback);\n eventManager.globalEventListeners.push({\n name: 'touchcancel',\n env: 'vglobal',\n callback: globalTouchCancelCallback\n });\n}\n\nfunction isTouchEvent(e: TouchEvent | MouseEvent): e is TouchEvent {\n return !!(e as TouchEvent).changedTouches;\n}\n"]}
|
package/cjs/index.d.ts
CHANGED
|
@@ -16,14 +16,14 @@ import type { MousePointerCellEvent } from './ts-types/events';
|
|
|
16
16
|
import * as CustomLayout from './render/layout';
|
|
17
17
|
import { updateCell } from './scenegraph/group-creater/cell-helper';
|
|
18
18
|
import { renderChart } from './scenegraph/graphic/contributions/chart-render-helper';
|
|
19
|
-
import { restoreMeasureText, setCustomAlphabetCharSet } from './scenegraph/utils/text-measure';
|
|
19
|
+
import { restoreMeasureText, setCustomAlphabetCharSet, textMeasure } from './scenegraph/utils/text-measure';
|
|
20
20
|
import type { BaseTableAPI } from './ts-types/base-table';
|
|
21
21
|
export { getDataCellPath } from './tools/get-data-path';
|
|
22
22
|
export * from './render/jsx';
|
|
23
23
|
export { getTargetCell } from './event/util';
|
|
24
24
|
export { Icon } from './scenegraph/graphic/icon';
|
|
25
|
-
export declare const version = "1.18.3
|
|
26
|
-
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, themes, data, MousePointerCellEvent, getIcons, clearGlobal, register, DataStatistics, CustomLayout, updateCell, renderChart, graphicUtil, setCustomAlphabetCharSet, restoreMeasureText, plugins };
|
|
25
|
+
export declare const version = "1.18.3";
|
|
26
|
+
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, plugins };
|
|
27
27
|
declare function getIcons(): {
|
|
28
28
|
[key: string]: TYPES.ColumnIconOption;
|
|
29
29
|
};
|
package/cjs/index.js
CHANGED
|
@@ -29,7 +29,7 @@ var __createBinding = this && this.__createBinding || (Object.create ? function(
|
|
|
29
29
|
|
|
30
30
|
Object.defineProperty(exports, "__esModule", {
|
|
31
31
|
value: !0
|
|
32
|
-
}), exports.EventTarget = exports.PIVOT_TABLE_EVENT_TYPE = exports.PIVOT_CHART_EVENT_TYPE = exports.TABLE_EVENT_TYPE = exports.plugins = exports.restoreMeasureText = exports.setCustomAlphabetCharSet = exports.graphicUtil = exports.renderChart = exports.updateCell = exports.CustomLayout = exports.DataStatistics = exports.register = exports.clearGlobal = exports.getIcons = exports.data = exports.themes = exports.PivotChart = exports.PivotTableSimple = exports.PivotTable = exports.ListTableSimple = exports.ListTable = exports.core = exports.TYPES = exports.version = exports.Icon = exports.getTargetCell = exports.getDataCellPath = void 0;
|
|
32
|
+
}), exports.EventTarget = exports.PIVOT_TABLE_EVENT_TYPE = exports.PIVOT_CHART_EVENT_TYPE = exports.TABLE_EVENT_TYPE = exports.plugins = exports.restoreMeasureText = exports.setCustomAlphabetCharSet = exports.graphicUtil = exports.renderChart = exports.updateCell = exports.CustomLayout = exports.DataStatistics = exports.register = exports.clearGlobal = exports.getIcons = exports.data = exports.themes = exports.textMeasure = exports.PivotChart = exports.PivotTableSimple = exports.PivotTable = exports.ListTableSimple = exports.ListTable = exports.core = exports.TYPES = exports.version = exports.Icon = exports.getTargetCell = exports.getDataCellPath = void 0;
|
|
33
33
|
|
|
34
34
|
const vrender_1 = require("./vrender");
|
|
35
35
|
|
|
@@ -147,6 +147,11 @@ Object.defineProperty(exports, "restoreMeasureText", {
|
|
|
147
147
|
get: function() {
|
|
148
148
|
return text_measure_1.setCustomAlphabetCharSet;
|
|
149
149
|
}
|
|
150
|
+
}), Object.defineProperty(exports, "textMeasure", {
|
|
151
|
+
enumerable: !0,
|
|
152
|
+
get: function() {
|
|
153
|
+
return text_measure_1.textMeasure;
|
|
154
|
+
}
|
|
150
155
|
});
|
|
151
156
|
|
|
152
157
|
var get_data_path_1 = require("./tools/get-data-path");
|
|
@@ -182,7 +187,7 @@ Object.defineProperty(exports, "Icon", {
|
|
|
182
187
|
get: function() {
|
|
183
188
|
return icon_1.Icon;
|
|
184
189
|
}
|
|
185
|
-
}), exports.version = "1.18.3
|
|
190
|
+
}), exports.version = "1.18.3", exports.getIcons = getIcons, exports.clearGlobal = clearGlobal,
|
|
186
191
|
TYPES.AggregationType, __exportStar(require("./components"), exports), __exportStar(require("./scenegraph/group-creater/cell-type"), exports);
|
|
187
192
|
|
|
188
193
|
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;
|
|
1
|
+
{"version":3,"sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;AACA,uCAA4D;AA6G1D,4FA7GO,qBAAW,OA6GP;AA5Gb,IAAA,4BAAkB,GAAE,CAAC;AAErB,kDAAoC;AAgElC,sBAAK;AA/DP,6CAA+B;AAgE7B,oBAAI;AA/DN,6CAA+B;AA2F7B,oBAAI;AA1FN,+CAAiC;AACjC,qDAAuC;AA8FrC,4BAAQ;AA7FV,iDAAmC;AAuFjC,wBAAM;AAtFR,yEAA2D;AAgGzD,wCAAc;AA/FhB,mDAAqC;AAsGnC,0BAAO;AAhFT,mDAA4D;AAqC1D,0FArCuB,4BAAS,OAqCvB;AApCX,yDAAqD;AAqCnD,gGArCO,kCAAe,OAqCP;AAnCjB,qDAA+D;AAsC7D,2FAtCwB,8BAAU,OAsCxB;AArCZ,2DAAuD;AAsCrD,iGAtCO,oCAAgB,OAsCP;AArClB,6CAA0C;AAwCxC,2FAxCO,uBAAU,OAwCP;AAtCZ,8DAAgD;AAmE9C,oCAAY;AAjEd,wEAAoE;AAkElE,2FAlEO,wBAAU,OAkEP;AAjEZ,gGAAqF;AAkEnF,4FAlEO,iCAAW,OAkEP;AAjEb,kEAA4G;AAoE1G,mGApEO,iCAAkB,OAoEP;AADlB,yGAnE2B,uCAAwB,OAmE3B;AAhBxB,4FAnDqD,0BAAW,OAmDrD;AA7Cb,uDAAwD;AAA/C,gHAAA,eAAe,OAAA;AACxB,+CAA6B;AAC7B,qCAA6C;AAApC,qGAAA,aAAa,OAAA;AAEtB,kDAAiD;AAAxC,4FAAA,IAAI,OAAA;AAKA,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 plugins 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';\n\nexport { Icon } from './scenegraph/graphic/icon';\n\n// export * as VRender from './vrender';\n// import * as VRender from './vrender';\n\nexport const version = \"1.18.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 plugins\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/layout/index.js
CHANGED
|
@@ -684,7 +684,7 @@ class PivotHeaderLayoutMap {
|
|
|
684
684
|
if (this.showHeader && this.showRowHeader) {
|
|
685
685
|
if ("tree" === this.rowHierarchyType) {
|
|
686
686
|
const extensionRowCount = null !== (_b = null === (_a = this.extensionRows) || void 0 === _a ? void 0 : _a.length) && void 0 !== _b ? _b : 0;
|
|
687
|
-
return this.rowHeaderTitle ? void (this.rowHeaderLevelCount =
|
|
687
|
+
return this.rowHeaderTitle ? void (this.rowHeaderLevelCount = 1 + (this.rowDimensionTree.totalLevel ? 1 : 0) + extensionRowCount) : void (this.rowHeaderLevelCount = (this.rowDimensionTree.totalLevel ? 1 : 0) + extensionRowCount);
|
|
688
688
|
}
|
|
689
689
|
const rowLevelCount = this._getRowHeaderTreeExpandedMaxLevelCount();
|
|
690
690
|
let count = rowLevelCount;
|
|
@@ -935,7 +935,7 @@ class PivotHeaderLayoutMap {
|
|
|
935
935
|
if (rowPath = [], "tree" === this.rowHierarchyType) {
|
|
936
936
|
const row_pathIds = this._rowHeaderCellFullPathIds[recordRow];
|
|
937
937
|
let findTree = this.rowDimensionTree, level = 0;
|
|
938
|
-
for (;findTree; ) {
|
|
938
|
+
for (;findTree && row_pathIds; ) {
|
|
939
939
|
const pathIds = [];
|
|
940
940
|
let cellId = row_pathIds[level];
|
|
941
941
|
for (pathIds.push(cellId); ;) {
|
|
@@ -1844,4 +1844,5 @@ function bandSpace(count, paddingInner, paddingOuter) {
|
|
|
1844
1844
|
count ? space > 0 ? space : 1 : 0;
|
|
1845
1845
|
}
|
|
1846
1846
|
|
|
1847
|
+
//# sourceMappingURL=pivot-header-layout.js.map
|
|
1847
1848
|
exports.PivotHeaderLayoutMap = PivotHeaderLayoutMap;
|