X-Git-Url: http://source.bookstackapp.com/bookstack/blobdiff_plain/8939f310db4eb8c825226f090bd1ab7c37c3654d..refs/pull/5313/head:/resources/js/wysiwyg/nodes/index.ts diff --git a/resources/js/wysiwyg/nodes/index.ts b/resources/js/wysiwyg/nodes/index.ts index 92f6d2336..b5483c500 100644 --- a/resources/js/wysiwyg/nodes/index.ts +++ b/resources/js/wysiwyg/nodes/index.ts @@ -20,27 +20,31 @@ import {DiagramNode} from "./diagram"; import {EditorUiContext} from "../ui/framework/core"; import {MediaNode} from "./media"; import {CustomListItemNode} from "./custom-list-item"; -import {CustomTableCellNode} from "./custom-table-cell-node"; +import {CustomTableCellNode} from "./custom-table-cell"; +import {CustomTableRowNode} from "./custom-table-row"; +import {CustomHeadingNode} from "./custom-heading"; +import {CustomQuoteNode} from "./custom-quote"; +import {CustomListNode} from "./custom-list"; /** * Load the nodes for lexical. */ export function getNodesForPageEditor(): (KlassConstructor | LexicalNodeReplacement)[] { return [ - CalloutNode, // Todo - Create custom - HeadingNode, // Todo - Create custom - QuoteNode, // Todo - Create custom - ListNode, // Todo - Create custom - CustomListItemNode, + CalloutNode, + CustomHeadingNode, + CustomQuoteNode, + CustomListNode, + CustomListItemNode, // TODO - Alignment? CustomTableNode, - TableRowNode, + CustomTableRowNode, CustomTableCellNode, - ImageNode, + ImageNode, // TODO - Alignment HorizontalRuleNode, DetailsNode, SummaryNode, CodeBlockNode, DiagramNode, - MediaNode, + MediaNode, // TODO - Alignment CustomParagraphNode, LinkNode, { @@ -50,9 +54,21 @@ export function getNodesForPageEditor(): (KlassConstructor | } }, { - replace: TableNode, - with(node: TableNode) { - return new CustomTableNode(); + replace: HeadingNode, + with: (node: HeadingNode) => { + return new CustomHeadingNode(node.__tag); + } + }, + { + replace: QuoteNode, + with: (node: QuoteNode) => { + return new CustomQuoteNode(); + } + }, + { + replace: ListNode, + with: (node: ListNode) => { + return new CustomListNode(node.getListType(), node.getStart()); } }, { @@ -61,6 +77,18 @@ export function getNodesForPageEditor(): (KlassConstructor | return new CustomListItemNode(node.__value, node.__checked); } }, + { + replace: TableNode, + with(node: TableNode) { + return new CustomTableNode(); + } + }, + { + replace: TableRowNode, + with(node: TableRowNode) { + return new CustomTableRowNode(); + } + }, { replace: TableCellNode, with: (node: TableCellNode) => {