diff --git a/dist/js/bstreeview.min.js b/dist/js/bstreeview.min.js index 2af8ea1..d78dffb 100644 --- a/dist/js/bstreeview.min.js +++ b/dist/js/bstreeview.min.js @@ -7,4 +7,4 @@ License: Apache License 2.0 Project: https://github.com/chniter/bstreeview */ -!function (t, e, i, s) { "use strict"; var n = { expandIcon: "fa fa-angle-down fa-fw", collapseIcon: "fa fa-angle-right fa-fw", indent: 1.25, parentsMarginLeft: "1.25rem", openNodeLinkOnNewTab: !0 }, a = '
', d = '
', o = '', r = ''; function l(e, i) { this.element = e, this.itemIdPrefix = e.id + "-item-", this.settings = t.extend({}, n, i), this.init() } t.extend(l.prototype, { init: function () { this.tree = [], this.nodes = [], this.settings.data && (this.settings.data.isPrototypeOf(String) && (this.settings.data = t.parseJSON(this.settings.data)), this.tree = t.extend(!0, [], this.settings.data), delete this.settings.data), t(this.element).addClass("bstreeview"), this.initData({ nodes: this.tree }); var i = this; this.build(t(this.element), this.tree, 0), t(this.element).on("click", ".list-group-item", function (s) { t(".state-icon", this).toggleClass(i.settings.expandIcon).toggleClass(i.settings.collapseIcon), s.target.hasAttribute("href") && (i.settings.openNodeLinkOnNewTab ? e.open(s.target.getAttribute("href"), "_blank") : e.location = s.target.getAttribute("href")) }) }, initData: function (e) { if (e.nodes) { var i = e, s = this; t.each(e.nodes, function (t, e) { e.nodeId = s.nodes.length, e.parentId = i.nodeId, s.nodes.push(e), e.nodes && s.initData(e) }) } }, build: function (e, i, s) { var n = this, l = n.settings.parentsMarginLeft; s > 0 && (l = (n.settings.indent + s * n.settings.indent).toString() + "rem;"), s += 1, t.each(i, function (i, g) { var h = t(a).attr("data-target", "#" + n.itemIdPrefix + g.nodeId).attr("style", "padding-left:" + l).attr("aria-level", s); if (g.nodes) { var c = t(o).addClass(n.settings.collapseIcon); h.append(c) } if (g.icon) { var f = t(r).addClass(g.icon); h.append(f) } if (h.append(g.text), g.href && h.attr("href", g.href), g.class && h.addClass(g.class), g.id && h.attr("id", g.id), e.append(h), g.nodes) { var p = t(d).attr("id", n.itemIdPrefix + g.nodeId); e.append(p), n.build(p, g.nodes, s) } }) } }), t.fn.bstreeview = function (e) { return this.each(function () { t.data(this, "plugin_bstreeview") || t.data(this, "plugin_bstreeview", new l(this, e)) }) } }(jQuery, window, document); \ No newline at end of file +!function(t,e,i,s){"use strict";var n={expandIcon:"fa fa-angle-down fa-fw",collapseIcon:"fa fa-angle-right fa-fw",indent:1.25,parentsMarginLeft:"1.25rem",openNodeLinkOnNewTab:!0};let a="data-toggle",d="data-target";"5"===bootstrap.Tooltip.VERSION.charAt(0)&&(a="data-bs-toggle",d="data-bs-target");var r={treeview:'
',treeviewItem:'
',treeviewGroupItem:'
',treeviewItemStateIcon:'',treeviewItemIcon:''};function o(e,i){this.element=e,this.itemIdPrefix=e.id+"-item-",this.settings=t.extend({},n,i),this.init()}t.extend(o.prototype,{init:function(){this.tree=[],this.nodes=[],this.settings.data&&(this.settings.data.isPrototypeOf(String)&&(this.settings.data=t.parseJSON(this.settings.data)),this.tree=t.extend(!0,[],this.settings.data),delete this.settings.data),t(this.element).addClass("bstreeview"),this.initData({nodes:this.tree});var i=this;this.build(t(this.element),this.tree,0),t(this.element).on("click",".list-group-item",function(s){t(".state-icon",this).toggleClass(i.settings.expandIcon).toggleClass(i.settings.collapseIcon),s.target.hasAttribute("href")&&(i.settings.openNodeLinkOnNewTab?e.open(s.target.getAttribute("href"),"_blank"):e.location=s.target.getAttribute("href"))})},initData:function(e){if(e.nodes){var i=e,s=this;t.each(e.nodes,function(t,e){e.nodeId=s.nodes.length,e.parentId=i.nodeId,s.nodes.push(e),e.nodes&&s.initData(e)})}},build:function(e,i,s){var n=this,a=n.settings.parentsMarginLeft;s>0&&(a=(n.settings.indent+s*n.settings.indent).toString()+"rem;"),s+=1,t.each(i,function(i,o){var l=t(r.treeviewItem).attr(d,"#"+n.itemIdPrefix+o.nodeId).attr("style","padding-left:"+a).attr("aria-level",s);if(o.nodes){var c=t(r.treeviewItemStateIcon).addClass(n.settings.collapseIcon);l.append(c)}if(o.icon){var g=t(r.treeviewItemIcon).addClass(o.icon);l.append(g)}if(l.append(o.text),o.href&&l.attr("href",o.href),o.class&&l.addClass(o.class),o.id&&l.attr("id",o.id),e.append(l),o.nodes){var h=t(r.treeviewGroupItem).attr("id",n.itemIdPrefix+o.nodeId);e.append(h),n.build(h,o.nodes,s)}})}}),t.fn.bstreeview=function(e){return this.each(function(){t.data(this,"plugin_bstreeview")||t.data(this,"plugin_bstreeview",new o(this,e))})}}(jQuery,window,document);