Skip to content

Commit 5e6e9f5

Browse files
Check for isImageBlockEnabled and isTableEnabled (#1761)
* Check for isImageBlockEnabled and isTableEnabled * [autofix.ci] apply automated fixes --------- Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
1 parent 054f4ab commit 5e6e9f5

File tree

1 file changed

+32
-21
lines changed
  • packages/crepe/src/feature/block-edit/menu

1 file changed

+32
-21
lines changed

Diff for: packages/crepe/src/feature/block-edit/menu/config.ts

+32-21
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,6 @@
1+
import { imageBlockSchema } from '@milkdown/kit/component/image-block'
12
import { editorViewCtx } from '@milkdown/kit/core'
3+
import type { Ctx } from '@milkdown/kit/ctx'
24
import {
35
blockquoteSchema,
46
bulletListSchema,
@@ -9,13 +11,15 @@ import {
911
orderedListSchema,
1012
paragraphSchema,
1113
} from '@milkdown/kit/preset/commonmark'
12-
import { TextSelection } from '@milkdown/kit/prose/state'
13-
import { imageBlockSchema } from '@milkdown/kit/component/image-block'
1414
import { createTable } from '@milkdown/kit/preset/gfm'
15+
import { TextSelection } from '@milkdown/kit/prose/state'
16+
import { CrepeFeature } from '../../..'
17+
import { FeaturesCtx } from '../../../core/slice'
1518
import {
1619
bulletListIcon,
1720
codeIcon,
1821
dividerIcon,
22+
functionsIcon,
1923
h1Icon,
2024
h2Icon,
2125
h3Icon,
@@ -28,20 +32,16 @@ import {
2832
tableIcon,
2933
textIcon,
3034
todoListIcon,
31-
functionsIcon,
3235
} from '../../../icons'
3336
import type { BlockEditFeatureConfig } from '../index'
37+
import { GroupBuilder } from './group-builder'
3438
import type { MenuItemGroup } from './utils'
3539
import {
3640
clearContentAndAddBlockType,
3741
clearContentAndSetBlockType,
3842
clearContentAndWrapInBlockType,
3943
clearRange,
4044
} from './utils'
41-
import { GroupBuilder } from './group-builder'
42-
import type { Ctx } from '@milkdown/kit/ctx'
43-
import { FeaturesCtx } from '../../../core/slice'
44-
import { CrepeFeature } from '../../..'
4545

4646
export function getGroups(
4747
filter?: string,
@@ -50,6 +50,8 @@ export function getGroups(
5050
) {
5151
const flags = ctx?.get(FeaturesCtx)
5252
const isLatexEnabled = flags?.includes(CrepeFeature.Latex)
53+
const isImageBlockEnabled = flags?.includes(CrepeFeature.ImageBlock)
54+
const isTableEnabled = flags?.includes(CrepeFeature.Table)
5355

5456
const groupBuilder = new GroupBuilder()
5557
groupBuilder
@@ -211,9 +213,13 @@ export function getGroups(
211213
},
212214
})
213215

214-
const advancedGroup = groupBuilder
215-
.addGroup('advanced', config?.slashMenuAdvancedGroupLabel ?? 'Advanced')
216-
.addItem('image', {
216+
const advancedGroup = groupBuilder.addGroup(
217+
'advanced',
218+
config?.slashMenuAdvancedGroupLabel ?? 'Advanced'
219+
)
220+
221+
if (isImageBlockEnabled) {
222+
advancedGroup.addItem('image', {
217223
label: config?.slashMenuImageLabel ?? 'Image',
218224
icon: config?.slashMenuImageIcon?.() ?? imageIcon,
219225
onRun: (ctx) => {
@@ -224,18 +230,22 @@ export function getGroups(
224230
command(state, dispatch)
225231
},
226232
})
227-
.addItem('code', {
228-
label: config?.slashMenuCodeBlockLabel ?? 'Code',
229-
icon: config?.slashMenuCodeBlockIcon?.() ?? codeIcon,
230-
onRun: (ctx) => {
231-
const view = ctx.get(editorViewCtx)
232-
const { dispatch, state } = view
233+
}
233234

234-
const command = clearContentAndAddBlockType(codeBlockSchema.type(ctx))
235-
command(state, dispatch)
236-
},
237-
})
238-
.addItem('table', {
235+
advancedGroup.addItem('code', {
236+
label: config?.slashMenuCodeBlockLabel ?? 'Code',
237+
icon: config?.slashMenuCodeBlockIcon?.() ?? codeIcon,
238+
onRun: (ctx) => {
239+
const view = ctx.get(editorViewCtx)
240+
const { dispatch, state } = view
241+
242+
const command = clearContentAndAddBlockType(codeBlockSchema.type(ctx))
243+
command(state, dispatch)
244+
},
245+
})
246+
247+
if (isTableEnabled) {
248+
advancedGroup.addItem('table', {
239249
label: config?.slashMenuTableLabel ?? 'Table',
240250
icon: config?.slashMenuTableIcon?.() ?? tableIcon,
241251
onRun: (ctx) => {
@@ -260,6 +270,7 @@ export function getGroups(
260270
})
261271
},
262272
})
273+
}
263274

264275
if (isLatexEnabled) {
265276
advancedGroup.addItem('math', {

0 commit comments

Comments
 (0)