コントローラーを使用した UI ビルダー ページへのデータのバインド (高度な機能)

  • リリースバージョン: Yokohama
  • 更新日 2025年01月30日
  • 所要時間:9分
  • コントローラーは、データとイベントロジックのリンクを単純化して、UI ビルダーでコンポーネントのプリセットを有効にします。

    コントローラーにより、ページ作成者は UI ビルダー の自分のページに、データとスクリプトを簡単に接続できます。コントローラーは、コンポーネントプリセットがデータをコンポーネントにバインドするために使用する一種のデータリソースです。コントローラーは、コンポーネントのプリセットを有効にするデータとイベントロジックが含まれている点で、他のデータリソースとは異なります。コントローラーはサーバーからコンポーネントにデータを取り込み、コンポーネントとのやり取りに基づいて、更新されたデータをサーバーに戻します。コンポーネントのプリセットの詳細については、「プリセットを使用してコンポーネントを自動的に構成する」を参照してください。

    注:
    Yokohama では、コントローラーの作成はサポートされていません。
    コントローラーは、UI ビルダー ページテンプレートを使用するとデフォルトで追加されます。データリソースドロワー内で、コントローラーがない UI ビルダー ページにコントローラーを追加できます。または、コンポーネントをページに追加した後にコンポーネントプリセットを選択するという方法もあります。データリソースドロワーを開くと、ページに構成されているコントローラーを表示できます。
    図 : 1. データリソースドロワーのコントローラー
    リストページテンプレートとともに追加されたリストコントローラー。

    UI ビルダーのデータコントローラーのタイプ

    データコントローラー
    データコントローラーは、UI ビルダー ページに表示する情報を決定します。データコントローラーは、データリソースを使用してリアルタイムで情報を同期し、ユーザーが情報を入力するとデータ/テーブルを更新します。データコントローラーをページに手動で追加できます。
    UI コントローラー
    UI コントローラーは、UI ビルダー ページテンプレートを使用するときにページに追加され、手動で追加することはできません。

    UI ビルダーのプリセットのあるコントローラーの使用

    1 つの UI ビルダー ページに複数のコントローラーを追加できますが、同じコントローラーを 2 回使用することはできません。コントローラーを必要とするコンポーネントプリセットを使用しようとすると、UI ビルダー にはコントローラーの追加を求めるプロンプトが表示されます。

    すべてのコンポーネントがコントローラーで動作するわけではありませんが、コンポーネントライブラリでどのコンポーネントが動作するかを簡単に確認できます。UI ビルダー ページにコントローラーが構成されている場合は、コンポーネントライブラリを開いて、どのコンポーネントにプリセットがあるかを確認できます。プリセットが利用可能なコンポーネントは、コンポーネントライブラリでハイライト表示されます。

    図 : 2. プリセットを持つコンポーネント
    プリセットラベルで強調表示されるコンポーネント。

    コントローラーの追加

    コンポーネントのプリセットを使用するには、データコントローラーをページに追加します。

    始める前に

    必要なロール:admin

    このタスクについて

    レコードコントローラーは、Yokohama のページに追加できる唯一のコントローラーです。

    手順

    1. 次のように移動する。 All (すべて) > Now Experience フレームワーク > UI ビルダー.
    2. 作業するエクスペリエンスを開くか、選択してエクスペリエンスを作成します 作成/挿入 > エクスペリエンス.
    3. ページまたはページバリアントを開くかまたは作成します。
      UI ビルダー でページを作成する方法の詳細については、「UI ビルダーでのページの作成」を参照してください。
    4. データリソースドロワーで [+] アイコンを選択します。
    5. [データリソース] を選択します。
      データリソースを追加するオプション。
    6. 検索フィールドに「form」と入力します。
    7. ページに追加するコントローラーを選択します。
    8. [追加] を選択します。
      フォームコントローラーを選択し、ページに追加します。
    9. フィールドに入力して、コントローラーを構成します。
      コントローラー構成モーダル。

    タスクの結果

    フォームコントローラーが [データリソース] セクションに表示されます。

    フォームコントローラーが [データリソース] セクションに表示される。

    コントローラーの編集

    テーブルからデータをプルするようにコントローラーを構成します。

    始める前に

    必要なロール:admin

    手順

    1. 次のように移動する。 All (すべて) > Now Experience フレームワーク > UI ビルダー.
    2. 作業するエクスペリエンスを開くか、選択してエクスペリエンスを作成します 作成/挿入 > エクスペリエンス.
    3. ページを作成するか、開きます。
      UI ビルダー でページを作成する方法の詳細については、「UI ビルダーでのページの作成」を参照してください。
    4. [データおよびスクリプト (Data and scripts)] ドロワーで編集するコントローラーを選択します。
      データリソースドロワーにあるフォームコントローラーを指す矢印。
    5. フォームのフィールドに入力します。
      表 : 1. フォームコントローラーフォーム
      フィールド 説明
      タイプ コントローラーは、すべてのコントローラーのタイプとして事前定義されています。
      テーブル コントローラーがデータをプルするテーブルを追加します。
      Sys ID レコードに対する一意の識別子を入力します。値を指定するか、または -1 を使用して新しい値を生成します。
    6. コントローラーの編集モーダルを閉じます。
    7. [保存] を選択します。

    コントローラーの削除

    UI ビルダー で不要になったコントローラーを削除します。

    始める前に

    必要なロール:admin

    このタスクについて

    ページテンプレートで作成されたページからは、コントローラーを削除できません。

    手順

    1. 次のように移動する。 All (すべて) > Now Experience フレームワーク > UI ビルダー.
    2. 作業するエクスペリエンスを開くか、選択してエクスペリエンスを作成します 作成/挿入 > エクスペリエンス.
    3. 削除するコントローラーのページを開きます。
    4. 削除するコントローラの横にあるメニューアイコン (メニューアイコン) を選択します。
      データリソースメニューアイコンを指す矢印。
    5. [削除] を選択します。
      コントローラーメニューの削除オプションを指す矢印。
      コントローラーがローカルデータリソースインスタンスから削除されます。

    コントローラー API でのプロパティとイベントの表示

    コントローラーのパブリック API は、コントローラーがプリセットに提供する出力データを定義します。これには、プリセットが選択されたときにコンポーネントによって使用されるプロパティ値と処理済みイベントが含まれます。プロパティとイベントの情報は UI ビルダーで表示できます。

    プリセットのコンポーネントプロパティ値は、静的な値またはコントローラー出力データのパスにすることができます。UI ビルダーのデータリソースインスペクターを使用して、プリセットで使用されるコントローラーデータ構造からの値を表示できます。プリセット内のイベントによって伝達されるペイロードを表示するには、そのイベントのイベントハンドラーピッカーを確認することができます。

    コントローラー API でのプロパティの表示

    事前設定されたプロパティは UIB データインスペクターで表示できます。使用可能な値を把握しておくと、コンポーネントが設計内でどのように動作するかを理解し、上書きできるプリセットプロパティを特定する際に役立ちます。

    この手順は、プリセットがあるコンポーネントをページに配置し、コントローラーが構成済みであることを前提としています。手順については、「コントローラーの追加」を参照してください。

    [構成] タブには、事前設定されたプロパティ値がコントローラー出力へのパスとして表示されます。基本のデータパスは @data.<controller_name> と表されます。パスの残りの部分は、コントローラーデータ階層内のカテゴリの内容を使用してビルドされます。このパスを使用して、コントローラーが構成されているレコードの現在の値を表示できます。


    [構成] パネルのコントローラーデータへのパスとして表されるプリセットプロパティを表示
    1. コンポーネントのデータリソースを表示するには、左下のサイドバーでデータアイコンを選択します。

      データリソースアイコンを指す矢印。

      3 列の UIB データインスペクターが表示されます。

    2. データリソースがリストされている最初の列で、出力を表示するコントローラーを選択します。
      選択したコントローラーの構成データが 2 列目の [構成] タブに表示されます。これらは、ページに配置したプリセットを使用して最初のコンポーネントのコントローラーを構成したときに入力した入力プロパティです。必要に応じて、これらの接続値を編集できます。
      注:
      [Sys ID] フィールドの値として -1 を設定すると、新しいレコードのコントローラーが構成されます。次にコントローラーは、完全な GUID を生成します。これは、レコードを保存する前に、レコードに対するデータを格納するために使用できます。これにより、添付ファイルの保存など、新しく作成されたレコードでアクションを実行できます。

      データリソースパネルのレコードコントローラーのユーザー構成を示しています
    3. 3 列目で [トップレベルの出力 (top level outputs)] を選択します。

      これは、コントローラーデータ階層の親レベルであり、プリフィックス @data.、それに続くコントローラー ID で示されます。この組み合わせにより、データへのルートパスが形成されます。トップレベルの出力に含まれるデータは、隣接するコードフィールドに表示されます。これらは、プリセットとスクリプトで使用できます。そのレベルの他のプロパティは、すべてのレコードに適用される共通プロパティです。

      コントローラーデータの最上位の親カテゴリと、それを使用して特定のデータへのパスの先頭部分を作成する方法を示しています

      プリセットがコンポーネントプロパティをコントローラー出力にマップすると、値の代わりに出力へのパスが表示されます。パスは @data.<コントローラー ID>.<トップレベルから出力プロパティへのパス> として示されます。これを値として、または式の一部として使用できます。

      この例では、プリセットのマッピングによって @data.gform.table へのパスが得られます。


      トップレベルのプリセットプロパティ値について、コントローラー出力値へのパスがどのように導出されるかを示しています
    4. トップレベルの下のデータを表示するには、プリセットプロパティ値のパスで示される子カテゴリを選択します。

      子カテゴリの名前は @data.<controller ID>.<category> としてパスに表示されます。そのカテゴリのデータが当該パスに追加されます。コードフィールドの上にあるルートパスは、使用されている子カテゴリを示します。この例では、form カテゴリの view プロパティへのパスは @data.gform.form.view として表されます。そのプリセット値は、workspace ビューにフォームを表示します。


      コントローラーデータの第 2 レベルへのパスが、データインスペクターのコントローラーのベースパスにどのように追加されるかを示しています

      この例では、複数のコントローラー出力プロパティを式で使用してオブジェクトをビルドしています。


      複数のコントローラー出力プロパティを使用して、UI ビルダーでプロパティの式をビルドする方法を示しています
    5. スクリプト化されたプロパティ値を表示するには、プロパティの横にあるロックアイコンを選択します。

      これにより、プロパティが編集モードになり、スクリプトを編集するためのモーダルが開きます。

      コントローラーデータへのマッピングがある、スクリプト化されたプロパティ値の編集モーダルを示しています

    コントローラー API でのイベントの表示

    プリセットとそのペイロードによってコンポーネントにマッピングされた処理済みイベントは、UI ビルダー構成パネルの [イベント] タブで表示できます。イベントのデータマッピングがユースケースに適していない場合は、さらにデータハンドラーを追加できます。
    注:
    プリセットで提供されているデータハンドラーマッピングは編集できません。
    1. UI ビルダーで [イベント] タブを選択します。
    2. プリセットイベントのマッピングを表示するには、イベントタイルを選択します。

      プリセットイベントのペイロードプロパティを示すモーダルが表示されます。このモーダルでイベントを無効にすることができます。


      イベントのプリセット値を含むモーダルを表示する、選択されたイベント
    3. イベントにイベントハンドラーを追加するには、イベントタイルの下にある [+ イベントハンドラーを追加] を選択します。

      プリセットイベントにイベントハンドラーを追加するためのコントロールを示しています

      利用可能な処理済みイベントのリストを示すモーダルが表示されます。リストから、リストされているいずれかのコントローラーのイベントハンドラーを含む任意のアクションを選択できます。

    4. リストからイベントハンドラーを選択し、[追加] を選択します。

      新しいハンドラーがイベントタイルの下に一覧表示されます。


      イベントタイルに追加された利用可能なハンドラーのリストから選択されたイベントハンドラーを示しています