@progress/kendo-ui
Version:
This package is part of the [Kendo UI for jQuery](http://www.telerik.com/kendo-ui) suite.
3 lines (2 loc) • 24 kB
JavaScript
!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t(exports,require("kendo.data.js"),require("kendo.icons.js")):"function"==typeof define&&define.amd?define(["exports","kendo.data","kendo.icons"],t):t(((e="undefined"!=typeof globalThis?globalThis:e||self).kendo=e.kendo||{},e.kendo._globals=e.kendo._globals||{},e.kendo._globals.Panelbar={}))}(this,(function(e){!function(e,t){var n,a=window.kendo,r=a.ui,i=a.keys,s=e.extend,l=a.htmlEncode,o=e.each,d=Array.isArray,p=a.template,c=r.Widget,u=a.data.HierarchicalDataSource,h=/^(ul|a|div)$/i,m=".kendoPanelBar",f="href",g="k-link",v="."+g,b="error",k=".k-panelbar-item",_=".k-panelbar-group:visible",C="k-image",x="change",y="expand",w="select",I="click",A="k-panelbar-content",S="activate",U="collapse",B="dataBound",D="mouseenter",E="contentLoad",O="k-expanded",$="> .k-panelbar-group",G="> .k-panelbar-content",T="k-focus",q="k-disabled",F="k-selected",H="."+F,R=k+":not(.k-disabled)",W="> "+R+" > "+v+", .k-panelbar-group > "+R+" > "+v,j=k+".k-disabled > .k-link",P="> li > "+H+", .k-panelbar-group > li > "+H,L="aria-disabled",M="aria-expanded",N="aria-hidden",K="aria-selected",Q=":visible",V="single",z={text:"dataTextField",url:"dataUrlField",spriteCssClass:"dataSpriteCssClassField",imageUrl:"dataImageUrlField",icon:"dataIconField",iconClass:"dataIconClassField"},J={aria:function(e){var t="";return(e.items||e.content||e.contentUrl||e.expanded)&&(t+=M+"='"+(e.expanded?"true":"false")+"' "),!1===e.enabled&&(t+=L+"='true'"),t},wrapperCssClass:function(e,t){var n="k-panelbar-item";t.index;return e.firstLevel&&(n+=" k-panelbar-header"),!1===t.enabled?n+=" "+q:!0===t.expanded&&(n+=" "+O),t.cssClass&&(n+=" "+t.cssClass),t.level&&(n+=" k-level-"+t.level()),n},textClass:function(e){var t=g;return e.selected&&(t+=" "+F),t},textAttributes:function(e){return e?" href='"+e+"'":""},arrowIconOptions:function(e){return{icon:e.expanded?"chevron-up":"chevron-down",iconClass:"k-panelbar-toggle k-panelbar-"+(e.expanded?"collapse":"expand")}},text:function(e){return!1===e.encoded?e.text:a.htmlEncode(e.text)},groupAttributes:function(e){return!0!==e.expanded?` ${a.attr("style-display")}="none"`:""},ariaHidden:function(e){return!0!==e.expanded},groupCssClass:function(){return"k-panelbar-group"},contentAttributes:function(e){return!0!==e.item.expanded?` ${a.attr("style-display")}="none"`:""},content:function(e){return e.content?e.content:e.contentUrl?"":" "},contentUrl:function(e){return e.contentUrl?'href="'+e.contentUrl+'"':""}};function X(t){(t=e(t)).addClass("k-level-"+t.parentsUntil(".k-panelbar","ul").length)}n=function(e){return e.children("span").children(".k-panelbar-toggle")};var Y=a.ui.DataBoundWidget.extend({init:function(e,t){var n,r,i=this;d(t)&&(t={dataSource:t}),r=t&&!!t.dataSource,c.fn.init.call(i,e,t),e=i.wrapper=i.element.addClass("k-panelbar"),t=i.options,e[0].id&&(i._itemId=e[0].id+"_pb_active"),i._tabindex(),i._accessors(),i._dataSource(),i._templates(),i._initData(r),i._updateClasses(),i._animations(t),e.on(I+m,W,i._click.bind(i)).on(D+m+" mouseleave"+m,W,i._toggleHover).on(I+m,j,!1).on(I+m,".k-request-retry",i._retryRequest.bind(i)).on("keydown"+m,i._keydown.bind(i)).on("focus"+m,(function(){var e=i.select();i._current(e[0]?e:i._first())})).on("blur"+m,(function(){i._current(null)})).attr("role","tree"),(n=e.find("li."+O+" > ."+A))[0]&&i.expand(n.parent(),!1),a.notify(i),i._showWatermarkOverlay&&i._showWatermarkOverlay(i.wrapper[0])},events:[y,U,w,S,x,b,B,E],options:{name:"PanelBar",dataSource:{},animation:{expand:{effects:"expand:vertical",duration:200},collapse:{duration:200}},messages:{loading:"Loading...",requestFailed:"Request failed.",retry:"Retry"},autoBind:!0,loadOnDemand:!0,expandMode:"multiple",template:null,dataTextField:null,selectable:!0},destroy:function(){c.fn.destroy.call(this),this.element.off(m),a.destroy(this.element)},_initData:function(e){var t=this;e&&(t.element.empty(),t.options.autoBind&&(t._progress(!0),t.dataSource.fetch()))},_templates:function(){var t=this,n=t.options,r=t._fieldAccessor.bind(t);n.template&&"string"==typeof n.template?n.template=p(n.template):n.template||(n.template=p((e=>{var t=r("text")(e.item);return!1!==e.item.encoded&&(t=l(t)),`<span class='k-panelbar-item-text'>${t}</span>`}))),t.templates={content:p((({data:e,item:t,contentAttributes:n,content:a})=>`<div class='k-panelbar-content'${n({data:e,item:t,contentAttributes:n,content:a})}>${a(t)}</div>`)),group:p((({data:e,items:t,group:n,renderItems:a,panelBar:r,ariaHidden:i,groupCssClass:s,groupAttributes:l})=>`<ul role='group' aria-hidden='${i(n)}' class='${s(n)}' ${l(n)}>`+a({data:e,items:t,group:n,renderItems:a,panelBar:r,ariaHidden:i,groupCssClass:s,groupAttributes:l})+"</ul>")),itemWrapper:p((({panelBar:t,item:n,arrow:i,textClass:s,arrowIconOptions:l,textAttributes:o,contentUrl:d})=>{var p=r("url")(n),c=r("imageUrl")(n),u=r("spriteCssClass")(n),h=r("icon")(n),m=r("iconClass")(n);m=m?" "+m:"";d=d(n);var f=p||d?"a":"span";return`<${f} class='${s(n)}' ${d}${o(p)}>`+(c?`<img class='k-panelbar-item-icon k-image' alt='' src='${c}' />`:"")+(u?`<span class='k-sprite ${u}'></span>`:"")+(h?a.ui.icon(e("<span></span>"),{icon:h,iconClass:"k-panelbar-item-icon"+m}):"")+t.options.template({panelBar:t,item:n,arrow:i,textClass:s,textAttributes:o,contentUrl:d})+i({panelBar:t,item:n,arrow:i,textClass:s,arrowIconOptions:l,textAttributes:o,contentUrl:d})+`</${f}>`})),item:p((({data:e,group:t,item:n,panelBar:r,itemWrapper:i,renderContent:s,arrow:l,arrowIconOptions:o,subGroup:d,aria:p,wrapperCssClass:c,contentUrl:u,textClass:h,textAttributes:m})=>`<li aria-selected='false' role='treeitem' ${p(n)}class='${c(t,n)}' `+a.attr("uid")+`='${n.uid}'>`+i({data:e,group:t,item:n,panelBar:r,itemWrapper:i,renderContent:s,arrow:l,arrowIconOptions:o,subGroup:d,aria:p,wrapperCssClass:c,contentUrl:u,textClass:h,textAttributes:m})+(n.items&&n.items.length>0?d({items:n.items,panelBar:r,group:{expanded:n.expanded}}):n.content||n.contentUrl?s({data:e,group:t,item:n,panelBar:r,itemWrapper:i,renderContent:s,arrow:l,arrowIconOptions:o,subGroup:d,aria:p,wrapperCssClass:c,contentUrl:u,textClass:h,textAttributes:m}):"")+"</li>")),loading:p((({messages:e})=>`<li class='k-panelbar-item'><span class='k-icon k-i-loading'></span> ${l(e.loading)}</li>`)),retry:p((({messages:e})=>`<li class='k-panelbar-item'>${l(e.requestFailed)} <button class='k-button k-button-md k-rounded-md k-button-solid k-button-solid-base k-request-retry'><span class='k-button-text'>${l(e.retry)}</span></button></li>`)),arrow:p((({item:e,arrowIconOptions:t})=>a.ui.icon(t(e)))),empty:p((()=>""))}},setOptions:function(e){var t=this.options.animation;this._animations(e),e.animation=s(!0,t,e.animation),"dataSource"in e&&this.setDataSource(e.dataSource),c.fn.setOptions.call(this,e)},expand:function(t,n){var a=this,r={};if(t=this.element.find(t),!a._animating||!t.find("ul").is(":visible"))return a._animating=!0,n=!1!==n,t.each((function(i,s){s=e(s);var l=t.children(".k-panelbar-group,.k-panelbar-content");l.length||(l=a._addGroupElement(t));var o=l.add(s.find(G));if(!s.hasClass(q)&&o.length>0){if(a.options.expandMode==V&&a._collapseAllExpanded(s))return a;n||(r=a.options.animation,a.options.animation={expand:{effects:{}},collapse:{hide:!0,effects:{}}}),a._triggerEvent(y,s)||a._toggleItem(s,!1,!1),n||(a.options.animation=r)}})),a;a.one("complete",(function(){setTimeout((function(){a.expand(t)}))}))},collapse:function(t,n){var a=this,r={};return a._animating=!0,n=!1!==n,(t=a.element.find(t)).each((function(t,i){var s=(i=e(i)).find($).add(i.find(G));!i.hasClass(q)&&s.is(Q)&&(n||(r=a.options.animation,a.options.animation={expand:{effects:{}},collapse:{hide:!0,effects:{}}}),a._triggerEvent(U,i)||a._toggleItem(i,!0),n||(a.options.animation=r))})),a},updateArrow:function(t){var n=this;(t=e(t)).children(v).children(".k-panelbar-collapse, .k-panelbar-expand").remove(),t.filter((function(){var t=n.dataItem(this);return t?t.hasChildren||t.content||t.contentUrl:e(this).find(".k-panelbar-group").length>0||e(this).find(".k-panelbar-content").length>0})).children(".k-link:not(:has([class*=-i-chevron]))").each((function(){var t=e(this),n=t.parent();let r=a.ui.icon({icon:n.hasClass(O)?"chevron-up":"chevron-down",iconClass:"k-panelbar-toggle k-panelbar-"+(n.hasClass(O)?"collapse":"expand")});t.append(r)}))},_accessors:function(){var e,t,n,r=this.options,i=this.element;for(e in z)t=r[z[e]],n=i.attr(a.attr(e+"-field")),!t&&n&&(t=n),t||(t=e),d(t)||(t=[t]),r[z[e]]=t},_progress:function(e,t){var a=this.element,r=this.templates.loading({messages:this.options.messages});1==arguments.length?(t=e)?a.html(r):a.empty():n(e).empty().removeClass("k-i-arrow-rotate-cw k-svg-i-arrow-rotate-cw").toggleClass("k-i-loading",t)},_refreshRoot:function(t){var n=this,i={firstLevel:!0,expanded:!0,length:n.element.children().length};this.element.empty();var l=e.map(t,(function(t,r){if("string"==typeof t)return e(t);{t.items=[];let l=e(n.renderItem({group:i,item:s(t,{index:r})}));return a.applyStylesFromKendoAttributes(l,["display"]),l}}));this.element.append(l);for(var o=this.element.children(".k-panelbar-item"),d=0;d<t.length;d++)this.trigger("itemChange",{item:o.eq(d).find(".k-link").first(),data:t[d],ns:r})},_refreshChildren:function(t,n){var a,i,s;if(n.children(".k-panelbar-group").empty(),t.children.data().length)for(this.append(t.children,n),this.options.loadOnDemand&&this._toggleGroup(n.children(".k-panelbar-group"),!1),i=n.children(".k-panelbar-group").children("li"),a=0;a<i.length;a++)s=i.eq(a),this.trigger("itemChange",{item:s.find(".k-link").first(),data:this.dataItem(s),ns:r});else!function(t){var n=t,a=t.children("ul"),r=n.children(".k-link").children(".k-panelbar-toggle");t.hasClass("k-panelbar")||(!r.length&&a.length?r=e("<span class='k-panelbar-toggle' />").appendTo(n):a.length&&a.children().length||(r.remove(),a.remove()))}(n),i=n.children(".k-panelbar-group").children("li")},findByUid:function(t){for(var n,r=this.element.find(".k-panelbar-item"),i=a.attr("uid"),s=0;s<r.length;s++)if(r[s].getAttribute(i)==t){n=r[s];break}return e(n)},refresh:function(e){var n=this.options,a=e.node,r=e.action,i=e.items,s=this.wrapper,l=n.loadOnDemand;if(e.field){if(!i[0]||!i[0].level)return;return this._updateItems(i,e.field)}if(a&&(s=this.findByUid(a.uid),this._progress(s,!1)),"add"==r?this._appendItems(e.index,i,s):"remove"==r?this.remove(this.findByUid(i[0].uid)):"itemchange"==r?this._updateItems(i):"itemloaded"==r?this._refreshChildren(a,s):this._refreshRoot(i),"remove"!=r)for(var o=0;o<i.length;o++)if(!l||i[o].expanded){var d=i[o];this._hasChildItems(d)&&d.load()}this.trigger(B,{node:a?s:t})},_error:function(e){var t=e.node&&this.findByUid(e.node.uid),r=this.templates.retry({messages:this.options.messages});t?(this._progress(t,!1),a.ui.icon(n(t),{icon:"arrow-rotate-cw"}),e.node.loaded(!1)):(this._progress(!1),this.element.html(r))},_retryRequest:function(e){e.preventDefault(),this.dataSource.fetch()},items:function(){return this.element.find(".k-panelbar-item > span:first-child")},setDataSource:function(e){this.options.dataSource=e,this._dataSource(),this.options.autoBind&&(this._progress(!0),this.dataSource.fetch())},_bindDataSource:function(){this._refreshHandler=this.refresh.bind(this),this._errorHandler=this._error.bind(this),this.dataSource.bind(x,this._refreshHandler),this.dataSource.bind(b,this._errorHandler)},_unbindDataSource:function(){var e=this.dataSource;e&&(e.unbind(x,this._refreshHandler),e.unbind(b,this._errorHandler))},_fieldAccessor:function(t){var n=this.options[z[t]]||[],r=n.length;return 0===r?function(e){return e[t]}:function(t){var i=e.map(n,a.getter);return t.level?i[Math.min(t.level(),r-1)](t):i[r-1](t)}},_dataSource:function(){var e=this,t=e.options.dataSource;t&&(t=d(t)?{data:t}:t,e._unbindDataSource(),t.fields||(t.fields=[{field:"text"},{field:"url"},{field:"spriteCssClass"},{field:"imageUrl"},{field:"icon"},{field:"iconClass"}]),e.dataSource=u.create(t),e._bindDataSource())},_appendItems:function(t,n,r){var i,l,o=this;r.hasClass("k-panelbar")?(i=r.children("li"),l=r):((l=r.children(".k-panelbar-group")).length||(l=o._addGroupElement(r)),i=l.children("li"));var d={firstLevel:r.hasClass("k-panelbar"),expanded:!0,length:i.length},p=e.map(n,(function(t,n){if("string"==typeof t)return e(t);{let r=e(o.renderItem({group:d,item:s(t,{index:n})}));return a.applyStylesFromKendoAttributes(r,["display"]),r}}));void 0===t&&(t=i.length);for(var c=0;c<p.length;c++)0===i.length||0===t?l.append(p[c]):p[c].insertAfter(i[t-1]);o.dataItem(r)&&(o.dataItem(r).hasChildren=!0,o.updateArrow(r))},_updateItems:function(t,n){var a,i,l,o,d=this,p={panelBar:d.options,item:o,group:{}},c="expanded"!=n;if("selected"==n)if(t[0][n]){var u=d.findByUid(t[0].uid);u.hasClass(q)||d.select(u,!0)}else d.clearSelection();else{var h=e.map(t,(function(e){return d.findByUid(e.uid)}));for(a=0;a<t.length;a++)p.item=o=t[a],p.panelBar=d,i=(l=h[a]).parent(),c&&(p.group={firstLevel:i.hasClass("k-panelbar"),expanded:l.parent().hasClass(O),length:l.children().length},l.children(".k-link").remove(),l.prepend(d.templates.itemWrapper(s(p,{arrow:o.hasChildren||o.content||o.contentUrl?d.templates.arrow:d.templates.empty},J)))),"expanded"==n?d._toggleItem(l,!o[n],!o[n]||"true"):"enabled"==n&&(d.enable(l,o[n]),o[n]||o.selected&&o.set("selected",!1)),l.length&&this.trigger("itemChange",{item:l.find(".k-link").first(),data:o,ns:r})}},_toggleDisabled:function(e,t){(e=this.element.find(e)).toggleClass(q,!t).attr(L,!t)},dataItem:function(t){var n=e(t).closest(k).attr(a.attr("uid")),r=this.dataSource;return r&&r.getByUid(n)},select:function(n,a){var r=this;return n===t?r.element.find(P).parent():((n=r.element.find(n)).length?n.each((function(){var t=e(this),n=t.children(v);if(t.hasClass(q))return r;r._updateSelected(n,a)})):this._updateSelected(n),r)},clearSelection:function(){this.select(e())},enable:function(e,t){return this._toggleDisabled(e,!1!==t),this},disable:function(e){return this._toggleDisabled(e,!1),this},append:function(e,t){t=this.element.find(t);var n=this._insert(e,t,t.length?t.find($):null);return o(n.items,(function(){n.group.append(this),X(this)})),this.updateArrow(t),n.group.height("auto"),this},insertBefore:function(e,t){t=this.element.find(t);var n=this._insert(e,t,t.parent());return o(n.items,(function(){t.before(this),X(this)})),n.group.height("auto"),this},insertAfter:function(e,t){t=this.element.find(t);var n=this._insert(e,t,t.parent());return o(n.items,(function(){t.after(this),X(this)})),n.group.height("auto"),this},remove:function(e){var t=this,n=(e=this.element.find(e)).parentsUntil(t.element,k),a=e.parent("ul");return e.remove(),!a||a.hasClass("k-panelbar")||a.children(k).length||a.remove(),n.length&&(n=n.eq(0),t.updateArrow(n)),t},reload:function(t){var n=this;(t=n.element.find(t)).each((function(){var t=e(this);n._ajaxRequest(t,t.children("."+A),!t.is(Q))}))},_first:function(){return this.element.children(R).first()},_last:function(){var e=this.element.children(R).last(),t=e.children(_);return t[0]?t.children(R).last():e},_current:function(n){var a=this,r=a._focused,i=a._itemId;if(n===t)return r;a.element.removeAttr("aria-activedescendant"),r&&r.length&&(r[0].id===i&&r.removeAttr("id"),r.children(v).removeClass(T)),e(n).length&&(i=n[0].id||i,n.attr("id",i).children(v).addClass(T),a.element.attr("aria-activedescendant",i)),a._focused=n},_keydown:function(e){var t=this,n=e.keyCode,a=t._current();e.target==e.currentTarget&&(n==i.DOWN||n==i.RIGHT?(t._current(t._nextItem(a)),e.preventDefault()):n==i.UP||n==i.LEFT?(t._current(t._prevItem(a)),e.preventDefault()):n==i.ENTER||n==i.SPACEBAR?(t._click(e),e.preventDefault()):n==i.HOME?(t._current(t._first()),e.preventDefault()):n==i.END&&(t._current(t._last()),e.preventDefault()))},_nextItem:function(e){if(!e)return this._first();var t=e.children(_),n=e.nextAll(":visible").first();return t[0]&&(n=t.children().first()),n[0]||(n=e.parent(_).parent(k).next()),n[0]||(n=this._first()),n},_prevItem:function(e){if(!e)return this._last();var t,n=e.prevAll(":visible").first();if(n[0])for(t=n;t[0];)(t=t.children(_).children().last())[0]&&(n=t);else(n=e.parent(_).parent(k))[0]||(n=this._last());return n},_insert:function(t,n,r){var i,l,o=this,d=e.isPlainObject(t),p=n&&n[0];if(p||(r=o.element),l={firstLevel:r.hasClass("k-panelbar"),expanded:e(n).hasClass(O),length:r.children().length},p&&!r.length&&(r=e(o.renderGroup({group:l,options:o.options})),a.applyStylesFromKendoAttributes(r,["display"]),r.appendTo(n)),d||Array.isArray(t)||t instanceof u){if(t instanceof u&&(t=t.data()),i=e.map(d?[t]:t,(function(t,n){if("string"==typeof t)return e(t);{let r=e(o.renderItem({group:l,item:s(t,{index:n})}));return a.applyStylesFromKendoAttributes(r,["display"]),r}})),p){var c=o.dataItem(n);c?(c.hasChildren=!0,n.attr(M,c.expanded).not("."+O).children("ul").attr(N,!c.expanded)):n.attr(M,!1)}}else i="string"==typeof t&&"<"!=t.charAt(0)?o.element.find(t):e(t),o._updateItemsClasses(i);return t.length||(t=[t]),{items:i,group:r}},_toggleHover:function(t){var n=e(t.currentTarget);n.parents("li."+q).length||n.toggleClass("k-hover",t.type==D)},_updateClasses:function(){var t,n,a,r,i,s=this;r=(t=s.element.find("li > ul").not((function(){return e(this).parentsUntil(".k-panelbar","div").length})).addClass("k-panelbar-group").attr("role","group")).parent(),a=(i=s.dataItem(r))&&i.expanded||!1,t.parent().not("["+M+"]").attr(M,a).not("."+O).children("ul").attr(N,!a).hide(),n=s.element.add(t).children(),s._updateItemsClasses(n),s.updateArrow(n)},_updateItemsClasses:function(e){for(var t=e.length,n=0;n<t;n++)this._updateItemClasses(e[n],n)},_updateItemClasses:function(t,n){var r,i,s=this._selected,l=this.options.contentUrls,o=l&&l[n],d=this.element[0];t=e(t).addClass("k-panelbar-item").attr({role:"treeitem","aria-selected":!1}),a.support.browser.msie&&t.css("list-style-position","inside").css("list-style-position",""),t.children("img").addClass(C),(i=t.children("a").addClass(g))[0]&&(i.attr("href",o),i.children("img").addClass(C)),t.filter("li[disabled]").addClass("k-disabled").attr(L,!0).prop("disabled",!1),t.children("div").addClass(A+" k-panelbar-content").attr(N,!0).hide().parent().attr(M,!1),(i=t.children(H))[0]&&(s&&s.attr(K,!1).children(H).removeClass(F),i.addClass(F),this._selected=t.attr(K,!0)),t.children(v)[0]||(r="<span class='"+g+"'><span class='k-panelbar-item-text'></span></span>",l&&l[n]&&t[0].parentNode==d&&(r='<a class="k-link" href="'+l[n]+'"></a>'),t.contents().filter((function(){return!(this.nodeName.match(h)||3==this.nodeType&&!a.trim(this.nodeValue.trim))})).wrapAll(r)),t.parent(".k-panelbar")[0]?t.addClass("k-panelbar-header"):t.addClass("k-panelbar-item"),/k\-level\-\d+/i.test(t.attr("class"))||t.addClass("k-level-"+t.parentsUntil(this.element,"ul").length)},_click:function(t){var n,a,r,i=this,s=t.type==I?e(t.target):i._current().children(v),l=i.element;if(!s.parents("li."+q).length&&s.closest(".k-panelbar")[0]==l[0]&&(!s.is(":kendoFocusable")||s.hasClass(g))){var o=s.closest(v),d=o.closest(k);i._updateSelected(o);var p=d.children(".k-panelbar-group,.k-panelbar-content"),c=this.dataItem(d);if(!p.length&&(i.options.loadOnDemand&&c&&c.hasChildren||this._hasChildItems(d)||d.content||d.contentUrl)&&(p=i._addGroupElement(d)),a=d.find($).add(d.find(G)),n=!(!((r=o.attr(f))&&("#"==r.charAt(r.length-1)||-1!=r.indexOf("#"+i.element[0].id+"-")))&&!a.length),a.data("animating")&&n)t.preventDefault();else if(i._triggerEvent(w,d)&&(n=!0),!1!==n)if(i.options.expandMode==V&&i._collapseAllExpanded(d)&&n)t.preventDefault();else{if(a.length){var u=a.is(Q);i._triggerEvent(u?U:y,d)||(n=i._toggleItem(d,u))}n&&t.preventDefault()}}},_hasChildItems:function(e){return e.items&&e.items.length>0||e.hasChildren},_toggleItem:function(e,n,a){var r,i,s=this,l=e.find($),o=e.find(v).attr(f),d=s.dataItem(e),p=!n,c=d&&d.loaded();return d&&!a&&d.expanded!==p?(d.set("expanded",p),r=d.hasChildren||!!d.content||!!d.contentUrl):(!d||a&&"true"!==a||c||d.content||d.contentUrl?l.length?(this._toggleGroup(l,n),r=!0):(i=e.children("."+A)).length&&(r=!0,i.is(":empty")&&o!==t?s._ajaxRequest(e,i,n):s._toggleGroup(i,n)):(s.options.loadOnDemand&&this._progress(e,!0),e.children(".k-panelbar-group,.k-panelbar-content").remove(),r=d.hasChildren,d.load()),r)},_toggleGroup:function(t,n){var r=this,i=r.options.animation,l=i.expand,o=i.collapse&&"effects"in i.collapse,d=s({},i.expand,i.collapse);t.hasClass("k-hidden")&&t.removeClass("k-hidden"),o||(d=s(d,{reverse:!0})),t.is(Q)==n?(t.attr(N,!!n),t.parent().attr(M,!n).toggleClass(O,!n).find("> .k-link > .k-panelbar-collapse,> .k-link > .k-panelbar-expand").each((function(t,r){let i=e(r);i.removeClass("k-panelbar-expand k-panelbar-collapse"),a.ui.icon(i,{icon:n?"chevron-down":"chevron-up",iconClass:n?"k-panelbar-expand":"k-panelbar-collapse"})})),n?(l=s(d,{hide:!0})).complete=function(){r._animationCallback()}:l=s({complete:function(e){r._triggerEvent(S,e.closest(k)),r._animationCallback()}},l),t.toggle(0).kendoStop(!0,!0).kendoAnimate(l)):r._animating=!1},_animationCallback:function(){this.trigger("complete"),this._animating=!1},_addGroupElement:function(t){var n=e('<ul role="group" aria-hidden="true" class="k-panelbar-group"></ul>').hide();return t.append(n),n},_collapseAllExpanded:function(t){var n,a=this,r=!1,i=t.find($).add(t.find(G));return i.is(Q)&&(r=!0),i.is(Q)||0===i.length||((n=t.siblings()).find($).add(n.find(G)).filter((function(){return e(this).is(Q)})).each((function(t,n){n=e(n),(r=a._triggerEvent(U,n.closest(k)))||a._toggleGroup(n,!0)})),a.one("complete",(function(){setTimeout((function(){for(let e=0;e<n.length;e++){let t=a.dataItem(n.eq(e));t&&t.set("expanded",!1)}}))}))),r},_ajaxRequest:function(t,n,r){var i=this,s=t.find(".k-panelbar-collapse, .k-panelbar-expand"),l=t.find(v),o=setTimeout((function(){s.empty().removeClass("k-i-chevron-up k-i-chevron-down k-svg-i-chevron-up k-svg-i-chevron-down").addClass("k-i-loading")}),100),d=l.attr(f);e.ajax({type:"GET",cache:!1,url:d,dataType:"html",data:{},error:function(e,t){s.removeClass("k-i-loading"),a.ui.icon(s,{icon:s.hasClass("k-panelbar-expand")?"chevron-down":"chevron-up"}),i.trigger(b,{xhr:e,status:t})&&this.complete()},complete:function(){clearTimeout(o),a.ui.icon(s,{icon:s.hasClass("k-panelbar-expand")?"chevron-down":"chevron-up"}),s.removeClass("k-i-loading")},success:function(e){try{n.html(e)}catch(e){var a=window.console;a&&a.error&&a.error(e.name+": "+e.message+" in "+d),this.error(this.xhr,"error")}i._toggleGroup(n,r),i.trigger(E,{item:t[0],contentElement:n[0]})}})},_triggerEvent:function(e,t){return this.trigger(e,{item:t[0]})},_updateSelected:function(e,t){var n=this,a=n.element,r=e.parent(k),i=n._selected,s=n.dataItem(r);0!=n.options.selectable?(i&&i.attr(K,!1),n._selected=r.attr(K,!0),a.find(P).removeClass(F),e.addClass(F),n._current(r[0]?r:null),s&&s.set("selected",!0),t||n.trigger(x)):n._current(r[0]?r:null)},_animations:function(e){e&&"animation"in e&&!e.animation&&(e.animation={expand:{effects:{}},collapse:{hide:!0,effects:{}}})},renderItem:function(e){var t=this;e=s({panelBar:t,group:{}},e);var n=t.templates.empty,a=e.item;return t.templates.item(s(e,{itemWrapper:t.templates.itemWrapper,renderContent:t.renderContent,arrow:t._hasChildItems(a)||a.content||a.contentUrl?t.templates.arrow:n,subGroup:!e.loadOnDemand||a.expanded?t.renderGroup:n},J))},renderGroup:function(e){return(this&&this.templates||e.panelBar.templates).group(s({renderItems:function(e){let t="",n=0,a=e.items,r=a?a.length:0,i=s({length:r},e.group);for(;n<r;n++)t+=e.panelBar.renderItem(s(e,{group:i,item:s({index:n},a[n])}));return t}},e,J))},renderContent:function(e){return e.panelBar.templates.content(s(e,J))}});a.ui.plugin(Y)}(window.kendo.jQuery);var t=kendo;e.__meta__={id:"panelbar",name:"PanelBar",category:"web",description:"The PanelBar widget displays hierarchical data as a multi-level expandable panel bar.",depends:["core","data","data.odata","icons"]},e.default=t,Object.defineProperty(e,"__esModule",{value:!0})}));
//# sourceMappingURL=kendo.panelbar.min.js.map