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つにやらせるよりは、別々のほうが再利用しやすいだろう。