在 AEM 6.1 中打开对话框时不会触发对话框就绪事件?
dialog-ready event does not fire when dialog opens in AEM 6.1?
我最基本的问题是在带有动态选项的 UI 对话框中加载 select 字段。
这些选项通过网络服务来自外部 URL,因此请不要在此处提及数据源。
在经典中 UI 使用 optionsProvider 很容易。
联系 UI 我正在尝试编写一个脚本,通过 AJAX ON DIALOG load 从外部网络服务获取数据并设置这些选项在 select 字段中。
我的 dialog.ready 活动没有被调用。
我在触摸 UI 时遇到的另一个烦人的问题是,当我将鼠标悬停在组件上时,我看不到编辑选项。它仅显示 "delete" 和 "group" 选项。这只发生在某些组件上。我必须双击才能打开对话框。
请看图片
另请参阅下面的代码以准备好对话框。
(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));
要在对话框打开时调用您的方法,您应该将客户端库的类别设置为“cq.authoring.dialog”
这是一个适用于所有触摸 UI 对话框的全局类别。
我最基本的问题是在带有动态选项的 UI 对话框中加载 select 字段。 这些选项通过网络服务来自外部 URL,因此请不要在此处提及数据源。
在经典中 UI 使用 optionsProvider 很容易。
联系 UI 我正在尝试编写一个脚本,通过 AJAX ON DIALOG load 从外部网络服务获取数据并设置这些选项在 select 字段中。
我的 dialog.ready 活动没有被调用。
我在触摸 UI 时遇到的另一个烦人的问题是,当我将鼠标悬停在组件上时,我看不到编辑选项。它仅显示 "delete" 和 "group" 选项。这只发生在某些组件上。我必须双击才能打开对话框。
请看图片
另请参阅下面的代码以准备好对话框。
(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));
要在对话框打开时调用您的方法,您应该将客户端库的类别设置为“cq.authoring.dialog”
这是一个适用于所有触摸 UI 对话框的全局类别。