[API/UI]

Combo

개요

Combo 클래스는 서제스트를 제공하여 값을 선택할 수 있도록 합니다.
Combo 클래스의 주요 기능은 다음과 같습니다.
1. 문자를 입력할 때마다 실시간으로 서제스트를 표시합니다.
    - 이때 입력한 문자로 시작하는 값과 같은 데이터만 표시됩니다.

2. 서버 또는 클라이언트 데이터를 사용할 수 있습니다.

3. 데이터 수집 형태을 지정할 수 있습니다.
    - 상세 내용은 collectOnlyOne을 참조하세요.

4. 서제스트 표시
    - 이미지 아이콘을 클릭하면 서제스트가 표시됩니다.
    - 서제스트 입력 창에서 아래 방향키를 누르면 서제스트가 표시됩니다.
    - 이미지 아이콘을 누르지 않고 값만 입력하더라도 같은 값을 가진 서제스트가 표시됩니다.
    - 값이 서제스트 창에 표시된 상태에서 Delete/BackSpace키를 누르면 같은 값을 가진 서제스트가 표시됩니다.
    - 서제스트에 표시할 데이터 수를 지정할 수 있습니다. 
      - default: 7, maxNodes를 참조하세요
    - 다수의 필드를 서제스트에 표시할 수 있습니다.
      예: 상품코드, 상품명
    - 다수의 필드 중에서 입력 창에서 입력한 값과 비교할 필드를 지정할 수 있습니다.

5. 서제스트 선택 형태
    - 마우스로 클릭하여 선택합니다.
    - 아래/위 방향 키로 이동한 후 EnterTab 또는 Enter 키를 누르면 선택됩니다.
    - 서제스트가 표시될 때 첫 번째 표시된 데이터에 cursor가 위치하게 됩니다.
    - Esc 키를 누르면 서제스트가 사라지며, escClear option에 따라 값이 지워지거나 지워지지 않습니다.

6. 선택한 값에 동반되는 데이터를 서버로 전송할 수 있습니다.
    - 서제스트 입력 창에 입력한 값은 디폴트로 전송됩니다.
    - 이에 동반되는 데이터를 서버로 전송합니다.
    - 예를 들어 서제스트는 상품명으로 하고 선택한 상품명의 상품코드를 서버로 전송할 수 있습니다.
        - sendFields를 참조하세요
Options Component
addEvent {Boolean} types.Type
type 엘리먼트에 이벤트 설정 여부. default: true
true: keydown/keypress, focus, blur 이벤트를 설정합니다.
false: 이벤트를 설정하지 않습니다.
adjacent {String} types.Type
생성한 엘리먼트가 showTo에 첨부될 위치
beforebegin, afterend, beforeend, afterbegin을 지정할 수 있습니다.
상세 내용은 MethodChain framework의 insertHTML()을 참조하세요.
attr {Hash} types.Type
type 엘리먼트에 적용할 attribute
Type 클래스에서 프로퍼티로 제공하지 않는 속성 값을 엘리먼트에 설정할 때 사용합니다.
options에 attr: {attribute_name: value} 형태로 지정합니다.
example
    attr: {value: 'value', readOnly: true}
autoCheck {Boolean} types.TextType
입력한 값의 시스템 자동 체크 여부. default: true
true: 시스템이 자동으로 체크합니다.
blurSetValue {Boolean} combo.Combo
blur시 값 설정 여부. default: true
true: blur 이벤트가 발생했을 때 커서가 있는 서제스트의 값을 설정합니다.
false: 설정하지 않습니다.
ccode {String} combo.Combo
component code : 'combo'
charsOnly {Boolean} types.Type
제어키의 keydown 이벤트 발생 여부. default:false
true: 제어키(Control key)로 인해 keydown 이벤트가 발생했을 때 이를 처리하기 위한
메소드를 실행하지 않으며 custom 이벤트도 fire시키지 않습니다.
제어키에 대해서는 mc.controlKeys를 참조하세요.
false: 제어키를 체크하지 않습니다.
checkMethod {Function} types.Type
custom 지정 메소드.
엘리먼트 값을 MethodChain에서 제공하는 형태가 아닌 사용자가 지정한 메소드를 실행하여 체크할 수 있습니다.
checkMethod에 실행할 메소드 이름을 지정하면 됩니다.
- 파라미터는 하나이며 엘리먼트에 입력한 값이 설정됩니다.
checkMethod(param)
@param {String|Number} value, 엘리먼트에 입력한 값
- 사용자에게 제시할 메시지가 있다면 {title: 'title', msg: 'message'} 형태로 return합니다.
checkMethod() return
@return {Hash} {title: 'title', msg: 'message'}
    title: MessageBox의 제목
    message: 입력자에게 제공할 message
    null을 반환하면 message를 표시하지 않습니다.
