0

我最基本的问题是在带有动态选项的触摸 UI 对话框中加载选择字段。这些选项来自通过 Web 服务的外部 URL,因此请不要在此处提及数据源。

在经典 UI 中,使用 optionsProvider 很容易。

在触摸 UI 中,我正在尝试编写一个脚本,该脚本通过 AJAX ON DIALOG 加载从外部 Web 服务获取数据,并在选择字段中设置这些选项。

我的 dialog.ready 事件没有被调用。

我在触摸 UI 中看到的另一个令人讨厌的问题是,当我将鼠标悬停在组件上时,我看不到编辑选项。它只显示“删除”和“组”选项。这只发生在某些组件上。我必须双击才能打开对话框。请看图片 在此处输入图像描述

另请参阅下面的代码以准备好对话框。

(function ($, $document, $window) {
"use strict";
console.log('Namaste'); // works

$document.on("dialog-ready", function() {

    console.log('Hello'); // Does not work/fire when dialog opens

     $window.adaptTo("foundation-ui").alert("Open", "Dialog now open, event [dialog-ready]");
    if(comm) {
          var serviceUrl = xyz.config.baseUrl + '/public/movies';
          $.ajax({
                url: serviceUrl,
                cache:false,
                success: function(result){
                    console.log('Result'+JSON.stringify(result));
            }
          });
    }

});

$document.on("dialog-closed", function() {
    $(window).adaptTo("foundation-ui").alert("Close", "Dialog closed, event [dialog-closed]");
});

})($, $(document), $(window));
4

1 回答 1

3

要在对话框打开时调用您的方法,您应该将客户端库的类别设置为“ cq.authoring.dialog

这是一个适用于所有触摸 UI 对话框的全局类别。

于 2018-04-11T17:22:51.523 回答