[API/UI]

Widget

개요

Widget 클래스는 컴포넌트를 처리하기 위한 기본 값과 환경을 설정합니다.
Widget 클래스의 주요 기능은 아래와 같습니다.
1. options에 작성한 프로퍼티를 각 컴포넌트에 할당합니다.

2. showTo 엘리먼트를 생성합니다.

3. mc.Component.Instance에 컴포넌트를 등록합니다.
    - 이를 통해 생성한 컴포넌트를 추출할 수 있습니다.

4. Custom Event 오브젝트를 생성하여 클래스에 할당합니다.
    - 이를 통해 fire되는 이벤트를 인식할 수 있습니다.

5. 속성 값을 엘리먼트에 설정합니다.
    - value, name, tabIndex, readOnly, disabled, enable를 설정합니다.
    - 프로퍼티로 제공하지 않는 속성은 options.attr: {attribute_name: attribute_value} 형태로 작성하면 됩니다.

6. options에 options를 지정할 수 있습니다.
    options에 많은 코드를 작성하게 되므로 코드가 복잡해질 수 있습니다.
    이때 별도의 오브젝트에 관련된 코드를 작성해두면
    - 다른 options에서도 사용할 수 있으며
    - options 코드도 간단하게 작성할 수 있습니다.
    - TextType을 생성하는 example
      var typeOptions = {
          guideMsg: '값을 입력하세요?',
          minLength: 3,
          maxLength: 9
      }
      new mc.types.TextType({
          showTo: 'showArea',
          options: typeOptions
      }}
