Merge branch 'release/v1.1.0' of https://github.com/ONLYOFFICE/DocSpace into release/v1.1.0
This commit is contained in:
commit
8a5679cd5d
@ -47,9 +47,7 @@ rpm -ivh https://dl.fedoraproject.org/pub/epel/epel-release-latest-$REV.noarch.r
|
||||
rpm -ivh https://rpms.remirepo.net/enterprise/remi-release-$REV.rpm || true
|
||||
yum localinstall -y --nogpgcheck https://download1.rpmfusion.org/free/el/rpmfusion-free-release-$REV.noarch.rpm
|
||||
|
||||
MONOREV=$REV
|
||||
if [ "$REV" = "9" ]; then
|
||||
MONOREV="8"
|
||||
[ $DIST != "redhat" ] && TESTING_REPO="--enablerepo=crb" || /usr/bin/crb enable
|
||||
update-crypto-policies --set DEFAULT:SHA1
|
||||
elif [ "$REV" = "8" ]; then
|
||||
@ -57,8 +55,8 @@ elif [ "$REV" = "8" ]; then
|
||||
fi
|
||||
|
||||
#add rabbitmq & erlang repo
|
||||
curl -s https://packagecloud.io/install/repositories/rabbitmq/rabbitmq-server/script.rpm.sh | os=centos dist=$MONOREV bash
|
||||
curl -s https://packagecloud.io/install/repositories/rabbitmq/erlang/script.rpm.sh | os=centos dist=$MONOREV bash
|
||||
curl -s https://packagecloud.io/install/repositories/rabbitmq/rabbitmq-server/script.rpm.sh | os=centos dist=$REV bash
|
||||
curl -s https://packagecloud.io/install/repositories/rabbitmq/erlang/script.rpm.sh | os=centos dist=$REV bash
|
||||
|
||||
#add nodejs repo
|
||||
curl -sL https://rpm.nodesource.com/setup_16.x | sed 's/centos|/'$DIST'|/g' | sudo bash - || true
|
||||
|
@ -104,6 +104,9 @@
|
||||
<ROW Path="<AI_DICTS>ui.ail"/>
|
||||
<ROW Path="<AI_DICTS>ui_en.ail"/>
|
||||
</COMPONENT>
|
||||
<COMPONENT cid="caphyon.advinst.msicomp.DigCertStoreComponent">
|
||||
<ROW TimeStampUrl="http://timestamp.comodoca.com" SignerDescription="[|ProductName]" SignOptions="0" SignTool="0" UseSha256="1"/>
|
||||
</COMPONENT>
|
||||
<COMPONENT cid="caphyon.advinst.msicomp.FragmentComponent">
|
||||
<ROW Fragment="CommonUI.aip" Path="<AI_FRAGS>CommonUI.aip"/>
|
||||
<ROW Fragment="FolderDlg.aip" Path="<AI_THEMES>classic\fragments\FolderDlg.aip"/>
|
||||
|
@ -74,6 +74,7 @@ const SelectFileDialogAsideView = ({
|
||||
isFolderTreeLoading={!!!resultingFolderTree}
|
||||
withFileSelectDialog
|
||||
maxInputWidth={maxInputWidth ? maxInputWidth : "446px"}
|
||||
embedded={embedded}
|
||||
/>
|
||||
|
||||
<Text color="#A3A9AE" className="selection-panel_aside-title">
|
||||
|
@ -308,6 +308,7 @@ SelectFileDialog.propTypes = {
|
||||
filteredType: PropTypes.oneOf([
|
||||
"exceptSortedByTags",
|
||||
"exceptPrivacyTrashArchiveFolders",
|
||||
"roomsOnly",
|
||||
]),
|
||||
id: PropTypes.oneOfType([PropTypes.string, PropTypes.number]),
|
||||
withoutProvider: PropTypes.bool,
|
||||
|
@ -43,6 +43,7 @@ class SelectFolderDialog extends React.Component {
|
||||
storeFolderId,
|
||||
withoutBasicSelection,
|
||||
setResultingFoldersTree,
|
||||
embedded,
|
||||
} = this.props;
|
||||
|
||||
!displayType && window.addEventListener("resize", this.throttledResize);
|
||||
@ -51,7 +52,7 @@ class SelectFolderDialog extends React.Component {
|
||||
|
||||
let resultingFolderTree, resultingId;
|
||||
|
||||
if (!withFileSelectDialog) {
|
||||
if (!withFileSelectDialog || embedded) {
|
||||
treeFolders = await this.props.fetchTreeFolders();
|
||||
|
||||
const roomsFolder = treeFolders.find(
|
||||
@ -68,7 +69,7 @@ class SelectFolderDialog extends React.Component {
|
||||
] = await SelectionPanel.getBasicFolderInfo(
|
||||
treeFolders,
|
||||
filteredType,
|
||||
initialFolderId,
|
||||
embedded ? null : initialFolderId,
|
||||
passedFoldersTree,
|
||||
hasSharedFolder
|
||||
);
|
||||
@ -91,7 +92,7 @@ class SelectFolderDialog extends React.Component {
|
||||
|
||||
const resId = withFileSelectDialog ? id : resultingId;
|
||||
|
||||
if (!withoutBasicSelection) {
|
||||
if (!withoutBasicSelection || embedded) {
|
||||
onSelectFolder && onSelectFolder(resId);
|
||||
onSetBaseFolderPath && onSetBaseFolderPath(resId);
|
||||
}
|
||||
@ -294,6 +295,7 @@ SelectFolderDialog.propTypes = {
|
||||
filteredType: PropTypes.oneOf([
|
||||
"exceptSortedByTags",
|
||||
"exceptPrivacyTrashArchiveFolders",
|
||||
"roomsOnly",
|
||||
"",
|
||||
]),
|
||||
displayType: PropTypes.oneOf(["aside", "modal"]),
|
||||
|
@ -185,6 +185,7 @@ SelectFolderInput.propTypes = {
|
||||
filteredType: PropTypes.oneOf([
|
||||
"exceptSortedByTags",
|
||||
"exceptPrivacyTrashArchiveFolders",
|
||||
"roomsOnly",
|
||||
"",
|
||||
]),
|
||||
};
|
||||
|
@ -13,3 +13,12 @@ export const exceptPrivacyTrashArchiveFolders = [
|
||||
FolderType.TRASH,
|
||||
FolderType.Archive,
|
||||
];
|
||||
|
||||
export const roomsOnly = [
|
||||
FolderType.USER,
|
||||
FolderType.Recent,
|
||||
FolderType.TRASH,
|
||||
FolderType.Favorites,
|
||||
FolderType.Privacy,
|
||||
FolderType.Archive,
|
||||
];
|
||||
|
@ -14,6 +14,7 @@ import toastr from "@docspace/components/toast/toastr";
|
||||
import {
|
||||
exceptSortedByTagsFolders,
|
||||
exceptPrivacyTrashArchiveFolders,
|
||||
roomsOnly,
|
||||
} from "./ExceptionFoldersConstants";
|
||||
import { StyledBody, StyledModalDialog } from "./StyledSelectionPanel";
|
||||
import Text from "@docspace/components/text";
|
||||
@ -198,6 +199,8 @@ class SelectionPanel extends React.Component {
|
||||
treeFolders,
|
||||
exceptPrivacyTrashArchiveFolders
|
||||
);
|
||||
case "roomsOnly":
|
||||
return filterFoldersTree(treeFolders, roomsOnly);
|
||||
}
|
||||
};
|
||||
|
||||
@ -206,15 +209,20 @@ class SelectionPanel extends React.Component {
|
||||
const foldersTree =
|
||||
passedFoldersTree.length > 0 ? passedFoldersTree : treeFolders;
|
||||
|
||||
const passedId = id ? id : foldersTree[0].id;
|
||||
|
||||
if (
|
||||
filteredType === "exceptSortedByTags" ||
|
||||
filteredType === "exceptPrivacyTrashArchiveFolders"
|
||||
filteredType === "exceptPrivacyTrashArchiveFolders" ||
|
||||
filteredType === "roomsOnly"
|
||||
) {
|
||||
filteredTreeFolders = getExceptionsFolders(foldersTree);
|
||||
}
|
||||
|
||||
const passedId = id
|
||||
? id
|
||||
: filteredTreeFolders
|
||||
? filteredTreeFolders[0].id
|
||||
: foldersTree[0].id;
|
||||
|
||||
return [filteredTreeFolders || foldersTree, passedId];
|
||||
};
|
||||
render() {
|
||||
|
@ -2,7 +2,7 @@ import React, { useState } from "react";
|
||||
import AtReactSvgUrl from "PUBLIC_DIR/images/@.react.svg?url";
|
||||
import { StyledUser } from "../../styles/members";
|
||||
import Avatar from "@docspace/components/avatar";
|
||||
import { ComboBox } from "@docspace/components";
|
||||
import ComboBox from "@docspace/components/combobox";
|
||||
import DefaultUserPhotoUrl from "PUBLIC_DIR/images/default_user_photo_size_82-82.png";
|
||||
import toastr from "@docspace/components/toast/toastr";
|
||||
import { isMobileOnly } from "react-device-detect";
|
||||
@ -20,7 +20,6 @@ const User = ({
|
||||
selectionParentRoom,
|
||||
setSelectionParentRoom,
|
||||
changeUserType,
|
||||
isScrollLocked,
|
||||
setIsScrollLocked,
|
||||
}) => {
|
||||
if (!selectionParentRoom) return null;
|
||||
@ -113,8 +112,8 @@ const User = ({
|
||||
}
|
||||
};
|
||||
|
||||
const onToggle = () => {
|
||||
setIsScrollLocked(!isScrollLocked);
|
||||
const onToggle = (e, isOpen) => {
|
||||
setIsScrollLocked(isOpen);
|
||||
};
|
||||
|
||||
const userAvatar = user.hasAvatar ? user.avatar : DefaultUserPhotoUrl;
|
||||
|
@ -28,7 +28,7 @@ const Members = ({
|
||||
|
||||
selectionParentRoom,
|
||||
setSelectionParentRoom,
|
||||
isScrollLocked,
|
||||
|
||||
setIsScrollLocked,
|
||||
|
||||
getRoomMembers,
|
||||
@ -184,7 +184,6 @@ const Members = ({
|
||||
selectionParentRoom={selectionParentRoom}
|
||||
setSelectionParentRoom={setSelectionParentRoom}
|
||||
changeUserType={changeUserType}
|
||||
isScrollLocked={isScrollLocked}
|
||||
setIsScrollLocked={setIsScrollLocked}
|
||||
/>
|
||||
))}
|
||||
@ -222,7 +221,6 @@ const Members = ({
|
||||
selectionParentRoom={selectionParentRoom}
|
||||
setSelectionParentRoom={setSelectionParentRoom}
|
||||
changeUserType={changeUserType}
|
||||
isScrollLocked={isScrollLocked}
|
||||
setIsScrollLocked={setIsScrollLocked}
|
||||
/>
|
||||
))}
|
||||
@ -250,7 +248,7 @@ export default inject(
|
||||
|
||||
updateRoomMembers,
|
||||
setUpdateRoomMembers,
|
||||
isScrollLocked,
|
||||
|
||||
setIsScrollLocked,
|
||||
} = auth.infoPanelStore;
|
||||
const {
|
||||
@ -273,7 +271,7 @@ export default inject(
|
||||
setIsMobileHidden,
|
||||
selectionParentRoom,
|
||||
setSelectionParentRoom,
|
||||
isScrollLocked,
|
||||
|
||||
setIsScrollLocked,
|
||||
|
||||
getRoomMembers,
|
||||
|
@ -64,7 +64,7 @@ const Sdk = ({
|
||||
{
|
||||
const requests = await Promise.all([
|
||||
setFrameConfig(data),
|
||||
updateProfileCulture(user?.id, data.locale),
|
||||
user && updateProfileCulture(user.id, data.locale),
|
||||
]);
|
||||
res = requests[0];
|
||||
}
|
||||
@ -145,10 +145,12 @@ const Sdk = ({
|
||||
isPanelVisible={true}
|
||||
onSelectFile={onSelectFile}
|
||||
onClose={onClose}
|
||||
filteredType="exceptPrivacyTrashArchiveFolders"
|
||||
filteredType="roomsOnly"
|
||||
withSubfolders={false}
|
||||
displayType="aside"
|
||||
embedded={true}
|
||||
searchParam={frameConfig?.filter.search}
|
||||
ByExtension
|
||||
/>
|
||||
);
|
||||
break;
|
||||
|
@ -798,11 +798,14 @@ class SettingsStore {
|
||||
setFrameConfig = async (frameConfig) => {
|
||||
runInAction(() => {
|
||||
this.frameConfig = frameConfig;
|
||||
this.setTheme(frameConfig?.theme);
|
||||
});
|
||||
|
||||
if (!!frameConfig) {
|
||||
frameCallEvent({ event: "onAppReady" });
|
||||
this.setTheme(frameConfig?.theme);
|
||||
frameCallEvent({
|
||||
event: "onAppReady",
|
||||
data: { frameId: frameConfig.frameId },
|
||||
});
|
||||
}
|
||||
return frameConfig;
|
||||
};
|
||||
|
Loading…
Reference in New Issue
Block a user