@seafile/sdoc-editor 1.0.141 → 1.0.143
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-item-collapse-wrapper.js +4 -4
- package/dist/basic-sdk/comment/components/comment-list.css +29 -23
- package/dist/basic-sdk/comment/components/global-comment/index.css +6 -6
- package/dist/basic-sdk/extension/core/queries/index.js +22 -15
- package/dist/basic-sdk/extension/plugins/image/helpers.js +3 -4
- package/dist/basic-sdk/extension/plugins/image/plugin.js +8 -1
- package/package.json +1 -1
|
@@ -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')
|
|
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
|
-
},
|
|
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
|
-
/*
|
|
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
|
|
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 {
|
|
@@ -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("
|
|
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,
|
|
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,
|
|
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
|
-
|
|
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 = {
|