BlockSuite API Documentation / @blocksuite/blocks / EdgelessRootService
Class: EdgelessRootService 
Deprecated 
BlockService is deprecated. You should reconsider where to put your feature.
BlockService is a legacy extension that is used to provide services to the block. In the previous version of BlockSuite, block service provides a way to extend the block. However, in the new version, we recommend using the new extension system.
Extends 
Implements 
Constructors 
new EdgelessRootService() 
new EdgelessRootService(
std,flavourProvider):EdgelessRootService
Parameters 
• std: BlockStdScope
• flavourProvider
• flavourProvider.flavour: string
Returns 
Overrides 
Defined in 
packages/blocks/src/root-block/edgeless/edgeless-root-service.ts:193
Properties 
disposables 
readonlydisposables:DisposableGroup
Inherited from 
Defined in 
packages/framework/block-std/dist/extension/service.d.ts:20
elementRenderers 
elementRenderers:
Record<string,ElementRenderer>
Implementation of 
SurfaceContext.elementRenderers
Defined in 
packages/blocks/src/root-block/edgeless/edgeless-root-service.ts:77
fileDropManager 
readonlyfileDropManager:FileDropManager
Inherited from 
Defined in 
packages/blocks/src/root-block/root-service.ts:25
flavour 
readonlyflavour:string
Inherited from 
Defined in 
packages/framework/block-std/dist/extension/service.d.ts:21
flavourProvider 
readonlyflavourProvider:object
flavour 
flavour:
string
Inherited from 
Defined in 
packages/framework/block-std/dist/extension/service.d.ts:16
overlays 
overlays:
Record<string,Overlay>
Implementation of 
Defined in 
packages/blocks/src/root-block/edgeless/edgeless-root-service.ts:79
slots 
slots:
object
copyAsPng 
copyAsPng:
Slot<object>
Type declaration 
blocks 
blocks:
EdgelessBlockModelType[]
shapes 
shapes:
SurfaceModel[]
cursorUpdated 
cursorUpdated:
Slot<string>
draggingAreaUpdated 
draggingAreaUpdated:
Slot<void>
edgelessToolUpdated 
edgelessToolUpdated:
Slot<TextTool|BrushTool|ConnectorTool|ShapeTool|MindmapTool|CopilotSelectionTool|DefaultTool|EraserTool|FrameNavigatorTool|FrameTool|LassoTool|NoteTool|PanTool|object>
elementResizeEnd 
elementResizeEnd:
Slot<void>
elementResizeStart 
elementResizeStart:
Slot<void>
fullScreenToggled 
fullScreenToggled:
Slot<void>
navigatorFrameChanged 
navigatorFrameChanged:
Slot<FrameBlockModel>
navigatorSettingUpdated 
navigatorSettingUpdated:
Slot<object>
Type declaration 
blackBackground? 
optionalblackBackground:boolean
fillScreen? 
optionalfillScreen:boolean
hideToolbar? 
optionalhideToolbar:boolean
pressShiftKeyUpdated 
pressShiftKeyUpdated:
Slot<boolean>
readonlyUpdated 
readonlyUpdated:
Slot<boolean>
toggleNoteSlicer 
toggleNoteSlicer:
Slot<void>
toolbarLocked 
toolbarLocked:
Slot<boolean>
Defined in 
packages/blocks/src/root-block/edgeless/edgeless-root-service.ts:84
specSlots 
readonlyspecSlots:BlockSpecSlots<BlockService>
Inherited from 
Defined in 
packages/framework/block-std/dist/extension/service.d.ts:22
std 
readonlystd:BlockStdScope
Inherited from 
Defined in 
packages/framework/block-std/dist/extension/service.d.ts:15
TemplateJob 
TemplateJob: typeof
TemplateJob
Defined in 
packages/blocks/src/root-block/edgeless/edgeless-root-service.ts:109
transformers 
transformers:
object
html 
html:
object=HtmlTransformer
html.exportDoc() 
html.exportDoc: (
doc) =>Promise<void>
Parameters 
• doc: Doc
Returns 
Promise<void>
markdown 
markdown:
object=MarkdownTransformer
markdown.exportDoc() 
markdown.exportDoc: (
doc) =>Promise<void>
Parameters 
• doc: Doc
Returns 
Promise<void>
markdown.importMarkdown() 
markdown.importMarkdown: (
__namedParameters) =>Promise<void>
Parameters 
• __namedParameters: ImportMarkdownOptions
Returns 
Promise<void>
zip 
zip:
object=ZipTransformer
zip.exportDocs() 
zip.exportDocs: (
collection,docs) =>Promise<Blob>
Parameters 
• collection: DocCollection
• docs: Doc[]
Returns 
Promise<Blob>
zip.importDocs() 
zip.importDocs: (
collection,imported) =>Promise<(undefined|Doc)[]>
Parameters 
• collection: DocCollection
• imported: Blob
Returns 
Promise<(undefined | Doc)[]>
Inherited from 
Defined in 
packages/blocks/src/root-block/root-service.ts:27
flavour 
readonlystaticflavour:"affine:page"=RootBlockSchema.model.flavour
Overrides 
Defined in 
packages/blocks/src/root-block/edgeless/edgeless-root-service.ts:65
Accessors 
blocks 
getblocks():EdgelessBlockModel<GfxCompatibleProps>[]
Returns 
EdgelessBlockModel<GfxCompatibleProps>[]
Defined in 
packages/blocks/src/root-block/edgeless/edgeless-root-service.ts:111
collection 
getcollection():DocCollection
Returns 
Inherited from 
Defined in 
packages/framework/block-std/dist/extension/service.d.ts:23
connectorOverlay 
getconnectorOverlay():ConnectionOverlay
Returns 
Defined in 
packages/blocks/src/root-block/edgeless/edgeless-root-service.ts:115
doc 
getdoc():Doc
Returns 
Inherited from 
Defined in 
packages/framework/block-std/dist/extension/service.d.ts:24
edgelessElements 
getedgelessElements():GfxModel[]
sorted edgeless elements
Returns 
GfxModel[]
Defined in 
packages/blocks/src/root-block/edgeless/edgeless-root-service.ts:122
elements 
getelements():SurfaceElementModel<BaseElementProps>[]
sorted canvas elements
Returns 
SurfaceElementModel<BaseElementProps>[]
Defined in 
packages/blocks/src/root-block/edgeless/edgeless-root-service.ts:131
frame 
getframe():EdgelessFrameManager
Returns 
EdgelessFrameManager
Defined in 
packages/blocks/src/root-block/edgeless/edgeless-root-service.ts:135
frameOverlay 
getframeOverlay():FrameOverlay
Returns 
FrameOverlay
Defined in 
packages/blocks/src/root-block/edgeless/edgeless-root-service.ts:139
frames 
getframes():FrameBlockModel[]
Returns 
Defined in 
packages/blocks/src/root-block/edgeless/edgeless-root-service.ts:143
gfx 
getgfx():GfxController
Returns 
GfxController
Defined in 
packages/blocks/src/root-block/edgeless/edgeless-root-service.ts:149
host 
gethost():EditorHost
Returns 
Implementation of 
Overrides 
Defined in 
packages/blocks/src/root-block/edgeless/edgeless-root-service.ts:153
layer 
getlayer():LayerManager
Returns 
LayerManager
Defined in 
packages/blocks/src/root-block/edgeless/edgeless-root-service.ts:157
locked 
getlocked():boolean
setlocked(locked):void
Parameters 
• locked: boolean
Returns 
boolean
Defined in 
packages/blocks/src/root-block/edgeless/edgeless-root-service.ts:161
selectedBlocks 
getselectedBlocks():BlockComponent<BlockModel<object,SignaledProps<object>>,BlockService,string>[]
Returns 
BlockComponent<BlockModel<object, SignaledProps<object>>, BlockService, string>[]
Inherited from 
Defined in 
packages/blocks/src/root-block/root-service.ts:33
selectedModels 
getselectedModels():BlockModel<object,SignaledProps<object>>[]
Returns 
BlockModel<object, SignaledProps<object>>[]
Inherited from 
Defined in 
packages/blocks/src/root-block/root-service.ts:51
selection 
getselection():EdgelessSelectionManager
Returns 
EdgelessSelectionManager
Implementation of 
Defined in 
packages/blocks/src/root-block/edgeless/edgeless-root-service.ts:169
selectionManager 
getselectionManager():SelectionManager
Returns 
Inherited from 
Defined in 
packages/framework/block-std/dist/extension/service.d.ts:26
snap 
getsnap():EdgelessSnapManager
Returns 
EdgelessSnapManager
Defined in 
packages/blocks/src/root-block/edgeless/edgeless-root-service.ts:173
surface 
getsurface():SurfaceBlockModel
Returns 
Defined in 
packages/blocks/src/root-block/edgeless/edgeless-root-service.ts:177
tool 
gettool():EdgelessToolsManager
Returns 
EdgelessToolsManager
Defined in 
packages/blocks/src/root-block/edgeless/edgeless-root-service.ts:181
uiEventDispatcher 
getuiEventDispatcher():UIEventDispatcher
Returns 
Inherited from 
Defined in 
packages/framework/block-std/dist/extension/service.d.ts:27
viewport 
getviewport():Viewport
Returns 
Viewport
Implementation of 
Defined in 
packages/blocks/src/root-block/edgeless/edgeless-root-service.ts:185
viewportElement 
getviewportElement():null|HTMLElement
Returns 
null | HTMLElement
Inherited from 
Defined in 
packages/blocks/src/root-block/root-service.ts:55
zoom 
getzoom():number
Returns 
number
Defined in 
packages/blocks/src/root-block/edgeless/edgeless-root-service.ts:189
Methods 
addBlock() 
addBlock(
flavour,props,parent?,parentIndex?):string
Parameters 
• flavour: string
• props: Record<string, unknown>
• parent?: string | BlockModel<object, SignaledProps<object>>
• parentIndex?: number
Returns 
string
Defined in 
packages/blocks/src/root-block/edgeless/edgeless-root-service.ts:239
addElement() 
addElement<
T>(type,props):string
Type Parameters 
• T extends Record<string, unknown>
Parameters 
• type: string
• props: T
Returns 
string
Defined in 
packages/blocks/src/root-block/edgeless/edgeless-root-service.ts:257
bindHotKey() 
bindHotKey(
keymap,options?):void
Parameters 
• keymap: Record<string, UIEventHandler>
• options?
• options.global?: boolean
Returns 
void
Inherited from 
Defined in 
packages/framework/block-std/dist/extension/service.d.ts:32
createGroup() 
createGroup(
elements):string
Parameters 
• elements: GfxModel[] | string[]
Returns 
string
Defined in 
packages/blocks/src/root-block/edgeless/edgeless-root-service.ts:272
createGroupFromSelected() 
createGroupFromSelected():
undefined|string
Returns 
undefined | string
Defined in 
packages/blocks/src/root-block/edgeless/edgeless-root-service.ts:291
createTemplateJob() 
createTemplateJob(
type):TemplateJob
Parameters 
• type: "template" | "sticker"
Returns 
TemplateJob
Defined in 
packages/blocks/src/root-block/edgeless/edgeless-root-service.ts:328
dispose() 
dispose():
void
Returns 
void
Inherited from 
Defined in 
packages/framework/block-std/dist/extension/service.d.ts:35
generateIndex() 
generateIndex():
string
Returns 
string
Defined in 
packages/blocks/src/root-block/edgeless/edgeless-root-service.ts:366
getConnectors() 
getConnectors(
element):ConnectorElementModel[]
Parameters 
• element: string | GfxModel
Returns 
Defined in 
packages/blocks/src/root-block/edgeless/edgeless-root-service.ts:370
getElementById() 
getElementById(
id):null|GfxModel
Parameters 
• id: string
Returns 
null | GfxModel
Defined in 
packages/blocks/src/root-block/edgeless/edgeless-root-service.ts:376
getElementsByType() 
getElementsByType<
K>(type):SurfaceElementModelMap[K][]
Type Parameters 
• K extends keyof SurfaceElementModelMap
Parameters 
• type: K
Returns 
SurfaceElementModelMap[K][]
Defined in 
packages/blocks/src/root-block/edgeless/edgeless-root-service.ts:383
getFitToScreenData() 
getFitToScreenData(
padding,inputBounds?):object
Parameters 
• padding: [number, number, number, number] = ...
• inputBounds?: Bound[]
Returns 
object
centerX 
centerX:
number
centerY 
centerY:
number
zoom 
zoom:
number
Defined in 
packages/blocks/src/root-block/edgeless/edgeless-root-service.ts:389
handleEvent() 
handleEvent(
name,fn,options?):void
Parameters 
• name: "pan" | "click" | "blur" | "focus" | "doubleClick" | "tripleClick" | "pointerDown" | "pointerMove" | "pointerUp" | "pointerOut" | "dragStart" | "dragMove" | "dragEnd" | "pinch" | "keyDown" | "keyUp" | "selectionChange" | "compositionStart" | "compositionUpdate" | "compositionEnd" | "cut" | "copy" | "paste" | "beforeInput" | "drop" | "contextMenu" | "wheel"
• fn: UIEventHandler
• options?
• options.global?: boolean
Returns 
void
Inherited from 
Defined in 
packages/framework/block-std/dist/extension/service.d.ts:36
mounted() 
mounted():
void
Returns 
void
Overrides 
Defined in 
packages/blocks/src/root-block/edgeless/edgeless-root-service.ts:417
pickElementInGroup() 
pickElementInGroup(
x,y,options?):null|GfxModel
This method is used to pick element in group, if the picked element is in a group, we will pick the group instead. If that picked group is currently selected, then we will pick the element itself.
Parameters 
• x: number
• y: number
• options?: PointTestOptions
Returns 
null | GfxModel
Defined in 
packages/blocks/src/root-block/edgeless/edgeless-root-service.ts:428
registerTool() 
registerTool(
Tool):void
Parameters 
• Tool: EdgelessToolConstructor
Returns 
void
Defined in 
packages/blocks/src/root-block/edgeless/edgeless-root-service.ts:468
removeElement() 
removeElement(
id):void
Parameters 
• id: string | GfxModel
Returns 
void
Defined in 
packages/blocks/src/root-block/edgeless/edgeless-root-service.ts:472
reorderElement() 
reorderElement(
element,direction):void
Parameters 
• element: GfxModel
• direction: ReorderingDirection
Returns 
void
Defined in 
packages/blocks/src/root-block/edgeless/edgeless-root-service.ts:487
setZoomByAction() 
setZoomByAction(
action):void
Parameters 
• action: ZoomAction
Returns 
void
Defined in 
packages/blocks/src/root-block/edgeless/edgeless-root-service.ts:503
setZoomByStep() 
setZoomByStep(
step):void
Parameters 
• step: number
Returns 
void
Defined in 
packages/blocks/src/root-block/edgeless/edgeless-root-service.ts:519
ungroup() 
ungroup(
group):void
Parameters 
• group: GroupElementModel
Returns 
void
Defined in 
packages/blocks/src/root-block/edgeless/edgeless-root-service.ts:523
unmounted() 
unmounted():
void
Returns 
void
Overrides 
Defined in 
packages/blocks/src/root-block/edgeless/edgeless-root-service.ts:563
updateElement() 
updateElement(
id,props):void
Parameters 
• id: string
• props: Record<string, unknown>
Returns 
void
Defined in 
packages/blocks/src/root-block/edgeless/edgeless-root-service.ts:574
zoomToFit() 
zoomToFit():
void
Returns 
void
Defined in 
packages/blocks/src/root-block/edgeless/edgeless-root-service.ts:597
setup() 
staticsetup(di):void
Parameters 
• di: Container
Returns 
void
Inherited from 
Defined in 
packages/framework/block-std/dist/extension/service.d.ts:31