Общие сведения
Компонент позволяет отображать на слое визуализацию данных из датасета, сформированную с использованием языков HTML и JS.
Чтобы добавить на слой проект HTML-компонент, кликните в панели инструментов кнопку
.По нажатию кнопки открывается страница редактора HTML-компонента.
Структура страницы
Слева сверху страницы расположена область редактора кода. Редактор служит для обращения к данным, получаемым из датасета, применения форматирования колонок из настройки датасета, и описания оформления с использованием языков HTML и JS.
Под областью редактора кода находится область предпросмотра. В области отображается возвращаемый редактором результат. Чтобы показать или скрыть ее, кликайте переключатель «Превью» справа от области. Когда область предпросмотра скрыта, область редактора кода занимает всю левую часть страницы.
В правой части страницы находится область настройки данных. Область служит для получения данных из датасета. Полученные данные используются в редакторе кода. Получать данные можно в агрегированном виде или таблицей.
Область настройки данных
Выпадающий список «Набор данных»
Для выбора необходимого датасета нужно ввести название в поисковое поле и выбрать. После выбора значения в выпадающем списке отображаются колонки выбранного датасета:
Поле «Группы»
Количество добавляемых колонок в поле - без ограничений.
Для добавления колонки в поле следует «перетащить» необходимую колонку в поле. Данные по колонкам, добавленным в поле, будут группироваться.
Для удаления колонки из поля необходимо нажать кнопку .
Поле «Агрегат»
Количество добавляемых колонок в поле - без ограничений.
Для добавления колонки в поле следует «перетащить» необходимую колонку в поле.
Для удаления колонки из поля необходимо нажать кнопку .
Фильтры
Для добавления фильтра обратитесь к разделу Работа с расширенным фильтром.
Поле «Сортировка»
Для добавления сортировки следует «перенести» необходимую колонку в поле «Сортировка».
Доступна множественная сортировка данных. Множественная сортировка учитывает порядок вынесенных колонок. Верхняя вынесенная колонка является первым уровнем сортировки.
Для изменения порядка сортировки необходимо нажать кнопку .
Для удаления колонки из поля необходимо нажать кнопку .
Параметр необязателен для создания виджета.
Поле «Количество записей на странице»
Параметр ограничивает количество для отрисовки данных.
Получение данных
Получать данные можно в агрегированном виде или таблицей.
Таблица
Чтобы получать данные в виде одномерной таблицы, как они хранятся в датасете, переключите селектор в области настройки данных на радиокнопку «Таблица».
Далее найдите или выберите в поле «Набор данных» датасет, из которого требуется получать данные. Сразу после выбора датасета справа внизу страницы, в области «Переменная контекста», отображаются полученные данные в формате JSON.
Полное содержание полученных данных из примера представлено ниже.
где data – данные датасета;
rows – строки датасета, – обратите внимание, что в данных показана только первая строка датасета, остальные строки подразумеваются под многоточием, см. строку 15, а количество возвращенных строк можно видеть в ключе «total», в строке 531;
1–8 – нумерация колонок датасета в JSON, – колонки нумеруются в том порядке, как они вынесены из датасета в поле «Столбцы», или в порядке их расположения в датасете;
columns – свойства и настройка форматирования колонки, заданная в настройках датасета;
key – номер колонки в JSON, в rows;
name, field_type, base_type – свойства колонки;
formatter – настройка форматирования колонки;
prefix, suffix, digit_capacity, digit_capacity_enabled, digits_separate_type, separate_digits, text_view_type, bool_format, date_format, null_format – параметры настройки форматирования.
Настройка получаемых для таблицы данных
Настройка получаемых данных предлагает следующие параметры.
- Столбцы – ограничение получаемых данных указанными колонками. Когда ни одна колонка датасета не вынесена в это поле, по умолчанию возвращаются данные по всем колонкам.
Обратите внимание, что в примере, в columns показано форматирование восьми колонок, так как именно такое количество колонок получено. Если получаемые данные ограничены параметром «Столбцы», возвращается только форматирование для вынесенных колонок. - Фильтры – ограничение получаемых данных посредством фильтра.
- Количество записей на странице – ограничение получаемых строк датасета. Возвращается верхнее указанное количество строк с учетом сортировки. В примере, в JSON, количество записей можно видеть в строке 531.
Агрегат
Чтобы получать агрегированные данные, переключите селектор в области настройки данных на радиокнопку «Агрегат».
Далее найдите или выберите в поле «Набор данных» датасет, из которого требуется получать данные.
Выбрав датасет, вынесите в поле «Группы» колонки датасета, по значениям которых требуется группировать агрегированные результаты, а в поле «Агрегат» – колонки, по которым требуется получать агрегированные результаты. Сразу после выноса колонок справа внизу страницы, в области «Переменная контекста», отображаются полученные данные в формате JSON.
Полное содержание полученных данных из примера представлено ниже.
где data – данные датасета;
rows – строки датасета, – обратите внимание, что в данных показана только первая строка датасета, остальные строки подразумеваются под многоточием, см. строку 10, а количество возвращенных строк можно видеть в ключе «total», в строке 270;
1–4 – нумерация колонок датасета в JSON, – колонки нумеруются в том порядке, как они вынесены из датасета в поля «Группы» и «Агрегат»;
columns – свойства и настройка форматирования колонки, заданная в настройках датасета;
key – номер колонки в JSON, в rows;
name, field_type, base_type – свойства колонки;
formatter – настройка форматирования колонки;
prefix, suffix, digit_capacity, digit_capacity_enabled, digits_separate_type, separate_digits, text_view_type, bool_format, date_format, null_format – параметры настройки форматирования.
Настройка получаемых для агрегата данных
Настройка получаемых данных предлагает следующие параметры.
- Группы – поле принимает колонки датасета, по значениям которых требуется группировать агрегированные результаты.
Обратите внимание, что в примере, в columns, под соответствующими номерами показано форматирование для вынесенных колонок. - Агрегат – поле принимает колонки датасета, по значениям которых требуется получить агрегированные результаты.
Обратите внимание, что в примере, в columns, под соответствующими номерами показано форматирование для вынесенных колонок. - Фильтры – ограничение получаемых данных посредством фильтра.
- Количество записей на странице – ограничение получаемых строк датасета. Возвращается верхнее указанное количество строк с учетом сортировки. В примере, в JSON, количество записей можно видеть в строке 270.
Использование данных в редакторе
Для обращения к полученным данным используйте скобочную нотацию.
Использование значений
Чтобы получить значение из первой строки датасета в четвертой колонке JSON, используйте код:
{{data["rows"][0]["4"]}}
Для примера с таблицей код вернет значение «г Улан-Удэ», а для примера с агрегатом – значение «88478».
Чтобы получить количество возвращенных строк датасета, используйте код:
{{data["total"]}}
Для примера с таблицей код вернет значение «100», а для примера с агрегатом – значение «87».
Использование форматирования
Чтобы применить к колонке форматирование, заданное для колонки в настройках датасета, используйте код:
{{data["rows"][0]["1"] | columnFormat('1')}}
где '1' – номер колонки, от которой требуется взять параметры форматирования. Обратите внимание, что настройку форматирования можно применять только к колонке с соответствующим типом данных. Так, следующий код не применит форматирование, так как четвертая колонка JSON содержит данные с типом «число»:
{{data["rows"][0]["4"] | columnFormat('1')}}
Пример. HTML-код
Для примера рассмотрим датасет «Стройматериалы», выбираем его в поле «Набор данных». Далее выносим колонки в «Группы». Для создания компонента, нужно воспользоваться HTML-редактором. Для примера, введем следующий код:
После ввода кода, снизу отображается превью. В правом нижнем углу отображаются возвращаемые данные. Для сохранения введенного кода необходимо нажать на кнопку «Сохранить». Созданный компонент отобразится в проекте:
Использование с график-фильтром
HTML-компонент, для возможности его использования с график-фильтром, должен обрабатывать события нажатия курсором.
В коде HTML-компонента используйте встроенную функцию
HTMLFilter()
в которую по нажатию элемента HTML-компонента необходимо передавать значение этого элемента.
Функцию можно вызывать по нажатию разнотипных элементов, однако в график-фильтре для HTML-компонента предусмотрена фильтрация только по одной колонке датасета (см. График-фильтр).
Примеры использования функции график-фильтра в коде HTML-компонента
Пример 1
Пример 2
Сохранение
Для выполнения сохранения всех настроек следует нажать кнопку . После нажатия на кнопку, все настройки которые были сделаны в HTML-редакторе, отобразятся в проекте.
Для закрытия HTML-редактора необходимо нажать на кнопку . После нажатия на кнопку окно создания закроется и будет осуществлен переход на страницу с проектом в режиме редактирования.