forked from CITKParus/P8-Panels
52 lines
1.9 KiB
JavaScript
52 lines
1.9 KiB
JavaScript
/*
|
|
Парус 8 - Панели мониторинга - Редактор панелей
|
|
Компоненты: График (общие ресурсы действия)
|
|
*/
|
|
|
|
//---------------------
|
|
//Подключение библиотек
|
|
//---------------------
|
|
|
|
//---------
|
|
//Константы
|
|
//---------
|
|
|
|
//Собственные значения типа действия
|
|
const P8P_CA_CHART_TYPE_VALUE = {
|
|
GRPH_ELEMENT: "Элемент графика"
|
|
};
|
|
|
|
//Типы значений действий графика
|
|
const P8P_CA_CHART_VALUE_TYPES = [...Object.values(P8P_CA_CHART_TYPE_VALUE)];
|
|
|
|
//Доступные области действий графика
|
|
const P8P_CA_CHART_ACTION_AREAS = [
|
|
{ name: "Компонент", area: "component", hasElement: false },
|
|
{ name: "Элемент графика", area: "chart_item", hasElement: false }
|
|
];
|
|
|
|
//------------------------------------
|
|
//Вспомогательные функции и компоненты
|
|
//------------------------------------
|
|
|
|
//Получение значения собственного типа действия
|
|
const getChartCustomTypeValue = ({ type, value, prms }) => {
|
|
//Если это элемента графика - возвращаем нужное значение, иначе - null
|
|
return type === P8P_CA_CHART_TYPE_VALUE.GRPH_ELEMENT ? prms.item[value] : null;
|
|
};
|
|
|
|
//Считывание обработчиков графика
|
|
const getChartHandlers = handlers => {
|
|
//Возвращаем объект хэндлеров (имеют формат "[Область].[Сегмент]", где [Сегмент] - необязательный)
|
|
return {
|
|
onComponentClick: handlers["component."]?.fn,
|
|
onChartItemClick: handlers["chart_item."]?.fn
|
|
};
|
|
};
|
|
|
|
//----------------
|
|
//Интерфейс модуля
|
|
//----------------
|
|
|
|
export { P8P_CA_CHART_VALUE_TYPES, P8P_CA_CHART_ACTION_AREAS, getChartCustomTypeValue, getChartHandlers };
|