Web: remove logoHandlers

This commit is contained in:
Timofey Boyko 2022-12-15 18:41:19 +03:00
parent fd00fb18bb
commit 30692753bf
10 changed files with 37 additions and 243 deletions

View File

@ -32,7 +32,6 @@ const EditRoomEvent = ({
withPaging,
reloadSelection,
getRoomLogo,
}) => {
const { t } = useTranslation(["CreateEditRoomDialog", "Common", "Files"]);
@ -107,12 +106,6 @@ const EditRoomEvent = ({
});
if (!withPaging) {
const newLogo = await getRoomLogo(room.logo);
room.logoHandlers = room.logo;
room.logo = newLogo;
room.isLogoLoading = false;
setFolder(room);
}
@ -125,12 +118,6 @@ const EditRoomEvent = ({
});
} else {
if (!withPaging) {
const newLogo = await getRoomLogo(room.logo);
room.logoHandlers = room.logo;
room.logo = newLogo;
room.isLogoLoading = false;
setFolder(room);
}
// to update state info panel
@ -149,9 +136,7 @@ const EditRoomEvent = ({
};
useEffect(async () => {
const logo = item?.logo?.original
? item.logo.original
: await api.rooms.getLogoIcon(item?.logoHandlers?.original);
const logo = item?.logo?.original ? item.logo.original : "";
if (logo) {
const imgExst = logo.slice(".")[1];
@ -212,7 +197,6 @@ export default inject(
setFolder,
addLogoToRoom,
removeLogoFromRoom,
getRoomLogo,
} = filesStore;
const { createTag, fetchTags } = tagsStore;
@ -226,7 +210,6 @@ export default inject(
editRoom,
addTagsToRoom,
removeTagsFromRoom,
getRoomLogo,
createTag,
fetchTags,

View File

@ -30,10 +30,7 @@ const FilesItemTitle = ({
</StyledTitle>
);
const icon =
selection?.isRoom && selection?.logo?.medium
? selection.logo.medium
: selection.icon;
const icon = selection.icon;
return (
<StyledTitle ref={itemTitleRef}>

View File

@ -22,7 +22,6 @@ const Details = ({
isVisitor,
}) => {
const [itemProperties, setItemProperties] = useState([]);
const [largeLogoIcon, setLargeLogoIcon] = useState("");
const [isThumbnailError, setIsThumbmailError] = useState(false);
const onThumbnailError = () => setIsThumbmailError(true);
@ -39,24 +38,9 @@ const Details = ({
culture,
});
const getLargeRoomLogo = React.useCallback(
async (url) => {
if (selection?.logo?.large) return setLargeLogoIcon(selection.logo.large);
const icon = await api.rooms.getLogoIcon(url);
setLargeLogoIcon(icon);
},
[selection?.logo?.large]
);
useEffect(async () => {
setItemProperties(detailsHelper.getPropertyList());
if ((selection?.isRoom || selection?.roomType) && !selection.isArchive) {
getLargeRoomLogo(selection?.logoHandlers?.large);
}
if (
!selection.isFolder &&
selection.thumbnailStatus === 0 &&
@ -67,11 +51,13 @@ const Details = ({
) {
await createThumbnail(selection.id);
}
}, [selection, getLargeRoomLogo]);
}, [selection]);
const currentIcon = largeLogoIcon
? largeLogoIcon
: getInfoPanelItemIcon(selection, 96);
console.log(selection);
const currentIcon =
!selection.isArchive && selection?.logo?.large
? selection?.logo?.large
: getInfoPanelItemIcon(selection, 96);
return (
<>
@ -89,7 +75,10 @@ const Details = ({
<StyledNoThumbnail>
<img
className={`no-thumbnail-img ${selection.isRoom && "is-room"} ${
selection.isRoom && selection.logo?.large && "custom-logo"
selection.isRoom &&
!selection.isArchive &&
selection.logo?.large &&
"custom-logo"
}`}
src={currentIcon}
alt="thumbnail-icon-big"

View File

@ -231,7 +231,7 @@ const SimpleFilesRow = (props) => {
const element = (
<ItemIcon
id={item.id}
icon={item.isRoom && item.logo.medium ? item.logo.medium : item.icon}
icon={item.icon}
fileExst={item.fileExst}
isRoom={item.isRoom}
/>

View File

@ -324,7 +324,7 @@ const FilesTableRow = (props) => {
const element = (
<ItemIcon
id={item.id}
icon={item.isRoom && item.logo.medium ? item.logo.medium : item.icon}
icon={item.icon}
fileExst={item.fileExst}
isRoom={item.isRoom}
/>

View File

@ -68,7 +68,7 @@ const FileTile = (props) => {
const element = (
<ItemIcon
id={item.id}
icon={item.isRoom && item.logo.medium ? item.logo.medium : item.icon}
icon={item.icon}
fileExst={item.fileExst}
isRoom={item.isRoom}
/>

View File

@ -1040,8 +1040,6 @@ class FilesStore {
this.setCreatedItem(null);
}
this.updateRoomLoadingLogo();
return Promise.resolve(selectedFolder);
})
.catch((err) => {
@ -2016,48 +2014,6 @@ class FilesStore {
return folderUrl;
};
getRoomLogo = async (logoHandlers) => {
const newLogos = {};
for (let key in logoHandlers) {
let icon = "";
if (key === "medium") {
icon = await api.rooms.getLogoIcon(logoHandlers[key]);
// check for null
icon = icon ? icon : "";
}
newLogos[key] = icon;
}
return newLogos;
};
updateRoomLoadingLogo = async () => {
const newRooms = await Promise.all(
this.folders.map(async (f) => {
const newRoom = JSON.parse(JSON.stringify(f));
if (!newRoom.isLogoLoading) return newRoom;
newRoom.isLogoLoading = false;
newRoom.logo = await this.getRoomLogo(newRoom.logoHandlers);
return newRoom;
})
);
if (
(this.treeFoldersStore.isRoomsFolder ||
this.treeFoldersStore.isArchiveFolder) &&
this.selectedFolderStore.navigationPath.length === 0
) {
this.setFolders(newRooms);
}
};
get filesList() {
const { getIcon } = this.filesSettingsStore;
//return [...this.folders, ...this.files];
@ -2088,8 +2044,6 @@ class FilesStore {
foldersCount,
id,
logo,
logoHandlers,
isLogoLoading,
locked,
parentId,
pureContentLength,
@ -2139,14 +2093,6 @@ class FilesStore {
const isThirdPartyFolder = providerKey && id === rootFolderId;
const iconSize = this.viewAs === "table" ? 24 : 32;
const icon = getIcon(
iconSize,
fileExst,
providerKey,
contentLength,
roomType,
isArchive
);
let isFolder = false;
this.folders.map((x) => {
@ -2177,6 +2123,18 @@ class FilesStore {
const isRoom = !!roomType;
const icon =
isRoom && !isArchive && logo?.medium
? logo?.medium
: getIcon(
iconSize,
fileExst,
providerKey,
contentLength,
roomType,
isArchive
);
return {
access,
//checked,
@ -2195,9 +2153,8 @@ class FilesStore {
icon,
id,
isFolder,
isLogoLoading,
logo,
logoHandlers,
locked,
new: item.new,
parentId,
@ -2835,8 +2792,6 @@ class FilesStore {
this.setFolders([...this.folders, ...newFiles.folders]);
this.setFilesIsLoading(false);
});
if (isRooms) this.updateRoomLoadingLogo();
};
//Duplicate of countTilesInRow, used to update the number of tiles in a row after the window is resized.

View File

@ -24,8 +24,8 @@ class SelectedFolderStore {
roomType = null;
pinned = null;
isRoom = null;
isArchive = null;
logo = null;
logoHandlers = null;
tags = null;
rootFolderId = null;
settingsStore = null;

View File

@ -5,7 +5,7 @@ import { FolderType, RoomSearchArea } from "../../constants";
import find from "lodash/find";
import { getFolderOptions, decodeDisplayName } from "../../utils";
import { Encoder } from "../../utils/encoder";
import { getLogoIcon, getRooms } from "../rooms";
import { getRooms } from "../rooms";
import RoomsFilter from "../rooms/filter";
export function openEdit(fileId, version, doc, view) {
@ -39,45 +39,7 @@ export function getFolderInfo(folderId) {
url: `/files/folder/${folderId}`,
};
return request(options).then((res) => {
if (res.roomType) {
return new Promise((resolve, reject) => {
if (res.rootFolderType === FolderType.Archive) {
res.isLogoLoading = false;
for (let key in room.logo) {
room.logo[key] = "";
}
return resolve(res);
}
res.isLogoLoading = false;
res.logoHandlers = res.logo;
const newLogos = {};
const actions = [];
const getLogo = async (key) => {
const logo = await getLogoIcon(res.logo[key]);
newLogos[key] = logo;
};
for (let key in res.logo) {
actions.push(getLogo(key));
}
return Promise.all(actions).then(() => {
res.logo = newLogos;
resolve(res);
});
});
}
return res;
});
return request(options);
}
export function getFolderPath(folderId) {
@ -95,40 +57,9 @@ export function getFolder(folderId, filter) {
res.files = decodeDisplayName(res.files);
res.folders = decodeDisplayName(res.folders);
const { current } = res;
if (current.roomType) {
res.current.isLogoLoading = false;
res.current.logoHandlers = current.logo;
if (current.rootFolderType === FolderType.Rooms) {
return new Promise((resolve, reject) => {
const actions = [];
const newLogos = {};
const getLogo = async (key) => {
const logo = await getLogoIcon(current.logo[key]);
newLogos[key] = logo;
};
for (let key in current.logo) {
actions.push(getLogo(key));
}
return Promise.all(actions).then(() => {
res.current.logo = newLogos;
resolve(res);
});
});
} else {
for (let key in res.current.logo) {
res.current.logo[key] = "";
}
}
}
res.current.isArchive =
!!res.current.roomType &&
res.current.rootFolderType === FolderType.Archive;
return res;
});

View File

@ -15,23 +15,6 @@ export function getRooms(filter) {
if (res.current.rootFolderType === FolderType.Archive) {
res.folders.forEach((room) => {
room.isArchive = true;
room.isLogoLoading = false;
for (let key in room.logo) {
room.logo[key] = "";
}
});
} else {
res.folders.forEach((f, index) => {
res.folders[index].isLogoLoading = true;
res.folders[index].logoHandlers = f.logo;
const newLogos = {};
for (let key in f.logo) {
newLogos[key] = "";
}
res.folders[index].logo = newLogos;
});
}
@ -39,60 +22,16 @@ export function getRooms(filter) {
});
}
export function getLogoIcon(url) {
if (!url) return "";
const options = {
// baseURL: combineUrl(AppServerConfig.proxyURL, config.homepage),
method: "get",
url: `/products/files/httphandlers${url}`,
responseType: "text",
};
return request(options);
}
export function getRoomInfo(id) {
const options = {
method: "get",
url: `/files/rooms/${id}`,
};
return request(options).then(async (res) => {
return new Promise((resolve, reject) => {
if (res.rootFolderType === FolderType.Archive) {
res.isLogoLoading = false;
res.isArchive = true;
for (let key in res.logo) {
res.logo[key] = "";
}
return request(options).then((res) => {
if (res.rootFolderType === FolderType.Archive) res.isArchive = true;
return resolve(res);
}
res.isLogoLoading = false;
res.logoHandlers = res.logo;
const newLogos = {};
const actions = [];
const getLogo = async (key) => {
const logo = await getLogoIcon(res.logo[key]);
newLogos[key] = logo;
};
for (let key in res.logo) {
actions.push(getLogo(key));
}
return Promise.all(actions).then(() => {
res.logo = newLogos;
resolve(res);
});
});
return res;
});
}