50 lines
1.5 KiB
JavaScript
50 lines
1.5 KiB
JavaScript
/*
|
|
Парус 8 - Панели мониторинга - Редакторы панелей
|
|
Компонент: Заголовок раздела редактора
|
|
*/
|
|
|
|
//---------------------
|
|
//Подключение библиотек
|
|
//---------------------
|
|
|
|
import React from "react"; //Классы React
|
|
import PropTypes from "prop-types"; //Контроль свойств компонента
|
|
import { Divider, Chip } from "@mui/material"; //Интерфейсные компоненты MUI
|
|
|
|
//---------
|
|
//Константы
|
|
//---------
|
|
|
|
//Стили
|
|
const STYLES = {
|
|
DIVIDER: pt => ({ paddingTop: pt || pt === 0 ? `${pt}px` : "20px" }),
|
|
CHIP: maxWidth => ({ cursor: "default", ...(maxWidth ? { maxWidth } : {}) })
|
|
};
|
|
|
|
//-----------
|
|
//Тело модуля
|
|
//-----------
|
|
|
|
//Заголовок раздела редактора
|
|
const P8PEditorSubHeader = ({ title, paddingTop, maxWidth }) => {
|
|
//Формирование представления
|
|
return (
|
|
<Divider sx={STYLES.DIVIDER(paddingTop)}>
|
|
<Chip label={title} size={"small"} title={title} sx={STYLES.CHIP(maxWidth)} />
|
|
</Divider>
|
|
);
|
|
};
|
|
|
|
//Контроль свойств компонента - Заголовок раздела редактора
|
|
P8PEditorSubHeader.propTypes = {
|
|
title: PropTypes.string.isRequired,
|
|
paddingTop: PropTypes.number,
|
|
maxWidth: PropTypes.string
|
|
};
|
|
|
|
//----------------
|
|
//Интерфейс модуля
|
|
//----------------
|
|
|
|
export { P8PEditorSubHeader };
|