@seafile/comment-editor 0.0.1-alpha.6 → 0.0.1-alpha.7

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.
@@ -18,13 +18,13 @@ var _context = _interopRequireDefault(require("../context"));
18
18
  var _useCursors = require("../cursor/use-cursors");
19
19
  var _decorates = require("../decorates");
20
20
  var _extension = require("../extension");
21
+ var _insertElementDialog = _interopRequireDefault(require("../extension/commons/insert-element-dialog"));
21
22
  var _constants2 = require("../extension/constants");
22
23
  var _core = require("../extension/core");
23
24
  var _renderCommentEditorElement = _interopRequireDefault(require("../extension/render/render-comment-editor-element"));
24
25
  var _commentEditorToolbar = _interopRequireDefault(require("../extension/toolbar/comment-editor-toolbar"));
25
26
  var _useComment = require("../hooks/use-comment");
26
27
  var _useScrollContext = require("../hooks/use-scroll-context");
27
- var _layout = require("../layout");
28
28
  var _nodeId = _interopRequireDefault(require("../node-id"));
29
29
  var _mdToSlate = _interopRequireDefault(require("../slate-convert/md-to-slate"));
30
30
  var _slateToMd = _interopRequireDefault(require("../slate-convert/slate-to-md"));
@@ -282,6 +282,8 @@ const CommentEditor = _ref => {
282
282
  onSubmit: onSubmit,
283
283
  submitBtnText: t(submitTip),
284
284
  onCancel: onCancel
285
- }))));
285
+ }))), /*#__PURE__*/_react.default.createElement(_insertElementDialog.default, {
286
+ editor: editor
287
+ }));
286
288
  };
287
289
  var _default = exports.default = CommentEditor;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@seafile/comment-editor",
3
- "version": "0.0.1-alpha.6",
3
+ "version": "0.0.1-alpha.7",
4
4
  "private": false,
5
5
  "description": "This is a comment editor",
6
6
  "main": "dist/index.js",
