我最基本的问题是在带有动态选项的触摸UI对话框中加载选择字段。 这些选项来自外部URL,通过网络服务,所以请不要在这里提到数据源。
使用optionsProvider在经典UI中很容易。
在触摸UI中,我试图编写一个脚本,通过AJAX ON DIALOG加载从外部Web服务获取数据,并在选择字段中设置这些选项。
我的dialog.ready事件没有被调用。
我在触控界面看到的另一个恼人的问题是,当我将鼠标悬停在某个组件上时,我无法看到编辑选项。它只显示"删除"和"组"选项。而这仅适用于某些组件。我必须双击才能打开对话框。 请看图片
另请参阅下面的代码以准备对话框。
(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));
答案 0 :(得分:2)
要在对话框打开时调用您的方法,您应将客户端库的类别设置为“ cq.authoring.dialog ”
这是一个适用于所有触摸UI对话框的全局类别。