Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Comment: Migration of unmigrated content due to installation of a new plugin

...

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
languagehtml/xml
titlepom.xml
 		<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.

Note

Klasa ta musi być zawsze tworzona z wykorzystaniem kontekstu wtyczki jako prototype ponieważ nie jest ona ThreadSafe.

 

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:

Image Removed

Tak wygląda  w gadżecie pulpitu:

Image Removed

Deklaracja modułu <favourites>

...

Code Block
languagehtml/xml
titlesuncode-plugin.xml
 <favourites key="favourite-entry" handler="com.suncode.plugin.example.ExampleFavouriteHandler"/>

 

 

 

 

...

Wyświetlana lista ulubionych

Tak skonfigurowany zestaw ulubionych:

Image Added

Tak wygląda  w gadżecie pulpitu:

Image Added