refactor(editor): code block slash menu config extension (#10683)

This commit is contained in:
L-Sun
2025-03-07 15:22:41 +00:00
parent 63bf2b80c1
commit 46466e2c3a
7 changed files with 15 additions and 3 deletions
@@ -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",
@@ -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();
@@ -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: [],
};
@@ -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" },
@@ -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();
+1
View File
@@ -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',
+1
View File
@@ -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"