Wartesymbol bei XPages


Veröffentlicht am 28 August 2013 - Tags:  XPages  Domino 

Wenn man Suchen oder Auswertungen mit XPages ausführt, kann es schonmal sein, dass einzelne Abfragen einige Sekunden dauern. Um den Benutzer davon abzuhalten, nervös zu klicken, ist es sinnvoll, ihm ein Signal zu geben, dass die Bearbeitung läuft.
Da XPages von sich aus bereits Dojo unterstützen, kann dies einfach mit der dojox/Widget/StandBy Funktion gelöst werden.

Infos und Beispiele gibt es im Reference Guide der Funktion.
Die folgenden Schritte sind nötig:

Eigenschaften der XPage


In den Eigenschaften der XPage im Bereich Dojo müssen die Parameter für dojoParseOnLoad und dojoTheme jeweils auf true gesetzt werden. (s.Bild)

JavaScript-Funktion erstellen


Die folgende Funktion verwaltet später die Aufrufe. Es empfiehlt sich, diese in eine Scriptbibliothek einzusetzen und diese der XPage zuzuordnen.

function refrStarted(myobj) {
     if(this.objStandby==null) {
             this.objStandby = new dojox.widget.Standby({target: myobj});
             document.body.appendChild(objStandby.domNode);
             objStandby.startup();
     }
     objStandby.show();
}

function refrCompleted() {
     if(this.objStandby!=null) objStandby.hide();
}

Bereich in der XPage für Anzeige des Symbols markieren


Es muss nun ein Bereich der XPage zur Anzeige des Symbols ausgewählt werden. Entweder man gestaltet ein eigenes Fenster (Panel) dafür oder nimmt einen bestehenden Bereich. Ich nehme sehr oft eine bestehende Tabellenzelle dazu. Diesem Element gibt man dann eine ID. (s.Bild)

Event erweitern


Der Event, der die Aktualisierung auslösen soll, muss nun erweitert werden, um unsere Funktion aufzurufen. Dies erfolgt einfach durch Vergabe der Paramater OnStart und OnComplete.

<xp:eventHandler event="onchange" submit="true"
    refreshMode="partial" refreshId="pnDaten" onStart="refrStarted('#{id:mystandby}')"
    onComplete="refrCompleted()">
</xp:eventHandler>

Wichtiger Hinweis für IBM Lotus Domino Server 8.5.1


Bei Dojo 1.3 wird das für die Funktion notwendige CSS nicht automatisch geladen. Es empfiehlt sich, die Datei Standby.css aus dem Dojo-Verzeichnis in die Anwendung zu übernehmen und der XPage zuzuordnen.

Vera Nentwich Vera Nentwich


Gefällt dir dieser Artikel? Dann teile ihn mit deinen Freunden.

ImpressumDisclaimerDatenschutz