@@ -1,15 +0,0 @@
1
- .comment-layout-wrapper {
2
- display: flex;
3
- flex-direction: row;
4
- max-width: 620px;
5
- min-width: 360px;
6
- position: relative;
7
- right: 0;
8
- }
9
-
10
- .comment-layout-wrapper .sdoc-content-right-panel {
11
- width: 100%;
12
- height: 100%;
13
- overflow: hidden;
14
- border-left: 1px solid #d8d8d8;
15
- }
@@ -1,87 +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 _comment = _interopRequireDefault(require("../../comment"));
11
- var _constants = require("../../constants");
12
- var _useComment = require("../../hooks/use-comment");
13
- var _eventBus = _interopRequireDefault(require("../../utils/event-bus"));
14
- var _localStorageUtils = _interopRequireDefault(require("../../utils/local-storage-utils"));
15
- var _resizeWidth = _interopRequireDefault(require("./resize-width"));
16
- require("./index.css");
17
- const MIN_PANEL_WIDTH = 360;
18
- const MAX_PANEL_WIDTH = 620;
19
- const CommentLayout = _ref => {
20
- let {
21
- editor
22
- } = _ref;
23
- const {
24
- className,
25
- pluginName,
26
- pluginEventBus,
27
- pluginEvent
28
- } = (0, _useComment.useComment)();
29
- const [width, setWidth] = (0, _react.useState)(MIN_PANEL_WIDTH);
30
- const panelWrapperStyle = (0, _react.useMemo)(() => {
31
- if (!pluginName) return null;
32
- let style = {
33
- width,
34
- zIndex: 101
35
- };
36
- if (!style.width || style.width < MIN_PANEL_WIDTH) {
37
- style.width = MIN_PANEL_WIDTH;
38
- } else if (style.width > MAX_PANEL_WIDTH) {
39
- style.width = MAX_PANEL_WIDTH;
40
- }
41
- return style;
42
- }, [width, pluginName]);
43
- const resizeWidth = (0, _react.useCallback)(width => {
44
- setWidth(width);
45
- }, []);
46
- const resizeWidthEnd = (0, _react.useCallback)(width => {
47
- const settings = _localStorageUtils.default.getItem(_constants.SDOC_STORAGE) || {};
48
- _localStorageUtils.default.setItem(_constants.SDOC_STORAGE, JSON.stringify({
49
- ...settings,
50
- panelWidth: width
51
- }));
52
- const eventBus = _eventBus.default.getInstance();
53
- eventBus.dispatch(_constants.INTERNAL_EVENT.RESIZE_ARTICLE);
54
- }, []);
55
- (0, _react.useEffect)(() => {
56
- const isShowGlobalComments = pluginName === 'sdoc' ? true : false;
57
- const settings = _localStorageUtils.default.getItem(_constants.SDOC_STORAGE) || {};
58
- _localStorageUtils.default.setItem(_constants.SDOC_STORAGE, {
59
- ...settings,
60
- isShowGlobalComments
61
- });
62
- const eventBus = pluginEventBus.getInstance();
63
- eventBus.dispatch(pluginEvent.RESIZE_ARTICLE);
64
- }, [pluginEvent.RESIZE_ARTICLE, pluginEventBus, pluginName]);
65
- (0, _react.useEffect)(() => {
66
- const settings = _localStorageUtils.default.getItem(_constants.SDOC_STORAGE) || {};
67
- const {
68
- panelWidth
69
- } = settings;
70
- const width = Math.max(MIN_PANEL_WIDTH, Math.min(parseInt(panelWidth, 10) || MIN_PANEL_WIDTH, MAX_PANEL_WIDTH));
71
- setWidth(width);
72
- }, []);
73
- return /*#__PURE__*/_react.default.createElement("div", {
74
- className: `comment-layout-wrapper ${className}`,
75
- style: panelWrapperStyle
76
- }, /*#__PURE__*/_react.default.createElement(_resizeWidth.default, {
77
- minWidth: MIN_PANEL_WIDTH,
78
- maxWidth: MAX_PANEL_WIDTH,
79
- resizeWidth: resizeWidth,
80
- resizeWidthEnd: resizeWidthEnd
81
- }), /*#__PURE__*/_react.default.createElement(_comment.default, {
82
- editor: editor,
83
- type: "global",
84
- width: width
85
- }));
86
- };
87
- var _default = exports.default = CommentLayout;
@@ -1,38 +0,0 @@
1
- .comment-layout-resize-width-handler {
2
- height: 100%;
3
- position: absolute;
4
- right: 0;
5
- top: 0;
6
- width: 6px;
7
- }
8
-
9
- .comment-layout-resize-width-handler.resize-handler-placement-right {
10
- left: 0;
11
- right: auto;
12
- }
13
-
14
- .comment-layout-resize-width-handler:hover {
15
- cursor: col-resize;
16
- }
17
-
18
- .comment-layout-resize-width-handler .comment-layout-resize-width-handler-content {
19
- background-color: initial;
20
- height: 100%;
21
- position: relative;
22
- width: 2px;
23
- }
24
-
25
- .comment-layout-resize-width-handler:hover .comment-layout-resize-width-handler-content {
26
- background-color: #ccc;
27
- }
28
-
29
- .comment-layout-resize-width-handler .comment-layout-resize-width-handler-bar {
30
- background-color: #2d7ff9;
31
- border-radius: 3px;
32
- content: "";
33
- left: 50%;
34
- margin-left: -3px;
35
- position: absolute;
36
- width: 6px;
37
- }
38
-
@@ -1,132 +0,0 @@
1
- "use strict";
2
-
3
- var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard").default;
4
- Object.defineProperty(exports, "__esModule", {
5
- value: true
6
- });
7
- exports.default = void 0;
8
- var _react = _interopRequireWildcard(require("react"));
9
- require("./index.css");
10
- const ResizeWidth = _ref => {
11
- let {
12
- minWidth,
13
- maxWidth,
14
- resizeWidth: resizeWidthAPI,
15
- resizeWidthEnd
16
- } = _ref;
17
- const [isShowHandlerBar, setIsShowHandlerBar] = (0, _react.useState)(false);
18
- const [drag, setDrag] = (0, _react.useState)(null);
19
- const handlerRef = (0, _react.useRef)(null);
20
- const handlerBarRef = (0, _react.useRef)(null);
21
- const setHandlerBarTop = handlerTop => {
22
- if (!handlerBarRef.current || handlerTop < 0) return;
23
- handlerBarRef.current.style.top = handlerTop + 'px';
24
- };
25
- const setHandlerBarPosition = event => {
26
- if (!handlerRef.current) return;
27
- const {
28
- top
29
- } = handlerRef.current.getBoundingClientRect();
30
- const handlerTop = event.pageY - top - 26 / 2;
31
- setHandlerBarTop(handlerTop);
32
- };
33
- const getWidthFromMouseEvent = event => {
34
- return event.pageX || event.touches && event.touches[0] && event.touches[0].pageX || event.changedTouches && event.changedTouches[event.changedTouches.length - 1].pageX;
35
- };
36
- const calculateResizedWidth = event => {
37
- const width = getWidthFromMouseEvent(event);
38
- const resizedWidth = document.body.clientWidth - width;
39
- if (minWidth && resizedWidth < minWidth || maxWidth && resizedWidth > maxWidth) return -1;
40
- return resizedWidth;
41
- };
42
- const onResizeWidth = event => {
43
- const resizedWidth = calculateResizedWidth(event);
44
- if (resizedWidth < 0) return;
45
- if (resizeWidthAPI) {
46
- resizeWidthAPI(resizedWidth);
47
- }
48
- };
49
- const onDrag = event => {
50
- onResizeWidth(event);
51
- };
52
- const onDragStart = (0, _react.useCallback)(event => {
53
- if (event && event.dataTransfer && event.dataTransfer.setData) {
54
- event.dataTransfer.setData('text/plain', 'dummy');
55
- }
56
- }, []);
57
- const onDragEnd = event => {
58
- onResizeWidth(event);
59
- };
60
- const onMouseLeave = () => {
61
- setIsShowHandlerBar(false);
62
- };
63
- const onMouseEnter = event => {
64
- setIsShowHandlerBar(true);
65
- setHandlerBarPosition(event);
66
- if (handlerRef.current) {
67
- handlerRef.current.addEventListener('mouseleave', onMouseLeave);
68
- }
69
- };
70
- const onMouseOver = event => {
71
- setHandlerBarPosition(event);
72
- };
73
- const onMouseDown = event => {
74
- event.preventDefault && event.preventDefault();
75
- const currDrag = onDragStart(event);
76
- if (currDrag === null && event.button !== 0) return;
77
- window.addEventListener('mouseup', onMouseUp);
78
- window.addEventListener('mousemove', onMouseMove);
79
- if (handlerRef.current) {
80
- handlerRef.current.removeEventListener('mouseleave', onMouseLeave);
81
- }
82
- setDrag(currDrag);
83
- };
84
- const onMouseMove = event => {
85
- event.preventDefault && event.preventDefault();
86
- if (!drag === null) return;
87
- onDrag(event);
88
- };
89
- const onMouseUp = event => {
90
- window.removeEventListener('mouseup', onMouseUp);
91
- window.removeEventListener('mousemove', onMouseMove);
92
- onDragEnd(event, drag);
93
- setHandlerBarTop(-9999);
94
- setDrag(null);
95
- setIsShowHandlerBar(false);
96
- if (resizeWidthEnd) {
97
- const resizeWidth = calculateResizedWidth(event);
98
- if (resizeWidth < 0) return;
99
- resizeWidthEnd(resizeWidth);
100
- }
101
- };
102
- (0, _react.useEffect)(() => {
103
- return () => {
104
- window.removeEventListener('mouseup', onMouseUp);
105
- window.removeEventListener('mousemove', onMouseMove);
106
- };
107
-
108
- // eslint-disable-next-line
109
- }, []);
110
- return /*#__PURE__*/_react.default.createElement("div", {
111
- className: "comment-layout-resize-width-handler resize-handler-placement-right",
112
- ref: handlerRef,
113
- onMouseDown: onMouseDown,
114
- onMouseOver: onMouseOver,
115
- onMouseEnter: onMouseEnter,
116
- onDrag: onDrag,
117
- onDragStart: onDragStart,
118
- onDragEnd: onDragEnd,
119
- style: {
120
- zIndex: 4
121
- }
122
- }, /*#__PURE__*/_react.default.createElement("div", {
123
- className: "comment-layout-resize-width-handler-content"
124
- }, isShowHandlerBar && /*#__PURE__*/_react.default.createElement("div", {
125
- className: "comment-layout-resize-width-handler-bar",
126
- ref: handlerBarRef,
127
- style: {
128
- height: 26
129
- }
130
- })));
131
- };
132
- var _default = exports.default = ResizeWidth;
@@ -1,32 +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 _react = _interopRequireDefault(require("react"));
9
- var _classnames = _interopRequireDefault(require("classnames"));
10
- var _commonUtils = require("../utils/common-utils");
11
- require("../assets/css/layout.css");
12
- require("../assets/css/default.css");
13
- require("../assets/css/sdoc-editor-article.css");
14
- require("../assets/css/sdoc-editor-plugins.css");
15
- require("../assets/css/sdoc-comment-editor-plugin.css");
16
- require("../assets/css/dropdown-menu.css");
17
- const EditorContainer = _ref => {
18
- let {
19
- children,
20
- readonly,
21
- fullscreen
22
- } = _ref;
23
- const className = (0, _classnames.default)('sdoc-editor-container', {
24
- 'mobile': _commonUtils.isMobile,
25
- 'readonly': readonly,
26
- 'fullscreen': fullscreen
27
- });
28
- return /*#__PURE__*/_react.default.createElement("div", {
29
- className: className
30
- }, children);
31
- };
32
- var _default = exports.default = EditorContainer;
@@ -1,13 +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
- Object.defineProperty(exports, "EditorContainer", {
8
- enumerable: true,
9
- get: function () {
10
- return _editorContainer.default;
11
- }
12
- });
13
- var _editorContainer = _interopRequireDefault(require("./editor-container"));