@seafile/comment-editor 0.0.1-alpha.2 → 0.0.1-alpha.20
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/assets/css/layout.css +1 -45
- package/dist/basic-sdk/comment/utils.js +39 -0
- package/dist/basic-sdk/context.js +2 -1
- package/dist/basic-sdk/editor/comment-editor.css +138 -0
- package/dist/basic-sdk/{comment/components → editor}/comment-editor.js +40 -28
- package/dist/basic-sdk/extension/plugins/image/helpers.js +1 -1
- package/dist/basic-sdk/extension/plugins/image/use-copy-image.js +1 -1
- package/dist/basic-sdk/extension/plugins/image/use-upload-image.js +1 -1
- package/dist/basic-sdk/extension/plugins/text-style/menu/index.js +1 -2
- package/dist/basic-sdk/hooks/use-comment.js +16 -183
- package/dist/basic-sdk/index.js +3 -10
- package/dist/index.js +0 -12
- package/dist/pages/seafile-comment-editor.js +34 -14
- package/package.json +1 -1
- package/dist/assets/css/plugin-editor.css +0 -7
- package/dist/assets/css/simple-viewer.css +0 -6
- package/dist/basic-sdk/comment/components/comment-all-participants/index.css +0 -83
- package/dist/basic-sdk/comment/components/comment-all-participants/index.js +0 -67
- package/dist/basic-sdk/comment/components/comment-all-participants/participant-avatar.js +0 -43
- package/dist/basic-sdk/comment/components/comment-context-menu/index.css +0 -16
- package/dist/basic-sdk/comment/components/comment-context-menu/index.js +0 -43
- package/dist/basic-sdk/comment/components/comment-context-menu/menu-item.js +0 -57
- package/dist/basic-sdk/comment/components/comment-delete-popover.js +0 -80
- package/dist/basic-sdk/comment/components/comment-item-collapse-wrapper.js +0 -160
- package/dist/basic-sdk/comment/components/comment-item-content.js +0 -154
- package/dist/basic-sdk/comment/components/comment-item-reply.js +0 -124
- package/dist/basic-sdk/comment/components/comment-item-resolved-reply.js +0 -38
- package/dist/basic-sdk/comment/components/comment-item-wrapper.js +0 -364
- package/dist/basic-sdk/comment/components/comment-list.css +0 -422
- package/dist/basic-sdk/comment/components/comment-list.js +0 -216
- package/dist/basic-sdk/comment/components/comment-operation/index.css +0 -26
- package/dist/basic-sdk/comment/components/comment-operation/index.js +0 -31
- package/dist/basic-sdk/comment/components/comment-participants-editor/index.css +0 -132
- package/dist/basic-sdk/comment/components/comment-participants-editor/index.js +0 -69
- package/dist/basic-sdk/comment/components/comment-participants-editor/searched-collaborators.js +0 -62
- package/dist/basic-sdk/comment/components/comment-participants-editor/selected-participants.js +0 -48
- package/dist/basic-sdk/comment/components/editor-comment.js +0 -183
- package/dist/basic-sdk/comment/components/elements-comment-count/element-comment-count.js +0 -64
- package/dist/basic-sdk/comment/components/elements-comment-count/index.css +0 -29
- package/dist/basic-sdk/comment/components/elements-comment-count/index.js +0 -49
- package/dist/basic-sdk/comment/components/global-comment/global-comment-body-header.js +0 -88
- package/dist/basic-sdk/comment/components/global-comment/global-comment-header.js +0 -89
- package/dist/basic-sdk/comment/components/global-comment/index.css +0 -328
- package/dist/basic-sdk/comment/components/global-comment/index.js +0 -217
- package/dist/basic-sdk/comment/components/index.js +0 -21
- package/dist/basic-sdk/comment/components/style.css +0 -40
- package/dist/basic-sdk/comment/helper.js +0 -184
- package/dist/basic-sdk/comment/hooks/comment-hooks/use-comment-context.js +0 -20
- package/dist/basic-sdk/comment/hooks/comment-hooks/use-comment-list.js +0 -45
- package/dist/basic-sdk/comment/hooks/comment-hooks/use-comment-mount.js +0 -57
- package/dist/basic-sdk/comment/hooks/notification-hooks/index.js +0 -25
- package/dist/basic-sdk/comment/hooks/notification-hooks/use-notification-context.js +0 -20
- package/dist/basic-sdk/comment/hooks/notification-hooks/use-notification-mount.js +0 -70
- package/dist/basic-sdk/comment/hooks/use-participants.js +0 -26
- package/dist/basic-sdk/comment/index.js +0 -21
- package/dist/basic-sdk/comment/reducer/comment-reducer.js +0 -353
- package/dist/basic-sdk/comment/reducer/notification-reducer.js +0 -89
- package/dist/basic-sdk/comment/utils/get-event-transfer.js +0 -77
- package/dist/basic-sdk/comment/utils/index.js +0 -281
- package/dist/basic-sdk/comment/utils/notification-utils.js +0 -62
- package/dist/basic-sdk/layout/comment-layout/index.css +0 -15
- package/dist/basic-sdk/layout/comment-layout/index.js +0 -87
- package/dist/basic-sdk/layout/comment-layout/resize-width/index.css +0 -38
- package/dist/basic-sdk/layout/comment-layout/resize-width/index.js +0 -132
- package/dist/basic-sdk/layout/editor-container.js +0 -32
- package/dist/basic-sdk/layout/index.js +0 -13
- package/dist/basic-sdk/socket/helpers.js +0 -299
- package/dist/basic-sdk/socket/index.js +0 -20
- package/dist/basic-sdk/socket/socket-client.js +0 -211
- package/dist/basic-sdk/socket/socket-manager.js +0 -386
- package/dist/basic-sdk/socket/with-socket-io.js +0 -73
- /package/dist/basic-sdk/comment/{constants/index.js → constants.js} +0 -0
package/dist/basic-sdk/index.js
CHANGED
|
@@ -4,10 +4,10 @@ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefau
|
|
|
4
4
|
Object.defineProperty(exports, "__esModule", {
|
|
5
5
|
value: true
|
|
6
6
|
});
|
|
7
|
-
Object.defineProperty(exports, "
|
|
7
|
+
Object.defineProperty(exports, "CommentEditor", {
|
|
8
8
|
enumerable: true,
|
|
9
9
|
get: function () {
|
|
10
|
-
return
|
|
10
|
+
return _commentEditor.default;
|
|
11
11
|
}
|
|
12
12
|
});
|
|
13
13
|
Object.defineProperty(exports, "CommentProvider", {
|
|
@@ -148,26 +148,19 @@ Object.defineProperty(exports, "withNodeId", {
|
|
|
148
148
|
return _nodeId.default;
|
|
149
149
|
}
|
|
150
150
|
});
|
|
151
|
-
Object.defineProperty(exports, "withSocketIO", {
|
|
152
|
-
enumerable: true,
|
|
153
|
-
get: function () {
|
|
154
|
-
return _socket.withSocketIO;
|
|
155
|
-
}
|
|
156
|
-
});
|
|
157
151
|
var _fileLoading = _interopRequireDefault(require("./components/file-loading"));
|
|
158
152
|
var _loading = _interopRequireDefault(require("./components/loading"));
|
|
159
153
|
var _toast = _interopRequireDefault(require("./components/toast"));
|
|
160
154
|
var _tooltip = _interopRequireDefault(require("./components/tooltip"));
|
|
161
155
|
var _constants = require("./constants");
|
|
162
156
|
var _context = _interopRequireDefault(require("./context"));
|
|
157
|
+
var _commentEditor = _interopRequireDefault(require("./editor/comment-editor"));
|
|
163
158
|
var _extension = require("./extension");
|
|
164
159
|
var _dropdownMenuItem = _interopRequireDefault(require("./extension/commons/dropdown-menu-item"));
|
|
165
160
|
var _menuShortcutIndicator = _interopRequireDefault(require("./extension/commons/menu-shortcut-indicator"));
|
|
166
161
|
var _useComment = require("./hooks/use-comment");
|
|
167
|
-
var _commentLayout = _interopRequireDefault(require("./layout/comment-layout"));
|
|
168
162
|
var _nodeId = _interopRequireDefault(require("./node-id"));
|
|
169
163
|
var _slateConvert = require("./slate-convert");
|
|
170
|
-
var _socket = require("./socket");
|
|
171
164
|
var _commonUtils = require("./utils/common-utils");
|
|
172
165
|
var _eventBus = _interopRequireDefault(require("./utils/event-bus"));
|
|
173
166
|
var _localStorageUtils = _interopRequireDefault(require("./utils/local-storage-utils"));
|
package/dist/index.js
CHANGED
|
@@ -22,18 +22,6 @@ Object.defineProperty(exports, "SeafileCommentEditor", {
|
|
|
22
22
|
return _seafileCommentEditor.default;
|
|
23
23
|
}
|
|
24
24
|
});
|
|
25
|
-
Object.defineProperty(exports, "createCommentEditor", {
|
|
26
|
-
enumerable: true,
|
|
27
|
-
get: function () {
|
|
28
|
-
return _basicSdk.createCommentEditor;
|
|
29
|
-
}
|
|
30
|
-
});
|
|
31
|
-
Object.defineProperty(exports, "withNodeId", {
|
|
32
|
-
enumerable: true,
|
|
33
|
-
get: function () {
|
|
34
|
-
return _basicSdk.withNodeId;
|
|
35
|
-
}
|
|
36
|
-
});
|
|
37
25
|
var _basicSdk = require("./basic-sdk");
|
|
38
26
|
var _constants = require("./constants");
|
|
39
27
|
var _seafileCommentEditor = _interopRequireDefault(require("./pages/seafile-comment-editor"));
|
|
@@ -1,36 +1,56 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
3
|
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
|
|
4
|
-
var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard").default;
|
|
5
4
|
Object.defineProperty(exports, "__esModule", {
|
|
6
5
|
value: true
|
|
7
6
|
});
|
|
8
7
|
exports.default = void 0;
|
|
9
|
-
var _react =
|
|
8
|
+
var _react = _interopRequireDefault(require("react"));
|
|
10
9
|
var _reactI18next = require("react-i18next");
|
|
11
10
|
var _basicSdk = require("../basic-sdk");
|
|
12
11
|
var _errorBoundary = _interopRequireDefault(require("../components/error-boundary"));
|
|
13
12
|
const SeafileCommentEditor = _ref => {
|
|
14
13
|
let {
|
|
15
|
-
|
|
16
|
-
|
|
14
|
+
// Provider
|
|
15
|
+
type,
|
|
16
|
+
// comment or replay
|
|
17
|
+
userInfo,
|
|
17
18
|
className = '',
|
|
19
|
+
pluginName = '',
|
|
20
|
+
// sdoc or wiki or txt ...
|
|
18
21
|
pluginEventBus,
|
|
19
22
|
pluginEvent,
|
|
20
|
-
|
|
21
|
-
|
|
23
|
+
// Comment editor
|
|
24
|
+
content,
|
|
25
|
+
updateContent,
|
|
26
|
+
insertContent,
|
|
27
|
+
onContentChange,
|
|
28
|
+
hiddenUserInfo,
|
|
29
|
+
hiddenComment,
|
|
30
|
+
closeComment,
|
|
31
|
+
setIsEditing,
|
|
32
|
+
addParticipants,
|
|
33
|
+
// api
|
|
34
|
+
api
|
|
22
35
|
} = _ref;
|
|
23
|
-
_basicSdk.context.init();
|
|
36
|
+
_basicSdk.context.init(api);
|
|
24
37
|
return /*#__PURE__*/_react.default.createElement(_errorBoundary.default, null, /*#__PURE__*/_react.default.createElement(_basicSdk.CommentProvider, {
|
|
25
|
-
|
|
26
|
-
|
|
38
|
+
type: type,
|
|
39
|
+
userInfo: userInfo,
|
|
27
40
|
className: className,
|
|
41
|
+
pluginName: pluginName,
|
|
28
42
|
pluginEventBus: pluginEventBus,
|
|
29
|
-
pluginEvent: pluginEvent
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
43
|
+
pluginEvent: pluginEvent
|
|
44
|
+
}, /*#__PURE__*/_react.default.createElement(_basicSdk.CommentEditor, {
|
|
45
|
+
content: content,
|
|
46
|
+
updateContent: updateContent,
|
|
47
|
+
insertContent: insertContent,
|
|
48
|
+
onContentChange: onContentChange,
|
|
49
|
+
hiddenUserInfo: hiddenUserInfo,
|
|
50
|
+
hiddenComment: hiddenComment,
|
|
51
|
+
closeComment: closeComment,
|
|
52
|
+
setIsEditing: setIsEditing,
|
|
53
|
+
addParticipants: addParticipants
|
|
34
54
|
})));
|
|
35
55
|
};
|
|
36
56
|
var _default = exports.default = (0, _reactI18next.withTranslation)('sdoc-editor')(SeafileCommentEditor);
|
package/package.json
CHANGED
|
@@ -1,83 +0,0 @@
|
|
|
1
|
-
.comment-drawer .comments-panel-body__header .comments-participants-container {
|
|
2
|
-
width: fit-content;
|
|
3
|
-
max-width: 100%;
|
|
4
|
-
height: 42px;
|
|
5
|
-
padding-top: 6px;
|
|
6
|
-
display: flex;
|
|
7
|
-
align-items: center;
|
|
8
|
-
position: relative;
|
|
9
|
-
}
|
|
10
|
-
|
|
11
|
-
.comment-drawer .comments-panel-body__header .comments-participants-editor-target {
|
|
12
|
-
position: absolute;
|
|
13
|
-
left: -1px;
|
|
14
|
-
top: 0;
|
|
15
|
-
z-index: -1;
|
|
16
|
-
height: 100%;
|
|
17
|
-
width: 1px;
|
|
18
|
-
background-color: transparent;
|
|
19
|
-
}
|
|
20
|
-
|
|
21
|
-
.comment-drawer .comments-panel-body__header .comment-participant-avatar {
|
|
22
|
-
border-radius: 50%;
|
|
23
|
-
vertical-align: middle;
|
|
24
|
-
margin-right: -0.5rem;
|
|
25
|
-
}
|
|
26
|
-
|
|
27
|
-
.comment-drawer .comments-panel-body__header .comment-participant-avatar img {
|
|
28
|
-
width: 28px;
|
|
29
|
-
height: 28px;
|
|
30
|
-
border: 2px solid #fff;
|
|
31
|
-
line-height: 2rem;
|
|
32
|
-
border-radius: 50%;
|
|
33
|
-
display: inline-block;
|
|
34
|
-
background: #ced4da no-repeat center/cover;
|
|
35
|
-
position: relative;
|
|
36
|
-
text-align: center;
|
|
37
|
-
color: #868e96;
|
|
38
|
-
font-weight: 600;
|
|
39
|
-
vertical-align: bottom;
|
|
40
|
-
font-size: .875rem;
|
|
41
|
-
user-select: none;
|
|
42
|
-
}
|
|
43
|
-
|
|
44
|
-
.comment-drawer .comments-panel-body__header .add-comments-participants {
|
|
45
|
-
position: relative;
|
|
46
|
-
bottom: -3px;
|
|
47
|
-
cursor: pointer;
|
|
48
|
-
margin-right: -0.5rem;
|
|
49
|
-
height: 20px;
|
|
50
|
-
width: 20px;
|
|
51
|
-
background-color: #fff;
|
|
52
|
-
border: 1px solid #fff;
|
|
53
|
-
border-radius: 50%;
|
|
54
|
-
display: flex;
|
|
55
|
-
align-items: center;
|
|
56
|
-
justify-content: center;
|
|
57
|
-
}
|
|
58
|
-
|
|
59
|
-
.comment-drawer .add-comments-participants .sdocfont {
|
|
60
|
-
font-size: 16px;
|
|
61
|
-
color: #ff8000;
|
|
62
|
-
border-radius: 50%;
|
|
63
|
-
}
|
|
64
|
-
|
|
65
|
-
.comment-drawer .comment-participants-more {
|
|
66
|
-
position: absolute;
|
|
67
|
-
top: 0;
|
|
68
|
-
left: 0;
|
|
69
|
-
width: 28px;
|
|
70
|
-
height: 28px;
|
|
71
|
-
border-radius: 50%;
|
|
72
|
-
display: flex;
|
|
73
|
-
align-items: center;
|
|
74
|
-
justify-content: center;
|
|
75
|
-
overflow: hidden;
|
|
76
|
-
background-color: rgba(0, 0, 0, .6);
|
|
77
|
-
border: 2px solid #fff;
|
|
78
|
-
}
|
|
79
|
-
|
|
80
|
-
.comment-drawer .comment-participants-more .sdocfont {
|
|
81
|
-
color: #fff;
|
|
82
|
-
font-size: 12px;
|
|
83
|
-
}
|
|
@@ -1,67 +0,0 @@
|
|
|
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 _reactI18next = require("react-i18next");
|
|
11
|
-
var _slateReact = require("@seafile/slate-react");
|
|
12
|
-
var _tooltip = _interopRequireDefault(require("../../../components/tooltip"));
|
|
13
|
-
var _useParticipants = require("../../hooks/use-participants");
|
|
14
|
-
var _commentParticipantsEditor = _interopRequireDefault(require("../comment-participants-editor"));
|
|
15
|
-
var _participantAvatar = _interopRequireDefault(require("./participant-avatar"));
|
|
16
|
-
require("./index.css");
|
|
17
|
-
const CommentAllParticipants = () => {
|
|
18
|
-
const popoverRef = (0, _react.useRef)();
|
|
19
|
-
const {
|
|
20
|
-
participants
|
|
21
|
-
} = (0, _useParticipants.useParticipantsContext)();
|
|
22
|
-
const editor = (0, _slateReact.useSlateStatic)();
|
|
23
|
-
const {
|
|
24
|
-
t
|
|
25
|
-
} = (0, _reactI18next.useTranslation)('sdoc-editor');
|
|
26
|
-
const addParticipantId = 'sdoc-add-participants';
|
|
27
|
-
const commentsParticipantsId = 'sdoc-comments-participants';
|
|
28
|
-
const [isDidMount, setDidMount] = (0, _react.useState)(false);
|
|
29
|
-
(0, _react.useEffect)(() => {
|
|
30
|
-
setDidMount(true);
|
|
31
|
-
}, []);
|
|
32
|
-
const toggle = (0, _react.useCallback)(() => {
|
|
33
|
-
popoverRef.current && popoverRef.current.toggle();
|
|
34
|
-
|
|
35
|
-
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
36
|
-
}, [popoverRef.current]);
|
|
37
|
-
const participantsCount = participants.length;
|
|
38
|
-
return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement("div", {
|
|
39
|
-
className: "comments-participants-container"
|
|
40
|
-
}, /*#__PURE__*/_react.default.createElement("div", {
|
|
41
|
-
className: "comments-participants-editor-target",
|
|
42
|
-
id: commentsParticipantsId
|
|
43
|
-
}), participants.slice(0, 14).map((participant, index) => {
|
|
44
|
-
const {
|
|
45
|
-
username
|
|
46
|
-
} = participant;
|
|
47
|
-
return /*#__PURE__*/_react.default.createElement(_participantAvatar.default, {
|
|
48
|
-
key: username,
|
|
49
|
-
participant: participant,
|
|
50
|
-
index: index,
|
|
51
|
-
showMore: participantsCount > 13 && index === 13
|
|
52
|
-
});
|
|
53
|
-
}), /*#__PURE__*/_react.default.createElement("div", {
|
|
54
|
-
className: "add-comments-participants",
|
|
55
|
-
id: addParticipantId,
|
|
56
|
-
onClick: toggle
|
|
57
|
-
}, /*#__PURE__*/_react.default.createElement("i", {
|
|
58
|
-
className: "sdocfont sdoc-add"
|
|
59
|
-
})), isDidMount && /*#__PURE__*/_react.default.createElement(_tooltip.default, {
|
|
60
|
-
target: addParticipantId
|
|
61
|
-
}, t('Add_participants'))), isDidMount && /*#__PURE__*/_react.default.createElement(_commentParticipantsEditor.default, {
|
|
62
|
-
target: commentsParticipantsId,
|
|
63
|
-
ref: popoverRef,
|
|
64
|
-
editor: editor
|
|
65
|
-
}));
|
|
66
|
-
};
|
|
67
|
-
var _default = exports.default = CommentAllParticipants;
|
|
@@ -1,43 +0,0 @@
|
|
|
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 _classnames = _interopRequireDefault(require("classnames"));
|
|
11
|
-
var _tooltip = _interopRequireDefault(require("../../../components/tooltip"));
|
|
12
|
-
const ParticipantAvatar = _ref => {
|
|
13
|
-
let {
|
|
14
|
-
participant,
|
|
15
|
-
index,
|
|
16
|
-
showMore
|
|
17
|
-
} = _ref;
|
|
18
|
-
const [showTooltip, setShowTooltip] = (0, _react.useState)(false);
|
|
19
|
-
(0, _react.useEffect)(() => {
|
|
20
|
-
setShowTooltip(true);
|
|
21
|
-
}, []);
|
|
22
|
-
const {
|
|
23
|
-
name,
|
|
24
|
-
avatar_url
|
|
25
|
-
} = participant;
|
|
26
|
-
const id = `comment-participant-avatar-${index}-${Math.floor(Math.random() * 1000)}`;
|
|
27
|
-
return /*#__PURE__*/_react.default.createElement("div", {
|
|
28
|
-
className: (0, _classnames.default)('comment-participant-avatar', {
|
|
29
|
-
'position-relative': showMore
|
|
30
|
-
}),
|
|
31
|
-
id: id
|
|
32
|
-
}, /*#__PURE__*/_react.default.createElement("img", {
|
|
33
|
-
src: avatar_url,
|
|
34
|
-
alt: ""
|
|
35
|
-
}), showTooltip && /*#__PURE__*/_react.default.createElement(_tooltip.default, {
|
|
36
|
-
target: id
|
|
37
|
-
}, name), showMore && /*#__PURE__*/_react.default.createElement("div", {
|
|
38
|
-
className: "comment-participants-more"
|
|
39
|
-
}, /*#__PURE__*/_react.default.createElement("i", {
|
|
40
|
-
className: "sdocfont sdoc-more"
|
|
41
|
-
})));
|
|
42
|
-
};
|
|
43
|
-
var _default = exports.default = ParticipantAvatar;
|
|
@@ -1,16 +0,0 @@
|
|
|
1
|
-
.menu-group-item.sdoc-comment-menu-container {
|
|
2
|
-
width: auto;
|
|
3
|
-
color: #212529;
|
|
4
|
-
font-size: 14px;
|
|
5
|
-
}
|
|
6
|
-
|
|
7
|
-
.sdoc-comment-menu-item .sdoc-comments {
|
|
8
|
-
margin-right: 4px;
|
|
9
|
-
}
|
|
10
|
-
|
|
11
|
-
.sdoc-context-menu-divider {
|
|
12
|
-
margin-right: 8px;
|
|
13
|
-
border-left: 1px solid #e5e5e5;
|
|
14
|
-
width: 1px;
|
|
15
|
-
height: 24px;
|
|
16
|
-
}
|
|
@@ -1,43 +0,0 @@
|
|
|
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 _constants = require("../../../constants");
|
|
11
|
-
var _eventBus = _interopRequireDefault(require("../../../utils/event-bus"));
|
|
12
|
-
var _menuItem = _interopRequireDefault(require("./menu-item"));
|
|
13
|
-
require("./index.css");
|
|
14
|
-
const CommentContextMenu = _ref => {
|
|
15
|
-
let {
|
|
16
|
-
isRichEditor
|
|
17
|
-
} = _ref;
|
|
18
|
-
const onCommentClick = (0, _react.useCallback)(event => {
|
|
19
|
-
// Make context toolbar disappear
|
|
20
|
-
const contextToolBarDom = document.querySelector('.sdoc-context-toolbar');
|
|
21
|
-
if (contextToolBarDom) {
|
|
22
|
-
contextToolBarDom.removeAttribute('style');
|
|
23
|
-
}
|
|
24
|
-
const eventBus = _eventBus.default.getInstance();
|
|
25
|
-
eventBus.dispatch(_constants.INTERNAL_EVENT.ADD_CONTEXT_COMMENT);
|
|
26
|
-
}, []);
|
|
27
|
-
const commentProps = {
|
|
28
|
-
id: 'context-toolbar-comment',
|
|
29
|
-
isRichEditor,
|
|
30
|
-
className: 'menu-group-item sdoc-comment-menu-container',
|
|
31
|
-
disabled: false,
|
|
32
|
-
isActive: false,
|
|
33
|
-
onMouseDown: onCommentClick,
|
|
34
|
-
iconClass: 'sdocfont sdoc-comments',
|
|
35
|
-
text: 'Comment',
|
|
36
|
-
ariaLabel: 'Add_Comment',
|
|
37
|
-
type: 'sdoc-add-comment'
|
|
38
|
-
};
|
|
39
|
-
return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement("div", {
|
|
40
|
-
className: "sdoc-context-menu-divider"
|
|
41
|
-
}), /*#__PURE__*/_react.default.createElement(_menuItem.default, commentProps));
|
|
42
|
-
};
|
|
43
|
-
var _default = exports.default = CommentContextMenu;
|
|
@@ -1,57 +0,0 @@
|
|
|
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 _reactI18next = require("react-i18next");
|
|
11
|
-
var _classnames = _interopRequireDefault(require("classnames"));
|
|
12
|
-
var _tooltip = _interopRequireDefault(require("../../../components/tooltip"));
|
|
13
|
-
const MenuItem = _ref => {
|
|
14
|
-
let {
|
|
15
|
-
isRichEditor = true,
|
|
16
|
-
className = 'menu-group-item',
|
|
17
|
-
disabled,
|
|
18
|
-
isActive,
|
|
19
|
-
type,
|
|
20
|
-
onMouseDown,
|
|
21
|
-
id,
|
|
22
|
-
text,
|
|
23
|
-
ariaLabel,
|
|
24
|
-
iconClass
|
|
25
|
-
} = _ref;
|
|
26
|
-
const {
|
|
27
|
-
t
|
|
28
|
-
} = (0, _reactI18next.useTranslation)('sdoc-editor');
|
|
29
|
-
const onClick = (0, _react.useCallback)(event => {
|
|
30
|
-
if (disabled) return;
|
|
31
|
-
onMouseDown(event, type);
|
|
32
|
-
|
|
33
|
-
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
34
|
-
}, [disabled, type]);
|
|
35
|
-
const validClassName = (0, _classnames.default)('', className, {
|
|
36
|
-
'btn btn-icon btn-secondary btn-active': !isRichEditor,
|
|
37
|
-
'rich-icon-btn': isRichEditor,
|
|
38
|
-
'rich-icon-btn-disabled': isRichEditor && disabled,
|
|
39
|
-
'rich-icon-btn-hover': isRichEditor && !disabled
|
|
40
|
-
});
|
|
41
|
-
return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement("button", {
|
|
42
|
-
id: id,
|
|
43
|
-
type: "button",
|
|
44
|
-
"aria-label": ariaLabel,
|
|
45
|
-
className: validClassName,
|
|
46
|
-
disabled: disabled,
|
|
47
|
-
"data-active": isActive,
|
|
48
|
-
onClick: onClick
|
|
49
|
-
}, /*#__PURE__*/_react.default.createElement("span", {
|
|
50
|
-
className: "sdoc-comment-menu-item"
|
|
51
|
-
}, /*#__PURE__*/_react.default.createElement("span", {
|
|
52
|
-
className: iconClass
|
|
53
|
-
}), /*#__PURE__*/_react.default.createElement("span", null, t(text)))), /*#__PURE__*/_react.default.createElement(_tooltip.default, {
|
|
54
|
-
target: id
|
|
55
|
-
}, t(ariaLabel)));
|
|
56
|
-
};
|
|
57
|
-
var _default = exports.default = MenuItem;
|
|
@@ -1,80 +0,0 @@
|
|
|
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 _reactI18next = require("react-i18next");
|
|
11
|
-
var _reactstrap = require("reactstrap");
|
|
12
|
-
var _isHotkey = _interopRequireDefault(require("is-hotkey"));
|
|
13
|
-
var _utils = require("../utils");
|
|
14
|
-
require("./comment-list.css");
|
|
15
|
-
const CommentDeletePopover = _ref => {
|
|
16
|
-
let {
|
|
17
|
-
type,
|
|
18
|
-
setIsShowDeletePopover,
|
|
19
|
-
deleteConfirm,
|
|
20
|
-
targetId,
|
|
21
|
-
parentDom
|
|
22
|
-
} = _ref;
|
|
23
|
-
const popoverRef = (0, _react.useRef)(null);
|
|
24
|
-
const hide = (0, _react.useCallback)(event => {
|
|
25
|
-
if (popoverRef.current && !(0, _utils.getEventClassName)(event).includes('popover') && !popoverRef.current.contains(event.target)) {
|
|
26
|
-
setIsShowDeletePopover(false);
|
|
27
|
-
event.preventDefault();
|
|
28
|
-
event.stopPropagation();
|
|
29
|
-
return false;
|
|
30
|
-
}
|
|
31
|
-
}, [setIsShowDeletePopover]);
|
|
32
|
-
const onHotKey = (0, _react.useCallback)(event => {
|
|
33
|
-
if ((0, _isHotkey.default)('esc', event)) {
|
|
34
|
-
event.preventDefault();
|
|
35
|
-
setIsShowDeletePopover(false);
|
|
36
|
-
}
|
|
37
|
-
}, [setIsShowDeletePopover]);
|
|
38
|
-
(0, _react.useEffect)(() => {
|
|
39
|
-
document.addEventListener('click', hide, true);
|
|
40
|
-
document.addEventListener('keydown', onHotKey);
|
|
41
|
-
return () => {
|
|
42
|
-
document.removeEventListener('click', hide, true);
|
|
43
|
-
document.removeEventListener('keydown', onHotKey);
|
|
44
|
-
};
|
|
45
|
-
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
46
|
-
}, []);
|
|
47
|
-
const {
|
|
48
|
-
t
|
|
49
|
-
} = (0, _reactI18next.useTranslation)('sdoc-editor');
|
|
50
|
-
const onDeleteCancel = (0, _react.useCallback)(event => {
|
|
51
|
-
event.stopPropagation();
|
|
52
|
-
setIsShowDeletePopover(false);
|
|
53
|
-
}, [setIsShowDeletePopover]);
|
|
54
|
-
const handleConfirm = (0, _react.useCallback)(event => {
|
|
55
|
-
event.stopPropagation();
|
|
56
|
-
deleteConfirm();
|
|
57
|
-
}, [deleteConfirm]);
|
|
58
|
-
return /*#__PURE__*/_react.default.createElement(_reactstrap.UncontrolledPopover, {
|
|
59
|
-
container: parentDom,
|
|
60
|
-
target: targetId,
|
|
61
|
-
onClick: event => event.stopPropagation(),
|
|
62
|
-
placement: "left",
|
|
63
|
-
className: "comment-delete-popover",
|
|
64
|
-
isOpen: true
|
|
65
|
-
}, /*#__PURE__*/_react.default.createElement("div", {
|
|
66
|
-
className: "comment-delete-popover-container",
|
|
67
|
-
ref: popoverRef
|
|
68
|
-
}, /*#__PURE__*/_react.default.createElement("div", {
|
|
69
|
-
className: "delete-tip"
|
|
70
|
-
}, t(`Are_you_sure_to_delete_this_${type === 'comment' ? 'comment' : 'reply'}`)), /*#__PURE__*/_react.default.createElement("div", {
|
|
71
|
-
className: "delete-control mt-5"
|
|
72
|
-
}, /*#__PURE__*/_react.default.createElement("button", {
|
|
73
|
-
className: "btn btn-secondary mr-2",
|
|
74
|
-
onClick: onDeleteCancel
|
|
75
|
-
}, t('Cancel')), /*#__PURE__*/_react.default.createElement("button", {
|
|
76
|
-
className: "btn btn-primary",
|
|
77
|
-
onClick: handleConfirm
|
|
78
|
-
}, t('Confirm')))));
|
|
79
|
-
};
|
|
80
|
-
var _default = exports.default = CommentDeletePopover;
|