intra-mart Accel Kaiden! プログラミングガイド 第21版 2024-04-01

3.2.6. Dialog

intra-mart Accel Kaiden!ではダイアログを作成するためのタグライブラリを用意しています。
本項では、タグライブラリ(ダイアログ <k:dialog>)を使用したプログラミング方法を解説します。

3.2.6.1. プログラミング

ダイアログのプログラミングはタグライブラリ(ダイアログ <k:dialog>)を使用します。

プログラミングしたダイアログは、ブロック <k:blockContainer>と同様に扱われるため、
ガジェット <k:gadgetContainer>内に配置する必要があります。
また、ブロック <k:blockContainer>TMTable <k:tmtable>の関係の様に、互いに内包することはできません。
  • プログラミング例
    <k:dialog title="サンプルダイアログ" id="sampleDialog" modal="true">
      <%-- ダイアログの内容 --%>
    </k:dialog>
    

3.2.6.2. 基本操作

ダイアログは次の様な形式で基本操作を行います。
  • プログラミング例
    //ダイアログオブジェクトの取得
    var dialog = KAIDEN.getGadget("ガジェットID").dialogs["sampleDialog"];
    
    //ダイアログにボタンを登録
    dialog.addButton("ボタン名", function() {
      //ボタン押下時の処理
    });
    
    //ダイアログを開く
    dialog.open();
    
    //ダイアログを閉じる
    dialog.close();
    

    コラム

    dialog.addButton()で指定する関数について詳しくは、jQuery UIのDialogのbuttonオプションを参照してください。

3.2.6.3. バリデーション

ダイアログ <k:dialog>を使用して作成したダイアログは、ダイアログを自動的に<form>で囲みます。
そのため、次の様な形式でバリデーションを実行できます。
  • プログラミング例
    if (dialog.validate("バリデーションキー")) {
      //エラーがなかった場合の処理
    }
    

    コラム

    エラーメッセージはダイアログ内に表示されます。
    ../../../../_images/dialog_validation.png