Виджет
Пользовательские виджеты позволяют визуально отобразить данные и являются частью пользовательского интерфейса бизнес-аналитики. Они помогают визуализировать данные в виде графиков, диаграмм, таблиц и другом отображении. Также они позволяют объединять данные из различных источников и представлять их в удобном виде, обеспечивая возможность выполнения анализа данных, фильтрации и сортировки, что помогает извлекать ценную информацию для принятия решений. Виджеты разрабатываются на языке программирования JavaScript и встраиваются в систему.
Исходный код, разработанных Infomaximum примеров виджетов, можно найти на github. Вы также можете предложить свой разработанный виджет в качестве примера для других разработчиков. Для этого создайте пул-реквест в репозитории.
Пакет с виджетом
Пакет с виджетом содержит файлы, необходимые для встраивания виджета в систему.
Структура пакета:
Package_widget.zip
manifest.json — файл с информацией по пакету
widget.zip — архив с файлами виджета. Обязательно должен называться widget.zip
index.js — исходный код виджета на JS
manifest.json — файл с информацией по виджету
resources — ресурсы пакета
1C.png — название иконки системы. Все названия должны совпадать с названиями самих систем, указанных в manifest.json
ru — файлы с русской локализацией
images — изображения, используемые в документации, указываются в файле doc.md
changelog.md — список изменений по версиям пакета
doc.md — подробное описание пакета
en — файлы с английской локализацией
images
changelog.md
doc.md
manifest.json пакета с виджетом
{
"manifest_version": "1", // версия манифеста
"author": "I Am", // автор пакета
"guid": "4dee4d9a-33c8-4ce6-9200-833223b371ae", // уникальный идентификатор пакета
"name": "Test", // имя пакета
"type": "widget", // тип пакета, в данном случае виджет
"version": "1.0.0", // версия пакета
"min_version_platform": "1.0.21.x", // минимальная версия платформы, с которой может работать данный пакет
"max_version_platform": "1.0.22.x", // максимальная версия платформы, с которой может работать данный пакет
"systems": [ // список систем, которые будут использоваться для фильтрации в системе
{
"name": "1C",
},
{
"name": "AmoCrm",
}
],
"description": { // описание пакета
"ru": "Описание работы пакета",
"en": "Short description"
},
"categories": { // категории, которые будут использоваться для фильтрации в системе
"ru": [
{
"name": "Покупки"
},
{
"name": "Продажи"
}
],
"en": [
{
"name": "Shopping"
},
{
"name": "Sales"
}
]
},
"dependency": [ // зависимости пакета от других пакетов
{
"guid": "544e4d9a-33c8-4ce6-9200-833223b371cb",
"version": "1.0.2"
},
{
"guid": "4dee479b-33c8-4ce6-9200-742363b371bc",
"version": "1.0.0"
}
],
}
manifest.json виджета
{
"uuid": "2abeda11-bf31-4ffe-86d7-fa7adbefaea6", // уникальный идентификатор виджета (обязательное поле, которое генерируется при инициализации проекта)
"entry": "index.js", // имя файла с исходным кодом виджета на JS (обязательное поле)
"sdk_version": 4, // версия sdk (мажорная версия библиотеки @infomaximum/widget-sdk), с которой работает виджет (поле генерируется автоматически при сборке виджета)
"name": { // локализованное имя виджета (обязательное поле)
"en": "Line chart",
"ru": "Линейный график"
},
"icon": "_resources/icon.svg", // путь до иконки виджета, которая будет отображаться в системе при работе с виджетом (иконка должна находиться в директории, которая указана в конфигурации виджета widgetrc.json в поле assetsDir)
"is_beta": false, // находится ли виджет на beta-стадии разработки
"default_size": {
"min_height": 120, // минимальная высота колонки с виджетом
"min_width": 180, // минимальная ширина колонки с виджетом
},
"container_params": {
"show_title": true, // отображать ли системный заголовок виджета
"show_markdown": true // отображать ли описание виджета с применением разметки Markdown
}
}
Была ли статья полезна?