@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.6 kB
JavaScript
!function(e){"function"==typeof define&&define.amd?define(["kendo.data.min","kendo.icons.min"],e):e()}((function(){!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,c=a.template,p=r.Widget,u=a.data.HierarchicalDataSource,h=/^(ul|a|div)$/i,m=".kendoPanelBar",f="href",g="k-last",v="k-link",k="."+v,_="error",C=".k-panelbar-item",b=".k-group:visible",x="k-image",y="k-first",I="change",w="expand",A="select",U="click",S="k-content",B="activate",D="collapse",E="dataBound",G="mouseenter",O="contentLoad",T="k-active",H="k-expanded",q="> .k-panel",R="> .k-content",W="k-focus",F="k-disabled",L="k-selected",j=".k-selected",M="k-highlight",N=C+":not(.k-disabled)",P="> "+N+" > "+".k-link, .k-panel > "+N+" > "+k,$="> li > .k-selected, .k-panel > li > .k-selected",Q="aria-disabled",V="aria-expanded",z="aria-hidden",J="aria-selected",K=":visible",X="single",Y={text:"dataTextField",url:"dataUrlField",spriteCssClass:"dataSpriteCssClassField",imageUrl:"dataImageUrlField"},Z={aria:function(e){var t="";return(e.items||e.content||e.contentUrl||e.expanded)&&(t+="aria-expanded='"+(e.expanded?"true":"false")+"' "),!1===e.enabled&&(t+="aria-disabled='true'"),t},wrapperCssClass:function(e,t){var n="k-panelbar-item",a=t.index;return e.firstLevel&&(n+=" k-panelbar-header"),!1===t.enabled?n+=" k-disabled":!0===t.expanded&&(n+=" k-active",n+=" k-expanded"),0===a&&(n+=" k-first"),a==e.length-1&&(n+=" k-last"),t.cssClass&&(n+=" "+t.cssClass),t.level&&(n+=" k-level-"+t.level()),n},textClass:function(e){var t=v;return e.selected&&(t+=" k-selected"),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?" style='display:none'":""},ariaHidden:function(e){return!0!==e.expanded},groupCssClass:function(){return"k-panelbar-group k-group k-panel"},contentAttributes:function(e){return!0!==e.item.expanded?" style='display:none'":""},content:function(e){return e.content?e.content:e.contentUrl?"":" "},contentUrl:function(e){return e.contentUrl?'href="'+e.contentUrl+'"':""}};function ee(t){(t=e(t)).filter(".k-first:not(:first-child)").removeClass(y),t.filter(".k-last:not(:last-child)").removeClass(g),t.filter(":first-child").addClass(y),t.filter(":last-child").addClass(g)}function te(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 ne=a.ui.DataBoundWidget.extend({init:function(e,t){var n,r,i=this;d(t)&&(t={dataSource:t}),r=t&&!!t.dataSource,p.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(U+m,P,i._click.bind(i)).on(G+m+" mouseleave"+m,P,i._toggleHover).on(U+m,".k-panelbar-item.k-disabled > .k-link",!1).on(U+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.k-active > ."+S))[0]&&i.expand(n.parent(),!1),t.dataSource||i._angularCompile(),a.notify(i)},events:[w,D,A,B,I,_,E,O],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},_angularCompile:function(){var e=this;e.angular("compile",(function(){return{elements:e.element.children("li"),data:[{dataItem:e.options.$angular}]}}))},_angularCompileElements:function(t,n){this.angular("compile",(function(){return{elements:t,data:e.map(n,(function(e){return[{dataItem:e}]}))}}))},_angularCleanup:function(){var e=this;e.angular("cleanup",(function(){return{elements:e.element.children("li")}}))},destroy:function(){p.fn.destroy.call(this),this.element.off(m),this._angularCleanup(),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 e=this,t=e.options,n=e._fieldAccessor.bind(e);t.template&&"string"==typeof t.template?t.template=c(t.template):t.template||(t.template=c((function(e){var t=n("text")(e.item);return void 0!==e.item.encoded&&!1===e.item.encoded?"<span class='k-panelbar-item-text'>"+t+"</span>":"<span class='k-panelbar-item-text'>"+l(t)+"</span>"}))),e.templates={content:c((function(e){var t=e.data,n=e.item,a=e.contentAttributes,r=e.content;return"<div class='k-panelbar-content k-content'"+a({data:t,item:n,contentAttributes:a,content:r})+">"+r(n)+"</div>"})),group:c((function(e){var t=e.data,n=e.items,a=e.group,r=e.renderItems,i=e.panelBar,s=e.ariaHidden,l=e.groupCssClass,o=e.groupAttributes;return"<ul role='group' aria-hidden='"+s(a)+"' class='"+l(a)+"' "+o(a)+">"+r({data:t,items:n,group:a,renderItems:r,panelBar:i,ariaHidden:s,groupCssClass:l,groupAttributes:o})+"</ul>"})),itemWrapper:c((function(e){var t=e.panelBar,a=e.item,r=e.arrow,i=e.textClass,s=e.arrowIconOptions,l=e.textAttributes,o=e.contentUrl,d=n("url")(a),c=n("imageUrl")(a),p=n("spriteCssClass")(a),u=(o=o(a),d||o?"a":"span");return"<"+u+" class='"+i(a)+"' "+o+l(d)+">"+(c?"<img class='k-panelbar-item-icon k-image' alt='' src='"+c+"' />":"")+(p?"<span class='k-sprite "+p+"'></span>":"")+t.options.template({panelBar:t,item:a,arrow:r,textClass:i,textAttributes:l,contentUrl:o})+r({panelBar:t,item:a,arrow:r,textClass:i,arrowIconOptions:s,textAttributes:l,contentUrl:o})+"</"+u+">"})),item:c((function(e){var t=e.data,n=e.group,r=e.item,i=e.panelBar,s=e.itemWrapper,l=e.renderContent,o=e.arrow,d=e.arrowIconOptions,c=e.subGroup,p=e.aria,u=e.wrapperCssClass,h=e.contentUrl,m=e.textClass,f=e.textAttributes;return"<li aria-selected='false' role='treeitem' "+p(r)+"class='"+u(n,r)+"' "+a.attr("uid")+"='"+r.uid+"'>"+s({data:t,group:n,item:r,panelBar:i,itemWrapper:s,renderContent:l,arrow:o,arrowIconOptions:d,subGroup:c,aria:p,wrapperCssClass:u,contentUrl:h,textClass:m,textAttributes:f})+(r.items&&r.items.length>0?c({items:r.items,panelBar:i,group:{expanded:r.expanded}}):r.content||r.contentUrl?l({data:t,group:n,item:r,panelBar:i,itemWrapper:s,renderContent:l,arrow:o,arrowIconOptions:d,subGroup:c,aria:p,wrapperCssClass:u,contentUrl:h,textClass:m,textAttributes:f}):"")+"</li>"})),loading:c((function(e){var t=e.messages;return"<li class='k-panelbar-item'><span class='k-icon k-i-loading'></span> "+l(t.loading)+"</li>"})),retry:c((function(e){var t=e.messages;return"<li class='k-panelbar-item'>"+l(t.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(t.retry)+"</span></button></li>"})),arrow:c((function(e){var t=e.item,n=e.arrowIconOptions;return a.ui.icon(n(t))})),empty:c((function(){return""}))}},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),p.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-group,.k-content");l.length||(l=a._addGroupElement(t));var o=l.add(s.find(R));if(!s.hasClass(F)&&o.length>0){if(a.options.expandMode==X&&a._collapseAllExpanded(s))return a;t.find(".k-highlight").removeClass(M),s.addClass(M),n||(r=a.options.animation,a.options.animation={expand:{effects:{}},collapse:{hide:!0,effects:{}}}),a._triggerEvent(w,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(q).add(i.find(R));!i.hasClass(F)&&s.is(K)&&(i.removeClass(M),n||(r=a.options.animation,a.options.animation={expand:{effects:{}},collapse:{hide:!0,effects:{}}}),a._triggerEvent(D,i)||a._toggleItem(i,!0),n||(a.options.animation=r))})),a},updateArrow:function(t){var n=this;(t=e(t)).children(k).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-panel").length>0||e(this).find(".k-content").length>0})).children(".k-link:not(:has([class*=-i-chevron]))").each((function(){var t=e(this),n=t.parent(),r=a.ui.icon({icon:n.hasClass(T)?"chevron-up":"chevron-down",iconClass:"k-panelbar-toggle k-panelbar-"+(n.hasClass(T)?"collapse":"expand")});t.append(r)}))},_accessors:function(){var e,t,n,r=this.options,i=this.element;for(e in Y)t=r[Y[e]],n=i.attr(a.attr(e+"-field")),!t&&n&&(t=n),t||(t=e),d(t)||(t=[t]),r[Y[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,a={firstLevel:!0,expanded:!0,length:n.element.children().length};this.element.empty();var i=e.map(t,(function(t,r){return"string"==typeof t?e(t):(t.items=[],e(n.renderItem({group:a,item:s(t,{index:r})})))}));this.element.append(i);for(var l=this.element.children(".k-panelbar-item"),o=0;o<t.length;o++)this.trigger("itemChange",{item:l.eq(o).find(".k-link").first(),data:t[o],ns:r});this._angularCompileElements(i,t)},_refreshChildren:function(t,n){var a,i,s;n.children(".k-group").empty();var l=t.children.data();if(l.length)for(this.append(t.children,n),this.options.loadOnDemand&&this._toggleGroup(n.children(".k-group"),!1),i=n.children(".k-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-group").children("li"),this._angularCompileElements(i,l)},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(E,{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),this._expanded(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(I,this._refreshHandler),this.dataSource.bind(_,this._errorHandler)},_unbindDataSource:function(){var e=this.dataSource;e&&(e.unbind(I,this._refreshHandler),e.unbind(_,this._errorHandler))},_fieldAccessor:function(t){var n=this.options[Y[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"}]),e.dataSource=u.create(t),e._bindDataSource())},_appendItems:function(t,n,a){var r,i,l=this;a.hasClass("k-panelbar")?(r=a.children("li"),i=a):((i=a.children(".k-group")).length||(i=l._addGroupElement(a)),r=i.children("li"));var o={firstLevel:a.hasClass("k-panelbar"),expanded:!0,length:r.length},d=e.map(n,(function(t,n){return e("string"==typeof t?t:l.renderItem({group:o,item:s(t,{index:n})}))}));void 0===t&&(t=r.length);for(var c=0;c<d.length;c++)0===r.length||0===t?i.append(d[c]):d[c].insertAfter(r[t-1]);l._angularCompileElements(d,n),l.dataItem(a)&&(l.dataItem(a).hasChildren=!0,l.updateArrow(a))},_updateItems:function(t,n){var a,i,l,o,d=this,c={panelBar:d.options,item:o,group:{}},p="expanded"!=n;if("selected"==n)if(t[0][n]){var u=d.findByUid(t[0].uid);u.hasClass(F)||d.select(u,!0)}else d.clearSelection();else{var h=e.map(t,(function(e){return d.findByUid(e.uid)}));for(p&&d.angular("cleanup",(function(){return{elements:h}})),a=0;a<t.length;a++)c.item=o=t[a],c.panelBar=d,i=(l=h[a]).parent(),p&&(c.group={firstLevel:i.hasClass("k-panelbar"),expanded:l.parent().hasClass(T),length:l.children().length},l.children(".k-link").remove(),l.prepend(d.templates.itemWrapper(s(c,{arrow:o.hasChildren||o.content||o.contentUrl?d.templates.arrow:d.templates.empty},Z)))),"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});p&&d.angular("compile",(function(){return{elements:h,data:e.map(t,(function(e){return[{dataItem:e}]}))}}))}},_toggleDisabled:function(e,t){(e=this.element.find(e)).toggleClass(F,!t).attr(Q,!t)},dataItem:function(t){var n=e(t).closest(C).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($).parent():((n=r.element.find(n)).length?n.each((function(){var t=e(this),n=t.children(k);if(t.hasClass(F))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(q):null);return o(n.items,(function(){n.group.append(this),ee(this),te(this)})),this.updateArrow(t),ee(n.group.find(".k-first, .k-last")),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),ee(this),te(this)})),ee(t),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),ee(this),te(this)})),ee(t),n.group.height("auto"),this},remove:function(e){var t=this,n=(e=this.element.find(e)).parentsUntil(t.element,C),a=e.parent("ul");return e.remove(),!a||a.hasClass("k-panelbar")||a.children(C).length||a.remove(),n.length&&(n=n.eq(0),t.updateArrow(n),ee(n)),t},reload:function(t){var n=this;(t=n.element.find(t)).each((function(){var t=e(this);n._ajaxRequest(t,t.children("."+S),!t.is(K))}))},_first:function(){return this.element.children(N).first()},_last:function(){var e=this.element.children(N).last(),t=e.children(b);return t[0]?t.children(N).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(k).removeClass(W)),e(n).length&&(i=n[0].id||i,n.attr("id",i).children(k).addClass(W),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(b),n=e.nextAll(":visible").first();return t[0]&&(n=t.children("."+y)),n[0]||(n=e.parent(b).parent(C).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(b).children("."+g))[0]&&(n=t);else(n=e.parent(b).parent(C))[0]||(n=this._last());return n},_insert:function(t,n,a){var r,i,l=this,o=e.isPlainObject(t),d=n&&n[0];if(d||(a=l.element),i={firstLevel:a.hasClass("k-panelbar"),expanded:e(n).hasClass(T),length:a.children().length},d&&!a.length&&(a=e(l.renderGroup({group:i,options:l.options})).appendTo(n)),o||Array.isArray(t)||t instanceof u){if(t instanceof u&&(t=t.data()),r=e.map(o?[t]:t,(function(t,n){return e("string"==typeof t?t:l.renderItem({group:i,item:s(t,{index:n})}))})),d){var c=l.dataItem(n);c?(c.hasChildren=!0,n.attr(V,c.expanded).not(".k-active").children("ul").attr(z,!c.expanded)):n.attr(V,!1)}}else r="string"==typeof t&&"<"!=t.charAt(0)?l.element.find(t):e(t),l._updateItemsClasses(r);return t.length||(t=[t]),l._angularCompileElements(r,t),{items:r,group:a}},_toggleHover:function(t){var n=e(t.currentTarget);n.parents("li.k-disabled").length||n.toggleClass("k-hover",t.type==G)},_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 k-group k-panel").attr("role","group")).parent(),a=(i=s.dataItem(r))&&i.expanded||!1,t.parent().not("[aria-expanded]").attr(V,a).not(".k-active").children("ul").attr(z,!a).hide(),n=s.element.add(t).children(),s._updateItemsClasses(n),s.updateArrow(n),ee(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(x),(i=t.children("a").addClass(v))[0]&&(i.attr("href",o),i.children("img").addClass(x)),t.filter("li[disabled]").addClass("k-disabled").attr(Q,!0).prop("disabled",!1),t.children("div").addClass(S+" k-panelbar-content").attr(z,!0).hide().parent().attr(V,!1),(i=t.children(j))[0]&&(s&&s.attr(J,!1).children(j).removeClass(L),i.addClass(L),this._selected=t.attr(J,!0)),t.children(k)[0]||(r="<span class='k-link'><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==U?e(t.target):i._current().children(k),l=i.element;if(!s.parents("li.k-disabled").length&&s.closest(".k-panelbar")[0]==l[0]&&(!s.is(":kendoFocusable")||s.hasClass(v))){var o=s.closest(k),d=o.closest(C);i._updateSelected(o);var c=d.children(".k-group,.k-content"),p=this.dataItem(d);if(!c.length&&(i.options.loadOnDemand&&p&&p.hasChildren||this._hasChildItems(d)||d.content||d.contentUrl)&&(c=i._addGroupElement(d)),a=d.find(q).add(d.find(R)),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(A,d)&&(n=!0),!1!==n)if(i.options.expandMode==X&&i._collapseAllExpanded(d)&&n)t.preventDefault();else{if(a.length){var u=a.is(K);i._triggerEvent(u?D:w,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(q),o=e.find(k).attr(f),d=s.dataItem(e),c=!n,p=d&&d.loaded();return d&&!a&&d.expanded!==c?(d.set("expanded",c),r=d.hasChildren||!!d.content||!!d.contentUrl):(!d||a&&"true"!==a||p||d.content||d.contentUrl?l.length?(this._toggleGroup(l,n),r=!0):(i=e.children("."+S)).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-group,.k-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);o||(d=s(d,{reverse:!0})),t.is(K)==n?(t.attr(z,!!n),t.parent().attr(V,!n).toggleClass(T,!n).toggleClass(H,!n).find("> .k-link > .k-panelbar-collapse,> .k-link > .k-panelbar-expand").each((function(t,r){var 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(B,e.closest(C)),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 k-group k-panel" style="display:none"></ul>');return t.append(n),n},_collapseAllExpanded:function(t){var n,a=this,r=!1,i=t.find(q).add(t.find(R));return i.is(K)&&(r=!0),i.is(K)||0===i.length||((n=t.siblings()).find(q).add(n.find(R)).filter((function(){return e(this).is(K)})).each((function(t,n){n=e(n),(r=a._triggerEvent(D,n.closest(C)))||a._toggleGroup(n,!0)})),a.one("complete",(function(){setTimeout((function(){n.each((function(e,t){var n=a.dataItem(t);n&&n.set("expanded",!1)}))}))}))),r},_ajaxRequest:function(t,n,r){var i=this,s=t.find(".k-panelbar-collapse, .k-panelbar-expand"),l=t.find(k),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(_,{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){function a(){return{elements:n.get()}}try{i.angular("cleanup",a),n.html(e),i.angular("compile",a)}catch(e){var s=window.console;s&&s.error&&s.error(e.name+": "+e.message+" in "+d),this.error(this.xhr,"error")}i._toggleGroup(n,r),i.trigger(O,{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(C),i=n._selected,s=n.dataItem(r);i&&i.attr(J,!1),n._selected=r.attr(J,!0),a.find($).removeClass(L),a.find("> .k-highlight, .k-panel > .k-highlight").removeClass(M),e.addClass(L),e.parentsUntil(a,C).filter(":has(.k-link)").addClass(M),n._current(r[0]?r:null),s&&s.set("selected",!0),t||n.trigger(I)},_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},Z))},renderGroup:function(e){return(this.templates||e.panelBar.templates).group(s({renderItems:function(e){for(var t="",n=0,a=e.items,r=a?a.length:0,i=s({length:r},e.group);n<r;n++)t+=e.panelBar.renderItem(s(e,{group:i,item:s({index:n},a[n])}));return t}},e,Z))},renderContent:function(e){return e.panelBar.templates.content(s(e,Z))}});a.ui.plugin(ne)}(window.kendo.jQuery)}));
//# sourceMappingURL=kendo.panelbar.min.js.map