@seafile/sdoc-editor 2.0.10 → 2.0.12-alpha.0
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/comment/components/comment-editor.js +2 -4
- package/dist/basic-sdk/comment/components/comment-item-wrapper.js +1 -4
- package/dist/basic-sdk/editor/editable-article.js +1 -4
- package/dist/basic-sdk/extension/commons/color-menu/index.js +2 -6
- package/dist/basic-sdk/extension/commons/menu/menu-item.js +2 -6
- package/dist/basic-sdk/extension/commons/more-dropdown/index.js +2 -6
- package/dist/basic-sdk/extension/constants/element-type.js +2 -1
- package/dist/basic-sdk/extension/constants/index.js +6 -0
- package/dist/basic-sdk/extension/constants/menus-config.js +5 -0
- package/dist/basic-sdk/extension/plugins/ai/ai-menu/menu-item.js +2 -6
- package/dist/basic-sdk/extension/plugins/chart/chart-edit-dialog/index.css +21 -0
- package/dist/basic-sdk/extension/plugins/chart/chart-edit-dialog/index.js +66 -0
- package/dist/basic-sdk/extension/plugins/chart/helpers.js +106 -0
- package/dist/basic-sdk/extension/plugins/chart/hover-menu/index.css +55 -0
- package/dist/basic-sdk/extension/plugins/chart/hover-menu/index.js +58 -0
- package/dist/basic-sdk/extension/plugins/chart/index.js +19 -0
- package/dist/basic-sdk/extension/plugins/chart/menu/index.js +31 -0
- package/dist/basic-sdk/extension/plugins/chart/plugin.js +26 -0
- package/dist/basic-sdk/extension/plugins/chart/render-elem.css +61 -0
- package/dist/basic-sdk/extension/plugins/chart/render-elem.js +155 -0
- package/dist/basic-sdk/extension/plugins/font/menu/font-family/index.js +2 -6
- package/dist/basic-sdk/extension/plugins/font/menu/font-size/font-size-scale.js +2 -6
- package/dist/basic-sdk/extension/plugins/font/menu/font-size/index.js +2 -6
- package/dist/basic-sdk/extension/plugins/index.js +8 -1
- package/dist/basic-sdk/extension/plugins/seatable-tables/formatter/index.js +2 -2
- package/dist/basic-sdk/extension/plugins/seatable-tables/op-menu/index.css +1 -1
- package/dist/basic-sdk/extension/plugins/seatable-tables/op-menu/index.js +1 -3
- package/dist/basic-sdk/extension/plugins/seatable-tables/seatable-settings/dtable-search-input/index.js +2 -2
- package/dist/basic-sdk/extension/plugins/seatable-tables/seatable-settings/filter-setter/filter-popover-widgets/department-filter/selected-departments.js +6 -9
- package/dist/basic-sdk/extension/plugins/seatable-tables/seatable-settings/filter-setter/filter-popover.js +1 -1
- package/dist/basic-sdk/extension/plugins/table/dialogs/custom-table-size-dialog/number-input.js +8 -14
- package/dist/basic-sdk/extension/plugins/text-align/menu/index.js +2 -6
- package/dist/basic-sdk/extension/plugins/text-style/render-elem.js +5 -1
- package/dist/basic-sdk/extension/render/custom-element.js +5 -0
- package/dist/basic-sdk/extension/toolbar/comment-editor-toolbar/index.js +1 -4
- package/dist/basic-sdk/extension/toolbar/header-toolbar/insert-toolbar/index.js +4 -7
- package/dist/basic-sdk/extension/toolbar/insert-element-toolbar/index.js +2 -5
- package/dist/basic-sdk/extension/toolbar/side-toolbar/insert-block-menu.js +1 -4
- package/dist/basic-sdk/layout/editor-content.js +3 -8
- package/dist/basic-sdk/views/sdoc-wiki-viewer.js +1 -5
- package/dist/pages/document-plugin-editor.js +2 -0
- package/package.json +2 -1
- package/public/locales/cs/sdoc-editor.json +5 -1
- package/public/locales/de/sdoc-editor.json +64 -60
- package/public/locales/en/sdoc-editor.json +5 -1
- package/public/locales/es/sdoc-editor.json +5 -1
- package/public/locales/es_AR/sdoc-editor.json +5 -1
- package/public/locales/es_MX/sdoc-editor.json +5 -1
- package/public/locales/fr/sdoc-editor.json +238 -234
- package/public/locales/it/sdoc-editor.json +5 -1
- package/public/locales/ru/sdoc-editor.json +6 -2
- package/public/locales/zh_CN/sdoc-editor.json +4 -1
|
@@ -0,0 +1,155 @@
|
|
|
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 _slateReact = require("@seafile/slate-react");
|
|
11
|
+
var _slate = require("@seafile/slate");
|
|
12
|
+
var _classnames = _interopRequireDefault(require("classnames"));
|
|
13
|
+
var _seaChart = require("sea-chart");
|
|
14
|
+
var _reactI18next = require("react-i18next");
|
|
15
|
+
var _hoverMenu = _interopRequireDefault(require("./hover-menu/"));
|
|
16
|
+
var _chartEditDialog = _interopRequireDefault(require("./chart-edit-dialog"));
|
|
17
|
+
var _context = _interopRequireDefault(require("../../../../context"));
|
|
18
|
+
var _useScrollContext = require("../../../hooks/use-scroll-context");
|
|
19
|
+
var _helpers = require("./helpers");
|
|
20
|
+
require("./render-elem.css");
|
|
21
|
+
const Chart = _ref => {
|
|
22
|
+
var _window, _window$app, _window2, _window2$app, _window2$app$state;
|
|
23
|
+
let {
|
|
24
|
+
element,
|
|
25
|
+
editor,
|
|
26
|
+
attributes,
|
|
27
|
+
children,
|
|
28
|
+
isSelected,
|
|
29
|
+
t
|
|
30
|
+
} = _ref;
|
|
31
|
+
const {
|
|
32
|
+
statItem
|
|
33
|
+
} = element;
|
|
34
|
+
const api = {
|
|
35
|
+
queryUsers: (_window = window) !== null && _window !== void 0 && (_window$app = _window.app) !== null && _window$app !== void 0 && _window$app.queryUsers ? window.app.queryUsers : () => {},
|
|
36
|
+
getTableFormulaResults: editor.getTableFormulaResults,
|
|
37
|
+
getViewRows: editor.getViewRows
|
|
38
|
+
};
|
|
39
|
+
const scrollRef = (0, _useScrollContext.useScrollContext)();
|
|
40
|
+
const readOnly = (0, _slateReact.useReadOnly)();
|
|
41
|
+
const chartRef = (0, _react.useRef)(null);
|
|
42
|
+
const [menuPosition, setMenuPosition] = (0, _react.useState)({});
|
|
43
|
+
const [isShowHoverMenu, setIsShowHoverMenu] = (0, _react.useState)(false);
|
|
44
|
+
const [isShowDialog, setIsShowDialog] = (0, _react.useState)(false);
|
|
45
|
+
const [isFullScreen, setIsFullScreen] = (0, _react.useState)(false);
|
|
46
|
+
const setPosition = (0, _react.useCallback)(() => {
|
|
47
|
+
if (chartRef.current) {
|
|
48
|
+
const {
|
|
49
|
+
top,
|
|
50
|
+
left
|
|
51
|
+
} = chartRef.current.getBoundingClientRect();
|
|
52
|
+
setMenuPosition({
|
|
53
|
+
top: top - 42,
|
|
54
|
+
left: left - 3
|
|
55
|
+
});
|
|
56
|
+
}
|
|
57
|
+
}, []);
|
|
58
|
+
const onScroll = (0, _react.useCallback)(e => {
|
|
59
|
+
setPosition();
|
|
60
|
+
// Unrendered chart scrolls into viewport for the first time
|
|
61
|
+
// if (isInViewPort(chartRef.current) && !chartRef.current.chartMetaData && isSelectedTable(statItem, editor?.dtableBases) && !chartRef.current.isStopScroll) {
|
|
62
|
+
// chartRef.current.isStopScroll = true;
|
|
63
|
+
// }
|
|
64
|
+
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
65
|
+
}, []);
|
|
66
|
+
const onClickChart = (0, _react.useCallback)(() => {
|
|
67
|
+
const path = _slateReact.ReactEditor.findPath(editor, element);
|
|
68
|
+
_slate.Transforms.select(editor, [path[0]]);
|
|
69
|
+
setPosition();
|
|
70
|
+
setIsShowHoverMenu(true);
|
|
71
|
+
}, [editor, element, setPosition]);
|
|
72
|
+
const onCloseEditDialog = (0, _react.useCallback)(newStatItemData => {
|
|
73
|
+
const path = _slateReact.ReactEditor.findPath(editor, element);
|
|
74
|
+
_slate.Transforms.setNodes(editor, {
|
|
75
|
+
statItem: newStatItemData
|
|
76
|
+
}, {
|
|
77
|
+
at: [path[0]]
|
|
78
|
+
});
|
|
79
|
+
setIsShowDialog(false);
|
|
80
|
+
}, [editor, element]);
|
|
81
|
+
|
|
82
|
+
// Mount
|
|
83
|
+
(0, _react.useEffect)(() => {
|
|
84
|
+
// Init draw
|
|
85
|
+
if ((0, _helpers.isInViewPort)(chartRef.current)) {
|
|
86
|
+
// getDtables(statItem.base_id, true);
|
|
87
|
+
}
|
|
88
|
+
let observerRefValue = null;
|
|
89
|
+
if (scrollRef.current) {
|
|
90
|
+
scrollRef.current.addEventListener('scroll', onScroll);
|
|
91
|
+
observerRefValue = scrollRef.current;
|
|
92
|
+
}
|
|
93
|
+
return () => {
|
|
94
|
+
observerRefValue.removeEventListener('scroll', onScroll);
|
|
95
|
+
};
|
|
96
|
+
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
97
|
+
}, []);
|
|
98
|
+
return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement("div", Object.assign({
|
|
99
|
+
id: element.id,
|
|
100
|
+
className: "sdoc-chart-container"
|
|
101
|
+
}, attributes, {
|
|
102
|
+
onClick: onClickChart
|
|
103
|
+
}), /*#__PURE__*/_react.default.createElement("div", {
|
|
104
|
+
className: (0, _classnames.default)('sdoc-chart-view', {
|
|
105
|
+
'active': isSelected
|
|
106
|
+
}),
|
|
107
|
+
ref: chartRef
|
|
108
|
+
}, children, /*#__PURE__*/_react.default.createElement("div", {
|
|
109
|
+
className: "sdoc-chart-view-content",
|
|
110
|
+
contentEditable: false
|
|
111
|
+
}, /*#__PURE__*/_react.default.createElement(_seaChart.View, {
|
|
112
|
+
chart: statItem,
|
|
113
|
+
api: api,
|
|
114
|
+
config: _context.default.getSettings(),
|
|
115
|
+
tables: editor.tables,
|
|
116
|
+
collaborators: editor.collaborators || [],
|
|
117
|
+
departments: ((_window2 = window) === null || _window2 === void 0 ? void 0 : (_window2$app = _window2.app) === null || _window2$app === void 0 ? void 0 : (_window2$app$state = _window2$app.state) === null || _window2$app$state === void 0 ? void 0 : _window2$app$state.departments) || [],
|
|
118
|
+
isCalculateByView: true,
|
|
119
|
+
isRenderByD3: true
|
|
120
|
+
})), /*#__PURE__*/_react.default.createElement("span", {
|
|
121
|
+
className: "sdoc-chart-view-rect sdoc-chart-view-rect-lt"
|
|
122
|
+
}), /*#__PURE__*/_react.default.createElement("span", {
|
|
123
|
+
className: "sdoc-chart-view-rect sdoc-chart-view-rect-lb"
|
|
124
|
+
}), /*#__PURE__*/_react.default.createElement("span", {
|
|
125
|
+
className: "sdoc-chart-view-rect sdoc-chart-view-rect-rt"
|
|
126
|
+
}), /*#__PURE__*/_react.default.createElement("span", {
|
|
127
|
+
className: "sdoc-chart-view-rect sdoc-chart-view-rect-rb"
|
|
128
|
+
}))), isSelected && isShowHoverMenu && !readOnly && /*#__PURE__*/_react.default.createElement(_hoverMenu.default, {
|
|
129
|
+
menuPosition: menuPosition,
|
|
130
|
+
onEditChart: () => {
|
|
131
|
+
setIsFullScreen(false);
|
|
132
|
+
setIsShowDialog(true);
|
|
133
|
+
},
|
|
134
|
+
onFullscreen: () => {
|
|
135
|
+
setIsFullScreen(true);
|
|
136
|
+
setIsShowDialog(true);
|
|
137
|
+
}
|
|
138
|
+
}), isShowDialog && /*#__PURE__*/_react.default.createElement(_chartEditDialog.default, {
|
|
139
|
+
editor: editor,
|
|
140
|
+
element: element,
|
|
141
|
+
api: api,
|
|
142
|
+
isFullScreen: isFullScreen,
|
|
143
|
+
onCloseEditDialog: onCloseEditDialog
|
|
144
|
+
}));
|
|
145
|
+
};
|
|
146
|
+
const SdocChart = (0, _reactI18next.withTranslation)('sdoc-editor')(Chart);
|
|
147
|
+
function renderChart(props, editor) {
|
|
148
|
+
// eslint-disable-next-line react-hooks/rules-of-hooks
|
|
149
|
+
const isSelected = (0, _slateReact.useSelected)();
|
|
150
|
+
return /*#__PURE__*/_react.default.createElement(SdocChart, Object.assign({}, props, {
|
|
151
|
+
editor: editor,
|
|
152
|
+
isSelected: isSelected
|
|
153
|
+
}));
|
|
154
|
+
}
|
|
155
|
+
var _default = exports.default = renderChart;
|
|
@@ -20,9 +20,9 @@ var _objectUtils = _interopRequireDefault(require("../../../../../utils/object-u
|
|
|
20
20
|
require("./index.css");
|
|
21
21
|
const FontFamily = _ref => {
|
|
22
22
|
let {
|
|
23
|
+
isRichEditor = true,
|
|
24
|
+
className = 'menu-group-item',
|
|
23
25
|
editor,
|
|
24
|
-
isRichEditor,
|
|
25
|
-
className,
|
|
26
26
|
readonly
|
|
27
27
|
} = _ref;
|
|
28
28
|
const [recentUsedFonts, setRecentUsedFonts] = (0, _react.useState)(_localStorageUtils.default.getItem(_constants.RECENT_USED_FONTS_KEY, []));
|
|
@@ -142,8 +142,4 @@ const FontFamily = _ref => {
|
|
|
142
142
|
});
|
|
143
143
|
}))));
|
|
144
144
|
};
|
|
145
|
-
FontFamily.defaultProps = {
|
|
146
|
-
isRichEditor: true,
|
|
147
|
-
className: 'menu-group-item'
|
|
148
|
-
};
|
|
149
145
|
var _default = exports.default = FontFamily;
|
|
@@ -10,11 +10,11 @@ var _classnames = _interopRequireDefault(require("classnames"));
|
|
|
10
10
|
var _tooltip = _interopRequireDefault(require("../../../../../../components/tooltip"));
|
|
11
11
|
const FontSizeScale = _ref => {
|
|
12
12
|
let {
|
|
13
|
+
isRichEditor = true,
|
|
14
|
+
className = 'menu-group-item',
|
|
13
15
|
children,
|
|
14
16
|
id,
|
|
15
|
-
className,
|
|
16
17
|
disabled,
|
|
17
|
-
isRichEditor,
|
|
18
18
|
onClick,
|
|
19
19
|
tipMessage
|
|
20
20
|
} = _ref;
|
|
@@ -35,8 +35,4 @@ const FontSizeScale = _ref => {
|
|
|
35
35
|
target: id
|
|
36
36
|
}, tipMessage));
|
|
37
37
|
};
|
|
38
|
-
FontSizeScale.defaultProps = {
|
|
39
|
-
isRichEditor: true,
|
|
40
|
-
className: 'menu-group-item'
|
|
41
|
-
};
|
|
42
38
|
var _default = exports.default = FontSizeScale;
|
|
@@ -16,8 +16,8 @@ var _tooltip = _interopRequireDefault(require("../../../../../../components/tool
|
|
|
16
16
|
require("./index.css");
|
|
17
17
|
const FontSize = _ref => {
|
|
18
18
|
let {
|
|
19
|
-
isRichEditor,
|
|
20
|
-
className,
|
|
19
|
+
isRichEditor = true,
|
|
20
|
+
className = 'menu-group-item',
|
|
21
21
|
editor,
|
|
22
22
|
readonly
|
|
23
23
|
} = _ref;
|
|
@@ -100,8 +100,4 @@ const FontSize = _ref => {
|
|
|
100
100
|
}), item.name);
|
|
101
101
|
}))));
|
|
102
102
|
};
|
|
103
|
-
FontSize.defaultProps = {
|
|
104
|
-
isRichEditor: true,
|
|
105
|
-
className: 'menu-group-item'
|
|
106
|
-
};
|
|
107
103
|
var _default = exports.default = FontSize;
|
|
@@ -16,6 +16,12 @@ Object.defineProperty(exports, "CalloutPlugin", {
|
|
|
16
16
|
return _callout.default;
|
|
17
17
|
}
|
|
18
18
|
});
|
|
19
|
+
Object.defineProperty(exports, "ChartPlugin", {
|
|
20
|
+
enumerable: true,
|
|
21
|
+
get: function () {
|
|
22
|
+
return _chart.default;
|
|
23
|
+
}
|
|
24
|
+
});
|
|
19
25
|
Object.defineProperty(exports, "CheckListPlugin", {
|
|
20
26
|
enumerable: true,
|
|
21
27
|
get: function () {
|
|
@@ -188,7 +194,8 @@ var _wikiLink = _interopRequireDefault(require("./wiki-link"));
|
|
|
188
194
|
var _seatableColumn = _interopRequireDefault(require("./seatable-column"));
|
|
189
195
|
var _seatableTables = _interopRequireDefault(require("./seatable-tables"));
|
|
190
196
|
var _group = _interopRequireDefault(require("./group"));
|
|
191
|
-
|
|
197
|
+
var _chart = _interopRequireDefault(require("./chart"));
|
|
198
|
+
const Plugins = [_markdown.default, _html.default, _header.default, _link.default, _blockquote.default, _list.default, _checkList.default, _codeBlock.default, _image.default, _video.default, _table.default, _multiColumn.default, _textStyle.default, _textAlign.default, _font.default, _sdocLink.default, _paragraph.default, _fileLink.default, _callout.default, _searchReplace.default, _quickInsert.default, _group.default, _chart.default];
|
|
192
199
|
const WikiPlugins = exports.WikiPlugins = [...Plugins, _wikiLink.default];
|
|
193
200
|
const CommentPlugins = exports.CommentPlugins = [_markdown.default, _html.default, _paragraph.default, _textStyle.default, _list.default, _image.default, _link.default, _mention.default, _blockquote.default];
|
|
194
201
|
var _default = exports.default = Plugins;
|
|
@@ -282,7 +282,7 @@ class CellFormatter extends _react.default.Component {
|
|
|
282
282
|
return /*#__PURE__*/_react.default.createElement(_react.Fragment, null, this.renderFormatter());
|
|
283
283
|
}
|
|
284
284
|
}
|
|
285
|
-
CellFormatter
|
|
285
|
+
(0, _defineProperty2.default)(CellFormatter, "defaultProps", {
|
|
286
286
|
isSample: true
|
|
287
|
-
};
|
|
287
|
+
});
|
|
288
288
|
var _default = exports.default = (0, _reactI18next.withTranslation)('sdoc-editor')(CellFormatter);
|
|
@@ -130,9 +130,7 @@ function OpMenu(_ref3) {
|
|
|
130
130
|
(0, _helpers.updateSeaTableTable)(editor, filterData);
|
|
131
131
|
seaTableRef.current['filterData'] = {};
|
|
132
132
|
}
|
|
133
|
-
|
|
134
|
-
setIsShowFilter(false);
|
|
135
|
-
}, 1000);
|
|
133
|
+
setIsShowFilter(false);
|
|
136
134
|
}
|
|
137
135
|
if (item === 'tableSort') {
|
|
138
136
|
if (sortsData && Object.keys(sortsData).length > 0) {
|
|
@@ -131,9 +131,9 @@ class DtableSearchInput extends _react.Component {
|
|
|
131
131
|
}), this.renderClear());
|
|
132
132
|
}
|
|
133
133
|
}
|
|
134
|
-
DtableSearchInput
|
|
134
|
+
(0, _defineProperty2.default)(DtableSearchInput, "defaultProps", {
|
|
135
135
|
wait: 100,
|
|
136
136
|
disabled: false,
|
|
137
137
|
value: ''
|
|
138
|
-
};
|
|
138
|
+
});
|
|
139
139
|
var _default = exports.default = DtableSearchInput;
|
|
@@ -9,15 +9,15 @@ var _react = _interopRequireWildcard(require("react"));
|
|
|
9
9
|
var _reactI18next = require("react-i18next");
|
|
10
10
|
var _dtableUtils = require("dtable-utils");
|
|
11
11
|
var _departmentUtils = require("./_department-utils");
|
|
12
|
-
function SelectedDepartments(
|
|
12
|
+
function SelectedDepartments(_ref) {
|
|
13
|
+
let {
|
|
14
|
+
value,
|
|
15
|
+
removeDepartment,
|
|
16
|
+
isShowRemoveIcon = false
|
|
17
|
+
} = _ref;
|
|
13
18
|
const {
|
|
14
19
|
departments = []
|
|
15
20
|
} = window.seafile || window.seafileConfig;
|
|
16
|
-
const {
|
|
17
|
-
value,
|
|
18
|
-
removeDepartment,
|
|
19
|
-
isShowRemoveIcon
|
|
20
|
-
} = props;
|
|
21
21
|
const {
|
|
22
22
|
t
|
|
23
23
|
} = (0, _reactI18next.useTranslation)('sdoc-editor');
|
|
@@ -85,7 +85,4 @@ function SelectedDepartments(props) {
|
|
|
85
85
|
}) : null;
|
|
86
86
|
return dom;
|
|
87
87
|
}
|
|
88
|
-
SelectedDepartments.defaultProps = {
|
|
89
|
-
isShowRemoveIcon: false
|
|
90
|
-
};
|
|
91
88
|
var _default = exports.default = SelectedDepartments;
|
|
@@ -158,7 +158,7 @@ class FilterPopover extends _react.Component {
|
|
|
158
158
|
boundariesElement: document.body
|
|
159
159
|
}, _ref => {
|
|
160
160
|
let {
|
|
161
|
-
scheduleUpdate
|
|
161
|
+
update: scheduleUpdate
|
|
162
162
|
} = _ref;
|
|
163
163
|
return /*#__PURE__*/_react.default.createElement("div", {
|
|
164
164
|
ref: ref => this.dtablePopoverRef = ref,
|
package/dist/basic-sdk/extension/plugins/table/dialogs/custom-table-size-dialog/number-input.js
CHANGED
|
@@ -7,16 +7,16 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
7
7
|
exports.default = void 0;
|
|
8
8
|
var _react = _interopRequireDefault(require("react"));
|
|
9
9
|
var _reactstrap = require("reactstrap");
|
|
10
|
-
function NumberInput(
|
|
11
|
-
|
|
10
|
+
function NumberInput(_ref) {
|
|
11
|
+
let {
|
|
12
12
|
value,
|
|
13
13
|
onChange,
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
} =
|
|
14
|
+
className,
|
|
15
|
+
min = 0,
|
|
16
|
+
step = 1,
|
|
17
|
+
max = Infinity,
|
|
18
|
+
readOnly = false
|
|
19
|
+
} = _ref;
|
|
20
20
|
return /*#__PURE__*/_react.default.createElement(_reactstrap.Input, {
|
|
21
21
|
type: "number",
|
|
22
22
|
className: className,
|
|
@@ -28,10 +28,4 @@ function NumberInput(props) {
|
|
|
28
28
|
onChange: onChange
|
|
29
29
|
});
|
|
30
30
|
}
|
|
31
|
-
NumberInput.defaultProps = {
|
|
32
|
-
min: 0,
|
|
33
|
-
step: 1,
|
|
34
|
-
max: Infinity,
|
|
35
|
-
readOnly: false
|
|
36
|
-
};
|
|
37
31
|
var _default = exports.default = NumberInput;
|
|
@@ -16,8 +16,8 @@ var _tooltip = _interopRequireDefault(require("../../../../../components/tooltip
|
|
|
16
16
|
require("./index.css");
|
|
17
17
|
const TextAlignMenu = _ref => {
|
|
18
18
|
let {
|
|
19
|
-
isRichEditor,
|
|
20
|
-
className,
|
|
19
|
+
isRichEditor = true,
|
|
20
|
+
className = 'menu-group-item',
|
|
21
21
|
editor,
|
|
22
22
|
readonly
|
|
23
23
|
} = _ref;
|
|
@@ -95,8 +95,4 @@ const TextAlignMenu = _ref => {
|
|
|
95
95
|
}));
|
|
96
96
|
}))));
|
|
97
97
|
};
|
|
98
|
-
TextAlignMenu.defaultProps = {
|
|
99
|
-
isRichEditor: true,
|
|
100
|
-
className: 'menu-group-item'
|
|
101
|
-
};
|
|
102
98
|
var _default = exports.default = (0, _reactI18next.withTranslation)('sdoc-editor')(TextAlignMenu);
|
|
@@ -99,6 +99,10 @@ const renderText = (props, editor) => {
|
|
|
99
99
|
}, attributes, {
|
|
100
100
|
style: style,
|
|
101
101
|
className: Object.keys(rest).join(' ')
|
|
102
|
-
}), leaf.isCaret ? /*#__PURE__*/_react.default.createElement(_caret.default, leaf) : null, leaf.isCaret && /*#__PURE__*/_react.default.createElement(
|
|
102
|
+
}), leaf.isCaret ? /*#__PURE__*/_react.default.createElement(_caret.default, leaf) : null, leaf.isCaret && /*#__PURE__*/_react.default.createElement("span", {
|
|
103
|
+
key: Math.random(),
|
|
104
|
+
"data-slate-zero-width": "z",
|
|
105
|
+
"data-slate-length": "0"
|
|
106
|
+
}, '\uFEFF'), !leaf.isCaret && markedChildren);
|
|
103
107
|
};
|
|
104
108
|
var _default = exports.default = renderText;
|
|
@@ -215,6 +215,11 @@ const CustomRenderElement = props => {
|
|
|
215
215
|
const [renderGroup] = _plugins.GroupPlugin.renderElements;
|
|
216
216
|
return renderGroup(props);
|
|
217
217
|
}
|
|
218
|
+
case _constants.CHART:
|
|
219
|
+
{
|
|
220
|
+
const [renderChart] = _plugins.ChartPlugin.renderElements;
|
|
221
|
+
return renderChart(props, editor);
|
|
222
|
+
}
|
|
218
223
|
default:
|
|
219
224
|
{
|
|
220
225
|
const [renderParagraph] = _plugins.ParagraphPlugin.renderElements;
|
|
@@ -19,7 +19,7 @@ var _menu4 = _interopRequireDefault(require("../../plugins/blockquote/menu"));
|
|
|
19
19
|
const CommentEditorToolbar = _ref => {
|
|
20
20
|
let {
|
|
21
21
|
editor,
|
|
22
|
-
readonly,
|
|
22
|
+
readonly = false,
|
|
23
23
|
onSubmit,
|
|
24
24
|
submitBtnText,
|
|
25
25
|
onCancel
|
|
@@ -61,7 +61,4 @@ const CommentEditorToolbar = _ref => {
|
|
|
61
61
|
onCancel: onCancel
|
|
62
62
|
})));
|
|
63
63
|
};
|
|
64
|
-
CommentEditorToolbar.defaultProps = {
|
|
65
|
-
readonly: false
|
|
66
|
-
};
|
|
67
64
|
var _default = exports.default = CommentEditorToolbar;
|
|
@@ -19,13 +19,14 @@ 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
21
|
var _menu8 = _interopRequireDefault(require("../../../plugins/seatable-tables/menu"));
|
|
22
|
+
var _menu9 = _interopRequireDefault(require("../../../plugins/chart/menu"));
|
|
22
23
|
var _eventBus = _interopRequireDefault(require("../../../../utils/event-bus"));
|
|
23
24
|
var _constants = require("../../../../constants");
|
|
24
25
|
require("./index.css");
|
|
25
26
|
const InsertToolbar = _ref => {
|
|
26
27
|
let {
|
|
27
|
-
isRichEditor,
|
|
28
|
-
className,
|
|
28
|
+
isRichEditor = true,
|
|
29
|
+
className = 'menu-group-item',
|
|
29
30
|
editor,
|
|
30
31
|
readonly
|
|
31
32
|
} = _ref;
|
|
@@ -99,12 +100,8 @@ const InsertToolbar = _ref => {
|
|
|
99
100
|
style: {
|
|
100
101
|
maxHeight: window.innerHeight - bottom - 100
|
|
101
102
|
}
|
|
102
|
-
}, /*#__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
|
+
}, /*#__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(_menu9.default, props), /*#__PURE__*/_react.default.createElement(_menu4.default, props), /*#__PURE__*/_react.default.createElement("div", {
|
|
103
104
|
className: "sdoc-dropdown-menu-divider"
|
|
104
105
|
}), editor.columns && /*#__PURE__*/_react.default.createElement(_menu7.default, props), editor.tables && /*#__PURE__*/_react.default.createElement(_menu8.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
|
-
InsertToolbar.defaultProps = {
|
|
107
|
-
isRichEditor: true,
|
|
108
|
-
className: 'menu-group-item'
|
|
109
|
-
};
|
|
110
107
|
var _default = exports.default = InsertToolbar;
|
|
@@ -30,7 +30,7 @@ var _utils = require("../../utils");
|
|
|
30
30
|
require("./style.css");
|
|
31
31
|
const QuickInsertBlockMenu = _ref => {
|
|
32
32
|
let {
|
|
33
|
-
insertPosition,
|
|
33
|
+
insertPosition = _constants.INSERT_POSITION.CURRENT,
|
|
34
34
|
slateNode,
|
|
35
35
|
callback,
|
|
36
36
|
isEmptyNode,
|
|
@@ -277,7 +277,7 @@ const QuickInsertBlockMenu = _ref => {
|
|
|
277
277
|
delete items[_constants.VIDEO];
|
|
278
278
|
}
|
|
279
279
|
return items;
|
|
280
|
-
}, [quickInsertMenuSearchMap, isDisableImage, onInsertImageToggle, isDisableVideo, onInsertVideoToggle, editor, createTable, callback, handleClosePopover, openLinkDialog, onInsertCodeBlock, isDisableCallout, onInsertCheckList, isEmptyNode, onInsertCallout, onInsertList, onInsert, createMultiColumn]);
|
|
280
|
+
}, [quickInsertMenuSearchMap, isDisableImage, onInsertImageToggle, isDisableVideo, onInsertVideoToggle, isDisableTable, editor, createTable, callback, handleClosePopover, openLinkDialog, onInsertCodeBlock, isDisableCallout, onInsertCheckList, isEmptyNode, onInsertCallout, onInsertList, onInsert, createMultiColumn]);
|
|
281
281
|
const getSelectItemDom = selectIndex => {
|
|
282
282
|
const dropDownItemWrapper = downDownWrapperRef.current;
|
|
283
283
|
const searchedDropDownItemWrapper = [];
|
|
@@ -405,7 +405,4 @@ const QuickInsertBlockMenu = _ref => {
|
|
|
405
405
|
className: "sdoc-dropdown-menu-item-no-results"
|
|
406
406
|
}, t('No_results'))));
|
|
407
407
|
};
|
|
408
|
-
QuickInsertBlockMenu.defaultProps = {
|
|
409
|
-
insertPosition: _constants.INSERT_POSITION.CURRENT
|
|
410
|
-
};
|
|
411
408
|
var _default = exports.default = (0, _reactI18next.withTranslation)('sdoc-editor')(QuickInsertBlockMenu);
|
|
@@ -26,7 +26,7 @@ var _helper = require("../../plugins/callout/helper");
|
|
|
26
26
|
var _helper2 = require("../../plugins/multi-column/helper");
|
|
27
27
|
const InsertBlockMenu = _ref => {
|
|
28
28
|
let {
|
|
29
|
-
insertPosition,
|
|
29
|
+
insertPosition = _constants.INSERT_POSITION.CURRENT,
|
|
30
30
|
slateNode,
|
|
31
31
|
isNodeEmpty,
|
|
32
32
|
insertMenuSearchMap = _constants.SIDE_INSERT_MENUS_SEARCH_MAP
|
|
@@ -204,7 +204,4 @@ const InsertBlockMenu = _ref => {
|
|
|
204
204
|
className: "sdoc-dropdown-menu-item-no-results"
|
|
205
205
|
}, t('No_results')));
|
|
206
206
|
};
|
|
207
|
-
InsertBlockMenu.defaultProps = {
|
|
208
|
-
insertPosition: _constants.INSERT_POSITION.CURRENT
|
|
209
|
-
};
|
|
210
207
|
var _default = exports.default = InsertBlockMenu;
|
|
@@ -17,12 +17,12 @@ var _fullWidthMode = require("../utils/full-width-mode");
|
|
|
17
17
|
var _constants = require("../../basic-sdk/constants");
|
|
18
18
|
const EditorContent = _ref => {
|
|
19
19
|
let {
|
|
20
|
-
readonly,
|
|
21
|
-
showOutline,
|
|
20
|
+
readonly = false,
|
|
22
21
|
children,
|
|
23
22
|
docValue,
|
|
24
23
|
editor,
|
|
25
|
-
|
|
24
|
+
showOutline = true,
|
|
25
|
+
showComment = false
|
|
26
26
|
} = _ref;
|
|
27
27
|
const scrollRef = (0, _react.useRef)(null);
|
|
28
28
|
const [scrollLeft, setScrollLeft] = (0, _react.useState)(0);
|
|
@@ -76,9 +76,4 @@ const EditorContent = _ref => {
|
|
|
76
76
|
editor: editor
|
|
77
77
|
})));
|
|
78
78
|
};
|
|
79
|
-
EditorContent.defaultProps = {
|
|
80
|
-
readonly: false,
|
|
81
|
-
showOutline: true,
|
|
82
|
-
showComment: false
|
|
83
|
-
};
|
|
84
79
|
var _default = exports.default = EditorContent;
|
|
@@ -21,7 +21,7 @@ const SDocMdViewer = _ref => {
|
|
|
21
21
|
let {
|
|
22
22
|
editor,
|
|
23
23
|
document,
|
|
24
|
-
showOutline,
|
|
24
|
+
showOutline = false,
|
|
25
25
|
scrollRef: propsScrollRef
|
|
26
26
|
} = _ref;
|
|
27
27
|
const validEditor = editor || (0, _nodeId.default)((0, _extension.createDefaultEditor)());
|
|
@@ -48,8 +48,4 @@ const SDocMdViewer = _ref => {
|
|
|
48
48
|
editor: validEditor
|
|
49
49
|
}))))));
|
|
50
50
|
};
|
|
51
|
-
SDocMdViewer.defaultProps = {
|
|
52
|
-
showToolbar: false,
|
|
53
|
-
showOutline: false
|
|
54
|
-
};
|
|
55
51
|
var _default = exports.default = SDocMdViewer;
|
|
@@ -34,6 +34,7 @@ const DocumentPluginEditor = _ref => {
|
|
|
34
34
|
collaborators,
|
|
35
35
|
formulaRows,
|
|
36
36
|
getTableFormulaResults,
|
|
37
|
+
getViewRows,
|
|
37
38
|
getArticleStyle
|
|
38
39
|
} = _ref;
|
|
39
40
|
_context.default.initApi();
|
|
@@ -66,6 +67,7 @@ const DocumentPluginEditor = _ref => {
|
|
|
66
67
|
newEditor.collaborators = collaborators;
|
|
67
68
|
newEditor.formulaRows = formulaRows;
|
|
68
69
|
newEditor.getTableFormulaResults = getTableFormulaResults;
|
|
70
|
+
newEditor.getViewRows = getViewRows;
|
|
69
71
|
newEditor.cursors = cursors || {};
|
|
70
72
|
newEditor.width = _constants.PAGE_EDIT_AREA_WIDTH; // default width
|
|
71
73
|
newEditor.editorType = _constants.DOCUMENT_PLUGIN_EDITOR;
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@seafile/sdoc-editor",
|
|
3
|
-
"version": "2.0.
|
|
3
|
+
"version": "2.0.12-alpha.0",
|
|
4
4
|
"private": false,
|
|
5
5
|
"description": "This is a sdoc editor",
|
|
6
6
|
"main": "dist/index.js",
|
|
@@ -38,6 +38,7 @@
|
|
|
38
38
|
"remark-parse": "11.0.0",
|
|
39
39
|
"remark-rehype": "11.0.0",
|
|
40
40
|
"remark-stringify": "11.0.0",
|
|
41
|
+
"sea-chart": "~1.1.63-alpha.15",
|
|
41
42
|
"slugid": "3.2.0",
|
|
42
43
|
"socket.io-client": "4.8.1",
|
|
43
44
|
"type-of": "2.0.1",
|
|
@@ -613,5 +613,9 @@
|
|
|
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
|
+
"Insert_chart": "Insert chart",
|
|
619
|
+
"Edit_chart": "Edit chart",
|
|
620
|
+
"Please_complete_the_chart_configuration_first": "Please complete the chart configuration first"
|
|
617
621
|
}
|