この章では、TIBCO EBX®によってカスタムフォームがどのように定義および管理されるかについて詳しく説明します。
アクセスするには、[データモデル] > [拡張機能] > [カスタムフォーム] > [フォーム]に移動します。

[+]ボタンをクリックしてフォームを作成します。

新しいフォームに名前を付け、使用できるテーブルを示します。

「保存」ボタンを押すと、レイアウトデザイナにリダイレクトされます。

フォームとコンポーネントの両方を「カスタムフォーム」データモデル拡張で作成できます。
フォームはレコードのレイアウトを記述します。フォームは、レコードや入力パラメーターなどのコンテキスト情報にアクセスできます。フォームを作成するとき、ユーザーはそのターゲットテーブルを提供するように求められます。作成されると、テーブルのデフォルトフォームとして宣言できます。拡張機能の「デフォルトフォーム」テーブル、またはターゲットテーブルの「拡張機能」タブのいずれかで宣言できます。テーブルのデフォルトではないフォームは使用されません。
コンポーネントは再利用可能なフラグメントです。フォームと他のコンポーネント間で共有できます。フォームとは異なり、コンポーネントはコンテキスト情報にアクセスできません。このような情報が必要な場合は、呼び出し元から明示的に提供する必要があります。
フォームまたはコンポーネントは、ブロックの積み重ねに過ぎません。ブロックは、具体的なグラフィックエレメントまたはロジックの一部を表すことができ、権限、言語などの条件に基づいて異なるレイアウトを持つことができます。
ワークスペースには、事前定義されたルートブロック内にフォームの説明が含まれています。このルートに接続されていないブロックは、非アクティブとしてマークするためにグレー表示されます。 ブロックを移動するには、ドラッグアンドドロップする必要があります。ブロックをドラッグすると、その下に接続されているブロックもドラッグされます。ブロックを1つだけ移動する必要がある場合は、Ctrlキーを押しながらクリックします。ワークスペースのブロックを右クリックすると、展開/折りたたみ、コメント、ヘルプなどのオプションのリストも表示されます。
左側のツールボックスには、カテゴリのリストが表示されます。カテゴリをクリックすると、そのカテゴリに含まれるブロックが表示されます。一部のカテゴリには、関連する「テンプレート」セクションがあります。このセクションは、セクションのブロックのいくつかの組み合わせを提供し、便利なショートカットまたはサンプルと見なすことができます。
画面の右下には、[プレビュー]ボタンと[プレビューの構成]ボタンがあります。これらを使用して、フォームがどのように表示されるかを確認できます。

ツールボックスに表示されるすべてのブロックのリストは次のとおりです。
2つの整数の演算。

アイテムのリスト。

式ブロックを配列にするためのアダプター。
2つのブール値の操作。

チェックボックスウィジェットを表示します。

| 入力 | 説明 | 
|---|---|
| 
 | ウィジェットを表示するノード。 | 
| 
 | ウィジェットを読み取り専用モードにする必要があるかどうかを示します。 | 
| 
 | 設定されている場合、ウィジェットの横にアイテムラベルを追加するかどうかを示します。 | 
| 
 | この列挙項目のインデックス。 | 
| 
 | 設定されている場合、モデル駆動型の命名法を上書きします。 | 
チェックボックスグループウィジェットを表示します。

| 入力 | 説明 | 
|---|---|
| 
 | ウィジェットを表示するノード。 | 
| 
 | ウィジェットを読み取り専用モードにする必要があるかどうかを示します。 | 
| 
 | 設定されている場合、チェックボックスのレイアウトに使用する列の数を定義します。 | 
| 
 | 設定されている場合、モデル駆動型の命名法を上書きします。 | 
指定されたノードの子のリストを返します。

| 入力 | 説明 | 
|---|---|
| 
 | 子を抽出するための複雑なノード。 | 
「when」/「otherwise」ブロックの内側の1つのコンテンツを返すブロック。

| 入力 | 説明 | 
|---|---|
| 
 | 「when」ブロックのリスト、およびオプションで最後の 「otherwise」ブロック。 | 
標準の「閉じる」ボタン。

| 入力 | 説明 | 
|---|---|
| 
 | 設定されている場合、デフォルトのラベルを上書きします。 | 
| 
 | これが「Enter」を押したときにトリガーされるアクションであるかどうかを示します。デフォルトのボタンは1つだけにする必要があります。 | 
