From d14ea22cb8f7d45c3c41f39a3106cc73014f5372 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Philipp=20Ku=CC=88hn?= Date: Thu, 23 Aug 2018 10:56:52 +0200 Subject: [PATCH] remove commands from tiptap package --- packages/tiptap/package.json | 8 +- packages/tiptap/src/helpers/index.js | 89 ------------------- packages/tiptap/src/helpers/removeMark.js | 6 -- .../tiptap/src/helpers/toggleBlockType.js | 14 --- packages/tiptap/src/helpers/toggleList.js | 49 ---------- packages/tiptap/src/helpers/updateMark.js | 6 -- packages/tiptap/src/marks/Bold.js | 2 +- packages/tiptap/src/marks/Code.js | 2 +- packages/tiptap/src/marks/Italic.js | 2 +- packages/tiptap/src/marks/Link.js | 2 +- packages/tiptap/src/nodes/Blockquote.js | 2 +- packages/tiptap/src/nodes/BulletList.js | 2 +- packages/tiptap/src/nodes/CodeBlock.js | 2 +- packages/tiptap/src/nodes/HardBreak.js | 2 +- packages/tiptap/src/nodes/Heading.js | 2 +- packages/tiptap/src/nodes/ListItem.js | 2 +- packages/tiptap/src/nodes/OrderedList.js | 2 +- packages/tiptap/src/nodes/Paragraph.js | 2 +- packages/tiptap/src/nodes/TodoItem.js | 2 +- packages/tiptap/src/nodes/TodoList.js | 2 +- 20 files changed, 19 insertions(+), 181 deletions(-) delete mode 100644 packages/tiptap/src/helpers/index.js delete mode 100644 packages/tiptap/src/helpers/removeMark.js delete mode 100644 packages/tiptap/src/helpers/toggleBlockType.js delete mode 100644 packages/tiptap/src/helpers/toggleList.js delete mode 100644 packages/tiptap/src/helpers/updateMark.js diff --git a/packages/tiptap/package.json b/packages/tiptap/package.json index 2dd6f27e..6df0eea9 100644 --- a/packages/tiptap/package.json +++ b/packages/tiptap/package.json @@ -11,8 +11,8 @@ "files": [ "src", "dist" - ], - "repository": { + ], + "repository": { "type": "git", "url": "git+https://github.com/heyscrumpy/tiptap.git" }, @@ -89,6 +89,8 @@ "prosemirror-state": "^1.2.1", "prosemirror-tables": "^0.7.6", "prosemirror-utils": "^0.6.5", - "prosemirror-view": "^1.4.3" + "prosemirror-view": "^1.4.3", + "tiptap-commands": "^0.1.0", + "tiptap-utils": "^0.1.1" } } diff --git a/packages/tiptap/src/helpers/index.js b/packages/tiptap/src/helpers/index.js deleted file mode 100644 index 6d5c5dc6..00000000 --- a/packages/tiptap/src/helpers/index.js +++ /dev/null @@ -1,89 +0,0 @@ -import { - chainCommands, - deleteSelection, - joinBackward, - selectNodeBackward, - joinForward, - selectNodeForward, - joinUp, - joinDown, - lift, - newlineInCode, - exitCode, - createParagraphNear, - liftEmptyBlock, - splitBlock, - splitBlockKeepMarks, - selectParentNode, - selectAll, - wrapIn, - setBlockType, - toggleMark, - autoJoin, - baseKeymap, - pcBaseKeymap, - macBaseKeymap, -} from 'prosemirror-commands' - -import { - addListNodes, - wrapInList, - splitListItem, - liftListItem, - sinkListItem, -} from 'prosemirror-schema-list' - -import { - wrappingInputRule, - textblockTypeInputRule, -} from 'prosemirror-inputrules' - -import removeMark from './removeMark' -import toggleBlockType from './toggleBlockType' -import toggleList from './toggleList' -import updateMark from './updateMark' - -export { - // prosemirror-commands - chainCommands, - deleteSelection, - joinBackward, - selectNodeBackward, - joinForward, - selectNodeForward, - joinUp, - joinDown, - lift, - newlineInCode, - exitCode, - createParagraphNear, - liftEmptyBlock, - splitBlock, - splitBlockKeepMarks, - selectParentNode, - selectAll, - wrapIn, - setBlockType, - toggleMark, - autoJoin, - baseKeymap, - pcBaseKeymap, - macBaseKeymap, - - // prosemirror-schema-list - addListNodes, - wrapInList, - splitListItem, - liftListItem, - sinkListItem, - - // prosemirror-inputrules - wrappingInputRule, - textblockTypeInputRule, - - // custom - removeMark, - toggleBlockType, - toggleList, - updateMark, -} diff --git a/packages/tiptap/src/helpers/removeMark.js b/packages/tiptap/src/helpers/removeMark.js deleted file mode 100644 index 180d46f2..00000000 --- a/packages/tiptap/src/helpers/removeMark.js +++ /dev/null @@ -1,6 +0,0 @@ -export default function (type) { - return (state, dispatch) => { - const { from, to } = state.selection - return dispatch(state.tr.removeMark(from, to, type)) - } -} diff --git a/packages/tiptap/src/helpers/toggleBlockType.js b/packages/tiptap/src/helpers/toggleBlockType.js deleted file mode 100644 index 01f20fd1..00000000 --- a/packages/tiptap/src/helpers/toggleBlockType.js +++ /dev/null @@ -1,14 +0,0 @@ -import { setBlockType } from 'prosemirror-commands' -import { nodeIsActive } from '../utils' - -export default function (type, toggletype, attrs = {}) { - return (state, dispatch, view) => { - const isActive = nodeIsActive(state, type, attrs) - - if (isActive) { - return setBlockType(toggletype)(state, dispatch, view) - } - - return setBlockType(type, attrs)(state, dispatch, view) - } -} diff --git a/packages/tiptap/src/helpers/toggleList.js b/packages/tiptap/src/helpers/toggleList.js deleted file mode 100644 index fbdec7c1..00000000 --- a/packages/tiptap/src/helpers/toggleList.js +++ /dev/null @@ -1,49 +0,0 @@ -import { nodeIsActive } from '../utils' -import { wrapInList, liftListItem } from '../helpers' - -export default function toggleList(type, itemType) { - return (state, dispatch, view) => { - const isActive = nodeIsActive(state, type) - - if (isActive) { - return liftListItem(itemType)(state, dispatch, view) - } - - return wrapInList(type)(state, dispatch, view) - } -} - -// https://discuss.prosemirror.net/t/list-type-toggle/948 - -// import { wrapInList, liftListItem } from 'prosemirror-schema-list' - -// function isList(node, schema) { -// return (node.type === schema.nodes.bullet_list || node.type === schema.nodes.ordered_list) -// } - -// export default function toggleList(listType, schema) { -// const lift = liftListItem(schema.nodes.list_item) -// const wrap = wrapInList(listType) - -// return (state, dispatch) => { -// const { $from, $to } = state.selection -// const range = $from.blockRange($to) -// if (!range) { -// return false -// } - -// if (range.depth >= 2 && $from.node(range.depth - 1).type === listType) { -// return lift(state, dispatch) -// } else if (range.depth >= 2 && isList($from.node(range.depth - 1), schema)) { -// const tr = state.tr -// const node = $from.before(range.depth - 1) -// console.log({node}) -// // TODO: how do I pass the node above to `setNodeType`? -// // tr.setNodeType(range.start, listType); -// if (dispatch) dispatch(tr) -// return false -// } else { -// return wrap(state, dispatch) -// } -// } -// } diff --git a/packages/tiptap/src/helpers/updateMark.js b/packages/tiptap/src/helpers/updateMark.js deleted file mode 100644 index 77902aa1..00000000 --- a/packages/tiptap/src/helpers/updateMark.js +++ /dev/null @@ -1,6 +0,0 @@ -export default function (type, attrs) { - return (state, dispatch) => { - const { from, to } = state.selection - return dispatch(state.tr.addMark(from, to, type.create(attrs))) - } -} diff --git a/packages/tiptap/src/marks/Bold.js b/packages/tiptap/src/marks/Bold.js index 8bcda084..e5f894ce 100644 --- a/packages/tiptap/src/marks/Bold.js +++ b/packages/tiptap/src/marks/Bold.js @@ -1,5 +1,5 @@ import { Mark } from '../utils' -import { toggleMark } from '../helpers' +import { toggleMark } from 'tiptap-commands' export default class BoldMark extends Mark { diff --git a/packages/tiptap/src/marks/Code.js b/packages/tiptap/src/marks/Code.js index d44705ce..b0d37851 100644 --- a/packages/tiptap/src/marks/Code.js +++ b/packages/tiptap/src/marks/Code.js @@ -1,5 +1,5 @@ import { Mark } from '../utils' -import { toggleMark } from '../helpers' +import { toggleMark } from 'tiptap-commands' export default class CodeMark extends Mark { diff --git a/packages/tiptap/src/marks/Italic.js b/packages/tiptap/src/marks/Italic.js index c30d34da..4f30560e 100644 --- a/packages/tiptap/src/marks/Italic.js +++ b/packages/tiptap/src/marks/Italic.js @@ -1,5 +1,5 @@ import { Mark } from '../utils' -import { toggleMark } from '../helpers' +import { toggleMark } from 'tiptap-commands' export default class ItalicMark extends Mark { diff --git a/packages/tiptap/src/marks/Link.js b/packages/tiptap/src/marks/Link.js index ae1126d9..ccebcab0 100644 --- a/packages/tiptap/src/marks/Link.js +++ b/packages/tiptap/src/marks/Link.js @@ -1,5 +1,5 @@ import { Mark } from '../utils' -import { updateMark, removeMark } from '../helpers' +import { updateMark, removeMark } from 'tiptap-commands' export default class LinkMark extends Mark { diff --git a/packages/tiptap/src/nodes/Blockquote.js b/packages/tiptap/src/nodes/Blockquote.js index 231bcfc4..b6f17242 100644 --- a/packages/tiptap/src/nodes/Blockquote.js +++ b/packages/tiptap/src/nodes/Blockquote.js @@ -1,5 +1,5 @@ import { Node } from '../utils' -import { wrappingInputRule, setBlockType, wrapIn } from '../helpers' +import { wrappingInputRule, setBlockType, wrapIn } from 'tiptap-commands' export default class BlockquoteNode extends Node { diff --git a/packages/tiptap/src/nodes/BulletList.js b/packages/tiptap/src/nodes/BulletList.js index 10c0c1bc..89168f45 100644 --- a/packages/tiptap/src/nodes/BulletList.js +++ b/packages/tiptap/src/nodes/BulletList.js @@ -1,5 +1,5 @@ import { Node } from '../utils' -import { wrappingInputRule, wrapInList, toggleList } from '../helpers' +import { wrappingInputRule, wrapInList, toggleList } from 'tiptap-commands' export default class BulletNode extends Node { diff --git a/packages/tiptap/src/nodes/CodeBlock.js b/packages/tiptap/src/nodes/CodeBlock.js index 3d1c2b52..28194fbe 100644 --- a/packages/tiptap/src/nodes/CodeBlock.js +++ b/packages/tiptap/src/nodes/CodeBlock.js @@ -1,5 +1,5 @@ import { Node } from '../utils' -import { toggleBlockType, setBlockType, textblockTypeInputRule } from '../helpers' +import { toggleBlockType, setBlockType, textblockTypeInputRule } from 'tiptap-commands' export default class CodeBlockNode extends Node { diff --git a/packages/tiptap/src/nodes/HardBreak.js b/packages/tiptap/src/nodes/HardBreak.js index 750e564b..9701a054 100644 --- a/packages/tiptap/src/nodes/HardBreak.js +++ b/packages/tiptap/src/nodes/HardBreak.js @@ -1,5 +1,5 @@ import { Node } from '../utils' -import { chainCommands, exitCode } from '../helpers' +import { chainCommands, exitCode } from 'tiptap-commands' export default class HardBreakNode extends Node { diff --git a/packages/tiptap/src/nodes/Heading.js b/packages/tiptap/src/nodes/Heading.js index 20875bee..db9b5d76 100644 --- a/packages/tiptap/src/nodes/Heading.js +++ b/packages/tiptap/src/nodes/Heading.js @@ -1,5 +1,5 @@ import { Node } from '../utils' -import { setBlockType, textblockTypeInputRule, toggleBlockType } from '../helpers' +import { setBlockType, textblockTypeInputRule, toggleBlockType } from 'tiptap-commands' export default class HeadingNode extends Node { diff --git a/packages/tiptap/src/nodes/ListItem.js b/packages/tiptap/src/nodes/ListItem.js index c950a858..be27cf46 100644 --- a/packages/tiptap/src/nodes/ListItem.js +++ b/packages/tiptap/src/nodes/ListItem.js @@ -1,5 +1,5 @@ import { Node } from '../utils' -import { splitListItem, liftListItem, sinkListItem } from '../helpers' +import { splitListItem, liftListItem, sinkListItem } from 'tiptap-commands' export default class OrderedListNode extends Node { diff --git a/packages/tiptap/src/nodes/OrderedList.js b/packages/tiptap/src/nodes/OrderedList.js index f2dfe206..4349e516 100644 --- a/packages/tiptap/src/nodes/OrderedList.js +++ b/packages/tiptap/src/nodes/OrderedList.js @@ -1,5 +1,5 @@ import { Node } from '../utils' -import { wrappingInputRule, wrapInList, toggleList } from '../helpers' +import { wrappingInputRule, wrapInList, toggleList } from 'tiptap-commands' export default class OrderedListNode extends Node { diff --git a/packages/tiptap/src/nodes/Paragraph.js b/packages/tiptap/src/nodes/Paragraph.js index 8a18c360..2607a4db 100644 --- a/packages/tiptap/src/nodes/Paragraph.js +++ b/packages/tiptap/src/nodes/Paragraph.js @@ -1,5 +1,5 @@ import { Node } from '../utils' -import { setBlockType } from '../helpers' +import { setBlockType } from 'tiptap-commands' export default class ParagraphNode extends Node { diff --git a/packages/tiptap/src/nodes/TodoItem.js b/packages/tiptap/src/nodes/TodoItem.js index 320fe659..3f69a19b 100644 --- a/packages/tiptap/src/nodes/TodoItem.js +++ b/packages/tiptap/src/nodes/TodoItem.js @@ -1,5 +1,5 @@ import { Node } from '../utils' -import { splitListItem, liftListItem } from '../helpers' +import { splitListItem, liftListItem } from 'tiptap-commands' export default class TodoItemNode extends Node { diff --git a/packages/tiptap/src/nodes/TodoList.js b/packages/tiptap/src/nodes/TodoList.js index e7a3834c..b3cc6504 100644 --- a/packages/tiptap/src/nodes/TodoList.js +++ b/packages/tiptap/src/nodes/TodoList.js @@ -1,5 +1,5 @@ import { Node } from '../utils' -import { wrapInList, wrappingInputRule } from '../helpers' +import { wrapInList, wrappingInputRule } from 'tiptap-commands' export default class BulletNode extends Node {