change workspacetype to worksopace until

This commit is contained in:
DiamondThree
2023-01-11 16:04:38 +08:00
parent e9b38a2380
commit 8e8e18fdf9
14 changed files with 82 additions and 53 deletions
@@ -11,7 +11,7 @@ export const useChangePageMeta = () => {
return useCallback<ChangePageMeta>(
(pageId, pageMeta) => {
currentWorkspace?.setPageMeta(pageId, {
currentWorkspace?.blocksuiteWorkspace?.setPageMeta(pageId, {
...pageMeta,
});
},
@@ -9,7 +9,7 @@ export const useCurrentPageMeta = (): PageMeta | null => {
return null;
}
return (
(currentWorkspace.meta.pageMetas.find(
(currentWorkspace.blocksuiteWorkspace?.meta.pageMetas.find(
p => p.id === currentPage.id
) as PageMeta) ?? null
);
@@ -22,9 +22,11 @@ export const useCurrentPageMeta = (): PageMeta | null => {
useEffect(() => {
setCurrentPageMeta(pageMetaHandler);
const dispose = currentWorkspace?.meta.pagesUpdated.on(() => {
setCurrentPageMeta(pageMetaHandler);
}).dispose;
const dispose = currentWorkspace?.blocksuiteWorkspace?.meta.pagesUpdated.on(
() => {
setCurrentPageMeta(pageMetaHandler);
}
).dispose;
return () => {
dispose?.();
+18 -11
View File
@@ -1,9 +1,10 @@
import { Workspace, uuidv4 } from '@blocksuite/store';
import { uuidv4 } from '@blocksuite/store';
import { QueryContent } from '@blocksuite/store/dist/workspace/search';
import { PageMeta, useAppState } from '@/providers/app-state-provider';
import { EditorContainer } from '@blocksuite/editor';
import { useChangePageMeta } from '@/hooks/use-change-page-meta';
import { useRouter } from 'next/router';
import { WorkspaceUnit } from '@affine/datacenter';
export type EditorHandlers = {
createPage: (params?: {
@@ -27,8 +28,10 @@ export type EditorHandlers = {
) => Promise<EditorContainer['mode']>;
};
const getPageMeta = (workspace: Workspace | null, pageId: string) => {
return workspace?.meta.pageMetas.find(p => p.id === pageId);
const getPageMeta = (workspace: WorkspaceUnit | null, pageId: string) => {
return workspace?.blocksuiteWorkspace?.meta.pageMetas.find(
p => p.id === pageId
);
};
export const usePageHelper = (): EditorHandlers => {
const router = useRouter();
@@ -44,11 +47,15 @@ export const usePageHelper = (): EditorHandlers => {
if (!currentWorkspace) {
return resolve(null);
}
currentWorkspace.createPage(pageId);
currentWorkspace.signals.pageAdded.once(addedPageId => {
currentWorkspace.setPageMeta(addedPageId, { title });
resolve(addedPageId);
});
currentWorkspace.blocksuiteWorkspace?.createPage(pageId);
currentWorkspace.blocksuiteWorkspace?.signals.pageAdded.once(
addedPageId => {
currentWorkspace.blocksuiteWorkspace?.setPageMeta(addedPageId, {
title,
});
resolve(addedPageId);
}
);
});
},
toggleFavoritePage: async pageId => {
@@ -78,7 +85,7 @@ export const usePageHelper = (): EditorHandlers => {
},
search: (query: QueryContent) => {
// eslint-disable-next-line @typescript-eslint/no-non-null-assertion
return currentWorkspace!.search(query);
return currentWorkspace!.blocksuiteWorkspace!.search(query);
},
changePageMode: async (pageId, mode) => {
const pageMeta = getPageMeta(currentWorkspace, pageId);
@@ -96,7 +103,7 @@ export const usePageHelper = (): EditorHandlers => {
permanentlyDeletePage: pageId => {
// TODO: workspace.meta.removePage or workspace.removePage?
// eslint-disable-next-line @typescript-eslint/no-non-null-assertion
currentWorkspace!.meta.removePage(pageId);
currentWorkspace!.blocksuiteWorkspace?.meta.removePage(pageId);
},
openPage: (pageId, query = {}, newTab = false) => {
pageId = pageId.replace('space:', '');
@@ -116,7 +123,7 @@ export const usePageHelper = (): EditorHandlers => {
}
return (
(currentWorkspace.meta.pageMetas.find(
(currentWorkspace.blocksuiteWorkspace?.meta.pageMetas.find(
page => page.id === pageId
) as PageMeta) || null
);
@@ -1,7 +1,7 @@
import { useAppState } from '@/providers/app-state-provider';
import { useConfirm } from '@/providers/ConfirmProvider';
import { toast } from '@/ui/toast';
import { Workspace } from '@blocksuite/store';
import { WorkspaceUnit } from '@affine/datacenter';
import router from 'next/router';
export const useWorkspaceHelper = () => {
@@ -12,8 +12,8 @@ export const useWorkspaceHelper = () => {
const workspaceInfo = await dataCenter.createWorkspace({
name: name,
});
if (workspaceInfo && workspaceInfo.room) {
return await dataCenter.loadWorkspace(workspaceInfo.room);
if (workspaceInfo && workspaceInfo.id) {
return await dataCenter.loadWorkspace(workspaceInfo.id);
}
return null;
};
@@ -26,14 +26,14 @@ export const useWorkspaceHelper = () => {
const updateWorkspace = async (
{ name, avatarBlob }: { name?: string; avatarBlob?: Blob },
workspace: Workspace
workspace: WorkspaceUnit
) => {
if (name) {
await dataCenter.updateWorkspaceMeta({ name }, workspace);
}
if (avatarBlob) {
const blobId = await dataCenter.setBlob(workspace, avatarBlob);
await dataCenter.updateWorkspaceMeta({ avatar: blobId }, workspace);
// const blobId = await dataCenter.setBlob(workspace, avatarBlob);
// await dataCenter.updateWorkspaceMeta({ avatar: blobId }, workspace);
}
};