Wstęp
Każdy gadżet osadzony w dashboardzie ma mieć możliwość wykonywania akcji przy użyciu skryptów JavaScript.
W momencie załadowania widoku gadżetu, dostępny jest już dla niego obiekt Gadget, który reprezentuje ten gadżet i udostępnia zestaw metod, dzięki którym może np. zmienić tytuł gadżetu czy wyświetlić okno konfiguracji.
Przykład pojedynczego widoku gadżetu (w technologii FreeMarker).
<!-- pomocnicze macro --> <#import "/plugin.ftl" as plugin/> <!-- ... ... --> <!-- Skrypt wykorzystujący GadgetApi --> <script type="text/javascript"> // zmiana tytułu Gadget.setTitle('<@plugin.message "gadget.title"/>'); // automatyczne odświeżanie gadżetu za refreshInterval Gadget.refresh(${refreshInterval}); </script>
Gadget API
Poniżej przedstawiono wszystkie dostępne metody obiektu Gadget.
Metoda | Parametry | Opis |
---|---|---|
isOwner |
| Zwraca true, jeżeli aktualnie zalogowany użytkownik jest właścicielem dashboardu. |
getId |
| Zwraca identyfikator gadżetu |
getKey |
| Zwraca klucz gadżetu. Klucz gadżetu składa się z klucza wtyczki oraz klucza modułu np. com.suncode.plugin.dashboard:introduction |
getTitle |
| Zwraca aktualny tytuł gadżetu |
setTitle |
| Zmienia tekst belki tytułowej gadżetu |
refreshSize |
| Uaktualnia rozmiar gadżetu do jego poprawnej wysokości. Wykorzystywane, chcemy wymusić ponowne obliczenie automatycznej wysokości gadżetu (np. załadowanie dynamicznej treści). |
hasAutoHeight |
| Zwraca true jeżeli gadżet ma zaznaczoną opcję Dopasowana wysokość. Tak skonfigurowany gadżet próbuje dopasować się do faktycznej zawartości. |
enableAutoHeight |
| Włącza opcję Dopasowana wysokość. Wysokość gadżetu zostanie dopasowana do zawartości. |
getHeight |
| Pobiera wysokość gadżetu w pixelach. |
setHeight |
| Zmienia wysokość gadżetu. Jeżeli opcja Dopasowana wysokość była aktywna, zostanie ona wyłączona. |
refresh |
Jeżeli timeout jest pusty lub timeout<0 to gadżet zostanie odświeżony natychmiast . | Odświeża gadżet, pobierając ponownie zawartość gadżetu zgodnie z jego url. Podczas odświeżenia widoczna jest maska ładowania. Odświeżenie powoduje wczytanie strony i wszystkich skryptów od nowa, dlatego funkcja nie udostępnia żadnego callback'u. |
showConfiguration |
| Wyświetla widok konfiguracji gadżetu, opcjonalnie zmuszając go do poprawienia konfiguracji. Po zapisaniu konfiguracji gadżet jest automatycznie odświeżany |
getProperties |
| Zwraca wszystkie właściwości gadżetu. Zwrócony obiekt ma następującą budowę: { 'propertyname': { name: 'propertyname', value: 'propertyValue', type: 'text' }, 'secondproperty': { ... }, ... } Właściwości są odczytywane przed wywołaniem kontrolera gadżetu, dlatego zmiany właściwości w tym kontrolerze nie będą widoczne, do następnego odświeżenia gadżetu. |
getProperty |
| Odczytuje podaną właściwość po nazwie. Wynik: { name: 'name', value: 'value', type: 'text' } |