Refactoring of private room mock

This commit is contained in:
Vladislav Makhov 2020-10-26 16:22:47 +03:00
parent e5c5f9194d
commit 6ba6ba2e64
2 changed files with 16 additions and 11 deletions

View File

@ -87,6 +87,7 @@ import {
getIsFavoritesFolder, getIsFavoritesFolder,
getMyFolderId, getMyFolderId,
getTooltipLabel, getTooltipLabel,
getIsPrivacyFolder,
} from "../../../../../store/files/selectors"; } from "../../../../../store/files/selectors";
import { SharingPanel, OperationsPanel } from "../../../../panels"; import { SharingPanel, OperationsPanel } from "../../../../panels";
const { isAdmin, getSettings, getCurrentUser } = store.auth.selectors; const { isAdmin, getSettings, getCurrentUser } = store.auth.selectors;
@ -143,8 +144,6 @@ const SimpleFilesRow = styled(Row)`
} }
`; `;
const PrivateRoomDescriptionList = styled(Box)``;
class SectionBodyContent extends React.Component { class SectionBodyContent extends React.Component {
constructor(props) { constructor(props) {
super(props); super(props);
@ -783,8 +782,8 @@ class SectionBodyContent extends React.Component {
isRecycleBin, isRecycleBin,
isFavorites, isFavorites,
isRecent, isRecent,
isPrivacy,
title, title,
isEncryptionSupport,
t, t,
i18n i18n
} = this.props; } = this.props;
@ -810,7 +809,7 @@ class SectionBodyContent extends React.Component {
{ {
privateRoomDescTranslations privateRoomDescTranslations
.map(el => ( .map(el => (
<Box displayProp="flex" alignItems="center" paddingProp="0 0 13px 0"> <Box displayProp="flex" alignItems="center" paddingProp="0 0 13px 0" key={el}>
<Box paddingProp="0 7px 0 0"> <Box paddingProp="0 7px 0 0">
{privacyIcon} {privacyIcon}
</Box> </Box>
@ -938,7 +937,7 @@ class SectionBodyContent extends React.Component {
imageSrc="images/empty_screen_recent.png" imageSrc="images/empty_screen_recent.png"
/> />
); );
} else if (isEncryptionSupport) { } else if (isPrivacy) {
return ( return (
<EmptyFolderContainer <EmptyFolderContainer
headerText={privateRoomHeader} headerText={privateRoomHeader}
@ -1407,6 +1406,8 @@ class SectionBodyContent extends React.Component {
isLoading, isLoading,
currentFolderCount, currentFolderCount,
isRecycleBin, isRecycleBin,
isPrivacy,
isEncryptionSupport,
dragging, dragging,
mediaViewerVisible, mediaViewerVisible,
currentMediaFileId, currentMediaFileId,
@ -1456,7 +1457,7 @@ class SectionBodyContent extends React.Component {
}); });
} }
return !fileAction.id && currentFolderCount === 0 ? ( return (!fileAction.id && currentFolderCount === 0) || (null) ? (
parentId === 0 ? ( parentId === 0 ? (
this.renderEmptyRootFolderContainer() this.renderEmptyRootFolderContainer()
) : ( ) : (
@ -1465,7 +1466,7 @@ class SectionBodyContent extends React.Component {
) : !fileAction.id && items.length === 0 ? ( ) : !fileAction.id && items.length === 0 ? (
firstLoad ? ( firstLoad ? (
<Loaders.Rows /> <Loaders.Rows />
) : ( ) : isPrivacy && !isEncryptionSupport ? this.renderEmptyRootFolderContainer() : (
this.renderEmptyFilterContainer() this.renderEmptyFilterContainer()
) )
) : ( ) : (
@ -1702,6 +1703,7 @@ const mapStateToProps = (state) => {
isRecycleBin: getIsRecycleBinFolder(state), isRecycleBin: getIsRecycleBinFolder(state),
isRecent: getIsRecentFolder(state), isRecent: getIsRecentFolder(state),
isShare: getIsShareFolder(state), isShare: getIsShareFolder(state),
isPrivacy: getIsPrivacyFolder(state),
mediaViewerImageFormats: getMediaViewerImageFormats(state), mediaViewerImageFormats: getMediaViewerImageFormats(state),
mediaViewerMediaFormats: getMediaViewerMediaFormats(state), mediaViewerMediaFormats: getMediaViewerMediaFormats(state),
mediaViewerVisible: getMediaViewerVisibility(state), mediaViewerVisible: getMediaViewerVisibility(state),

View File

@ -1,4 +1,4 @@
import { api, history, toastr } from "asc-web-common"; import { api, history, constants, toastr } from "asc-web-common";
import axios from "axios"; import axios from "axios";
import queryString from "query-string"; import queryString from "query-string";
import { import {
@ -27,6 +27,7 @@ import {
} from "./selectors"; } from "./selectors";
const { files, FilesFilter } = api; const { files, FilesFilter } = api;
const { FolderType } = constants;
export const SET_FOLDER = "SET_FOLDER"; export const SET_FOLDER = "SET_FOLDER";
export const SET_FOLDERS = "SET_FOLDERS"; export const SET_FOLDERS = "SET_FOLDERS";
@ -302,15 +303,17 @@ export function setFilterUrl(filter) {
// TODO: similar to fetchFolder, remove one // TODO: similar to fetchFolder, remove one
export function fetchFiles(folderId, filter) { export function fetchFiles(folderId, filter) {
return (dispatch) => { return (dispatch, getState) => {
const isEncryptionSupport = getState().auth.settings.isEncryptionSupport;
const filterData = filter ? filter.clone() : FilesFilter.getDefault(); const filterData = filter ? filter.clone() : FilesFilter.getDefault();
filterData.folder = folderId; filterData.folder = folderId;
return files.getFolder(folderId, filter).then((data) => { return files.getFolder(folderId, filter).then((data) => {
const isPrivacyFolder = data.current.rootFolderType === FolderType.Privacy;
filterData.treeFolders = createTreeFolders(data.pathParts, filterData); filterData.treeFolders = createTreeFolders(data.pathParts, filterData);
filterData.total = data.total; filterData.total = data.total;
dispatch(setFilesFilter(filterData)); dispatch(setFilesFilter(filterData));
dispatch(setFolders(data.folders)); dispatch(setFolders(isPrivacyFolder && !isEncryptionSupport ? [] : data.folders));
dispatch(setFiles(data.files)); dispatch(setFiles(isPrivacyFolder && !isEncryptionSupport ? [] : data.files));
dispatch(setSelected("close")); dispatch(setSelected("close"));
return dispatch( return dispatch(
setSelectedFolder({ setSelectedFolder({