/* Парус 8 - Панели мониторинга - УДП - Доски задач Компонент панели: Диалог формы события */ //--------------------- //Подключение библиотек //--------------------- import React, { useState } from "react"; //Классы React import PropTypes from "prop-types"; //Контроль свойств компонента import { Dialog, DialogContent, DialogActions, Button } from "@mui/material"; //Интерфейсные компоненты import { useClientEvent } from "./hooks/task_dialog_hooks"; //Хук для события import { APP_STYLES } from "../../../app.styles"; //Типовые стили import { TaskForm } from "./components/task_form"; //Форма события //--------- //Константы //--------- //Стили const STYLES = { DIALOG_CONTENT: { paddingBottom: "0px", maxHeight: "740px", minHeight: "740px", ...APP_STYLES.SCROLL }, DIALOG_ACTIONS: { justifyContent: "end", paddingRight: "24px", paddingLeft: "24px" } }; //----------- //Тело модуля //----------- //Диалог с формой события const TaskDialog = ({ taskRn, taskType, taskStatus, editable, onReload, onClose }) => { //Собственное состояние const [task, setTask, insertEvent, updateEvent, handleEventNextNumbGet] = useClientEvent(taskRn, taskType, taskStatus); //Состояние заполненности всех обязательных свойств const [dpReady, setDPReady] = useState(false); //Изменение состояния заполненности всех обязательных свойств const handleDPReady = v => setDPReady(v); //Генерация содержимого return ( {onClose ? ( {taskRn ? ( ) : ( )} ) : null} ); }; //Контроль свойств - Диалог с формой события TaskDialog.propTypes = { taskRn: PropTypes.number, taskType: PropTypes.string.isRequired, taskStatus: PropTypes.string, editable: PropTypes.bool, onReload: PropTypes.func.isRequired, onClose: PropTypes.func.isRequired }; //---------------- //Интерфейс модуля //---------------- export { TaskDialog };