@visactor/vtable-plugins 1.20.2-alpha.0 → 1.20.2
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/add-row-column.d.ts +7 -6
- package/cjs/add-row-column.js +4 -29
- package/cjs/add-row-column.js.map +1 -1
- package/cjs/auto-fill/auto-fill-manager.js +7 -34
- package/cjs/auto-fill/auto-fill-manager.js.map +1 -1
- package/cjs/auto-fill/index.d.ts +6 -10
- package/cjs/auto-fill/index.js +5 -30
- package/cjs/auto-fill/index.js.map +1 -1
- package/cjs/auto-fill/rules.js +26 -11
- package/cjs/auto-fill/rules.js.map +1 -1
- package/cjs/auto-fill/utils/fill.d.ts +1 -1
- package/cjs/auto-fill/utils/fill.js +9 -9
- package/cjs/auto-fill/utils/fill.js.map +1 -1
- package/cjs/column-series.d.ts +4 -3
- package/cjs/column-series.js +4 -29
- package/cjs/column-series.js.map +1 -1
- package/cjs/context-menu.d.ts +6 -5
- package/cjs/context-menu.js +3 -28
- package/cjs/context-menu.js.map +1 -1
- package/cjs/contextmenu/handle-menu-helper.d.ts +19 -19
- package/cjs/contextmenu/handle-menu-helper.js.map +1 -1
- package/cjs/contextmenu/menu-manager.js.map +1 -1
- package/cjs/contextmenu/types.d.ts +1 -1
- package/cjs/contextmenu/types.js +2 -2
- package/cjs/contextmenu/types.js.map +1 -1
- package/cjs/excel-edit-cell-keyboard.d.ts +4 -4
- package/cjs/excel-edit-cell-keyboard.js +3 -28
- package/cjs/excel-edit-cell-keyboard.js.map +1 -1
- package/cjs/excel-import.d.ts +5 -5
- package/cjs/excel-import.js +3 -26
- package/cjs/excel-import.js.map +1 -1
- package/cjs/fillHandleUtils/autoFillHandle.d.ts +2 -2
- package/cjs/fillHandleUtils/autoFillHandle.js.map +1 -1
- package/cjs/fillHandleUtils/translateRowObj.d.ts +3 -3
- package/cjs/fillHandleUtils/translateRowObj.js.map +1 -1
- package/cjs/filter/condition-filter.d.ts +2 -2
- package/cjs/filter/condition-filter.js.map +1 -1
- package/cjs/filter/filter-engine.d.ts +6 -6
- package/cjs/filter/filter-engine.js.map +1 -1
- package/cjs/filter/filter-state-manager.d.ts +2 -2
- package/cjs/filter/filter-state-manager.js.map +1 -1
- package/cjs/filter/filter-toolbar.d.ts +4 -4
- package/cjs/filter/filter-toolbar.js.map +1 -1
- package/cjs/filter/filter.d.ts +4 -4
- package/cjs/filter/filter.js +7 -32
- package/cjs/filter/filter.js.map +1 -1
- package/cjs/filter/types.d.ts +4 -4
- package/cjs/filter/types.js.map +1 -1
- package/cjs/filter/value-filter.d.ts +2 -2
- package/cjs/filter/value-filter.js.map +1 -1
- package/cjs/focus-highlight.d.ts +2 -2
- package/cjs/focus-highlight.js.map +1 -1
- package/cjs/gantt-export-image.js +1 -1
- package/cjs/gantt-export-image.js.map +1 -1
- package/cjs/header-highlight.js +2 -2
- package/cjs/header-highlight.js.map +1 -1
- package/cjs/highlight-header-when-select-cell.d.ts +2 -2
- package/cjs/highlight-header-when-select-cell.js.map +1 -1
- package/cjs/paste-add-row-column.d.ts +5 -5
- package/cjs/paste-add-row-column.js +3 -28
- package/cjs/paste-add-row-column.js.map +1 -1
- package/cjs/rotate-table.d.ts +13 -5
- package/cjs/rotate-table.js +3 -28
- package/cjs/rotate-table.js.map +1 -1
- package/cjs/row-series.d.ts +2 -2
- package/cjs/row-series.js.map +1 -1
- package/cjs/table-carousel-animation.d.ts +2 -2
- package/cjs/table-carousel-animation.js.map +1 -1
- package/cjs/table-export/csv/index.d.ts +2 -4
- package/cjs/table-export/csv/index.js.map +1 -1
- package/cjs/table-export/util/type.d.ts +6 -6
- package/cjs/table-export/util/type.js.map +1 -1
- package/cjs/table-export.d.ts +2 -2
- package/cjs/table-export.js +4 -27
- package/cjs/table-export.js.map +1 -1
- package/cjs/table-series-number.d.ts +2 -2
- package/cjs/table-series-number.js +2 -3
- package/cjs/table-series-number.js.map +1 -1
- package/cjs/wps-fill-handle.d.ts +4 -4
- package/cjs/wps-fill-handle.js +4 -29
- package/cjs/wps-fill-handle.js.map +1 -1
- package/dist/vtable-plugins.js +280 -13600
- package/dist/vtable-plugins.min.js +5 -5
- package/es/add-row-column.d.ts +7 -6
- package/es/add-row-column.js +4 -4
- package/es/add-row-column.js.map +1 -1
- package/es/auto-fill/auto-fill-manager.js +7 -9
- package/es/auto-fill/auto-fill-manager.js.map +1 -1
- package/es/auto-fill/index.d.ts +6 -10
- package/es/auto-fill/index.js +5 -5
- package/es/auto-fill/index.js.map +1 -1
- package/es/auto-fill/rules.js +24 -9
- package/es/auto-fill/rules.js.map +1 -1
- package/es/auto-fill/utils/fill.d.ts +1 -1
- package/es/auto-fill/utils/fill.js +9 -9
- package/es/auto-fill/utils/fill.js.map +1 -1
- package/es/column-series.d.ts +4 -3
- package/es/column-series.js +4 -4
- package/es/column-series.js.map +1 -1
- package/es/context-menu.d.ts +6 -5
- package/es/context-menu.js +3 -3
- package/es/context-menu.js.map +1 -1
- package/es/contextmenu/handle-menu-helper.d.ts +19 -19
- package/es/contextmenu/handle-menu-helper.js.map +1 -1
- package/es/contextmenu/menu-manager.js.map +1 -1
- package/es/contextmenu/types.d.ts +1 -1
- package/es/contextmenu/types.js +2 -2
- package/es/contextmenu/types.js.map +1 -1
- package/es/excel-edit-cell-keyboard.d.ts +4 -4
- package/es/excel-edit-cell-keyboard.js +3 -3
- package/es/excel-edit-cell-keyboard.js.map +1 -1
- package/es/excel-import.d.ts +5 -5
- package/es/excel-import.js +2 -2
- package/es/excel-import.js.map +1 -1
- package/es/fillHandleUtils/autoFillHandle.d.ts +2 -2
- package/es/fillHandleUtils/autoFillHandle.js.map +1 -1
- package/es/fillHandleUtils/translateRowObj.d.ts +3 -3
- package/es/fillHandleUtils/translateRowObj.js.map +1 -1
- package/es/filter/condition-filter.d.ts +2 -2
- package/es/filter/condition-filter.js.map +1 -1
- package/es/filter/filter-engine.d.ts +6 -6
- package/es/filter/filter-engine.js.map +1 -1
- package/es/filter/filter-state-manager.d.ts +2 -2
- package/es/filter/filter-state-manager.js.map +1 -1
- package/es/filter/filter-toolbar.d.ts +4 -4
- package/es/filter/filter-toolbar.js.map +1 -1
- package/es/filter/filter.d.ts +4 -4
- package/es/filter/filter.js +7 -7
- package/es/filter/filter.js.map +1 -1
- package/es/filter/types.d.ts +4 -4
- package/es/filter/types.js.map +1 -1
- package/es/filter/value-filter.d.ts +2 -2
- package/es/filter/value-filter.js.map +1 -1
- package/es/focus-highlight.d.ts +2 -2
- package/es/focus-highlight.js.map +1 -1
- package/es/gantt-export-image.js +1 -1
- package/es/gantt-export-image.js.map +1 -1
- package/es/header-highlight.js +2 -2
- package/es/header-highlight.js.map +1 -1
- package/es/highlight-header-when-select-cell.d.ts +2 -2
- package/es/highlight-header-when-select-cell.js.map +1 -1
- package/es/paste-add-row-column.d.ts +5 -5
- package/es/paste-add-row-column.js +3 -3
- package/es/paste-add-row-column.js.map +1 -1
- package/es/rotate-table.d.ts +13 -5
- package/es/rotate-table.js +3 -3
- package/es/rotate-table.js.map +1 -1
- package/es/row-series.d.ts +2 -2
- package/es/row-series.js.map +1 -1
- package/es/table-carousel-animation.d.ts +2 -2
- package/es/table-carousel-animation.js.map +1 -1
- package/es/table-export/csv/index.d.ts +2 -4
- package/es/table-export/csv/index.js.map +1 -1
- package/es/table-export/util/type.d.ts +6 -6
- package/es/table-export/util/type.js.map +1 -1
- package/es/table-export.d.ts +2 -2
- package/es/table-export.js +3 -3
- package/es/table-export.js.map +1 -1
- package/es/table-series-number.d.ts +2 -2
- package/es/table-series-number.js +2 -3
- package/es/table-series-number.js.map +1 -1
- package/es/wps-fill-handle.d.ts +4 -4
- package/es/wps-fill-handle.js +4 -4
- package/es/wps-fill-handle.js.map +1 -1
- package/package.json +9 -8
package/cjs/wps-fill-handle.d.ts
CHANGED
|
@@ -1,21 +1,21 @@
|
|
|
1
|
-
import
|
|
1
|
+
import type { pluginsDefinition, BaseTableAPI, ListTable } from '@visactor/vtable';
|
|
2
2
|
import type { TableEvents } from '@visactor/vtable/src/core/TABLE_EVENT_TYPE';
|
|
3
3
|
import type { EventArg } from './types';
|
|
4
4
|
export type IWpsFillHandlePluginOptions = {
|
|
5
5
|
id?: string;
|
|
6
6
|
};
|
|
7
|
-
export declare class WpsFillHandlePlugin implements
|
|
7
|
+
export declare class WpsFillHandlePlugin implements pluginsDefinition.IVTablePlugin {
|
|
8
8
|
id: string;
|
|
9
9
|
name: string;
|
|
10
10
|
runTime: ("mousedown_fill_handle" | "drag_fill_handle_end")[];
|
|
11
|
-
table:
|
|
11
|
+
table: ListTable;
|
|
12
12
|
pluginOptions: IWpsFillHandlePluginOptions;
|
|
13
13
|
beforeDragMinCol: number;
|
|
14
14
|
beforeDragMinRow: number;
|
|
15
15
|
beforeDragMaxCol: number;
|
|
16
16
|
beforeDragMaxRow: number;
|
|
17
17
|
constructor(pluginOptions?: IWpsFillHandlePluginOptions);
|
|
18
|
-
run(...args: [EventArg, TableEvents[keyof TableEvents] | TableEvents[keyof TableEvents][],
|
|
18
|
+
run(...args: [EventArg, TableEvents[keyof TableEvents] | TableEvents[keyof TableEvents][], BaseTableAPI]): void;
|
|
19
19
|
handleKeyDown(): void;
|
|
20
20
|
release(): void;
|
|
21
21
|
}
|
package/cjs/wps-fill-handle.js
CHANGED
|
@@ -1,47 +1,22 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
|
-
var __createBinding = this && this.__createBinding || (Object.create ? function(o, m, k, k2) {
|
|
4
|
-
void 0 === k2 && (k2 = k);
|
|
5
|
-
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
6
|
-
desc && !("get" in desc ? !m.__esModule : desc.writable || desc.configurable) || (desc = {
|
|
7
|
-
enumerable: !0,
|
|
8
|
-
get: function() {
|
|
9
|
-
return m[k];
|
|
10
|
-
}
|
|
11
|
-
}), Object.defineProperty(o, k2, desc);
|
|
12
|
-
} : function(o, m, k, k2) {
|
|
13
|
-
void 0 === k2 && (k2 = k), o[k2] = m[k];
|
|
14
|
-
}), __setModuleDefault = this && this.__setModuleDefault || (Object.create ? function(o, v) {
|
|
15
|
-
Object.defineProperty(o, "default", {
|
|
16
|
-
enumerable: !0,
|
|
17
|
-
value: v
|
|
18
|
-
});
|
|
19
|
-
} : function(o, v) {
|
|
20
|
-
o.default = v;
|
|
21
|
-
}), __importStar = this && this.__importStar || function(mod) {
|
|
22
|
-
if (mod && mod.__esModule) return mod;
|
|
23
|
-
var result = {};
|
|
24
|
-
if (null != mod) for (var k in mod) "default" !== k && Object.prototype.hasOwnProperty.call(mod, k) && __createBinding(result, mod, k);
|
|
25
|
-
return __setModuleDefault(result, mod), result;
|
|
26
|
-
};
|
|
27
|
-
|
|
28
3
|
Object.defineProperty(exports, "__esModule", {
|
|
29
4
|
value: !0
|
|
30
5
|
}), exports.WpsFillHandlePlugin = void 0;
|
|
31
6
|
|
|
32
|
-
const
|
|
7
|
+
const vtable_1 = require("@visactor/vtable"), autoFillHandle_1 = require("./fillHandleUtils/autoFillHandle");
|
|
33
8
|
|
|
34
9
|
class WpsFillHandlePlugin {
|
|
35
10
|
constructor(pluginOptions) {
|
|
36
11
|
var _a;
|
|
37
|
-
this.id = "wps-fill-handle", this.name = "WPS Fill Handle", this.runTime = [
|
|
12
|
+
this.id = "wps-fill-handle", this.name = "WPS Fill Handle", this.runTime = [ vtable_1.TABLE_EVENT_TYPE.MOUSEDOWN_FILL_HANDLE, vtable_1.TABLE_EVENT_TYPE.DRAG_FILL_HANDLE_END ],
|
|
38
13
|
this.beforeDragMinCol = 0, this.beforeDragMinRow = 0, this.beforeDragMaxCol = 0,
|
|
39
14
|
this.beforeDragMaxRow = 0, this.id = null !== (_a = null == pluginOptions ? void 0 : pluginOptions.id) && void 0 !== _a ? _a : this.id,
|
|
40
15
|
this.pluginOptions = pluginOptions;
|
|
41
16
|
}
|
|
42
17
|
run(...args) {
|
|
43
18
|
var _a, _b, _c, _d, _e;
|
|
44
|
-
if (args[1] ===
|
|
19
|
+
if (args[1] === vtable_1.TABLE_EVENT_TYPE.MOUSEDOWN_FILL_HANDLE) {
|
|
45
20
|
args[0];
|
|
46
21
|
const table = args[2];
|
|
47
22
|
this.table = table;
|
|
@@ -51,7 +26,7 @@ class WpsFillHandlePlugin {
|
|
|
51
26
|
this.beforeDragMinCol = Math.min(startSelectCellRange.start.col, startSelectCellRange.end.col),
|
|
52
27
|
this.beforeDragMaxRow = Math.max(startSelectCellRange.start.row, startSelectCellRange.end.row),
|
|
53
28
|
this.beforeDragMinRow = Math.min(startSelectCellRange.start.row, startSelectCellRange.end.row);
|
|
54
|
-
} else if (args[1] ===
|
|
29
|
+
} else if (args[1] === vtable_1.TABLE_EVENT_TYPE.DRAG_FILL_HANDLE_END) {
|
|
55
30
|
const direction = args[0].direction;
|
|
56
31
|
let endChangeCellCol, endChangeCellRow;
|
|
57
32
|
const endSelectCellRange = null === (_b = this.table) || void 0 === _b ? void 0 : _b.getSelectedCellRanges()[0];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/wps-fill-handle.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"sources":["../src/wps-fill-handle.ts"],"names":[],"mappings":"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","file":"wps-fill-handle.js","sourcesContent":["import type { pluginsDefinition, BaseTableAPI, ListTable, TYPES } from '@visactor/vtable';\nimport { TABLE_EVENT_TYPE } from '@visactor/vtable';\nimport type { TableEvents } from '@visactor/vtable/src/core/TABLE_EVENT_TYPE';\nimport type { EventArg } from './types';\nimport { generateAutoFillData } from './fillHandleUtils/autoFillHandle';\n//备用 插件配置项 目前感觉都走默认逻辑就行\nexport type IWpsFillHandlePluginOptions = {\n id?: string;\n // 是否响应删除\n // enableDeleteKey?: boolean;\n};\n\nexport class WpsFillHandlePlugin implements pluginsDefinition.IVTablePlugin {\n id = `wps-fill-handle`;\n name = 'WPS Fill Handle';\n runTime = [TABLE_EVENT_TYPE.MOUSEDOWN_FILL_HANDLE, TABLE_EVENT_TYPE.DRAG_FILL_HANDLE_END];\n table: ListTable;\n pluginOptions: IWpsFillHandlePluginOptions;\n\n beforeDragMinCol = 0;\n beforeDragMinRow = 0;\n beforeDragMaxCol = 0;\n beforeDragMaxRow = 0;\n\n constructor(pluginOptions?: IWpsFillHandlePluginOptions) {\n this.id = pluginOptions?.id ?? this.id;\n this.pluginOptions = pluginOptions;\n }\n run(...args: [EventArg, TableEvents[keyof TableEvents] | TableEvents[keyof TableEvents][], BaseTableAPI]) {\n if (args[1] === TABLE_EVENT_TYPE.MOUSEDOWN_FILL_HANDLE) {\n const eventArgs = args[0];\n const table: BaseTableAPI = args[2];\n this.table = table as ListTable;\n const startSelectCellRange = this.table?.getSelectedCellRanges()[0];\n if (!startSelectCellRange) {\n return;\n }\n this.beforeDragMaxCol = Math.max(startSelectCellRange.start.col, startSelectCellRange.end.col);\n this.beforeDragMinCol = Math.min(startSelectCellRange.start.col, startSelectCellRange.end.col);\n this.beforeDragMaxRow = Math.max(startSelectCellRange.start.row, startSelectCellRange.end.row);\n this.beforeDragMinRow = Math.min(startSelectCellRange.start.row, startSelectCellRange.end.row);\n } else if (args[1] === TABLE_EVENT_TYPE.DRAG_FILL_HANDLE_END) {\n const direction = (args[0] as { direction?: 'bottom' | 'right' | 'top' | 'left' }).direction;\n let endChangeCellCol;\n let endChangeCellRow;\n const endSelectCellRange = this.table?.getSelectedCellRanges()[0];\n if (!endSelectCellRange) {\n return;\n }\n //根据填充方向 确定需要填充值的范围\n if (direction === 'bottom') {\n endChangeCellCol = this.beforeDragMaxCol;\n endChangeCellRow = endSelectCellRange.end.row;\n } else if (direction === 'right') {\n endChangeCellCol = endSelectCellRange.end.col;\n endChangeCellRow = this.beforeDragMaxRow;\n } else if (direction === 'top') {\n endChangeCellCol = this.beforeDragMaxCol;\n endChangeCellRow = endSelectCellRange.end.row;\n } else if (direction === 'left') {\n endChangeCellCol = endSelectCellRange.end.col;\n endChangeCellRow = this.beforeDragMaxRow;\n }\n const rowDatas = this.table?.records;\n const tableColumns = this.table?.getAllColumnHeaderCells() || [];\n let highestColumns: TYPES.CellInfo[] = [];\n if (tableColumns?.length) {\n highestColumns = tableColumns[tableColumns.length - 1];\n }\n const newDatas = generateAutoFillData(\n rowDatas,\n highestColumns,\n {\n startRow: this.beforeDragMinRow - tableColumns.length,\n startCol: this.beforeDragMinCol,\n endRow: this.beforeDragMaxRow - tableColumns.length,\n endCol: this.beforeDragMaxCol\n },\n {\n row: endChangeCellRow - tableColumns.length,\n col: endChangeCellCol\n }\n );\n this.table?.setRecords(newDatas);\n }\n }\n\n handleKeyDown() {\n if (this.table.editorManager) {\n //判断是键盘触发编辑单元格的情况下,那么在编辑状态中切换方向需要选中下一个继续编辑\n const startSelectCellRange = this.table?.getSelectedCellRanges()[0];\n if (!startSelectCellRange) {\n return;\n }\n this.beforeDragMaxCol = Math.max(startSelectCellRange.start.col, startSelectCellRange.end.col);\n this.beforeDragMinCol = Math.min(startSelectCellRange.start.col, startSelectCellRange.end.col);\n this.beforeDragMaxRow = Math.max(startSelectCellRange.start.row, startSelectCellRange.end.row);\n this.beforeDragMinRow = Math.min(startSelectCellRange.start.row, startSelectCellRange.end.row);\n }\n }\n\n release() {\n this.beforeDragMinCol = 0;\n this.beforeDragMinRow = 0;\n this.beforeDragMaxCol = 0;\n this.beforeDragMaxRow = 0;\n // document.removeEventListener('mousedown_fill_handle', this.handleKeyDown, true);\n // document.removeEventListener('drag_fill_handle_end', this.handleDragEnd, true);\n }\n}\n//将选中单元格的值设置为空\nfunction deleteSelectRange(selectCells: TYPES.CellInfo[][], tableInstance: ListTable) {\n for (let i = 0; i < selectCells.length; i++) {\n for (let j = 0; j < selectCells[i].length; j++) {\n tableInstance.changeCellValue(selectCells[i][j].col, selectCells[i][j].row, '');\n }\n }\n}\n"]}
|