@seafile/sdoc-editor 3.0.70 → 3.0.72

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 (22) hide show
  1. package/dist/extension/commons/select-file-dialog/helpers.js +1 -0
  2. package/dist/extension/commons/wiki-file-insert-dialog/index.js +3 -2
  3. package/dist/extension/plugins/file-link/hover-menu/index.css +2 -2
  4. package/dist/extension/plugins/file-link/hover-menu/index.js +17 -17
  5. package/dist/extension/plugins/image/helpers.js +2 -2
  6. package/dist/extension/plugins/image/hover-menu/index.css +2 -8
  7. package/dist/extension/plugins/image/hover-menu/index.js +60 -63
  8. package/dist/extension/plugins/link/dialog/add-link-dialog/index.css +5 -0
  9. package/dist/extension/plugins/link/dialog/add-link-dialog/index.js +74 -37
  10. package/dist/extension/plugins/link/dialog/add-link-dialog/select-forms/linked-page.css +153 -0
  11. package/dist/extension/plugins/link/dialog/add-link-dialog/select-forms/linked-page.js +222 -0
  12. package/dist/extension/plugins/link/dialog/add-link-dialog/select-forms/selected-page-display.js +25 -0
  13. package/dist/extension/plugins/link/helpers.js +74 -34
  14. package/dist/extension/plugins/link/hover/index.js +12 -3
  15. package/dist/extension/plugins/link/plugin.js +52 -28
  16. package/dist/extension/plugins/link/render-elem.js +15 -2
  17. package/dist/extension/plugins/multi-column/render/index.css +2 -2
  18. package/dist/extension/plugins/sdoc-link/hover-menu/index.css +2 -2
  19. package/dist/extension/plugins/sdoc-link/hover-menu/index.js +31 -22
  20. package/dist/extension/plugins/wiki-link/helpers.js +4 -0
  21. package/dist/extension/toolbar/side-toolbar/index.css +0 -1
  22. package/package.json +3 -3
@@ -44,6 +44,7 @@ var getFileTypeIcon = exports.getFileTypeIcon = function getFileTypeIcon(fileTyp
44
44
  };
