@progress/kendo-editor-common 1.9.3-dev.202209121201 → 1.9.3-dev.202210050740
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/dist/cdn/js/kendo-editor-common.js +1 -1
- package/dist/cdn/main.js +1 -1
- package/dist/es/main.js +2 -2
- package/dist/es/plugins/table-resize/column-resize.js +23 -32
- package/dist/es/plugins/table-resize/row-resize.js +48 -47
- package/dist/es/plugins/table-resize/table-resize.js +1 -3
- package/dist/es/plugins/table-resize/utils.js +56 -5
- package/dist/es/table.js +72 -7
- package/dist/es2015/main.js +2 -2
- package/dist/es2015/plugins/table-resize/column-resize.js +23 -32
- package/dist/es2015/plugins/table-resize/row-resize.js +50 -49
- package/dist/es2015/plugins/table-resize/table-resize.js +1 -3
- package/dist/es2015/plugins/table-resize/utils.js +52 -6
- package/dist/es2015/table.js +69 -7
- package/dist/npm/main.d.ts +2 -2
- package/dist/npm/main.js +7 -4
- package/dist/npm/plugins/table-resize/column-resize.js +24 -33
- package/dist/npm/plugins/table-resize/row-resize.js +47 -46
- package/dist/npm/plugins/table-resize/table-resize.js +1 -3
- package/dist/npm/plugins/table-resize/utils.d.ts +6 -1
- package/dist/npm/plugins/table-resize/utils.js +58 -6
- package/dist/npm/table.d.ts +5 -2
- package/dist/npm/table.js +76 -5
- package/dist/systemjs/kendo-editor-common.js +1 -1
- package/package.json +2 -2
|
@@ -203,9 +203,7 @@ var tableResizing = function (options) {
|
|
|
203
203
|
var parent = utils_1.parentNode(selection.$from, function (n) { return n.type === nodeType; });
|
|
204
204
|
var node = parent && parent.node;
|
|
205
205
|
if (node) {
|
|
206
|
-
var
|
|
207
|
-
.findIndex(function (_, i) { return selection.$from.node(i).type.spec.tableRole === 'table'; });
|
|
208
|
-
var pos = selection.$from.start(tableDepth) - 1;
|
|
206
|
+
var pos = selection.$from.start(parent.depth) - 1;
|
|
209
207
|
return { node: node, pos: pos };
|
|
210
208
|
}
|
|
211
209
|
return null;
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { Node, ResolvedPos } from 'prosemirror-model';
|
|
2
2
|
import { EditorState, PluginKey } from 'prosemirror-state';
|
|
3
|
+
import { EditorView } from 'prosemirror-view';
|
|
3
4
|
export declare const reAnyValue: RegExp;
|
|
4
5
|
export declare const parseStyle: (styleText: string | null) => {
|
|
5
6
|
[x: string]: string;
|
|
@@ -12,7 +13,7 @@ export declare function otherResizing(current: PluginKey, state: EditorState): b
|
|
|
12
13
|
export declare function otherResizeHandle(current: PluginKey, state: EditorState): boolean;
|
|
13
14
|
export declare function getTable(dom: HTMLElement): HTMLTableElement;
|
|
14
15
|
export declare function domCellAround(target: any): HTMLTableCellElement | null;
|
|
15
|
-
export declare function cellIndexes(
|
|
16
|
+
export declare function cellIndexes(dataCell: HTMLTableCellElement): {
|
|
16
17
|
cellIndex: number;
|
|
17
18
|
rowIndex: number;
|
|
18
19
|
};
|
|
@@ -20,3 +21,7 @@ export declare function parentNode(pos: ResolvedPos, predicate: (node: Node) =>
|
|
|
20
21
|
node: Node;
|
|
21
22
|
depth: number;
|
|
22
23
|
} | null;
|
|
24
|
+
export declare function edgeCell(view: EditorView, event: MouseEvent, indexes: {
|
|
25
|
+
cellIndex: number;
|
|
26
|
+
rowIndex: number;
|
|
27
|
+
}): number;
|
|
@@ -1,8 +1,9 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.parentNode = exports.cellIndexes = exports.domCellAround = exports.getTable = exports.otherResizeHandle = exports.otherResizing = exports.tableRowResizeKey = exports.tableColumnResizeKey = exports.tableResizeKey = exports.setNodeStyle = exports.parseStyle = exports.reAnyValue = void 0;
|
|
3
|
+
exports.edgeCell = exports.parentNode = exports.cellIndexes = exports.domCellAround = exports.getTable = exports.otherResizeHandle = exports.otherResizing = exports.tableRowResizeKey = exports.tableColumnResizeKey = exports.tableResizeKey = exports.setNodeStyle = exports.parseStyle = exports.reAnyValue = void 0;
|
|
4
4
|
var tslib_1 = require("tslib");
|
|
5
5
|
var prosemirror_state_1 = require("prosemirror-state");
|
|
6
|
+
var prosemirror_tables_1 = require("prosemirror-tables");
|
|
6
7
|
var utils_1 = require("../../utils");
|
|
7
8
|
exports.reAnyValue = /^.+$/;
|
|
8
9
|
var parseStyle = function (styleText) {
|
|
@@ -68,12 +69,46 @@ function domCellAround(target) {
|
|
|
68
69
|
return target;
|
|
69
70
|
}
|
|
70
71
|
exports.domCellAround = domCellAround;
|
|
71
|
-
function
|
|
72
|
-
var
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
72
|
+
function tableSpansMap(table) {
|
|
73
|
+
var rows = Array.from((table && table.rows) || []);
|
|
74
|
+
var colsCount = Array.from((rows && rows[0] && rows[0].cells) || [])
|
|
75
|
+
.map(function (c) { return c.colSpan; })
|
|
76
|
+
.reduce(function (prev, cur) { return prev + cur; }, 0);
|
|
77
|
+
var map = rows.map(function () { return new Array(colsCount); });
|
|
78
|
+
rows.forEach(function (row, r) {
|
|
79
|
+
var curColSpan = 0;
|
|
80
|
+
Array.from(row.cells).forEach(function (c) {
|
|
81
|
+
for (var colSp = 0; colSp < c.colSpan; colSp++) {
|
|
82
|
+
for (var rowSp = 0; rowSp < c.rowSpan; rowSp++) {
|
|
83
|
+
var ind = map[r + rowSp].findIndex(function (val, curInd) { return curInd >= curColSpan && !val; });
|
|
84
|
+
map[r + rowSp][ind] = c;
|
|
85
|
+
}
|
|
86
|
+
curColSpan++;
|
|
87
|
+
}
|
|
88
|
+
});
|
|
89
|
+
});
|
|
90
|
+
return map;
|
|
91
|
+
}
|
|
92
|
+
function cellIndexes(dataCell) {
|
|
93
|
+
var map = tableSpansMap(dataCell.closest('table'));
|
|
94
|
+
var result = null;
|
|
95
|
+
var _loop_1 = function (r) {
|
|
96
|
+
var row = map[r];
|
|
97
|
+
row.forEach(function (cell, c) {
|
|
98
|
+
if (dataCell === cell) {
|
|
99
|
+
result = { rowIndex: r, cellIndex: c };
|
|
100
|
+
}
|
|
101
|
+
});
|
|
102
|
+
if (result) {
|
|
103
|
+
return "break";
|
|
104
|
+
}
|
|
76
105
|
};
|
|
106
|
+
for (var r = 0; r < map.length; r++) {
|
|
107
|
+
var state_1 = _loop_1(r);
|
|
108
|
+
if (state_1 === "break")
|
|
109
|
+
break;
|
|
110
|
+
}
|
|
111
|
+
return result || { rowIndex: -1, cellIndex: -1 };
|
|
77
112
|
}
|
|
78
113
|
exports.cellIndexes = cellIndexes;
|
|
79
114
|
function parentNode(pos, predicate) {
|
|
@@ -86,3 +121,20 @@ function parentNode(pos, predicate) {
|
|
|
86
121
|
return null;
|
|
87
122
|
}
|
|
88
123
|
exports.parentNode = parentNode;
|
|
124
|
+
function edgeCell(view, event, indexes) {
|
|
125
|
+
var found = view.posAtCoords({ left: event.clientX, top: event.clientY });
|
|
126
|
+
if (!found) {
|
|
127
|
+
return -1;
|
|
128
|
+
}
|
|
129
|
+
var $pos = view.state.doc.resolve(found.pos);
|
|
130
|
+
var parentTable = parentNode($pos, function (n) { return n.type.spec.tableRole === 'table'; });
|
|
131
|
+
if (parentTable === null) {
|
|
132
|
+
return -1;
|
|
133
|
+
}
|
|
134
|
+
var tablePos = $pos.start(parentTable.depth);
|
|
135
|
+
var tableNode = parentTable.node;
|
|
136
|
+
var map = prosemirror_tables_1.TableMap.get(tableNode);
|
|
137
|
+
var cell = tablePos + map.map[(map.width * indexes.rowIndex) + indexes.cellIndex];
|
|
138
|
+
return cell;
|
|
139
|
+
}
|
|
140
|
+
exports.edgeCell = edgeCell;
|
package/dist/npm/table.d.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { Node, NodeType } from 'prosemirror-model';
|
|
2
2
|
import { EditorState, Transaction } from 'prosemirror-state';
|
|
3
|
-
import { addRowAfter as pmAddRowAfter, addRowBefore as pmAddRowBefore } from 'prosemirror-tables';
|
|
3
|
+
import { addRowAfter as pmAddRowAfter, addRowBefore as pmAddRowBefore, addColumnBefore as pmAddColumnBefore, addColumnAfter as pmAddColumnAfter, deleteColumn as pmDeleteColumn } from 'prosemirror-tables';
|
|
4
4
|
/**
|
|
5
5
|
* Creates a table.
|
|
6
6
|
* @returns Node
|
|
@@ -12,4 +12,7 @@ export declare const createTable: (nodes: {
|
|
|
12
12
|
}, rows: number, columns: number) => Node;
|
|
13
13
|
export declare const addRowBefore: (state: EditorState, dispatch?: (tr: Transaction) => void) => boolean;
|
|
14
14
|
export declare const addRowAfter: (state: EditorState, dispatch?: (tr: Transaction) => void) => boolean;
|
|
15
|
-
export
|
|
15
|
+
export declare const addColumnBefore: (state: EditorState, dispatch?: (tr: Transaction) => void) => boolean;
|
|
16
|
+
export declare const addColumnAfter: (state: EditorState, dispatch?: (tr: Transaction) => void) => boolean;
|
|
17
|
+
export declare const deleteColumn: (state: EditorState, dispatch?: (tr: Transaction) => void) => boolean;
|
|
18
|
+
export { pmAddRowBefore, pmAddRowAfter, pmAddColumnBefore, pmAddColumnAfter, pmDeleteColumn };
|
package/dist/npm/table.js
CHANGED
|
@@ -1,10 +1,15 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.pmAddRowAfter = exports.pmAddRowBefore = exports.addRowAfter = exports.addRowBefore = exports.createTable = void 0;
|
|
3
|
+
exports.pmDeleteColumn = exports.pmAddColumnAfter = exports.pmAddColumnBefore = exports.pmAddRowAfter = exports.pmAddRowBefore = exports.deleteColumn = exports.addColumnAfter = exports.addColumnBefore = exports.addRowAfter = exports.addRowBefore = exports.createTable = void 0;
|
|
4
|
+
var tslib_1 = require("tslib");
|
|
4
5
|
var prosemirror_tables_1 = require("prosemirror-tables");
|
|
5
6
|
Object.defineProperty(exports, "pmAddRowAfter", { enumerable: true, get: function () { return prosemirror_tables_1.addRowAfter; } });
|
|
6
7
|
Object.defineProperty(exports, "pmAddRowBefore", { enumerable: true, get: function () { return prosemirror_tables_1.addRowBefore; } });
|
|
8
|
+
Object.defineProperty(exports, "pmAddColumnBefore", { enumerable: true, get: function () { return prosemirror_tables_1.addColumnBefore; } });
|
|
9
|
+
Object.defineProperty(exports, "pmAddColumnAfter", { enumerable: true, get: function () { return prosemirror_tables_1.addColumnAfter; } });
|
|
10
|
+
Object.defineProperty(exports, "pmDeleteColumn", { enumerable: true, get: function () { return prosemirror_tables_1.deleteColumn; } });
|
|
7
11
|
var constants_1 = require("./config/constants");
|
|
12
|
+
var schema_1 = require("./config/schema");
|
|
8
13
|
/**
|
|
9
14
|
* Creates a table.
|
|
10
15
|
* @returns Node
|
|
@@ -23,11 +28,14 @@ var createTable = function (nodes, rows, columns) {
|
|
|
23
28
|
return table.createAndFill(undefined, tableRows);
|
|
24
29
|
};
|
|
25
30
|
exports.createTable = createTable;
|
|
31
|
+
var reTable = /^table$/;
|
|
32
|
+
var reRow = /^table_row$/;
|
|
33
|
+
var reCell = /^table_cell|table_header$/;
|
|
26
34
|
var closest = function (selection, name) {
|
|
27
35
|
var pos = selection.$head;
|
|
28
36
|
for (var i = pos.depth; i > 0; i--) {
|
|
29
37
|
var node = pos.node(i);
|
|
30
|
-
if (node.type.name
|
|
38
|
+
if (name.test(node.type.name)) {
|
|
31
39
|
return {
|
|
32
40
|
pos: pos.before(i),
|
|
33
41
|
node: node
|
|
@@ -39,8 +47,8 @@ var closest = function (selection, name) {
|
|
|
39
47
|
var addRowBefore = function (state, dispatch) {
|
|
40
48
|
var cmdDispatch = dispatch && (function (tr) {
|
|
41
49
|
var _a;
|
|
42
|
-
var row = closest(tr.selection,
|
|
43
|
-
var table = closest(tr.selection,
|
|
50
|
+
var row = closest(tr.selection, reRow);
|
|
51
|
+
var table = closest(tr.selection, reTable);
|
|
44
52
|
if (row && table && row.node.attrs[constants_1.rowTypeAttr]) {
|
|
45
53
|
var index = 0;
|
|
46
54
|
for (var i = 0; i < table.node.nodeSize; i++) {
|
|
@@ -61,7 +69,7 @@ exports.addRowBefore = addRowBefore;
|
|
|
61
69
|
var addRowAfter = function (state, dispatch) {
|
|
62
70
|
var cmdDispatch = dispatch && (function (tr) {
|
|
63
71
|
var _a;
|
|
64
|
-
var row = closest(tr.selection,
|
|
72
|
+
var row = closest(tr.selection, reRow);
|
|
65
73
|
if (row && row.node.attrs[constants_1.rowTypeAttr]) {
|
|
66
74
|
var from = row.pos + row.node.nodeSize;
|
|
67
75
|
tr.setNodeMarkup(from, undefined, (_a = {}, _a[constants_1.rowTypeAttr] = row.node.attrs[constants_1.rowTypeAttr], _a));
|
|
@@ -71,3 +79,66 @@ var addRowAfter = function (state, dispatch) {
|
|
|
71
79
|
return prosemirror_tables_1.addRowAfter(state, cmdDispatch);
|
|
72
80
|
};
|
|
73
81
|
exports.addRowAfter = addRowAfter;
|
|
82
|
+
var columnIndex = function (table, selection) {
|
|
83
|
+
if (!table) {
|
|
84
|
+
return -1;
|
|
85
|
+
}
|
|
86
|
+
var map = prosemirror_tables_1.TableMap.get(table.node);
|
|
87
|
+
var tableCell = closest(selection, reCell);
|
|
88
|
+
var idx = map.map.indexOf(tableCell.pos - table.pos - 1);
|
|
89
|
+
var colIndex = -1;
|
|
90
|
+
if (idx !== -1) {
|
|
91
|
+
colIndex = idx % map.width;
|
|
92
|
+
}
|
|
93
|
+
return colIndex;
|
|
94
|
+
};
|
|
95
|
+
var addCol = function (tr, table, to) {
|
|
96
|
+
var _a;
|
|
97
|
+
var colIndex = columnIndex(table, tr.selection);
|
|
98
|
+
var colgroup = schema_1.parseStrColgroup(table.node.attrs[constants_1.colgroupAttr]);
|
|
99
|
+
colgroup.insertBefore(colgroup.ownerDocument.createElement('col'), colgroup.children[colIndex + to]);
|
|
100
|
+
tr.setNodeMarkup(table.pos, null, tslib_1.__assign(tslib_1.__assign({}, table.node.attrs), (_a = {}, _a[constants_1.colgroupAttr] = colgroup.outerHTML, _a)));
|
|
101
|
+
};
|
|
102
|
+
var deleteCol = function (tr, table, colIndex) {
|
|
103
|
+
var _a;
|
|
104
|
+
var colgroup = schema_1.parseStrColgroup(table.node.attrs[constants_1.colgroupAttr]);
|
|
105
|
+
colgroup.removeChild(colgroup.children[colIndex]);
|
|
106
|
+
tr.setNodeMarkup(table.pos, null, tslib_1.__assign(tslib_1.__assign({}, table.node.attrs), (_a = {}, _a[constants_1.colgroupAttr] = colgroup.outerHTML, _a)));
|
|
107
|
+
};
|
|
108
|
+
var addColumnBefore = function (state, dispatch) {
|
|
109
|
+
var cmdDispatch = dispatch && (function (tr) {
|
|
110
|
+
var table = closest(tr.selection, reTable);
|
|
111
|
+
if (!table.node.attrs[constants_1.colgroupAttr]) {
|
|
112
|
+
return dispatch(tr);
|
|
113
|
+
}
|
|
114
|
+
addCol(tr, table, -1);
|
|
115
|
+
return dispatch(tr);
|
|
116
|
+
});
|
|
117
|
+
return prosemirror_tables_1.addColumnBefore(state, cmdDispatch);
|
|
118
|
+
};
|
|
119
|
+
exports.addColumnBefore = addColumnBefore;
|
|
120
|
+
var addColumnAfter = function (state, dispatch) {
|
|
121
|
+
var cmdDispatch = dispatch && (function (tr) {
|
|
122
|
+
var table = closest(tr.selection, reTable);
|
|
123
|
+
if (!table.node.attrs[constants_1.colgroupAttr]) {
|
|
124
|
+
return dispatch(tr);
|
|
125
|
+
}
|
|
126
|
+
addCol(tr, table, 1);
|
|
127
|
+
return dispatch(tr);
|
|
128
|
+
});
|
|
129
|
+
return prosemirror_tables_1.addColumnAfter(state, cmdDispatch);
|
|
130
|
+
};
|
|
131
|
+
exports.addColumnAfter = addColumnAfter;
|
|
132
|
+
var deleteColumn = function (state, dispatch) {
|
|
133
|
+
var colIndex = columnIndex(closest(state.selection, reTable), state.selection);
|
|
134
|
+
var cmdDispatch = dispatch && (function (tr) {
|
|
135
|
+
var table = closest(tr.selection, reTable);
|
|
136
|
+
if (!table.node.attrs[constants_1.colgroupAttr]) {
|
|
137
|
+
return dispatch(tr);
|
|
138
|
+
}
|
|
139
|
+
deleteCol(tr, table, colIndex);
|
|
140
|
+
return dispatch(tr);
|
|
141
|
+
});
|
|
142
|
+
return prosemirror_tables_1.deleteColumn(state, cmdDispatch);
|
|
143
|
+
};
|
|
144
|
+
exports.deleteColumn = deleteColumn;
|