PropertyEventMethod찾아보기
WebSquare.uiplugin.widgetContainer - 5.0_1.3521B.20190311.114514

widgetContainer는 그 내부에 widget들을 포함하고 있으며 widget들의 상호작용을 관리한다.
widgetContainer는 내부적으로 이차원 격자로 이루어져있다. 단위 길이는 cols만큼 windowContainer의 가로 길이를 나눈 값이고, 단위 높이는 unitHeightPixel이다.
widgetContainer를 사용하면 해당 이차원 격자 구조 내에서 widget들을 옮기거나 크기를 바꿀 수 있다.
또한, widgetContainer는 내부의 widget들의 정보를 JSON을 통해 추출하고 원복할 수 있는 기능을 제공함으로써 특정 화면 설정을 저장할 수 있게 해준다.

Type

uiplugin

Property Summary

cols
widgetContainer의 열의 갯수
horizontalMargin
widget간의 수평 마진의 픽셀값
id
컴포넌트의 ID로 전역객체로 할당되며 script에서 본 id로 컴포넌트에 접근이 가능하다
maxUnitHeight
widget의 최대 단위 높이
maxUnitHeight
widget의 최대 단위 높이
maxUnitWidth
widget의 최대 단위 길이
minUnitHeight
widget의 최소 단위 높이
minUnitWidth
widget의 최소 단위 길이
mode
widget간의 충돌에 대한 widgetContainer의 기본동작을 설정한다.
params
widget 객체가 저장하고 있는 사용자 정의 데이터.
threshold
widgetContainer의 가로 사이즈가 threshold보다 작아지면, 하나의 칼럼에 위젯들을 나열한다.
unitHeightPixel
widgetContainer의 단위 높이의 픽셀값
verticalMargin
widget간의 수직 마진의 픽셀값
widgetMove
widget들의 이동 가능 여부
widgetResize
widget들의 리사이징 가능 여부

Event Summary

onafterwidgetclose
closeWidget을 통해 widget을 닫은 후에 발생하는 이벤트
onbeforewidgetclose
closeWidget을 통해 widget을 닫기 전에 발생하는 이벤트로, 이 이벤트에 대한 핸들러가 false를 반환하면 close가 취소된다
onclickcustombtn
사용자 정의 버튼을 클릭할 때 발생하는 이벤트
onload
WidgetContainer에 포함된 모든 위젯의 로딩이 완료된 후에 발생
onwidgetfix
setFixed를 통해 widget을 고정한 후에 발생하는 이벤트
onwidgetload
WidgetContainer에 포함된 각 위젯의 로딩이 완료된 시점에 발생
onwidgetmaximize
toggleMaximized를 통해 widget을 최대화한 후에 발생하는 이벤트
onwidgetminimize
toggleminimized를 통해 widget을 최소화한 후에 발생하는 이벤트
onwidgetmove
API 혹은 사용자 입력을 통한 위젯 이동시 발생
onwidgetresize
API 혹은 사용자 입력을 통한 위젯 리사이징시 발생
onwidgetrestore
minimized 또는 maximized 된 widget이 복원됐을 때 발생하는 이벤트

Method Summary