カラーピッカーウィジェットを表示します。

| 入力 | 説明 | 
|---|---|
| 
 | ウィジェットを表示するノード。 | 
| 
 | ウィジェットを読み取り専用モードにする必要があるかどうかを示します。 | 
コンボボックスウィジェットを表示します。

| 入力 | 説明 | 
|---|---|
| 
 | ウィジェットを表示するノード。 | 
| 
 | ウィジェットを読み取り専用モードにする必要があるかどうかを示します。 | 
| 
 | 設定されている場合、基になるノードが外部キーであるときに作成ボタンを表示するかどうかを定義します。 | 
| 
 | 設定されている場合、基になるノードが外部キーであるときにプレビューボタンを表示するかどうかを定義します。 | 
| 
 | 設定されている場合、ドロップダウンリストの各ページのエントリ数を定義します。 | 
| 
 | 設定されている場合、コンボボックスの幅を定義します。 | 
| 
 | 設定されている場合、基になるノードが外部キーであるときに詳細セレクターを表示するかどうかを定義します。 | 
| 
 | 設定されている場合、関連する外部キーフィールドのコンボボックス選択で使用される公開ビューの名前を定義します。 | 
| 
 | 設定されている場合、モデル駆動型の命名法を上書きします。 | 
2つの整数を比較します。

文字列、数値、またはブール値を比較します。

指定された配列の連結を返します。

| 入力 | 説明 | 
|---|---|
| 
 | 配列のリスト。 | 
定数値。コンテキストに応じて、この値はテキスト、ブール値、または数値として解釈される場合があります。

| 入力 | 説明 | 
|---|---|
| 
 | テキスト、ブール値、または数値。 | 
ワークスペースのコンテンツタイトルを表示します。

| 入力 | 説明 | 
|---|---|
| 
 | 表示するテキスト。 | 
| 
 | エレメントの水平方向の配置。設定されている場合、受け入れられる値は「start」、「end」、「center」です。 | 
フォームがレコードの作成または複製のコンテキストで表示されるかどうかを示すブール値を返します。

カスタムアクションバー。

| 入力 | 説明 | 
|---|---|
| 
 | アクションバーの左側に表示する「ボタン」のリスト。 | 
| 
 | アクションバーの中央に表示する「ボタン」のリスト。 | 
| 
 | アクションバーの右側に表示する「ボタン」のリスト。 | 
入力した日付/時刻を表示します。

| 入力 | 説明 | 
|---|---|
| 
 | ウィジェットを表示するノード。 | 
| 
 | ウィジェットを読み取り専用モードにする必要があるかどうかを示します。 | 
| 
 | 日付ピッカーを開くボタンが表示されているかどうかを示します(読み取り/書き込みモードのみ)。 | 
| 
 | 日付を現在時刻に設定するボタンが表示されているかどうかを示します(読み取り/書き込みモードのみ)。 | 
「with」ブロックでの変数の宣言。

| 入力 | 説明 | 
|---|---|
| 
 | 変数の名前。特定の 「with」ブロックに対して一意である必要があります。 | 
| 
 | これを参照する 「var」ブロックによって返される変数の値。 | 
デフォルトのアクションバー。

モデル駆動型ツールバー。

フォームがレコード複製のコンテキストで表示されるかどうかを示すブール値を返します。

展開/折りたたみブロック内にコンテンツを表示します。

| 入力 | 説明 | 
|---|---|
| 
 | 矢印の横に表示されるラベル。 | 
| 
 | グループが最初に折りたたまれているかどうかを示します。 | 
| 
 | 折りたたみ可能なコンポーネントのリスト。 | 
その内容を流動的に表示します。エレメントが1つの行または列に収まらない場合、エレメントは折り返され、新しいエレメントが開始されます。

| 入力 | 説明 | 
|---|---|
| 
 | 「horizontal」または「vertical」は、コンテンツをキューに入れる方向を示します。 | 
| 
 | エレメント間のスペース(ピクセル単位)。 | 
| 
 | 水平または垂直に表示するエレメントのリスト。 | 
「of」配列の各項目に適用された 「body」関数の結果で構成される配列を返します。

| 入力 | 説明 | 
|---|---|
| 
 | 現在のアイテムを含む変数の名前。 | 
| 
 | 変換するアイテムを含む配列。 | 
| 
 | 現在のアイテムに対して何を返すか。 | 
左側にラベル、右側に値がある標準のテーブルのようなレイアウト。

