Merge branch 'release/rc-v1.2.0' of https://github.com/ONLYOFFICE/DocSpace into release/rc-v1.2.0
This commit is contained in:
commit
f44652f8c0
@ -4,6 +4,7 @@ import { useTranslation } from "react-i18next";
|
||||
import { EditRoomDialog } from "../dialogs";
|
||||
import { Encoder } from "@docspace/common/utils/encoder";
|
||||
import api from "@docspace/common/api";
|
||||
import { getRoomInfo } from "@docspace/common/api/rooms";
|
||||
|
||||
const EditRoomEvent = ({
|
||||
addActiveItems,
|
||||
@ -34,7 +35,11 @@ const EditRoomEvent = ({
|
||||
|
||||
withPaging,
|
||||
|
||||
reloadSelection,
|
||||
addDefaultLogoPaths,
|
||||
updateLogoPathsCacheBreaker,
|
||||
removeLogoPaths,
|
||||
|
||||
reloadInfoPanelSelection,
|
||||
}) => {
|
||||
const { t } = useTranslation(["CreateEditRoomDialog", "Common", "Files"]);
|
||||
|
||||
@ -110,34 +115,31 @@ const EditRoomEvent = ({
|
||||
...calculateRoomLogoParams(img, x, y, zoom),
|
||||
});
|
||||
|
||||
if (!withPaging) {
|
||||
setFolder(room);
|
||||
}
|
||||
|
||||
// to update state info panel
|
||||
reloadSelection();
|
||||
|
||||
if (!withPaging) setFolder(room);
|
||||
reloadInfoPanelSelection();
|
||||
URL.revokeObjectURL(img.src);
|
||||
|
||||
setActiveFolders([]);
|
||||
};
|
||||
img.src = url;
|
||||
});
|
||||
} else {
|
||||
if (!withPaging) {
|
||||
setFolder(room);
|
||||
}
|
||||
// to update state info panel
|
||||
reloadSelection();
|
||||
if (!withPaging) setFolder(room);
|
||||
reloadInfoPanelSelection();
|
||||
}
|
||||
} catch (err) {
|
||||
console.log(err);
|
||||
} finally {
|
||||
if (withPaging) {
|
||||
await updateCurrentFolder(null, currentFolderId);
|
||||
}
|
||||
setIsLoading(false);
|
||||
if (withPaging) await updateCurrentFolder(null, currentFolderId);
|
||||
|
||||
if (item.logo.original && !roomParams.icon.uploadedFile) {
|
||||
removeLogoPaths();
|
||||
reloadInfoPanelSelection();
|
||||
} else if (!item.logo.original && roomParams.icon.uploadedFile)
|
||||
addDefaultLogoPaths();
|
||||
else if (item.logo.original && roomParams.icon.uploadedFile)
|
||||
updateLogoPathsCacheBreaker();
|
||||
|
||||
setIsLoading(false);
|
||||
onClose();
|
||||
}
|
||||
};
|
||||
@ -147,7 +149,6 @@ const EditRoomEvent = ({
|
||||
|
||||
if (logo) {
|
||||
const imgExst = logo.slice(".")[1];
|
||||
|
||||
const file = await fetch(logo)
|
||||
.then((res) => res.arrayBuffer())
|
||||
.then(
|
||||
@ -167,7 +168,6 @@ const EditRoomEvent = ({
|
||||
|
||||
useEffect(() => {
|
||||
setCreateRoomDialogVisible(true);
|
||||
|
||||
return () => setCreateRoomDialogVisible(false);
|
||||
}, []);
|
||||
|
||||
@ -209,12 +209,17 @@ export default inject(
|
||||
} = filesStore;
|
||||
|
||||
const { createTag, fetchTags } = tagsStore;
|
||||
const { id: currentFolderId } = selectedFolderStore;
|
||||
const {
|
||||
id: currentFolderId,
|
||||
addDefaultLogoPaths,
|
||||
removeLogoPaths,
|
||||
updateLogoPathsCacheBreaker,
|
||||
} = selectedFolderStore;
|
||||
const { updateCurrentFolder } = filesActionsStore;
|
||||
const { getThirdPartyIcon } = settingsStore.thirdPartyStore;
|
||||
const { setCreateRoomDialogVisible } = dialogsStore;
|
||||
const { withPaging } = auth.settingsStore;
|
||||
const { reloadSelection } = auth.infoPanelStore;
|
||||
const { reloadSelection: reloadInfoPanelSelection } = auth.infoPanelStore;
|
||||
return {
|
||||
addActiveItems,
|
||||
setActiveFolders,
|
||||
@ -240,7 +245,11 @@ export default inject(
|
||||
withPaging,
|
||||
setCreateRoomDialogVisible,
|
||||
|
||||
reloadSelection,
|
||||
addDefaultLogoPaths,
|
||||
updateLogoPathsCacheBreaker,
|
||||
removeLogoPaths,
|
||||
|
||||
reloadInfoPanelSelection,
|
||||
};
|
||||
}
|
||||
)(observer(EditRoomEvent));
|
||||
|
@ -74,6 +74,38 @@ class SelectedFolderStore {
|
||||
this.parentId = parentId;
|
||||
};
|
||||
|
||||
addDefaultLogoPaths = () => {
|
||||
const cachebreaker = new Date().getTime();
|
||||
this.logo = {
|
||||
small: `/storage/room_logos/root/${this.id}_small.png?` + cachebreaker,
|
||||
medium: `/storage/room_logos/root/${this.id}_medium.png?` + cachebreaker,
|
||||
large: `/storage/room_logos/root/${this.id}_large.png?` + cachebreaker,
|
||||
original:
|
||||
`/storage/room_logos/root/${this.id}_original.png?` + cachebreaker,
|
||||
};
|
||||
};
|
||||
|
||||
removeLogoPaths = () => {
|
||||
this.logo = {
|
||||
small: "",
|
||||
medium: "",
|
||||
large: "",
|
||||
original: "",
|
||||
};
|
||||
};
|
||||
|
||||
updateLogoPathsCacheBreaker = () => {
|
||||
if (!this.logo.original) return;
|
||||
|
||||
const cachebreaker = new Date().getTime();
|
||||
this.logo = {
|
||||
small: this.logo.small.split("?")[0] + "?" + cachebreaker,
|
||||
medium: this.logo.medium.split("?")[0] + "?" + cachebreaker,
|
||||
large: this.logo.large.split("?")[0] + "?" + cachebreaker,
|
||||
original: this.logo.original.split("?")[0] + "?" + cachebreaker,
|
||||
};
|
||||
};
|
||||
|
||||
setSelectedFolder = (selectedFolder) => {
|
||||
const { socketHelper } = this.settingsStore;
|
||||
|
||||
|
@ -143,6 +143,19 @@ class InfoPanelStore {
|
||||
this.setSelection(this.calculateSelection());
|
||||
};
|
||||
|
||||
updateRoomLogoCacheBreaker = () => {
|
||||
const logo = this.selection.logo;
|
||||
this.setSelection({
|
||||
...this.selection,
|
||||
logo: {
|
||||
small: logo.small.split("?")[0] + "?" + new Date().getTime(),
|
||||
medium: logo.medium.split("?")[0] + "?" + new Date().getTime(),
|
||||
large: logo.large.split("?")[0] + "?" + new Date().getTime(),
|
||||
original: logo.original.split("?")[0] + "?" + new Date().getTime(),
|
||||
},
|
||||
});
|
||||
};
|
||||
|
||||
reloadSelectionParentRoom = async () => {
|
||||
if (!this.getIsRooms) return;
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user