87 lines
		
	
	
		
			2.5 KiB
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
			
		
		
	
	
			87 lines
		
	
	
		
			2.5 KiB
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
| /*
 | |
|     Парус 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
 | |
| };
 |