1
+ import { ToolbarModuleExtension } from '@blocksuite/affine-shared/services' ;
1
2
import {
3
+ BlockFlavourIdentifier ,
2
4
BlockViewExtension ,
3
5
CommandExtension ,
4
6
FlavourExtension ,
@@ -7,15 +9,18 @@ import {
7
9
import type { ExtensionType } from '@blocksuite/store' ;
8
10
import { literal } from 'lit/static-html.js' ;
9
11
10
- import { ImageBlockAdapterExtensions } from './adapters/extension.js' ;
11
- import { commands } from './commands/index.js' ;
12
- import { ImageBlockService , ImageDropOption } from './image-service.js' ;
12
+ import { ImageBlockAdapterExtensions } from './adapters/extension' ;
13
+ import { commands } from './commands/index' ;
14
+ import { ImageBlockService , ImageDropOption } from './image-service' ;
15
+ import { BuiltinToolbarConfig } from './toolbar' ;
16
+
17
+ const Flavour = 'affine:image' ;
13
18
14
19
export const ImageBlockSpec : ExtensionType [ ] = [
15
- FlavourExtension ( 'affine:image' ) ,
20
+ FlavourExtension ( Flavour ) ,
16
21
ImageBlockService ,
17
22
CommandExtension ( commands ) ,
18
- BlockViewExtension ( 'affine:image' , model => {
23
+ BlockViewExtension ( Flavour , model => {
19
24
const parent = model . doc . getParent ( model . id ) ;
20
25
21
26
if ( parent ?. flavour === 'affine:surface' ) {
@@ -24,9 +29,13 @@ export const ImageBlockSpec: ExtensionType[] = [
24
29
25
30
return literal `affine-image` ;
26
31
} ) ,
27
- WidgetViewMapExtension ( 'affine:image' , {
32
+ WidgetViewMapExtension ( Flavour , {
28
33
imageToolbar : literal `affine-image-toolbar-widget` ,
29
34
} ) ,
30
35
ImageDropOption ,
31
36
ImageBlockAdapterExtensions ,
37
+ ToolbarModuleExtension ( {
38
+ id : BlockFlavourIdentifier ( Flavour ) ,
39
+ config : BuiltinToolbarConfig ,
40
+ } ) ,
32
41
] . flat ( ) ;
0 commit comments