Skip to content

BlockSuite API Documentation / @blocksuite/block-std / GfxBlockComponent

Class: abstract GfxBlockComponent<GfxRootService, Model, Service, WidgetName>

Extends

Extended by

Type Parameters

GfxRootService extends BlockService = BlockService

Model extends BlockModel = BlockModel

Service extends BlockService = BlockService

WidgetName extends string = string

Constructors

new GfxBlockComponent()

new GfxBlockComponent<GfxRootService, Model, Service, WidgetName>(): GfxBlockComponent<GfxRootService, Model, Service, WidgetName>

Returns

GfxBlockComponent<GfxRootService, Model, Service, WidgetName>

Inherited from

BlockComponent.constructor

Defined in

node_modules/.pnpm/@lit+reactive-element@2.0.4/node_modules/@lit/reactive-element/development/reactive-element.d.ts:504

Other

[GfxElementSymbol]

[GfxElementSymbol]: boolean = true

Defined in

packages/framework/block-std/src/view/element/gfx-block-component.ts:25


[blockComponentSymbol]

[blockComponentSymbol]: boolean = true

Inherited from

BlockComponent.[blockComponentSymbol]

Defined in

packages/framework/block-std/src/view/element/block-component.ts:49


_disposables

protected _disposables: DisposableGroup

Inherited from

BlockComponent._disposables

Defined in

packages/framework/block-std/src/view/utils/with-disposable.ts:8


disposables

readonly disposables: DisposableGroup

Inherited from

BlockComponent.disposables

Defined in

packages/framework/block-std/src/view/utils/with-disposable.ts:10


rootServiceFlavour

abstract rootServiceFlavour: string

Defined in

packages/framework/block-std/src/view/element/gfx-block-component.ts:98


disableShadowRoot

static disableShadowRoot: boolean = true

Inherited from

BlockComponent.disableShadowRoot

Defined in

packages/framework/block-std/src/view/element/shadowless-element.ts:6


_renderers

Inherited from

BlockComponent._renderers

Defined in

packages/framework/block-std/src/view/element/block-component.ts:333


blockId

get blockId(): string

Returns

string

Inherited from

BlockComponent.blockId

Defined in

packages/framework/block-std/src/view/element/block-component.ts:220


childBlocks

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

Returns

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

Inherited from

BlockComponent.childBlocks

Defined in

packages/framework/block-std/src/view/element/block-component.ts:224


dirty

Inherited from

BlockComponent.dirty

Defined in

packages/framework/block-std/src/view/element/block-component.ts:344


doc

Inherited from

BlockComponent.doc

Defined in

packages/framework/block-std/src/view/element/block-component.ts:347


flavour

get flavour(): string

Returns

string

Inherited from

BlockComponent.flavour

Defined in

packages/framework/block-std/src/view/element/block-component.ts:233


host

get host(): EditorHost

Returns

EditorHost

Inherited from

BlockComponent.host

Defined in

packages/framework/block-std/src/view/element/block-component.ts:237


isVersionMismatch

get isVersionMismatch(): boolean

Returns

boolean

Inherited from

BlockComponent.isVersionMismatch

Defined in

packages/framework/block-std/src/view/element/block-component.ts:241


model

get model(): Model

Returns

Model

Inherited from

BlockComponent.model

Defined in

packages/framework/block-std/src/view/element/block-component.ts:261


parentComponent

get parentComponent(): null | BlockComponent<BlockModel<object, SignaledProps<object>>, BlockService, string>

Returns

null | BlockComponent<BlockModel<object, SignaledProps<object>>, BlockService, string>

Inherited from

BlockComponent.parentComponent

Defined in

packages/framework/block-std/src/view/element/block-component.ts:276


rootComponent

get rootComponent(): null | BlockComponent<BlockModel<object, SignaledProps<object>>, BlockService, string>

Returns

null | BlockComponent<BlockModel<object, SignaledProps<object>>, BlockService, string>

Inherited from

BlockComponent.rootComponent

Defined in

packages/framework/block-std/src/view/element/block-component.ts:282


rootService

get rootService(): GfxRootService

Returns

GfxRootService

Defined in

packages/framework/block-std/src/view/element/gfx-block-component.ts:94


selected

get selected(): null | BaseSelection

Returns

null | BaseSelection

Inherited from

BlockComponent.selected

Defined in

packages/framework/block-std/src/view/element/block-component.ts:291


selection

get selection(): SelectionManager

Returns

SelectionManager

Inherited from

BlockComponent.selection

