Skip to content
This repository has been archived by the owner on Jan 27, 2020. It is now read-only.

Latest commit

 

History

History
127 lines (119 loc) · 6.27 KB

myEvent.js.md

File metadata and controls

127 lines (119 loc) · 6.27 KB

戻る     日本語  中文  English

web/WEB-INF/efw/event/myEvent.js
--------------------------------------------------------------------------------
var form1_event1={};
form1_event1.outOfLogin   = false;
form1_event1.include      = [ { eventId : "form1_event2" } ];
form1_event1.paramsFormat = { 
                                "#txt_teststring" : "display-name:テスト文字;max-length:10;",
                                "#txt_testnumber" : "format:#,##0.00;required:true;display-name:テスト数字;min:-10.00;max:1,000.00",
                                "#txt_testdate"   : function(){
                                                        var date1=new Date();
                                                        var date2=new Date();
                                                        date2.setDate(date1.getDate()+Number(6));
                                                        return "format:yyyy年MM月dd日;required:true;display-name:テスト日付;"
                                                               +"min:"+efw.server.format.formatDate(date1,"yyyy年MM月dd日")+";"
                                                               +"max:"+efw.server.format.formatDate(date2,"yyyy年MM月dd日")+";" ;
                                                    },
                                ... 
                            };
form1_event1.fire         = function ( requestParams ) {
                                var ret=[];
                                    ...
                                var retsub=form1_event2.fire({ ... });
                                if(retsub.error) return {error:{...}};
                                ret=ret.concat(retsub);
                                return ret;
                            };
eventファイル。

    form1_event1.outOfLogin = true/false;
ログインチェック不要フラグが、未設定またはfalseの場合、ログインチェックを実行する。trueの場合、ログインチェックを実行しない。
ログインチェックの確認対象について、efw.properties の efw.login.key を参照。

form1_event1.paramsFormat = { 
                                "#txt_teststring" : "display-name:テスト文字;max-length:10;",
                                "#txt_testnumber" : "format:#,##0.00;required:true;display-name:テスト数字;min:-10.00;max:1,000.00",
                                "#txt_testdate"   : function(){
                                                        var date1=new Date();
                                                        var date2=new Date();
                                                        date2.setDate(date1.getDate()+Number(6));
                                                        return "format:yyyy年MM月dd日;required:true;display-name:テスト日付;"
                                                               +"min:"+efw.server.format.formatDate(date1,"yyyy年MM月dd日")+";"
                                                               +"max:"+efw.server.format.formatDate(date2,"yyyy年MM月dd日")+";" ;
                                                    },
                                ... 
                            };
単純入力チェックを自動的に行うため、paramsFormatにチェックスタイルで定義する。
詳細はAPIの event.paramsFormat.checkStyle を参照。

    return {error:{...}};
業務チェックエラーの場合、イベント処理は、error オブジェクトを戻す。詳細はAPIの event.fire.error を参照。
業務チェックエラーメッセージを管理したい場合、メッセージファイル efw.client.messages.js または efw.server.messages.jsをカスタマイズできる。

    form1_event1.include = [ { eventId : "form1_event2" } ];
    ...
    var retsub = form1_event2.fire( { ... } );
    ret = ret.concat( retsub );
メインイベントにサブイベントを実行したい場合、include 属性に定義する必要。
サブイベントの paramsFormat をメインイベントに取り込みたい場合、include の mergeParamsFormat を利用できる。 詳細はAPIの event.include を参照。
メインイベントとサブイベントの実行結果は、配列結合で連結。詳細はAPIの event.fire.eventResult を参照。

    form1_event1.paramsFormat = { ... };
    ...
    form1_event1.fire         = function ( requestParams ) {
                                    var ret=[];
                                        ...
                                    return ret;
                                };
イベントのデータ受取り引渡しは、サーバーサイドのイベントjsファイルに記載する。クライアントjsに記載不要。
詳細はAPIの efw.server.fire を参照。

event.fireが実行するたび、トランザクションが発行される。
イベントのfireが成功の場合、トランザクションがcommit。失敗の場合、トランザクションがrollback。
詳細はAPIの efw.server.prepare と efw.server.finish を参照。
トランザクションのカスタマイズは、efw.server.customize.js。