addClass( className )
컴포넌트에 class를 추가한다
addWidgets( option )
widget의 options 객체, 또는 options 객체의 배열을 받아 새로운 widget을 추가한다.
bind( eventType , function )
컴포넌트의 이벤트를 동적으로 할당한다
changeClass( oldClassName , newClassName )
컴포넌트에서 oldClassName의 이름을 가진 class를 newClassName으로 변경한다.
enableWidgetMove( isMovable )
위젯컨테이너의 위젯이동 여부를 설정합니다
enableWidgetResize( isResizable )
위젯컨테이너의 위젯리사이즈 여부를 설정합니다
enableWidgetTitle( showTitle )
위젯컨테이너 내부의 모든 위젯의 타이틀바를 제어합니다
exportWidget( widgetId )
widgetContainer가 현재 가지고 있는 여러 개의 위젯 중 주어진 ID에 해당하는 위젯 객체만 반환.
exportWidgets( )
widgetContainer가 현재 가지고 있는 widget들의 정보를 객체의 배열(JSON)로 반환한다
focus( )
컴포넌트에 focus를 준다
getDisabled( )
현재 설정되어있는 disabled 속성값을 반환한다
getGenerator( )
generator 하위의 컴포넌트에서 이 함수를 호출하여 자신을 생성한 부모 generator 객체를 가져온다
getID( )
웹스퀘어 컴포넌트의 id를 반환한다
getOpacity( )
CSS로 정의 된 컴포넌트의 Opacity(불투명도) 값을 반환한다
getPluginName( )
웹스퀘어 컴포넌트의 pluginName(컴포넌트명)을 반환한다
getPosition( positionName )
컴포넌트의 left 또는 top의 위치 값을 반환한다
getReadOnly( )
현재 설정되어있는 readOnly 속성값을 반환한다
getSize( sizeName )
컴포넌트의 크기 값을 반환합니다
getStyle( propertyName )
컴포넌트에 적용 된 CSS의 propertyName에 해당하는 값을 반환한다
getStyleValue( style )
[deprecated]getStyle로 사용.
getTitle( )
title 속성값을 반환한다
getUserData( key )
setUserData API로 설정 된 사용자 데이터 또는 소스(화면 XML)에 사용자가 임의의 property로 정의 된 값을 반환한다
getWidgetById( id )
widget의 id를 받아 해당 widget 객체를 반환한다
getWidgetByTitle( id )
widget의 title을 받아 해당 widget 객체를 반환한다. 해당 widget을 찾지 못할 시 null을 반환한다.
hasClass( className )
컴포넌트가 parameter로 받은 className의 class를 가지고 있는지의 여부를 반환한다
hide( )
컴포넌트를 화면에서 보이지 않도록 숨긴다.
importWidget( id , jsonObj )
현재 존재하는 한 개의 위젯에 대한 정보를 JSON으로 받아 이를 다시 WidgetContainer에 추가.
importWidgets( jsonArr , clearFlag )
여러 개의 현재 존재하지 않는 위젯 객체들을 배열(JSON)을 받아 widgetContainer에 삽입.
isValidPos( x , y , unitWidth , unitHeight )
넘겨받은 위치정보를 이용해 해당 영역이 유효한지 여부를 반환한다.
moveWidget( widgetId , newX , newY )
해당 widget id를 가진 widget의 좌표를 (newX, newY)로 이동시킨다.
redraw( )
widgetContainer 내부의 widget들을 그 상태에 따라 적절히 렌더링한다.
removeClass( className )
컴포넌트에 className의 class를 삭제한다.
removeTitleClass( id , className )
titleClass 속성에 따라 정의된 타이틀 영역에서 지정된 클래스를 제거.
removeWidgets( widgetIds )
widget의 id, id의 배열을 받아 해당 widget들을 삭제한다.
resizeWidget( widgetId , newWidth , newHeight , options )
해당 widget id를 가진 widget의 크기를 (newWidth, newHeight)로 변경한다.
setCols( cols )
격자 형태의 WidgetContainer가 포함할 컬럼 수를 설정
setDisabled( disabled )
컴포넌트의 disabled 속성을 설정한다
setEventPause( evList , flag )
컴포넌트의 이벤트를 disable 또는 enable시킨다
setOpacity( value )
컴포넌트의 CSS Opacity(불투명도)값를 설정한다
setPosition( left , top , mode )
컴포넌트의 위치(left,top)를 설정한다
setReadOnly( readOnly )
readOnly 속성값을 설정한다
setSize( width , heigth )
컴포넌트의 크기(width,height)를 설정한다
setStyle( propertyName , value )
컴포넌트의 property별 style을 설정한다
setTitleClass( id , className )
titleClass 속성에 따라 정의된 타이틀 영역에 클래스를 추가.
setUserData( key , value )
컴포넌트에 사용자 데이터를 설정한다
show( displayType )
컴포넌트를 화면에 보이도록 설정한다.
toggleClass( className )
컴포넌트가 className의 이름을 가진 class를 가지고 있다면 제거하고, 가지고 있지 않다면 추가한다.
trigger( type , array )
컴포넌트에 등록 된 특정 이벤트를 발생시킨다
unbind( type , function )
컴포넌트에 등록 된 이벤트를 제거한다
visible( flag )
[deprecated]show/hide 로 사용하거나 setStyle을 통해 visible 속성을 설정한다.

Property Detail

cols
widgetContainer의 열의 갯수. widgetContainer은 자신의 가로 길이를 cols의 갯수만큼 나누어 단위 길이를 결정한다.
horizontalMargin
widget간의 수평 마진의 픽셀값.
id
컴포넌트의 ID로 전역객체로 할당되며 script에서 본 id로 컴포넌트에 접근이 가능하다.
maxUnitHeight
widget의 최대 단위 높이.
maxUnitHeight
widget의 최대 단위 높이.
maxUnitWidth
widget의 최대 단위 길이.
minUnitHeight
widget의 최소 단위 높이.
minUnitWidth
widget의 최소 단위 길이.
mode
widget간의 충돌에 대한 widgetContainer의 기본동작을 설정한다.
pushpull : 가능한 모든 widget을 위로 끌어 올리며, 충돌이 일어나는 경우 충돌이 일어난 widget들을 아래로 밀어 내린다.
switch : 충돌이 일어날 시 충돌이 발생한 widget과 위치전환을 시도한다. 단, 자신보다 작은 widget과만 위치전환이 가능하다.
params
widget 객체가 저장하고 있는 사용자 정의 데이터.
런타임 도중에 setParams를 통해 재정의 될 수 있고, getParams를 통해 가져올 수 있다.
또한, 이 값은 getWidgetInfo나 exportWidgets 시 'params'라는 속성으로 추출된다.
threshold
widgetContainer의 가로 사이즈가 threshold보다 작아지면, 하나의 칼럼에 위젯들을 나열한다.
또한, threshold를 넘었을 경우 move와 resize가 불가능해진다.
모바일 편의성을 위한 옵션으로, 설정하지 않았을 경우 widgetContainer의 사이즈가 작아져도 위젯들은 원래의 위치에 렌더된다.
unitHeightPixel
widgetContainer의 단위 높이의 픽셀값. unitHeightPixel은 height === 1 인 widget의 실제 높이가 된다.
verticalMargin
widget간의 수직 마진의 픽셀값.
widgetMove
widget들의 이동 가능 여부.
widgetResize
widget들의 리사이징 가능 여부.

Event Detail

