@seafile/sdoc-editor 3.0.83 → 3.0.84

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.
Files changed (21) hide show
  1. package/dist/api/seafile-api.js +20 -21
  2. package/dist/constants/index.js +2 -1
  3. package/dist/context.js +23 -9
  4. package/dist/extension/commons/insert-element-dialog/index.js +13 -26
  5. package/dist/extension/plugins/file-view/helpers.js +2 -14
  6. package/dist/extension/plugins/file-view/render-elem/index.js +5 -12
  7. package/dist/extension/toolbar/insert-element-toolbar/index.js +8 -7
  8. package/dist/extension/toolbar/linked-repo-popover/link-repo-list.css +8 -6
  9. package/dist/extension/toolbar/linked-repo-popover/link-repo-list.js +26 -67
  10. package/dist/extension/toolbar/side-toolbar/insert-block-menu.js +9 -8
  11. package/package.json +3 -3
  12. package/dist/extension/plugins/file-view/insert-view-dialog/dropdown-select/constants.js +0 -16
  13. package/dist/extension/plugins/file-view/insert-view-dialog/dropdown-select/index.css +0 -96
  14. package/dist/extension/plugins/file-view/insert-view-dialog/dropdown-select/index.js +0 -156
  15. package/dist/extension/plugins/file-view/insert-view-dialog/dropdown-select/lib.png +0 -0
  16. package/dist/extension/plugins/file-view/insert-view-dialog/dropdown-select/option.css +0 -49
  17. package/dist/extension/plugins/file-view/insert-view-dialog/dropdown-select/option.js +0 -53
  18. package/dist/extension/plugins/file-view/insert-view-dialog/dropdown-select/select-option-group.css +0 -37
  19. package/dist/extension/plugins/file-view/insert-view-dialog/dropdown-select/select-option-group.js +0 -241
  20. package/dist/extension/plugins/file-view/insert-view-dialog/index.js +0 -232
  21. package/dist/extension/plugins/file-view/insert-view-dialog/modal-portal.js +0 -41
