出典:ArcGIS Experience Builder - Guide - Layout
レイアウトは、レイアウト コンテナにコンテンツを配置する方法を定義します。コンテンツには、ウィジェット、セクション、または画面グループが含まれ、レイアウト コンテナには、ページ、ビュー、またはダイアログなどがあります。ArcGIS Experience Builder には、いくつかのレイアウト規則があります。たとえば、新しいページを作成するときに、Fixed レイアウトまたは Flow レイアウトを選択したり、Layout ウィジェットを使用して異なるレイアウトを作成したりすることができます。
アプリ コンフィグでは、レイアウトは layouts
プロパティで定義され、レイアウト コンテナは layout id でレイアウトを参照します。レイアウト コンテナには、異なるサイズ モードでのレイアウトを定義する layouts
オブジェクト プロパティがあります。Experience Builder では、Large、Medium、Small の各サイズ モードをサポートしています。レイアウトが定義されていないサイズ モードでは、アプリの設定で定義された mainSizeMode
レイアウトが使用されます。
フレームワークのレイアウト コンテナの他に、ウィジェットもレイアウト コンテナになることができます。ウィジェットがレイアウト コンテナになると,ユーザーは他のウィジェットをドラッグ アンド ドロップすることができます。例えば、Map や Card はレイアウト コンテナ ウィジェットです。レイアウト コンテナ ウィジェットは、manifest.json
で layouts
プロパティを宣言し、LayoutEntry コンポーネントを使用する必要があります。パフォーマンス上の理由から、以下のロジックを使用する必要があります。
import {LayoutEntry} from 'jimu-layouts/layout-runtime'
let LayoutEntryComponent
if (window.jimuConfig.isInBuilder) {
LayoutEntryComponent = this.props.builderSupportModules.LayoutEntry
} else {
LayoutEntryComponent = LayoutEntry
}