/*
    Парус 8 - Панели мониторинга - РО - Редактор настройки регламентированного отчёта
    Компонент панели: Состав показателя
*/

//---------------------
//Подключение библиотек
//---------------------

import React from "react"; //Классы React
import PropTypes from "prop-types"; //Контроль свойств компонента
import { Table, TableBody, TableRow, TableCell, Link } from "@mui/material"; //Интерфейсные компоненты
import { STYLES as COMMON_STYLES } from "../common"; //Общие стили и константы

//---------
//Константы
//---------

//Стили
const STYLES = {
    DATA_CELL_CN: {
        textOverflow: "ellipsis",
        overflow: "hidden",
        whiteSpace: "pre",
        padding: "0px",
        maxWidth: "100px",
        border: "none",
        ...COMMON_STYLES.FONT_MARK_CARD_BODY
    }
};

//-----------
//Тело модуля
//-----------

//Состав показателя
const MarkCnList = ({ constitution, onMarkCnOpen }) => {
    return (
        <Table>
            <TableBody>
                {constitution.map((el, index) => {
                    return (
                        <TableRow key={index}>
                            <TableCell sx={STYLES.DATA_CELL_CN} title={el.SDESC} align={"left"} size={"small"}>
                                <Link sx={COMMON_STYLES.LINK} onClick={() => onMarkCnOpen && onMarkCnOpen(el.NRN)}>
                                    {el.SDESC}
                                </Link>
                            </TableCell>
                        </TableRow>
                    );
                })}
            </TableBody>
        </Table>
    );
};

//Контроль свойств - Состав показателя
MarkCnList.propTypes = {
    constitution: PropTypes.array.isRequired,
    onMarkCnOpen: PropTypes.func
};

//----------------
//Интерфейс модуля
//----------------

export { MarkCnList };
