45 lines
1.6 KiB
JavaScript
45 lines
1.6 KiB
JavaScript
/*
|
|
Парус 8 - Панели мониторинга - Таблица
|
|
Компонент: Панель инструментов столбца (левая)
|
|
*/
|
|
|
|
//---------------------
|
|
//Подключение библиотек
|
|
//---------------------
|
|
|
|
import React from "react"; //Классы React
|
|
import PropTypes from "prop-types"; //Контроль свойств компонента
|
|
import { IconButton, Icon } from "@mui/material"; //Интерфейсные компоненты
|
|
import { P8P_TABLE_COLUMN_TOOL_BAR_ACTIONS } from "./p8p_table_constants"; //Действия панели инструментов столбца
|
|
|
|
//-----------
|
|
//Тело модуля
|
|
//-----------
|
|
|
|
//Панель инструментов столбца (левая)
|
|
const P8PTableColumnToolBarLeft = ({ columnDef, onItemClick }) => {
|
|
//Кнопка развёртывания/свёртывания
|
|
let expButton = null;
|
|
if (columnDef.expandable)
|
|
expButton = (
|
|
<IconButton onClick={() => (onItemClick ? onItemClick(P8P_TABLE_COLUMN_TOOL_BAR_ACTIONS.EXPAND_TOGGLE, columnDef.name) : null)}>
|
|
<Icon>{columnDef.expanded ? "indeterminate_check_box" : "add_box"}</Icon>
|
|
</IconButton>
|
|
);
|
|
|
|
//Генерация содержимого
|
|
return <>{expButton}</>;
|
|
};
|
|
|
|
//Контроль свойств - Панель инструментов столбца (левая)
|
|
P8PTableColumnToolBarLeft.propTypes = {
|
|
columnDef: PropTypes.object.isRequired,
|
|
onItemClick: PropTypes.func
|
|
};
|
|
|
|
//----------------
|
|
//Интерфейс модуля
|
|
//----------------
|
|
|
|
export { P8PTableColumnToolBarLeft };
|