import { createContext, useMemo, useState } from "react"; import { useAuth } from "@web/src/providers/auth-provider"; import { RolePerms } from "@nice/common"; import { Button, FormInstance } from "antd"; import { useForm } from "antd/es/form/Form"; import DepartmentList from "./department-list"; import DeptModal from "./dept-modal"; import DeptImportModal from "./dept-import-modal"; import FixedHeader from "../../layout/fix-header"; export const DeptEditorContext = createContext<{ parentId: string; domainId: string; modalOpen: boolean; setParentId: React.Dispatch>; setDomainId: React.Dispatch>; setModalOpen: React.Dispatch>; editId: string; setEditId: React.Dispatch>; form: FormInstance; canManageDept: boolean; importModalOpen: boolean; setImportModalOpen: React.Dispatch>; }>(undefined); export default function DeptEditor() { const [parentId, setParentId] = useState(); const [domainId, setDomainId] = useState(); const [modalOpen, setModalOpen] = useState(false); const [importModalOpen, setImportModalOpen] = useState(false); const { user, hasSomePermissions } = useAuth(); const [editId, setEditId] = useState(); const [form] = useForm(); const canManageDept = useMemo(() => { return hasSomePermissions( RolePerms.MANAGE_ANY_DEPT, RolePerms.MANAGE_DOM_DEPT ); }, [user]); return (
{canManageDept && ( <> )}
); }