BlockSuite API Documentation / @blocksuite/block-std / BlockComponent
Class: BlockComponent<Model, Service, WidgetName>
Extends
ShadowlessElement
<this
> &DisposableClass
<this
>
Extended by
Type Parameters
• Model extends BlockModel
= BlockModel
• Service extends BlockService
= BlockService
• WidgetName extends string
= string
Constructors
new BlockComponent()
new BlockComponent<
Model
,Service
,WidgetName
>():BlockComponent
<Model
,Service
,WidgetName
>
Returns
BlockComponent
<Model
, Service
, WidgetName
>
Inherited from
SignalWatcher(WithDisposable(ShadowlessElement)).constructor
Defined in
node_modules/.pnpm/@[email protected]/node_modules/@lit/reactive-element/development/reactive-element.d.ts:504
Other
[blockComponentSymbol]
[blockComponentSymbol]:
boolean
=true
Defined in
packages/framework/block-std/src/view/element/block-component.ts:50
_disposables
protected
_disposables:DisposableGroup
Inherited from
SignalWatcher(WithDisposable(ShadowlessElement))._disposables
Defined in
packages/framework/block-std/src/view/utils/with-disposable.ts:8
disposables
readonly
disposables:DisposableGroup
Inherited from
SignalWatcher(WithDisposable(ShadowlessElement)).disposables
Defined in
packages/framework/block-std/src/view/utils/with-disposable.ts:10
disableShadowRoot
static
disableShadowRoot:boolean
=true
Inherited from
SignalWatcher(WithDisposable(ShadowlessElement)).disableShadowRoot
Defined in
packages/framework/block-std/src/view/element/shadowless-element.ts:6
_renderers
Defined in
packages/framework/block-std/src/view/element/block-component.ts:334
blockId
get
blockId():string
Returns
string
Defined in
packages/framework/block-std/src/view/element/block-component.ts:69
childBlocks
get
childBlocks():BlockComponent
<BlockModel
<object
,SignaledProps
<object
>>,BlockService
,string
>[]
Returns
BlockComponent
<BlockModel
<object
, SignaledProps
<object
>>, BlockService
, string
>[]
Defined in
packages/framework/block-std/src/view/element/block-component.ts:73
dirty
Defined in
packages/framework/block-std/src/view/element/block-component.ts:345
doc
Defined in
packages/framework/block-std/src/view/element/block-component.ts:348
flavour
get
flavour():string
Returns
string
Defined in
packages/framework/block-std/src/view/element/block-component.ts:82
host
get
host():EditorHost
Returns
Defined in
packages/framework/block-std/src/view/element/block-component.ts:86
isVersionMismatch
get
isVersionMismatch():boolean
Returns
boolean
Defined in
packages/framework/block-std/src/view/element/block-component.ts:90
model
get
model():Model
Returns
Model
Defined in
packages/framework/block-std/src/view/element/block-component.ts:110
parentComponent
get
parentComponent():null
|BlockComponent
<BlockModel
<object
,SignaledProps
<object
>>,BlockService
,string
>
Returns
null
| BlockComponent
<BlockModel
<object
, SignaledProps
<object
>>, BlockService
, string
>
Defined in
packages/framework/block-std/src/view/element/block-component.ts:125
renderChildren
get
renderChildren(): (model
,filter
?) =>TemplateResult
Returns
Function
Parameters
• model: BlockModel
<object
, SignaledProps
<object
>>
• filter?
Returns
TemplateResult
Defined in
packages/framework/block-std/src/view/element/block-component.ts:131
rootComponent
get
rootComponent():null
|BlockComponent
<BlockModel
<object
,SignaledProps
<object
>>,BlockService
,string
>
Returns
null
| BlockComponent
<BlockModel
<object
, SignaledProps
<object
>>, BlockService
, string
>
Defined in
packages/framework/block-std/src/view/element/block-component.ts:135
selected
get
selected():null
|BaseSelection
Returns
null
| BaseSelection
Defined in
packages/framework/block-std/src/view/element/block-component.ts:144
selection
get
selection():SelectionManager
Returns
Defined in
packages/framework/block-std/src/view/element/block-component.ts:148
service
get
service():Service
Returns
Service
Defined in
packages/framework/block-std/src/view/element/block-component.ts:152
std
Defined in
packages/framework/block-std/src/view/element/block-component.ts:351
topContenteditableElement
get
topContenteditableElement():null
|BlockComponent
<BlockModel
<object
,SignaledProps
<object
>>,BlockService
,string
>
Returns
null
| BlockComponent
<BlockModel
<object
, SignaledProps
<object
>>, BlockService
, string
>
Defined in
packages/framework/block-std/src/view/element/block-component.ts:167
viewType
Defined in
packages/framework/block-std/src/view/element/block-component.ts:354
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
>>>
Defined in
packages/framework/block-std/src/view/element/block-component.ts:171
widgets
Defined in
packages/framework/block-std/src/view/element/block-component.ts:369
addRenderer()
addRenderer(
renderer
):void
Parameters
• renderer
Returns
void
Defined in
packages/framework/block-std/src/view/element/block-component.ts:202
bindHotKey()
bindHotKey(
keymap
,options
?): () =>void
Parameters
• keymap: Record
<string
, UIEventHandler
>
• options?
• options.flavour?: boolean
• options.global?: boolean
Returns
Function
Returns
void
Defined in
packages/framework/block-std/src/view/element/block-component.ts:206
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
Defined in
packages/framework/block-std/src/view/element/block-component.ts:52
renderBlock()
renderBlock():
unknown
Returns
unknown
Defined in
packages/framework/block-std/src/view/element/block-component.ts:269
renderVersionMismatch()
renderVersionMismatch(
expectedVersion
,actualVersion
):TemplateResult
Render a warning message when the block version is mismatched.
Parameters
• expectedVersion: number
If the schema is not found, the expected version is -1. Which means the block is not supported in the current editor.
• actualVersion: number
The version of the block's crdt data.
Returns
TemplateResult
Defined in
packages/framework/block-std/src/view/element/block-component.ts:279
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.
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
SignalWatcher(WithDisposable(ShadowlessElement)).connectedCallback
Defined in
packages/framework/block-std/src/view/element/block-component.ts:222
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.
disconnectedCallback() {
super.disconnectedCallback();
window.removeEventListener('keydown', this._handleKeydown);
}
An element may be re-connected after being disconnected.
Returns
void
Overrides
SignalWatcher(WithDisposable(ShadowlessElement)).disconnectedCallback
Defined in
packages/framework/block-std/src/view/element/block-component.ts:247
rendering
createRenderRoot()
createRenderRoot():
HTMLElement
|DocumentFragment
Returns
HTMLElement
| DocumentFragment
Inherited from
SignalWatcher(WithDisposable(ShadowlessElement)).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
Overrides
SignalWatcher(WithDisposable(ShadowlessElement)).render
Defined in
packages/framework/block-std/src/view/element/block-component.ts:262
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
SignalWatcher(WithDisposable(ShadowlessElement)).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:
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.
Overrides
SignalWatcher(WithDisposable(ShadowlessElement)).getUpdateComplete
Defined in
packages/framework/block-std/src/view/element/block-component.ts:256
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
Overrides
SignalWatcher(WithDisposable(ShadowlessElement)).update
Defined in
packages/framework/block-std/src/view/element/block-component.ts:300