@visactor/vtable-sheet 1.23.3 → 1.24.0-alpha.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 +2 -5
- package/cjs/components/sheet-tab-event-handler.js.map +1 -1
- package/cjs/components/vtable-sheet.d.ts +14 -0
- package/cjs/components/vtable-sheet.js +77 -55
- package/cjs/components/vtable-sheet.js.map +1 -1
- package/cjs/core/WorkSheet.js +4 -48
- package/cjs/core/WorkSheet.js.map +1 -1
- package/cjs/core/table-plugins.js +30 -2
- package/cjs/core/table-plugins.js.map +1 -1
- package/cjs/event/vtable-sheet-event-bus.js +2 -1
- package/cjs/formula/formula-editor.d.ts +1 -1
- package/cjs/formula/formula-editor.js +22 -5
- package/cjs/formula/formula-editor.js.map +1 -1
- package/cjs/formula/formula-engine.d.ts +1 -0
- package/cjs/formula/formula-engine.js +47 -16
- package/cjs/formula/formula-engine.js.map +1 -1
- package/cjs/formula/formula-paste-processor.js +1 -2
- package/cjs/formula/formula-range-selector.js +1 -5
- package/cjs/formula/formula-range-selector.js.map +1 -1
- 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/formula-manager.d.ts +3 -1
- package/cjs/managers/formula-manager.js +7 -5
- package/cjs/managers/formula-manager.js.map +1 -1
- package/cjs/managers/menu-manager.d.ts +7 -1
- package/cjs/managers/menu-manager.js +37 -4
- package/cjs/managers/menu-manager.js.map +1 -1
- package/cjs/managers/tab-drag-manager.d.ts +2 -2
- package/cjs/managers/tab-drag-manager.js +1 -2
- package/cjs/managers/tab-drag-manager.js.map +1 -1
- package/cjs/managers/workbook-history-manager.d.ts +53 -0
- package/cjs/managers/workbook-history-manager.js +294 -0
- package/cjs/managers/workbook-history-manager.js.map +1 -0
- package/cjs/styles/menu.js +1 -1
- package/cjs/styles/menu.js.map +1 -1
- package/cjs/test-shims/vtable-plugins.d.ts +5 -0
- package/cjs/test-shims/vtable-plugins.js +34 -0
- package/cjs/test-shims/vtable-plugins.js.map +1 -0
- package/cjs/ts-types/base.js +1 -2
- package/cjs/ts-types/formula.js +2 -1
- package/cjs/ts-types/index.d.ts +4 -0
- package/cjs/ts-types/index.js.map +1 -1
- package/dist/vtable-sheet.js +2513 -324
- package/dist/vtable-sheet.min.js +1 -1
- package/es/components/sheet-tab-event-handler.js +1 -4
- package/es/components/sheet-tab-event-handler.js.map +1 -1
- package/es/components/vtable-sheet.d.ts +14 -0
- package/es/components/vtable-sheet.js +76 -33
- package/es/components/vtable-sheet.js.map +1 -1
- package/es/core/WorkSheet.js +4 -48
- package/es/core/WorkSheet.js.map +1 -1
- package/es/core/table-plugins.js +31 -1
- package/es/core/table-plugins.js.map +1 -1
- package/es/event/vtable-sheet-event-bus.js +2 -1
- package/es/formula/formula-editor.d.ts +1 -1
- package/es/formula/formula-editor.js +19 -4
- package/es/formula/formula-editor.js.map +1 -1
- package/es/formula/formula-engine.d.ts +1 -0
- package/es/formula/formula-engine.js +47 -16
- package/es/formula/formula-engine.js.map +1 -1
- package/es/formula/formula-paste-processor.js +1 -2
- package/es/formula/formula-range-selector.js +1 -5
- package/es/formula/formula-range-selector.js.map +1 -1
- 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/formula-manager.d.ts +3 -1
- package/es/managers/formula-manager.js +7 -5
- package/es/managers/formula-manager.js.map +1 -1
- package/es/managers/menu-manager.d.ts +7 -1
- package/es/managers/menu-manager.js +37 -4
- package/es/managers/menu-manager.js.map +1 -1
- package/es/managers/tab-drag-manager.d.ts +2 -2
- package/es/managers/tab-drag-manager.js +1 -2
- package/es/managers/tab-drag-manager.js.map +1 -1
- package/es/managers/workbook-history-manager.d.ts +53 -0
- package/es/managers/workbook-history-manager.js +286 -0
- package/es/managers/workbook-history-manager.js.map +1 -0
- package/es/styles/menu.js +1 -1
- package/es/styles/menu.js.map +1 -1
- package/es/test-shims/vtable-plugins.d.ts +5 -0
- package/es/test-shims/vtable-plugins.js +6 -0
- package/es/test-shims/vtable-plugins.js.map +1 -0
- package/es/ts-types/base.js +1 -2
- package/es/ts-types/formula.js +2 -1
- package/es/ts-types/index.d.ts +4 -0
- package/es/ts-types/index.js.map +1 -1
- package/package.json +6 -6
package/es/styles/menu.js
CHANGED
|
@@ -3,7 +3,7 @@ import { Env } from "../tools/env";
|
|
|
3
3
|
export function importStyle() {
|
|
4
4
|
if ("node" === Env.mode) return;
|
|
5
5
|
const styleElement = document.createElement("style");
|
|
6
|
-
styleElement.id = "vtable-sheet-menu-styleSheet", styleElement.textContent = "\n.vtable-sheet-main-menu {\n display: flex;\n flex-direction: row;\n align-items: center;\n height: 30px;\n padding: 0;\n border-bottom: 1px solid #e0e0e0;\n display: flex;\n align-items: center;\n background-color: #fff;\n width:
|
|
6
|
+
styleElement.id = "vtable-sheet-menu-styleSheet", styleElement.textContent = "\n.vtable-sheet-main-menu {\n display: flex;\n flex-direction: row;\n align-items: center;\n height: 30px;\n padding: 0;\n border-bottom: 1px solid #e0e0e0;\n display: flex;\n align-items: center;\n background-color: #fff;\n width: auto;\n /* 内容居中 */\n justify-content: center;\n flex-shrink: 0; /* 防止菜单被压缩 */\n}\n.vtable-sheet-main-menu:hover {\n background-color: #f0f0f0;\n}\n\n.vtable-sheet-undo-redo {\n display: flex;\n flex-direction: row;\n align-items: center;\n height: 30px;\n padding: 0;\n border-bottom: 1px solid #e0e0e0;\n background-color: #fff;\n flex-shrink: 0;\n}\n\n.vtable-sheet-main-menu-button {\n display: flex;\n align-items: center;\n padding: 0 8px;\n cursor: pointer;\n height: 30px;\n}\n\n.vtable-sheet-main-menu-actions {\n display: flex;\n align-items: center;\n height: 30px;\n gap: 4px;\n padding-right: 6px;\n}\n\n.vtable-sheet-main-menu-action {\n display: inline-flex;\n align-items: center;\n justify-content: center;\n width: 28px;\n height: 28px;\n border: none;\n background: transparent;\n color: #666;\n cursor: pointer;\n padding: 0;\n}\n\n.vtable-sheet-main-menu-action:hover:not(:disabled) {\n color: #333;\n background-color: rgba(0, 0, 0, 0.04);\n border-radius: 4px;\n}\n\n.vtable-sheet-main-menu-action:disabled {\n opacity: 0.4;\n cursor: not-allowed;\n}\n\n/* 菜单项容器 */\n.vtable-sheet-main-menu-container {\n position: absolute;\n top: 100%; /* 显示在按钮下方 */\n left: 0;\n background: white;\n border: 1px solid #e0e0e0;\n border-radius: 4px;\n box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);\n z-index: 100;\n display: none;\n}\n\n.vtable-sheet-main-menu-container.active {\n display: block;\n}\n\n/* 菜单项列表(ul) */\n.vtable-sheet-main-menu-items {\n list-style: none;\n margin: 0;\n padding: 4px 0;\n min-width: 80px;\n /* 删除以下两行 */\n /* max-height: 300px; */\n /* overflow-y: hidden; */\n}\n\n/* 当内容超出时显示滚动条 */\n.vtable-sheet-main-menu-items.scrollable {\n overflow-y: auto;\n}\n\n/* 单个菜单项(li) */\n.vtable-sheet-main-menu-item {\n padding: 6px 12px;\n margin: 0; /* 清除默认外边距 */\n line-height: 1.5; /* 统一行高 */\n cursor: pointer;\n white-space: nowrap;\n color: #333; /* 文字颜色 */\n font-size: 12px; /* 字体大小 */\n transition: background 0.2s; /* 悬停动画 */\n \n /* 禁用文本选中 */\n user-select: none;\n -webkit-user-select: none;\n}\n\n/* 悬停和激活状态 */\n.vtable-sheet-main-menu-item:hover,\n.vtable-sheet-main-menu-item:focus {\n background-color: #f5f5f5; /* 浅灰色背景 */\n}\n\n.vtable-sheet-main-menu-item:active {\n background-color: #e0e0e0; /* 点击时深灰色 */\n}\n\n/* 分隔线(可选) */\n.vtable-sheet-main-menu-item.divider {\n border-top: 1px solid #e0e0e0;\n margin: 4px 0;\n padding: 0;\n height: 1px;\n cursor: default;\n}\n\n.vtable-sheet-main-menu-item-has-children {\n position: relative;\n}\n\n.vtable-sheet-main-menu-item-has-children::after {\n content: '>';\n position: absolute;\n right: 0px;\n top: 50%;\n transform: translateY(-50%);\n margin-right: 10px;\n}\n/* 子菜单容器 */\n.vtable-sheet-submenu-container {\n position: absolute;\n left: 100%; /* 默认向右展开 */\n top: 0;\n min-width: 120px;\n background: white;\n border: 1px solid #e0e0e0;\n border-radius: 4px;\n box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);\n z-index: 200; /* 高于主菜单 */\n display: none;\n}\n\n/* 激活时显示 */\n.vtable-sheet-main-menu-item:hover .vtable-sheet-submenu-container {\n display: block;\n}\n\n/* 子菜单项 */\n.vtable-sheet-submenu-item {\n position: relative; /* 为箭头定位 */\n padding: 8px 12px;\n cursor: pointer;\n transition: background 0.2s;\n}\n\n.vtable-sheet-submenu-item:hover {\n background: #f5f5f5;\n}\n\n/* 嵌套子菜单箭头 */\n.submenu-arrow {\n position: absolute;\n right: 8px;\n font-size: 10px;\n color: #999;\n}\n\n/* 响应式调整 */\n@media (max-width: 768px) {\n .vtable-sheet-submenu-container {\n left: auto !important;\n right: 100%; /* 小屏幕改为向左展开 */\n }\n}\n",
|
|
7
7
|
document.head.appendChild(styleElement);
|
|
8
8
|
}
|
|
9
9
|
//# sourceMappingURL=menu.js.map
|
package/es/styles/menu.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/styles/menu.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,cAAc,CAAC;AAEnC,MAAM,UAAU,WAAW;IACzB,IAAI,GAAG,CAAC,IAAI,KAAK,MAAM,EAAE;QACvB,OAAO;KACR;IACD,MAAM,YAAY,GAAG,QAAQ,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC;IACrD,YAAY,CAAC,EAAE,GAAG,8BAA8B,CAAC;IACjD,YAAY,CAAC,WAAW,GAAG
|
|
1
|
+
{"version":3,"sources":["../src/styles/menu.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,cAAc,CAAC;AAEnC,MAAM,UAAU,WAAW;IACzB,IAAI,GAAG,CAAC,IAAI,KAAK,MAAM,EAAE;QACvB,OAAO;KACR;IACD,MAAM,YAAY,GAAG,QAAQ,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC;IACrD,YAAY,CAAC,EAAE,GAAG,8BAA8B,CAAC;IACjD,YAAY,CAAC,WAAW,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAqM5B,CAAC;IAEA,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,YAAY,CAAC,CAAC;AAC1C,CAAC","file":"menu.js","sourcesContent":["import { Env } from '../tools/env';\n\nexport function importStyle() {\n if (Env.mode === 'node') {\n return;\n }\n const styleElement = document.createElement('style');\n styleElement.id = 'vtable-sheet-menu-styleSheet';\n styleElement.textContent = `\n.vtable-sheet-main-menu {\n display: flex;\n flex-direction: row;\n align-items: center;\n height: 30px;\n padding: 0;\n border-bottom: 1px solid #e0e0e0;\n display: flex;\n align-items: center;\n background-color: #fff;\n width: auto;\n /* 内容居中 */\n justify-content: center;\n flex-shrink: 0; /* 防止菜单被压缩 */\n}\n.vtable-sheet-main-menu:hover {\n background-color: #f0f0f0;\n}\n\n.vtable-sheet-undo-redo {\n display: flex;\n flex-direction: row;\n align-items: center;\n height: 30px;\n padding: 0;\n border-bottom: 1px solid #e0e0e0;\n background-color: #fff;\n flex-shrink: 0;\n}\n\n.vtable-sheet-main-menu-button {\n display: flex;\n align-items: center;\n padding: 0 8px;\n cursor: pointer;\n height: 30px;\n}\n\n.vtable-sheet-main-menu-actions {\n display: flex;\n align-items: center;\n height: 30px;\n gap: 4px;\n padding-right: 6px;\n}\n\n.vtable-sheet-main-menu-action {\n display: inline-flex;\n align-items: center;\n justify-content: center;\n width: 28px;\n height: 28px;\n border: none;\n background: transparent;\n color: #666;\n cursor: pointer;\n padding: 0;\n}\n\n.vtable-sheet-main-menu-action:hover:not(:disabled) {\n color: #333;\n background-color: rgba(0, 0, 0, 0.04);\n border-radius: 4px;\n}\n\n.vtable-sheet-main-menu-action:disabled {\n opacity: 0.4;\n cursor: not-allowed;\n}\n\n/* 菜单项容器 */\n.vtable-sheet-main-menu-container {\n position: absolute;\n top: 100%; /* 显示在按钮下方 */\n left: 0;\n background: white;\n border: 1px solid #e0e0e0;\n border-radius: 4px;\n box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);\n z-index: 100;\n display: none;\n}\n\n.vtable-sheet-main-menu-container.active {\n display: block;\n}\n\n/* 菜单项列表(ul) */\n.vtable-sheet-main-menu-items {\n list-style: none;\n margin: 0;\n padding: 4px 0;\n min-width: 80px;\n /* 删除以下两行 */\n /* max-height: 300px; */\n /* overflow-y: hidden; */\n}\n\n/* 当内容超出时显示滚动条 */\n.vtable-sheet-main-menu-items.scrollable {\n overflow-y: auto;\n}\n\n/* 单个菜单项(li) */\n.vtable-sheet-main-menu-item {\n padding: 6px 12px;\n margin: 0; /* 清除默认外边距 */\n line-height: 1.5; /* 统一行高 */\n cursor: pointer;\n white-space: nowrap;\n color: #333; /* 文字颜色 */\n font-size: 12px; /* 字体大小 */\n transition: background 0.2s; /* 悬停动画 */\n \n /* 禁用文本选中 */\n user-select: none;\n -webkit-user-select: none;\n}\n\n/* 悬停和激活状态 */\n.vtable-sheet-main-menu-item:hover,\n.vtable-sheet-main-menu-item:focus {\n background-color: #f5f5f5; /* 浅灰色背景 */\n}\n\n.vtable-sheet-main-menu-item:active {\n background-color: #e0e0e0; /* 点击时深灰色 */\n}\n\n/* 分隔线(可选) */\n.vtable-sheet-main-menu-item.divider {\n border-top: 1px solid #e0e0e0;\n margin: 4px 0;\n padding: 0;\n height: 1px;\n cursor: default;\n}\n\n.vtable-sheet-main-menu-item-has-children {\n position: relative;\n}\n\n.vtable-sheet-main-menu-item-has-children::after {\n content: '>';\n position: absolute;\n right: 0px;\n top: 50%;\n transform: translateY(-50%);\n margin-right: 10px;\n}\n/* 子菜单容器 */\n.vtable-sheet-submenu-container {\n position: absolute;\n left: 100%; /* 默认向右展开 */\n top: 0;\n min-width: 120px;\n background: white;\n border: 1px solid #e0e0e0;\n border-radius: 4px;\n box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);\n z-index: 200; /* 高于主菜单 */\n display: none;\n}\n\n/* 激活时显示 */\n.vtable-sheet-main-menu-item:hover .vtable-sheet-submenu-container {\n display: block;\n}\n\n/* 子菜单项 */\n.vtable-sheet-submenu-item {\n position: relative; /* 为箭头定位 */\n padding: 8px 12px;\n cursor: pointer;\n transition: background 0.2s;\n}\n\n.vtable-sheet-submenu-item:hover {\n background: #f5f5f5;\n}\n\n/* 嵌套子菜单箭头 */\n.submenu-arrow {\n position: absolute;\n right: 8px;\n font-size: 10px;\n color: #999;\n}\n\n/* 响应式调整 */\n@media (max-width: 768px) {\n .vtable-sheet-submenu-container {\n left: auto !important;\n right: 100%; /* 小屏幕改为向左展开 */\n }\n}\n`;\n\n document.head.appendChild(styleElement);\n}\n"]}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
export * from "@visactor/vtable-plugins/cjs/index.js";
|
|
2
|
+
|
|
3
|
+
const {HistoryPlugin: HistoryPlugin} = require("../../../vtable-plugins/src/history"), {FilterPlugin: FilterPlugin} = require("../../../vtable-plugins/src/filter"), {FilterActionType: FilterActionType} = require("../../../vtable-plugins/src/filter/types");
|
|
4
|
+
|
|
5
|
+
export { HistoryPlugin, FilterPlugin, FilterActionType };
|
|
6
|
+
//# sourceMappingURL=vtable-plugins.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/test-shims/vtable-plugins.ts"],"names":[],"mappings":"AAAA,cAAc,uCAAuC,CAAC;AAEtD,MAAM,EAAE,aAAa,EAAE,GAAG,OAAO,CAAC,qCAAqC,CAAC,CAAC;AACzE,MAAM,EAAE,YAAY,EAAE,GAAG,OAAO,CAAC,oCAAoC,CAAC,CAAC;AACvE,MAAM,EAAE,gBAAgB,EAAE,GAAG,OAAO,CAAC,0CAA0C,CAAC,CAAC;AAEjF,OAAO,EAAE,aAAa,EAAE,YAAY,EAAE,gBAAgB,EAAE,CAAC","file":"vtable-plugins.js","sourcesContent":["export * from '@visactor/vtable-plugins/cjs/index.js';\n\nconst { HistoryPlugin } = require('../../../vtable-plugins/src/history');\nconst { FilterPlugin } = require('../../../vtable-plugins/src/filter');\nconst { FilterActionType } = require('../../../vtable-plugins/src/filter/types');\n\nexport { HistoryPlugin, FilterPlugin, FilterActionType };\n"]}
|
package/es/ts-types/base.js
CHANGED
|
@@ -10,5 +10,4 @@ export var MainMenuItemKey;
|
|
|
10
10
|
!function(MainMenuItemKey) {
|
|
11
11
|
MainMenuItemKey.IMPORT = "import", MainMenuItemKey.EXPORT_CURRENT_SHEET_CSV = "export-current-sheet-csv",
|
|
12
12
|
MainMenuItemKey.EXPORT_CURRENT_SHEET_XLSX = "export-current-sheet-xlsx", MainMenuItemKey.EXPORT_ALL_SHEETS_XLSX = "export-all-sheets-xlsx";
|
|
13
|
-
}(MainMenuItemKey || (MainMenuItemKey = {}));
|
|
14
|
-
//# sourceMappingURL=base.js.map
|
|
13
|
+
}(MainMenuItemKey || (MainMenuItemKey = {}));
|
package/es/ts-types/formula.js
CHANGED
|
@@ -1 +1,2 @@
|
|
|
1
|
-
export { };
|
|
1
|
+
export { };
|
|
2
|
+
//# sourceMappingURL=formula.js.map
|
package/es/ts-types/index.d.ts
CHANGED
|
@@ -42,6 +42,7 @@ export interface ISheetDefine {
|
|
|
42
42
|
enableDragColumnOrder?: boolean;
|
|
43
43
|
enableDragRowOrder?: boolean;
|
|
44
44
|
};
|
|
45
|
+
multipleSort?: boolean;
|
|
45
46
|
}
|
|
46
47
|
export interface IThemeDefine {
|
|
47
48
|
rowSeriesNumberCellStyle?: TableSeriesNumberOptions['rowSeriesNumberCellStyle'];
|
|
@@ -68,6 +69,9 @@ export interface IVTableSheetOptions {
|
|
|
68
69
|
show?: boolean;
|
|
69
70
|
items?: MainMenuItem[];
|
|
70
71
|
};
|
|
72
|
+
undoRedo?: {
|
|
73
|
+
show?: boolean;
|
|
74
|
+
};
|
|
71
75
|
theme?: IThemeDefine;
|
|
72
76
|
defaultRowHeight?: number;
|
|
73
77
|
defaultColWidth?: number;
|
package/es/ts-types/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/ts-types/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,KAAK,IAAI,WAAW,EAAE,MAAM,IAAI,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAKhF,OAAO,EAAE,YAAY,EAAE,WAAW,EAAgB,CAAC;
|
|
1
|
+
{"version":3,"sources":["../src/ts-types/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,KAAK,IAAI,WAAW,EAAE,MAAM,IAAI,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAKhF,OAAO,EAAE,YAAY,EAAE,WAAW,EAAgB,CAAC;AAkInD,cAAc,QAAQ,CAAC;AACvB,cAAc,WAAW,CAAC;AAC1B,cAAc,UAAU,CAAC;AACzB,cAAc,SAAS,CAAC;AACxB,cAAc,sBAAsB,CAAC","file":"index.js","sourcesContent":["import type { ColumnDefine } from '@visactor/vtable';\nimport { TYPES as VTableTypes, themes as VTableThemes } from '@visactor/vtable';\nimport type { CellValue, MainMenuItem } from './base';\nimport type { IFilterState } from './filter';\nimport type { TableSeriesNumberOptions, ImportResult } from '@visactor/vtable-plugins';\nimport type { SortState } from '@visactor/vtable/es/ts-types';\nexport { VTableThemes, VTableTypes, ImportResult };\n/** 筛选配置 */\nexport interface IFilterConfig {\n /** 指定筛选器支持的筛选模式(按值、按条件、或两者) */\n filterModes?: ('byValue' | 'byCondition')[];\n}\n\n/** 扩展的列定义,添加筛选相关配置;field 可选,构建 ListTable 时由 WorkSheet 按列索引填充 */\nexport interface IColumnDefine extends Omit<ColumnDefine, 'field'> {\n /** 列字段,可选;未指定时由 WorkSheet 按列索引填充 */\n field?: string | number;\n /** 是否启用筛选功能 */\n filter?: boolean;\n}\n\n/** Sheet定义 */\nexport interface ISheetDefine {\n /** 标题 */\n sheetTitle: string;\n /** 唯一标识 */\n sheetKey: string;\n /** 列数 */\n columnCount?: number;\n /** 行数 */\n rowCount?: number;\n /** 表头定义 */\n columns?: IColumnDefine[];\n /** 数据 */\n data?: (CellValue[] | null)[];\n /** 是否是当前活动sheet TODO 是不是放到外层更好*/\n active?: boolean;\n cellMerge?: VTableTypes.CustomMergeCellArray;\n /** 冻结行数 */\n frozenRowCount?: number;\n /** 冻结列数 */\n frozenColCount?: number;\n /** 是否显示表头 */\n showHeader?: boolean;\n /** 是否将第一行作为表头 */\n firstRowAsHeader?: boolean;\n /** 公式定义 */\n formulas?: Record<string, string>;\n /** 筛选配置 - 支持简单布尔值或详细配置对象 */\n filter?: boolean | IFilterConfig;\n /** 筛选状态 - 保存当前的筛选条件和状态 */\n filterState?: IFilterState;\n /** 排序状态 */\n sortState?: SortState[] | SortState | null;\n /** 主题 */\n theme?: IThemeDefine;\n /** 列宽配置 */\n columnWidthConfig?: {\n key: string | number;\n width: number;\n }[];\n /** 行高配置 */\n rowHeightConfig?: {\n key: number;\n height: number;\n }[];\n dragOrder?: {\n enableDragColumnOrder?: boolean;\n enableDragRowOrder?: boolean;\n };\n /** 是否启用多列排序 */\n multipleSort?: boolean;\n}\nexport interface IThemeDefine {\n rowSeriesNumberCellStyle?: TableSeriesNumberOptions['rowSeriesNumberCellStyle'];\n colSeriesNumberCellStyle?: TableSeriesNumberOptions['colSeriesNumberCellStyle'];\n /** TODO 表格以外部分的主题 */\n menuStyle?: {\n fontFamily?: string;\n fontSize?: number;\n color?: string;\n padding?: number[];\n bgColor?: string;\n };\n tableTheme: VTableThemes.ITableThemeDefine;\n}\n/** VTableSheet配置 */\nexport interface IVTableSheetOptions {\n /** Sheet列表 */\n sheets: ISheetDefine[];\n /** 是否显示公式栏 */\n showFormulaBar?: boolean;\n /** 是否显示sheet切换栏 */\n showSheetTab?: boolean;\n /** 插件 */\n VTablePluginModules?: {\n module: any;\n moduleOptions?: any;\n /** vtable-sheet逻辑中使用到的插件,可以通过这个配置来禁用掉 */\n disabled?: boolean;\n }[];\n\n /** 主菜单 */\n mainMenu?: {\n /** 是否显示 */\n show?: boolean;\n /** 菜单项 */\n items?: MainMenuItem[];\n };\n undoRedo?: {\n /** 是否显示撤销/重做按钮 */\n show?: boolean;\n };\n /** 主题 */\n theme?: IThemeDefine;\n /** 默认行高 */\n defaultRowHeight?: number;\n /** 默认列宽 */\n defaultColWidth?: number;\n /** 拖拽列顺序和行顺序配置 如果sheets中单独配置过,这个配置会被忽略*/\n dragOrder?: {\n enableDragColumnOrder?: boolean;\n enableDragRowOrder?: boolean;\n };\n}\n\n/**\n * VTableSheet 更新配置\n *\n * 用于 VTableSheet.updateOption 的增量更新场景。\n * - 所有字段均为可选;\n * - 未显式声明的字段不会被修改;\n * - 部分字段在调用时会被广播到所有已存在的 WorkSheet。\n */\nexport type IVTableSheetUpdateOptions = Partial<IVTableSheetOptions>;\n\nexport * from './base';\nexport * from './formula';\nexport * from './filter';\nexport * from './sheet';\nexport * from './spreadsheet-events';\n"]}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@visactor/vtable-sheet",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "1.24.0-alpha.0",
|
|
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.24.0-alpha.0",
|
|
42
|
+
"@visactor/vtable-editors": "1.24.0-alpha.0",
|
|
43
|
+
"@visactor/vtable-plugins": "1.24.0-alpha.0",
|
|
41
44
|
"@visactor/vutils": "~1.0.17",
|
|
42
45
|
"@visactor/vscale": "~1.0.17",
|
|
43
46
|
"@visactor/vdataset": "~1.0.17",
|
|
44
|
-
"cssfontparser": "^1.2.1"
|
|
45
|
-
"@visactor/vtable": "1.23.3",
|
|
46
|
-
"@visactor/vtable-plugins": "1.23.3",
|
|
47
|
-
"@visactor/vtable-editors": "1.23.3"
|
|
47
|
+
"cssfontparser": "^1.2.1"
|
|
48
48
|
},
|
|
49
49
|
"devDependencies": {
|
|
50
50
|
"luxon": "*",
|
|
@@ -86,8 +86,8 @@
|
|
|
86
86
|
"node-fetch": "2.6.7",
|
|
87
87
|
"form-data": "~4.0.0",
|
|
88
88
|
"axios": "^1.4.0",
|
|
89
|
-
"@internal/bundler": "0.0.1",
|
|
90
89
|
"@internal/ts-config": "0.0.1",
|
|
90
|
+
"@internal/bundler": "0.0.1",
|
|
91
91
|
"@internal/eslint-config": "0.0.1"
|
|
92
92
|
},
|
|
93
93
|
"unpkg": "latest",
|