45
45
  var parcelFileTypeIcon = exports.parcelFileTypeIcon = function parcelFileTypeIcon(fileName) {
46
46
  var _Object$entries$find;
47
+ if (!fileName) return '';
47
48
  var newFileType = fileName.split('.').pop();
48
49
  var fileExtType = (_Object$entries$find = Object.entries(_constants.FILEEXT_TYPE).find(function (_ref) {
49
50
  var _ref2 = (0, _slicedToArray2["default"])(_ref, 2),
@@ -15,6 +15,7 @@ var _slateReact = require("@seafile/slate-react");
15
15
  var _classnames = _interopRequireDefault(require("classnames"));
16
16
  var _lodash = _interopRequireDefault(require("lodash.throttle"));
17
17
  var _constants = require("../../../constants");
18
+ var _context = _interopRequireDefault(require("../../../context"));
18
19
  var _commonUtils = require("../../../utils/common-utils");
19
20
  var _eventBus = _interopRequireDefault(require("../../../utils/event-bus"));
20
21
  var _localStorageUtils = _interopRequireDefault(require("../../../utils/local-storage-utils"));
@@ -165,8 +166,8 @@ var WikiFileLinkInsertDialog = function WikiFileLinkInsertDialog(_ref) {
165
166
  getPosition();
166
167
  return;
167
168
  }
168
- var navConfig = window.wiki.config.navConfig;
169
- var pages = navConfig.pages;
169
+ var _context$getSetting = _context["default"].getSetting('navConfig'),
170
+ pages = _context$getSetting.pages;
170
171
  var newFiles = [];
171
172
  pages.forEach(function (page) {
172
173
  if (page.name.includes(searchText.trim())) {
@@ -78,8 +78,8 @@
78
78
 
79
79
  .sdoc-file-link-hover-menu-container .sdoc-file-display-style-popover {
80
80
  position: absolute;
81
- top: 37px;
82
- left: 125px;
81
+ top: 32px;
82
+ left: 0px;
83
83
  padding: 8px 0;
84
84
  background-color: #fff;
85
85
  border: 1px solid #e5e6e8;
@@ -111,22 +111,7 @@ var FileLinkHoverMenu = function FileLinkHoverMenu(_ref) {
111
111
  className: (0, _classnames["default"])('mr-1', _constants2.FILE_LINK_TYPE_CONFIG[selectedType].icon)
112
112
  }), /*#__PURE__*/_react["default"].createElement("i", {
113
113
  className: "sdocfont sdoc-arrow-down"
114
- })), isShowTooltip && /*#__PURE__*/_react["default"].createElement(_tooltip["default"], {
115
- target: "select_style",
116
- placement: "top",
117
- fade: true
118
- }, t('Select_style')), /*#__PURE__*/_react["default"].createElement("span", {
119
- id: "delete_link",
120
- role: "button",
121
- className: "op-item",
122
- onClick: onUnwrapFileLinkNode
123
- }, /*#__PURE__*/_react["default"].createElement("i", {
124
- className: "sdocfont sdoc-unlink"
125
- })), isShowTooltip && /*#__PURE__*/_react["default"].createElement(_tooltip["default"], {
126
- target: "delete_link",
127
- placement: "top",
128
- fade: true
129
- }, t('Remove_link')))), isShowDisplayStylePopover && /*#__PURE__*/_react["default"].createElement("div", {
114
+ }), isShowDisplayStylePopover && /*#__PURE__*/_react["default"].createElement("div", {
130
115
  className: "sdoc-file-display-style-popover sdoc-dropdown-menu"
131
116
  }, newFileLinkTypes.map(function (fileLinkType) {
132
117
  return /*#__PURE__*/_react["default"].createElement("div", {
@@ -143,6 +128,21 @@ var FileLinkHoverMenu = function FileLinkHoverMenu(_ref) {
143
128
  }), /*#__PURE__*/_react["default"].createElement("span", null, t(_constants2.FILE_LINK_TYPE_CONFIG[fileLinkType].text))), selectedType === fileLinkType && /*#__PURE__*/_react["default"].createElement("i", {
144
129
  className: "sdocfont sdoc-check-mark sdoc-dropdown-item-right-icon"
145
130
  }));
146
- }))));
131
+ }))), isShowTooltip && /*#__PURE__*/_react["default"].createElement(_tooltip["default"], {
132
+ target: "select_style",
133
+ placement: "top",
134
+ fade: true
135
+ }, t('Select_style')), /*#__PURE__*/_react["default"].createElement("span", {
136
+ id: "delete_link",
137
+ role: "button",
138
+ className: "op-item",
139
+ onClick: onUnwrapFileLinkNode
140
+ }, /*#__PURE__*/_react["default"].createElement("i", {
141
+ className: "sdocfont sdoc-unlink"
142
+ })), isShowTooltip && /*#__PURE__*/_react["default"].createElement(_tooltip["default"], {
143
+ target: "delete_link",
144
+ placement: "top",
145
+ fade: true
146
+ }, t('Remove_link'))))));
147
147
  };
148
148
  var _default = exports["default"] = (0, _reactI18next.withTranslation)('sdoc-editor')(FileLinkHoverMenu);
@@ -111,12 +111,12 @@ var insertImage = exports.insertImage = function insertImage(editor, imgInfos, s
111
111
  at: validSelection
112
112
  });
113
113
 
114
- // BLOCKQUOTE and CALL_OUT use inline images
114
+ // BLOCKQUOTE, CALL_OUT, MULTI_COLUMN use inline images
115
115
  var imageType = _constants2.IMAGE_BLOCK;
116
116
  var _Editor$node = _slate.Editor.node(editor, [aboveNodeEntry[1][0]]),
117
117
  _Editor$node2 = (0, _slicedToArray2["default"])(_Editor$node, 1),
118
118
  topNode = _Editor$node2[0];
119
- if ([_constants2.BLOCKQUOTE, _constants2.CALL_OUT].includes(topNode === null || topNode === void 0 ? void 0 : topNode.type)) {
119
+ if ([_constants2.BLOCKQUOTE, _constants2.CALL_OUT, _constants2.MULTI_COLUMN].includes(topNode === null || topNode === void 0 ? void 0 : topNode.type)) {
120
120
  imageType = '';
121
121
  }
122
122
  if (imageType === _constants2.IMAGE_BLOCK) {
@@ -58,8 +58,8 @@
58
58
 
59
59
  .sdoc-image-hover-menu-container .sdoc-image-popover {
60
60
  position: absolute;
61
- top: 37px;
62
- left: 8px;
61
+ top: 32px;
62
+ left: 0px;
63
63
  background-color: #fff;
64
64
  border: 1px solid #e5e6e8;
65
65
  border-radius: 2px;
@@ -72,22 +72,16 @@
72
72
  }
73
73
 
74
74
  .sdoc-image-hover-menu-container .align-popover {
75
- left: 100px;
76
75
  min-width: 6rem;
77
76
  }
78
77
 
79
78
  .sdoc-image-hover-menu-container .border-popover {
80
- left: 104px;
81
79
  flex-direction: row;
82
80
  height: 80px;
83
81
  align-items: center;
84
82
  padding: 0 8px;
85
83
  }
86
84
 
87
- .sdoc-image-hover-menu-container .border-popover.sdoc-block-image {
88
- left: 144px;
89
- }
90
-
91
85
  .sdoc-image-hover-menu-container .border-popover .sdoc-dropdown-menu-item .sdoc-dropdown-item-content .sdoc-check-mark {
92
86
  transform: translateX(-24px);
93
87
  }
@@ -190,7 +190,25 @@ var ImageHoverMenu = function ImageHoverMenu(_ref) {
190
190
  className: "mr-1"
191
191
  }, t(type === _constants.IMAGE_BLOCK ? 'Block' : 'Inline')), /*#__PURE__*/_react["default"].createElement("i", {
192
192
  className: "sdocfont sdoc-arrow-down"
193
- }))), !readonly && /*#__PURE__*/_react["default"].createElement("span", {
193
+ }), popoverState.displayPopover && /*#__PURE__*/_react["default"].createElement("div", {
194
+ className: "sdoc-image-popover sdoc-dropdown-menu"
195
+ }, _constants2.IMAGE_DISPLAY_TYPE.map(function (item) {
196
+ return /*#__PURE__*/_react["default"].createElement("div", {
197
+ key: item.value,
198
+ className: "sdoc-dropdown-menu-item sdoc-dropdown-item-with-left-icon pr-2",
199
+ onClick: function onClick(event) {
200
+ return onSelect(event, {
201
+ 'display_type': item.value
202
+ });
203
+ }
204
+ }, /*#__PURE__*/_react["default"].createElement("div", {
205
+ className: "sdoc-dropdown-item-content"
206
+ }, /*#__PURE__*/_react["default"].createElement("i", {
207
+ className: "sdoc-dropdown-item-content-icon"
208
+ }), /*#__PURE__*/_react["default"].createElement("span", null, t(item.text))), type === item.value && /*#__PURE__*/_react["default"].createElement("i", {
209
+ className: "sdocfont sdoc-check-mark sdoc-dropdown-item-right-icon"
210
+ }));
211
+ })))), !readonly && /*#__PURE__*/_react["default"].createElement("span", {
194
212
  className: "op-group-item"
195
213
  }, type === _constants.IMAGE_BLOCK && /*#__PURE__*/_react["default"].createElement("span", {
196
214
  role: "button",
@@ -204,7 +222,25 @@ var ImageHoverMenu = function ImageHoverMenu(_ref) {
204
222
  className: (0, _classnames["default"])("sdocfont sdoc-align-".concat(align || 'left', " mr-1"))
205
223
  }), /*#__PURE__*/_react["default"].createElement("i", {
206
224
  className: "sdocfont sdoc-arrow-down"
207
- })), /*#__PURE__*/_react["default"].createElement("span", {
225
+ }), popoverState.alignPopover && /*#__PURE__*/_react["default"].createElement("div", {
226
+ className: "sdoc-image-popover align-popover sdoc-dropdown-menu"
227
+ }, _constants.MENUS_CONFIG_MAP[_constants.TEXT_ALIGN].map(function (item) {
228
+ return /*#__PURE__*/_react["default"].createElement("div", {
229
+ key: item.id,
230
+ className: "sdoc-dropdown-menu-item sdoc-dropdown-item-with-left-icon pr-2",
231
+ onClick: function onClick(event) {
232
+ return onSelect(event, {
233
+ align: item.type
234
+ });
235
+ }
236
+ }, /*#__PURE__*/_react["default"].createElement("div", {
237
+ className: "sdoc-dropdown-item-content"
238
+ }, /*#__PURE__*/_react["default"].createElement("i", {
239
+ className: (0, _classnames["default"])(item.iconClass)
240
+ })), align === item.type && /*#__PURE__*/_react["default"].createElement("i", {
241
+ className: "sdocfont sdoc-check-mark sdoc-dropdown-item-right-icon"
242
+ }));
243
+ }))), /*#__PURE__*/_react["default"].createElement("span", {
208
244
  id: "sdoc_image_border",
209
245
  role: "button",
210
246
  className: (0, _classnames["default"])('op-item', {
@@ -218,7 +254,27 @@ var ImageHoverMenu = function ImageHoverMenu(_ref) {
218
254
  className: "sdocfont sdoc-image mr-1"
219
255
  }), /*#__PURE__*/_react["default"].createElement("i", {
220
256
  className: "sdocfont sdoc-arrow-down"
221
- }), isShowTooltip && /*#__PURE__*/_react["default"].createElement(_tooltip["default"], {
257
+ }), popoverState.borderPopover && /*#__PURE__*/_react["default"].createElement("div", {
258
+ className: "sdoc-image-popover border-popover sdoc-dropdown-menu"
259
+ }, _constants2.IMAGE_BORDER_TYPE.map(function (item) {
260
+ return /*#__PURE__*/_react["default"].createElement("div", {
261
+ key: item.type,
262
+ className: "sdoc-dropdown-menu-item sdoc-dropdown-item-with-left-icon pr-2",
263
+ onClick: function onClick(event) {
264
+ return onSelect(event, {
265
+ border_type: item.type
266
+ });
267
+ }
268
+ }, /*#__PURE__*/_react["default"].createElement("div", {
269
+ className: "sdoc-dropdown-item-content"
270
+ }, /*#__PURE__*/_react["default"].createElement("img", {
271
+ src: item.imgUrl,
272
+ draggable: false,
273
+ alt: ""
274
+ }), border_type === item.type && /*#__PURE__*/_react["default"].createElement("i", {
275
+ className: "sdocfont sdoc-check-mark sdoc-dropdown-item-right-icon"
276
+ })));
277
+ })), isShowTooltip && /*#__PURE__*/_react["default"].createElement(_tooltip["default"], {
222
278
  target: "sdoc_image_border",
223
279
  placement: "top",
224
280
  fade: true
@@ -255,66 +311,7 @@ var ImageHoverMenu = function ImageHoverMenu(_ref) {
255
311
  target: "sdoc_image_full_screen_mode",
256
312
  placement: "top",
257
313
  fade: true
258
- }, t('Full_screen_mode'))))), popoverState.displayPopover && /*#__PURE__*/_react["default"].createElement("div", {
259
- className: "sdoc-image-popover sdoc-dropdown-menu"
260
- }, _constants2.IMAGE_DISPLAY_TYPE.map(function (item) {
261
- return /*#__PURE__*/_react["default"].createElement("div", {
262
- key: item.value,
263
- className: "sdoc-dropdown-menu-item sdoc-dropdown-item-with-left-icon pr-2",
264
- onClick: function onClick(event) {
265
- return onSelect(event, {
266
- 'display_type': item.value
267
- });
268
- }
269
- }, /*#__PURE__*/_react["default"].createElement("div", {
270
- className: "sdoc-dropdown-item-content"
271
- }, /*#__PURE__*/_react["default"].createElement("i", {
272
- className: "sdoc-dropdown-item-content-icon"
273
- }), /*#__PURE__*/_react["default"].createElement("span", null, t(item.text))), type === item.value && /*#__PURE__*/_react["default"].createElement("i", {
274
- className: "sdocfont sdoc-check-mark sdoc-dropdown-item-right-icon"
275
- }));
276
- })), popoverState.alignPopover && /*#__PURE__*/_react["default"].createElement("div", {
277
- className: "sdoc-image-popover align-popover sdoc-dropdown-menu"
278
- }, _constants.MENUS_CONFIG_MAP[_constants.TEXT_ALIGN].map(function (item) {
279
- return /*#__PURE__*/_react["default"].createElement("div", {
280
- key: item.id,
281
- className: "sdoc-dropdown-menu-item sdoc-dropdown-item-with-left-icon pr-2",
282
- onClick: function onClick(event) {
283
- return onSelect(event, {
284
- align: item.type
285
- });
286
- }
287
- }, /*#__PURE__*/_react["default"].createElement("div", {
288
- className: "sdoc-dropdown-item-content"
289
- }, /*#__PURE__*/_react["default"].createElement("i", {
290
- className: (0, _classnames["default"])(item.iconClass)
291
- })), align === item.type && /*#__PURE__*/_react["default"].createElement("i", {
292
- className: "sdocfont sdoc-check-mark sdoc-dropdown-item-right-icon"
293
- }));
294
- })), popoverState.borderPopover && /*#__PURE__*/_react["default"].createElement("div", {
295
- className: (0, _classnames["default"])('sdoc-image-popover border-popover sdoc-dropdown-menu', {
296
- 'sdoc-block-image': type === _constants.IMAGE_BLOCK
297
- }),
298
- style: borderPopoverStyle
299
- }, _constants2.IMAGE_BORDER_TYPE.map(function (item) {
300
- return /*#__PURE__*/_react["default"].createElement("div", {
301
- key: item.type,
302
- className: "sdoc-dropdown-menu-item sdoc-dropdown-item-with-left-icon pr-2",
303
- onClick: function onClick(event) {
304
- return onSelect(event, {
305
- border_type: item.type
306
- });
307
- }
308
- }, /*#__PURE__*/_react["default"].createElement("div", {
309
- className: "sdoc-dropdown-item-content"
310
- }, /*#__PURE__*/_react["default"].createElement("img", {
311
- src: item.imgUrl,
312
- draggable: false,
313
- alt: ""
314
- }), border_type === item.type && /*#__PURE__*/_react["default"].createElement("i", {
315
- className: "sdocfont sdoc-check-mark sdoc-dropdown-item-right-icon"
316
- })));
317
- })), isShowImagePreview && /*#__PURE__*/_react["default"].createElement(_imagePreviewer["default"], {
314
+ }, t('Full_screen_mode'))))), isShowImagePreview && /*#__PURE__*/_react["default"].createElement(_imagePreviewer["default"], {
318
315
  imageUrl: (0, _helpers.getImageURL)(data, editor),
319
316
  editor: editor,
320
317
  toggleImagePreviewer: function toggleImagePreviewer() {
@@ -5,6 +5,7 @@
5
5
  }
6
6
 
7
7
  .select-btn .link-address-btn,
8
+ .select-btn .link-page-btn,
8
9
  .select-btn .link-block-btn {
9
10
  font-size: .875rem;
10
11
  font-weight: 600;
@@ -12,16 +13,19 @@
12
13
  }
13
14
 
14
15
  .select-btn .link-address-btn:hover,
16
+ .select-btn .link-page-btn:hover,
15
17
  .select-btn .link-block-btn:hover {
16
18
  cursor: pointer;
17
19
  }
18
20
 
21
+ .select-btn .link-page-btn.active,
19
22
  .select-btn .link-address-btn.active,
20
23
  .select-btn .link-block-btn.active {
21
24
  color: #ff9800;
22
25
  border-bottom: 2px solid #ff9800;
23
26
  }
24
27
 
28
+ .select-btn .link-page-btn,
25
29
  .select-btn .link-address-btn {
26
30
  margin-right: 40px;
27
31
  }
@@ -33,6 +37,7 @@
33
37
  .selected-linked-block-wrapper .form-control {
34
38
  display: flex;
35
39
  justify-content: space-between;
40
+ align-items: center;
36
41
  cursor: pointer;
37
42
  height: 36.39px;
38
43
  }
@@ -14,11 +14,13 @@ var _reactI18next = require("react-i18next");
14
14
  var _reactstrap = require("reactstrap");
15
15
  var _slate = require("@seafile/slate");
16
16
  var _classnames = _interopRequireDefault(require("classnames"));
17
+ var _constants = require("../../../../../constants");
17
18
  var _mdToHtml = require("../../../../../slate-convert/md-to-html");
18
19
  var _slateToMd = _interopRequireDefault(require("../../../../../slate-convert/slate-to-md"));
19
- var _constants = require("../../../../constants");
20
+ var _constants2 = require("../../../../constants");
20
21
  var _core = require("../../../../core");
21
22
  var _helpers = require("../../helpers");
23
+ var _linkedPage = _interopRequireDefault(require("./select-forms/linked-page"));
22
24
  require("./index.css");
23
25
  var AddLinkDialog = function AddLinkDialog(_ref) {
24
26
  var editor = _ref.editor,
@@ -43,7 +45,8 @@ var AddLinkDialog = function AddLinkDialog(_ref) {
43
45
  href: ''
44
46
  },
45
47
  oldURL = _ref2.href,
46
- linked_id = _ref2.linked_id;
48
+ linked_id = _ref2.linked_id,
49
+ linked_wiki_page_id = _ref2.linked_wiki_page_id;
47
50
  var oldTitle = (element === null || element === void 0 ? void 0 : element.children[0].text) || linkTitle || '';
48
51
  var initTitle = (0, _react.useMemo)(function () {
49
52
  return oldTitle ? oldTitle : (0, _core.getEditorString)(editor, editor.selection);
@@ -52,50 +55,69 @@ var AddLinkDialog = function AddLinkDialog(_ref) {
52
55
  _useState6 = (0, _slicedToArray2["default"])(_useState5, 2),
53
56
  title = _useState6[0],
54
57
  setTitle = _useState6[1];
55
- var _useState7 = (0, _react.useState)(linked_id ? '' : oldURL),
58
+ var _useState7 = (0, _react.useState)(''),
56
59
  _useState8 = (0, _slicedToArray2["default"])(_useState7, 2),
57
- url = _useState8[0],
58
- setURL = _useState8[1];
59
- var _useState9 = (0, _react.useState)(linked_id ? 'block' : 'url'),
60
+ selectedBlockId = _useState8[0],
61
+ setSelectedBlockId = _useState8[1];
62
+ var _useState9 = (0, _react.useState)(''),
60
63
  _useState0 = (0, _slicedToArray2["default"])(_useState9, 2),
61
- activeTab = _useState0[0],
62
- setActiveTab = _useState0[1];
63
- var _useState1 = (0, _react.useState)(''),
64
+ selectedPageId = _useState0[0],
65
+ setSelectedPageId = _useState0[1];
66
+ var _useState1 = (0, _react.useState)([]),
64
67
  _useState10 = (0, _slicedToArray2["default"])(_useState1, 2),
65
- selectedBlockId = _useState10[0],
66
- setSelectedBlockId = _useState10[1];
67
- var _useState11 = (0, _react.useState)([]),
68
+ headerList = _useState10[0],
69
+ setheaderList = _useState10[1];
70
+ var _useState11 = (0, _react.useState)(false),
68
71
  _useState12 = (0, _slicedToArray2["default"])(_useState11, 2),
69
- headerList = _useState12[0],
70
- setheaderList = _useState12[1];
72
+ isOpenSelect = _useState12[0],
73
+ setIsOpenSelect = _useState12[1];
71
74
  var _useState13 = (0, _react.useState)(false),
72
75
  _useState14 = (0, _slicedToArray2["default"])(_useState13, 2),
73
- isOpenSelect = _useState14[0],
74
- setIsOpenSelect = _useState14[1];
76
+ isOpenSelectHeader = _useState14[0],
77
+ setIsOpenSelectHeader = _useState14[1];
75
78
  var _useState15 = (0, _react.useState)(false),
76
79
  _useState16 = (0, _slicedToArray2["default"])(_useState15, 2),
77
- isOpenSelectHeader = _useState16[0],
78
- setIsOpenSelectHeader = _useState16[1];
80
+ isOpenSelectImageBlock = _useState16[0],
81
+ setIsOpenSelectImageBlock = _useState16[1];
79
82
  var _useState17 = (0, _react.useState)(false),
80
83
  _useState18 = (0, _slicedToArray2["default"])(_useState17, 2),
81
- isOpenSelectImageBlock = _useState18[0],
82
- setIsOpenSelectImageBlock = _useState18[1];
84
+ isOpenSelectCodeBlock = _useState18[0],
85
+ setIsOpenSelectCodeBlock = _useState18[1];
83
86
  var _useState19 = (0, _react.useState)(false),
84
87
  _useState20 = (0, _slicedToArray2["default"])(_useState19, 2),
85
- isOpenSelectCodeBlock = _useState20[0],
86
- setIsOpenSelectCodeBlock = _useState20[1];
87
- var _useState21 = (0, _react.useState)(false),
88
+ isOpenSelectBlockquote = _useState20[0],
89
+ setIsOpenSelectBlockquote = _useState20[1];
90
+ var _useState21 = (0, _react.useState)(''),
88
91
  _useState22 = (0, _slicedToArray2["default"])(_useState21, 2),
89
- isOpenSelectBlockquote = _useState22[0],
90
- setIsOpenSelectBlockquote = _useState22[1];
91
- var _useState23 = (0, _react.useState)(''),
92
+ htmlString = _useState22[0],
93
+ setHtmlString = _useState22[1];
94
+ var initTab = (0, _react.useMemo)(function () {
95
+ if (linked_id) {
96
+ return 'block';
97
+ }
98
+ if (linked_wiki_page_id) {
99
+ return 'page';
100
+ }
101
+ return 'url';
102
+ }, [linked_id, linked_wiki_page_id]);
103
+ var _useState23 = (0, _react.useState)(initTab !== 'url' ? '' : oldURL),
92
104
  _useState24 = (0, _slicedToArray2["default"])(_useState23, 2),
93
- htmlString = _useState24[0],
94
- setHtmlString = _useState24[1];
105
+ url = _useState24[0],
106
+ setURL = _useState24[1];
107
+ var _useState25 = (0, _react.useState)(initTab),
108
+ _useState26 = (0, _slicedToArray2["default"])(_useState25, 2),
109
+ activeTab = _useState26[0],
110
+ setActiveTab = _useState26[1];
95
111
  var submit = (0, _react.useCallback)(function () {
96
112
  setLinkErrorMessage('');
97
113
  setTitleErrorMessage('');
98
- if (!url && !selectedBlockId) {
114
+ if (editor.editorType === _constants.WIKI_EDITOR) {
115
+ if (!url && !selectedBlockId && !selectedPageId) {
116
+ setLinkErrorMessage(t('The_link_address_or_link_page_or_link_block_is_required'));
117
+ return;
118
+ }
119
+ }
120
+ if (editor.editorType !== _constants.WIKI_EDITOR && !url && !selectedBlockId) {
99
121
  setLinkErrorMessage(t('The_link_address_or_link_block_is_required'));
100
122
  return;
101
123
  }
@@ -109,15 +131,15 @@ var AddLinkDialog = function AddLinkDialog(_ref) {
109
131
  }
110
132
  var isEdit = oldURL || oldTitle;
111
133
  if (isEdit) {
112
- (0, _helpers.updateLink)(editor, title, url, selectedBlockId);
134
+ (0, _helpers.updateLink)(editor, title, url, selectedBlockId, selectedPageId);
113
135
  } else {
114
- (0, _helpers.insertLink)(editor, title, url, insertPosition, slateNode, selectedBlockId);
136
+ (0, _helpers.insertLink)(editor, title, url, insertPosition, slateNode, selectedBlockId, selectedPageId);
115
137
  }
116
138
  handleSubmit && handleSubmit();
117
139
  closeDialog();
118
140
 
119
141
  // eslint-disable-next-line react-hooks/exhaustive-deps
120
- }, [editor, url, title, oldTitle, oldURL, insertPosition, selectedBlockId]);
142
+ }, [editor, url, title, oldTitle, oldURL, insertPosition, selectedBlockId, selectedPageId]);
121
143
  var onKeyDown = (0, _react.useCallback)(function (event) {
122
144
  if (event.keyCode === 13) {
123
145
  event.preventDefault();
@@ -132,6 +154,7 @@ var AddLinkDialog = function AddLinkDialog(_ref) {
132
154
  if (value === url) return;
133
155
  setURL(value);
134
156
  setSelectedBlockId('');
157
+ setSelectedPageId('');
135
158
  }, [url]);
136
159
  var handleTitleChange = (0, _react.useCallback)(function (event) {
137
160
  var value = event.target.value;
@@ -157,6 +180,7 @@ var AddLinkDialog = function AddLinkDialog(_ref) {
157
180
  var nodeId = block.dataset.id;
158
181
  setSelectedBlockId(nodeId);
159
182
  setURL('');
183
+ setSelectedPageId('');
160
184
  setIsOpenSelect(false);
161
185
  }
162
186
  };
@@ -187,7 +211,7 @@ var AddLinkDialog = function AddLinkDialog(_ref) {
187
211
  while (1) switch (_context.n) {
188
212
  case 0:
189
213
  list = editor.children.filter(function (node) {
190
- return _slate.Element.isElement(node) && !(0, _helpers.isEmptyNode)(node) && _constants.INTERNAL_LINKED_TYPE.includes(node.type);
214
+ return _slate.Element.isElement(node) && !(0, _helpers.isEmptyNode)(node) && _constants2.INTERNAL_LINKED_TYPE.includes(node.type);
191
215
  });
192
216
  mdValue = list.map(function (node) {
193
217
  return "<!--".concat(node.id, "-->\n").concat((0, _slateToMd["default"])([node]));
@@ -215,7 +239,7 @@ var AddLinkDialog = function AddLinkDialog(_ref) {
215
239
  (0, _react.useEffect)(function () {
216
240
  // Get header node list
217
241
  var headerList = editor.children.filter(function (node) {
218
- return _slate.Element.isElement(node) && !(0, _helpers.isEmptyNode)(node) && _constants.HEADERS.includes(node.type);
242
+ return _slate.Element.isElement(node) && !(0, _helpers.isEmptyNode)(node) && _constants2.HEADERS.includes(node.type);
219
243
  });
220
244
  if (headerList.length > 0) {
221
245
  setheaderList(headerList);
@@ -256,7 +280,14 @@ var AddLinkDialog = function AddLinkDialog(_ref) {
256
280
  onClick: function onClick() {
257
281
  return setActiveTab('url');
258
282
  }
259
- }, t('Link_address')), /*#__PURE__*/_react["default"].createElement("div", {
283
+ }, t('Link_address')), editor.editorType === _constants.WIKI_EDITOR && /*#__PURE__*/_react["default"].createElement("div", {
284
+ className: (0, _classnames["default"])('link-page-btn', {
285
+ 'active': activeTab === 'page'
286
+ }),
287
+ onClick: function onClick() {
288
+ return setActiveTab('page');
289
+ }
290
+ }, t('Link_page')), /*#__PURE__*/_react["default"].createElement("div", {
260
291
  className: (0, _classnames["default"])('link-block-btn', {
261
292
  'active': activeTab === 'block'
262
293
  }),
@@ -313,7 +344,7 @@ var AddLinkDialog = function AddLinkDialog(_ref) {
313
344
  }
314
345
  }, /*#__PURE__*/_react["default"].createElement("div", {
315
346
  className: "heading-prefix"
316
- }, _constants.HEADER_TAG[header.type]), /*#__PURE__*/_react["default"].createElement("div", {
347
+ }, _constants2.HEADER_TAG[header.type]), /*#__PURE__*/_react["default"].createElement("div", {
317
348
  "data-id": header.id,
318
349
  className: "linked-header-block-item"
319
350
  }, headerContext));
@@ -374,7 +405,13 @@ var AddLinkDialog = function AddLinkDialog(_ref) {
374
405
  onClick: function onClick(e) {
375
406
  return handleOnChangeBlock(e);
376
407
  }
377
- }))))), /*#__PURE__*/_react["default"].createElement(_reactstrap.ModalFooter, null, /*#__PURE__*/_react["default"].createElement(_reactstrap.Button, {
408
+ }))), editor.editorType === _constants.WIKI_EDITOR && activeTab === 'page' && /*#__PURE__*/_react["default"].createElement(_linkedPage["default"], {
409
+ editor: editor,
410
+ element: element,
411
+ setSelectedPageId: setSelectedPageId,
412
+ setSelectedBlockId: setSelectedBlockId,
413
+ setURL: setURL
414
+ }))), /*#__PURE__*/_react["default"].createElement(_reactstrap.ModalFooter, null, /*#__PURE__*/_react["default"].createElement(_reactstrap.Button, {
378
415
  color: "secondary",
379
416
  onClick: closeDialog
380
417
  }, t('Cancel')), /*#__PURE__*/_react["default"].createElement(_reactstrap.Button, {