Skip to content

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

  • SurfaceContext

Constructors

new EdgelessRootService()

new EdgelessRootService(std, flavourProvider): EdgelessRootService

Parameters

std: BlockStdScope

flavourProvider

flavourProvider.flavour: string

Returns

EdgelessRootService

Overrides

RootService.constructor

Defined in

packages/blocks/src/root-block/edgeless/edgeless-root-service.ts:128

Properties

TemplateJob

TemplateJob: typeof TemplateJob

Defined in

packages/blocks/src/root-block/edgeless/edgeless-root-service.ts:99


disposables

readonly disposables: DisposableGroup

Inherited from

RootService.disposables

Defined in

packages/framework/block-std/dist/extension/service.d.ts:20


editPropsStore

readonly editPropsStore: EditPropsStore

Inherited from

RootService.editPropsStore

Defined in

packages/blocks/src/root-block/root-service.ts:82


exportManager

readonly exportManager: ExportManager

Inherited from

RootService.exportManager

Defined in

packages/blocks/src/root-block/root-service.ts:84


fileDropManager

readonly fileDropManager: FileDropManager

Inherited from

RootService.fileDropManager

Defined in

packages/blocks/src/root-block/root-service.ts:86


flavour

readonly flavour: string

Inherited from

RootService.flavour

Defined in

packages/framework/block-std/dist/extension/service.d.ts:21


flavourProvider

readonly flavourProvider: object

flavour

flavour: string

Inherited from

RootService.flavourProvider

Defined in

packages/framework/block-std/dist/extension/service.d.ts:16


fontLoader

readonly fontLoader: FontLoader

Inherited from

RootService.fontLoader

Defined in

packages/blocks/src/root-block/root-service.ts:88


notificationService

notificationService: null | NotificationService = null

Inherited from

RootService.notificationService

Defined in

packages/blocks/src/root-block/root-service.ts:100


peekViewService

peekViewService: null | PeekViewService = null

Inherited from

RootService.peekViewService

Defined in

packages/blocks/src/root-block/root-service.ts:102


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?

optional params: object

params.blockIds?

optional params.blockIds: string[]

params.elementIds?

optional params.elementIds: string[]

params.mode?

optional params.mode: "edgeless" | "page"

draggingAreaUpdated

draggingAreaUpdated: Slot<void>

edgelessToolUpdated

edgelessToolUpdated: Slot<BrushTool | ConnectorTool | ShapeTool | TextTool | MindmapTool | FrameTool | PanTool | CopilotSelectionTool | EraserTool | FrameNavigatorTool | LassoTool | NoteTool | DefaultTool | object>

elementResizeEnd

elementResizeEnd: Slot<void>

elementResizeStart

elementResizeStart: Slot<void>

fullScreenToggled

fullScreenToggled: Slot<void>

navigatorFrameChanged: Slot<FrameBlockModel>

navigatorSettingUpdated: Slot<object>

Type declaration
blackBackground?

optional blackBackground: boolean

fillScreen?

optional fillScreen: boolean

hideToolbar?

optional hideToolbar: 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

RootService.slots

Defined in

packages/blocks/src/root-block/edgeless/edgeless-root-service.ts:101


specSlots

readonly specSlots: BlockSpecSlots<BlockService>

Inherited from

RootService.specSlots

Defined in

packages/framework/block-std/dist/extension/service.d.ts:22


std

readonly std: BlockStdScope

Inherited from

RootService.std

Defined in

packages/framework/block-std/dist/extension/service.d.ts:15


telemetryService

telemetryService: null | TelemetryService = null

Inherited from

RootService.telemetryService

Defined in

packages/blocks/src/root-block/root-service.ts:108


themeObserver

readonly themeObserver: ThemeObserver = ThemeObserver.instance

Inherited from

RootService.themeObserver

Defined in

packages/blocks/src/root-block/root-service.ts:110


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

RootService.transformers

Defined in

packages/blocks/src/root-block/root-service.ts:112


flavour

readonly static flavour: "affine:page" = RootBlockSchema.model.flavour

Overrides

RootService.flavour

Defined in

packages/blocks/src/root-block/edgeless/edgeless-root-service.ts:97

Accessors

blocks

get blocks(): EdgelessBlockModel<GfxCompatibleProps>[]

Returns

EdgelessBlockModel<GfxCompatibleProps>[]

Defined in

packages/blocks/src/root-block/edgeless/edgeless-root-service.ts:693


collection

get collection(): DocCollection

Returns

DocCollection

Inherited from

RootService.collection

Defined in

packages/framework/block-std/dist/extension/service.d.ts:36


doc

get doc(): Doc

Returns

Doc

Inherited from

RootService.doc

Defined in

packages/framework/block-std/dist/extension/service.d.ts:37


edgelessElements

get edgelessElements(): (GfxPrimitiveElementModel<BaseElementProps> | EdgelessBlockModel<GfxCompatibleProps>)[]

sorted edgeless elements

Returns

(GfxPrimitiveElementModel<BaseElementProps> | EdgelessBlockModel<GfxCompatibleProps>)[]

Defined in

packages/blocks/src/root-block/edgeless/edgeless-root-service.ts:700


