レイアウト内のコンポーネントのカスタム・コンテキストの定義
動的コンポーネント内で使用できる組込みシステム変数(デバイス・サイズやユーザー・ロールなど)に加えて、コンテキストを定義して、動的コンポーネントにアクセスできない可能性のある情報を渡すこともできます。 この情報は、レイアウトの外部から生成された値(ページ変数やアプリケーションの他の部分からの詳細など)です。
たとえば、動的表またはフォームを使用してレイアウトを構築する場合に便利なプリファレンスをアプリケーションに含めることができます。 これらのプリファレンスには任意の値を指定できますが、レイアウト開発者として、無効な値をレイアウトで使用しないようにします。 そのため、Visual Builderには、コンポーネント・コンテキストが受け入れるシェイプまたはパラメータの定義に役立つ契約であるcomponentContextTypeが用意されています。 componentContextTypeが定義されると、これらのパラメータは$componentContextシステム変数の一部となり、レイアウト内の任意の場所で使用できます。 ルール・セット条件ビルダーの$componentContextパラメータの例を次に示します:
Visual Builderには、サービス・レベルでパラメータを定義するbaseComponentContextTypeも用意されています。 componentContextTypeと同様に、baseComponentContextType契約で定義されたパラメータは、$componentContext変数を使用できるレイアウト内の任意の場所で使用できます。 ただし、コンポーネント・コンテキスト・パラメータとは異なり、ベース・コンポーネント・コンテキスト・パラメータはOpenAPIスキーマでも使用できます。
isOAuth2enabledフィールドを介して外部情報を渡してから、それをopenapi.jsonファイルのURLの問合せパラメータにバインドできます: "employees": {
"operationRef": "http://example.com/hrApi/resources/1.0/employees/describe#/paths/~1employees/get",
"parameters": {
"token": "AUTH_TOKEN=[[$componentContext.securityInfoMap.isOAuth2Enabled ? 'foo' : 'bar' ]]"
}
}baseComponentContextTypeは、openapi.jsonで$componentContext.securityInfoMap.isOAuth2Enabledを使用できるようにする契約です。
レイアウトに渡すことができるパラメータを定義するには:




