icon disabling

main
alex 2023-06-21 22:21:12 +02:00
parent 4da538b838
commit 5512c53bf7
3 changed files with 44 additions and 22 deletions

View File

@ -8,7 +8,7 @@ import {
SnippetsOutlined,
UsergroupAddOutlined,
} from "@ant-design/icons";
import { Badge, Divider, Menu } from "antd";
import { Badge, Divider, Menu, Space } from "antd";
import Sider from "antd/es/layout/Sider";
import { useContext, useEffect, useState } from "react";
import { useLocation, useNavigate } from "react-router-dom";
@ -28,10 +28,8 @@ export default function SideMenu({ userSession, setUserSession }) {
const navigate = useNavigate();
function getCurrentUsedScannerName() {
const userId = getUserId();
const scannerName = webSocketContext.Scanners.find(
(scanner) => scanner.UsedByUserId === userId
(scanner) => scanner.UsedByUserId === getUserId()
)?.Name;
return scannerName === undefined ? "No scanner selected" : scannerName;
@ -138,7 +136,7 @@ export default function SideMenu({ userSession, setUserSession }) {
key: "/users",
},
{
label: " " + webSocketContext.User.Username,
label: ` ${webSocketContext.User.Username}`,
icon: (
<MyAvatar
allUsers={webSocketContext.AllUsers}

View File

@ -347,6 +347,11 @@ function Role({ treeData, role, webSocketContext, notificationApi }) {
);
};
const getMaxRoleSortingOrder = () => {
return webSocketContext.AllRoles[webSocketContext.AllRoles.length - 1]
.SortingOrder;
};
return (
<Collapse
collapsible={editMode ? "icon" : "header"}
@ -356,7 +361,14 @@ function Role({ treeData, role, webSocketContext, notificationApi }) {
key: "2",
extra: editMode ? (
<Space key="spaceedit" style={{ paddingLeft: 10 }} size="small">
{!role.Master && getUsersInRole().length === 0 && (
{role.Master || getUsersInRole().length > 0 ? (
<DeleteOutlined
style={{
color: "rgba(0, 0, 0, 0.25)",
cursor: "not-allowed",
}}
/>
) : (
<Popconfirm
title="Delete role"
description="Are you sure to delete this role?"
@ -368,12 +380,32 @@ function Role({ treeData, role, webSocketContext, notificationApi }) {
</Tooltip>
</Popconfirm>
)}
<Tooltip title="Move role up">
<ArrowUpOutlined onClick={() => onMoveUpClick()} />
</Tooltip>
<Tooltip title="Move role down">
<ArrowDownOutlined onClick={() => onMoveDownClick()} />
</Tooltip>
{role.SortingOrder === 0 ? (
<ArrowUpOutlined
style={{
color: "rgba(0, 0, 0, 0.25)",
cursor: "not-allowed",
}}
/>
) : (
<Tooltip title="Move role up">
<ArrowUpOutlined onClick={() => onMoveUpClick()} />
</Tooltip>
)}
{role.SortingOrder === getMaxRoleSortingOrder() ? (
<ArrowDownOutlined
style={{
color: "rgba(0, 0, 0, 0.25)",
cursor: "not-allowed",
}}
/>
) : (
<Tooltip title="Move role down">
<ArrowDownOutlined onClick={() => onMoveDownClick()} />
</Tooltip>
)}
<Tooltip title="Save">
<SaveOutlined onClick={() => onSaveClick()} />
</Tooltip>

View File

@ -565,16 +565,10 @@ export function WebSocketProvider({
(item) => item.RoleId === body.RoleId
);
console.log("roleIndex", roleIndex);
if (body.Changes.AddedPermissions !== undefined) {
console.log("updating role", newArr[roleIndex].Permissions);
if (newArr[roleIndex].Permissions === null) {
console.log("here null");
newArr[roleIndex].Permissions = body.Changes.AddedPermissions;
} else {
console.warn("here2");
newArr[roleIndex].Permissions = newArr[
roleIndex
].Permissions.concat(body.Changes.AddedPermissions);
@ -590,8 +584,6 @@ export function WebSocketProvider({
);
}
console.log("after edit", newArr[roleIndex].Permissions);
return newArr;
});
}
@ -687,7 +679,7 @@ export function WebSocketProvider({
ws.current.onclose = (event) => {
setIsReady(false);
setConnectionBadgeStatus("error");
console.log("closed", event);
console.warn("closed", event);
// custom code defined by the backend server
if (event.code === 4001 || event.code === 4002) {
@ -700,7 +692,7 @@ export function WebSocketProvider({
if (event.reason.code === 1005) return;
console.log("reconnecting...");
console.warn("reconnecting...");
setTimeout(() => connect(), 1000);
};