Skip to content

BlockSuite API Documentation / @blocksuite/store / Store

Class: Store

Defined in: packages/framework/store/src/model/store/store.ts:64

Constructors

new Store()

new Store(__namedParameters): Store

Defined in: packages/framework/store/src/model/store/store.ts:323

Parameters

__namedParameters

StoreOptions

Returns

Store

Properties

disposableGroup

disposableGroup: DisposableGroup

Defined in: packages/framework/store/src/model/store/store.ts:67


slots

readonly slots: object & object

Defined in: packages/framework/store/src/model/store/store.ts:94

Type declaration

historyUpdated

historyUpdated: Subject<void>

yBlockUpdated

yBlockUpdated: Subject<{ id: string; isLocal: boolean; type: "add"; } | { id: string; isLocal: boolean; type: "delete"; }>

Type declaration

blockUpdated

blockUpdated: Subject<BlockUpdatedPayload>

ready

ready: Subject<void>

This is always triggered after doc.load is called.

rootAdded

rootAdded: Subject<string>

This fires when the root block is added via API call or has just been initialized from existing ydoc. useful for internal block UI components to start subscribing following up events. Note that at this moment, the whole block tree may not be fully initialized yet.

rootDeleted

rootDeleted: Subject<string>


updateBlock()

updateBlock: <T>(model, props) => void(model, callback) => void

Defined in: packages/framework/store/src/model/store/store.ts:107

Type Parameters

T

T extends Partial<BlockProps>

Parameters

model

string | BlockModel<object>

props

T

Returns

void

Parameters

model

string | BlockModel<object>

callback

() => void

Returns

void


userExtensions

readonly userExtensions: ExtensionType[]

Defined in: packages/framework/store/src/model/store/store.ts:65

Accessors

awarenessStore

Get Signature

get awarenessStore(): AwarenessStore

Defined in: packages/framework/store/src/model/store/store.ts:183

Returns

AwarenessStore


blobSync

Get Signature

get blobSync(): BlobEngine

Defined in: packages/framework/store/src/model/store/store.ts:191

Returns

BlobEngine


blocks

Get Signature

get blocks(): Signal<Record<string, Block>>

Defined in: packages/framework/store/src/model/store/store.ts:199

Returns

Signal<Record<string, Block>>


blockSize

Get Signature

get blockSize(): number

Defined in: packages/framework/store/src/model/store/store.ts:203

Returns

number


canRedo

Get Signature

get canRedo(): boolean

Defined in: packages/framework/store/src/model/store/store.ts:207

Returns

boolean


canUndo

Get Signature

get canUndo(): boolean

Defined in: packages/framework/store/src/model/store/store.ts:214

Returns

boolean


captureSync

Get Signature

get captureSync(): () => void

Defined in: packages/framework/store/src/model/store/store.ts:221

Returns

Function

Returns

void


clear

Get Signature

get clear(): () => void

Defined in: packages/framework/store/src/model/store/store.ts:225

Returns

Function

Returns

void


doc

Get Signature

get doc(): Doc

Defined in: packages/framework/store/src/model/store/store.ts:195

Returns

Doc


get

Get Signature

get get(): <T>(identifier, options?) => T

Defined in: packages/framework/store/src/model/store/store.ts:758

Returns

Function

Type Parameters
T

T

Parameters
identifier

GeneralServiceIdentifier<T>

options?

ResolveOptions

Returns

T


getOptional

Get Signature

get getOptional(): <T>(identifier, options?) => null | T

Defined in: packages/framework/store/src/model/store/store.ts:762

Returns

Function

Type Parameters
T

T

Parameters
identifier

GeneralServiceIdentifier<T>

options?

ResolveOptions

Returns

null | T


history

Get Signature

get history(): UndoManager

Defined in: packages/framework/store/src/model/store/store.ts:233

Returns

UndoManager


id

Get Signature

get id(): string

Defined in: packages/framework/store/src/model/store/store.ts:237

Returns

string


isEmpty

Get Signature

get isEmpty(): boolean

Defined in: packages/framework/store/src/model/store/store.ts:241

Returns

boolean


isEmpty$

Get Signature

