Doge log

Abby CTO 雑賀 力王のオフィシャルサイトです

YADA

元々のDjangoAJAXは

  • 1回の通信で1要素に分のデータしか返せない。
  • effectがない
  • ajax用のurl設定が必要。

1回の通信で1要素に分のデータしか返せないのは効率悪いケースがあるなあと。
Djangoの基本的なURLの設定の他に覚えなきゃいかん事が増えるのも嫌。
なので作って0.10完成。

チョー簡単な説明

template
<input type="button" value="ボタン" onclick="{% django_ajax_link /result/ %}" />

このようにURL指定します。
ふつーにURLConfに/result/を記述すればいいです。

view.py
def result( request ):
    chain1 = {
        'replace_html':['blk2', '<h1>AJAX</h1>'], 
    }
    d = {
       'replace_html':['blk1', '<h1>AJAX</h1>'], 
       'effect':['fade', 'blk2', 1000, None, chain1], 
    }

    response = DjangoAjaxResponse( d )
    return response

DjangoAjaxResponseにパラメータ渡せと。

サポートしてるイベントは

  • insert_html 指定したIDの要素の指定したポジションに値を入れます
  • replace_html 指定したIDの要素を置き換えます。
  • effect エフェクトを実行します

また上記にもあるように全てのイベントはchain可能です。
effectは

  • fade系
  • colorfade系
  • wipe系

をサポート
explodeはCSSが絡むので未サポート。
ふーむ、どっかで見たなーこーいうの。
イメージ沸きにくい人はRailsのRSJのサンプルでも見て下さい。
RJSはYAMLですが、こちらはシンプルdictにしました。
無駄にファイル数増やすのもどーかなと思うので。
この仕組みは言語依存あんまりないのでjava版作って仕事でつかお。
欲しい人とかいればあげます。
コメント入れて下さい。
うくく。