import { Button, Col, Popconfirm, Result, Row } from "antd"; import { useEffect, useState } from "react"; import GroupTasksViewModal from "./GroupTasksViewModal"; import GroupTypeSelectionModal from "./GroupTypeSelectionModal"; import GroupTaskTableList from "./GroupTasksTableList"; import { Constants, SentMessagesCommands, hasPermission, hasXYPermission, myFetch, } from "../../../utils"; import { useTranslation } from "react-i18next"; 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); const [currentCategoryGroup, setCurrentCategoryGroup] = useState([]); const [currentSelectedModalGroupType, setCurrentSelectedModalGroupType] = useState(); const { t } = useTranslation(); const showGroupTypeSelectionModal = (categoryGroup) => { setCurrentCategoryGroup(categoryGroup); setIsGroupTypeSelectionModalOpen(true); setCurrentSelectedModalGroupType(null); }; const filteredCategoryGroups = groupTasksContext.categoryGroups.filter( (categoryGroup) => hasXYPermission( appContext.userPermissions, Constants.PERMISSIONS.GROUP_TASKS.OVERVIEW.XYView, categoryGroup.category ) ); const onCheckingForCategoryGroupChanges = () => { webSocketContext.SendSocketMessage( SentMessagesCommands.GroupTasksCheckingForCategoryGroupChanges, {} ); }; const onInstallGlobalPythonPackages = () => { webSocketContext.SendSocketMessage( SentMessagesCommands.GroupTasksInstallGlobalPythonPackages, {} ); }; useEffect(() => { 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 ( <> {groupTasksContext.categoryGroups.length === 0 ? ( ) : ( <> {filteredCategoryGroups.length > 0 ? ( <> {hasPermission( appContext.userPermissions, Constants.PERMISSIONS.GROUP_TASKS .INSTALL_GLOBAL_PYTHON_PACKAGES ) && (
onInstallGlobalPythonPackages()} >
)}
{filteredCategoryGroups.map((categoryGroup) => { return ( ); })} ) : ( )} )} {hasPermission( appContext.userPermissions, Constants.PERMISSIONS.GROUP_TASKS.CHECKING_FOR_CATEGORY_GROUP_CHANGES ) && (
onCheckingForCategoryGroupChanges()} >
)} ); }