맨위로가기
 

SBUx

닫기

Accordion

펼침/접힘 토글이 가능한 accordion 컴포넌트 입니다.

기본 사항

사항 설명 비고
HTML 태그 형태

<sbux-accordion></sbux-accordion>

필수 속성 id, name, uitype 고정형 title-target-id-array,title-text-array
변동형 jsondata-ref

<div id="xxx"></div>

* 2.6.962 버전이후 변경사항 :
- id 속성 미사용시 name 값으로 자동 매핑
- uitype 속성 미사용시 SBUxDefault.js 에 설정된 값으로 자동 매핑
uitype 속성 값 normal  
필수 컨텐츠

<div id="xxx"></div>

예시) HTML 형태의 개발 - 고정형

<script>                                    

   function acc_click_event (args){

       alert("accordion 클릭시 이벤트 : "+args );

   }


   function fnCallBeforeSelect(targetId){

       alert("accordion 선택전 callback : ",targetId);

   }

</script>                                


<sbux-accordion id="idxAccordion" name="accordionNm" uitype="normal"

                       title-target-id-array="PSBUx^PSBUx_IDE^PSBGrid"


                       title-text-array="SBUx Acc^SBUx IDE Acc^SBGrid Versions Acc"

                       title-target-value-array="1^2^3"


                       title-glyphs-placement="right"

                       title-glyphs-placement-array="left"


                       title-expanded-glyphs="glyphicon-star-empty"

                       title-expanded-glyphs-array="red glyphicon-star-empty"


                       title-collapse-glyphs="glyphicon-star"

                       title-collapse-glyphs-array="red glyphicon-star"


                       title-style-array="^color:red;^color:green;font-weight: bold;"


                       onclick="acc_click_event(accordionNm)"

                       callback-before-select="fnCallBeforeSelect">

</sbux-accordion>


<div id="PSBUx">

   <ul>

       <li>SBUx Acc - 1</li>

       <li>SBUx Acc - 2</li>

       <li>SBUx Acc - 3</li>

   </ul>

</div>

<div id="PSBUx_IDE">

   <ul>

       <li>SBUx IDE Acc - 1</li>

       <li>SBUx IDE Acc - 2</li>

       <li>SBUx IDE Acc - 3</li>

   </ul>

</div>

<div id="PSBGrid">

   <ul>

       <li>SBGrid Version Acc - 1</li>

       <li>SBGrid Version Acc - 2</li>

       <li>SBGrid Version Acc - 3</li>

   </ul>

</div>


예시) HTML 형태의 개발 - 변동형

<script>                                    

   function acc_click_event (args){

       alert("accordion 클릭시 이벤트 : "+args );

   }


   function fnCallBeforeSelect(targetId){

       alert("accordion 선택전 callback : ",targetId);

   }


   var accJsonData = [

       { "id": "0", "pid": "-1", "order": "1", "placement": "left", "expanded": "glyphicon-hand-right", "collapse": "glyphicon-hand-down", "text": "SBUx Acc Json", "targetid": "PSBUx", "targetvalue": "1", "cssstyle" : "", "selected": "" },

       { "id": "1", "pid": "-1", "order": "2", "placement": "right", "text": "SBUx IDE Acc Json", "targetid": "PSBUx_IDE", "targetvalue": "2", "cssstyle": "color:red;", "selected": "" },

       { "id": "2", "pid": "-1", "order": "3", "placement": "left", "text": "SBGrid Versions Acc Json", "targetid": "PSBGrid2", "targetvalue": "3", "cssstyle": "color:black;font-weight: bold;", "selected": "" }

   ];

</script>


<sbux-accordion id="idxAccordion2" name="accordionNm2" uitype="normal"

                   jsondata-ref="accJsonData"

                   jsondata-id="id"

                   jsondata-pid="pid"

                   jsondata-order="order"

                   jsondata-text="text"


                   jsondata-target-id="targetid"

                   jsondata-target-value="targetvalue"


                   jsondata-expanded-glyphs="expanded"

                   jsondata-collapse-glyphs="collapse"


                   jsondata-css-style="cssstyle"


                   jsondata-expanded-glyphs="expanded"

                   jsondata-collapse-glyphs="collapse"


                   onclick="acc_click_event(accordionNm2)"


                   callback-before-select="fnCallBeforeSelect">

</sbux-accordion>


<div id="PSBUx">

   <ul>

       <li>SBUx Acc Json - 1</li>

       <li>SBUx Acc Json - 2</li>

       <li>SBUx Acc Json - 3</li>

   </ul>

</div>

