APEX: Tab Label dynamisch und blinkend

Heute stand ich vor der Aufgabe, ein Tab Label in APEX abhängig von dem Inhalt einer Tabelle mit verschiedenem Text darzustellen und in einem bestimmten Fall auch noch blinken zu lassen. Mir ist klar, dass das BLINK-Tag nicht ohne Grund nie in den HTML-Standart übernommen wurde. Es war aber nötig, um die Aufmerksamkeit auf auf den geänderten Label-Text zu ziehen.

Fangen wir mit dem dymamischen Tab Label an:

Wir legen uns in einem Tab einen neuen Tabreiter an. Als Tab Label tragen wir z.B. "&MELDUNG." ein. Die restlichen Daten für diesen Tab können wir nach belieben vergeben. Weiterhin benötigen wir ein ApplicationItem mit dem Namen "MELDUNG".

Auf den Inhalt des eben erstellen Tab Labels können wir mit folgendem Code zugreifen:

:MELDUNG := 'Keine neuen Nachrichten';

Dies können wir auch über einen Prozess gesteuert lesen/schreiben.

Um das ganze zum blinken zu bringen, fehlt uns ein wenig JavaScript-Code. Diesen legen wir entweder in unserem Page-Template ab, oder in einer extra JavaScript-Datei, die wir in unserem Page-Template einbinden.

function blink2()
{

document.getElementById("blink").style.visibility="visible";
window.setTimeout("blink()", 500);

}
function blink()
{
document.getElementById("blink").style.visibility="hidden";
window.setTimeout("blink2()", 500);
}

Ebenfalls in unser Page-Template kommt jetzt der Aufruf der o.g. JavaScript-Funktion:

Jetzt packen wir unser Tab Label noch in den Blink-Tag:

:MELDUNG := '

';

Interessant wird das Ganze mit einer Datenquelle, in der Meldungen verzeichnet sind. Über einen OnLoad-ApplicationProcess läßt sich abfragen, ob neue Meldungen für den angemeldeten Benutzer vorliegen und die Meldung dementsprechend mit einem geänderten Text und evtl. blinkend darstellen.

Dieser Beitrag wurde unter Allgemein abgelegt und mit verschlagwortet. Setze ein Lesezeichen auf den Permalink.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert