Kukit - Plone 3.0に採用される,ロジックとデザインを分離できるAjaxライブラリ
Pythonのモジュール/パッケージリポジトリにPlone 3.0で使われるパッケージが大量にコミットされたので,中身を見てみるとKukitという物に行き当ったよ。
ドキュメントを流し読みしてみると,CSSのクラスにイベントを指定してAjax的な処理を実現するものらしい。KSSというCSSの拡張記法(?)を使って,イベントの挙動を記述するらしい。
http://kukit.org/documentation/tutorials/
JavaScriptを使ってAjax処理を書いていると,HTMLのイベントハンドラに長大なJavaScriptを書いてしまいがち。この間書いたのはこんな風でした。非同期で検索を行う前後にインジケータを動かしたり止めたりする処理を指定しているわけですな。これでクロージャとか使うとさらに訳分からなくなる。
<input type="button" name="button" value="検索" id=""
onclick=""
tal:attributes="onclick string:javascript:remoteRequest(document, '${here/absolute_url}/ajaxfindkeywords', '${fname}_findkeyword_list', {'keyword':document.getElementById('${fname}_findkeyword_id').value, 'selector_id':'${fname}_selector_id', 'hidden_id':'${fname}_hidden_id'}, {'before':'replaceIndicator(\'${fname}_ajaxindicator\',1)', 'on_complete':'replaceIndicator(\'${fname}_ajaxindicator\',0)'});; return false;; ;
id string:${fname}_findbutton_id;"/>
Kukitのような方法なら,デザインとロジックを綺麗に分離できますね。Ajax界のZPTと呼べるかも知れません。Plonista/Zopistaが考えそうなことだ。。。
- The URL to Trackback this entry is:
- http://coreblog.org/ats/kukit-and-kss/tbping

