@visactor/vtable-sheet 1.20.1-alpha.0 → 1.20.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/cjs/components/sheet-tab-event-handler.d.ts +18 -0
- package/cjs/components/sheet-tab-event-handler.js +142 -0
- package/cjs/components/sheet-tab-event-handler.js.map +1 -0
- package/cjs/components/vtable-sheet.d.ts +1 -8
- package/cjs/components/vtable-sheet.js +13 -121
- package/cjs/components/vtable-sheet.js.map +1 -1
- package/cjs/core/WorkSheet.js +2 -1
- package/cjs/core/WorkSheet.js.map +1 -1
- package/cjs/formula/formula-ui-manager.js +1 -2
- package/cjs/formula/index.js +2 -1
- package/cjs/index.d.ts +1 -1
- package/cjs/index.js +1 -1
- package/cjs/index.js.map +1 -1
- package/cjs/managers/menu-manager.js +1 -2
- package/cjs/managers/menu-manager.js.map +1 -1
- package/cjs/ts-types/event.d.ts +2 -0
- package/cjs/ts-types/event.js +1 -2
- package/cjs/ts-types/event.js.map +1 -1
- package/cjs/ts-types/events.js +0 -2
- package/dist/vtable-sheet.js +379 -272
- package/dist/vtable-sheet.min.js +1 -1
- package/es/components/sheet-tab-event-handler.d.ts +18 -0
- package/es/components/sheet-tab-event-handler.js +135 -0
- package/es/components/sheet-tab-event-handler.js.map +1 -0
- package/es/components/vtable-sheet.d.ts +1 -8
- package/es/components/vtable-sheet.js +14 -121
- package/es/components/vtable-sheet.js.map +1 -1
- package/es/core/WorkSheet.js +2 -1
- package/es/core/WorkSheet.js.map +1 -1
- package/es/formula/formula-ui-manager.js +1 -2
- package/es/formula/index.js +2 -1
- package/es/index.d.ts +1 -1
- package/es/index.js +1 -1
- package/es/index.js.map +1 -1
- package/es/managers/menu-manager.js +1 -2
- package/es/managers/menu-manager.js.map +1 -1
- package/es/ts-types/event.d.ts +2 -0
- package/es/ts-types/event.js +1 -2
- package/es/ts-types/event.js.map +1 -1
- package/es/ts-types/events.js +0 -2
- package/package.json +7 -7
package/es/ts-types/event.d.ts
CHANGED
package/es/ts-types/event.js
CHANGED
|
@@ -3,5 +3,4 @@ export var WorkSheetEventType;
|
|
|
3
3
|
!function(WorkSheetEventType) {
|
|
4
4
|
WorkSheetEventType.CELL_CLICK = "cell-click", WorkSheetEventType.CELL_VALUE_CHANGED = "cell-value-changed",
|
|
5
5
|
WorkSheetEventType.SELECTION_CHANGED = "selection-changed", WorkSheetEventType.SELECTION_END = "selection-end";
|
|
6
|
-
}(WorkSheetEventType || (WorkSheetEventType = {}));
|
|
7
|
-
//# sourceMappingURL=event.js.map
|
|
6
|
+
}(WorkSheetEventType || (WorkSheetEventType = {}));
|
package/es/ts-types/event.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/ts-types/event.ts"],"names":[],"mappings":"AAqBA,MAAM,CAAN,IAAY,kBAwBX;AAxBD,WAAY,kBAAkB;IAE5B,+CAAyB,CAAA;IACzB,+DAAyC,CAAA;IAGzC,6DAAuC,CAAA;IACvC,qDAA+B,CAAA;AAiBjC,CAAC,EAxBW,kBAAkB,KAAlB,kBAAkB,QAwB7B","file":"event.js","sourcesContent":["import type { CellCoord, CellRange, CellValue } from './base';\n\n/**\n * 工作表事件类型枚举\n *\n * @description 定义了VTableSheet组件支持的所有事件类型。\n * 使用枚举可以提供更好的类型提示和代码补全功能。\n *\n * @example\n * ```typescript\n * // 注册单元格选择事件\n * sheet.on(WorkSheetEventType.CELL_CLICK, (event) => {\n * console.log(`选中单元格: 行${event.row}, 列${event.col}`);\n * });\n *\n * // 注册单元格值变化事件\n * sheet.on(WorkSheetEventType.CELL_VALUE_CHANGED, (event) => {\n * console.log(`单元格值变化: 从 ${event.oldValue} 变为 ${event.newValue}`);\n * });\n * ```\n */\nexport enum WorkSheetEventType {\n // 单元格事件\n CELL_CLICK = 'cell-click',\n CELL_VALUE_CHANGED = 'cell-value-changed',\n\n // 选择范围事件\n SELECTION_CHANGED = 'selection-changed',\n SELECTION_END = 'selection-end'\n\n // // 工作表状态事件\n // SHEET_READY = 'sheet-ready',\n // SHEET_DESTROYED = 'sheet-destroyed',\n // SHEET_RESIZED = 'sheet-resized',\n\n // // 编辑相关事件\n // EDIT_START = 'edit-start',\n // EDIT_END = 'edit-end',\n // EDIT_CANCEL = 'edit-cancel',\n\n // // 数据事件\n // DATA_CHANGED = 'data-changed',\n // DATA_LOADED = 'data-loaded',\n // DATA_SORTED = 'data-sorted',\n // DATA_FILTERED = 'data-filtered'\n}\n\n/** 事件处理器类型 */\nexport type EventHandler = (...args: any[]) => void;\n\n/**\n * 单元格选择事件参数\n *\n * @description 在用户选中单元格时触发。包含被选中单元格的行列信息、值和原始事件对象。\n *\n * @event WorkSheetEventType.CELL_CLICK\n * @example\n * ```typescript\n * sheet.on(WorkSheetEventType.CELL_CLICK, (event: CellClickEvent) => {\n * console.log(`选中单元格: 行${event.row}, 列${event.col}, 值: ${event.value}`);\n * });\n * ```\n */\nexport interface CellClickEvent {\n /** 行索引 */\n row: number;\n /** 列索引 */\n col: number;\n /** 单元格内容 */\n value?: CellValue;\n /** 单元格DOM元素 */\n cellElement?: HTMLElement;\n /** 原始事件对象 */\n originalEvent?: MouseEvent | KeyboardEvent;\n}\n\n/**\n * 单元格值变更事件参数\n *\n * @description 在单元格值被修改时触发。包含被修改单元格的行列信息、旧值、新值等信息。\n * 可通过isUserAction判断是否由用户操作触发,通过isFormulaCalculation判断是否由公式计算触发。\n *\n * @event WorkSheetEventType.CELL_VALUE_CHANGED\n * @example\n * ```typescript\n * sheet.on(WorkSheetEventType.CELL_VALUE_CHANGED, (event: CellValueChangedEvent) => {\n * console.log(`单元格值变化: 行${event.row}, 列${event.col}, 从 ${event.oldValue} 变为 ${event.newValue}`);\n * });\n * ```\n */\nexport interface CellValueChangedEvent {\n /** 行索引 */\n row: number;\n /** 列索引 */\n col: number;\n /** 新值 */\n newValue: CellValue;\n /** 旧值 */\n oldValue: CellValue;\n /** 单元格DOM元素 */\n cellElement?: HTMLElement;\n /** 是否由用户操作引起 */\n isUserAction?: boolean;\n /** 是否由公式计算引起 */\n isFormulaCalculation?: boolean;\n}\n\n/**\n * 选择范围变更事件参数\n *\n * @description 在选择范围变化时触发。包含选择区域信息、选中的单元格数组和原始事件对象。\n *\n * @event WorkSheetEventType.SELECTION_CHANGED\n * @event WorkSheetEventType.SELECTION_END\n * @example\n * ```typescript\n * sheet.on(WorkSheetEventType.SELECTION_CHANGED, (event: SelectionChangedEvent) => {\n * if (event.ranges && event.ranges.length > 0) {\n * const range = event.ranges[0];\n * console.log(`选择区域: 从 (${range.start.row}, ${range.start.col}) 到 (${range.end.row}, ${range.end.col})`);\n * }\n * });\n * ```\n */\nexport interface SelectionChangedEvent {\n /** 选择区域 */\n ranges?: Array<{\n start: {\n row: number;\n col: number;\n };\n end: {\n row: number;\n col: number;\n };\n }>;\n /** 选择的单元格数据 */\n cells?: Array<\n Array<{\n row: number;\n col: number;\n value?: CellValue;\n }>\n >;\n /** 原始事件对象 */\n originalEvent?: MouseEvent | KeyboardEvent;\n}\n\n/**\n * 编辑开始事件参数\n *\n * @description 在用户开始编辑单元格时触发。包含编辑的单元格信息和当前值。\n *\n * @event WorkSheetEventType.EDIT_START\n * @example\n * ```typescript\n * sheet.on(WorkSheetEventType.EDIT_START, (event: EditStartEvent) => {\n * console.log(`开始编辑单元格: 行${event.row}, 列${event.col}, 当前值: ${event.value}`);\n * });\n * ```\n */\nexport interface EditStartEvent {\n /** 行索引 */\n row: number;\n /** 列索引 */\n col: number;\n /** 当前值 */\n value: CellValue;\n /** 编辑器元素 */\n editorElement?: HTMLElement;\n}\n\n/**\n * 编辑结束事件参数\n *\n * @description 在用户完成单元格编辑时触发。包含编辑的单元格信息、旧值和新值。\n * 可通过isCancelled判断编辑是否被取消。\n *\n * @event WorkSheetEventType.EDIT_END\n * @event WorkSheetEventType.EDIT_CANCEL\n * @example\n * ```typescript\n * sheet.on(WorkSheetEventType.EDIT_END, (event: EditEndEvent) => {\n * console.log(`完成编辑单元格: 行${event.row}, 列${event.col}, 从 ${event.oldValue} 变为 ${event.newValue}`);\n * });\n * ```\n */\nexport interface EditEndEvent {\n /** 行索引 */\n row: number;\n /** 列索引 */\n col: number;\n /** 旧值 */\n oldValue: CellValue;\n /** 新值 */\n newValue: CellValue;\n /** 是否被取消 */\n isCancelled?: boolean;\n}\n\n/**\n * 工作表尺寸变更事件参数\n *\n * @description 在工作表尺寸变化时触发,如窗口调整。包含新的宽度和高度信息。\n *\n * @event WorkSheetEventType.SHEET_RESIZED\n * @example\n * ```typescript\n * sheet.on(WorkSheetEventType.SHEET_RESIZED, (event: SheetResizedEvent) => {\n * console.log(`工作表尺寸变化: 新宽度 ${event.width}, 新高度 ${event.height}`);\n * });\n * ```\n */\nexport interface SheetResizedEvent {\n /** 新宽度 */\n width: number;\n /** 新高度 */\n height: number;\n /** 旧宽度 */\n oldWidth?: number;\n /** 旧高度 */\n oldHeight?: number;\n}\n\n/**\n * 数据变更事件参数\n *\n * @description 在表格数据发生批量变更时触发。包含所有变更的单元格信息。\n * 可通过isUserAction判断是否由用户操作触发。\n *\n * @event WorkSheetEventType.DATA_CHANGED\n * @example\n * ```typescript\n * sheet.on(WorkSheetEventType.DATA_CHANGED, (event: DataChangedEvent) => {\n * console.log(`数据变化: 变更了 ${event.changes.length} 个单元格`);\n * event.changes.forEach(change => {\n * console.log(` 行${change.row}, 列${change.col}: ${change.oldValue} -> ${change.newValue}`);\n * });\n * });\n * ```\n */\nexport interface DataChangedEvent {\n /** 变更内容 */\n changes: Array<{\n row: number;\n col: number;\n oldValue: CellValue;\n newValue: CellValue;\n }>;\n /** 是否由用户操作引起 */\n isUserAction?: boolean;\n}\n\n/**\n * 数据排序事件参数\n *\n * @description 在表格数据排序时触发。包含排序的列和排序方向信息。\n *\n * @event WorkSheetEventType.DATA_SORTED\n * @example\n * ```typescript\n * sheet.on(WorkSheetEventType.DATA_SORTED, (event: DataSortedEvent) => {\n * console.log(`数据排序: 列 ${event.field}, 方向 ${event.order}`);\n * });\n * ```\n */\nexport interface DataSortedEvent {\n /** 排序的列 */\n field: string;\n /** 排序方向 */\n order: 'asc' | 'desc' | null;\n /** 排序函数 */\n orderFn?: Function;\n}\n\n/** 事件映射表 */\nexport interface IEventMap {\n // 使用枚举作为键\n [WorkSheetEventType.CELL_CLICK]: CellClickEvent;\n [WorkSheetEventType.CELL_VALUE_CHANGED]: CellValueChangedEvent;\n [WorkSheetEventType.SELECTION_CHANGED]: SelectionChangedEvent;\n [WorkSheetEventType.SELECTION_END]: SelectionChangedEvent;\n // [WorkSheetEventType.SHEET_READY]: void;\n // [WorkSheetEventType.SHEET_DESTROYED]: void;\n // [WorkSheetEventType.SHEET_RESIZED]: SheetResizedEvent;\n // [WorkSheetEventType.EDIT_START]: EditStartEvent;\n // [WorkSheetEventType.EDIT_END]: EditEndEvent;\n // [WorkSheetEventType.EDIT_CANCEL]: EditStartEvent;\n // [WorkSheetEventType.DATA_CHANGED]: DataChangedEvent;\n // [WorkSheetEventType.DATA_LOADED]: void;\n // [WorkSheetEventType.DATA_SORTED]: DataSortedEvent;\n // [WorkSheetEventType.DATA_FILTERED]: DataFilteredEvent;\n}\n\n/**\n * 事件管理器接口\n *\n * @description 管理VTableSheet的事件注册、触发和移除。\n * 支持使用WorkSheetEventType枚举或字符串字面量作为事件类型。\n *\n * @example\n * ```typescript\n * // 注册事件监听器\n * sheet.on(WorkSheetEventType.CELL_CLICK, (event) => {\n * console.log(`选中单元格: 行${event.row}, 列${event.col}`);\n * });\n *\n * // 移除事件监听器\n * sheet.off(WorkSheetEventType.CELL_CLICK, handler);\n *\n * // 一次性事件监听器\n * sheet.once(WorkSheetEventType.CELL_VALUE_CHANGED, (event) => {\n * console.log(`单元格值已变更`);\n * });\n * ```\n */\nexport interface IEventManager {\n /** 注册事件监听器 */\n on: <K extends keyof IEventMap>(event: K, handler: (payload: IEventMap[K]) => void) => void;\n\n /** 移除事件监听器 */\n off: <K extends keyof IEventMap>(event: K, handler: (payload: IEventMap[K]) => void) => void;\n\n /** 触发事件 */\n emit: <K extends keyof IEventMap>(event: K, payload: IEventMap[K]) => void;\n\n /** 一次性事件监听器 */\n once: <K extends keyof IEventMap>(event: K, handler: (payload: IEventMap[K]) => void) => void;\n\n /** 移除所有事件监听器 */\n removeAllListeners: () => void;\n}\n"]}
|
|
1
|
+
{"version":3,"sources":["../src/ts-types/event.ts"],"names":[],"mappings":"AAqBA,MAAM,CAAN,IAAY,kBAwBX;AAxBD,WAAY,kBAAkB;IAE5B,+CAAyB,CAAA;IACzB,+DAAyC,CAAA;IAGzC,6DAAuC,CAAA;IACvC,qDAA+B,CAAA;AAiBjC,CAAC,EAxBW,kBAAkB,KAAlB,kBAAkB,QAwB7B","file":"event.js","sourcesContent":["import type { CellCoord, CellRange, CellValue } from './base';\n\n/**\n * 工作表事件类型枚举\n *\n * @description 定义了VTableSheet组件支持的所有事件类型。\n * 使用枚举可以提供更好的类型提示和代码补全功能。\n *\n * @example\n * ```typescript\n * // 注册单元格选择事件\n * sheet.on(WorkSheetEventType.CELL_CLICK, (event) => {\n * console.log(`选中单元格: 行${event.row}, 列${event.col}`);\n * });\n *\n * // 注册单元格值变化事件\n * sheet.on(WorkSheetEventType.CELL_VALUE_CHANGED, (event) => {\n * console.log(`单元格值变化: 从 ${event.oldValue} 变为 ${event.newValue}`);\n * });\n * ```\n */\nexport enum WorkSheetEventType {\n // 单元格事件\n CELL_CLICK = 'cell-click',\n CELL_VALUE_CHANGED = 'cell-value-changed',\n\n // 选择范围事件\n SELECTION_CHANGED = 'selection-changed',\n SELECTION_END = 'selection-end'\n\n // // 工作表状态事件\n // SHEET_READY = 'sheet-ready',\n // SHEET_DESTROYED = 'sheet-destroyed',\n // SHEET_RESIZED = 'sheet-resized',\n\n // // 编辑相关事件\n // EDIT_START = 'edit-start',\n // EDIT_END = 'edit-end',\n // EDIT_CANCEL = 'edit-cancel',\n\n // // 数据事件\n // DATA_CHANGED = 'data-changed',\n // DATA_LOADED = 'data-loaded',\n // DATA_SORTED = 'data-sorted',\n // DATA_FILTERED = 'data-filtered'\n}\n\n/** 事件处理器类型 */\nexport type EventHandler = (...args: any[]) => void;\n\n/**\n * 单元格选择事件参数\n *\n * @description 在用户选中单元格时触发。包含被选中单元格的行列信息、值和原始事件对象。\n *\n * @event WorkSheetEventType.CELL_CLICK\n * @example\n * ```typescript\n * sheet.on(WorkSheetEventType.CELL_CLICK, (event: CellClickEvent) => {\n * console.log(`选中单元格: 行${event.row}, 列${event.col}, 值: ${event.value}`);\n * });\n * ```\n */\nexport interface CellClickEvent {\n /** 行索引 */\n row: number;\n /** 列索引 */\n col: number;\n /** 单元格内容 */\n value?: CellValue;\n /** 单元格DOM元素 */\n cellElement?: HTMLElement;\n /** 原始事件对象 */\n originalEvent?: MouseEvent | KeyboardEvent;\n}\n\n/**\n * 单元格值变更事件参数\n *\n * @description 在单元格值被修改时触发。包含被修改单元格的行列信息、旧值、新值等信息。\n * 可通过isUserAction判断是否由用户操作触发,通过isFormulaCalculation判断是否由公式计算触发。\n *\n * @event WorkSheetEventType.CELL_VALUE_CHANGED\n * @example\n * ```typescript\n * sheet.on(WorkSheetEventType.CELL_VALUE_CHANGED, (event: CellValueChangedEvent) => {\n * console.log(`单元格值变化: 行${event.row}, 列${event.col}, 从 ${event.oldValue} 变为 ${event.newValue}`);\n * });\n * ```\n */\nexport interface CellValueChangedEvent {\n /** 行索引 */\n row: number;\n /** 列索引 */\n col: number;\n /** 新值 */\n newValue: CellValue;\n /** 旧值 */\n oldValue: CellValue;\n /** 单元格DOM元素 */\n cellElement?: HTMLElement;\n /** 是否由用户操作引起 */\n isUserAction?: boolean;\n /** 是否由公式计算引起 */\n isFormulaCalculation?: boolean;\n}\n\n/**\n * 选择范围变更事件参数\n *\n * @description 在选择范围变化时触发。包含选择区域信息、选中的单元格数组和原始事件对象。\n *\n * @event WorkSheetEventType.SELECTION_CHANGED\n * @event WorkSheetEventType.SELECTION_END\n * @example\n * ```typescript\n * sheet.on(WorkSheetEventType.SELECTION_CHANGED, (event: SelectionChangedEvent) => {\n * if (event.ranges && event.ranges.length > 0) {\n * const range = event.ranges[0];\n * console.log(`选择区域: 从 (${range.start.row}, ${range.start.col}) 到 (${range.end.row}, ${range.end.col})`);\n * }\n * });\n * ```\n */\nexport interface SelectionChangedEvent {\n row: number;\n col: number;\n /** 选择区域 */\n ranges?: Array<{\n start: {\n row: number;\n col: number;\n };\n end: {\n row: number;\n col: number;\n };\n }>;\n /** 选择的单元格数据 */\n cells?: Array<\n Array<{\n row: number;\n col: number;\n value?: CellValue;\n }>\n >;\n /** 原始事件对象 */\n originalEvent?: MouseEvent | KeyboardEvent;\n}\n\n/**\n * 编辑开始事件参数\n *\n * @description 在用户开始编辑单元格时触发。包含编辑的单元格信息和当前值。\n *\n * @event WorkSheetEventType.EDIT_START\n * @example\n * ```typescript\n * sheet.on(WorkSheetEventType.EDIT_START, (event: EditStartEvent) => {\n * console.log(`开始编辑单元格: 行${event.row}, 列${event.col}, 当前值: ${event.value}`);\n * });\n * ```\n */\nexport interface EditStartEvent {\n /** 行索引 */\n row: number;\n /** 列索引 */\n col: number;\n /** 当前值 */\n value: CellValue;\n /** 编辑器元素 */\n editorElement?: HTMLElement;\n}\n\n/**\n * 编辑结束事件参数\n *\n * @description 在用户完成单元格编辑时触发。包含编辑的单元格信息、旧值和新值。\n * 可通过isCancelled判断编辑是否被取消。\n *\n * @event WorkSheetEventType.EDIT_END\n * @event WorkSheetEventType.EDIT_CANCEL\n * @example\n * ```typescript\n * sheet.on(WorkSheetEventType.EDIT_END, (event: EditEndEvent) => {\n * console.log(`完成编辑单元格: 行${event.row}, 列${event.col}, 从 ${event.oldValue} 变为 ${event.newValue}`);\n * });\n * ```\n */\nexport interface EditEndEvent {\n /** 行索引 */\n row: number;\n /** 列索引 */\n col: number;\n /** 旧值 */\n oldValue: CellValue;\n /** 新值 */\n newValue: CellValue;\n /** 是否被取消 */\n isCancelled?: boolean;\n}\n\n/**\n * 工作表尺寸变更事件参数\n *\n * @description 在工作表尺寸变化时触发,如窗口调整。包含新的宽度和高度信息。\n *\n * @event WorkSheetEventType.SHEET_RESIZED\n * @example\n * ```typescript\n * sheet.on(WorkSheetEventType.SHEET_RESIZED, (event: SheetResizedEvent) => {\n * console.log(`工作表尺寸变化: 新宽度 ${event.width}, 新高度 ${event.height}`);\n * });\n * ```\n */\nexport interface SheetResizedEvent {\n /** 新宽度 */\n width: number;\n /** 新高度 */\n height: number;\n /** 旧宽度 */\n oldWidth?: number;\n /** 旧高度 */\n oldHeight?: number;\n}\n\n/**\n * 数据变更事件参数\n *\n * @description 在表格数据发生批量变更时触发。包含所有变更的单元格信息。\n * 可通过isUserAction判断是否由用户操作触发。\n *\n * @event WorkSheetEventType.DATA_CHANGED\n * @example\n * ```typescript\n * sheet.on(WorkSheetEventType.DATA_CHANGED, (event: DataChangedEvent) => {\n * console.log(`数据变化: 变更了 ${event.changes.length} 个单元格`);\n * event.changes.forEach(change => {\n * console.log(` 行${change.row}, 列${change.col}: ${change.oldValue} -> ${change.newValue}`);\n * });\n * });\n * ```\n */\nexport interface DataChangedEvent {\n /** 变更内容 */\n changes: Array<{\n row: number;\n col: number;\n oldValue: CellValue;\n newValue: CellValue;\n }>;\n /** 是否由用户操作引起 */\n isUserAction?: boolean;\n}\n\n/**\n * 数据排序事件参数\n *\n * @description 在表格数据排序时触发。包含排序的列和排序方向信息。\n *\n * @event WorkSheetEventType.DATA_SORTED\n * @example\n * ```typescript\n * sheet.on(WorkSheetEventType.DATA_SORTED, (event: DataSortedEvent) => {\n * console.log(`数据排序: 列 ${event.field}, 方向 ${event.order}`);\n * });\n * ```\n */\nexport interface DataSortedEvent {\n /** 排序的列 */\n field: string;\n /** 排序方向 */\n order: 'asc' | 'desc' | null;\n /** 排序函数 */\n orderFn?: Function;\n}\n\n/** 事件映射表 */\nexport interface IEventMap {\n // 使用枚举作为键\n [WorkSheetEventType.CELL_CLICK]: CellClickEvent;\n [WorkSheetEventType.CELL_VALUE_CHANGED]: CellValueChangedEvent;\n [WorkSheetEventType.SELECTION_CHANGED]: SelectionChangedEvent;\n [WorkSheetEventType.SELECTION_END]: SelectionChangedEvent;\n // [WorkSheetEventType.SHEET_READY]: void;\n // [WorkSheetEventType.SHEET_DESTROYED]: void;\n // [WorkSheetEventType.SHEET_RESIZED]: SheetResizedEvent;\n // [WorkSheetEventType.EDIT_START]: EditStartEvent;\n // [WorkSheetEventType.EDIT_END]: EditEndEvent;\n // [WorkSheetEventType.EDIT_CANCEL]: EditStartEvent;\n // [WorkSheetEventType.DATA_CHANGED]: DataChangedEvent;\n // [WorkSheetEventType.DATA_LOADED]: void;\n // [WorkSheetEventType.DATA_SORTED]: DataSortedEvent;\n // [WorkSheetEventType.DATA_FILTERED]: DataFilteredEvent;\n}\n\n/**\n * 事件管理器接口\n *\n * @description 管理VTableSheet的事件注册、触发和移除。\n * 支持使用WorkSheetEventType枚举或字符串字面量作为事件类型。\n *\n * @example\n * ```typescript\n * // 注册事件监听器\n * sheet.on(WorkSheetEventType.CELL_CLICK, (event) => {\n * console.log(`选中单元格: 行${event.row}, 列${event.col}`);\n * });\n *\n * // 移除事件监听器\n * sheet.off(WorkSheetEventType.CELL_CLICK, handler);\n *\n * // 一次性事件监听器\n * sheet.once(WorkSheetEventType.CELL_VALUE_CHANGED, (event) => {\n * console.log(`单元格值已变更`);\n * });\n * ```\n */\nexport interface IEventManager {\n /** 注册事件监听器 */\n on: <K extends keyof IEventMap>(event: K, handler: (payload: IEventMap[K]) => void) => void;\n\n /** 移除事件监听器 */\n off: <K extends keyof IEventMap>(event: K, handler: (payload: IEventMap[K]) => void) => void;\n\n /** 触发事件 */\n emit: <K extends keyof IEventMap>(event: K, payload: IEventMap[K]) => void;\n\n /** 一次性事件监听器 */\n once: <K extends keyof IEventMap>(event: K, handler: (payload: IEventMap[K]) => void) => void;\n\n /** 移除所有事件监听器 */\n removeAllListeners: () => void;\n}\n"]}
|
package/es/ts-types/events.js
CHANGED
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@visactor/vtable-sheet",
|
|
3
|
-
"version": "1.20.1
|
|
3
|
+
"version": "1.20.1",
|
|
4
4
|
"description": "Lightweight editable spreadsheet component based on VTable",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"vtable-sheet",
|
|
@@ -38,13 +38,13 @@
|
|
|
38
38
|
}
|
|
39
39
|
},
|
|
40
40
|
"dependencies": {
|
|
41
|
-
"@visactor/vtable": "1.20.1-alpha.0",
|
|
42
|
-
"@visactor/vtable-editors": "1.20.1-alpha.0",
|
|
43
|
-
"@visactor/vtable-plugins": "1.20.1-alpha.0",
|
|
44
41
|
"@visactor/vutils": "~0.19.1",
|
|
45
42
|
"@visactor/vscale": "~0.18.1",
|
|
46
43
|
"@visactor/vdataset": "~0.18.1",
|
|
47
|
-
"cssfontparser": "^1.2.1"
|
|
44
|
+
"cssfontparser": "^1.2.1",
|
|
45
|
+
"@visactor/vtable": "1.20.1",
|
|
46
|
+
"@visactor/vtable-plugins": "1.20.1",
|
|
47
|
+
"@visactor/vtable-editors": "1.20.1"
|
|
48
48
|
},
|
|
49
49
|
"devDependencies": {
|
|
50
50
|
"luxon": "*",
|
|
@@ -87,8 +87,8 @@
|
|
|
87
87
|
"form-data": "~4.0.0",
|
|
88
88
|
"axios": "^1.4.0",
|
|
89
89
|
"@internal/bundler": "0.0.1",
|
|
90
|
-
"@internal/
|
|
91
|
-
"@internal/
|
|
90
|
+
"@internal/eslint-config": "0.0.1",
|
|
91
|
+
"@internal/ts-config": "0.0.1"
|
|
92
92
|
},
|
|
93
93
|
"unpkg": "latest",
|
|
94
94
|
"unpkgFiles": [
|