checkType()을 오버라이드해서 사용할 수도 있습니다.
className {String} types.Type
own 엘리먼트에 적용할 className
typeClass --> className 순서로 설정되므로 typeClass에 같은 CSS 값이 있으면 오버라이드하게 됩니다.
collectOnlyOne {Boolean} combo.Combo
데이터 수집 형태. default: true
서제스트를 제공하기 위해서는 서버 또는 클라이언트에서 데이터를 수집해야 합니다.
클라이언트는 데이터 수집에 시간이 소요되지 않지만 서버와 통신하여 데이터를 수집한다면
통신 환경에 따라 시간이 걸릴 수도 있습니다.
collectOnlyOne 프로퍼티에 서제스트를 제공하기 위해 데이터를 수집하는 형태를 지정합니다.
클라이언트 데이터는 값을 입력할 때마다 수집하지 않아도 되므로 한 번만 수집하면 됩니다.
서버 데이터는 매번 수집과 한 번 수집으로 나눌 수 있습니다.
일반적으로 코드와 같은 데이터는 실시간으로 값이 변하지 않으므로 한 번만 수집하면 될 것입니다.
실시간으로 변하는 데이터를 추출하는 경우에는 매번 수집해야 됩니다.
true를 설정하면 한 번만 수집하고 false를 지정하면 매번 수집합니다.
단, 클라이언트 데이터는 값에 관계없이 한 번만 수집합니다.
createType {Hash|JSON} types.Type
HTMLElement 생성할 템플릿.
options에 createType을 지정하면 defaultType 템플릿을 적용하지 않고 이를 적용합니다.
examples
createType: {tag: 'ul', id: 'sports', text: '스포츠', child: [
                    {tag: 'li', id: 'soccer', text: '축구'},
                    {tag: 'li', id: 'basketball', text: '농구'}
]}
customExp {RegExp} types.TextType
지정한 정규표현식을 적용하여 입력한 값을 체크합니다.
customExpMsg {Hash} types.TextType
customExp에 지정한 정규표현식으로 체크하여 에러가 발생했을 때 표시할 메시지.
defaultColor {String} types.Type
HTMLElement의 color 기본 값.
일반적으로 style을 사용하며 Grid Package에서 간단하게 설정할 때 사용합니다.
example
- {defaultColor: 'blue'}로 작성하면 글자색이 blue로 표시됩니다.
defaultType {Hash} types.TextType
HTMLElement를 생성하는 default 템플릿
disabled {Boolean} types.Type
disabled 설정 여부
true: 엘리먼트를 disabled 상태로 설정
disabledClass {String} types.Type
엘리먼트가 disabled 상태로 설정할 때 적용할 className
default: 'mc-types-disabled'
disableExp {RegExp} types.TextType
입력할 수 없는 값을 정의한 정규표현식.
example: [0-9]와 같이 정규표현식을 작성하면 숫자를 입력할 수 없게 됩니다.
emptyCheck {Boolean} types.TextType
빈 값 체크 여부. default: true
true: 빈 값을 체크하며 값을 입력하지 않으면 emptyMsg를 표시합니다.
emptyMsg {String} types.TextType
빈 값 체크 결과가 에러인 경우 표시할 메시지.
default: {title: '필수 입력', msg: '필수 입력 항목입니다.'}
errorClass {String} types.Type
에러가 발생했을 때 엘리먼트에 적용할 className.
default: 'mc-types-error'
escClear {Boolean} types.TextType
Esc Key를 눌렀을 때 입력 값의 clear 여부. default: true
true: 값을 지움, false: 지우지 않음
failureMessage {Hash} combo.Combo
통신 실패 확인 Message.
서버에서 데이터를 수신하기 위한 통신이 실패한 경우 failureMessage에 지정한 메시지가 표시됩니다.
메시지 내용을 변경하려면 options.failureMessage에 작성하면 됩니다.
fitWidth {Boolean} combo.Combo
서제스트 창의 width 일치 여부. default: true
- true: 
    서제스트 창의 width를 (textType + joinType) width와 일치 시킵니다.
    default를 true로 한 것은 필드 하나를 서제스트 창에 표시하는 경우가 많기 때문입니다.
    showFields.width 합계가 (textType + joinType - 25)보다 크면 'E1030' 메시지가 표시됩니다.