onafterwidgetclose
closeWidget을 통해 widget을 닫은 후에 발생하는 이벤트.
Parameter
nametypedescription
idString실행한 widget의 id
Sample
<script ev:event="onafterwidgetclose(id)"><![CDATA[ alert("[onafterwidgetclose] " + id); ]]></script>
onbeforewidgetclose
closeWidget을 통해 widget을 닫기 전에 발생하는 이벤트로, 이 이벤트에 대한 핸들러가 false를 반환하면 close가 취소된다.
Parameter
nametypedescription
idString시도한 widget의 id
Sample
<script ev:event="onbeforewidgetclose(id)"><![CDATA[ alert("[onbeforewidgetclose] " + id); ]]></script>
onclickcustombtn
사용자 정의 버튼을 클릭할 때 발생하는 이벤트.
Parameter
nametypedescription
idString위젯 ID.
btnIdString버튼 ID.
Sample
<script ev:event="onclickcustombtn(id, btnId)"><![CDATA[ alert("[onclickcustombtn widgetId:] " + id); alert("[onclickcustombtn btnId:] " + btnId); ]]></script>
onload
WidgetContainer에 포함된 모든 위젯의 로딩이 완료된 후에 발생. 포함된 각 위쳇에 대한 onwidgetload 이벤트가 모두 발생한 후 마지막에 발생.
Sample
onwidgetfix
setFixed를 통해 widget을 고정한 후에 발생하는 이벤트.
Parameter
nametypedescription
idString실행한 widget의 id
Sample
<script ev:event="onwidgetfix(id)"><![CDATA[ alert("[onwidgetfix] " + id); ]]></script>
onwidgetload
WidgetContainer에 포함된 각 위젯의 로딩이 완료된 시점에 발생.
Parameter
nametypedescription
idString위젯 ID.
Sample
onwidgetmaximize
toggleMaximized를 통해 widget을 최대화한 후에 발생하는 이벤트.
Parameter
nametypedescription
idString실행한 widget의 id
Sample
<script ev:event="onwidgetmaximize(id)"><![CDATA[ alert("[onwidgetmaximize] " + id); ]]></script>
onwidgetminimize
toggleminimized를 통해 widget을 최소화한 후에 발생하는 이벤트.
Parameter
nametypedescription
idString실행한 widget의 id
Sample
<script ev:event="onwidgetminimized(id)"><![CDATA[ alert("[onwidgetminimized] " + id); ]]></script>
onwidgetmove
API 혹은 사용자 입력을 통한 위젯 이동시 발생.
Parameter
nametypedescription
idString위젯 ID
newRectObject후 위젯의 위치 정보 객체 <Number> newRect.x 이동 후 위젯의 x값 <Number> newRect.y 이동 후 위젯의 y값 <Number> newRect.unitWidth 이동 후 위젯의 unitWidth값 <Number> newRect.unitHeight 이동 후 위젯의 unitHeight값
oldRectObject전 위젯의 위치 정보 객체 <Number> oldRect.x 이동 전 위젯의 x값 <Number> oldRect.y 이동 전 위젯의 y값 <Number> oldRect.unitWidth 이동 전 위젯의 unitWidth값 <Number> oldRect.unitHeight 이동 전 위젯의 unitHeight값
Sample
<script ev:event="onwidgetmove(id, newRect, oldRect)"><![CDATA[ alert("[onbeforewidgetclose newPos:] " + id, newRect.x, newRrect.y, newRrect.unitWidth, newRrect.unitHeight); alert("[onbeforewidgetclose oldPos:] " + id, oldRect.x, oldRrect.y, oldRrect.unitWidth, oldRrect.unitHeight); ]]></script>
onwidgetresize
API 혹은 사용자 입력을 통한 위젯 리사이징시 발생.
Parameter
nametypedescription
idString위젯 ID
newRectObject후 위젯의 위치 정보 객체 <Number> newRect.x 리사이징 후 위젯의 x값 <Number> newRect.y 리사이징 후 위젯의 y값 <Number> newRect.unitWidth 리사이징 후 위젯의 unitWidth값 <Number> newRect.unitHeight 리사이징 후 위젯의 unitHeight값
oldRectObject전 위젯의 위치 정보 객체 <Number> oldRect.x 리사이징 전 위젯의 x값 <Number> oldRect.y 리사이징 전 위젯의 y값 <Number> oldRect.unitWidth 리사이징 전 위젯의 unitWidth값 <Number> oldRect.unitHeight 리사이징 전 위젯의 unitHeight값
Sample
<script ev:event="onwidgetresize(id, newRect, oldRect)"><![CDATA[ alert("[onbeforewidgetclose newPos:] " + id, newRect.x, newRrect.y, newRrect.unitWidth, newRrect.unitHeight); alert("[onbeforewidgetclose oldPos:] " + id, oldRect.x, oldRrect.y, oldRrect.unitWidth, oldRrect.unitHeight); ]]></script>
onwidgetrestore
minimized 또는 maximized 된 widget이 복원됐을 때 발생하는 이벤트.
Parameter
nametypedescription
idStringwidget의 id.
Sample
<script ev:event="onwidgetrestore(id)"><![CDATA[ alert("[onwidgetrestore] " + id); ]]></script>

Method Detail

