guide 컨트롤 Options
리스트 컨트롤의 구성 영역 및 그룹핑 등의 컨트롤 기능들에 대한 설정 정보를 전체적으로 관리한다.
모바일 UI 컨트롤 특성 상, 사용자가 portrait와 landscape 모드 변경을 할 수 있으므로
컨트롤 설정을 두 상태에 따라 별도로 지정할 수 있게 했다.
컨트롤의 options는 공통 기본 설정을 하고,
landscape는 가로 모드일 때의 설정,
portrait는 세로 모드일 때의 설정을 따로 할 수 있다.
현재 상태의 설정은 current 속성을 통해 설정한다.
주로 컨트롤 생성 시점에 setConfig로 컨트롤 속성들과 options들을 한꺼번에 설정한다.
const config = {
props: {
},
options: {
header: {
},
footer: {
},
...
}
};
const list = RealTouch.createListControl(document, 'realtouch');
list.setConfig(config);
list.data = data;
물론, 이벤트 콜백 등 필요한 시점에 api를 통해 개별적으로 설정 가능하다.
list.header.clickAction = RtSectionAction.SEARCH;
Control Properties
가로/세로(landscape/portrait) 구분이 필요 없는 컨트롤의 고유 속성들은 options와 포함되지 않고 컨트롤 객체의 속성으로 접근한다. 몇몇 속성들은 아래와 같다. 자세한 목록은 RtListControl 페이지를 참조한다.
property | type | default | description |
---|---|---|---|
data | RtDataSource | 데이터소스 | |
largeSize | number |
700 | 'large' 템플릿을 사용해야 하는 기준 화면 너비 |
textFormat | string |
기본 text to string format |
|
boolFormat | string |
기본 boolean to string format |
|
numberFormat | string |
기본 number to string format |
|
topRow | number |
-1 | 현재 표시되는 시작(최상단) 데이터행 index |
page | number |
NaN |
페이징 상태일 때, 현재 페이지 인덱스 |
rowClickAction | RtRowClickAction | 데이터행을 tap했을 때 실행되는 action | |
rowDeleteAnimation | boolean |
false |
데이터행 삭제를 애니메이션으로 표현할 것인 지 여부 |
Options
가로/세로(landscape/portrait) 별도로 지정할 수 있는 컨트롤 속성들은 세 가지 속성 집합 객체에 설정한다.
- options - 속성들의 기본 값을 설정한다. landscape나 portrait에 명시적으로 설정하지 않은 속성은 이 객체에 지정한 값으로 적용된다.
- portrait - 세로 모드일 때 속성 값을 설정한다.
- landscape - 가로 모드일 때 속성 값을 설정한다.
current는 컨트롤을 구성할 때 portrait, landscape 중 현재 적용 중인 설정 객체이다.
이 속성 집합에는 컨트롤 구성 요소들의 설정 객체들이 모두 포함되어 있다. 몇몇 속성들은 아래와 같다. 자세한 목록은 RtListOptions 페이지를 참조한다.
property | type | default | description |
---|---|---|---|
orientation | RtOrientation | VERTICAL | 데이터행 배치 방향 |
rowCommands | string [] |
데이터행 command box에 표시되는 실행 명령 들 | |
header | RtListHeader | 리스트 헤더 설정 모델 | |
footer | RtListFooter | [리스트 푸터] 설정 모델 | |
rowBar | RtRowBar | Row Bar 설정 모델 | |
editBar | RtEditBar | Edit Bar 설정 모델 | |
scrollIndicator | RtScrollIndicator | Scroll Indicator 설정 모델 | |
scrollBar | RtScrollBar | Scroll Bar 설정 모델 | |
pageNavigator | RtPageNavigator | Page Navigator 설정 모델 | |
commandBox | RtCommandBox | Command Box 설정 모델 | |
searchBar | RtSearchBar | Search Bar 설정 모델 | |
searchResultBar | RtSearchResultBar | Search Result Bar 설정 모델 | |
fieldBar | RtFieldBar | Field Bar 설정 모델 | |
formPanel | RtFormPanel | Form Panel 설정 모델 | |
buttonPanel | RtButtonPanel | Button Panel 설정 모델 | |
searchPanel | RtSearchPanel | Search Panel 설정 모델 | |
filterPanel | RtFilterPanel | Filter Panel 설정 모델 |
주의 사항
- visible 속성을 갖는 객체 속성의 경우, setConfig나 setOptions에서
json
객체 대신boolean
값을 지정하면 visible 속성을 설정하는 것으로 간주한다. 아래 두 설정은 동일하게 기능한다.
list.setOptions({
searchBar: true
})
list.setOptions({
searchBar: {
visible: true
}
})