Merge branch 'release/v2.0.0' of github.com:ONLYOFFICE/DocSpace-client into release/v2.0.0

This commit is contained in:
Akmal Isomadinov 2023-11-07 15:28:29 +05:00
commit 3612bff47f
4 changed files with 30 additions and 22 deletions

View File

@ -1,4 +1,4 @@
import React, { useState, useEffect, useCallback } from "react";
import React, { useState, useEffect, useRef, useCallback } from "react";
import TagHandler from "./handlers/TagHandler";
import SetRoomParams from "./sub-components/SetRoomParams";
@ -25,8 +25,23 @@ const EditRoomDialog = ({
...fetchedRoomParams,
});
const setRoomTags = (newTags) =>
setRoomParams({ ...roomParams, tags: newTags });
const prevRoomParams = useRef(
Object.freeze({
...roomParams,
}),
);
const compareRoomParams = (prevParams, currentParams) => {
return (
prevParams.title === currentParams.title &&
prevParams.roomOwner.id === currentParams.roomOwner.id &&
prevParams.tags.sort().toString() === currentParams.tags.sort().toString() &&
((prevParams.icon.uploadedFile === "" && currentParams.icon.uploadedFile === null) ||
prevParams.icon.uploadedFile === currentParams.icon.uploadedFile)
);
};
const setRoomTags = (newTags) => setRoomParams({ ...roomParams, tags: newTags });
const tagHandler = new TagHandler(roomParams.tags, setRoomTags, fetchedTags);
@ -50,11 +65,16 @@ const EditRoomDialog = ({
};
useEffect(() => {
if (fetchedImage)
if (fetchedImage) {
setRoomParams({
...roomParams,
icon: { ...roomParams.icon, uploadedFile: fetchedImage },
});
prevRoomParams.current = {
...roomParams,
icon: { ...roomParams.icon, uploadedFile: fetchedImage },
};
}
}, [fetchedImage]);
const onCloseAction = () => {
@ -70,8 +90,7 @@ const EditRoomDialog = ({
visible={visible}
onClose={onCloseAction}
isScrollLocked={isScrollLocked}
withFooterBorder
>
withFooterBorder>
<ModalDialog.Header>
<DialogHeader isEdit />
</ModalDialog.Header>
@ -102,7 +121,7 @@ const EditRoomDialog = ({
primary
scale
onClick={onEditRoom}
isDisabled={isWrongTitle}
isDisabled={isWrongTitle || compareRoomParams(prevRoomParams.current, roomParams)}
isLoading={isLoading}
/>
<Button

View File

@ -6,6 +6,7 @@ import Text from "@docspace/components/text";
import { parseAddresses } from "@docspace/components/utils/email";
import { getAccessOptions } from "../utils";
import { getUserRole } from "@docspace/common/utils";
import {
StyledEditInput,
@ -35,6 +36,7 @@ const Item = ({
const name = !!avatar ? (displayName !== "" ? displayName : email) : email;
const source = !!avatar ? avatar : AtReactSvgUrl;
const role = getUserRole(item);
const [edit, setEdit] = useState(false);
const [inputValue, setInputValue] = useState(name);
@ -168,7 +170,7 @@ const Item = ({
return (
<>
<Avatar size="min" role="user" source={source} />
<Avatar size="min" role={role} source={source} />
{edit ? editBody : displayBody}
</>
);

View File

@ -125,19 +125,6 @@ export const StyledInfo = styled.div`
height: 36px;
margin-top: 7px;
}
.language-combo-box {
.combo-button {
${(props) =>
props.theme.interfaceDirection === "rtl"
? css`
margin-right: -16px;
`
: css`
margin-left: -16px;
`}
}
}
}
}
}

View File

@ -191,7 +191,7 @@ class InfoPanelStore {
const currentFolderRoomId =
this.selectedFolderStore.pathParts &&
this.selectedFolderStore.pathParts[1].id;
this.selectedFolderStore.pathParts[1]?.id;
const prevRoomId = this.selectionParentRoom?.id;
if (!currentFolderRoomId || currentFolderRoomId === prevRoomId) return;