このサイトについて

Kukit - Plone 3.0に採用される,ロジックとデザインを分離できるAjaxライブラリ

Kukit - Plone 3.0に採用される,ロジックとデザインを分離できるAjaxライブラリ

Pythonのモジュール/パッケージリポジトリにPlone 3.0で使われるパッケージが大量にコミットされたので,中身を見てみるとKukitという物に行き当ったよ。

http://kukit.org/

ドキュメントを流し読みしてみると,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が考えそうなことだ。。。

2010-08-27 04:43