- false: showFields.width에 지정한 width 합계를 서제스트 창의 width로 사용합니다.
focusClass {String} types.Type
focus 이벤트가 발생했을때 엘리먼트에 적용할 className
default: 'mc-types-focus'
guideClass {String} types.TextType
guide message에 적용할 className
default: 'mc-types-guide'
guideMsg {String} types.TextType
guide message
height {String} types.Type
Element Height
httpClass {String} combo.Combo
http 통신을 할 때 메시지를 표시하는 엘리먼트에 설정할 className
httpMinChars {Number} combo.Combo
http 통신을 하게 되는 최소 자릿수. default: 3
입력할 때마다 매번 서버와 통신하는 경우 입력한 글자 수가 httpMinChars 이상이 되어야
서버와 통신하여 데이터를 가져옵니다. 이때 입력한 값을 서버로 전송합니다.
httpHashKey {String} combo.Combo
입력한 값을 서버로 전송할 떄 설정할 필드 이름. default: 'httpData'
클라이언트에서 보내온 데이터를 서버 프로그램이 수신할 때 이 이름으로 값을 추출하게 됩니다.
id {String} types.Type
엘리먼트 #id
#id를 지정하지 않으면 MethodChain에서 this.prefix + '_일련번호' 형태로 부여합니다.
imageClass {String} types.JoinType
joinType image에 설정할 className
imageClass는 imageType보다 우선하여 적용됩니다.
imageTitle {String} types.JoinType
image 파일의 title 속성 값
mouse가 위치하게 되면 지정한 값이 표시됩니다.
imageType {String} types.JoinType
joinType 형태. default: combo
imagetType: combo, select
innerHTML {String} types.Type
innerHTML로 Element에 적용할 스크립트
joinOverClass {String} types.JoinType
image에서 mouseover가 발생했을 때 사용할 className
default: 'mc-join-over'
joinTypeClass {String} types.JoinType
joinType 적용할 className
joinTypeStyle {Hash} types.JoinType
joinType 엘리먼트에 적용할 style
keyField {String} combo.Combo
update 기준 field
서제스트 리스트에서 keyField에 지정한 값을 가진 엘리먼트의 텍스트 값을 콤보 창에 표시할 때 사용합니다.
따라서 keyField에 값을 지정해야 하므로 GridUpdate, From이 update 모드일 때 사용합니다.

상품명이 Grid에 표시된 상태에서 Grid row를 선택하면 Form에 서제스트를 표시하게 되며
이때 상품명으로 시작하는 상품명이 다수 존재할 수 있으므로 key(상품코드)가 같은 상품코드의 
상품명을 combo 창에 설정해야 합니다.
여기서 key(상품코드) 값을 가진 field name을 keyField에 지정한다.

keyField는 {field: 'itemCode', mapName: 'goods_code'} 형태로 지정할 수 있습니다.
field에 컴포넌트에서 사용하는 field name을 지정하고 mapName에 상품 마스터의 key(상품코드)
field name을 지정합니다. 
field name과 mapName이 같으면 mapName을 작성하지 않아도 되지만, field는 필수 지정입니다.
결국 컴포넌트에서 사용하는 field name과 데이터베이스 테이블의 field name이 다른 경우
이를 매핑하여 데이터를 사용하기 위함입니다.

여기서 상품코드는 Grid/Form에 표시되었거나 hidden 필드로 설정되어 있어야 합니다.

- example
component: [
 {ccode: 'combo', id: 'item', imageType: 'combo',
    metaData: goodsMeta, 
    showFields: {field: 'goods_name'}, 
    suggestField: 'goods_name',
    sendFields: 'goods_code',
    dataFields: 'goods_price', 
    keyField: {field: 'itemCode', mapName: 'goods_code'}
  }
]
leftX {Number} types.Type
Element X 좌표 값
maxLength {Number} types.TextType
입력할 수 있는 최대 자리수. default: Number.MAX_VALUE
maxLengthMsg {String} types.TextType
최대 자리수(maxLength)를 초과하여 입력했을 때 표시할 메시지
default: {title: '최대 자릿수 초과', msg: '입력 가능한 최대 자릿수는 {0}입니다.'}
maxNodes {Number} combo.Combo
서제스트에 표시할 최대 노드수. default: 7
서제스트 데이터가 maxNodes보다 많으면 스크롤 바가 표시됩니다.
message {String} combo.Combo
서버와 통신 중임을 나타내는 메시지. default: '처리중...'
metaData {JSON} combo.Combo
Combo에 표시될 데이터
html 파일에 작성되어 있는 <select><option>을 사용하는 이외의 경우에는 metaData를 지정해야 합니다.
minLength {Number} types.TextType
입력할 수 있는 최소 자리수. default: 0
minLengthMsg {String|Hash} types.TextType
최소 자리수(minLength)보다 작게 입력했을 때 표시할 메시지
default: {title: '최소 자릿수', msg: '최소 입력 자릿수는 {0}입니다.'}
minusColor {String|Boolean} types.Type
엘리먼트의 값이 minus일때 color 속성 값.
true를 지정하면 red로 설정합니다.
example
- {minusColor: 'red'}로 작성하였을 때 엘리먼트 값이 음수이면 글자색이 red로 표시됩니다.
일반적으로 style을 사용하며 Grid Package에서 간단하게 설정하기 위해 사용합니다.
name {String} types.Type
name 속성 값
nodeEvent {String|HTMLElement} types.Type
이벤트를 설정할 엘리먼트
일반적으로 this.own 엘리먼트에 이벤트를 설정하지만, nodeEvent를 지정하면
this.own에 이벤트를 설정하지 않고 nodeEvent에 설정합니다.
notExistMessage {String|Hash} combo.Combo
서제스트에 없는 값을 입력하고 서제스트 입력 창을 떠났을 때 표시할 메시지를 지정합니다.
operator {Array} types.TextType
엘리먼트 값을 연산자로 비교
연산자를 사용하여 엘리먼트 값을 비교(체크)할 수 있습니다.
example
- 아래와 같이 작성하였을 때 'soccer'를 입력하면 메시지가 표시됩니다.
    ['==', 'soccer', 'soccer를 입력할 수 없습니다'],