| 入力 | 説明 | 
|---|---|
| 
 | 「フォーム行」、「フォームグループ」またはノードのリスト。ノードはモデル駆動型の表示になり、「フォーム行」と「フォームグループ」でカスタムコンテンツを表示できます。 | 
フォームの実際の定義。

| 入力 | 説明 | 
|---|---|
| 
 | フォームの上部に表示されるツールバーの定義。 | 
| 
 | フォームの下に表示されるアクションバーの定義。 | 
| 
 | ヘルプページのURL。 | 
| 
 | レイアウトの内容。 | 
「フォーム」内に、折りたたみ可能なアイテムのグループを表示します。

| 入力 | 説明 | 
|---|---|
| 
 | 設定されている場合、グループラベル、説明、およびコンテンツはモデル駆動型になります。 | 
| 
 | グループのラベル。ノードとラベルが設定されている場合、モデル駆動ラベルをオーバーライドできます。 | 
| 
 | グループの説明。ノードと説明が設定されている場合、モデル駆動型の説明を上書きできます。 | 
| 
 | グループが最初に開いているかどうかを示します。 | 
| 
 | 「フォーム行」、「フォームグループ」またはノードのリスト。ノードはモデル駆動型の表示になり、「フォーム行」と「フォームグループ」でカスタムコンテンツを表示できます。 | 
「フォーム」または「フォームグループ」内に、基本的にラベルと値である行を表示します。

| 入力 | 説明 | 
|---|---|
| 
 | 設定されている場合、ラベル、説明、およびコンテンツはモデル駆動型になります。 | 
| 
 | ラベルを表示するかどうかを示します。 「フォーム」でfalseに設定すると、コンテンツはラベルとコンテンツ領域の両方にまたがります。 | 
| 
 | 行のラベル。ノードとラベルが設定されている場合、モデル駆動ラベルをオーバーライドできます。 | 
| 
 | 行の説明。ノードとラベルが設定されている場合、モデル駆動ラベルをオーバーライドできます。 | 
| 
 | ラベルの横に表示されるコンテンツ。 | 
「レコード」は、表示されたレコードを表すノードです。 「現在のページ」は、表示されているページを表す番号(デフォルトでは1)です。この値は、[前へ]ボタンと[次へ]ボタンで変更できます。

オブジェクトまたはノードから値を抽出します。
<from "node" get "path/to/value">は<var "node/path/to/value">と同等です。

| 入力 | 説明 | 
|---|---|
| 
 | データを抽出するベースオブジェクトまたはノード。 | 
| 
 | 「from」のオブジェクト内で抽出するデータのパス。 | 
無名関数の定義。関数は、本体のパラメーターを使用して結果を返します。

| 入力 | 説明 | 
|---|---|
| 
 | 「param」ブロックのリスト。この関数で受け入れられるパラメーターを定義します。 | 
| 
 | パラメーターを使用して、関数の結果を説明する本文。 | 
パラメーターに実際の値を設定して関数を呼び出します。

| 入力 | 説明 | 
|---|---|
| 
 | 呼び出す関数。 | 
| 
 | 関数に渡す引数。 | 
呼び出された関数のパラメーターに渡す実際の値。

| 入力 | 説明 | 
|---|---|
| 
 | パラメーターの名前。 | 
| 
 | パラメーターを渡すための実際の値。 | 
これは、関数のパラメーターの宣言です。

| 入力 | 説明 | 
|---|---|
| 
 | パラメーターの名前。 | 
| 
 | このパラメーターを呼び出し元が指定する必要があるかどうかを示します。 | 
| 
 | 設定されている場合、これは、呼び出し元が指定しない場合にこのパラメーターがとるデフォルト値です。 | 
座標を使用してコンポーネントをグリッドに配置できるレイアウト。

| 入力 | 説明 | 
|---|---|
| 
 | エレメント間のスペース(ピクセル単位)。 | 
| 
 | グリッドエレメントのリスト。コンテンツを表示する場所を指定します。 | 
「グリッド」内で、そのコンテンツの場所を指定します。
| 入力 | 説明 | 
|---|---|
| 
 | エレメントが始まる行。最小値は1です。 | 
| 
 | エレメントが始まる列。最小値は1です。 | 
| 
 | グリッドセルでのエレメントの幅。最小値は1です。 | 
| 
 | グリッドセルでのエレメントの高さ。最小値は1です。 | 
