From 6a4ecd1f18a9c9bade10dd58dc60e9e3d6c16b6d Mon Sep 17 00:00:00 2001 From: Lakhan Date: Fri, 27 Dec 2024 16:59:55 +0530 Subject: [PATCH 1/2] chore: added mobile editor required changes --- .../src/ce/extensions/document-extensions.tsx | 28 +++++++++++++------ .../src/ce/extensions/slash-commands.tsx | 2 +- .../slash-commands/command-items-list.tsx | 11 ++------ .../core/extensions/slash-commands/root.tsx | 4 +-- turbo.json | 4 +++ 5 files changed, 29 insertions(+), 20 deletions(-) diff --git a/packages/editor/src/ce/extensions/document-extensions.tsx b/packages/editor/src/ce/extensions/document-extensions.tsx index 35d7c0f3dee..445f5e0f809 100644 --- a/packages/editor/src/ce/extensions/document-extensions.tsx +++ b/packages/editor/src/ce/extensions/document-extensions.tsx @@ -1,5 +1,6 @@ import { HocuspocusProvider } from "@hocuspocus/provider"; import { Extensions } from "@tiptap/core"; +import { AnyExtension } from "@tiptap/core"; import { SlashCommands } from "@/extensions"; // plane editor types import { TIssueEmbedConfig } from "@/plane-editor/types"; @@ -13,15 +14,24 @@ type Props = { userDetails: TUserDetails; }; +type ExtensionConfig = { + isEnabled: (disabledExtensions: TExtensions[]) => boolean; + getExtension: (props: Props) => AnyExtension; +}; + +const extensionRegistry: ExtensionConfig[] = [ + { + isEnabled: (disabledExtensions) => !disabledExtensions.includes("slash-commands"), + getExtension: () => SlashCommands({}), + }, +]; + export const DocumentEditorAdditionalExtensions = (_props: Props) => { - const { disabledExtensions } = _props; - const extensions: Extensions = disabledExtensions?.includes("slash-commands") - ? [] - : [ - SlashCommands({ - disabledExtensions, - }), - ]; + const { disabledExtensions = [] } = _props; + + const documentExtensions = extensionRegistry + .filter((config) => config.isEnabled(disabledExtensions)) + .map((config) => config.getExtension(_props)); - return extensions; + return documentExtensions; }; diff --git a/packages/editor/src/ce/extensions/slash-commands.tsx b/packages/editor/src/ce/extensions/slash-commands.tsx index 6eabee08238..faefa74523c 100644 --- a/packages/editor/src/ce/extensions/slash-commands.tsx +++ b/packages/editor/src/ce/extensions/slash-commands.tsx @@ -4,7 +4,7 @@ import { TSlashCommandAdditionalOption } from "@/extensions"; import { TExtensions } from "@/types"; type Props = { - disabledExtensions: TExtensions[]; + disabledExtensions?: TExtensions[]; }; export const coreEditorAdditionalSlashCommandOptions = (props: Props): TSlashCommandAdditionalOption[] => { diff --git a/packages/editor/src/core/extensions/slash-commands/command-items-list.tsx b/packages/editor/src/core/extensions/slash-commands/command-items-list.tsx index 1efb729019f..034d3d89786 100644 --- a/packages/editor/src/core/extensions/slash-commands/command-items-list.tsx +++ b/packages/editor/src/core/extensions/slash-commands/command-items-list.tsx @@ -39,11 +39,11 @@ import { setText, } from "@/helpers/editor-commands"; // types -import { CommandProps, ISlashCommandItem, TExtensions, TSlashCommandSectionKeys } from "@/types"; +import { CommandProps, ISlashCommandItem, TSlashCommandSectionKeys } from "@/types"; // plane editor extensions import { coreEditorAdditionalSlashCommandOptions } from "@/plane-editor/extensions"; // local types -import { TSlashCommandAdditionalOption } from "./root"; +import { TExtensionProps } from "./root"; export type TSlashCommandSection = { key: TSlashCommandSectionKeys; @@ -51,13 +51,8 @@ export type TSlashCommandSection = { items: ISlashCommandItem[]; }; -type TArgs = { - additionalOptions?: TSlashCommandAdditionalOption[]; - disabledExtensions: TExtensions[]; -}; - export const getSlashCommandFilteredSections = - (args: TArgs) => + (args: TExtensionProps) => ({ query }: { query: string }): TSlashCommandSection[] => { const { additionalOptions, disabledExtensions } = args; const SLASH_COMMAND_SECTIONS: TSlashCommandSection[] = [ diff --git a/packages/editor/src/core/extensions/slash-commands/root.tsx b/packages/editor/src/core/extensions/slash-commands/root.tsx index 5e12c997f0f..28aaebb8527 100644 --- a/packages/editor/src/core/extensions/slash-commands/root.tsx +++ b/packages/editor/src/core/extensions/slash-commands/root.tsx @@ -103,9 +103,9 @@ const renderItems = () => { }; }; -type TExtensionProps = { +export type TExtensionProps = { additionalOptions?: TSlashCommandAdditionalOption[]; - disabledExtensions: TExtensions[]; + disabledExtensions?: TExtensions[]; }; export const SlashCommands = (props: TExtensionProps) => diff --git a/turbo.json b/turbo.json index edfcd6771c9..4f0b6d8690b 100644 --- a/turbo.json +++ b/turbo.json @@ -30,6 +30,10 @@ "dependsOn": ["^build"], "outputs": [".next/**", "dist/**"] }, + "vite:build": { + "dependsOn": ["^build"], + "outputs": [".next/**", "dist/**"] + }, "develop": { "cache": false, "persistent": true, From 2b096a6da2de748eb537387c2daf67aef79c9307 Mon Sep 17 00:00:00 2001 From: Lakhan Date: Fri, 27 Dec 2024 17:03:25 +0530 Subject: [PATCH 2/2] fix: turbo.json --- turbo.json | 4 ---- 1 file changed, 4 deletions(-) diff --git a/turbo.json b/turbo.json index 4f0b6d8690b..edfcd6771c9 100644 --- a/turbo.json +++ b/turbo.json @@ -30,10 +30,6 @@ "dependsOn": ["^build"], "outputs": [".next/**", "dist/**"] }, - "vite:build": { - "dependsOn": ["^build"], - "outputs": [".next/**", "dist/**"] - }, "develop": { "cache": false, "persistent": true,