Highcharts Spectrum
Веб приложение для отображения данных TANGO-атрибутов типа spectrum
с помощью библиотеки highcharts
. Для получения данных из атрибутов используется TANGO-модуль WebSocketDS_cli
версии >= 1.0.0
(клиентная версия). Также можно использовать серверную версию, в этом случае атрибуты указанные в URL должны быть из списка прослушиваемых.
conf file
В конф. файле ./assets/sett/common_sett.json
должны быть указаны настройки для подключения по websocket.
{
"websocket": {
"ws_url": "ws://localhost:12346"
}
}
- websocket.ws_url - Если указывается полный адрес
- websocket.ws_path - Если указывается относительный путь
- websocket.is_server_mode -
true
, если используется серверный тип. По умолчаниюfalse
(boolean)
использование
Все настройки для графика полностью задаются пользователем в отдельном js-файле. Заданный график выводится во всю страницу.
JS-файл с настройками для объекта Chart
библиотеки highcharts
должен располагаться в директории ./assets/scripts/
.
Формат имени файла: highchartjs_${NAME}.js
. Постфикс ${NAME}
передаётся GET параметром chartscript
. Данный файл обязательно должен содержать переменную var hcscript
, объявляющуюю объект Options
для Chart
. Подробнее про формат Options
здесь
Пример:
var hcscript = {
chart: {
type: 'line',
backgroundColor: 'black'
},
title: undefined,
credits: {
enabled: false
},
series: [
{
color: 'yellow',
type: 'spline',
enableMouseTracking: false,
},
{
color: 'white',
type: 'spline',
enableMouseTracking: false,
}
]
};
get параметры
Приложение будет работать только при указании необходимых GET параметров.
Для отображения данных с конкретных TANGO-атрибутов типа spectrum
, указываются следующие GET параметры:
- dev - Имя TANGO-device. Допускается только одно имя.
-
attrs - Список атрибутов, через запятую. Идёт подписка на
change
события.
Дополнительные GET параметры:
-
chartscript - Постфикс для имени скрипта
/assets/scripts/highcharts_${chartscript}.js
. Этот файл должен содержать объектOptions
дляChart
. Подробнее выше. - testmode - Если указан этот ключ, работает в тестовом режиме. Загружаются не данные из сервера, а случайные значения.
Дополнительные GET параметры для настроек Chart.Options
:
- aliases - Список псевдонимов для атрибутов. Иначе отображаются имена атрибутов.
- chmin - Установка минимума для YAxis. (number) По умолчанию динамически
- chmax - Установка максимума для YAxis. (number) По умолчанию динамически
-
ytitle - Текст заголовка для Y. Если не указаны настройки для заголовка выставляется
fontSize: '15px'
test mode
При разработке, в режиме ng serve
или ng build --watch
можно тестировать настройки для Options
в файле src/app/services/fortest/testchart.ts
. Отслеживание изменений в git этого файла отключено.
Также не должен быть задан GET-параметр chartscript
, указывающий скрипт для загрузки.
По умолчанию в тестовом режиме используется данный конфиг для Chart.Options
:
export const testChart: Options = {
chart: {
type: 'line',
backgroundColor: 'black'
},
title: {
text: 'TEST',
align: 'center',
style: {
fontSize: '20',
color: 'yellow'
}
},
credits: {
enabled: false
},
series: [
{
type: 'spline',
color: 'yellow',
enableMouseTracking: false,
}
]
}