Merge branch 'hotfix/v2.0.2' into develop

# Conflicts:
#	packages/components/selector/sub-components/Item/Item.types.ts
#	packages/shared/package.json
#	packages/shared/selectors/Room/index.tsx
This commit is contained in:
Alexey Safronov 2024-01-25 16:32:37 +04:00
commit b86924c936
13 changed files with 78 additions and 49 deletions

View File

@ -1,6 +1,6 @@
{
"name": "docspace",
"version": "2.0.1",
"version": "2.0.2",
"private": true,
"workspaces": {
"packages": [

View File

@ -1,6 +1,6 @@
{
"name": "@docspace/client",
"version": "2.0.1",
"version": "2.0.2",
"private": true,
"homepage": "",
"scripts": {

View File

@ -29,6 +29,7 @@ export type Item = {
security: Security;
roomType: number;
fileExst?: string;
shared: boolean;
};
export type BreadCrumb = {

View File

@ -226,6 +226,7 @@ const FilesSelector = ({
isRoom:
item.parentId === 0 && item.rootFolderType === FolderType.Rooms,
roomType: item.roomType,
shared: item.shared,
},
]);
setSelectedItemId(item.id);
@ -365,7 +366,7 @@ const FilesSelector = ({
onCloseAction();
};
const onSearchAction = (value: string) => {
const onSearchAction = (value: string, callback?: Function) => {
setIsFirstLoad(true);
setItems(null);
if (selectedItemType === "rooms") {
@ -375,9 +376,10 @@ const FilesSelector = ({
}
setSearchValue(value);
callback?.();
};
const onClearSearchAction = () => {
const onClearSearchAction = (callback?: Function) => {
setIsFirstLoad(true);
setItems(null);
if (selectedItemType === "rooms") {
@ -387,6 +389,7 @@ const FilesSelector = ({
}
setSearchValue("");
callback?.();
};
const onAcceptAction = (

View File

@ -242,8 +242,6 @@ class FilesTableHeader extends React.Component {
!splitColumns ||
isFrame;
const tableColumns = columns.map((c) => c.enable && c.key);
if (isFrame && frameTableColumns) {
const frameTableArray = frameTableColumns.split(",");
@ -253,6 +251,8 @@ class FilesTableHeader extends React.Component {
});
}
const tableColumns = columns.map((c) => c.enable && c.key);
this.setTableColumns(tableColumns);
if (fromUpdate) {
this.setState({

View File

@ -27,7 +27,7 @@ const Sdk = ({
user,
updateProfileCulture,
getRoomsIcon,
getPrimaryLink,
fetchExternalLinks,
}) => {
useEffect(() => {
window.addEventListener("message", handleMessage, false);
@ -128,9 +128,23 @@ const Sdk = ({
data[0].icon = await getRoomsIcon(data[0].roomType, false, 32);
}
if (data[0].roomType === RoomsType.PublicRoom) {
const { sharedTo } = await getPrimaryLink(data[0].id);
data[0].requestToken = sharedTo?.requestToken;
if (
data[0].roomType === RoomsType.PublicRoom ||
(data[0].roomType === RoomsType.CustomRoom && data[0].shared)
) {
const links = await fetchExternalLinks(data[0].id);
const requestTokens = links.map((link) => {
const { id, title, requestToken } = link.sharedTo;
return {
id,
title,
requestToken,
};
});
data[0].requestTokens = requestTokens;
}
frameCallEvent({ event: "onSelectCallback", data });
@ -193,28 +207,30 @@ const Sdk = ({
return component;
};
export default inject(({ auth, settingsStore, peopleStore, filesStore }) => {
const { login, logout, userStore } = auth;
const { theme, setFrameConfig, frameConfig, getSettings, isLoaded } =
auth.settingsStore;
const { loadCurrentUser, user } = userStore;
const { updateProfileCulture } = peopleStore.targetUserStore;
const { getIcon, getRoomsIcon } = settingsStore;
const { getPrimaryLink } = filesStore;
export default inject(
({ auth, settingsStore, peopleStore, publicRoomStore }) => {
const { login, logout, userStore } = auth;
const { theme, setFrameConfig, frameConfig, getSettings, isLoaded } =
auth.settingsStore;
const { loadCurrentUser, user } = userStore;
const { updateProfileCulture } = peopleStore.targetUserStore;
const { getIcon, getRoomsIcon } = settingsStore;
const { fetchExternalLinks } = publicRoomStore;
return {
theme,
setFrameConfig,
frameConfig,
login,
logout,
getSettings,
loadCurrentUser,
getIcon,
getRoomsIcon,
isLoaded,
updateProfileCulture,
user,
getPrimaryLink,
};
})(observer(Sdk));
return {
theme,
setFrameConfig,
frameConfig,
login,
logout,
getSettings,
loadCurrentUser,
getIcon,
getRoomsIcon,
isLoaded,
updateProfileCulture,
user,
fetchExternalLinks,
};
}
)(observer(Sdk));

View File

@ -1,6 +1,6 @@
{
"name": "@docspace/common",
"version": "2.0.1",
"version": "2.0.2",
"private": true,
"scripts": {
"build": "echo 'skip it'",

View File

@ -1,6 +1,6 @@
{
"name": "@docspace/editor",
"version": "2.0.1",
"version": "2.0.2",
"private": true,
"homepage": "/doceditor",
"scripts": {

View File

@ -1,6 +1,6 @@
{
"name": "@docspace/login",
"version": "2.0.1",
"version": "2.0.2",
"private": true,
"homepage": "/login",
"scripts": {

View File

@ -176,6 +176,7 @@ export type TSelectorItem = {
color?: string;
fileExst?: string;
roomType?: RoomsType;
shared: boolean;
};
export interface SearchProps {
@ -241,3 +242,4 @@ export interface BreadCrumbsProps {
onSelectBreadCrumb?: (item: TBreadCrumb) => void;
isLoading?: boolean;
}

View File

@ -1,6 +1,6 @@
{
"name": "@docspace/shared",
"version": "2.0.0",
"version": "2.0.2",
"private": true,
"scripts": {
"build": "echo 'skip it'",
@ -169,3 +169,4 @@
"react-dom": "^18.2.0"
}
}

View File

@ -2,13 +2,14 @@ import { TRoom } from "../../api/rooms/types";
export const convertToItems = (folders: TRoom[]) => {
const items = folders.map((folder) => {
const { id, title, roomType, logo } = folder;
const { id, title, roomType, logo, shared } = folder;
const icon = logo.medium;
const color = logo.color;
return { id, label: title, icon, color, roomType };
return { id, label: title, icon, color, roomType, shared };
});
return items;
};

View File

@ -69,25 +69,30 @@ const RoomSelector = ({
const [items, setItems] = React.useState<TSelectorItem[]>([]);
const onSearchAction = React.useCallback(
(value: string) => {
(value: string, callback: () => void) => {
onSearch?.(value);
setSearchValue(() => {
setIsFirstLoad(true);
return value;
});
callback?.();
},
[onSearch],
);
const onClearSearchAction = React.useCallback(() => {
onClearSearch?.();
setSearchValue(() => {
setIsFirstLoad(true);
const onClearSearchAction = React.useCallback(
(callback: () => void) => {
onClearSearch?.();
setSearchValue(() => {
setIsFirstLoad(true);
return "";
});
}, [onClearSearch]);
return "";
});
callback?.();
},
[onClearSearch],
);
const onLoadNextPage = React.useCallback(
async (startIndex: number) => {
@ -134,7 +139,7 @@ const RoomSelector = ({
React.useEffect(() => {
onLoadNextPage(0);
}, []);
}, [onLoadNextPage]);
return (
<Selector