Catalyst::View::ShanonHTML - Scaffolding View Component


NAME

Catalyst::View::ShanonHTML - Scaffolding View Component (Add Delete View Edit List)


SYNOPSIS

  use Catalyst::View::ShanonHTML;
  use base 'Catalyst::View::ShanonHTML';


DESCRIPTION

基本的な「登録」「削除」「表示」「編集」「一覧」の機能を提供するための ベースオブジェクト。

    基本のメソッドは下記の通りになっている。
    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);


METHODS

process

 【内部メソッド】
 HTMLの最終出力

terminateTask

 【基本メソッド】
 エラー表示
 $c->stash->{'terminateTask_body'}にメッセージを詰め込んでください。

トリガー:

$self->call_trigger('before_terminateTask', $c, \%FORM);
$self->call_trigger('after_terminateTask',$c);

csvdownload

 【基本メソッド】
 CVSダウンロード

csvdownload

 【基本メソッド】
 CVSダウンロード用行生成

csvdownload_createtable

 【内部メソッド】
 CVSダウンロード用テーブル本体生成

csv_create_table

 【内部メソッド】
 CVSダウンロード用生成

csv_create_table

 【内部メソッド】
 CVSダウンロード用エスケープ

popup_slist_metarow

 【内部メソッド】
 ポップアップに「編集」と「選択」を追加する

popup_slist_createtable

 【内部メソッド】
 ポップアップのリストを生成する

get_namespace

 【内部メソッド】
 ネームスペースを取得する

generate_js_back_value

 【内部メソッド】
 Javascroptを生成する

popup_slist

 【基本メソッド】
 ポップアップ画面を生成する

list

 【基本メソッド】
 $c->stash()->{'set_view_target'} が定義されていたら、そこに生成結果のHTMLが入る
 確認画面を生成する

make_metarow

 【内部メソッド】
 一覧の行を作る

make_list

 【内部メソッド】
 一覧を作る

make_metarow

 【内部メソッド】
 一覧のヘッダーを作る

list_metarow

 【内部メソッド】
 一覧に表示する列を指定する

list_metarow_make_sort

 【内部メソッド】
 リストの並び替えを行う

list_search

 【基本メソッド】
 検索フォームを作る

html_create_table

【内部メソッド】 データ構造を渡すとそれを基にテーブルを作る 構造的には↓のとおり [[{value => ''}], [{value => ''}]]

list_createtable

 【内部メソッド】
 リストを生成する

get_list_data

 【内部メソッド】

escape_list_data

 【内部メソッド】

list_navigate

 【内部メソッド】
 ページャを生成する

plain

 【基本メソッド】
 $c->stash()->{'set_view_target'} が定義されていたら、そこに生成結果のHTMLが入る
 プレーン画面を生成する

input

 【基本メソッド】
 $c->stash()->{'set_view_target'} が定義されていたら、そこに生成結果のHTMLが入る
 入力画面を生成する

confirm

 【基本メソッド】
 $c->stash()->{'set_view_target'} が定義されていたら、そこに生成結果のHTMLが入る
 確認画面を生成する

do_add

 【基本メソッド】
 $c->stash()->{'set_view_target'} が定義されていたら、そこに生成結果のHTMLが入る
 登録完了画面を生成する

preview

 【基本メソッド】
 $c->stash()->{'set_view_target'} が定義されていたら、そこに生成結果のHTMLが入る
 プレビュー画面を生成する

pre_delete

 【基本メソッド】
 $c->stash()->{'set_view_target'} が定義されていたら、そこに生成結果のHTMLが入る
 削除確認画面を生成する

do_delete

 【基本メソッド】
 $c->stash()->{'set_view_target'} が定義されていたら、そこに生成結果のHTMLが入る
 削除完了画面を生成する

pre_disable

 【基本メソッド】
 $c->stash()->{'set_view_target'} が定義されていたら、そこに生成結果のHTMLが入る
 削除確認画面を生成する

do_disable

 【基本メソッド】
 $c->stash()->{'set_view_target'} が定義されていたら、そこに生成結果のHTMLが入る
 削除完了画面を生成する

do_csvupload

 【基本メソッド】
 $c->stash()->{'set_view_target'} が定義されていたら、そこに生成結果のHTMLが入る
 登録完了画面を生成する

