PropertyEventMethod찾아보기
WidgetContainer - 5.0_1.2484A.20170126.120903

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

Type

uiplugin

Property Summary

cols
widgetContainer의 열의 갯수
horizontalMargin
widget간의 수평 마진의 픽셀값
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가 취소된다
onwidgetfix
setFixed를 통해 widget을 고정한 후에 발생하는 이벤트
onwidgetmaximize
toggleMaximized를 통해 widget을 최대화한 후에 발생하는 이벤트
onwidgetminimize
toggleminimized를 통해 widget을 최소화한 후에 발생하는 이벤트
onwidgetmove
API 또는 IO를 통해 widget을 이동한 후 발생하는 이벤트
onwidgetresize
API 또는 IO를 통해 widget을 리사이징한 후 발생하는 이벤트
onwidgetrestore
minimized 또는 maximized 된 widget이 복원됐을 때 발생하는 이벤트

Method Summary

_resizeWidget( widgetId , newWidth , newHeight )
마우스 또는 터치 IO를 통한 widget 조작시 사용되는 내부함수.
addClass( className )
컴포넌트에 class를 추가한다
addWidgets( optionsArr )
widget의 options 객체, 또는 options 객체의 배열을 받아 새로운 widget을 추가한다.
bind( eventType , function )
컴포넌트의 이벤트를 동적으로 할당한다
changeClass( oldClassName , newClassName )
컴포넌트에서 oldClassName의 이름을 가진 class를 newClassName으로 변경한다.
exportWidgets( )
widgetContainer가 현재 가지고 있는 widget들의 정보를 객체의 배열(JSON)로 반환한다
focus( )
컴포넌트에 focus를 준다
getDisabled( )
현재 설정되어있는 disabled 속성값을 반환한다
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( )
컴포넌트를 화면에서 보이지 않도록 숨긴다.
importWidgets( jsonArr , clearFlag )
widget 객체의 배열(JSON)을 받아 widgetContainer에 삽입한다.
isValidPos( x , y , unitWidth , unitHeight )
넘겨받은 위치정보를 이용해 해당 영역이 유효한지 여부를 반환한다.
moveWidget( widgetId , newX , newY )
해당 widget id를 가진 widget의 좌표를 (newX, newY)로 이동시킨다.
removeClass( className )
컴포넌트에 className의 class를 삭제한다.
removeWidgets( widgetIds )
widget의 id, id의 배열을 받아 해당 widget들을 삭제한다.
resizeWidget( widgetId , newWidth , newHeight )
해당 widget id를 가진 widget의 크기를 (newWidth, newHeight)로 변경한다.
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을 설정한다
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간의 수평 마진의 픽셀값.
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>
onwidgetfix
setFixed를 통해 widget을 고정한 후에 발생하는 이벤트.
Parameter
nametypedescription
idString실행한 widget의 id
Sample
<script ev:event="onwidgetfix(id)"><![CDATA[ alert("[onwidgetfix] " + id); ]]></script>
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 또는 IO를 통해 widget을 이동한 후 발생하는 이벤트.
Parameter
nametypedescription
idStringwidget의 id
rectObject후 widget의 위치 정보 객체 <Number> rect.x 이동 후의 widget의 x값 <Number> rect.y 이동 후의 widget의 y값 <Number> rect.unitWidth 이동 후의 widget의 unitWidth값 <Number> rect.unitHeight 이동 후의 widget의 unitHeight값
Sample
<script ev:event="onwidgetmove(id, rect)"><![CDATA[ alert("[onbeforewidgetclose] " + id, rect.x, rect.y, rect.unitWidth, rect.unitHeight); ]]></script>
onwidgetresize
API 또는 IO를 통해 widget을 리사이징한 후 발생하는 이벤트.
Parameter
nametypedescription
idStringwidget의 id
rectObject후 widget의 위치 정보 객체 <Number> rect.x 리사이징 후의 widget의 x값 <Number> rect.y 리사이징 후의 widget의 y값 <Number> rect.unitWidth 리사이징 후의 widget의 unitWidth값 <Number> rect.unitHeight 리사이징 후의 widget의 unitHeight값
Sample
<script ev:event="onwidgetresize(id, rect)"><![CDATA[ alert("[onbeforewidgetclose] " + id, rect.x, rect.y, rect.unitWidth, rect.unitHeight); ]]></script>
onwidgetrestore
minimized 또는 maximized 된 widget이 복원됐을 때 발생하는 이벤트.
Parameter
nametypedescription
idStringwidget의 id.
Sample
<script ev:event="onwidgetrestore(id)"><![CDATA[ alert("[onwidgetrestore] " + id); ]]></script>

