コールバック関数内で画面遷移の分岐 (branch プロパティ) を指定したい
マスカットフレームワーク 2.1.0 ではコールバック関数の第一引数として maskat.event.Event オブジェクトが渡されるように仕様が変わりました。このオブジェクトの branch プロパティを設定することで画面分岐先を設定可能です。
詳しくはリリースノート 5.1「コールバックインターフェースの改善」をご参照ください。 http://sourceforge.jp/projects/maskat/releases/38708/note
5.1 コールバックインターフェースの改善 マスカットフレームワーク 2.1.0 ではイベント処理の各段階で呼び出される コールバック関数のパラメータが変更されました。 ・イベントハンドラ共通のコールバック関数 (start, finish) にはレイア ウト上で発生したイベントの情報が渡されます。 ------------------------------------------------------------------ 【書式】 function callback(event) 【引数】 event : maskat.evnt.Event クラスのインスタンス。 レイアウト上で発生したイベントの情報を表します。 ------------------------------------------------------------------ ・リモートイベントハンドラからのコールバック関数 (before, after, timeout) ではイベント情報に加え、リモート通信のコンテキストが渡さ れます。 ------------------------------------------------------------------ 【書式】 function(event, context) 【引数】 event : maskat.evnt.Event クラスのインスタンス。 レイアウト上で発生したイベントの情報を表します。 context : maskat.event.RemoteEventContext のインスタンス。 サーバとの HTTP 通信の状態を格納しています。 ------------------------------------------------------------------ ・通信エラー発生時 (onErrorTele) のコールバック関数ではサーバからの 応答を XML DOM 形式で渡していましたが、他のリモートイベントからの コールバック関数と引数を統一しました。 ------------------------------------------------------------------ 【書式】 function(event, context) 【引数】 event : maskat.evnt.Event クラスのインスタンス。 レイアウト上で発生したイベントの情報を表します。 context : maskat.event.RemoteEventContext のインスタンス。 サーバとの HTTP 通信の状態を格納しています。 ------------------------------------------------------------------ サーバが返却した HTTP 応答が XML 形式であり、ルート要素 errors を 持つ場合にコールバック関数が実行されます。このとき、XML を自動的に 解析して第二引数 context の errorMessages プロパティにオブジェクト の配列として格納します。 例: HTTP 応答 ------------------------------------------------------------------ Content-Type: application/xml <?xml version="1.0" encoding="UTF-8"> <errors> <error id="ERR_100">データの登録に失敗しました。</error> <error id="ERR_101">ID が重複しています。</error> </errors> ------------------------------------------------------------------ ルート要素は複数の子要素 error を持つことができるため、サーバ側で 発生した複数のエラーを通知できます。また、error 要素では任意の属性 やテキスト要素を用いてエラーの内容を表現することができます。前述の XML 文書の例では以下のように context オブジェクトが設定されます。 例: context オブジェクトに設定される内容 ------------------------------------------------------------------ context.errorMessages = [ { id: "ERR_100", message: "データの登録に失敗しました。" }, { id: "ERR_101", message: "ID が重複しています。 } ]; ------------------------------------------------------------------ 後方互換性のため、第一引数 event は従来のフレームワークがコールバック 関数の引数に渡していた param オブジェクトと同じプロパティを持ちます。 これらのプロパティは今後のバージョンで非推奨として廃止する予定のため、 新たに開発するアプリケーションでは新しい形式でコールバック関数を記述し てください。
フォーラム 公開ディスカッション [#39840] からの引用