- 아래와 같이 작성하였을 때 'soccer' 또는 'swim'을 입력하면 메시지가 표시됩니다.
    ['==', ['soccer', 'swim'], '입력할 수 없는 문자입니다.'],

operator 작성 방법
     - 첫 번째 Array 엘리먼트에 연산자(operator)를 지정합니다.
     - 두 번째 Array 엘리먼트에 비교할 값을 지정합니다.
       배열로 값을 지정할 수 있습니다.
     - 세 번째 Array 엘리먼트에 true 조건이 되었을 때 표시할 메시지를 지정합니다.
       메시지를 지정하지 않으면 디폴트 메시지가 표시됩니다.
     - 자세한 내용은 mc.form.Operator 클래스를 참조하세요.
outsideClass {String} types.JoinType
outside 엘리먼트에 적용할 className.
outsideStyle {Hash} types.JoinType
outside 엘리먼트에 적용할 style
patternExp {String} types.TextType
mc.types.PatternExp 클래스에 등록된 정규표현을 사용해서 에러 체크를 행합니다.
아래 example에서와 같이 영문자 체크를 하려면 'alpha'를 지정합니다.
patternExpMsg에 에러 메시지를 지정하지 않으면 디폴트 메시지가 표시됩니다.

example
    mc.types.PatternExp 클래스에 등록된 영문자 체크 메소드와 메시지
    alpha: function(vl){
      return this.alphaExp.test(vl);
    },
    alphaMsg: '영문자 이외의 값이 존재합니다.'

사용할 수 있는 형태에 대해서는 mc.types.PatternExp을 참조하세요
mc.types.PatternExp 형태에 맞추어 pattern을 추가할 수도 있습니다.
patternExpMsg {Hash} types.TextType
mc.types.PatternExp 클래스에 등록된 메시지보다 우선하여 표시됩니다.
prefix {String} combo.Combo
id 접두사. default: 'mc_combo_'
readOnly {Boolean} types.Type
readOnly 속성 값
resetEsc {Boolean} types.Type
입력 값의 reset 여부. default:true
true: Esc key를 누르면 필드에 입력한 값을 무시하고 focus되었을 때 값으로 reset합니다.
false: 입력한 값을 유지합니다.
selected {Boolean} types.TextType
반전 표시 여부. default: false
true: 마우스로 엘리먼트를 클릭하면 입력한 값이 반전 표시됩니다.
sendFields {Array} combo.Combo
서버로 전송할 field
일반적으로 콤보 박스에 입력하는 데이터가 텍스트이므로 이를 서버로 전송하면
인식하는데 어려움이 있으므로 텍스트에 해당하는 code도 전송할 필요가 있습니다.
이때 sendFields에 dataFormat의 field 이름을 지정합니다.

콤보 박스에 설정된 값이 서버로 전송되는 것은 디폴트이므로
콤보 박스에 코드를 입력한다면 sendFields를 지정하지 않아도 됩니다.
example
- sendFields; ['field_one', 'field_two']
showElement {HTMLElelemt|String} combo.Combo
서버와 통신 중인 메시지를 표시할 엘리먼트
showFields {JSON} combo.Combo
콤보박스에 표시할 필드 속성 집합
showFields는 콤보박스 각 노드에 적용할 속성을 정의한 오브젝트입니다.
showFields에는 field, width, style, className을 지정할 수 있습니다.
sample:
     showFields: [{field: 'code', width: 90, style: '', className: ''},
                       {field: 'korean', width: 100}]

showFields를 작성하지 않으면 'E1010' 에러가 표시됩니다.
showFields.field {JSON} combo.Combo
콤보박스에 표시할 필드
DataFormat에 작성한 field 중에서 콤보박스에 표시할 field를 지정합니다.
DataFormat 작성 순서가 아닌 showFields.field에 작성한 순서로 표시됩니다.

example:
    var sportsFormat = new mc.data.ArrayFormat([
        {index: 0, field: 'code'},
        {index: 1, field: 'english'},
        {index: 2, field: 'korean'}]
    );

위와 같이 DataFormat을 작성한 경우
     showFields: [{field: 'code'}, {field: 'korean'}, {field: 'english'}]와 같이
     korean과 english 순서를 바꿔서 지정하면 code, korean, english 순서로 표시됩니다.