Method Detail

_resizeWidget( widgetId , newWidth , newHeight )
마우스 또는 터치 IO를 통한 widget 조작시 사용되는 내부함수.
resizeWidget과 거의 거의 동일하나, 조작이 성공한 경우에도 commit이나 fireEvent를 실행하지 않는 차이점이 있다.
마우스나 터치 IO를 통해 widget을 조작할 시에는 andleMouseUpEvent에서 commit과 fireEvent 실행한다.
Parameter
nametyperequireddescription
widgetIdStringY조작할 widget의 id
newWidthNumberNwidget의 새 unitWidth값
newHeightNumberNwidget의 새 unitHeight값
Return
typedescription
Boolean조작의 성공 여부
Sample
//widget0을 (4,2)의 크기로 변경 widgetContainer1._resizeWidget('widget0', 4, 2);
addClass( className )
컴포넌트에 class를 추가한다.
Parameter
nametyperequireddescription
classNameStringY추가하고 싶은 class의 이름
Sample
//input1 컴포넌트에 oddClass 라는 class를 추가 할 때 input1.addClass("oddClass");
addWidgets( optionsArr )
widget의 options 객체, 또는 options 객체의 배열을 받아 새로운 widget을 추가한다.
widget 생성 도중 오류가 발생할 시, 모든 생성을 취소하고 rollback을 시도한다.
Parameter
nametyperequireddescription
optionsArrObject | Object[]Ywidget들의 옵션 객체들의 배열
Return
typedescription
Object[]생성된 widget 객체의 배열
Sample
//단일 widget을 생성 var options = { ... }; var newWidget = widgetContainer1.addWidgets(options); //여러 widget을 동시에 생성 var optionsArr = [{ ... }, { ... }, ... , { ... }]; 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");
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
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();
importWidgets( jsonArr , clearFlag )
widget 객체의 배열(JSON)을 받아 widgetContainer에 삽입한다.
clearFlag가 true일 시 기존에 그려져있던 widget들을 모두 지우고 import를 실행한다.
Parameter
nametyperequireddescription
jsonArrObject[]Ywidget 객체의 배열
clearFlagBooleanY기존 widget들을 삭제할지 여부
Return
typedescription
Object[]import된 widget 객체의 배열
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);
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");
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 )
해당 widget id를 가진 widget의 크기를 (newWidth, newHeight)로 변경한다.
newWidth, newHeight 중 유효한 값이 할당되지 않은 인자의 경우 widget의 기존값을 유지한다.
widget을 조작하기 전 마지막으로 성공했던 상태로 rollback한 후 처리를 시작한다.
모드에 따라 충돌 해소를 시도한 후 성공했다면 commit을, 실패했다면 rollback을 실행한다.
resize에 성공했을 시에는 true를, 실패했을 시에는 false를 반환한다.
Parameter
nametyperequireddescription
widgetIdStringY조작할 widget의 id
newWidthNumberNwidget의 새 unitWidth값
newHeightNumberNwidget의 새 unitHeight값
Return
typedescription
Boolean조작의 성공 여부
Sample
//widget0을 (4,2)의 크기로 변경 widgetContainer1.resizeWidget('widget0', 4, 2);
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");
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"을 설정)