Defined in

packages/framework/block-std/src/view/element/block-component.ts:295


service

get service(): Service

Returns

Service

Inherited from

BlockComponent.service

Defined in

packages/framework/block-std/src/view/element/block-component.ts:299


std

Inherited from

BlockComponent.std

Defined in

packages/framework/block-std/src/view/element/block-component.ts:350


topContenteditableElement

get topContenteditableElement(): null | BlockComponent<BlockModel<object, SignaledProps<object>>, BlockService, string>

Returns

null | BlockComponent<BlockModel<object, SignaledProps<object>>, BlockService, string>

Inherited from

BlockComponent.topContenteditableElement

Defined in

packages/framework/block-std/src/view/element/block-component.ts:314


viewType

Inherited from

BlockComponent.viewType

Defined in

packages/framework/block-std/src/view/element/block-component.ts:353


widgetComponents

get widgetComponents(): Partial<Record<WidgetName, WidgetComponent<BlockModel<object, SignaledProps<object>>, BlockComponent<BlockModel<object, SignaledProps<object>>, BlockService, string>, BlockService>>>

Returns

Partial<Record<WidgetName, WidgetComponent<BlockModel<object, SignaledProps<object>>, BlockComponent<BlockModel<object, SignaledProps<object>>, BlockService, string>, BlockService>>>

Inherited from

BlockComponent.widgetComponents

Defined in

packages/framework/block-std/src/view/element/block-component.ts:318


widgets

Inherited from

BlockComponent.widgets

Defined in

packages/framework/block-std/src/view/element/block-component.ts:368


addRenderer()

addRenderer(renderer): void

Parameters

renderer

Returns

void

Inherited from

BlockComponent.addRenderer

Defined in

packages/framework/block-std/src/view/element/block-component.ts:99


bindHotKey()

bindHotKey(keymap, options?): () => void

Parameters

keymap: Record<string, UIEventHandler>

options?

options.flavour?: boolean

options.global?: boolean

Returns

Function

Returns

void

Inherited from

BlockComponent.bindHotKey

Defined in

packages/framework/block-std/src/view/element/block-component.ts:103


getRenderingRect()

getRenderingRect(): object

Returns

object

h

h: any

w

w: any

x

x: any

y

y: any

zIndex

zIndex: string

Defined in

packages/framework/block-std/src/view/element/gfx-block-component.ts:33


handleEvent()

handleEvent(name, handler, options?): void

Parameters

name: "blur" | "click" | "doubleClick" | "tripleClick" | "pointerDown" | "pointerMove" | "pointerUp" | "pointerOut" | "dragStart" | "dragMove" | "dragEnd" | "pinch" | "pan" | "keyDown" | "keyUp" | "selectionChange" | "compositionStart" | "compositionUpdate" | "compositionEnd" | "cut" | "copy" | "paste" | "beforeInput" | "focus" | "drop" | "contextMenu" | "wheel"

handler: UIEventHandler

options?

options.flavour?: boolean

options.global?: boolean

Returns

void

Inherited from

BlockComponent.handleEvent

Defined in

packages/framework/block-std/src/view/element/block-component.ts:51


renderBlock()

renderBlock(): unknown

Returns

unknown

Overrides

BlockComponent.renderBlock

Defined in

packages/framework/block-std/src/view/element/gfx-block-component.ts:51


renderChildren()

renderChildren(model): TemplateResult

Parameters

model: BlockModel<object, SignaledProps<object>>

Returns

TemplateResult

Inherited from

BlockComponent.renderChildren

Defined in

packages/framework/block-std/src/view/element/block-component.ts:68


renderGfxBlock()

renderGfxBlock(): unknown

Returns

unknown

Defined in

packages/framework/block-std/src/view/element/gfx-block-component.ts:63


renderPageContent()

renderPageContent(): unknown

Returns

unknown

Defined in

packages/framework/block-std/src/view/element/gfx-block-component.ts:67


renderVersionMismatch()

renderVersionMismatch(expectedVersion, actualVersion): TemplateResult

Parameters

expectedVersion: number

actualVersion: number

Returns

TemplateResult

Inherited from

BlockComponent.renderVersionMismatch

Defined in

packages/framework/block-std/src/view/element/block-component.ts:170


toZIndex()

toZIndex(): string

Returns

string

Defined in

packages/framework/block-std/src/view/element/gfx-block-component.ts:86


updateZIndex()

updateZIndex(): void

Returns

void

Defined in

