하위 속성 및 컨테이너 키
하위 속성
구성 요소 구성의 많은 구성 속성에는 하위 속성이 포함됩니다. 하위 속성은 다른 속성에 포함된 속성이며 대개 상위 속성의 특정 구성에만 관련이 있습니다. 경우에 따라 하위 속성은 선택 사항이며 하위 속성이 필수일 수도 있습니다.
예를 들어, 항목 목록 구성 요소에는 검색 상자가 포함될 수 있습니다. 검색 상자를 활성화하려면 구성 속성 enableSearchtrue로 설정되어야 합니다. 검색 상자를 사용할 수 있는 경우 검색 상자 안에 힌트 텍스트를 포함할 수 있습니다. 힌트 텍스트를 설정하기 위해 searchHintText에 사용할 수 있는 하위 속성 enableSearch가 있으며, 이 하위 속성은 문자열 입력을 사용합니다. 이 경우 하위 속성 searchHintTextenableSearchtrue로 설정된 경우에만 관련이 있습니다. 이 하위 속성은 선택 사항입니다. 설정하지 않으면 검색 상자에 힌트 텍스트가 표시되지 않습니다.
다음은 참조로 제공되는 enableSearch 속성에 대한 샘플 코드입니다.
{
"enableSearch":{
"additionalData":{
"itemListSearchDefinition":{
"searchHintText":{
"value":"Search the list"
}
}
},
"value":true
}
반면, 일부 하위 속성은 상위 속성의 구성에 관계없이 관련됩니다. 예를 들어 항목 목록을 필터링할 기본 필드를 설정하기 위해 defaultSortFields 구성 속성을 사용할 수 있습니다. 속성을 구성하는 방법에 관계없이 이 속성은 하위 속성 defaultSortDirection을 포함할 수 있으므로 기본 정렬 방향을 오름차순 또는 내림차순으로 설정할 수 있습니다.
복합 하위 속성
하위 속성이 더 복잡한 경우도 있습니다. 두 개 이상의 레이어를 사용할 수도 있고 속성의 서로 다른 구성에 대해 변경할 수도 있습니다.
다음은 보다 복잡한 예입니다. layout 속성을 horizontal 또는 vertical로 설정하여 속성을 수직 또는 수평으로 표시하도록 속성 구성 요소를 구성할 수 있습니다.
layouthorizontal로 설정된 경우에는 두 개의 필수 하위 속성인 maxHeightmaxWidth가 포함됩니다. 이러한 각 하위 속성은 정수 입력을 사용하며 구성 요소의 높이와 너비를 픽셀 단위로 결정합니다.
layoutvertical로 설정된 경우 사용자 인터페이스의 속성을 래핑할지 여부를 결정하는 필수 하위 속성 isMultiLine이 포함됩니다. (layouthorizontal로 설정되면 속성이 자동으로 래핑됩니다.) isMultiLinetrue로 설정되면 필수 하위 속성 maxHeight를 갖게 되고, isMultiLinefalse로 설정되면 필수 하위 속성 maxWidth를 갖게 됩니다. 이 경우 설정된 구성에 따라 하위 속성이 변경됩니다. 하위 속성도 두 개의 레이어 깊이로 구성됩니다.
다음은 참조로 제공되는 layout 속성에 대한 예 코드입니다.
layout의 경우 horizontal로 설정합니다.
{
"layout":{
"selectedKey":"horizontal",
"additionalData":{
"dimensionDefinition":{
"maxHeight":{
"version":"1.0.0",
"value":200
},
"maxWidth":{
"version":"1.0.0",
"value":300
}
}
},
"version":"1.0.0"
}
}
다음과 같이, layout의 경우 vertical, isMultiLine의 경우 true로 설정합니다.
{
"layout":{
"selectedKey":"vertical",
"additionalData":{
"isMultilineDefinition":{
"isMultiLine":{
"additionalData":{
"dimensionDefinition":{
"maxHeight":{
"version":"1.0.0",
"value":200
}
}
},
"version":"1.0.0",
"value":true
}
}
},
"version":"1.0.0"
}
}
다음과 같이, layout의 경우 vertical, isMultiLine의 경우 false로 설정합니다.
{
"layout":{
"selectedKey":"vertical",
"additionalData":{
"isMultilineDefinition":{
"isMultiLine":{
"additionalData":{
"dimensionDefinition":{
"maxWidth":{
"version":"1.0.0",
"value":300
}
}
},
"version":"1.0.0",
"value":false
}
}
},
"version":"1.0.0"
}
}
컨테이너 키
JSON 구성 파일에서 하나 이상의 하위 속성이 있는 속성에는 additionalData 키가 포함됩니다. additionalData 키 내에는 컨테이너 키라는 또 다른 키가 있으며 하위 속성을 포함합니다.
예를 들어, enableSearch 속성을 다시 살펴보겠습니다.
{
"enableSearch":{
"additionalData":{
"itemListSearchDefinition":{
"searchHintText":{
"value":"Search the list"
}
}
},
"value":true
}
최상위 속성은 enableSearch이고 additionalData가 포함됩니다. additionalData 내에는 컨테이너 키 itemListSearchDefinition이 있으며 이 키는 하위 속성 searchHintText를 포함합니다.
일반적으로 속성에는 컨테이너 키 하나가 있으며 모든 하위 속성이 해당 키에 포함됩니다. 그러나 단일 속성에 여러 컨테이너 키가 포함되어 있고 각각의 키에 하나 이상의 하위 속성이 있을 경우에는 예외가 발생합니다.
도움이 되셨나요?