Web: Files: fixed Article Body re-render

This commit is contained in:
Nikita Gopienko 2021-08-18 14:27:25 +03:00
parent 93d011aee6
commit d0b7e2d82d
3 changed files with 26 additions and 42 deletions

View File

@ -462,7 +462,7 @@ TreeFolders.defaultProps = {
};
export default inject(
({ auth, filesStore, treeFoldersStore, selectedFolderStore }) => {
({ auth, filesStore, treeFoldersStore, selectedFolderStore }, props) => {
const {
filter,
selection,
@ -484,6 +484,14 @@ export default inject(
} = treeFoldersStore;
const { id /* rootFolderType */ } = selectedFolderStore;
const selectedNode = treeFoldersStore.selectedTreeNode;
const selectedKeys =
selectedNode.length > 0 &&
selectedNode[0] !== "@my" &&
selectedNode[0] !== "@common"
? selectedNode
: [selectedFolderStore.id + ""];
return {
isAdmin: auth.isAdmin,
isDesktop: auth.settingsStore.isDesktopClient,
@ -497,6 +505,7 @@ export default inject(
draggableItems: dragging ? selection : [],
expandedKeys,
treeFolders,
selectedKeys: props.selectedKeys ? props.selectedKeys : selectedKeys,
setDragging,
setIsLoading,

View File

@ -12,50 +12,30 @@ import Banner from "./Banner";
import { inject, observer } from "mobx-react";
import { withRouter } from "react-router-dom";
import config from "../../../../package.json";
import { clickBackdrop, combineUrl } from "@appserver/common/utils";
import { combineUrl } from "@appserver/common/utils";
import { AppServerConfig } from "@appserver/common/constants";
import FilesFilter from "@appserver/common/api/files/filter";
import { isDesktop, isTablet } from "react-device-detect";
class ArticleBodyContent extends React.Component {
constructor(props) {
super(props);
const { selectedFolderTitle } = props;
selectedFolderTitle
? setDocumentTitle(selectedFolderTitle)
: setDocumentTitle();
}
/*componentDidMount() {
if (this.props.currentId) {
const currentId = [this.props.currentId + ""];
this.props.setSelectedNode(currentId);
}
}*/
onSelect = (data, e) => {
const {
filter,
setIsLoading,
selectedTreeNode,
setSelectedNode,
fetchFiles,
homepage,
history,
} = this.props;
//if (!selectedTreeNode || selectedTreeNode[0] !== data[0]) {
setSelectedNode(data);
setIsLoading(true);
const selectedFolderTitle =
(e.node && e.node.props && e.node.props.title) || null;
// const selectedFolderTitle =
// (e.node && e.node.props && e.node.props.title) || null;
selectedFolderTitle
? setDocumentTitle(selectedFolderTitle)
: setDocumentTitle();
// selectedFolderTitle
// ? setDocumentTitle(selectedFolderTitle)
// : setDocumentTitle();
if (window.location.pathname.indexOf("/filter") > 0) {
fetchFiles(data[0])
@ -78,12 +58,13 @@ class ArticleBodyContent extends React.Component {
const {
treeFolders,
onTreeDrop,
selectedTreeNode,
enableThirdParty,
isVisitor,
personal,
} = this.props;
//console.log("Article Body render");
const campaigns = (localStorage.getItem("campaigns") || "")
.split(",")
.filter((campaign) => campaign.length > 0);
@ -93,7 +74,6 @@ class ArticleBodyContent extends React.Component {
) : (
<>
<TreeFolders
selectedKeys={selectedTreeNode}
onSelect={this.onSelect}
data={treeFolders}
onBadgeClick={this.onShowNewFilesPanel}
@ -119,27 +99,21 @@ export default inject(
dialogsStore,
settingsStore,
}) => {
const { fetchFiles, filter, setIsLoading } = filesStore;
const { fetchFiles, setIsLoading } = filesStore;
const { treeFolders, setSelectedNode, setTreeFolders } = treeFoldersStore;
const selectedNode = treeFoldersStore.selectedTreeNode;
const selectedTreeNode =
selectedNode.length > 0 &&
selectedNode[0] !== "@my" &&
selectedNode[0] !== "@common"
? selectedNode
: [selectedFolderStore.id + ""];
const { setNewFilesPanelVisible } = dialogsStore;
const { personal } = auth.settingsStore;
const selectedFolderTitle = selectedFolderStore.title;
selectedFolderTitle
? setDocumentTitle(selectedFolderTitle)
: setDocumentTitle();
return {
selectedFolderTitle: selectedFolderStore.title,
treeFolders,
selectedTreeNode,
filter,
enableThirdParty: settingsStore.enableThirdParty,
isVisitor: auth.userStore.user.isVisitor,

View File

@ -116,6 +116,7 @@ const OperationsPanelComponent = (props) => {
</ModalDialog.Header>
<ModalDialog.Body>
<TreeFolders
selectedKeys={[]}
expandedPanelKeys={expandedKeys}
data={operationsFolders}
filter={filter}