fixbug There is a bug in the rename workspace name function in doc mode #15

This commit is contained in:
xiaodong zuo
2022-08-02 11:17:59 +08:00
parent 829e306614
commit 86faaadbe8
2 changed files with 14 additions and 4 deletions

View File

@@ -9,7 +9,7 @@ import {
useUserAndSpaces, useUserAndSpaces,
useShowSpaceSidebar, useShowSpaceSidebar,
} from '@toeverything/datasource/state'; } from '@toeverything/datasource/state';
import { useCallback, useEffect, useState } from 'react'; import { useCallback, useEffect, useRef, useState } from 'react';
import { services } from '@toeverything/datasource/db-service'; import { services } from '@toeverything/datasource/db-service';
const WorkspaceContainer = styled('div')({ const WorkspaceContainer = styled('div')({
@@ -78,6 +78,7 @@ export const WorkspaceName = () => {
const { fixedDisplay, toggleSpaceSidebar } = useShowSpaceSidebar(); const { fixedDisplay, toggleSpaceSidebar } = useShowSpaceSidebar();
const [inRename, setInRename] = useState(false); const [inRename, setInRename] = useState(false);
const [workspaceName, setWorkspaceName] = useState(''); const [workspaceName, setWorkspaceName] = useState('');
const [workspaceId, setWorkspaceId] = useState('');
const fetchWorkspaceName = useCallback(async () => { const fetchWorkspaceName = useCallback(async () => {
if (!currentSpaceId) { if (!currentSpaceId) {
@@ -88,6 +89,11 @@ export const WorkspaceName = () => {
currentSpaceId currentSpaceId
); );
setWorkspaceName(name); setWorkspaceName(name);
const workspaceId = await services.api.userConfig.getWorkspaceId(
currentSpaceId
);
setWorkspaceId(workspaceId);
}, [currentSpaceId]); }, [currentSpaceId]);
useEffect(() => { useEffect(() => {
@@ -150,7 +156,7 @@ export const WorkspaceName = () => {
) : ( ) : (
<WorkspaceNameContainer> <WorkspaceNameContainer>
<span onClick={() => setInRename(true)}> <span onClick={() => setInRename(true)}>
{workspaceName} {workspaceName || workspaceId}
</span> </span>
</WorkspaceNameContainer> </WorkspaceNameContainer>
)} )}

View File

@@ -112,11 +112,15 @@ export class UserConfig extends ServiceBaseClass {
async getWorkspaceName(workspace: string): Promise<string> { async getWorkspaceName(workspace: string): Promise<string> {
const workspace_db_block = await this.getWorkspaceDbBlock(workspace); const workspace_db_block = await this.getWorkspaceDbBlock(workspace);
const workspaceName = const workspaceName =
workspace_db_block.getDecoration<string>(WORKSPACE_CONFIG) || workspace_db_block.getDecoration<string>(WORKSPACE_CONFIG) || '';
workspace_db_block.id;
return workspaceName; return workspaceName;
} }
async getWorkspaceId(workspace: string): Promise<string> {
const workspace_db_block = await this.getWorkspaceDbBlock(workspace);
return workspace_db_block.id;
}
async setWorkspaceName(workspace: string, workspaceName: string) { async setWorkspaceName(workspace: string, workspaceName: string) {
const workspace_db_block = await this.getWorkspaceDbBlock(workspace); const workspace_db_block = await this.getWorkspaceDbBlock(workspace);
workspace_db_block.setDecoration(WORKSPACE_CONFIG, workspaceName); workspace_db_block.setDecoration(WORKSPACE_CONFIG, workspaceName);