/* Парус 8 - Панели мониторинга - Редактор панелей Компоненты: График (представление) */ //--------------------- //Подключение библиотек //--------------------- import React from "react"; //Классы React import PropTypes from "prop-types"; //Контроль свойств компонента import { Paper } from "@mui/material"; //Интерфейсные элементы import { P8PChart } from "../../../../components/p8p_chart"; //График import { useDataSource } from "../../../../components/editors/p8p_data_source_hooks"; //Хуки для данных import { P8P_DATA_SOURCE_SHAPE } from "../../../../components/editors/p8p_data_source_common"; //Общие ресурсы источника данных import { P8P_COMPONENT_INLINE_MESSAGE_TYPE, P8P_COMPONENT_INLINE_MESSAGE, P8PComponentInlineMessage } from "../../../../components/editors/p8p_component_inline_message"; //Информационное сообщение внутри компонента //--------- //Константы //--------- //Иконка компонента const COMPONENT_ICON = "bar_chart"; //Наименование компонента const COMPONENT_NAME = "График"; //Стили const STYLES = { CHART: { width: "100%", height: "100%", alignItems: "center", justifyContent: "center", display: "flex" } }; //----------- //Тело модуля //----------- //График (представление) const Chart = ({ dataSource = null, values = {} } = {}) => { //Собственное состояние - данные const [data, error] = useDataSource({ dataSource, values }); //Флаг настроенности графика const haveConfing = dataSource?.stored ? true : false; //Флаг наличия данных const haveData = data?.init === true && !error ? true : false; //Данные графика const chart = data?.XCHART || {}; //Формирование представления return ( {haveConfing && haveData ? ( ) : ( )} ); }; //Контроль свойств компонента - График (представление) Chart.propTypes = { dataSource: P8P_DATA_SOURCE_SHAPE, values: PropTypes.object }; //---------------- //Интерфейс модуля //---------------- export default Chart;