mirror of
https://github.com/toeverything/AFFiNE.git
synced 2026-02-13 21:05:19 +00:00
feat!: upgrade blocksuite version (#2833)
This commit is contained in:
@@ -24,18 +24,19 @@ beforeEach(async () => {
|
||||
blockSuiteWorkspace = new BlockSuiteWorkspace({ id: 'test' })
|
||||
.register(AffineSchemas)
|
||||
.register(__unstableSchemas);
|
||||
const initPage = (page: Page) => {
|
||||
const initPage = async (page: Page) => {
|
||||
await page.waitForLoaded()
|
||||
expect(page).not.toBeNull();
|
||||
assertExists(page);
|
||||
const pageBlockId = page.addBlock('affine:page', {
|
||||
title: new page.Text(''),
|
||||
});
|
||||
const frameId = page.addBlock('affine:frame', {}, pageBlockId);
|
||||
const frameId = page.addBlock('affine:note', {}, pageBlockId);
|
||||
page.addBlock('affine:paragraph', {}, frameId);
|
||||
};
|
||||
initPage(blockSuiteWorkspace.createPage({ id: 'page0' }));
|
||||
initPage(blockSuiteWorkspace.createPage({ id: 'page1' }));
|
||||
initPage(blockSuiteWorkspace.createPage({ id: 'page2' }));
|
||||
await initPage(blockSuiteWorkspace.createPage({ id: 'page0' }));
|
||||
await initPage(blockSuiteWorkspace.createPage({ id: 'page1' }));
|
||||
await initPage(blockSuiteWorkspace.createPage({ id: 'page2' }));
|
||||
});
|
||||
|
||||
describe('useBlockSuiteWorkspaceName', () => {
|
||||
@@ -97,7 +98,7 @@ describe('useBlockSuitePagePreview', () => {
|
||||
{
|
||||
text: new page.Text('Hello, world!'),
|
||||
},
|
||||
page.getBlockByFlavour('affine:frame')[0].id
|
||||
page.getBlockByFlavour('affine:note')[0].id
|
||||
);
|
||||
const hook = renderHook(() => useAtomValue(useBlockSuitePagePreview(page)));
|
||||
expect(hook.result.current).toBe('\nHello, world!');
|
||||
|
||||
@@ -14,15 +14,15 @@ import { useBlockSuiteWorkspaceHelper } from '../use-block-suite-workspace-helpe
|
||||
|
||||
let blockSuiteWorkspace: Workspace;
|
||||
|
||||
beforeEach(() => {
|
||||
beforeEach(async () => {
|
||||
blockSuiteWorkspace = new Workspace({
|
||||
id: 'test',
|
||||
})
|
||||
.register(AffineSchemas)
|
||||
.register(__unstableSchemas);
|
||||
initEmptyPage(blockSuiteWorkspace.createPage({ id: 'page0' }));
|
||||
initEmptyPage(blockSuiteWorkspace.createPage({ id: 'page1' }));
|
||||
initEmptyPage(blockSuiteWorkspace.createPage({ id: 'page2' }));
|
||||
await initEmptyPage(blockSuiteWorkspace.createPage({ id: 'page0' }));
|
||||
await initEmptyPage(blockSuiteWorkspace.createPage({ id: 'page1' }));
|
||||
await initEmptyPage(blockSuiteWorkspace.createPage({ id: 'page2' }));
|
||||
});
|
||||
|
||||
describe('useBlockSuiteWorkspaceHelper', () => {
|
||||
@@ -42,20 +42,4 @@ describe('useBlockSuiteWorkspaceHelper', () => {
|
||||
pageMetaHook.rerender();
|
||||
expect(pageMetaHook.result.current.length).toBe(4);
|
||||
});
|
||||
|
||||
test('milestone', async () => {
|
||||
expect(blockSuiteWorkspace.meta.pageMetas.length).toBe(3);
|
||||
const helperHook = renderHook(() =>
|
||||
useBlockSuiteWorkspaceHelper(blockSuiteWorkspace)
|
||||
);
|
||||
await helperHook.result.current.markMilestone('test');
|
||||
expect(blockSuiteWorkspace.meta.pageMetas.length).toBe(3);
|
||||
initEmptyPage(helperHook.result.current.createPage('page4'));
|
||||
expect(blockSuiteWorkspace.meta.pageMetas.length).toBe(4);
|
||||
expect(await helperHook.result.current.listMilestone()).toHaveProperty(
|
||||
'test'
|
||||
);
|
||||
await helperHook.result.current.revertMilestone('test');
|
||||
expect(blockSuiteWorkspace.meta.pageMetas.length).toBe(3);
|
||||
});
|
||||
});
|
||||
|
||||
@@ -63,12 +63,6 @@ export function usePageMetaHelper(blockSuiteWorkspace: Workspace) {
|
||||
getPageMeta: (pageId: string) => {
|
||||
return blockSuiteWorkspace.meta.getPageMeta(pageId);
|
||||
},
|
||||
/**
|
||||
* @deprecated
|
||||
*/
|
||||
shiftPageMeta: (pageId: string, index: number) => {
|
||||
return blockSuiteWorkspace.meta.shiftPageMeta(pageId, index);
|
||||
},
|
||||
}),
|
||||
[blockSuiteWorkspace]
|
||||
);
|
||||
|
||||
@@ -1,10 +1,5 @@
|
||||
import type { Page, Workspace } from '@blocksuite/store';
|
||||
import { assertExists } from '@blocksuite/store';
|
||||
import {
|
||||
getMilestones,
|
||||
markMilestone,
|
||||
revertUpdate,
|
||||
} from '@toeverything/y-indexeddb';
|
||||
import { useMemo } from 'react';
|
||||
|
||||
export function useBlockSuiteWorkspaceHelper(blockSuiteWorkspace: Workspace) {
|
||||
@@ -14,27 +9,6 @@ export function useBlockSuiteWorkspaceHelper(blockSuiteWorkspace: Workspace) {
|
||||
assertExists(blockSuiteWorkspace);
|
||||
return blockSuiteWorkspace.createPage({ id: pageId });
|
||||
},
|
||||
markMilestone: async (name: string) => {
|
||||
assertExists(blockSuiteWorkspace);
|
||||
const doc = blockSuiteWorkspace.doc;
|
||||
await markMilestone(blockSuiteWorkspace.id, doc, name);
|
||||
},
|
||||
revertMilestone: async (name: string) => {
|
||||
assertExists(blockSuiteWorkspace);
|
||||
const doc = blockSuiteWorkspace.doc;
|
||||
const list = await getMilestones(blockSuiteWorkspace.id);
|
||||
if (!list) {
|
||||
throw new Error('no milestone');
|
||||
}
|
||||
const milestone = list[name];
|
||||
if (milestone) {
|
||||
revertUpdate(doc, milestone, () => 'Map');
|
||||
}
|
||||
},
|
||||
listMilestone: async () => {
|
||||
assertExists(blockSuiteWorkspace);
|
||||
return await getMilestones(blockSuiteWorkspace.id);
|
||||
},
|
||||
}),
|
||||
[blockSuiteWorkspace]
|
||||
);
|
||||
|
||||
Reference in New Issue
Block a user