tablekit.inc.php

Top > Hack > tablekit.inc.php

(アイデア) Ajax なテーブル編集支援プラグイン

ブロック型

#tablekit{{
|head|head|head|h
|a|b|c|
}}
  • テーブル wiki ソースを convert_html。html を少しいじって、id を付加し出力。javascript 呼び出しコードも吐き出す。
  • javascript 呼び出しコードの時点で、wiki ソースの json オブジェクトを渡す。その際、wiki ソースをテーブルセル単位に分解するのは、php 側でも javascript 側でもどちらでもよいが、どちらが良いか。たぶん javascript 側でやる。
  • javascript 側で対応するテーブルを見つけ、変形する。
  • または、convert_html した html ソースも最初から javascript 呼び出しコードに渡し、javascript 側で変形し、javascript に html を出力させる。却下: javascript 無効ユーザが見れなくなってしまう。

javascript

  • セルをクリックすると編集フォームが表示。wiki ソースを表示する。フォーム外をクリックすると編集終了。
  • 編集終了時に wiki ソースを html に変換し、その html を ajax 的に表示したいのであれば、convert_html.inc.php プラグインのようなものでアクション型を作ってやり、html を受け取れる仕組みを作ってやらなければならない。
  • とりあえずは、そのまま wiki ソースにしておいていいだろう。

保存

  • 保存ボタンを押すと、javascript 側で wiki ソースの json オブジェクトをテーブル wiki ソースに変更し、テーブル番号(上から #tablekit を数えた数)と、テーブル wiki ソースを tablekit アクション型に送信。
  • tablekit アクション型は自分の場所を探し、中のテーブルソースを変更、保存する。
  • 保存ボタンを押したタイミングで ajax 的にリフレッシュしたいのであれば、やはり、convert_html の結果を受け取れる仕組みが必要。
  • tablekit のアクション型が、内部でファイル保存をし、html 出力はテーブルの convert_html の結果であるのが妥当か。受け取って html をまた変形して表示する。
  • いや、2つの仕事を1つにやらせるよりは、別々のほうが再利用しやすいだろう。