On Load

概要

The 読み込み時 のインタラクションは、Avonni Dynamic Components でアクションを実行できる重要な機能です 自動的に、表示直前に コンポーネントがページで表示可能になる直前に。コンポーネントの初期化フェーズでは、必要なデータの取得、セットアップロジックの実行、変数の準備を一度だけ行うことができ、レンダリングの瞬間にコンポーネントに必要なものがすべて揃っている状態を確保します。


コンポーネントの準備

「読み込み時」インタラクションは、本番前に舞台を整える設営チームだと考えてください。これは 一度だけ コンポーネントが読み込まれたときに 前に どの視覚要素が現れるよりも。

これにより、次の用途に最適です:

  • 必須データの事前読み込み: 即時表示や使用に必要な特定のレコードを取得します。

  • 変数の初期化: コンポーネントの動作や表示を制御する変数に、デフォルト値や計算値を設定します。

  • セットアップフローの実行: 初期状態を決定したり複雑なセットアップを実行するために(自動起動フロー経由で)バックグラウンドロジックを実行します。

  • 条件付き表示: 表示可否を制御するために変数値を設定します。

重要ポイント


「読み込み時」が特に役立つのはいつ?

を設定している場合でも、 ターゲットオブジェクト API 名 により現在のレコードへアクセスを提供する $Component.record がレコードページ上で使える一方で、「読み込み時」インタラクションは他の多くのシナリオでも不可欠です:

  • 関連レコードの取得: 主レコードに紐づくデータを取得(例: 取引先責任者を表示中に親の取引先を取得)。

  • モーダル/パネル用データの読み込み: 特に、モーダルやパネルで別の Dynamic Component を開く場合(「動的コンポーネント ダイアログ/パネルを開く」を使用)、 モーダル/パネル側のコンポーネント では、渡された ID に基づいて特定レコードのデータを取得するために「読み込み時」を使用します。(下記の例を参照)

  • 特定の設定レコードの取得: カスタムメタデータや設定など、既知のレコードからデータを読み込みます。

  • 初期計算/集計の実行: 「フローを実行」を用いて、KPI の計算、関連レコードの件数カウント、結果表示前の複雑ロジックの実行を行います。

  • 外部設定の読み込み: 「フローを実行」を使用して、他システムから設定やデータを取得します(フローが対応している場合)。


「読み込み時」で利用可能なアクション

「読み込み時」イベント内で、1 つ以上のアクションを順番に実行するよう設定できます:

  • レコードを取得: この機能は、ID に基づいて単一の Salesforce レコードを取得します。特定のレコードを表示や編集のために取得するのに最適で、特にモーダルや関連データを扱う場合に有効です。

  • フローを実行: を実行 自動起動 の Salesforce フロー。単純なレコード取得を超える内容(複雑な計算、集計用に複数レコードの取得、権限チェック、設定データの取得など)に使用します。

  • 生体認証: このアクションは、ユーザーに対してデバイスレベルの生体認証(指紋や顔 ID など)を要求します。主にモバイル環境(Salesforce モバイルアプリやカスタムモバイルソリューションなど)で、ユーザーの本人確認を行うために使用されます 前に コンポーネントのコンテンツへのアクセスを許可します。ユーザーに表示するプロンプトやフォールバック方法を設定できます。


設定手順

1

インタラクションパネルを開く

Component Builder で Dynamic Component を編集中に、次を見つけてクリックします: インタラクション アイコン/ボタンを 左側パネルで。ここでコンポーネントのすべてのインタラクションを管理するメインパネルが開きます。

2

「読み込み時」インタラクションを追加

インタラクションパネルで「読み込み時インタラクションを追加」ボタンをクリックします。これにより、設定に専用の「読み込み時」イベントセクションが追加され、アクションを追加する準備が整います。

3

アクションタイプを選択

次のいずれかを選択: レコードを取得 , フローを実行生体認証

4

