added reset cache button
parent
72a349c779
commit
0851d56c73
|
@ -92,8 +92,13 @@
|
||||||
},
|
},
|
||||||
"Settings": {
|
"Settings": {
|
||||||
"Navigation": {
|
"Navigation": {
|
||||||
|
"System": "System",
|
||||||
"Appearance": "Appearance",
|
"Appearance": "Appearance",
|
||||||
"Notifications": "Notifications"
|
"Notifications": "Notifications"
|
||||||
|
},
|
||||||
|
"Cache": {
|
||||||
|
"Title": "Cache settings",
|
||||||
|
"Reset": "Reset"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"About": {
|
"About": {
|
||||||
|
|
|
@ -83,8 +83,13 @@
|
||||||
},
|
},
|
||||||
"Settings": {
|
"Settings": {
|
||||||
"Navigation": {
|
"Navigation": {
|
||||||
|
"System": "Sistem",
|
||||||
"Appearance": "Aspect",
|
"Appearance": "Aspect",
|
||||||
"Notifications": "Notificări"
|
"Notifications": "Notificări"
|
||||||
|
},
|
||||||
|
"Cache": {
|
||||||
|
"Title": "Setări cache",
|
||||||
|
"Reset": "Resetați"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"About": {
|
"About": {
|
||||||
|
|
|
@ -0,0 +1,27 @@
|
||||||
|
import React from "react";
|
||||||
|
import PropTypes from "prop-types";
|
||||||
|
import { Typography } from "@material-ui/core";
|
||||||
|
import { makeStyles } from "@material-ui/core/styles";
|
||||||
|
|
||||||
|
const useStyles = makeStyles(theme => ({
|
||||||
|
paper: {
|
||||||
|
margin: theme.spacing(1)
|
||||||
|
}
|
||||||
|
}));
|
||||||
|
|
||||||
|
const PaperTitle = ({ text }) => {
|
||||||
|
const classes = useStyles();
|
||||||
|
return (
|
||||||
|
<div className={classes.paper}>
|
||||||
|
<Typography variant="h5" gutterBottom>
|
||||||
|
{text}
|
||||||
|
</Typography>
|
||||||
|
</div>
|
||||||
|
);
|
||||||
|
};
|
||||||
|
|
||||||
|
PaperTitle.propTypes = {
|
||||||
|
text: PropTypes.string.isRequired
|
||||||
|
};
|
||||||
|
|
||||||
|
export default PaperTitle;
|
|
@ -1,3 +1,4 @@
|
||||||
import DataLabel from "./DataLabel";
|
import DataLabel from "./DataLabel";
|
||||||
|
import PaperTitle from "./PaperTitle";
|
||||||
|
|
||||||
export { DataLabel };
|
export { DataLabel, PaperTitle };
|
||||||
|
|
|
@ -1,18 +1,25 @@
|
||||||
import React, { useState, useMemo } from "react";
|
import React, { useState, useMemo } from "react";
|
||||||
|
import BubbleChartIcon from "@material-ui/icons/BubbleChart";
|
||||||
import BrushIcon from "@material-ui/icons/Brush";
|
import BrushIcon from "@material-ui/icons/Brush";
|
||||||
import NotificationsIcon from "@material-ui/icons/Notifications";
|
import NotificationsIcon from "@material-ui/icons/Notifications";
|
||||||
import { useTranslation } from "react-i18next";
|
import { useTranslation } from "react-i18next";
|
||||||
import PageTitle from "../../components/common/PageTitle";
|
import PageTitle from "../../components/common/PageTitle";
|
||||||
import NavigationButtons from "../../components/common/NavigationButtons";
|
import NavigationButtons from "../../components/common/NavigationButtons";
|
||||||
|
import SystemContainer from "./system/SystemContainer";
|
||||||
import AppearanceContainer from "./appearance/AppearanceContainer";
|
import AppearanceContainer from "./appearance/AppearanceContainer";
|
||||||
import NotificationsContainer from "./notifications/NotificationsContainer";
|
import NotificationsContainer from "./notifications/NotificationsContainer";
|
||||||
|
|
||||||
const NavigationTabs = {
|
const NavigationTabs = {
|
||||||
|
SYSTEM: "Settings.Navigation.System",
|
||||||
APPEARANCE: "Settings.Navigation.Appearance",
|
APPEARANCE: "Settings.Navigation.Appearance",
|
||||||
NOTIFICATIONS: "Settings.Navigation.Notifications"
|
NOTIFICATIONS: "Settings.Navigation.Notifications"
|
||||||
};
|
};
|
||||||
|
|
||||||
const tabs = [
|
const tabs = [
|
||||||
|
{
|
||||||
|
code: NavigationTabs.SYSTEM,
|
||||||
|
icon: BubbleChartIcon
|
||||||
|
},
|
||||||
{
|
{
|
||||||
code: NavigationTabs.APPEARANCE,
|
code: NavigationTabs.APPEARANCE,
|
||||||
icon: BrushIcon
|
icon: BrushIcon
|
||||||
|
@ -24,7 +31,7 @@ const tabs = [
|
||||||
];
|
];
|
||||||
|
|
||||||
const SettingsContainer = () => {
|
const SettingsContainer = () => {
|
||||||
const [tab, setTab] = useState(NavigationTabs.APPEARANCE);
|
const [tab, setTab] = useState(NavigationTabs.SYSTEM);
|
||||||
const { t } = useTranslation();
|
const { t } = useTranslation();
|
||||||
|
|
||||||
const navigationTabs = useMemo(
|
const navigationTabs = useMemo(
|
||||||
|
@ -40,6 +47,7 @@ const SettingsContainer = () => {
|
||||||
<NavigationButtons tabs={navigationTabs} onTabChange={setTab} />
|
<NavigationButtons tabs={navigationTabs} onTabChange={setTab} />
|
||||||
}
|
}
|
||||||
/>
|
/>
|
||||||
|
{tab === NavigationTabs.SYSTEM && <SystemContainer />}
|
||||||
{tab === NavigationTabs.APPEARANCE && <AppearanceContainer />}
|
{tab === NavigationTabs.APPEARANCE && <AppearanceContainer />}
|
||||||
{tab === NavigationTabs.NOTIFICATIONS && <NotificationsContainer />}
|
{tab === NavigationTabs.NOTIFICATIONS && <NotificationsContainer />}
|
||||||
</>
|
</>
|
||||||
|
|
|
@ -0,0 +1,31 @@
|
||||||
|
import React from "react";
|
||||||
|
import { Paper, Button } from "@material-ui/core";
|
||||||
|
import { makeStyles } from "@material-ui/core/styles";
|
||||||
|
import { useTranslation } from "react-i18next";
|
||||||
|
import { PaperTitle } from "../../../components/common";
|
||||||
|
|
||||||
|
const useStyles = makeStyles(theme => ({
|
||||||
|
content: {
|
||||||
|
"& > *": {
|
||||||
|
margin: theme.spacing(1)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}));
|
||||||
|
|
||||||
|
const ResetCacheComponent = () => {
|
||||||
|
const classes = useStyles();
|
||||||
|
const { t } = useTranslation();
|
||||||
|
|
||||||
|
return (
|
||||||
|
<Paper variant="outlined">
|
||||||
|
<PaperTitle text={t("Settings.Cache.Title")} />
|
||||||
|
<div className={classes.content}>
|
||||||
|
<Button variant="outlined" color="secondary">
|
||||||
|
{t("Settings.Cache.Reset")}
|
||||||
|
</Button>
|
||||||
|
</div>
|
||||||
|
</Paper>
|
||||||
|
);
|
||||||
|
};
|
||||||
|
|
||||||
|
export default ResetCacheComponent;
|
|
@ -0,0 +1,8 @@
|
||||||
|
import React from "react";
|
||||||
|
import ResetCacheComponent from "./ResetCacheComponent";
|
||||||
|
|
||||||
|
const SystemContainer = () => {
|
||||||
|
return <ResetCacheComponent />;
|
||||||
|
};
|
||||||
|
|
||||||
|
export default SystemContainer;
|
|
@ -9,7 +9,8 @@ const permissionCodes = {
|
||||||
VIEW_MACHINES: "VIEW_MACHINES",
|
VIEW_MACHINES: "VIEW_MACHINES",
|
||||||
MANAGE_MACHINES: "MANAGE_MACHINES",
|
MANAGE_MACHINES: "MANAGE_MACHINES",
|
||||||
OPERATE_MACHINES: "OPERATE_MACHINES",
|
OPERATE_MACHINES: "OPERATE_MACHINES",
|
||||||
GUEST_ACCESS: "GUEST_ACCESS"
|
GUEST_ACCESS: "GUEST_ACCESS",
|
||||||
|
SYSTEM_ADMINISTRATION: "SYSTEM_ADMINISTRATION"
|
||||||
};
|
};
|
||||||
|
|
||||||
const initialState = {
|
const initialState = {
|
||||||
|
@ -32,6 +33,8 @@ const getPermissionFlags = permissions => {
|
||||||
permissions.includes(permissionCodes.OPERATE_MACHINES) ?? false;
|
permissions.includes(permissionCodes.OPERATE_MACHINES) ?? false;
|
||||||
const guestAccess =
|
const guestAccess =
|
||||||
permissions.includes(permissionCodes.GUEST_ACCESS) ?? false;
|
permissions.includes(permissionCodes.GUEST_ACCESS) ?? false;
|
||||||
|
const sysAdmin =
|
||||||
|
permissions.includes(permissionCodes.SYSTEM_ADMINISTRATION) ?? false;
|
||||||
|
|
||||||
const flags = {
|
const flags = {
|
||||||
viewDashboard,
|
viewDashboard,
|
||||||
|
@ -40,7 +43,8 @@ const getPermissionFlags = permissions => {
|
||||||
viewMachines,
|
viewMachines,
|
||||||
manageMachines,
|
manageMachines,
|
||||||
operateMachines,
|
operateMachines,
|
||||||
guestAccess
|
guestAccess,
|
||||||
|
sysAdmin
|
||||||
};
|
};
|
||||||
|
|
||||||
const isGuest = guestAccess === true;
|
const isGuest = guestAccess === true;
|
||||||
|
|
|
@ -11,6 +11,7 @@ const routes = {
|
||||||
permissions: `${securityRoute}/permissions`,
|
permissions: `${securityRoute}/permissions`,
|
||||||
systemVersion: `${systemRoute}/version`,
|
systemVersion: `${systemRoute}/version`,
|
||||||
releaseNotes: `${systemRoute}/release-notes`,
|
releaseNotes: `${systemRoute}/release-notes`,
|
||||||
|
resetCache: `${systemRoute}/reset-cache`,
|
||||||
machines: `${networkRoute}/machines`,
|
machines: `${networkRoute}/machines`,
|
||||||
wakeMachine: `${powerActionsRoute}/wake`,
|
wakeMachine: `${powerActionsRoute}/wake`,
|
||||||
pingMachine: `${powerActionsRoute}/ping`,
|
pingMachine: `${powerActionsRoute}/ping`,
|
||||||
|
|
Loading…
Reference in New Issue