5.1.3. 処理モーダル¶
「処理モーダル」を呼び出す方法について説明します。「処理モーダル」は クライアントサイド 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 を実行することで、「処理モーダル」が表示されます。詳細は showProcess を参照してください。
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.showProcess({ processParameter: { interfaceControl: { processComment: { display: false } } }, optionalParameter: {}, rebootModal: false }) .then(function(result) { if (result.isProcessDone) { alert("done"); } imWorkflow.transition.afterProcess(); }); </script>また、サンプルデータとして「処理モーダル」の呼び出しを実装した、以下のスクリプト開発のファイルを提供しています。<./jssp/src/sample/im_workflow/purchase/screen_modal/approve.html> <./jssp/src/sample/im_workflow/purchase/screen_modal/approve.js>
コラム
このAPIはPromiseを返します。
また、ワークフロー処理モーダルが閉じたタイミングで処理を終了します。
ワークフロー処理モーダルが閉じるタイミングは以下のとおりです。
- 閉じるボタンクリック
- ESCキー押下
- 処理が正常終了
よって、モーダルが閉じた後の処理は、then メソッド内に記述してください。
また、処理後の処理は、返却値のisProcessDoneプロパティがtrueの場合の処理内で記述してください。
コラム
<im_workflow/js/api_base.js>を読み込む際はdefer属性を付与する必要があります。