アクション詳細を構成

  • 対象: レコードを取得:

    • レコード変数: 次を選択 事前定義されたレコード変数リソース (正しいオブジェクト種別の) 取得したデータを格納する場所です。

    • オブジェクト API 名: 取得したいオブジェクトを選択します(例: 取引先責任者(Contact)).

    • レコード ID: 取得するレコードの ID を指定します。これは多くの場合、次にバインドされます:

      • 1 つの 入力変数 (このコンポーネントが別のコンポーネントから開かれ、ID が渡される場合)。

      • URL パラメータ(@recordId).

      • 次のフィールド: $Component.record (例: $Component.record.AccountId).

    • フィールド: 取得したい特定のフィールドを選択します。

  • 対象: フローを実行:

    • フロー API 名: あなたの 自動起動 フローを選択します。

    • フロー入力変数(任意): フローの入力に値(固定値、URL パラメータ、リソース)をマッピングします。

    • 出力変数(任意): フローの出力を 変数リソース にマッピングします(Dynamic Component 内)。


例: 編集モーダルで取引先責任者データを読み込む

このユースケースは、インタラクション経由で開かれたコンポーネント用に「読み込み時」がどのようにデータを準備するかを示します。

シナリオ

取引先責任者のリスト(コンポーネント A)があります。取引先責任者の横の「編集」ボタンをクリックすると、別の Dynamic Component(コンポーネント B)がモーダルダイアログで開き、その 特定の 取引先責任者を編集します。

設定

コンポーネント A(取引先責任者リスト)

  • 取引先責任者を表示する Avonni リストまたはデータテーブルを含みます。

  • データテーブル内の各取引先責任者には「編集」ボタンが含まれています。これは、テーブル設定でボタンタイプを選択して新しい列として追加できます。

  • 「編集」ボタンには、次を使用する「クリック時」インタラクションがあります: 「動的コンポーネント ダイアログを開く」.

コンポーネント B(編集モーダル):

1

入力変数を作成

を有効にします。 テキスト変数 という名前の inputContactId。これを 「入力を許可」にします。これはコンポーネント A から ID を受け取ります。

理由 The inputContactId テキスト変数は、コンポーネント B(モーダルダイアログ)が開かれたときに、コンポーネント A(取引先責任者リスト)から選択された取引先責任者の ID を受け取ります。これを 入力を許可 としてマークすると、コンポーネント A が取引先責任者 ID を渡せるようになり、コンポーネント B はその ID を使用して正しい取引先責任者レコードを取得・表示して編集できます。

2

レコード変数を作成

を有効にします。 レコード変数 という名前の contactToEdit。その オブジェクト API 名を設定 最小(Min) 取引先責任者(Contact).

理由 The contactToEdit レコード変数は、モーダルダイアログで編集される特定の取引先責任者レコードのデータを保存します。これにより、コンポーネントは取引先責任者のデータ(例: FirstName, Email)を、取引先責任者リストから渡された ID に基づいて取得、表示、更新できます。これにより、モーダルが正しいレコードで動作することが保証されます。

3

コンポーネント B に「読み込み時」インタラクションを追加

  • コンポーネント B(最上位)を選択します。

  • 次にアクションを追加: 読み込み時 イベント

理由 The 読み込み時 インタラクションは、コンポーネント B(モーダルダイアログ)が読み込まれ、表示される前に自動的に実行されます。これにより、(コンポーネント A から渡された ID を使用して)特定の取引先責任者レコードのデータを取得し、それを contactToEdit レコード変数に保存できます。これにより、モーダルが開いた直後から編集に必要な正しいデータで埋められます。

4

「レコードを取得」アクションを構成

  • アクションタイプ: レコードを取得.

  • レコード変数: を選択し、 {!contactToEdit}.

  • オブジェクト API 名: 取引先責任者(Contact).

  • レコード ID: これを入力変数にバインド: {!inputContactId}.

