2009/11/23

NavigationToolbarのカスタマイズ

コーディングでスタイルを変える方法もあるけど、htmlが用意されているコンポーネントの場合は、それを上書きしてしまうことでもカスタマイズできる(但し動的な部分には向かない)。
以下はAjaxFllbackDefaultDataTableのナビゲータである、AjaxNavigationToolbarの例。 

(AjaxNavigationToolbar.html)
<wicket:panel>
<tr class="navigation">
<td wicket:id="span">
<div style="float: right;" class="navigatorLabel"><span wicket:id="navigatorLabel">[navigator-label]</span></div>
<div style="text-align: center;" class="navigator"><span wicket:id="navigator">[navigator]</span></div>
</td>
</tr>
</wicket:panel>

赤字の部分を書き換えて、本来ラベル(全何件のうち何件目から何件目かを表示)が左でナビゲータ(< < 1 2 3てやつ)が右なのを、それぞれ右、中央に変えてる。
このファイルをプロジェクトのsrc/org/apache/wicket/extensions/ajax/markup/html/repeater/data/table に置いておけば、本来のファイルより優先して読み込まれる。

Wicketのカスタマイズは、コードで、propertyファイルで(これには国際化も絡む)、html置き換え、と複数の方法があってもの凄く柔軟。反面どれでやればいいのかわかりにくいこともありそうだけど。

0 件のコメント: