You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 

393 lines
18 KiB

<%@
page contentType="text/html; charset=UTF-8"
import="kr.co.kihyun.beans.user.HttpSSOLogin"
import="kr.co.kihyun.moumi.Moumi" import="kr.co.kihyun.lang.MString"
import="kr.co.kihyun.lang.MLong" import="kr.co.kihyun.beans.user.Dept"
import="kr.co.kihyun.beans.user.PartList"
%>
<%
String rootId = request.getParameter("rootID");
String userYN = request.getParameter("userYN");
String selfDeptYn = request.getParameter("selfDeptYn");
if (userYN == null || userYN == "") {
userYN = "N";
} else {
userYN = "Y";
}
//System.out.println("newTreeUserShare.jsp===============================");
//System.out.println("rootId="+rootId);
//System.out.println("userYN="+userYN);
//System.out.println("selfDeptYn="+selfDeptYn);
//System.out.println("===================================================");
%>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"></meta>
<script type="text/javascript" src="/totsys/common/js/jquery-1.12.4.min.js"></script>
<script type="text/javascript" src="/totsys/common/js/jquery.cookie.js"></script>
<script type="text/javascript" src="/totsys/common/js/jquery.hotkeys.js"></script>
<script type="text/javascript" src="/totsys/common/js/jquery.jstree.js"></script>
<script type="text/javascript" src="/totsys/common/js/jquery.custom.indicator.js"></script>
<style>
#newTree { text-align: justify; font-size:9pt; vertical-align:middle; }
</style>
</head>
<body>
<input type="button" class="button" value="Search" id="search" style="display:none" />
<input type="button" class="button" value="Search clear" id="searchClear" style="display:none" />
<input type="button" class="button" value="checked Id" id="checkbtn" style="display:none" />
<input type="button" class="button" value="focus Move" id="focusMove" style="display:none" />
<div id="searchType" style="display:none"></div>
<div id="searchWord" style="display:none"></div>
<div id="moveType" style="display:none"></div>
<div id="newTree" class="newTree"></div>
<script type="text/javascript" class="source">
var gSearchGubun = "USER"; //default=USER
var gblSearched = false;
$(function() {
var iChkCnt = 0;
$("#newTree").jstree({
"plugins": ["themes", "json_data", "checkbox", "search", "types", "ui", "core"],
"themes": {
"theme": "classic",
"dots": true,
"icons": true,
"url": "/totsys/common/js/themes/classic/style.css"
},
"json_data": {
"data": [
{
"data": "<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>",
"state": "closed",
"attr": {"id": "ROOT", "rel": "ROOT", "rootid": '<%=rootId%>'}
}
],
"ajax": {
"type": "POST",
"url": "/servlet/kr.co.kihyun.tree.Tree",
"data": function(n) {
var data = {};
data.id = n.attr("id");
data.rootId = n.attr("rootId");
data.gubun = "ORGAN";
data.userYN = '<%=userYN%>';
return data;
}
},
"progressive_render": true
},
"checkbox": {state_type: "three-state"},
"search": {
"case_insensitive": true,
"ajax": {
"type": "POST",
"url": "/servlet/kr.co.kihyun.tree.TreeSearch",
"data": function(str) {
var data = {};
// data.keyWord = str.word;
// data.startId = encodeURIComponent('<%=rootId%>');
// data.gubun = str.type;
data.keyWord = str;
data.startId = encodeURIComponent('<%=rootId%>');
data.gubun = gSearchGubun;
return data;
},
//"async": false,
"async": true,
"success": function(data) {
if(data.length == 0 || data == "#" || data == ('#'+'<%=rootId%>')) {
alert('<%=Moumi.getMessageBundle().getString("moumi.message.popup.notSearchUserDept")%>'); //<EFBFBD>˻<EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>/<EFBFBD>μ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ϴ<EFBFBD>.
gblSearched = false;
} else {
gblSearched = true;
}
//<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͷε<EFBFBD><EFBFBD><EFBFBD> <EFBFBD>ʾ <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD>߻<EFBFBD><EFBFBD>ϹǷ<EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ϱ<EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>.
//$("#moveType").text("down");
//$("#focusMove").click();
//$("#newTree").bind("search.jstree", function (e, data) { <EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ѵ<EFBFBD>.
},
"beforeSend" : function() {
$.customIndicator.show(window.parent);
},
"complete" : function() {
$.customIndicator.hide(window.parent);
}
}
},
"types": {
"valid_children": ["ROOT", "DEPT", "USER"],
"types": {
"ROOT": {
"icon": {"image": "/totsys/common/images/pc-user.gif"}
},
"USER": {
"icon": {"image": "/totsys/common/images/person.png"}
}
}
},
"core": { 'initially_open': ['ROOT'] }
});
//<EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ŭ<EFBFBD><EFBFBD> : <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ʈ<EFBFBD><EFBFBD> <EFBFBD>߰<EFBFBD><EFBFBD>ȴ<EFBFBD>.
$("#newTree").bind("dblclick.jstree", function(e, data) {
var NODE = $.jstree._focused().get_selected();
nodeId = $(NODE).attr("id");
nodeRel = $(NODE).attr("rel");
nodeName = $(NODE).attr("name");
nodeDeptId = $(NODE).attr("deptid");
nodeDeptName = $(NODE).attr("deptname");
//alert(" nodeId = " + nodeId);
//alert(" nodeRel = " + nodeRel);
//alert(" nodeName = " + nodeName);
//alert(" nodeDeptId = " + nodeDeptId);
//alert(" nodeDeptName = " + nodeDeptName);
if (nodeId == undefined) {
return;
}
if (nodeId == "ROOT" || nodeRel == "ROOT" || nodeRel == "DEPT") {
alert('<%=Moumi.getMessageBundle().getString("moumi.message.popup.selectUser")%>'); //<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ڸ<EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ϼ<EFBFBD><EFBFBD><EFBFBD>!
return;
}
parent.putSelId(nodeId, nodeName, nodeDeptName);
//<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ʈ<EFBFBD><EFBFBD> ǥ<EFBFBD>õȴ<EFBFBD>.
parent.document.list.submit();
});
//<EFBFBD>ε<EFBFBD><EFBFBD><EFBFBD> <EFBFBD>μ<EFBFBD> ID<EFBFBD><EFBFBD> <EFBFBD>ִ<EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD>ü <EFBFBD><EFBFBD>ġ<EFBFBD><EFBFBD>
$("#newTree").bind("loaded.jstree", function(event, data) {
<% if("Y".equals(selfDeptYn)) { %>
$("#newTree").jstree("open_all");
<% } %>
});
$("#newTree").bind("check_node.jstree", function(e, data) {
data.inst.open_node(data.rslt.obj, false, true);
});
$("#search").click(function() {
//2014.09.03 Update by KWON,HAN : ã<EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD>ڿ<EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD>Ÿ<EFBFBD>ü, <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ƻ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD>ذ<EFBFBD>
// var str = {};
// str.word = $('#searchWord').text();
// str.type = $('#searchType').text();
// //alert("str.word = " + str.word );
// //alert("str.word = " + str.type );
// $("#newTree").jstree("search", str);
gblSearched = false;
gSearchGubun = $('#searchType').text(); //USER,DEPT
var searchResult = $("#newTree").jstree("search", $('#searchWord').text());
//alert("searchResult=" + searchResult);
//### <EFBFBD>˻<EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD>Ŀ<EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ȴ<EFBFBD>.
//$("#newTree").bind("search.jstree", function (e, data) {
});
//### <EFBFBD>˻<EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD>Ŀ<EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ȴ<EFBFBD>. : <EFBFBD>˻<EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD>ʷ<EFBFBD> <EFBFBD><EFBFBD>Ŀ<EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD>̵<EFBFBD><EFBFBD><EFBFBD>Ų<EFBFBD><EFBFBD>.
$("#newTree").bind("search.jstree", function (e, data) {
if(data.rslt.nodes.length > 0) {
//1.<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD>õ<EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ѵ<EFBFBD>.
$('#newTree').jstree('deselect_all');
//2.<EFBFBD>˻<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD>ٸ<EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD> style<EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ѵ<EFBFBD>.
var tmpRel = "";
$("#newTree").find(".jstree-search").each(function() {
tmpRel = $(this).parent("li").attr("rel");
if(gSearchGubun !== tmpRel) {
//alert("rel = " + tmpRel );
try {
$(this).removeClass("jstree-search");
} catch(e) {
alert(e);
}
}
});
//ã<EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD>ִٸ<EFBFBD> ...
if(gblSearched == true) {
$("#moveType").text("down");
$("#focusMove").click();
}
}
//alert("Found " + data.rslt.nodes.length + " nodes matching '" + data.rslt.str + "'.");
});
$("#searchClear").click(function() {
$("#newTree").jstree("clear_search");
$("#searchResult").empty();
});
//üũ<EFBFBD>Ȱ<EFBFBD><EFBFBD><EFBFBD> <EFBFBD>߰<EFBFBD><EFBFBD><EFBFBD>ư<EFBFBD><EFBFBD> Ŭ<EFBFBD><EFBFBD><EFBFBD>ϸ<EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ʈ<EFBFBD><EFBFBD> <EFBFBD>߰<EFBFBD><EFBFBD>ȴ<EFBFBD>.
$("#checkbtn").click(function() {
iChkCnt = 0
$("#newTree").jstree("get_checked", null, true).each(function() {
//alert(" this.id = " + this.id);
//alert(" this.rel = " + this.rel);
//alert(" this.SYSAUTH = " + this.SYSAUTH);
//alert(" this.name = " + this.name);
//alert(" this.deptid = " + this.deptid);
//alert(" this.deptname = " + this.deptname);
if (this.id == "ROOT" || this.rel == "ROOT" || this.rel == "DEPT") {
return;
}
iChkCnt = iChkCnt + 1;
//parent.putSelId(this.id, this.name, this.deptname);
//ie10,11 ȣȯ<EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD> undefined <EFBFBD><EFBFBD><EFBFBD><EFBFBD>, <EFBFBD>μ<EFBFBD><EFBFBD>߰<EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD>
var name=$(this).attr('name');
if(!name||name==''){
//name=$(this).attr('deptname');
return;
}else{
}
parent.putSelId(this.id,name,$(this).attr('deptname'));
});
if (iChkCnt == 0) {
alert('<%=Moumi.getMessageBundle().getString("moumi.message.popup.selectUser")%>'); //<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ڸ<EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ϼ<EFBFBD><EFBFBD><EFBFBD>!
} else {
//<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ʈ<EFBFBD><EFBFBD> ǥ<EFBFBD>õȴ<EFBFBD>.
parent.document.list.submit();
}
});
//<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD>˻<EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD>Ŀ<EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD>̵<EFBFBD><EFBFBD><EFBFBD>Ų<EFBFBD><EFBFBD>. strType : down, up
$("#focusMove").click(function() {
var moveType = $("#moveType").text(); //down,up
//alert("moveType = " + moveType);
//1.<EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD>õ<EFBFBD> object<EFBFBD><EFBFBD> offset.top<EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD>Ѵ<EFBFBD>.
var NODE = $.jstree._focused().get_selected();
var nodeId = $(NODE).attr("id");
if (nodeId == undefined) {
nodeId = "";
}
var currentObj = $('#' + nodeId);
var currentOffset = currentObj.offset();
var currentOffsetTop = -1;
if(currentOffset != null) {
currentOffsetTop = currentOffset.top;
}
//2.<EFBFBD><EFBFBD><EFBFBD><EFBFBD> currentOffsetTop <EFBFBD><EFBFBD><EFBFBD><EFBFBD> ū <EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ϴ<EFBFBD> id<EFBFBD><EFBFBD> ã<EFBFBD>Ƽ<EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ѵ<EFBFBD>.
var currentNodeId = "";
currentNodeId = getDeptUserId(nodeId, currentOffsetTop, moveType);
//3.<EFBFBD><EFBFBD><EFBFBD>ϵ<EFBFBD> id<EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD>ٸ<EFBFBD> <EFBFBD>޼<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ѵ<EFBFBD>.
if(currentNodeId === null || currentNodeId === "") {
alert("<EFBFBD><EFBFBD> <EFBFBD>̻<EFBFBD> ã<EFBFBD><EFBFBD> <EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ϴ<EFBFBD>.");
return;
}
//4.<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD>õ<EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ѵ<EFBFBD>.
$('#newTree').jstree('deselect_all');
//5.<EFBFBD><EFBFBD><EFBFBD>ϵ<EFBFBD> id<EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ѵ<EFBFBD>.
$("#newTree").jstree("select_node", '#' + currentNodeId); //591
try {
var selectedObj = $('#' + currentNodeId);
var elementOffset = selectedObj.offset();
//alert("[offset.top] : " + elementOffset.top + "\n[offset.left] : " + elementOffset.left);
//ie10,11 <EFBFBD><EFBFBD> ȣȯ<EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ϵ<EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD>
var verticalCenterPosition = $(window).height() / 2;
//// <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>̵<EFBFBD>
//$("html").scrollTop(elementOffset.top - verticalCenterPosition);
// <EFBFBD>ε巴<EFBFBD><EFBFBD> <EFBFBD>̵<EFBFBD>(500ms)
$("html").animate({
scrollTop: elementOffset.top - verticalCenterPosition
}, 500);
} catch(e) {
alert(e);
}
});
// $("#newTree").bind("select_node.jstree", function (event, data) {
// //alert(data.inst.get_text(data.rslt.obj) + " - " + data.rslt.obj.attr("id")); // id - Text
// //alert(data.inst.get_text(data.rslt.obj) + " - " + data.rslt.obj.attr("name")); // name - Text
// //alert(data.inst.get_text(data.rslt.obj) + " - " + data.rslt.obj.attr("rel")); // rel - Text
// if(data.rslt.obj.attr("rel") !== "USER") {
// //alert('<%=Moumi.getMessageBundle().getString("moumi.message.popup.selectUser")%>'); //<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ڸ<EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ϼ<EFBFBD><EFBFBD><EFBFBD>!
// $('#newTree').jstree('deselect_all');
// //return;
// }
// //data.inst._fix_scroll(data.rslt.obj)
// });
});
//<EFBFBD>ٿ<EFBFBD>,<EFBFBD><EFBFBD> <EFBFBD><EFBFBD>ư Ŭ<EFBFBD><EFBFBD> <EFBFBD><EFBFBD> : 2.<EFBFBD><EFBFBD><EFBFBD><EFBFBD> currentOffsetTop <EFBFBD><EFBFBD><EFBFBD><EFBFBD> ū <EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ϴ<EFBFBD> id<EFBFBD><EFBFBD> ã<EFBFBD>Ƽ<EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ѵ<EFBFBD>.
function getDeptUserId(strId, intTop, strType) {
//alert("strId = " + strId + ", intTop = " + intTop + ", strType = " + strType);
var id = "";
var idArray = new Array();
var returnId = "";
var blSearchOk = false;
if( strType === "down") {
$("#newTree").find(".jstree-search").each(function() {
id = $(this).parent("li").attr("id");
if(blSearchOk === false && strId !== id) {
var selectedObj = $('#' + id);
var elementOffset = selectedObj.offset();
if(elementOffset.top > intTop) {
//alert("[offset.top] : " + elementOffset.top + "\n[offset.left] : " + elementOffset.left);
returnId = id
blSearchOk = true;
}
}
});
}
if( strType === "up") {
$("#newTree").find(".jstree-search").each(function() {
idArray.push( $(this).parent("li").attr("id") );
});
idArray.reverse();
for(var i= 0; i < idArray.length; i++) {
id = idArray[i].toString();
if(blSearchOk === false && strId !== id) {
var selectedObj = $('#' + id);
var elementOffset = selectedObj.offset();
if(elementOffset.top < intTop) {
//alert("[offset.top] : " + elementOffset.top + "\n[offset.left] : " + elementOffset.left);
returnId = id
blSearchOk = true;
}
}
}
}
return returnId;
}
</script>
</body>
</html>