From 47b78539b651208ebc00757cf35dc3fd4fa73f7a Mon Sep 17 00:00:00 2001 From: Aaryan Khandelwal <aaryankhandu123@gmail.com> Date: Fri, 18 Oct 2024 16:55:30 +0530 Subject: [PATCH] chore: updated table extensions --- .../editor/src/core/extensions/core-without-props.ts | 7 ++----- packages/editor/src/core/extensions/extensions.tsx | 10 ++-------- .../src/core/extensions/read-only-extensions.tsx | 10 ++-------- .../editor/src/core/extensions/table/extension.tsx | 12 ++++++++++++ packages/editor/src/core/extensions/table/index.ts | 1 + packages/editor/src/core/extensions/todo-list.ts | 3 ++- 6 files changed, 21 insertions(+), 22 deletions(-) create mode 100644 packages/editor/src/core/extensions/table/extension.tsx diff --git a/packages/editor/src/core/extensions/core-without-props.ts b/packages/editor/src/core/extensions/core-without-props.ts index c06cd732ceb..695363b6770 100644 --- a/packages/editor/src/core/extensions/core-without-props.ts +++ b/packages/editor/src/core/extensions/core-without-props.ts @@ -13,7 +13,7 @@ import { IssueWidgetWithoutProps } from "./issue-embed/issue-embed-without-props import { CustomMentionWithoutProps } from "./mentions/mentions-without-props"; import { CustomQuoteExtension } from "./quote"; import { CustomStarterKit } from "./starter-kit"; -import { TableHeader, TableCell, TableRow, Table } from "./table"; +import { CustomTableExtension } from "./table"; import { CustomTodoListExtension } from "./todo-list"; export const CoreEditorExtensionsWithoutProps: (Extension<any, any> | Node<any, any> | Mark<any, any>)[] = [ @@ -32,10 +32,7 @@ export const CoreEditorExtensionsWithoutProps: (Extension<any, any> | Node<any, ...CustomTodoListExtension(), CustomCodeInlineExtension, CustomCodeBlockExtensionWithoutProps, - Table, - TableHeader, - TableCell, - TableRow, + ...CustomTableExtension, CustomMentionWithoutProps(), CustomColorExtension, ]; diff --git a/packages/editor/src/core/extensions/extensions.tsx b/packages/editor/src/core/extensions/extensions.tsx index 1f6de608b9c..04d33e88250 100644 --- a/packages/editor/src/core/extensions/extensions.tsx +++ b/packages/editor/src/core/extensions/extensions.tsx @@ -17,15 +17,12 @@ import { CustomPlaceholderExtension, CustomQuoteExtension, CustomStarterKit, + CustomTableExtension, CustomTodoListExtension, CustomTypographyExtension, DropHandlerExtension, ImageExtension, ListKeymap, - Table, - TableCell, - TableHeader, - TableRow, } from "@/extensions"; // types import { IMentionHighlight, IMentionSuggestion, TFileHandler } from "@/types"; @@ -72,10 +69,7 @@ export const CoreEditorExtensions = (args: TArguments): (Extension<any, any> | N transformPastedText: true, breaks: true, }), - Table, - TableHeader, - TableCell, - TableRow, + ...CustomTableExtension, CustomMention({ mentionSuggestions: mentionConfig.mentionSuggestions, mentionHighlights: mentionConfig.mentionHighlights, diff --git a/packages/editor/src/core/extensions/read-only-extensions.tsx b/packages/editor/src/core/extensions/read-only-extensions.tsx index 16838fb50ba..633ab245228 100644 --- a/packages/editor/src/core/extensions/read-only-extensions.tsx +++ b/packages/editor/src/core/extensions/read-only-extensions.tsx @@ -12,16 +12,13 @@ import { ReadOnlyImageExtension, CustomCodeBlockExtension, CustomCodeInlineExtension, - TableHeader, - TableCell, - TableRow, - Table, CustomMention, HeadingListExtension, CustomReadOnlyImageExtension, CustomColorExtension, CustomStarterKit, CustomTodoListExtension, + CustomTableExtension, } from "@/extensions"; // types import { IMentionHighlight, TFileHandler } from "@/types"; @@ -67,10 +64,7 @@ export const CoreReadOnlyEditorExtensions = ( html: true, transformCopiedText: true, }), - Table, - TableHeader, - TableCell, - TableRow, + ...CustomTableExtension, CustomMention({ mentionHighlights: mentionConfig.mentionHighlights, readOnly: true, diff --git a/packages/editor/src/core/extensions/table/extension.tsx b/packages/editor/src/core/extensions/table/extension.tsx new file mode 100644 index 00000000000..be6cfc0cd3a --- /dev/null +++ b/packages/editor/src/core/extensions/table/extension.tsx @@ -0,0 +1,12 @@ +import { Extension, Mark, Node } from "@tiptap/core"; +import { Table } from "./table"; +import { TableCell } from "./table-cell"; +import { TableHeader } from "./table-header"; +import { TableRow } from "./table-row"; + +export const CustomTableExtension: (Extension<any, any> | Node<any, any> | Mark<any, any>)[] = [ + Table, + TableHeader, + TableCell, + TableRow, +]; diff --git a/packages/editor/src/core/extensions/table/index.ts b/packages/editor/src/core/extensions/table/index.ts index 2277e09ae45..a6c49c98624 100644 --- a/packages/editor/src/core/extensions/table/index.ts +++ b/packages/editor/src/core/extensions/table/index.ts @@ -2,3 +2,4 @@ export * from "./table"; export * from "./table-cell"; export * from "./table-header"; export * from "./table-row"; +export * from "./extension"; diff --git a/packages/editor/src/core/extensions/todo-list.ts b/packages/editor/src/core/extensions/todo-list.ts index 580f1021dfe..3c8a9e3a82e 100644 --- a/packages/editor/src/core/extensions/todo-list.ts +++ b/packages/editor/src/core/extensions/todo-list.ts @@ -1,3 +1,4 @@ +import { Extension, Mark, Node } from "@tiptap/core"; import TaskItem from "@tiptap/extension-task-item"; import TaskList from "@tiptap/extension-task-list"; // helpers @@ -7,7 +8,7 @@ type Props = { readOnly?: boolean; }; -export const CustomTodoListExtension = (props?: Props) => { +export const CustomTodoListExtension = (props?: Props): (Extension<any, any> | Node<any, any> | Mark<any, any>)[] => { const { readOnly } = props; return [