맨위로가기
 

SBUx

닫기

Sidemenu

좌측 메뉴로 사용하는 sidemenu 컴포넌트 입니다.

기본 사항

사항 설명 비고
HTML 태그 형태

<sbux-sidemenu></sbux-sidemenu>

 
필수 속성 id, name, uitype 고정형
변동형 jsondata-ref
* 2.6.962 버전이후 변경사항 :
- id 속성 미사용시 name 값으로 자동 매핑
- uitype 속성 미사용시 SBUxDefault.js 에 설정된 값으로 자동 매핑
uitype 속성 값 tag, image
자식 Dom 구조 고정형

<menu-item>

menu 를 구성하는 구조
예시) HTML 형태의 개발 - 고정형

<sbux-sidemenu id="idxSide_norm6" name="side_norm6" uitype="normal"

                       is-expand="true"

                       expand-open-level="1">

   <menu-item id="1" text="이미지"></menu-item>

   <menu-item id="2" text="상담" ></menu-item>

   <menu-item id="3" text="조사">

       <menu-item id="3_1" text="조사하위1">

           <menu-item id="3_1_1" text="조사하위1_1"></menu-item>

       </menu-item>

       <menu-item id="3_2" text="조사하위2"></menu-item>

   </menu-item>

   <menu-item id="4" text="인사">

       <menu-item id="4_1" text="인사하위1"></menu-item>

       <menu-item id="4_2" text="인사하위2">

           <menu-item id="4_2_1" text="인사하위2_1">

               <menu-item id="4_2_1_1" text="인사하위2_1_1"></menu-item>

               <menu-item id="4_2_1_2" text="인사하위2_1_2">

                   <menu-item id="4_2_1_2_1" text="인사하위2_1_2_1"></menu-item>

               </menu-item>

           </menu-item>

       </menu-item>

       <menu-item id="4_3" text="인사하위3"></menu-item>

   </menu-item>

   <menu-item id="5" text="기술평가"></menu-item>

</sbux-sidemenu>

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

<script>                                          

   var sideJsonData = [

       {"id": "1", "pid":"0", "order":"1", "text":"상담"},

       {"id": "2", "pid":"0", "order":"2",  "text":"조사(타켓)", "target": "_window", "link" : "samplepage/1page"},

       {"id": "2_1", "pid":"2", "order":"1",  "text":"조사하위"},

       {"id": "3", "pid":"0", "order":"3",  "text":"인사(하위에링크)"},

       {"id": "3_1", "pid":"3", "order":"1",  "text":"인사기록(링크)" , "link" : "samplepage/3page"},

       {"id": "3_2", "pid":"3", "order":"2",  "text":"기초(링크 in Json)" , "targetname": "ifmInJson", "link" : "samplepage/2page"},

       {"id": "3_2_1", "pid":"3_2", "order":"1",  "text":"기초1"},

       {"id": "3_2_2", "pid":"3_2", "order":"2",  "text":"기초2"},

       {"id": "3_2_2_1", "pid":"3_2_2", "order":"1", "value": "3_2_1", "text":"기초2_1"},

       {"id": "3_2_2_1_1", "pid":"3_2_2_1", "order":"1",  "text":"기초2_1_1"},

       {"id": "3_2_2_1_2", "pid":"3_2_2_1", "order":"2",  "text":"기초2_1_2"},

       {"id": "3_2_2_2", "pid":"3_2_2", "order":"2", "code" : "A001","code2" : "A001",    "text":"기초2_2(사용자코드)"},

       {"id": "3_2_2_2_1", "pid":"3_2_2_2", "order":"1",  "text":"기초2_2_1"},

       {"id": "3_2_2_3", "pid":"3_2_2", "order":"3",  "text":"기초2_3"},

       {"id": "4", "pid":"0", "order":"4", "text":"기술평가"},

       {"id": "4_1", "pid":"4", "order":"1", "text":"기술평가_하위" },

       {"id": "4_1_1", "pid":"4_1", "order":"1", "text":"기술평가_하위2" },

       {"id": "5", "pid":"0", "order":"11",  "text":"통계(비활성화)" , "disabled" : "disabled"},

       {"id": "5_1", "pid":"5", "order":"1", "text":"통계하위" },

       {"id": "6", "pid":"0", "order":"12",  "text":"기타" , "disabled" : "disabled"}

   ];

</script>


<sbux-sidemenu id="idxSide_norm" name="side_norm" uitype="normal"

                       jsondata-ref="sideJsonData"></sbux-sidemenu>

예시) jQuery Plugin 형태의 개발

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

<script>

   var sideJsonData = [

       {"id": "1", "pid":"0",         "order":"1",   "text":"1"},

       {"id": "2", "pid":"0",         "order":"2",   "text":"2"},

       {"id": "1_1", "pid":"1",       "order":"1",  "text":"1_1"},

       {"id": "1_2", "pid":"1",       "order":"2",  "text":"1_2"},

       {"id": "1_1_1", "pid":"1_1", "order":"1",  "text":"1_1_1"},

       {"id": "1_1_2", "pid":"1_1", "order":"2",  "text":"1_1_2"},

       {"id": "2_1", "pid":"2",       "order":"1",  "text":"2_1"}

  ];

   $(document).ready(function(){

       $('#sbArea').sbSidemenu({

           name : 'sbScriptNm',

           uitype : 'normal',

           jsondataRef : 'sideJsonData'

       });

   });

</script>

주요 속성 사항 (고정형)

속성명 설명 / 유형(n:normal) 비고
submenu-type 메뉴를 나타내는 방식
(* submenu-type="dropdown" 시에는 show-filter-box="true" 사용할 수 없습니다.)
n (accordion | dropdown)
expand-type 하위 구조를 확장/축소를 발생시키는 형태
all : 아이템 전체 영역(text + icon) 클릭시 확장/축소 icon : icon 클릭시에만 확장/축소
n (all | icon)
is-expand 로딩 시의 초기 형태를 확장된 형태로 구성 n (false | true)
expand-open-level 로딩 시 확장되는 하위 레벨
(* is-expand = "true" 지정 필수)
n (사용자 지정)
is-expand-only-select 선택한 menu 만 확장하고 나머지는 축소 n (false | true)
show-slide-button sidemenu 전체 숨김 버튼 표시 여부
n (false | true)
slide-animation slidemenu 전체 숨김시 애니메이션 효과여부 n (true | false)
empty-message data 가 없을때 표시할 메시지 설정 n (사용자 지정)
inactive-collapse-focus icon 클릭에 의한 축소시 하이라이트 상태를 제거 n (false | true)
vertical-scroll-height 세로 스크롤 높이
예시) vertical-scroll-height="200px"
n (사용자 지정)
vertical-scroll-color 세로 스크롤 색상
(default : '#000')
n (사용자 지정)
vertical-scroll-placement 세로 스크롤 위치 n (right | left)
vertical-scroll-size 세로 스크롤 폭
(default : '7px')
n (사용자 지정)
show-filter-box filtering 검색 창 화면 표시 여부 n (false | true)
filter-box-not-found-msg 검색한 단어가 없을 시 메세지를 설정하는 기능입니다. n (사용자 지정)
filter-starts-with 첫번째 단어부터 검색할지 여부
설정하지 않거나 false 시 like 검색
n (false | true)
filter-box-placeholder filtering 검색 창 placeholder 설정
(* show-filter-box = "true" 지정 필수)
(default: 메뉴명 검색)
n (사용자 지정)
menu-title 상단에 title 문구 설정 n (사용자 지정)
menu-title-style 상단 title 문구 스타일 n (사용자 지정)
menu-title-image-src 상단 title 영역에 이미지 주소 n (사용자 지정)
menu-title-image-style 상단 title 영역에 이미지 스타일 n (사용자 지정)
menu-title-image-alt 상단 title 영역에 이미지 alt 값 n (사용자 지정)
menu-title-image-title 상단 title 영역에 이미지 title 값 n (사용자 지정)
ext-menu-html-id filter 아래 영역에 선언된 id 의 html 구조 추가 n (사용자 지정)
is-close-icon 1depth 메뉴에 한하여 'X' 버튼으로 메뉴삭제 여부 n (false | true)
is-draggable 1depth 메뉴에 한하여 메뉴 아이템들을 drag & drop 으로 위치 조정 여부 n (false | true)
show-ellipsis 메뉴명이 긴 경우 말줄임표 n (false | true)
ellipsis-width 말줄임표의 너비 설정 n (사용자 지정)
show-tooltip 말줄임표에 해당하는 text 를 툴팁으로 나타냄
(* show-ellipsis = "true" 와 함께 사용하는 경우 줄임말만 툴팁)
n (false | true)
tooltip-key 툴팁으로 보여질 데이터의 json data 내 매칭 key
(* text 외에 별도 데이터와 매칭시 사용)
n (사용자 지정)
tooltip-delay 툴팁이 나타나고 사라지는 시간 n (사용자 지정)
tooltip-show-delay 툴팁이 마우스오버이후 나타날 때까지의 지연시간
(* 메뉴 text 위로 단순이동시에는 나타나지 않게 하기 위한 설정)
n (사용자 지정)
tooltip-hide-delay 포커스가 벗어난 이후 사라지기 전까지의 지연시간 n (사용자 지정)
target 메뉴명 클릭시 이동할 target 명 n _blank: 빈 window 창
_window: layer window 창
_top: top target
_self: 호출한 화면
_parent: 부모 target
'특정 frame명': 특정 target
target-name 메뉴명 클릭시 이동할 iframe 의 name 명 n (사용자 지정)
callback-menu-title-click 이미지 title 클릭할 시 callback n
callback-before-close 'X' 버튼을 눌러 삭제되기 전에 callback n (return false 인경우 삭제 중지)
callback-after-close 'X' 버튼을 눌러 삭제된 후에 callback n
callback-slide-button 슬라이드버튼 클릭시 callback n
callback-before-select menu 선택 되기전에 callback n (return false 인경우 선택 중지)
callback-after-select menu 선택 후에 callback n
callback-click-search 돋보기 모양 또는 검색어 입력 후 enter 시 callback n
callback-after-drop-menu 메뉴를 drag 하여 drop 하는 이후 시점에 발생 n
onclick 클릭시 이벤트 n
하위구조 태그명 속성명 설명 비고
<menu-item> 각 메뉴 item 을 구성하는 구조
text 항목명 속성
value 항목값 속성
link 클릭시 이동 링크 주소
style CSS 스타일 설정 속성
class CSS class 설정 속성
target link 선택시 이동할 target
target-name link 선택시 이동할 iframe 명
disabled 메뉴 비활성

주요 속성 사항 (변동형)

속성명 설명 / 유형(n:normal) 비고
submenu-type 메뉴를 나타내는 방식
(* submenu-type="dropdown" 시에는 show-filter-box="true" 사용할 수 없습니다.)
n (accordion | dropdown)
jsondata-ref json data 참조 변수명
예시) json data 구조
var jsondata = [{ id:'A011', pid :'0', order: 1,
text:'A01 메뉴', link:'./A011.html', 'target':'_window'}]
n (사용자지정)
jsondata-id json data 내 id 참조 키명 n (id | 사용자지정)
jsondata-pid json data 내 pid 참조 키명 n (pid | 사용자지정)
jsondata-order json data 내 order 참조 키명 n (ordedr | 사용자지정)
jsondata-text json data 내 text 참조 키명 n (text | 사용자지정)
jsondata-value json data 내 value 참조 키명 n (value | 사용자지정)
jsondata-link json data 내 link 참조 키명 n (link | 사용자지정)
jsondata-style json data 내 tyle 참조 키명 n (style | 사용자지정)
jsondata-class json data 내 class 참조 키명 n (class | 사용자지정)
jsondata-target-name json data 내 iframe 명에 대한 참조 키명 n (사용자 지정)
jsondata-target json data 내 target 명에 대한 참조 키명 n (사용자 지정)
expand-type 하위 구조를 확장/축소를 발생시키는 형태
all : 아이템 전체 영역(text + icon) 클릭시 확장/축소 icon : icon 클릭시에만 확장/축소
n (all | icon)
is-expand 로딩 시의 초기 형태를 확장된 형태로 구성 n (false | true)
expand-open-level 로딩 시 확장되는 하위 레벨
(* is-expand = "true" 지정 필수)
n (사용자 지정)
is-expand-only-select 선택한 menu 만 확장하고 나머지는 축소 n (false | true)
show-slide-button sidemenu 전체 숨김 버튼 표시 여부
n (false | true)
slide-animation slidemenu 전체 숨김시 애니메이션 효과여부 n (true | false)
empty-message data 가 없을때 표시할 메시지 설정 n (사용자 지정)
inactive-collapse-focus icon 클릭에 의한 축소시 하이라이트 상태를 제거 n (false | true)
vertical-scroll-height 세로 스크롤 높이
예시) vertical-scroll-height="200px"
n (사용자 지정)
vertical-scroll-color 세로 스크롤 색상
(default : '#000')
n (사용자 지정)
vertical-scroll-placement 세로 스크롤 위치 n (right | left)
vertical-scroll-size 세로 스크롤 폭
(default : '7px')
n (사용자 지정)
autocomplete-ref 자동 완성 기능 참조 데이터 객체명 n
autocomplete-text text 에 대한 참조 key 명 n
autocomplete-value value 에 대한 참조 key 명 n
autocomplete-height 자동 완성 기능 팝업 창 높이 n
autocomplete-zindex 자동 완성 기능 팝업 z-index n
autocomplete-filter-starts-with 문장의 첫글자부터 검색 n
autocomplete-prefix 팝업되는 리스트의 Text 앞에 특정 문구 n 선택 후 prefix 자동 제거
autocomplete-placement 팝업되는 리스트의 위치 n
show-filter-box filtering 검색 창 화면 표시 여부 n (false | true)
filter-starts-with 첫번째 단어부터 검색할지 여부
설정하지 않거나 false 시 like 검색
n (false | true)
filter-starts-with 첫번째 단어부터 검색할지 여부
설정하지 않거나 false 시 like 검색
n (false | true)
filter-box-placeholder filtering 검색 창 placeholder 설정
(* show-filter-box = "true" 지정 필수)
(default: 메뉴명 검색)
n (사용자 지정)
menu-title 상단에 title 문구 설정 n (사용자 지정)
menu-title-style 상단 title 문구 스타일 n (사용자 지정)
menu-title-image-src 상단 title 영역에 이미지 주소 n (사용자 지정)
menu-title-image-style 상단 title 영역에 이미지 스타일 n (사용자 지정)
menu-title-image-alt 상단 title 영역에 이미지 alt 값 n (사용자 지정)
menu-title-image-title 상단 title 영역에 이미지 title 값 n (사용자 지정)
ext-menu-html-id filter 아래 영역에 선언된 id 의 html 구조 추가 n (사용자 지정)
is-close-icon 1depth 메뉴에 한하여 'X' 버튼으로 메뉴삭제 여부 n (false | true)
is-draggable 1depth 메뉴에 한하여 메뉴 아이템들을 drag & drop 으로 위치 조정 여부 n (false | true)
show-ellipsis 메뉴명이 긴 경우 말줄임표 n (false | true)
ellipsis-width 말줄임표의 너비 설정 n (사용자 지정)
show-tooltip 말줄임표에 해당하는 text 를 툴팁으로 나타냄
(* show-ellipsis = "true" 와 함께 사용하는 경우 줄임말만 툴팁)
n (false | true)
tooltip-key 툴팁으로 보여질 데이터의 json data 내 매칭 key
(* text 외에 별도 데이터와 매칭시 사용)
n (사용자 지정)
tooltip-delay 툴팁이 나타나고 사라지는 시간 n (사용자 지정)
tooltip-show-delay 툴팁이 마우스오버이후 나타날 때까지의 지연시간
(* 메뉴 text 위로 단순이동시에는 나타나지 않게 하기 위한 설정)
n (사용자 지정)
tooltip-hide-delay 포커스가 벗어난 이후 사라지기 전까지의 지연시간 n (사용자 지정)
target 메뉴명 클릭시 이동할 target 명 n _blank: 빈 window 창
_window: layer window 창
_top: top target
_self: 호출한 화면
_parent: 부모 target
'특정 frame명': 특정 target
target-name 메뉴명 클릭시 이동할 iframe 의 name 명 n (사용자 지정)
callback-menu-title-click 이미지 title 클릭할 시 callback n
callback-before-close 'X' 버튼을 눌러 삭제되기 전에 callback n (return false 인경우 삭제 중지)
callback-after-close 'X' 버튼을 눌러 삭제된 후에 callback n
callback-slide-button 슬라이드버튼 클릭시 callback n
callback-before-select menu 선택 되기전에 callback n (return false 인경우 선택 중지)
callback-after-select menu 선택 후에 callback n
callback-click-search 돋보기 모양 또는 검색어 입력 후 enter 시 callback n
callback-after-drop-menu 메뉴를 drag 하여 drop 하는 이후 시점에 발생 n
onclick 클릭시 이벤트 n

주요 API 사항

API 명 설명 / 유형(n: normal) 비고
SBUxMethod.setSideMenu sidemenu 의 항목을 선택 n
SBUxMethod.getSideMenu 선택된 항목을 반환
(* 반환값은 storage-data 속성 설정과 연관되어 있습니다.)
n
SBUxMethod.getSideMenuUpdateData is-close-icon="true" 속성 사용 후
'X' 를 클릭하여 삭제 시 저장된 메뉴 리스트를 object 형태로 반환
n
SBUxMethod.getSideMenuChangedOrderData 변경이 이루어진 메뉴 정보의 최종위치를 기준으로 반환 n
SBUxMethod.getSideMenuChangingOrderData 변경이 이루어진 메뉴 정보의 변경시점마다 기준으로 반환 n
SBUxMethod.expandSideMenu 전체를 펼치거나 특정 menu id 까지 펼침 n
SBUxMethod.collapseSideMenu 전체를 접거나 특정 menu id 까지 접음 n
SBUxMethod.openSideMenu sidemenu 를 왼쪽에서 오른쪽으로 open
(* show-side-button = 'true' 시만 동작)
n
SBUxMethod.closeSideMenu sidemenu 를 오른쪽에서 왼쪽으로 close
(* show-side-button = 'true' 시만 동작)
n
SBUxMethod.disableSideMenu 메뉴를 비활성화 n
SBUxMethod.enableSideMenu 메뉴를 활성화 n
SBUxMethod.refresh 재호출 n
SBUxMethod.hide 감추기 n
SBUxMethod.show 보이기 n