2009/06 SB


Červnová online dílna - IMPLEMENTACE SUGGESTBOXU

Dílnu jsme připravili ve spolupráci s Jiřím a Janem Koderou z týmu Abakowiki.

ZADÁNÍ:
Implementujte nápovědu pro libovolné formulářové pole za pomocí GWT widgetu SuggestBox. Data pro nápovědu uložte do libovolné databáze (MySQL,Postgresql apod.) a vypisujte ji ve formátu JSON.
Co bude předmětem nápovědy, je čistě na vás. Může to být nápověda k vyhledávání osob, tagů apod. Nápověda by měla být omezena, tak aby se při větší shodě nezobrazovalo více jak 15 položek v políčku s nápovědou.

Nápověda:
Nápověda (suggestion) je v GWT implementováná za pomocí tříd SuggestBox, SuggestOracle a Suggestion. SuggestBox je třída zobrazující nápovědu a předává události, které vyvolají nápovědu. SuggestBox příjmá jako argument konstruktoru třídu SuggestOracle. Abyste mohli vytvořit vlastní ovladač nápovědy, je nutné vytvořit třídu, která bude potomek SuggestOracle. Tedy
public class MyOwnSuggestOracle extends SuggestOracle
V třídě MyOwnSuggestOracle pak deklarujete vlastní podobu metody requestSuggestions. V této metodě pak provedete volání svého backendové řešení pro získání nápovědy ve formátu JSON.
Pokud chcete vlastní zobrázení jednotlivých nápověd, tak implementujte třídu Suggestion. Do ní pak můžete uložit data dle vašeho uvážení ve formátu HTML.

Odeslání požadavku o nápovědu
Požadavek o nápovědu odešlete na server přes Ajax a to přes instanci třídy RequestBuilder.

Zpracování JSON odpovědi
Pro zpracování JSON, který přijde jako odpověď od serveru implementujte třídu RequestCallBack. Metoda parse třídy JSONParser vám vyparsuje JSON odpověď, tak že s ní budete moci lehce pracovat v prostředí GWT.

Zdroje:




Termín odevzdání soutěžních prací prodlužujeme do pondělí 13. července!
Comments