Web: Files: TreeSettings: refactoring

This commit is contained in:
Artem Tarasov 2020-10-13 12:50:39 +03:00
parent 1173410695
commit 33d0322fb4
6 changed files with 270 additions and 162 deletions

View File

@ -10,10 +10,13 @@ import { createI18N } from "../../../helpers/i18n";
import {
setSelectedNode,
setExpandSettingsTree,
setIsErrorSettings,
getFilesSettings,
setSelectedFolder,
} from "../../../store/files/actions";
import {
getSettingsTree,
getSelectedTreeNode
} from '../../../store/files/selectors';
const i18n = createI18N({
page: "Settings",
@ -54,19 +57,19 @@ const PureTreeSettings = ({
isLoading,
setSelectedNode,
setExpandSettingsTree,
setIsErrorSettings,
getFilesSettings,
setSelectedFolder,
selectedFolder,
t,
}) => {
useEffect(() => {
const { setting } = match.params;
setSelectedNode([setting]);
if (setting) setExpandSettingsTree(["settings"]);
if (selectedTreeNode[0] !== setting) setSelectedNode([setting]);
if (setting && !expandedSetting) setExpandSettingsTree(["settings"]);
}, [match]);
useEffect(() => {
getFilesSettings().catch((e) => setIsErrorSettings(true));
getFilesSettings();
}, []);
const switcherIcon = (obj) => {
@ -82,17 +85,19 @@ const PureTreeSettings = ({
const onSelect = (section) => {
const path = section[0];
console.log(section[0], selectedTreeNode[0], path)
if(selectedFolder) setSelectedFolder({});
if (path === "settings") {
setSelectedNode(["common"]);
setSelectedFolder({ id: "common" });
setExpandSettingsTree(section);
if(!expandedSetting || expandedSetting[0] !== "settings") setExpandSettingsTree(section);
return history.push("/products/files/settings/common");
}
if (selectedTreeNode[0] !== path) {
setSelectedNode(section);
setSelectedFolder({ id: section[0] });
return history.push(`/products/files/settings/${path}`);
}
};
const onExpand = (data) => {
@ -174,10 +179,10 @@ const TreeSettings = (props) => {
};
function mapStateToProps(state) {
const { selectedTreeNode, settingsTree, isLoading } = state.files;
const { isLoading, selectedTreeNode } = state.files;
const settingsTree = getSettingsTree(state);
const selectedFolder = getSelectedTreeNode(state);
const { isAdmin } = state.auth.user;
const { expandedSetting, enableThirdParty } = settingsTree;
return {
@ -186,13 +191,13 @@ function mapStateToProps(state) {
enableThirdParty,
isAdmin,
isLoading,
selectedFolder
};
}
export default connect(mapStateToProps, {
setSelectedNode,
setExpandSettingsTree,
setIsErrorSettings,
getFilesSettings,
setSelectedFolder,
})(withRouter(TreeSettings));

View File

@ -10,7 +10,6 @@ import {
setEnableThirdParty,
setConfirmDelete,
setStoreForceSave,
setSelectedNode,
setForceSave,
} from "../../../../../store/files/actions";
import { setDocumentTitle } from "../../../../../helpers/utils";
@ -32,8 +31,6 @@ const StyledSettings = styled.div`
const SectionBodyContent = ({
setting,
isLoading,
selectedTreeNode,
setSelectedNode,
storeForceSave,
setStoreForceSave,
enableThirdParty,
@ -55,12 +52,6 @@ const SectionBodyContent = ({
setDocumentTitle(t(`${title}`));
}, [setting, t]);
useEffect(() => {
if (setting !== selectedTreeNode[0]) {
setSelectedNode([setting]);
}
}, [setting]);
const onChangeStoreForceSave = () => {
setStoreForceSave(!storeForceSave, "storeForceSave");
};
@ -70,7 +61,7 @@ const SectionBodyContent = ({
};
const renderAdminSettings = () => {
return (
return isLoading ? null : (
<StyledSettings>
<ToggleButton
className="toggle-btn"
@ -105,7 +96,7 @@ const SectionBodyContent = ({
};
const renderCommonSettings = () => {
return (
return isLoading ? null : (
<StyledSettings>
<ToggleButton
className="toggle-btn"
@ -179,7 +170,7 @@ const SectionBodyContent = ({
};
function mapStateToProps(state) {
const { settingsTree, selectedTreeNode, isLoading } = state.files;
const { settingsTree, isLoading } = state.files;
const { isAdmin } = state.auth.user;
const {
storeOriginalFiles,
@ -192,7 +183,6 @@ function mapStateToProps(state) {
return {
isAdmin,
selectedTreeNode,
storeOriginalFiles,
confirmDelete,
updateIfExist,
@ -209,6 +199,5 @@ export default connect(mapStateToProps, {
setEnableThirdParty,
setConfirmDelete,
setStoreForceSave,
setSelectedNode,
setForceSave,
})(SectionBodyContent);

View File

@ -11,7 +11,6 @@ import { SectionHeaderContent, SectionBodyContent } from "./Section";
import { withTranslation, I18nextProvider } from "react-i18next";
import { createI18N } from "../../../helpers/i18n";
import {
setIsErrorSettings,
getFilesSettings,
setIsLoading,
} from "../../../store/files/actions";
@ -27,8 +26,6 @@ const PureSettings = ({
match,
t,
isLoading,
settingsTree,
setIsErrorSettings,
getFilesSettings,
setIsLoading,
}) => {
@ -36,16 +33,12 @@ const PureSettings = ({
const { setting } = match.params;
useEffect(() => {
if (Object.keys(settingsTree).length === 0) {
setIsLoading(true);
getFilesSettings()
.then(() => setIsLoading(false))
.catch((e) => {
setIsErrorSettings(true);
.then(() => {
setIsLoading(false);
});
}
}, [getFilesSettings, setIsErrorSettings, setIsLoading, settingsTree]);
})
}, [getFilesSettings, setIsLoading]);
useEffect(() => {
if (isLoading) {
@ -108,12 +101,14 @@ const Settings = (props) => {
function mapStateToProps(state) {
return {
isLoading: state.files.isLoading,
settingsTree: state.files.settingsTree,
};
}
};
export default connect(mapStateToProps, {
setIsErrorSettings,
getFilesSettings,
setIsLoading,
})(withRouter(Settings));
const mapDispatchToProps = (dispatch) => {
return {
setIsLoading: (isLoading) => dispatch(setIsLoading(isLoading)),
getFilesSettings: () => dispatch(getFilesSettings())
};
};
export default connect(mapStateToProps, mapDispatchToProps)(withRouter(Settings));

View File

@ -11,10 +11,10 @@ import {
SORT_BY,
SORT_ORDER,
FOLDER,
PREVIEW
PREVIEW,
} from "../../helpers/constants";
import config from "../../../package.json";
import { createTreeFolders, canConvert, loopTreeFolders } from "./selectors";
import { createTreeFolders, canConvert, loopTreeFolders, getSettingsTree } from "./selectors";
const { files, FilesFilter } = api;
@ -52,77 +52,77 @@ export const SET_UPLOAD_DATA = "SET_UPLOAD_DATA";
export function setFile(file) {
return {
type: SET_FILE,
file
file,
};
}
export function setFiles(files) {
return {
type: SET_FILES,
files
files,
};
}
export function setFolder(folder) {
return {
type: SET_FOLDER,
folder
folder,
};
}
export function setFolders(folders) {
return {
type: SET_FOLDERS,
folders
folders,
};
}
export function setSelection(selection) {
return {
type: SET_SELECTION,
selection
selection,
};
}
export function setSelected(selected) {
return {
type: SET_SELECTED,
selected
selected,
};
}
export function setAction(fileAction) {
return {
type: SET_ACTION,
fileAction
fileAction,
};
}
export function setSelectedFolder(selectedFolder) {
return {
type: SET_SELECTED_FOLDER,
selectedFolder
selectedFolder,
};
}
export function setTreeFolders(treeFolders) {
return {
type: SET_TREE_FOLDERS,
treeFolders
treeFolders,
};
}
export function setDragging(dragging) {
return {
type: SET_DRAGGING,
dragging
dragging,
};
}
export function setDragItem(dragItem) {
return {
type: SET_DRAG_ITEM,
dragItem
dragItem,
};
}
@ -130,97 +130,97 @@ export function setFilesFilter(filter) {
setFilterUrl(filter);
return {
type: SET_FILES_FILTER,
filter
filter,
};
}
export function setFilter(filter) {
return {
type: SET_FILTER,
filter
filter,
};
}
export function setViewAs(viewAs) {
return {
type: SET_VIEW_AS,
viewAs
viewAs,
};
}
export function selectFile(file) {
return {
type: SELECT_FILE,
file
file,
};
}
export function deselectFile(file) {
return {
type: DESELECT_FILE,
file
file,
};
}
export function setMediaViewerData(mediaViewerData) {
return {
type: SET_MEDIA_VIEWER_VISIBLE,
mediaViewerData
mediaViewerData,
};
}
export function setProgressBarData(progressData) {
return {
type: SET_PROGRESS_BAR_DATA,
progressData
progressData,
};
}
export function setConvertDialogVisible(convertDialogVisible) {
return {
type: SET_CONVERT_DIALOG_VISIBLE,
convertDialogVisible
convertDialogVisible,
};
}
export function setUpdateTree(updateTree) {
return {
type: SET_UPDATE_TREE,
updateTree
updateTree,
};
}
export function setNewRowItems(newRowItems) {
return {
type: SET_NEW_ROW_ITEMS,
newRowItems
newRowItems,
};
}
export function setSelectedNode(node) {
return {
type: SET_SELECTED_NODE,
node
node,
};
}
export function setExpandSettingsTree(setting) {
return {
type: SET_EXPAND_SETTINGS_TREE,
setting
setting,
};
}
export function setIsLoading(isLoading) {
return {
type: SET_IS_LOADING,
isLoading
isLoading,
};
}
export function setFilesSettings(settings) {
return {
type: SET_FILES_SETTINGS,
settings
settings,
};
}
@ -228,28 +228,28 @@ export function setFilesSetting(setting, val) {
return {
type: SET_FILES_SETTING,
setting,
val
val,
};
}
export function setIsErrorSettings(isError) {
return {
type: SET_IS_ERROR_SETTINGS,
isError
isError,
};
}
export function setFirstLoad(firstLoad) {
return {
type: SET_FIRST_LOAD,
firstLoad
firstLoad,
};
}
export function setUploadData(uploadData) {
return {
type: SET_UPLOAD_DATA,
uploadData
uploadData,
};
}
export function setFilterUrl(filter) {
@ -292,10 +292,10 @@ export function setFilterUrl(filter) {
// TODO: similar to fetchFolder, remove one
export function fetchFiles(folderId, filter) {
return dispatch => {
return (dispatch) => {
const filterData = filter ? filter.clone() : FilesFilter.getDefault();
filterData.folder = folderId;
return files.getFolder(folderId, filter).then(data => {
return files.getFolder(folderId, filter).then((data) => {
filterData.treeFolders = createTreeFolders(data.pathParts, filterData);
filterData.total = data.total;
dispatch(setFilesFilter(filterData));
@ -307,7 +307,7 @@ export function fetchFiles(folderId, filter) {
folders: data.folders,
...data.current,
pathParts: data.pathParts,
...{ new: data.new }
...{ new: data.new },
})
);
});
@ -323,21 +323,21 @@ export function selectFolder() {
}
export function fetchFolder(folderId, dispatch) {
return files.getFolder(folderId).then(data => {
return files.getFolder(folderId).then((data) => {
dispatch(setFolders(data.folders));
dispatch(setFiles(data.files));
return dispatch(
setSelectedFolder({
folders: data.folders,
...data.current,
pathParts: data.pathParts
pathParts: data.pathParts,
})
);
});
}
export function fetchMyFolder(dispatch) {
return files.getMyFolderList().then(data => {
return files.getMyFolderList().then((data) => {
dispatch(setFolders(data.folders));
dispatch(setFiles(data.files));
return dispatch(setSelectedFolder(data.current));
@ -345,14 +345,14 @@ export function fetchMyFolder(dispatch) {
}
export function fetchTrashFolder(dispatch) {
return files.getTrashFolderList().then(data => {
return files.getTrashFolderList().then((data) => {
dispatch(setFiles(data.files));
return dispatch(setSelectedFolder(data.current));
});
}
export function fetchCommonFolder(dispatch) {
return files.getCommonFolderList().then(data => {
return files.getCommonFolderList().then((data) => {
dispatch(setFolders(data.folders));
dispatch(setFiles(data.files));
return dispatch(setSelectedFolder(data.current));
@ -360,7 +360,7 @@ export function fetchCommonFolder(dispatch) {
}
export function fetchProjectsFolder(dispatch) {
return files.getProjectsFolderList().then(data => {
return files.getProjectsFolderList().then((data) => {
dispatch(setFolders(data.folders));
dispatch(setFiles(data.files));
return dispatch(setSelectedFolder(data.current));
@ -368,7 +368,7 @@ export function fetchProjectsFolder(dispatch) {
}
export function fetchSharedFolder(dispatch) {
return files.getSharedFolderList().then(data => {
return files.getSharedFolderList().then((data) => {
dispatch(setFolders(data.folders));
dispatch(setFiles(data.files));
return dispatch(setSelectedFolder(data.current));
@ -376,7 +376,7 @@ export function fetchSharedFolder(dispatch) {
}
export function fetchTreeFolders(dispatch) {
return files.getFoldersTree().then(data => dispatch(setTreeFolders(data)));
return files.getFoldersTree().then((data) => dispatch(setTreeFolders(data)));
}
/*export function testUpdateMyFolder(folders) {
@ -398,34 +398,33 @@ export function fetchTreeFolders(dispatch) {
}*/
export function createFile(folderId, title) {
return dispatch => {
return files.createFile(folderId, title)
.then(file => {
return (dispatch) => {
return files.createFile(folderId, title).then((file) => {
fetchFolder(folderId, dispatch);
return Promise.resolve(file)
return Promise.resolve(file);
});
};
}
export function createFolder(parentFolderId, title) {
return dispatch => {
return files.createFolder(parentFolderId, title).then(folder => {
return (dispatch) => {
return files.createFolder(parentFolderId, title).then((folder) => {
fetchFolder(parentFolderId, dispatch);
});
};
}
export function updateFile(fileId, title) {
return dispatch => {
return files.updateFile(fileId, title).then(file => {
return (dispatch) => {
return files.updateFile(fileId, title).then((file) => {
dispatch(setFile(file));
});
};
}
export function renameFolder(folderId, title) {
return dispatch => {
return files.renameFolder(folderId, title).then(folder => {
return (dispatch) => {
return files.renameFolder(folderId, title).then((folder) => {
dispatch(setFolder(folder));
});
};
@ -438,11 +437,11 @@ export function setShareFiles(
notify,
sharingMessage
) {
const foldersRequests = folderIds.map(id =>
const foldersRequests = folderIds.map((id) =>
files.setShareFolder(id, share, notify, sharingMessage)
);
const filesRequests = fileIds.map(id =>
const filesRequests = fileIds.map((id) =>
files.setShareFiles(id, share, notify, sharingMessage)
);
@ -451,19 +450,19 @@ export function setShareFiles(
}
export function getShareUsers(folderIds, fileIds) {
const foldersRequests = folderIds.map(folderId =>
const foldersRequests = folderIds.map((folderId) =>
files.getShareFolders(folderId)
);
const filesRequests = fileIds.map(fileId => files.getShareFiles(fileId));
const filesRequests = fileIds.map((fileId) => files.getShareFiles(fileId));
const requests = [...foldersRequests, ...filesRequests];
return axios.all(requests).then(res => res);
return axios.all(requests).then((res) => res);
}
export function clearProgressData() {
return dispatch => {
return (dispatch) => {
dispatch(setProgressBarData({ visible: false, percent: 0, label: "" }));
}
};
}
/*export function deleteGroup(id) {
@ -484,58 +483,66 @@ export function clearProgressData() {
}*/
export function setUpdateIfExist(data, setting) {
return dispatch => {
return (dispatch) => {
return files
.updateIfExist(data)
.then(res => dispatch(setFilesSetting(setting, res)));
.then((res) => dispatch(setFilesSetting(setting, res)));
};
}
export function setStoreOriginal(data, setting) {
return dispatch => {
return (dispatch) => {
return files
.storeOriginal(data)
.then(res => dispatch(setFilesSetting(setting, res)));
.then((res) => dispatch(setFilesSetting(setting, res)));
};
}
export function setConfirmDelete(data, setting) {
return dispatch => {
return (dispatch) => {
return files
.changeDeleteConfirm(data)
.then(res => dispatch(setFilesSetting(setting, res)));
.then((res) => dispatch(setFilesSetting(setting, res)));
};
}
export function setStoreForceSave(data, setting) {
return dispatch => {
return (dispatch) => {
return files
.storeForceSave(data)
.then(res => dispatch(setFilesSetting(setting, res)));
.then((res) => dispatch(setFilesSetting(setting, res)));
};
}
export function setEnableThirdParty(data, setting) {
return dispatch => {
return (dispatch) => {
return files
.thirdParty(data)
.then(res => dispatch(setFilesSetting(setting, res)));
.then((res) => dispatch(setFilesSetting(setting, res)));
};
}
export function setForceSave(data, setting) {
return dispatch => {
return (dispatch) => {
return files
.forceSave(data)
.then(res => dispatch(setFilesSetting(setting, res)));
.then((res) => dispatch(setFilesSetting(setting, res)));
};
}
export function getFilesSettings() {
return dispatch => {
return files
return (dispatch, getState) => {
const state = getState()
const settingsTree = getSettingsTree(state);
if (Object.keys(settingsTree).length === 0) {
return api.files
.getSettingsFiles()
.then(settings => dispatch(setFilesSettings(settings)));
.then((settings) => dispatch(setFilesSettings(settings)))
.catch(() => setIsErrorSettings(true));
} else {
return Promise.resolve(settingsTree);
}
};
}
@ -576,22 +583,37 @@ export const startUpload = (uploadFiles, folderId, t) => {
uploadToFolder,
uploadedFiles: 0,
percent: 0,
uploaded: false
}
uploaded: false,
};
dispatch(setUploadData(newUploadData));
if (showConvertDialog) {
dispatch(setConvertDialogVisible(showConvertDialog));
}
startUploadFiles(t, newFiles.length, convertFiles.length, dispatch, getState);
startUploadFiles(
t,
newFiles.length,
convertFiles.length,
dispatch,
getState
);
};
};
const startUploadFiles = (t, filesLength, convertFilesLength, dispatch, getState) => {
const startUploadFiles = (
t,
filesLength,
convertFilesLength,
dispatch,
getState
) => {
if (filesLength > 0 || convertFilesLength > 0) {
const progressData = { visible: true, percent: 0, label: "" };
progressData.label = t("UploadingLabel", { file: 0, totalFiles: filesLength + convertFilesLength });
progressData.label = t("UploadingLabel", {
file: 0,
totalFiles: filesLength + convertFilesLength,
});
dispatch(setProgressBarData(progressData));
startSessionFunc(0, t, dispatch, getState);
}
@ -649,7 +671,18 @@ const startSessionFunc = (indexOfFile, t, dispatch, getState) => {
chunk++;
}
})
.then(() => sendChunk(currentFiles, location, requestsDataArray, isLatestFile, indexOfFile, t, dispatch, getState))
.then(() =>
sendChunk(
currentFiles,
location,
requestsDataArray,
isLatestFile,
indexOfFile,
t,
dispatch,
getState
)
)
.catch((err) => {
toastr.error(err);
dispatch(clearProgressData());
@ -668,13 +701,20 @@ const sendChunk = (
) => {
const state = getState();
const { uploadData } = state.files;
const { uploaded, percent, uploadedFiles, uploadToFolder, filesSize, convertFilesSize } = uploadData;
const {
uploaded,
percent,
uploadedFiles,
uploadToFolder,
filesSize,
convertFilesSize,
} = uploadData;
const totalSize = convertFilesSize + filesSize;
const sendRequestFunc = (index) => {
api.files
.uploadFile(location, requestsDataArray[index])
.then(res => {
.then((res) => {
//percent problem? use getState()
const currentFile = files[indexOfFile];
const fileId = res.data.data.id;
@ -685,13 +725,30 @@ const sendChunk = (
}
if (index + 1 !== requestsDataArray.length) {
dispatch(setProgressBarData({ label: t("UploadingLabel", { file: uploadedFiles, totalFiles: files.length }), newPercent, visible: true }));
dispatch(
setProgressBarData({
label: t("UploadingLabel", {
file: uploadedFiles,
totalFiles: files.length,
}),
newPercent,
visible: true,
})
);
sendRequestFunc(index + 1);
} else if (uploaded) {
api.files.convertFile(fileId).then((convertRes) => {
if (convertRes && convertRes[0] && convertRes[0].progress !== 100) {
uploadData.percent = newPercent;
getConvertProgress(fileId, t, uploadData, isLatestFile, indexOfFile, dispatch, getState);
getConvertProgress(
fileId,
t,
uploadData,
isLatestFile,
indexOfFile,
dispatch,
getState
);
}
});
} else if (isLatestFile) {
@ -700,21 +757,42 @@ const sendChunk = (
} else {
const uploadStatus = getState().files.uploadData.uploadStatus;
if (uploadStatus === "convert") {
const newUploadData = {...getState().files.uploadData, ...{ uploadedFiles: uploadedFiles + 1, percent: newPercent, uploaded: true }};
const newUploadData = {
...getState().files.uploadData,
...{
uploadedFiles: uploadedFiles + 1,
percent: newPercent,
uploaded: true,
},
};
updateConvertProgress(newUploadData, t, dispatch);
startSessionFunc(0, t, dispatch, getState);
} else if (uploadStatus === "pending") {
const stateUploadData = getState().files.uploadData;
const newUploadData = {...stateUploadData, ...{ uploadStatus: null, uploadedFiles: uploadedFiles + 1, percent: newPercent, uploaded: true }};
const newUploadData = {
...stateUploadData,
...{
uploadStatus: null,
uploadedFiles: uploadedFiles + 1,
percent: newPercent,
uploaded: true,
},
};
updateConvertProgress(newUploadData, t, dispatch);
} else {
const newUploadData = {...getState().files.uploadData, ...{ uploadedFiles: uploadedFiles + 1, percent: newPercent }};
const newUploadData = {
...getState().files.uploadData,
...{ uploadedFiles: uploadedFiles + 1, percent: newPercent },
};
updateConvertProgress(newUploadData, t, dispatch);
updateFiles(uploadToFolder, dispatch, getState);
}
}
} else {
const newUploadData = {...getState().files.uploadData, ...{ uploadedFiles: uploadedFiles + 1, percent: newPercent }};
const newUploadData = {
...getState().files.uploadData,
...{ uploadedFiles: uploadedFiles + 1, percent: newPercent },
};
updateConvertProgress(newUploadData, t, dispatch);
startSessionFunc(indexOfFile + 1, t, dispatch, getState);
}
@ -737,8 +815,8 @@ const updateFiles = (folderId, dispatch, getState) => {
uploadToFolder: null,
uploadedFiles: 0,
percent: 0,
uploaded: true
}
uploaded: true,
};
if (selectedFolder.id === folderId) {
return dispatch(fetchFiles(selectedFolder.id, filter.clone()))
@ -751,11 +829,12 @@ const updateFiles = (folderId, dispatch, getState) => {
dispatch(setTreeFolders(newTreeFolders));
})
.catch((err) => toastr.error(err))
.finally(() => setTimeout(() => {
.finally(() =>
setTimeout(() => {
dispatch(clearProgressData());
dispatch(setUploadData(uploadData));
}, 5000))
;
}, 5000)
);
//.finally(() => this.setState({ uploaded: true }));
} else {
return api.files
@ -769,20 +848,39 @@ const updateFiles = (folderId, dispatch, getState) => {
dispatch(setTreeFolders(newTreeFolders));
})
.catch((err) => toastr.error(err))
.finally(() => setTimeout(() => {
.finally(() =>
setTimeout(() => {
dispatch(clearProgressData());
dispatch(setUploadData(uploadData));
}, 5000));
}, 5000)
);
//.finally(() => this.setState({ uploaded: true }));
}
};
const getConvertProgress = (fileId, t, uploadData, isLatestFile, indexOfFile, dispatch, getState) => {
const getConvertProgress = (
fileId,
t,
uploadData,
isLatestFile,
indexOfFile,
dispatch,
getState
) => {
const { uploadedFiles, uploadToFolder } = uploadData;
api.files.getConvertFile(fileId).then((res) => {
if (res && res[0] && res[0].progress !== 100) {
setTimeout(
() => getConvertProgress(fileId, t, uploadData, isLatestFile, indexOfFile, dispatch, getState),
() =>
getConvertProgress(
fileId,
t,
uploadData,
isLatestFile,
indexOfFile,
dispatch,
getState
),
1000
);
} else {
@ -834,14 +932,22 @@ const updateConvertProgress = (uploadData, t, dispatch) => {
}
};
export const setDialogVisible = (t) => {
return (dispatch, getState) => {
const { uploadData } = getState().files;
const { files, uploadStatus, uploadToFolder, uploadedFiles, percent } = uploadData;
const {
files,
uploadStatus,
uploadToFolder,
uploadedFiles,
percent,
} = uploadData;
dispatch(setConvertDialogVisible(false));
const label = t("UploadingLabel", { file: uploadedFiles, totalFiles: files.length });
const label = t("UploadingLabel", {
file: uploadedFiles,
totalFiles: files.length,
});
if (uploadStatus === null) {
dispatch(setProgressBarData({ label, percent: 100, visible: true }));
@ -856,10 +962,10 @@ export const setDialogVisible = (t) => {
uploadData.uploadStatus = "cancel";
dispatch(setUploadData(uploadData));
}
}
};
};
export const onConvert = t => {
export const onConvert = (t) => {
return (dispatch, getState) => {
const { uploadData } = getState().files;
@ -870,5 +976,5 @@ export const onConvert = t => {
uploadData.uploadStatus = "convert";
dispatch(setUploadData(uploadData));
dispatch(setConvertDialogVisible(false));
}
}
};
};

View File

@ -106,8 +106,7 @@ const filesReducer = (state = initialState, action) => {
});
case SET_SELECTED_FOLDER:
return Object.assign({}, state, {
selectedFolder: action.selectedFolder,
selectedTreeNode: [action.selectedFolder.id.toString()],
selectedFolder: action.selectedFolder
});
case SET_TREE_FOLDERS:
return Object.assign({}, state, {

View File

@ -915,3 +915,17 @@ export const getTest = createSelector(getTreeFolders, (treeFolders) => {
const treeFoldersItem = treeFolders.find((x) => x.rootFolderName === "@my");
if (treeFoldersItem) return treeFoldersItem.id;
});
const getSettingsTreeSelector = state => {
return state.files.settingsTree
}
export const getSettingsTree = createSelector(
getSettingsTreeSelector,
(settingsTree) => {
if (Object.keys(settingsTree).length !== 0 ){
return settingsTree
};
return {};
}
)