...
Każda wtyczka może sama zdefiniować elementy ulubione, które będą dostępne dla użytkownika - dostarcza ona opis elementów oraz reguły ich wyświetlania w gadżecie lub stronie startowej.
Moduł <favourites>
Moduł favourites umożliwia wtyczką rejestrację własnych obiektów typu , które odpowiedzialne są za dostarczanie:
- definicji elementów (także w postaci drzewa) - elementy, które wyświetlane są użytkownikowi podczas budowy zestawów
- obiektów renderujących - przygotowujących dane do wyświetlenia
Zależności
Zależność do wtyczki favourites powinna być opcjonalna (wtyczka powinna działać, nawet jeżeli favourites nie są zainstalowane). W tym celu zależność należy zdefiniować z <optional>true</optional>:
Code Block | ||||
---|---|---|---|---|
| ||||
<dependency>
<groupId>com.suncode.plugin</groupId>
<artifactId>favourites</artifactId>
<version>1.0.0-SNAPSHOT</version>
<optional>true</optional>
<scope>provided</scope>
</dependency> |
Implementacja handler'a
W pierwszej kolejności należy stworzyć klasę implementującą interfejs :
...
Tip | ||
---|---|---|
Istnieje obiekt pomocniczy który dostarcza domyślne zachowanie rysowania pozwalając na łatwe przeciążenie.
|
Implementacja takiego obiektu może wyglądać tak:
...
23-26: możemy podejmować decyzje na podstawie aktualnego elementu
Wyświetlana lista ulubionych
Tak skonfigurowany zestaw ulubionych:
Tak wygląda w gadżecie pulpitu:
Deklaracja modułu <favourites>
...
Code Block | ||||
---|---|---|---|---|
| ||||
<favourites key="favourite-entry" handler="com.suncode.plugin.example.ExampleFavouriteHandler"/> |
...
Wyświetlana lista ulubionych
Tak skonfigurowany zestaw ulubionych:
Tak wygląda w gadżecie pulpitu: