From 9442c023e57de4e53f2ec3c4ddf0a61cfe2e6220 Mon Sep 17 00:00:00 2001 From: tzhangchi Date: Thu, 8 Sep 2022 19:13:03 +0800 Subject: [PATCH] refactor(workspace): rename workspaceId --- apps/ligo-virgo/src/pages/AppRoutes.tsx | 2 +- apps/ligo-virgo/src/pages/workspace/Home.tsx | 12 +++++----- .../pages/workspace/WorkspaceContainer.tsx | 12 +++------- .../workspace/docs/collapsible-page-tree.tsx | 8 +++---- .../common/src/lib/text/plugins/reflink.tsx | 6 ++--- .../src/blocks/page/PageView.tsx | 4 ++-- .../src/comment/use-add-comment.ts | 6 ++--- .../editor-plugins/src/search/Search.tsx | 2 +- .../header/EditorBoardSwitcher/Switcher.tsx | 2 +- libs/components/layout/src/header/Header.tsx | 6 ++--- .../layout/src/header/PageSettingPortal.tsx | 20 ++++++++-------- libs/components/layout/src/header/Title.tsx | 14 +++++------ .../settings-sidebar/Comments/use-comments.ts | 4 ++-- .../Settings/util/use-workspace-page.ts | 2 +- .../page-tree/tree-item/TreeItem.tsx | 6 ++--- .../page-tree/use-page-tree.ts | 24 +++++++++---------- .../src/services/editor-block/index.ts | 8 +++---- libs/datasource/state/src/page.ts | 2 +- 18 files changed, 67 insertions(+), 73 deletions(-) diff --git a/apps/ligo-virgo/src/pages/AppRoutes.tsx b/apps/ligo-virgo/src/pages/AppRoutes.tsx index 855f717b28..4f1d845324 100644 --- a/apps/ligo-virgo/src/pages/AppRoutes.tsx +++ b/apps/ligo-virgo/src/pages/AppRoutes.tsx @@ -21,7 +21,7 @@ export function LigoVirgoRoutes() { /> } /> diff --git a/apps/ligo-virgo/src/pages/workspace/Home.tsx b/apps/ligo-virgo/src/pages/workspace/Home.tsx index 1d6e0fb661..5034787eb1 100644 --- a/apps/ligo-virgo/src/pages/workspace/Home.tsx +++ b/apps/ligo-virgo/src/pages/workspace/Home.tsx @@ -5,22 +5,22 @@ import { useNavigate, useParams } from 'react-router-dom'; export function WorkspaceHome() { const navigate = useNavigate(); - const { workspace_id } = useParams(); + const { workspaceId } = useParams(); const { user } = useUserAndSpaces(); useEffect(() => { const navigateToUserInitialPage = async () => { const [recentPages, userInitialPageId] = await Promise.all([ - services.api.userConfig.getRecentPages(workspace_id, user.id), + services.api.userConfig.getRecentPages(workspaceId, user.id), services.api.userConfig.getUserInitialPage( - workspace_id, + workspaceId, user.id ), ]); // if recent pages if null, run initialize task if (recentPages.length === 0) { await services.api.editorBlock.copyTemplateToPage( - workspace_id, + workspaceId, userInitialPageId, TemplateFactory.generatePageTemplateByGroupKeys({ name: '👋 Get Started with AFFiNE', @@ -33,11 +33,11 @@ export function WorkspaceHome() { ); } if (userInitialPageId) { - navigate(`/${workspace_id}/${userInitialPageId}`); + navigate(`/${workspaceId}/${userInitialPageId}`); } }; navigateToUserInitialPage(); - }, [navigate, user.id, workspace_id]); + }, [navigate, user.id, workspaceId]); return null; } diff --git a/apps/ligo-virgo/src/pages/workspace/WorkspaceContainer.tsx b/apps/ligo-virgo/src/pages/workspace/WorkspaceContainer.tsx index 5ebc753516..b025267ce7 100644 --- a/apps/ligo-virgo/src/pages/workspace/WorkspaceContainer.tsx +++ b/apps/ligo-virgo/src/pages/workspace/WorkspaceContainer.tsx @@ -7,14 +7,8 @@ import { WorkspaceHome } from './Home'; import Pages from './pages'; export function WorkspaceContainer() { - const { workspace_id } = useParams(); + const { workspaceId } = useParams(); const { user, currentSpaceId } = useUserAndSpaces(); - if ( - user && - ![currentSpaceId, 'affine2vin277tcmafwq'].includes(workspace_id) - ) { - // return ; - } return ( @@ -22,11 +16,11 @@ export function WorkspaceContainer() { } /> } + element={} /> } + element={} /> } /> diff --git a/apps/ligo-virgo/src/pages/workspace/docs/collapsible-page-tree.tsx b/apps/ligo-virgo/src/pages/workspace/docs/collapsible-page-tree.tsx index 9aef73aa22..a429e999cf 100644 --- a/apps/ligo-virgo/src/pages/workspace/docs/collapsible-page-tree.tsx +++ b/apps/ligo-virgo/src/pages/workspace/docs/collapsible-page-tree.tsx @@ -38,7 +38,7 @@ export type CollapsiblePageTreeProps = { export function CollapsiblePageTree(props: CollapsiblePageTreeProps) { const { className, style, children, title, initialOpen = true } = props; const navigate = useNavigate(); - const { workspace_id, page_id } = useParams(); + const { workspaceId, page_id } = useParams(); const { handleAddPage } = usePageTree(); const { addPageToday } = useCalendarHeatmap(); @@ -48,16 +48,16 @@ export function CollapsiblePageTree(props: CollapsiblePageTreeProps) { const create_page = useCallback(async () => { if (page_id) { const newPage = await services.api.editorBlock.create({ - workspace: workspace_id, + workspace: workspaceId, type: 'page' as const, }); await handleAddPage(newPage.id); addPageToday(); - navigate(`/${workspace_id}/${newPage.id}`); + navigate(`/${workspaceId}/${newPage.id}`); } - }, [addPageToday, handleAddPage, navigate, page_id, workspace_id]); + }, [addPageToday, handleAddPage, navigate, page_id, workspaceId]); const [newPageBtnVisible, setNewPageBtnVisible] = useState(false); diff --git a/libs/components/common/src/lib/text/plugins/reflink.tsx b/libs/components/common/src/lib/text/plugins/reflink.tsx index 2b0c42a643..5cbd90478f 100644 --- a/libs/components/common/src/lib/text/plugins/reflink.tsx +++ b/libs/components/common/src/lib/text/plugins/reflink.tsx @@ -2,8 +2,8 @@ import { useNavigate, useParams } from 'react-router-dom'; import { Descendant } from 'slate'; // eslint-disable-next-line @nrwl/nx/enforce-module-boundaries -import { BlockSearchItem } from '@toeverything/datasource/jwt'; import { styled } from '@toeverything/components/ui'; +import { BlockSearchItem } from '@toeverything/datasource/jwt'; import { BlockPreview } from '../../block-preview'; @@ -26,14 +26,14 @@ type InlineRefLinkProps = { }; export const InlineRefLink = ({ block, pageId }: InlineRefLinkProps) => { - const { workspace_id } = useParams(); + const { workspaceId } = useParams(); const navigate = useNavigate(); if (block) { return ( navigate(`/${workspace_id}/${pageId}`)} + onClick={() => navigate(`/${workspaceId}/${pageId}`)} /> ); } diff --git a/libs/components/editor-blocks/src/blocks/page/PageView.tsx b/libs/components/editor-blocks/src/blocks/page/PageView.tsx index 123021e361..cb932670bd 100644 --- a/libs/components/editor-blocks/src/blocks/page/PageView.tsx +++ b/libs/components/editor-blocks/src/blocks/page/PageView.tsx @@ -16,7 +16,7 @@ import { } from '../../components/text-manage'; export const PageView = ({ block, editor }: CreateView) => { - const { workspace_id } = useParams(); + const { workspaceId } = useParams(); const textRef = useRef(null); const [backLinks, setBackLinks] = useState>>(); @@ -100,7 +100,7 @@ export const PageView = ({ block, editor }: CreateView) => { className={style9(styles.content)} suppressContentEditableWarning > */} - + {/*{block.childrenIds.map(childId => (*/} {/* */} {/*))}*/} diff --git a/libs/components/editor-plugins/src/comment/use-add-comment.ts b/libs/components/editor-plugins/src/comment/use-add-comment.ts index d5572801aa..c2bc4680ad 100644 --- a/libs/components/editor-plugins/src/comment/use-add-comment.ts +++ b/libs/components/editor-plugins/src/comment/use-add-comment.ts @@ -1,6 +1,6 @@ -import { useState, useCallback } from 'react'; -import { useParams } from 'react-router-dom'; import { services } from '@toeverything/datasource/db-service'; +import { useCallback, useState } from 'react'; +import { useParams } from 'react-router-dom'; import { WithEditorSelectionType } from '../menu/inline-menu/types'; export const useAddComment = ({ @@ -8,7 +8,7 @@ export const useAddComment = ({ selectionInfo, setShow, }: WithEditorSelectionType) => { - const { workspace_id: workspaceId, page_id: pageId } = useParams(); + const { workspaceId, page_id: pageId } = useParams(); const [currentComment, setCurrentComment] = useState(''); const createComment = useCallback(async (): Promise<{ diff --git a/libs/components/editor-plugins/src/search/Search.tsx b/libs/components/editor-plugins/src/search/Search.tsx index 6092862416..3511b610c3 100644 --- a/libs/components/editor-plugins/src/search/Search.tsx +++ b/libs/components/editor-plugins/src/search/Search.tsx @@ -47,7 +47,7 @@ type SearchProps = { }; export const Search = (props: SearchProps) => { - const { workspace_id: workspaceId } = useParams(); + const { workspaceId } = useParams(); const navigate = useNavigate(); const [open, setOpen] = useState(false); diff --git a/libs/components/layout/src/header/EditorBoardSwitcher/Switcher.tsx b/libs/components/layout/src/header/EditorBoardSwitcher/Switcher.tsx index 6c8ab70372..918603d5ef 100644 --- a/libs/components/layout/src/header/EditorBoardSwitcher/Switcher.tsx +++ b/libs/components/layout/src/header/EditorBoardSwitcher/Switcher.tsx @@ -16,7 +16,7 @@ export const Switcher = () => { if (targetViewMode === pageViewMode) { return; } - const workspaceId = params['workspace_id']; + const workspaceId = params['workspaceId']; /** * There are two possible modes: * Page mode: /{workspaceId}/{pageId} diff --git a/libs/components/layout/src/header/Header.tsx b/libs/components/layout/src/header/Header.tsx index 0f9028b9ae..b025c81023 100644 --- a/libs/components/layout/src/header/Header.tsx +++ b/libs/components/layout/src/header/Header.tsx @@ -46,7 +46,7 @@ export const AffineHeader = () => { useUserAndSpaces(); const showCenterTab = - (params['workspace_id'] || pathname.includes('/space/')) && params['*']; + (params['workspaceId'] || pathname.includes('/space/')) && params['*']; if (hideAffineHeader(pathname)) { return null; @@ -82,7 +82,7 @@ export const AffineHeader = () => { isEdgelessView ? navigate( `/${ - params['workspace_id'] || + params['workspaceId'] || 'space' }/${params['*'].slice(0, -11)}` ) @@ -108,7 +108,7 @@ export const AffineHeader = () => { ? null : navigate( `/${ - params['workspace_id'] || + params['workspaceId'] || 'space' }/${params['*']}` + '/edgeless' ) diff --git a/libs/components/layout/src/header/PageSettingPortal.tsx b/libs/components/layout/src/header/PageSettingPortal.tsx index 115b5c95fd..6dfc07fec8 100644 --- a/libs/components/layout/src/header/PageSettingPortal.tsx +++ b/libs/components/layout/src/header/PageSettingPortal.tsx @@ -50,7 +50,7 @@ const MESSAGES = { function PageSettingPortal() { const [alertOpen, setAlertOpen] = useState(false); - const { workspace_id } = useParams(); + const { workspaceId } = useParams(); const [pageBlock, setPageBlock] = useState(); const params = useParams(); @@ -64,7 +64,7 @@ function PageSettingPortal() { const fetchPageBlock = useCallback(async () => { const dbPageBlock = await services.api.editorBlock.getBlock( - workspace_id, + workspaceId, pageId ); if (!dbPageBlock) return; @@ -78,11 +78,11 @@ function PageSettingPortal() { //@ts-ignore text.value[0].text, }); - }, [workspace_id, pageId]); + }, [workspaceId, pageId]); useEffect(() => { fetchPageBlock(); - }, [workspace_id, pageId, fetchPageBlock]); + }, [workspaceId, pageId, fetchPageBlock]); const redirectToPage = (newWorkspaceId: string, newPageId: string) => { navigate('/' + newWorkspaceId + '/' + newPageId); }; @@ -90,23 +90,23 @@ function PageSettingPortal() { const handleDuplicatePage = async () => { //create page const newPage = await services.api.editorBlock.create({ - workspace: workspace_id, + workspace: workspaceId, type: 'page' as const, }); //add page to tree await services.api.pageTree.addNextPageToWorkspace( - workspace_id, + workspaceId, pageId, newPage.id ); //copy source page to new page await services.api.editorBlock.copyPage( - workspace_id, + workspaceId, pageId, newPage.id ); - redirectToPage(workspace_id, newPage.id); + redirectToPage(workspaceId, newPage.id); }; const handleCopy = () => { @@ -128,7 +128,7 @@ function PageSettingPortal() { .inspector() .load() .then(() => { - window.location.href = `/${workspace_id}/`; + window.location.href = `/${workspaceId}/`; }); }; @@ -145,7 +145,7 @@ function PageSettingPortal() { fullWidthChecked: checked, }, id: pageId, - workspace: workspace_id, + workspace: workspaceId, }); }; diff --git a/libs/components/layout/src/header/Title.tsx b/libs/components/layout/src/header/Title.tsx index 0447cd52f6..dcd0c9e356 100644 --- a/libs/components/layout/src/header/Title.tsx +++ b/libs/components/layout/src/header/Title.tsx @@ -12,7 +12,7 @@ import { useUserAndSpaces } from '@toeverything/datasource/state'; export const CurrentPageTitle = () => { const { user } = useUserAndSpaces(); const params = useParams(); - const { workspace_id } = params; + const { workspaceId } = params; const [pageId, setPageId] = useState(''); const [pageTitle, setPageTitle] = useState(); /* card.7 */ @@ -25,9 +25,9 @@ export const CurrentPageTitle = () => { }, [params]); const fetchPageTitle = useCallback(async () => { - if (!workspace_id || !pageId) return; + if (!workspaceId || !pageId) return; const [pageEditorBlock] = await services.api.editorBlock.get({ - workspace: workspace_id, + workspace: workspaceId, ids: [pageId], }); /* card.7 */ @@ -39,21 +39,21 @@ export const CurrentPageTitle = () => { ?.map(v => v.text) .join('') ?? 'Untitled' ); - }, [pageId, workspace_id]); + }, [pageId, workspaceId]); useEffect(() => { if (user) fetchPageTitle(); }, [fetchPageTitle, user]); useEffect(() => { - if (!user || !workspace_id || !pageId || pageTitle === undefined) + if (!user || !workspaceId || !pageId || pageTitle === undefined) return () => {}; let unobserve: () => void; const auto_update_title = async () => { // console.log(';; title registration auto update'); unobserve = await services.api.editorBlock.observe( - { workspace: workspace_id, id: pageId }, + { workspace: workspaceId, id: pageId }, businessBlock => { // console.log(';; auto_update_title', businessBlock); fetchPageTitle(); @@ -65,7 +65,7 @@ export const CurrentPageTitle = () => { return () => { // unobserve?.(); }; - }, [fetchPageTitle, pageId, pageTitle, user, workspace_id]); + }, [fetchPageTitle, pageId, pageTitle, user, workspaceId]); useEffect(() => { document.title = pageTitle || ''; diff --git a/libs/components/layout/src/settings-sidebar/Comments/use-comments.ts b/libs/components/layout/src/settings-sidebar/Comments/use-comments.ts index 510b4e1bfb..245f83a56f 100644 --- a/libs/components/layout/src/settings-sidebar/Comments/use-comments.ts +++ b/libs/components/layout/src/settings-sidebar/Comments/use-comments.ts @@ -9,7 +9,7 @@ import { useParams } from 'react-router-dom'; import type { CommentInfo } from './type'; export const useComments = () => { - const { workspace_id: workspaceId, page_id: pageId } = useParams(); + const { workspaceId, page_id: pageId } = useParams(); const [comments, setComments] = useState([]); const [observeIds, setObserveIds] = useState([]); @@ -71,7 +71,7 @@ export const useComments = () => { }; export const useActiveComment = () => { - const { workspace_id: workspaceId, page_id: pageId } = useParams(); + const { workspaceId, page_id: pageId } = useParams(); const { currentEditors } = useCurrentEditors(); const editor = useMemo(() => { return currentEditors[pageId] as Virgo; diff --git a/libs/components/layout/src/settings-sidebar/Settings/util/use-workspace-page.ts b/libs/components/layout/src/settings-sidebar/Settings/util/use-workspace-page.ts index b9048e3ff4..48f07fc2c4 100644 --- a/libs/components/layout/src/settings-sidebar/Settings/util/use-workspace-page.ts +++ b/libs/components/layout/src/settings-sidebar/Settings/util/use-workspace-page.ts @@ -7,7 +7,7 @@ interface UseWorkspaceAndPageIdReturn { export const useWorkspaceAndPageId = (): UseWorkspaceAndPageIdReturn => { const params = useParams(); - const workspaceId = params['workspace_id']; + const workspaceId = params['workspaceId']; const pageId = params['*'].split('/')[0]; return { workspaceId, diff --git a/libs/components/layout/src/workspace-sidebar/page-tree/tree-item/TreeItem.tsx b/libs/components/layout/src/workspace-sidebar/page-tree/tree-item/TreeItem.tsx index 8ed5db75e8..dce5e1d035 100755 --- a/libs/components/layout/src/workspace-sidebar/page-tree/tree-item/TreeItem.tsx +++ b/libs/components/layout/src/workspace-sidebar/page-tree/tree-item/TreeItem.tsx @@ -57,7 +57,7 @@ export const TreeItem = forwardRef( }, ref ) => { - const { workspace_id, page_id } = useParams(); + const { workspaceId, page_id } = useParams(); const BooleanPageTreeItemMoreActions = useFlag( 'BooleanPageTreeItemMoreActions', true @@ -89,12 +89,12 @@ export const TreeItem = forwardRef( )} - + {value} {BooleanPageTreeItemMoreActions && ( diff --git a/libs/components/layout/src/workspace-sidebar/page-tree/use-page-tree.ts b/libs/components/layout/src/workspace-sidebar/page-tree/use-page-tree.ts index b088242ee2..77ba1bdda8 100755 --- a/libs/components/layout/src/workspace-sidebar/page-tree/use-page-tree.ts +++ b/libs/components/layout/src/workspace-sidebar/page-tree/use-page-tree.ts @@ -19,7 +19,7 @@ import { const page_tree_atom = atom([]); export const usePageTree = ({ indentationWidth = 16 }: DndTreeProps = {}) => { - const { workspace_id, page_id } = useParams(); + const { workspaceId, page_id } = useParams(); const navigate = useNavigate(); const [items] = useAtom(page_tree_atom); const [activeId, setActiveId] = useState(undefined); @@ -56,11 +56,11 @@ export const usePageTree = ({ indentationWidth = 16 }: DndTreeProps = {}) => { const savePageTreeData = useCallback( async (treeData?: TreeItem[]) => { await services.api.pageTree.setPageTree( - workspace_id, + workspaceId, treeData || [] ); }, - [workspace_id] + [workspaceId] ); const resetState = useCallback(() => { @@ -129,14 +129,14 @@ export const usePageTree = ({ indentationWidth = 16 }: DndTreeProps = {}) => { const handleRemove = useCallback( async (id: string) => { await savePageTreeData(removeItem(items, id)); - await services.api.userConfig.removePage(workspace_id, id); + await services.api.userConfig.removePage(workspaceId, id); //remove page from jwst - await services.api.pageTree.removePage(workspace_id, id); + await services.api.pageTree.removePage(workspaceId, id); if (id === page_id) { - navigate(`/${workspace_id}`); + navigate(`/${workspaceId}`); } }, - [items, savePageTreeData, workspace_id] + [items, savePageTreeData, workspaceId] ); const handleAddPage = useCallback( @@ -177,14 +177,14 @@ export const usePageTree = ({ indentationWidth = 16 }: DndTreeProps = {}) => { export const useDndTreeAutoUpdate = () => { const [, set_items] = useAtom(page_tree_atom); - const { workspace_id, page_id } = useParams(); + const { workspaceId, page_id } = useParams(); const fetch_page_tree_data = useCallback(async () => { const pages = await services.api.pageTree.getPageTree( - workspace_id + workspaceId ); set_items(pages); - }, [set_items, workspace_id]); + }, [set_items, workspaceId]); useEffect(() => { fetch_page_tree_data(); @@ -195,7 +195,7 @@ export const useDndTreeAutoUpdate = () => { let unobserve: () => void; const auto_update_page_tree = async () => { unobserve = await services.api.pageTree.observe( - { workspace: workspace_id, page: page_id }, + { workspace: workspaceId, page: page_id }, () => { fetch_page_tree_data(); } @@ -206,5 +206,5 @@ export const useDndTreeAutoUpdate = () => { return () => { unobserve?.(); }; - }, [fetch_page_tree_data, page_id, workspace_id]); + }, [fetch_page_tree_data, page_id, workspaceId]); }; diff --git a/libs/datasource/db-service/src/services/editor-block/index.ts b/libs/datasource/db-service/src/services/editor-block/index.ts index d24efb9221..4d5fc25348 100644 --- a/libs/datasource/db-service/src/services/editor-block/index.ts +++ b/libs/datasource/db-service/src/services/editor-block/index.ts @@ -265,18 +265,18 @@ export class EditorBlock extends ServiceBaseClass { } } async copyPage( - workspace_id: string, + workspaceId: string, source_page_id: string, new_page_id: string ): Promise { - const db = await this.database.getDatabase(workspace_id); + const db = await this.database.getDatabase(workspaceId); const source_page = await this.getBlock( - workspace_id, + workspaceId, source_page_id as 'block' ); const new_page = await this.getBlock( - workspace_id, + workspaceId, new_page_id as 'block' ); if (!source_page) { diff --git a/libs/datasource/state/src/page.ts b/libs/datasource/state/src/page.ts index e1706e508e..0e6249d881 100644 --- a/libs/datasource/state/src/page.ts +++ b/libs/datasource/state/src/page.ts @@ -9,7 +9,7 @@ const _currentEditors = atom({} as EditorsMap); /** hook for using editors outside page */ export const useCurrentEditors = () => { - const { workspace_id: workspaceId, page_id: pageId } = useParams(); + const { workspaceId, page_id: pageId } = useParams(); const { pathname } = useLocation(); const [currentEditors, setCurrentEditors] = useAtom(_currentEditors);