モデル定義、フィールドおよびコンポーネントタイプ field-types
ユニバーサルエディターがプロパティパネルで編集できるフィールドとコンポーネントタイプの例について説明します。モデル定義を作成し、コンポーネントにリンクすることで、独自のアプリを実装する方法を理解します。
概要 overview
ユニバーサルエディターで使用する独自のアプリを適応させる場合は、コンポーネントを実装し、エディターのプロパティパネルで操作できるフィールドとコンポーネントタイプを定義する必要があります。これを行うには、モデルを作成し、コンポーネントからそのモデルにリンクします。
このドキュメントでは、モデル定義の概要、フィールドの概要および使用可能なコンポーネントタイプと設定例を説明します。
モデル定義構造 model-structure
ユニバーサルエディターのプロパティパネルを使用してコンポーネントを設定するには、モデル定義が存在し、そのコンポーネントにリンクされている必要があります。
モデル定義は、モデルの配列から始まる JSON 構造です。
[
{
"id": "model-id", // must be unique
"fields": [] // array of fields which shall be rendered in the properties rail
}
]
fields
配列を定義する方法について詳しくは、このドキュメントの フィールド の節を参照してください。
コンポーネントでモデル定義を使用するには、data-aue-model
属性を使用できます。
<div data-aue-resource="urn:datasource:/content/path" data-aue-type="component" data-aue-model="model-id">Click me</div>
モデル定義の読み込み loading-model
モデルを作成した後は、外部ファイルとして参照できます。
<script type="application/vnd.adobe.aue.model+json" src="<url-of-model-definition>"></script>
または、モデルをインラインで定義することもできます。
<script type="application/vnd.adobe.aue.model+json">
{ ... model definition ... }
</script>
フィールド fields
フィールドオブジェクトには次のタイプ定義があります。
component
ComponentType
name
string
label
FieldLabel
description
FieldDescription
placeholder
string
value
FieldValue
valueType
ValueType
string
、string[]
、number
、date
、boolean
required
boolean
readOnly
boolean
hidden
boolean
multi
boolean
validation
ValidationType
raw
unknown
コンポーネントタイプ component-types
次に、フィールドのレンダリングに使用できるコンポーネントタイプを示します。
aem-tag
aem-content
boolean
checkbox-group
container
aem-content-fragment
date-time
multiselect
number
radio-group
reference
richtext
select
tab
text
AEM タグ aem-tag
AEM タグコンポーネントタイプでは、AEM タグピッカーを使用して、コンポーネントにタグを付けることができます。
code language-json |
---|
|
![AEM タグコンポーネントタイプのスクリーンショット](./media_1159651cabbe711ba93dd5acc430b04fcaa0a07c6.png?width=750&format=png&optimize=medium)
AEM コンテンツ aem-content
AEM コンテンツコンポーネントタイプでは、AEM コンテンツピッカーを使用して、コンテンツ参照を設定できます。
code language-json |
---|
|
![AEM コンテンツコンポーネントタイプのスクリーンショット](./media_1f5cbfa1ff71d1a51b6c9e61d194b235760281617.png?width=750&format=png&optimize=medium)
ブーリアン boolean
ブーリアンのコンポーネントタイプは、切り替えスイッチとしてレンダリングされた単純な true/false 値を格納します。追加の検証タイプを提供します。
customErrorMsg
string
code language-json |
---|
|
code language-json |
---|
|
![ブーリアンコンポーネントタイプのスクリーンショット](./media_1b673ea5591e814bb10c8c2327a8d4345c8b6da50.png?width=750&format=png&optimize=medium)
チェックボックスグループ checkbox-group
ブール値と同様に、チェックボックスグループコンポーネントタイプでは、複数の true / false 項目を選択でき、複数のチェックボックスとしてレンダリングできます。
code language-json |
---|
|
![チェックボックスグループコンポーネントタイプのスクリーンショット](./media_1a66c505c6ad3e5d45c1f493e5676ce69ebcca822.png?width=750&format=png&optimize=medium)
コンテナ container
コンテナコンポーネントタイプを使用すると、コンポーネントをグループ化できます。追加の設定を提供します。
collapsible
boolean
code language-json |
---|
|
![コンテナコンポーネントタイプのスクリーンショット](./media_144a48a63fe8acb3d1ee1472b114c38b773fcdc4e.png?width=750&format=png&optimize=medium)
コンテンツフラグメント content-fragment
コンテンツフラグメントピッカーを使用すると、コンテンツフラグメントと(必要に応じて)そのバリエーションを選択できます。追加の設定を提供します。
variationName
string
code language-json |
---|
|
![コンテンツフラグメントピッカーのスクリーンショット](./media_11756da76e36f9d7b47e87d06371a2f6c99371c54.png?width=750&format=png&optimize=medium)
日時 date-time
日時コンポーネントタイプを使用すると、日付、時刻、またはその組み合わせを指定できます。 追加の設定を提供します。
displayFormat
string
valueFormat
string
また、追加の検証タイプも提供します。
customErrorMsg
string
valueFormat
が満たされない場合に表示するメッセージcode language-json |
---|
|
code language-json |
---|
|
![日時コンポーネントタイプのスクリーンショット](./media_1fb7ce59e7d55ecb8462d42e25b84056e31381cc5.png?width=750&format=png&optimize=medium)
エクスペリエンスフラグメント experience-fragment
エクスペリエンスフラグメントピッカーを使用すると、エクスペリエンスフラグメントと(必要に応じて)そのバリエーションを選択できます。追加の設定を提供します。
variationName
string
code language-json |
---|
|
![エクスペリエンスフラグメントピッカーのスクリーンショット](./media_192e8f6521eb9ef084f0cd392393a4ce5dccc8dc6.png?width=750&format=png&optimize=medium)
複数選択 multiselect
複数選択コンポーネントタイプでは、選択可能な要素をグループ化する機能など、ドロップダウンで選択する複数の項目が表示されます。
code language-json |
---|
|
code language-json |
---|
|
![複数選択コンポーネントタイプのスクリーンショット](./media_150cc6e56950fb2f7a83278ced464fba80c7ed9ac.png?width=750&format=png&optimize=medium)
![グループ化を含む複数選択コンポーネントタイプのスクリーンショット](./media_1dece1668ebedfa6b8c3956dc9d3277c4178c7488.png?width=750&format=png&optimize=medium)
数値 number
数値コンポーネントタイプを使用すると、数値を入力できます。 追加の検証タイプを提供します。
numberMin
number
numberMax
number
customErrorMsg
string
numberMin
または numberMax
が満たされない場合に表示するメッセージ。code language-json |
---|
|
code language-json |
---|
|
![数値コンポーネントタイプのスクリーンショット](./media_15146425e109a386730d4a2edbf36bb159899e009.png?width=750&format=png&optimize=medium)
ラジオグループ radio-group
ラジオグループコンポーネントタイプを使用すると、チェックボックスグループと同様のグループとしてレンダリングされる複数のオプションから、相互に排他的な選択を行うことができます。
code language-json |
---|
|
![ラジオグループコンポーネントタイプのスクリーンショット](./media_19057aca4a834513c482f4f637c785b3b14c08419.png?width=750&format=png&optimize=medium)
参照 reference
参照コンポーネントタイプを使用すると、現在のオブジェクトから別のデータオブジェクトへの参照が可能になります。
code language-json |
---|
|
![参照コンポーネントタイプのスクリーンショット](./media_113db176eaad949caf55bc670dd51fe33b825464a.png?width=750&format=png&optimize=medium)
リッチテキスト rich-text
リッチテキストを使用すると、複数行のリッチテキスト入力が可能になります。追加の検証タイプを提供します。
maxSize
number
customErrorMsg
string
maxSize
を超過している場合に表示するメッセージcode language-json |
---|
|
code language-json |
---|
|
![テキストエリアコンポーネントタイプのスクリーンショット](./media_12bd81eda29531805af2de8c81a45684f722c94a9.png?width=750&format=png&optimize=medium)
選択 select
選択コンポーネントタイプでは、ドロップダウンメニューの定義済みオプションのリストから 1 つのオプションを選択できます。
code language-json |
---|
|
![選択コンポーネントタイプのスクリーンショット](./media_1c86213678ecd6ed6128f8ec37aab80bac74b7779.png?width=750&format=png&optimize=medium)
タブ tab
タブコンポーネントタイプを使用すると、他の入力フィールドを複数のタブでグループ化して、作成者向けにレイアウト構成を改善することができます。
tab
定義は、fields
の配列の区切り記号として見なすことができます。 tab
より後のものはすべて、新しい tab
が検出されるまでそのタブに配置され、それ以降は次の項目が新しいタブに配置されます。
すべてのタブに項目を表示する場合は、その項目をタブの前に定義する必要があります。
code language-json |
---|
|
![タブコンポーネントタイプのスクリーンショット](./media_132123718b8b23e0fcbd612a3bdf5cfaeb6e1b3dd.png?width=750&format=png&optimize=medium)
テキスト text
テキストを使用すると、1 行のテキスト入力が可能になります。追加の検証タイプも含まれます。
minLength
number
maxLength
number
regExp
string
customErrorMsg
string
minLength
、maxLength
、または regExp
が違反の場合に表示されるメッセージcode language-json |
---|
|
code language-json |
---|
|
![テキストコンポーネントタイプのスクリーンショット](./media_1983458e1a920be3f84923c8ae42d65f78b7df63e.png?width=750&format=png&optimize=medium)