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

View File

@@ -51,7 +51,7 @@ export function createTestEditor(store: Store, workspace: Workspace) {
editor.std
.get(RefNodeSlotsProvider)
.docLinkClicked.on(({ pageId: docId }) => {
.docLinkClicked.subscribe(({ pageId: docId }) => {
const target = workspace.getDoc(docId);
if (!target) {
throw new Error(`Failed to jump to doc ${docId}`);

View File

@@ -9,7 +9,12 @@ export async function prepareTestApp(collection: Workspace) {
const store = await getStore(collection, noInit);
store.load();
if (!store.root) {
await new Promise(resolve => store.slots.rootAdded.once(resolve));
await new Promise(resolve => {
const subscription = store.slots.rootAdded.subscribe(value => {
subscription.unsubscribe();
resolve(value);
});
});
}
await createTestApp(store, collection);
@@ -34,7 +39,7 @@ async function getStore(
}
const { resolve, reject, promise } = Promise.withResolvers<Store>();
collection.slots.docListUpdated.on(() => {
collection.slots.docListUpdated.subscribe(() => {
const doc = collection.docs.values().next().value;
const firstDoc = doc?.getStore();
if (!firstDoc) {