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 };