<div id="PSBUx_IDE">

   <ul>

       <li>SBUx IDE Acc Json - 1</li>

       <li>SBUx IDE Acc Json - 2</li>

       <li>SBUx IDE Acc Json - 3</li>

   </ul>

</div>

<div id="PSBGrid2">

   <ul>

       <li>SBGrid Version Acc Json - 1</li>

       <li>SBGrid Version Acc Json - 2</li>

       <li>SBGrid Version Acc Json - 3</li>

   </ul>

</div>

예시) jQuery Plugin 형태의 개발

<div id="sbArea"></div>

<div id="acc1">

  acc contents 1

</div>

<div id="acc2">

  acc contents 2

</div>

<script>

   var accJsonData=[

       { "id": "0", "pid": "-1", "order": "1", "targetid": "acc1", "text": "첫번째 어코디언1" },

       { "id": "1", "pid": "-1", "order": "2", "targetid": "acc2", "text": "두번째 어코디언2" }

   ];

   $(document).ready(function(){

       $('#sbArea').sbAccordion({

           name : 'sbScriptNm',

           uitype : 'normal',

           jsondataRef : 'accJsonData'

       });

   });

</script>

주요 속성 사항 (고정형)

속성명 설명 / 유형(n:normal) 비고
title-target-id-array accordion 내로 입력될 외부 id selector 의 값 n (사용자 지정)
title-text-array 각각의 accordion 메뉴명 n (사용자 지정)
title-target-value-array 선택시 저장될 각 메뉴의 값
메뉴의 코드값
n (사용자 지정
| title-text-array 값으로 자동매핑)
title-glyphs-placement 글리프 아이콘 위치 n (left | right)
title-glyphs-placement-array 각각의 글리프 아이콘 위치
위치 개별설정시 사용
n (left | right)
title-expanded-glyphs 메뉴가 펼쳐졌을때의 글리프 아이콘 n (glyphicon-asterisk
| glyphicon-plus
| glyphicon-minus
| glyphicon-pencil
| glyphicon-search
| glyphicon-star
| glyphicon-star-empty
| glyphicon-ok
| glyphicon-remove
| glyphicon-zoom-in
| glyphicon-zoom-out
| glyphicon-off
| glyphicon-refresh
| glyphicon-lock)
title-expanded-glyphs-array 메뉴가 펼쳐졌을때의 각각의 글리프 아이콘 n 상동
title-collapse-glyphs 메뉴가 접혀졌을때의 글리프 아이콘 n 상동
title-collapse-glyphs-array 메뉴가 접혀졌을때의 각각의 글리프 아이콘 n 상동
title-style-array 메뉴의 각각의 style 속성 n (사용자 지정)
title-frame-name-array 메뉴명 클릭시 각각의 이동할 iframe 의 name 명 n (사용자 지정)
title-frame-link-array 메뉴명 클릭시 각각의 이동할 iframe 의 src 명 n (사용자 지정)
title-disabled-array 메뉴명 각각의 비활성 속성 n (사용자 지정)
selected-id 화면로딩시 선택되어 펼칠 메뉴 id n (사용자 지정)
tabindex tab 키를 이용하여 포커스 이동할때의 index 설정 n (사용자 지정)
is-expand-only-select 메뉴가 펼쳐질때 다른 메뉴들은 닫히도록 하여
하나의 메뉴만 펼쳐지게 하는 속성
n (false | true)
callback-before-select 메뉴가 선택이 되기 전에 callback
함수를 호출하여 메뉴 선택에 대한
동작을 제어하는 속성
함수가 return false; 를 반환하는 경우
선택을 중단함
n (사용자 지정)
callback-after-select 메뉴가 선택이 된 후에 callback
함수를 호출하여 메뉴 선택에 대한
동작을 제어하는 속성
n (사용자 지정)
onclick 클릭시 이벤트 n

주요 속성 사항 (변동형)

속성명 설명 / 유형(n:normal) 비고
jsondata-ref json data 참조 변수명 n
json data 구조
- id : unique id, jsondata-id 값과 매칭될 key 명
- order : 순서, jsondata-order 값과 매칭될 key 명
- text : 어코디언 타이틀 명, jsondata-text 값과 매칭될 key 명
- targetid : tab-content class 내 매칭되는 id, jsondata-target-id 값과 매칭될 key 명
- targetvalue : 어코디언 클릭시 저장되는 값, jsondata-target-value 값과 매칭될 key 명
- placement : 어코디언 아이콘의 좌우측 방향, jsondata-glyphs-placement 값과 매칭될 key 명
- expanded : 어코디언의 확장시 아이콘, jsondata-expanded-glyphs 값과 매칭될 key 명
- collapse : 어코디언의 축소시 아이콘, jsondata-collapse-glyphs 값과 매칭될 key 명
- cssstyle : 어코디언의 css style, jsondata-css-style 값과 매칭될 key 명
- targetname : iframe name, jsondata-target-name 값과 매칭될 key 명
- link : iframe src, jsondata-target-link 값과 매칭될 key 명
- tabindex : tab키로 이동시의 포커시 순서, jsondata-tab-index 값과 매칭될 key 명
- selected : 로딩시 선택값, "selected" : "selected" 로 반영
- disabled : accrodion menu 의 비활성 여부
jsondata-id json data 내 id 참조 키명 n Custom key 참조설정시 사용
(default key: id)
jsondata-order json data 내 order 참조 키명 n Custom key 참조설정시 사용
(default key: order)
jsondata-text json data 내 text 참조 키명 n Custom key 참조설정시 사용
(default key: text)
jsondata-target-id json data 내 div id 참조 키명 n Custom key 참조설정시 사용
(default key: targetid)
jsondata-target-value json data 내 value참조 키명 n Custom key 참조설정시 사용
(default key: targetvalue)
jsondata-glyphs-placement json data 내 glyph 아이콘의 좌/우측 위치 참고 키명 n Custom key 참조설정시 사용
(default key: placement)
jsondata-expanded-glyphs json data 내 expanded 시 glyphs 참조 키명 n Custom key 참조설정시 사용
(default key: expanded)
jsondata-collapse-glyphs json data 내 expanded 시 glyphs 참조 키명 n Custom key 참조설정시 사용
(default key: expanded)
jsondata-css-style json data 내 style 참조 키명 n Custom key 참조설정시 사용
(default key: cssstyle)
jsondata-target-name json data 내 iframe 참조 키명 n Custom key 참조설정시 사용
(default key: targetname)
jsondata-target-link json data 내 iframe src 참조 키명 n Custom key 참조설정시 사용
(default key: link)
jsondata-tab-index json data 내 이동할 탭 순서 참조 키명 n Custom key 참조설정시 사용
(default key: link)
title-glyphs-placement 공통 글리프 아이콘 위치
Json data 에 placement 가 설정되어 있는 값을 우선시함
n (left | right)
title-expanded-glyphs 어코디언 확장시 글리프 아이콘 n (glyphicon-asterisk
| glyphicon-plus
| glyphicon-minus
| glyphicon-pencil
| glyphicon-search
| glyphicon-star
| glyphicon-star-empty
| glyphicon-ok
| glyphicon-remove
| glyphicon-zoom-in
| glyphicon-zoom-out
| glyphicon-off
| glyphicon-refresh
| glyphicon-lock)
title-collapse-glyphs 어코디언 축소시 글리프 아이콘 n 상동
is-expand-only-select 어코디언 메뉴가 펼쳐질때 다른 메뉴들은 닫히도록 하여
하나의 메뉴만 펼쳐지게 하는 속성
n (false | true)
callback-before-select 메뉴가 선택이 되기 전에 callback
함수를 호출하여 메뉴 선택에 대한
동작을 제어하는 속성
함수가 return false; 를 반환하는 경우
선택을 중단함
n (사용자 지정)
callback-after-select 메뉴가 선택이 된 후에 callback
함수를 호출하여 메뉴 선택에 대한
동작을 제어하는 속성
n (사용자 지정)
onclick 클릭시 이벤트 n

주요 API 사항

API 명 설명 / 데이터형(s:고정형,f:변동형) 비고
SBUxMethod.set 값을 입력(저장된 value 를 변경) s | f
SBUxMethod.get 저장된 값 호출 s | f
SBUxMethod.refresh 재호출 s | f
SBUxMethod.hide 감추기 s | f
SBUxMethod.show 보이기 s | f
SBUxMethod.addAccordion 어코디언 항목을 추가

var options = {
text : 'PSBUx_NEW',
targetid : 'PSBUx_NEW',
targetvalue : 'Add New Value',
placement : 'right',
expanded : 'red glyphicon-ok',
collapse : 'blue glyphicon-star',
cssstyle : 'font-weight:bold; width:100%;',
tabindex : 3,
selected : 'selected',
targetname : 'frmJson',
link : './../change/name.html'
};
SBUxMethod.addAccordion('모델명', options)
s | f
SBUxMethod.removeAccordion 어코디언 항목을 삭제
SBUxMethod.removeAccordion('모델명', 'id' or index)
'id' : 대상의 target id
index : target 의 index (0부터 시작)
s | f
SBUxMethod.render <sbux-xxx tag >랜더링 s | f