/* Парус 8 - Панели мониторинга - УДП - Доски задач Компонент: Диалоговое окно примечания */ //--------------------- //Подключение библиотек //--------------------- import React, { useEffect, useState } from "react"; //Классы React //import { BackEndСtx } from "../../../context/backend"; //Контекст взаимодействия с сервером //import PropTypes from "prop-types"; //Контроль свойств компонента import { Dialog, DialogTitle, IconButton, Icon, DialogContent, DialogActions, Button, TextField } from "@mui/material"; //Интерфейсные компоненты //--------- //Константы //--------- //Стили const STYLES = { DIALOG_ACTIONS: { justifyContent: "end", paddingRight: "24px", paddingLeft: "24px" }, CLOSE_BUTTON: { position: "absolute", right: 8, top: 8, color: theme => theme.palette.grey[500] }, DIALOG_CONTENT: { paddingTop: 0, paddingBottom: 0 } }; //----------------------- //Вспомогательные функции //----------------------- //export const NoteDialogCtx = createContext(); //--------------- //Тело компонента //--------------- //Диалоговое окно фильтра отбора const useNoteDialog = () => { //Собственное состояние const [note, setNote] = useState(); //Состояние отображения окна const [noteDialogOpen, setNoteDialogOpen] = useState(false); useEffect(() => { if (noteDialogOpen) console.log(`Сейчас: ${noteDialogOpen}`); }, [noteDialogOpen]); const handleNoteDialogChange = (value = null) => (value ? setNoteDialogOpen(value) : setNoteDialogOpen(!noteDialogOpen)); const noteDialogRender = (onOk, onCancel) => { //При изменении примечания const handleNoteChange = value => setNote(value); //При закрытии диалога с изменением фильтра const handleOK = () => { setNoteDialogOpen(false); onOk(note); setNote(); }; //При закрытии диалога без изменения фильтра const handleCancel = () => { setNoteDialogOpen(false); setNote(); onCancel(); }; //Генерация содержимого return (