理由 The レコードを取得 アクションは、コンポーネント B(モーダルダイアログ)の読み込み時に、特定の取引先責任者レコードのデータを取得します。レコード変数を contactToEditに設定することで、取得データは編集用にそこへ保存されます。オブジェクト API 名は取引先責任者オブジェクトを指定し、レコード ID を inputContactId にバインドすることで、コンポーネント A(取引先責任者リスト)から渡された ID に基づいて正しい取引先責任者レコードを取得します。

5

入力フィールドを追加

この 読み込み時 インタラクションを構成したら、コンポーネント B(モーダルダイアログ)に、取引先責任者レコードを編集するための入力フィールドを追加します。Component Builder で、コンポーネントメニューの Fields タブに移動し、必要なフィールドをキャンバスにドラッグして、次にバインドします: contactToEdit レコード変数にバインドして、正しい取引先責任者データを表示・編集します。

理由 入力フィールドにより、ユーザーはモーダル内で取引先責任者のデータ(例: FirstName, Email)を確認・変更できます。フィールドを contactToEdit レコード変数にバインドすることで、「 読み込み時 」インタラクション中に取得された特定の取引先責任者レコードのデータで自動的に入力され、正確な編集が可能になります。

6

保存ボタンを追加

コンポーネント B(モーダルダイアログ)にボタンを追加します。次を用いた クリック時 インタラクションを構成し、 レコード変数から更新 アクションを設定して、対象を {!contactToEdit} レコード変数にします。

理由 保存ボタンにより、ユーザーはモーダル内で行った取引先責任者データの変更を保存できます。この レコード変数から更新 アクションは contactToEdit レコード変数を用いて、編集されたフィールド値で Salesforce 上の取引先責任者レコードを更新し、変更が永続化されるようにします。

7

コンポーネント A からのインタラクション

データテーブル内の 編集 ボタン(コンポーネント A の取引先責任者リスト)でコンポーネント B(モーダルダイアログ)を開けるようにするには、次の手順に従います:

  • データテーブルを選択: コンポーネント A で、Component Builder 内のデータテーブルを選択します。

  • インタラクションタブへ移動: コンポーネントメニューの インタラクション タブに移動します。

  • 行アクションを追加: Row Actionsの下で、 編集 ボタン(前に作成)用の新しいアクションを追加します。

  • インタラクションタイプを設定: 次を選択: 動的コンポーネント ダイアログを開く をインタラクションタイプとして。

  • コンポーネント B を選択: 開く対象コンポーネントとしてコンポーネント B(モーダルダイアログ)を選びます。

  • 入力変数を構成:

    • inputContactId 変数(コンポーネント B で「入力を許可」に設定)を選択します。

    • 値を次に設定 レコード: Id にして、選択行の取引先責任者 ID を渡します。

理由 このインタラクションにより、各データテーブル行の 編集 ボタンがコンポーネント B にリンクされ、選択された取引先責任者の ID が inputContactId 変数に渡されます。コンポーネント B はこの ID を自分の 読み込み時 インタラクションで使用して、編集用の正しい取引先責任者レコードを取得・表示し、スムーズで正確な編集プロセスを実現します。

結果

ユーザーがコンポーネント A で「編集」をクリックすると、コンポーネント B が開きます。 前に コンポーネント B が表示される、その「読み込み時」インタラクションが発火し、渡された inputContactId を使用して「レコードを取得」で取引先責任者の完全なレコードを取得し、 contactToEdit 変数に格納します。入力フィールド( contactToEditにバインド)は、その後レンダリングされ、正しい取引先責任者データで既に埋められており、すぐに編集できます。

変数が更新され、それらの値を使用してデータテーブルをフィルタリングできます。


まとめると

On Loadインタラクションは、データの準備や変数の初期化を行うための重要なツールです 前に あなたのダイナミックコンポーネントがレンダリングされます。使用して レコードを取得 特定のレコードを取得します(特に関連データやモーダル/パネル用のデータ)。 フローを実行 より複雑なセットアップロジックや計算、設定取得のために使用します。

最終更新

役に立ちましたか?