@seafile/sdoc-editor 2.0.23 → 2.0.25
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/api/seafile-api.js +4 -1
- package/dist/basic-sdk/extension/commons/insert-element-dialog/index.js +12 -2
- package/dist/basic-sdk/extension/constants/element-type.js +2 -1
- package/dist/basic-sdk/extension/constants/index.js +8 -2
- package/dist/basic-sdk/extension/constants/menus-config.js +5 -0
- package/dist/basic-sdk/extension/plugins/ai/ai-module/index.js +44 -24
- package/dist/basic-sdk/extension/plugins/ai/ai-module/style.css +6 -0
- package/dist/basic-sdk/extension/plugins/index.js +7 -0
- package/dist/basic-sdk/extension/plugins/seatable-row/dialog/add-seatable-row-dialog/index.css +414 -0
- package/dist/basic-sdk/extension/plugins/seatable-row/dialog/add-seatable-row-dialog/index.js +76 -0
- package/dist/basic-sdk/extension/plugins/seatable-row/dialog/add-seatable-row-dialog/record-content.js +209 -0
- package/dist/basic-sdk/extension/plugins/seatable-row/dialog/add-seatable-row-dialog/resize-handle/ResizeHandle.js +38 -0
- package/dist/basic-sdk/extension/plugins/seatable-row/dialog/add-seatable-row-dialog/resize-handle/index.css +384 -0
- package/dist/basic-sdk/extension/plugins/seatable-row/dialog/add-seatable-row-dialog/row-card-header-cell.js +125 -0
- package/dist/basic-sdk/extension/plugins/seatable-row/dialog/add-seatable-row-dialog/row-card-header.js +144 -0
- package/dist/basic-sdk/extension/plugins/seatable-row/dialog/add-seatable-row-dialog/row-card-item.js +161 -0
- package/dist/basic-sdk/extension/plugins/seatable-row/dialog/add-seatable-row-dialog/seatable-table-record.js +47 -0
- package/dist/basic-sdk/extension/plugins/seatable-row/helpers.js +98 -0
- package/dist/basic-sdk/extension/plugins/seatable-row/index.js +17 -0
- package/dist/basic-sdk/extension/plugins/seatable-row/menu/index.css +3 -0
- package/dist/basic-sdk/extension/plugins/seatable-row/menu/index.js +46 -0
- package/dist/basic-sdk/extension/plugins/seatable-row/menu/seatable-list.js +62 -0
- package/dist/basic-sdk/extension/plugins/seatable-row/model.js +19 -0
- package/dist/basic-sdk/extension/plugins/seatable-row/plugin.js +60 -0
- package/dist/basic-sdk/extension/plugins/seatable-row/render-elem/index.css +124 -0
- package/dist/basic-sdk/extension/plugins/seatable-row/render-elem/index.js +160 -0
- package/dist/basic-sdk/extension/plugins/seatable-row/render-elem/record-header.js +78 -0
- package/dist/basic-sdk/extension/plugins/seatable-row/render-elem/record-item.js +41 -0
- package/dist/basic-sdk/extension/plugins/seatable-tables/formatter/index.js +7 -2
- package/dist/basic-sdk/extension/render/custom-element.js +5 -0
- package/dist/basic-sdk/extension/toolbar/header-toolbar/insert-toolbar/index.js +3 -2
- package/dist/basic-sdk/extension/toolbar/side-toolbar/helpers.js +2 -1
- package/dist/constants/index.js +1 -0
- package/dist/context.js +2 -2
- package/dist/pages/document-plugin-editor.js +2 -1
- package/package.json +1 -1
- package/public/locales/cs/sdoc-editor.json +7 -1
- package/public/locales/de/sdoc-editor.json +66 -60
- package/public/locales/en/sdoc-editor.json +10 -2
- package/public/locales/es/sdoc-editor.json +7 -1
- package/public/locales/es_AR/sdoc-editor.json +7 -1
- package/public/locales/es_MX/sdoc-editor.json +7 -1
- package/public/locales/fr/sdoc-editor.json +240 -234
- package/public/locales/it/sdoc-editor.json +7 -1
- package/public/locales/ru/sdoc-editor.json +8 -2
- package/public/locales/zh_CN/sdoc-editor.json +7 -2
- package/public/media/sdoc-editor-font/iconfont.css +15 -14
- package/public/media/sdoc-editor-font/iconfont.eot +0 -0
- package/public/media/sdoc-editor-font/iconfont.svg +3 -1
- package/public/media/sdoc-editor-font/iconfont.ttf +0 -0
- package/public/media/sdoc-editor-font/iconfont.woff +0 -0
- package/public/media/sdoc-editor-font/iconfont.woff2 +0 -0
- package/public/media/sdoc-editor-font.css +11 -7
|
@@ -0,0 +1,160 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
|
|
4
|
+
var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard").default;
|
|
5
|
+
Object.defineProperty(exports, "__esModule", {
|
|
6
|
+
value: true
|
|
7
|
+
});
|
|
8
|
+
exports.default = void 0;
|
|
9
|
+
var _react = _interopRequireWildcard(require("react"));
|
|
10
|
+
var _classnames = _interopRequireDefault(require("classnames"));
|
|
11
|
+
var _reactI18next = require("react-i18next");
|
|
12
|
+
var _slateReact = require("@seafile/slate-react");
|
|
13
|
+
var _dtableUtils = require("dtable-utils");
|
|
14
|
+
var _recordItem = _interopRequireDefault(require("./record-item"));
|
|
15
|
+
var _recordHeader = _interopRequireDefault(require("./record-header"));
|
|
16
|
+
require("./index.css");
|
|
17
|
+
const RowRecord = _ref => {
|
|
18
|
+
var _tableInfoRef$current, _tableInfoRef$current2;
|
|
19
|
+
let {
|
|
20
|
+
element,
|
|
21
|
+
attributes,
|
|
22
|
+
children,
|
|
23
|
+
editor
|
|
24
|
+
} = _ref;
|
|
25
|
+
const {
|
|
26
|
+
table_id,
|
|
27
|
+
row_id,
|
|
28
|
+
column_width = {}
|
|
29
|
+
} = element;
|
|
30
|
+
const [columns, setColumns] = (0, _react.useState)([]);
|
|
31
|
+
const [rowRecordName, setRowRecordName] = (0, _react.useState)(null);
|
|
32
|
+
const [shownRecord, setShownRecord] = (0, _react.useState)([]);
|
|
33
|
+
const [columnWidthMap, setColumnWidthMap] = (0, _react.useState)(column_width);
|
|
34
|
+
const [isShowColumnWidth, setIsShowColumnWidth] = (0, _react.useState)(false);
|
|
35
|
+
const [isCanModifyColumnWidth, setIsCanModifyColumnWidth] = (0, _react.useState)(false);
|
|
36
|
+
const isSelected = (0, _slateReact.useSelected)();
|
|
37
|
+
const {
|
|
38
|
+
t
|
|
39
|
+
} = (0, _reactI18next.useTranslation)('sdoc-editor');
|
|
40
|
+
const readOnly = (0, _slateReact.useReadOnly)();
|
|
41
|
+
const tableInfoRef = (0, _react.useRef)(null);
|
|
42
|
+
(0, _react.useEffect)(() => {
|
|
43
|
+
async function initTableData() {
|
|
44
|
+
const table = await editor.getTableById(table_id);
|
|
45
|
+
setRowRecordName(table.rows[0]['0000']);
|
|
46
|
+
if (!tableInfoRef.current) {
|
|
47
|
+
tableInfoRef.current = {};
|
|
48
|
+
}
|
|
49
|
+
if (!tableInfoRef.current[table_id]) {
|
|
50
|
+
tableInfoRef.current[table_id] = {
|
|
51
|
+
formulaRows: editor.getTableFormulaResults(table, table.rows),
|
|
52
|
+
idRowMap: table.rows.reduce((result, item) => {
|
|
53
|
+
result[item._id] = item;
|
|
54
|
+
return result;
|
|
55
|
+
}, {})
|
|
56
|
+
};
|
|
57
|
+
}
|
|
58
|
+
const shownRecord = table.rows.filter(item => row_id === item._id);
|
|
59
|
+
setShownRecord(shownRecord);
|
|
60
|
+
const updatedColumnWidthMap = Object.fromEntries(Object.entries(columnWidthMap).map(_ref2 => {
|
|
61
|
+
let [key, value] = _ref2;
|
|
62
|
+
return [key, value];
|
|
63
|
+
}));
|
|
64
|
+
setColumnWidthMap(updatedColumnWidthMap);
|
|
65
|
+
let validColumns = table.columns;
|
|
66
|
+
validColumns = validColumns.filter((_, index) => index !== 0).map(column => {
|
|
67
|
+
const {
|
|
68
|
+
type
|
|
69
|
+
} = column;
|
|
70
|
+
if (type === _dtableUtils.CellType.LINK) {
|
|
71
|
+
const {
|
|
72
|
+
data
|
|
73
|
+
} = column;
|
|
74
|
+
const {
|
|
75
|
+
display_column_key,
|
|
76
|
+
array_type,
|
|
77
|
+
array_data
|
|
78
|
+
} = data;
|
|
79
|
+
const display_column = {
|
|
80
|
+
key: display_column_key || '0000',
|
|
81
|
+
type: array_type || _dtableUtils.CellType.TEXT,
|
|
82
|
+
data: array_data || null
|
|
83
|
+
};
|
|
84
|
+
return {
|
|
85
|
+
...column,
|
|
86
|
+
data: {
|
|
87
|
+
...data,
|
|
88
|
+
display_column
|
|
89
|
+
}
|
|
90
|
+
};
|
|
91
|
+
}
|
|
92
|
+
return column;
|
|
93
|
+
});
|
|
94
|
+
setColumns(validColumns);
|
|
95
|
+
}
|
|
96
|
+
initTableData();
|
|
97
|
+
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
98
|
+
}, [table_id]);
|
|
99
|
+
(0, _react.useEffect)(() => {
|
|
100
|
+
if (!isSelected) {
|
|
101
|
+
queueMicrotask(() => {
|
|
102
|
+
setIsShowColumnWidth(false);
|
|
103
|
+
setIsCanModifyColumnWidth(false);
|
|
104
|
+
});
|
|
105
|
+
}
|
|
106
|
+
}, [editor, element, isSelected]);
|
|
107
|
+
const onTableClick = (0, _react.useCallback)(event => {
|
|
108
|
+
if (readOnly) return;
|
|
109
|
+
setIsShowColumnWidth(true);
|
|
110
|
+
}, [readOnly]);
|
|
111
|
+
const onTableDoubleClick = (0, _react.useCallback)(event => {
|
|
112
|
+
if (readOnly) return;
|
|
113
|
+
setIsShowColumnWidth(false);
|
|
114
|
+
setIsCanModifyColumnWidth(true);
|
|
115
|
+
}, [readOnly]);
|
|
116
|
+
const formulaRows = (tableInfoRef === null || tableInfoRef === void 0 ? void 0 : (_tableInfoRef$current = tableInfoRef.current) === null || _tableInfoRef$current === void 0 ? void 0 : (_tableInfoRef$current2 = _tableInfoRef$current[table_id]) === null || _tableInfoRef$current2 === void 0 ? void 0 : _tableInfoRef$current2.formulaRows) || {};
|
|
117
|
+
return /*#__PURE__*/_react.default.createElement("div", Object.assign({}, attributes, {
|
|
118
|
+
className: "seatable-rows-record-wrapper"
|
|
119
|
+
}), /*#__PURE__*/_react.default.createElement("div", {
|
|
120
|
+
className: (0, _classnames.default)('seatable-rows-record-container', {
|
|
121
|
+
'selected': isSelected
|
|
122
|
+
}),
|
|
123
|
+
onClick: onTableClick,
|
|
124
|
+
onDoubleClick: onTableDoubleClick
|
|
125
|
+
}, /*#__PURE__*/_react.default.createElement("div", {
|
|
126
|
+
className: "seatable-rows-record-table-name"
|
|
127
|
+
}, rowRecordName), /*#__PURE__*/_react.default.createElement("table", {
|
|
128
|
+
className: "seatable-rows-record-table"
|
|
129
|
+
}, /*#__PURE__*/_react.default.createElement("thead", null, /*#__PURE__*/_react.default.createElement(_recordHeader.default, {
|
|
130
|
+
editor: editor,
|
|
131
|
+
element: element,
|
|
132
|
+
columns: columns,
|
|
133
|
+
isCanModifyColumnWidth: isCanModifyColumnWidth,
|
|
134
|
+
columnWidthMap: columnWidthMap,
|
|
135
|
+
setColumnWidthMap: setColumnWidthMap
|
|
136
|
+
})), /*#__PURE__*/_react.default.createElement("tbody", {
|
|
137
|
+
className: "seatable-rows-record-body-container"
|
|
138
|
+
}, shownRecord.map((record, index) => {
|
|
139
|
+
const formulaRow = formulaRows[record._id] || {};
|
|
140
|
+
return /*#__PURE__*/_react.default.createElement(_recordItem.default, {
|
|
141
|
+
key: record._id,
|
|
142
|
+
index: index,
|
|
143
|
+
editor: editor,
|
|
144
|
+
record: record,
|
|
145
|
+
formulaRow: formulaRow,
|
|
146
|
+
columns: columns,
|
|
147
|
+
columnWidthMap: columnWidthMap
|
|
148
|
+
});
|
|
149
|
+
}))), !readOnly && isShowColumnWidth && !isCanModifyColumnWidth && /*#__PURE__*/_react.default.createElement("div", {
|
|
150
|
+
className: "seatable-column-editor-wrapper"
|
|
151
|
+
}, /*#__PURE__*/_react.default.createElement("div", {
|
|
152
|
+
className: "seatable-column-width-tip"
|
|
153
|
+
}, t('Double_click_then_adjust_field_width'))), children));
|
|
154
|
+
};
|
|
155
|
+
const renderRow = (props, editor) => {
|
|
156
|
+
return /*#__PURE__*/_react.default.createElement(RowRecord, Object.assign({}, props, {
|
|
157
|
+
editor: editor
|
|
158
|
+
}));
|
|
159
|
+
};
|
|
160
|
+
var _default = exports.default = renderRow;
|
|
@@ -0,0 +1,78 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
|
|
4
|
+
var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard").default;
|
|
5
|
+
Object.defineProperty(exports, "__esModule", {
|
|
6
|
+
value: true
|
|
7
|
+
});
|
|
8
|
+
exports.default = RecordHeader;
|
|
9
|
+
var _react = _interopRequireWildcard(require("react"));
|
|
10
|
+
var _slateReact = require("@seafile/slate-react");
|
|
11
|
+
var _slate = require("@seafile/slate");
|
|
12
|
+
var _draggable = _interopRequireDefault(require("../../seatable-tables/draggable"));
|
|
13
|
+
const dragAbleStyle = {
|
|
14
|
+
position: 'absolute',
|
|
15
|
+
top: 0,
|
|
16
|
+
right: -3,
|
|
17
|
+
width: 5,
|
|
18
|
+
borderRadius: '3px',
|
|
19
|
+
zIndex: 2,
|
|
20
|
+
margin: '3px 0',
|
|
21
|
+
height: 'calc(100% - 6px)'
|
|
22
|
+
};
|
|
23
|
+
function RecordHeader(_ref) {
|
|
24
|
+
let {
|
|
25
|
+
editor,
|
|
26
|
+
element,
|
|
27
|
+
columns,
|
|
28
|
+
columnWidthMap,
|
|
29
|
+
setColumnWidthMap,
|
|
30
|
+
isCanModifyColumnWidth
|
|
31
|
+
} = _ref;
|
|
32
|
+
const headerCellRef = (0, _react.useRef)({});
|
|
33
|
+
const getWidthFromMouseEvent = (e, currentCell) => {
|
|
34
|
+
const right = e.pageX || e.touches && e.touches[0] && e.touches[0].pageX || e.changedTouches && e.changedTouches[e.changedTouches.length - 1].pageX;
|
|
35
|
+
const left = currentCell.getBoundingClientRect().left;
|
|
36
|
+
return right - left;
|
|
37
|
+
};
|
|
38
|
+
const onDrag = (e, currentCell, currentColumnKey) => {
|
|
39
|
+
const width = getWidthFromMouseEvent(e, currentCell);
|
|
40
|
+
if (width >= 80) {
|
|
41
|
+
const newColumnWidthMap = {
|
|
42
|
+
...columnWidthMap,
|
|
43
|
+
[currentColumnKey]: width
|
|
44
|
+
};
|
|
45
|
+
setColumnWidthMap(newColumnWidthMap);
|
|
46
|
+
}
|
|
47
|
+
};
|
|
48
|
+
const onDragEnd = () => {
|
|
49
|
+
const path = _slateReact.ReactEditor.findPath(editor, element);
|
|
50
|
+
_slate.Transforms.setNodes(editor, {
|
|
51
|
+
column_width: columnWidthMap
|
|
52
|
+
}, {
|
|
53
|
+
at: [path[0]]
|
|
54
|
+
});
|
|
55
|
+
};
|
|
56
|
+
return /*#__PURE__*/_react.default.createElement("tr", {
|
|
57
|
+
className: "seatable-rows-record-header"
|
|
58
|
+
}, columns.map(column => {
|
|
59
|
+
const width = columnWidthMap[column.key];
|
|
60
|
+
return /*#__PURE__*/_react.default.createElement("th", {
|
|
61
|
+
ref: ref => {
|
|
62
|
+
headerCellRef.current[column.key] = ref;
|
|
63
|
+
},
|
|
64
|
+
className: "seatable-rows-record-header-cell",
|
|
65
|
+
key: column.key,
|
|
66
|
+
style: {
|
|
67
|
+
width,
|
|
68
|
+
minWidth: width
|
|
69
|
+
}
|
|
70
|
+
}, /*#__PURE__*/_react.default.createElement("span", null, column.name), isCanModifyColumnWidth && /*#__PURE__*/_react.default.createElement(_draggable.default, {
|
|
71
|
+
style: dragAbleStyle,
|
|
72
|
+
onDrag: e => {
|
|
73
|
+
onDrag(e, headerCellRef.current[column.key], column.key);
|
|
74
|
+
},
|
|
75
|
+
onDragEnd: onDragEnd
|
|
76
|
+
}));
|
|
77
|
+
}));
|
|
78
|
+
}
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
|
|
4
|
+
Object.defineProperty(exports, "__esModule", {
|
|
5
|
+
value: true
|
|
6
|
+
});
|
|
7
|
+
exports.default = RecordItem;
|
|
8
|
+
var _react = _interopRequireDefault(require("react"));
|
|
9
|
+
var _dtableUtils = require("dtable-utils");
|
|
10
|
+
var _formatter = _interopRequireDefault(require("../../seatable-tables/formatter"));
|
|
11
|
+
function RecordItem(_ref) {
|
|
12
|
+
let {
|
|
13
|
+
record,
|
|
14
|
+
formulaRow,
|
|
15
|
+
columns,
|
|
16
|
+
editor,
|
|
17
|
+
columnWidthMap
|
|
18
|
+
} = _ref;
|
|
19
|
+
return /*#__PURE__*/_react.default.createElement("tr", {
|
|
20
|
+
className: "seatable-rows-record-body"
|
|
21
|
+
}, columns.map(column => {
|
|
22
|
+
const width = columnWidthMap[column.key];
|
|
23
|
+
let cellValue = record[column.key];
|
|
24
|
+
if ([_dtableUtils.CellType.LINK, _dtableUtils.CellType.LINK_FORMULA, _dtableUtils.CellType.FORMULA].includes(column.type)) {
|
|
25
|
+
cellValue = formulaRow[column.key];
|
|
26
|
+
}
|
|
27
|
+
return /*#__PURE__*/_react.default.createElement("td", {
|
|
28
|
+
className: "seatable-rows-record-body-cell",
|
|
29
|
+
key: record._id + '_' + column.key,
|
|
30
|
+
style: {
|
|
31
|
+
width,
|
|
32
|
+
minWidth: width
|
|
33
|
+
}
|
|
34
|
+
}, /*#__PURE__*/_react.default.createElement(_formatter.default, {
|
|
35
|
+
isSample: true,
|
|
36
|
+
column: column,
|
|
37
|
+
cellValue: cellValue,
|
|
38
|
+
collaborators: editor.collaborators
|
|
39
|
+
}));
|
|
40
|
+
}));
|
|
41
|
+
}
|
|
@@ -55,7 +55,8 @@ class CellFormatter extends _react.default.Component {
|
|
|
55
55
|
column,
|
|
56
56
|
cellValue,
|
|
57
57
|
collaborators,
|
|
58
|
-
isSample
|
|
58
|
+
isSample,
|
|
59
|
+
isSeatableRow
|
|
59
60
|
} = this.props;
|
|
60
61
|
const {
|
|
61
62
|
type: columnType
|
|
@@ -274,7 +275,11 @@ class CellFormatter extends _react.default.Component {
|
|
|
274
275
|
});
|
|
275
276
|
}
|
|
276
277
|
default:
|
|
277
|
-
|
|
278
|
+
if (isSeatableRow) {
|
|
279
|
+
return this.renderEmptyFormatter();
|
|
280
|
+
} else {
|
|
281
|
+
return null;
|
|
282
|
+
}
|
|
278
283
|
}
|
|
279
284
|
});
|
|
280
285
|
}
|
|
@@ -205,6 +205,11 @@ const CustomRenderElement = props => {
|
|
|
205
205
|
const [renderColumn] = _plugins.SeaTableColumnPlugin.renderElements;
|
|
206
206
|
return renderColumn(props, editor);
|
|
207
207
|
}
|
|
208
|
+
case _elementType.SEATABLE_ROW:
|
|
209
|
+
{
|
|
210
|
+
const [renderRow] = _plugins.SeaTableRowPlugin.renderElements;
|
|
211
|
+
return renderRow(props, editor);
|
|
212
|
+
}
|
|
208
213
|
case _elementType.SEATABLE_TABLE:
|
|
209
214
|
{
|
|
210
215
|
const [renderSeaTableTable] = _plugins.SeaTableViewsPlugin.renderElements;
|
|
@@ -18,7 +18,8 @@ var _menu4 = _interopRequireDefault(require("../../../plugins/code-block/menu"))
|
|
|
18
18
|
var _menu5 = _interopRequireDefault(require("../../../plugins/sdoc-link/menu"));
|
|
19
19
|
var _menu6 = _interopRequireDefault(require("../../../plugins/file-link/menu"));
|
|
20
20
|
var _menu7 = _interopRequireDefault(require("../../../plugins/seatable-column/menu"));
|
|
21
|
-
var _menu8 = _interopRequireDefault(require("../../../plugins/seatable-
|
|
21
|
+
var _menu8 = _interopRequireDefault(require("../../../plugins/seatable-row/menu"));
|
|
22
|
+
var _menu9 = _interopRequireDefault(require("../../../plugins/seatable-tables/menu"));
|
|
22
23
|
var _eventBus = _interopRequireDefault(require("../../../../utils/event-bus"));
|
|
23
24
|
var _constants = require("../../../../constants");
|
|
24
25
|
require("./index.css");
|
|
@@ -101,6 +102,6 @@ const InsertToolbar = _ref => {
|
|
|
101
102
|
}
|
|
102
103
|
}, /*#__PURE__*/_react.default.createElement(_menu.default, props), /*#__PURE__*/_react.default.createElement(_tableMenu.default, props), (editor === null || editor === void 0 ? void 0 : editor.editorType) !== _constants.DOCUMENT_PLUGIN_EDITOR && /*#__PURE__*/_react.default.createElement(_menu2.default, props), /*#__PURE__*/_react.default.createElement(_menu3.default, props), /*#__PURE__*/_react.default.createElement(_menu4.default, props), /*#__PURE__*/_react.default.createElement("div", {
|
|
103
104
|
className: "sdoc-dropdown-menu-divider"
|
|
104
|
-
}), editor.columns && /*#__PURE__*/_react.default.createElement(_menu7.default, props), editor.tables && /*#__PURE__*/_react.default.createElement(
|
|
105
|
+
}), editor.tables && /*#__PURE__*/_react.default.createElement(_menu8.default, props), editor.columns && /*#__PURE__*/_react.default.createElement(_menu7.default, props), editor.tables && /*#__PURE__*/_react.default.createElement(_menu9.default, props), !editor.tables && /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement(_menu5.default, props), /*#__PURE__*/_react.default.createElement(_menu6.default, props)))));
|
|
105
106
|
};
|
|
106
107
|
var _default = exports.default = InsertToolbar;
|
|
@@ -162,7 +162,8 @@ const isVoidNode = node => {
|
|
|
162
162
|
const isCallout = node.type === _constants.CALL_OUT;
|
|
163
163
|
const isSeaTableTable = node.type === _constants.SEATABLE_TABLE;
|
|
164
164
|
const isSeaTableColumn = node.type === _constants.SEATABLE_COLUMN;
|
|
165
|
-
|
|
165
|
+
const isSeaTableRow = node.type === _constants.SEATABLE_ROW;
|
|
166
|
+
return _slate.Node.string(node) === '' && !hasImage && !isVideo && !isTable && !isCodeBlock && !isCallout && !isSeaTableTable && !isSeaTableColumn && !isSeaTableRow;
|
|
166
167
|
};
|
|
167
168
|
exports.isVoidNode = isVoidNode;
|
|
168
169
|
const isNotSupportTransform = node => {
|
package/dist/constants/index.js
CHANGED
|
@@ -37,6 +37,7 @@ const EXTERNAL_EVENT = exports.EXTERNAL_EVENT = {
|
|
|
37
37
|
CREATE_SDOC_FILE: 'create_sdoc_file',
|
|
38
38
|
CREATE_WIKI_PAGE: 'create_wiki_page',
|
|
39
39
|
ADD_VIDEO_LINK: 'add_video_link',
|
|
40
|
+
CHANGE_HEADER_WIDTH: 'change_header_width',
|
|
40
41
|
// wiki
|
|
41
42
|
INSERT_LINK: 'insert_link',
|
|
42
43
|
// document
|
package/dist/context.js
CHANGED
|
@@ -263,9 +263,9 @@ class Context {
|
|
|
263
263
|
const docUuid = this.getDocUuid();
|
|
264
264
|
return this.api.aiTranslate(docUuid, text, lang);
|
|
265
265
|
}
|
|
266
|
-
writingAssistant(text, type) {
|
|
266
|
+
writingAssistant(text, type, custom_prompt) {
|
|
267
267
|
const docUuid = this.getDocUuid();
|
|
268
|
-
return this.api.writingAssistant(docUuid, text, type);
|
|
268
|
+
return this.api.writingAssistant(docUuid, text, type, custom_prompt);
|
|
269
269
|
}
|
|
270
270
|
updateConfigUuid(docUuid) {
|
|
271
271
|
if (!this.config) return;
|
|
@@ -40,8 +40,9 @@ const DocumentPluginEditor = _ref => {
|
|
|
40
40
|
const forceUpdate = (0, _useForceUpdate.default)();
|
|
41
41
|
const validEditor = (0, _react.useMemo)(() => {
|
|
42
42
|
const withColumnPlugin = _plugins.SeaTableColumnPlugin.editorPlugin;
|
|
43
|
+
const withRowPlugin = _plugins.SeaTableRowPlugin.editorPlugin;
|
|
43
44
|
const withViewsPlugin = _plugins.SeaTableViewsPlugin.editorPlugin;
|
|
44
|
-
const defaultEditor = withViewsPlugin(withColumnPlugin((0, _extension.createDefaultEditor)()));
|
|
45
|
+
const defaultEditor = withViewsPlugin(withRowPlugin(withColumnPlugin((0, _extension.createDefaultEditor)())));
|
|
45
46
|
|
|
46
47
|
// getEditorConfig cache the config, so we need to update the uuid,for plugin editor
|
|
47
48
|
docUuid && _context.default.updateConfigUuid(docUuid);
|
package/package.json
CHANGED
|
@@ -613,5 +613,11 @@
|
|
|
613
613
|
"Support_Youtube_Tencent_Bilibili_and_more": "Support Youtube, Tencent, Bilibili and more",
|
|
614
614
|
"Image_cannot_be_copied_Please_download_the_source_image": "Image cannot be copied. Please download the source image,",
|
|
615
615
|
"And_select_insert_-_image_to_upload": "and select 「insert」 - 「image」 to upload.",
|
|
616
|
-
"Image_copy_error": "Image copy error"
|
|
616
|
+
"Image_copy_error": "Image copy error",
|
|
617
|
+
"Image_is_uploading": "Image is uploading...",
|
|
618
|
+
"Select_at_least_one_row_record": "Select at least one row record",
|
|
619
|
+
"Selected_row_records_cannot_exceed_10_rows": "Selected row records cannot exceed 10 rows",
|
|
620
|
+
"Select_seatable_rows": "Select seatable rows",
|
|
621
|
+
"Add_rows_record": "Add rows record",
|
|
622
|
+
"Double_click_then_adjust_field_width": "Double click, then adjust field width"
|
|
617
623
|
}
|