mirror of
https://github.com/toeverything/AFFiNE.git
synced 2026-07-20 03:26:47 +08:00
feat: support open page in a new tab
This commit is contained in:
@@ -34,7 +34,7 @@ export const OperationCell = ({ pageMeta }: { pageMeta: PageMeta }) => {
|
||||
</MenuItem>
|
||||
<MenuItem
|
||||
onClick={() => {
|
||||
openPage(id);
|
||||
openPage(id, {}, true);
|
||||
}}
|
||||
icon={<OpenInNewIcon />}
|
||||
>
|
||||
|
||||
@@ -9,7 +9,8 @@ export type EditorHandlers = {
|
||||
// createPage: (params?: { pageId?: string; title?: string }) => Promise<Page>;
|
||||
openPage: (
|
||||
pageId: string,
|
||||
query?: { [key: string]: string }
|
||||
query?: { [key: string]: string },
|
||||
newTab?: boolean
|
||||
) => Promise<boolean>;
|
||||
getPageMeta: (pageId: string) => PageMeta | null;
|
||||
toggleDeletePage: (pageId: string) => Promise<boolean>;
|
||||
@@ -77,8 +78,13 @@ export const usePageHelper = (): EditorHandlers => {
|
||||
// TODO: workspace.meta.removePage or workspace.removePage?
|
||||
currentWorkspace!.meta.removePage(pageId);
|
||||
},
|
||||
openPage: (pageId, query = {}) => {
|
||||
openPage: (pageId, query = {}, newTab = false) => {
|
||||
pageId = pageId.replace('space:', '');
|
||||
|
||||
if (newTab) {
|
||||
window.open(`/workspace/${currentWorkspaceId}/${pageId}`, '_blank');
|
||||
return Promise.resolve(true);
|
||||
}
|
||||
return router.push({
|
||||
pathname: `/workspace/${currentWorkspaceId}/${pageId}`,
|
||||
query,
|
||||
|
||||
@@ -6,7 +6,6 @@ import type {
|
||||
Workspace as StoreWorkspace,
|
||||
} from '@blocksuite/store';
|
||||
import type { EditorContainer } from '@blocksuite/editor';
|
||||
import { PageMeta } from './interface';
|
||||
export type LoadWorkspaceHandler = (
|
||||
workspaceId: string
|
||||
) => Promise<StoreWorkspace | null> | null;
|
||||
|
||||
Reference in New Issue
Block a user