Projekt

Allgemein

Profil

« Zurück | Weiter » 

Revision e39679e4

Von Moritz Bunkus vor etwa 8 Jahren hinzugefügt

  • ID e39679e479c62ee194b943b6b53fd9f6dccd3c36
  • Vorgänger 3a8e5bda
  • Nachfolger 072caebf

kivi.popup_dialog(): übergebenen close-Handler auch ausführen

Die Funktion kivi.popup_dialog() installiert ihren eigenen
close-Handler, um den in dem Moment noch vorhandenen Dialog zu
entfernen (sofern der Dialog aus HTML-Code erzeugt oder von einer URL
nachgeladen wurde) bzw. zu schließen (sofern ein vorher bereits im DOM
existierendes Element angezeigt wurde). Dadurch werden vom Aufrufer
vergebene close-Handler überschrieben.

Da es mehrere Stellen im Programm gibt, an denen ein close-Handler
übergeben wird, wurde kivi.popup_dialog() nun so erweitert, dass es den
übergebenen Handler speichert und zuerst ausführt und erst anschließend
das Entfernen respektive Schließen durchführt.

Unterschiede anzeigen:

js/kivi.js
312 312

  
313 313
    params            = params        || { };
314 314
    var id            = params.id     || 'jqueryui_popup_dialog';
315
    var custom_close  = params.dialog ? params.dialog.close : undefined;
315 316
    var dialog_params = $.extend(
316 317
      { // kivitendo default parameters:
317 318
          width:  800
......
321 322
        // User supplied options:
322 323
      params.dialog || { },
323 324
      { // Options that must not be changed:
324
        close: function(event, ui) { if (params.url || params.html) dialog.remove(); else dialog.dialog('close'); }
325
        close: function(event, ui) {
326
          if (custom_close)
327
            custom_close();
328

  
329
          if (params.url || params.html)
330
            dialog.remove();
331
          else
332
            dialog.dialog('close');
333
        }
325 334
      });
326 335

  
327 336
    if (!params.url && !params.html) {

Auch abrufbar als: Unified diff