注: 以下の翻訳の正確性は検証されていません。AIPを利用して英語版の原文から機械的に翻訳されたものです。

ループレイアウト

このページではループレイアウトについて説明します。Workshop の埋め込み機能の概要については、埋め込み概要ページを参照してください。

レイアウトセレクター内のループレイアウトオプション

ループレイアウトを使用すると、オブジェクトセットをループし、このオブジェクトを入力として使用して各オブジェクトの埋め込みモジュールを表示できます。ループレイアウト内の各埋め込みモジュールは、独自の変数スコープとレイアウト状態を持ち、他の埋め込みモジュールインスタンスとは独立して機能します。ループレイアウトを使用すると、オブジェクトテーブルやオブジェクトリストなどの他のオブジェクトセット表示ウィジェットで提供されるもの以上に、オブジェクトセットの表示をより細かく制御できます。他のオブジェクトセット表示ウィジェットには固定された機能セットが付属していますが、ループレイアウトでは、オブジェクトセット内の各オブジェクトの表示に利用可能なWorkshopのすべての機能を組み合わせて使用できます。

以下は、3 つのオブジェクトセット(列ごとに 1 つ)の各オブジェクトに対してインタラクティブなチケットカードを作成するためのループレイアウトの例で、カンバンスタイルのアプリケーションを作成します。各チケットカードは、列のループレイアウトに提供されたオブジェクトセットからオブジェクトを埋め込んだモジュールインスタンスです。この埋め込みモジュールでは完全なレイアウト制御が可能で、ビルダーは各オブジェクトに対して表示する内容や使用可能なアクションを正確に構成でき、他のオブジェクトセット表示ウィジェットが提供するものよりも柔軟性が高くなります。

優先度トリアージワークフローを設定するために使用される 3 つのループレイアウト

設定

ループレイアウト設定では、ビルダーがループするオブジェクトセットと、選択したオブジェクトセット内の各オブジェクトの埋め込みモジュールを選択し、並べ替えやページングスタイルの制御を行うことができます。

ループレイアウト設定

ループするオブジェクトセット

ループレイアウトで最初に行う設定は「ループするオブジェクトセット」変数の入力です。このオブジェクトセットはループレイアウトでループされ、このセットの各オブジェクトを使用して「モジュール選択」ステップで設定された子埋め込みモジュールのインスタンスが表示されます。

並べ替え

プロパティの並べ替えを適用して、ループレイアウトでオブジェクトを表示する順序を決定できます。

関数を利用したオブジェクトセット変数からオブジェクトセット定義内で目的の並べ替え順序で静的オブジェクトセットを返すことで、カスタム並べ替えが実現できます。

静的オブジェクトセットではない単一のオブジェクトタイプのオブジェクトセットの場合、ユーザーが設定した並べ替えの背後にプライマリキー並べ替えが適用され、オブジェクトの一貫した順序が保証されます。これにより、プライマリキーが並べ替え可能でない場合、ループレイアウトの表示に失敗することがあります。

ページングスタイル

表示

  • リスト: この表示オプションでは、オブジェクトがリストで表示されます。追加の設定オプションはありません。
  • グリッド: この表示オプションでは、オブジェクトがグリッドで表示されます。さらに、最大列数と最小カード幅(ピクセル単位)を設定できます。

どちらのオプションでも、選択した子モジュールの最上部セクションに絶対または最大高さを設定することで、各行の一貫した高さを実現できます。

モジュール選択

ループレイアウトモジュールの選択は、Compass リソースセレクターを介して子モジュールを選択する必要がある埋め込みモジュールウィジェットのモジュール選択と同様に機能します。ただし、ループレイアウトの選択モジュールにはモジュールインターフェースオブジェクトセット変数が必要です。

ループするオブジェクトセットのオブジェクトのインターフェース変数

この設定では、ビルダーは「ループするオブジェクトセット」変数からのオブジェクトにマップされる子モジュールのモジュールインターフェースオブジェクトセット変数を選択する必要があります。詳細については、選択したモジュールのモジュールインターフェースの設定を参照してください。

この変数値が子モジュールで変更されると、たとえば「変数値を設定」イベントを通じて、予期しない動作が発生する可能性があります。

インターフェース設定

上記のモジュールインターフェース変数入力を除いて、ループレイアウト変数のマッピングは、他のすべてのモジュールインターフェース変数に対して埋め込みモジュールインターフェース設定と同じ方法で機能します。

「ループするオブジェクトセット」変数とは異なり、これらの追加変数は子モジュールテンプレートで変更できます。各変数は各ループインスタンスに対して同じ変数リファレンスであり、変数状態はループインスタンスと親モジュール間で共有されます。

レイアウト設定

パディング

これは他のWorkshopレイアウトで提供されるパディング設定と同じです。設定されたパディングは、ループレイアウト内の埋め込みモジュールの各インスタンスに適用されます。

内部境界線スタイル

ループレイアウトにパディングが適用されている場合、内部境界線スタイルを選択でき、これがループレイアウト内の埋め込みモジュールの各インスタンスに適用されます。

変数の共有

ループレイアウトのインターフェース設定により、変数値をループレイアウト埋め込みモジュール間で共有できます。たとえば、選択されたオブジェクトの状態などを共有するのに役立ちます。この使用例では、各埋め込みモジュールがイベントを設定して共有された「選択されたオブジェクト」変数の値を設定でき、その後、親モジュールで使用できます。

制限事項

ループレイアウトのページング制限

ループレイアウトは現在、最初の 10000 個のオブジェクトまでのページングに制限されています。この制限は将来変更される可能性があります。

動的値

モジュールインスタンスごとに動的な変数値は、渡されたオブジェクトから派生させる必要があります。渡されたオブジェクトは各モジュールインスタンスを区別する唯一の方法です。追加の変数はループレイアウト内のすべてのモジュールインスタンスに渡すことができ、これらの変数はインスタンス間で共有されます