@visactor/vtable-sheet 1.22.13-alpha.0 → 1.23.0
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.js +1 -1
- package/cjs/components/sheet-tab-event-handler.js.map +1 -1
- package/cjs/components/vtable-sheet.d.ts +18 -12
- package/cjs/components/vtable-sheet.js +77 -48
- package/cjs/components/vtable-sheet.js.map +1 -1
- package/cjs/core/WorkSheet.d.ts +12 -7
- package/cjs/core/WorkSheet.js +38 -67
- package/cjs/core/WorkSheet.js.map +1 -1
- package/cjs/core/table-plugins.d.ts +1 -1
- package/cjs/core/table-plugins.js +45 -24
- package/cjs/core/table-plugins.js.map +1 -1
- package/cjs/event/base-event-manager.d.ts +21 -0
- package/cjs/event/base-event-manager.js +58 -0
- package/cjs/event/base-event-manager.js.map +1 -0
- package/cjs/event/dom-event-manager.d.ts +10 -0
- package/cjs/event/dom-event-manager.js +31 -0
- package/cjs/event/dom-event-manager.js.map +1 -0
- package/cjs/event/event-interfaces.d.ts +46 -0
- package/cjs/event/event-interfaces.js +6 -0
- package/cjs/event/event-interfaces.js.map +1 -0
- package/cjs/event/event-performance.d.ts +20 -0
- package/cjs/event/event-performance.js +94 -0
- package/cjs/event/event-performance.js.map +1 -0
- package/cjs/event/event-validator.d.ts +10 -0
- package/cjs/event/event-validator.js +78 -0
- package/cjs/event/event-validator.js.map +1 -0
- package/cjs/event/formula-event-utils.d.ts +30 -0
- package/cjs/event/formula-event-utils.js +69 -0
- package/cjs/event/formula-event-utils.js.map +1 -0
- package/cjs/event/index.d.ts +9 -0
- package/cjs/event/index.js +78 -0
- package/cjs/event/index.js.map +1 -0
- package/cjs/event/spreadsheet-event-manager.d.ts +27 -0
- package/cjs/event/spreadsheet-event-manager.js +143 -0
- package/cjs/event/spreadsheet-event-manager.js.map +1 -0
- package/cjs/event/table-event-relay.d.ts +30 -0
- package/cjs/event/table-event-relay.js +105 -0
- package/cjs/event/table-event-relay.js.map +1 -0
- package/cjs/event/vtable-sheet-event-bus.d.ts +23 -0
- package/cjs/event/vtable-sheet-event-bus.js +75 -0
- package/cjs/event/vtable-sheet-event-bus.js.map +1 -0
- package/cjs/event/worksheet-event-manager.d.ts +28 -0
- package/cjs/event/worksheet-event-manager.js +82 -0
- package/cjs/event/worksheet-event-manager.js.map +1 -0
- package/cjs/formula/formula-engine.js +7 -4
- package/cjs/formula/formula-engine.js.map +1 -1
- package/cjs/formula/formula-range-selector.d.ts +3 -3
- package/cjs/formula/formula-range-selector.js +4 -4
- package/cjs/formula/formula-range-selector.js.map +1 -1
- package/cjs/formula/index.js +1 -2
- package/cjs/index.d.ts +1 -1
- package/cjs/index.js +1 -1
- package/cjs/index.js.map +1 -1
- package/cjs/managers/formula-manager.d.ts +1 -0
- package/cjs/managers/formula-manager.js +33 -2
- package/cjs/managers/formula-manager.js.map +1 -1
- package/cjs/managers/menu-manager.d.ts +2 -0
- package/cjs/managers/menu-manager.js +32 -7
- package/cjs/managers/menu-manager.js.map +1 -1
- package/cjs/managers/sheet-manager.d.ts +4 -1
- package/cjs/managers/sheet-manager.js +40 -5
- package/cjs/managers/sheet-manager.js.map +1 -1
- package/cjs/managers/tab-drag-manager.js +2 -2
- package/cjs/managers/tab-drag-manager.js.map +1 -1
- package/cjs/sheet-helper.d.ts +11 -12
- package/cjs/sheet-helper.js +18 -23
- package/cjs/sheet-helper.js.map +1 -1
- package/cjs/styles/sheet-tab.js +2 -1
- package/cjs/ts-types/formula.js +1 -2
- package/cjs/ts-types/index.d.ts +1 -1
- package/cjs/ts-types/index.js +3 -3
- package/cjs/ts-types/index.js.map +1 -1
- package/cjs/ts-types/spreadsheet-events.d.ts +195 -0
- package/cjs/ts-types/spreadsheet-events.js +26 -0
- package/cjs/ts-types/spreadsheet-events.js.map +1 -0
- package/dist/vtable-sheet.js +1240 -366
- package/dist/vtable-sheet.min.js +1 -1
- package/es/components/sheet-tab-event-handler.js +1 -1
- package/es/components/sheet-tab-event-handler.js.map +1 -1
- package/es/components/vtable-sheet.d.ts +18 -12
- package/es/components/vtable-sheet.js +84 -51
- package/es/components/vtable-sheet.js.map +1 -1
- package/es/core/WorkSheet.d.ts +12 -7
- package/es/core/WorkSheet.js +38 -69
- package/es/core/WorkSheet.js.map +1 -1
- package/es/core/table-plugins.d.ts +1 -1
- package/es/core/table-plugins.js +45 -24
- package/es/core/table-plugins.js.map +1 -1
- package/es/event/base-event-manager.d.ts +21 -0
- package/es/event/base-event-manager.js +52 -0
- package/es/event/base-event-manager.js.map +1 -0
- package/es/event/dom-event-manager.d.ts +10 -0
- package/es/event/dom-event-manager.js +23 -0
- package/es/event/dom-event-manager.js.map +1 -0
- package/es/event/event-interfaces.d.ts +46 -0
- package/es/event/event-interfaces.js +2 -0
- package/es/event/event-interfaces.js.map +1 -0
- package/es/event/event-performance.d.ts +20 -0
- package/es/event/event-performance.js +86 -0
- package/es/event/event-performance.js.map +1 -0
- package/es/event/event-validator.d.ts +10 -0
- package/es/event/event-validator.js +70 -0
- package/es/event/event-validator.js.map +1 -0
- package/es/event/formula-event-utils.d.ts +30 -0
- package/es/event/formula-event-utils.js +61 -0
- package/es/event/formula-event-utils.js.map +1 -0
- package/es/event/index.d.ts +9 -0
- package/es/event/index.js +16 -0
- package/es/event/index.js.map +1 -0
- package/es/event/spreadsheet-event-manager.d.ts +27 -0
- package/es/event/spreadsheet-event-manager.js +137 -0
- package/es/event/spreadsheet-event-manager.js.map +1 -0
- package/es/event/table-event-relay.d.ts +30 -0
- package/es/event/table-event-relay.js +97 -0
- package/es/event/table-event-relay.js.map +1 -0
- package/es/event/vtable-sheet-event-bus.d.ts +23 -0
- package/es/event/vtable-sheet-event-bus.js +67 -0
- package/es/event/vtable-sheet-event-bus.js.map +1 -0
- package/es/event/worksheet-event-manager.d.ts +28 -0
- package/es/event/worksheet-event-manager.js +76 -0
- package/es/event/worksheet-event-manager.js.map +1 -0
- package/es/formula/formula-engine.js +7 -4
- package/es/formula/formula-engine.js.map +1 -1
- package/es/formula/formula-range-selector.d.ts +3 -3
- package/es/formula/formula-range-selector.js +5 -3
- package/es/formula/formula-range-selector.js.map +1 -1
- package/es/formula/index.js +1 -2
- package/es/index.d.ts +1 -1
- package/es/index.js +1 -1
- package/es/index.js.map +1 -1
- package/es/managers/formula-manager.d.ts +1 -0
- package/es/managers/formula-manager.js +33 -2
- package/es/managers/formula-manager.js.map +1 -1
- package/es/managers/menu-manager.d.ts +2 -0
- package/es/managers/menu-manager.js +32 -7
- package/es/managers/menu-manager.js.map +1 -1
- package/es/managers/sheet-manager.d.ts +4 -1
- package/es/managers/sheet-manager.js +39 -5
- package/es/managers/sheet-manager.js.map +1 -1
- package/es/managers/tab-drag-manager.js +2 -2
- package/es/managers/tab-drag-manager.js.map +1 -1
- package/es/sheet-helper.d.ts +11 -12
- package/es/sheet-helper.js +13 -16
- package/es/sheet-helper.js.map +1 -1
- package/es/styles/sheet-tab.js +2 -1
- package/es/ts-types/formula.js +1 -2
- package/es/ts-types/index.d.ts +1 -1
- package/es/ts-types/index.js +2 -2
- package/es/ts-types/index.js.map +1 -1
- package/es/ts-types/spreadsheet-events.d.ts +195 -0
- package/es/ts-types/spreadsheet-events.js +23 -0
- package/es/ts-types/spreadsheet-events.js.map +1 -0
- package/package.json +5 -5
- package/cjs/event/event-manager.d.ts +0 -28
- package/cjs/event/event-manager.js +0 -62
- package/cjs/event/event-manager.js.map +0 -1
- package/cjs/event/event-target.d.ts +0 -12
- package/cjs/event/event-target.js +0 -50
- package/cjs/event/event-target.js.map +0 -1
- package/cjs/ts-types/event.d.ts +0 -90
- package/cjs/ts-types/event.js +0 -11
- package/cjs/ts-types/event.js.map +0 -1
- package/cjs/ts-types/events.d.ts +0 -1
- package/cjs/ts-types/events.js +0 -1
- package/cjs/ts-types/events.js.map +0 -1
- package/es/event/event-manager.d.ts +0 -28
- package/es/event/event-manager.js +0 -54
- package/es/event/event-manager.js.map +0 -1
- package/es/event/event-target.d.ts +0 -12
- package/es/event/event-target.js +0 -42
- package/es/event/event-target.js.map +0 -1
- package/es/ts-types/event.d.ts +0 -90
- package/es/ts-types/event.js +0 -7
- package/es/ts-types/event.js.map +0 -1
- package/es/ts-types/events.d.ts +0 -1
- package/es/ts-types/events.js +0 -1
- package/es/ts-types/events.js.map +0 -1
|
@@ -0,0 +1,82 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: !0
|
|
5
|
+
}), exports.WorkSheetEventManager = void 0;
|
|
6
|
+
|
|
7
|
+
const spreadsheet_events_1 = require("../ts-types/spreadsheet-events"), base_event_manager_1 = require("./base-event-manager");
|
|
8
|
+
|
|
9
|
+
class WorkSheetEventManager extends base_event_manager_1.BaseEventManager {
|
|
10
|
+
constructor(worksheet) {
|
|
11
|
+
super(worksheet.getEventBus()), this.worksheet = worksheet;
|
|
12
|
+
}
|
|
13
|
+
getEventTypes() {
|
|
14
|
+
return Array.from(spreadsheet_events_1.WORKSHEET_EVENT_TYPES);
|
|
15
|
+
}
|
|
16
|
+
on(type, callback) {
|
|
17
|
+
this.eventBus.on(type, callback);
|
|
18
|
+
}
|
|
19
|
+
off(type, callback) {
|
|
20
|
+
callback ? this.eventBus.off(type, callback) : this.eventBus.off(type);
|
|
21
|
+
}
|
|
22
|
+
emit(type, event) {
|
|
23
|
+
this.eventBus.emit(type, event);
|
|
24
|
+
}
|
|
25
|
+
emitFormulaCalculateStart(formulaCount) {
|
|
26
|
+
const event = {
|
|
27
|
+
sheetKey: this.worksheet.sheetKey,
|
|
28
|
+
formulaCount: formulaCount
|
|
29
|
+
};
|
|
30
|
+
this.emit(spreadsheet_events_1.VTableSheetEventType.FORMULA_CALCULATE_START, event);
|
|
31
|
+
}
|
|
32
|
+
emitFormulaCalculateEnd(formulaCount, duration) {
|
|
33
|
+
const event = {
|
|
34
|
+
sheetKey: this.worksheet.sheetKey,
|
|
35
|
+
formulaCount: formulaCount,
|
|
36
|
+
duration: duration
|
|
37
|
+
};
|
|
38
|
+
this.emit(spreadsheet_events_1.VTableSheetEventType.FORMULA_CALCULATE_END, event);
|
|
39
|
+
}
|
|
40
|
+
emitFormulaError(cell, formula, error) {
|
|
41
|
+
const event = {
|
|
42
|
+
sheetKey: this.worksheet.sheetKey,
|
|
43
|
+
cell: cell,
|
|
44
|
+
formula: formula,
|
|
45
|
+
error: error
|
|
46
|
+
};
|
|
47
|
+
this.emit(spreadsheet_events_1.VTableSheetEventType.FORMULA_ERROR, event);
|
|
48
|
+
}
|
|
49
|
+
emitFormulaDependencyChanged() {
|
|
50
|
+
const event = {
|
|
51
|
+
sheetKey: this.worksheet.sheetKey
|
|
52
|
+
};
|
|
53
|
+
this.emit(spreadsheet_events_1.VTableSheetEventType.FORMULA_DEPENDENCY_CHANGED, event);
|
|
54
|
+
}
|
|
55
|
+
emitFormulaAdded(cell, formula) {
|
|
56
|
+
const event = {
|
|
57
|
+
sheetKey: this.worksheet.sheetKey,
|
|
58
|
+
cell: cell,
|
|
59
|
+
formula: formula
|
|
60
|
+
};
|
|
61
|
+
this.emit(spreadsheet_events_1.VTableSheetEventType.FORMULA_ADDED, event);
|
|
62
|
+
}
|
|
63
|
+
emitFormulaRemoved(cell, formula) {
|
|
64
|
+
const event = {
|
|
65
|
+
sheetKey: this.worksheet.sheetKey,
|
|
66
|
+
cell: cell,
|
|
67
|
+
formula: formula
|
|
68
|
+
};
|
|
69
|
+
this.emit(spreadsheet_events_1.VTableSheetEventType.FORMULA_REMOVED, event);
|
|
70
|
+
}
|
|
71
|
+
emitDataLoaded(rowCount, colCount) {
|
|
72
|
+
const event = {
|
|
73
|
+
sheetKey: this.worksheet.sheetKey,
|
|
74
|
+
rowCount: rowCount,
|
|
75
|
+
colCount: colCount
|
|
76
|
+
};
|
|
77
|
+
this.emit(spreadsheet_events_1.VTableSheetEventType.DATA_LOADED, event);
|
|
78
|
+
}
|
|
79
|
+
}
|
|
80
|
+
|
|
81
|
+
exports.WorkSheetEventManager = WorkSheetEventManager;
|
|
82
|
+
//# sourceMappingURL=worksheet-event-manager.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/event/worksheet-event-manager.ts"],"names":[],"mappings":"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","file":"worksheet-event-manager.js","sourcesContent":["/**\n * WorkSheet 层事件管理器\n * 管理工作表级别的状态和操作事件\n */\n\nimport {\n VTableSheetEventType,\n WORKSHEET_EVENT_TYPES,\n type WorkSheetEventMap,\n type SheetActivatedEvent,\n type SheetResizedEvent,\n type FormulaCalculateEvent,\n type FormulaErrorEvent,\n type FormulaChangeEvent,\n type FormulaDependencyChangedEvent,\n type DataLoadedEvent,\n type DataSortedEvent,\n type DataFilteredEvent,\n type RangeDataChangedEvent\n} from '../ts-types/spreadsheet-events';\nimport { BaseEventManager } from './base-event-manager';\nimport type { IWorksheetEventSource } from './event-interfaces';\n\n/**\n * WorkSheet 事件管理器\n * 负责管理 WorkSheet 层的事件监听和触发\n */\nexport class WorkSheetEventManager extends BaseEventManager<WorkSheetEventMap> {\n /** 关联的 WorkSheet 实例 */\n private worksheet: IWorksheetEventSource;\n\n constructor(worksheet: IWorksheetEventSource) {\n super(worksheet.getEventBus());\n this.worksheet = worksheet;\n }\n\n /**\n * 获取事件类型列表\n * 使用集中化的事件定义,新增事件只需要修改 spreadsheet-events.ts 文件\n */\n protected getEventTypes(): string[] {\n return Array.from(WORKSHEET_EVENT_TYPES);\n }\n\n /**\n * 注册 WorkSheet 事件监听器\n */\n on<K extends keyof WorkSheetEventMap>(type: K, callback: (event: WorkSheetEventMap[K]) => void): void {\n this.eventBus.on(type, callback);\n }\n\n /**\n * 移除 WorkSheet 事件监听器\n */\n off<K extends keyof WorkSheetEventMap>(type: K, callback?: (event: WorkSheetEventMap[K]) => void): void {\n if (callback) {\n this.eventBus.off(type, callback);\n } else {\n // 移除该类型的所有监听器\n this.eventBus.off(type);\n }\n }\n\n /**\n * 触发 WorkSheet 事件\n */\n emit<K extends keyof WorkSheetEventMap>(type: K, event: WorkSheetEventMap[K]): void {\n this.eventBus.emit(type, event);\n }\n\n // 注意:工作表管理事件(SHEET_ADDED, SHEET_REMOVED, SHEET_RENAMED, SHEET_MOVED)\n // 现在只在 SpreadSheet 层级处理,不在 WorkSheet 层级重复定义\n\n /**\n * 触发公式计算开始事件\n */\n emitFormulaCalculateStart(formulaCount?: number): void {\n const event: FormulaCalculateEvent = {\n sheetKey: this.worksheet.sheetKey,\n formulaCount\n };\n this.emit(VTableSheetEventType.FORMULA_CALCULATE_START, event);\n }\n\n /**\n * 触发公式计算结束事件\n */\n emitFormulaCalculateEnd(formulaCount?: number, duration?: number): void {\n const event: FormulaCalculateEvent = {\n sheetKey: this.worksheet.sheetKey,\n formulaCount,\n duration\n };\n this.emit(VTableSheetEventType.FORMULA_CALCULATE_END, event);\n }\n\n /**\n * 触发公式错误事件\n */\n emitFormulaError(cell: { row: number; col: number; sheet: string }, formula: string, error: string | Error): void {\n const event: FormulaErrorEvent = {\n sheetKey: this.worksheet.sheetKey,\n cell,\n formula,\n error\n };\n this.emit(VTableSheetEventType.FORMULA_ERROR, event);\n }\n\n /**\n * 触发公式依赖关系改变事件\n */\n emitFormulaDependencyChanged(): void {\n const event: FormulaDependencyChangedEvent = {\n sheetKey: this.worksheet.sheetKey\n };\n this.emit(VTableSheetEventType.FORMULA_DEPENDENCY_CHANGED, event);\n }\n\n /**\n * 触发公式添加事件\n */\n emitFormulaAdded(cell: { row: number; col: number }, formula?: string): void {\n const event: FormulaChangeEvent = {\n sheetKey: this.worksheet.sheetKey,\n cell,\n formula\n };\n this.emit(VTableSheetEventType.FORMULA_ADDED, event);\n }\n\n /**\n * 触发公式移除事件\n */\n emitFormulaRemoved(cell: { row: number; col: number }, formula?: string): void {\n const event: FormulaChangeEvent = {\n sheetKey: this.worksheet.sheetKey,\n cell,\n formula\n };\n this.emit(VTableSheetEventType.FORMULA_REMOVED, event);\n }\n\n /**\n * 触发数据加载完成事件\n */\n emitDataLoaded(rowCount: number, colCount: number): void {\n const event: DataLoadedEvent = {\n sheetKey: this.worksheet.sheetKey,\n rowCount,\n colCount\n };\n this.emit(VTableSheetEventType.DATA_LOADED, event);\n }\n}\n"]}
|
|
@@ -95,11 +95,13 @@ class FormulaEngine {
|
|
|
95
95
|
const numericValue = Number(processedValue);
|
|
96
96
|
isNaN(numericValue) || "" === processedValue.trim() || (processedValue = numericValue);
|
|
97
97
|
}
|
|
98
|
-
|
|
99
|
-
|
|
98
|
+
sheet[cell.row][cell.col] = processedValue;
|
|
99
|
+
const cellKey = this.getCellKey(cell), hasExistingFormula = this.formulaCells.has(cellKey);
|
|
100
|
+
if ("string" == typeof processedValue && processedValue.startsWith("=")) {
|
|
101
|
+
const correctedFormula = this.correctFormulaCase(processedValue);
|
|
100
102
|
this.formulaCells.set(cellKey, correctedFormula), this.updateDependencies(cellKey, correctedFormula),
|
|
101
103
|
sheet[cell.row][cell.col] = correctedFormula;
|
|
102
|
-
}
|
|
104
|
+
} else hasExistingFormula && (this.formulaCells.delete(cellKey), this.updateDependencies(cellKey, ""));
|
|
103
105
|
this.recalculateDependents(cell);
|
|
104
106
|
}
|
|
105
107
|
getCellKey(cell) {
|
|
@@ -1591,4 +1593,5 @@ class FormulaError {
|
|
|
1591
1593
|
constructor(message, type = "VALUE") {
|
|
1592
1594
|
this.message = message, this.type = type;
|
|
1593
1595
|
}
|
|
1594
|
-
}
|
|
1596
|
+
}
|
|
1597
|
+
//# sourceMappingURL=formula-engine.js.map
|