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:
Durch Anklicken des Buttons in dem ersten Widget öffnet sich dann das zweite Widget:
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:
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:
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!