MetaField 클래스의 주요 기능은 다음과 같습니다.
1. MetaFormat, MetaData와 연계하여 데이터를 표시합니다.
- 따라서 데이터를 처리를 위한 별도의 코드를 작성할 필요가 없습니다.
- field를 기준으로 연계합니다.
2. Grid에 표시할 필드를 정의합니다.
- options.fields에 작성한 순서로 표시됩니다.
3. 필드 속성과 값을 설정/제어합니다.
4. field 속성 값은 다음과 같은 순서로 설정됩니다.
- MetaField의 default 값을 설정합니다.
- {hidden: false, width: 100, sortable: true}
- options.fields: [{field: 'sports'}...]에 작성한 값을 설정합니다.
- MetaData.dataFormat의 속성 값을 설정합니다.
단, 1, 2 단계에서 설정한 속성 값이 있으면 설정하지 않습니다.
5. header와 detail을 분리해서 오브젝트 생성
- dataFormat을 정의할 때에는 header format과 detail format을 한 번에 지정했지만
- MetaField 오브젝트를 각각 생성해야 합니다.
* example
new mc.data.MetaField({
width: 100,
sortable: true,
format: 'detail',
fields: [
{field: 'code', text: "상품코드", width: 80},
{field: 'item', text: "상품명", width: 150},
{field: 'qty', text: "수 량", showRight: true, comma: true},
{field: 'amount', text: "금 액", width: 140, showRight: true, comma:true}
]
})
| Options | Component |
|---|---|
| ccode {String} | data.MetaField |
|
component code : 'metafield'
|
|
| className {String} | data.MetaField |
field에 적용할 className
Grid인 경우 meta field는 아래와 같은 구조로 설정됩니다.
- DOM Tree
<td class="className" style="style">
<div class="textClass" style="textStyle">title</div>
</td>
DOM Tree에서 볼 수 있듯이 className과 style이 <td>에 적용되고
textClass와 textStyle이 <div>에 적용됩니다.
MetaField 클래스의 style과 관련된 프로퍼티는 style에 적용되며
값을 지정한 경우 MethodChain에서 style에 조합하므로 style에 작성하지 않습니다.
|
|
| defaults {Array} | data.MetaField |
|
디폴트 값을 적용할 수 있는 default properties
|
|
| editor {Function} | data.MetaField |
|
필드에 편집하기 위해 실행할 함수를 지정합니다.
|
|
| field {String} | data.MetaField |
|
field name
field를 구분할 수 있도록 전체를 통해 하나만 존재하는 이름을 지정합니다.
MetaData와 연계하는 경우 MetaData에 작성한 field와 일치해야 합니다.
|
|
| fields {JSON} | data.MetaField |
|
field 속성 그룹
각각의 field 및 속성을 작성한 속성 그룹
|
|
| fixWidth {String} | data.MetaField |
|
width 조정 가능 여부. default; false
Grid와 같이 sub-title에 필드를 표시할 때 width를 균형있게 표시하기 위해
전체 width에서 표시할 필드의 width 합계를 마이너스하여 증감 값을 구합니다.
구한 값을 각 필드의 width에 분배할 때 fixWidth가 true로 설정되어 있으면 반영하지 않습니다.
즉, options.width에 지정한 값이 필드의 width가 됩니다.
true: 조정 불가
|
|
| format {String} | data.MetaField |
dataFormat 구분. default: 'detail'
'header': header format, 'detail': detail format
sample
아래와 같이 JsonFormat 인스턴스를 생성할 때 지정했던 header, detail을 지정합니다.
new mc.data.JsonFormat(
{header: [{field: 'year', mapName: 'salesYear', type: 'int'}]},
{detail: [{field: 'amount', type: 'int'}]}
);
|
|
| hidden {Boolean} | data.MetaField |
|
필드의 표시/비표시. default: false
true: 필드를 표시하지 않습니다.
|
|
| metaData {Instance} | data.MetaField |
|
(optional) MetaData 인스턴스
이를 지정하면 MetaData.dataFormat과 metaField에 지정한 field를 같이 매핑합니다.
field를 매핑한 후 metaData는 삭제됩니다.
|
|
| sortable {Boolean} | data.MetaField |
|
sort 여부. default: true
Grid sut-title의 필드를 click하면 토글로 sort(Asc/Desc)하여 표시합니다.
false: sort를 하지 않습니다.
서버에서 sort하는 것이 아니라 Grid에 표시된 데이터를 기준으로 클라이언트에서 실행합니다.
|
|
| style {Hash} | data.MetaField |
|
field에 적용할 style.
style: {color: 'blue'}와 같이 Hash 형태로 작성합니다.
|
|
| text {String} | data.MetaField |
|
필드 명칭으로 Grid의 타이틀 라인에 표시합니다.
|
|
| textClass {String} | data.MetaField |
|
field text에 적용할 className
title 프로퍼티에 지정한 텍스트에 적용됩니다.
|
|
| textStyle {Hash} | data.MetaField |
|
field text에 적용할 style.
|
|
| width {Number} | data.MetaField |
|
width
options 공통 또는 field에 width를 지정하지 않았을 때 field에 적용될 width. default: 100
|
|
| Method | Component |
|---|---|
getAll
(String, Mixed) : Array
|
data.MetaField |
|
프로퍼티와 값에 일치하는 오브젝트를 배열로 반환합니다.
|
|
getAllFields
() : Hash
|
data.MetaField |
|
fieldFormat과 chilFields를 합한 Format 오브젝트를 반환합니다.
|
|
getChildIndex
(String) : Number
|
data.MetaField |
|
field.child에 지정한 field의 인덱스 값을 반환합니다.
|
|
getChildValue
(String, String) : String
|
data.MetaField |
|
field와 프로퍼티에 일치하는 속성 값을 추출하여 반환합니다.
|
|
getChildValues
(Array/String, String) : Array
|
data.MetaField |
|
field와 프로퍼티에 일치하는 속성 값을 전부 추출하여 반환합니다.
|
|
getCount
() : Number
|
data.MetaField |
|
fields에 포함된 field 수를 반환합니다.
|
|
getExclude
(String) : Array
|
data.MetaField |
|
지정한 프로퍼티 값이 true인 것을 제외하고 false인 field 값을 배열로 반환합니다.
|
|
getFieldNumber
(Boolean) : Number
|
data.MetaField |
|
fields에 작성한 FieldFormat 오브젝트수를 반환합니다.
|
|
getFieldStyle
(Number, Number) : String
|
data.MetaField |
|
field의 style에 적용할 값을 추출하여 style에 첨부할 수 있도록 문자열로 반환합니다.
|
|
getFirst
(String, Mixed) : Hash
|
data.MetaField |
|
프로퍼티와 값에 일치하는 첫 번째 오브젝트를 반환합니다.
|
|
getFormat
(String) : Hash
|
data.MetaField |
|
field 값과 같은 fieldFormat 오브젝트를 반환합니다.
|
|
getFormatIndex
(String) : Number
|
data.MetaField |
|
지정한 field의 인덱스 값을 반환합니다.
|
|
getHashStyle
(Number, Number) : Hash
|
data.MetaField |
|
field의 style에 적용할 값을 추출하여 Hash 형태로 반환합니다.
|
|
getInclude
(String) : Array
|
data.MetaField |
|
지정한 프로퍼티 값이 true인 'field' 값을 배열로 반환합니다.
|
|
getIndex
(Number) : Hash
|
data.MetaField |
|
fields의 인덱스 번째를 FieldFormat 오브젝트 형태로 반환합니다.
|
|
getIndexValue
(Number, String) : Mixed
|
data.MetaField |
|
fields의 인덱스 번째에서 지정한 프로퍼티 값을 반환합니다.
|
|
getLineWidth
() : String
|
data.MetaField |
|
한 라인에 표시할 필드 중에서 hidden을 제외한 필드의 width 합계를 합산하여 반환합니다.
|
|
getLineWidthHidden
() : String
|
data.MetaField |
|
hidden 필드를 포함한 한 라인에 위치할 필드의 width 합계를 합산하여 반환합니다.
|
|
getValue
(String, String) : String
|
data.MetaField |
|
field와 프로퍼티에 일치하는 값을 추출합니다.
|
|
getValues
(Array/String, String) : Array
|
data.MetaField |
|
field와 프로퍼티에 일치하는 속성 값을 추출합니다.
|
|
isSortable
(Number) : Boolean
|
data.MetaField |
|
필드의 sort 허용 여부를 체크합니다.
|
|
moveField
(Number, Number)
|
data.MetaField |
|
필드를 current 위치에서 지정한 위치로 이동합니다.
|
|
setIndexValue
(Number, String, String/Number/Boolean)
|
data.MetaField |
|
index번째에 property 값을 설정합니다.
|
|
setLineNumber
(String, Boolean/Number)
|
data.MetaField |
|
LineNumber 클래스의 seqNumber 값을 초기화 시킵니다.
|
|
setValue
(String, String, String/Number/Boolean)
|
data.MetaField |
|
field의 속성 값을 설정합니다.
|
|
| Custom Event | |
|---|---|
|
|
|