@seafile/sdoc-editor 1.0.140 → 1.0.142

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.
@@ -108,13 +108,13 @@ const CommentItemCollapseWrapper = _ref => {
108
108
  className: "name"
109
109
  }, topLevelComment.user_name), /*#__PURE__*/_react.default.createElement("span", {
110
110
  className: "time"
111
- }, (0, _dayjs.default)(topLevelComment.updated_at).format('MM-DD HH:mm')))), (isUnseen || isReplayUnseen) && /*#__PURE__*/_react.default.createElement("div", {
111
+ }, (0, _dayjs.default)(topLevelComment.updated_at).format('MM-DD HH:mm'), (topLevelComment === null || topLevelComment === void 0 ? void 0 : topLevelComment.resolved) && /*#__PURE__*/_react.default.createElement("span", {
112
+ className: "comment-success-resolved sdocfont sdoc-mark-as-resolved"
113
+ })))), (isUnseen || isReplayUnseen) && /*#__PURE__*/_react.default.createElement("div", {
112
114
  className: "sdoc-unread-message-tip"
113
115
  })), /*#__PURE__*/_react.default.createElement("div", {
114
116
  className: "comment-content"
115
- }, (topLevelComment === null || topLevelComment === void 0 ? void 0 : topLevelComment.resolved) && /*#__PURE__*/_react.default.createElement("span", {
116
- className: "comment-success-resolved sdocfont sdoc-mark-as-resolved"
117
- }), /*#__PURE__*/_react.default.createElement("div", {
117
+ }, /*#__PURE__*/_react.default.createElement("div", {
118
118
  dangerouslySetInnerHTML: {
119
119
  __html: commentContent
120
120
  }
@@ -147,15 +147,6 @@
147
147
  align-items: initial;
148
148
  }
149
149
 
150
- .comment-item .comment-footer .comment-author__avatar {
151
- width: 16px;
152
- height: 16px;
153
- }
154
-
155
- .comment-item .comment-footer .comment-author__avatar img {
156
- border-radius: 50%;
157
- }
158
-
159
150
  .comment-item .comment-footer .comment-author__latest-reply {
160
151
  margin-left: 8px;
161
152
  }
@@ -168,19 +159,6 @@
168
159
  width: 220px;
169
160
  }
170
161
 
171
- /* header */
172
- .sdoc-comment-list-container .comment-header .comment-author__avatar {
173
- display: flex;
174
- align-items: center;
175
- }
176
-
177
- .sdoc-article-container .sdoc-comment-list-container .comment-item .comment-header .comment-author__avatar img {
178
- margin-top: 3px;
179
- width: 24px;
180
- height: 24px;
181
- border-radius: 50%;
182
- }
183
-
184
162
  .sdoc-comment-list-container .comment-header .comment-author__info {
185
163
  display: flex;
186
164
  flex-direction: column;
@@ -208,6 +186,12 @@
208
186
  align-items: center;
209
187
  }
210
188
 
189
+ .sdoc-comment-list-container .comment-header .comment-author__info .time .comment-success-resolved {
190
+ color: rgb(71, 184, 129);
191
+ margin-left: 6px;
192
+ font-size: 14px;
193
+ }
194
+
211
195
  .sdoc-comment-list-container .comment-header .sdoc-unread-message-tip {
212
196
  display: inline-block;
213
197
  height: 6px;
@@ -361,7 +345,29 @@
361
345
  padding-right: 10px;
362
346
  }
363
347
 
364
- /* editor Side comment preview */
348
+ /* Side comment style */
349
+ .sdoc-article-container .sdoc-comment-list-container .comment-item .comment-header .comment-author__avatar {
350
+ display: flex;
351
+ align-items: center;
352
+ margin-top: 3px;
353
+ width: 24px;
354
+ height: 24px;
355
+ }
356
+
357
+ .sdoc-article-container .sdoc-comment-list-container .comment-item .comment-header .comment-author__avatar img {
358
+ border-radius: 50%;
359
+ }
360
+
361
+ .sdoc-article-container .sdoc-comment-list-container .comment-item .comment-footer .comment-author__avatar {
362
+ width: 16px;
363
+ height: 16px;
364
+ margin-top: -1px
365
+ }
366
+
367
+ .sdoc-article-container .sdoc-comment-list-container .comment-item .comment-footer .comment-author__avatar img {
368
+ border-radius: 50%;
369
+ }
370
+
365
371
  .sdoc-article-container .sdoc-comment-list-container .comment-item .comment-editor-wrapper.pb-3 {
366
372
  padding-bottom: 0 !important;
367
373
  }
@@ -216,23 +216,22 @@
216
216
  background-color: unset;
217
217
  }
218
218
 
219
- .sdoc-comment-drawer .sdoc-comment-list-container .comment-item .comment-header .comment-author__avatar img {
219
+ .sdoc-comment-drawer .sdoc-comment-list-container .comment-item .comment-header .comment-author__avatar {
220
220
  width: 24px;
221
221
  height: 24px;
222
222
  margin-top: -5px;
223
223
  }
224
224
 
225
+ .sdoc-comment-drawer .sdoc-comment-list-container .comment-item .comment-header .comment-author__avatar img {
226
+ border-radius: 50%;
227
+ }
228
+
225
229
  .sdoc-comment-drawer .sdoc-comment-list-container .comment-item .comment-content {
226
230
  margin-left: 35px;
227
231
  display: flex;
228
232
  align-items: center;
229
233
  }
230
234
 
231
- .sdoc-comment-drawer .sdoc-comment-list-container .comment-item .comment-content .comment-success-resolved {
232
- color: rgb(71, 184, 129);
233
- margin-right: 6px;
234
- }
235
-
236
235
  .sdoc-comment-drawer .sdoc-comment-list-container .comment-item .comment-footer .comments-count {
237
236
  display: flex;
238
237
  align-items: center;
@@ -257,6 +256,7 @@
257
256
  .sdoc-comment-drawer .sdoc-comment-list-container .comment-item .comment-footer .comment-author__avatar {
258
257
  width: 16px;
259
258
  height: 16px;
259
+ margin-top: -1px
260
260
  }
261
261
 
262
262
  .sdoc-comment-drawer .sdoc-comment-list-container .comment-item .comment-footer .comment-author__avatar img {
@@ -159,7 +159,9 @@ const WikiEditor = /*#__PURE__*/(0, _react.forwardRef)((_ref, ref) => {
159
159
  editor: validEditor,
160
160
  slateValue: slateValue,
161
161
  showComment: false
162
- }))))));
162
+ })), !_utils.isMobile && isWikiReadOnly && /*#__PURE__*/_react.default.createElement(_wikiOutline.default, {
163
+ doc: slateValue
164
+ })))));
163
165
  }
