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:196
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:78
exportManager 
readonlyexportManager:ExportManager
Inherited from 
Defined in 
packages/blocks/src/root-block/root-service.ts:32
fileDropManager 
readonlyfileDropManager:FileDropManager
Inherited from 
Defined in 
packages/blocks/src/root-block/root-service.ts:34
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:80
slots 
slots:
object
copyAsPng 
copyAsPng:
Slot<object>
Type declaration 
blocks 
blocks:
EdgelessBlockModelType[]
shapes 
shapes:
SurfaceModel[]
cursorUpdated 
cursorUpdated:
Slot<string>
docLinkClicked 
docLinkClicked:
Slot<object>
Type declaration 
pageId 
pageId:
string
params? 
optionalparams:object
params.blockIds? 
optionalparams.blockIds:string[]
params.elementIds? 
optionalparams.elementIds:string[]
params.mode? 
optionalparams.mode:"edgeless"|"page"
draggingAreaUpdated 
draggingAreaUpdated:
Slot<void>
edgelessToolUpdated 
edgelessToolUpdated:
Slot<TextTool|BrushTool|ConnectorTool|CopilotSelectionTool|EraserTool|FrameNavigatorTool|FrameTool|LassoTool|MindmapTool|NoteTool|PanTool|ShapeTool|DefaultTool|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>
tagClicked 
tagClicked:
Slot<object>
Type declaration 
tagId 
tagId:
string
toggleNoteSlicer 
toggleNoteSlicer:
Slot<void>
toolbarLocked 
toolbarLocked:
Slot<boolean>
Overrides 
Defined in 
packages/blocks/src/root-block/edgeless/edgeless-root-service.ts:85
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:112
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:38
flavour 
readonlystaticflavour:"affine:page"=RootBlockSchema.model.flavour
Overrides 
Defined in 
packages/blocks/src/root-block/edgeless/edgeless-root-service.ts:66
Accessors 
blocks 
getblocks():EdgelessBlockModel<GfxCompatibleProps>[]
Returns 
EdgelessBlockModel<GfxCompatibleProps>[]
Defined in 
packages/blocks/src/root-block/edgeless/edgeless-root-service.ts:114
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:118
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:125
elements 
getelements():SurfaceElementModel<BaseElementProps>[]
sorted canvas elements
Returns 
SurfaceElementModel<BaseElementProps>[]
Defined in 
packages/blocks/src/root-block/edgeless/edgeless-root-service.ts:134
frame 
getframe():EdgelessFrameManager
Returns 
EdgelessFrameManager
Defined in 
packages/blocks/src/root-block/edgeless/edgeless-root-service.ts:138
frameOverlay 
getframeOverlay():FrameOverlay
Returns 
FrameOverlay
Defined in 
packages/blocks/src/root-block/edgeless/edgeless-root-service.ts:142
frames 
getframes():FrameBlockModel[]
Returns 
Defined in 
packages/blocks/src/root-block/edgeless/edgeless-root-service.ts:146
gfx 
getgfx():GfxController
Returns 
GfxController
Defined in 
packages/blocks/src/root-block/edgeless/edgeless-root-service.ts:152
host 
gethost():EditorHost
Returns 
Implementation of 
Overrides 
Defined in 
packages/blocks/src/root-block/edgeless/edgeless-root-service.ts:156
layer 
getlayer():LayerManager
Returns 
LayerManager
Defined in 
packages/blocks/src/root-block/edgeless/edgeless-root-service.ts:160
locked 
getlocked():boolean
setlocked(locked):void
Parameters 
• locked: boolean
Returns 
boolean
Defined in 
packages/blocks/src/root-block/edgeless/edgeless-root-service.ts:164
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:44
selectedModels 
getselectedModels():BlockModel<object,SignaledProps<object>>[]
Returns 
BlockModel<object, SignaledProps<object>>[]
Inherited from 
Defined in 
packages/blocks/src/root-block/root-service.ts:62
selection 
getselection():EdgelessSelectionManager
Returns 
EdgelessSelectionManager
Implementation of 
Defined in 
packages/blocks/src/root-block/edgeless/edgeless-root-service.ts:172
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:176
surface 
getsurface():SurfaceBlockModel
Returns 
Defined in 
packages/blocks/src/root-block/edgeless/edgeless-root-service.ts:180
tool 
gettool():EdgelessToolsManager
Returns 
EdgelessToolsManager
Defined in 
packages/blocks/src/root-block/edgeless/edgeless-root-service.ts:184
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:188
viewportElement 
getviewportElement():null|HTMLElement
Returns 
null | HTMLElement
Inherited from 
Defined in 
packages/blocks/src/root-block/root-service.ts:66
zoom 
getzoom():number
Returns 
number
Defined in 
packages/blocks/src/root-block/edgeless/edgeless-root-service.ts:192
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:242
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:260
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: string[] | GfxModel[]
Returns 
string
Defined in 
packages/blocks/src/root-block/edgeless/edgeless-root-service.ts:274
createGroupFromSelected() 
createGroupFromSelected():
undefined|string
Returns 
undefined | string
Defined in 
packages/blocks/src/root-block/edgeless/edgeless-root-service.ts:293
createTemplateJob() 
createTemplateJob(
type):TemplateJob
Parameters 
• type: "template" | "sticker"
Returns 
TemplateJob
Defined in 
packages/blocks/src/root-block/edgeless/edgeless-root-service.ts:330
dispose() 
dispose():
void
Returns 
void
Inherited from 
Defined in 
packages/framework/block-std/dist/extension/service.d.ts:35
generateIndex() 
generateIndex(
type):string
Parameters 
• type: string
Returns 
string
Defined in 
packages/blocks/src/root-block/edgeless/edgeless-root-service.ts:370
getConnectors() 
getConnectors(
element):ConnectorElementModel[]
Parameters 
• element: string | GfxModel
Returns 
Defined in 
packages/blocks/src/root-block/edgeless/edgeless-root-service.ts:374
getElementById() 
getElementById(
id):null|GfxModel
Parameters 
• id: string
Returns 
null | GfxModel
Defined in 
packages/blocks/src/root-block/edgeless/edgeless-root-service.ts:380
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:387
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:393
handleEvent() 
handleEvent(
name,fn,options?):void
Parameters 
• name: "pan" | "click" | "doubleClick" | "tripleClick" | "pointerDown" | "pointerMove" | "pointerUp" | "pointerOut" | "dragStart" | "dragMove" | "dragEnd" | "pinch" | "keyDown" | "keyUp" | "selectionChange" | "compositionStart" | "compositionUpdate" | "compositionEnd" | "cut" | "copy" | "paste" | "beforeInput" | "blur" | "focus" | "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:436
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:447
registerTool() 
registerTool(
Tool):void
Parameters 
• Tool: EdgelessToolConstructor
Returns 
void
Defined in 
packages/blocks/src/root-block/edgeless/edgeless-root-service.ts:487
removeElement() 
removeElement(
id):void
Parameters 
• id: string | GfxModel
Returns 
void
Defined in 
packages/blocks/src/root-block/edgeless/edgeless-root-service.ts:491
reorderElement() 
reorderElement(
element,direction):void
Parameters 
• element: GfxModel
• direction: ReorderingDirection
Returns 
void
Defined in 
packages/blocks/src/root-block/edgeless/edgeless-root-service.ts:506
setZoomByAction() 
setZoomByAction(
action):void
Parameters 
• action: ZoomAction
Returns 
void
Defined in 
packages/blocks/src/root-block/edgeless/edgeless-root-service.ts:522
setZoomByStep() 
setZoomByStep(
step):void
Parameters 
• step: number
Returns 
void
Defined in 
packages/blocks/src/root-block/edgeless/edgeless-root-service.ts:538
ungroup() 
ungroup(
group):void
Parameters 
• group: GroupElementModel
Returns 
void
Defined in 
packages/blocks/src/root-block/edgeless/edgeless-root-service.ts:542
unmounted() 
unmounted():
void
Returns 
void
Overrides 
Defined in 
packages/blocks/src/root-block/edgeless/edgeless-root-service.ts:580
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:591
zoomToFit() 
zoomToFit():
void
Returns 
void
Defined in 
packages/blocks/src/root-block/edgeless/edgeless-root-service.ts:614
setup() 
staticsetup(di):void
Parameters 
• di: Container
Returns 
void
Inherited from 
Defined in 
packages/framework/block-std/dist/extension/service.d.ts:31