@@ -1,232 +0,0 @@
1
- "use strict";
2
-
3
- var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard")["default"];
4
- var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault")["default"];
5
- Object.defineProperty(exports, "__esModule", {
6
- value: true
7
- });
8
- exports["default"] = void 0;
9
- var _objectSpread2 = _interopRequireDefault(require("@babel/runtime/helpers/esm/objectSpread2"));
10
- var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/esm/slicedToArray"));
11
- var _react = _interopRequireWildcard(require("react"));
12
- var _reactI18next = require("react-i18next");
13
- var _reactstrap = require("reactstrap");
14
- var _loading = _interopRequireDefault(require("../../../../components/loading"));
15
- var _toast = _interopRequireDefault(require("../../../../components/toast"));
16
- var _context = _interopRequireDefault(require("../../../../context"));
17
- var _commonUtils = require("../../../../utils/common-utils");
18
- var _helpers = require("../helpers");
19
- var _dropdownSelect = _interopRequireDefault(require("./dropdown-select"));
20
- var InsertViewDialog = function InsertViewDialog(_ref) {
21
- var className = _ref.className,
22
- editor = _ref.editor,
23
- _ref$element = _ref.element,
24
- element = _ref$element === void 0 ? {} : _ref$element,
25
- slateNode = _ref.slateNode,
26
- insertPosition = _ref.insertPosition,
27
- closeDialog = _ref.closeDialog;
28
- var _element$data = element.data,
29
- data = _element$data === void 0 ? {} : _element$data;
30
- var _useTranslation = (0, _reactI18next.useTranslation)('sdoc-editor'),
31
- t = _useTranslation.t;
32
- var _useState = (0, _react.useState)(true),
33
- _useState2 = (0, _slicedToArray2["default"])(_useState, 2),
34
- isLoading = _useState2[0],
35
- setIsLoading = _useState2[1];
36
- var _useState3 = (0, _react.useState)(''),
37
- _useState4 = (0, _slicedToArray2["default"])(_useState3, 2),
38
- viewName = _useState4[0],
39
- setViewName = _useState4[1];
40
- var _useState5 = (0, _react.useState)(null),
41
- _useState6 = (0, _slicedToArray2["default"])(_useState5, 2),
42
- currentTypeOption = _useState6[0],
43
- setCurrentTypeOption = _useState6[1];
44
- var _useState7 = (0, _react.useState)(null),
45
- _useState8 = (0, _slicedToArray2["default"])(_useState7, 2),
46
- currentRepoOption = _useState8[0],
47
- setCurrentRepoOption = _useState8[1];
48
- var _useState9 = (0, _react.useState)(''),
49
- _useState0 = (0, _slicedToArray2["default"])(_useState9, 2),
50
- viewNameErrorMessage = _useState0[0],
51
- setViewNameErrorMessage = _useState0[1];
52
- var _useState1 = (0, _react.useState)(''),
53
- _useState10 = (0, _slicedToArray2["default"])(_useState1, 2),
54
- typeErrorMessage = _useState10[0],
55
- setTypeErrorMessage = _useState10[1];
56
- var _useState11 = (0, _react.useState)(''),
57
- _useState12 = (0, _slicedToArray2["default"])(_useState11, 2),
58
- repoErrorMessage = _useState12[0],
59
- setRepoErrorMessage = _useState12[1];
60
- var _useState13 = (0, _react.useState)([]),
61
- _useState14 = (0, _slicedToArray2["default"])(_useState13, 2),
62
- repoOptions = _useState14[0],
63
- setRepoOptions = _useState14[1];
64
- var TYPE_OPERATIONS = (0, _react.useMemo)(function () {
65
- return [{
66
- id: 'table',
67
- name: 'table',
68
- value: 'table',
69
- label: 'table'
70
- }];
71
- }, []);
72
- (0, _react.useEffect)(function () {
73
- var _element$data2 = element.data,
74
- data = _element$data2 === void 0 ? {} : _element$data2;
75
- setViewName(data.view_name);
76
- var typeOption = TYPE_OPERATIONS.find(function (item) {
77
- return item.value === data.view_type;
78
- }) || null;
79
- setCurrentTypeOption(typeOption);
80
- var wikiSettings = (0, _helpers.getWikiSettings)();
81
- var accessibleRepos = (0, _helpers.getAccessibleRepos)();
82
- var linkedRepoIds = wikiSettings.linked_repos;
83
- var repoList = accessibleRepos.map(function (item) {
84
- item.sharePermission = 'rw';
85
- return item;
86
- });
87
- var options = repoList.map(function (item) {
88
- return {
89
- id: item.repo_id,
90
- name: item.repo_name,
91
- value: item.repo_name,
92
- label: item.repo_name,
93
- permission: item.permission
94
- };
95
- });
96
- var optionsMap = options.reduce(function (result, item) {
97
- result[item.id] = item;
98
- return result;
99
- }, {});
100
- var repoOptions = linkedRepoIds.map(function (id) {
101
- return optionsMap[id];
102
- }).filter(Boolean);
103
- setRepoOptions(repoOptions);
104
- setCurrentRepoOption(repoOptions.find(function (item) {
105
- return item.id === data.linked_repo_id;
106
- }));
107
- setIsLoading(false);
108
- // eslint-disable-next-line react-hooks/exhaustive-deps
109
- }, []);
110
- var submit = (0, _react.useCallback)(function () {
111
- setViewNameErrorMessage('');
112
- setTypeErrorMessage('');
113
- setRepoErrorMessage('');
114
- if (!viewName) {
115
- setViewNameErrorMessage(t('The_view_name_is_required'));
116
- return;
117
- }
118
- if (!currentTypeOption) {
119
- setTypeErrorMessage(t('The_view_type_is_required'));
120
- return;
121
- }
122
- if (!currentRepoOption) {
123
- setRepoErrorMessage(t('The_linked_library_is_required'));
124
- return;
125
- }
126
- var viewType = currentTypeOption.value;
127
- var linkedRepoId = currentRepoOption.id;
128
- var wikiId = _context["default"].getSetting('wikiId');
129
- var data = {
130
- wiki_id: wikiId,
131
- view_name: viewName,
132
- view_type: viewType,
133
- link_repo_id: linkedRepoId
134
- };
135
- _context["default"].insertWikiView(data).then(function (res) {
136
- var view = res.data.view;
137
- var viewData = (0, _objectSpread2["default"])((0, _objectSpread2["default"])({}, data), {}, {
138
- view_id: view._id
139
- });
140
- (0, _helpers.insertFileView)(viewData, editor, insertPosition, slateNode);
141
- closeDialog();
142
- })["catch"](function (error) {
143
- var errorMessage = (0, _commonUtils.getErrorMsg)(error);
144
- _toast["default"].danger(errorMessage);
145
- });
146
- }, [viewName, currentTypeOption, currentRepoOption, t, editor, insertPosition, slateNode, closeDialog]);
147
- var onKeyDown = (0, _react.useCallback)(function (event) {
148
- if (event.keyCode === 13) {
149
- event.preventDefault();
150
- submit();
151
- return;
152
- }
153
- }, [submit]);
154
- var onValueChanged = (0, _react.useCallback)(function (event) {
155
- var value = event.target.value;
156
- if (value === viewName) return;
157
- setViewName(value);
158
- setViewNameErrorMessage('');
159
- }, [viewName]);
160
- var onSelectTypeOption = (0, _react.useCallback)(function (option) {
161
- setCurrentTypeOption(option);
162
- setTypeErrorMessage('');
163
- }, []);
164
- var onSelectTableOption = (0, _react.useCallback)(function (option) {
165
- setCurrentRepoOption(option);
166
- setRepoErrorMessage('');
167
- }, []);
168
- var close = (0, _react.useMemo)(function () {
169
- return /*#__PURE__*/_react["default"].createElement("span", {
170
- className: "sdoc-add-link-close-icon",
171
- onClick: closeDialog
172
- }, /*#__PURE__*/_react["default"].createElement("i", {
173
- className: "sdocfont sdoc-sm-close",
174
- "aria-hidden": "true"
175
- }));
176
- }, [closeDialog]);
177
- return /*#__PURE__*/_react["default"].createElement(_reactstrap.Modal, {
178
- isOpen: true,
179
- autoFocus: false,
180
- toggle: closeDialog,
181
- className: className,
182
- zIndex: 1071,
183
- returnFocusAfterClose: false
184
- }, /*#__PURE__*/_react["default"].createElement(_reactstrap.ModalHeader, {
185
- close: close
186
- }, t('Insert_file_view')), /*#__PURE__*/_react["default"].createElement(_reactstrap.ModalBody, null, isLoading && /*#__PURE__*/_react["default"].createElement(_loading["default"], null), !isLoading && repoOptions.length === 0 && /*#__PURE__*/_react["default"].createElement("div", {
187
- className: ""
188
- }, t('Linked_repo_tip')), !isLoading && repoOptions.length !== 0 && /*#__PURE__*/_react["default"].createElement(_react["default"].Fragment, null, /*#__PURE__*/_react["default"].createElement("div", {
189
- className: "form-group"
190
- }, /*#__PURE__*/_react["default"].createElement(_reactstrap.Label, {
191
- "for": "addTitle"
192
- }, t('View_name')), /*#__PURE__*/_react["default"].createElement("input", {
193
- onKeyDown: onKeyDown,
194
- type: "text",
195
- className: "form-control",
196
- id: "addTitle",
197
- value: data.view_name,
198
- onChange: onValueChanged
199
- }), viewNameErrorMessage && /*#__PURE__*/_react["default"].createElement(_reactstrap.Alert, {
200
- color: "danger",
201
- className: "mt-2"
202
- }, t(viewNameErrorMessage))), /*#__PURE__*/_react["default"].createElement("div", {
203
- className: "form-group"
204
- }, /*#__PURE__*/_react["default"].createElement(_reactstrap.Label, null, t('View_type')), /*#__PURE__*/_react["default"].createElement(_dropdownSelect["default"], {
205
- selectedOption: currentTypeOption,
206
- options: TYPE_OPERATIONS,
207
- onSelectOption: onSelectTypeOption,
208
- isInModal: true
209
- }), typeErrorMessage && /*#__PURE__*/_react["default"].createElement(_reactstrap.Alert, {
210
- color: "danger",
211
- className: "mt-2"
212
- }, t(typeErrorMessage))), /*#__PURE__*/_react["default"].createElement("div", {
213
- className: "form-group"
214
- }, /*#__PURE__*/_react["default"].createElement(_reactstrap.Label, null, t('Linked_library')), /*#__PURE__*/_react["default"].createElement(_dropdownSelect["default"], {
215
- hasIcon: true,
216
- selectedOption: currentRepoOption,
217
- options: repoOptions,
218
- onSelectOption: onSelectTableOption,
219
- isInModal: true
220
- }), repoErrorMessage && /*#__PURE__*/_react["default"].createElement(_reactstrap.Alert, {
221
- color: "danger",
222
- className: "mt-2"
223
- }, t(repoErrorMessage))))), !isLoading && repoOptions.length !== 0 && /*#__PURE__*/_react["default"].createElement(_reactstrap.ModalFooter, null, /*#__PURE__*/_react["default"].createElement(_reactstrap.Button, {
224
- color: "secondary",
225
- onClick: closeDialog
226
- }, t('Cancel')), /*#__PURE__*/_react["default"].createElement(_reactstrap.Button, {
227
- color: "primary",
228
- disabled: false,
229
- onClick: submit
230
- }, t('Submit'))));
231
- };
232
- var _default = exports["default"] = InsertViewDialog;
@@ -1,41 +0,0 @@
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"] = void 0;
8
- var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/esm/classCallCheck"));
9
- var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/esm/createClass"));
10
- var _callSuper2 = _interopRequireDefault(require("@babel/runtime/helpers/esm/callSuper"));
11
- var _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/esm/inherits"));
12
- var _react = _interopRequireDefault(require("react"));
13
- var _reactDom = require("react-dom");
14
- var modalRoot = document.getElementById('modal-wrapper');
15
- var ModalPortal = /*#__PURE__*/function (_React$Component) {
16
- function ModalPortal(props) {
17
- var _this;
18
- (0, _classCallCheck2["default"])(this, ModalPortal);
19
- _this = (0, _callSuper2["default"])(this, ModalPortal, [props]);
20
- _this.el = document.createElement('div');
21
- return _this;
22
- }
23
- (0, _inherits2["default"])(ModalPortal, _React$Component);
24
- return (0, _createClass2["default"])(ModalPortal, [{
25
- key: "componentDidMount",
26
- value: function componentDidMount() {
27
- modalRoot.appendChild(this.el);
28
- }
29
- }, {
30
- key: "componentWillUnmount",
31
- value: function componentWillUnmount() {
32
- modalRoot.removeChild(this.el);
33
- }
34
- }, {
35
- key: "render",
36
- value: function render() {
37
- return /*#__PURE__*/(0, _reactDom.createPortal)(this.props.children, this.el);
38
- }
39
- }]);
40
- }(_react["default"].Component);
41
- var _default = exports["default"] = ModalPortal;