categories
parent
dcad1eab9e
commit
a3601906c8
|
@ -29,7 +29,7 @@
|
||||||
"equipmentDocumentation": "Gerätedokumentation",
|
"equipmentDocumentation": "Gerätedokumentation",
|
||||||
"groupTasks": {
|
"groupTasks": {
|
||||||
"menuCategory": "Gruppenaufgaben",
|
"menuCategory": "Gruppenaufgaben",
|
||||||
"overview": "Gruppenaufgaben",
|
"overview": "Kategorien",
|
||||||
"history": "Verlauf"
|
"history": "Verlauf"
|
||||||
},
|
},
|
||||||
"adminArea": {
|
"adminArea": {
|
||||||
|
|
|
@ -29,7 +29,7 @@
|
||||||
"equipmentDocumentation": "Equipment Documentation",
|
"equipmentDocumentation": "Equipment Documentation",
|
||||||
"groupTasks": {
|
"groupTasks": {
|
||||||
"menuCategory": "Group Tasks",
|
"menuCategory": "Group Tasks",
|
||||||
"overview": "Group Tasks",
|
"overview": "Categories",
|
||||||
"history": "History"
|
"history": "History"
|
||||||
},
|
},
|
||||||
"adminArea": {
|
"adminArea": {
|
||||||
|
|
|
@ -48,6 +48,17 @@ function SuspenseFallback({ children }) {
|
||||||
export default function AppRoutes() {
|
export default function AppRoutes() {
|
||||||
const appContext = useAppContext();
|
const appContext = useAppContext();
|
||||||
|
|
||||||
|
/*
|
||||||
|
<Route
|
||||||
|
path={Constants.ROUTE_PATHS.GROUP_TASKS_VIEW + ":paramGroupTaskId"}
|
||||||
|
element={
|
||||||
|
<SuspenseFallback>
|
||||||
|
<GroupTasks isGroupTasksViewModalOpen={true} />
|
||||||
|
</SuspenseFallback>
|
||||||
|
}
|
||||||
|
/>
|
||||||
|
*/
|
||||||
|
|
||||||
console.info("appRoutes");
|
console.info("appRoutes");
|
||||||
|
|
||||||
return (
|
return (
|
||||||
|
@ -122,7 +133,7 @@ export default function AppRoutes() {
|
||||||
)}
|
)}
|
||||||
|
|
||||||
<Route
|
<Route
|
||||||
path={Constants.ROUTE_PATHS.GROUP_TASKS}
|
path={`${Constants.ROUTE_PATHS.GROUP_TASKS_VIEW}:paramCategory`}
|
||||||
element={
|
element={
|
||||||
<SuspenseFallback>
|
<SuspenseFallback>
|
||||||
<GroupTasks isGroupTasksViewModalOpen={false} />
|
<GroupTasks isGroupTasksViewModalOpen={false} />
|
||||||
|
@ -130,15 +141,6 @@ export default function AppRoutes() {
|
||||||
}
|
}
|
||||||
/>
|
/>
|
||||||
|
|
||||||
<Route
|
|
||||||
path={Constants.ROUTE_PATHS.GROUP_TASKS_VIEW + ":paramGroupTaskId"}
|
|
||||||
element={
|
|
||||||
<SuspenseFallback>
|
|
||||||
<GroupTasks isGroupTasksViewModalOpen={true} />
|
|
||||||
</SuspenseFallback>
|
|
||||||
}
|
|
||||||
/>
|
|
||||||
|
|
||||||
{hasPermission(
|
{hasPermission(
|
||||||
appContext.userPermissions,
|
appContext.userPermissions,
|
||||||
Constants.PERMISSIONS.GROUP_TASKS.HISTORY
|
Constants.PERMISSIONS.GROUP_TASKS.HISTORY
|
||||||
|
|
|
@ -51,6 +51,7 @@ export default function SideMenu({
|
||||||
};
|
};
|
||||||
|
|
||||||
const getFirstMenuItems = () => {
|
const getFirstMenuItems = () => {
|
||||||
|
// dashboard
|
||||||
let items = [
|
let items = [
|
||||||
{
|
{
|
||||||
label: t("sideMenu.dashboard"),
|
label: t("sideMenu.dashboard"),
|
||||||
|
@ -59,6 +60,7 @@ export default function SideMenu({
|
||||||
},
|
},
|
||||||
];
|
];
|
||||||
|
|
||||||
|
// equipment documentation
|
||||||
if (
|
if (
|
||||||
hasPermission(
|
hasPermission(
|
||||||
appContext.userPermissions,
|
appContext.userPermissions,
|
||||||
|
@ -72,37 +74,52 @@ export default function SideMenu({
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
let groupTasks = {
|
// group tasks
|
||||||
|
let groupTasksGroup = {
|
||||||
label: t("sideMenu.groupTasks.menuCategory"),
|
label: t("sideMenu.groupTasks.menuCategory"),
|
||||||
type: "group",
|
type: "group",
|
||||||
children: [
|
icon: <SnippetsOutlined />,
|
||||||
{
|
key: "/group-tasks",
|
||||||
label: t("sideMenu.groupTasks.overview"),
|
children: [],
|
||||||
icon: <SnippetsOutlined />,
|
|
||||||
key: "/group-tasks",
|
|
||||||
},
|
|
||||||
],
|
|
||||||
};
|
};
|
||||||
|
|
||||||
|
let groupTasks = {
|
||||||
|
label: t("sideMenu.groupTasks.overview"),
|
||||||
|
icon: <SnippetsOutlined />,
|
||||||
|
children: [],
|
||||||
|
};
|
||||||
|
|
||||||
|
for (let i = 0; i < sideBarContext.availableCategoryGroups.length; i++) {
|
||||||
|
groupTasks.children.push({
|
||||||
|
label: sideBarContext.availableCategoryGroups[i],
|
||||||
|
icon: <SnippetsOutlined />,
|
||||||
|
key: `/group-tasks/${sideBarContext.availableCategoryGroups[i]}`,
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
groupTasksGroup.children.push(groupTasks);
|
||||||
|
|
||||||
if (
|
if (
|
||||||
hasPermission(
|
hasPermission(
|
||||||
appContext.userPermissions,
|
appContext.userPermissions,
|
||||||
Constants.PERMISSIONS.GROUP_TASKS.HISTORY
|
Constants.PERMISSIONS.GROUP_TASKS.HISTORY
|
||||||
)
|
)
|
||||||
) {
|
) {
|
||||||
groupTasks.children.push({
|
groupTasksGroup.children.push({
|
||||||
label: t("sideMenu.groupTasks.history"),
|
label: t("sideMenu.groupTasks.history"),
|
||||||
icon: <HistoryOutlined />,
|
icon: <HistoryOutlined />,
|
||||||
key: "/group-tasks-history",
|
key: "/group-tasks-history",
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
items.push(groupTasks);
|
items.push(groupTasksGroup);
|
||||||
|
|
||||||
|
// divider
|
||||||
items.push({
|
items.push({
|
||||||
type: "divider",
|
type: "divider",
|
||||||
});
|
});
|
||||||
|
|
||||||
|
// admin area
|
||||||
if (
|
if (
|
||||||
hasOnePermission(
|
hasOnePermission(
|
||||||
appContext.userPermissions,
|
appContext.userPermissions,
|
||||||
|
@ -158,6 +175,7 @@ export default function SideMenu({
|
||||||
const getSecondMenuItems = () => {
|
const getSecondMenuItems = () => {
|
||||||
let items = [];
|
let items = [];
|
||||||
|
|
||||||
|
// scanner
|
||||||
if (
|
if (
|
||||||
hasPermission(
|
hasPermission(
|
||||||
appContext.userPermissions,
|
appContext.userPermissions,
|
||||||
|
@ -171,6 +189,7 @@ export default function SideMenu({
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// connection status, userprofile, logout
|
||||||
items.push(
|
items.push(
|
||||||
{
|
{
|
||||||
icon: (
|
icon: (
|
||||||
|
@ -266,7 +285,8 @@ export default function SideMenu({
|
||||||
<Divider />
|
<Divider />
|
||||||
|
|
||||||
<Menu
|
<Menu
|
||||||
selectable={false}
|
selectable={true}
|
||||||
|
selectedKeys={[selectedKeys]}
|
||||||
mode="vertical"
|
mode="vertical"
|
||||||
onClick={(item) => navigate(item.key)}
|
onClick={(item) => navigate(item.key)}
|
||||||
items={getSecondMenuItems()}
|
items={getSecondMenuItems()}
|
||||||
|
|
|
@ -7,7 +7,7 @@ const preview = {
|
||||||
selectedScanner: "",
|
selectedScanner: "",
|
||||||
username: "",
|
username: "",
|
||||||
avatar: "",
|
avatar: "",
|
||||||
availableGroupTasks: [],
|
availableCategoryGroups: [],
|
||||||
};
|
};
|
||||||
|
|
||||||
const SideBarContext = createContext(preview);
|
const SideBarContext = createContext(preview);
|
||||||
|
@ -20,7 +20,7 @@ export default function SideBarProvider({ children }) {
|
||||||
const [selectedScanner, setSelectedScanner] = useState("");
|
const [selectedScanner, setSelectedScanner] = useState("");
|
||||||
const [username, setUsername] = useState(Constants.LOADING); //
|
const [username, setUsername] = useState(Constants.LOADING); //
|
||||||
const [avatar, setAvatar] = useState("");
|
const [avatar, setAvatar] = useState("");
|
||||||
const [availableGroupTasks, setAvailableGroupTasks] = useState([]);
|
const [availableCategoryGroups, setAvailableCategoryGroups] = useState([]);
|
||||||
|
|
||||||
return (
|
return (
|
||||||
<SideBarContext.Provider
|
<SideBarContext.Provider
|
||||||
|
@ -35,8 +35,8 @@ export default function SideBarProvider({ children }) {
|
||||||
setUsername,
|
setUsername,
|
||||||
avatar,
|
avatar,
|
||||||
setAvatar,
|
setAvatar,
|
||||||
availableGroupTasks,
|
availableCategoryGroups,
|
||||||
setAvailableGroupTasks,
|
setAvailableCategoryGroups,
|
||||||
}}
|
}}
|
||||||
>
|
>
|
||||||
{children}
|
{children}
|
||||||
|
|
|
@ -47,7 +47,7 @@ export default function WebSocketProvider({
|
||||||
appContext.setUsers(data.Users);
|
appContext.setUsers(data.Users);
|
||||||
sideBarContext.setUsername(data.Username);
|
sideBarContext.setUsername(data.Username);
|
||||||
sideBarContext.setAvatar(data.Avatar);
|
sideBarContext.setAvatar(data.Avatar);
|
||||||
sideBarContext.setAvailableGroupTasks(data.AvailableGroupTasks);
|
sideBarContext.setAvailableCategoryGroups(data.AvailableCategoryGroups);
|
||||||
});
|
});
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
|
@ -15,11 +15,13 @@ import { ReloadOutlined } from "@ant-design/icons";
|
||||||
import { useGroupTasksContext } from "../../../Contexts/GroupTasksContext";
|
import { useGroupTasksContext } from "../../../Contexts/GroupTasksContext";
|
||||||
import { useAppContext } from "../../../Contexts/AppContext";
|
import { useAppContext } from "../../../Contexts/AppContext";
|
||||||
import { useWebSocketContext } from "../../../Contexts/WebSocketContext";
|
import { useWebSocketContext } from "../../../Contexts/WebSocketContext";
|
||||||
|
import { useParams } from "react-router-dom";
|
||||||
|
|
||||||
export default function GroupTasks({ isGroupTasksViewModalOpen }) {
|
export default function GroupTasks({ isGroupTasksViewModalOpen }) {
|
||||||
const webSocketContext = useWebSocketContext();
|
const webSocketContext = useWebSocketContext();
|
||||||
const appContext = useAppContext();
|
const appContext = useAppContext();
|
||||||
const groupTasksContext = useGroupTasksContext();
|
const groupTasksContext = useGroupTasksContext();
|
||||||
|
const { paramCategory } = useParams();
|
||||||
|
|
||||||
const [isGroupTypeSelectionModalOpen, setIsGroupTypeSelectionModalOpen] =
|
const [isGroupTypeSelectionModalOpen, setIsGroupTypeSelectionModalOpen] =
|
||||||
useState(false);
|
useState(false);
|
||||||
|
@ -58,14 +60,14 @@ export default function GroupTasks({ isGroupTasksViewModalOpen }) {
|
||||||
};
|
};
|
||||||
|
|
||||||
useEffect(() => {
|
useEffect(() => {
|
||||||
myFetch("/grouptasks", "GET").then((data) => {
|
myFetch(`/grouptasks/${paramCategory}`, "GET").then((data) => {
|
||||||
console.log("group tasks", data);
|
console.log("group tasks", data);
|
||||||
|
|
||||||
groupTasksContext.setCategoryGroups(data.CategoryGroups);
|
groupTasksContext.setCategoryGroups(data.CategoryGroups);
|
||||||
groupTasksContext.setGroupTasks(data.GroupTasks);
|
groupTasksContext.setGroupTasks(data.GroupTasks);
|
||||||
groupTasksContext.setGroupTasksSteps(data.GroupTasksSteps);
|
groupTasksContext.setGroupTasksSteps(data.GroupTasksSteps);
|
||||||
});
|
});
|
||||||
}, []);
|
}, [paramCategory]);
|
||||||
|
|
||||||
return (
|
return (
|
||||||
<>
|
<>
|
||||||
|
|
|
@ -47,7 +47,6 @@ export const Constants = {
|
||||||
ROUTE_PATHS: {
|
ROUTE_PATHS: {
|
||||||
EQUIPMENT_DOCUMENTATION: "/equipment-documentation",
|
EQUIPMENT_DOCUMENTATION: "/equipment-documentation",
|
||||||
EQUIPMENT_DOCUMENTATION_VIEW: "/equipment-documentation/",
|
EQUIPMENT_DOCUMENTATION_VIEW: "/equipment-documentation/",
|
||||||
EQUIPMENT_DOCUMENTATION_CREATE: "/equipment-documentation/create/",
|
|
||||||
GROUP_TASKS: "/group-tasks",
|
GROUP_TASKS: "/group-tasks",
|
||||||
GROUP_TASKS_VIEW: "/group-tasks/",
|
GROUP_TASKS_VIEW: "/group-tasks/",
|
||||||
},
|
},
|
||||||
|
|
Loading…
Reference in New Issue