elements

get elements(): GfxPrimitiveElementModel<BaseElementProps>[]

sorted canvas elements

Returns

GfxPrimitiveElementModel<BaseElementProps>[]

Defined in

packages/blocks/src/root-block/edgeless/edgeless-root-service.ts:711


frame

get frame(): EdgelessFrameManager

Returns

EdgelessFrameManager

Defined in

packages/blocks/src/root-block/edgeless/edgeless-root-service.ts:715


frames

get frames(): FrameBlockModel[]

Returns

FrameBlockModel[]

Defined in

packages/blocks/src/root-block/edgeless/edgeless-root-service.ts:719


host

get host(): EditorHost

Returns

EditorHost

Implementation of

SurfaceContext.host

Overrides

RootService.host

Defined in

packages/blocks/src/root-block/edgeless/edgeless-root-service.ts:723


layer

get layer(): LayerManager

Returns

LayerManager

Implementation of

SurfaceContext.layer

Defined in

packages/blocks/src/root-block/edgeless/edgeless-root-service.ts:727


locked

get locked(): boolean

set locked(locked): void

Parameters

locked: boolean

Returns

boolean

Defined in

packages/blocks/src/root-block/edgeless/edgeless-root-service.ts:731


selectedBlocks

get selectedBlocks(): BlockComponent<BlockModel<object, SignaledProps<object>>, BlockService, string>[]

Returns

BlockComponent<BlockModel<object, SignaledProps<object>>, BlockService, string>[]

Inherited from

RootService.selectedBlocks

Defined in

packages/blocks/src/root-block/root-service.ts:152


selectedModels

get selectedModels(): BlockModel<object, SignaledProps<object>>[]

Returns

BlockModel<object, SignaledProps<object>>[]

Inherited from

RootService.selectedModels

Defined in

packages/blocks/src/root-block/root-service.ts:170


selection

get selection(): EdgelessSelectionManager

Returns

EdgelessSelectionManager

Implementation of

SurfaceContext.selection

Defined in

packages/blocks/src/root-block/edgeless/edgeless-root-service.ts:739


selectionManager

get selectionManager(): SelectionManager

Returns

SelectionManager

Inherited from

RootService.selectionManager

Defined in

packages/framework/block-std/dist/extension/service.d.ts:39


snap

get snap(): EdgelessSnapManager

Returns

EdgelessSnapManager

Defined in

packages/blocks/src/root-block/edgeless/edgeless-root-service.ts:743


surface

get surface(): SurfaceBlockModel

Returns

SurfaceBlockModel

Defined in

packages/blocks/src/root-block/edgeless/edgeless-root-service.ts:747


tool

get tool(): EdgelessToolsManager

Returns

EdgelessToolsManager

Defined in

packages/blocks/src/root-block/edgeless/edgeless-root-service.ts:751


uiEventDispatcher

get uiEventDispatcher(): UIEventDispatcher

Returns

UIEventDispatcher

Inherited from

RootService.uiEventDispatcher

Defined in

packages/framework/block-std/dist/extension/service.d.ts:40


viewport

get viewport(): Viewport

Returns

Viewport

Implementation of

SurfaceContext.viewport

Defined in

packages/blocks/src/root-block/edgeless/edgeless-root-service.ts:755


viewportElement

get viewportElement(): null | HTMLElement

Returns

null | HTMLElement

Inherited from

RootService.viewportElement

Defined in

packages/blocks/src/root-block/root-service.ts:174


zoom

get zoom(): number

Returns

number

Defined in

packages/blocks/src/root-block/edgeless/edgeless-root-service.ts:759

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:176


addElement()

addElement<T>(type, props): string

Type Parameters

T = Record<string, unknown>

Parameters

type: string

props: T

Returns

string

Defined in

packages/blocks/src/root-block/edgeless/edgeless-root-service.ts:192


bindHotKey()

bindHotKey(keymap, options?): void

Parameters

keymap: Record<string, UIEventHandler>

options?

options.global?: boolean

Returns

void

Inherited from

RootService.bindHotKey

Defined in

packages/framework/block-std/dist/extension/service.d.ts:27


createGroup()

createGroup(elements): string

Parameters

elements: string[] | GfxModel[]

Returns

string

Defined in

packages/blocks/src/root-block/edgeless/edgeless-root-service.ts:210


createGroupFromSelected()

createGroupFromSelected(): undefined | string

Returns

undefined | string

Defined in

packages/blocks/src/root-block/edgeless/edgeless-root-service.ts:229


createTemplateJob()

createTemplateJob(type): TemplateJob

Parameters

type: "template" | "sticker"

Returns

TemplateJob

Defined in

packages/blocks/src/root-block/edgeless/edgeless-root-service.ts:266


dispose()

dispose(): void

Returns

void

Inherited from

RootService.dispose

Defined in

packages/framework/block-std/dist/extension/service.d.ts:30


generateIndex()

generateIndex(type): string

Parameters

type: string

Returns

string

Defined in

packages/blocks/src/root-block/edgeless/edgeless-root-service.ts:306


getConnectors()

getConnectors(element): ConnectorElementModel[]