| 
 | エレメントの垂直方向の配置。設定されている場合、受け入れられる値は「start」、「end」、「center」です。 | 
| 
 | エレメントの水平方向の配置。設定されている場合、受け入れられる値は「start」、「end」、「center」です。 | 
| 
 | セル内のコンテンツ。 | 
テストの結果に基づいて、「then」のコンテンツまたは「else」のコンテンツのいずれかを返すブロック。

| 入力 | 説明 | 
|---|---|
| 
 | 返す値を決定するテスト。これはブール値である必要があります。 | 
| 
 | テストがtrueの場合に返される値。 | 
| 
 | テストがfalseの場合に返される値。 | 
入力パラメーターの生の値を返します。

| 入力 | 説明 | 
|---|---|
| 
 | パラメーター名。 | 
現在のユーザーが要求されたロールを持っているかどうかを示すブール値を返します。

指定されたノードのラベルを表示します。

| 入力 | 説明 | 
|---|---|
| 
 | ラベルを表示するノード。 | 
どの結果がユーザーロケールに依存するかをブロック化します。

| 入力 | 説明 | 
|---|---|
| 
 | 各パラメーターはロケールに関連しています。ブロック化の結果は、現在のユーザーのロケールに対応するものになります。 | 
javaのような{0}、{1}などのプレースホルダーを指定されたインデックスの引数に置き換えることにより、指定されたテキストをフォーマットします。

| 入力 | 説明 | 
|---|---|
| 
 | 指定された引数に置き換えられるプレースホルダー({0}、{1}など)を含むテキスト。 | 
| 
 | パターン内のプレースホルダーを置き換える値のリスト。 | 
「現在のページ」の値を1つインクリメントするボタン。

| 入力 | 説明 | 
|---|---|
| 
 | 設定されている場合、デフォルトのラベルを上書きします。 | 
| 
 | これが「Enter」を押したときにトリガーされるアクションであるかどうかを示します。デフォルトのボタンは1つだけにする必要があります。 | 
既存のノードの定義を上書きします。

| 入力 | 説明 | 
|---|---|
| 
 | オーバーライドするノード。 | 
| 
 | 設定されている場合、ベースノードの必須インジケーターをオーバーライドします。 | 
| 
 | 設定されている場合、ノードのラベルを上書きします。 | 
| 
 | 設定されている場合、ノードのラベルを上書きします。 | 
| 
 | 設定されている場合、ノードのデフォルトウィジェットをオーバーライドします。 | 
命名項目は(キー、ラベル)ペアです。

| 入力 | 説明 | 
|---|---|
| 
 | アイテムの値。 | 
| 
 | アイテムのラベル。 | 
指定されたブール値の逆数を返します。

(キー、値)ペアのリストで構成されるオブジェクト。

| 入力 | 説明 | 
|---|---|
| 
 | 「property」ブロックのリスト。 | 
「choose」ブロックの最終選択。大文字と小文字が一致しない場合に返されます。

| 入力 | 説明 | 
|---|---|
| 
 | 「When」ケースとの一致がない場合に返す値。 | 
段落のタイトルを表示します。

| 入力 | 説明 | 
|---|---|
| 
 | 表示するテキスト。 | 
| 
 | エレメントの水平方向の配置。設定されている場合、受け入れられる値は「start」、「end」、「center」です。 | 
入力パスワードウィジェットを表示します。

| 入力 | 説明 | 
|---|---|
| 
 | ウィジェットを表示するノード。 | 
| 
 | ウィジェットを読み取り専用モードにする必要があるかどうかを示します。 | 
「現在のページ」の値を1つ減らすボタン。

| 入力 | 説明 | 
|---|---|
| 
 | 設定されている場合、デフォルトのラベルを上書きします。 | 
| 
 | これが「Enter」を押したときにトリガーされるアクションであるかどうかを示します。デフォルトのボタンは1つだけにする必要があります。 | 
オブジェクトのプロパティ。

| 入力 | 説明 | 
|---|---|
| 
 | プロパティの名前。特定のオブジェクトに対して一意である必要があります。 | 
| 
 | プロパティの値。 | 
ラジオボタンウィジェットを表示します。

| 入力 | 説明 | 
|---|---|
| 
 | ウィジェットを表示するノード。 | 
| 
 | ウィジェットを読み取り専用モードにする必要があるかどうかを示します。 | 
