From a3601906c8bd8de744f46ca3df3335b6e51c7d77 Mon Sep 17 00:00:00 2001 From: alex Date: Tue, 29 Aug 2023 07:31:18 +0200 Subject: [PATCH] categories --- public/locales/de/translation.json | 2 +- public/locales/en/translation.json | 2 +- src/Components/AppRoutes/index.js | 22 ++++++++------ src/Components/SideMenu/index.js | 42 +++++++++++++++++++------- src/Contexts/SideBarContext.js | 8 ++--- src/Contexts/WebSocketContext.js | 2 +- src/Pages/GroupTasks/Overview/index.js | 6 ++-- src/utils.js | 1 - 8 files changed, 54 insertions(+), 31 deletions(-) diff --git a/public/locales/de/translation.json b/public/locales/de/translation.json index b8c6055..44cca96 100644 --- a/public/locales/de/translation.json +++ b/public/locales/de/translation.json @@ -29,7 +29,7 @@ "equipmentDocumentation": "Gerätedokumentation", "groupTasks": { "menuCategory": "Gruppenaufgaben", - "overview": "Gruppenaufgaben", + "overview": "Kategorien", "history": "Verlauf" }, "adminArea": { diff --git a/public/locales/en/translation.json b/public/locales/en/translation.json index d27fe74..580a30c 100644 --- a/public/locales/en/translation.json +++ b/public/locales/en/translation.json @@ -29,7 +29,7 @@ "equipmentDocumentation": "Equipment Documentation", "groupTasks": { "menuCategory": "Group Tasks", - "overview": "Group Tasks", + "overview": "Categories", "history": "History" }, "adminArea": { diff --git a/src/Components/AppRoutes/index.js b/src/Components/AppRoutes/index.js index 6a39f2d..4c01687 100644 --- a/src/Components/AppRoutes/index.js +++ b/src/Components/AppRoutes/index.js @@ -48,6 +48,17 @@ function SuspenseFallback({ children }) { export default function AppRoutes() { const appContext = useAppContext(); + /* + + + + } + /> + */ + console.info("appRoutes"); return ( @@ -122,7 +133,7 @@ export default function AppRoutes() { )} @@ -130,15 +141,6 @@ export default function AppRoutes() { } /> - - - - } - /> - {hasPermission( appContext.userPermissions, Constants.PERMISSIONS.GROUP_TASKS.HISTORY diff --git a/src/Components/SideMenu/index.js b/src/Components/SideMenu/index.js index 33a2177..da255a3 100644 --- a/src/Components/SideMenu/index.js +++ b/src/Components/SideMenu/index.js @@ -51,6 +51,7 @@ export default function SideMenu({ }; const getFirstMenuItems = () => { + // dashboard let items = [ { label: t("sideMenu.dashboard"), @@ -59,6 +60,7 @@ export default function SideMenu({ }, ]; + // equipment documentation if ( hasPermission( appContext.userPermissions, @@ -72,37 +74,52 @@ export default function SideMenu({ }); } - let groupTasks = { + // group tasks + let groupTasksGroup = { label: t("sideMenu.groupTasks.menuCategory"), type: "group", - children: [ - { - label: t("sideMenu.groupTasks.overview"), - icon: , - key: "/group-tasks", - }, - ], + icon: , + key: "/group-tasks", + children: [], }; + let groupTasks = { + label: t("sideMenu.groupTasks.overview"), + icon: , + children: [], + }; + + for (let i = 0; i < sideBarContext.availableCategoryGroups.length; i++) { + groupTasks.children.push({ + label: sideBarContext.availableCategoryGroups[i], + icon: , + key: `/group-tasks/${sideBarContext.availableCategoryGroups[i]}`, + }); + } + + groupTasksGroup.children.push(groupTasks); + if ( hasPermission( appContext.userPermissions, Constants.PERMISSIONS.GROUP_TASKS.HISTORY ) ) { - groupTasks.children.push({ + groupTasksGroup.children.push({ label: t("sideMenu.groupTasks.history"), icon: , key: "/group-tasks-history", }); } - items.push(groupTasks); + items.push(groupTasksGroup); + // divider items.push({ type: "divider", }); + // admin area if ( hasOnePermission( appContext.userPermissions, @@ -158,6 +175,7 @@ export default function SideMenu({ const getSecondMenuItems = () => { let items = []; + // scanner if ( hasPermission( appContext.userPermissions, @@ -171,6 +189,7 @@ export default function SideMenu({ }); } + // connection status, userprofile, logout items.push( { icon: ( @@ -266,7 +285,8 @@ export default function SideMenu({ navigate(item.key)} items={getSecondMenuItems()} diff --git a/src/Contexts/SideBarContext.js b/src/Contexts/SideBarContext.js index 51e45a8..b60db35 100644 --- a/src/Contexts/SideBarContext.js +++ b/src/Contexts/SideBarContext.js @@ -7,7 +7,7 @@ const preview = { selectedScanner: "", username: "", avatar: "", - availableGroupTasks: [], + availableCategoryGroups: [], }; const SideBarContext = createContext(preview); @@ -20,7 +20,7 @@ export default function SideBarProvider({ children }) { const [selectedScanner, setSelectedScanner] = useState(""); const [username, setUsername] = useState(Constants.LOADING); // const [avatar, setAvatar] = useState(""); - const [availableGroupTasks, setAvailableGroupTasks] = useState([]); + const [availableCategoryGroups, setAvailableCategoryGroups] = useState([]); return ( {children} diff --git a/src/Contexts/WebSocketContext.js b/src/Contexts/WebSocketContext.js index 8663be6..b233aa3 100644 --- a/src/Contexts/WebSocketContext.js +++ b/src/Contexts/WebSocketContext.js @@ -47,7 +47,7 @@ export default function WebSocketProvider({ appContext.setUsers(data.Users); sideBarContext.setUsername(data.Username); sideBarContext.setAvatar(data.Avatar); - sideBarContext.setAvailableGroupTasks(data.AvailableGroupTasks); + sideBarContext.setAvailableCategoryGroups(data.AvailableCategoryGroups); }); }; diff --git a/src/Pages/GroupTasks/Overview/index.js b/src/Pages/GroupTasks/Overview/index.js index 80bc5c5..d1f8036 100644 --- a/src/Pages/GroupTasks/Overview/index.js +++ b/src/Pages/GroupTasks/Overview/index.js @@ -15,11 +15,13 @@ import { ReloadOutlined } from "@ant-design/icons"; import { useGroupTasksContext } from "../../../Contexts/GroupTasksContext"; import { useAppContext } from "../../../Contexts/AppContext"; import { useWebSocketContext } from "../../../Contexts/WebSocketContext"; +import { useParams } from "react-router-dom"; export default function GroupTasks({ isGroupTasksViewModalOpen }) { const webSocketContext = useWebSocketContext(); const appContext = useAppContext(); const groupTasksContext = useGroupTasksContext(); + const { paramCategory } = useParams(); const [isGroupTypeSelectionModalOpen, setIsGroupTypeSelectionModalOpen] = useState(false); @@ -58,14 +60,14 @@ export default function GroupTasks({ isGroupTasksViewModalOpen }) { }; useEffect(() => { - myFetch("/grouptasks", "GET").then((data) => { + myFetch(`/grouptasks/${paramCategory}`, "GET").then((data) => { console.log("group tasks", data); groupTasksContext.setCategoryGroups(data.CategoryGroups); groupTasksContext.setGroupTasks(data.GroupTasks); groupTasksContext.setGroupTasksSteps(data.GroupTasksSteps); }); - }, []); + }, [paramCategory]); return ( <> diff --git a/src/utils.js b/src/utils.js index 628d585..7fe19a8 100644 --- a/src/utils.js +++ b/src/utils.js @@ -47,7 +47,6 @@ export const Constants = { ROUTE_PATHS: { EQUIPMENT_DOCUMENTATION: "/equipment-documentation", EQUIPMENT_DOCUMENTATION_VIEW: "/equipment-documentation/", - EQUIPMENT_DOCUMENTATION_CREATE: "/equipment-documentation/create/", GROUP_TASKS: "/group-tasks", GROUP_TASKS_VIEW: "/group-tasks/", },