Parameters

element: string | GfxModel

Returns

ConnectorElementModel[]

Defined in

packages/blocks/src/root-block/edgeless/edgeless-root-service.ts:311


getElementById()

getElementById(id): null | GfxModel

Parameters

id: string

Returns

null | GfxModel

Defined in

packages/blocks/src/root-block/edgeless/edgeless-root-service.ts:317


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:324


getEmbedBlockOptions()

getEmbedBlockOptions(url): null | EmbedOptions

Parameters

url: string

Returns

null | EmbedOptions

Inherited from

RootService.getEmbedBlockOptions

Defined in

packages/blocks/src/root-block/root-service.ts:90


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:330


handleEvent()

handleEvent(name, fn, options?): void

Parameters

name: "click" | "doubleClick" | "tripleClick" | "pointerDown" | "pointerMove" | "pointerUp" | "pointerOut" | "dragStart" | "dragMove" | "dragEnd" | "pinch" | "pan" | "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

RootService.handleEvent

Defined in

packages/framework/block-std/dist/extension/service.d.ts:31


loadFonts()

loadFonts(): void

Returns

void

Inherited from

RootService.loadFonts

Defined in

packages/blocks/src/root-block/root-service.ts:118


mounted()

mounted(): void

Returns

void

Overrides

RootService.mounted

Defined in

packages/blocks/src/root-block/edgeless/edgeless-root-service.ts:373


pickElement()

pickElement(x, y, options)

pickElement(x, y, options): GfxModel[]

Parameters

x: number

y: number

options: object & PointTestOptions

Returns

GfxModel[]

Defined in

packages/blocks/src/root-block/edgeless/edgeless-root-service.ts:379

pickElement(x, y, options)

pickElement(x, y, options?): null | GfxModel

Parameters

x: number

y: number

options?: object & PointTestOptions

Returns

null | GfxModel

Defined in

packages/blocks/src/root-block/edgeless/edgeless-root-service.ts:384


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:460


pickElementsByBound()

pickElementsByBound(bound, type)

pickElementsByBound(bound, type?): GfxModel[]

Pick the elements in the given area

Parameters

bound: Bound | IBound

type?: "all"

By default, it will pick all elements, but you can specify the type to pick only you need.

Returns

GfxModel[]

Implementation of

SurfaceContext.pickElementsByBound

Defined in

packages/blocks/src/root-block/edgeless/edgeless-root-service.ts:505

pickElementsByBound(bound, type)

pickElementsByBound(bound, type): EdgelessBlockModel<GfxCompatibleProps>[]

Parameters

bound: Bound | IBound

type: "frame" | "blocks"

Returns

EdgelessBlockModel<GfxCompatibleProps>[]

Implementation of

SurfaceContext.pickElementsByBound

Defined in

packages/blocks/src/root-block/edgeless/edgeless-root-service.ts:510

pickElementsByBound(bound, type)

pickElementsByBound(bound, type): SurfaceElementModel[]

Parameters

bound: Bound | IBound

type: "canvas"

Returns

SurfaceElementModel[]

Implementation of

SurfaceContext.pickElementsByBound

Defined in

packages/blocks/src/root-block/edgeless/edgeless-root-service.ts:515


registerEmbedBlockOptions()

registerEmbedBlockOptions(options): void

Parameters

options: EmbedOptions

Returns

void

Inherited from

RootService.registerEmbedBlockOptions

Defined in

packages/blocks/src/root-block/root-service.ts:104


registerTool()

registerTool(Tool): void

Parameters

Tool: EdgelessToolConstructor

Returns

void

Defined in

packages/blocks/src/root-block/edgeless/edgeless-root-service.ts:562


removeElement()

removeElement(id): void

Parameters

id: string | GfxModel

Returns

void

Defined in

packages/blocks/src/root-block/edgeless/edgeless-root-service.ts:566


reorderElement()

reorderElement(element, direction): void

Parameters

element: GfxModel

direction: ReorderingDirection

Returns

void

Defined in

packages/blocks/src/root-block/edgeless/edgeless-root-service.ts:581


setZoomByAction()

setZoomByAction(action): void

Parameters

action: ZoomAction

Returns

void

Defined in

packages/blocks/src/root-block/edgeless/edgeless-root-service.ts:597


setZoomByStep()

setZoomByStep(step): void

Parameters

step: number

Returns

void

Defined in

packages/blocks/src/root-block/edgeless/edgeless-root-service.ts:613


ungroup()

ungroup(group): void

Parameters

group: GroupElementModel

Returns

void

Defined in

packages/blocks/src/root-block/edgeless/edgeless-root-service.ts:617


unmounted()

unmounted(): void

Returns

void

Overrides

RootService.unmounted

Defined in

packages/blocks/src/root-block/edgeless/edgeless-root-service.ts:655


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:667


zoomToFit()

zoomToFit(): void

Returns

void

Defined in

packages/blocks/src/root-block/edgeless/edgeless-root-service.ts:688


setup()

static setup(di): void

Parameters

di: Container

Returns

void

Inherited from

RootService.setup

Defined in

packages/framework/block-std/dist/extension/service.d.ts:26