/* Парус 8 - Панели мониторинга - Редакторы панелей Общие ресурсы компонента "Источник данных" */ //--------------------- //Подключение библиотек //--------------------- import PropTypes from "prop-types"; //Контроль свойств компонента import client from "../../core/client"; //Клиент БД import { CAPTIONS } from "../../../app.text"; //Общие текстовые ресурсы //--------- //Константы //--------- //Типы даных аргументов const P8P_DATA_SOURCE_ARGUMENT_DATA_TYPE = { STR: client.SERV_DATA_TYPE_STR, NUMB: client.SERV_DATA_TYPE_NUMB, DATE: client.SERV_DATA_TYPE_DATE }; //Структура аргумента источника данных const P8P_DATA_SOURCE_ARGUMENT_SHAPE = PropTypes.shape({ name: PropTypes.string.isRequired, caption: PropTypes.string.isRequired, dataType: PropTypes.oneOf(Object.values(P8P_DATA_SOURCE_ARGUMENT_DATA_TYPE)), req: PropTypes.bool.isRequired, value: PropTypes.any, valueSource: PropTypes.string }); //Начальное состояние аргумента источника данных const P8P_DATA_SOURCE_ARGUMENT_INITIAL = { name: "", caption: "", dataType: "", req: false, value: "", valueSource: "" }; //Типы источников данных const P8P_DATA_SOURCE_TYPE = { USER_PROC: "USER_PROC", QUERY: "QUERY" }; //Типы источников данных (наименования) const P8P_DATA_SOURCE_TYPE_NAME = { [P8P_DATA_SOURCE_TYPE.USER_PROC]: CAPTIONS.USER_PROC, [P8P_DATA_SOURCE_TYPE.QUERY]: CAPTIONS.QUERY }; //Структура источника данных const P8P_DATA_SOURCE_SHAPE = PropTypes.shape({ type: PropTypes.oneOf([...Object.values(P8P_DATA_SOURCE_TYPE), ""]), userProc: PropTypes.string, stored: PropTypes.string, respArg: PropTypes.string, arguments: PropTypes.arrayOf(P8P_DATA_SOURCE_ARGUMENT_SHAPE) }); //Начальное состояние истоника данных const P8P_DATA_SOURCE_INITIAL = { type: "", userProc: "", stored: "", respArg: "", arguments: [] }; //---------------- //Интерфейс модуля //---------------- export { P8P_DATA_SOURCE_ARGUMENT_DATA_TYPE, P8P_DATA_SOURCE_ARGUMENT_INITIAL, P8P_DATA_SOURCE_SHAPE, P8P_DATA_SOURCE_TYPE, P8P_DATA_SOURCE_TYPE_NAME, P8P_DATA_SOURCE_INITIAL };