@seafile/sdoc-editor 3.0.67 → 3.0.69
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/assets/css/sdoc-editor-plugins.css +2 -2
- package/dist/extension/plugins/image/helpers.js +3 -1
- package/dist/extension/plugins/list/plugin/index.js +1 -2
- package/dist/extension/plugins/multi-column/constants/index.js +5 -2
- package/dist/extension/plugins/multi-column/helper.js +1 -1
- package/dist/extension/plugins/multi-column/plugin.js +16 -1
- package/dist/extension/plugins/multi-column/render/index.js +3 -2
- package/dist/extension/plugins/multi-column/resize-handlers/index.js +4 -3
- package/dist/extension/plugins/table/menu/color-selector-popover/index.js +4 -2
- package/dist/extension/plugins/table/menu/color-selector-popover/style.css +1 -1
- package/dist/extension/plugins/table/menu/horizontal-align-popover/index.js +2 -1
- package/dist/extension/plugins/table/menu/table-context-menu/index.css +5 -0
- package/dist/extension/plugins/table/menu/vertical-align-popover/index.js +2 -1
- package/package.json +2 -2
|
@@ -96,7 +96,7 @@
|
|
|
96
96
|
.sdoc-editor__article .sdoc-image-wrapper {
|
|
97
97
|
position: relative;
|
|
98
98
|
display: inline-block;
|
|
99
|
-
margin: 5px 0
|
|
99
|
+
margin: 5px 0;
|
|
100
100
|
caret-color: transparent;
|
|
101
101
|
max-width: 99%;
|
|
102
102
|
}
|
|
@@ -136,7 +136,7 @@
|
|
|
136
136
|
.sdoc-editor__article .sdoc-image-inner {
|
|
137
137
|
position: relative;
|
|
138
138
|
display: inline-block;
|
|
139
|
-
margin: 0
|
|
139
|
+
margin: 0;
|
|
140
140
|
}
|
|
141
141
|
|
|
142
142
|
.sdoc-editor__article .sdoc-image-content {
|
|
@@ -90,7 +90,9 @@ var insertImage = exports.insertImage = function insertImage(editor, imgInfos, s
|
|
|
90
90
|
});
|
|
91
91
|
var validSelection = selection || editor.selection;
|
|
92
92
|
var path = _slate.Editor.path(editor, validSelection);
|
|
93
|
-
|
|
93
|
+
// Insert image inside into multi-column node
|
|
94
|
+
var topNodeEntry = (0, _core.getTopLevelBlockNode)(editor);
|
|
95
|
+
if (position === _constants2.INSERT_POSITION.AFTER && topNodeEntry[0].type !== _constants2.MULTI_COLUMN) {
|
|
94
96
|
var p = (0, _core.generateEmptyElement)(_constants2.ELEMENT_TYPE.PARAGRAPH);
|
|
95
97
|
imageNodes.forEach(function (item, index) {
|
|
96
98
|
p.children[index] = item;
|
|
@@ -24,8 +24,7 @@ var withList = function withList(editor) {
|
|
|
24
24
|
var insertBreak = editor.insertBreak,
|
|
25
25
|
handleTab = editor.handleTab,
|
|
26
26
|
insertText = editor.insertText,
|
|
27
|
-
deleteBackward = editor.deleteBackward
|
|
28
|
-
onHotKeyDown = editor.onHotKeyDown;
|
|
27
|
+
deleteBackward = editor.deleteBackward;
|
|
29
28
|
var newEditor = editor;
|
|
30
29
|
newEditor.insertBreak = function () {
|
|
31
30
|
if ((0, _insertBreakList.insertBreakList)(editor)) return;
|
|
@@ -3,5 +3,8 @@
|
|
|
3
3
|
Object.defineProperty(exports, "__esModule", {
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
|
-
exports.COLUMN_MIN_WIDTH = void 0;
|
|
7
|
-
var COLUMN_MIN_WIDTH = exports.COLUMN_MIN_WIDTH = 80;
|
|
6
|
+
exports.LAST_COLUMN_MARGIN_RIGHT_WIDTH = exports.COLUMN_MIN_WIDTH = void 0;
|
|
7
|
+
var COLUMN_MIN_WIDTH = exports.COLUMN_MIN_WIDTH = 80;
|
|
8
|
+
|
|
9
|
+
// Distance between the last column and handler
|
|
10
|
+
var LAST_COLUMN_MARGIN_RIGHT_WIDTH = exports.LAST_COLUMN_MARGIN_RIGHT_WIDTH = 50;
|
|
@@ -45,7 +45,7 @@ var generateEmptyMultiColumn = exports.generateEmptyMultiColumn = function gener
|
|
|
45
45
|
default:
|
|
46
46
|
break;
|
|
47
47
|
}
|
|
48
|
-
var currentPageWidth = getCurrentPageWidth(editor);
|
|
48
|
+
var currentPageWidth = getCurrentPageWidth(editor) + _constants3.LAST_COLUMN_MARGIN_RIGHT_WIDTH;
|
|
49
49
|
var initialColumnWidth = Math.max(_constants3.COLUMN_MIN_WIDTH, parseInt(currentPageWidth / multiColumnNumber));
|
|
50
50
|
var _loop = function _loop() {
|
|
51
51
|
var columnWidthKey = _slugid["default"].nice();
|
|
@@ -14,7 +14,8 @@ var _helper = require("./helper");
|
|
|
14
14
|
var withMultiColumn = function withMultiColumn(editor) {
|
|
15
15
|
var normalizeNode = editor.normalizeNode,
|
|
16
16
|
deleteBackward = editor.deleteBackward,
|
|
17
|
-
deleteForward = editor.deleteForward
|
|
17
|
+
deleteForward = editor.deleteForward,
|
|
18
|
+
insertFragment = editor.insertFragment;
|
|
18
19
|
var newEditor = editor;
|
|
19
20
|
newEditor.normalizeNode = function (_ref) {
|
|
20
21
|
var _ref2 = (0, _slicedToArray2["default"])(_ref, 2),
|
|
@@ -144,6 +145,20 @@ var withMultiColumn = function withMultiColumn(editor) {
|
|
|
144
145
|
}
|
|
145
146
|
deleteForward(unit);
|
|
146
147
|
};
|
|
148
|
+
newEditor.insertFragment = function (data) {
|
|
149
|
+
var selection = editor.selection;
|
|
150
|
+
if (!selection) return insertFragment(data);
|
|
151
|
+
// If inserting multi-column node, extract all children nodes from every column and insert them one by one
|
|
152
|
+
if (data[0].type === _constants.MULTI_COLUMN) {
|
|
153
|
+
var childrenNodes = [];
|
|
154
|
+
data[0].children.forEach(function (col) {
|
|
155
|
+
childrenNodes = childrenNodes.concat(col.children);
|
|
156
|
+
});
|
|
157
|
+
insertFragment(childrenNodes);
|
|
158
|
+
return;
|
|
159
|
+
}
|
|
160
|
+
insertFragment(data);
|
|
161
|
+
};
|
|
147
162
|
return newEditor;
|
|
148
163
|
};
|
|
149
164
|
var _default = exports["default"] = withMultiColumn;
|
|
@@ -11,6 +11,7 @@ var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/esm
|
|
|
11
11
|
var _react = _interopRequireWildcard(require("react"));
|
|
12
12
|
var _slateReact = require("@seafile/slate-react");
|
|
13
13
|
var _classnames = _interopRequireDefault(require("classnames"));
|
|
14
|
+
var _constants = require("../constants");
|
|
14
15
|
var _helper = require("../helper");
|
|
15
16
|
var _resizeHandlers = _interopRequireDefault(require("../resize-handlers"));
|
|
16
17
|
var _multiColumnRoot = _interopRequireDefault(require("./multi-column-root"));
|
|
@@ -48,10 +49,10 @@ var MultiColumn = function MultiColumn(_ref) {
|
|
|
48
49
|
var newPageWidth = (_entries$ = entries[0]) === null || _entries$ === void 0 ? void 0 : _entries$.contentRect.width;
|
|
49
50
|
// Check if sdocPageWidth changes
|
|
50
51
|
if (pageWidth && newPageWidth !== pageWidth) {
|
|
51
|
-
var scaleFactor = newPageWidth / pageWidth;
|
|
52
|
+
var scaleFactor = (newPageWidth + _constants.LAST_COLUMN_MARGIN_RIGHT_WIDTH) / (pageWidth + _constants.LAST_COLUMN_MARGIN_RIGHT_WIDTH);
|
|
52
53
|
var updatedColumns = element.column.map(function (item) {
|
|
53
54
|
return (0, _objectSpread2["default"])((0, _objectSpread2["default"])({}, item), {}, {
|
|
54
|
-
width:
|
|
55
|
+
width: item.width * scaleFactor
|
|
55
56
|
});
|
|
56
57
|
});
|
|
57
58
|
var columnWidthList = updatedColumns.map(function (item) {
|
|
@@ -38,7 +38,7 @@ var ResizeHandlers = function ResizeHandlers(_ref) {
|
|
|
38
38
|
_useState8 = (0, _slicedToArray2["default"])(_useState7, 2),
|
|
39
39
|
resizeInfo = _useState8[0],
|
|
40
40
|
setResizeInfo = _useState8[1];
|
|
41
|
-
var _useState9 = (0, _react.useState)(column.map(function () {
|
|
41
|
+
var _useState9 = (0, _react.useState)((element.column || []).map(function () {
|
|
42
42
|
return false;
|
|
43
43
|
})),
|
|
44
44
|
_useState0 = (0, _slicedToArray2["default"])(_useState9, 2),
|
|
@@ -73,7 +73,7 @@ var ResizeHandlers = function ResizeHandlers(_ref) {
|
|
|
73
73
|
var onMouseMove = function onMouseMove(event) {
|
|
74
74
|
event.preventDefault();
|
|
75
75
|
// Let resize handler show when mouse is close to right edge of column at range of 20 px
|
|
76
|
-
var nearBorder = column.map(function (col, colIndex) {
|
|
76
|
+
var nearBorder = (column || []).map(function (col, colIndex) {
|
|
77
77
|
var child = childNodes[colIndex];
|
|
78
78
|
if (!child) return false;
|
|
79
79
|
var childRect = child.getBoundingClientRect();
|
|
@@ -137,10 +137,11 @@ var ResizeHandlers = function ResizeHandlers(_ref) {
|
|
|
137
137
|
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
138
138
|
}, [handleResizeColumn, column, isDraggingResizeHandler, isMouseNearBorder]);
|
|
139
139
|
var leftAccumulator = 0;
|
|
140
|
+
var columns = Array.isArray(column) ? column : [];
|
|
140
141
|
return /*#__PURE__*/_react["default"].createElement("div", {
|
|
141
142
|
className: "column-resize-handler",
|
|
142
143
|
contentEditable: false
|
|
143
|
-
},
|
|
144
|
+
}, columns.map(function (column, index) {
|
|
144
145
|
leftAccumulator += column.width;
|
|
145
146
|
var left = leftAccumulator;
|
|
146
147
|
return /*#__PURE__*/_react["default"].createElement(_react["default"].Fragment, {
|
|
@@ -103,7 +103,8 @@ var ColorSelectorPopover = function ColorSelectorPopover(_ref) {
|
|
|
103
103
|
fade: false,
|
|
104
104
|
className: "sdoc-color-menu-popover sdoc-table-cell-bg-colors-popover",
|
|
105
105
|
toggle: toggle,
|
|
106
|
-
ref: popoverRef
|
|
106
|
+
ref: popoverRef,
|
|
107
|
+
offset: [0, 0]
|
|
107
108
|
}, /*#__PURE__*/_react["default"].createElement("div", {
|
|
108
109
|
className: "sdoc-dropdown-menu sdoc-color-dropdown-menu"
|
|
109
110
|
}, /*#__PURE__*/_react["default"].createElement("div", {
|
|
@@ -169,7 +170,8 @@ var ColorSelectorPopover = function ColorSelectorPopover(_ref) {
|
|
|
169
170
|
hideArrow: true,
|
|
170
171
|
fade: false,
|
|
171
172
|
toggle: moreColorsPopoverToggle,
|
|
172
|
-
ref: moreColorsPopoverRef
|
|
173
|
+
ref: moreColorsPopoverRef,
|
|
174
|
+
offset: [0, 0]
|
|
173
175
|
}, /*#__PURE__*/_react["default"].createElement("div", {
|
|
174
176
|
className: "sdoc-more-colors-container",
|
|
175
177
|
onMouseDown: onMouseDown
|
|
@@ -38,7 +38,8 @@ var HorizontalAlignPopover = function HorizontalAlignPopover(_ref) {
|
|
|
38
38
|
trigger: "hover",
|
|
39
39
|
placement: "right-start",
|
|
40
40
|
hideArrow: true,
|
|
41
|
-
fade: false
|
|
41
|
+
fade: false,
|
|
42
|
+
offset: [0, 0]
|
|
42
43
|
}, /*#__PURE__*/_react["default"].createElement("div", {
|
|
43
44
|
className: "sdoc-dropdown-menu sdoc-table-alignment-menu"
|
|
44
45
|
}, /*#__PURE__*/_react["default"].createElement("div", {
|
|
@@ -40,7 +40,8 @@ var VerticalAlignPopover = function VerticalAlignPopover(_ref) {
|
|
|
40
40
|
trigger: "hover",
|
|
41
41
|
placement: "right-start",
|
|
42
42
|
hideArrow: true,
|
|
43
|
-
fade: false
|
|
43
|
+
fade: false,
|
|
44
|
+
offset: [0, 0]
|
|
44
45
|
}, /*#__PURE__*/_react["default"].createElement("div", {
|
|
45
46
|
className: "sdoc-dropdown-menu sdoc-table-alignment-menu"
|
|
46
47
|
}, /*#__PURE__*/_react["default"].createElement("div", {
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@seafile/sdoc-editor",
|
|
3
|
-
"version": "3.0.
|
|
3
|
+
"version": "3.0.69",
|
|
4
4
|
"main": "dist/index.js",
|
|
5
5
|
"scripts": {
|
|
6
6
|
"test": "jest",
|
|
@@ -72,5 +72,5 @@
|
|
|
72
72
|
"publishConfig": {
|
|
73
73
|
"access": "public"
|
|
74
74
|
},
|
|
75
|
-
"gitHead": "
|
|
75
|
+
"gitHead": "cb6d75dd7ae425cf1c4b2dcc7db63f62f809488c"
|
|
76
76
|
}
|