openrat-cms

# OpenRat Content Management System
git clone http://git.code.weiherhei.de/openrat-cms.git
Log | Files | Refs

form.js (2886B)


      1 //
      2 
      3 
      4 
      5 
      6 /**
      7  * HTTP-Antwort auf einen POST-Request auswerten.
      8  * 
      9  * @param data Formulardaten
     10  * @param status Status
     11  * @param element
     12  */
     13 function doResponse(data,status,element)
     14 {
     15 	if	( status != 'success' )
     16 	{
     17 		alert('Server error: ' + status);
     18 		return;
     19 	}
     20 	
     21 	// Hinweismeldungen in Statuszeile anzeigen
     22 	$.each(data['notices'], function(idx,value) {
     23 		
     24 		// Bei asynchronen Requests wird zusätzlich eine Browser-Notice erzeugt, da der
     25 		// Benutzer bei länger laufenden Aktionen vielleicht das Tab oder Fenster
     26 		// gewechselt hat.
     27 		let notifyBrowser = $(element).data('async') == 'true';
     28 
     29 		Openrat.Workbench.notify(value.type, value.name, value.status, value.text, value.log, notifyBrowser ); // Notice anhängen.
     30 		
     31 		if	( value.status == 'ok' ) // Kein Fehler?
     32 		{
     33 			// Kein Fehler
     34 			// Nur bei synchronen Prozessen soll nach Verarbeitung der Dialog
     35 			// geschlossen werden.
     36 			if	( $(element).data('async') != 'true' )
     37 			{
     38 				// Verarbeitung erfolgt synchron, das heißt, dass jetzt der evtl. geöffnete Dialog
     39 				// beendet wird.
     40 				$('#dialog > .view').html('').hide();  // Dialog beenden
     41                 $('#dialog').removeClass('is-open').addClass('is-closed'); // Dialog schließen
     42 
     43 				// Da gespeichert wurde, jetzt das 'dirty'-flag zurücksetzen.
     44 				$(element).closest('div.panel').find('div.header ul.views li.action.active').removeClass('dirty');
     45 			}
     46 
     47 			let afterSuccess = $(element).data('afterSuccess');
     48 			if	( afterSuccess )
     49 			{
     50 				if   ( afterSuccess == 'reloadAll' )
     51 				{
     52 					Openrat.Workbench.reloadAll();
     53 				}
     54 			} else {
     55 				Openrat.Workbench.reloadViews();
     56 			}
     57 
     58 			$(document).trigger('orDataChanged');
     59         }
     60 		else
     61 		// Server liefert Fehler zurück.
     62 		{
     63 		}
     64 	});
     65 	
     66 	// Felder mit Fehleingaben markieren, ggf. das übergeordnete Fieldset aktivieren.
     67 	$.each(data['errors'], function(idx,value) {
     68 		$('input[name='+value+']').addClass('error').parent().addClass('error').parents('fieldset').addClass('show').addClass('open');
     69 	});
     70 	
     71 	// Jetzt das erhaltene Dokument auswerten.
     72 	
     73 	// Hinweismeldungen in Statuszeile anzeigen
     74 	if	( ! data.control ) {
     75 		/*
     76 		$('div.panel div.status').html('<div />');
     77 		$('div.panel div.status div').append( data );
     78 		$('div.panel div.status div').delay(3000).fadeOut(2500);
     79 		*/
     80 		//alert( value.text );
     81 	};
     82 	
     83 	
     84 	if	( data.control.redirect )
     85 		// Redirect
     86 		window.location.href = data.control.redirect;
     87 
     88 	/* nein, das ist Dialoglogik.
     89 	if	( data.control.new_style )
     90 		// CSS-Datei setzen
     91 		setUserStyle( data.control.new_style );
     92 	*/
     93 
     94 /*	nein, das ist Dialoglogik.
     95 
     96 	else if	( data.control.next_view )
     97 		// Nächste View aufrufen
     98 		//startView( $(element).closest('div.content'),data.control.next_view );
     99 		;
    100 		// Views gibt es so nicht mehr. Rauswerfen?
    101 */
    102 	//if ( data.errors.length==0 )
    103 		// Aktuelle View neu laden
    104 	//	$(element).closest('div.panel').find('li.action.active').orLoadView();
    105 
    106 }
    107