@seafile/sdoc-editor 1.0.200 → 1.0.202-test-0.1
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/basic-sdk/extension/plugins/multi-column/helper.js +10 -4
- package/dist/basic-sdk/extension/plugins/multi-column/render/index.css +6 -0
- package/dist/basic-sdk/extension/plugins/multi-column/render/index.js +48 -8
- package/dist/basic-sdk/extension/plugins/multi-column/render/multi-column-root.js +3 -1
- package/dist/basic-sdk/extension/plugins/multi-column/render/render-column.js +2 -1
- package/dist/basic-sdk/extension/plugins/multi-column/resize-handlers/index.js +5 -4
- package/dist/basic-sdk/extension/plugins/seatable-tables/helpers.js +2 -2
- package/dist/basic-sdk/extension/plugins/seatable-tables/op-menu/index.js +34 -12
- package/dist/basic-sdk/extension/plugins/seatable-tables/render-element/seatable-table.js +48 -5
- package/dist/basic-sdk/extension/plugins/table/helpers.js +28 -2
- package/package.json +1 -1
|
@@ -4,7 +4,7 @@ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefau
|
|
|
4
4
|
Object.defineProperty(exports, "__esModule", {
|
|
5
5
|
value: true
|
|
6
6
|
});
|
|
7
|
-
exports.updateColumnWidthOnDeletion = exports.updateColumnWidth = exports.insertMultiColumn = exports.handleInsertMultiColumn = exports.generateEmptyMultiColumn = void 0;
|
|
7
|
+
exports.updateColumnWidthOnDeletion = exports.updateColumnWidth = exports.realTimePageWidth = exports.insertMultiColumn = exports.handleInsertMultiColumn = exports.generateEmptyMultiColumn = void 0;
|
|
8
8
|
var _slugid = _interopRequireDefault(require("slugid"));
|
|
9
9
|
var _slate = require("@seafile/slate");
|
|
10
10
|
var _slateReact = require("@seafile/slate-react");
|
|
@@ -40,7 +40,7 @@ const generateEmptyMultiColumn = (editor, MultiColumnType) => {
|
|
|
40
40
|
default:
|
|
41
41
|
break;
|
|
42
42
|
}
|
|
43
|
-
const initialColumnWidth =
|
|
43
|
+
const initialColumnWidth = realTimePageWidth() ? Math.max(_constants2.COLUMN_MIN_WIDTH, parseInt(realTimePageWidth() / multiColumnNumber)) : _constants2.COLUMN_MIN_WIDTH;
|
|
44
44
|
for (let i = 0; i < multiColumnNumber; i++) {
|
|
45
45
|
const columnWidthKey = _slugid.default.nice();
|
|
46
46
|
column.push({
|
|
@@ -143,7 +143,7 @@ const updateColumnWidthOnDeletion = (editor, selection, column, deletionDirectio
|
|
|
143
143
|
const newMultiColumnNode = _slate.Node.get(editor, multiColumnPath);
|
|
144
144
|
const targetColumnIndex = selection.anchor.path[1] + (deletionDirection === 'deleteForward' ? 1 : 0);
|
|
145
145
|
const remainingColumn = column.filter((_, index) => index !== targetColumnIndex);
|
|
146
|
-
const columnWidth =
|
|
146
|
+
const columnWidth = realTimePageWidth() ? Math.max(_constants2.COLUMN_MIN_WIDTH, parseInt(realTimePageWidth() / remainingColumn.length)) : _constants2.COLUMN_MIN_WIDTH;
|
|
147
147
|
|
|
148
148
|
// Recalculate width of every left column
|
|
149
149
|
const newColumn = remainingColumn.map((column, index) => ({
|
|
@@ -153,4 +153,10 @@ const updateColumnWidthOnDeletion = (editor, selection, column, deletionDirectio
|
|
|
153
153
|
}));
|
|
154
154
|
updateColumnWidth(editor, newMultiColumnNode, newColumn, multiColumnPath);
|
|
155
155
|
};
|
|
156
|
-
exports.updateColumnWidthOnDeletion = updateColumnWidthOnDeletion;
|
|
156
|
+
exports.updateColumnWidthOnDeletion = updateColumnWidthOnDeletion;
|
|
157
|
+
const realTimePageWidth = () => {
|
|
158
|
+
const sdocEditorPage = document.getElementById('sdoc-editor');
|
|
159
|
+
const pageWidth = sdocEditorPage === null || sdocEditorPage === void 0 ? void 0 : sdocEditorPage.getBoundingClientRect().width;
|
|
160
|
+
return pageWidth;
|
|
161
|
+
};
|
|
162
|
+
exports.realTimePageWidth = realTimePageWidth;
|
|
@@ -11,6 +11,7 @@
|
|
|
11
11
|
position: relative;
|
|
12
12
|
display: grid;
|
|
13
13
|
cursor: text;
|
|
14
|
+
/* border: 1px solid red; */
|
|
14
15
|
}
|
|
15
16
|
|
|
16
17
|
.sdoc-multicolumn-wrapper .column {
|
|
@@ -18,6 +19,7 @@
|
|
|
18
19
|
left: 3px;
|
|
19
20
|
line-height: 1.5;
|
|
20
21
|
align-items: flex-start;
|
|
22
|
+
/* border: 1px solid red; */
|
|
21
23
|
}
|
|
22
24
|
|
|
23
25
|
.sdoc-column-container {
|
|
@@ -29,11 +31,13 @@
|
|
|
29
31
|
box-sizing: border-box;
|
|
30
32
|
word-wrap: break-word;
|
|
31
33
|
white-space: pre-wrap;
|
|
34
|
+
|
|
32
35
|
}
|
|
33
36
|
|
|
34
37
|
.sdoc-multicolumn-container .column-resize-handler {
|
|
35
38
|
height: 100%;
|
|
36
39
|
position: absolute;
|
|
40
|
+
/* border: 1px solid red; */
|
|
37
41
|
}
|
|
38
42
|
|
|
39
43
|
.sdoc-multicolumn-container .column-resize-handler .column-width-just {
|
|
@@ -44,10 +48,12 @@
|
|
|
44
48
|
margin-right: 1.5px;
|
|
45
49
|
position: absolute;
|
|
46
50
|
cursor: col-resize;
|
|
51
|
+
border: 1px solid red;
|
|
47
52
|
}
|
|
48
53
|
|
|
49
54
|
.sdoc-multicolumn-container .column-resize-handler .column-width-just.active,
|
|
50
55
|
.sdoc-multicolumn-container .column-resize-handler .column-width-just:hover {
|
|
51
56
|
background-color: lightgray;
|
|
52
57
|
cursor: col-resize;
|
|
58
|
+
/* border: 1px solid red; */
|
|
53
59
|
}
|
|
@@ -10,6 +10,7 @@ var _react = _interopRequireWildcard(require("react"));
|
|
|
10
10
|
var _classnames = _interopRequireDefault(require("classnames"));
|
|
11
11
|
var _multiColumnRoot = _interopRequireDefault(require("./multi-column-root"));
|
|
12
12
|
var _resizeHandlers = _interopRequireDefault(require("../resize-handlers"));
|
|
13
|
+
var _helper = require("../helper");
|
|
13
14
|
require("./index.css");
|
|
14
15
|
const MultiColumn = _ref => {
|
|
15
16
|
let {
|
|
@@ -24,17 +25,55 @@ const MultiColumn = _ref => {
|
|
|
24
25
|
...element.style
|
|
25
26
|
} : {});
|
|
26
27
|
const multiColumnContainerClassName = (0, _classnames.default)('sdoc-multicolumn-container', className);
|
|
28
|
+
const [pageWidth, setPageWidth] = (0, _react.useState)((0, _helper.realTimePageWidth)());
|
|
27
29
|
const handleResizeColumn = newColumn => {
|
|
28
30
|
setColumn(newColumn);
|
|
29
31
|
};
|
|
30
32
|
(0, _react.useEffect)(() => {
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
33
|
+
console.log('real', column);
|
|
34
|
+
let columnWidthList = column.map(item => `${item.width}px`);
|
|
35
|
+
console.log(0, columnWidthList);
|
|
36
|
+
const sdocEditorPage = document.getElementById('sdoc-editor');
|
|
37
|
+
if (sdocEditorPage) {
|
|
38
|
+
const resizeObserver = new ResizeObserver(entries => {
|
|
39
|
+
const realTimeWidth = entries[0].contentRect.width;
|
|
40
|
+
if (realTimeWidth !== pageWidth) {
|
|
41
|
+
const scaleFactor = realTimeWidth / pageWidth;
|
|
42
|
+
const updatedColumns = column.map(item => ({
|
|
43
|
+
...item,
|
|
44
|
+
width: Math.round(item.width * scaleFactor)
|
|
45
|
+
}));
|
|
46
|
+
columnWidthList = updatedColumns.map(item => `${item.width}px`);
|
|
47
|
+
console.log(22, columnWidthList);
|
|
48
|
+
const newStyle = {
|
|
49
|
+
...element.style,
|
|
50
|
+
gridTemplateColumns: columnWidthList.join(' ')
|
|
51
|
+
};
|
|
52
|
+
setStyle(newStyle);
|
|
53
|
+
console.log(4, updatedColumns);
|
|
54
|
+
setColumn(updatedColumns);
|
|
55
|
+
setPageWidth(realTimeWidth);
|
|
56
|
+
}
|
|
57
|
+
});
|
|
58
|
+
resizeObserver.observe(sdocEditorPage);
|
|
59
|
+
return () => {
|
|
60
|
+
resizeObserver.disconnect();
|
|
61
|
+
};
|
|
62
|
+
} else {
|
|
63
|
+
const newStyle = {
|
|
64
|
+
...element.style,
|
|
65
|
+
gridTemplateColumns: columnWidthList.join(' ')
|
|
66
|
+
};
|
|
67
|
+
setStyle(newStyle);
|
|
68
|
+
}
|
|
69
|
+
}, [pageWidth, element.style, element.column, column]);
|
|
70
|
+
|
|
71
|
+
// useEffect(() => {
|
|
72
|
+
// const columnWidthList = element.column.map(item => `${item.width}px`);
|
|
73
|
+
// const newStyle = { ...element.style, gridTemplateColumns: columnWidthList.join(' ') };
|
|
74
|
+
// setStyle(newStyle);
|
|
75
|
+
// }, [element.style, element.column, column]);
|
|
76
|
+
|
|
38
77
|
return /*#__PURE__*/_react.default.createElement(_multiColumnRoot.default, {
|
|
39
78
|
attributes: attributes
|
|
40
79
|
}, /*#__PURE__*/_react.default.createElement("div", {
|
|
@@ -44,7 +83,8 @@ const MultiColumn = _ref => {
|
|
|
44
83
|
"data-id": element.id
|
|
45
84
|
}, children, /*#__PURE__*/_react.default.createElement(_resizeHandlers.default, {
|
|
46
85
|
element: element,
|
|
47
|
-
handleResizeColumn: handleResizeColumn
|
|
86
|
+
handleResizeColumn: handleResizeColumn,
|
|
87
|
+
columnWidthList: column
|
|
48
88
|
})));
|
|
49
89
|
};
|
|
50
90
|
function renderMultiColumn(props) {
|
|
@@ -8,17 +8,19 @@ exports.default = void 0;
|
|
|
8
8
|
var _react = _interopRequireDefault(require("react"));
|
|
9
9
|
var _classnames = _interopRequireDefault(require("classnames"));
|
|
10
10
|
var _slateReact = require("@seafile/slate-react");
|
|
11
|
+
var _helper = require("../helper");
|
|
11
12
|
const MultiColumnRoot = _ref => {
|
|
12
13
|
let {
|
|
13
14
|
attributes,
|
|
14
15
|
children
|
|
15
16
|
} = _ref;
|
|
16
17
|
const editor = (0, _slateReact.useSlateStatic)();
|
|
18
|
+
console.log(33, (0, _helper.realTimePageWidth)());
|
|
17
19
|
return /*#__PURE__*/_react.default.createElement("div", Object.assign({}, attributes, {
|
|
18
20
|
className: (0, _classnames.default)('sdoc-multicolumn-wrapper position-relative', attributes.className),
|
|
19
21
|
style: {
|
|
20
22
|
...attributes.style,
|
|
21
|
-
maxWidth:
|
|
23
|
+
maxWidth: (0, _helper.realTimePageWidth)() ? (0, _helper.realTimePageWidth)() : '100%'
|
|
22
24
|
}
|
|
23
25
|
}), children);
|
|
24
26
|
};
|
|
@@ -22,11 +22,12 @@ const Column = _ref => {
|
|
|
22
22
|
const parentPath = _slate.Path.parent(path);
|
|
23
23
|
const [parentNode] = _slate.Editor.node(editor, parentPath);
|
|
24
24
|
(0, _react.useEffect)(() => {
|
|
25
|
+
console.log(555, parentNode.column);
|
|
25
26
|
const matchingColumn = parentNode.column.find(column => column.key === element.id);
|
|
26
27
|
if (matchingColumn) {
|
|
27
28
|
setColumnWidth(matchingColumn.width);
|
|
28
29
|
}
|
|
29
|
-
}, [editor, element, parentNode.column]);
|
|
30
|
+
}, [editor, element, parentNode.column, columnWidth]);
|
|
30
31
|
return /*#__PURE__*/_react.default.createElement("div", Object.assign({}, attributes, {
|
|
31
32
|
className: (0, _classnames.default)('column', attributes.className),
|
|
32
33
|
"data-id": element.id,
|
|
@@ -16,10 +16,11 @@ var _mouseEvent = require("../../../../utils/mouse-event");
|
|
|
16
16
|
const ResizeHandlers = _ref => {
|
|
17
17
|
let {
|
|
18
18
|
element,
|
|
19
|
-
handleResizeColumn
|
|
19
|
+
handleResizeColumn,
|
|
20
|
+
columnWidthList
|
|
20
21
|
} = _ref;
|
|
21
22
|
const editor = (0, _slateReact.useSlateStatic)();
|
|
22
|
-
const [column, setColumn] = (0, _react.useState)(
|
|
23
|
+
const [column, setColumn] = (0, _react.useState)(columnWidthList);
|
|
23
24
|
const [isDraggingResizeHandler, setIsDraggingResizeHandler] = (0, _react.useState)(false);
|
|
24
25
|
const [adjustingCell, setAdjustingCell] = (0, _react.useState)(null);
|
|
25
26
|
const [resizeInfo, setResizeInfo] = (0, _react.useState)({
|
|
@@ -41,8 +42,8 @@ const ResizeHandlers = _ref => {
|
|
|
41
42
|
|
|
42
43
|
// Render when column element of multi_column node changes
|
|
43
44
|
(0, _react.useEffect)(() => {
|
|
44
|
-
setColumn(
|
|
45
|
-
}, [
|
|
45
|
+
setColumn(columnWidthList);
|
|
46
|
+
}, [columnWidthList]);
|
|
46
47
|
(0, _react.useEffect)(() => {
|
|
47
48
|
const path = _slateReact.ReactEditor.findPath(editor, element);
|
|
48
49
|
const [node] = _slate.Editor.node(editor, path);
|
|
@@ -80,9 +80,9 @@ const insertSeaTableTable = function (editor, item) {
|
|
|
80
80
|
_slate.Transforms.setNodes(editor, node);
|
|
81
81
|
};
|
|
82
82
|
exports.insertSeaTableTable = insertSeaTableTable;
|
|
83
|
-
const updateSeaTableTable = (editor, props) => {
|
|
83
|
+
const updateSeaTableTable = (editor, props, options) => {
|
|
84
84
|
_slate.Transforms.setNodes(editor, {
|
|
85
85
|
...props
|
|
86
|
-
});
|
|
86
|
+
}, options);
|
|
87
87
|
};
|
|
88
88
|
exports.updateSeaTableTable = updateSeaTableTable;
|
|
@@ -107,14 +107,32 @@ function OpMenu(_ref3) {
|
|
|
107
107
|
const [isShowHideColumn, setIsShowHideColumn] = (0, _react.useState)(false);
|
|
108
108
|
const [isShowSeaTableSetting, setIsShowSeaTableSetting] = (0, _react.useState)(false);
|
|
109
109
|
const onCloseOther = (0, _react.useCallback)(closeList => {
|
|
110
|
+
const {
|
|
111
|
+
filterData,
|
|
112
|
+
sortsData
|
|
113
|
+
} = seaTableRef.current;
|
|
110
114
|
closeList.forEach(item => {
|
|
111
115
|
item === 'tableList' && setIsShowTablesList(false);
|
|
112
|
-
item === 'tableFilter'
|
|
113
|
-
|
|
116
|
+
if (item === 'tableFilter') {
|
|
117
|
+
if (filterData && Object.keys(filterData).length > 0) {
|
|
118
|
+
(0, _helpers.updateSeaTableTable)(editor, filterData);
|
|
119
|
+
seaTableRef.current['filterData'] = {};
|
|
120
|
+
}
|
|
121
|
+
setTimeout(() => {
|
|
122
|
+
setIsShowFilter(false);
|
|
123
|
+
}, 1000);
|
|
124
|
+
}
|
|
125
|
+
if (item === 'tableSort') {
|
|
126
|
+
if (sortsData && Object.keys(sortsData).length > 0) {
|
|
127
|
+
(0, _helpers.updateSeaTableTable)(editor, sortsData);
|
|
128
|
+
seaTableRef.current['sortsData'] = {};
|
|
129
|
+
}
|
|
130
|
+
setIsShowSort(false);
|
|
131
|
+
}
|
|
114
132
|
item === 'tableColumnHidden' && setIsShowHideColumn(false);
|
|
115
133
|
item === 'tableSetting' && setIsShowSeaTableSetting(false);
|
|
116
134
|
});
|
|
117
|
-
}, []);
|
|
135
|
+
}, [editor, seaTableRef]);
|
|
118
136
|
const onClickOutside = (0, _react.useCallback)(e => {
|
|
119
137
|
if (seaTableRef !== null && seaTableRef !== void 0 && seaTableRef.current.contains(e.target)) {
|
|
120
138
|
onCloseOther(['tableList', 'tableFilter', 'tableSort', 'tableColumnHidden', 'tableSetting']);
|
|
@@ -190,21 +208,25 @@ function OpMenu(_ref3) {
|
|
|
190
208
|
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
191
209
|
}, [isShowFilter]);
|
|
192
210
|
const onFiltersChange = (0, _react.useCallback)((filters, filter_conjunction) => {
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
|
|
211
|
+
if (seaTableRef.current) {
|
|
212
|
+
seaTableRef.current['filterData'] = {
|
|
213
|
+
filters,
|
|
214
|
+
filter_conjunction
|
|
215
|
+
};
|
|
216
|
+
}
|
|
217
|
+
}, [seaTableRef]);
|
|
198
218
|
const onSort = (0, _react.useCallback)(() => {
|
|
199
219
|
setIsShowSort(!isShowSort);
|
|
200
220
|
onCloseOther(['tableList', 'tableFilter', 'tableColumnHidden', 'tableSetting']);
|
|
201
221
|
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
202
222
|
}, [isShowSort]);
|
|
203
223
|
const onSortsChange = (0, _react.useCallback)(sorts => {
|
|
204
|
-
|
|
205
|
-
|
|
206
|
-
|
|
207
|
-
|
|
224
|
+
if (seaTableRef.current) {
|
|
225
|
+
seaTableRef.current['sortsData'] = {
|
|
226
|
+
sorts
|
|
227
|
+
};
|
|
228
|
+
}
|
|
229
|
+
}, [seaTableRef]);
|
|
208
230
|
const onHiddenColumn = (0, _react.useCallback)(() => {
|
|
209
231
|
setIsShowHideColumn(!isShowHideColumn);
|
|
210
232
|
onCloseOther(['tableList', 'tableSort', 'tableFilter', 'tableSetting']);
|
|
@@ -18,6 +18,7 @@ var _recordList = _interopRequireDefault(require("./record-list"));
|
|
|
18
18
|
var _opMenu = _interopRequireDefault(require("../op-menu"));
|
|
19
19
|
var _useScrollContext = require("../../../../hooks/use-scroll-context");
|
|
20
20
|
var _helpers = require("../../seatable-column/helpers");
|
|
21
|
+
var _helpers2 = require("../helpers");
|
|
21
22
|
require("./index.css");
|
|
22
23
|
function SeaTableTable(_ref) {
|
|
23
24
|
var _tableInfoRef$current, _tableInfoRef$current2;
|
|
@@ -218,13 +219,54 @@ function SeaTableTable(_ref) {
|
|
|
218
219
|
observerRefValue.removeEventListener('scroll', handleScroll);
|
|
219
220
|
};
|
|
220
221
|
}, [handleScroll, readOnly, scrollRef]);
|
|
222
|
+
const handleSaveData = (0, _react.useCallback)(() => {
|
|
223
|
+
const {
|
|
224
|
+
filterData,
|
|
225
|
+
sortsData
|
|
226
|
+
} = seaTableRef.current;
|
|
227
|
+
if (filterData && Object.keys(filterData).length > 0) {
|
|
228
|
+
const path = _slateReact.ReactEditor.findPath(editor, element);
|
|
229
|
+
(0, _helpers2.updateSeaTableTable)(editor, filterData, {
|
|
230
|
+
at: {
|
|
231
|
+
anchor: {
|
|
232
|
+
offset: 0,
|
|
233
|
+
path
|
|
234
|
+
},
|
|
235
|
+
focus: {
|
|
236
|
+
offset: 0,
|
|
237
|
+
path
|
|
238
|
+
}
|
|
239
|
+
}
|
|
240
|
+
});
|
|
241
|
+
seaTableRef.current['filterData'] = {};
|
|
242
|
+
}
|
|
243
|
+
if (sortsData && Object.keys(sortsData).length > 0) {
|
|
244
|
+
const path = _slateReact.ReactEditor.findPath(editor, element);
|
|
245
|
+
(0, _helpers2.updateSeaTableTable)(editor, sortsData, {
|
|
246
|
+
at: {
|
|
247
|
+
anchor: {
|
|
248
|
+
offset: 0,
|
|
249
|
+
path
|
|
250
|
+
},
|
|
251
|
+
focus: {
|
|
252
|
+
offset: 0,
|
|
253
|
+
path
|
|
254
|
+
}
|
|
255
|
+
}
|
|
256
|
+
});
|
|
257
|
+
seaTableRef.current['sortsData'] = {};
|
|
258
|
+
}
|
|
259
|
+
}, [editor, element]);
|
|
221
260
|
(0, _react.useEffect)(() => {
|
|
222
261
|
if (!isSelected) {
|
|
223
|
-
|
|
224
|
-
|
|
225
|
-
|
|
262
|
+
handleSaveData();
|
|
263
|
+
queueMicrotask(() => {
|
|
264
|
+
setIsShowMenu(false);
|
|
265
|
+
setIsShowColumnWidth(false);
|
|
266
|
+
setIsCanModifyColumnWidth(false);
|
|
267
|
+
});
|
|
226
268
|
}
|
|
227
|
-
}, [isSelected]);
|
|
269
|
+
}, [editor, element, handleSaveData, isSelected]);
|
|
228
270
|
const onTableClick = (0, _react.useCallback)(event => {
|
|
229
271
|
if (readOnly) return;
|
|
230
272
|
const {
|
|
@@ -254,7 +296,8 @@ function SeaTableTable(_ref) {
|
|
|
254
296
|
});
|
|
255
297
|
return /*#__PURE__*/_react.default.createElement("div", Object.assign({}, attributes, {
|
|
256
298
|
className: "seatable-table-wrapper",
|
|
257
|
-
contentEditable: true
|
|
299
|
+
contentEditable: true,
|
|
300
|
+
suppressContentEditableWarning: true
|
|
258
301
|
}), /*#__PURE__*/_react.default.createElement("div", {
|
|
259
302
|
ref: seaTableRef,
|
|
260
303
|
className: containerClass,
|
|
@@ -4,7 +4,7 @@ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefau
|
|
|
4
4
|
Object.defineProperty(exports, "__esModule", {
|
|
5
5
|
value: true
|
|
6
6
|
});
|
|
7
|
-
exports.updateTableRowHeight = exports.updateColumnWidth = exports.splitCell = exports.setTableSelectedRange = exports.setTableFragmentData = exports.setCellStyle = exports.removeTableElement = exports.removeTable = exports.normalizeTableELement = exports.moveRows = exports.moveColumns = exports.isTableWidthFitScreen = exports.isTableMenuDisabled = exports.isTableLocation = exports.isSelectedAllCell = exports.isPreventResetTableSelectedRange = exports.isLastTableCell = exports.isInTableSameCell = exports.isInTable = exports.isHideDragHandlerLine = exports.isCursorAtCellStart = exports.isCursorAtCellEnd = exports.isCombineCellsDisabled = exports.isAllInTable = exports.insertTableRow = exports.insertTableElement = exports.insertTableColumn = exports.insertTableByTemplate = exports.insertTable = exports.insertMultipleRowsAndColumns = exports.handleInsertTable = exports.handleCombinedCellsBeforeDeleteTableRow = exports.handleCombinedCellsBeforeDeleteTableColumn = exports.handleCombinedCellsAfterInsertTableRow = exports.handleCombinedCellsAfterInsertTableColumn = exports.getTableSelectedRangeAfterDrag = exports.getTableRowSelectedRange = exports.getTableDragType = exports.getTableColumnsWidth = exports.getTableColumnsAfterInsertColumn = exports.getTableColumns = exports.getTableColumnSelectedRange = exports.getSelectedInfo = exports.getRowHeight = exports.getRowDomHeight = exports.getResizeMaskCellInfo = exports.getInsertPosition = exports.getHighlightClass = exports.getFirstTableCell = exports.getCellInheritStyles = exports.getCellHighlightClassName = exports.getCellColumn = exports.generateTableRow = exports.generateTableCell = exports.generateInheritStyle = exports.generateEmptyTable = exports.generateDragMoveElement = exports.focusClosestCellWhenJustifyCellSize = exports.focusCell = exports.fitTableColumnToScreen = exports.elementHasImage = exports.deleteTableSelectCells = exports.deleteTableRangeData = exports.deleteHandler = exports.combineCells = exports.colorBlend = exports.adjustCombinedCellRange = void 0;
|
|
7
|
+
exports.updateTableRowHeight = exports.updateColumnWidth = exports.syncRemoveTable = exports.splitCell = exports.setTableSelectedRange = exports.setTableFragmentData = exports.setCellStyle = exports.removeTableElement = exports.removeTable = exports.normalizeTableELement = exports.moveRows = exports.moveColumns = exports.isTableWidthFitScreen = exports.isTableMenuDisabled = exports.isTableLocation = exports.isSelectedAllCell = exports.isPreventResetTableSelectedRange = exports.isLastTableCell = exports.isInTableSameCell = exports.isInTable = exports.isHideDragHandlerLine = exports.isCursorAtCellStart = exports.isCursorAtCellEnd = exports.isCombineCellsDisabled = exports.isAllInTable = exports.insertTableRow = exports.insertTableElement = exports.insertTableColumn = exports.insertTableByTemplate = exports.insertTable = exports.insertMultipleRowsAndColumns = exports.handleInsertTable = exports.handleCombinedCellsBeforeDeleteTableRow = exports.handleCombinedCellsBeforeDeleteTableColumn = exports.handleCombinedCellsAfterInsertTableRow = exports.handleCombinedCellsAfterInsertTableColumn = exports.getTableSelectedRangeAfterDrag = exports.getTableRowSelectedRange = exports.getTableDragType = exports.getTableColumnsWidth = exports.getTableColumnsAfterInsertColumn = exports.getTableColumns = exports.getTableColumnSelectedRange = exports.getSelectedInfo = exports.getRowHeight = exports.getRowDomHeight = exports.getResizeMaskCellInfo = exports.getInsertPosition = exports.getHighlightClass = exports.getFirstTableCell = exports.getCellInheritStyles = exports.getCellHighlightClassName = exports.getCellColumn = exports.generateTableRow = exports.generateTableCell = exports.generateInheritStyle = exports.generateEmptyTable = exports.generateDragMoveElement = exports.focusClosestCellWhenJustifyCellSize = exports.focusCell = exports.fitTableColumnToScreen = exports.elementHasImage = exports.deleteTableSelectCells = exports.deleteTableRangeData = exports.deleteHandler = exports.combineCells = exports.colorBlend = exports.adjustCombinedCellRange = void 0;
|
|
8
8
|
var _slugid = _interopRequireDefault(require("slugid"));
|
|
9
9
|
var _slate = require("@seafile/slate");
|
|
10
10
|
var _slateReact = require("@seafile/slate-react");
|
|
@@ -580,7 +580,7 @@ const splitCell = (editor, rowNumber, columnNumber) => {
|
|
|
580
580
|
});
|
|
581
581
|
};
|
|
582
582
|
exports.splitCell = splitCell;
|
|
583
|
-
const
|
|
583
|
+
const syncRemoveTable = (editor, path) => {
|
|
584
584
|
let validPath = path;
|
|
585
585
|
if (!validPath) {
|
|
586
586
|
const {
|
|
@@ -593,6 +593,32 @@ const removeTable = (editor, path) => {
|
|
|
593
593
|
at: validPath
|
|
594
594
|
});
|
|
595
595
|
};
|
|
596
|
+
exports.syncRemoveTable = syncRemoveTable;
|
|
597
|
+
const removeTable = (editor, path) => {
|
|
598
|
+
let validPath = path;
|
|
599
|
+
if (!validPath) {
|
|
600
|
+
const {
|
|
601
|
+
tablePath
|
|
602
|
+
} = getSelectedInfo(editor);
|
|
603
|
+
validPath = tablePath;
|
|
604
|
+
}
|
|
605
|
+
editor.reSetTableSelectedRange();
|
|
606
|
+
|
|
607
|
+
// Clicking the menu causes the table to be re-rendered, and the deletion operation is performed synchronously. When rendering, it is found that the data is lost and an error is reported.
|
|
608
|
+
setTimeout(() => {
|
|
609
|
+
_slate.Transforms.removeNodes(editor, {
|
|
610
|
+
at: validPath
|
|
611
|
+
});
|
|
612
|
+
if (_slate.Editor.hasPath(editor, validPath)) {
|
|
613
|
+
const endOfLastNodePoint = _slate.Editor.end(editor, validPath);
|
|
614
|
+
const range = {
|
|
615
|
+
anchor: endOfLastNodePoint,
|
|
616
|
+
focus: endOfLastNodePoint
|
|
617
|
+
};
|
|
618
|
+
(0, _core.focusEditor)(editor, range);
|
|
619
|
+
}
|
|
620
|
+
}, 0);
|
|
621
|
+
};
|
|
596
622
|
exports.removeTable = removeTable;
|
|
597
623
|
const removeTableElement = (editor, type) => {
|
|
598
624
|
const {
|