Прикладным разработчикам доступно подключение пользовательских шаблонов диаграмм. Пользовательский шаблон меняет форму всех рядов данных диаграммы, используя шаблон, написанный в формате *.svg. Файл шаблона должен соответствовать определенной структуре, состоящей из стандартной SVG-разметки и дополнительных атрибутов «Форсайт. Аналитическая платформа».
Примечание. Подключение пользовательских шаблонов доступно для гистограммы и круговой диаграммы в инструментах «Аналитические панели», «Аналитические запросы (OLAP)», «Анализ временных рядов» только в веб-приложении и конструкторе бизнес-приложений.
Для подключения пользовательских шаблонов диаграмм:
Добавьте файлы шаблонов *.svg в папку установки веб-приложения или конструктора бизнес-приложений.
Путь до папки установки веб-приложения:
если описание плагина добавляется в конфигурационном файле config.json:
в ОС Linux: /opt/foresight/fp10.x-webserver/r;
в ОС Windows: C:\Program Files (x86)\Foresight\Analytics Platform 10.x Web Application\r;
если описание плагина добавляется в конфигурационном файле PP.xml:
в ОС Linux: /opt/foresight/fp10.x-webserver;
в ОС Windows: C:\Program Files (x86)\Foresight\Analytics Platform 10.x Web Application.
Путь до папки установки конструктора бизнес-приложений:
если серверная часть конструктора бизнес-приложений установлена автоматически на Apache2 или вручную на ASP.NET:
в ОС Linux: /opt/foresight/fp10.x-dba;
в ОС Windows: C:\Program Files (x86)\Foresight\DBA_10.x. Папка DBA_10.x создаётся вручную и может отличаться;
если серверная часть конструктора бизнес-приложений установлена вручную на Apache2, Java или автоматически на ASP.NET:
в ОС Linux: /opt/foresight/dba/10.x;
в ОС Windows: C:\Program Files (x86)\Foresight\Designer of Business Application 10.x Web Server.
Совет. Для удобного использования шаблонов создайте отдельную папку custom_plugins, в которой будет размещаться плагин для подключения шаблонов. В папке custom_plugins создайте папку templates, в которой будут размещаться файлы шаблонов *.svg.
Создайте плагин ChartTemplates.js с параметрами используемых шаблонов и разместите его в папке plugins:
PP.ChartTemplates = function (settings) {
PP.ChartTemplates.base.constructor.apply(this, arguments);
this._Interfaces = [];
};
PP.initClass(PP.ChartTemplates, PP.Object, 'PP.ChartTemplates', [PP.IPlugin]);
PP.Object.defineProps(PP.ChartTemplates, ['Interfaces', 'ImagePath'], false);
PP.ChartTemplates.prototype._ImagePath = PP.ImagePath;
PP.ChartTemplates.prototype.getInstance = function () {
return null;
};
PP.ChartTemplates.init = function (settings) {
var t = new PP.ChartTemplates(settings);
var templates = PP.Ui.getConfig().getChart().getTemplates();
var newTemplates = {
'<наименование шаблона>': {
'Id': '<уникальный идентификатор шаблона>',
'PPType': '<тип диаграммы>',
// Метод getImagePath возвращает относительный путь до файлов шаблонов,
// заданный в атрибуте value раздела <param> в шаге 3. Если файл шаблона
// содержится в отдельной вложенной папке, то укажите её перед
// подстановкой <наименование файла шаблона>
'Source': t.getImagePath() + '<наименование файла шаблона>.svg'
},
// Добавьте несколько шаблонов
...
};
for (var i = 0, nt; i < templates.length; i++) {
if (nt = newTemplates[PP.getProperty(templates[i], 'Id')]) {
templates[i] = nt;
delete newTemplates[nt.Id];
}
}
for (var c in newTemplates)
templates.push(newTemplates[c]);
PP.Ui.getConfig().getChart().setTemplates(templates);
return t;
};
Примечание. Значения, заданные в подстановках <наименование шаблона> и <уникальный идентификатор шаблона>, могут совпадать и соответствовать наименованию файла шаблона.
В подстановке <тип диаграммы> задайте одно из значений:
PP.Ui.ChartColumnTemplate. При использовании гистограммы;
PP.Ui.ChartPieTemplate. При использовании круговой диаграммы.
Добавьте описание плагина в конфигурационном файле config.json/PP.xml для веб-приложения или config.json/DBA.config.json для конструктора бизнес-приложений.
"plugins": [
{
"name": "ChartTemplates", //наименование плагина
"path": "../custom_plugins/ChartTemplates.js", //относительный путь до плагина ChartTemplates.js
"params": [ //параметры открытия плагина
{
"name": "ImagePath",
"value": "../custom_plugins/templates/" //относительный путь до файлов шаблонов *.svg
}
]
},
{
...
}
]
<plugins>
<!-- Задайте относительный путь до плагина ChartTemplates.js в атрибуте path -->
<plugin name="ChartTemplates" path="../custom_plugins/ChartTemplates.js" loaded="true">
<params>
<!-- Задайте относительный путь до файлов шаблонов *.svg в атрибуте value -->
<param name="ImagePath" value="../custom_plugins/templates/"/>
</params>
</plugin>
</plugins>
"plugins": [
{
"Path": "../custom_plugins/ChartTemplates.js", //относительный путь до плагина ChartTemplates.js
"Name": "ChartTemplates", //наименование плагина
"Loaded": true, //способ загрузки плагина
"Params":{
"Param":[{
"Name": "ImagePath",
"Value": "../custom_plugins/templates/" //относительный путь до файлов шаблонов *.svg
}]
}
}
]
Перезапустите веб-сервер.
После выполнения действий пользовательские шаблоны диаграмм будут подключены в веб-приложение или конструктор бизнес-приложений в раскрывающемся меню кнопки «Стили» на вкладке «Диаграмма» ленты инструментов.
Для выполнения примера скачайте архив plugins.zip с набором готовых шаблонов и разархивируйте его в папке установки веб-приложения C:\Program Files (x86)\Foresight\Analytics Platform 10.x Web Application.
Добавьте описание плагина в конфигурационном файле PP.xml в разделе <plugins>:
<plugins>
<plugin name="ChartTemplates" path="../custom_plugins/ChartTemplates.js" loaded="true">
<params>
<param name="ImagePath" value="../custom_plugins/templates/"/>
</params>
</plugin>
</plugins>
После выполнения действий пользовательские шаблоны из архива будут подключены в веб-приложение в раскрывающемся меню кнопки «Стили» на вкладке «Диаграмма» ленты инструментов:
При выборе пользовательского шаблона отображение рядов диаграммы будет изменено, например:
См. также:
Плагины | Типы диаграмм | Структура пользовательского шаблона диаграммы