kendo.treeview.min.js
29.7 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.treeview.min",["kendo.data.min","kendo.treeview.draganddrop.min"],e)}(function(){return function(e,t){function n(e){return function(t){var n=t.children(".k-animation-container");return n.length||(n=t),n.children(e)}}function a(e){return p.template(e,{useWithBlock:!1})}function i(e){return e.find("> div .k-checkbox-wrapper [type=checkbox]")}function r(e){return function(t,n){n=n.closest(P);var a,i=n.parent();return i.parent().is("li")&&(a=i.parent()),this._dataSourceMove(t,i,a,function(t,a){return this._insert(t.data(),a,n.index()+e)})}}function s(t,n){for(var a;t&&"ul"!=t.nodeName.toLowerCase();)a=t,t=t.nextSibling,3==a.nodeType&&(a.nodeValue=e.trim(a.nodeValue)),u.test(a.className)?n.insertBefore(a,n.firstChild):n.appendChild(a)}function o(t){var n=t.children("div"),a=t.children("ul"),i=n.children(".k-icon"),r=t.children(":checkbox"),o=n.children(".k-in");t.hasClass("k-treeview")||(n.length||(n=e("<div />").prependTo(t)),!i.length&&a.length?i=e("<span class='k-icon' />").prependTo(n):a.length&&a.children().length||(i.remove(),a.remove()),r.length&&e("<span class='k-checkbox-wrapper' />").appendTo(n).append(r),o.length||(o=t.children("a").eq(0).addClass("k-in"),o.length||(o=e("<span class='k-in' />")),o.appendTo(n),n.length&&s(n[0].nextSibling,o[0])))}var d,l,c,h,u,p=window.kendo,f=p.ui,g=p.data,m=e.extend,k=p.template,v=e.isArray,_=f.Widget,b=g.HierarchicalDataSource,x=e.proxy,C=p.keys,w=".kendoTreeView",y="select",S="check",I="navigate",N="expand",T="change",D="error",B="checked",A="indeterminate",E="collapse",H="dragstart",q="drag",O="drop",U="dragend",V="dataBound",L="click",F="undefined",R="k-state-hover",M="k-treeview",j=":visible",P=".k-item",G="string",W="aria-selected",Q="aria-disabled",X={text:"dataTextField",url:"dataUrlField",spriteCssClass:"dataSpriteCssClassField",imageUrl:"dataImageUrlField"},Y=function(e){return"object"==typeof HTMLElement?e instanceof HTMLElement:e&&"object"==typeof e&&1===e.nodeType&&typeof e.nodeName===G};l=n(".k-group"),c=n(".k-group,.k-content"),h=function(e){return e.children("div").children(".k-icon")},u=/k-sprite/,d=p.ui.DataBoundWidget.extend({init:function(e,t){var n,a=this,i=!1,r=t&&!!t.dataSource;v(t)&&(t={dataSource:t}),t&&typeof t.loadOnDemand==F&&v(t.dataSource)&&(t.loadOnDemand=!1),_.prototype.init.call(a,e,t),e=a.element,t=a.options,n=e.is("ul")&&e||e.hasClass(M)&&e.children("ul"),i=!r&&n.length,i&&(t.dataSource.list=n),a._animation(),a._accessors(),a._templates(),e.hasClass(M)?(a.wrapper=e,a.root=e.children("ul").eq(0)):(a._wrapper(),n&&(a.root=e,a._group(a.wrapper))),a._tabindex(),a.root.attr("role","tree"),a._dataSource(i),a._attachEvents(),a._dragging(),i?a._syncHtmlAndDataSource():t.autoBind&&(a._progress(!0),a.dataSource.fetch()),t.checkboxes&&t.checkboxes.checkChildren&&a.updateIndeterminate(),a.element[0].id&&(a._ariaId=p.format("{0}_tv_active",a.element[0].id)),p.notify(a)},_attachEvents:function(){var t=this,n=".k-in:not(.k-state-selected,.k-state-disabled)",a="mouseenter";t.wrapper.on(a+w,".k-in.k-state-selected",function(e){e.preventDefault()}).on(a+w,n,function(){e(this).addClass(R)}).on("mouseleave"+w,n,function(){e(this).removeClass(R)}).on(L+w,n,x(t._click,t)).on("dblclick"+w,".k-in:not(.k-state-disabled)",x(t._toggleButtonClick,t)).on(L+w,".k-plus,.k-minus",x(t._toggleButtonClick,t)).on("keydown"+w,x(t._keydown,t)).on("focus"+w,x(t._focus,t)).on("blur"+w,x(t._blur,t)).on("mousedown"+w,".k-in,.k-checkbox-wrapper :checkbox,.k-plus,.k-minus",x(t._mousedown,t)).on("change"+w,".k-checkbox-wrapper :checkbox",x(t._checkboxChange,t)).on("click"+w,".k-checkbox-wrapper :checkbox",x(t._checkboxClick,t)).on("click"+w,".k-request-retry",x(t._retryRequest,t)).on("click"+w,function(n){e(n.target).is(":kendoFocusable")||t.focus()})},_checkboxClick:function(t){var n=e(t.target);n.data(A)&&(n.data(A,!1).prop(A,!1).prop(B,!0),this._checkboxChange(t))},_syncHtmlAndDataSource:function(e,t){var n,a,r,s,o,d,l,c;for(e=e||this.root,t=t||this.dataSource,n=t.view(),a=p.attr("uid"),r=p.attr("expanded"),s=this.options.checkboxes,o=e.children("li"),d=0;o.length>d;d++)c=n[d],l=o.eq(d),l.attr("role","treeitem").attr(a,c.uid),c.expanded="true"===l.attr(r),s&&(c.checked=i(l).prop(B)),this._syncHtmlAndDataSource(l.children("ul"),c.children)},_animation:function(){var e=this.options,t=e.animation;t===!1?t={expand:{effects:{}},collapse:{hide:!0,effects:{}}}:t.collapse&&"effects"in t.collapse||(t.collapse=m({reverse:!0},t.expand)),m(t.collapse,{hide:!0}),e.animation=t},_dragging:function(){var t,n=this.options.dragAndDrop,a=this.dragging;n&&!a?(t=this,this.dragging=new f.HierarchicalDragAndDrop(this.element,{reorderable:!0,$angular:this.options.$angular,autoScroll:this.options.autoScroll,filter:"div:not(.k-state-disabled) .k-in",allowedContainers:".k-treeview",itemSelector:".k-treeview .k-item",hintText:x(this._hintText,this),contains:function(t,n){return e.contains(t,n)},dropHintContainer:function(e){return e},itemFromTarget:function(e){var t=e.closest(".k-top,.k-mid,.k-bot");return{item:t,content:e.closest(".k-in"),first:t.hasClass("k-top"),last:t.hasClass("k-bot")}},dropPositionFrom:function(e){return e.prevAll(".k-in").length>0?"after":"before"},dragstart:function(e){return t.trigger(H,{sourceNode:e[0]})},drag:function(e){t.trigger(q,{originalEvent:e.originalEvent,sourceNode:e.source[0],dropTarget:e.target[0],pageY:e.pageY,pageX:e.pageX,statusClass:e.status,setStatusClass:e.setStatus})},drop:function(e){return t.trigger(O,{originalEvent:e.originalEvent,sourceNode:e.source,destinationNode:e.destination,valid:e.valid,setValid:function(t){this.valid=t,e.setValid(t)},dropTarget:e.dropTarget,dropPosition:e.position})},dragend:function(e){function n(n){t.updateIndeterminate(),t.trigger(U,{originalEvent:e.originalEvent,sourceNode:n&&n[0],destinationNode:i[0],dropPosition:r})}var a=e.source,i=e.destination,r=e.position;"over"==r?t.append(a,i,n):("before"==r?a=t.insertBefore(a,i):"after"==r&&(a=t.insertAfter(a,i)),n(a))}})):!n&&a&&(a.destroy(),this.dragging=null)},_hintText:function(e){return this.templates.dragClue({item:this.dataItem(e),treeview:this.options})},_templates:function(){var e=this,t=e.options,n=x(e._fieldAccessor,e);t.template&&typeof t.template==G?t.template=k(t.template):t.template||(t.template=a("# var text = "+n("text")+"(data.item); ## if (typeof data.item.encoded != 'undefined' && data.item.encoded === false) {##= text ## } else { ##: text ## } #")),e._checkboxes(),e.templates={wrapperCssClass:function(e,t){var n="k-item",a=t.index;return e.firstLevel&&0===a&&(n+=" k-first"),a==e.length-1&&(n+=" k-last"),n},cssClass:function(e,t){var n="",a=t.index,i=e.length-1;return e.firstLevel&&0===a&&(n+="k-top "),n+=0===a&&a!=i?"k-top":a==i?"k-bot":"k-mid"},textClass:function(e){var t="k-in";return e.enabled===!1&&(t+=" k-state-disabled"),e.selected===!0&&(t+=" k-state-selected"),t},toggleButtonClass:function(e){var t="k-icon";return t+=e.expanded!==!0?" k-plus":" k-minus",e.enabled===!1&&(t+="-disabled"),t},groupAttributes:function(e){var t="";return e.firstLevel||(t="role='group'"),t+(e.expanded!==!0?" style='display:none'":"")},groupCssClass:function(e){var t="k-group";return e.firstLevel&&(t+=" k-treeview-lines"),t},dragClue:a("#= data.treeview.template(data) #"),group:a("<ul class='#= data.r.groupCssClass(data.group) #'#= data.r.groupAttributes(data.group) #>#= data.renderItems(data) #</ul>"),itemContent:a("# var imageUrl = "+n("imageUrl")+"(data.item); ## var spriteCssClass = "+n("spriteCssClass")+"(data.item); ## if (imageUrl) { #<img class='k-image' alt='' src='#= imageUrl #'># } ## if (spriteCssClass) { #<span class='k-sprite #= spriteCssClass #' /># } ##= data.treeview.template(data) #"),itemElement:a("# var item = data.item, r = data.r; ## var url = "+n("url")+"(item); #<div class='#= r.cssClass(data.group, item) #'># if (item.hasChildren) { #<span class='#= r.toggleButtonClass(item) #' role='presentation' /># } ## if (data.treeview.checkboxes) { #<span class='k-checkbox-wrapper' role='presentation'>#= data.treeview.checkboxes.template(data) #</span># } ## var tag = url ? 'a' : 'span'; ## var textAttr = url ? ' href=\\'' + url + '\\'' : ''; #<#=tag# class='#= r.textClass(item) #'#= textAttr #>#= r.itemContent(data) #</#=tag#></div>"),item:a("# var item = data.item, r = data.r; #<li role='treeitem' class='#= r.wrapperCssClass(data.group, item) #' "+p.attr("uid")+"='#= item.uid #' aria-selected='#= item.selected ? \"true\" : \"false \" #' #=item.enabled === false ? \"aria-disabled='true'\" : ''## if (item.expanded) { #data-expanded='true' aria-expanded='true'# } #>#= r.itemElement(data) #</li>"),loading:a("<div class='k-icon k-loading' /> #: data.messages.loading #"),retry:a("#: data.messages.requestFailed # <button class='k-button k-request-retry'>#: data.messages.retry #</button>")}},items:function(){return this.element.find(".k-item > div:first-child")},setDataSource:function(t){var n=this.options;n.dataSource=t,this._dataSource(),n.checkboxes&&n.checkboxes.checkChildren&&this.dataSource.one("change",e.proxy(this.updateIndeterminate,this,null)),this.options.autoBind&&this.dataSource.fetch()},_bindDataSource:function(){this._refreshHandler=x(this.refresh,this),this._errorHandler=x(this._error,this),this.dataSource.bind(T,this._refreshHandler),this.dataSource.bind(D,this._errorHandler)},_unbindDataSource:function(){var e=this.dataSource;e&&(e.unbind(T,this._refreshHandler),e.unbind(D,this._errorHandler))},_dataSource:function(e){function t(e){for(var n=0;e.length>n;n++)e[n]._initChildren(),e[n].children.fetch(),t(e[n].children.view())}var n=this,a=n.options,i=a.dataSource;i=v(i)?{data:i}:i,n._unbindDataSource(),i.fields||(i.fields=[{field:"text"},{field:"url"},{field:"spriteCssClass"},{field:"imageUrl"}]),n.dataSource=i=b.create(i),e&&(i.fetch(),t(i.view())),n._bindDataSource()},events:[H,q,O,U,V,N,E,y,T,I,S],options:{name:"TreeView",dataSource:{},animation:{expand:{effects:"expand:vertical",duration:200},collapse:{duration:100}},messages:{loading:"Loading...",requestFailed:"Request failed.",retry:"Retry"},dragAndDrop:!1,checkboxes:!1,autoBind:!0,autoScroll:!1,loadOnDemand:!0,template:"",dataTextField:null},_accessors:function(){var e,t,n,a=this,i=a.options,r=a.element;for(e in X)t=i[X[e]],n=r.attr(p.attr(e+"-field")),!t&&n&&(t=n),t||(t=e),v(t)||(t=[t]),i[X[e]]=t},_fieldAccessor:function(t){var n=this.options[X[t]],a=n.length,i="(function(item) {";return 0===a?i+="return item['"+t+"'];":(i+="var levels = ["+e.map(n,function(e){return"function(d){ return "+p.expr(e)+"}"}).join(",")+"];",i+="return levels[Math.min(item.level(), "+a+"-1)](item)"),i+="})"},setOptions:function(e){_.fn.setOptions.call(this,e),this._animation(),this._dragging(),this._templates()},_trigger:function(e,t){return this.trigger(e,{node:t.closest(P)[0]})},_setChecked:function(t,n){if(t&&e.isFunction(t.view))for(var a=0,i=t.view();i.length>a;a++)i[a][B]=n,i[a].children&&this._setChecked(i[a].children,n)},_setIndeterminate:function(e){var t,n,a,r=l(e),s=!0;if(r.length&&(t=i(r.children()),n=t.length)){if(n>1){for(a=1;n>a;a++)if(t[a].checked!=t[a-1].checked||t[a].indeterminate||t[a-1].indeterminate){s=!1;break}}else s=!t[0].indeterminate;return i(e).data(A,!s).prop(A,!s).prop(B,s&&t[0].checked)}},updateIndeterminate:function(e){var t,n,a;if(e=e||this.wrapper,t=l(e).children(),t.length){for(n=0;t.length>n;n++)this.updateIndeterminate(t.eq(n));a=this._setIndeterminate(e),a&&a.prop(B)&&(this.dataItem(e).checked=!0)}},_bubbleIndeterminate:function(e){if(e.length){var t,n=this.parent(e);n.length&&(this._setIndeterminate(n),t=n.children("div").find(".k-checkbox-wrapper :checkbox"),t.prop(A)===!1?this.dataItem(n).set(B,t.prop(B)):delete this.dataItem(n).checked,this._bubbleIndeterminate(n))}},_checkboxChange:function(t){var n=e(t.target),a=n.prop(B),i=n.closest(P),r=this.dataItem(i);r.checked!=a&&(r.set(B,a),this._trigger(S,i))},_toggleButtonClick:function(t){this.toggle(e(t.target).closest(P))},_mousedown:function(t){var n=e(t.currentTarget).closest(P);this._clickTarget=n,this.current(n)},_focusable:function(e){return e&&e.length&&e.is(":visible")&&!e.find(".k-in:first").hasClass("k-state-disabled")},_focus:function(){var t=this.select(),n=this._clickTarget;p.support.touch||(n&&n.length&&(t=n),this._focusable(t)||(t=this.current()),this._focusable(t)||(t=this._nextVisible(e())),this.current(t))},focus:function(){var e,t=this.wrapper,n=t[0],a=[],i=[],r=document.documentElement;do n=n.parentNode,n.scrollHeight>n.clientHeight&&(a.push(n),i.push(n.scrollTop));while(n!=r);for(t.focus(),e=0;a.length>e;e++)a[e].scrollTop=i[e]},_blur:function(){this.current().find(".k-in:first").removeClass("k-state-focused")},_enabled:function(e){return!e.children("div").children(".k-in").hasClass("k-state-disabled")},parent:function(t){var n,a,i=/\bk-treeview\b/,r=/\bk-item\b/;typeof t==G&&(t=this.element.find(t)),Y(t)||(t=t[0]),a=r.test(t.className);do t=t.parentNode,r.test(t.className)&&(a?n=t:a=!0);while(!i.test(t.className)&&!n);return e(n)},_nextVisible:function(e){function t(e){for(;e.length&&!e.next().length;)e=a.parent(e);return e.next().length?e.next():e}var n,a=this,i=a._expanded(e);return e.length&&e.is(":visible")?i?(n=l(e).children().first(),n.length||(n=t(e))):n=t(e):n=a.root.children().eq(0),a._enabled(n)||(n=a._nextVisible(n)),n},_previousVisible:function(e){var t,n,a=this;if(!e.length||e.prev().length)for(n=e.length?e.prev():a.root.children().last();a._expanded(n)&&(t=l(n).children().last(),t.length);)n=t;else n=a.parent(e)||e;return a._enabled(n)||(n=a._previousVisible(n)),n},_keydown:function(n){var a,i=this,r=n.keyCode,s=i.current(),o=i._expanded(s),d=s.find(".k-checkbox-wrapper:first :checkbox"),l=p.support.isRtl(i.element);n.target==n.currentTarget&&(!l&&r==C.RIGHT||l&&r==C.LEFT?o?a=i._nextVisible(s):i.expand(s):!l&&r==C.LEFT||l&&r==C.RIGHT?o?i.collapse(s):(a=i.parent(s),i._enabled(a)||(a=t)):r==C.DOWN?a=i._nextVisible(s):r==C.UP?a=i._previousVisible(s):r==C.HOME?a=i._nextVisible(e()):r==C.END?a=i._previousVisible(e()):r==C.ENTER?s.find(".k-in:first").hasClass("k-state-selected")||i._trigger(y,s)||i.select(s):r==C.SPACEBAR&&d.length&&(d.prop(B,!d.prop(B)).data(A,!1).prop(A,!1),i._checkboxChange({target:d}),a=s),a&&(n.preventDefault(),s[0]!=a[0]&&(i._trigger(I,a),i.current(a))))},_click:function(t){var n,a=this,i=e(t.currentTarget),r=c(i.closest(P)),s=i.attr("href");n=s?"#"==s||s.indexOf("#"+this.element.id+"-")>=0:r.length&&!r.children().length,n&&t.preventDefault(),i.hasClass(".k-state-selected")||a._trigger(y,i)||a.select(i)},_wrapper:function(){var e,t,n=this,a=n.element,i="k-widget k-treeview";a.is("ul")?(e=a.wrap("<div />").parent(),t=a):(e=a,t=e.children("ul").eq(0)),n.wrapper=e.addClass(i),n.root=t},_group:function(e){var t=this,n=e.hasClass(M),a={firstLevel:n,expanded:n||t._expanded(e)},i=e.children("ul");i.addClass(t.templates.groupCssClass(a)).css("display",a.expanded?"":"none"),t._nodes(i,a)},_nodes:function(t,n){var a,i=this,r=t.children("li");n=m({length:r.length},n),r.each(function(t,r){r=e(r),a={index:t,expanded:i._expanded(r)},o(r),i._updateNodeClasses(r,n,a),i._group(r)})},_checkboxes:function(){var e,t=this.options,n=t.checkboxes;n&&(e="<input type='checkbox' tabindex='-1' #= (item.enabled === false) ? 'disabled' : '' # #= item.checked ? 'checked' : '' #",n.name&&(e+=" name='"+n.name+"'"),e+=" id='_#= item.uid #' class='k-checkbox' /><label for='_#= item.uid #' class='k-checkbox-label'></label>",n=m({template:e},t.checkboxes),typeof n.template==G&&(n.template=k(n.template)),t.checkboxes=n)},_updateNodeClasses:function(e,t,n){var a=e.children("div"),i=e.children("ul"),r=this.templates;e.hasClass("k-treeview")||(n=n||{},n.expanded=typeof n.expanded!=F?n.expanded:this._expanded(e),n.index=typeof n.index!=F?n.index:e.index(),n.enabled=typeof n.enabled!=F?n.enabled:!a.children(".k-in").hasClass("k-state-disabled"),t=t||{},t.firstLevel=typeof t.firstLevel!=F?t.firstLevel:e.parent().parent().hasClass(M),t.length=typeof t.length!=F?t.length:e.parent().children().length,e.removeClass("k-first k-last").addClass(r.wrapperCssClass(t,n)),a.removeClass("k-top k-mid k-bot").addClass(r.cssClass(t,n)),a.children(".k-in").removeClass("k-in k-state-default k-state-disabled").addClass(r.textClass(n)),(i.length||"true"==e.attr("data-hasChildren"))&&(a.children(".k-icon").removeClass("k-plus k-minus k-plus-disabled k-minus-disabled").addClass(r.toggleButtonClass(n)),i.addClass("k-group")))},_processNodes:function(t,n){var a=this;a.element.find(t).each(function(t,i){n.call(a,t,e(i).closest(P))})},dataItem:function(t){var n=e(t).closest(P).attr(p.attr("uid")),a=this.dataSource;return a&&a.getByUid(n)},_insertNode:function(t,n,a,i,r){var s,d,c,h,u=this,p=l(a),f=p.children().length+1,g={firstLevel:a.hasClass(M),expanded:!r,length:f},m="",k=function(e,t){e.appendTo(t)};for(c=0;t.length>c;c++)h=t[c],h.index=n+c,m+=u._renderItem({group:g,item:h});if(d=e(m),d.length){for(u.angular("compile",function(){return{elements:d.get(),data:t.map(function(e){return{dataItem:e}})}}),p.length||(p=e(u._renderGroup({group:g})).appendTo(a)),i(d,p),a.hasClass("k-item")&&(o(a),u._updateNodeClasses(a)),u._updateNodeClasses(d.prev().first()),u._updateNodeClasses(d.next().last()),c=0;t.length>c;c++)h=t[c],h.hasChildren&&(s=h.children.data(),s.length&&u._insertNode(s,h.index,d.eq(c),k,!u._expanded(d.eq(c))));return d}},_updateNodes:function(t,n){function a(e,t){e.find(".k-checkbox-wrapper :checkbox").prop(B,t).data(A,!1).prop(A,!1)}var i,r,s,o,d,l,h,u=this,p={treeview:u.options,item:o},g="expanded"!=n&&"checked"!=n;if("selected"==n)o=t[0],r=u.findByUid(o.uid).find(".k-in:first").removeClass("k-state-hover").toggleClass("k-state-selected",o[n]).end(),o[n]&&u.current(r),r.attr(W,!!o[n]);else{for(h=e.map(t,function(e){return u.findByUid(e.uid).children("div")}),g&&u.angular("cleanup",function(){return{elements:h}}),i=0;t.length>i;i++)p.item=o=t[i],s=h[i],r=s.parent(),g&&s.children(".k-in").html(u.templates.itemContent(p)),n==B?(d=o[n],a(s,d),u.options.checkboxes.checkChildren&&(a(r.children(".k-group"),d),u._setChecked(o.children,d),u._bubbleIndeterminate(r))):"expanded"==n?u._toggle(r,o,o[n]):"enabled"==n&&(r.find(".k-checkbox-wrapper :checkbox").prop("disabled",!o[n]),l=!c(r).is(j),r.removeAttr(Q),o[n]||(o.selected&&o.set("selected",!1),o.expanded&&o.set("expanded",!1),l=!0,r.attr(W,!1).attr(Q,!0)),u._updateNodeClasses(r,{},{enabled:o[n],expanded:!l})),s.length&&this.trigger("itemChange",{item:s,data:o,ns:f});g&&u.angular("compile",function(){return{elements:h,data:e.map(t,function(e){return[{dataItem:e}]})}})}},_appendItems:function(e,t,n){var a=l(n),i=a.children(),r=!this._expanded(n);typeof e==F&&(e=i.length),this._insertNode(t,e,n,function(t,n){e>=i.length?t.appendTo(n):t.insertBefore(i.eq(e))},r),this._expanded(n)&&(this._updateNodeClasses(n),l(n).css("display","block"))},_refreshChildren:function(e,t,n){var a,i,r,s=this.options,d=s.loadOnDemand,c=s.checkboxes&&s.checkboxes.checkChildren;if(l(e).empty(),t.length)for(this._appendItems(n,t,e),i=l(e).children(),d&&c&&this._bubbleIndeterminate(i.last()),a=0;i.length>a;a++)r=i.eq(a),this.trigger("itemChange",{item:r.children("div"),data:this.dataItem(r),ns:f});else o(e)},_refreshRoot:function(t){var n,a,i,r=this._renderGroup({items:t,group:{firstLevel:!0,expanded:!0}});for(this.root.length?(this._angularItems("cleanup"),n=e(r),this.root.attr("class",n.attr("class")).html(n.html())):this.root=this.wrapper.html(r).children("ul"),this.root.attr("role","tree"),a=this.root.children(".k-item"),i=0;t.length>i;i++)this.trigger("itemChange",{item:a.eq(i),data:t[i],ns:f});this._angularItems("compile")},refresh:function(e){var n,a,i=e.node,r=e.action,s=e.items,o=this.wrapper,d=this.options,l=d.loadOnDemand,c=d.checkboxes&&d.checkboxes.checkChildren;if(e.field){if(!s[0]||!s[0].level)return;return this._updateNodes(s,e.field)}if(i&&(o=this.findByUid(i.uid),this._progress(o,!1)),c&&"remove"!=r){for(a=!1,n=0;s.length>n;n++)if("checked"in s[n]){a=!0;break}if(!a&&i&&i.checked)for(n=0;s.length>n;n++)s[n].checked=!0}if("add"==r?this._appendItems(e.index,s,o):"remove"==r?this._remove(this.findByUid(s[0].uid),!1):"itemchange"==r?this._updateNodes(s):"itemloaded"==r?this._refreshChildren(o,s,e.index):this._refreshRoot(s),"remove"!=r)for(n=0;s.length>n;n++)(!l||s[n].expanded)&&s[n].load();this.trigger(V,{node:i?o:t})},_error:function(e){var t=e.node&&this.findByUid(e.node.uid),n=this.templates.retry({messages:this.options.messages});t?(this._progress(t,!1),this._expanded(t,!1),h(t).addClass("k-i-refresh"),e.node.loaded(!1)):(this._progress(!1),this.element.html(n))},_retryRequest:function(e){e.preventDefault(),this.dataSource.fetch()},expand:function(e){this._processNodes(e,function(e,t){this.toggle(t,!0)})},collapse:function(e){this._processNodes(e,function(e,t){this.toggle(t,!1)})},enable:function(e,t){t=2==arguments.length?!!t:!0,this._processNodes(e,function(e,n){this.dataItem(n).set("enabled",t)})},current:function(n){var a=this,i=a._current,r=a.element,s=a._ariaId;return arguments.length>0&&n&&n.length?(i&&(i[0].id===s&&i.removeAttr("id"),i.find(".k-in:first").removeClass("k-state-focused")),i=a._current=e(n,r).closest(P),i.find(".k-in:first").addClass("k-state-focused"),s=i[0].id||s,s&&(a.wrapper.removeAttr("aria-activedescendant"),i.attr("id",s),a.wrapper.attr("aria-activedescendant",s)),t):(i||(i=a._nextVisible(e())),i)},select:function(n){var a=this,i=a.element;return arguments.length?(n=e(n,i).closest(P),i.find(".k-state-selected").each(function(){var t=a.dataItem(this);t?(t.set("selected",!1),delete t.selected):e(this).removeClass("k-state-selected")}),n.length&&a.dataItem(n).set("selected",!0),a.trigger(T),t):i.find(".k-state-selected").closest(P)},_toggle:function(e,t,n){var a,i=this.options,r=c(e),s=n?"expand":"collapse";r.data("animating")||this._trigger(s,e)||(this._expanded(e,n),a=t&&t.loaded(),n&&!a?(i.loadOnDemand&&this._progress(e,!0),r.remove(),t.load()):(this._updateNodeClasses(e,{},{expanded:n}),n||r.css("height",r.height()).css("height"),r.kendoStop(!0,!0).kendoAnimate(m({reset:!0},i.animation[s],{complete:function(){n&&r.css("height","")}}))))},toggle:function(t,n){t=e(t),h(t).is(".k-minus,.k-plus,.k-minus-disabled,.k-plus-disabled")&&(1==arguments.length&&(n=!this._expanded(t)),this._expanded(t,n))},destroy:function(){var e=this;_.fn.destroy.call(e),e.wrapper.off(w),e._unbindDataSource(),e.dragging&&e.dragging.destroy(),p.destroy(e.element),e.root=e.wrapper=e.element=null},_expanded:function(e,n){var a=p.attr("expanded"),i=this.dataItem(e);return 1==arguments.length?"true"===e.attr(a)||i&&i.expanded:(c(e).data("animating")||(i&&(i.set("expanded",n),n=i.expanded),n?(e.attr(a,"true"),e.attr("aria-expanded","true")):(e.removeAttr(a),e.attr("aria-expanded","false"))),t)},_progress:function(e,t){var n=this.element,a=this.templates.loading({messages:this.options.messages});1==arguments.length?(t=e,t?n.html(a):n.empty()):h(e).toggleClass("k-loading",t).removeClass("k-i-refresh")},text:function(e,n){var a=this.dataItem(e),i=this.options[X.text],r=a.level(),s=i.length,o=i[Math.min(r,s-1)];return n?(a.set(o,n),t):a[o]},_objectOrSelf:function(t){return e(t).closest("[data-role=treeview]").data("kendoTreeView")||this},_dataSourceMove:function(t,n,a,i){var r,s=this._objectOrSelf(a||n),o=s.dataSource,d=e.Deferred().resolve().promise();return a&&a[0]!=s.element[0]&&(r=s.dataItem(a),r.loaded()||(s._progress(a,!0),d=r.load()),a!=this.root&&(o=r.children,o&&o instanceof b||(r._initChildren(),r.loaded(!0),o=r.children))),t=this._toObservableData(t),i.call(s,o,t,d)},_toObservableData:function(t){var n,a,i=t;return(t instanceof window.jQuery||Y(t))&&(n=this._objectOrSelf(t).dataSource,a=e(t).attr(p.attr("uid")),i=n.getByUid(a),i&&(i=n.remove(i))),i},_insert:function(e,t,n){t instanceof p.data.ObservableArray?t=t.toJSON():v(t)||(t=[t]);var a=e.parent();return a&&a._initChildren&&(a.hasChildren=!0,a._initChildren()),e.splice.apply(e,[n,0].concat(t)),this.findByUid(e[n].uid)},insertAfter:r(1),insertBefore:r(0),append:function(t,n,a){var i=this.root;return n&&(i=l(n)),this._dataSourceMove(t,i,n,function(t,i,r){function s(){n&&d._expanded(n,!0);var e=t.data(),a=Math.max(e.length,0);return d._insert(e,i,a)}var o,d=this;return r.then(function(){o=s(),(a=a||e.noop)(o)}),o||null})},_remove:function(t,n){var a,i,r,s=this;return t=e(t,s.element),this.angular("cleanup",function(){return{elements:t.get()}}),a=t.parent().parent(),i=t.prev(),r=t.next(),t[n?"detach":"remove"](),a.hasClass("k-item")&&(o(a),s._updateNodeClasses(a)),s._updateNodeClasses(i),s._updateNodeClasses(r),t},remove:function(e){var t=this.dataItem(e);t&&this.dataSource.remove(t)},detach:function(e){return this._remove(e,!0)},findByText:function(t){return e(this.element).find(".k-in").filter(function(n,a){return e(a).text()==t}).closest(P)},findByUid:function(t){var n,a,i=this.element.find(".k-item"),r=p.attr("uid");for(a=0;i.length>a;a++)if(i[a].getAttribute(r)==t){n=i[a];break}return e(n)},expandPath:function(n,a){function i(e,t,n){e&&!e.loaded()?e.set("expanded",!0):t.call(n)}var r,s,o;for(n=n.slice(0),r=this,s=this.dataSource,o=s.get(n[0]),a=a||e.noop;n.length>0&&o&&(o.expanded||o.loaded());)o.set("expanded",!0),n.shift(),o=s.get(n[0]);return n.length?(s.bind("change",function(e){var t,o=e.node&&e.node.id;o&&o===n[0]&&(n.shift(),n.length?(t=s.get(n[0]),i(t,a,r)):a.call(r))}),i(o,a,r),t):a.call(r)},_parentIds:function(e){for(var t=e&&e.parentNode(),n=[];t&&t.parentNode;)n.unshift(t.id),t=t.parentNode();return n},expandTo:function(e){e instanceof p.data.Node||(e=this.dataSource.get(e));var t=this._parentIds(e);this.expandPath(t)},_renderItem:function(e){return e.group||(e.group={}),e.treeview=this.options,e.r=this.templates,this.templates.item(e)},_renderGroup:function(e){var t=this;return e.renderItems=function(e){var n="",a=0,i=e.items,r=i?i.length:0,s=e.group;for(s.length=r;r>a;a++)e.group=s,e.item=i[a],e.item.index=a,n+=t._renderItem(e);return n},e.r=t.templates,t.templates.group(e)}}),f.plugin(d)}(window.kendo.jQuery),window.kendo},"function"==typeof define&&define.amd?define:function(e,t,n){(n||t)()});
//# sourceMappingURL=kendo.treeview.min.js.map