Web: Files: Fixed navigating between folders through the tree

This commit is contained in:
Alexey Kostenko 2021-03-18 17:48:57 +03:00
parent c8d40e698e
commit 6f2d927e57

View File

@ -1,5 +1,5 @@
import React from "react"; import React from "react";
import { withRouter } from "react-router-dom";
import toastr from "studio/toastr"; import toastr from "studio/toastr";
import Loaders from "@appserver/common/components/Loaders"; import Loaders from "@appserver/common/components/Loaders";
import TreeFolders from "./TreeFolders"; import TreeFolders from "./TreeFolders";
@ -9,6 +9,7 @@ import { NewFilesPanel } from "../../panels";
import { setDocumentTitle } from "../../../helpers/utils"; import { setDocumentTitle } from "../../../helpers/utils";
import ThirdPartyList from "./ThirdPartyList"; import ThirdPartyList from "./ThirdPartyList";
import { inject, observer } from "mobx-react"; import { inject, observer } from "mobx-react";
import { withRouter } from "react-router-dom";
class ArticleBodyContent extends React.Component { class ArticleBodyContent extends React.Component {
constructor(props) { constructor(props) {
@ -38,19 +39,15 @@ class ArticleBodyContent extends React.Component {
setIsLoading, setIsLoading,
selectedTreeNode, selectedTreeNode,
setSelectedNode, setSelectedNode,
//fetchFiles, fetchFiles,
history,
homepage, homepage,
history,
} = this.props; } = this.props;
const folderId = data[0]; if (!selectedTreeNode || selectedTreeNode[0] !== data[0]) {
if (selectedTreeNode && selectedTreeNode[0] === folderId) return;
setSelectedNode(data); setSelectedNode(data);
setIsLoading(true); setIsLoading(true);
const newFilter = filter.clone(); const newFilter = filter.clone();
newFilter.folder = folderId;
newFilter.page = 0; newFilter.page = 0;
newFilter.startIndex = 0; newFilter.startIndex = 0;
@ -61,8 +58,16 @@ class ArticleBodyContent extends React.Component {
? setDocumentTitle(selectedFolderTitle) ? setDocumentTitle(selectedFolderTitle)
: setDocumentTitle(); : setDocumentTitle();
if (history.location.pathname.indexOf("/files/filter") > 0) {
fetchFiles(data[0], newFilter)
.catch((err) => toastr.error(err))
.finally(() => setIsLoading(false));
} else {
newFilter.startIndex = 0;
const urlFilter = newFilter.toUrlParams(); const urlFilter = newFilter.toUrlParams();
history.push(`${homepage}/filter?${urlFilter}`); history.push(`${homepage}/filter?${urlFilter}`);
}
}
}; };
onShowNewFilesPanel = (folderId) => { onShowNewFilesPanel = (folderId) => {