@seafile/sdoc-editor 1.0.143 → 1.0.145

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.
@@ -27,13 +27,16 @@ const CalloutMenu = _ref => {
27
27
  t
28
28
  } = (0, _reactI18next.useTranslation)();
29
29
  const handleDisplayAlert = (0, _react.useCallback)(type => {
30
- _toast.default.warning(`${t('The_current_location_does_not_support_pasting')}${t(type && type.at(0).toUpperCase() + type.slice(1))}`);
31
- }, [t]);
30
+ setTimeout(() => {
31
+ _toast.default.warning(`${t('The_current_location_does_not_support_pasting')}${t(type && type.at(0).toUpperCase() + type.slice(1))}`);
32
+ }, 0);
33
+ // eslint-disable-next-line react-hooks/exhaustive-deps
34
+ }, []);
32
35
  (0, _react.useEffect)(() => {
33
36
  const eventBus = _eventBus.default.getInstance();
34
37
  const unsubscribe = eventBus.subscribe(_constants2.INTERNAL_EVENT.DISPLAY_CALLOUT_UNSUPPORT_ALERT, handleDisplayAlert);
35
38
  return unsubscribe;
36
- }, [handleDisplayAlert, t]);
39
+ }, [handleDisplayAlert]);
37
40
  const handleClick = (0, _react.useCallback)(e => {
38
41
  (0, _helper.isMenuActive)(editor) ? (0, _helper.unwrapCallout)(editor) : (0, _helper.wrapCallout)(editor);
39
42
  }, [editor]);
@@ -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.updateTableRowHeight = exports.updateColumnWidth = exports.splitCell = exports.setTableSelectedRange = exports.setTableFragmentData = exports.setCellStyle = exports.removeTableElement = exports.removeTable = exports.normalizeTableELement = exports.moveRows = exports.moveColumns = exports.isTableWidthFitScreen = exports.isTableMenuDisabled = exports.isTableLocation = exports.isSelectedAllCell = exports.isPreventResetTableSelectedRange = exports.isLastTableCell = exports.isInTable = exports.isHideDragHandlerLine = exports.isCursorAtCellStart = exports.isCursorAtCellEnd = exports.isCombineCellsDisabled = exports.isAllInTable = exports.insertTableRow = exports.insertTableElement = exports.insertTableColumn = exports.insertTableByTemplate = exports.insertTable = exports.insertMultipleRowsAndColumns = exports.handleInsertTable = exports.handleCombinedCellsBeforeDeleteTableRow = exports.handleCombinedCellsBeforeDeleteTableColumn = exports.handleCombinedCellsAfterInsertTableRow = exports.handleCombinedCellsAfterInsertTableColumn = exports.getTableSelectedRangeAfterDrag = exports.getTableRowSelectedRange = exports.getTableDragType = exports.getTableColumnsWidth = exports.getTableColumnsAfterInsertColumn = exports.getTableColumns = exports.getTableColumnSelectedRange = exports.getSelectedInfo = exports.getRowHeight = exports.getRowDomHeight = exports.getResizeMaskCellInfo = exports.getInsertPosition = exports.getHighlightClass = exports.getFirstTableCell = exports.getCellInheritStyles = exports.getCellHighlightClassName = exports.getCellColumn = exports.generateTableRow = exports.generateTableCell = exports.generateInheritStyle = exports.generateEmptyTable = exports.generateDragMoveElement = exports.focusClosestCellWhenJustifyCellSize = exports.focusCell = exports.fitTableColumnToScreen = exports.elementHasImage = exports.deleteTableSelectCells = exports.deleteTableRangeData = exports.deleteHandler = exports.combineCells = exports.colorBlend = exports.adjustCombinedCellRange = void 0;
7
+ exports.updateTableRowHeight = exports.updateColumnWidth = exports.splitCell = exports.setTableSelectedRange = exports.setTableFragmentData = exports.setCellStyle = exports.removeTableElement = exports.removeTable = exports.normalizeTableELement = exports.moveRows = exports.moveColumns = exports.isTableWidthFitScreen = exports.isTableMenuDisabled = exports.isTableLocation = exports.isSelectedAllCell = exports.isPreventResetTableSelectedRange = exports.isLastTableCell = exports.isInTableSameCell = exports.isInTable = exports.isHideDragHandlerLine = exports.isCursorAtCellStart = exports.isCursorAtCellEnd = exports.isCombineCellsDisabled = exports.isAllInTable = exports.insertTableRow = exports.insertTableElement = exports.insertTableColumn = exports.insertTableByTemplate = exports.insertTable = exports.insertMultipleRowsAndColumns = exports.handleInsertTable = exports.handleCombinedCellsBeforeDeleteTableRow = exports.handleCombinedCellsBeforeDeleteTableColumn = exports.handleCombinedCellsAfterInsertTableRow = exports.handleCombinedCellsAfterInsertTableColumn = exports.getTableSelectedRangeAfterDrag = exports.getTableRowSelectedRange = exports.getTableDragType = exports.getTableColumnsWidth = exports.getTableColumnsAfterInsertColumn = exports.getTableColumns = exports.getTableColumnSelectedRange = exports.getSelectedInfo = exports.getRowHeight = exports.getRowDomHeight = exports.getResizeMaskCellInfo = exports.getInsertPosition = exports.getHighlightClass = exports.getFirstTableCell = exports.getCellInheritStyles = exports.getCellHighlightClassName = exports.getCellColumn = exports.generateTableRow = exports.generateTableCell = exports.generateInheritStyle = exports.generateEmptyTable = exports.generateDragMoveElement = exports.focusClosestCellWhenJustifyCellSize = exports.focusCell = exports.fitTableColumnToScreen = exports.elementHasImage = exports.deleteTableSelectCells = exports.deleteTableRangeData = exports.deleteHandler = exports.combineCells = exports.colorBlend = exports.adjustCombinedCellRange = void 0;
8
8
  var _slugid = _interopRequireDefault(require("slugid"));
