refactor(editor): code block slash menu config extension (#10683)
This commit is contained in:
@@ -17,6 +17,7 @@
|
|||||||
"@blocksuite/affine-model": "workspace:*",
|
"@blocksuite/affine-model": "workspace:*",
|
||||||
"@blocksuite/affine-rich-text": "workspace:*",
|
"@blocksuite/affine-rich-text": "workspace:*",
|
||||||
"@blocksuite/affine-shared": "workspace:*",
|
"@blocksuite/affine-shared": "workspace:*",
|
||||||
|
"@blocksuite/affine-widget-slash-menu": "workspace:*",
|
||||||
"@blocksuite/block-std": "workspace:*",
|
"@blocksuite/block-std": "workspace:*",
|
||||||
"@blocksuite/global": "workspace:*",
|
"@blocksuite/global": "workspace:*",
|
||||||
"@blocksuite/icons": "^2.2.3",
|
"@blocksuite/icons": "^2.2.3",
|
||||||
|
|||||||
@@ -1,3 +1,4 @@
|
|||||||
|
import { SlashMenuConfigExtension } from '@blocksuite/affine-widget-slash-menu';
|
||||||
import {
|
import {
|
||||||
BlockViewExtension,
|
BlockViewExtension,
|
||||||
FlavourExtension,
|
FlavourExtension,
|
||||||
@@ -13,6 +14,7 @@ import {
|
|||||||
} from './code-block-inline.js';
|
} from './code-block-inline.js';
|
||||||
import { CodeBlockService } from './code-block-service.js';
|
import { CodeBlockService } from './code-block-service.js';
|
||||||
import { AFFINE_CODE_TOOLBAR_WIDGET } from './code-toolbar/index.js';
|
import { AFFINE_CODE_TOOLBAR_WIDGET } from './code-toolbar/index.js';
|
||||||
|
import { codeSlashMenuConfig } from './configs/slash-menu.js';
|
||||||
|
|
||||||
export const codeToolbarWidget = WidgetViewExtension(
|
export const codeToolbarWidget = WidgetViewExtension(
|
||||||
'affine:code',
|
'affine:code',
|
||||||
@@ -28,4 +30,5 @@ export const CodeBlockSpec: ExtensionType[] = [
|
|||||||
CodeBlockInlineManagerExtension,
|
CodeBlockInlineManagerExtension,
|
||||||
CodeBlockUnitSpecExtension,
|
CodeBlockUnitSpecExtension,
|
||||||
CodeBlockAdapterExtensions,
|
CodeBlockAdapterExtensions,
|
||||||
|
SlashMenuConfigExtension('affine:code', codeSlashMenuConfig),
|
||||||
].flat();
|
].flat();
|
||||||
|
|||||||
8
blocksuite/affine/block-code/src/configs/slash-menu.ts
Normal file
8
blocksuite/affine/block-code/src/configs/slash-menu.ts
Normal file
@@ -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": "../model" },
|
||||||
{ "path": "../rich-text" },
|
{ "path": "../rich-text" },
|
||||||
{ "path": "../shared" },
|
{ "path": "../shared" },
|
||||||
|
{ "path": "../widget-slash-menu" },
|
||||||
{ "path": "../../framework/block-std" },
|
{ "path": "../../framework/block-std" },
|
||||||
{ "path": "../../framework/global" },
|
{ "path": "../../framework/global" },
|
||||||
{ "path": "../../framework/inline" },
|
{ "path": "../../framework/inline" },
|
||||||
|
|||||||
@@ -20,9 +20,6 @@ import type { SlashMenuConfig } from './types';
|
|||||||
import { formatDate, formatTime } from './utils';
|
import { formatDate, formatTime } from './utils';
|
||||||
|
|
||||||
export const defaultSlashMenuConfig: SlashMenuConfig = {
|
export const defaultSlashMenuConfig: SlashMenuConfig = {
|
||||||
disableWhen: ({ model }) => {
|
|
||||||
return model.flavour === 'affine:code';
|
|
||||||
},
|
|
||||||
items: () => {
|
items: () => {
|
||||||
const now = new Date();
|
const now = new Date();
|
||||||
const tomorrow = new Date();
|
const tomorrow = new Date();
|
||||||
|
|||||||
@@ -67,6 +67,7 @@ export const PackageList = [
|
|||||||
'blocksuite/affine/model',
|
'blocksuite/affine/model',
|
||||||
'blocksuite/affine/rich-text',
|
'blocksuite/affine/rich-text',
|
||||||
'blocksuite/affine/shared',
|
'blocksuite/affine/shared',
|
||||||
|
'blocksuite/affine/widget-slash-menu',
|
||||||
'blocksuite/framework/block-std',
|
'blocksuite/framework/block-std',
|
||||||
'blocksuite/framework/global',
|
'blocksuite/framework/global',
|
||||||
'blocksuite/framework/inline',
|
'blocksuite/framework/inline',
|
||||||
|
|||||||
@@ -2300,6 +2300,7 @@ __metadata:
|
|||||||
"@blocksuite/affine-model": "workspace:*"
|
"@blocksuite/affine-model": "workspace:*"
|
||||||
"@blocksuite/affine-rich-text": "workspace:*"
|
"@blocksuite/affine-rich-text": "workspace:*"
|
||||||
"@blocksuite/affine-shared": "workspace:*"
|
"@blocksuite/affine-shared": "workspace:*"
|
||||||
|
"@blocksuite/affine-widget-slash-menu": "workspace:*"
|
||||||
"@blocksuite/block-std": "workspace:*"
|
"@blocksuite/block-std": "workspace:*"
|
||||||
"@blocksuite/global": "workspace:*"
|
"@blocksuite/global": "workspace:*"
|
||||||
"@blocksuite/icons": "npm:^2.2.3"
|
"@blocksuite/icons": "npm:^2.2.3"
|
||||||
|
|||||||
Reference in New Issue
Block a user