Config+EditListパターンの画面では、基本的に以下の場合の処理をcommandで定義します。
- Config部での実行ボタン押下時の処理
- テーブルを行選択した時の処理
- テーブルで単一選択したレコードに対する実行ボタン押下時の処理
- テーブルで複数選択したレコードに対する実行ボタン押下時の処理
サンプルのエリア定義では、上記のうちConfig部の実行ボタン押下時の処理として、"検索"commandが定義されています。
ここでは、まずユーザーがコンボボックスで設定した検索条件をconfig Contentの"検索条件保存"actionを呼び出して保存し、
その後でconfig Contentの"検索"actionを呼び出して検索処理を実行しています。
<!-- =====================================================
== 検索の実行コマンド
====================================================== -->
<command id="検索">
<doAction content="CC_WKFL_101_01_Config" action="検索条件保存"/>
<doAction content="CC_WKFL_101_01_Config" action="検索"/>
</command>
テーブルで単一選択したレコードに対する実行ボタン押下時の処理として、"申請","参照","修正"commandが定義されています。
それぞれのcommandでは、現在選択中の申請書に対する処理を行う個別の画面への遷移命令が定義されています。
<!-- =====================================================
== 申請の実行コマンド
====================================================== -->
<command id="申請">
<doTransition transit="申請先指定画面をポップアップ"/>
</command>
\<!-- =====================================================
== 参照の実行コマンド
====================================================== -->
<command id="参照">
<switch condition="content:CC_WKFL_101_02_EditList/ワークフロー申請種別">
<case value="ptype:ワークフロー申請種別/仮払申請書">
<doTransition transit="仮払申請書修正をポップアップ"/>
</case>
<case value="ptype:ワークフロー申請種別/交通費精算書">
<doTransition transit="交通費精算書参照をポップアップ"/>
</case>
</switch>
</command>
<!-- =====================================================
== 修正の実行コマンド
====================================================== -->
<command id="修正">
<switch condition="content:CC_WKFL_101_02_EditList/ワークフロー申請種別">
<case value="ptype:ワークフロー申請種別/仮払申請書">
<doTransition transit="仮払申請書修正をポップアップ"/>
</case>
<case value="ptype:ワークフロー申請種別/交通費精算書">
<doTransition transit="交通費精算書更新をポップアップ"/>
</case>
</switch>
</command>
また、遷移先をswitch命令で分岐させていることに注意してください。
これは、editlistのContentで定義した"ワークフロー申請種別"を分岐条件として参照している例です。
テーブルで複数選択したレコードに対する実行ボタン押下時の処理として、"削除","印刷"commandが定義されています。
それぞれのcommandでは、現在選択中の申請書に対する一括処理を行うactionの実行が定義されています。
<!-- =====================================================
== 印刷の実行コマンド
====================================================== -->
<command id="印刷">
<showConfirmDialog message="チェックした申請書を印刷します。よろしいですか?">
<ok>
<doAction content="CC_WKFL_101_02_EditList" action="印刷"/>
</ok>
<cancel>
<!-- キャンセル選択時は何もしない -->
</cancel>
</showConfirmDialog>
</command>
<!-- =====================================================
== 削除の実行コマンド
====================================================== -->
<command id="削除">
<showConfirmDialog message="チェックした申請書を削除します。よろしいですか?">
<ok>
<doAction content="CC_WKFL_101_02_EditList" action="削除"/>
<doAction content="CC_WKFL_101_01_Config" action="検索"/>
</ok>
<cancel>
<!-- キャンセル選択時は何もしない -->
</cancel>
</showConfirmDialog>
</command>