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 ? (