showFields를 작성하지 않으면 'E1010' 메시자가 출력됩니다.
showFields.width {Array} combo.Combo
ComboBox에 표시할 각 필드의 width
지정한 width보다 데이터 width가 크면 넘치는 부분이 보이지 않습니다.
showFields.width 합계가 Combo.outside 엘리먼트의 width보다 크면 E1030 메시지가 출력됩니다.
showMessage {Boolean} combo.Combo
서버와 통신 중임을 나타내는 위젯 표시 여부. default: false. true: 표시
showMsg {Boolean} types.Type
입력 값에서 에러가 있을 때 error message 표시 여부. default:true
true: 메시지를 표시합니다, false: 표시하지 않습니다.
showTo {HTMLElement/String} types.Type
ShowTo 엘리먼트
style {Hash} types.Type
style 속성
tabIndex {Number} types.Type
tabIndex 속성 값
text {String} types.Type
text 속성
textTypeClass {String} types.TextType
textType 엘리먼트에 적용할 className
textTypeStyle {String} types.TextType
textType 엘리먼트에 적용할 style
timeoutMessage {Hash} combo.Combo
통신 실패 확인 Message
서버와 통신이 timeout으로 실패한 경우 timeoutMessage에 지정한 메시지가 표시됩니다.
메시지 내용을 변경하려면 options.timeoutMessage에 작성하면 됩니다.
topY {Number} types.Type
Element Y 좌표 값
typeClass {String} types.Type
type 엘리먼트에 적용할 className
default: 'mc-types-type'
unselectable {Boolean} types.TextType
unselectable 설정 여부
width {Number} combo.Combo
joinType outside 엘리먼트 width
여기서 지정한 width는 ComboBox에 반영되지 않고 textType과 joinType의 parentNode가 되는
outside 엘리먼트에 반영된다.
outside 엘리먼트 width에 대해서는 JoinType 클래스의 width를 참조하세요.

