Countdown zum DWA Menü hinzufügen

Folgender JavaScript-Code fügt einen Countdown von 30 Minuten zum Titel des Menüs hinzu.

Der Countdown wird jede Sekunde aktualisiert.

Nach Ablauf des Countdowns wird der Benutzer automatisch abgemeldet.


Der Code kann im DWA Brick MenuProject hinter der Menüdefinition im HTML Block eingefügt werden.
Jeder Brickaufruf startet den Countdown wieder neu.

/**
  * Count x minutes to zero, display time left in element
  * and call the specified URL when zero is reached.
  */
  DLE.countToZero = function(displayElement, minutes, urlToCall) {
                  if (DLE.countToZeroTimer) {
                                 clearInterval(DLE.countToZeroTimer);
                  }
                  var secondsLeft = minutes * 60;
                  DLE.countToZeroTimer = setInterval(function() {
                                 secondsLeft = secondsLeft - 1;
                                 var date = new Date(secondsLeft * 1000);
                                 // Display the time left every second
                                 jQuery(displayElement).html(date.getMinutes() + ":" + date.getSeconds());
                                 if (secondsLeft <= 0) {
                                                 window.location = urlToCall;
                                 }
                  }, 1000);
  };
   
  // Add a counter div to the menu headline
  jQuery("#menuWithHeadline").prepend("<div id='timeoutCounter' style='float: right;font-size: 1.5em;color:white;margin-right:10px'>00:00</div>");
   
  // Reset counter on each ajax (brick) call, do not reset on client communication calls
  jQuery.ajaxSetup({
  complete: function() 
  {
      // Do not reset counter on DLECLientCom calls
      if (this.url.indexOf("DLEClientCom") < 0)
          DLE.countToZero("#timeoutCounter", 30, "DWA/logout.brick");
  }});
   
  // Initially start the counter once
  DLE.countToZero("#timeoutCounter", 30, "DWA/logout.brick");

Beispiel: Countdown im Menü bis zum automatischen Logout

Tabellengitter und Doppelklick

Um in einem Tabellengitter auf eine Zeile einen Doppelklick zu definieren, kann ab der Version 2.0.3-r25 der Event dblClickRow benutzt werden. Der normale JavaScript dblclick Event funktioniert hier nicht.