/* Парус 8 - Панели мониторинга - Примеры для разработчиков Пример: Индикатор "P8PIndicator" */ //--------------------- //Подключение библиотек //--------------------- import React, { useContext } from "react"; //Классы React import PropTypes from "prop-types"; //Контроль свойств компонента import { Typography, Stack, Divider } from "@mui/material"; //Интерфейсные элементы import { MessagingСtx } from "../../context/messaging"; //Контекст сообщений import { P8P_INDICATOR_VARIANT, P8P_INDICATOR_STATE, P8PIndicator } from "../../components/p8p_indicator"; //Индикатор //--------- //Константы //--------- //Стили const STYLES = { CONTAINER: { textAlign: "center", paddingTop: "20px" }, TITLE: { paddingBottom: "15px" }, DIVIDER: { margin: "15px" } }; //----------- //Тело модуля //----------- //Пример: Индикатор "P8PIndicator" const Indicator = ({ title }) => { //Подключение к контексту сообщений const { showMsgInfo } = useContext(MessagingСtx); //Генерация содержимого return (
{title} Иконка {/* Индикатор (без иконки) */} {/* Индикатор (с иконкой 1) */} {/* Индикатор (с иконкой 2) */} Состояние {/* Индикатор (нейтральный) */} {/* Индикатор (позитивный) */} {/* Индикатор (пограничный) */} {/* Индикатор (негативный) */} Скругление {/* Индикатор (скругленный) */} {/* Индикатор (квадратный) */} Парение {/* Индикатор (парение - 0) */} {/* Индикатор (парение - 3) */} {/* Индикатор (парение - 6) */} {/* Индикатор (парение - 12) */} {/* Индикатор (парение - 18) */} Исполнение {/* Индикатор (парение) */} {/* Индикатор (рамка) */} Подсказка {/* Индикатор (подсказка без форматирования) */} {/* Индикатор (подсказка с форматирование) */} постоянная, равная отношению длины окружности к её диаметру:

π = L/d

`} />
Активность {[P8P_INDICATOR_STATE.UNDEFINED, P8P_INDICATOR_STATE.OK, P8P_INDICATOR_STATE.WARN, P8P_INDICATOR_STATE.ERR].map( (indicatorState, i) => ( showMsgInfo(`Нажатие на индикатор #${i + 1}`)} hint={`Подсказка индикатора #${i + 1}`} /> ) )} Пользовательские цвета {[ ["yellow", "black"], ["darkred", "yellow"], ["orange", "darkblue"], ["magenta", "darkmagenta"] ].map((userColor, i) => ( ))}
); }; //Контроль свойств - Пример: Индикатор "P8PIndicator" Indicator.propTypes = { title: PropTypes.string.isRequired }; //---------------- //Интерфейс модуля //---------------- export { Indicator };