アドレス指定
アドレス指定は、UI ツールキット内のすべてのビューでサポートされます。これには、UI ページで定義された他のビュー内でネストされているビューも含まれます。
アドレス指定スキームは、ツリー構造に似た階層型の構造であり、ルートは表示されたページの最上部で /
として定義されます。 アドレス指定スキームの構造は、ディレクトリーに使用される構造と似ています。 ツリー内の後続のノードは、ページのロード時に追加されます。
通常、UI ビューでアドレス指定を使用するのは、ビュー・イベントによって、あるいは一部のビューで使用される数式によって呼び出される関数がある場合です。 関数は、ページ上のカスタム HTML の JavaScript スクリプト・ブロック、またはビューの「動作」プロパティーの「インライン Javascript」セクションで、インライン関数として指定できます。
アドレス指定スタイル
相対アドレス指定スタイルと絶対アドレス指定スタイルがサポートされます。 /
から参照を開始することは、絶対参照を意味します (例えば、ビュー・ツリーのルート・レベルから開始する)。
パスの先頭の /
を省略することは、「現在の位置が起点」
であることを意味します。 参照で ..
を使用すると、ファイル・ディレクトリー・ツリーの動作と同様に、参照が 1 つ上のレベルに戻ります。
- 現在の位置と同じレベルのフィールドは、フィールド名を使用して参照されます (参照の先頭で
/
を使用しません)。 - 現在の位置より 1 つ上のレベルのフィールドは、
../FieldOneLevelAboveMe
のように参照できます。 - 2 つ上のレベルのフィールドは、
../../FieldOneLevelAboveMe
のように参照されます (これ以降も同様)。 ../
を使用した相対アドレス指定は、場合によっては便利です。
ビューにアクセスするための JavaScript メソッド
- カスタム HTML から
- JavaScript ブロック内でビューにアクセスするには、ページ・グローバル・ビューとその
page.ui.get(ControlId path)
メソッドを使用します。 例えば、Text1 という名前のテキスト・ビューがあり、検証のために、ボタンの「クリック時」イベントで呼び出される関数でそのビューにアクセスしたいとします。 これを行うには、以下の例のようなコードを使用します。var myTextField = page.ui.get("/Text1"); myTextField.getValue() // returns the value in the text field myTextField.focus() // would set the focus to the text field.
- ビューの「インライン Javascript」から
- コンテナー・ビューに含まれている関数からビューにアクセスするには、以下のいずれかのオプションを使用します。
bpmEventHelper.ui.getView(ControlId [, thisview]) thisview.ui.get(ControlId)
- 数式内
- ビューは、以下の構文を使用して数式内で参照できます。
${FieldName}
は、control id = FieldName
のビューを参照します。@{FieldName}
は、control id = FieldName
のビューの値を参照します。${FieldName}.getValue()
と@{FieldName}
は同等です。
アドレス指定不能なレイアウト・ビュー
/VerticalLayout/FirstName
ではなく /FirstName
を使用してアドレス指定することができます。
load
関数で以下のプロパティーを true に設定します。this.constructor.prototype.IS_ADDRESS_INVISIBLE = true;
レイアウトのためだけに使用するアドレス指定不可のビューは、キャプション・ボックス、省略表示可能パネル、据え置きセクション、水平レイアウト、水平分割、入力グループ、モーダル・セクション、パネル、パネル・フッター、パネル・ヘッダー、ポップアップ・メニュー、レスポンシブ・センサー、スタック、状況ボックス、テーブル・レイアウト、テーブル・レイアウトのセル、テーブル・レイアウトの行、タブ・セクション、ツールチップ、垂直レイアウト、ウェル です。
アドレス指定可能なカスタム・ビュー
load
メソッドで次の関数を呼び出します。bpmEventHelper.ui.loadView(this)
bpmEventHelper.ui.loadContainer(this)
unload
関数で、次のように該当する関数を呼び出します。
bpmEventHelper.ui.unloadView(this)
またはbpmEventHelper.ui.unloadContainer(this)
テーブル内のピア・フィールドの参照
=
を付ける構文を使用して、my
行のフィールドにアクセスできます。
例えば、テーブル内に Quantity (Integer
)、Cost
(Decimal
)、および Total (Decimal
) の各ビューを定義済みであるとします。
次の数式を使用して、Total ビューの値を指定できます。
@{Quantity=} * @{Cost=}
Total ビューには、データ・バインディングは不要であるので注意してください。つまり、テーブルに Total データ・フィールドは不要です。
ヘルパー関数
ヘルパー関数の JSDoc については、CoachView を参照してください。
以下の例のように、bpmext.ui.View
名前空間内でヘルパー関数 getParent と getSibling を使用できます。 この例では、階層全体を知らなくても、コンテナー・ビューやピア・ビューに容易にアクセスできます。
例えば、CV という名前のコンテナー・ビューがあるとします。このコンテナー・ビューには、Button1 および Button2 という名前の 2 つのビューが含まれています。 btn1View が Button1 の bpmext.ui.View オブジェクトになっている場合は、btn1View.ui.get("CV")
または btn1View.ui.getParent();
を使用して CV にアクセスできます。また、bt1View.ui.getSibling("Button2" )
を使用して Button2 にアクセスできます。