ウィジェットにアクション トリガーを追加

Experience Builder を使用して動的かつ対話的なアプリを作成するには、次の操作を実行します。

  • ウィジェットをデータに接続して、動的なコンテンツで構成します。
  • ウィジェット間の対話機能を構成します。

Experience Builder アプリはデータ主導です。つまり、一般的に、基となるデータが更新されると、ウィジェットが表示するデータは変化します。トリガーに対応するアクションを構成することで、ウィジェット間の詳細なやり取りを定義できます。たとえば、リスト ウィジェットとフィーチャ情報ウィジェットでコンテンツの変更を開始するマップ ウィジェットのアクションを設定できます。リスト ウィジェットのレコードをフィルター処理して、マップ ウィジェットの現在の範囲内に表示されているレコードだけを表示できます。また、ユーザーが 2 つのマップ ウィジェットのいずれかをズームまたは画面移動したときに、両ウィジェットの範囲を同期することもできます。

対話機能の構造

対話機能は、トリガーを提供するソース ウィジェットの [アクション] ウィンドウで定義および管理します。対話機能は 3 つの部分で構成されます。

  • ソース ウィジェットからのトリガー
  • トリガーに対応するトリガー (ウィジェットとアプリ フレームワークを含む)
  • その使用目的に関連するターゲットからのアクション

ソース ウィジェットのトリガーは 1 度だけ追加できます。ただし、同じまたは異なるターゲットからの特定のトリガーに複数のアクションを追加できます。

トリガー

トリガーはソース ウィジェットにより生成されるイベントです。トリガーが発生すると、それに対応して、そのトリガーに追加されたアクションが実行されます。次の表に、現在サポートされている 2 つのトリガーを示します。

トリガー説明

範囲の変更

画面移動、ズーム、サイズ変更などによりマップの範囲が変わると、トリガーが発生します。

レコード選択の変更

レコードが選択されたか、レコードの選択が解除されると、トリガーが発生します。

ウィジェットの利用可能なトリガーを表示するには、その設定を開いて、[アクション] タブの [トリガーの追加] をクリックします。ソース ウィジェットとサポートされるトリガーを次の表に示します。

ソース ウィジェット範囲の変更レコード選択の変更

マップ

Yes

Yes

リスト

Yes

フィーチャ情報

Yes

ターゲット

ターゲットはアクションを実行します。ターゲットはウィジェットまたはフレームワークです。フレームワークをターゲットとして選択すると、アクションは、アプリ内の関連するすべてのウィジェットとページを通してグローバルに実行されます。

アクション

フレームワーク特定のビジネス ロジックを実行するターゲット (特にウィジェット) によって提供されます。アクションの中には、ターゲットがトリガーからのメッセージを処理する方法に応じて、追加の構成が必要なものもあります。たとえば、リスト ウィジェットのフィルター アクションを構成していて、トリガーが異なるデータに基づいている場合、属性または空間リレーションシップを設定することで、リストをフィルター処理できます。SQL 条件を設定することもできます。

ターゲットはそれぞれ、異なったトリガーに対応するアクションを提供します。トリガーを追加しターゲットを選択すると、利用可能なアクションが表示されます。ターゲットとそれに対応するアクションを次の表に示します。

ターゲットアクション*トリガー: レコード選択の変更トリガー: 範囲の変更

フレームワーク

[データ レコードのフィルタリング] - 今後アプリから表示または処理するために、条件に一致したデータのみを保持します。

Yes

[データ レコードの選択]** - レコードを選択済みとしてマークします。

Yes

マップ ウィジェット

[画面移動] - 現在の縮尺を維持して指定した位置に中央配置します。

Yes

Yes

[ズーム] - 指定した位置にズームします。

Yes

Yes

[フラッシュ] - マップ状のフィーチャを点滅表示します。

Yes

[フィルター] - ウィジェットで表示するために、条件に一致したデータのみを保持します。

Yes

リスト ウィジェット

[フィルター] - ウィジェットで表示するために、条件に一致したデータのみを保持します。

Yes

Yes

フィーチャ情報ウィジェット

[フィーチャの表示] - 選択したフィーチャのポップアップ情報を表示します。

Yes

*フレームワーク アクションは、アクションに構成された同じデータを使用するすべてのウィジェットに影響します。ウィジェット アクションはターゲット ウィジェットにのみ影響します。

**選択したレコードの状態はアプリ全体で同期されます。選択したレコードを表示するためのウィジェット構成が異なる場合があります。

対話機能の構成と管理

ソース ウィジェット (トリガーを提供するウィジェット) の [アクション] タブで対話機能を構成します。トリガーを追加および選択し、ターゲットを選択して、アクションを追加および選択します。各トリガーは 1 度だけ追加できますが、[アクションの追加] をクリックして同じトリガーに複数のアクションを追加することができます。同じトリガーのアクションは順番に発生します。トリガーの下でグループ化されているアクションをドラッグして、順番を変更します。

[フィルター][フラッシュ][データ レコードの選択] などのアクションによっては、追加の構成が必要になります。アクションを選択すると、[アクション設定] オプションが表示されます。構成を完了したら、アクションの [設定] ボタン 設定 をクリックして、後から設定を変更できます。アクションを追加した後にアクションまたはターゲットを変更するには、削除してから新たに追加する必要があります。トリガーを削除すると、そのトリガーに追加されたアクションもすべて削除されます。

使用例

次のようなアプリの設計要件をサポートするアクション トリガーを追加します。

  • 2 つのマップ、2 つのシーン、またはマップとシーンを比較するアプリを構築して、2 つのマップ ウィジェットの範囲が常に同期するようにするとします。両ウィジェットに [範囲の変更] トリガーを追加し、別のウィジェットをそれぞれのターゲットとして選択して、[画面移動] アクションまたは [ズーム] アクションを選択します。
  • リスト ウィジェットをマップ ウィジェットに追加して、マップの現在の範囲内にあるレコードだけがリストに表示されるようにするとします。[範囲の変更] トリガーをマップ ウィジェットに追加し、リスト ウィジェットの [フィルター] アクションを選択して、範囲との空間リレーションシップでアクションを構成します。
  • マップ ウィジェットにフィーチャを表示して、フィーチャ情報ウィジェットの選択したフィーチャの詳細を表示するとします。[レコード選択の変更] トリガーをマップ ウィジェットに追加し、フィーチャ情報ウィジェットをターゲットとして選択して、[フィーチャの表示] アクションを選択します。