ウィジェットへのアクションの追加

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

  • ウィジェットをデータに接続して、動的なコンテンツで構成します。
  • ウィジェットとフレームワーク (データ ソース) 間の対話機能を設定します。
  • ウィジェット間の対話機能を構成します。

2 種類のアクション (メッセージ アクションデータ アクション) をウィジェットに追加できます。 メッセージ アクションはトリガーを待機し、リストを絞り込んで、マップの現在の範囲内のレコードのみを表示するなどのアクションを自動的に実行します。 データ アクションには [アクション] ボタンがあります。ユーザーは、ウィジェットの実行時にこのボタンをクリックし、リストの中から実行したいアクションを選択できます (レコードをファイルにエクスポートするなど)。

メッセージ アクション

Experience Builder アプリはデータ主導です。つまり、一般的に、基となるデータが更新されると、ウィジェットが表示するデータは変化します。 トリガーに対応するメッセージ アクションを構成することで、ウィジェットとデータ間の対話機能を定義できます。 たとえば、マップ ウィジェットが範囲を変更すると、他のウィジェット (リストなど) がフィルタリングされ、現在の範囲内のフィーチャのみが表示されるようなやり取りを作成することができます。 そのために、マップ ウィジェットで [範囲の変更] をトリガーとして設定し、リストが使用しているデータ ビューの [データ レコードのフィルタリング] をアクションとして設定します。 ウィジェットはデータ主導なので、フレームワーク レベルでフィルター アクションをデータに適用することで、同じデータ ビューを使用しているすべてのウィジェットが自動的に同期されます。 また、ウィジェット間の対話機能を定義することもできます。 ウィジェットが提供するアクションは、そのウィジェット内でのみ有効になります。 たとえば、2 つのマップ ウィジェットのうち、一方のマップ ウィジェットの範囲の変更をトリガーとして設定し、もう一方のマップ ウィジェットの [範囲の変更] をアクションとして設定することで、ユーザーが一方のマップ ウィジェットを拡大表示または画面移動した際に、2 つのマップ ウィジェットの範囲を同期させることができます。

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

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

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

トリガー

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

トリガー説明

データのフィルタリングの変更

データ ソースにフィルターが適用されると、トリガーが発生します。

範囲の変更

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

レコード選択の変更

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

作成されたレコード

トリガーは、作成されたレコードがソース ウィジェットに読み込まれると起動します。

追加したデータ

データの追加ウィジェットでデータ ソースが追加されると、トリガーが発生します。

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

ソース ウィジェット追加したデータデータのフィルタリングの変更範囲の変更レコード選択の変更作成されたレコード

データの追加

はい

チャート

はい

フィーチャ情報

はい

フィルター

はい

リスト

はい

マップ

はい

はい

クエリ

はい

はい

検索

はい

はい

はい

テーブル

はい

ターゲット

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

アクション

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

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

ターゲットアクション1トリガー: 追加したデータトリガー: データのフィルタリングの変更トリガー: レコード選択の変更トリガー: 範囲の変更トリガー: 作成されたレコード

Framework

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

はい

はい

[データ レコードの選択]2 - レコードを選択済みとしてマークし、選択フィーチャ ビュー内に配置します。

はい

Business Analyst ウィジェット

[フィーチャの選択] - フィーチャを選択済みとしてマークします。

はい

標高断面ウィジェット

[ラインによる選択] - ライン フィーチャを選択済みとしてマークし、標高断面を生成します。

はい

マップ ウィジェット

[マップに追加] - データをレイヤーとして Web マップまたはシーンに追加します。

はい

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

はい

はい

はい

はい

はい

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

はい

はい

はい

はい

はい

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

はい

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

はい

[マップ上に表示]5 - 作成されたレコードを、新しいレイヤーとしてマップに表示します。

はい

1フレームワーク アクションで、アクション データがデフォルト ビューの場合、そのデータとビューを使用しているすべてのウィジェットに影響を与えます。 アクション データが指定したビューの場合、アクションはそのビューを使用しているウィジェットにのみ影響します。 ウィジェット アクションの場合、アクションはターゲット ウィジェットに対してのみ実行されます。 (たとえば、マップ フィルター アクションはマップ内のレコードのみをフィルタリングし、同じレイヤーを使用している他のすべてのウィジェットには影響を与えません)。

