From 9bdfd043ec75b760a3e61756a397dac661eed415 Mon Sep 17 00:00:00 2001 From: Aaryan Khandelwal Date: Tue, 3 Dec 2024 16:42:48 +0530 Subject: [PATCH] fix: slash commands --- .../src/ee/extensions/document-extensions.tsx | 39 +++++++++++-------- 1 file changed, 22 insertions(+), 17 deletions(-) diff --git a/packages/editor/src/ee/extensions/document-extensions.tsx b/packages/editor/src/ee/extensions/document-extensions.tsx index daac24bdd0..e5967e55cb 100644 --- a/packages/editor/src/ee/extensions/document-extensions.tsx +++ b/packages/editor/src/ee/extensions/document-extensions.tsx @@ -3,13 +3,13 @@ import { Extensions } from "@tiptap/core"; // ui import { LayersIcon } from "@plane/ui"; // extensions -import { SlashCommands } from "@/extensions"; +import { SlashCommands, TSlashCommandAdditionalOption } from "@/extensions"; // plane editor extensions import { IssueEmbedSuggestions, IssueListRenderer } from "@/plane-editor/extensions"; // plane editor types import { TIssueEmbedConfig } from "@/plane-editor/types"; // types -import { ISlashCommandItem, TExtensions, TUserDetails } from "@/types"; +import { TExtensions, TUserDetails } from "@/types"; // local extensions import { CustomCollaborationCursor } from "./collaboration-cursor"; @@ -27,25 +27,30 @@ export const DocumentEditorAdditionalExtensions = (props: Props) => { const isCollaborationCursorDisabled = !!disabledExtensions?.includes("collaboration-cursor"); const extensions: Extensions = []; + const additionalSlashCommandOptions: TSlashCommandAdditionalOption[] = []; if (!isIssueEmbedDisabled) { - const slashCommandAdditionalOptions: ISlashCommandItem[] = [ - { - commandKey: "issue-embed", - key: "issue-embed", - title: "Issue embed", - description: "Embed an issue from the project.", - searchTerms: ["issue", "link", "embed"], - icon: , - command: ({ editor, range }) => { - editor.chain().focus().insertContentAt(range, "

#issue_

").run(); - }, + const issueEmbedOption: TSlashCommandAdditionalOption = { + commandKey: "issue-embed", + key: "issue-embed", + title: "Issue embed", + description: "Embed an issue from the project.", + searchTerms: ["issue", "link", "embed"], + icon: , + command: ({ editor, range }) => { + editor.chain().focus().insertContentAt(range, "

#issue_

").run(); }, - ]; - extensions.push(SlashCommands(slashCommandAdditionalOptions)); - } else { - extensions.push(SlashCommands()); + section: "general", + pushAfter: "callout", + }; + additionalSlashCommandOptions.push(issueEmbedOption); } + extensions.push( + SlashCommands({ + additionalOptions: additionalSlashCommandOptions, + disabledExtensions, + }) + ); if (issueEmbedConfig && !isIssueEmbedDisabled) { extensions.push(