Donnerstag, 11. Februar 2021

Submit einer Custom APEX Login Page mit der Enter Taste

Hier kommt der nächste neue APEX Post von mir. Thema heute: Submit einer Custom APEX Login Page mit der Enter Taste.

Der Login Screen ist nicht der Standard APEX Login Screen, sondern eine selbst entwickelte Page.



Der Login mit der Maus geht hervorragend, aber es soll auch ein Login mit der Enter Taste möglich sein, wenn man im Item "password" ist.

Ein einfaches Submit when Enter pressed 



reicht leider nicht, da die Login Logik hinter dem Button "Log In" liegt.

Also wird eine neue Dynamic Action auf dem Item "password" angelegt und mit etwas JavaScript gefüttert.


Hier kommt der JavaScript Code für die True-Action.

Und schon führt die Betätigung der Enter Taste die Login-Prozedur aus.


Cheers,

Holger



Dienstag, 2. Februar 2021

Einen modalen Dialog in APEX nach dem Login Vorgang anzeigen

Hallo allerseits,

heute kommt mein 1. Post zum Thema Oracle APEX, mit dem ich nun auch unterwegs bin.

Meine Aufgabe war es, einen modalen Dialog in APEX nach dem Login anzeigen, natürlich nur unter gewissen Bedingungen.

Die PageId des modalen Dialog ist 340.

Zuerst habe ich versucht das Ganze mit einem Branch und einem Page Redirect anzuzeigen.




Aber da das Ganze ja ein modaler Dialog ist, ist nichts passiert. Dann ein wenig im Internet gesucht und die Lösung mit JavaScript gefunden.

Ich habe dazu ein Item PX_URL und eine Dynamic Action beim Page Load angelegt.


Bei Set Value wird die URL für den modalen Dialog zusammengebaut.



Zum Start des Dialoges wird JavaScript aufgerufen.




Und die gesamte Dynamic Action hat noch eine Prüfung in der Datenbank, ob der Dialog angezeigt werden soll.


Nun wird nach einem Login unter gewissen Rollenbedingungen dieser modale Dialog angezeigt.


Viel Spaß damit,

Holger


Update einen Tag später nach einem Hinweis von einem Kollegen: eval ist bdeneklich wegen Sicherheitsbedenken und Malicious Code.

Die Lösung besser apex.navigation.redirect verwenden:

apex.navigation.redirect(apex.item('MY_ITEM').getValue());

Man lernt so viel als #orclapex APEX Rookie :-)