164
166
  return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement(_layout.EditorContainer, {
165
167
  editor: validEditor
@@ -4,7 +4,7 @@ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefau
4
4
  Object.defineProperty(exports, "__esModule", {
5
5
  value: true
6
6
  });
7
- exports.someNode = exports.isTopLevelListItem = exports.isTextNode = exports.isStartPoint = exports.isSelectionAtBlockStart = exports.isSelectionAtBlockEnd = exports.isRangeInSameBlock = exports.isRangeAcrossBlocks = exports.isMultiLevelList = exports.isLastNode = exports.isLastChild = exports.isHasImg = exports.isFirstChild = exports.isEndPoint = exports.isCurrentLineHasText = exports.isCurrentLineEmpty = exports.isBlockTextEmptyAfterSelection = exports.isBlockAboveEmpty = exports.isAncestorEmpty = exports.getTopLevelBlockNode = exports.getStartPoint = exports.getSelectedNodeEntryByType = exports.getSelectedNodeByTypes = exports.getSelectedNodeByType = exports.getSelectedElems = exports.getQueryOptions = exports.getPreviousPath = exports.getPrevNode = exports.getPointBefore = exports.getParentNode = exports.getNodes = exports.getNodeType = exports.getNodeEntries = exports.getNodeById = exports.getNode = exports.getNextSiblingNodes = exports.getNextNode = exports.getLastChildPath = exports.getLastChild = exports.getEndPoint = exports.getEditorString = exports.getDeepInlineChildren = exports.getCurrentNode = exports.getCommonNode = exports.getChildren = exports.getAboveNode = exports.getAboveBlockNode = exports.findPath = exports.findNode = exports.findDescendant = void 0;
7
+ exports.someNode = exports.isTopLevelListItem = exports.isTextNode = exports.isStartPoint = exports.isSelectionAtBlockStart = exports.isSelectionAtBlockEnd = exports.isRangeInSameBlock = exports.isRangeAcrossBlocks = exports.isMultiLevelList = exports.isLastNode = exports.isLastChild = exports.isHasImg = exports.isFirstChild = exports.isEndPoint = exports.isEmptyArticle = exports.isCurrentLineHasText = exports.isCurrentLineEmpty = exports.isBlockTextEmptyAfterSelection = exports.isBlockAboveEmpty = exports.isAncestorEmpty = exports.getTopLevelBlockNode = exports.getStartPoint = exports.getSelectedNodeEntryByType = exports.getSelectedNodeByTypes = exports.getSelectedNodeByType = exports.getSelectedElems = exports.getQueryOptions = exports.getPreviousPath = exports.getPrevNode = exports.getPointBefore = exports.getParentNode = exports.getNodes = exports.getNodeType = exports.getNodeEntries = exports.getNodeById = exports.getNode = exports.getNextSiblingNodes = exports.getNextNode = exports.getLastChildPath = exports.getLastChild = exports.getEndPoint = exports.getEditorString = exports.getDeepInlineChildren = exports.getCurrentNode = exports.getCommonNode = exports.getChildren = exports.getAboveNode = exports.getAboveBlockNode = exports.findPath = exports.findNode = exports.findDescendant = void 0;
8
8
  var _slate = require("@seafile/slate");
9
9
  var _slateReact = require("@seafile/slate-react");
10
10
  var _utils = require("../utils");
@@ -75,11 +75,6 @@ const getNodeById = (nodes, nodeId) => {
75
75
  return node;
76
76
  };
77
77
  exports.getNodeById = getNodeById;
78
- const isTextNode = node => {
79
- if (!node) return false;
80
- if (!_objectUtils.default.hasProperty(node, 'children') && _objectUtils.default.hasProperty(node, 'text')) return true;
81
- };
82
- exports.isTextNode = isTextNode;
83
78
  const getParentNode = (nodes, nodeId) => {
84
79
  let parentNode;
85
80
  for (let i = 0; i < nodes.length; i++) {
@@ -201,11 +196,6 @@ const getPreviousPath = path => {
201
196
  return path.slice(0, -1).concat(last - 1);
202
197
  };
203
198
  exports.getPreviousPath = getPreviousPath;
204
- const isLastChild = (nodeEntry, childPath) => {
205
- const lastChildPath = getLastChildPath(nodeEntry);
206
- return _slate.Path.equals(lastChildPath, childPath);
207
- };
208
- exports.isLastChild = isLastChild;
209
199
  const getSelectedElems = editor => {
210
200
  const elems = [];
211
201
  const nodeEntries = _slate.Editor.nodes(editor, {
@@ -382,6 +372,16 @@ const findDescendant = (editor, options) => {
382
372
 
383
373
  // is
384
374
  exports.findDescendant = findDescendant;
375
+ const isTextNode = node => {
376
+ if (!node) return false;
377
+ if (!_objectUtils.default.hasProperty(node, 'children') && _objectUtils.default.hasProperty(node, 'text')) return true;
378
+ };
379
+ exports.isTextNode = isTextNode;
380
+ const isLastChild = (nodeEntry, childPath) => {
381
+ const lastChildPath = getLastChildPath(nodeEntry);
382
+ return _slate.Path.equals(lastChildPath, childPath);
383
+ };
384
+ exports.isLastChild = isLastChild;
385
385
  const isStartPoint = (editor, point, at) => {
386
386
  return !!point && _slate.Editor.isStart(editor, point, at);
387
387
  };
@@ -542,6 +542,17 @@ const isRangeInSameBlock = function (editor) {
542
542
  return _slate.Path.equals(startBlock[1], endBlock[1]);
543
543
  };
544
544
  exports.isRangeInSameBlock = isRangeInSameBlock;
545
+ const isFirstChild = path => {
546
+ return path.at(-1) === 0;
547
+ };
548
+ exports.isFirstChild = isFirstChild;
549
+ const isEmptyArticle = editor => {
550
+ if (editor.children.length === 0) {
551
+ return true;
552
+ }
553
+ return false;
554
+ };
555
+ exports.isEmptyArticle = isEmptyArticle;
545
556
  const getStartPoint = (editor, at) => {
546
557
  return _slate.Editor.start(editor, at);
547
558
  };
@@ -554,10 +565,6 @@ const getPointBefore = (editor, at) => {
554
565
  return _slate.Editor.before(editor, at);
555
566
  };
556
567
  exports.getPointBefore = getPointBefore;
557
- const isFirstChild = path => {
558
- return path.at(-1) === 0;
559
- };
560
- exports.isFirstChild = isFirstChild;
561
568
  const someNode = (editor, options) => {
562
569
  return !!findNode(editor, options);
563
570
  };
@@ -13,8 +13,7 @@ var _dtableUtils = require("dtable-utils");
13
13
  var _context = _interopRequireDefault(require("../../../../context"));
14
14
  var _eventBus = _interopRequireDefault(require("../../../utils/event-bus"));
15
15
  var _core = require("../../core");
16
- var _helpers = require("../../toolbar/side-toolbar/helpers");
17
- var _helpers2 = require("../seatable-column/helpers");
16
+ var _helpers = require("../seatable-column/helpers");
18
17
  var _constants = require("../../../constants");
19
18
  var _constants2 = require("../../constants");
20
19
  var _base64ToUnit8array = _interopRequireDefault(require("../../../../utils/base64-to-unit8array"));
@@ -131,7 +130,7 @@ const getImageURL = (data, editor) => {
131
130
  column_key
132
131
  } = data;
133
132
  if (column_key) {
134
- const column = (0, _helpers2.getColumnByKey)(editor.columns || [], column_key);
133
+ const column = (0, _helpers.getColumnByKey)(editor.columns || [], column_key);
135
134
  const {
136
135
  type
137
136
  } = column || {};
@@ -141,7 +140,7 @@ const getImageURL = (data, editor) => {
141
140
  return firstSrc;
142
141
  } else if (type === _dtableUtils.CellType.DIGITAL_SIGN) {
143
142
  const partUrl = editor.getColumnCellValue(column_key) || '';
144
- const imgUrl = (0, _helpers2.getDigitalSignImgUrl)(partUrl);
143
+ const imgUrl = (0, _helpers.getDigitalSignImgUrl)(partUrl);
145
144
  return imgUrl;
146
145
  }
147
146
  }
@@ -176,7 +176,14 @@ const withImage = editor => {
176
176
  _slate.Transforms.removeNodes(editor, {
177
177
  at: deletePath
178
178
  });
179
- const beforeEntry = _slate.Editor.node(editor, _slate.Path.previous(deletePath));
179
+ if ((0, _core.isEmptyArticle)(editor)) {
180
+ const p = (0, _core.generateEmptyElement)(_constants.ELEMENT_TYPE.PARAGRAPH);
181
+ _slate.Transforms.insertNodes(editor, p, {
182
+ at: [0]
183
+ });
184
+ }
185
+ const prevPath = deletePath[0] === 0 ? deletePath : _slate.Path.previous(deletePath);
186
+ const beforeEntry = _slate.Editor.node(editor, prevPath);
180
187
  const selectPath = (0, _core.getLastChildPath)(beforeEntry);
181
188
  const endOfFirstNode = _slate.Editor.end(editor, selectPath);
182
189
  const range = {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@seafile/sdoc-editor",
3
- "version": "1.0.140",
3
+ "version": "1.0.142",
4
4
  "private": false,
5
5
  "description": "This is a sdoc editor",
6
6
  "main": "dist/index.js",