例: 呼び出し可能なアクションの汎用 sObject 入力
この例では、汎用 sObject 入力パラメータを使用するカスタムプロパティエディタを作成します。呼び出し可能なアクションは、フローに追加できる Apex メソッドです。Flow Builder では、システム管理者は選択リスト項目を使用して、呼び出し可能なアクションの入力パラメータ (レコード変数のオブジェクト、レコード変数、出力を保存するオブジェクト) を設定します。ユーザがこの例のフローを実行すると、呼び出し可能なアクションでレコードのコレクションの最初のレコードが保存されます。
この Apex クラスファイルは、呼び出し可能なアクションとして実行できる selectRecord
メソッドとその入力変数を定義します。@InvocableMethod
アノテーションは、呼び出し可能なアクションとして実行できるメソッドを識別します。@InvocableVariable
アノテーションは、呼び出し可能なメソッドによって使用される変数を識別します。
呼び出し可能なメソッドは、configurationEditor
修飾子でカスタムプロパティエディタを登録します。組織にカスタム名前空間がなければ、名前空間は c
になります。組織にカスタム名前空間があれば、その名前空間を使用してカスタムプロパティエディタを登録します。この例では、カスタムプロパティエディタの名前は c-select-record-editor
になっています。
次の HTML、CSS、JavaScript、設定ファイルは、アクションのカスタムプロパティエディタを定義します。
HTML テンプレートは、Flow Builder のカスタムプロパティエディタの UI を定義します。
次の例は、カスタムプロパティエディタの UI を示しています。
カスタムプロパティエディタが初期化されると、JavaScript クラスは Flow Builder からフローメタデータのコピーを受信します。システム管理者がカスタムプロパティエディタで値を変更すると、カスタムプロパティエディタはイベントをディスパッチして変更を Flow Builder に反映します。
@api
プロパティを使用して、フローのデータを取得します。イベントを使用して、実行時のフローの変更をレポートします。
Flow Builder には、カスタムプロパティエディタと通信するための JavaScript インターフェースがあります。この JavaScript クラスは、inputVariables
、builderContext
および genericTypeMappings
インターフェースを使用します。
カスタムプロパティエディタが初期化されると、inputVariables
は、Flow Builder から呼び出し可能なアクションの入力変数の値を受信します。
inputVariables
データ構造には、各入力変数の名前、値、データ型が含まれます。
get inputValue()
メソッドは、カスタムプロパティエディタで使用する各入力変数の値を取得します。
genericTypeMappings
インターフェースは、Flow Builder から呼び出し可能なアクションの汎用 sObject データ型である入力変数の値を受信します。
データ構造には、各入力の名前と値が含まれます。typeName
は、メソッド内の @InvocableVariable
アノテーションで定義されている汎用 sObject 入力の名前と一致する必要があります (例: ’T__inputCollection’
)。T__
は入力名の先頭に、U__
は出力名の先頭に自動的に追加されます。typeValue
は汎用 sObject 入力の特定値です (例: Account
)。
get inputType()
と get outputType()
メソッドは、カスタムプロパティエディタで使用する汎用 sObject データ型である各入力パラメータの値を取得します。
get typeOptions()
メソッドは、カスタムプロパティエディタで使用する各オブジェクト入力オプションの表示ラベルと値を取得します。
builderContext
インターフェースは、フローの要素およびリソースに関すデータを提供します。
builderContext
データ構造にはフローの要素およびリソースが含まれます。
get valueOptions()
メソッドは、呼び出し可能なアクションの入力パラメータに対するカスタムプロパティエディタの入力値のオプションとして、変数からのデータを使用します。
システム管理者がカスタムプロパティエディタで [レコード変数のオブジェクト] の入力の値を入力すると、handleInputTypeChange
メソッドは configuration_editor_generic_type_mapping_changed
イベントを Flow Builder にディスパッチします。Flow Builder は、フローでイベントを受信して値を更新します。
システム管理者がカスタムプロパティエディタで [出力を保存するためのオブジェクト] の入力の値を入力すると、handleOutputTypeChange
メソッドは configuration_editor_generic_type_mapping_changed
イベントを Flow Builder にディスパッチします。Flow Builder は、フローでイベントを受信して値を更新します。
システム管理者がカスタムプロパティエディタで [レコード変数] の入力の値を入力すると、handleValueChange
メソッドは configuration_editor_input_value_changed
イベントを Flow Builder にディスパッチします。Flow Builder は、フローでイベントを受信して値を更新します。
selectRecordEditor
の設定ファイルは次のようになります。
関連トピック