| 
 | 設定されている場合、ウィジェットの横にアイテムラベルを追加するかどうかを示します。 | 
| 
 | この列挙項目のインデックス。 | 
| 
 | 設定されている場合、モデル駆動型の命名法を上書きします。 | 
ラジオボタングループウィジェットを表示します。

| 入力 | 説明 | 
|---|---|
| 
 | ウィジェットを表示するノード。 | 
| 
 | ウィジェットを読み取り専用モードにする必要があるかどうかを示します。 | 
| 
 | 設定されている場合、ラジオボタンのレイアウトに使用する列の数を定義します。 | 
| 
 | 設定されている場合、モデル駆動型の命名法を上書きします。 | 
標準の「元に戻す」ボタン。

| 入力 | 説明 | 
|---|---|
| 
 | 設定されている場合、デフォルトのラベルを上書きします。 | 
| 
 | これが「Enter」を押したときにトリガーされるアクションであるかどうかを示します。デフォルトのボタンは1つだけにする必要があります。 | 
標準の「保存」ボタン。

| 入力 | 説明 | 
|---|---|
| 
 | 設定されている場合、デフォルトのラベルを上書きします。 | 
| 
 | これが「Enter」を押したときにトリガーされるアクションであるかどうかを示します。デフォルトのボタンは1つだけにする必要があります。 | 
標準の[保存して閉じる]ボタン。

| 入力 | 説明 | 
|---|---|
| 
 | 設定されている場合、デフォルトのラベルを上書きします。 | 
| 
 | これが「Enter」を押したときにトリガーされるアクションであるかどうかを示します。デフォルトのボタンは1つだけにする必要があります。 | 
「タブコンテナ」内のタブ。

| 入力 | 説明 | 
|---|---|
| 
 | 存在する場合、タブのタイトル、説明、およびコンテンツはモデル駆動型になります。 | 
| 
 | タブのタイトル。ノードとタイトルが設定されている場合、モデル駆動型タイトルをオーバーライドできます。 | 
| 
 | タブの説明。ノードと説明が設定されている場合、モデル駆動型の説明を上書きできます。 | 
| 
 | タブの内容。ノードとコンテンツが設定されている場合、モデル駆動型コンテンツをオーバーライドする可能性があります。 | 
タブ名のリストと1つのアクティブなタブを表示するタブのコンテナ。

| 入力 | 説明 | 
|---|---|
| 
 | 「タブ」のリスト。 | 
テキスト入力ウィジェットを表示します。

| 入力 | 説明 | 
|---|---|
| 
 | ウィジェットを表示するノード。 | 
| 
 | ウィジェットを読み取り専用モードにする必要があるかどうかを示します。 | 
| 
 | 設定されている場合、ウィジェットの高さをピクセル単位で定義します。 | 
| 
 | 設定されている場合、ウィジェットの幅をピクセル単位で定義します。 | 
| 
 | 設定されている場合、ウィジェットが複数の行にまたがるかどうかを定義します。 | 
| 
 | 設定されている場合、16進形式で背景色を定義します。 | 
| 
 | 設定されている場合、前景色を16進形式で定義します。 | 
指定された名前のツールバー。

| 入力 | 説明 | 
|---|---|
| 
 | 表示するツールバーの名前。 | 
「with ... declare」ブロックによって宣言された変数への参照。変数がオブジェクトまたはノードの場合も、パスが受け入れられます。

| 入力 | 説明 | 
|---|---|
| 
 | 「with ... declare」ブロックによって宣言された変数への参照。変数がオブジェクトまたはノードの場合も、パスが受け入れられます。 | 
「choose」ブロックでの選択。テストがtrueの場合、「then」コンテンツが返されます。それ以外の場合は、次のブロックがテストされます。

| 入力 | 説明 | 
|---|---|
| 
 | このケースを解決する必要があるかどうかを示すブールテスト。 | 
| 
 | テストがtrueの場合、この値が返されます。 | 
デフォルトのウィジェットを表示します。

| 入力 | 説明 | 
|---|---|
| 
 | ウィジェットを表示するノード。 | 
| 
 | ウィジェットを読み取り専用モードにする必要があるかどうかを示します。 | 
「return」ステートメントで使用できる変数を宣言します。

| 入力 | 説明 | 
|---|---|
| 
 | 「declare」ブロックのリスト。 | 
| 
 | 返す値。 「variables」ステートメントで宣言された変数は、ここで 「var」ブロックとともに使用できます。 |