データ・プロバイダ・イベントの起動アクションの追加
データに対する変更を反映するために、データ・プロバイダにイベントをディスパッチするデータ・プロバイダ・イベントの起動アクションを追加します。 たとえば、特定のサービス・データ・プロバイダ(SDP)を使用するコンポーネントは、SDPによって使用されるエンドポイントに新しいデータが追加されたため、新しいデータを表示する必要がある場合があります。
アクションは、突然変異またはリフレッシュ・イベントでコールできます。 リフレッシュ・イベントによってすべてのデータが再フェッチおよび再レンダリングされ、変更イベントによって表示する変更が指定されます。
ノート:
dataプロパティを介して公開されるADP変数のデータ配列は、「変数の割当て」アクションを使用して直接更新できるため、このアクションは配列データ・プロバイダ(ADP)変数には必要ありません。 データ配列の割当ては、Visual Builderによって自動的に検出され、この変更がすべてのリスナーに通知されます。 dataプロパティを直接変更する前に、fireDataProviderEventをADPとともに使用すると、ユーザーにこの警告が表示されます。
プロパティの詳細など、このアクションに関するAPI情報は、「Oracle Visual Builderページ・モデル参照」の「Fire Data Providerのイベント処理」を参照してください。
データ・プロバイダ・イベントの起動アクションを使用するには:
- 組込みアクションの最後に説明されているように、3つの方法のいずれかでアクションを追加します。
- プロパティ・ペインのIDフィールドを更新して、アクションを識別しやすくします。
- 「イベント・ターゲット」リストから、データ・プロバイダに基づく既存の変数(
ServiceDataProviderなど)をイベントのターゲットとして選択します。 必要に応じて、「作成」をクリックして、イベントのターゲットとして新しいデータ・プロバイダ変数を作成します。
- ディスパッチするイベントのタイプを選択します:
- リフレッシュ: すべての変更を表示するために使用します。
- ミュータ: 表示する変更を指定するために使用します。 たとえば、レコードを削除した後、「Mutate」オプションを使用して削除されたレコードを指定し、SDPにバインドされたUIコンポーネントに表示から削除するように求めることができます。
操作間のID値が交差していないかぎり、突然変異イベントには複数の突然変異操作(追加、更新、削除)を含めることができます。 この動作はJETコンポーネントによって強制されます。 たとえば、操作の順序が保証されないため、同じイベントでレコードを追加して削除することはできません。
- Mutateイベントを選択した場合は、SDP変数の
keyAttributesプロパティが設定されていることを確認します。 追加、削除および更新されたレコードを表示するためのパラメータは、「追加」、「削除」および「更新」セクションの下にあります。 mutateイベントが最適に実行されるようにするには、各セクションに必要なものは次のとおりです:- 追加: dataパラメータを使用して、追加操作の戻り結果から追加されたレコードを渡します。 SDP変数を使用している場合、データの構造は、SDP変数の定義の
itemsPathパラメータで指定された構造と一致する必要があります:
keysパラメータを使用して、追加されたレコードのキー値をSet<*>フォーマットで渡します。 最後に、「メタデータ」パラメータを使用して、追加されたレコードのキー値をArray.<ItemMetadata.<KeyValue>>という形式で渡します。たとえば:data: {items: [callRestCreateEmployeeResult.body],}, keys: [callRestCreateEmployeeResult.body.id], metadata: [{key: callRestCreateEmployeeResult.body.id,}], - 削除: キーパラメータを使用して、削除されたレコードのキー値を
Set<*>形式で渡します。 - 更新: addと同じです。
- 追加: dataパラメータを使用して、追加操作の戻り結果から追加されたレコードを渡します。 SDP変数を使用している場合、データの構造は、SDP変数の定義の

