intra-mart Accel Platform IM-Workflow プログラミングガイド 第26版 2023-10-01

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属性を付与する必要があります。