get isEmpty$(): ReadonlySignal<boolean>

Defined in: packages/framework/store/src/model/store/store.ts:245

Returns

ReadonlySignal<boolean>


loaded

Get Signature

get loaded(): boolean

Defined in: packages/framework/store/src/model/store/store.ts:249

Returns

boolean


meta

Get Signature

get meta(): undefined | DocMeta

Defined in: packages/framework/store/src/model/store/store.ts:253

Returns

undefined | DocMeta


provider

Get Signature

get provider(): ServiceProvider

Defined in: packages/framework/store/src/model/store/store.ts:187

Returns

ServiceProvider


readonly

Get Signature

get readonly(): boolean

Defined in: packages/framework/store/src/model/store/store.ts:261

Returns

boolean

Set Signature

set readonly(value): void

Defined in: packages/framework/store/src/model/store/store.ts:265

Parameters
value

boolean

Returns

void


readonly$

Get Signature

get readonly$(): Signal<boolean>

Defined in: packages/framework/store/src/model/store/store.ts:257

Returns

Signal<boolean>


ready

Get Signature

get ready(): boolean

Defined in: packages/framework/store/src/model/store/store.ts:269

Returns

boolean


redo

Get Signature

get redo(): () => void

Defined in: packages/framework/store/src/model/store/store.ts:273

Returns

Function

Returns

void


resetHistory

Get Signature

get resetHistory(): () => void

Defined in: packages/framework/store/src/model/store/store.ts:282

Returns

Function

Returns

void


root

Get Signature

get root(): null | BlockModel<object>

Defined in: packages/framework/store/src/model/store/store.ts:286

Returns

null | BlockModel<object>


rootDoc

Get Signature

get rootDoc(): Doc

Defined in: packages/framework/store/src/model/store/store.ts:292

Returns

Doc


schema

Get Signature

get schema(): Schema

Defined in: packages/framework/store/src/model/store/store.ts:296

Returns

Schema


spaceDoc

Get Signature

get spaceDoc(): Doc

Defined in: packages/framework/store/src/model/store/store.ts:300

Returns

Doc


transact

Get Signature

get transact(): (fn, shouldTransact?) => void

Defined in: packages/framework/store/src/model/store/store.ts:304

Returns

Function

Parameters
fn

() => void

shouldTransact?

boolean

Returns

void


undo

Get Signature

get undo(): () => void

Defined in: packages/framework/store/src/model/store/store.ts:308

Returns

Function

Returns

void


withoutTransact

Get Signature

get withoutTransact(): (fn) => void

Defined in: packages/framework/store/src/model/store/store.ts:317

Returns

Function

Parameters
fn

() => void

Returns

void


workspace

Get Signature

get workspace(): Workspace

Defined in: packages/framework/store/src/model/store/store.ts:229

Returns

Workspace

Methods

addBlock()

addBlock(flavour, blockProps, parent?, parentIndex?): string

Defined in: packages/framework/store/src/model/store/store.ts:491

Parameters

flavour

string

blockProps

Partial<BlockSysProps & Record<string, unknown> & Omit<BlockProps, "flavour">> = {}

parent?

null | string | BlockModel<object>

parentIndex?

number

Returns

string


addBlocks()

addBlocks(blocks, parent?, parentIndex?): string[]

Defined in: packages/framework/store/src/model/store/store.ts:519

Parameters

blocks

object[]

parent?

null | string | BlockModel<object>

parentIndex?

number

Returns

string[]


addSiblingBlocks()

addSiblingBlocks(targetModel, props, place): string[]

Defined in: packages/framework/store/src/model/store/store.ts:542

Parameters

targetModel

BlockModel

props

Partial<BlockProps>[]

place

"after" | "before"

Returns

string[]


deleteBlock()

deleteBlock(model, options): void

Defined in: packages/framework/store/src/model/store/store.ts:579

Parameters

model

string | BlockModel<object>

options
bringChildrenTo?

BlockModel<object>

deleteChildren?

boolean

Returns

void


dispose()

dispose(): void

Defined in: packages/framework/store/src/model/store/store.ts:613

Returns

void


getBlock()

getBlock(id): undefined | Block

