[API/UI]

MetaField

개요

MetaField 클래스는 MetaFormat 클래스와 MetaData 클래스를 연계하여 데이터를 표시합니다.
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
getAll(pty, value)
프로퍼티와 값에 일치하는 오브젝트를 배열로 반환합니다.
getAll('fixWidth': true)로 지정한 경우 조건에 일치하는 모든 오브젝트를 반환합니다.
Parameters :
• {String} property, 추출 기준 property
• {Mixed} value, 추출 기준 value
Returns :
• {Array}
data.MetaField
프로퍼티와 값에 일치하는 오브젝트를 배열로 반환합니다.
getAllFields () : Hash
getAllFields)
fieldFormat과 chilFields를 합한 Format 오브젝트를 반환합니다.
Parameters :
• 없음
Returns :
• {Hash}
data.MetaField
fieldFormat과 chilFields를 합한 Format 오브젝트를 반환합니다.
getChildIndex (String) : Number
getChildIndex(field)
field.child에 지정한 field의 인덱스 값을 반환합니다.
Parameters :
•{String} field, 추출 대상 field
Returns :
• {Number} index
data.MetaField
field.child에 지정한 field의 인덱스 값을 반환합니다.
getChildValue (String, String) : String
getChildValue(fields, property)
field와 프로퍼티에 일치하는 속성 값을 추출하여 반환합니다.
Parameters :
• {String} fields, 추출 대상 field
• {String} property, 추출 대상 property
Returns :
• {String} 속성 값
data.MetaField
field와 프로퍼티에 일치하는 속성 값을 추출하여 반환합니다.
getChildValues (Array/String, String) : Array
getChildValues(fields, property)
field와 프로퍼티에 일치하는 속성 값을 전부 추출하여 반환합니다.
field는 하나를 지정할 수 있지만 프로퍼티는 다수를 지정할 수 있습니다.
field에 child field를 지정할 수 있습니다.
Parameters :
• {Array|String} fields, 추출 대상 field
• {String} property, 추출 대상 property
Returns :
• {Array} 속성 값, 값이 없더라도 property에 지정한 만큼 배열로 반환합니다.
data.MetaField
field와 프로퍼티에 일치하는 속성 값을 전부 추출하여 반환합니다.
getCount () : Number
getCount()
fields에 포함된 field 수를 반환합니다.
Parameters :
• 없음
Returns :
• {Number}
data.MetaField
fields에 포함된 field 수를 반환합니다.
getExclude (String) : Array
getExclude(property)
지정한 프로퍼티 값이 true인 것을 제외하고 false인 field 값을 배열로 반환합니다.
mc.data.MetaField.fields에 아래와 같이 작성하고 파라미터에
'hidden'을 지정하면 이 field는 반환하지 않습니다.
{field: 'id', hidden: true}
Parameters :
• {String} property, 프로퍼티
Returns :
• {Array} 프로퍼티 값이 false인 필드
data.MetaField
지정한 프로퍼티 값이 true인 것을 제외하고 false인 field 값을 배열로 반환합니다.
getFieldNumber (Boolean) : Number
getFieldNumber(hd)
fields에 작성한 FieldFormat 오브젝트수를 반환합니다.
Parameters :
• {Boolean} hd, hidden 필드의 포함 여부. true: 포함, false: 포함하지 않음
Returns :
• {Number} 오브젝트 수
data.MetaField
fields에 작성한 FieldFormat 오브젝트수를 반환합니다.
getFieldStyle (Number, Number) : String
getFieldStyle(index, bdw)
field의 style에 적용할 값을 추출하여 style에 첨부할 수 있도록 문자열로 반환합니다.
Parameters :
• {Number} index, index
• {Number} borderWidth, options에 지정한 borderWidth
Returns :
• {String} 설정한 값
data.MetaField
field의 style에 적용할 값을 추출하여 style에 첨부할 수 있도록 문자열로 반환합니다.
getFirst (String, Mixed) : Hash
getFirst(pty, value)
프로퍼티와 값에 일치하는 첫 번째 오브젝트를 반환합니다.
Parameters :
• {String} property, 추출 기준 property
• {Mixed} value, 추출 기준 value
Returns :
• {Hash}
data.MetaField
프로퍼티와 값에 일치하는 첫 번째 오브젝트를 반환합니다.
getFormat (String) : Hash
getFormat(fields)
field 값과 같은 fieldFormat 오브젝트를 반환합니다.
Parameters :
• {String} fields, 추출 대상 field
Returns :
• {Hash} fieldFormat 오브젝트
data.MetaField
field 값과 같은 fieldFormat 오브젝트를 반환합니다.
getFormatIndex (String) : Number
getFormatIndex(field)
지정한 field의 인덱스 값을 반환합니다.
Parameters :
• {String} fields, 추출 대상 field
Returns :
• {Number} index
data.MetaField
지정한 field의 인덱스 값을 반환합니다.
getHashStyle (Number, Number) : Hash
getHashStyle(index, bdw)
field의 style에 적용할 값을 추출하여 Hash 형태로 반환합니다.
Parameters :
• {Number} index, index
• {Number} borderWidth, options에 지정한 borderWidth
Returns :
• {Hash} 설정한 값
data.MetaField
field의 style에 적용할 값을 추출하여 Hash 형태로 반환합니다.
getInclude (String) : Array
getInclude(property)
지정한 프로퍼티 값이 true인 'field' 값을 배열로 반환합니다.
예: 'fixWidth'를 파라미터에 지정했다면 fixWidth 값 true인 field만 반환합니다.
Parameters :
• {String} property, 프로퍼티
Returns :
• {Array} 속성 값이 true인 필드
data.MetaField
지정한 프로퍼티 값이 true인 'field' 값을 배열로 반환합니다.
getIndex (Number) : Hash
getIndex(index)
fields의 인덱스 번째를 FieldFormat 오브젝트 형태로 반환합니다.
Parameters :
• {Number} index, 필드 인덱스
Returns :
• 없음
data.MetaField
fields의 인덱스 번째를 FieldFormat 오브젝트 형태로 반환합니다.
getIndexValue (Number, String) : Mixed
getIndexValue(index, property)
fields의 인덱스 번째에서 지정한 프로퍼티 값을 반환합니다.
Parameters :
• {Number} index, 필드 인덱스
• {String} property, 프로퍼티
sample -> field, title, hidden, fixwidth, type, mapname
Returns :
• {Mixed}
data.MetaField
fields의 인덱스 번째에서 지정한 프로퍼티 값을 반환합니다.
getLineWidth () : String
getLineWidth()
한 라인에 표시할 필드 중에서 hidden을 제외한 필드의 width 합계를 합산하여 반환합니다.
Parameters :
• 없음
Returns :
• {String} hidden을 제외한 width 합계
data.MetaField
한 라인에 표시할 필드 중에서 hidden을 제외한 필드의 width 합계를 합산하여 반환합니다.
getLineWidthHidden () : String
getLineWidthHidden()
hidden 필드를 포함한 한 라인에 위치할 필드의 width 합계를 합산하여 반환합니다.
Parameters :
• 없음
Returns :
• {String} width 합계
data.MetaField
hidden 필드를 포함한 한 라인에 위치할 필드의 width 합계를 합산하여 반환합니다.
getValue (String, String) : String
getValue(field, property)
field와 프로퍼티에 일치하는 값을 추출합니다.
필드와 프로퍼티를 하나만 지정할 수 있습니다.
- 파라미터 지정 sample
{field: 'month', title: "Sales Month"}인 경우
getValue('month', 'title')
Parameters :
• {String} fields, 추출 대상 field
• {String} property, 추출 대상 property
Returns :
• {String} 프로퍼티 값
data.MetaField
field와 프로퍼티에 일치하는 값을 추출합니다.
getValues (Array/String, String) : Array
getValues(field, pty)
field와 프로퍼티에 일치하는 속성 값을 추출합니다.
field는 다수를 지정할 수 있지만 프로퍼티는 하나만 지정할 수 있습니다.
Parameters :
• {Array|String} fields, 추출 대상 field
• {String} property, 추출 대상 property
Returns :
• {Array} 속성 값
data.MetaField
field와 프로퍼티에 일치하는 속성 값을 추출합니다.
isSortable (Number) : Boolean
isSortable(ix)
필드의 sort 허용 여부를 체크합니다.
Parameters :
• {Number} index, 체크할 필드 index
Returns :
• {Boolean}
data.MetaField
필드의 sort 허용 여부를 체크합니다.
moveField (Number, Number)
moveField(cix, mix)
필드를 current 위치에서 지정한 위치로 이동합니다.
Parameters :
• {Number} currentIndex, 현재 index
• {Number} moveIndex, 이동할 인덱스
Returns :
• 없음
data.MetaField
필드를 current 위치에서 지정한 위치로 이동합니다.
setIndexValue (Number, String, String/Number/Boolean)
setIndexValue(index, pty, value)
index번째에 property 값을 설정합니다.
property가 존재하면 값을 replace하고 존재하지 않으면 추가합니다.
Parameters :
• {Number} index, 인덱스
• {String} property, 프로퍼티
• {String|Number|Boolean} value, 설정할 값
Returns :
• 없음
data.MetaField
index번째에 property 값을 설정합니다.
setLineNumber (String, Boolean/Number)
setLineNumber(ftn, value)
LineNumber 클래스의 seqNumber 값을 초기화 시킵니다.
Parameters :
• {String} formatName, LineNumber format name
• {Boolean|Number} value, 초기 값 설정 기준.
Returns :
• 없음
data.MetaField
LineNumber 클래스의 seqNumber 값을 초기화 시킵니다.
setValue (String, String, String/Number/Boolean)
setValue(field, pty, value)
field의 속성 값을 설정합니다.
property가 존재하면 값을 replace하고 존재하지 않으면 추가합니다.
Parameters :
• {String} field, field
• {String} property, 프로퍼티
• {String|Number|Boolean} value, 설정할 값
Returns :
• 없음
data.MetaField
field의 속성 값을 설정합니다.
Custom Event