2レコードの選択状態はアプリ全体で同期され、選択済みのレコードはデータの選択フィーチャ ビューに保存されます。 選択したレコードを表示するためのウィジェット構成が異なる場合があります。

3マップ ウィジェットに [ズーム] アクションと [画面移動] アクションの両方が構成されている場合、[ズーム] アクションの方が優先されます。 つまり、ユーザーがマップの画面移動とズームを同時に行った場合、[画面移動] アクションは無視されます。

4[ズーム] アクションを追加すると、[アクション設定] ウィンドウの [ズーム縮尺] 設定を変更できます。 [カスタム] を選択してマップのズーム レベルを調整するか、[自動] を選択してマップのデフォルト縮尺を使用します。 [ズーム] アクションには、Web マップと Web シーン向けの回転動作と、Web シーン向けのチルト動作が含まれます。

5[マップ上に表示] アクションを追加すると、作成されたレコードのシンボルをカスタマイズできます。 [カスタム シンボルの使用] を選択して、ポイント、ライン、ポリゴンの塗りつぶし、アウトライン、透過表示などをカスタマイズします。 [レイヤー定義シンボルの使用] を選択して、ソース ウィジェットの現在のアクションと関連付けられているレイヤーのシンボルを使用します。

データ アクション

ユーザーが、実行時にアプリのデータを処理できるよう、データ アクションを構成できます。 ソース ウィジェットの [アクション] ボタンをクリックして、データセットを特定のウィジェット (テーブルのクエリ結果を表示するなど) に渡すか、アプリ フレームワークに渡すか (データのエクスポートを行う) を選択します。

これらの対話機能は、ランタイム データセットを提供するソース ウィジェットの [アクション] ウィンドウで定義および管理します。 データ アクションの構成には 2 つの部分があります。

  • データセットを受け取るターゲット (ウィジェットとアプリ フレームワーク)
  • ターゲットが提供するデータ アクション (ユーザーが選択した場合にのみ実行される)

ターゲットに渡されるデータセットは、ソース ウィジェットによって異なります。 たとえば、チャート ウィジェットは、選択されているかどうかに関係なく、すべての統計情報データをテーブル ウィジェットに渡します。 以下の表に、使用可能なソース ウィジェット、ターゲットとサポートされるデータ アクション (ターゲット: データ アクション)、および各ソース ウィジェットが該当するアクションに対して渡すデータセットを示します。

ソース ウィジェットフレームワーク: エクスポートフレームワーク: フィルターの設定マップ: 画面移動マップ: マップ上に表示1マップ: ズームマップ: マップに追加テーブル: テーブルでの表示

データの追加

すべてのレコード

すべてのレコード

すべてのレコード

すべてのレコード

すべてのレコード

すべてのレコード2

チャート

すべてまたは選択したレコード (統計情報データ)

すべてまたは選択したレコード (統計情報データ)

フィーチャ情報

すべてまたは選択したレコード

選択レコード

選択レコード

選択レコード

選択レコード

リスト

すべてまたは選択したレコード

すべてまたは選択したレコード

選択レコード

すべてまたは選択したレコード

すべてまたは選択したレコード

マップ レイヤー

すべてのレコード

すべてのレコード

クエリ

すべてまたは選択したレコード (クエリ結果)

すべてまたは選択したレコード (クエリ結果)

すべてまたは選択したレコード (クエリ結果)

すべてまたは選択したレコード (クエリ結果)

すべてまたは選択したレコード (クエリ結果)

テーブル

すべてまたは選択したレコード

すべてまたは選択したレコード

選択レコード

すべてまたは選択したレコード

1[マップ上に表示] アクションを追加すると、作成されたレコードのシンボルをカスタマイズできます。

2データの追加ウィジェットを使用して多くのタイプのデータを追加できますが、テーブル ウィジェットがサポートするデータ タイプ (フィーチャ レイヤーおよびフィーチャ レイヤーが関連付けられたシーン レイヤー) だけが [テーブルでの表示] データ アクションをトリガーできます。

