# モーダル(Modal) ## コントロールの機能、種類(通常コントロールまたはコンテナコントロール)、親クラス - **コントロールの機能**:`Modal` はモーダルダイアログコントロールであり、ページ上に中央揃えで表示されるフローティングパネルを提供します。主にコンテンツ、フォーム、通知メッセージの表示に使用されます。背景クリックによる閉じる操作、自動開閉、タイムアウトによる自動閉じるなどの機能をサポートしています。 - **種類**:コンテナコントロール(他の子コントロールを内包可能) - **親クラス**:`bricks.BaseModal` ### 初期化パラメータ | パラメータ名 | 型 | 説明 | |--------------|----------------|------| | `target` | string または Layout | モーダルがマウントされる対象のコンテナ。デフォルトは `bricks.Body`(つまり body) | | `auto_open` | boolean | 作成後に自動的に `open()` メソッドを呼び出してモーダルを表示するかどうか。デフォルトは false | | `auto_close` | boolean | マスク部分のクリックでモーダルを閉じられるようにするか(現在この機能は無効化されています) | | `width` | string/number | モーダル内部パネルの幅。例:`'500px'` や `'80%'` | | `height` | string/number | モーダル内部パネルの高さ | | `bgcolor` | string | 内部パネルの背景色。デフォルトは `#e8e8e8` | | `title` | string | モーダルのタイトル。上部のタイトルバーに表示されます | | `archor` | string | 配置アンカー。値は `tl`, `tc`, `tr`, `cl`, `cc`, `cr`, `bl`, `bc`, `br` のいずれか。デフォルトは `'cc'`(中央配置) | > 注:`org_index` および `timeout` は `BaseModal` で定義されていますが、`Modal` のコンストラクタのコメントには記載されていません。これらは非推奨であるか、基底クラスによって処理されている可能性があります。 ### 主なイベント | イベント名 | 発生タイミング | |------------------|----------------| | `opened` | `open()` メソッド呼び出し後に発生。モーダルが表示されたことを示します | | `dismissed` | `dismiss()` メソッドが呼び出され、モーダルが正常に削除された後に発生 | | `click` | ユーザーがモーダルのマスク部分をクリックしたときに発生(ただし、`auto_close` 機能が有効な場合のみバインドされる。現状ではコメントアウト中) | --- # ModalForm ## コントロールの機能、種類(コンテナコントロールまたはコンテナコントロール)、親クラス - **コントロールの機能**:`ModalForm` はポップアップ形式のフォーム付きモーダルコントロールであり、動的フォームを含むモーダルウィンドウをすばやく構築・表示するために使用されます。データ入力、設定変更などによく利用されます。 - **種類**:コンテナコントロール(内部に Form 子コントロールを含む) - **親クラス**:`bricks.PopupWindow` ### 初期化パラメータ | パラメータ名 | 型 | 説明 | |--------------------|----------------|------| | `auto_open` | boolean | コンストラクト後に自動的にモーダルを開くかどうか(遅延タスクにより実装) | | `width` | string/number | フォームモーダルの幅 | | `height` | string/number | フォームモーダルの高さ | | `bgcolor` | string | 背景色(親クラスに引き渡して使用) | | `archor` | string | 配置方式。`Modal` と同じく、フォームの位置を制御 | | `title` | string | フォームのタイトル。フォームの上部に表示 | | `description` | string | フォームの説明文。タイトルの下に表示 | | `fields` | array | フォーム項目の設定配列。入力フィールドの構造を定義するために使用 | | `binds` | array | オプションのデータバインディング設定。モデルや状態との関連付けに使用 | | `user_data` | any | ユーザー定義データ。拡張用途に使用可能(現状では直接使用されていない) | | `submit_url` | string (コンストラクタのパラメータではない) | 提出先URL(外部から設定が必要。提出処理に使用) | > 注意:`ModalForm` は非同期メソッド `build_form` を使い、0.2秒の遅延を設けてフォームを作成します。これにより、DOM環境が準備完了していることを保証します。 ### 主なイベント | イベント名 | 発生タイミング | |------------------|----------------| | `submit` | フォームが送信されたときに発生。フォームデータを引数として渡します | | `submited` | フォームの送信処理が完了した後に発生(`Form` コントロールの `submited` イベントから転送)。サーバーからの返信データを含みます | | `cancel` | ユーザーがキャンセルボタンをクリックしたときに発生(`dismiss` メソッドにバインド) | | `dismissed` | モーダルが閉じた後に発生(親クラスから継承) | > 説明:このコントロールは `Form` コントロールのイベント機構に依存しており、そのイベントをラップして転送しています。