@atlaskit/editor-tables 2.2.4 → 2.2.6
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/CHANGELOG.md +12 -0
- package/dist/cjs/cell-bookmark.js +0 -10
- package/dist/cjs/cell-selection.js +37 -102
- package/dist/cjs/index.js +0 -4
- package/dist/cjs/pm-plugins/input.js +17 -83
- package/dist/cjs/pm-plugins/plugin-key.js +0 -2
- package/dist/cjs/pm-plugins/table-editing.js +17 -18
- package/dist/cjs/pm-plugins.js +0 -2
- package/dist/cjs/table-map.js +67 -138
- package/dist/cjs/utils/add-column-at.js +0 -9
- package/dist/cjs/utils/add-column.js +8 -24
- package/dist/cjs/utils/add-row-at.js +8 -37
- package/dist/cjs/utils/add-row.js +2 -23
- package/dist/cjs/utils/analytics-helpers.js +4 -15
- package/dist/cjs/utils/cells.js +0 -12
- package/dist/cjs/utils/clone-tr.js +0 -2
- package/dist/cjs/utils/colspan.js +2 -18
- package/dist/cjs/utils/copy-paste.js +51 -139
- package/dist/cjs/utils/create-table.js +14 -28
- package/dist/cjs/utils/draw-cell-selection.js +0 -4
- package/dist/cjs/utils/empty-cells.js +0 -6
- package/dist/cjs/utils/find.js +6 -18
- package/dist/cjs/utils/fix-tables.js +13 -56
- package/dist/cjs/utils/for-each-cell.js +3 -17
- package/dist/cjs/utils/get-cell-selection-ranges.js +2 -9
- package/dist/cjs/utils/get-cells-in-column.js +0 -7
- package/dist/cjs/utils/get-cells-in-row.js +0 -7
- package/dist/cjs/utils/get-cells-in-table.js +0 -8
- package/dist/cjs/utils/get-selection-range-in-column.js +6 -27
- package/dist/cjs/utils/get-selection-range-in-row.js +6 -27
- package/dist/cjs/utils/get-selection-rect.js +0 -7
- package/dist/cjs/utils/go-to-next-cell.js +3 -22
- package/dist/cjs/utils/handle-paste.js +5 -34
- package/dist/cjs/utils/is-selected.js +6 -23
- package/dist/cjs/utils/is-selection-type.js +0 -2
- package/dist/cjs/utils/move-column.js +0 -12
- package/dist/cjs/utils/move-row.js +0 -11
- package/dist/cjs/utils/normalize-selection.js +3 -27
- package/dist/cjs/utils/remove-column.js +10 -46
- package/dist/cjs/utils/remove-row.js +8 -49
- package/dist/cjs/utils/remove-table.js +0 -6
- package/dist/cjs/utils/reorder-utils.js +13 -37
- package/dist/cjs/utils/replace-table.js +0 -8
- package/dist/cjs/utils/select-nodes.js +11 -31
- package/dist/cjs/utils/selection-cell.js +0 -5
- package/dist/cjs/utils/selection-rect.js +0 -10
- package/dist/cjs/utils/set-cell-attrs.js +0 -4
- package/dist/cjs/utils/split-cell-with-type.js +2 -35
- package/dist/cjs/utils/split-cell.js +0 -4
- package/dist/cjs/utils/table-node-types.js +4 -8
- package/dist/cjs/utils/tables.js +0 -4
- package/dist/cjs/utils/test-utils.js +9 -26
- package/dist/cjs/utils/toggle-header.js +3 -16
- package/dist/cjs/utils/uuid.js +0 -3
- package/dist/cjs/utils.js +0 -42
- package/dist/cjs/version.json +1 -1
- package/dist/es2019/cell-bookmark.js +0 -5
- package/dist/es2019/cell-selection.js +37 -81
- package/dist/es2019/index.js +1 -0
- package/dist/es2019/pm-plugins/input.js +15 -67
- package/dist/es2019/pm-plugins/table-editing.js +3 -12
- package/dist/es2019/table-map.js +57 -127
- package/dist/es2019/utils/add-column-at.js +2 -4
- package/dist/es2019/utils/add-column.js +6 -16
- package/dist/es2019/utils/add-row-at.js +8 -22
- package/dist/es2019/utils/add-row.js +2 -17
- package/dist/es2019/utils/analytics-helpers.js +0 -5
- package/dist/es2019/utils/cells.js +4 -9
- package/dist/es2019/utils/colspan.js +6 -11
- package/dist/es2019/utils/copy-paste.js +41 -115
- package/dist/es2019/utils/create-table.js +3 -12
- package/dist/es2019/utils/draw-cell-selection.js +0 -1
- package/dist/es2019/utils/empty-cells.js +2 -3
- package/dist/es2019/utils/find.js +8 -8
- package/dist/es2019/utils/fix-tables.js +17 -47
- package/dist/es2019/utils/for-each-cell.js +6 -11
- package/dist/es2019/utils/get-cell-selection-ranges.js +2 -4
- package/dist/es2019/utils/get-cells-in-column.js +2 -3
- package/dist/es2019/utils/get-cells-in-row.js +2 -3
- package/dist/es2019/utils/get-cells-in-table.js +2 -4
- package/dist/es2019/utils/get-selection-range-in-column.js +8 -22
- package/dist/es2019/utils/get-selection-range-in-row.js +8 -22
- package/dist/es2019/utils/get-selection-rect.js +2 -2
- package/dist/es2019/utils/go-to-next-cell.js +3 -19
- package/dist/es2019/utils/handle-paste.js +3 -14
- package/dist/es2019/utils/is-selected.js +8 -10
- package/dist/es2019/utils/is-selection-type.js +0 -1
- package/dist/es2019/utils/move-column.js +3 -8
- package/dist/es2019/utils/move-row.js +3 -7
- package/dist/es2019/utils/normalize-selection.js +0 -16
- package/dist/es2019/utils/remove-column.js +10 -27
- package/dist/es2019/utils/remove-row.js +12 -32
- package/dist/es2019/utils/remove-table.js +2 -4
- package/dist/es2019/utils/reorder-utils.js +11 -26
- package/dist/es2019/utils/replace-table.js +0 -2
- package/dist/es2019/utils/select-nodes.js +9 -20
- package/dist/es2019/utils/selection-cell.js +0 -2
- package/dist/es2019/utils/selection-rect.js +0 -4
- package/dist/es2019/utils/set-cell-attrs.js +2 -2
- package/dist/es2019/utils/split-cell-with-type.js +8 -28
- package/dist/es2019/utils/split-cell.js +3 -2
- package/dist/es2019/utils/table-node-types.js +4 -7
- package/dist/es2019/utils/tables.js +0 -2
- package/dist/es2019/utils/test-utils.js +12 -16
- package/dist/es2019/utils/toggle-header.js +3 -10
- package/dist/es2019/utils/uuid.js +0 -2
- package/dist/es2019/version.json +1 -1
- package/dist/esm/cell-bookmark.js +0 -5
- package/dist/esm/cell-selection.js +37 -79
- package/dist/esm/index.js +1 -0
- package/dist/esm/pm-plugins/input.js +17 -71
- package/dist/esm/pm-plugins/table-editing.js +8 -13
- package/dist/esm/table-map.js +68 -133
- package/dist/esm/utils/add-column-at.js +2 -4
- package/dist/esm/utils/add-column.js +8 -20
- package/dist/esm/utils/add-row-at.js +8 -23
- package/dist/esm/utils/add-row.js +2 -21
- package/dist/esm/utils/analytics-helpers.js +4 -10
- package/dist/esm/utils/cells.js +0 -5
- package/dist/esm/utils/colspan.js +2 -14
- package/dist/esm/utils/copy-paste.js +44 -125
- package/dist/esm/utils/create-table.js +14 -25
- package/dist/esm/utils/draw-cell-selection.js +0 -1
- package/dist/esm/utils/empty-cells.js +2 -3
- package/dist/esm/utils/find.js +8 -8
- package/dist/esm/utils/fix-tables.js +13 -49
- package/dist/esm/utils/for-each-cell.js +6 -11
- package/dist/esm/utils/get-cell-selection-ranges.js +2 -4
- package/dist/esm/utils/get-cells-in-column.js +2 -3
- package/dist/esm/utils/get-cells-in-row.js +2 -3
- package/dist/esm/utils/get-cells-in-table.js +2 -4
- package/dist/esm/utils/get-selection-range-in-column.js +8 -24
- package/dist/esm/utils/get-selection-range-in-row.js +8 -24
- package/dist/esm/utils/get-selection-rect.js +2 -2
- package/dist/esm/utils/go-to-next-cell.js +3 -19
- package/dist/esm/utils/handle-paste.js +5 -23
- package/dist/esm/utils/is-selected.js +8 -10
- package/dist/esm/utils/is-selection-type.js +0 -1
- package/dist/esm/utils/move-column.js +3 -8
- package/dist/esm/utils/move-row.js +3 -7
- package/dist/esm/utils/normalize-selection.js +3 -22
- package/dist/esm/utils/remove-column.js +10 -31
- package/dist/esm/utils/remove-row.js +8 -35
- package/dist/esm/utils/remove-table.js +2 -4
- package/dist/esm/utils/reorder-utils.js +11 -26
- package/dist/esm/utils/replace-table.js +0 -2
- package/dist/esm/utils/select-nodes.js +11 -22
- package/dist/esm/utils/selection-cell.js +0 -2
- package/dist/esm/utils/selection-rect.js +0 -4
- package/dist/esm/utils/set-cell-attrs.js +2 -2
- package/dist/esm/utils/split-cell-with-type.js +2 -28
- package/dist/esm/utils/split-cell.js +3 -2
- package/dist/esm/utils/table-node-types.js +4 -7
- package/dist/esm/utils/tables.js +0 -2
- package/dist/esm/utils/test-utils.js +12 -16
- package/dist/esm/utils/toggle-header.js +3 -10
- package/dist/esm/version.json +1 -1
- package/package.json +6 -4
|
@@ -4,37 +4,27 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
6
|
exports.selectedRect = selectedRect;
|
|
7
|
-
|
|
8
7
|
var _cellSelection = require("../cell-selection");
|
|
9
|
-
|
|
10
8
|
var _tableMap = require("../table-map");
|
|
11
|
-
|
|
12
9
|
var _selectionCell = require("./selection-cell");
|
|
13
|
-
|
|
14
10
|
// Helper to get the selected rectangle in a table, if any. Adds table
|
|
15
11
|
// map, table node, and table start offset to the object for
|
|
16
12
|
// convenience.
|
|
17
13
|
function selectedRect(state) {
|
|
18
14
|
var sel = state.selection;
|
|
19
15
|
var $pos = (0, _selectionCell.selectionCell)(sel);
|
|
20
|
-
|
|
21
16
|
if (!$pos) {
|
|
22
17
|
throw new Error("selectedRect: invalid $pos for selection");
|
|
23
18
|
}
|
|
24
|
-
|
|
25
19
|
var table = $pos.node(-1);
|
|
26
20
|
var tableStart = $pos.start(-1);
|
|
27
|
-
|
|
28
21
|
var map = _tableMap.TableMap.get(table);
|
|
29
|
-
|
|
30
22
|
var rect;
|
|
31
|
-
|
|
32
23
|
if (sel instanceof _cellSelection.CellSelection) {
|
|
33
24
|
rect = map.rectBetween(sel.$anchorCell.pos - tableStart, sel.$headCell.pos - tableStart);
|
|
34
25
|
} else {
|
|
35
26
|
rect = map.findCell($pos.pos - tableStart);
|
|
36
27
|
}
|
|
37
|
-
|
|
38
28
|
rect.tableStart = tableStart;
|
|
39
29
|
rect.map = map;
|
|
40
30
|
rect.table = table;
|
|
@@ -4,9 +4,7 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
6
|
exports.setCellAttrs = void 0;
|
|
7
|
-
|
|
8
7
|
var _cloneTr = require("./clone-tr");
|
|
9
|
-
|
|
10
8
|
// Returns a new transaction that sets given `attrs` to a given `cell`.
|
|
11
9
|
var setCellAttrs = function setCellAttrs(cell, attrs) {
|
|
12
10
|
return function (tr) {
|
|
@@ -14,9 +12,7 @@ var setCellAttrs = function setCellAttrs(cell, attrs) {
|
|
|
14
12
|
tr.setNodeMarkup(cell.pos, undefined, Object.assign({}, cell.node.attrs, attrs));
|
|
15
13
|
return (0, _cloneTr.cloneTr)(tr);
|
|
16
14
|
}
|
|
17
|
-
|
|
18
15
|
return tr;
|
|
19
16
|
};
|
|
20
17
|
};
|
|
21
|
-
|
|
22
18
|
exports.setCellAttrs = setCellAttrs;
|
|
@@ -1,121 +1,92 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
3
|
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
-
|
|
5
4
|
Object.defineProperty(exports, "__esModule", {
|
|
6
5
|
value: true
|
|
7
6
|
});
|
|
8
7
|
exports.cellWrapping = cellWrapping;
|
|
9
8
|
exports.splitCellWithType = splitCellWithType;
|
|
10
|
-
|
|
11
9
|
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
|
12
|
-
|
|
13
10
|
var _prosemirrorModel = require("prosemirror-model");
|
|
14
|
-
|
|
15
11
|
var _cellSelection = require("../cell-selection");
|
|
16
|
-
|
|
17
12
|
var _cells = require("./cells");
|
|
18
|
-
|
|
19
13
|
var _selectionRect = require("./selection-rect");
|
|
20
|
-
|
|
21
14
|
function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
|
|
22
|
-
|
|
23
15
|
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { (0, _defineProperty2.default)(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
|
|
24
|
-
|
|
25
16
|
function cellWrapping($pos) {
|
|
26
17
|
for (var d = $pos.depth; d > 0; d--) {
|
|
27
18
|
// Sometimes the cell can be in the same depth.
|
|
28
19
|
var role = $pos.node(d).type.spec.tableRole;
|
|
29
|
-
|
|
30
20
|
if (role === 'cell' || role === 'header_cell') {
|
|
31
21
|
return $pos.node(d);
|
|
32
22
|
}
|
|
33
23
|
}
|
|
34
|
-
|
|
35
24
|
return null;
|
|
36
25
|
}
|
|
37
|
-
|
|
38
26
|
// Split a selected cell, whose rowpan or colspan is greater than one,
|
|
39
27
|
// into smaller cells with the cell type (th, td) returned by getType function.
|
|
40
28
|
function splitCellWithType(getCellType) {
|
|
41
29
|
return function (state, dispatch) {
|
|
42
30
|
var sel = state.selection;
|
|
43
31
|
var cellNode, cellPos;
|
|
44
|
-
|
|
45
32
|
if (!(sel instanceof _cellSelection.CellSelection)) {
|
|
46
33
|
cellNode = cellWrapping(sel.$from);
|
|
47
|
-
|
|
48
34
|
if (!cellNode) {
|
|
49
35
|
return false;
|
|
50
36
|
}
|
|
51
|
-
|
|
52
37
|
var cellNodeAround = (0, _cells.cellAround)(sel.$from);
|
|
53
38
|
cellPos = cellNodeAround && cellNodeAround.pos;
|
|
54
39
|
} else {
|
|
55
40
|
if (sel.$anchorCell.pos !== sel.$headCell.pos) {
|
|
56
41
|
return false;
|
|
57
42
|
}
|
|
58
|
-
|
|
59
43
|
cellNode = sel.$anchorCell.nodeAfter;
|
|
60
44
|
cellPos = sel.$anchorCell.pos;
|
|
61
45
|
}
|
|
62
|
-
|
|
63
46
|
if (cellNode && cellNode.attrs.colspan === 1 && cellNode.attrs.rowspan === 1) {
|
|
64
47
|
return false;
|
|
65
48
|
}
|
|
66
|
-
|
|
67
49
|
if (cellNode && dispatch) {
|
|
68
50
|
var cellAttrs = cellNode.attrs,
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
51
|
+
attrs = [],
|
|
52
|
+
colwidth = cellAttrs.colwidth;
|
|
72
53
|
if (cellAttrs.rowspan && cellAttrs.rowspan > 1) {
|
|
73
54
|
cellAttrs = _objectSpread(_objectSpread({}, cellAttrs), {}, {
|
|
74
55
|
rowspan: 1
|
|
75
56
|
});
|
|
76
57
|
}
|
|
77
|
-
|
|
78
58
|
if (cellAttrs.colspan && cellAttrs.colspan > 1) {
|
|
79
59
|
cellAttrs = _objectSpread(_objectSpread({}, cellAttrs), {}, {
|
|
80
60
|
colspan: 1
|
|
81
61
|
});
|
|
82
62
|
}
|
|
83
|
-
|
|
84
63
|
var rect = (0, _selectionRect.selectedRect)(state);
|
|
85
64
|
var tr = state.tr;
|
|
86
|
-
|
|
87
65
|
for (var i = 0; i < rect.right - rect.left; i++) {
|
|
88
66
|
attrs.push(colwidth ? _objectSpread(_objectSpread({}, cellAttrs), {}, {
|
|
89
67
|
colwidth: colwidth && colwidth[i] ? [colwidth[i]] : null
|
|
90
68
|
}) : cellAttrs);
|
|
91
69
|
}
|
|
92
|
-
|
|
93
70
|
var lastCell = null;
|
|
94
|
-
|
|
95
71
|
for (var row = rect.top; row < rect.bottom; row++) {
|
|
96
72
|
var pos = rect.map.positionAt(row, rect.left, rect.table);
|
|
97
|
-
|
|
98
73
|
if (row === rect.top) {
|
|
99
74
|
pos += cellNode.nodeSize;
|
|
100
75
|
}
|
|
101
|
-
|
|
102
76
|
for (var col = rect.left, _i = 0; col < rect.right; col++, _i++) {
|
|
103
77
|
if (col === rect.left && row === rect.top) {
|
|
104
78
|
continue;
|
|
105
79
|
}
|
|
106
|
-
|
|
107
80
|
var cellType = getCellType({
|
|
108
81
|
node: cellNode,
|
|
109
82
|
row: row,
|
|
110
83
|
col: col
|
|
111
84
|
}).createAndFill(attrs[_i]);
|
|
112
|
-
|
|
113
85
|
if (cellType) {
|
|
114
86
|
tr.insert(lastCell = tr.mapping.map(pos + rect.tableStart, 1), cellType);
|
|
115
87
|
}
|
|
116
88
|
}
|
|
117
89
|
}
|
|
118
|
-
|
|
119
90
|
if (typeof cellPos === 'number') {
|
|
120
91
|
tr.setNodeMarkup(cellPos, getCellType({
|
|
121
92
|
node: cellNode,
|
|
@@ -123,16 +94,12 @@ function splitCellWithType(getCellType) {
|
|
|
123
94
|
col: rect.left
|
|
124
95
|
}), attrs[0]);
|
|
125
96
|
}
|
|
126
|
-
|
|
127
97
|
var $lastCellPosition = lastCell && tr.doc.resolve(lastCell);
|
|
128
|
-
|
|
129
98
|
if (sel instanceof _cellSelection.CellSelection && $lastCellPosition instanceof _prosemirrorModel.ResolvedPos) {
|
|
130
99
|
tr.setSelection(new _cellSelection.CellSelection(tr.doc.resolve(sel.$anchorCell.pos), $lastCellPosition));
|
|
131
100
|
}
|
|
132
|
-
|
|
133
101
|
dispatch(tr);
|
|
134
102
|
}
|
|
135
|
-
|
|
136
103
|
return true;
|
|
137
104
|
};
|
|
138
105
|
}
|
|
@@ -4,11 +4,8 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
6
|
exports.splitCell = void 0;
|
|
7
|
-
|
|
8
7
|
var _splitCellWithType = require("./split-cell-with-type");
|
|
9
|
-
|
|
10
8
|
var _tableNodeTypes = require("./table-node-types");
|
|
11
|
-
|
|
12
9
|
// Split a selected cell, whose rowpan or colspan is greater than one,
|
|
13
10
|
// into smaller cells. Use the first cell type for the new cells.
|
|
14
11
|
var splitCell = function splitCell(state, dispatch) {
|
|
@@ -18,5 +15,4 @@ var splitCell = function splitCell(state, dispatch) {
|
|
|
18
15
|
return nodeTypes[node.type.spec.tableRole];
|
|
19
16
|
})(state, dispatch);
|
|
20
17
|
};
|
|
21
|
-
|
|
22
18
|
exports.splitCell = splitCell;
|
|
@@ -4,24 +4,20 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
6
|
exports.tableNodeTypes = tableNodeTypes;
|
|
7
|
-
|
|
8
7
|
function tableNodeTypes(schema) {
|
|
9
8
|
var result = schema.cached.tableNodeTypes;
|
|
10
|
-
|
|
11
9
|
if (!result) {
|
|
12
|
-
result = {};
|
|
13
|
-
|
|
14
|
-
schema.cached.tableNodeTypes = result;
|
|
15
|
-
|
|
10
|
+
result = {};
|
|
11
|
+
// eslint-disable-next-line no-param-reassign
|
|
12
|
+
schema.cached.tableNodeTypes = result;
|
|
13
|
+
// eslint-disable-next-line guard-for-in
|
|
16
14
|
for (var name in schema.nodes) {
|
|
17
15
|
var type = schema.nodes[name];
|
|
18
16
|
var role = type.spec.tableRole;
|
|
19
|
-
|
|
20
17
|
if (role) {
|
|
21
18
|
result[role] = type;
|
|
22
19
|
}
|
|
23
20
|
}
|
|
24
21
|
}
|
|
25
|
-
|
|
26
22
|
return result;
|
|
27
23
|
}
|
package/dist/cjs/utils/tables.js
CHANGED
|
@@ -5,19 +5,15 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
5
5
|
});
|
|
6
6
|
exports.inSameTable = inSameTable;
|
|
7
7
|
exports.isInTable = isInTable;
|
|
8
|
-
|
|
9
8
|
function isInTable(state) {
|
|
10
9
|
var $head = state.selection.$head;
|
|
11
|
-
|
|
12
10
|
for (var d = $head.depth; d > 0; d--) {
|
|
13
11
|
if ($head.node(d).type.spec.tableRole === 'row') {
|
|
14
12
|
return true;
|
|
15
13
|
}
|
|
16
14
|
}
|
|
17
|
-
|
|
18
15
|
return false;
|
|
19
16
|
}
|
|
20
|
-
|
|
21
17
|
function inSameTable($a, $b) {
|
|
22
18
|
return $a.depth === $b.depth && $a.pos >= $b.start(-1) && $a.pos <= $b.end(-1);
|
|
23
19
|
}
|
|
@@ -4,79 +4,62 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
6
|
exports.addRowBefore = exports.addRowAfter = exports.addColumnBefore = exports.addColumnAfter = void 0;
|
|
7
|
-
|
|
8
7
|
var _addColumn = require("./add-column");
|
|
9
|
-
|
|
10
8
|
var _addRow = require("./add-row");
|
|
11
|
-
|
|
12
9
|
var _selectionRect = require("./selection-rect");
|
|
13
|
-
|
|
14
10
|
var _tables = require("./tables");
|
|
15
|
-
|
|
16
11
|
// :: (EditorState, dispatch: ?(tr: Transaction)) → bool
|
|
17
12
|
// Add a table row before the selection.
|
|
18
13
|
var addRowBefore = function addRowBefore(state, dispatch) {
|
|
19
14
|
if (!(0, _tables.isInTable)(state)) {
|
|
20
15
|
return false;
|
|
21
16
|
}
|
|
22
|
-
|
|
23
17
|
if (dispatch) {
|
|
24
18
|
var rect = (0, _selectionRect.selectedRect)(state);
|
|
25
19
|
dispatch((0, _addRow.addRow)(state.tr, rect, rect.top));
|
|
26
20
|
}
|
|
27
|
-
|
|
28
21
|
return true;
|
|
29
|
-
};
|
|
30
|
-
// Add a table row after the selection.
|
|
31
|
-
|
|
22
|
+
};
|
|
32
23
|
|
|
24
|
+
// :: (EditorState, dispatch: ?(tr: Transaction)) → bool
|
|
25
|
+
// Add a table row after the selection.
|
|
33
26
|
exports.addRowBefore = addRowBefore;
|
|
34
|
-
|
|
35
27
|
var addRowAfter = function addRowAfter(state, dispatch) {
|
|
36
28
|
if (!(0, _tables.isInTable)(state)) {
|
|
37
29
|
return false;
|
|
38
30
|
}
|
|
39
|
-
|
|
40
31
|
if (dispatch) {
|
|
41
32
|
var rect = (0, _selectionRect.selectedRect)(state);
|
|
42
33
|
dispatch((0, _addRow.addRow)(state.tr, rect, rect.bottom));
|
|
43
34
|
}
|
|
44
|
-
|
|
45
35
|
return true;
|
|
46
|
-
};
|
|
47
|
-
// Command to add a column before the column with the selection.
|
|
48
|
-
|
|
36
|
+
};
|
|
49
37
|
|
|
38
|
+
// :: (EditorState, dispatch: ?(tr: Transaction)) → bool
|
|
39
|
+
// Command to add a column before the column with the selection.
|
|
50
40
|
exports.addRowAfter = addRowAfter;
|
|
51
|
-
|
|
52
41
|
var addColumnBefore = function addColumnBefore(state, dispatch) {
|
|
53
42
|
if (!(0, _tables.isInTable)(state)) {
|
|
54
43
|
return false;
|
|
55
44
|
}
|
|
56
|
-
|
|
57
45
|
if (dispatch) {
|
|
58
46
|
var rect = (0, _selectionRect.selectedRect)(state);
|
|
59
47
|
dispatch((0, _addColumn.addColumn)(state.tr, rect, rect.left));
|
|
60
48
|
}
|
|
61
|
-
|
|
62
49
|
return true;
|
|
63
|
-
};
|
|
64
|
-
// Command to add a column after the column with the selection.
|
|
65
|
-
|
|
50
|
+
};
|
|
66
51
|
|
|
52
|
+
// :: (EditorState, dispatch: ?(tr: Transaction)) → bool
|
|
53
|
+
// Command to add a column after the column with the selection.
|
|
67
54
|
exports.addColumnBefore = addColumnBefore;
|
|
68
|
-
|
|
69
55
|
var addColumnAfter = function addColumnAfter(state, dispatch) {
|
|
70
56
|
if (!(0, _tables.isInTable)(state)) {
|
|
71
57
|
return false;
|
|
72
58
|
}
|
|
73
|
-
|
|
74
59
|
if (dispatch) {
|
|
75
60
|
var rect = (0, _selectionRect.selectedRect)(state);
|
|
76
61
|
dispatch((0, _addColumn.addColumn)(state.tr, rect, rect.right));
|
|
77
62
|
}
|
|
78
|
-
|
|
79
63
|
return true;
|
|
80
64
|
};
|
|
81
|
-
|
|
82
65
|
exports.addColumnAfter = addColumnAfter;
|
|
@@ -5,15 +5,10 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
5
5
|
});
|
|
6
6
|
exports.isHeaderEnabledByType = isHeaderEnabledByType;
|
|
7
7
|
exports.toggleHeader = toggleHeader;
|
|
8
|
-
|
|
9
8
|
var _tableMap = require("../table-map");
|
|
10
|
-
|
|
11
9
|
var _selectionRect = require("./selection-rect");
|
|
12
|
-
|
|
13
10
|
var _tableNodeTypes = require("./table-node-types");
|
|
14
|
-
|
|
15
11
|
var _tables = require("./tables");
|
|
16
|
-
|
|
17
12
|
function isHeaderEnabledByType(type, rect, types) {
|
|
18
13
|
// Get cell positions for first row or first column
|
|
19
14
|
var cellPositions = rect.map.cellsInRect({
|
|
@@ -22,36 +17,31 @@ function isHeaderEnabledByType(type, rect, types) {
|
|
|
22
17
|
right: type === 'row' ? rect.map.width : 1,
|
|
23
18
|
bottom: type === 'column' ? rect.map.height : 1
|
|
24
19
|
});
|
|
25
|
-
|
|
26
20
|
for (var i = 0; i < cellPositions.length; i++) {
|
|
27
21
|
var cell = rect.table.nodeAt(cellPositions[i]);
|
|
28
|
-
|
|
29
22
|
if (cell && cell.type !== types.header_cell) {
|
|
30
23
|
return false;
|
|
31
24
|
}
|
|
32
25
|
}
|
|
33
|
-
|
|
34
26
|
return true;
|
|
35
|
-
}
|
|
36
|
-
|
|
27
|
+
}
|
|
37
28
|
|
|
29
|
+
// Toggles between row/column header and normal cells (Only applies to first row/column).
|
|
38
30
|
function toggleHeader(type) {
|
|
39
31
|
return function (state, dispatch) {
|
|
40
32
|
if (!(0, _tables.isInTable)(state)) {
|
|
41
33
|
return false;
|
|
42
34
|
}
|
|
43
|
-
|
|
44
35
|
if (dispatch) {
|
|
45
36
|
var types = (0, _tableNodeTypes.tableNodeTypes)(state.schema);
|
|
46
37
|
var rect = (0, _selectionRect.selectedRect)(state),
|
|
47
|
-
|
|
38
|
+
tr = state.tr;
|
|
48
39
|
var isHeaderRowEnabled = isHeaderEnabledByType('row', rect, types);
|
|
49
40
|
var isHeaderColumnEnabled = isHeaderEnabledByType('column', rect, types);
|
|
50
41
|
var isHeaderEnabled = type === 'column' ? isHeaderRowEnabled : type === 'row' ? isHeaderColumnEnabled : false;
|
|
51
42
|
var selectionStartsAt = isHeaderEnabled ? 1 : 0;
|
|
52
43
|
var cellsRect = type === 'column' ? new _tableMap.Rect(0, selectionStartsAt, 1, rect.map.height) : type === 'row' ? new _tableMap.Rect(selectionStartsAt, 0, rect.map.width, 1) : rect;
|
|
53
44
|
var newType;
|
|
54
|
-
|
|
55
45
|
if (type === 'column') {
|
|
56
46
|
newType = isHeaderColumnEnabled ? types.cell : types.header_cell;
|
|
57
47
|
} else if (type === 'row') {
|
|
@@ -59,18 +49,15 @@ function toggleHeader(type) {
|
|
|
59
49
|
} else {
|
|
60
50
|
newType = types.cell;
|
|
61
51
|
}
|
|
62
|
-
|
|
63
52
|
rect.map.cellsInRect(cellsRect).forEach(function (relativeCellPos) {
|
|
64
53
|
var cellPos = relativeCellPos + rect.tableStart;
|
|
65
54
|
var cell = tr.doc.nodeAt(cellPos);
|
|
66
|
-
|
|
67
55
|
if (cell) {
|
|
68
56
|
tr.setNodeMarkup(cellPos, newType, cell.attrs);
|
|
69
57
|
}
|
|
70
58
|
});
|
|
71
59
|
dispatch(tr);
|
|
72
60
|
}
|
|
73
|
-
|
|
74
61
|
return true;
|
|
75
62
|
};
|
|
76
63
|
}
|
package/dist/cjs/utils/uuid.js
CHANGED
|
@@ -4,7 +4,6 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
6
|
exports.uuid = exports.generateUuid = void 0;
|
|
7
|
-
|
|
8
7
|
/**
|
|
9
8
|
* Direct copy from adf-schema to kill circular dependency without pulling into
|
|
10
9
|
* a new package
|
|
@@ -18,8 +17,6 @@ var generateUuid = function generateUuid() {
|
|
|
18
17
|
});
|
|
19
18
|
};
|
|
20
19
|
/* eslint-enable no-bitwise */
|
|
21
|
-
|
|
22
|
-
|
|
23
20
|
exports.generateUuid = generateUuid;
|
|
24
21
|
var staticValue = false;
|
|
25
22
|
var uuid = {
|
package/dist/cjs/utils.js
CHANGED
|
@@ -387,87 +387,45 @@ Object.defineProperty(exports, "toggleHeader", {
|
|
|
387
387
|
return _toggleHeader.toggleHeader;
|
|
388
388
|
}
|
|
389
389
|
});
|
|
390
|
-
|
|
391
390
|
var _addColumnAt = require("./utils/add-column-at");
|
|
392
|
-
|
|
393
391
|
var _addColumn = require("./utils/add-column");
|
|
394
|
-
|
|
395
392
|
var _addRowAt = require("./utils/add-row-at");
|
|
396
|
-
|
|
397
393
|
var _addRow = require("./utils/add-row");
|
|
398
|
-
|
|
399
394
|
var _cells = require("./utils/cells");
|
|
400
|
-
|
|
401
395
|
var _cloneTr = require("./utils/clone-tr");
|
|
402
|
-
|
|
403
396
|
var _colspan = require("./utils/colspan");
|
|
404
|
-
|
|
405
397
|
var _createTable = require("./utils/create-table");
|
|
406
|
-
|
|
407
398
|
var _drawCellSelection = require("./utils/draw-cell-selection");
|
|
408
|
-
|
|
409
399
|
var _emptyCells = require("./utils/empty-cells");
|
|
410
|
-
|
|
411
400
|
var _find = require("./utils/find");
|
|
412
|
-
|
|
413
401
|
var _fixTables = require("./utils/fix-tables");
|
|
414
|
-
|
|
415
402
|
var _forEachCell = require("./utils/for-each-cell");
|
|
416
|
-
|
|
417
403
|
var _getCellSelectionRanges = require("./utils/get-cell-selection-ranges");
|
|
418
|
-
|
|
419
404
|
var _getCellsInColumn = require("./utils/get-cells-in-column");
|
|
420
|
-
|
|
421
405
|
var _getCellsInRow = require("./utils/get-cells-in-row");
|
|
422
|
-
|
|
423
406
|
var _getCellsInTable = require("./utils/get-cells-in-table");
|
|
424
|
-
|
|
425
407
|
var _getSelectionRangeInColumn = require("./utils/get-selection-range-in-column");
|
|
426
|
-
|
|
427
408
|
var _getSelectionRangeInRow = require("./utils/get-selection-range-in-row");
|
|
428
|
-
|
|
429
409
|
var _getSelectionRect = require("./utils/get-selection-rect");
|
|
430
|
-
|
|
431
410
|
var _goToNextCell = require("./utils/go-to-next-cell");
|
|
432
|
-
|
|
433
411
|
var _isSelected = require("./utils/is-selected");
|
|
434
|
-
|
|
435
412
|
var _isSelectionType = require("./utils/is-selection-type");
|
|
436
|
-
|
|
437
413
|
var _moveColumn = require("./utils/move-column");
|
|
438
|
-
|
|
439
414
|
var _moveRow = require("./utils/move-row");
|
|
440
|
-
|
|
441
415
|
var _normalizeSelection = require("./utils/normalize-selection");
|
|
442
|
-
|
|
443
416
|
var _removeColumn = require("./utils/remove-column");
|
|
444
|
-
|
|
445
417
|
var _removeRow = require("./utils/remove-row");
|
|
446
|
-
|
|
447
418
|
var _removeTable = require("./utils/remove-table");
|
|
448
|
-
|
|
449
419
|
var _selectNodes = require("./utils/select-nodes");
|
|
450
|
-
|
|
451
420
|
var _selectionCell = require("./utils/selection-cell");
|
|
452
|
-
|
|
453
421
|
var _selectionRect = require("./utils/selection-rect");
|
|
454
|
-
|
|
455
422
|
var _setCellAttrs = require("./utils/set-cell-attrs");
|
|
456
|
-
|
|
457
423
|
var _splitCellWithType = require("./utils/split-cell-with-type");
|
|
458
|
-
|
|
459
424
|
var _splitCell = require("./utils/split-cell");
|
|
460
|
-
|
|
461
425
|
var _tableNodeTypes = require("./utils/table-node-types");
|
|
462
|
-
|
|
463
426
|
var _tables = require("./utils/tables");
|
|
464
|
-
|
|
465
427
|
var _toggleHeader = require("./utils/toggle-header");
|
|
466
|
-
|
|
467
428
|
var _reorderUtils = require("./utils/reorder-utils");
|
|
468
|
-
|
|
469
429
|
var _handlePaste = require("./utils/handle-paste");
|
|
470
|
-
|
|
471
430
|
var _replaceTable = require("./utils/replace-table");
|
|
472
|
-
|
|
473
431
|
var _analyticsHelpers = require("./utils/analytics-helpers");
|
package/dist/cjs/version.json
CHANGED
|
@@ -5,15 +5,12 @@ export class CellBookmark {
|
|
|
5
5
|
this.anchor = anchor;
|
|
6
6
|
this.head = head;
|
|
7
7
|
}
|
|
8
|
-
|
|
9
8
|
map(mapping) {
|
|
10
9
|
return new CellBookmark(mapping.map(this.anchor), mapping.map(this.head));
|
|
11
10
|
}
|
|
12
|
-
|
|
13
11
|
resolve(doc) {
|
|
14
12
|
const $anchorCell = doc.resolve(this.anchor);
|
|
15
13
|
const $headCell = doc.resolve(this.head);
|
|
16
|
-
|
|
17
14
|
if ($anchorCell.parent.type.spec.tableRole === 'row' && $headCell.parent.type.spec.tableRole === 'row' && $anchorCell.index() < $anchorCell.parent.childCount && $headCell.index() < $headCell.parent.childCount && inSameTable($anchorCell, $headCell)) {
|
|
18
15
|
const data = {
|
|
19
16
|
type: 'cell',
|
|
@@ -22,8 +19,6 @@ export class CellBookmark {
|
|
|
22
19
|
};
|
|
23
20
|
return Selection.fromJSON(doc, data);
|
|
24
21
|
}
|
|
25
|
-
|
|
26
22
|
return Selection.near($headCell, 1);
|
|
27
23
|
}
|
|
28
|
-
|
|
29
24
|
}
|