9
9
  var _slate = require("@seafile/slate");
10
10
  var _slateReact = require("@seafile/slate-react");
@@ -192,6 +192,24 @@ const isAllInTable = editor => {
192
192
  return selectedNodes.slice(1).every(node => [_constants.ELEMENT_TYPE.TABLE_ROW, _constants.ELEMENT_TYPE.TABLE_CELL].includes(node.type)); // same table element
193
193
  };
194
194
  exports.isAllInTable = isAllInTable;
195
+ const isInTableSameCell = editor => {
196
+ const {
197
+ anchor,
198
+ focus
199
+ } = editor.selection;
200
+ const match = n => n.type === _constants.ELEMENT_TYPE.TABLE_CELL;
201
+ const anchorNode = (0, _core.getAboveBlockNode)(editor, {
202
+ at: anchor,
203
+ match
204
+ });
205
+ const focusNode = (0, _core.getAboveBlockNode)(editor, {
206
+ at: focus,
207
+ match
208
+ });
209
+ if (!anchorNode || !focusNode) return false;
210
+ return _slate.Path.equals(anchorNode[1], focusNode[1]);
211
+ };
212
+ exports.isInTableSameCell = isInTableSameCell;
195
213
  const setCellStyle = (editor, style) => {
196
214
  // Select single cell
197
215
  if (_objectUtils.default.isSameObject(editor.tableSelectedRange, _constants2.EMPTY_SELECTED_RANGE)) {
@@ -278,7 +278,7 @@ const withTable = editor => {
278
278
  }
279
279
  }
280
280
  }
281
- if (_slate.Range.isRange(selection) && (0, _helpers.isAllInTable)(editor)) {
281
+ if (_slate.Range.isRange(selection) && (0, _helpers.isAllInTable)(editor) && !(0, _helpers.isInTableSameCell)(editor)) {
282
282
  const [node] = (0, _core.getTopLevelBlockNode)(editor);
283
283
  if (_slate.Range.isRange(selection) && (node === null || node === void 0 ? void 0 : node.type) === _constants.ELEMENT_TYPE.TABLE) {
284
284
  newEditor.deleteBackward();
@@ -93,10 +93,6 @@ const onCopyNode = (editor, element) => {
93
93
  };
94
94
  exports.onCopyNode = onCopyNode;
95
95
  const onDeleteNode = (editor, element) => {
96
- if (element.type === _constants.CALL_OUT) {
97
- (0, _helper.unwrapCallout)(editor);
98
- return;
99
- }
100
96
  const path = _slateReact.ReactEditor.findPath(editor, element);
101
97
  _slate.Transforms.removeNodes(editor, {
102
98
  at: path
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@seafile/sdoc-editor",
3
- "version": "1.0.143",
3
+ "version": "1.0.145",
4
4
  "private": false,
5
5
  "description": "This is a sdoc editor",
6
6
  "main": "dist/index.js",