P8-Panels/app/components/p8p_header/p8p_header_button.js

40 lines
1.4 KiB
JavaScript

/*
Парус 8 - Панели мониторинга - Заголовок
Компонент: Кнопка
*/
//---------------------
//Подключение библиотек
//---------------------
import React from "react"; //Классы React
import PropTypes from "prop-types"; //Контроль свойств компонента
import { P8P_COMPONENT_SIZE } from "../../theme/constants"; //Общие константы стилей
import { P8PHeaderButtonBase } from "./components/p8p_header_button_base"; //Базовая кнопка заголовка
//-----------
//Тело модуля
//-----------
//Кнопка
const P8PHeaderButton = ({ icon, value, width, size = P8P_COMPONENT_SIZE.LARGE, iconSize, onClick }) => {
//Генерация содержимого
return <P8PHeaderButtonBase icon={icon} value={value} width={width} size={size} iconSize={iconSize} onClick={onClick} />;
};
//Контроль свойств - Кнопка
P8PHeaderButton.propTypes = {
icon: PropTypes.string,
value: PropTypes.oneOfType([PropTypes.string, PropTypes.number]),
width: PropTypes.oneOfType([PropTypes.string, PropTypes.number]),
iconSize: PropTypes.oneOf(Object.values(P8P_COMPONENT_SIZE)),
size: PropTypes.oneOf(Object.values(P8P_COMPONENT_SIZE)),
onClick: PropTypes.func.isRequired
};
//----------------
//Интерфейс модуля
//----------------
export { P8PHeaderButton };