kendo.panelbar.min.js 18.2 KB
/** 
 * Kendo UI v2016.1.112 (http://www.telerik.com/kendo-ui)                                                                                                                                               
 * Copyright 2016 Telerik AD. All rights reserved.                                                                                                                                                      
 *                                                                                                                                                                                                      
 * Kendo UI commercial licenses may be obtained at                                                                                                                                                      
 * http://www.telerik.com/purchase/license-agreement/kendo-ui-complete                                                                                                                                  
 * If you do not own a commercial license, this file shall be governed by the trial license terms.                                                                                                      
                                                                                                                                                                                                       
                                                                                                                                                                                                       
                                                                                                                                                                                                       
                                                                                                                                                                                                       
                                                                                                                                                                                                       
                                                                                                                                                                                                       
                                                                                                                                                                                                       
                                                                                                                                                                                                       
                                                                                                                                                                                                       
                                                                                                                                                                                                       
                                                                                                                                                                                                       
                                                                                                                                                                                                       
                                                                                                                                                                                                       
                                                                                                                                                                                                       
                                                                                                                                                                                                       

*/
!function(e,define){define("kendo.panelbar.min",["kendo.core.min"],e)}(function(){return function(e,t){function n(t){t=e(t),t.children(k).children(".k-icon").remove(),t.filter(":has(.k-panel),:has(.k-content)").children(".k-link:not(:has([class*=k-i-arrow]))").each(function(){var t=e(this),n=t.parent();t.append("<span class='k-icon "+(n.hasClass(S)?"k-i-arrow-n k-panelbar-collapse":"k-i-arrow-s k-panelbar-expand")+"'/>")})}function i(t){t=e(t),t.filter(".k-first:not(:first-child)").removeClass(w),t.filter(".k-last:not(:last-child)").removeClass(m),t.filter(":first-child").addClass(w),t.filter(":last-child").addClass(m)}var a=window.kendo,r=a.ui,s=a.keys,l=e.extend,o=e.each,d=a.template,c=r.Widget,u=/^(ul|a|div)$/i,p=".kendoPanelBar",f="img",h="href",m="k-last",g="k-link",k="."+g,v="error",_=".k-item",C=".k-group",x=C+":visible",b="k-image",w="k-first",y="expand",A="select",I="k-content",E="activate",U="collapse",D="mouseenter",T="mouseleave",G="contentLoad",S="k-state-active",O="> .k-panel",B="> .k-content",j="k-state-focused",N="k-state-disabled",R="k-state-selected",W="."+R,P="k-state-highlight",q=_+":not(.k-state-disabled)",H="> "+q+" > "+k+", .k-panel > "+q+" > "+k,L=_+".k-state-disabled > .k-link",M="> li > "+W+", .k-panel > li > "+W,$="k-state-default",F="aria-disabled",J="aria-expanded",Q="aria-hidden",V="aria-selected",z=":visible",K=":empty",X="single",Y={content:d("<div role='region' class='k-content'#= contentAttributes(data) #>#= content(item) #</div>"),group:d("<ul role='group' aria-hidden='true' class='#= groupCssClass(group) #'#= groupAttributes(group) #>#= renderItems(data) #</ul>"),itemWrapper:d("<#= tag(item) # class='#= textClass(item, group) #' #= contentUrl(item) ##= textAttributes(item) #>#= image(item) ##= sprite(item) ##= text(item) ##= arrow(data) #</#= tag(item) #>"),item:d("<li role='menuitem' #=aria(item)#class='#= wrapperCssClass(group, item) #'>#= itemWrapper(data) ## if (item.items) { ##= subGroup({ items: item.items, panelBar: panelBar, group: { expanded: item.expanded } }) ## } else if (item.content || item.contentUrl) { ##= renderContent(data) ## } #</li>"),image:d("<img class='k-image' alt='' src='#= imageUrl #' />"),arrow:d("<span class='#= arrowClass(item) #'></span>"),sprite:d("<span class='k-sprite #= spriteCssClass #'></span>"),empty:d("")},Z={aria:function(e){var t="";return(e.items||e.content||e.contentUrl)&&(t+=J+"='"+(e.expanded?"true":"false")+"' "),e.enabled===!1&&(t+=F+"='true'"),t},wrapperCssClass:function(e,t){var n="k-item",i=t.index;return n+=t.enabled===!1?" "+N:t.expanded===!0?" "+S:" k-state-default",0===i&&(n+=" k-first"),i==e.length-1&&(n+=" k-last"),t.cssClass&&(n+=" "+t.cssClass),n},textClass:function(e,t){var n=g;return t.firstLevel&&(n+=" k-header"),n},textAttributes:function(e){return e.url?" href='"+e.url+"'":""},arrowClass:function(e){var t="k-icon";return t+=e.expanded?" k-i-arrow-n k-panelbar-collapse":" k-i-arrow-s k-panelbar-expand"},text:function(e){return e.encoded===!1?e.text:a.htmlEncode(e.text)},tag:function(e){return e.url||e.contentUrl?"a":"span"},groupAttributes:function(e){return e.expanded!==!0?" style='display:none'":""},groupCssClass:function(){return"k-group k-panel"},contentAttributes:function(e){return e.item.expanded!==!0?" style='display:none'":""},content:function(e){return e.content?e.content:e.contentUrl?"":"&nbsp;"},contentUrl:function(e){return e.contentUrl?'href="'+e.contentUrl+'"':""}},ee=c.extend({init:function(t,n){var i,r=this;c.fn.init.call(r,t,n),t=r.wrapper=r.element.addClass("k-widget k-reset k-header k-panelbar"),n=r.options,t[0].id&&(r._itemId=t[0].id+"_pb_active"),r._tabindex(),r._initData(n),r._updateClasses(),r._animations(n),t.on("click"+p,H,function(t){r._click(e(t.currentTarget))&&t.preventDefault()}).on(D+p+" "+T+p,H,r._toggleHover).on("click"+p,L,!1).on("keydown"+p,e.proxy(r._keydown,r)).on("focus"+p,function(){var e=r.select();r._current(e[0]?e:r._first())}).on("blur"+p,function(){r._current(null)}).attr("role","menu"),i=t.find("li."+S+" > ."+I),i[0]&&r.expand(i.parent(),!1),n.dataSource&&r._angularCompile(),a.notify(r)},events:[y,U,A,E,v,G],options:{name:"PanelBar",animation:{expand:{effects:"expand:vertical",duration:200},collapse:{duration:200}},expandMode:"multiple"},_angularCompile:function(){var e=this;e.angular("compile",function(){return{elements:e.element.children("li"),data:[{dataItem:e.options.$angular}]}})},_angularCleanup:function(){var e=this;e.angular("cleanup",function(){return{elements:e.element.children("li")}})},destroy:function(){c.fn.destroy.call(this),this.element.off(p),this._angularCleanup(),a.destroy(this.element)},_initData:function(e){var t=this;e.dataSource&&(t.element.empty(),t.append(e.dataSource,t.element))},setOptions:function(e){var t=this.options.animation;this._animations(e),e.animation=l(!0,t,e.animation),"dataSource"in e&&this._initData(e),c.fn.setOptions.call(this,e)},expand:function(n,i){var a=this,r={};return n=this.element.find(n),a._animating&&n.find("ul").is(":visible")?(a.one("complete",function(){setTimeout(function(){a.expand(n)})}),t):(a._animating=!0,i=i!==!1,n.each(function(t,s){s=e(s);var l=s.find(O).add(s.find(B));if(!s.hasClass(N)&&l.length>0){if(a.options.expandMode==X&&a._collapseAllExpanded(s))return a;n.find("."+P).removeClass(P),s.addClass(P),i||(r=a.options.animation,a.options.animation={expand:{effects:{}},collapse:{hide:!0,effects:{}}}),a._triggerEvent(y,s)||a._toggleItem(s,!1),i||(a.options.animation=r)}}),a)},collapse:function(t,n){var i=this,a={};return i._animating=!0,n=n!==!1,t=i.element.find(t),t.each(function(t,r){r=e(r);var s=r.find(O).add(r.find(B));!r.hasClass(N)&&s.is(z)&&(r.removeClass(P),n||(a=i.options.animation,i.options.animation={expand:{effects:{}},collapse:{hide:!0,effects:{}}}),i._triggerEvent(U,r)||i._toggleItem(r,!0),n||(i.options.animation=a))}),i},_toggleDisabled:function(e,t){e=this.element.find(e),e.toggleClass($,t).toggleClass(N,!t).attr(F,!t)},select:function(n){var i=this;return n===t?i.element.find(M).parent():(n=i.element.find(n),n.length?n.each(function(){var n=e(this),a=n.children(k);return n.hasClass(N)?i:(i._triggerEvent(A,n)||i._updateSelected(a),t)}):this._updateSelected(n),i)},clearSelection:function(){this.select(e())},enable:function(e,t){return this._toggleDisabled(e,t!==!1),this},disable:function(e){return this._toggleDisabled(e,!1),this},append:function(e,t){t=this.element.find(t);var a=this._insert(e,t,t.length?t.find(O):null);return o(a.items,function(){a.group.append(this),i(this)}),n(t),i(a.group.find(".k-first, .k-last")),a.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),i(this)}),i(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),i(this)}),i(t),n.group.height("auto"),this},remove:function(e){e=this.element.find(e);var t=this,a=e.parentsUntil(t.element,_),r=e.parent("ul");return e.remove(),!r||r.hasClass("k-panelbar")||r.children(_).length||r.remove(),a.length&&(a=a.eq(0),n(a),i(a)),t},reload:function(t){var n=this;t=n.element.find(t),t.each(function(){var t=e(this);n._ajaxRequest(t,t.children("."+I),!t.is(z))})},_first:function(){return this.element.children(q).first()},_last:function(){var e=this.element.children(q).last(),t=e.children(x);return t[0]?t.children(q).last():e},_current:function(n){var i=this,a=i._focused,r=i._itemId;return n===t?a:(i.element.removeAttr("aria-activedescendant"),a&&a.length&&(a[0].id===r&&a.removeAttr("id"),a.children(k).removeClass(j)),e(n).length&&(r=n[0].id||r,n.attr("id",r).children(k).addClass(j),i.element.attr("aria-activedescendant",r)),i._focused=n,t)},_keydown:function(e){var t=this,n=e.keyCode,i=t._current();e.target==e.currentTarget&&(n==s.DOWN||n==s.RIGHT?(t._current(t._nextItem(i)),e.preventDefault()):n==s.UP||n==s.LEFT?(t._current(t._prevItem(i)),e.preventDefault()):n==s.ENTER||n==s.SPACEBAR?(t._click(i.children(k)),e.preventDefault()):n==s.HOME?(t._current(t._first()),e.preventDefault()):n==s.END&&(t._current(t._last()),e.preventDefault()))},_nextItem:function(e){if(!e)return this._first();var t=e.children(x),n=e.nextAll(":visible").first();return t[0]&&(n=t.children("."+w)),n[0]||(n=e.parent(x).parent(_).next()),n[0]||(n=this._first()),n.hasClass(N)&&(n=this._nextItem(n)),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(x).children("."+m),t[0]&&(n=t);else n=e.parent(x).parent(_),n[0]||(n=this._last());return n.hasClass(N)&&(n=this._prevItem(n)),n},_insert:function(t,n,i){var r,s,o=this,d=e.isPlainObject(t),c=n&&n[0];return c||(i=o.element),s={firstLevel:i.hasClass("k-panelbar"),expanded:i.parent().hasClass(S),length:i.children().length},c&&!i.length&&(i=e(ee.renderGroup({group:s})).appendTo(n)),t instanceof a.Observable&&(t=t.toJSON()),d||e.isArray(t)?(r=e.map(d?[t]:t,function(t,n){return e("string"==typeof t?t:ee.renderItem({group:s,item:l(t,{index:n})}))}),c&&n.attr(J,!1)):(r="string"==typeof t&&"<"!=t.charAt(0)?o.element.find(t):e(t),o._updateItemsClasses(r)),{items:r,group:i}},_toggleHover:function(t){var n=e(t.currentTarget);n.parents("li."+N).length||n.toggleClass("k-state-hover",t.type==D)},_updateClasses:function(){var t,a,r=this;t=r.element.find("li > ul").not(function(){return e(this).parentsUntil(".k-panelbar","div").length}).addClass("k-group k-panel").attr("role","group"),t.parent().attr(J,!1).not("."+S).children("ul").attr(Q,!0).hide(),a=r.element.add(t).children(),r._updateItemsClasses(a),n(a),i(a)},_updateItemsClasses:function(e){for(var t=e.length,n=0;t>n;n++)this._updateItemClasses(e[n],n)},_updateItemClasses:function(t,n){var i,r,s=this._selected,l=this.options.contentUrls,o=l&&l[n],d=this.element[0];t=e(t).addClass("k-item").attr("role","menuitem"),a.support.browser.msie&&t.css("list-style-position","inside").css("list-style-position",""),t.children(f).addClass(b),r=t.children("a").addClass(g),r[0]&&(r.attr("href",o),r.children(f).addClass(b)),t.filter(":not([disabled]):not([class*=k-state])").addClass("k-state-default"),t.filter("li[disabled]").addClass("k-state-disabled").attr(F,!0).removeAttr("disabled"),t.children("div").addClass(I).attr("role","region").attr(Q,!0).hide().parent().attr(J,!1),r=t.children(W),r[0]&&(s&&s.removeAttr(V).children(W).removeClass(R),r.addClass(R),this._selected=t.attr(V,!0)),t.children(k)[0]||(i="<span class='"+g+"'/>",l&&l[n]&&t[0].parentNode==d&&(i='<a class="k-link k-header" href="'+l[n]+'"/>'),t.contents().filter(function(){return!(this.nodeName.match(u)||3==this.nodeType&&!e.trim(this.nodeValue))}).wrapAll(i)),t.parent(".k-panelbar")[0]&&t.children(k).addClass("k-header")},_click:function(e){var t,n,i,a,r,s,l,o=this,d=o.element;if(!e.parents("li."+N).length&&e.closest(".k-widget")[0]==d[0]){if(r=e.closest(k),s=r.closest(_),o._updateSelected(r),n=s.find(O).add(s.find(B)),i=r.attr(h),a=i&&("#"==i.charAt(i.length-1)||-1!=i.indexOf("#"+o.element[0].id+"-")),t=!(!a&&!n.length),n.data("animating"))return t;if(o._triggerEvent(A,s)&&(t=!0),t!==!1)return o.options.expandMode==X&&o._collapseAllExpanded(s)?t:(n.length&&(l=n.is(z),o._triggerEvent(l?U:y,s)||(t=o._toggleItem(s,l))),t)}},_toggleItem:function(e,n){var i,a,r=this,s=e.find(O),l=e.find(k),o=l.attr(h);return s.length?(this._toggleGroup(s,n),i=!0):(a=e.children("."+I),a.length&&(i=!0,a.is(K)&&o!==t?r._ajaxRequest(e,a,n):r._toggleGroup(a,n))),i},_toggleGroup:function(e,n){var i=this,a=i.options.animation,r=a.expand,s=l({},a.collapse),o=s&&"effects"in s;return e.is(z)!=n?(i._animating=!1,t):(e.parent().attr(J,!n).attr(Q,n).toggleClass(S,!n).find("> .k-link > .k-icon").toggleClass("k-i-arrow-n",!n).toggleClass("k-panelbar-collapse",!n).toggleClass("k-i-arrow-s",n).toggleClass("k-panelbar-expand",n),n?(r=l(o?s:l({reverse:!0},r),{hide:!0}),r.complete=function(){i._animationCallback()}):r=l({complete:function(e){i._triggerEvent(E,e.closest(_)),i._animationCallback()}},r),e.kendoStop(!0,!0).kendoAnimate(r),t)},_animationCallback:function(){var e=this;e.trigger("complete"),e._animating=!1},_collapseAllExpanded:function(t){var n,i=this,a=!1,r=t.find(O).add(t.find(B));return r.is(z)&&(a=!0),r.is(z)||0===r.length||(n=t.siblings(),n.find(O).add(n.find(B)).filter(function(){return e(this).is(z)}).each(function(t,n){n=e(n),a=i._triggerEvent(U,n.closest(_)),a||i._toggleGroup(n,!0)})),a},_ajaxRequest:function(t,n,i){var a=this,r=t.find(".k-panelbar-collapse, .k-panelbar-expand"),s=t.find(k),l=setTimeout(function(){r.addClass("k-loading")},100),o={},d=s.attr(h);e.ajax({type:"GET",cache:!1,url:d,dataType:"html",data:o,error:function(e,t){r.removeClass("k-loading"),a.trigger(v,{xhr:e,status:t})&&this.complete()},complete:function(){clearTimeout(l),r.removeClass("k-loading")},success:function(e){function r(){return{elements:n.get()}}try{a.angular("cleanup",r),n.html(e),a.angular("compile",r)}catch(s){var l=window.console;l&&l.error&&l.error(s.name+": "+s.message+" in "+d),this.error(this.xhr,"error")}a._toggleGroup(n,i),a.trigger(G,{item:t[0],contentElement:n[0]})}})},_triggerEvent:function(e,t){var n=this;return n.trigger(e,{item:t[0]})},_updateSelected:function(e){var t=this,n=t.element,i=e.parent(_),a=t._selected;a&&a.removeAttr(V),t._selected=i.attr(V,!0),n.find(M).removeClass(R),n.find("> ."+P+", .k-panel > ."+P).removeClass(P),e.addClass(R),e.parentsUntil(n,_).filter(":has(.k-header)").addClass(P),t._current(i[0]?i:null)},_animations:function(e){e&&"animation"in e&&!e.animation&&(e.animation={expand:{effects:{}},collapse:{hide:!0,effects:{}}})}});l(ee,{renderItem:function(e){e=l({panelBar:{},group:{}},e);var t=Y.empty,n=e.item;return Y.item(l(e,{image:n.imageUrl?Y.image:t,sprite:n.spriteCssClass?Y.sprite:t,itemWrapper:Y.itemWrapper,renderContent:ee.renderContent,arrow:n.items||n.content||n.contentUrl?Y.arrow:t,subGroup:ee.renderGroup},Z))},renderGroup:function(e){return Y.group(l({renderItems:function(e){for(var t="",n=0,i=e.items,a=i?i.length:0,r=l({length:a},e.group);a>n;n++)t+=ee.renderItem(l(e,{group:r,item:l({index:n},i[n])}));return t}},e,Z))},renderContent:function(e){return Y.content(l(e,Z))}}),a.ui.plugin(ee)}(window.kendo.jQuery),window.kendo},"function"==typeof define&&define.amd?define:function(e,t,n){(n||t)()});
//# sourceMappingURL=kendo.panelbar.min.js.map