8.2 KiB
InlineForm
コントロール機能:行内に送信可能なフォームを埋め込むためのもので、フィールド入力、検証、ツールバー操作(送信、リセット、キャンセル)をサポートしています。軽量なフォームを埋め込みたいシーンに適しています。
タイプ:通常コントロール
親クラスコントロール:bricks.FormBase
初期化パラメータ
| パラメータ名 | 型 | 説明 |
|---|---|---|
fields |
配列 | フォームフィールド設定配列。各フィールドオブジェクトには name、label、uitype などの情報が含まれます。 |
height |
文字列 | 任意。デフォルトは "100%"。コントロールの高さを設定します。 |
width |
文字列 | 任意。デフォルトは "100%"。コントロールの幅を設定します。 |
overflow |
文字列 | 任意。デフォルトは "auto"。コンテンツがオーバーフローした際の表示方法を制御します。 |
注意:すべてのオプションはコンストラクタに
opts経由で渡されます。
主要イベント
| イベント名 | 発火条件 | コールバック引数 |
|---|---|---|
submit(data) |
ユーザーが「送信」ボタンをクリックし、データが検証を通過した後に発火します。 | data: FormData オブジェクトまたは通常のオブジェクト。フォームデータを含みます。 |
submited(resp) |
送信リクエスト完了後(成功・失敗問わず)に発火します。 | resp: レスポンスオブジェクト。await resp.json() で戻り値を取得できます。 |
cancel |
ユーザーが「キャンセル」ボタンをクリックしたときに発火します。 | 引数なし。 |
reset |
ユーザーが「リセット」ボタンをクリックしたときに発火します。 | 引数なし。 |
| カスタムコマンドイベント | ツールバーにカスタムボタンが追加され、action または名前が設定されている場合にクリック時に発火します。 |
event.params にボタン情報が含まれます。 |
Form
コントロール機能:完全なフォームコンテナーコントロールで、タイトル、説明文、複数フィールドのレイアウト、テキスト/非テキストフィールドの分離、ツールバーの自動生成、送信URLおよびメソッドの設定が可能です。独立したページやポップアップ内のフル機能フォームに適しています。
タイプ:コンテナーコントロール
親クラスコントロール:bricks.FormBase
初期化パラメータ
| パラメータ名 | 型 | 説明 |
|---|---|---|
title |
文字列 | 任意。フォームのタイトル。大きな文字で表示されます。 |
description |
文字列 | 任意。フォームの説明文。タイトルの下に表示されます。 |
fields |
配列 | 必須。フィールド設定リスト。構造は InlineForm と同じです。 |
submit_url |
文字列 | 任意。フォーム送信先の URL。設定すると自動的に HTTP リクエストが送信されます。 |
method |
文字列 | 任意。HTTP メソッド。デフォルトは 'POST'。 |
notoolbar |
真偽値 | 任意。デフォルトは false。デフォルトのツールバー(送信/リセット/キャンセル)を非表示にするかどうか。 |
toolbar |
オブジェクト | 任意。デフォルトツールバーの拡張または置き換え設定。構造は { tools: [...] }。 |
input_layout |
文字列 | 任意。入力フィールドのレイアウト方式。"VBox"(垂直)または "HBox"(水平)をサポート。デフォルトは "VBox"。 |
dataurl |
文字列 | (予約)初期データ読み込み用のインターフェースアドレス(現時点では直接使用されていません)。 |
主要イベント
| イベント名 | 発火条件 | コールバック引数 |
|---|---|---|
submit(data) |
フォーム送信前に検証通過後に発火。データの中断や前処理に利用可能。 | data: 送信されるデータオブジェクトまたは FormData。 |
submited(resp) |
submit_url へのリクエスト送信完了後に発火。 |
resp: Response オブジェクト。レスポンス結果の処理に利用可能。 |
cancel |
ユーザーが「キャンセル」ボタンをクリックしたときに発火。 | 引数なし。 |
reset |
ユーザーが「リセット」ボタンをクリックしたときに発火。 | 引数なし。 |
| カスタムイベント | ツールバー内のカスタムボタンがクリックされ、action またはイベント名が定義されている場合に発火。 |
event.params にボタンのメタデータが含まれます。 |
FormBody
コントロール機能:Form 内部で使用される本体コンテンツ領域。すべての非テキストフィールド(FieldGroup 経由)とテキストフィールド(読み取り専用表示)をレンダリングし、実際の入力エリアを保持するコンテナです。
タイプ:コンテナーコントロール
親クラスコントロール:bricks.VScrollPanel
初期化パラメータ
| パラメータ名 | 型 | 説明 |
|---|---|---|
form |
オブジェクト | 所属するフォームインスタンス。フィールド定義や name_inputs などの状態にアクセスするために使用。 |
opts |
オブジェクト | 設定項目。自動的に width: '100%'、height: '100%' が設定されます。 |
注:このコントロールは通常、開発者が直接作成するものではなく、
Formの構築過程で内部的にインスタンス化されます。
主要イベント
このコントロール自体は外部へイベントを発行しませんが、コンテナーとして VScrollPanel のスクロール関連機能を継承しており、主に視覚的な表示に使用されます。
- 業務イベントを主動的に発火させません。
- 子コントロール(例:入力フィールド)の変更は上位の
Formの状態に影響を与えます。
FieldGroup
コントロール機能:補助クラス。フォーム内のフィールドグループ(入れ子の group 構造も可)を再帰的に構築するためのもので、フィールドをレイアウトルールに従って動的列(DynamicColumn)や入力コンテナ(VBox/HBox)に組織化します。
タイプ:通常コントロール(ロジックコンポーネント)
親クラスコントロール:なし(基本クラス)
初期化パラメータ
| パラメータ名 | 型 | 説明 |
|---|---|---|
opts |
オブジェクト | 現在は実際には使用されていません。将来の拡張性のために保持されています。 |
注:このクラスは UI コントロールではなく、DOM を直接レンダリングしません。構築ロジックモジュールとしてのみ存在します。
主要イベント
このクラスにはイベント機構はなく、同期メソッド呼び出しにのみサービスを提供します:
build_fields(form, parent, fields):核心メソッド。再帰的にフィールドUIを生成し、指定された親コンテナにマウントします。
✅ 説明まとめ:
InlineFormとFormはユーザーが直接使用できるフォームコントロールです。FormBodyとFieldGroupは内部実装コンポーネントであり、通常は個別にドキュメント化して使用する必要はありません。- すべてのフォームコントロールは、統一されたデータ収集、検証、送信プロセスを共有しています。
- ファイル型フィールド(file/audio/video)は、
FormDataを使用することで自動認識されます。- ツールバーは高度なカスタマイズ拡張をサポートしています。