/* Парус 8 - Панели мониторинга - Заголовок Компонент: Плавающая кнопка действия */ //--------------------- //Подключение библиотек //--------------------- import React, { useContext } from "react"; //Классы React import PropTypes from "prop-types"; //Контроль свойств компонента import { ApplicationCtx } from "../../context/application"; //Контекст приложения import { P8P_COMPONENT_SIZE } from "../../theme/constants"; //Общие константы стилей import { P8PHeaderButtonBase } from "./components/p8p_header_button_base"; //Общие константы стилей //--------- //Константы //--------- //Структура элемента входного параметра const P8P_HEADER_DICT_INPUT_PRMS = PropTypes.shape({ name: PropTypes.string.isRequired, value: PropTypes.oneOfType([PropTypes.string, PropTypes.number]).isRequired }); //----------- //Тело модуля //----------- //Выбор значения из словаря const P8PHeaderDictionary = ({ value, placeholder, unitCode, showMethod = "main", inputParameters, width, onSelect, onClear }) => { //Подключение к контексту приложения const { pOnlineShowDictionary } = useContext(ApplicationCtx); //При нажатии на кнопку const handleButtonClick = () => { pOnlineShowDictionary({ unitCode, showMethod, inputParameters, callBack: res => res.success && onSelect && onSelect(res.outParameters) }); }; //Формирование представления return ( ); }; //Контроль свойств - Выбор значения из словаря P8PHeaderDictionary.propTypes = { value: PropTypes.oneOfType([PropTypes.string, PropTypes.number]), placeholder: PropTypes.string.isRequired, unitCode: PropTypes.string.isRequired, showMethod: PropTypes.string, inputParameters: PropTypes.arrayOf(P8P_HEADER_DICT_INPUT_PRMS), width: PropTypes.string, onSelect: PropTypes.func, onClear: PropTypes.func }; //---------------- //Интерфейс модуля //---------------- export { P8PHeaderDictionary };