Информация

 

В следствие того, что для панелей индикаторов (дашбордов) и отчетов используется одинаковый унифицированный формат шаблона MRT, методы для загрузки шаблона и работы с данными, то в тексте документации будет использоваться слово «отчет».

 

 

 

В компоненте HTML5 Designer предусмотрено два варианта сохранения отчета, которые доступны в главном меню и на главной панели дизайнера: Сохранить (Save) и Сохранить как (Save As). В свою очередь, каждый из этих вариантов сохранения имеет свои режимы и настройки.

 

Сохранение отчета и дашборда на стороне сервера

 

Для сохранения редактируемого отчета на стороне сервера необходимо воспользоваться специальным событием onSaveReport, которое будет вызвано при выборе пункта Сохранить (Save) в главном меню, либо нажатии на кнопку Сохранить (Save) на главной панели дизайнера. В аргументах события будет передан редактируемый отчет, который можно сохранить, например, в JSON строку и затем передать на сторону сервера.

 

designer.html

...

designer.onSaveReport = function (args) {

args.preventDefault = false;

var jsonReport = args.report.saveToJsonString();

}

...

 

Информация

 

Более подробно, об аргументах события onSaveReport можно ознакомиться в главе События дизайнера.

 

 

 

По умолчанию, после сохранения отчета дизайнер продолжает работу без отображения каких-либо сообщений. Если необходимо, после сохранения отчета предусмотрена возможность отобразить диалоговое окно с ошибкой или текстовым сообщением. Для этого предназначена специальная статическая функция showError().

 

designer.html

...

designer.onSaveReport = function (args) {

args.preventDefault = false;

Stimulsoft.System.StiError.showError("Some message after saving", true);

}

...

 

 

Если необходимо, вы можете получить доступ к оригинальному имени отчета или имени отчета из диалога сохранения.

 

designer.html

...

var designer = new Stimulsoft.Designer.StiDesigner(designerOptions, "StiDesigner", false);

designer.renderHtml("content");

 

designer.onSaveReport = function (args) {

 

//a flag to prevent further processing of the event

args.preventDefault = false;

 

//Report name from the designer save dialog

var reportName = args.fileName;

 

//Original report name from properties

var reportName = args.report.reportName;

}

...

 

 

В качестве аргументов функция принимает текст ошибки и флаг, определяющий тип окна. Текст может содержать как сообщение об ошибке сохранения либо предупреждение, так и любое другое сообщение. Если в качестве второго аргумента функции установлен флаг true, то будет отображено окно с ошибкой, если установлен флаг false, то будет отображено информационное окно.

 

 

 

Сохранение отчета и дашборда на стороне клиента

 

Для сохранения редактируемого отчета на стороне клиента в виде файла не требуется дополнительных настроек дизайнера. Достаточно выбрать пункт главного меню Сохранить как (Save As), при нажатии на который отобразится диалог сохранения файла. В данном диалоге можно изменить имя файла отчета, после чего файл будет сохранен на локальном диске компьютера.

 

 

 

Компонент HTML5 Designer предоставляет возможность изменить поведение указанного варианта сохранения, для этого в дизайнере предусмотрено специальное событие onSaveAsReport. Работа данного события будет аналогична событию onSaveReport.

 

designer.html

...

designer.onSaveAsReport = function (args) {

args.report.repotName = "Report";

 

// Save the report template

var jsonReport = args.report.saveToJsonString();

}

...