PP.Ufe.Ui.WbkTransformDialog(settings);
settings. JSON-объект со значениями свойств класса.
Конструктор WbkTransformDialog создает экземпляр класса WbkTransformDialog.
Для выполнения примера необходимо наличие на html-странице компонента WorkbookBox с наименованием «workbookBox» (см. «Пример создания компонента WorkbookBox»). Создадим и отобразим диалог для редактирования формулы элемента измерения рабочей книги:
function prepareDialog() {
// Подгружаем сценарии и стили для редактора формулы
PP.resourceManager.addToResourceList(["Ufe"], true);
var sp = PP.CSSPath;
PP.scriptManager.loadStyles([sp + "PP.Ufe.css"]);
sp = PP.ScriptPath;
PP.ScriptManager.loadScripts([sp + "PP.Ufe.js"], PP.Delegate(this.createDialog, null));
}
// Создаём редактор выражения для рабочей книги
function createWbkTransformDialog() {
// Создаём диалог для создания и редактирования формулы элемента измерения рабочей книги
var dialog = new PP.Ufe.Ui.WbkTransformDialog({
Data: PP.TS.Ui.FormulaTypeEnum.Calculator,
// Устанавливаем соединение с репозиторием
Metabase: metabase,
// Устанавливаем источник данных
WbkSource: source,
Series: source.getSelectedSeries(),
Mode: PP.TS.CalculatorMode.Add
});
// Устанавливаем ряд данных
dialog._Series = source.getSelectedSeries();
return dialog;
}
function createDialog() {
var dialog = createWbkTransformDialog();
// Отображаем диалог
dialog.show();
// Обрабатываем событие MetadataChanged
workbookBox.MetadataChanged.add(function(sender, args) {
if (args.getPropertyName() == "Formulas") {
// Устанавливаем ряд данных по умолчанию
dialog.onTempSerieCreated(args);
}
});
// Обрабатываем событие CreateTempSerie
dialog.CreateTempSerie.add(function(sender, args) {
// Получаем вкладку «Вычисления» ленты инструментов рабочей книги
var formulasCategory = workbookBox.getRibbonView().getFormulasCategory();
var dlgRes = args.DialogResult;
var metaSettings = dlgRes || {};
metaSettings.formulaType = dialog.getData();
formulasCategory._launchSerieProcessing(metaSettings, dialog.getTag(), true);
});
// Обрабатываем событие ApplyFormula
dialog.ApplyFormula.add(function(sender, args) {
console.log("Формула успешно применена");
});
}
// Подгружаем необходимые сценарии и стили для создания редактора формул в рабочей книге
prepareDialog();
В результате выполнения примера был создан и отображён диалог для редактирования формулы элемента измерения рабочей книги:

Выберем в данном окне любой ряд данных и нажмём на кнопку «OK». После этого диалог закроется, а в консоли браузера будет выведено уведомление о том, что формула успешно применена.
См. также: