Web: Files : Home : Fixed mapStateToProps with new selectors

This commit is contained in:
Ilya Oleshko 2020-10-02 17:36:47 +03:00
parent adfb3ccc4f
commit 80066c1877
2 changed files with 67 additions and 24 deletions

View File

@ -7,7 +7,25 @@ import styled from "styled-components";
import { RowContent, Link, Text, Icons, IconButton, Badge } from "asc-web-components"; import { RowContent, Link, Text, Icons, IconButton, Badge } from "asc-web-components";
import { constants, api, toastr } from 'asc-web-common'; import { constants, api, toastr } from 'asc-web-common';
import { createFile, createFolder, renameFolder, updateFile, fetchFiles, setTreeFolders, setProgressBarData, clearProgressData, setNewTreeFilesBadge, setNewRowItems, setIsLoading } from '../../../../../store/files/actions'; import { createFile, createFolder, renameFolder, updateFile, fetchFiles, setTreeFolders, setProgressBarData, clearProgressData, setNewTreeFilesBadge, setNewRowItems, setIsLoading } from '../../../../../store/files/actions';
import { canWebEdit, isImage, isSound, isVideo, canConvert, getTitleWithoutExst } from '../../../../../store/files/selectors'; import {
canConvert,
canWebEdit,
getDragging,
getFileAction,
getFilter,
getFolders,
getIsLoading,
getNewRowItems,
getSelectedFolder,
getSelectedFolderNew,
getSelectedFolderParentId,
getSettings,
getTitleWithoutExst,
getTreeFolders,
isImage,
isSound,
isVideo,
} from '../../../../../store/files/selectors';
import { NewFilesPanel } from "../../../../panels"; import { NewFilesPanel } from "../../../../panels";
import { ConvertDialog } from "../../../../dialogs"; import { ConvertDialog } from "../../../../dialogs";
import EditingWrapperComponent from "./EditingWrapperComponent"; import EditingWrapperComponent from "./EditingWrapperComponent";
@ -515,25 +533,27 @@ class FilesRowContent extends React.PureComponent {
}; };
function mapStateToProps(state) { function mapStateToProps(state) {
const { filter, fileAction, selectedFolder, treeFolders, folders, newRowItems, dragging, isLoading } = state.files; const selectedFolder = getSelectedFolder(state);
const { settings } = state.auth; const treeFolders = getTreeFolders(state);
const indexOfTrash = 3; const indexOfTrash = 3;
const isTrashFolder = treeFolders.length && treeFolders[indexOfTrash].id === selectedFolder.id
const rootFolderId = selectedFolder.pathParts && selectedFolder.pathParts[0]; const rootFolderId = selectedFolder.pathParts && selectedFolder.pathParts[0];
return { return {
filter, filter: getFilter(state),
fileAction, fileAction: getFileAction(state),
parentFolder: selectedFolder.id, parentFolder: getSelectedFolderParentId(state),
isTrashFolder: treeFolders.length && treeFolders[indexOfTrash].id === selectedFolder.id, isTrashFolder,
settings, settings: getSettings(state),
treeFolders, treeFolders,
rootFolderId, rootFolderId,
newItems: selectedFolder.new, newItems: getSelectedFolderNew(state),
selectedFolder, selectedFolder,
folders, folders: getFolders(state),
newRowItems, newRowItems: getNewRowItems(state),
dragging, dragging: getDragging(state),
isLoading isLoading: getIsLoading(state)
} }
} }

View File

@ -7,7 +7,24 @@ import styled from "styled-components";
import { Link, Text, Icons, Badge } from "asc-web-components"; import { Link, Text, Icons, Badge } from "asc-web-components";
import { constants, api, toastr } from 'asc-web-common'; import { constants, api, toastr } from 'asc-web-common';
import { createFile, createFolder, renameFolder, updateFile, fetchFiles, setTreeFolders, setIsLoading } from '../../../../../store/files/actions'; import { createFile, createFolder, renameFolder, updateFile, fetchFiles, setTreeFolders, setIsLoading } from '../../../../../store/files/actions';
import { canWebEdit, isImage, isSound, isVideo, getTitleWithoutExst } from '../../../../../store/files/selectors'; import {
canWebEdit,
getDragging,
getFileAction,
getFilter,
getFolders,
getIsLoading,
getNewRowItems,
getSelectedFolder,
getSelectedFolderNew,
getSelectedFolderParentId,
getSettings,
getTitleWithoutExst,
getTreeFolders,
isImage,
isSound,
isVideo,
} from '../../../../../store/files/selectors';
import { NewFilesPanel } from "../../../../panels"; import { NewFilesPanel } from "../../../../panels";
import EditingWrapperComponent from "./EditingWrapperComponent"; import EditingWrapperComponent from "./EditingWrapperComponent";
import TileContent from './TileContent'; import TileContent from './TileContent';
@ -367,21 +384,27 @@ class FilesTileContent extends React.PureComponent {
}; };
function mapStateToProps(state) { function mapStateToProps(state) {
const { filter, fileAction, selectedFolder, treeFolders, folders } = state.files; const selectedFolder = getSelectedFolder(state);
const { settings } = state.auth; const treeFolders = getTreeFolders(state);
const indexOfTrash = 3; const indexOfTrash = 3;
const isTrashFolder = treeFolders.length && treeFolders[indexOfTrash].id === selectedFolder.id
const rootFolderId = selectedFolder.pathParts && selectedFolder.pathParts[0];
return { return {
filter, filter: getFilter(state),
fileAction, fileAction: getFileAction(state),
parentFolder: selectedFolder.id, parentFolder: getSelectedFolderParentId(state),
isTrashFolder: treeFolders.length && treeFolders[indexOfTrash].id === selectedFolder.id, isTrashFolder,
settings, settings: getSettings(state),
treeFolders, treeFolders,
rootFolderId: selectedFolder.pathParts[0], rootFolderId,
newItems: selectedFolder.new, newItems: getSelectedFolderNew(state),
selectedFolder, selectedFolder,
folders folders: getFolders(state),
newRowItems: getNewRowItems(state),
dragging: getDragging(state),
isLoading: getIsLoading(state)
} }
} }