feat(editor): replace slot with rxjs subject (#10768)

This commit is contained in:
Mirone
2025-03-12 11:29:24 +09:00
committed by GitHub
parent 19f978d9aa
commit cd63e0ed8b
302 changed files with 1405 additions and 1251 deletions
@@ -1,15 +1,15 @@
import { Slot } from '@blocksuite/global/slot';
import { Subject } from 'rxjs';
import type { BlockService } from '../extension/service.js';
import type { BlockComponent, WidgetComponent } from '../view/index.js';
export type BlockSpecSlots<Service extends BlockService = BlockService> = {
mounted: Slot<{ service: Service }>;
unmounted: Slot<{ service: Service }>;
viewConnected: Slot<{ component: BlockComponent; service: Service }>;
viewDisconnected: Slot<{ component: BlockComponent; service: Service }>;
widgetConnected: Slot<{ component: WidgetComponent; service: Service }>;
widgetDisconnected: Slot<{
mounted: Subject<{ service: Service }>;
unmounted: Subject<{ service: Service }>;
viewConnected: Subject<{ component: BlockComponent; service: Service }>;
viewDisconnected: Subject<{ component: BlockComponent; service: Service }>;
widgetConnected: Subject<{ component: WidgetComponent; service: Service }>;
widgetDisconnected: Subject<{
component: WidgetComponent;
service: Service;
}>;
@@ -17,11 +17,11 @@ export type BlockSpecSlots<Service extends BlockService = BlockService> = {
export const getSlots = (): BlockSpecSlots => {
return {
mounted: new Slot(),
unmounted: new Slot(),
viewConnected: new Slot(),
viewDisconnected: new Slot(),
widgetConnected: new Slot(),
widgetDisconnected: new Slot(),
mounted: new Subject(),
unmounted: new Subject(),
viewConnected: new Subject(),
viewDisconnected: new Subject(),
widgetConnected: new Subject(),
widgetDisconnected: new Subject(),
};
};