get_body_title

 【内部メソッド】
 $c->stash()->{'body_title'} が定義されていたらそれを返す
 定義されていなかったらコンフィグの 'title' を返す
 タイトルを取得する

get_body_subtitle

 【内部メソッド】
 $c->stash()->{'body_subtitle'} が定義されていたらそれを返す
 定義されていなかったら 'ホーム' を返す
 サブタイトルを取得する

get_body_message

 【内部メソッド】
 $c->stash()->{'body_message'} が定義されていたらそれを返す
 定義されていなかったら~文字を返す
 本文冒頭メッセージを取得する

get_plain_file

 【内部メソッド】
 $c->stash()->{'plain_file'} が定義されていたら、そのファイルを読み込む
 プレーン画面のファイルを取得する

get_add_file

 【内部メソッド】
 $c->stash()->{'add_file'} が定義されていたら、そのファイルを読み込む
 追加画面のファイルを取得する

get_delete_file

 【内部メソッド】
 $c->stash()->{'delete_file'} が定義されていたら、そのファイルを読み込む
 削除確認画面のファイルを取得する

get_disable_file

 【内部メソッド】
 $c->stash()->{'disable_file'} が定義されていたら、そのファイルを読み込む
 削除確認画面のファイルを取得する

get_disable_file

 【内部メソッド】
 $c->stash()->{'view_file'} が定義されていたら、そのファイルを読み込む
 プレビュー画面のファイルを取得する

get_popup_slist_file

 【内部メソッド】
 $c->stash()->{'popup_slist_file'} が定義されていたら、そのファイルを読み込む
 ポップアップ画面のファイルを取得する

get_search_file

 【内部メソッド】
 $c->stash()->{'search_file'} が定義されていたら、そのファイルを読み込む
 検索画面のファイルを取得する

get_list_file

 【内部メソッド】
 $c->stash()->{'list_file'} が定義されていたら、そのファイルを読み込む
 リスト画面のファイルを取得する

get_template_prefix

 【内部メソッド】
 テンプレートのプレフィックスを取得する

get_my_file

 【内部メソッド】
 必要なテンプレートファイルを開く

get_index_file

 【内部メソッド】
 index.html を取得する

get_popup_index_file

 【内部メソッド】
 popup_index.html を取得する

get_popup_file

 【内部メソッド】
 popup_func.js を取得する

get_popup_sel_func_file

 【内部メソッド】
 popup_sel_func.js を取得する

get_table_file

 【内部メソッド】
 $c->stash()->{'table_file'} が定義されていたら、そのファイルを読み込む
 table.html を取得する

get_header_file

 【内部メソッド】
 $c->stash()->{'header_file'} が定義されていたら、そのファイルを読み込む
 header.html を取得する

get_footer_file

 【内部メソッド】
 $c->stash()->{'footer_file'} が定義されていたら、そのファイルを読み込む
 footer.html を取得する

get_terminate_file

 【内部メソッド】
 $c->stash()->{'terminate_file'} が定義されていたら、そのファイルを読み込む
 terminate.html を取得する

publish

 【内部メソッド】
 最終的なHTML画面を生成する

read_file

 【内部メソッド】
 ファイルを読み込む

parse_variable

 【内部メソッド】
 $FORMに値を詰める

parse_form

 【内部メソッド】
 コンフィグを読み込んでフォームを自動生成する

parse_form

 【内部メソッド】
 HTMLエスケープを行う

format_linebreak

 【内部メソッド】
 改行コードを $linebreak に統一する

blank

 【内部メソッド】
 空文字かどうかを判別する

make_popup

 【内部メソッド】
 ポップアップを開くボタン等を生成する

load_popup_setting_data

 【内部メソッド】
 ポップアップで呼ばれた側 が使う関数

set_popup_setting_data

 【内部メソッド】
 ポップアップ用に config を読み込んで、チェックして、セットする基本関数

createJSFunction

 【内部メソッド】
 ポップアップ画面を表示するためのLINKを作る

createPopupBtn

 【内部メソッド】
 ポップアップボタンを生成する

PVtoJSV

 【内部メソッド】
 
 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');


SEE ALSO

とりあえず空っぽ 日本語と英語と 両方POD書きたいんだけど何とかならないのかなぁ


AUTHOR

Kenichiro Nakamura, <nakamura@shanon.co.jp>


COPYRIGHT AND LICENSE

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.