/* Парус 8 - Панели мониторинга - ПУП - Информация о проектах Список проектов: дополнительная разметка и вёрстка клиентских элементов */ //--------------------- //Подключение библиотек //--------------------- import React from "react"; //Классы React import { Icon, Stack, Paper, Link } from "@mui/material"; //Интерфейсные элементы import { P8P_DATA_GRID_MORE_HEIGHT } from "../../components/p8p_data_grid"; //Таблица данных import { APP_BAR_HEIGHT } from "../../components/p8p_app_workspace"; //Заголовок страницы import { APP_STYLES } from "../../../app.styles"; //Типовые стили import { COMMON_STYLES, formatCostStatusValue, formatCostReadyValue } from "./layouts"; //Общие стили и разметка панели import { Stages } from "./stages"; //Компонент "Этапы проекта" //--------- //Константы //--------- //Высота фильтра (пиксели) const FILTER_HEIGHT = "60px"; //Стили const STYLES = { DATA_GRID_CONTAINER: morePages => ({ height: `calc(100vh - ${APP_BAR_HEIGHT} - ${FILTER_HEIGHT} - ${morePages ? P8P_DATA_GRID_MORE_HEIGHT : "0px"} - 8px)`, ...APP_STYLES.SCROLL }) }; //----------- //Тело модуля //----------- //Формирование значения для колонки "Состояние" проекта const formatPrjStateValue = value => { const [text, icon] = value == 0 ? ["Зарегистрирован", "app_registration"] : value == 1 ? ["Открыт", "lock_open"] : value == 2 ? ["Остановлен", "do_not_disturb_on"] : value == 3 ? ["Закрыт", "lock_outline"] : value == 4 ? ["Согласован", "thumb_up_alt"] : ["Исполнение прекращено", "block"]; return ( {icon} ); }; //Форматирование ячеек таблицы "Проекты" const projectDataCellRender = ({ row, columnDef, showProject }) => { //Формирование представлений switch (columnDef.name) { case "NCOST_STATUS": return { cellProps: { align: "center" }, data: formatCostStatusValue({ value: row[columnDef.name] }) }; case "NCOST_READY": return { cellProps: { align: "center" }, data: formatCostReadyValue(row[columnDef.name]) }; case "NSTATE": return { cellProps: { align: "center" }, data: formatPrjStateValue(row[columnDef.name]) }; case "SCODE": return { data: ( showProject(row["NRN"])}> {row[columnDef.name]} ) }; default: return { data: row[columnDef.name] }; } }; //Генерация представления расширения строки таблицы "Проектов" const projectRowExpandRender = ({ row }) => { return ( ); }; //---------------- //Интерфейс модуля //---------------- export { STYLES as PROJECTS_STYLES, projectDataCellRender, projectRowExpandRender };