From 9ca865a2539e539c63c6aa4a0c8b5ddd4fd5eb62 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Philipp=20Ku=CC=88hn?= Date: Tue, 20 Apr 2021 22:58:59 +0200 Subject: [PATCH] refactor: move deleteTableWhenAllCellsSelected to its own file --- packages/extension-table/src/table.ts | 36 +-------------------------- 1 file changed, 1 insertion(+), 35 deletions(-) diff --git a/packages/extension-table/src/table.ts b/packages/extension-table/src/table.ts index 6e3a12cd..def213e6 100644 --- a/packages/extension-table/src/table.ts +++ b/packages/extension-table/src/table.ts @@ -4,7 +4,6 @@ import { ParentConfig, mergeAttributes, getExtensionField, - findParentNodeClosestToPos, callOrReturn, } from '@tiptap/core' import { @@ -29,7 +28,7 @@ import { import { NodeView } from 'prosemirror-view' import { TextSelection } from 'prosemirror-state' import { createTable } from './utilities/createTable' -import { isCellSelection } from './utilities/isCellSelection' +import { deleteTableWhenAllCellsSelected } from './utilities/deleteTableWhenAllCellsSelected' import { TableView } from './TableView' export interface TableOptions { @@ -190,39 +189,6 @@ export const Table = Node.create({ }, addKeyboardShortcuts() { - const deleteTableWhenAllCellsSelected = () => { - const { selection } = this.editor.state - - if (!isCellSelection(selection)) { - return false - } - - let cellCount = 0 - const table = findParentNodeClosestToPos(selection.ranges[0].$from, node => { - return node.type.name === 'table' - }) - - table?.node.descendants(node => { - if (node.type.name === 'table') { - return false - } - - if (['tableCell', 'tableHeader'].includes(node.type.name)) { - cellCount += 1 - } - }) - - const allCellsSelected = cellCount === selection.ranges.length - - if (!allCellsSelected) { - return false - } - - this.editor.commands.deleteTable() - - return true - } - return { Tab: () => { if (this.editor.commands.goToNextCell()) {