データ アクションがターゲット ウィジェットで実行されると、ターゲット ウィジェットには解除用のボタンが表示されます。 たとえば、ユーザーがリスト ウィジェットのデータを選択し、そのデータをテーブル ウィジェットで表示する場合、新しいシートの横に、テーブルからシートを削除するためのボタンが表示されます。 同様に、[マップ上に表示] データ アクションを選択すると、マップからデータ アクションを消去するためのボタンが表示されます。 (ページを更新すると、すべてのデータ アクション結果が消去されます。)

対話機能の構成

ソース ウィジェットの [アクション] パネルで、メッセージ アクションとデータ アクションを構成できます。

メッセージ アクションの構成

メッセージ アクションは、ソース ウィジェット (トリガーを提供するウィジェット) の設定で構成されます。

  1. [アクション] パネルの [メッセージ アクション] タブで [トリガーの追加] をクリックします。
  2. トリガーを選択し、ターゲットを選択して、アクションを追加および選択します。

    [フィルター][フラッシュ][データ レコードの選択] などのアクションによっては、追加の構成が必要になります。 アクションを選択すると、[アクション設定] オプションが表示されます。 各トリガーは、一度しか追加できません。

  3. 同じトリガーに対して複数のアクションを追加するには、[アクションの追加] をクリックします。

    同じトリガーのアクションは順番に発生します。

  4. トリガーの下でグループ化されているアクションをドラッグして、順番を変更します。
  5. 構成済みの設定を後から変更するには、アクションの [設定] ボタン 設定 をクリックします。
  6. アクションを追加した後にアクションまたはターゲットを変更するには、削除してから新たに追加する必要があります。

    トリガーを削除すると、そのトリガーに追加されたアクションもすべて削除されます。

データ アクションの構成

データ アクションはソース ウィジェットの設定で構成されます。ただし、エクスポートだけは例外で、[データ] パネルのデータ ソースに対して構成されます。 データ アクションはデフォルトで有効になっており、ウィジェットの [アクション] ボタンには、すべての使用可能なデータ アクションが自動的に含まれます。

  1. [アクション] パネルの [データ アクション] タブで、データ アクションをオンまたはオフにすることで、ウィジェットのアクション メニューのオプションを指定できます。 それ以外の場合は [データ アクションを有効化] をオフにし、ウィジェットから [アクション] ボタンを外します。
  2. オンにした各データ アクションについて、操作するソース ウィジェットのターゲット ウィジェット (マップ ウィジェットなど) を選択します。

    ソース ウィジェットと同じページにあるターゲット ウィジェットのみ選択できます。

    注意:

    ページにターゲット ウィジェットを追加すると、同じページ上の使用可能なソース ウィジェットに、対応するデータ アクションが自動的に追加されます。

    ヒント:

    データ アクションはアプリのターゲット位置までジャンプしないため、最適な結果を得るには、ソース ウィジェットをターゲット ウィジェットの隣に配置します。

  3. [エクスポート] データ アクションを除外するには、[データ] パネルで、データ ソースの [エクスポートの許可] をオフにします。

使用例

メッセージ アクションを追加すると、次のようなアプリ設計要件に対応できるようになります。

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

データ アクションを使用すると、次のようなアプリ設計要件に対応できるようになります。

  • チャート ウィジェットを追加して、数値データまたは定性的データをグラフに表し、チャートで生成された統計情報データをテーブル ウィジェットに表示するオプションをユーザーに提供できます。 チャート ウィジェットの横にテーブル ウィジェットを追加すると、[テーブルでの表示] データ アクションがチャート ウィジェットに自動的に追加されます。 ユーザーが、実行時にチャート ウィジェットの [アクション] ボタンをクリックして [テーブルでの表示] を選択すると、テーブル ウィジェットに統計情報を表示できます。
  • リスト ウィジェットを追加してデータ レコードを表示し、マップ ウィジェットを追加して別のデータ レコードを表示します。 リストで選択されたレコードに対応するマップ上のフィーチャを表示し、1 つのマップでさまざまなデータを比較するオプションをユーザーに提供できます。 その場合、ユーザーは実行時にリスト ウィジェットの [アクション] ボタンをクリックし、[マップ上に表示] を選択します。
  • テーブル ウィジェットにデータ レコードを表示し、ユーザーがデータをエクスポートできるようにします。 その場合は、データ ソースに対して [エクスポートの許可] が有効になった状態で、テーブル ウィジェットの [アクション] ボタンをクリックして、選択したレコードかすべてのレコードをエクスポートできます。