/** * IMPORTANT. Official plugin does not allow string ids * This modificated one yes. */ !(function(e) { var t = {}; function i(s) { if (t[s]) return t[s].exports; var n = (t[s] = { i: s, l: !1, exports: {} }); return e[s].call(n.exports, n, n.exports, i), (n.l = !0), n.exports; } (i.m = e), (i.c = t), (i.d = function(e, t, s) { i.o(e, t) || Object.defineProperty(e, t, { enumerable: !0, get: s }); }), (i.r = function(e) { "undefined" != typeof Symbol && Symbol.toStringTag && Object.defineProperty(e, Symbol.toStringTag, { value: "Module" }), Object.defineProperty(e, "__esModule", { value: !0 }); }), (i.t = function(e, t) { if ((1 & t && (e = i(e)), 8 & t)) return e; if (4 & t && "object" == typeof e && e && e.__esModule) return e; var s = Object.create(null); if ( (i.r(s), Object.defineProperty(s, "default", { enumerable: !0, value: e }), 2 & t && "string" != typeof e) ) for (var n in e) i.d( s, n, function(t) { return e[t]; }.bind(null, n) ); return s; }), (i.n = function(e) { var t = e && e.__esModule ? function() { return e.default; } : function() { return e; }; return i.d(t, "a", t), t; }), (i.o = function(e, t) { return Object.prototype.hasOwnProperty.call(e, t); }), (i.p = ""), i((i.s = 0)); })([ function(e, t, i) { "use strict"; i.r(t); i(1); !(function(e, t) { if (!e || !e.document) throw new Error("simTree need window"); !(function(e) { var t, i = e.document, s = { linkParent: !1, response: { name: "name", id: "id", pid: "pid", checked: "checked", open: "open", disabled: "disabled" } }, n = function(e) { throw new Error(e); }, a = function(e, t) { return e.replace(/\{\{(.+?)\}\}/g, function(e, i) { return t[i] ? t[i] : ""; }); }, r = function e(t) { if ( ("undefined" == typeof $ && n("simTreeneed jquery"), $.isPlainObject(t)) ) { if ((t.el || n("你没有传el"), !(this instanceof e))) return new e(t); (this.options = $.extend(!0, {}, s, t)), this.init(); } }, d = [], o = []; (r.prototype = { version: "0.0.2", constructor: r, on: function(e, t, i) { var s, n; return ( (this.handles[e] = this.handles[e] || []), (s = this.handles[e].isTriggered), (n = this.handles[e].args), $.isFunction(t) && (!0 === i ? (this.handles[e] = [t]) : this.handles[e].push(t), s && t.call(this, n)), this ); }, off: function(e) { return (this.handles[e] = []), this; }, trigger: function(e, t) { var i, s; for ( this.handles[e] = this.handles[e] || [], i = 0, s = this.handles[e].length, this.handles[e].isTriggered = !0, this.handles[e].args = t; i < s; i++ ) this.handles[e][i].call(this, t); }, init: function() { var e = this.options, t = e.data; (this.handles = {}), (this.$el = $(e.el)), (this.data = t), this.event(), this.render(); }, dataCallback: function() { var e = arguments; 1 === e.length ? this.render(e[0]) : this.doRender(e[0], e[1]); }, parse: function(e) { var t = this.options, i = t.response, s = [], n = {}, a = 0, r = e.length, d = i.id, o = i.pid; if (t.childNodeAsy) return e; for (; a < r; a++) { var h = e[a], c = h[d]; if (h.children) return e; c && (n[c] = h); } for (a = 0; a < r; a++) { var h = e[a], l = h[o], u = n[l]; l && u ? (u.children || (u.children = [])).push(h) : s.push(h); } return s; }, render: function(e) { var e = e || this.data; $.isFunction(e) && e({}, this.dataCallback.bind(this)), $.isArray(e) && ((e = this.parse(e)), this.doRender(this.$el, e)); }, doRender: function(e, t, s) { var n, r, h, c, l, u = this, f = this.options, p = f.response, m = t.length, g = 0, v = p.id, k = p.name, s = s || 1, C = '{{text}}', b = e === this.$el, y = $(i.createElement("ul")), w = f.childNodeAsy ? "asy" : ""; for ( f.check || (C = C.replace('', "")); g < m; g++ ) (n = t[g]), (r = i.createElement("li")), (c = !!n.children), (l = n[p.disabled]), (r.innerHTML = a(C, { asy: w, text: n[k], spreadIcon: c ? "sim-icon-r" : "hidden" })), r.setAttribute("data-level", s), r.setAttribute("data-id", n[v]), l && r.setAttribute("class", "disabled"), (h = $(r)).data("data", n), y.append(h), c && this.doRender(h, n.children, s + 1), n[p.checked] && d.push(n[v]), n[p.open] && o.push(n[v]); m && e.append(y), b ? (y.addClass("sim-tree"), this.trigger("done", t), $.each(o, function(e, t) { u.expandNode(t); }), this.setSelected(d)) : f.childNodeAsy && (this.hideLoading(e.find(".sim-tree-spread")), y.addClass("show")); }, event: function() { var e = this; this.$el.off("click").on("click", function(t) { var i = $(t.target); return ( i.hasClass("sim-tree-spread") && e.spread.call(e, i), i.hasClass("sim-tree-checkbox") && (i = i.parent()), "a" === i[0].tagName.toLowerCase() && e.clickNode.call(e, i), !1 ); }), this.$el.on("selectstart", function() { return !1; }), this.options.done && this.on("done", this.options.done), this.options.onClick && this.on("click", this.options.onClick), this.options.onChange && this.on("change", this.options.onChange), this.options.onSearch && this.on("search", this.options.onSearch); }, spread: function(e) { e.hasClass("sim-icon-r") ? this.doSpread(e, !0) : this.doSpread(e, !1); }, showLoading: function(e) { e.addClass("sim-loading"); }, hideLoading: function(e) { e.removeClass("sim-loading"); }, doSpread: function(e, t) { var i = e.parent(), s = i.children("ul"), n = i.data("data"); n.children && (t ? (e.removeClass("sim-icon-r").addClass("sim-icon-d"), "asy" === e.data("type") && $.isFunction(this.data) && (this.showLoading(e), this.data(i.data("data"), this.dataCallback.bind(this, i)), e.data("type", "")), s.addClass("show")) : (e.removeClass("sim-icon-d").addClass("sim-icon-r"), s.removeClass("show"))); }, clickNode: function(e) { var i, s, n, a = this, r = e.parent(), d = this.$el.find("li"), o = d.length, h = 0, c = [], l = !1; if (!r.hasClass("disabled")) { if (this.options.check) for ( l = !0, this.doCheck(e.find(".sim-tree-checkbox")), this.options.linkParent && ((s = r.children("ul")), (n = s.find(".sim-tree-checkbox")), $.each(n, function() { a.doCheck($(this), r.data("checked"), !0); })); h < o; h++ ) !0 === (i = d.eq(h).data()).checked && c.push(i.data); else t && t.css("font-weight", "normal"), e.css("font-weight", "bold"), (t = e), (i = r.data("data")), (c = [i]), (l = !this.sels || !(this.sels[0] === i)); (this.sels = c), this.trigger("click", c), l && this.trigger("change", c); } }, doCheck: function(e, t, i) { var s = e.closest("li"), n = s.data(); void 0 === t && (t = !n.checked), !0 === t ? e.removeClass("sim-tree-semi").addClass("checked") : !1 === t ? e.removeClass("checked sim-tree-semi") : "semi" === t && e.removeClass("checked").addClass("sim-tree-semi"), s.data("checked", t), !0 === this.options.linkParent && !i && this.setParentCheck(s); }, setParentCheck: function(e) { var t, i = e.parent("ul"), s = i.parent("li"), n = i.children("li"), a = s.find(">a .sim-tree-checkbox"), r = [], d = n.length; s.length && (e.find(">a .sim-tree-checkbox").hasClass("sim-tree-semi") ? this.doCheck(a, "semi") : ($.each(n, function() { !0 === $(this).data("checked") && r.push($(this)); }), (t = r.length), d === t && this.doCheck(a, !0), t || this.doCheck(a, !1), t >= 1 && t < d && this.doCheck(a, "semi"))); }, search: function(e) { if (this.$el) { var t, i, s, e = $.trim(e), n = this.$el.find("li"), a = 0, r = n.length, d = [], o = new RegExp(e, "i"); for ( n .hide() .children(".sim-tree-spread") .addClass("hidden"); a < r; a++ ) (i = n.eq(a)), (t = i.children("a").text()), (s = i.data("data")), e ? -1 !== t.search(o) && (1 !== parseInt(i.data("level")) && this.expandNode(s[this.options.response.pid]), i .parents("li") .add(i) .show(), d.push(i)) : (i.show(), s.children && i.children(".sim-tree-spread").removeClass("hidden")); this.trigger("search", e); } }, expandNode: function(e) { var t = e.addClass ? e : this.$el.find("[data-id='" + e + "']"), i = t.data("data"), s = i[this.options.response.pid], n = t.children(".sim-tree-spread"), a = parseInt(t.data("level")); i.children && n.length && (n.removeClass("hidden"), this.doSpread(n, !0)), 1 !== a && this.expandNode(s); }, setSelected: function(e) { var t = this, i = e, s = [], n = []; ("string" != typeof i && "number" != typeof i) || (i = [i]), $.isArray(i) && (this.options.check || (i = [i[0]]), $.each(i, function(e, i) { var a = t.$el.find("[data-id='" + i + "']"), r = a.children("a"), d = r.children(".sim-tree-checkbox"), o = a.data("data"); if (!a.length) return !0; d.length ? t.doCheck(d, !0) : r.css("font-weight", "bold"), 1 !== parseInt(a.data("level")) && t.expandNode(o[t.options.response.pid]), s.push(o), n.push(a[0]); }), (t.sels = s), t.trigger("click", s)); }, getSelected: function() { return this.sels; }, disableNode: function(e) { var t = this, i = e; ("string" != typeof i && "number" != typeof i) || (i = [i]), $.isArray(i) && $.each(i, function(e, i) { var s = t.$el.find("[data-id='" + i + "']"); s.addClass("disabled"); }); }, destroy: function() { for (var e in (this.$el.html(""), this)) delete this[e]; }, refresh: function(e) { this.$el.html(""), this.render(e); } }), (e.simTree = r), ($.fn.simTree = function(e) { return (e = $.extend(!0, { el: this }, e)), r(e); }); })(e); })("undefined" != typeof window ? window : void 0); }, function(e, t, i) {} ]);