diff --git a/blocksuite/affine/block-code/package.json b/blocksuite/affine/block-code/package.json index 116f75ae5e..5d4287bd23 100644 --- a/blocksuite/affine/block-code/package.json +++ b/blocksuite/affine/block-code/package.json @@ -17,6 +17,7 @@ "@blocksuite/affine-model": "workspace:*", "@blocksuite/affine-rich-text": "workspace:*", "@blocksuite/affine-shared": "workspace:*", + "@blocksuite/affine-widget-slash-menu": "workspace:*", "@blocksuite/block-std": "workspace:*", "@blocksuite/global": "workspace:*", "@blocksuite/icons": "^2.2.3", diff --git a/blocksuite/affine/block-code/src/code-block-spec.ts b/blocksuite/affine/block-code/src/code-block-spec.ts index 1e2a28d608..b3cb3bf880 100644 --- a/blocksuite/affine/block-code/src/code-block-spec.ts +++ b/blocksuite/affine/block-code/src/code-block-spec.ts @@ -1,3 +1,4 @@ +import { SlashMenuConfigExtension } from '@blocksuite/affine-widget-slash-menu'; import { BlockViewExtension, FlavourExtension, @@ -13,6 +14,7 @@ import { } from './code-block-inline.js'; import { CodeBlockService } from './code-block-service.js'; import { AFFINE_CODE_TOOLBAR_WIDGET } from './code-toolbar/index.js'; +import { codeSlashMenuConfig } from './configs/slash-menu.js'; export const codeToolbarWidget = WidgetViewExtension( 'affine:code', @@ -28,4 +30,5 @@ export const CodeBlockSpec: ExtensionType[] = [ CodeBlockInlineManagerExtension, CodeBlockUnitSpecExtension, CodeBlockAdapterExtensions, + SlashMenuConfigExtension('affine:code', codeSlashMenuConfig), ].flat(); diff --git a/blocksuite/affine/block-code/src/configs/slash-menu.ts b/blocksuite/affine/block-code/src/configs/slash-menu.ts new file mode 100644 index 0000000000..11ed76aa1c --- /dev/null +++ b/blocksuite/affine/block-code/src/configs/slash-menu.ts @@ -0,0 +1,8 @@ +import { type SlashMenuConfig } from '@blocksuite/affine-widget-slash-menu'; + +export const codeSlashMenuConfig: SlashMenuConfig = { + disableWhen: ({ model }) => { + return model.flavour === 'affine:code'; + }, + items: [], +}; diff --git a/blocksuite/affine/block-code/tsconfig.json b/blocksuite/affine/block-code/tsconfig.json index c76a0cb85f..170dff87ee 100644 --- a/blocksuite/affine/block-code/tsconfig.json +++ b/blocksuite/affine/block-code/tsconfig.json @@ -11,6 +11,7 @@ { "path": "../model" }, { "path": "../rich-text" }, { "path": "../shared" }, + { "path": "../widget-slash-menu" }, { "path": "../../framework/block-std" }, { "path": "../../framework/global" }, { "path": "../../framework/inline" }, diff --git a/blocksuite/affine/widget-slash-menu/src/config.ts b/blocksuite/affine/widget-slash-menu/src/config.ts index 0aaf15cb62..f378f52ea5 100644 --- a/blocksuite/affine/widget-slash-menu/src/config.ts +++ b/blocksuite/affine/widget-slash-menu/src/config.ts @@ -20,9 +20,6 @@ import type { SlashMenuConfig } from './types'; import { formatDate, formatTime } from './utils'; export const defaultSlashMenuConfig: SlashMenuConfig = { - disableWhen: ({ model }) => { - return model.flavour === 'affine:code'; - }, items: () => { const now = new Date(); const tomorrow = new Date(); diff --git a/tools/utils/src/workspace.gen.ts b/tools/utils/src/workspace.gen.ts index 8b7b0b20fc..9584d2d59b 100644 --- a/tools/utils/src/workspace.gen.ts +++ b/tools/utils/src/workspace.gen.ts @@ -67,6 +67,7 @@ export const PackageList = [ 'blocksuite/affine/model', 'blocksuite/affine/rich-text', 'blocksuite/affine/shared', + 'blocksuite/affine/widget-slash-menu', 'blocksuite/framework/block-std', 'blocksuite/framework/global', 'blocksuite/framework/inline', diff --git a/yarn.lock b/yarn.lock index f70ce293bc..75a2bd77ab 100644 --- a/yarn.lock +++ b/yarn.lock @@ -2300,6 +2300,7 @@ __metadata: "@blocksuite/affine-model": "workspace:*" "@blocksuite/affine-rich-text": "workspace:*" "@blocksuite/affine-shared": "workspace:*" + "@blocksuite/affine-widget-slash-menu": "workspace:*" "@blocksuite/block-std": "workspace:*" "@blocksuite/global": "workspace:*" "@blocksuite/icons": "npm:^2.2.3"