packages/framework/block-std/src/view/element/gfx-block-component.ts:90

lifecycle

connectedCallback()

connectedCallback(): void

Invoked when the component is added to the document's DOM.

In connectedCallback() you should setup tasks that should only occur when the element is connected to the document. The most common of these is adding event listeners to nodes external to the element, like a keydown event handler added to the window.

ts
connectedCallback() {
  super.connectedCallback();
  addEventListener('keydown', this._handleKeydown);
}

Typically, anything done in connectedCallback() should be undone when the element is disconnected, in disconnectedCallback().

Returns

void

Overrides

BlockComponent.connectedCallback

Defined in

packages/framework/block-std/src/view/element/gfx-block-component.ts:27


disconnectedCallback()

disconnectedCallback(): void

Invoked when the component is removed from the document's DOM.

This callback is the main signal to the element that it may no longer be used. disconnectedCallback() should ensure that nothing is holding a reference to the element (such as event listeners added to nodes external to the element), so that it is free to be garbage collected.

ts
disconnectedCallback() {
  super.disconnectedCallback();
  window.removeEventListener('keydown', this._handleKeydown);
}

An element may be re-connected after being disconnected.

Returns

void

Inherited from

BlockComponent.disconnectedCallback

Defined in

packages/framework/block-std/src/view/element/block-component.ts:144

rendering

createRenderRoot()

createRenderRoot(): HTMLElement | DocumentFragment

Returns

HTMLElement | DocumentFragment

Inherited from

BlockComponent.createRenderRoot

Defined in

packages/framework/block-std/src/view/element/shadowless-element.ts:30


render()

render(): unknown

Invoked on each update to perform rendering tasks. This method may return any value renderable by lit-html's ChildPart - typically a TemplateResult. Setting properties inside this method will not trigger the element to update.

Returns

unknown

Inherited from

BlockComponent.render

Defined in

packages/framework/block-std/src/view/element/block-component.ts:159

styles

finalizeStyles()

protected static finalizeStyles(styles?): CSSResultOrNative[]

Takes the styles the user supplied via the static styles property and returns the array of styles to apply to the element. Override this method to integrate into a style management system.

Styles are deduplicated preserving the last instance in the list. This is a performance optimization to avoid duplicated styles that can occur especially when composing via subclassing. The last item is kept to try to preserve the cascade order with the assumption that it's most important that last added styles override previous styles.

Parameters

styles?: CSSResultGroup

Returns

CSSResultOrNative[]

Nocollapse

Inherited from

BlockComponent.finalizeStyles

Defined in

packages/framework/block-std/src/view/element/shadowless-element.ts:8

updates

getUpdateComplete()

protected getUpdateComplete(): Promise<boolean>

Override point for the updateComplete promise.

It is not safe to override the updateComplete getter directly due to a limitation in TypeScript which means it is not possible to call a superclass getter (e.g. super.updateComplete.then(...)) when the target language is ES5 (https://github.com/microsoft/TypeScript/issues/338). This method should be overridden instead. For example:

ts
class MyElement extends LitElement {
  override async getUpdateComplete() {
    const result = await super.getUpdateComplete();
    await this._myChild.updateComplete;
    return result;
  }
}

Returns

Promise<boolean>

A promise of a boolean that resolves to true if the update completed without triggering another update.

Inherited from

BlockComponent.getUpdateComplete

Defined in

packages/framework/block-std/src/view/element/block-component.ts:153


scheduleUpdate()

scheduleUpdate(): Promise<void>

Schedules an element update. You can override this method to change the timing of updates by returning a Promise. The update will await the returned Promise, and you should resolve the Promise to allow the update to proceed. If this method is overridden, super.scheduleUpdate() must be called.

For instance, to schedule updates to occur just before the next frame:

ts
override protected async scheduleUpdate(): Promise<unknown> {
  await new Promise((resolve) => requestAnimationFrame(() => resolve()));
  super.scheduleUpdate();
}

Returns

Promise<void>

Overrides

BlockComponent.scheduleUpdate

Defined in

packages/framework/block-std/src/view/element/gfx-block-component.ts:71


update()

protected update(changedProperties): void

Updates the element. This method reflects property values to attributes and calls render to render DOM via lit-html. Setting properties inside this method will not trigger another update.

Parameters

changedProperties: PropertyValueMap<any> | Map<PropertyKey, unknown>

Map of changed properties with old values

Returns

void

Inherited from

BlockComponent.update

Defined in

packages/framework/block-std/src/view/element/block-component.ts:191