UNPKG

jdc_dkh_jxicustomer

Version:

JDC_dkh_jxicustomer ==== 产品经理:田宇,弥磊 设计:罗婷 交互:张钊

1,085 lines 117 kB
/* * JQuery zTree core v3.5.34 * http://treejs.cn/ * * Copyright (c) 2010 Hunter.z * * Licensed same as jquery - MIT License * http://www.opensource.org/licenses/mit-license.php * * email: hunter.z@263.net * Date: 2018-02-12 */ (function(q) { var H, I, J, K, L, M, u, s = {}, v = {}, w = {}, N = { treeId: "", treeObj: null, view: { addDiyDom: null, autoCancelSelected: !0, dblClickExpand: !0, expandSpeed: "fast", fontCss: {}, nameIsHTML: !1, selectedMulti: !0, showIcon: !0, showLine: !0, showTitle: !0, txtSelectedEnable: !1 }, data: { key: { isParent: "isParent", children: "children", name: "name", title: "", url: "url", icon: "icon" }, simpleData: { enable: !1, idKey: "id", pIdKey: "pId", rootPId: null }, keep: { parent: !1, leaf: !1 } }, async: { enable: !1, contentType: "application/x-www-form-urlencoded", type: "post", dataType: "text", url: "", autoParam: [], otherParam: [], dataFilter: null }, callback: { beforeAsync: null, beforeClick: null, beforeDblClick: null, beforeRightClick: null, beforeMouseDown: null, beforeMouseUp: null, beforeExpand: null, beforeCollapse: null, beforeRemove: null, onAsyncError: null, onAsyncSuccess: null, onNodeCreated: null, onClick: null, onDblClick: null, onRightClick: null, onMouseDown: null, onMouseUp: null, onExpand: null, onCollapse: null, onRemove: null } }, x = [function(a) { var b = a.treeObj, c = f.event; b.bind(c.NODECREATED, function(b, c, h) { j.apply(a.callback.onNodeCreated, [b, c, h]) }); b.bind(c.CLICK, function(b, c, h, e, m) { j.apply(a.callback.onClick, [c, h, e, m]) }); b.bind(c.EXPAND, function(b, c, h) { j.apply(a.callback.onExpand, [b, c, h]) }); b.bind(c.COLLAPSE, function(b, c, h) { j.apply(a.callback.onCollapse, [b, c, h]) }); b.bind(c.ASYNC_SUCCESS, function(b, c, h, e) { j.apply(a.callback.onAsyncSuccess, [b, c, h, e]) }); b.bind(c.ASYNC_ERROR, function(b, c, h, e, m, f) { j.apply(a.callback.onAsyncError, [b, c, h, e, m, f]) }); b.bind(c.REMOVE, function(b, c, h) { j.apply(a.callback.onRemove, [b, c, h]) }); b.bind(c.SELECTED, function(b, c, h) { j.apply(a.callback.onSelected, [c, h]) }); b.bind(c.UNSELECTED, function(b, c, h) { j.apply(a.callback.onUnSelected, [c, h]) }) }], y = [function(a) { var b = f.event; a.treeObj.unbind(b.NODECREATED).unbind(b.CLICK).unbind(b.EXPAND).unbind(b.COLLAPSE).unbind(b.ASYNC_SUCCESS).unbind(b.ASYNC_ERROR).unbind(b.REMOVE).unbind(b.SELECTED).unbind(b.UNSELECTED) }], z = [function(a) { var b = e.getCache(a); b || (b = {}, e.setCache(a, b)); b.nodes = []; b.doms = [] }], A = [function(a, b, c, d, g, h) { if (c) { var k = e.getRoot(a), m = e.nodeChildren(a, c); c.level = b; c.tId = a.treeId + "_" + ++k.zId; c.parentTId = d ? d.tId : null; c.open = typeof c.open == "string" ? j.eqs(c.open, "true") : !!c.open; b = e.nodeIsParent(a, c); j.isArray(m) && !(b === !1 || typeof b == "string" && j.eqs(b, "false")) ? (e.nodeIsParent(a, c, !0), c.zAsync = !0) : (b = e.nodeIsParent(a, c, b), c.open = b && !a.async.enable ? c.open : !1, c.zAsync = !b); c.isFirstNode = g; c.isLastNode = h; c.getParentNode = function() { return e.getNodeCache(a, c.parentTId) }; c.getPreNode = function() { return e.getPreNode(a, c) }; c.getNextNode = function() { return e.getNextNode(a, c) }; c.getIndex = function() { return e.getNodeIndex(a, c) }; c.getPath = function() { return e.getNodePath(a, c) }; c.isAjaxing = !1; e.fixPIdKeyValue(a, c) } }], t = [function(a) { var b = a.target, c = e.getSetting(a.data.treeId), d = "", g = null, h = "", k = "", m = null, i = null, o = null; if (j.eqs(a.type, "mousedown")) k = "mousedown"; else if (j.eqs(a.type, "mouseup")) k = "mouseup"; else if (j.eqs(a.type, "contextmenu")) k = "contextmenu"; else if (j.eqs(a.type, "click")) if (j.eqs(b.tagName, "span") && b.getAttribute("treeNode" + f.id.SWITCH) !== null) d = j.getNodeMainDom(b).id, h = "switchNode"; else { if (o = j.getMDom(c, b, [{ tagName: "a", attrName: "treeNode" + f.id.A }])) d = j.getNodeMainDom(o).id, h = "clickNode" } else if (j.eqs(a.type, "dblclick") && (k = "dblclick", o = j.getMDom(c, b, [{ tagName: "a", attrName: "treeNode" + f.id.A }]))) d = j.getNodeMainDom(o).id, h = "switchNode"; if (k.length > 0 && d.length == 0 && (o = j.getMDom(c, b, [{ tagName: "a", attrName: "treeNode" + f.id.A }]))) d = j.getNodeMainDom(o).id; if (d.length > 0) switch (g = e.getNodeCache(c, d), h) { case "switchNode": e.nodeIsParent(c, g) ? j.eqs(a.type, "click") || j.eqs(a.type, "dblclick") && j.apply(c.view.dblClickExpand, [c.treeId, g], c.view.dblClickExpand) ? m = H : h = "" : h = ""; break; case "clickNode": m = I } switch (k) { case "mousedown": i = J; break; case "mouseup": i = K; break; case "dblclick": i = L; break; case "contextmenu": i = M } return { stop: !1, node: g, nodeEventType: h, nodeEventCallback: m, treeEventType: k, treeEventCallback: i } }], B = [function(a) { var b = e.getRoot(a); b || (b = {}, e.setRoot(a, b)); e.nodeChildren(a, b, []); b.expandTriggerFlag = !1; b.curSelectedList = []; b.noSelection = !0; b.createdNodes = []; b.zId = 0; b._ver = (new Date).getTime() }], C = [], D = [], E = [], F = [], G = [], e = { addNodeCache: function(a, b) { e.getCache(a).nodes[e.getNodeCacheId(b.tId)] = b }, getNodeCacheId: function(a) { return a.substring(a.lastIndexOf("_") + 1) }, addAfterA: function(a) { D.push(a) }, addBeforeA: function(a) { C.push(a) }, addInnerAfterA: function(a) { F.push(a) }, addInnerBeforeA: function(a) { E.push(a) }, addInitBind: function(a) { x.push(a) }, addInitUnBind: function(a) { y.push(a) }, addInitCache: function(a) { z.push(a) }, addInitNode: function(a) { A.push(a) }, addInitProxy: function(a, b) { b ? t.splice(0, 0, a) : t.push(a) }, addInitRoot: function(a) { B.push(a) }, addNodesData: function(a, b, c, d) { var g = e.nodeChildren(a, b); g ? c >= g.length && (c = -1) : (g = e.nodeChildren(a, b, []), c = -1); if (g.length > 0 && c === 0) g[0].isFirstNode = !1, i.setNodeLineIcos(a, g[0]); else if (g.length > 0 && c < 0) g[g.length - 1].isLastNode = !1, i.setNodeLineIcos(a, g[g.length - 1]); e.nodeIsParent(a, b, !0); c < 0 ? e.nodeChildren(a, b, g.concat(d)) : (a = [c, 0].concat(d), g.splice.apply(g, a)) }, addSelectedNode: function(a, b) { var c = e.getRoot(a); e.isSelectedNode(a, b) || c.curSelectedList.push(b) }, addCreatedNode: function(a, b) { (a.callback.onNodeCreated || a.view.addDiyDom) && e.getRoot(a).createdNodes.push(b) }, addZTreeTools: function(a) { G.push(a) }, exSetting: function(a) { q.extend(!0, N, a) }, fixPIdKeyValue: function(a, b) { a.data.simpleData.enable && (b[a.data.simpleData.pIdKey] = b.parentTId ? b.getParentNode()[a.data.simpleData.idKey] : a.data.simpleData.rootPId) }, getAfterA: function(a, b, c) { for (var d = 0, e = D.length; d < e; d++) D[d].apply(this, arguments) }, getBeforeA: function(a, b, c) { for (var d = 0, e = C.length; d < e; d++) C[d].apply(this, arguments) }, getInnerAfterA: function(a, b, c) { for (var d = 0, e = F.length; d < e; d++) F[d].apply(this, arguments) }, getInnerBeforeA: function(a, b, c) { for (var d = 0, e = E.length; d < e; d++) E[d].apply(this, arguments) }, getCache: function(a) { return w[a.treeId] }, getNodeIndex: function(a, b) { if (!b) return null; for (var c = b.parentTId ? b.getParentNode() : e.getRoot(a), c = e.nodeChildren(a, c), d = 0, g = c.length - 1; d <= g; d++) if (c[d] === b) return d; return -1 }, getNextNode: function(a, b) { if (!b) return null; for (var c = b.parentTId ? b.getParentNode() : e.getRoot(a), c = e.nodeChildren(a, c), d = 0, g = c.length - 1; d <= g; d++) if (c[d] === b) return d == g ? null : c[d + 1]; return null }, getNodeByParam: function(a, b, c, d) { if (!b || !c) return null; for (var g = 0, h = b.length; g < h; g++) { var k = b[g]; if (k[c] == d) return b[g]; k = e.nodeChildren(a, k); if (k = e.getNodeByParam(a, k, c, d)) return k } return null }, getNodeCache: function(a, b) { if (!b) return null; var c = w[a.treeId].nodes[e.getNodeCacheId(b)]; return c ? c : null }, getNodePath: function(a, b) { if (!b) return null; var c; (c = b.parentTId ? b.getParentNode().getPath() : []) && c.push(b); return c }, getNodes: function(a) { return e.nodeChildren(a, e.getRoot(a)) }, getNodesByParam: function(a, b, c, d) { if (!b || !c) return []; for (var g = [], h = 0, k = b.length; h < k; h++) { var m = b[h]; m[c] == d && g.push(m); m = e.nodeChildren(a, m); g = g.concat(e.getNodesByParam(a, m, c, d)) } return g }, getNodesByParamFuzzy: function(a, b, c, d) { if (!b || !c) return []; for (var g = [], d = d.toLowerCase(), h = 0, k = b.length; h < k; h++) { var m = b[h]; typeof m[c] == "string" && b[h][c].toLowerCase().indexOf(d) > -1 && g.push(m); m = e.nodeChildren(a, m); g = g.concat(e.getNodesByParamFuzzy(a, m, c, d)) } return g }, getNodesByFilter: function(a, b, c, d, g) { if (!b) return d ? null : []; for (var h = d ? null : [], k = 0, m = b.length; k < m; k++) { var f = b[k]; if (j.apply(c, [f, g], !1)) { if (d) return f; h.push(f) } f = e.nodeChildren(a, f); f = e.getNodesByFilter(a, f, c, d, g); if (d && f) return f; h = d ? f : h.concat(f) } return h }, getPreNode: function(a, b) { if (!b) return null; for (var c = b.parentTId ? b.getParentNode() : e.getRoot(a), c = e.nodeChildren(a, c), d = 0, g = c.length; d < g; d++) if (c[d] === b) return d == 0 ? null : c[d - 1]; return null }, getRoot: function(a) { return a ? v[a.treeId] : null }, getRoots: function() { return v }, getSetting: function(a) { return s[a] }, getSettings: function() { return s }, getZTreeTools: function(a) { return (a = this.getRoot(this.getSetting(a))) ? a.treeTools : null }, initCache: function(a) { for (var b = 0, c = z.length; b < c; b++) z[b].apply(this, arguments) }, initNode: function(a, b, c, d, e, h) { for (var k = 0, f = A.length; k < f; k++) A[k].apply(this, arguments) }, initRoot: function(a) { for (var b = 0, c = B.length; b < c; b++) B[b].apply(this, arguments) }, isSelectedNode: function(a, b) { for (var c = e.getRoot(a), d = 0, g = c.curSelectedList.length; d < g; d++) if (b === c.curSelectedList[d]) return !0; return !1 }, nodeChildren: function(a, b, c) { if (!b) return null; a = a.data.key.children; typeof c !== "undefined" && (b[a] = c); return b[a] }, nodeIsParent: function(a, b, c) { if (!b) return !1; a = a.data.key.isParent; typeof c !== "undefined" && (typeof c === "string" && (c = j.eqs(c, "true")), b[a] = !!c); return b[a] }, nodeName: function(a, b, c) { a = a.data.key.name; typeof c !== "undefined" && (b[a] = c); return "" + b[a] }, nodeTitle: function(a, b) { return "" + b[a.data.key.title === "" ? a.data.key.name : a.data.key.title] }, removeNodeCache: function(a, b) { var c = e.nodeChildren(a, b); if (c) for (var d = 0, g = c.length; d < g; d++) e.removeNodeCache(a, c[d]); e.getCache(a).nodes[e.getNodeCacheId(b.tId)] = null }, removeSelectedNode: function(a, b) { for (var c = e.getRoot(a), d = 0, g = c.curSelectedList.length; d < g; d++) if (b === c.curSelectedList[d] || !e.getNodeCache(a, c.curSelectedList[d].tId)) c.curSelectedList.splice(d, 1), a.treeObj.trigger(f.event.UNSELECTED, [a.treeId, b]), d--, g-- }, setCache: function(a, b) { w[a.treeId] = b }, setRoot: function(a, b) { v[a.treeId] = b }, setZTreeTools: function(a, b) { for (var c = 0, d = G.length; c < d; c++) G[c].apply(this, arguments) }, transformToArrayFormat: function(a, b) { function c(b) { d.push(b); (b = e.nodeChildren(a, b)) && (d = d.concat(e.transformToArrayFormat(a, b))) } if (!b) return []; var d = []; if (j.isArray(b)) for (var g = 0, h = b.length; g < h; g++) c(b[g]); else c(b); return d }, transformTozTreeFormat: function(a, b) { var c, d, g = a.data.simpleData.idKey, h = a.data.simpleData.pIdKey; if (!g || g == "" || !b) return []; if (j.isArray(b)) { var k = [], f = {}; for (c = 0, d = b.length; c < d; c++) f[b[c][g]] = b[c]; for (c = 0, d = b.length; c < d; c++) { var i = f[b[c][h]]; if (i && b[c][g] != b[c][h]) { var o = e.nodeChildren(a, i); o || (o = e.nodeChildren(a, i, [])); o.push(b[c]) } else k.push(b[c]) } return k } else return [b] } }, n = { bindEvent: function(a) { for (var b = 0, c = x.length; b < c; b++) x[b].apply(this, arguments) }, unbindEvent: function(a) { for (var b = 0, c = y.length; b < c; b++) y[b].apply(this, arguments) }, bindTree: function(a) { var b = { treeId: a.treeId }, c = a.treeObj; a.view.txtSelectedEnable || c.bind("selectstart", u).css({ "-moz-user-select": "-moz-none" }); c.bind("click", b, n.proxy); c.bind("dblclick", b, n.proxy); c.bind("mouseover", b, n.proxy); c.bind("mouseout", b, n.proxy); c.bind("mousedown", b, n.proxy); c.bind("mouseup", b, n.proxy); c.bind("contextmenu", b, n.proxy) }, unbindTree: function(a) { a.treeObj.unbind("selectstart", u).unbind("click", n.proxy).unbind("dblclick", n.proxy).unbind("mouseover", n.proxy).unbind("mouseout", n.proxy).unbind("mousedown", n.proxy).unbind("mouseup", n.proxy).unbind("contextmenu", n.proxy) }, doProxy: function(a) { for (var b = [], c = 0, d = t.length; c < d; c++) { var e = t[c].apply(this, arguments); b.push(e); if (e.stop) break } return b }, proxy: function(a) { var b = e.getSetting(a.data.treeId); if (!j.uCanDo(b, a)) return !0; for (var b = n.doProxy(a), c = !0, d = 0, g = b.length; d < g; d++) { var h = b[d]; h.nodeEventCallback && (c = h.nodeEventCallback.apply(h, [a, h.node]) && c); h.treeEventCallback && (c = h.treeEventCallback.apply(h, [a, h.node]) && c) } return c } }; H = function(a, b) { var c = e.getSetting(a.data.treeId); if (b.open) { if (j.apply(c.callback.beforeCollapse, [c.treeId, b], !0) == !1) return !0 } else if (j.apply(c.callback.beforeExpand, [c.treeId, b], !0) == !1) return !0; e.getRoot(c).expandTriggerFlag = !0; i.switchNode(c, b); return !0 }; I = function(a, b) { var c = e.getSetting(a.data.treeId), d = c.view.autoCancelSelected && (a.ctrlKey || a.metaKey) && e.isSelectedNode(c, b) ? 0 : c.view.autoCancelSelected && (a.ctrlKey || a.metaKey) && c.view.selectedMulti ? 2 : 1; if (j.apply(c.callback.beforeClick, [c.treeId, b, d], !0) == !1) return !0; d === 0 ? i.cancelPreSelectedNode(c, b) : i.selectNode(c, b, d === 2); c.treeObj.trigger(f.event.CLICK, [a, c.treeId, b, d]); return !0 }; J = function(a, b) { var c = e.getSetting(a.data.treeId); j.apply(c.callback.beforeMouseDown, [c.treeId, b], !0) && j.apply(c.callback.onMouseDown, [a, c.treeId, b]); return !0 }; K = function(a, b) { var c = e.getSetting(a.data.treeId); j.apply(c.callback.beforeMouseUp, [c.treeId, b], !0) && j.apply(c.callback.onMouseUp, [a, c.treeId, b]); return !0 }; L = function(a, b) { var c = e.getSetting(a.data.treeId); j.apply(c.callback.beforeDblClick, [c.treeId, b], !0) && j.apply(c.callback.onDblClick, [a, c.treeId, b]); return !0 }; M = function(a, b) { var c = e.getSetting(a.data.treeId); j.apply(c.callback.beforeRightClick, [c.treeId, b], !0) && j.apply(c.callback.onRightClick, [a, c.treeId, b]); return typeof c.callback.onRightClick != "function" }; u = function(a) { a = a.originalEvent.srcElement.nodeName.toLowerCase(); return a === "input" || a === "textarea" }; var j = { apply: function(a, b, c) { return typeof a == "function" ? a.apply(O, b ? b : []) : c }, canAsync: function(a, b) { var c = e.nodeChildren(a, b), d = e.nodeIsParent(a, b); return a.async.enable && b && d && !(b.zAsync || c && c.length > 0) }, clone: function(a) { if (a === null) return null; var b = j.isArray(a) ? [] : {}, c; for (c in a) b[c] = a[c] instanceof Date ? new Date(a[c].getTime()) : typeof a[c] === "object" ? j.clone(a[c]) : a[c]; return b }, eqs: function(a, b) { return a.toLowerCase() === b.toLowerCase() }, isArray: function(a) { return Object.prototype.toString.apply(a) === "[object Array]" }, isElement: function(a) { return typeof HTMLElement === "object" ? a instanceof HTMLElement : a && typeof a === "object" && a !== null && a.nodeType === 1 && typeof a.nodeName === "string" }, $: function(a, b, c) { b && typeof b != "string" && (c = b, b = ""); return typeof a == "string" ? q(a, c ? c.treeObj.get(0).ownerDocument : null) : q("#" + a.tId + b, c ? c.treeObj : null) }, getMDom: function(a, b, c) { if (!b) return null; for (; b && b.id !== a.treeId;) { for (var d = 0, e = c.length; b.tagName && d < e; d++) if (j.eqs(b.tagName, c[d].tagName) && b.getAttribute(c[d].attrName) !== null) return b; b = b.parentNode } return null }, getNodeMainDom: function(a) { return q(a).parent("li").get(0) || q(a).parentsUntil("li").parent().get(0) }, isChildOrSelf: function(a, b) { return q(a).closest("#" + b).length > 0 }, uCanDo: function() { return !0 } }, i = { addNodes: function(a, b, c, d, g) { var h = e.nodeIsParent(a, b); if (!a.data.keep.leaf || !b || h) if (j.isArray(d) || (d = [d]), a.data.simpleData.enable && (d = e.transformTozTreeFormat(a, d)), b) { var h = l(b, f.id.SWITCH, a), k = l(b, f.id.ICON, a), m = l(b, f.id.UL, a); if (!b.open) i.replaceSwitchClass(b, h, f.folder.CLOSE), i.replaceIcoClass(b, k, f.folder.CLOSE), b.open = !1, m.css({ display: "none" }); e.addNodesData(a, b, c, d); i.createNodes(a, b.level + 1, d, b, c); g || i.expandCollapseParentNode(a, b, !0) } else e.addNodesData(a, e.getRoot(a), c, d), i.createNodes(a, 0, d, null, c) }, appendNodes: function(a, b, c, d, g, h, k) { if (!c) return []; var f = [], j = d ? d : e.getRoot(a), j = e.nodeChildren(a, j), o, l; if (!j || g >= j.length - c.length) g = -1; for (var n = 0, Q = c.length; n < Q; n++) { var p = c[n]; h && (o = (g === 0 || j.length == c.length) && n == 0, l = g < 0 && n == c.length - 1, e.initNode(a, b, p, d, o, l, k), e.addNodeCache(a, p)); o = e.nodeIsParent(a, p); l = []; var q = e.nodeChildren(a, p); q && q.length > 0 && (l = i.appendNodes(a, b + 1, q, p, -1, h, k && p.open)); k && (i.makeDOMNodeMainBefore(f, a, p), i.makeDOMNodeLine(f, a, p), e.getBeforeA(a, p, f), i.makeDOMNodeNameBefore(f, a, p), e.getInnerBeforeA(a, p, f), i.makeDOMNodeIcon(f, a, p), e.getInnerAfterA(a, p, f), i.makeDOMNodeNameAfter(f, a, p), e.getAfterA(a, p, f), o && p.open && i.makeUlHtml(a, p, f, l.join("")), i.makeDOMNodeMainAfter(f, a, p), e.addCreatedNode(a, p)) } return f }, appendParentULDom: function(a, b) { var c = [], d = l(b, a); !d.get(0) && b.parentTId && (i.appendParentULDom(a, b.getParentNode()), d = l(b, a)); var g = l(b, f.id.UL, a); g.get(0) && g.remove(); g = e.nodeChildren(a, b); g = i.appendNodes(a, b.level + 1, g, b, -1, !1, !0); i.makeUlHtml(a, b, c, g.join("")); d.append(c.join("")) }, asyncNode: function(a, b, c, d) { var g, h; g = e.nodeIsParent(a, b); if (b && !g) return j.apply(d), !1; else if (b && b.isAjaxing) return !1; else if (j.apply(a.callback.beforeAsync, [a.treeId, b], !0) == !1) return j.apply(d), !1; if (b) b.isAjaxing = !0, l(b, f.id.ICON, a).attr({ style: "", "class": f.className.BUTTON + " " + f.className.ICO_LOADING }); var k = {}, m = j.apply(a.async.autoParam, [a.treeId, b], a.async.autoParam); for (g = 0, h = m.length; b && g < h; g++) { var r = m[g].split("="), o = r; r.length > 1 && (o = r[1], r = r[0]); k[o] = b[r] } m = j.apply(a.async.otherParam, [a.treeId, b], a.async.otherParam); if (j.isArray(m)) for (g = 0, h = m.length; g < h; g += 2) k[m[g]] = m[g + 1]; else for (var n in m) k[n] = m[n]; var P = e.getRoot(a)._ver; q.ajax({ contentType: a.async.contentType, cache: !1, type: a.async.type, url: j.apply(a.async.url, [a.treeId, b], a.async.url), data: a.async.contentType.indexOf("application/json") > -1 ? JSON.stringify(k) : k, dataType: a.async.dataType, success: function(h) { if (P == e.getRoot(a)._ver) { var k = []; try { k = !h || h.length == 0 ? [] : typeof h == "string" ? eval("(" + h + ")") : h } catch (g) { k = h } if (b) b.isAjaxing = null, b.zAsync = !0; i.setNodeLineIcos(a, b); k && k !== "" ? (k = j.apply(a.async.dataFilter, [a.treeId, b, k], k), i.addNodes(a, b, -1, k ? j.clone(k) : [], !!c)) : i.addNodes(a, b, -1, [], !!c); a.treeObj.trigger(f.event.ASYNC_SUCCESS, [a.treeId, b, h]); j.apply(d) } }, error: function(c, d, h) { if (P == e.getRoot(a)._ver) { if (b) b.isAjaxing = null; i.setNodeLineIcos(a, b); a.treeObj.trigger(f.event.ASYNC_ERROR, [a.treeId, b, c, d, h]) } } }); return !0 }, cancelPreSelectedNode: function(a, b, c) { var d = e.getRoot(a).curSelectedList, g, h; for (g = d.length - 1; g >= 0; g--) if (h = d[g], b === h || !b && (!c || c !== h)) if (l(h, f.id.A, a).removeClass(f.node.CURSELECTED), b) { e.removeSelectedNode(a, b); break } else d.splice(g, 1), a.treeObj.trigger(f.event.UNSELECTED, [a.treeId, h]) }, createNodeCallback: function(a) { if (a.callback.onNodeCreated || a.view.addDiyDom) for (var b = e.getRoot(a); b.createdNodes.length > 0;) { var c = b.createdNodes.shift(); j.apply(a.view.addDiyDom, [a.treeId, c]); a.callback.onNodeCreated && a.treeObj.trigger(f.event.NODECREATED, [a.treeId, c]) } }, createNodes: function(a, b, c, d, g) { if (c && c.length != 0) { var h = e.getRoot(a), k = !d || d.open || !!l(e.nodeChildren(a, d)[0], a).get(0); h.createdNodes = []; var b = i.appendNodes(a, b, c, d, g, !0, k), m, j; d ? (d = l(d, f.id.UL, a), d.get(0) && (m = d)) : m = a.treeObj; m && (g >= 0 && (j = m.children()[g]), g >= 0 && j ? q(j).before(b.join("")) : m.append(b.join(""))); i.createNodeCallback(a) } }, destroy: function(a) { a && (e.initCache(a), e.initRoot(a), n.unbindTree(a), n.unbindEvent(a), a.treeObj.empty(), delete s[a.treeId]) }, expandCollapseNode: function(a, b, c, d, g) { var h = e.getRoot(a), k; if (b) { var m = e.nodeChildren(a, b), r = e.nodeIsParent(a, b); if (h.expandTriggerFlag) k = g, g = function() { k && k(); b.open ? a.treeObj.trigger(f.event.EXPAND, [a.treeId, b]) : a.treeObj.trigger(f.event.COLLAPSE, [a.treeId, b]) }, h.expandTriggerFlag = !1; if (!b.open && r && (!l(b, f.id.UL, a).get(0) || m && m.length > 0 && !l(m[0], a).get(0))) i.appendParentULDom(a, b), i.createNodeCallback(a); if (b.open == c) j.apply(g, []); else { var c = l(b, f.id.UL, a), h = l(b, f.id.SWITCH, a), o = l(b, f.id.ICON, a); r ? (b.open = !b.open, b.iconOpen && b.iconClose && o.attr("style", i.makeNodeIcoStyle(a, b)), b.open ? (i.replaceSwitchClass(b, h, f.folder.OPEN), i.replaceIcoClass(b, o, f.folder.OPEN), d == !1 || a.view.expandSpeed == "" ? (c.show(), j.apply(g, [])) : m && m.length > 0 ? c.slideDown(a.view.expandSpeed, g) : (c.show(), j.apply(g, []))) : (i.replaceSwitchClass(b, h, f.folder.CLOSE), i.replaceIcoClass(b, o, f.folder.CLOSE), d == !1 || a.view.expandSpeed == "" || !(m && m.length > 0) ? (c.hide(), j.apply(g, [])) : c.slideUp(a.view.expandSpeed, g))) : j.apply(g, []) } } else j.apply(g, []) }, expandCollapseParentNode: function(a, b, c, d, e) { b && (b.parentTId ? (i.expandCollapseNode(a, b, c, d), b.parentTId && i.expandCollapseParentNode(a, b.getParentNode(), c, d, e)) : i.expandCollapseNode(a, b, c, d, e)) }, expandCollapseSonNode: function(a, b, c, d, g) { var h = e.getRoot(a), h = b ? e.nodeChildren(a, b) : e.nodeChildren(a, h), k = b ? !1 : d, f = e.getRoot(a).expandTriggerFlag; e.getRoot(a).expandTriggerFlag = !1; if (h) for (var j = 0, l = h.length; j < l; j++) h[j] && i.expandCollapseSonNode(a, h[j], c, k); e.getRoot(a).expandTriggerFlag = f; i.expandCollapseNode(a, b, c, d, g) }, isSelectedNode: function(a, b) { if (!b) return !1; var c = e.getRoot(a).curSelectedList, d; for (d = c.length - 1; d >= 0; d--) if (b === c[d]) return !0; return !1 }, makeDOMNodeIcon: function(a, b, c) { var d = e.nodeName(b, c), d = b.view.nameIsHTML ? d : d.replace(/&/g, "&amp;").replace(/</g, "&lt;").replace(/>/g, "&gt;"); a.push("<span id='", c.tId, f.id.ICON, "' title='' treeNode", f.id.ICON, " class='", i.makeNodeIcoClass(b, c), "' style='", i.makeNodeIcoStyle(b, c), "'></span><span id='", c.tId, f.id.SPAN, "' class='", f.className.NAME, "'>", d, "</span>") }, makeDOMNodeLine: function(a, b, c) { a.push("<span id='", c.tId, f.id.SWITCH, "' title='' class='", i.makeNodeLineClass(b, c), "' treeNode", f.id.SWITCH, "></span>") }, makeDOMNodeMainAfter: function(a) { a.push("</li>") }, makeDOMNodeMainBefore: function(a, b, c) { a.push("<li id='", c.tId, "' class='", f.className.LEVEL, c.level, "' tabindex='0' hidefocus='true' treenode>") }, makeDOMNodeNameAfter: function(a) { a.push("</a>") }, makeDOMNodeNameBefore: function(a, b, c) { var d = e.nodeTitle(b, c), g = i.makeNodeUrl(b, c), h = i.makeNodeFontCss(b, c), k = [], m; for (m in h) k.push(m, ":", h[m], ";"); a.push("<a id='", c.tId, f.id.A, "' class='", f.className.LEVEL, c.level, "' treeNode", f.id.A, ' onclick="', c.click || "", '" ', g != null && g.length > 0 ? "href='" + g + "'" : "", " target='", i.makeNodeTarget(c), "' style='", k.join(""), "'"); j.apply(b.view.showTitle, [b.treeId, c], b.view.showTitle) && d && a.push("title='", d.replace(/'/g, "&#39;").replace(/</g, "&lt;").replace(/>/g, "&gt;"), "'"); a.push(">") }, makeNodeFontCss: function(a, b) { var c = j.apply(a.view.fontCss, [a.treeId, b], a.view.fontCss); return c && typeof c != "function" ? c : {} }, makeNodeIcoClass: function(a, b) { var c = ["ico"]; if (!b.isAjaxing) { var d = e.nodeIsParent(a, b); c[0] = (b.iconSkin ? b.iconSkin + "_" : "") + c[0]; d ? c.push(b.open ? f.folder.OPEN : f.folder.CLOSE) : c.push(f.folder.DOCU) } return f.className.BUTTON + " " + c.join("_") }, makeNodeIcoStyle: function(a, b) { var c = []; if (!b.isAjaxing) { var d = e.nodeIsParent(a, b) && b.iconOpen && b.iconClose ? b.open ? b.iconOpen : b.iconClose : b[a.data.key.icon]; d && c.push("background:url(", d, ") 0 0 no-repeat;"); (a.view.showIcon == !1 || !j.apply(a.view.showIcon, [a.treeId, b ], !0)) && c.push("width:0px;height:0px;") } return c.join("") }, makeNodeLineClass: function(a, b) { var c = []; a.view.showLine ? b.level == 0 && b.isFirstNode && b.isLastNode ? c.push(f.line.ROOT) : b.level == 0 && b.isFirstNode ? c.push(f.line.ROOTS) : b.isLastNode ? c.push(f.line.BOTTOM) : c.push(f.line.CENTER) : c.push(f.line.NOLINE); e.nodeIsParent(a, b) ? c.push(b.open ? f.folder.OPEN : f.folder.CLOSE) : c.push(f.folder.DOCU); return i.makeNodeLineClassEx(b) + c.join("_") }, makeNodeLineClassEx: function(a) { return f.className.BUTTON + " " + f.className.LEVEL + a.level + " " + f.className.SWITCH + " " }, makeNodeTarget: function(a) { return a.target || "_blank" }, makeNodeUrl: function(a, b) { var c = a.data.key.url; return b[c] ? b[c] : null }, makeUlHtml: function(a, b, c, d) { c.push("<ul id='", b.tId, f.id.UL, "' class='", f.className.LEVEL, b.level, " ", i.makeUlLineClass(a, b), "' style='display:", b.open ? "block" : "none", "'>"); c.push(d); c.push("</ul>") }, makeUlLineClass: function(a, b) { return a.view.showLine && !b.isLastNode ? f.line.LINE : "" }, removeChildNodes: function(a, b) { if (b) { var c = e.nodeChildren(a, b); if (c) { for (var d = 0, g = c.length; d < g; d++) e.removeNodeCache(a, c[d]); e.removeSelectedNode(a); delete b[a.data.key.children]; a.data.keep.parent ? l(b, f.id.UL, a).empty() : (e.nodeIsParent(a, b, !1), b.open = !1, c = l(b, f.id.SWITCH, a), d = l(b, f.id.ICON, a), i.replaceSwitchClass(b, c, f.folder.DOCU), i.replaceIcoClass(b, d, f.folder.DOCU), l(b, f.id.UL, a).remove()) } } }, scrollIntoView: function(a, b) { if (b) if (typeof Element === "undefined") { var c = a.treeObj.get(0).getBoundingClientRect(), d = b.getBoundingClientRect(); (d.top < c.top || d.bottom > c.bottom || d.right > c.right || d.left < c.left) && b.scrollIntoView() } else { if (!Element.prototype.scrollIntoViewIfNeeded) Element.prototype.scrollIntoViewIfNeeded = function(a) { function b(a, c, d, f) { return { left: a, top: c, width: d, height: f, right: a + d, bottom: c + f, translate: function(e, g) { return b(e + a, g + c, d, f) }, relativeFromTo: function(g, k) { var i = a, j = c, g = g.offsetParent, k = k.offsetParent; if (g === k) return e; for (; g; g = g.offsetParent) i += g.offsetLeft + g.clientLeft, j += g.offsetTop + g.clientTop; for (; k; k = k.offsetParent) i -= k.offsetLeft + k.clientLeft, j -= k.offsetTop + k.clientTop; return b(i, j, d, f) } } } for (var c, d = this, e = b(this.offsetLeft, this.offsetTop, this.offsetWidth, this.offsetHeight); j.isElement(c = d.parentNode);) { var f = c.offsetLeft + c.clientLeft, i = c.offsetTop + c.clientTop, e = e.relativeFromTo(d, c).translate(-f, -i); c.scrollLeft = !1 === a || e.left <= c.scrollLeft + c.clientWidth && c.scrollLeft <= e.right - c.clientWidth + c.clientWidth ? Math.min(e.left, Math.max(e.right - c.clientWidth, c.scrollLeft)) : (e.right - c.clientWidth + e.left) / 2; c.scrollTop = !1 === a || e.top <= c.scrollTop + c.clientHeight && c.scrollTop <= e.bottom - c.clientHeight + c.clientHeight ? Math.min(e.top, Math.max(e.bottom - c.clientHeight, c.scrollTop)) : (e.bottom - c.clientHeight + e.top) / 2; e = e.translate(f - c.scrollLeft, i - c.scrollTop); d = c } }; b.scrollIntoViewIfNeeded() } }, setFirstNode: function(a, b) { var c = e.nodeChildren(a, b); if (c.length > 0) c[0].isFirstNode = !0 }, setLastNode: function(a, b) { var c = e.nodeChildren(a, b); if (c.length > 0) c[c.length - 1].isLastNode = !0 }, removeNode: function(a, b) { var c = e.getRoot(a), d = b.parentTId ? b.getParentNode() : c; b.isFirstNode = !1; b.isLastNode = !1; b.getPreNode = function() { return null }; b.getNextNode = function() { return null }; if (e.getNodeCache(a, b.tId)) { l(b, a).remove(); e.removeNodeCache(a, b); e.removeSelectedNode(a, b); for (var g = e.nodeChildren(a, d), h = 0, k = g.length; h < k; h++) if (g[h].tId == b.tId) { g.splice(h, 1); break } i.setFirstNode(a, d); i.setLastNode(a, d); var j, h = g.length; if (!a.data.keep.parent && h == 0) e.nodeIsParent(a, d, !1), d.open = !1, delete d[a.data.key.children], h = l(d, f.id.UL, a), k = l(d, f.id.SWITCH, a), j = l(d, f.id.ICON, a), i.replaceSwitchClass(d, k, f.folder.DOCU), i.replaceIcoClass(d, j, f.folder.DOCU), h.css("display", "none"); else if (a.view.showLine && h > 0) { var r = g[h - 1], h = l(r, f.id.UL, a), k = l(r, f.id.SWITCH, a); j = l(r, f.id.ICON, a); d == c ? g.length == 1 ? i.replaceSwitchClass(r, k, f.line.ROOT) : (c = l(g[0], f.id.SWITCH, a), i.replaceSwitchClass(g[0], c, f.line.ROOTS), i.replaceSwitchClass(r, k, f.line.BOTTOM)) : i.replaceSwitchClass(r, k, f.line.BOTTOM); h.removeClass(f.line.LINE) } } }, replaceIcoClass: function(a, b, c) { if (b && !a.isAjaxing && (a = b.attr("class"), a != void 0)) { a = a.split("_"); switch (c) { case f.folder.OPEN: case f.folder.CLOSE: case f.folder.DOCU: a[a.length - 1] = c } b.attr("class", a.join("_")) } }, replaceSwitchClass: function(a, b, c) { if (b) { var d = b.attr("class"); if (d != void 0) { d = d.split("_"); switch (c) { case f.line.ROOT: case f.line.ROOTS: case f.line.CENTER: case f.line.BOTTOM: case f.line.NOLINE: d[0] = i.makeNodeLineClassEx(a) + c; break; case f.folder.OPEN: case f.folder.CLOSE: case f.folder.DOCU: d[1] = c } b.attr("class", d.join("_")); c !== f.folder.DOCU ? b.removeAttr("disabled") : b.attr("disabled", "disabled") } } }, selectNode: function(a, b, c) { c || i.cancelPreSelectedNode(a, null, b); l(b, f.id.A, a).addClass(f.node.CURSELECTED); e.addSelectedNode(a, b); a.treeObj.trigger(f.event.SELECTED, [a.treeId, b]) }, setNodeFontCss: function(a, b) { var c = l(b, f.id.A, a), d = i.makeNodeFontCss(a, b); d && c.css(d) }, setNodeLineIcos: function(a, b) { if (b) { var c = l(b, f.id.SWITCH, a), d = l(b, f.id.UL, a), g = l(b, f.id.ICON, a), h = i.makeUlLineClass(a, b); h.length == 0 ? d.removeClass(f.line.LINE) : d.addClass(h); c.attr("class", i.makeNodeLineClass(a, b)); e.nodeIsParent(a, b) ? c.removeAttr("disabled") : c.attr("disabled", "disabled"); g.removeAttr("style"); g.attr("style", i.makeNodeIcoStyle(a, b)); g.attr("class", i.makeNodeIcoClass(a, b)) } }, setNodeName: function(a, b) { var c = e.nodeTitle(a, b), d = l(b, f.id.SPAN, a); d.empty(); a.view.nameIsHTML ? d.html(e.nodeName(a, b)) : d.text(e.nodeName(a, b)); j.apply(a.view.showTitle, [a.treeId, b], a.view.showTitle) && l(b, f.id.A, a).attr("title", !c ? "" : c) }, setNodeTarget: function(a, b) { l(b, f.id.A, a).attr("target", i.makeNodeTarget(b)) }, setNodeUrl: function(a, b) { var c = l(b, f.id.A, a), d = i.makeNodeUrl(a, b); d == null || d.length == 0 ? c.removeAttr("href") : c.attr("href", d) }, switchNode: function(a, b) { b.open || !j.canAsync(a, b) ? i.expandCollapseNode(a, b,