Options Component
IMEmode {Boolean} widget.Widget
IMEmode. default: false
isExecComponent {Boolean} widget.Widget
mc.component.Component.exec() 실행 여부. default:true
클래스를 extend()하면 ccode로 mc.component.Component.exec() 실행 여부를 체크할 수 있지만,
new로 오브젝트를 생성한 경우 체크할 수 없어 mc.component.Component.exec() 실행하게 됩니다.
이때 new를 하는 클래스에서 isExecComponent 값을 false로 설정하면 실행하지 않게 되어
new한 클래스에서 실행할 수 있습니다.
showToHide {Boolean} widget.Widget
default: false
true: showTo 엘리먼트를 display none 상태로 설정
Method Component
allocate (Object, Hash)
allocate(that, opts)
options 또는 options.options에 작성한 프로퍼티를 this에 설정합니다.
Parameters :
• {Object} that, new 인스턴스
• {Hash} opts, 인스턴스에 적용할 options
Returns :
• 없음
widget.Widget
options 또는 options.options에 작성한 프로퍼티를 this에 설정합니다.
applyAttr (Object, HTMLElement/String, Hash) : Object
applyAttr(that, el, prior)
options에 작성한 속성 값을 엘리먼트에 적용합니다. prior에 Hash 오브젝트를 지정하면 이 값이 options에 지정한 값보다 우선하여 적용됩니다.
Parameters :
• {Object} that, new 인스턴스
• {HTMLElement|String} el, 설정 대상 HTMLElement. default: mc.own
• {Hash} prior, that의 속성 값보다 우선하여 적용할 속성 값
Returns :
• {Object} this
widget.Widget
options에 작성한 속성 값을 엘리먼트에 적용합니다.
cacheShowTo (Object, Hash)
cacheShowTo(that, ch, el)
showTo를 cache 또는 reset합니다.
클래스에서 생성한 엘리먼트가 차일드 컴포넌트의 parent 엘리먼트가 되는 경우 생성한 엘리먼트가 showTo에 설정되므로 showTo를 save합니다.
Parameters :
• {Object} that, new 인스턴스
• {Boolean} cache, cache/reset 여부
true: showTo를 showToCache에 설정
false: showToCache를 showTo에 설정.
• {HTMLElement} element, (optional) showTo로 설정할 HTMLElement
cache true인 경우 지정할 수 있으며 지정한 Element가 showTo로 설정됩니다
Returns :
• 없음
widget.Widget
showTo를 cache 또는 reset합니다.
createTitle (Object, HTMLElement) : Object
createTitle(that, parent)
Title 오브젝트를 생성하여 Title 바를 표시합니다.
Parameters :
• {Object} that, new 인스턴스
• {HTMLElement} parent, Title 오브젝트의 parent 엘리먼트
Returns :
• {Object} Title 오브젝트
widget.Widget
Title 오브젝트를 생성하여 Title 바를 표시합니다.
newTemplate (Object, String, String) : Object
newTemplate(that, name, template)
템플릿 오브젝트를 생성합니다.
Parameters :
• {Object} that, new 인스턴스
• {String} name, 생성할 템플릿 오브젝트 name
• {String} template, 생성할 템플릿
Returns :
• {Object}
widget.Widget
템플릿 오브젝트를 생성합니다.
ready (Object) : Object
ready(that)
클래스의 main 함수를 실행하여 실행 환경 설정을 완료한 시점에서 실행합니다.
Parameters :
• {Object} that, new 인스턴스
Returns :
• {Object} this
widget.Widget
클래스의 main 함수를 실행하여 실행 환경 설정을 완료한 시점에서 실행합니다.
setAttr (Object, HTMLElement, String/Array, String/Array) : Object
setAttr(that, el, st, cn, prior)
엘리먼트에 속성 값을 설정합니다.
Parameters :
• {Object} that, new 인스턴스
• {HTMLElement} el, 속성을 적용할 엘리먼트
• {String|Array} style, outside 엘리먼트에 적용할 style
• {String|Array} className, outside 엘리먼트에 적용할 className
• {Hash} prior, that의 속성 값보다 우선하여 적용할 속성 값을 가진 오브젝트
Returns :
• {Object} this
widget.Widget
엘리먼트에 속성 값을 설정합니다.
setAttrNode (Hash, HTMLElement/String) : Object
setAttrNode(attr, el)
options.attr에 작성한 속성 값을 엘리먼트에 적용합니다.
Parameters :
• {Hash} attribute, HTMLElement attribute
• {HTMLElement|String} el, 설정 대상 HTMLElement
Returns :
• {Object } this
widget.Widget
options.attr에 작성한 속성 값을 엘리먼트에 적용합니다.
setComponentId (Object)
setComponentId(that)
오브젝트 id를 지정하지 않았다면 'mc-widget-' + 일련번호 형태로 부여합니다.
HTMLElement#id가 아니라 오브젝트(인스턴스) id입니다.
이 #id가 ComponentChain 구조에서 컴퍼넌트를 추출하는 기준이 됩니다.
Parameters :
• {Object} that, new 인스턴스
Returns :
• 없음
widget.Widget
오브젝트 id를 지정하지 않았다면 'mc-widget-' + 일련번호 형태로 부여합니다.
setDisable (String, HTMLElement/String) : Object
setDisable(cn, el)
엘리먼트를 disabled 상태로 설정합니다.
Parameters :
• {String} cn, classname
• {HTMLElement|String} element, 설정 대상 HTMLElement 또는 #id
Returns :
• {Object} this
widget.Widget
엘리먼트를 disabled 상태로 설정합니다.
setEnable (String, HTMLElement/String) : Object
setEnable(cn, el)
엘리먼트를 enable 상태로 설정합니다.
Parameters :
• {String} cn, classname
• {HTMLElement|String} element, 설정 대상 HTMLElement 또는 #id
Returns :
• {Object} this
widget.Widget
엘리먼트를 enable 상태로 설정합니다.
setOptions (Object, Hash, Boolean)
setOptions(that, opts, param, dfts)
Widget options와 인스턴스에 적용할 options를 설정합니다.
Parameters :
• {Object} that, new 인스턴스
• {Hash} opts, 인스턴스에 적용할 options
• {Boolean} dfts, (optional) Widget.options 설정 여부. default: false
Returns :
• 없음
widget.Widget
Widget options와 인스턴스에 적용할 options를 설정합니다.
setOutSide (Object, String, String, Hash, HTMLElement/String) : Object
setOutSide(that, ccode, cn, st, showTo)
outside 엘리먼트를 생성하여 showTo 엘리먼트에 차일드로 첨부합니다.
파라미터 showTo 또는 this.showTo가 존재하지 않으면 처리하지 않습니다.
this.ccode와 지정한 ccode가 일치하면 widht, height, x, y를 설정합니다.
Parameters :
• {Object} that, this 인스턴스
• {String} ccode, id 지정 여부를 비교할 기준 ccode
클래스를 extend()한 경우 다수의 클래스에서 setOutside() 메서드를 호출할 수 있으며 인스턴스 id를 나타내는 this.id는 하나만 존재해야 합니다.
지정한 cccode로 최종 클래스 여부를 체크하여 최종 클래스인 경우 this.id를 outside 엘리먼트에 설정합니다.
• {String} className, (optional) outside 엘리먼트에 적용할 className
• {Hash} style,(optional) outside 엘리먼트에 적용할 style 오브젝트 이름
• {HTMLElement|String} showTo, (optional) outside가 차일드로 첨부될 parent 엘리먼트
Returns :
• {Object} this
widget.Widget
outside 엘리먼트를 생성하여 showTo 엘리먼트에 차일드로 첨부합니다.
setShowTo (Object, Hash) : Object
setShowTo(that, showTo, create)
showTo 엘리먼트 오브젝트를 생성합니다.
showTo가 존재하지 않으면 <div> 엘리먼트를 생성하여 document.body의 child로 설정합니다.
showToStyle, showToClass를 작성한 경우 이를 showTo 엘리먼트에 적용합니다.
Parameters :
• {Object} that, new 인스턴스
• {HTMLElement|String} showTo, showTo 엘리먼트
• {Boolean} create, showTo 엘리먼트 생성 여부. default: false
true: showTo를 지정하지 않았을 때 showTo 엘리먼트를 생성
하여 <body> 엘리먼트의 차일드로 첨부합니다.
Returns :
• {Object} this
widget.Widget
showTo 엘리먼트 오브젝트를 생성합니다.
setStyle (Object, HTMLElement/String, Hash, String) : Object
setStyle(that, el, st, cn)
options.style을 엘리먼트에 설정합니다.
Parameters :
• {Object} that, new 인스턴스
• {HTMLElement|String} element, 설정 대상 엘리먼트. default: mc.own
• {Hash} style, (optional) style 값
• {String} className, (optional) className
Returns :
• {Object } this
widget.Widget
options.style을 엘리먼트에 설정합니다.
setToolbar (Object, Object/Hash/String/Array|/TMLElement)
setToolbar(obj, opts)
opts에 {toolbar: toolbar 오브젝트} 형태로 지정한 경우에만 처리합니다.
toolbar 오브젝트.parentNode를 that.showTo에 설정합니다.
Parameters :
• {Object} obj, Toolbar 서브 클래스 인스턴스
• {Object|Hash|String|Array|HTMLElement} options, options
Returns :
• {Object} this
widget.Widget
opts에 {toolbar: toolbar 오브젝트} 형태로 지정한 경우에만 처리합니다.
setWH (Object, HTMLElement/String, Hash) : Object
setWH(that, el, prior)
넓이, 높이를 설정합니다.
Parameters :
• {Object} that, new 인스턴스
• {HTMLElement|String} element, 설정 대상 엘리먼트. default: mc.own
• {Hash} prior, that의 속성 값보다 우선하여 적용할 속성 값을 가진 오브젝트
Returns :
• {Object} this
widget.Widget
넓이, 높이를 설정합니다.
setXY (Object, HTMLElement/String, Hash) : Object
setXY(that, el, prior)
X, Y를 지정한 경우 이를 설정합니다.
Parameters :
• {Object} that, new 인스턴스
• {HTMLElement|String} element, 설정 대상 엘리먼트. default: mc.own
• {Hash} prior, that의 속성 값보다 우선하여 적용할 속성 값을 가진 오브젝트
Returns :
• {Object} this
widget.Widget
X, Y를 지정한 경우 이를 설정합니다.
setZIndex (Object, Number) : Object
setZIndex(that, index)
오브젝트에 z-index를 설정합니다.
Parameters :
• {Object} that, new 인스턴스
• {Number} index, z-index 값. default: 7000
Returns :
• {Object} this
widget.Widget
오브젝트에 z-index를 설정합니다.
showMessage (Object, String, HTMLElement/String) : Object
showMessage(that, msg, el)
에러 메시지를 표시합니다
Parameters :
• {Object} that, new 인스턴스
• {String} msg, 에러 메시지
• {HTMLElement|String} element, 메시지를 표시할 HTMLElement
Returns :
• {Object} this
widget.Widget
에러 메시지를 표시합니다
Custom Event Component
invalid (HTMLElement el, Hash message, Object that) widget.Widget
엘리먼트에 입력한 값에서 오류가 발생했을 때 fire됩니다.
openOptions (Object that) widget.Widget
생성할 클래스에 options 할당을 완료했을 때 fire됩니다.
showToHide (HTMLElement showto, Object that) widget.Widget
showTo 엘리먼트가 hidden 상태로 설정되었을 때 fire됩니다.
Examples  
options  
클래스에 적용할 options를 별도로 작성하고 이를 options에 지정합니다.