43 lines
1.4 KiB
JavaScript
43 lines
1.4 KiB
JavaScript
/*
|
|
Парус 8 - Панели мониторинга - Редакторы панелей
|
|
Компонент: Диалог настройки
|
|
*/
|
|
|
|
//---------------------
|
|
//Подключение библиотек
|
|
//---------------------
|
|
|
|
import React from "react"; //Классы React
|
|
import PropTypes from "prop-types"; //Контроль свойств компонента
|
|
import { P8PDialog, P8P_DIALOG_WIDTH } from "../p8p_dialog"; //Типовой диалог
|
|
|
|
//-----------
|
|
//Тело модуля
|
|
//-----------
|
|
|
|
//Диалог настройки
|
|
const P8PConfigDialog = ({ title, children, width, onOk, onCancel, okDisabled = false }) => {
|
|
//Формирование представления
|
|
return (
|
|
<P8PDialog title={title} onOk={onOk} onCancel={onCancel} width={width} okDisabled={okDisabled}>
|
|
{children}
|
|
</P8PDialog>
|
|
);
|
|
};
|
|
|
|
//Контроль свойств компонента - Диалог настройки
|
|
P8PConfigDialog.propTypes = {
|
|
title: PropTypes.string.isRequired,
|
|
children: PropTypes.oneOfType([PropTypes.node, PropTypes.arrayOf(PropTypes.node)]),
|
|
width: PropTypes.oneOf(Object.values(P8P_DIALOG_WIDTH)),
|
|
onOk: PropTypes.func,
|
|
onCancel: PropTypes.func,
|
|
okDisabled: PropTypes.bool
|
|
};
|
|
|
|
//----------------
|
|
//Интерфейс модуля
|
|
//----------------
|
|
|
|
export { P8PConfigDialog };
|