Skip to content
Snippets Groups Projects
user avatar
Vladimir Elkin authored
fe8625ea
History

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,
    }
  ]
}