efw ダイアログサンプル

概要

本サンプルは、efwフレームワークにおけるダイアログ機能の完全な実装を展示し、多种類のダイアログタイプ(警告、確認、待機、プレビュー、カスタムダイアログ)の使用方法を含みます。efwフレームワークは、様々なユーザーインタラクションダイアログを作成および管理するための簡潔なAPIを提供します。

コアファイル

  1. メインページ: helloDialog.jsp
  2. カスタムダイアログコンポーネント: helloDialog_myDialog.jsp
  3. ダイアログ初期化イベント処理: helloDialog_init.js

機能実装

1. ダイアログタイプ

警告ダイアログ (Alert)

efw.dialog.alert("I am here");

確認ダイアログ (Confirm)

efw.dialog.confirm(
    "alertテストしています。",
    {
        "はい": function(){ alert("「はい」を押しました。"); },
        "いいえ": function(){ alert("「いいえ」を押しました。"); }
    },
    "alertテスト",
    function(){ alert("テスト完了"); }
);

待機ダイアログ (Wait)

efw.dialog.wait(
    "5秒待ってください。",
    5,
    "waitテスト",
    function(){ alert("テスト完了"); }
);

プレビューダイアログ (Preview)

efw.dialog.preview("a.jpg", "a.jpg");

カスタムダイアログ (Dialog)

function testDialog(){
    myDialog.p1 = 'hello world! ' + new Date();
    myDialog.dialog('open');
}

2. カスタムダイアログワークフロー

  1. ダイアログ初期化:
    • helloDialog_myDialog.jspでダイアログ構造と初期化ロジックを定義
    • jQuery UIのdialogコンポーネントを使用してダイアログを作成
  2. ダイアログオープン:
    • testDialog()関数でパラメータを設定しダイアログを開く
    • myDialog.p1を通じてパラメータを伝達
  3. 初期化イベント:
    • ダイアログオープン時にopenイベントをトリガー
    • Efw("helloDialog_init", { msg: myDialog.p1 })を呼び出し
    • パラメータを初期化イベントハンドラーに伝達
  4. 初期化処理:
    • helloDialog_init.jsがパラメータを受信
    • Resultオブジェクトを使用してダイアログ内容を更新
    • メッセージをダイアログの.msg要素に表示

技術的特長

1. モジュール化設計

2. パラメータ伝達メカニズム

3. チェーン操作API

return (new Result())
    .runat("#myDialog")
    .withdata({".msg": params["msg"]});

4. イベント駆動アーキテクチャ

5. デバッグサポート

params.debug(); // パラメータ情報を出力

6. 柔軟なダイアログ設定

使用シナリオ

本サンプルは以下に適用:

本サンプルを通じて、開発者はefwフレームワークにおける各種ダイアログの使用方法、およびカスタムダイアログの作成と管理方法を学ぶことができます。