2013-11-29 2 views
0

У меня есть XPage с 2 настраиваемыми элементами управления. Первый пользовательский элемент управления имеет функцию повторного управления, а второй используется как диалоговое окно.XPages: как создать диалоговое окно с обратным вызовом вызывающему абоненту

Пользователь может удалить строку из элемента управления повтора, щелкнув ссылку удаления. то я использую rowVar.getDocument.getNoteID и я удаляю документ. Что я хочу, это сначала спросить пользователя: «Вы уверены, что хотите его удалить?»

Я использовал «window.confirm()» в CSJS, но мне не нравится окно подсказки по умолчанию. Итак, я использовал диалоговое окно dojo, но я не могу использовать rowVar для повторного управления, чтобы получить documentId.

В настоящее время у меня есть код в кнопке OK диалогового окна, но я хочу использовать кнопки ОК/Отмена только как истинные/ложные и выполнить код в основном настраиваемом элементе управления. Есть ли способ передать значение кнопки обратно вызывающему абоненту?

ответ

2

Я сделал это разными способами. В принципе, напишите необходимую информацию, чтобы найти документ для удаления переменной viewScope. Затем создайте отдельный обработчик событий, который вызывается из кнопок ОК или Отмена диалогового окна.

Так EventHandler выглядит следующим образом post по Jeremey Ходж:

<xp:eventHandler 
    event="onfubar" 
    id="eventHandler1" 
    submit="false"> 
    <xp:this.action><![CDATA[#{javascript: 
// write the ssjs to save the doc base on viewScope parameters 
}]]></xp:this.action> 
</xp:eventHandler> 

Затем диалоговые кнопки выглядеть примерно так (на основе книги Mastering XPages и многих других источников)):

XSP.partialRefreshGet("#{id:eventHandler1}", { 
    params : {action :"OK" }, 
    onComplete : function() { 
     // do something else if needed 
    }, 
    onError : function() { 
     alert("no soup for you!"); 
    } 
}); 

Счастливое кодирование

/Newbs

Смежные вопросы