5.1.4. 確認モーダル¶
「確認モーダル」を呼び出す方法について説明します。「確認モーダル」は クライアントサイド JavaScript API を利用して呼び出します。「確認」画面と連携する画面のヘッダ部に、下記のとおりimSecureTokenの定義と<im_workflow/js/api_base.js>の読み込みを記述します。<imart type="head"> <meta http-equiv="X-Intramart-Secure-Token" content="<imart type="imSecureToken" mode="value" />"/> <script src="im_workflow/js/api_base.js" defer></script> </imart>下記のような JavaScript を実行することで、「確認モーダル」が表示されます。詳細は showConfirm を参照してください。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 <script type="text/javascript"> imWorkflow.modal.showConfirm({ processParameter: { confirmComment: "confirm", interfaceControl: { confirmComment: { readonly: true } } }, rebootModal: false }) .then(function(result) { if (result.isProcessDone) { alert("done"); } imWorkflow.transition.afterProcess(); }); </script>また、サンプルデータとして「確認モーダル」の呼び出しを実装した、以下のスクリプト開発のファイルを提供しています。<./jssp/src/sample/im_workflow/purchase/screen_modal/confirm.html> <./jssp/src/sample/im_workflow/purchase/screen_modal/confirm.js>
コラム
このAPIはPromiseを返します。
また、ワークフロー処理モーダルが閉じたタイミングで処理を終了します。
ワークフロー処理モーダルが閉じるタイミングは以下のとおりです。
- 閉じるボタンクリック
- ESCキー押下
- 処理が正常終了
よって、モーダルが閉じた後の処理は、then メソッド内に記述してください。
また、確認後の処理は、返却値のisProcessDoneプロパティがtrueの場合の処理内で記述してください。
コラム
<im_workflow/js/api_base.js>を読み込む際はdefer属性を付与する必要があります。