Прикладным разработчикам доступно использование пользовательских шаблонов диаграмм в веб-приложении. Пользовательский шаблон меняет форму всех рядов данных диаграммы, используя шаблон, написанный в формате *.svg. Файл шаблона должен соответствовать определенной структуре, состоящей из стандартной SVG-разметки и дополнительных атрибутов «Форсайт. Аналитическая платформа».
Примечание. Использование пользовательских шаблонов доступно для следующих типов диаграмм: гистограмма, круговая диаграмма.
Для подключения пользовательских шаблонов:
Создайте папку, в которой будут храниться файлы шаблонов, в папке веб-приложения, например, C:\Program Files (x86)\Foresight\Foresight Analytics Platform 9 Web Application\plugins\templates\.
Переместите файлы шаблонов в формате *.svg в созданную папку.
Создайте плагин ChartTemplates.js с параметрами используемых шаблонов в папке C:\Program Files (x86)\Foresight\Foresight Analytics Platform 9 Web Application\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> в шаге 4. Если файл шаблона
// содержится в отдельной вложенной папке, то укажите её перед
// подстановкой <наименование файла шаблона>
'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. При использовании круговой диаграммы.
<plugins>
// Задайте относительный путь до плагина ChartTemplates.js в атрибуте path
<plugin name="ChartTemplates" path="../plugins/ChartTemplates.js" loaded="true">
<params>
// Задайте относительный путь до файлов шаблонов в атрибуте value
<param name="ImagePath" value="../plugins/templates/"/>
</params>
</plugin>
</plugins>
После выполнения действий пользовательские шаблоны будут подключены
в веб-приложение в раскрывающемся меню кнопки
«Стили» на вкладке «Диаграмма»
ленты
инструментов.
Для выполнения примера скачайте архив plugins.zip с набором готовых шаблонов и разархивируйте его в корневой папке веб-приложения C:\Program Files (x86)\Foresight\Foresight Analytics Platform 9 Web Application\.
Добавьте описание плагина в файле PP.xml в разделе <plugins>:
<plugins>
<plugin name="ChartTemplates" path="../plugins/ChartTemplates.js" loaded="true">
<params>
<param name="ImagePath" value="../plugins/templates/"/>
</params>
</plugin>
</plugins>
После выполнения действий пользовательские шаблоны из архива будут подключены
в веб-приложение в раскрывающемся меню кнопки
«Стили» на вкладке «Диаграмма»
ленты
инструментов:

При выборе пользовательского шаблона отображение рядов диаграммы будет изменено, например:

См. также: