83 lines
2.4 KiB
JavaScript
83 lines
2.4 KiB
JavaScript
/*
|
|
Парус 8 - Панели мониторинга - Редакторы панелей
|
|
Общие ресурсы компонента "Редактор условия"
|
|
*/
|
|
|
|
//---------------------
|
|
//Подключение библиотек
|
|
//---------------------
|
|
|
|
import PropTypes from "prop-types"; //Контроль свойств компонента
|
|
|
|
//---------
|
|
//Константы
|
|
//---------
|
|
|
|
//Доступные операторы условия
|
|
const P8P_CC_OPERATORS = [
|
|
{ name: "==", value: "equal" },
|
|
{ name: "!=", value: "notEqual" },
|
|
{ name: "<=", value: "lessEqual" },
|
|
{ name: "<", value: "less" },
|
|
{ name: ">=", value: "greaterEqual" },
|
|
{ name: ">", value: "greater" },
|
|
{ name: "in", value: "in" }
|
|
];
|
|
|
|
//Структура параметра поля условия
|
|
const P8P_CC_FIELD_PRM_SHAPE = PropTypes.shape({
|
|
name: PropTypes.string.isRequired,
|
|
value: PropTypes.string.isRequired,
|
|
hasElement: PropTypes.bool,
|
|
icon: PropTypes.string
|
|
});
|
|
|
|
//Структура поля условия
|
|
const P8P_CC_FIELD_SHAPE = PropTypes.shape({
|
|
name: PropTypes.string.isRequired,
|
|
value: PropTypes.string.isRequired
|
|
});
|
|
|
|
//Структура оператора условия
|
|
const P8P_CC_OPERATOR_SHAPE = PropTypes.shape({
|
|
name: PropTypes.string.isRequired,
|
|
value: PropTypes.string.isRequired
|
|
});
|
|
|
|
//Структура условия
|
|
const P8P_CC_SHAPE = PropTypes.shape({
|
|
condField: P8P_CC_FIELD_SHAPE.isRequired,
|
|
condOperator: P8P_CC_OPERATOR_SHAPE.isRequired,
|
|
condElement: PropTypes.string, //Пока
|
|
condValue: PropTypes.string.isRequired,
|
|
resField: P8P_CC_FIELD_SHAPE.isRequired,
|
|
resElement: PropTypes.string, //Пока
|
|
resValue: PropTypes.string.isRequired
|
|
});
|
|
|
|
//Начальное состояние поля условия
|
|
const P8P_CC_FIELD_INITIAL = {
|
|
name: "",
|
|
value: ""
|
|
};
|
|
|
|
//Начальное состояние условия
|
|
const P8P_CC_INITIAL = {
|
|
condField: { ...P8P_CC_FIELD_INITIAL },
|
|
condOperator: { ...P8P_CC_OPERATORS[0] },
|
|
condElement: "",
|
|
condValue: "",
|
|
resField: { ...P8P_CC_FIELD_INITIAL },
|
|
resElement: "",
|
|
resValue: ""
|
|
};
|
|
|
|
//Начальное состояние условий
|
|
const P8P_CCS_INITIAL = [];
|
|
|
|
//----------------
|
|
//Интерфейс модуля
|
|
//----------------
|
|
|
|
export { P8P_CC_OPERATORS, P8P_CC_FIELD_PRM_SHAPE, P8P_CC_FIELD_SHAPE, P8P_CC_SHAPE, P8P_CC_INITIAL, P8P_CCS_INITIAL };
|