Web: Files: Settings: refactoring
This commit is contained in:
parent
2f19e504aa
commit
f578e43662
@ -81,15 +81,8 @@ const PureTreeSettings = ({
|
|||||||
}) => {
|
}) => {
|
||||||
useEffect(() => {
|
useEffect(() => {
|
||||||
const { setting } = match.params;
|
const { setting } = match.params;
|
||||||
if (selectedTreeNode[0] !== setting) setSelectedNode([setting]);
|
|
||||||
if (setting && !expandedSetting) setExpandSettingsTree(["settings"]);
|
if (setting && !expandedSetting) setExpandSettingsTree(["settings"]);
|
||||||
}, [
|
}, [match, expandedSetting, setExpandSettingsTree]);
|
||||||
match,
|
|
||||||
selectedTreeNode,
|
|
||||||
expandedSetting,
|
|
||||||
setExpandSettingsTree,
|
|
||||||
setSelectedNode,
|
|
||||||
]);
|
|
||||||
|
|
||||||
useEffect(() => {
|
useEffect(() => {
|
||||||
getFilesSettings();
|
getFilesSettings();
|
||||||
@ -158,7 +151,7 @@ const PureTreeSettings = ({
|
|||||||
selectable={true}
|
selectable={true}
|
||||||
className="settings-node"
|
className="settings-node"
|
||||||
id="connected-clouds"
|
id="connected-clouds"
|
||||||
key="thirdParty"
|
key="thirdparty"
|
||||||
isLeaf={true}
|
isLeaf={true}
|
||||||
title={t("TreeSettingsConnectedCloud")}
|
title={t("TreeSettingsConnectedCloud")}
|
||||||
/>
|
/>
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
import React, { useEffect } from "react";
|
import React from "react";
|
||||||
import styled from "styled-components";
|
import styled from "styled-components";
|
||||||
import { connect } from "react-redux";
|
import { connect } from "react-redux";
|
||||||
import { Heading, ToggleButton } from "asc-web-components";
|
import { Heading, ToggleButton } from "asc-web-components";
|
||||||
@ -22,7 +22,6 @@ import {
|
|||||||
getSettingsTreeEnableThirdParty,
|
getSettingsTreeEnableThirdParty,
|
||||||
getSettingsTree,
|
getSettingsTree,
|
||||||
} from "../../../../../store/files/selectors";
|
} from "../../../../../store/files/selectors";
|
||||||
import { setDocumentTitle } from "../../../../../helpers/utils";
|
|
||||||
|
|
||||||
const { isAdmin } = store.auth.selectors;
|
const { isAdmin } = store.auth.selectors;
|
||||||
|
|
||||||
@ -62,13 +61,9 @@ const SectionBodyContent = ({
|
|||||||
isAdmin,
|
isAdmin,
|
||||||
isErrorSettings,
|
isErrorSettings,
|
||||||
settingsTree,
|
settingsTree,
|
||||||
|
|
||||||
t,
|
t,
|
||||||
}) => {
|
}) => {
|
||||||
useEffect(() => {
|
|
||||||
const title = setting[0].toUpperCase() + setting.slice(1);
|
|
||||||
setDocumentTitle(t(`${title}`));
|
|
||||||
}, [setting, t]);
|
|
||||||
|
|
||||||
const onChangeStoreForceSave = () => {
|
const onChangeStoreForceSave = () => {
|
||||||
setStoreForceSave(!storeForceSave, "storeForceSave");
|
setStoreForceSave(!storeForceSave, "storeForceSave");
|
||||||
};
|
};
|
||||||
@ -175,9 +170,9 @@ const SectionBodyContent = ({
|
|||||||
|
|
||||||
if (setting === "admin" && isAdmin) content = renderAdminSettings();
|
if (setting === "admin" && isAdmin) content = renderAdminSettings();
|
||||||
if (setting === "common") content = renderCommonSettings();
|
if (setting === "common") content = renderCommonSettings();
|
||||||
if (setting === "thirdParty" && enableThirdParty) content = renderClouds();
|
if (setting === "thirdparty" && enableThirdParty) content = renderClouds();
|
||||||
|
|
||||||
return isLoading ? null : (!enableThirdParty && setting === "thirdParty") ||
|
return isLoading ? null : (!enableThirdParty && setting === "thirdparty") ||
|
||||||
(!isAdmin && setting === "admin") ? (
|
(!isAdmin && setting === "admin") ? (
|
||||||
<Error403 />
|
<Error403 />
|
||||||
) : isErrorSettings ? (
|
) : isErrorSettings ? (
|
||||||
|
@ -1,11 +1,10 @@
|
|||||||
import React from "react";
|
import React from "react";
|
||||||
import { Headline } from "asc-web-common";
|
import { Headline } from "asc-web-common";
|
||||||
|
|
||||||
const SectionHeaderContent = ({ setting, t }) => {
|
const SectionHeaderContent = ({ title }) => {
|
||||||
const title = setting[0].toUpperCase() + setting.slice(1);
|
|
||||||
return (
|
return (
|
||||||
<Headline className="headline-header" type="content" truncate={true}>
|
<Headline className="headline-header" type="content" truncate={true}>
|
||||||
{t(`${title}Settings`)}
|
{title}
|
||||||
</Headline>
|
</Headline>
|
||||||
);
|
);
|
||||||
};
|
};
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
import React, { useEffect } from "react";
|
import React, { useEffect, useState } from "react";
|
||||||
import { connect } from "react-redux";
|
import { connect } from "react-redux";
|
||||||
import { withRouter } from "react-router";
|
import { withRouter } from "react-router";
|
||||||
import { PageLayout, utils, Loaders } from "asc-web-common";
|
import { PageLayout, utils, Loaders } from "asc-web-common";
|
||||||
@ -14,9 +14,12 @@ import {
|
|||||||
getFilesSettings,
|
getFilesSettings,
|
||||||
setIsLoading,
|
setIsLoading,
|
||||||
setFirstLoad,
|
setFirstLoad,
|
||||||
|
setSelectedNode,
|
||||||
} from "../../../store/files/actions";
|
} from "../../../store/files/actions";
|
||||||
import { getSettingsTree, getIsLoading } from "../../../store/files/selectors";
|
import { getSettingsTree, getIsLoading } from "../../../store/files/selectors";
|
||||||
|
|
||||||
|
import { setDocumentTitle } from "../../../helpers/utils";
|
||||||
|
|
||||||
const i18n = createI18N({
|
const i18n = createI18N({
|
||||||
page: "Settings",
|
page: "Settings",
|
||||||
localesPath: "pages/Settings",
|
localesPath: "pages/Settings",
|
||||||
@ -32,19 +35,44 @@ const PureSettings = ({
|
|||||||
getFilesSettings,
|
getFilesSettings,
|
||||||
setIsLoading,
|
setIsLoading,
|
||||||
setFirstLoad,
|
setFirstLoad,
|
||||||
|
setSelectedNode,
|
||||||
}) => {
|
}) => {
|
||||||
//console.log("Settings render()");
|
const [title, setTitle] = useState("");
|
||||||
const { setting } = match.params;
|
const { setting } = match.params;
|
||||||
|
|
||||||
|
useEffect(() => {
|
||||||
|
switch (setting) {
|
||||||
|
case "common":
|
||||||
|
setTitle("CommonSettings");
|
||||||
|
break;
|
||||||
|
case "admin":
|
||||||
|
setTitle("AdminSettings");
|
||||||
|
break;
|
||||||
|
case "thirdparty":
|
||||||
|
setTitle("ThirdPartySettings");
|
||||||
|
break;
|
||||||
|
default:
|
||||||
|
setTitle("CommonSettings");
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}, [setting]);
|
||||||
useEffect(() => {
|
useEffect(() => {
|
||||||
if (Object.keys(settingsTree).length === 0) {
|
if (Object.keys(settingsTree).length === 0) {
|
||||||
setIsLoading(true);
|
setIsLoading(true);
|
||||||
getFilesSettings().then(() => {
|
getFilesSettings().then(() => {
|
||||||
setIsLoading(false);
|
setIsLoading(false);
|
||||||
setFirstLoad(false);
|
setFirstLoad(false);
|
||||||
|
setSelectedNode([setting]);
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
}, [getFilesSettings, setIsLoading, setFirstLoad, settingsTree]);
|
}, [
|
||||||
|
setting,
|
||||||
|
getFilesSettings,
|
||||||
|
setIsLoading,
|
||||||
|
setFirstLoad,
|
||||||
|
settingsTree,
|
||||||
|
setSelectedNode,
|
||||||
|
]);
|
||||||
|
|
||||||
useEffect(() => {
|
useEffect(() => {
|
||||||
if (isLoading) {
|
if (isLoading) {
|
||||||
@ -56,6 +84,10 @@ const PureSettings = ({
|
|||||||
|
|
||||||
//console.log("render settings");
|
//console.log("render settings");
|
||||||
|
|
||||||
|
useEffect(() => {
|
||||||
|
setDocumentTitle(t(`${title}`));
|
||||||
|
}, [title, t]);
|
||||||
|
|
||||||
return (
|
return (
|
||||||
<>
|
<>
|
||||||
<PageLayout>
|
<PageLayout>
|
||||||
@ -75,7 +107,7 @@ const PureSettings = ({
|
|||||||
{Object.keys(settingsTree).length === 0 && isLoading ? (
|
{Object.keys(settingsTree).length === 0 && isLoading ? (
|
||||||
<Loaders.Headline />
|
<Loaders.Headline />
|
||||||
) : (
|
) : (
|
||||||
<SectionHeaderContent setting={setting} t={t} />
|
<SectionHeaderContent title={t(`${title}`)} />
|
||||||
)}
|
)}
|
||||||
</PageLayout.SectionHeader>
|
</PageLayout.SectionHeader>
|
||||||
|
|
||||||
@ -116,6 +148,7 @@ const mapDispatchToProps = (dispatch) => {
|
|||||||
setIsLoading: (isLoading) => dispatch(setIsLoading(isLoading)),
|
setIsLoading: (isLoading) => dispatch(setIsLoading(isLoading)),
|
||||||
getFilesSettings: () => dispatch(getFilesSettings()),
|
getFilesSettings: () => dispatch(getFilesSettings()),
|
||||||
setFirstLoad: (firstLoad) => dispatch(setFirstLoad(firstLoad)),
|
setFirstLoad: (firstLoad) => dispatch(setFirstLoad(firstLoad)),
|
||||||
|
setSelectedNode: (node) => dispatch(setSelectedNode(node)),
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user