|
Catalyst::View::ShanonHTML - Scaffolding View Component |
Catalyst::View::ShanonHTML - Scaffolding View Component (Add Delete View Edit List)
use Catalyst::View::ShanonHTML; use base 'Catalyst::View::ShanonHTML';
基本的な「登録」「削除」「表示」「編集」「一覧」の機能を提供するための ベースオブジェクト。
基本のメソッドは下記の通りになっている。
confirm
do_add
do_delete
do_disable
input
list
list_search
plain
pre_delete
pre_disable
preview
基本の使用方法はコントローラーから
$c->forward('Catalyst::View::User','input');
引数
1. クラス名
2. どのメソッドを実行するかを指定します
各種トリガーは下記の通り
__PACKAGE__->add_trigger(confirm_before_parse_form => &confirm_before_parse_form);
__PACKAGE__->add_trigger(confirm_after_parse_form => &confirm_after_parse_form);
__PACKAGE__->add_trigger(confirm_after_makebutton => &confirm_after_makebutton);
__PACKAGE__->add_trigger(confirm_after_parse_variable => &confirm_after_parse_variable);
__PACKAGE__->add_trigger(do_add_after => &do_add_after);
__PACKAGE__->add_trigger(do_delete_after => &do_delete_after);
__PACKAGE__->add_trigger(do_disable_after => &do_disable_after);
__PACKAGE__->add_trigger(input_before_parse_form => &input_before_parse_form);
__PACKAGE__->add_trigger(input_after_parse_form => &input_after_parse_form);
__PACKAGE__->add_trigger(input_after_makebutton => &input_after_makebutton);
__PACKAGE__->add_trigger(input_before_parse_variable_change_file => &input_before_parse_variable_change_file);
__PACKAGE__->add_trigger(input_before_parse_variable => &input_before_parse_variable);
__PACKAGE__->add_trigger(input_after_parse_variable => &input_after_parse_variable);
__PACKAGE__->add_trigger(list_createtable_set_hash_columns => &list_createtable_set_hash_columns);
__PACKAGE__->add_trigger(before_list_createtable_data_escape => &before_list_createtable_data_escape);
__PACKAGE__->add_trigger(after_list_createtable_data_escape => &after_list_createtable_data_escape);
__PACKAGE__->add_trigger(list_before_parse_variable => &list_before_parse_variable);
__PACKAGE__->add_trigger(list_after_parse_variable => &list_after_parse_variable);
__PACKAGE__->add_trigger(list_search_before_parse_form => &list_search_before_parse_form);
__PACKAGE__->add_trigger(list_search_after_parse_form => &list_search_after_parse_form);
__PACKAGE__->add_trigger(list_search_after_makebutton => &list_search_after_makebutton);
__PACKAGE__->add_trigger(plain_before_parse_variable => &plain_before_parse_variable);
__PACKAGE__->add_trigger(plain_after_parse_variable => &plain_after_parse_variable);
__PACKAGE__->add_trigger(pre_delete_before_parse_form => &pre_delete_before_parse_form);
__PACKAGE__->add_trigger(pre_delete_after_parse_form => &pre_delete_after_parse_form);
__PACKAGE__->add_trigger(pre_delete_after_makebutton => &pre_delete_after_makebutton);
__PACKAGE__->add_trigger(pre_delete_after_parse_variable => &pre_delete_after_parse_variable);
__PACKAGE__->add_trigger(pre_disable_before_parse_form => &pre_disable_before_parse_form);
__PACKAGE__->add_trigger(pre_disable_after_parse_form => &pre_disable_after_parse_form);
__PACKAGE__->add_trigger(pre_disable_after_makebutton => &pre_disable_after_makebutton);
__PACKAGE__->add_trigger(pre_disable_after_parse_variable => &pre_disable_after_parse_variable);
__PACKAGE__->add_trigger(preview_before_parse_form => &preview_before_parse_form);
__PACKAGE__->add_trigger(preview_after_parse_form => &preview_after_parse_form);
__PACKAGE__->add_trigger(preview_after_parse_variable => &preview_after_parse_variable);
__PACKAGE__->add_trigger(publish_before_parse_form_footer => &publish_before_parse_form_footer);
__PACKAGE__->add_trigger(publish_after_parse_form_footer => &publish_after_parse_form_footer);
__PACKAGE__->add_trigger(publish_before_parse_form_header => &publish_before_parse_form_header);
__PACKAGE__->add_trigger(publish_after_parse_form_header => &publish_after_parse_form_header);
__PACKAGE__->add_trigger(list_metarow_add_link_after => &list_metarow_add_link_after);
【内部メソッド】 HTMLの最終出力
【基本メソッド】
エラー表示
$c->stash->{'terminateTask_body'}にメッセージを詰め込んでください。
トリガー:
【基本メソッド】 CVSダウンロード
【基本メソッド】 CVSダウンロード用行生成
【内部メソッド】 CVSダウンロード用テーブル本体生成
【内部メソッド】 CVSダウンロード用生成
【内部メソッド】 CVSダウンロード用エスケープ
【内部メソッド】 ポップアップに「編集」と「選択」を追加する
【内部メソッド】 ポップアップのリストを生成する
【内部メソッド】 ネームスペースを取得する
【内部メソッド】 Javascroptを生成する
【基本メソッド】 ポップアップ画面を生成する
【基本メソッド】
$c->stash()->{'set_view_target'} が定義されていたら、そこに生成結果のHTMLが入る
確認画面を生成する
【内部メソッド】 一覧の行を作る
【内部メソッド】 一覧を作る
【内部メソッド】 一覧のヘッダーを作る
【内部メソッド】 一覧に表示する列を指定する
【内部メソッド】 リストの並び替えを行う
【基本メソッド】 検索フォームを作る
【内部メソッド】 データ構造を渡すとそれを基にテーブルを作る 構造的には↓のとおり [[{value => ''}], [{value => ''}]]
【内部メソッド】 リストを生成する
【内部メソッド】
【内部メソッド】
【内部メソッド】 ページャを生成する
【基本メソッド】
$c->stash()->{'set_view_target'} が定義されていたら、そこに生成結果のHTMLが入る
プレーン画面を生成する
【基本メソッド】
$c->stash()->{'set_view_target'} が定義されていたら、そこに生成結果のHTMLが入る
入力画面を生成する
【基本メソッド】
$c->stash()->{'set_view_target'} が定義されていたら、そこに生成結果のHTMLが入る
確認画面を生成する
【基本メソッド】
$c->stash()->{'set_view_target'} が定義されていたら、そこに生成結果のHTMLが入る
登録完了画面を生成する
【基本メソッド】
$c->stash()->{'set_view_target'} が定義されていたら、そこに生成結果のHTMLが入る
プレビュー画面を生成する
【基本メソッド】
$c->stash()->{'set_view_target'} が定義されていたら、そこに生成結果のHTMLが入る
削除確認画面を生成する
【基本メソッド】
$c->stash()->{'set_view_target'} が定義されていたら、そこに生成結果のHTMLが入る
削除完了画面を生成する
【基本メソッド】
$c->stash()->{'set_view_target'} が定義されていたら、そこに生成結果のHTMLが入る
削除確認画面を生成する
【基本メソッド】
$c->stash()->{'set_view_target'} が定義されていたら、そこに生成結果のHTMLが入る
削除完了画面を生成する
【基本メソッド】
$c->stash()->{'set_view_target'} が定義されていたら、そこに生成結果のHTMLが入る
登録完了画面を生成する
【内部メソッド】
$c->stash()->{'body_title'} が定義されていたらそれを返す
定義されていなかったらコンフィグの 'title' を返す
タイトルを取得する
【内部メソッド】
$c->stash()->{'body_subtitle'} が定義されていたらそれを返す
定義されていなかったら 'ホーム' を返す
サブタイトルを取得する
【内部メソッド】
$c->stash()->{'body_message'} が定義されていたらそれを返す
定義されていなかったら~文字を返す
本文冒頭メッセージを取得する
【内部メソッド】
$c->stash()->{'plain_file'} が定義されていたら、そのファイルを読み込む
プレーン画面のファイルを取得する
【内部メソッド】
$c->stash()->{'add_file'} が定義されていたら、そのファイルを読み込む
追加画面のファイルを取得する
【内部メソッド】
$c->stash()->{'delete_file'} が定義されていたら、そのファイルを読み込む
削除確認画面のファイルを取得する
【内部メソッド】
$c->stash()->{'disable_file'} が定義されていたら、そのファイルを読み込む
削除確認画面のファイルを取得する
【内部メソッド】
$c->stash()->{'view_file'} が定義されていたら、そのファイルを読み込む
プレビュー画面のファイルを取得する
【内部メソッド】
$c->stash()->{'popup_slist_file'} が定義されていたら、そのファイルを読み込む
ポップアップ画面のファイルを取得する
【内部メソッド】
$c->stash()->{'search_file'} が定義されていたら、そのファイルを読み込む
検索画面のファイルを取得する
【内部メソッド】
$c->stash()->{'list_file'} が定義されていたら、そのファイルを読み込む
リスト画面のファイルを取得する
【内部メソッド】 テンプレートのプレフィックスを取得する
【内部メソッド】 必要なテンプレートファイルを開く
【内部メソッド】 index.html を取得する
【内部メソッド】 popup_index.html を取得する
【内部メソッド】 popup_func.js を取得する
【内部メソッド】 popup_sel_func.js を取得する
【内部メソッド】
$c->stash()->{'table_file'} が定義されていたら、そのファイルを読み込む
table.html を取得する
【内部メソッド】
$c->stash()->{'header_file'} が定義されていたら、そのファイルを読み込む
header.html を取得する
【内部メソッド】
$c->stash()->{'footer_file'} が定義されていたら、そのファイルを読み込む
footer.html を取得する
【内部メソッド】
$c->stash()->{'terminate_file'} が定義されていたら、そのファイルを読み込む
terminate.html を取得する
【内部メソッド】 最終的なHTML画面を生成する
【内部メソッド】 ファイルを読み込む
【内部メソッド】 $FORMに値を詰める
【内部メソッド】 コンフィグを読み込んでフォームを自動生成する
【内部メソッド】 HTMLエスケープを行う
【内部メソッド】 改行コードを $linebreak に統一する
【内部メソッド】 空文字かどうかを判別する
【内部メソッド】 ポップアップを開くボタン等を生成する
【内部メソッド】 ポップアップで呼ばれた側 が使う関数
【内部メソッド】 ポップアップ用に config を読み込んで、チェックして、セットする基本関数
【内部メソッド】 ポップアップ画面を表示するためのLINKを作る
【内部メソッド】 ポップアップボタンを生成する
【内部メソッド】
Perlの変数をJavaScriptの変数にする関数
まだまだ出来かけ。
改良の余地あり
複数回使う場合は、下記ハッシュを作り、第3引数に渡すこと
my(%name_hash) = (scalar => 1,
array => 1,
hash => 1);
Usage: $JSValiable = $self->PVtoJSV($c, $PerlValiable);
$PerlValiableはスカラー以外はリファレンスで渡すこと
当然オブジェクトを渡したらおかしくなる
$JSValiable =$self-> PVtoJSV($c, $PerlValiable, \%name_hash);
$JSValiable = $self->PVtoJSV($c, $PerlValiable, \%name_hash,'var_name');
とりあえず空っぽ 日本語と英語と 両方POD書きたいんだけど何とかならないのかなぁ
Kenichiro Nakamura, <nakamura@shanon.co.jp>
Copyright (C) 2005 by Kenichiro Nakamura and Shanon Inc.
This library is free software; you can redistribute it and/or modify it under the same terms as Perl itself, either Perl version 5.8.2 or, at your option, any later version of Perl 5 you may have available.
|
Catalyst::View::ShanonHTML - Scaffolding View Component |