PropertyEventMethod찾아보기
WebSquare.uiplugin.treeview - 5.0_4.4373A.20210331.093729

트리 뷰. 계층형 데이터를 Tree 형태로 출력. 각 노드에 체크박스와 아이콘을 추가할 수 있음. TeeView 컴포넌트간 마우스 드래그-앤-드롭을 통한 데이터(노드) 교환을 지원. 최상위는 <div> 태그로 구성되며 하위에 복합 태그를 포함.

Type

uiplugin

Property Summary

accessibility
[true,false]웹접근성 모드의 사용 여부로 true로 설정할 경우 각 노드의 line은 그려지지 않으며 aria-expanded와 같은 HTML 속성들이 추가된다
alwaysDraw
[default:false, true]초기에 child 노드를 전부 표현할지의 여부로 true이면 화면 로딩시 child를 모두 그리고 false이면 노드의 Depth가 showTreeDepth속성의 값보다 작은 노드만 먼저 그린다
checkAllChildNodes
[default:false, true]부모노드를 체크하면 자식노드도 모두 체크할지의 여부
checkboxDisabledFalseValue
체크박스의 disabled여부의 false값으로 기본적으로 checkbox의 ref 및 checkboxDisabled의 ref가 설정되어야 동작한다
checkboxDisabledTrueValue
체크박스의 disabled여부의 true값으로 기본적으로 checkbox의 ref 및 checkboxDisabled의 ref가 설정되어야 동작한다
class
HTML의 class 속성과 동일한 기능을 제공. CSS 파일이나 style 블럭에 정의한 여러 개의 class를 공백으로 구분하여 적용 가능.
customFormatter
label값, formattedLabel, node를 각각 인자를 받는 조건부 서식 formatter 함수명
dataType
[default:recursive, listed]데이터의 포맷이 tree형태인지 list형태인지를 정의한다.
defaultImage
노드에 보여질 기본 아이콘의 이미지경로를 설정한다.
disabled
컴포넌트 비활성 여부
dynamicAppend
[true,false]동적 트리 추가 사용 여부
escape
[true, false] <>&"를 HTML Escape 문자로 변환하여 화면에 표시
expandedImage
노드(폴더)가 확장되었을 때의 이미지 경로
falseValue
chckbox의 false 값
hierarchy
[default:false, true]하위 노드가 선택되었을 때, 상위 노드를 체크할지 여부.
id
컴포넌트 ID.
labelclass
노드의 label에 적용할 class명
lineShow
[default:true, false]노드 사이에 선을 적용할 지의 여부
moveSibling
[default:false, true] moveNode api사용시에 bAppendChild가 false일 때, srcIndex노드의 자식 노드도 같이 이동시킬지 여부
refreshCheckboxDisableModel
[default:false, true]checkbox의 disable이 변경된 경우 model영역(DataCollection, InstanceData)에 실시간 반영할지 여부
refreshCheckboxModel
[default:false, true]checkbox의 값이 변경된 경우 model영역(DataCollection, InstanceData)에 실시간 반영할지 여부
renderType
treeView를 렌더링하는 방식
rowHeight
트리 노드의 높이 값 (단, renderType이 virtual일 때만 적용된다
scrollFix
[default:false, true]노드를 click할 경우 포커스를 주지 않도록 하여 스크롤을 고정시킬지(true), 해당 노드에 포커스를 주어 스크롤이 움직이게 할지(false)의 여부
showCheckbox
[default:false, true]노드에 checkbox의 표시 여부
showTreeDepth
초기 로딩시 확장되어 보여질 노드의 depth값
tabIndex
Tab 키를 이용하여 포커스를 변경할 경우, 해당 컴포넌트에 포커스를 주는 순서.
title
HTML의 title 속성과 동일
toggleButtonEvent
[default:onclick, onmousedown]toggleButton(toggleImage)을 마우스로 클릭할 때 toggle할 것인지, 또는 마우스를 누르는 순간 바로 toggle될 것인지를 설정한다
toggleEvent
[default:ondblclick, onclick, none]노드에 마우스 이벤트를 적용하여 리스트를 펼치고 접을 때의 적용하고자 하는 이벤트
toolTip
사용자가 컴포넌트에 마우스-오버할 때 표시되는 텍스트
tooltipClass
툴팁에 적용할 스타일 class
tooltipDisplay
[default:false, true]노드의 label이 화면에 다 보여지지 않을 경우 해당 label을 tooltip으로 표현할지의 여부
tooltipFormatter
tooltipDisplay속성이 true일 때 데이터를 표현 할 tooltip의 내용을 변경 할 사용자 함수명.
tooltipGroupClass
[default:true, false]tooltip에 w2group 스타일을 포함시킬지(true)의 여부
tooltipShowAlways
[default:false, true] 데이터에 대한 tooltip을 마우스 over 시 항상 보여줄지에 대한 여부로 데이터가 공백("")인 경우를 제외하고는 항상 보여준다
tooltipTime
툴팁 표시 시간. (단위: 초)
trueValue
checkbox의 true 값
useDrag
[default:false, true]drag의 사용여부
useHirarchySelect
[default:false, true] 하위 노드를 선택했을 때 상위 노드도 같이 선택할지의 여부
userData1
사용자 정의 데이터 속성
userData2
사용자 정의 데이터 속성
userData3
사용자 정의 데이터 속성

Event Summary

onchange
선택된 노드가 변경될 경우 발생한다
oncheckboxclick
Checkbox가 클릭된 경우 발생
onclick
label, checkbox, icon, toggle버튼(+,-버튼)을 클릭했을 때 발생한다
ondblclick
label을 더블클릭했을 때 발생한다
ondragleave
useDrag속성이 true이고 drag하는 도중에 마우스 위치가 노드의 순수 label영역(icon영역 미포함)을 벗어난 경우 발생한다
ondragover
useDrag속성이 true이고 drag하는 도중에 마우스의 위치가 노드의 위에 있을 때 발생한다
ondrop
useDrag속성이 true이고 다른 treeview의 노드가 drag되어 본 treeview의 노드 위에서 drop 되었을 때 발생한다
oneditend
setEditMode API를 통해 레이블 편집모드를 활성화시킨 상태에서 편집모드가 종료된 직후에 발생하는 이벤트
onimageclick
노드의 icon을 클릭한 경우 발생한다
onlabelclick
노드의 label을 클릭한 경우 발생한다
onlabelover
treeview label에 마우스를 올렸을때 발생하는 이벤트
onrightbuttonclick
노드의 영역에서 마우스 오른쪽 버튼이 클릭된 경우 발생한다
ontoggleclick
toggle 이미지(아이콘)이 클릭된 경우 발생한다
ontooltiphide
툴팁이 사라질 때 발생
ontooltipshow
툴팁이 나타날 때 발생
onviewchange
키보드 또는 마우스 조작을 통해 값이 변경된 경우 발생.

Method Summary

addClass( className )
컴포넌트에 CSS class를 추가
appendData( index , xmlArray )
index에 해당하는 노드 하위에 사용자 데이터를 기반으로 노드를 추가한다.
appendNode( parentNode , childNode )
TreeView에서 반환하는 Node를 기반으로 parentNode 하위에 childNode를 추가한다.
appendXmlNodes( parentNode , xmlArray )
TreeView에서 반환하는 Node(parentNode)의 하위에 XML 데이터를 기반으로 노드를 추가한다.
bind( eventType , function )
컴포넌트에 이벤트와 핸들러 함수를 동적으로 할당
changeClass( oldClassName , newClassName )
웹스퀘어 컴포넌트의 class를 변경. (웹스퀘어 컴포넌트 공통.)
checkByIndex( value , checkValue , childCheck )
index를 기반으로 노드(항목)을 찾아 checkbox의 value를 설정한다.
checkByValue( value , checkValue , childCheck )
value를 기반으로 노드(항목)을 찾아 checkbox의 value를 설정한다.
collapseNode( value , hierarchy )
value 또는 index를 기반으로 찾은 노드(항목)를 접는다
deselectNode( )
선택된 노드를 해제한다
disableCheckboxByValue( value , checkDisabled , childDisabled )
value를 기반으로 노드(항목)을 찾아 checkbox의 disabled를 설정한다
expandNode( value , hierarchy )
value 또는 index를 기반으로 찾은 노드(항목)를 확장한다
findNodeByIndex( index , select )
초기에 각 노드에 설정된 index를 기반으로 노드 반환한다. 두번째 인자가 true인 경우 해당 노드를 선택한다.
findNodeByValue( value , select )
value를 기반으로 노드를 찾아서 해당 노드를 반환한다. 두번째 인자가 true인 경우 해당 노드를 선택한다.
focus( )
웹스퀘어 컴포넌트에 포커스를 줌
getCheckedIndexes( options )
checkbox가 체크된 노드들의 index(초기 로딩시 설정)를 배열에 담아 반환한다.
getCheckedLabels( options )
checkbox가 체크된 노드들의 label을 배열에 담아 반환한다
getCheckedNodes( options )
checkbox가 체크된 노드들을 배열에 담아 반환한다.
getCheckedValues( options )
checkbox가 체크된 노드들의 value를 배열에 담아 반환한다
getChildData( value , hierarchy )
value에 해당하는 node의 자식의 data(model에 존재하는)를 반환합니다
getDataListInfo( )
컴포넌트와 바인딩된 DataList를 반환
getDisabled( )
현재 웹스퀘어 컴포넌트에 설정된 disabled 속성 값을 반환
getGenerator( )
컴포넌트가 Generator에 의해 생성된 경우, 자신을 생성한 부모 Generator 객체를 반환
getID( )
웹스퀘어 컴포넌트의 ID를 반환
getInitStyle( CSS )
웹스퀘어 컴포넌트의 초기 스타일을 반환
getLastChildIndex( srcIndex )
srcIndex에 해당하는 노드의 최종자식노드(자식의 자식을 중첩 탐색)의 index를 반환한다
getOpacity( )
웹스퀘어 컴포넌트의 불투명도를 반환. (웹스퀘어 컴포넌트 공통.)
getOriginalID( )
웹스퀘어 컴포넌트의 originalID를 반환. (웹스퀘어 컴포넌트 공통.)
getParentValue( value )
노드의 value를 기반으로 부모 노드를 찾아 value를 반환한다.
getPluginName( )
웹스퀘어 컴포넌트의 이름(pluginName)을 반환
getPosition( positionName )
웹스퀘어 컴포넌트의 위치(left, top)를 반환. (웹스퀘어 컴포넌트 공통.)
getReadOnly( )
현재 웹스퀘어 컴포넌트에 설정된 readOnly 속성 값을 반환
getScope( )
scope="true"인 WFrame의 자식 컴포넌트인 경우, 부모 WFrame 객체를 반환. (웹스퀘어 컴포넌트 공통.)
getScopeWindow( )
scope="true"인 WFrame의 자식 컴포넌트인 경우, 부모 WFrame 객체를 반환. (웹스퀘어 컴포넌트 공통.)
getSelectedIndex( )
선택된 노드의 index(초기 로딩시 설정 된 값)를 반환한다.
getSelectedLabel( )
선택된 노드의 label을 반환한다.
getSelectedNode( )
선택된 노드객체를 반환한다.
getSelectedValue( )
선택된 노드의 value를 반환한다.
getSize( sizeName )
웹스퀘어 컴포넌트의 크기(width, height)를 반환. (웹스퀘어 컴포넌트 공통.)
getStyle( propertyName )
웹스퀘어 컴포넌트의 CSS 속성 값을 반환
getStyleValue( style )
[deprecated]
getTitle( )
컴포넌트의 title 속성 값을 반환
getUdcHome( )
UDC 객체가 자신을 정의한 UDC 파일 경로를 파일명을 포함해서 반환. (웹스퀘어 컴포넌트 공통.)
getUdcRoot( )
UDC 객체가 자신을 정의한 UDC 파일 경로를 반환. (웹스퀘어 컴포넌트 공통.)
getUserData( key )
setUserData로 웹스퀘어 컴포넌트에 설정한 key의 value 혹은 사용자가 직접 페이지 소스(XML)에 속성으로 정의한 value를 반환
getXPathByValue( value )
value에 해당하는 노드의 XPath를 반환한다.
hasClass( className )
웹스퀘어 컴포넌트가 특정 class를 포함하고 있는지 확인
hide( )
웹스퀘어 컴포넌트를 화면에서 숨김. (웹스퀘어 컴포넌트 공통.)
isLeaf( )
선택된 노드가 leaf인지(자식노드가 없는지)의 여부를 반환한다
isOpen( index )
초기에 각 노드에 설정된 index를 기반으로 해당 index에 상응하는 노드가 열려있는지 닫혀있는지 여부를 반환한다.
notifyDataChanged( )
treeview와 dataList를 전체적으로 동기화한다
removeClass( className )
웹스퀘어 컴포넌트에서 class를 삭제. (웹스퀘어 컴포넌트 공통.)
removeNode( node )
노드 객체를 기반으로 노드(자식노드 포함)를 삭제한다
removeNodeList( nodeList )
노드 객체를 기반으로 다건의 노드(자식노드 포함)를 삭제한다.
setCustomFormatter( userFunction )
사용자가 지정한 함수를 treeview의 node를 돌면서 각각 한번씩 호출합니다
setEventPause( evList , flag )
지정한 이벤트를 중단함
setInitStyle( property )
웹스퀘어 컴포넌트의 초기 스타일을 복구
setLabelByIndex( index , label )
노드의 index를 기반으로 label을 변경한다.
setLabelByValue( value , label )
노드의 value를 기반으로 label을 변경한다
setLabelStyle( index , styleName , styleValue , applyChildNodes )
해당 node의 label style(node의 글자색, 글자크기, 글꼴 등)을 변경합니다
setNodeSet( nodeset , columnInfo )
treeView와 연동된 dataList를 다른 dataList로 변경한다
setOpacity( value )
웹스퀘어 컴포넌트의 불투명도를 설정. (웹스퀘어 컴포넌트 공통.)
setPosition( left , top , mode )
웹스퀘어 컴포넌트의 위치(left, top)를 설정
setReadOnly( readOnly )
웹스퀘어 컴포넌트의 readOnly 속성을 설정
setShowCheckBox( )
showCheckbox 값을 동적으로 설정
setSize( width , height )
웹스퀘어 컴포넌트의 크기(width, height)를 설정
setStyle( propertyName , value )
웹스퀘어 컴포넌트의 CSS 속성을 설정
setUserData( key , value )
웹스퀘어 컴포넌트에 임의의 데이터를 설정. (웹스퀘어 컴포넌트 공통.)
setValueByIndex( index , value )
노드의 index 기반으로 value을 변경한다
show( displayType )
웹스퀘어 컴포넌트를 화면에 표시. (웹스퀘어 컴포넌트 공통.)
spanAll( openCloseFlag )
openCloseFlag에 따라서 모든 자식 노드를 span시켜 준다
spanNode( nodeIndex , openCloseFlag , applyChildNodes )
옵션에 해당하는 node를 span시켜 준다
toggleClass( className )
웹스퀘어 컴포넌트에서 특정 class를 제거하거나 추가. (웹스퀘어 컴포넌트 공통.)
trigger( type , array )
컴포넌트에서 특정 이벤트를 발생시킴
unbind( type , function )
컴포넌트에서 이벤트를 제거
visible( flag )
[deprecated]

Property Detail

accessibility
[true,false]웹접근성 모드의 사용 여부로 true로 설정할 경우 각 노드의 line은 그려지지 않으며 aria-expanded와 같은 HTML 속성들이 추가된다.
alwaysDraw
[default:false, true]초기에 child 노드를 전부 표현할지의 여부로 true이면 화면 로딩시 child를 모두 그리고 false이면 노드의 Depth가 showTreeDepth속성의 값보다 작은 노드만 먼저 그린다.
checkAllChildNodes
[default:false, true]부모노드를 체크하면 자식노드도 모두 체크할지의 여부
checkboxDisabledFalseValue
체크박스의 disabled여부의 false값으로 기본적으로 checkbox의 ref 및 checkboxDisabled의 ref가 설정되어야 동작한다.
checkboxDisabledTrueValue
체크박스의 disabled여부의 true값으로 기본적으로 checkbox의 ref 및 checkboxDisabled의 ref가 설정되어야 동작한다.
class
HTML의 class 속성과 동일한 기능을 제공. CSS 파일이나 style 블럭에 정의한 여러 개의 class를 공백으로 구분하여 적용 가능.
Engine 내부에서 각 컴포넌트 별로 지정된 class를 적용하나, class 속성을 이용하여 컴포넌트의 CSS를 제어 가능.
customFormatter
label값, formattedLabel, node를 각각 인자를 받는 조건부 서식 formatter 함수명.
dataType
[default:recursive, listed]데이터의 포맷이 tree형태인지 list형태인지를 정의한다.
DataCollection으로 적용할 경우 listed로 설정한다.
defaultImage
노드에 보여질 기본 아이콘의 이미지경로를 설정한다.
아이콘의 기본 크기 - width:18px, height:20px
disabled
컴포넌트 비활성 여부. (옵션 설명) "false" (기본 값) 컴포넌트를 비활성화 하지 않음. "true" 컴포넌트를 비활성화 함.
dynamicAppend
[true,false]동적 트리 추가 사용 여부.
escape
[true, false] <>&"를 HTML Escape 문자로 변환하여 화면에 표시. (옵션 설명) "true" (기본 값) : Escape 문자로 변환하지 않음. "false" : Escape 문자로 변환하여 화면에 표시.
expandedImage
노드(폴더)가 확장되었을 때의 이미지 경로.
falseValue
chckbox의 false 값
hierarchy
[default:false, true]하위 노드가 선택되었을 때, 상위 노드를 체크할지 여부.
하위 노드 중 체크되지 않은 항목이 있는 경우, 상위 노드의 체크박스를 반투명하게 표시하며 showCheckbox 속성이 true일 경우 적용된다.
id
컴포넌트 ID.
컴포넌트 ID는 전역 객체로 할당됨. 각 컴포넌트 ID를 통해 Script에서 해당 컴포넌트에 접근 가능.
labelclass
노드의 label에 적용할 class명
lineShow
[default:true, false]노드 사이에 선을 적용할 지의 여부
moveSibling
[default:false, true] moveNode api사용시에 bAppendChild가 false일 때, srcIndex노드의 자식 노드도 같이 이동시킬지 여부.
refreshCheckboxDisableModel
[default:false, true]checkbox의 disable이 변경된 경우 model영역(DataCollection, InstanceData)에 실시간 반영할지 여부
refreshCheckboxModel
[default:false, true]checkbox의 값이 변경된 경우 model영역(DataCollection, InstanceData)에 실시간 반영할지 여부
renderType
treeView를 렌더링하는 방식
값: table (기본 값), virtual
rowHeight
트리 노드의 높이 값 (단, renderType이 virtual일 때만 적용된다.) (단위:px)
scrollFix
[default:false, true]노드를 click할 경우 포커스를 주지 않도록 하여 스크롤을 고정시킬지(true), 해당 노드에 포커스를 주어 스크롤이 움직이게 할지(false)의 여부.
showCheckbox
[default:false, true]노드에 checkbox의 표시 여부.
showTreeDepth
초기 로딩시 확장되어 보여질 노드의 depth값
tabIndex
Tab 키를 이용하여 포커스를 변경할 경우, 해당 컴포넌트에 포커스를 주는 순서.
HTML의 tabindex 속성과 동일.
title
HTML의 title 속성과 동일. 마우스 오버 시, title로 저장한 값이 툴팁으로 표시됨. 일반적으로 웹접근성 지원용으로 설정.
toggleButtonEvent
[default:onclick, onmousedown]toggleButton(toggleImage)을 마우스로 클릭할 때 toggle할 것인지, 또는 마우스를 누르는 순간 바로 toggle될 것인지를 설정한다.
toggleEvent
[default:ondblclick, onclick, none]노드에 마우스 이벤트를 적용하여 리스트를 펼치고 접을 때의 적용하고자 하는 이벤트.
toolTip
사용자가 컴포넌트에 마우스-오버할 때 표시되는 텍스트. 웹스퀘어가 제공하는 툴팁으로, 컴포넌트의 추가 정보를 명시.
tooltipClass
툴팁에 적용할 스타일 class. 툴팁을 표시할 경우(tooltipDisplay="true") 유효. (관련 속성) tooltipDisplay="true"
tooltipDisplay
[default:false, true]노드의 label이 화면에 다 보여지지 않을 경우 해당 label을 tooltip으로 표현할지의 여부
tooltipFormatter
tooltipDisplay속성이 true일 때 데이터를 표현 할 tooltip의 내용을 변경 할 사용자 함수명.
사용자 함수에서는 label, nodeIndex, isOverflow을 인자로 받아 tooltip에 표현 할 string을 return한다.
tooltipGroupClass
[default:true, false]tooltip에 w2group 스타일을 포함시킬지(true)의 여부.
tooltipShowAlways
[default:false, true] 데이터에 대한 tooltip을 마우스 over 시 항상 보여줄지에 대한 여부로 데이터가 공백("")인 경우를 제외하고는 항상 보여준다.
tooltipTime
툴팁 표시 시간. (단위: 초)
툴팁을 표시할 경우(tooltipDisplay="true")에만 유효. (관련 속성) tooltipDisplay="true"
trueValue
checkbox의 true 값
useDrag
[default:false, true]drag의 사용여부
useHirarchySelect
[default:false, true] 하위 노드를 선택했을 때 상위 노드도 같이 선택할지의 여부.
userData1
사용자 정의 데이터 속성. getUserData("userData1") API를 통해 설정한 값을 얻어올 수 있음. // 속성 값 얻어오기 예시 getUserData("userData1");
userData2
사용자 정의 데이터 속성. getUserData("userData2") API를 통해 설정한 값을 얻어올 수 있음. // 속성 값 얻어오기 예시 getUserData("userData2");
userData3
사용자 정의 데이터 속성. getUserData("userData3") API를 통해 설정한 값을 얻어올 수 있음. // 속성 값 얻어오기 예시 getUserData("userData3");

Event Detail

onchange
선택된 노드가 변경될 경우 발생한다.
Parameter
nametypedescription
oldNodenode이전 노드
newNodenode현재 선택된 노드
Sample
ev:event="onchange(oldNode,newNode)" 로 인자가 정의된 경우, newNode.label , newNode.value를 통해 getSelectedLabel(), getSelectedValue()를 대체가능 Node에 모든정보가 담겨져있어 필요한정보만 가져다 쓰면됩니다.
oncheckboxclick
Checkbox가 클릭된 경우 발생
Parameter
nametypedescription
valueString클릭된 node의 value
nodeElementDocument클릭된 node의 Element
indexString클릭된 node의 index
Sample
ev:event="oncheckboxclick(value, nodeElement)" 로 인자가 정의된 경우, bag인 label의 checkbox를 클릭. var xmlStr = WebSquare.xml.indent(nodeElement); xmlStr의 예는 다음과 같다. <data> <label>bag</label> <value>2</value> <depth>1</depth> <chk>T</chk> <disableChk></disableChk> <img>images/bag.gif</img> </data> value는 2이다.
onclick
label, checkbox, icon, toggle버튼(+,-버튼)을 클릭했을 때 발생한다.
ondblclick
label을 더블클릭했을 때 발생한다
ondragleave
useDrag속성이 true이고 drag하는 도중에 마우스 위치가 노드의 순수 label영역(icon영역 미포함)을 벗어난 경우 발생한다.
Parameter
nametypedescription
eObject이벤트(e)
ondragover
useDrag속성이 true이고 drag하는 도중에 마우스의 위치가 노드의 위에 있을 때 발생한다.
Parameter
nametypedescription
dragNodeObjectdrag중인 treeview의 node
dropNodeObjectdragover된 위치에 해당하는 treeview의 node
dragControlObjectdrag가 발생한 treeview component 객체. 일반적으로 dragControl = this;
dropControlObjectdrop된 위치에 해당하는 treeview component 객체.
eObject이벤트(e)
ondrop
useDrag속성이 true이고 다른 treeview의 노드가 drag되어 본 treeview의 노드 위에서 drop 되었을 때 발생한다.
Parameter
nametypedescription
dragNodeObjectdrag중인 treeview의 노드 <String> dragNode.label : drag된 노드의 label <String> dragNode.value : drag된 노드의 value <String> dragNode.depth : drag된 노드의 depth <Object> dragNode.element : drag된 노드의 element객체
dropNodeObjectdrop된 위치에 해당하는 treeview의 노드 <String> dropNode.label : drop된 노드의 label <String> dropNode.value : drop된 노드의 value <String> dropNode.depth : drop된 노드의 depth <Object> dropNode.element : drop된 노드의 element객체
dragControlTreeViewdrag가 발생한 treeview 객체
dropControlTreeViewdrop된 위치에 해당하는 treeview 객체로 이벤트 안에서의 this와 같다
eObject이벤트(e)
Sample
//drag된 노드를 drop된 노드 하위로 추가하고 drag된 노드는 삭제할 경우 (useDrag속성을 true로 설정 후 로직을 구현한다) <script ev:event="ondrop(dragNode,dropNode,dragControl,dropControl,e)"type="javascript"><![CDATA[ //현재의 treeview에 drag된 노드 추가 this.appendNode(dropnode,dragnode); //this 대신 dropControl로 접근해도 된다 //drag가 발생한 treeview의 drag된 노드 삭제 dragControl.removeNode( dragnode ); ]]></script>
oneditend
setEditMode API를 통해 레이블 편집모드를 활성화시킨 상태에서 편집모드가 종료된 직후에 발생하는 이벤트
Parameter
nametypedescription
infoObject편집하기 전의 레이블값, 편집 후의 레이블값, 편집 대상이 된 node의 index 정보를 담은 객체 <Number> info.index : 편집 대상이 되는 node의 index <String> info.oldValue : 편집 전의 label값 <String> info.newValue : 편집 후의 label값
onimageclick
노드의 icon을 클릭한 경우 발생한다.
Parameter
nametypedescription
valueString클릭된 노드의 value
nodeElementXML클릭된 노드의 정보가 담긴 XML
indexString클릭된 노드의 index 문자열
onlabelclick
노드의 label을 클릭한 경우 발생한다.
Parameter
nametypedescription
valueString클릭된 노드의 value
nodeElementXML클릭된 노드의 정보가 담긴 XML
indexString클릭된 노드의 index 문자열
Sample
//아래와 같이 labelclick이벤트가 정의 된 경우의 arguments 예시 <script ev:event="onlabelclick(value,nodeElement,index)" type="javascript"><![CDATA[ //nodeElement 예시 ) <data index="3"> <label>bag</label> <value>2</value> <depth>1</depth> <chk>t</chk> <rowStatus statusValue="0">R</rowStatus> </data> //index의 return 예시 ) "3" ]]></script>
onlabelover
treeview label에 마우스를 올렸을때 발생하는 이벤트
Parameter
nametypedescription
indexString마우스를 올린 노드의 index 문자열
nodeElementDocument마우스를 올린 노드의 정보가 담긴 XML
valueString마우스를 올린 노드의 value 문자열
onrightbuttonclick
노드의 영역에서 마우스 오른쪽 버튼이 클릭된 경우 발생한다. 노드의 영역 범위는 label, 이미지(아이콘), 체크박스까지이다.
Parameter
nametypedescription
nodeObject오른쪽버튼 클릭이 발생한 위치에 해당하는 node. 아래는 주요 정보들이다. <Boolean> node.checked : checkbox의 check여부 <Number> node.depth : 노드의 depth <Number> node.dpethIndex : 부모 노드를 기준으로 한 index <Number> node.index : 전체 노드를 기준으로 한 index <String> node.label : 노드의 label <String> node.value : 노드의 value <Object> node.parentNode : 부모 노드 객체
leftPositionNumberclick 된 마우스 좌표의 left(x)값
topPositionNumberclick 된 마우스 좌표의 top(y)값
ontoggleclick
toggle 이미지(아이콘)이 클릭된 경우 발생한다.
Parameter
nametypedescription
nodeElementDocument클릭된 노드의 정보가 담긴 XML
indexString클릭된 노드의 index 문자열
isRenderedboolean하위 노드의 렌더링 유무
Sample
//아래와 같이 toggleclick이벤트가 정의 된 경우의 arguments 예시 <script ev:event="ontoggleclick(nodeElement,index,isRendered)" type="javascript"><![CDATA[ //nodeElement 예시 ) <data index="2"> <depth>2</depth> <label>메뉴1-2</label> <value>menu1-2</value> <chk>f</chk> <rowStatus statusValue="0">R</rowStatus> <data index="3"> <depth>3</depth> <label>메뉴1-2-1</label> <value>menu1-2-1</value> <chk>f</chk> <rowStatus statusValue="0">R</rowStatus> </data> </data> //index의 return 예시 ) "3" //isRendered의 return 예시 ) true ]]></script>
ontooltiphide
툴팁이 사라질 때 발생
ontooltipshow
툴팁이 나타날 때 발생
onviewchange
키보드 또는 마우스 조작을 통해 값이 변경된 경우 발생.
스크립트를 통해 값이 변경된 경우에는 발생하지 않음. (native onchange 이벤트와 유사함.)
Parameter
nametypedescription
infoJSONoldNode, newNode를 포함한 JSON을 반환한다. <JSON> info.oldNode : 이전 노드의 객체 (index, label, value, checked등의 정보를 담고 있다.) <JSON> info.newNode : 현재 선택된 노드의 객체 (index, label, value, checked등의 정보를 담고 있다.)
Sample
<script ev:event="onviewchange(info)" type="javascript"><![CDATA[ //현재 선택 된 노드 var tmpCurNode = info.newNode; //이전 노드 var tmpOldNode = info.oldNode; //선택 된 노드의 주요 정보 var tmpCurLabel = tmpCurNode.label; //선택 된 노드의 label var tmpCurValue = tmpCurNode.value; //선택 된 노드의 value var tmpCurChecked = tmpCurNode.checked; //선택 된 노드의 checkbox 선택 여부 (boolean값) //이전 노드의 주요 정보 var tmpOldLabel = tmpOldNode.label; //이전 노드의 label var tmpOldValue = tmpOldNode.value; //이전 노드의 value var tmpOldChecked = tmpOldNode.checked; //이전 노드의 checkbox 선택 여부 (boolean값) ]]></script>

Method Detail

addClass( className )
컴포넌트에 CSS class를 추가. (웹스퀘어 컴포넌트 공통.)
Parameter
nametyperequireddescription
classNameStringY추가할 class의 이름
Sample
// (예제) // input1 컴포넌트에 oddClass라는 class를 추가 input1.addClass("oddClass");
appendData( index , xmlArray )
index에 해당하는 노드 하위에 사용자 데이터를 기반으로 노드를 추가한다.
dynamicAppend속성이 true로 설정되야한다.
Parameter
nametyperequireddescription
indexNumberY노드의 index
xmlArrayArrayY추가할 노드의 XML 데이터가 담긴 1차원 배열
Sample
//구현 샘플 : DataLiat를 정의하고 TreeView와 연동한 다음 appendData API를 이용하여 "즐겨찾기"노드의 하위에 XML 데이터를 기반으로 노드를 추가한다. //1. DataList 정의. <w2:dataList id="dc_favMenu" baseNode="list" style="" repeatNode="data" valueAttribute=""> <w2:columnInfo> <w2:column id="depth" name="depth" dataType="text"></w2:column> <w2:column id="label" name="label" dataType="text"></w2:column> <w2:column id="value" name="value" dataType="text"></w2:column> <w2:column id="chk" name="체크박스" dataType="text"></w2:column> </w2:columnInfo> <w2:data xmlns="" use="true"> <w2:row> <depth><![CDATA[1]]></depth> <label><![CDATA[즐겨찾기]]></label> <value><![CDATA[menu00]]></value> <chk><![CDATA[f]]></chk> </w2:row> </w2:data> </w2:dataList> //2. TreeView 정의 (소스의 길이가 길어져서 필요 없는 속성 및 항목은 삭제함.) <w2:treeview dataType="listed" id="treeview1" refreshCheckboxModel="true" showCheckbox="true" dynamicAppend="true" trueValue="t" falseValue="f" style="position: relative;width: 200px;height: 400px;float:left;margin-right:10px;border:1px solid pink;"> <w2:itemset nodeset="data:dc_favMenu"> <w2:label ref="label"></w2:label> <w2:value ref="value"></w2:value> <w2:depth ref="depth"></w2:depth> <w2:checkbox ref="chk"></w2:checkbox> </w2:itemset> </w2:treeview> //3.appendData API로 노드 추가하기 //3.1 XML 문자열 정의- XML데이터는 DataList에 정의 된 Data구를 참조하여 생성한다. var tmpStr = "<list>"; tmpStr += "<data><depth>2</depth><label>메뉴1-1</label><value>menu1-1</value><chk>f</chk></data>"; tmpStr += "<data><depth>2</depth><label>메뉴1-2</label><value>menu1-2</value><chk>f</chk></data>"; tmpStr += "</list>"; //3.2 XML 생성 var tmpDoc = WebSquare.xml.parse(tmpStr); //3.3 appendData에 사용할 파라메터 (XML Array) 생성 var tmpDocArr = WebSquare.xml.findNodes(tmpDoc,"list/data"); //3.4 TreeView의 첫번째 노드에 추가. treeview1.appendData(1,tmpDocArr); //appendData 호출 이전의 Display 예시 ) - 즐겨찾기 //appendData 호출 후 Display 예시 ) -[-] 즐겨찾기 - └─ 메뉴1-1 - └─ 메뉴2-1
appendNode( parentNode , childNode )
TreeView에서 반환하는 Node를 기반으로 parentNode 하위에 childNode를 추가한다.
dynamicAppend속성이 true로 설정되야하며 일반적으로 TreeView끼리의 노드 추가 시에 사용되며 TreeView의 이벤트 또는 API로 Node를 반환 받아 파라메터로 사용한다.
Parameter
nametyperequireddescription
parentNodeObjectY기준 Node
childNodeObjectY추가할 Node
Sample
//샘플 예제 - 왼쪽 TreeView(treeview1)에서 항목(노드)을 Drag하여 오른쪽 TreeView(treeview2)의 항목(노드) 위에서 Drop하여 항목(노드)을 이동시킨다. //1. DataList와 임시 데이터 정의 - 왼쪽 트리뷰 : dc_menu , 오른쪽 트리뷰 - dc_favMenu <w2:dataList id="dc_menu" baseNode="list" repeatNode="data"> <w2:columnInfo> <w2:column id="depth" name="depth" dataType="text"></w2:column> <w2:column id="label" name="label" dataType="text"></w2:column> <w2:column id="value" name="value" dataType="text"></w2:column> </w2:columnInfo> <w2:data xmlns="" use="true"> <w2:row> <depth><![CDATA[1]]></depth> <label><![CDATA[메뉴1]]></label> <value><![CDATA[menu1]]></value> </w2:row> <w2:row> <depth><![CDATA[2]]></depth> <label><![CDATA[메뉴1-1]]></label> <value><![CDATA[menu1-1]]></value> </w2:row> <w2:row> <depth><![CDATA[2]]></depth> <label><![CDATA[메뉴1-2]]></label> <value><![CDATA[menu1-2]]></value> </w2:row> <w2:row> <depth><![CDATA[3]]></depth> <label><![CDATA[메뉴1-2-1]]></label> <value><![CDATA[menu1-2-1]]></value> </w2:row> <w2:row> <depth><![CDATA[2]]></depth> <label><![CDATA[메뉴1-3]]></label> <value><![CDATA[menu1-3]]></value> </w2:row> <w2:row> <depth><![CDATA[1]]></depth> <label><![CDATA[메뉴2]]></label> <value><![CDATA[menu2]]></value> </w2:row> </w2:data> </w2:dataList> <w2:dataList id="dc_favMenu" baseNode="list" repeatNode="data"> <w2:columnInfo> <w2:column id="depth" name="depth" dataType="text"></w2:column> <w2:column id="label" name="label" dataType="text"></w2:column> <w2:column id="value" name="value" dataType="text"></w2:column> </w2:columnInfo> <w2:data xmlns="" use="true"> <w2:row> <depth><![CDATA[1]]></depth> <label><![CDATA[즐겨찾기]]></label> <value><![CDATA[menu00]]></value> </w2:row> </w2:data> </w2:dataList> //2. TreeView 정의 //2.1 메뉴가 담길 왼쪽 TreeView로 Drag를 사용해야 함으로 userDrag 속성을 true로 설정 <w2:treeview dataType="listed" id="treeview1" useDrag="true" style="position: relative;width: 200px;height: 400px;float:left;margin-right:10px;border:1px solid orange;"> <w2:itemset nodeset="data:dc_menu"> <w2:label ref="label"></w2:label> <w2:value ref="value"></w2:value> <w2:depth ref="depth"></w2:depth> <w2:folder ref=""></w2:folder> <w2:checkbox ref=""></w2:checkbox> <w2:checkboxDisabled ref=""></w2:checkboxDisabled> <w2:image ref=""></w2:image> <w2:iconImage ref=""></w2:iconImage> <w2:selectedImage ref=""></w2:selectedImage> <w2:expandedImage ref=""></w2:expandedImage> <w2:leafImage ref=""></w2:leafImage> </w2:itemset> </w2:treeview> //2.2 메뉴가 추가 될 오른쪽 TreeView로 동적으로 노드를 추가해야하므로 dynamicAppend속성을 true로 설정. //2.3 항목(노드)위에서 Drop시 해당 항목 하위로 노드를 추가해야하므로 ondrop 이벤트 설정. <w2:treeview dataType="listed" id="treeview2" dynamicAppend="true" style="position: relative;width: 200px;height: 400px;float:left;margin-right:10px;border:1px solid pink;"> <w2:itemset nodeset="data:dc_favMenu"> <w2:label ref="label"></w2:label> <w2:value ref="value"></w2:value> <w2:depth ref="depth"></w2:depth> <w2:folder ref=""></w2:folder> <w2:checkbox ref=""></w2:checkbox> <w2:checkboxDisabled ref=""></w2:checkboxDisabled> <w2:image ref=""></w2:image> <w2:iconImage ref=""></w2:iconImage> <w2:selectedImage ref=""></w2:selectedImage> <w2:expandedImage ref=""></w2:expandedImage> <w2:leafImage ref=""></w2:leafImage> </w2:itemset> <script ev:event="ondrop(dragNode,dropNode,dragControl,dropControl,e)" type="javascript"><![CDATA[ //이벤트에서 넘어오는 dropNode와 dragNode를 이용하여 현재 컴포넌트에 노드 추가 //dropNode : drop 이벤트가 일어난 노드, dragNode : drag 되어 넘어온 노드 this.appendNode(dropNode,dragNode); //drag되어 넘어 온 노드를 drag된 컴포넌트에서 삭제 //dragNode : drag 된 노드, dragControl : drag가 일어난 컴포넌트로 treeview1 이다. dragControl.removeNode( dragNode ); ]]></script> </w2:treeview>
appendXmlNodes( parentNode , xmlArray )
TreeView에서 반환하는 Node(parentNode)의 하위에 XML 데이터를 기반으로 노드를 추가한다.
dynamicAppend속성이 true로 설정되야한다.
Parameter
nametyperequireddescription
parentNodeObjectY기준 Node
xmlArrayArrayY추가할 노드의 XML 데이터가 담긴 1차원 배열
Sample
//사용자가 선택한 TreeView의 항목(노드)에 XML 데이터를 기반으로 항목(노드)를 추가하기 //1. DataList 정의 <w2:dataList id="dc_favMenu" baseNode="list" repeatNode="data" valueAttribute=""> <w2:columnInfo> <w2:column id="depth" name="depth" dataType="text"></w2:column> <w2:column id="label" name="label" dataType="text"></w2:column> <w2:column id="value" name="value" dataType="text"></w2:column> </w2:columnInfo> <w2:data xmlns="" use="true"> <w2:row> <depth><![CDATA[1]]></depth> <label><![CDATA[즐겨찾기]]></label> <value><![CDATA[menu00]]></value> </w2:row> </w2:data> </w2:dataList> //2. TreeView 정의 - 소스의 길이가 길어져서 필요 없는 속성 및 항목은 삭제함. //동적 노드(항목) 추가를 위해 dynamicAppend속성을 true로 설정. <w2:treeview dataType="listed" id="treeview1" dynamicAppend="true" style="position: relative;width: 200px;height: 400px;float:left;margin-right:10px;border:1px solid pink;"> <w2:itemset nodeset="data:dc_favMenu"> <w2:label ref="label"></w2:label> <w2:value ref="value"></w2:value> <w2:depth ref="depth"></w2:depth> </w2:itemset> </w2:treeview> //3. Script 영역에서 TreeView에 선택 된 노드 하위로 appendXmlNodes API를 호출하여 노드(항목)추가하기 //3.1 TreeView에서 선택 된 노드 얻기 var tmpPNode = treeview1.getSelectedNode(); //3.2 선택 된 노드가 없는 경우 alert. if(!tmpPNode){ alert("TreeView의 항목(노드)를 선택하세요"); return; } //3.3 추가할 XML 문자열 생성 var tmpStr = "<list>"; tmpStr += "<data><depth>2</depth><label>메뉴1-1</label><value>menu1-1</value><chk>f</chk></data>"; tmpStr += "<data><depth>2</depth><label>메뉴1-2</label><value>menu1-2</value><chk>f</chk></data>"; tmpStr += "</list>"; //3.4 XML 생성 var tmpDoc = WebSquare.xml.parse(tmpStr); //3.5 appendXmlNodes에 사용할 파라메터 (XML Array) 생성 var tmpDocArr = WebSquare.xml.findNodes(tmpDoc,"list/data"); //3.6 선택 된 노드에 추가. treeview1.appendXmlNodes( tmpPNode , tmpDocArr );
bind( eventType , function )
컴포넌트에 이벤트와 핸들러 함수를 동적으로 할당. (웹스퀘어 컴포넌트 공통.)
Parameter
nametyperequireddescription
eventTypeStringY할당할 이벤트
functionFunctionY이벤트에 대한 핸들러 함수.
Sample
// (예제 1) // input1의 onclick 이벤트에 대한 핸들러 함수를 직접 정의하여 할당. input1.bind("onclick", function(e){ alert(input1.getValue();})); // (예제 2) // 미리 commObj.ev_click 함수를 정의. var commObj = {}; commObj.ev_click = function(e){ alert("click :: "+this.id); }; // input1 컴포넌트에 onclick 이벤트와 정의한 핸들러 함수를 동적으로 할당. input1.bind("onclick", commObj.ev_click );
changeClass( oldClassName , newClassName )
웹스퀘어 컴포넌트의 class를 변경. (웹스퀘어 컴포넌트 공통.)
기본적으로 addClass를 통해 추가된 class만 변경 가능.
웹스퀘어 컴포넌트의 class 속성에 직접 정의된 class를 삭제하려면 config.xml 파일에 아래 설정을 추가해야 함. // config.xml에 아래 설정을 추가. <style><removeDefaultClass value="true" /></style>
Parameter
nametyperequireddescription
oldClassNameStringY변경할 class
newClassNameStringY새로 사용할 class
Sample
// inputBox 컴포넌트에 class가 속성으로 직접 정의됨. <xf:input id="input1" style="position: relative;width: 144px;height: 21px;" class="tmpInputClass"></xf:input> // config.xml 파일에 아래를 추가. <style> <removeDefaultClass value="true" /> </style> // class를 변경 가능. // (tmpInputClass class를 tmpInputWarninClass로 변경.) input1.changeClass("tmpInputClass","tmpInputWarninClass");
checkByIndex( value , checkValue , childCheck )
index를 기반으로 노드(항목)을 찾아 checkbox의 value를 설정한다.
trueValue, falseValue 속성의 값을 참조하여 check되며 해당 속성이 정의되지 않은 경우 각 true, false로 제어 가능하다.
Parameter
nametyperequireddescription
valueStringY대상 노드의 index
checkValueBoolean||StringYcheckbox의 value ( trueValue와 falseValue 속성이 정의되지 않은 경우 true, false로 제어가능하다 )
childCheckBooleanN선택한 노드의 자녀 노드의 checkbox check여부
Sample
//index가 1인 노드의 checkbox만 check한다. treeview1.checkByIndex( 1 , true); //index가 1인 노드와 하위 노드의 checkbox에 모두 check한다. treeview1.checkByIndex( 1 , true, true);
checkByValue( value , checkValue , childCheck )
value를 기반으로 노드(항목)을 찾아 checkbox의 value를 설정한다.
trueValue, falseValue 속성의 값을 참조하여 check되며 해당 속성이 정의되지 않은 경우 각 true, false로 제어 가능하다.
Parameter
nametyperequireddescription
valueStringY대상 노드의 value
checkValueBoolean||StringYcheckbox의 value ( trueValue와 falseValue 속성이 정의되지 않은 경우 true, false로 제어가능하다 )
childCheckBooleanN선택한 노드의 자녀 노드의 checkbox check여부
Sample
//"menu1-2" value를 가진 노드의 checkbox만 check한다. treeview1.checkByValue( "menu1-2" , true); //"menu1-2" value를 가진 노드와 하위 노드의 checkbox에 모두 check한다. treeview1.checkByValue( "menu1-2" , true, true);
collapseNode( value , hierarchy )
value 또는 index를 기반으로 찾은 노드(항목)를 접는다. index는 1부터 시작한다.
Parameter
nametyperequireddescription
valueString||NumberY대상 노드의 value 또는 index (index는 1부터 시작한다.)
hierarchyBooleanN자식 노드까지 적용할지의 여부
Sample
//첫번째 노드를 찾아 해당 노드만 접는다. treeview1.collapseNode( 1 , true); //value가 "menu1-2"인 노드를 찾아 해당 노드만 접는다. treeview1.collapseNode("menu1-2"); //value가 "menu1-2"인 노드를 찾아 해당 노드와 하위 노드를 접는다. treeview1.collapseNode("menu1-2" , true);
deselectNode( )
선택된 노드를 해제한다
disableCheckboxByValue( value , checkDisabled , childDisabled )
value를 기반으로 노드(항목)을 찾아 checkbox의 disabled를 설정한다.
Parameter
nametyperequireddescription
valueStringY대상 노드의 value
checkDisabledBooleanYcheckbox의 disabled 적용 여부
childDisabledBooleanN자녀 노드까지의 적용 여부
Sample
//value가 "menu1"인 노드를 찾아 해당 노드만 checkbox를 disabeld 처리한다. treeview1.disableCheckboxByValue("menu1",true);
//value가 "menu1"인 노드를 찾아 해당 노드와 하위 노드의 checkbox를 disabeld 처리한다. treeview1.disableCheckboxByValue("menu1",true,true);
expandNode( value , hierarchy )
value 또는 index를 기반으로 찾은 노드(항목)를 확장한다. index는 1부터 시작한다.
Parameter
nametyperequireddescription
valueString||NumberYvalue 대상 노드의 value 또는 index (index는 1부터 시작한다.)
hierarchyBooleanN자식 노드까지 적용할지의 여부
Sample
//첫번째 노드를 찾아 해당 노드만 확장한다. treeview1.expandNode( 1 , true); //value가 "menu1-2"인 노드를 찾아 해당 노드만 확장한다. treeview1.expandNode("menu1-2"); //value가 "menu1-2"인 노드를 찾아 해당 노드와 하위 노드를 확장한다. treeview1.expandNode("menu1-2" , true);
findNodeByIndex( index , select )
초기에 각 노드에 설정된 index를 기반으로 노드 반환한다. 두번째 인자가 true인 경우 해당 노드를 선택한다.
index는 1부터 시작하며 로딩 후 노드의 순서가 변경되도 초기에 설정된 index로 접근해야 한다.
Parameter
nametyperequireddescription
indexStringY초기 로딩 시 할당 된 노드의 index
selectbooleanN[default:true, false]노드를 선택 할지의 여부
Return
typedescription
Node검색된 Node
Sample
//로딩 후 노드의 이동이 없고 첫번째 노드를 선택 할 경우 var node1 = treeview1.findNodeByIndex(1); index가 1인 Node를 얻을 수 있다. var node1 = treeview1.findNodeByIndex(1, true); 위와 같이 두번째 인자에 true를 주면, index가 1인 Node를 선택함과 동시에 해당 Node를 얻을 수 있다.
findNodeByValue( value , select )
value를 기반으로 노드를 찾아서 해당 노드를 반환한다. 두번째 인자가 true인 경우 해당 노드를 선택한다.
반환 된 노드는 appendData, appendNode등의 API의 파라메터로 사용할 수 있다.
Parameter
nametyperequireddescription
valueStringY찾을 node의 value
selectbooleanN[default:true, false]노드를 선택 할지의 여부
Return
typedescription
Node검색된 Node
Sample
treeview에서 clothes, bags, shoes의 value는 1,2,3 이고 outer, bottom, dress의 value는 1-1, 1-2, 1-3인 경우, clothes 라벨이 선택되어 있는 예. -[-] clothes - │ [+] outer - │ [+] bottom - │ └─ dress -[+] bags - └─ shoes var node = treeview1.findNodeByValue("1-2"); bottom 라벨의 Node를 얻을 수 있다. var node = treeview1.findNodeByValue("1-2", true); 위와 같이 두번째 인자에 true를 주면, bottom 라벨의 Node를 선택함과 동시에 해당 Node를 얻을 수 있다.
focus( )
웹스퀘어 컴포넌트에 포커스를 줌. (웹스퀘어 컴포넌트 공통.)
getCheckedIndexes( options )
checkbox가 체크된 노드들의 index(초기 로딩시 설정)를 배열에 담아 반환한다.
로딩 후 노드의 순서가 변경되면 index가 화면에 보여지는 순서와 다르게 반환될 수 있다.
Parameter
nametyperequireddescription
optionsJSON> options hierarchy를 포함한 JSON | <Boolean> options.hierarchy hierarchy를 포함한 JSON
<Boolean> options.hierarchy : hierarchy속성 사용 시 반투명 체크된 노드를 포함할지에 대한 여부 <Boolean> options.excludeRoot : 루트노드를 제외할지에 대한 여부
Return
typedescription
Array체크된 노드들의 index가 담긴 배열
Sample
//1번째와 3번째 노드의 checkbox가 check된 경우 var tmpRs = treeview1.getCheckedIndexes(); //return 예시 )[1, 3]
getCheckedLabels( options )
checkbox가 체크된 노드들의 label을 배열에 담아 반환한다.
Parameter
nametyperequireddescription
optionsJSON> options hierarchy를 포함한 JSON | <Boolean> options.hierarchy hierarchy를 포함한 JSON
<Boolean> options.hierarchy : hierarchy속성 사용 시 반투명 체크된 노드를 포함할지에 대한 여부 <Boolean> options.excludeRoot : 루트노드를 제외할지에 대한 여부
Return
typedescription
Array체크된 노드들의 label가 담긴 배열
Sample
//1번째와 3번째 노드의 checkbox가 check되어 있고 각 노드의 label이 "Menu1", "Menu1-2"일 경우. var tmpRs = treeview1.getCheckedLabels(); //return 예시 ) ["Menu1", "Menu1-2"]
getCheckedNodes( options )
checkbox가 체크된 노드들을 배열에 담아 반환한다.
로딩 후 노드의 순서가 변경되면 index가 화면에 보여지는 순서와 다르게 반환될 수 있다.
Parameter
nametyperequireddescription
optionsJSON> options hierarchy를 포함한 JSON | <Boolean> options.hierarchy hierarchy를 포함한 JSON
<Boolean> options.hierarchy : hierarchy속성 사용 시 반투명 체크된 노드를 포함할지에 대한 여부 <Boolean> options.excludeRoot : 루트노드를 제외할지에 대한 여부
Return
typedescription
Array체크된 노드들이 담긴 배열
Sample
//1번째와 3번째 노드의 checkbox가 check된 경우 var tmpRs = treeview1.getCheckedNodes(); //return 예시 )1번째와 3번째 노드가 담긴 배열
getCheckedValues( options )
checkbox가 체크된 노드들의 value를 배열에 담아 반환한다.
Parameter
nametyperequireddescription
optionsJSON> options hierarchy를 포함한 JSON | <Boolean> options.hierarchy hierarchy를 포함한 JSON
<Boolean> options.hierarchy : hierarchy속성 사용 시 반투명 체크된 노드를 포함할지에 대한 여부 <Boolean> options.excludeRoot : 루트노드를 제외할지에 대한 여부
Return
typedescription
Array체크된 노드들의 value가 담긴 배열
Sample
//1번째와 3번째 노드의 checkbox가 check되어 있고 각 노드의 value이 "m1", "m1-2"일 경우. var tmpRs = treeview1.getCheckedValues(); //return 예시 ) ["m1", "m1-2"]
getChildData( value , hierarchy )
value에 해당하는 node의 자식의 data(model에 존재하는)를 반환합니다.
Parameter
nametyperequireddescription
valueStringY자식의 data를 반환할 node의 value
hierarchyBooleanN모든 자식의 data를 가져올지의 여부
Return
typedescription
Object자식의 data를 가지고 있는 배열
Sample
treeview에서 clothes, bags, shoes의 value는 1,2,3 이고 outer, bottom, dress의 value는 1-1, 1-2, 1-3인 경우, -[-] clothes - │ [+] outer - │ [+] bottom - │ └─ dress -[+] bags - └─ shoes var returnDoc = treeview1.getChildData('1'); returnDoc.length는 3이다. WebSquare.xml.indent(returnDoc[0])은 다음과 같다. <data> <label>outer</label> <value>1-1</value> <depth>2</depth> <chk></chk> <excChk></excChk> <img></img> <folder>true</folder> </data>
getDataListInfo( )
컴포넌트와 바인딩된 DataList를 반환.
Return
typedescription
Objectnodeset, label, value id를 객체로 반환
Sample
// 사용 예 treeview1.getDataListInfo();
getDisabled( )
현재 웹스퀘어 컴포넌트에 설정된 disabled 속성 값을 반환. (웹스퀘어 컴포넌트 공통.)
Return
typedescription
Booleandisabled 속성 값
Sample
// 컴포넌트의 disabled 속성 값 확인 예제 var returnValue = componentId.getDisabled(); // (반환 값 예시) false
getGenerator( )
컴포넌트가 Generator에 의해 생성된 경우, 자신을 생성한 부모 Generator 객체를 반환. (웹스퀘어 컴포넌트 공통.)
Return
typedescription
Object부모 Generator 객체
Sample
//부모 Generator가 자식으로 Trigger를 생성한 예제 <w2:generator id="generator1"> <w2:trigger id="trigger1" ev:onclick="scwin.trigger1_onclick"></w2:trigger></w2:generator> // 아래 예제의 경우 trigger1을 클릭하면 generator1 객체가 console에 표시됨. scwin.trigger1.onclick = function(){ console.log(this.getGenerator());}
getID( )
웹스퀘어 컴포넌트의 ID를 반환. (웹스퀘어 컴포넌트 공통.)
Return
typedescription
String웹스퀘어 컴포넌트 ID
Sample
// 동적으로 웹스퀘어 컴포넌트를 받을 경우, 아래와 같이 ID 확인 가능. function fn_validCheck(tmpObj){ var compID = tmpObj.getID(); } // 위의 예제 에서 tmpObj가 "input1" ID를 가지고 있는 경우, // (반환 값) "input1"
getInitStyle( CSS )
웹스퀘어 컴포넌트의 초기 스타일을 반환. (웹스퀘어 컴포넌트 공통.)
Parameter
nametyperequireddescription
CSSStringN속성 (지정하지 않으면 모든 정보 출력)
getLastChildIndex( srcIndex )
srcIndex에 해당하는 노드의 최종자식노드(자식의 자식을 중첩 탐색)의 index를 반환한다.
Parameter
nametyperequireddescription
srcIndexNumberY대상 노드의 index
Return
typedescription
Number최종자식노드의 index값
getOpacity( )
웹스퀘어 컴포넌트의 불투명도를 반환. (웹스퀘어 컴포넌트 공통.)
엔진 내부적으로 CSS의 opacity 속성 값을 반환.
Return
typedescription
IntegerOpacity 값
Sample
// inputBox 컴포넌트에 opacity CSS를 적용. <xf:input id="input1" style="position: relative;width: 144px;height: 21px;opacity:0.2;"></xf:input> // inputBox 컴포넌트의 opacity 값을 반환. var returnValue = input1.getOpacity(); // returnValue는 0 ~ 1 사이의 실수. // (반환 값) "0.2"
getOriginalID( )
웹스퀘어 컴포넌트의 originalID를 반환. (웹스퀘어 컴포넌트 공통.)
originalID는 Scope 기능을 사용할 경우 존재.
scope="true"인 WFrame를 사용할 경우, WFrame 내부의 컴포넌트 ID는 원래 사용자가 정의한 값(originalID) 앞에 prefix(wframeID + "_")가 추가되는 방식으로 변경됨.
originalID는 이 때, prefix가 추가되기 전 ID를 의미.
Return
typedescription
String컴포넌트의 originalID
Sample
// WFrame을 사용하는 다중 화면 구조 예시 // WFrame을 포함한 메인 화면 (main.xml) <w2:wframe id="wframe1" src="text.xml" scope="true"/> // 메인 화면 WFrame에 연결되는 소스 화면 (text.xml) <w2:textbox id="textbox1"/> // text.xml 화면의 내부 스크립트에서 ID 및 originalID 확인하는 예제. // getID 실행 textbox1.getID(); // 실행 결과는 "wframe1_textbox1" // getOriginalID 실행 textbox1.getOriginalID(); // 실행 결과는 "textbox1"
getParentValue( value )
노드의 value를 기반으로 부모 노드를 찾아 value를 반환한다.
value로 검색 된 노드가 최상위 노드이거나 검색된 노드가 없을 경우 빈값(emptyString)을 반환한다.
Parameter
nametyperequireddescription
valueStringY노드의 value
Return
typedescription
String부모 노드의 vlaue
Sample
//최상위 노드의 value가 "m1"일 경우 var tmpRs = treeview1.getParentValue("menu1"); return 예시 ) "" //기준 노드의 값이 "m1-1"이고 부모 노드의 value가 "m1"일 경우 var tmpRs1 = treeview1.getParentValue("menu1"); return 예시 ) "m1"
getPluginName( )
웹스퀘어 컴포넌트의 이름(pluginName)을 반환. (웹스퀘어 컴포넌트 공통.)
Return
typedescription
String웹스퀘어 컴포넌트의 이름 (pluginName)
Sample
// 아래와 같이 공통 함수에서 동적으로 웹스퀘어 객체를 받는 경우, 컴포넌트 종류에 따른 분기 처리가 가능. 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 컴포넌트에 CSS 속성 margin이 적용된 경우, <xf:input id="input1" style="position: relative;width: 144px;height: 21px;margin:10px;"></xf:input> // (예제) 위의 inputBox 컴포넌트의 top 값을 확인 var returnValue = input1.getPosition("top"); // 픽셀 단위의 위치 값이 반환됨. // (반환 값) 10
getReadOnly( )
현재 웹스퀘어 컴포넌트에 설정된 readOnly 속성 값을 반환. (웹스퀘어 컴포넌트 공통.)
Return
typedescription
Boolean현재 설정되어있는 readOnly 속성
Sample
// 컴포넌트의 readOnly 속성 값 확인 예제 var returnValue = componentId.getReadOnly(); // (반환 값 예시) false
getScope( )
scope="true"인 WFrame의 자식 컴포넌트인 경우, 부모 WFrame 객체를 반환. (웹스퀘어 컴포넌트 공통.)
scope="true"인 WFrame의 자식 컴포넌트가 아닌 경우, null을 반환.
Return
typedescription
ObjectWFrame 객체 또는 null
Sample
// (예제) // 메인페이지에 wframe1이 있고, wframe1 내부에 wframe11이 존재. // 그리고, wframe11 내부에 textbox1이 존재. textbox1.getScope(); // (반환 값) wframe11 객체
getScopeWindow( )
scope="true"인 WFrame의 자식 컴포넌트인 경우, 부모 WFrame 객체를 반환. (웹스퀘어 컴포넌트 공통.)
scope="true"인 WFrame의 자식 컴포넌트가 아닌 경우, 전역 window 객체를 반환.
Return
typedescription
ObjectWFrame 객체의 scope 객체 또는 전역 window 객체
Sample
// (예제) // 메인페이지에 wframe1이 있고, wframe1 내부에 wframe11이 존재. // 그리고, wframe11 내부에 textbox1이 존재. var scope = textbox1.getScopeWindow(); scope.wframe11 === textbox1.getScope(); // true
getSelectedIndex( )
선택된 노드의 index(초기 로딩시 설정 된 값)를 반환한다.
로딩 후 노드의 순서가 변경되면 보여지는 노드의 순서와 index가 다를 수 있다.
Return
typedescription
String선택된 노드의 index(초기 로딩시 설정 된 값)
Sample
//최상위 노드가 선택된 경우 var tmpRs = treeview1.getSelectedIndex(); return 예시 ) 1 //선택된 노드가 없는 경우 var tmpRs1 = treeview1.getSelectedIndex(); return 예시 ) ""
getSelectedLabel( )
선택된 노드의 label을 반환한다.
선택된 노드가 없는 경우 빈값(emptyString)을 반환한다.
Return
typedescription
String선택된 노드의 label
Sample
//선택된 노드가 없는 경우 var tmpRs = treeview1.getSelectedLabel(); //return 예시 ) ""
getSelectedNode( )
선택된 노드객체를 반환한다.
반환된 노드는 appendNode, appendData등의 API에 파라메터로 사용가능하며 노드에 담긴 값을 통해 자식노드, 부모노드 등의 정보를 참조할 수 있다.
Return
typedescription
Object선택된 노드 - 주요 정보만 명시됨
<Number> index : 노드에 초기 로딩시 설정된 index <String> label : 노드의 label <String> value : 노드의 value <Number> depth : 노드의 depth <boolean> checked : checkbox의 checked 여부 <boolean> checkboxDisabled : checkbox의 disabled 여부 <Object> parentNode : 노드의 부모 노드 (객체 구조는 return값과 동일하다) <Array> childNodes : 노드의 자식 노드가 담긴 배열 (자식 노드의 구조는 return값과 동일하다)
Sample
//노드의 label이 "Menu1-2"인 노드가 선택된 경우 var tmpRs = treeview1.getSelectedNode(); //return 예시 - 주요정보만 명시 ) { index: 6, label: "Menu1-2", value: "m1-2", checkboxDisabled: false, checked: false, childNodes: Array[1], //노드 객체가 담긴 배열 depth: 2, folder: null, parentNode: WebSquare.collection.node //노드 객체 } //선택된 노드의 value값을 꺼내올 경우 var tmpValue = tmpRs.value; //return 예시 ) "m1-2" //선택된 노드의 부모노드의 value값을 꺼내올 경우 var tmpParent = tmpRs.parentNode; var tmpParentValue = tmpParent.value //return 예시 ) "m1"
getSelectedValue( )
선택된 노드의 value를 반환한다.
선택된 노드가 없는 경우 빈값(emptyString)을 반환한다.
Return
typedescription
String선택된 노드의 value
Sample
//선택된 노드가 없는 경우 var tmpRs = treeview1.getSelectedValue(); //return 예시 ) ""
getSize( sizeName )
웹스퀘어 컴포넌트의 크기(width, height)를 반환. (웹스퀘어 컴포넌트 공통.)
%로 설정된 경우, 픽셀로 변환된 값을 반환.
Parameter
nametyperequireddescription
sizeNameStringY크기 값의 종류. sizeName 별 계산 방법은 아래 표를 참고.
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"); // (반환 예) 100 // 픽셀 단위의 크기 값이 반환됨. // %로 설정된 경우, 픽셀로 변환된 값이 반환됨.
getStyle( propertyName )
웹스퀘어 컴포넌트의 CSS 속성 값을 반환. (웹스퀘어 컴포넌트 공통.)
Parameter
nametyperequireddescription
propertyNameStringY반환할 CSS 속성
Return
typedescription
StringCSS 속성 값
Sample
//아래와 같이 input 컴포넌트가 정의 된 경우 <xf:input id="input1" style="position: relative;width: 144px;height: 21px;"></xf:input> // (예제) 위의 inputBox 컴포넌트의 width 값을 확인 var returnValue = input1.getStyle("width"); // (반환 값) "144px"
getStyleValue( style )
[deprecated]
getStyle 사용 권장.
웹스퀘어 컴포넌트에 적용된 해당 CSS 속성 값을 반환.
Parameter
nametyperequireddescription
styleStringY반환하려는 CSS 속성.
Return
typedescription
Stringstyle 해당 CSS 속성 값 (색을 반환하는 경우, 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(); // (반환 값 예시) "이름 입력"
getUdcHome( )
UDC 객체가 자신을 정의한 UDC 파일 경로를 파일명을 포함해서 반환. (웹스퀘어 컴포넌트 공통.)
파일명은 마지막 .xml까지 포함. .xml을 제외한 경로는 getUdcRoot를 사용해서 반환.
UDC 객체가 아닌 컴포넌트에서 호출된 경우에는 undefined가 반환됨.
Return
typedescription
StringUDC 파일 경로. (UDC가 아닌 경우, undefined가 반환됨.)
Sample
// 예제 // UDC 파일 경로는 /a/b/udc.xml // 화면 XML은 /a/c/main.xml // UDC 객체의 ID는 udc1 udc1.getUdcHome(); // (실행 결과) /a/b/udc.xml
getUdcRoot( )
UDC 객체가 자신을 정의한 UDC 파일 경로를 반환. (웹스퀘어 컴포넌트 공통.)
파일명을 포함하지 않음. 파일명을 포함한 경로는 getUdcHome을 사용해서 반환.
UDC 객체가 아닌 컴포넌트에서 호출된 경우에는 undefined가 반환됨.
Return
typedescription
StringUDC 파일 경로. (UDC가 아닌 경우, undefined가 반환됨.)
Sample
// 예제 // UDC 파일 경로는 /a/b/udc.xml // 화면 XML은 /a/c/main.xml // UDC 객체의 ID는 udc1 udc1.getUdcHome(); // (실행 결과) /a/b/
getUserData( key )
setUserData로 웹스퀘어 컴포넌트에 설정한 key의 value 혹은 사용자가 직접 페이지 소스(XML)에 속성으로 정의한 value를 반환. (웹스퀘어 컴포넌트 공통.)
Parameter
nametyperequireddescription
keyStringY데이터의 key
Return
typedescription
Stringkey에 해당하는 value
Sample
// Input 컴포넌트에 사용자 속성(setTest)을 설정하는 예제 <xf:input id="input1" style="position: relative;width: 144px;height: 21px;" setTest="Hello"></xf:input> // 위에서 설정한 setTest을 값을 반환하는 예제. input1.getUserData("setTest"); // (반환 값) "Hello" //setUserData를 통해 'valueTest'(key)와 'WebSquare'(data)로 설정하는 예제. input1.setUserData("valueTest","WebSquare"); // 위에서 설정한 setTest을 값을 반환하는 예제. input1.getUserData("WebSquare"); // (반환 값) "WebSquare"
getXPathByValue( value )
value에 해당하는 노드의 XPath를 반환한다.
본 기능은 데이터를 InstanceData로 연동하거나 XML로 데이터를 제어할 때 사용한다.
DataList와 연동된 경우 DataList의 baseNode와 repeatNode속성값을 참조하여 XPath를 반환한다.
Parameter
nametyperequireddescription
valueStringY노드의 value
Return
typedescription
StringXpath
Sample
//DataList와 연동된 경우의 반환값 확인하기 //1. DataList 정의 //baseNode 속성은 "list"로 repeatNode속성은 "map"으로 설정 <w2:dataList id="dc_menu" baseNode="list" repeatNode="map"> <w2:columnInfo> <w2:column id="depth" name="depth" dataType="text"></w2:column> <w2:column id="label" name="label" dataType="text"></w2:column> <w2:column id="value" name="value" dataType="text"></w2:column> </w2:columnInfo> <w2:data xmlns="" use="true"> <w2:row> <depth><![CDATA[1]]></depth> <label><![CDATA[메뉴1]]></label> <value><![CDATA[menu1]]></value> </w2:row> <w2:row> <depth><![CDATA[2]]></depth> <label><![CDATA[메뉴1-1]]></label> <value><![CDATA[menu1-1]]></value> </w2:row> <w2:row> <depth><![CDATA[1]]></depth> <label><![CDATA[메뉴2]]></label> <value><![CDATA[menu2]]></value> </w2:row> </w2:data> </w2:dataList> //2. TreeView 정의 - 필요 없는 항목들은 삭제 처리 <w2:treeview dataType="listed" id="treeview1" style="position: relative;width: 200px;height: 400px;"> <w2:itemset nodeset="data:dc_menu"> <w2:label ref="label"></w2:label> <w2:value ref="value"></w2:value> <w2:depth ref="depth"></w2:depth> </w2:itemset> </w2:treeview> //value가 "menu1-1"인 노드의 XPath 꺼내오기 var tmpRs = treeview1.getXPathByValue("menu1-1"); //return 예시 ) "list/map[value='menu1-1']"
hasClass( className )
웹스퀘어 컴포넌트가 특정 class를 포함하고 있는지 확인. (웹스퀘어 컴포넌트 공통.)
Parameter
nametyperequireddescription
classNameStringY검색할 class 이름
Return
typedescription
Booleanclass의 포함 여부
Sample
// inputBox 컴포넌트에 class가 속성으로 직접 정의됨. <xf:input id="input1" style="position: relative;width: 144px;height: 21px;" class="tmpInputClass"></xf:input> var returnValue = input1.hasClass("tmpInputClass"); // (반환 값) true
hide( )
웹스퀘어 컴포넌트를 화면에서 숨김. (웹스퀘어 컴포넌트 공통.)
display:none; 및 visibility:hidden; CSS를 적용.
Sample
// (예제) 컴포넌트를 숨김 componentId.hide();
isLeaf( )
선택된 노드가 leaf인지(자식노드가 없는지)의 여부를 반환한다.
Return
typedescription
boolean[true,false]leaf인지의 여부
isOpen( index )
초기에 각 노드에 설정된 index를 기반으로 해당 index에 상응하는 노드가 열려있는지 닫혀있는지 여부를 반환한다.
자식 노드들이 보여져 있는 상태면 true를, 자식 노드들이 숨겨져 있는 상태면 false를 각각 리턴한다. 자식이 없는 노드의 경우 false를 리턴한다.
Parameter
nametyperequireddescription
indexStringY초기 로딩 시 할당 된 노드의 index
Return
typedescription
Nodeindex에 해당하는 Node의 open 여부
Sample
//로딩 후 노드의 이동이 없고 첫번째 노드를 선택 할 경우 var node1 = treeview1.isOpen(1); index가 1인 Node의 open 여부를 얻을 수 있다.
notifyDataChanged( )
treeview와 dataList를 전체적으로 동기화한다.
removeClass( className )
웹스퀘어 컴포넌트에서 class를 삭제. (웹스퀘어 컴포넌트 공통.)
기본적으로 addClass를 통해 추가된 class만 삭제 가능.
컴포넌트의 속성으로 직접 정의된 class를 삭제하기 위해서는 config.xml 파일에 아래 설정을 추가해야 함. // config.xml 파일에 아래 설정 추가 <style><removeDefaultClass value="true" /></style>
Parameter
nametyperequireddescription
classNameStringY삭제 할 class명
Sample
// inputBox의 속성으로 class가 직접 정의된 경우, <xf:input id="input1" style="position: relative;width: 144px;height: 21px;" class="tmpInputClass"></xf:input> // config.xml 파일에 아래 항목을 추가. <style> <removeDefaultClass value="true" /> </style> // removeClass를 통해 삭제 가능. input1.removeClass("tmpInputClass");
removeNode( node )
노드 객체를 기반으로 노드(자식노드 포함)를 삭제한다.
Parameter
nametyperequireddescription
nodeObjectY노드 객체
Sample
//선택된 노드를 삭제할 경우 var tmpObj = treeview1.getSelectedNode(); treeview1.removeNode(tmpObj); //노드의 value가 "m1-1"인 노드를 삭제할 경우 var tmpObj1 = treeview1.findNodeByValue("m1-1"); treeview1.removeNode(tmpObj1);
removeNodeList( nodeList )
노드 객체를 기반으로 다건의 노드(자식노드 포함)를 삭제한다.
삭제 후 컴포넌트를 다시 그리며 removeNode함수를 여러 번 호출하는 것보다 처리속도가 빠른다.
Parameter
nametyperequireddescription
nodeListArrayY노드가 담긴 1차원 배열
setCustomFormatter( userFunction )
사용자가 지정한 함수를 treeview의 node를 돌면서 각각 한번씩 호출합니다.
Parameter
nametyperequireddescription
userFunctionFunctionY초기에 세팅된 label값, formattedLabel, node를 각각 인자로 받아 formattedLabel 반환하는 사용자 함수
Sample
treeview에서 number, 1, 5, date, 20130530, 05302013, test, test0의 value는 "n0,n1,n2,d0,d1,d2,t0,t1" 이라고 할 때, -[-] number - │ [+] 1 - │ [+] 5 -[-] date - └─ [+] 20130530 - └─ [+] 05302013 -[-] test - └─ [+] test0 -[-] dummy number의 하위 노드는 빨간색, date의 하위 노드는 노란색, test의 하위 노드는 회색, 그 외는 녹색으로 스타일을 변경하고자 할 때는 아래와 같이 하면 된다. var myCustomFormatter = function(orgLabel, formattedLabel, node){ if(node.value.indexOf("n") >=0) { this.setLabelStyle(node.index, 'color', 'red', false);} else if(node.value.indexOf("d") >= 0) { this.setLabelStyle(node.index, 'color', 'yellow', false);} else if(node.value.indexOf("t") >= 0) { this.setLabelStyle(node.index, 'color', 'gray', false);} else { this.setLabelStyle(node.index, 'color', 'green', false);} return formattedLabel; } treeview1.setCustomFormatter(myCustomFormatter);
setEventPause( evList , flag )
지정한 이벤트를 중단함. (웹스퀘어 컴포넌트 공통.)
Parameter
nametyperequireddescription
evListStringN중단할 이벤트 목록. (null을 지정할 경우 해당 컴포넌트의 모든 사용자 이벤트가 중단되거나 중단 해제됨.)
flagBooleanY이벤트 중단 여부.
true: 중단 false: 중단 해제.
Sample
// (예제 1) // onclick 이벤트를 중단. input1.setEventPause("onclick", true); // (예제 2) // onfocus 및 onblur 이벤트의 중단을 해제. input1.setEventPause("onfocus,onblur", false); // (예제 3) // input1에 등록된 모든 사용자 이벤트를 중단. input1.setEventPause(null, true);
setInitStyle( property )
웹스퀘어 컴포넌트의 초기 스타일을 복구. (웹스퀘어 컴포넌트 공통.)
Parameter
nametyperequireddescription
propertyStringNCSS 속성 (지정하지 않으면 모든 속성의 초기 값으로 복구.)
Sample
// (예제) group1.setInitStyle();
setLabelByIndex( index , label )
노드의 index를 기반으로 label을 변경한다.
index값은 초기 로딩 시 설정 된 노드의 index로 1부터 시작한다.
Parameter
nametyperequireddescription
indexNumberY노드의 index
labelStringY새로 설정할 label의 값
Sample
//노드의 위치가 변경되지 않은 최상위 노드의 label을 변경하고자 할 때 treeview1.setLabelByIndex(1,"즐겨찾기");
setLabelByValue( value , label )
노드의 value를 기반으로 label을 변경한다.
Parameter
nametyperequireddescription
valueStringY노드의 value
labelStringY새로 설정할 label의 값
Sample
//value가 "m1"인 노드의 label을 변경 treeview1.setLabelByValue("m1","즐겨찾기");
setLabelStyle( index , styleName , styleValue , applyChildNodes )
해당 node의 label style(node의 글자색, 글자크기, 글꼴 등)을 변경합니다.
Parameter
nametyperequireddescription
indexNumber||StringY노드의 index 또는 value
styleNameStringYstyle의 속성명
styleValueStringYstyle 속성값
applyChildNodesBooleanN[default:false, true]하위노드 적용 여부
Sample
//value가 "menu1-1"인 노드의 label의 글자색을 "orange"로 변경할 경우 treeview1.setLabelStyle( "menu1-1", "color", "orange" );
setNodeSet( nodeset , columnInfo )
treeView와 연동된 dataList를 다른 dataList로 변경한다.
Parameter
nametyperequireddescription
nodesetStringY변경할 dataList id. "data:"을 prefix로 붙여야 한다.
columnInfoJSONNlabel, value, depth, checkbox, folder 속성을 포함한 JSON 객체
<JSON> columnInfo.label : treeview의 label 속성과 연동할 새로운 dataList column의 id <JSON> columnInfo.value : treeview의 value 속성과 연동할 새로운 dataList column의 id <JSON> columnInfo.depth : treeview의 depth 속성과 연동할 새로운 dataList column의 id <JSON> columnInfo.checkbox : treeview의 checkbox 속성과 연동할 새로운 dataList column의 id <JSON> columnInfo.folder : treeview의 folder 속성과 연동할 새로운 dataList column의 id
Sample
// 새로운 dataList의 아이디가 dataList1인 경우 var columnInfo={}; columnInfo.label = "newVal" // dataList의 column id가 newVal columnInfo.value = "newLab" // dataList의 column id가 newLab columnInfo.depth = "newDep" // dataList의 column id가 newDep columnInfo.checkbox = "newChk" // dataList의 column id가 newChk columnInfo.folder = "newFol" // dataList의 column id가 newFol treeview1.setNodeSet( "data:dataList1" , columnInfo ); // treeView의 id가 treeview1 인경우 API 호출
setOpacity( value )
웹스퀘어 컴포넌트의 불투명도를 설정. (웹스퀘어 컴포넌트 공통.)
엔진 내부적으로 CSS 속성인 opacity(불투명도)를 설정.
Parameter
nametyperequireddescription
valueNumberYOpacity 값 (0과 1 사이의 실수)
Sample
// (예제) 불투명도를 0.45로 설정 componentId.setOpacity(0.45);
setPosition( left , top , mode )
웹스퀘어 컴포넌트의 위치(left, top)를 설정. (웹스퀘어 컴포넌트 공통.)
Parameter
nametyperequireddescription
leftNumberY설정할 left 위치 값 또는 null.
topNumberY설정할 top 위치 값 또는 null.
modeStringN위치 설정 방법. [default: absolute, delta]
absolute: 입력된 값을 위치로 설정. delta: 현재 위치에 입력된 left 및 top 값을 추가.
Sample
// (예제) 컴포넌트의 top만 100px로 설정. componentId.setPosition(null, 100);
setReadOnly( readOnly )
웹스퀘어 컴포넌트의 readOnly 속성을 설정. (웹스퀘어 컴포넌트 공통.)
Parameter
nametyperequireddescription
readOnlyBooleanYreadOnly 속성 활성화 여부. ( "true" : 활성화, "false" : 비활성화)
Sample
// 컴포넌트의 readOnly 속성을 true로 설정하는 예. componentId.setReadOnly(true);
setShowCheckBox( )
showCheckbox 값을 동적으로 설정
setSize( width , height )
웹스퀘어 컴포넌트의 크기(width, height)를 설정. (웹스퀘어 컴포넌트 공통.)
Parameter
nametyperequireddescription
widthNumberY새로 설정할 컴포넌트의 width 값 또는 null
heightNumberY새로 설정할 컴포넌트의 height 값 또는 null
Sample
// (예제) 컴포넌트의 height만 100px로 설정. componentId.setSize(null,100);
setStyle( propertyName , value )
웹스퀘어 컴포넌트의 CSS 속성을 설정. (웹스퀘어 컴포넌트 공통.)
Parameter
nametyperequireddescription
propertyNameStringY설정할 CSS 속성
valueStringY해당 CSS 속성에 적용할 값
Sample
// (예제 1) 컴포넌트의 width를 200px로 설정 componentId.setStyle("width", "200px"); // (예제 2) 배경색을 olive로 변경 componentId.setStyle("background-color","olive");
setUserData( key , value )
웹스퀘어 컴포넌트에 임의의 데이터를 설정. (웹스퀘어 컴포넌트 공통.)
컴포넌트에 설정 가능한 key를 입력해야 함. 설정 가능한 key가 아닌 경우, 해당 내용이 로그에 출력됨.
Parameter
nametyperequireddescription
keyStringY설정할 데이터의 key
valueStringY설정한 데이터의 value
Sample
// 컴포넌트에 'data'라는 key로 'WebSquare'라는 value를 설정하는 예제. componentId.setUserData("data", "WebSquare"); // 컴포넌트에 설정이 불가능한 key를 임력할 경우, key 설정이 불가능. componentId.setUserData("title", "WebSquare"); // 아래와 같이 로그가 출력됨. // !!!WARNING - [title] can't be defined as UserData.
setValueByIndex( index , value )
노드의 index 기반으로 value을 변경한다.
Parameter
nametyperequireddescription
indexStringY노드의 index
valueStringY새로 설정할 value의 값
Sample
//index가 2인 노드의 value를 변경 treeview1.setValueByIndex(2,"즐겨찾기");
show( displayType )
웹스퀘어 컴포넌트를 화면에 표시. (웹스퀘어 컴포넌트 공통.)
CSS display 속성을 주어진 값으로 설정하고 "visibility: show;"를 적용.
Parameter
nametyperequireddescription
displayTypeStringN적용할 CSS display 속성의 값.
block : display: block;을 적용. (기본 값) inline : display: inline;을 적용. none : display: none;을 적용. "" : show 수행 이전의 display 속성 값으로 복구.
Sample
// (예제) display: block; CSS를 설정. componentId.show(); // (예제) 위제 설정한 display 속성 값을 취소하고 원래의 display 값을 복구. componentId.show("");
spanAll( openCloseFlag )
openCloseFlag에 따라서 모든 자식 노드를 span시켜 준다.
Parameter
nametyperequireddescription
openCloseFlagbooleanY자식 노드를 접을지 확장할 지의 여부
Sample
//자식 노드들을 모두 접는다. treeview1.spanAll(false); //자식 노드들을 모두 확장한다. treeview1.spanAll(true);
spanNode( nodeIndex , openCloseFlag , applyChildNodes )
옵션에 해당하는 node를 span시켜 준다.
Parameter
nametyperequireddescription
nodeIndexStringY노드의 index
openCloseFlagbooleanY노드를 접을지 확장할 지의 여부
applyChildNodesbooleanYchild 노드까지 같이 확장할 지의 여부
Sample
//nodeIndex 1에 해당하는 노드를 토글한다 treeview1.spanNode(1); //nodeIndex 1에 해당하는 노드를 접는다 treeview1.spanNode(1, false); //nodeIndex 1에 해당하는 노드를 확장한다 treeview1.spanNode(1, true); //nodeIndex 1에 해당하는 노드와 자식노드까지 접는다 treeview1.spanNode(1, false, true); //nodeIndex 1에 해당하는 노드와 자식노드까지 확장한다 treeview1.spanNode(1, true, true); //nodeDepth 2에 해당하는 노드를 토글한다. treeview1.spanNode({depth:2}); //nodeDepth 2에 해당하는 노드를 접는다. treeview1.spanNode({depth:2}, false); //nodeDpeth 2에 해당하는 노드와 자식노드까지 확장한다 treeview1.spanNode({depth:2, applyChildNodes:true}, true);
toggleClass( className )
웹스퀘어 컴포넌트에서 특정 class를 제거하거나 추가. (웹스퀘어 컴포넌트 공통.)
웹스퀘어 컴포넌트가 파라미터로 주어진 class를 포함한 경우, 해당 class를 제거.
웹스퀘어 컴포넌트에 파라미터로 주어진 class가 없는 경우, 해당 class를 추가.
기본적으로 addClass를 통해 추가된 class만 삭제 가능.
웹스퀘어 컴포넌트의 속성으로 직접 정의된 class를 삭제하기 위해서는 config.xml 파일에 아래 설정을 추가. // config.xml 파일에 아래 설정 추가 <style><removeDefaultClass value="true" /></style>
Parameter
nametyperequireddescription
classNameStringY추가/삭제할 class
Sample
// inputBox 컴포넌트에 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
// (예제 1) // input1 컴포넌트에 onclick 이벤트를 발생시킴. input1.trigger("onclick"); // (예제 2) // input1에 onviewchange 이벤트를 발생시키고 핸들러 함수에 (1,2) 인자를 전달하여 호출. input1.trigger("onviewchange", [1,2]);
unbind( type , function )
컴포넌트에서 이벤트를 제거. (웹스퀘어 컴포넌트 공통.)
Parameter
nametyperequireddescription
typeStringN제거할 이벤트. (생략할 경우 해당 컴포넌트의 모든 이벤트를 제거.)
functionFunctionN제거할 이벤트의 핸들러 함수. (생략할 경우 해당 위에 지정한 이벤트에 등록된 모든 핸들러 함수를 제거.)
Sample
// (예제 1) // input1에 등록된 모든 이벤트를 제거. input1.unbind(); // (예제 2) // input1의 onviewchange 이벤트에 대한 모든 핸들러 함수를 제거. input1.unbind("onviewchange"); // (예제 3) // input1의 onviewchange 이벤트에 대한 func1 이벤트 핸들러 함수를 제거. input1.unbind("onviewchange", func1);
visible( flag )
[deprecated]
show/hide 혹은 setStyle 사용을 권장.
엔진 내부적으로 CSS visibility 속성을 설정.
Parameter
nametyperequireddescription
flagBooleanY설정할 CSS visibility 속성 값
true : visibility: visible; false : visibility: hidden;