Defined in: packages/framework/store/src/model/store/store.ts:625

Parameters

id

string

Returns

undefined | Block


getBlock$()

getBlock$(id): undefined | Block

Defined in: packages/framework/store/src/model/store/store.ts:629

Parameters

id

string

Returns

undefined | Block


getBlockByFlavour()

getBlockByFlavour(blockFlavour): BlockModel<object>[]

Defined in: packages/framework/store/src/model/store/store.ts:637

Parameters

blockFlavour

string | string[]

Returns

BlockModel<object>[]

Deprecated

Use getBlocksByFlavour instead.


getBlockById()

getBlockById<Model>(id): null | Model

Defined in: packages/framework/store/src/model/store/store.ts:645

Type Parameters

Model

Model extends BlockModel<object> = BlockModel<object>

Parameters

id

string

Returns

null | Model

Deprecated

Use getBlock instead.


getBlocksByFlavour()

getBlocksByFlavour(blockFlavour): Block[]

Defined in: packages/framework/store/src/model/store/store.ts:655

Parameters

blockFlavour

string | string[]

Returns

Block[]


getNext()

getNext(block): null | BlockModel<object>

Defined in: packages/framework/store/src/model/store/store.ts:664

Parameters

block

string | BlockModel<object>

Returns

null | BlockModel<object>


getNexts()

getNexts(block): BlockModel<object>[]

Defined in: packages/framework/store/src/model/store/store.ts:671

Parameters

block

string | BlockModel<object>

Returns

BlockModel<object>[]


getParent()

getParent(target): null | BlockModel<object>

Defined in: packages/framework/store/src/model/store/store.ts:679

Parameters

target

string | BlockModel<object>

Returns

null | BlockModel<object>


getPrev()

getPrev(block): null | BlockModel<object>

Defined in: packages/framework/store/src/model/store/store.ts:690

Parameters

block

string | BlockModel<object>

Returns

null | BlockModel<object>


getPrevs()

getPrevs(block): BlockModel<object>[]

Defined in: packages/framework/store/src/model/store/store.ts:697

Parameters

block

string | BlockModel<object>

Returns

BlockModel<object>[]


getSchemaByFlavour()

getSchemaByFlavour(flavour): undefined | { model: { children: string[]; flavour: string; isFlatData: boolean; parent: string[]; props: (...args) => Record<string, any>; role: "root" | "hub" | "content"; toModel: (...args) => BlockModel<object>; }; transformer: (...args) => BaseBlockTransformer<object>; version: number; }

Defined in: packages/framework/store/src/model/store/store.ts:705

Parameters

flavour

string

Returns

undefined | { model: { children: string[]; flavour: string; isFlatData: boolean; parent: string[]; props: (...args) => Record<string, any>; role: "root" | "hub" | "content"; toModel: (...args) => BlockModel<object>; }; transformer: (...args) => BaseBlockTransformer<object>; version: number; }


getStore()

getStore(): BlockModel<object>[]

Defined in: packages/framework/store/src/model/store/store.ts:651

Returns

BlockModel<object>[]


getTransformer()

getTransformer(middlewares): Transformer

Defined in: packages/framework/store/src/model/store/store.ts:766

Parameters

middlewares

TransformerMiddleware[] = []

Returns

Transformer


hasBlock()

hasBlock(id): boolean

Defined in: packages/framework/store/src/model/store/store.ts:709

Parameters

id

string

Returns

boolean


hasBlockById()

hasBlockById(id): boolean

Defined in: packages/framework/store/src/model/store/store.ts:717

Parameters

id

string

Returns

boolean

Deprecated

Use hasBlock instead.


load()

load(initFn?): Store

Defined in: packages/framework/store/src/model/store/store.ts:721

Parameters

initFn?

() => void

Returns

Store


moveBlocks()

moveBlocks(blocksToMove, newParent, targetSibling, shouldInsertBeforeSibling): void

Defined in: packages/framework/store/src/model/store/store.ts:737

Parameters

blocksToMove

BlockModel<object>[]

newParent

BlockModel

targetSibling

null | BlockModel<object>

shouldInsertBeforeSibling

boolean = true

Returns

void