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». После этого диалог закроется, а в консоли браузера будет выведено уведомление о том, что формула успешно применена.
См. также: