jstree를 찾는 사람이 은근히 많다는 점을 알게 되었다.
jstree를 회사에서 적용한지는 조금 오래되었지만 적용 당시 굉장히 애를 먹었던 리스트들을 차근차근 생각날때마다
추가해 나가고자 한다.
1. jstree에서 로딩중.. 이라는 메세지가 나타나면서 트리 전체가 나타나지 않는 문제
-> 하나라도 parentid가 없이 오게 되면 전체 트리를 뿌리는데 문제가 생겨버린다.
이런 메세지가 뜬다면 parentid가 제대로 왔는지 데이터를 차근차근 찾아가다보면 찾을 수 있다.
2. jstree에서 id 컬럼으로 원하는 값이 있다.
-> json 데이터로 내 맘대로 가지고 온다고 jstree가 알아서 뿌려주는게 아니다.
id값으로 정해져있는 컬럼이 있는데 그것을 정해줘야한다. (id상관x , parentid 찾아서 트리 뿌리는 형태)
id 값 : id
parentId값 : parent (최상단은 ##이라고 표현해줘야 최상단 트리라는것을 알수 있다)
- 본인은 그냥 select 때부터 id로 가지고 와서 처리했음
1
2
3
4
5
6
7
|
SELECT
FOLDER_ID as id,
CASE WHEN FOLDER_UPPER = 'root'
THEN '##'
ELSE FOLDER_UPPER
END PARENT,
http://colorscripter.com/info#e" target="_blank" style="color:#4f4f4ftext-decoration:none">Colored by Color Scripter
http://colorscripter.com/info#e" target="_blank" style="text-decoration:none;color:white">cs |
3. 다른 글(여기)에도 썼듯 + - 버튼 내가 원하는 형식대로 바꾸기
(솔직히 지금 생각하면 너무 뭣도 모르고 덤벼서 몰랐던것인듯 싶다.)
4. 간단하다면 간단할 수 있지만 뒷단에서 json으로 값을 가지고 와서 ##인 root 트리를 바로 선택되도록
$('.jstree-anchor').attr('oncontextmenu', 'event_folderMenu(event);'); // event_folderMenu는 본인 이벤트
$('.jstree-anchor').attr('onclick', 'HiddenFolderMenu();');
5. 이건 성공하지 못했던 내용 : 트리 전체를 가지고 오는것이 아닌 +를 눌렀을때에 새로 데이터를 가져오도록
이건 결국 성공하지 못했다. 트리 데이터의 양을 아주 많이 가져오는 경우가 있어서 처리하려고 했으나 당시 방법을
찾지 못했다.
6. 예를 들어 한 페이지에 여러개의 jstree를 만들어야 한다면 본인의 경우는 선택 한번에 jstree는
하나만 생성하도록 했는데
만약, 기존에 만들어져있던 jstree가 있다면 이건 destory를 해준다음 다시 생성하도록 하여야 정상적으로
생성이 된다. 기억으로는 생성 자체에 문제가 있었던듯 하다.
destory 하는 방법은 다음과 같다 .
$($element).jstree('destroy'); 를 먼저 해주고 jstree뿌리는 형태를 다음에 진행해주면 된다.
'개발공부' 카테고리의 다른 글
[docker][linux] docker bash -l 옵션 (0) | 2020.05.19 |
---|---|
사용하는 포트 (0) | 2018.02.14 |
REST API (0) | 2018.01.22 |
JSON (0) | 2018.01.22 |
INFORMATION_SCHEMA (0) | 2017.12.27 |