ComboBox의 width는 showFields.width를 지정하면 이를 합산해서 적용하고,
이를 지정하지 않으면 바로 위의 outside 엘리먼트의 width를 적용합니다.
Method Component
mc.combo.Combo (Hash)
mc.combo.Combo(options)
생성자
Parameters :
• {Hash} options, Combo 클래스에 반영할 options
Returns :
• 없음
combo.Combo
생성자
mainCombo (HTMLElement/String)
mainCombo(showTo)
option 설정, HTMLElement생성, Event를 설정합니다.
Parameters :
• {HTMLElement/String} showTo, showTo 엘리먼트
Returns :
• 없음
combo.Combo
option 설정, HTMLElement생성, Event를 설정합니다.
addClass (String)
addClass(classname)
this.own 엘리먼트에 className을 추가합니다.
Parameters :
• {String} className, 추가할 className
Returns :
• 없음
types.Type
this.own 엘리먼트에 className을 추가합니다.
blurEvent (EventObject, HTMLElement, Hash, Object)
blurEvent(e, target, options, that)
blur 이벤트를 처리하기 위한 오버라이드용 메소드입니다.
Parameters :
• {EventObject} e, EventObject
• {HTMLElement} target, target element
• {Hash} options, event를 설정할 때 지정한 options
• {Object} that, scope
Returns :
• 없음
types.Type
blur 이벤트를 처리하기 위한 오버라이드용 메소드입니다.
changeOwn ()
changeOwn()
this.own에 설정한 엘리먼트를 변경하기 위한 오버라이드
메소드입니다.
Parameters :
• 없음
Returns :
• 없음
types.Type
this.own에 설정한 엘리먼트를 변경하기 위한 오버라이드 메소드입니다.
checkLength (Number) : Boolean
checkLength(length)
최소, 최대 길이를 체크합니다.
에러가 발생하면 this.valueError에 true가 설정됩니다.
Parameters :
• {Number} length, 입력한 값의 길이
Returns :
• {Boolean} true: 에러 발생, false: 에러 없음
types.TextType
최소, 최대 길이를 체크합니다.
checkOperator ()
checkOperator()
operator를 지정한 경우 이를 기준으로 에러 체크를 행합니다.
Parameters :
• 없음
Returns :
• 없음
types.TextType
operator를 지정한 경우 이를 기준으로 에러 체크를 행합니다..
checkType ()
checkType()
엘리먼트 값을 체크하기 위한 오버라이드용 메소드입니다.
Parameters :
• 없음
Returns :
• 없음
types.Type
엘리먼트 값을 체크하기 위한 오버라이드용 메소드입니다.
checkUseExp ()
checkUseExp()
mc.types.PatternExp 클래스에 등록된 정규표현식을
사용해서 입력한 값을 체크합니다.
Parameters :
• 없음
Returns :
• 없음
types.TextType
mc.types.PatternExp 클래스에 등록된 정규표현식을 사용해서 입력한 값을 체크합니다.
clearGuideMsg ()
clearGuideMsg()
엘리먼트에 설정된 guide message를 지우고 guideClass를 제거합니다.
Parameters :
• 없음
Returns :
• 없음
types.TextType
엘리먼트에 설정된 guide message를 지우고 guideClass를 제거합니다.
clearLastValue ()
clearLastValue()
선택된 값만 표시되도록 최종으로 입력한 값을 지웁니다..
Parameters :
• 없음
Returns :
• 없음
combo.Combo
선택된 값만 표시되도록 최종으로 입력한 값을 지웁니다..
clearValue ()
clearValue()
value 속성 값을 지웁니다.
Parameters :
• 없음
Returns :
• 없음
types.TextType
value 속성 값을 지웁니다.
controlEvent (String, EventObject, HTMLElement, Hash, Object)
controlEvent(ck, e, target, options, that)
control key로 이벤트가 발생했을 때 이를 처리하기 위한
오버라이드용 메소드입니다.
Parameters :
• {String} ck, controlKey
• {EventObject} e, EventObject
• {HTMLElement} target, target element
• {Hash} options, event를 설정할 때 지정한 options
• {Object} scope, that
Returns :
• 없음
types.Type
control key로 이벤트가 발생했을 때 이를 처리하기 위한 오버라이드용 메소드입니다.
createElement ()
createElement()
템플릿을 적용하여 엘리먼트를 생성합니다.
다른 클래스에서 extend()하지 않고 Type 클래스만을 사용
한 경우 'mc-type-ccode'가 className에 설정됩니다.
Parameters :
• 없음
Returns :
• 없음
types.Type
템플릿을 적용하여 엘리먼트를 생성합니다.
createOperator ()
createOperator()
Operator 오브젝트를 생성합니다.
Parameters :
• 없음
Returns :
• 없음
types.TextType
Operator 오브젝트를 생성합니다.
execInnerHTML ()
execInnerHTML()
innerHTML을 실행하여 결과를 this.own에 설정합니다.
Parameters :
• 없음
Returns :
• 없음
types.Type
innerHTML을 실행하여 결과를 this.own에 설정합니다.
focusEvent (EventObject, HTMLElement, Hash, Object)
focusEvent(e, target, options, that)
focus 이벤트를 처리하기 위한 오버라이드용 메소드입니다.
Parameters :
• {EventObject} e, EventObject
• {HTMLElement} target, target element
• {Hash} options, event를 설정할 때 지정한 options
• {Object} that, scope
Returns :
• 없음
types.Type
focus 이벤트를 처리하기 위한 오버라이드용 메소드입니다.
getJoinType () : HTMLElement
getJoinType()
joinType 엘리먼트를 반환합니다.
Parameters :
• 없음
Returns :
• {HTMLElement} joinType 엘리먼트
types.JoinType
joinType 엘리먼트를 반환합니다.
getLastValue () : String
getLastValue()
최종으로 입력한 값을 반환합니다.
Parameters :
• 없음
Returns :
• {String} 입력한 값
combo.Combo
최종으로 입력한 값을 반환합니다.
getOutside () : HTMLElement
getOutside()
outside 엘리먼트를 반환합니다.
Parameters :
• 없음
Returns :
• {HTMLElement} outside 엘리먼트
types.JoinType
outside 엘리먼트를 반환합니다.
getOwn () : HTMLElement
getOwn()
this.own element를 반환합니다.
Parameters :
• 없음
Returns :
• {HTMLElement} own Element
types.Type
this.own element를 반환합니다.
getValue () : String
getValue()
엘리먼트에 입력한 값을 반환합니다.
Parameters :
• 없음
Returns :
• {String} 엘리먼트에 입력한 값
types.Type
엘리먼트에 입력한 값을 반환합니다.
hideError (HTMLElement)
hideError(element)
표시된 메시지를 숨김니다.
Parameters :
• {HTMLElement} element, 대상 엘리먼트
Returns :
• 없음
types.Type
표시된 메시지를 숨김니다.
isReadOnly () : Boolean
isReadOnly()
엘리먼트의 입력 가능/불가 상태를 반환합니다.
Parameters :
• 없음
Returns :
• {Boolean} true: 입력 불가, false: 입력 가능
types.Type
엘리먼트의 입력 가능/불가 상태를 반환합니다.
isVisible () : Boolean
isVisible()
엘리먼트의 표시 상태를 반환합니다.
Parameters :
• 없음
Returns :
• {Boolean} true: 표시 상태, false: hidden 상태
types.Type
엘리먼트의 표시 상태를 반환합니다.
joinClick (EventObject, HTMLElement, Hash)
joinClick(e, tg, opts)
joinType 엘리먼트에서 click 이벤트가 발생했을 때 실행되며
오버라이드용 메소드입니다.
Parameters :
• {EventObject} e, EventObject
• {HTMLElement} tg, Target Element
• {Hash} opts, 설정 options
Returns :
• 없음
types.JoinType
joinType 엘리먼트에서 click 이벤트가 발생했을 때 실행되며 오버라이드용 메소드입니다.
keyDownEvent (EventObject, HTMLElement, Hash, Object)
keyDownEvent(e, target, options, that)
keydown 이벤트를 처리하기 위한 오버라이드용
메소드입니다.
Parameters :
• {EventObject} e, EventObject
• {HTMLElement} target, target element
• {Hash} options, event를 설정할 때 지정한 options
• {Object} that, scope
Returns :
• 없음
types.Type
keydown 이벤트를 처리하기 위한 오버라이드용 메소드입니다.
mainJoinType (HTMLElement/String)
mainJoinType(showTo)
option 설정, HTMLElement생성, Event를 설정합니다.
Parameters :
• {HTMLElement/String} showTo, showTo 엘리먼트
Returns :
• 없음
types.JoinType
option 설정, HTMLElement생성, Event를 설정합니다.
mainTextType (HTMLElement/String)
mainTextType(showTo)
option 설정, HTMLElement생성, Event를 설정합니다.
Parameters :
• {HTMLElement/String} showTo, showTo 엘리먼트
Returns :
• 없음
types.TextType
option 설정, HTMLElement생성, Event를 설정합니다.
mainType (HTMLElement/String)
mainType(showTo)
option 설정, HTMLElement생성, Event를 설정합니다.
Parameters :
• {HTMLElement/String} showTo, showTo 엘리먼트
Returns :
• 없음
types.Type
option 설정, HTMLElement생성, Event를 설정합니다.
remove ()
remove()
설정한 엘리먼트와 이벤트를 삭제합니다.
Parameters :
• 없음
Returns :
• 없음
types.Type
설정한 엘리먼트와 이벤트를 삭제합니다.
removeClass (String)
removeClass(classname)
this.own 엘리먼트에 설정된 className을 삭제합니다.
Parameters :
• {String} className, 삭제할 className
Returns :
• 없음
types.Type
this.own 엘리먼트에 설정된 className을 삭제합니다.
removeEvents ()
removeEvents()
JoinType 클래스에서 사용하는 이벤트를 해제합니다.
Parameters :
• 없음
Returns :
• 없음
types.JoinType
JoinType 클래스에서 사용하는 이벤트를 해제합니다.
resetValue ()
resetValue()
처음 랜더링할 때 설정한 값을 value 속성 값으로 설정합니다.
Parameters :
• 없음
Returns :
• 없음
combo.Combo
처음 랜더링할 때 설정한 값을 value 속성 값으로 설정합니다.
setAttr ()
setAttr()
options에 지정한 속성 값을 엘리먼트에 설정합니다.
atrr, value, name, tabIndex, readOnly, disabled, enable
속성 값을 설정합니다.
Parameters :
• 없음
Returns :
• 없음
types.Type
options에 지정한 속성 값을 엘리먼트에 설정합니다.
setColor ()
setColor()
defaultColor와 minusColor 속성 값을 엘리먼트에 설정합니다.
defaultColor와 minusColor를 모두 지정한 경우 음수이면
defaultColor 값은 minusColor 값으로 오버라이드됩니다.
Parameters :
• 없음
Returns :
• 없음
types.Type
defaultColor와 minusColor 속성 값을 엘리먼트에 설정합니다.
setCreateType ()
setCreateType()
HTMLElement를 생성할 기준 템플릿을 설정합니다.
options.createType을 지정하지 않으면 defaultType에
작성되어 있는 템플릿을 적용합니다.
템플릿에 id를 지정하지 않으면 this.id --> MethodChain에서
자동부여 순서로 설정합니다.
Parameters :
• 없음
Returns :
• 없음
types.Type
HTMLElement를 생성할 기준 템플릿을 설정합니다.
setDisable (HTMLElement/String)
setDisable(el)
엘리먼트를 입력할 수 없는 상태로 설정합니다.
Parameters :
• {HTMLElement|String} element, 설정 대상 HTMLElement 또는 #id
Returns :
• 없음
types.Type
엘리먼트를 입력할 수 없는 상태로 설정합니다.
setDisplay (Boolean)
setDisplay(show)
엘리먼트를 표시/비표시 상태로 설정합니다.
Parameters :
• {Boolean} show, 엘리먼트 표시 여부
true: 표시 상태로 설정, false: 비표시 상태로 설정
Returns :
• 없음
types.Type
엘리먼트를 표시/비표시 상태로 설정합니다.
setEnable (HTMLElement/String)
setEnable(el)
엘리먼트를 입력할 수 있는 상태로 설정합니다.
Parameters :
• {HTMLElement|String} element, 설정 대상 HTMLElement 또는 #id
Returns :
• 없음
types.Type
엘리먼트를 입력할 수 있는 상태로 설정합니다.
setEvents ()
setEvents()
JoinType 클래스에서 사용하는 이벤트를 설정합니다.
Parameters :
• 없음
Returns :
• 없음
types.JoinType
JoinType 클래스에서 사용하는 이벤트를 설정합니다.
setForcedValue (String/Number)
setForcedValue(value)
지정한 값을 this.own에 설정합니다.
Parameters :
• {String|Number} value, 설정할 값
Returns :
• 없음
types.Type
지정한 값을 this.own에 설정합니다.
setGuide (String)
setGuide(message)
엘리먼트의 value 속성에 값이 없는 경우 guide message를
엘리먼트에 설정합니다.
guideClass에 지정한 className을 설정합니다.
Parameters :
• {string} message, 설정할 guide message
Returns :
• 없음
types.textType
엘리먼트의 value 속성에 값이 없는 경우 guide message를 엘리먼트에 설정합니다.
setImageTitle (String)
setImageTitle(text)
image에 title 속성 값을 설정합니다.
Parameters :
• {String} text, 설정할 텍스트
Returns :
• 없음
types.JoinType
image에 title 속성 값을 설정합니다.
setText ()
setText()
엘리먼트에 text를 설정합니다.
Parameters :
• 없음
Returns :
• 없음
types.Type
엘리먼트에 text를 설정합니다.
showError (String, HTMLElement)
showError(msg, el)
showMsg에 true를 지정한 경우 메시지를 표시합니다.
첫 번째 파라미터에 message를 설정하지 않으면
오브젝트에 설정되어 있는 메시지가 표시됩니다.
Parameters :
• {String|Hash} message, 입력자에게 제공할 message
Hash인 경우 {title: 메시지 제목, msg: 메시지}
String으로 message만 지정하면 title이 표시되지 않습니다.
• {HTMLElement} element, 대상엘리먼트
Returns :
• 없음
types.Type
에러가 발생한 엘리먼트에 errorClass를 설정하고 showMsg에 true를 지정한 경우 메시지를 표시합니다.
Custom Event Component
blur (EventObject e, HTMLElement tg, Hash opts, Object this) types.TextType
입력한 값의 에러 여부에 상관없이 엘리먼트에서 커서가 blur되었을 때 fire됩니다.
choiced (HTMLElement el, Array cf, Object this) combo.Combo
dataFields를 choicedFields에 설정할때 fire됩니다.
clearValue (HTMLElement el, Object this) types.TextType
value 속성 값을 지울 때 fire됩니다.
click (EventObject e, HTMLElement tg, Object this) combo.Combo
서제스트의 노드를 click했을 때 fire됩니다.
controlKey (String controlkey, EventObject e, HTMLElement tg, Hash opts, Object this) types.Type
제어키로 keydown/keypress 이벤트가 발생했을때 fire됩니다.
downKey (EventObject e, Object this) combo.Combo
down key를 눌렀을 때 fire됩니다.
emptyData (Object this) combo.Combo
설정할 MetaData가 없을 때 fire됩니다.
enterKey (Object this) combo.Combo
Enter key를 눌렀을 때 fire됩니다.
EscKey (EventObject e, HTMLElement tg, Hash opts, Object this) types.TextType
Esc Key로 keyup 이벤트가 발생했을때 fire됩니다.
exactData (String value, Object this) types.Type
입력한 값에 에러가 없을 때 fire됩니다.
failure (Object trans, Object this) combo.Combo
통신 장애로 서버와 통신이 실패했을 때 fire됩니다.
focus (EventObject e, HTMLElement tg, Hash opts, Object this) types.TextType
엘리먼트에 커서가 focus되었을 때 fire됩니다.
hideMessage (HTMLElement tg, Object this) types.Type
message를 숨길 때 fire됩니다.
joinClick (Object this) combo.Combo
joinType에서 click 이벤트가 발생했을 때 fire됩니다.
keydown (EventObject e, HTMLElement tg, Hash opts, Object this) types.Type
엘리먼트에서 keydown 이벤트가 발생했을 때 fire됩니다.
keyup (EventObject e, HTMLElement tg, Hash opts, Object this) types.TextType
keyup 이벤트가 발생하였을 때 에러가 없는 경우에만 fire됩니다.
mouseout (EventObject e, Object this) combo.Combo
서제스트 노드에서 mouseout 이벤트가 발생했을 때 실행한다.
mouseover (EventObject e, Object this) combo.Combo
서제스트 노드에서 mouseover가 발생했을 때 fire 됩니다.
removeEvent (HTMLElement el, Object this) types.Type
Event를 remove했을 때 fire됩니다.
resetValue (HTMLElement el, Object this) types.Type
처음 랜더링할 때 설정한 값을 엘리먼트에 reset할 때 fire됩니다.
showMessage (String title, String message, HTMLElement tg, Object this) types.Type
엘리먼트에 message를 표시할 때 fire됩니다.
showSuggest (Object this) combo.Combo
서제스트가 표시될 때 fire됩니다.
suggest (String value, Object this) types.TextType
suggest 상태에서 입력한 값이 한글이 경우에만 fire됩니다.
timeout (Object tran, Object this) combo.Combo
통신 시간 경과로 서버와 통신이 실패했을 때 fire됩니다.
upKey (Object this) combo.Combo
up key를 눌렀을 때 fire됩니다.
Examples  
suggest  
콤보 창에 입력한 값으로 시작하는 데이터만 표시하는 서제스트입니다.
server data  
서버에서 데이터를 받아 서제스트를 제공합니다.
showFields/sendField  
showFields에 지정한 필드를 전부 서제스트에 표시합니다.