addClass( className )
컴포넌트에 class를 추가한다.
Parameter
nametyperequireddescription
classNameStringY추가하고 싶은 class의 이름
Sample
//input1 컴포넌트에 oddClass 라는 class를 추가 할 때 input1.addClass("oddClass");
addWidgets( option )
widget의 options 객체, 또는 options 객체의 배열을 받아 새로운 widget을 추가한다.
widget 생성 도중 오류가 발생할 시, 모든 생성을 취소하고 rollback을 시도한다.
Parameter
nametyperequireddescription
optionObjectYwidget생성을 위한 옵션
<Number:N> options.x : [default:0] widgetContainer 좌표계 상의 x 값 <Number:N> options.y : [default:0] widgetContainer 좌표계 상의 y 값 <Number:N> options.unitWidth : [default:1] widgetContainer 좌표계 상의 unitWidth 값 <Number:N> options.unitHeight : [default:1] widgetContainer 좌표계 상의 unitHeight 값 <String:N> options.id : [default:""] 위젯의 id <String:N> options.title : [default:""] 위젯의 타이틀 <Boolean:N> options.hasTitleBar : [default:true] widget의 타이틀바 렌더 여부 <String:N> options.src : [default:""] widget 내부의 wframe 영역에 불러들일 소스 xml <Boolean:N> options.scope : [default:false] widget 내부 wframe의 scope 속성 <Object:N> options.params : [default:undefined] widget 객체에 저장할 사용자 정의 데이터. <Boolean:N> options.fixed : [default:false] 위젯의 고정 여부. 런타임 도중 API 또는 버튼을 통해 토글할 수 있다. <Boolean:N> options.resized : [default:false] 위젯의 리사이징 여부. 런타임 도중 API를 통해 토글할 수 있다. <Boolean:N> options.minimized : [default:false] 위젯의 최대화 여부. 런타임 도중 API 또는 버튼을 통해 토글할 수 있다. <String:N> options.maximizeFormatter : [default:null] 위젯의 최대화 설정을 반환할 함수 또는 함수의 이름 <String:N> options.buttonFormatter : [default:null] 위젯의 우상단 버튼들의 설정을 반환할 함수 또는 함수의 이름
Return
typedescription
Array:Yadded 생성된 widget 객체 배열
Sample
//단일 widget을 생성 var options = {id : "widget1", title : "widget1", titleClass : "w2widget_blue", src : null, scope : true, x : 0, y : 1, unitWidth : 1, unitHeight : 1}; var newWidget = widgetContainer1.addWidgets(options); //여러 widget을 동시에 생성 var optionsArr = []; optionsArr[0] = {id : "widget0", title : "widget0", src : "widget.xml", scope : true, x : 0, y : 0, unitWidth : 1, unitHeight : 1}; var newWidgets = widgetContainer1.addWidgets(optionsArr);
bind( eventType , function )
컴포넌트의 이벤트를 동적으로 할당한다.
Parameter
nametyperequireddescription
eventTypeStringY할당 할 이벤트명.
functionFunctionY동적으로 할당 할 이벤트의 핸들러 function.
Sample
//input1에 onclick 이벤트에 핸들러 function을 직접 정의하여 bind. input1.bind("onclick", function(e){ alert(input1.getValue();})); //input1에 onclick 이벤트에 미리 정의 한 commObj.ev_click function을 bind. var commObj = {}; commObj.ev_click = function(e){ alert("click :: "+this.id); }; input1.bind("onclick", commObj.ev_click );
changeClass( oldClassName , newClassName )
컴포넌트에서 oldClassName의 이름을 가진 class를 newClassName으로 변경한다.
기본 설정은 addClass API를 통해 추가 된 class만 적용되며 컴포넌트의 class 속성에 직접 정의 된 class를 삭제해야하는 경우는 config.xml파일의 설정을 아래와 같이 적용해야한다.
<style><removeDefaultClass value="true" /></style>
Parameter
nametyperequireddescription
oldClassNameStringY삭제 할 class의 이름
newClassNameStringY추가 할 class의 이름
Sample
//아래와 같이 input 컴포넌트에 class를 정의 한 경우 <xf:input id="input1" style="position: relative;width: 144px;height: 21px;" class="tmpInputClass"></xf:input> //config.xml 파일에 아래와 같이 정의. <style> <removeDefaultClass value="true" /> </style> //tmpInputClass class를 tmpInputWarninClass로 변경 input1.changeClass("tmpInputClass","tmpInputWarninClass");
enableWidgetMove( isMovable )
위젯컨테이너의 위젯이동 여부를 설정합니다
Parameter
nametyperequireddescription
isMovableBooleanY이동가능하게 할지의 여부
enableWidgetResize( isResizable )
위젯컨테이너의 위젯리사이즈 여부를 설정합니다
Parameter
nametyperequireddescription
isResizableBooleanY리사이징 가능하게 할지의 여부
enableWidgetTitle( showTitle )
위젯컨테이너 내부의 모든 위젯의 타이틀바를 제어합니다.
Parameter
nametyperequireddescription
showTitleBooleanY타이틀을 보여줄지 숨길지의 여부
Sample
//widget container의 모든 위젯의 title을 숨김 widgetContainer1.enableWidgetTitle(false);
exportWidget( widgetId )
widgetContainer가 현재 가지고 있는 여러 개의 위젯 중 주어진 ID에 해당하는 위젯 객체만 반환.
ID에 해당하는 정보가 없을 경우 null을 반환.
관련 함수: exportWidgets는 widgetContainer가 현재 갖고 있는 모든 위젯의 정보를 반환.
Parameter
nametyperequireddescription
widgetIdStringY위젯 ID
Return
typedescription
Object위젯 객체
Sample
// exportWidget()를 이용해 특정 widget 정보를 jsonObj에 저장함. var jsonObj = widgetContainer1.exportWidget('widget1'); var jsonObj2 = widgetContainer1.exportWidget('widgetContainer1_widget1'); // 저장한 JSON을 출력. console.log(jsonObj); console.log(jsonObj2);
exportWidgets( )
widgetContainer가 현재 가지고 있는 widget들의 정보를 객체의 배열(JSON)로 반환한다.
Return
typedescription
Object[]widget 객체의 배열
Sample
//exportWidgets()를 이용해 현재 widget들의 정보를 jsonArr에 저장함. var jsonArr = widgetContainer1.exportWidgets(); //저장한 JSON을 출력. console.log(jsonArr);
focus( )
컴포넌트에 focus를 준다.
getDisabled( )
현재 설정되어있는 disabled 속성값을 반환한다.
Return
typedescription
Booleandisabled 속성값
Sample
var returnValue = componentId.getDisabled(); return 예시 ) false
getGenerator( )
generator 하위의 컴포넌트에서 이 함수를 호출하여 자신을 생성한 부모 generator 객체를 가져온다.
Return
typedescription
Object부모 generator 객체
Sample
<w2:generator id="generator1"> <w2:trigger id="trigger1" ev:onclick="scwin.trigger1_onclick"></w2:trigger></w2:generator> scwin.trigger1.onclick = function(){ console.log(this.getGenerator());} // trigger1 클릭 시 generator1 객체가 console에 찍힌다. // https://inswave.com/jira/browse/WPF-1425 참조
getID( )
웹스퀘어 컴포넌트의 id를 반환한다.
Return
typedescription
String웹스퀘어 컴포넌트의 id
Sample
//동적으로 웹스퀘어 컴포넌트를 파라메터로 받았을 경우 아래와 같이 사용 할 수 있다. function fn_validCheck(tmpObj){ //tmpObj가 input1 이라는 ID를 가지고 있는 경우 var compID = tmpObj.getID(); //return 예시 ) "input1" }
getOpacity( )
CSS로 정의 된 컴포넌트의 Opacity(불투명도) 값을 반환한다.
Return
typedescription
IntegerOpacity 값
Sample
//아래와 같이 input 컴포넌트에 opcacity css를 적용 한 경우 <xf:input id="input1" style="position: relative;width: 144px;height: 21px;opacity:0.2;"></xf:input> var returnValue = input1.getOpacity(); // returnValue는 0~1사이의 실수이다. //return 예시 ) "0.2"
getPluginName( )
웹스퀘어 컴포넌트의 pluginName(컴포넌트명)을 반환한다.
Return
typedescription
String웹스퀘어 컴포넌트의 pluginName
Sample
//아래와 같이 공통 function에서 동적으로 웹스퀘어 객체를 받았을 때 컴포넌트의 종류에 따른 분기처리를 할수 있다. var commObj = {}; commObj.fn_makeReqData = function(tmpObj){ var tmpID = tmpObj.getID(); //컴포넌트 ID var tmpCompType = tmpObj.getPluginName(); //컴포넌트 종류 if(tmpCompType == "input"){ //..로직.. }else if(tmpCompType == "gridView"){ //..로직 .. }else{ //..로직.. } };
getPosition( positionName )
컴포넌트의 left 또는 top의 위치 값을 반환한다. %로 설정된 경우, 픽셀로 변환하여 반환한다.
Parameter
nametyperequireddescription
positionNameStringY[left,top]위치 종류
Return
typedescription
Number컴포넌트의 위치 값
Sample
//아래와 같이 input 컴포넌트에 margin css를 적용했을 경우 <xf:input id="input1" style="position: relative;width: 144px;height: 21px;margin:10px;"></xf:input> var returnValue = input1.getPosition("top"); // returnValue는 픽셀 단위의 위치 값이다. //return 예시 ) 10
getReadOnly( )
현재 설정되어있는 readOnly 속성값을 반환한다.
Return
typedescription
Boolean현재 설정되어있는 readOnly 속성
Sample
var returnValue = componentId.getReadOnly(); //return 예시 ) false
getSize( sizeName )
컴포넌트의 크기 값을 반환합니다.%로 설정된 경우, 픽셀로 변환하여 반환한다.
Parameter
nametyperequireddescription
sizeNameStringY[height,innerHeight,outerHeight,outerMarginHeight,width,innerWidth,outerWidth,outerMarginWidth]크기 값의 종류. szieName별 계산 방법은 아래를 참고.
height : element.clientHeight innerHeight : element.clientHeight + padding outerHeight : element.clientHeight + padding + border outerMarginHeight : element.clientHeight + padding + border + margin width : element.clientWidth innerWidth : element.clientWidth + padding outerWidth : element.clientWidth + padding + border outerMarginWidth : element.clientWidth + padding + border + margin
Return
typedescription
Number컴포넌트의 크기 값
Sample
var returnValue = componentId.getSize("width"); // returnValue는 픽셀 단위의 크기 값이다. %로 설정된 경우, 픽셀로 변환하여 반환한다. //return 예시 ) 100
getStyle( propertyName )
컴포넌트에 적용 된 CSS의 propertyName에 해당하는 값을 반환한다.
Parameter
nametyperequireddescription
propertyNameStringY반환 할 style의 property 이름
Return
typedescription
Stringstyle의 속성값
Sample
//아래와 같이 input 컴포넌트가 정의 된 경우 <xf:input id="input1" style="position: relative;width: 144px;height: 21px;"></xf:input> var returnValue = input1.getStyle("width"); //return 예시 ) "144px"
getStyleValue( style )
[deprecated]getStyle로 사용.
컴포넌트에 적용 된 CSS의 propertyName에 해당하는 값을 반환한다.
Parameter
nametyperequireddescription
styleStringY정의 된 style에서 사용자가 반환 받고자하는 속성명.
Return
typedescription
Stringstyle 속성에 정의 된 값(색을 반환하는 경우에는 색HexCode로 반환)
getTitle( )
title 속성값을 반환한다.
Return
typedescription
Stringtitle 속성값.
Sample
//아래와 같이 input 컴포넌트에 title이 정의 된 경우 <xf:input id="input1" style="position: relative;width: 144px;height: 21px;" title="이름 입력"></xf:input> var tmpTitle = input1.getTitle(); //return 예시 ) "이름 입력"
getUserData( key )
setUserData API로 설정 된 사용자 데이터 또는 소스(화면 XML)에 사용자가 임의의 property로 정의 된 값을 반환한다.
Parameter
nametyperequireddescription
keyStringY임의 데이터의 키
Return
typedescription
Stringkey에 해당하는 데이터
Sample
//아래와 같이 input 컴포넌트의 사용자 속성(eduTest)이 적용 된 경우. <xf:input id="input1" style="position: relative;width: 144px;height: 21px;" eduTest="Hello"></xf:input> input1.getUserData("eduTest"); //return 예시 ) "Hello" //setUserData를 통해 set한 경우 input1.setUserData("eduTest","WebSquare"); input1.getUserData("WebSquare"); //return 예시 ) "Hello"
getWidgetById( id )
widget의 id를 받아 해당 widget 객체를 반환한다. 해당 widget을 찾지 못할 시 null을 반환한다.
Parameter
nametyperequireddescription
idStringYwidget의 id
Return
typedescription
Object해당 id를 가진 widget 객체
Sample
//변수 widget에 id가 'widget0'인 widget 객체가 저장됨. var widget = widgetContainer1.getWidgetById('widget0'); //해당 id를 가진 widget을 찾을 수 없으면 null을 반환. widgetContainer1.getWidgetById('NoSuchId') === null; // true;
getWidgetByTitle( id )
widget의 title을 받아 해당 widget 객체를 반환한다. 해당 widget을 찾지 못할 시 null을 반환한다.
중복되는 widget이 있을 시 처음으로 찾은 widget만을 반환한다.
Parameter
nametyperequireddescription
idStringYwidget의 id
Return
typedescription
Object해당 id를 가진 widget 객체
Sample
//변수 widget에 title이 'widget0'인 widget 객체가 저장됨. var widget = widgetContainer1.getWidgetByTitle('widget0'); //해당 title을 가진 widget을 찾을 수 없으면 null을 반환. widgetContainer1.getWidgetByTitle('NoSuchTitle') === null; // true;
hasClass( className )
컴포넌트가 parameter로 받은 className의 class를 가지고 있는지의 여부를 반환한다.
Parameter
nametyperequireddescription
classNameStringY검색 할 className
Return
typedescription
Booleanclass를 가지고 있는지의 여부
Sample
//아래와 같이 input 컴포넌트에 class가 정의 된 경우 <xf:input id="input1" style="position: relative;width: 144px;height: 21px;" class="tmpInputClass"></xf:input> var returnValue = input1.hasClass("tmpInputClass"); //return 예시 ) true
hide( )
컴포넌트를 화면에서 보이지 않도록 숨긴다.
엔진 내부적으로는 CSS를 display:none;과 visibility:hidden;으로 처리한다.
Sample
componentId.hide();
importWidget( id , jsonObj )
현재 존재하는 한 개의 위젯에 대한 정보를 JSON으로 받아 이를 다시 WidgetContainer에 추가.
내부적으로 해당 ID의 위젯을 지우고 다시 그림. 단, ID는 기존 ID를 유지.
관련 함수: importWidgets은 현재 존재하지 않는 여러 개의 위젯을 WidgetContainer에 추가.
Parameter
nametyperequireddescription
idStringY위젯 아이디
jsonObjObjectY위젯 객체의 배열
Return
typedescription
Boolean조작 성공 여부
importWidgets( jsonArr , clearFlag )
여러 개의 현재 존재하지 않는 위젯 객체들을 배열(JSON)을 받아 widgetContainer에 삽입.
clearFlag가 true인 경우 기존의 위젯을 모두 지우고 새로운 위젯 객체를 추가.
Parameter
nametyperequireddescription
jsonArrObject[]Y위젯 객체의 배열
clearFlagBooleanY기존 위젯들을 삭제할지 여부
Return
typedescription
Object[]import된 위젯 객체의 배열
Sample
// exportWidgets()를 이용해 현재 widget들의 jsonArr를 저장함. var jsonArr = widgetContainer1.exportWidgets(); // 기존 widget들을 지우고 jsonArr의 widget들을 표시함. widgetContainer1.importWidgets(jsonArr, true);
isValidPos( x , y , unitWidth , unitHeight )
넘겨받은 위치정보를 이용해 해당 영역이 유효한지 여부를 반환한다.
단, widget간의 충돌 체크는 하지 않으며, 오직 boundary 제한과 min/max 제한만을 체크한다.
Parameter
nametyperequireddescription
xNumberYwidget의 x값
yNumberYwidget의 y값
unitWidthNumberYwidget의 unitWidth값
unitHeightNumberYwidget의 unitHeight값
Return
typedescription
Boolean해당 위치의 유효 여부
Sample
//x === -1 이기 때문에 유효하지 않은 위치이므로 result === false. var result = isValidPos(-1, 3, 2, 3);
moveWidget( widgetId , newX , newY )
해당 widget id를 가진 widget의 좌표를 (newX, newY)로 이동시킨다.
newX, newY 중 유효한 값이 할당되지 않은 인자의 경우 widget의 기존값을 유지한다.
widget을 조작하기 전 마지막으로 성공했던 상태로 rollback한 후 처리를 시작한다.
모드에 따라 충돌 해소를 시도한 후 성공했다면 commit을, 실패했다면 rollback을 실행한다.
move에 성공했을 시에는 true를, 실패했을 시에는 false를 반환한다.
Parameter
nametyperequireddescription
widgetIdStringY조작할 widget의 id
newXNumberNwidget의 새 x좌표
newYNumberNwidget의 새 y좌표
Return
typedescription
Boolean조작의 성공 여부
Sample
//widget0을 (2,2)로 이동 widgetContainer1.moveWidget('widget0', 2, 2);
redraw( )
widgetContainer 내부의 widget들을 그 상태에 따라 적절히 렌더링한다.
API를 사용할 경우 처리가 끝난 후 불리며, drag&drop을 사용할 경우 widget들의 실시간 위치상태에 변화가 생기는 경우에 불린다.
oneColumn, maximize, minimize, ghost 등등 모든 렌더링 작업은 이 함수에서 _renderWithRect를 호출함으로써 이뤄진다.
removeClass( className )
컴포넌트에 className의 class를 삭제한다.
기본 설정은 addClass API를 통해 추가 된 class만 적용되며 컴포넌트의 class 속성에 직접 정의 된 class를 삭제해야하는 경우는 config.xml파일의 설정을 아래와 같이 적용해야한다.
<style><removeDefaultClass value="true" /></style>
Parameter
nametyperequireddescription
classNameStringY삭제 할 class명
Sample
//아래와 같이 input 컴포넌트에 class를 정의 한 경우 <xf:input id="input1" style="position: relative;width: 144px;height: 21px;" class="tmpInputClass"></xf:input> //config.xml 파일에 아래와 같이 정의. <style> <removeDefaultClass value="true" /> </style> //tmpInputClass class 삭제 input1.removeClass("tmpInputClass");
removeTitleClass( id , className )
titleClass 속성에 따라 정의된 타이틀 영역에서 지정된 클래스를 제거.
관련 속성: titleClass
Parameter
nametyperequireddescription
idStringY위젯 아이디
classNameStringY위젯에서 삭제할 class명
Sample
위젯("widget1")의 title 영역에 적용된 클래스("w2widget_disable")를 동적으로 삭제 widgetContinerID.removeTitleClass("widget1","w2widget_disable");
removeWidgets( widgetIds )
widget의 id, id의 배열을 받아 해당 widget들을 삭제한다.
실제 삭제를 위해 내부에서 _removeWidgets를 부른다. 삭제 성공 시 삭제된 widget들의 id의 배열을 반환한다.
인자로 widget 객체, widget 객체의 배열을 넘겨받아도 정상작동 하지만 권장사항은 id 또는 id의 배열이다.
Parameter
nametyperequireddescription
widgetIdsString | String[]Y삭제할 widget들의 id의 배열
Return
typedescription
String[]삭제된 widget들의 id의 배열
Sample
var ids = ['widget0', 'widget1', 'widget2']; //id가 widget0, widget1, widget2인 widget들 삭제 widgetContainer1.removeWidgets(ids); widgetContainer1.getWidgetById('widget0') === null // true;
resizeWidget( widgetId , newWidth , newHeight , options )
해당 widget id를 가진 widget의 크기를 (newWidth, newHeight)로 변경한다.
newWidth, newHeight 중 유효한 값이 할당되지 않은 인자의 경우 widget의 기존값을 유지한다.
widget을 조작하기 전 마지막으로 성공했던 상태로 rollback한 후 처리를 시작한다.
모드에 따라 충돌 해소를 시도한 후 성공했다면 commit을, 실패했다면 rollback을 실행한다.
resize에 성공했을 시에는 true를, 실패했을 시에는 false를 반환한다.
Parameter
nametyperequireddescription
widgetIdStringY조작할 widget의 id
newWidthNumberNwidget의 새 unitWidth값
newHeightNumberNwidget의 새 unitHeight값
optionsObject | Object[]Y기타 옵션
Return
typedescription
Boolean조작의 성공 여부
Sample
// widget1을 (2,2)의 크기로 변경하되 resizeWidget 값이 false인 경우에도 위젯 크기를 강제로 변경 가능. widgetContainer1.resizeWidget("widget1", 2, 2, {"force" : true});
setCols( cols )
격자 형태의 WidgetContainer가 포함할 컬럼 수를 설정. 단, 컬럼 수는 현재 위젯들의 너비와 같거나 더 큰 값이어야 함.
Parameter
nametyperequireddescription
colsStringYwidgetContainer의 새롭게 설정할 cols
Sample
//위젯들의 너비는 1, 2, 3, 혹은 4인 경우에만 아래가 동작. 현재 위젯의 너비가 4보다 클 경우 아래 예제는 동작하지 않음. widgetContainer1.setCols(4);
setDisabled( disabled )
컴포넌트의 disabled 속성을 설정한다. disabled 속성을 활성화 시키려면 true 비활성화 시키려면 false를 입력한다.
Parameter
nametyperequireddescription
disabledBooleanYdisabled 속성을 활성화 시키려면 true 비활성화 시키려면 false
Sample
//컴포넌트의 disabled 적용 componentId.setDisabled(true);
setEventPause( evList , flag )
컴포넌트의 이벤트를 disable 또는 enable시킨다.
Parameter
nametyperequireddescription
evListStringN대상 이벤트 목록. 해당 인자가 주어지지 않을 경우 해당 컴포넌트의 모든 사용자 이벤트가 대상이 된다. (null을 지정하면 된다.)
flagBooleanYtrue인 경우 pause시키며, false인 경우 pause를 해제한다.
Sample
input1.setEventPause("onclick", true); //onclick이벤트를 동적으로 pause 한다. input1.setEventPause("onfocus,onblur", false); //onfocus이벤트와 onblur이벤트의 pause를 해제한다. input1.setEventPause(null, true); //input에 등록된 모든 사용자 이벤트를 pause 한다.
setOpacity( value )
컴포넌트의 CSS Opacity(불투명도)값를 설정한다.
Parameter
nametyperequireddescription
valueNumberYOpacity 값 (0과 1사이의 실수)
Sample
componentId.setOpacity(0.45);
setPosition( left , top , mode )
컴포넌트의 위치(left,top)를 설정한다.
Parameter
nametyperequireddescription
leftNumberYleft의 값 또는 null.
topNumberYtop의 값 또는 null.
modeStringN[defulat:absolute, delta]absolute이면 x,y로 현재 값을 설정하고 delta이면 현재 값에 x,y값만큼을 더해서 설정.
Sample
//컴포넌트의 top만 100px로 설정. componentId.setPosition(null, 100);
setReadOnly( readOnly )
readOnly 속성값을 설정한다. readOnly 속성을 활성화 시키려면 true 비활성화 시키려면 false를 입력합니다.
Parameter
nametyperequireddescription
readOnlyBooleanYreadOnly 속성을 활성화 시키려면 true 비활성화 시키려면 false
Sample
//컴포넌트의 readonly 적용. componentId.setReadOnly(true);
setSize( width , heigth )
컴포넌트의 크기(width,height)를 설정한다.
Parameter
nametyperequireddescription
widthNumberY새로 설정할 컴포넌트의 width값 또는 null
heigthNumberY새로 설정할 컴포넌트의 height값 또는 null
Sample
//컴포넌트의 height만 100px로 설정. componentId.setSize(null,100);
setStyle( propertyName , value )
컴포넌트의 property별 style을 설정한다.
Parameter
nametyperequireddescription
propertyNameStringYstyle 속성 이름
valueStringY적용 할 style의 값
Sample
//컴포넌트의 width를 200px로 설정 할 경우 componentId.setStyle("width", "200px"); //배경색을 olive로 변경 할 경우 componentId.setStyle("background-color","olive");
setTitleClass( id , className )
titleClass 속성에 따라 정의된 타이틀 영역에 클래스를 추가.
관련 속성: titleClass
Parameter
nametyperequireddescription
idStringY위젯 아이디
classNameStringY위젯에 적용할 class명
Sample
위젯("widget1")의 title 영역에 새로운 클래스("w2widget_disable")를 동적으로 적용 widgetContinerID.setTitleClass("widget1","w2widget_disable");
setUserData( key , value )
컴포넌트에 사용자 데이터를 설정한다. 컴포넌트에 설정이 가능한 key가 아닌 경우, key 설정이 불가능하며 log에 관련 내용이 출력 된다.
Parameter
nametyperequireddescription
keyStringY임의 데이터의 키
valueStringY임의 데이터의 값
Sample
//컴포넌트에 'data'라는 key로 'WebSquare'라는 값을 설정 할 경우 componentId.setUserData("data", "WebSquare"); //아래와 같이 컴포넌트에 설정이 가능한 key가 아닌 경우, key 설정이 불가능하다. componentId.setUserData("title", "WebSquare"); //log 표현 예시 ) !!!WARNING - [title] can't define as UserData
show( displayType )
컴포넌트를 화면에 보이도록 설정한다.
엔진 내부적으로는 CSS를 display속성과 visibility:show;으로 처리한다.
Parameter
nametyperequireddescription
displayTypeStringN[default:block ,inline ,none ,""]display의 속성 값.
Sample
//display 속성이 "block"이 된다. componentId.show(); //class에 적용된 display 속성 값을 다시 복구. componentId.show("");
toggleClass( className )
컴포넌트가 className의 이름을 가진 class를 가지고 있다면 제거하고, 가지고 있지 않다면 추가한다.
기본 설정은 addClass API를 통해 추가 된 class만 삭제되며 컴포넌트의 class 속성에 직접 정의 된 class를 삭제해야하는 경우는 config.xml파일의 설정을 아래와 같이 적용해야한다.
<style><removeDefaultClass value="true" /></style>
Parameter
nametyperequireddescription
classNameStringY설정 할 className
Sample
//아래와 같이 input 컴포넌트에 class를 정의 한 경우 <xf:input id="input1" style="position: relative;width: 144px;height: 21px;" class="tmpInputClass"></xf:input> //config.xml 파일에 아래와 같이 정의. <style> <removeDefaultClass value="true" /> </style> //적용 된 tmpInputClass class 삭제 input1.toggleClass("tmpInputClass"); //tmpInputClass class를 다시 추가 input1.toggleClass("tmpInputClass");
trigger( type , array )
컴포넌트에 등록 된 특정 이벤트를 발생시킨다.
Parameter
nametyperequireddescription
typeStringY발생시킬 이벤트 이름
arrayArrayN이벤트 핸들러에 전달할 파라미터 배열
Sample
//input1 컴포넌트에 onclick이벤트를 발생시킨다. input1.trigger("onclick"); //input1에 onviewchange이벤트를 발생시키고 핸들러 함수에 (1,2) 인자를 전달하여 호출한다. input1.trigger("onviewchange", [1,2]);
unbind( type , function )
컴포넌트에 등록 된 이벤트를 제거한다.
Parameter
nametyperequireddescription
typeStringN제거할 이벤트 이름. 생략할 경우 해당 컴포넌트의 모든 이벤트를 제거한다.
functionFunctionN제거할 이벤트의 핸들러 함수. 생략할 경우 해당 이벤트 type으로 등록된 모든 핸들러 함수를 제거한다.
Sample
//input1에 등록된 모든 이벤트를 제거 input1.unbind(); //input1에 등록된 onviewchange이벤트 핸들러 함수를 모두 제거 input1.unbind("onviewchange"); //input1에 등록된 onviewchange이벤트에서 func1 이벤트 핸들러를 제거 input1.unbind("onviewchange", func1);
visible( flag )
[deprecated]show/hide 로 사용하거나 setStyle을 통해 visible 속성을 설정한다.
컴포넌트의 style 중 visibility 값을 설정한다. true이면 "visible", false이면 "hidden"을 설정.
Parameter
nametyperequireddescription
flagBooleanYvisibility 값을 설정할 값(true이면 "visible", false이면 "hidden"을 설정)