Событие, готовое к диалогу, не запускается при открытии диалога в AEM 6.1?
Моя основная проблема - загрузить поле выбора в диалоге сенсорного интерфейса с динамическими параметрами. Эти параметры поступают с внешнего URL через веб-сервисы, поэтому, пожалуйста, не упоминайте источники данных здесь.
В классическом пользовательском интерфейсе легко с optionsProvider.
В сенсорном интерфейсе я пытаюсь написать скрипт, который извлекает данные из внешнего веб-сервиса через загрузку AJAX ON DIALOG и задает эти опции в поле выбора.
Мое событие 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));
1 ответ
Чтобы вызвать ваш метод при открытии диалога, вы должны установить категории вашей клиентской библиотеки как " cq.authoring.dialog "
Это глобальная категория, которая применяется во всех диалоговых окнах сенсорного интерфейса.