r.suchanesri-de-esridist

Web AppBuilder: Ein Widget aus einem anderen Widget aufrufen

Blog Post created by r.suchanesri-de-esridist Employee on Apr 30, 2015

In bestimmten Fällen kann es gewünscht sein, dass man in einer Web App aus einem eigenen Widget heraus wieder ein anderes Widget oder mehrere andere Widgets öffnen kann. D.h. in dem einen Widget befindet sich z.B. ein Button, über den man beim Anklicken ein anderes Widget öffnet, wie in der folgenden Abbildung gezeigt:

WidgetAusWidget1a.png

Durch Anklicken des Buttons in dem ersten Widget öffnet sich dann das zweite Widget:

WidgetAusWidget4.png

Um dies zu erreichen, muss zuerst im ersten Widget ein Button mit einem entsprechenden Icon angelegt werden. Den Button kann man z.B. in der Datei Widget.js in der Methode startup() wie folgt anlegen:

StartupCode.png

Dabei wird über DoJo-Funktionen dynamisch ein HTML-DIV Element und ein darin enthaltenes IMG Element angelegt. In einer Eventhandlermethode wird auf das Anklicken des Buttons reagiert und darin eine Funktion aufgerufen, die das zweite Widget aufruft:

ShowWidgetCode.png

Hier wird zuerst die Widget-Konfiguration des zu öffnenden Widgets ermittelt und dann über den PanelManager das Widget über die Funktion showPanel() aufgerufen. Zu beachten ist dabei, dass der PanelManager im define-Block des Widgets aufgenommen wird.

 

Happy coding!

Outcomes