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'
}
|
| Zdarzenia na gadżecie | ||
| onResize |
| Dodaje EventListener do zdarzenia Resize panelu. |
