Files
Saul-Mirone 6fb7f51ea2 refactor(editor): history as a store extension (#12214)
<!-- This is an auto-generated comment: release notes by coderabbit.ai -->

## Summary by CodeRabbit

- **Refactor**
  - Improved history and undo/redo management across the app by introducing a dedicated history extension. Undo/redo operations now use a more focused undo manager, resulting in clearer and more consistent behavior.
- **Documentation**
  - Updated API documentation to reflect changes in history management, including revised method signatures and removal of outdated event references.

<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2025-05-12 01:50:57 +00:00

1.4 KiB

BlockSuite API Documentation


BlockSuite API Documentation / @blocksuite/store / StoreSlots

Interface: StoreSlots

Slots for receiving events from the store. All events are rxjs Subjects, you can subscribe to them like this:

store.slots.ready.subscribe(() => {
  console.log('store is ready');
});

You can also use rxjs operators to handle the events.

Properties

blockUpdated

blockUpdated: Subject<StoreBlockUpdatedPayloads>

This fires when a block is updated via API call or has just been updated from existing ydoc.

The payload can have three types:

  • add: When a new block is added
  • delete: When a block is removed
  • update: When a block's properties are modified

ready

ready: Subject<void>

This fires after doc.load is called. The Y.Doc is fully loaded and ready to use.


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>

This fires when the root block is deleted via API call or has just been removed from existing ydoc. In most cases, you don't need to subscribe to this event.