@progress/kendo-ui
Version:
This package is part of the [Kendo UI for jQuery](http://www.telerik.com/kendo-ui) suite.
1 lines • 30.4 kB
JavaScript
module.exports=function(e){function t(r){if(n[r])return n[r].exports;var a=n[r]={exports:{},id:r,loaded:!1};return e[r].call(a.exports,a,a.exports,t),a.loaded=!0,a.exports}var n={};return t.m=e,t.c=n,t.p="",t(0)}({0:function(e,t,n){e.exports=n(1476)},3:function(e,t){e.exports=function(){throw Error("define cannot be used indirect")}},1057:function(e,t){e.exports=require("jquery")},1067:function(e,t){e.exports=require("./kendo.data")},1284:function(e,t){e.exports=require("./kendo.treeview.draganddrop")},1476:function(e,t,n){var r,a,i;(function(s){!function(s,define){a=[n(1067),n(1284)],r=s,i="function"==typeof r?r.apply(t,a):r,!(void 0!==i&&(e.exports=i))}(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 r(e){return f.template(e,{useWithBlock:!1})}function a(e){return e.find(".k-checkbox-wrapper:first input[type=checkbox]")}function i(e){return function(t,n){n=n.closest(W);var r,a=n.parent();return a.parent().is("li")&&(r=a.parent()),this._dataSourceMove(t,a,r,function(t,r){var a=this.dataItem(n),i=a?a.parent().indexOf(a):n.index();return this._insert(t.data(),r,i+e)})}}function o(e,t){for(var n;e&&"ul"!=e.nodeName.toLowerCase();)n=e,e=e.nextSibling,3==n.nodeType&&(n.nodeValue=f.trim(n.nodeValue)),p.test(n.className)?t.insertBefore(n,t.firstChild):t.appendChild(n)}function d(t){var n=t.children("div"),r=t.children("ul"),a=n.children(".k-icon"),i=t.children("input[type=checkbox]"),s=n.children(".k-in");t.hasClass("k-treeview")||(n.length||(n=e("<div />").prependTo(t)),!a.length&&r.length?a=e("<span class='k-icon' />").prependTo(n):r.length&&r.children().length||(a.remove(),r.remove()),i.length&&e("<span class='k-checkbox-wrapper' />").appendTo(n).append(i),s.length||(s=t.children("a").eq(0).addClass("k-in k-link"),s.length||(s=e("<span class='k-in' />")),s.appendTo(n),n.length&&o(n[0].nextSibling,s[0])))}var l,c,h,u,p,f=window.kendo,g=f.ui,m=f.data,k=e.extend,v=f.template,_=Array.isArray,x=g.Widget,b=m.HierarchicalDataSource,C=e.proxy,w=f.keys,y=".kendoTreeView",S=".kendoTreeViewTemp",N="select",T="check",I="navigate",D="expand",B="change",A="error",O="checked",U="indeterminate",E="collapse",q="dragstart",H="drag",L="drop",V="dragend",F="dataBound",j="click",R="kendoKeydown",P="undefined",M="k-state-hover",G="k-treeview",Q=":visible",W=".k-item",J="string",X="aria-checked",Y="aria-selected",$="aria-disabled",K="aria-expanded",z="k-state-disabled",Z={text:"dataTextField",url:"dataUrlField",spriteCssClass:"dataSpriteCssClassField",imageUrl:"dataImageUrlField"},ee=function(e){return e instanceof f.jQuery||window.jQuery&&e instanceof window.jQuery},te=function(e){return"object"==typeof HTMLElement?e instanceof HTMLElement:e&&"object"==typeof e&&1===e.nodeType&&typeof e.nodeName===J};c=n(".k-group"),h=n(".k-group,.k-content"),u=function(e){return e.children("div").children(".k-icon")},p=/k-sprite/,l=f.ui.DataBoundWidget.extend({init:function(e,t){var n,r=this,a=!1,i=t&&!!t.dataSource;_(t)&&(t={dataSource:t}),t&&typeof t.loadOnDemand==P&&_(t.dataSource)&&(t.loadOnDemand=!1),x.prototype.init.call(r,e,t),e=r.element,t=r.options,r._dataSourceUids={},n=e.is("ul")&&e||e.hasClass(G)&&e.children("ul"),a=!i&&n.length,a&&(t.dataSource.list=n),r._animation(),r._accessors(),r._templates(),e.hasClass(G)?(r.wrapper=e,r.root=e.children("ul").eq(0)):(r._wrapper(),n&&(r.root=e,r._group(r.wrapper))),r._tabindex(),r.wrapper.attr("role","tree"),r.wrapper.find(">ul").attr("role","none"),r._dataSource(a),r._attachEvents(),r._dragging(),a?r._syncHtmlAndDataSource():t.autoBind&&(r._progress(!0),r.dataSource.fetch()),t.checkboxes&&t.checkboxes.checkChildren&&r.updateIndeterminate(),r.element[0].id&&(r._ariaId=f.format("{0}_tv_active",r.element[0].id)),f.notify(r)},_attachEvents:function(){var t=this,n=".k-in:not(.k-state-selected,.k-state-disabled)",r="mouseenter";t._clickHandler=C(t._click,t),t.wrapper.on(r+y,".k-in.k-state-selected",function(e){e.preventDefault()}).on(r+y,n,function(){e(this).addClass(M)}).on("mouseleave"+y,n,function(){e(this).removeClass(M)}).on(j+y,n,t._clickHandler).on("dblclick"+y,".k-in:not(.k-state-disabled)",C(t._toggleButtonClick,t)).on(j+y,".k-i-expand,.k-i-collapse",C(t._toggleButtonClick,t)).on("keydown"+y,t,C(t._keydown,t)).on("keypress"+y,C(t._keypress,t)).on("focus"+y,C(t._focus,t)).on("blur"+y,C(t._blur,t)).on("mousedown"+y,".k-in,.k-checkbox-wrapper :checkbox,.k-i-expand,.k-i-collapse",C(t._mousedown,t)).on("change"+y,".k-checkbox-wrapper :checkbox",C(t._checkboxChange,t)).on("click"+y,".checkbox-span",C(t._checkboxLabelClick,t)).on("click"+y,".k-request-retry",C(t._retryRequest,t)).on("click"+y,".k-link.k-state-disabled",function(e){e.preventDefault()}).on("click"+y,function(n){var r=e(n.target);r.is(":kendoFocusable")||r.find("input,select,textarea,button,object").is(":kendoFocusable")||t.focus()})},_checkboxLabelClick:function(t){var n=e(t.target.previousSibling);n.is("[disabled]")||(n.prop("checked",!n.prop("checked")),n.trigger("change"))},_syncHtmlAndDataSource:function(e,t){e=e||this.root,t=t||this.dataSource;var n,r,i,s,o,d=t.view(),l=f.attr("uid"),c=f.attr("expanded"),h=this.options.checkboxes,u=e.children("li");for(n=0;n<u.length;n++)i=d[n],s=i.uid,r=u.eq(n),r.attr("role","treeitem").attr(l,s).attr(Y,r.hasClass("k-state-selected")),i.expanded="true"===r.attr(c),h&&(o=a(r),i.checked=o.prop(O),o.attr("id","_"+s),o.next(".k-checkbox-label").attr("for","_"+s)),this._syncHtmlAndDataSource(r.children("ul"),i.children)},_animation:function(){var e=this.options,t=e.animation,n=t.collapse&&"effects"in t.collapse,r=k({},t.expand,t.collapse);n||(r=k(r,{reverse:!0})),t===!1&&(t={expand:{effects:{}},collapse:{hide:!0,effects:{}}}),t.collapse=k(r,{hide:!0}),e.animation=t},_dragging:function(){var t,n=this.options.dragAndDrop,r=this.dragging;n&&!r?(t=this,this.dragging=new g.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:C(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(q,{sourceNode:e[0]})},drag:function(e){t.trigger(H,{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(n){var r=e(n.dropTarget),a=r.closest("a");return a&&a.attr("href")&&t._tempPreventNavigation(a),t.trigger(L,{originalEvent:n.originalEvent,sourceNode:n.source,destinationNode:n.destination,valid:n.valid,setValid:function(e){this.valid=e,n.setValid(e)},dropTarget:n.dropTarget,dropPosition:n.position})},dragend:function(e){function n(n){t.options.checkboxes&&t.options.checkboxes.checkChildren&&t.updateIndeterminate(),t.trigger(V,{originalEvent:e.originalEvent,sourceNode:n&&n[0],destinationNode:a[0],dropPosition:i})}var r=e.source,a=e.destination,i=e.position;"over"==i?t.append(r,a,n):("before"==i?r=t.insertBefore(r,a):"after"==i&&(r=t.insertAfter(r,a)),n(r))}})):!n&&r&&(r.destroy(),this.dragging=null)},_tempPreventNavigation:function(e){e.on(j+y+S,function(t){t.preventDefault(),e.off(j+y+S)})},_hintText:function(e){return this.templates.dragClue({item:this.dataItem(e),treeview:this.options})},_templates:function(){var e=this,t=e.options,n=C(e._fieldAccessor,e);t.template&&typeof t.template==J?t.template=v(t.template):t.template||(t.template=r("# var text = "+n("text")+"(data.item); ## if (typeof data.item.encoded != 'undefined' && data.item.encoded === false) {##= text ## } else { ##: text ## } #")),e._checkboxes(),e.templates={setAttributes:function(e){var t,n="",r=e.attr||{};for(t in r)r.hasOwnProperty(t)&&"class"!==t&&(n+=t+'="'+r[t]+'" ');return n},wrapperCssClass:function(e,t){var n="k-item",r=t.index;return e.firstLevel&&0===r&&(n+=" k-first"),r==e.length-1&&(n+=" k-last"),n},cssClass:function(e,t){var n="",r=t.index,a=e.length-1;return e.firstLevel&&0===r&&(n+="k-top "),n+=0===r&&r!=a?"k-top":r==a?"k-bot":"k-mid"},textClass:function(e,t){var n="k-in";return t&&(n+=" k-link"),e.enabled===!1&&(n+=" k-state-disabled"),e.selected===!0&&(n+=" k-state-selected"),n},toggleButtonClass:function(e){var t="k-icon";return t+=e.expanded!==!0?" k-i-expand":" k-i-collapse"},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:r("#= data.treeview.template(data) #"),group:r("<ul class='#= data.r.groupCssClass(data.group) #'#= data.r.groupAttributes(data.group) #>#= data.renderItems(data) #</ul>"),itemContent:r("# 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 #'></span># } ##= data.treeview.template(data) #"),itemElement:r("# 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) #'></span># } ## 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, !!url) #'#= textAttr #>#= r.itemContent(data) #</#=tag#></div>"),item:r("# var item = data.item, r = data.r; #<li role='treeitem' class='#= r.wrapperCssClass(data.group, item) #'"+f.attr("uid")+'=\'#= item.uid #\' #= r.setAttributes(item.toJSON ? item.toJSON() : item) # # if (data.treeview.checkboxes) { #aria-checked=\'#= item.checked ? "true" : "false" #\' # } #aria-selected=\'#= item.selected ? "true" : "false" #\' #=item.enabled === false ? "aria-disabled=\'true\'" : \'\'#aria-expanded=\'#= item.expanded ? "true" : "false" #\' data-expanded=\'#= item.expanded ? "true" : "false" #\' >#= r.itemElement(data) #</li>'),loading:r("<div class='k-icon k-i-loading'></div> #: data.messages.loading #"),retry:r("#: 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._dataSourceUids={},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=C(this.refresh,this),this._errorHandler=C(this._error,this),this.dataSource.bind(B,this._refreshHandler),this.dataSource.bind(A,this._errorHandler)},_unbindDataSource:function(){var e=this.dataSource;e&&(e.unbind(B,this._refreshHandler),e.unbind(A,this._errorHandler))},_dataSource:function(e){function t(e){for(var n=0;n<e.length;n++)e[n]._initChildren(),e[n].children.fetch(),t(e[n].children.view())}var n=this,r=n.options,a=r.dataSource;a=_(a)?{data:a}:a,n._unbindDataSource(),a.fields||(a.fields=[{field:"text"},{field:"url"},{field:"spriteCssClass"},{field:"imageUrl"}]),n.dataSource=a=b.create(a),e&&(a.fetch(),t(a.view())),n._bindDataSource()},events:[q,H,L,V,F,D,E,N,B,I,T,R],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,r=this,a=r.options,i=r.element;for(e in Z)t=a[Z[e]],n=i.attr(f.attr(e+"-field")),!t&&n&&(t=n),t||(t=e),_(t)||(t=[t]),a[Z[e]]=t},_fieldAccessor:function(t){var n=this.options[Z[t]],r=n.length,a="(function(item) {";return 0===r?a+="return item['"+t+"'];":(a+="var levels = ["+e.map(n,function(e){return"function(d){ return "+f.expr(e)+"}"}).join(",")+"];",a+="return levels[Math.min(item.level(), "+r+"-1)](item)"),a+="})"},setOptions:function(e){x.fn.setOptions.call(this,e),this._animation(),this._dragging(),this._templates()},_trigger:function(e,t){return this.trigger(e,{node:t.closest(W)[0]})},_setChecked:function(e,t){if(e&&f.isFunction(e.view))for(var n=0,r=e.view();n<r.length;n++)r[n].enabled!==!1&&this._setCheckedValue(r[n],t),r[n].children&&this._setChecked(r[n].children,t)},_setCheckedValue:function(e,t){e[O]=t},_setIndeterminate:function(e){var t,n,r,i=c(e),s=!0;if(i.length&&(t=a(i.children()),n=t.length)){if(n>1){for(r=1;r<n;r++)if(t[r].checked!=t[r-1].checked||t[r].indeterminate||t[r-1].indeterminate){s=!1;break}}else s=!t[0].indeterminate;return e.attr(X,s?t[0].checked:"mixed"),a(e).data(U,!s).prop(U,!s).prop(O,s&&t[0].checked)}},updateIndeterminate:function(e){var t,n,r,a;if(e=e||this.wrapper,t=c(e).children(),t.length){for(n=0;n<t.length;n++)this.updateIndeterminate(t.eq(n));if(e.is(".k-treeview"))return;r=this._setIndeterminate(e),a=this.dataItem(e),r&&r.prop(O)?a.checked=!0:a&&delete a.checked}},_bubbleIndeterminate:function(e,t){if(e.length){t||this.updateIndeterminate(e);var n,r=this.parent(e);r.length&&(this._setIndeterminate(r),n=r.children("div").find(".k-checkbox-wrapper input[type=checkbox]"),this._skip=!0,n.prop(U)===!1?this.dataItem(r).set(O,n.prop(O)):this.dataItem(r).set(O,!1),this._skip=!1,this._bubbleIndeterminate(r,!0))}},_checkboxChange:function(t){var n=this,r=e(t.target),a=r.prop(O),i=r.closest(W),s=this.dataItem(i);this._preventChange||(s.checked!=a&&(s.set(O,a),i.attr(X,a),this._trigger(T,i)),r.is(":focus")&&(n._trigger(I,i),n.focus()))},_toggleButtonClick:function(t){var n=e(t.currentTarget).closest(W);n.is("[aria-disabled='true']")||this.toggle(n)},_mousedown:function(t){var n=this,r=e(t.currentTarget),a=e(t.currentTarget).closest(W),i=f.support.browser;a.is("[aria-disabled='true']")||((i.msie||i.edge)&&r.is(":checkbox")&&(r.prop(U)?(n._preventChange=!1,r.prop(O,!r.prop(O)),r.trigger(B),r.on(j+y,function(e){e.preventDefault()}),n._preventChange=!0):(r.off(j+y),n._preventChange=!1)),n._clickTarget=a,n.current(a))},_focusable:function(e){return e&&e.length&&e.is(":visible")&&!e.find(".k-in").first().hasClass(z)},_focus:function(){var t=this.select(),n=this._clickTarget;f.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],r=[],a=[],i=document.documentElement;do n=n.parentNode,n.scrollHeight>n.clientHeight&&(r.push(n),a.push(n.scrollTop));while(n!=i);for(f.focusElement(t),e=0;e<r.length;e++)r[e].scrollTop=a[e]},_blur:function(){this.current().find(".k-in").first().removeClass("k-state-focused")},_enabled:function(e){return!e.children("div").children(".k-in").hasClass(z)},parent:function(t){var n,r,a=/\bk-treeview\b/,i=/\bk-item\b/;typeof t==J&&(t=this.element.find(t)),te(t)||(t=t[0]),r=i.test(t.className);do t=t.parentNode,i.test(t.className)&&(r?n=t:r=!0);while(!a.test(t.className)&&!n);return e(n)},_nextVisible:function(e){function t(e){for(;e.length&&!e.next().length;)e=r.parent(e);return e.next().length?e.next():e}var n,r=this,a=r._expanded(e);return e.length&&e.is(":visible")?a?(n=c(e).children().first(),n.length||(n=t(e))):n=t(e):n=r.root.children().eq(0),n},_previousVisible:function(e){var t,n,r=this;if(!e.length||e.prev().length)for(n=e.length?e.prev():r.root.children().last();r._expanded(n)&&(t=c(n).children().last(),t.length);)n=t;else n=r.parent(e)||e;return n},_keydown:function(n){var r,a=this,i=n.keyCode,s=a.current(),o=a._expanded(s),d=s.find(".k-checkbox-wrapper").first().find(":checkbox"),l=f.support.isRtl(a.element);n.target==n.currentTarget&&(!l&&i==w.RIGHT||l&&i==w.LEFT?o?r=a._nextVisible(s):s.find(".k-in").first().hasClass(z)||a.expand(s):!l&&i==w.LEFT||l&&i==w.RIGHT?o&&!s.find(".k-in").first().hasClass(z)?a.collapse(s):(r=a.parent(s),a._enabled(r)||(r=t)):i==w.DOWN?r=a._nextVisible(s):i==w.UP?r=a._previousVisible(s):i==w.HOME?r=a._nextVisible(e()):i==w.END?r=a._previousVisible(e()):i!=w.ENTER||s.find(".k-in").first().hasClass(z)?i==w.SPACEBAR&&d.length&&(s.find(".k-in").first().hasClass(z)||(d.prop(O,!d.prop(O)).data(U,!1).prop(U,!1),a._checkboxChange({target:d})),r=s):s.find(".k-in").first().hasClass("k-state-selected")||a._trigger(N,s)||a.select(s),r&&(n.preventDefault(),s[0]!=r[0]&&(a._trigger(I,r),a.current(r))))},_keypress:function(e){var t,n=this,r=300,a=n.current().get(0),i=e.key,s=1===i.length;s&&(n._match||(n._match=""),n._match+=i,clearTimeout(n._matchTimer),n._matchTimer=setTimeout(function(){n._match=""},r),t=a&&n._matchNextByText(Array.prototype.indexOf.call(n.element.find(".k-item"),a),n._match),t.length||(t=n._matchNextByText(-1,n._match)),t.get(0)&&t.get(0)!==a&&(n._trigger(I,t),n.current(t)))},_matchNextByText:function(t,n){var r=this.element,a=r.find(".k-in").filter(function(r,a){return r>t&&e(a).is(":visible")&&0===e(a).text().toLowerCase().indexOf(n)});return a.eq(0).closest(W)},_click:function(t){var n,r=this,a=e(t.currentTarget),i=h(a.closest(W)),s=a.attr("href");n=s?"#"==s||s.indexOf("#"+this.element.id+"-")>=0:i.length&&!i.children().length,n&&t.preventDefault(),a.hasClass(".k-state-selected")||r._trigger(N,a)||r.select(a)},_wrapper:function(){var e,t,n=this,r=n.element,a="k-widget k-treeview";r.is("ul")?(e=r.wrap("<div />").parent(),t=r):(e=r,t=e.children("ul").eq(0)),n.wrapper=e.addClass(a),n.root=t},_getSelectedNode:function(){return this.element.find(".k-state-selected").closest(W)},_group:function(e){var t=this,n=e.hasClass(G),r={firstLevel:n,expanded:n||t._expanded(e)},a=e.children("ul");a.addClass(t.templates.groupCssClass(r)).css("display",r.expanded?"":"none"),n||a.attr("role","group"),t._nodes(a,r)},_nodes:function(t,n){var r,a=this,i=t.children("li");n=k({length:i.length},n),i.each(function(t,i){i=e(i),r={index:t,expanded:a._expanded(i)},d(i),a._updateNodeClasses(i,n,r),a._group(i)})},_checkboxes:function(){var e,t=this.options,n=t.checkboxes;n&&(e="<input aria-hidden='true' type='checkbox' tabindex='-1' #= (item.enabled === false) ? 'disabled' : '' # #= item.checked ? 'checked' : '' #",n.name&&(e+=" name='"+n.name+"'"),e+=" id='_#= item.uid #' class='k-checkbox' /><span class='k-checkbox-label checkbox-span'></span>",n=k({template:e},t.checkboxes),typeof n.template==J&&(n.template=v(n.template)),t.checkboxes=n)},_updateNodeClasses:function(e,t,n){var r,a,i=e.children("div"),s=e.children("ul"),o=this.templates;e.hasClass("k-treeview")||(n=n||{},n.expanded=typeof n.expanded!=P?n.expanded:this._expanded(e),n.index=typeof n.index!=P?n.index:e.index(),n.enabled=typeof n.enabled!=P?n.enabled:!i.children(".k-in").hasClass("k-state-disabled"),t=t||{},t.firstLevel=typeof t.firstLevel!=P?t.firstLevel:e.parent().parent().hasClass(G),t.length=typeof t.length!=P?t.length:e.parent().children().length,e.removeClass("k-first k-last").addClass(o.wrapperCssClass(t,n)),i.removeClass("k-top k-mid k-bot").addClass(o.cssClass(t,n)),r=i.children(".k-in"),a=r[0]&&"a"==r[0].nodeName.toLowerCase(),r.removeClass("k-in k-link k-state-default k-state-disabled").addClass(o.textClass(n,a)),(s.length||"true"==e.attr("data-hasChildren"))&&(i.children(".k-icon").removeClass("k-i-expand k-i-collapse").addClass(o.toggleButtonClass(n)),s.addClass("k-group")))},_processNodes:function(t,n){var r,a=this,i=a.element.find(t);for(r=0;r<i.length;r++)n.call(a,r,e(i[r]).closest(W))},dataItem:function(t){var n=e(t).closest(W).attr(f.attr("uid")),r=this.dataSource;return r&&r.getByUid(n)},_dataItem:function(t){var n=e(t).closest(W).attr(f.attr("uid")),r=this.dataSource;return r&&this._dataSourceUids[n]},_insertNode:function(t,n,r,a,i){var s,o,l,h,u,p,g=this,m=c(r),k=m.children().length+1,v={firstLevel:r.hasClass(G),expanded:!i,length:k},_="",x=function(e,t){e.appendTo(t)};for(l=0;l<t.length;l++)h=t[l],h.index=n+l,_+=g._renderItem({group:v,item:h});if(o=e(_),o.length){for(g.angular("compile",function(){return{elements:o.get(),data:t.map(function(e){return{dataItem:e}})}}),m.length||(m=e(g._renderGroup({group:v})).appendTo(r)),a(o,m),r.hasClass("k-item")&&(d(r),g._updateNodeClasses(r,v,{expanded:!i})),u=o.prev().first(),p=o.next().last(),g._updateNodeClasses(u,{},{expanded:"true"==u.attr(f.attr("expanded"))}),g._updateNodeClasses(p,{},{expanded:"true"==p.attr(f.attr("expanded"))}),l=0;l<t.length;l++)h=t[l],h.hasChildren&&(s=h.children.data(),s.length&&g._insertNode(s,h.index,o.eq(l),x,!h.expanded));return o}},_updateNodes:function(t,n){function r(e,t){e.is(".k-group")&&e.find(".k-item:not([aria-disabled])").attr(X,t),e.find(".k-checkbox-wrapper input[type=checkbox]:not([disabled])").prop(O,t).data(U,!1).prop(U,!1)}var a,i,s,o,d,l,c,u=this,p={treeview:u.options,item:o},m="expanded"!=n&&"checked"!=n;if("selected"==n)o=t[0],i=u.findByUid(o.uid).find(".k-in").first().removeClass("k-state-hover").toggleClass("k-state-selected",o[n]).end(),o[n]&&u.current(i),i.attr(Y,!!o[n]);else{for(c=e.map(t,function(e){return u.findByUid(e.uid).children("div")}),m&&u.angular("cleanup",function(){return{elements:c}}),a=0;a<t.length;a++)p.item=o=t[a],s=c[a],i=s.parent(),m&&(f.unbind&&f.unbind(s),s.children(".k-in").html(u.templates.itemContent(p))),n==O?(d=o[n],r(s,d),i.attr(X,d),u.options.checkboxes.checkChildren&&(r(i.children(".k-group"),d),u._setChecked(o.children,d),u._bubbleIndeterminate(i))):"expanded"==n?u._toggle(i,o,o[n]):"enabled"==n&&(i.find(".k-checkbox-wrapper input[type=checkbox]").prop("disabled",!o[n]),l=!h(i).is(Q),i.removeAttr($),o[n]||(o.selected&&o.set("selected",!1),o.expanded&&o.set("expanded",!1),l=!0,i.attr(Y,!1).attr($,!0)),u._updateNodeClasses(i,{},{enabled:o[n],expanded:!l})),s.length&&this.trigger("itemChange",{item:s,data:o,ns:g});m&&u.angular("compile",function(){return{elements:c,data:e.map(t,function(e){return[{dataItem:e}]})}})}},_appendItems:function(e,t,n){var r,a,i,s=c(n),o=s.children(),d=!this._expanded(n);this.element===n?(r=this.dataSource.data(),a=this.dataSource.view(),i=a.length<r.length?a:r,e=i.indexOf(t[0])):t.length&&(e=t[0].parent().indexOf(t[0])),typeof e==P&&(e=o.length),this._insertNode(t,e,n,function(t,n){e>=o.length?t.appendTo(n):t.insertBefore(o.eq(e))},d),d||(this._updateNodeClasses(n,{},{expanded:!d}),c(n).css("display","block"))},_refreshChildren:function(e,t,n){var r,a,i,s=this.options,o=s.loadOnDemand,l=s.checkboxes&&s.checkboxes.checkChildren;if(c(e).empty(),t.length)for(this._appendItems(n,t,e),a=c(e).children(),o&&l&&this._bubbleIndeterminate(a.last()),r=0;r<a.length;r++)i=a.eq(r),this.trigger("itemChange",{item:i.children("div"),data:t[r],ns:g});else d(e)},_refreshRoot:function(t){var n,r,a,i=this._renderGroup({items:t,group:{firstLevel:!0,expanded:!0}});for(this.root.length&&this.root[0].parentElement?(this._angularItems("cleanup"),n=e(i),this.root.attr("class",n.attr("class")).html(n.html())):this.root=this.wrapper.html(i).children("ul"),r=this.root.children(".k-item"),a=0;a<t.length;a++)this.trigger("itemChange",{item:r.eq(a),data:t[a],ns:g});this._angularItems("compile")},refresh:function(e){var n,r,a=e.node,i=e.action,s=e.items,o=this.wrapper,d=this.options,l=d.loadOnDemand,c=d.checkboxes&&d.checkboxes.checkChildren;if(!this._skip){for(n=0;n<s.length;n++)this._dataSourceUids[s[n].uid]=s[n];if(e.field){if(!s[0]||!s[0].level)return;return this._updateNodes(s,e.field)}if(a&&(o=this.findByUid(a.uid),this._progress(o,!1)),c&&"remove"!=i){for(r=!1,n=0;n<s.length;n++)if("checked"in s[n]){r=!0;break}if(!r&&a&&a.checked)for(n=0;n<s.length;n++)s[n].checked=!0}if("add"==i?this._appendItems(e.index,s,o):"remove"==i?this._remove(this.findByUid(s[0].uid),!1):"itemchange"==i?this._updateNodes(s):"itemloaded"==i?this._refreshChildren(o,s,e.index):this._refreshRoot(s),"remove"!=i)for(n=0;n<s.length;n++)(!l||s[n].expanded||s[n]._loaded)&&s[n].load();this.wrapper.find(">ul").attr("role","none"),this.trigger(F,{node:a?o:t}),this.dataSource.filter()&&this.options.checkboxes.checkChildren&&this.updateIndeterminate(o)}},_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),u(t).addClass("k-i-reload"),e.node.loaded(!1)):(this._progress(!1),this.dataSource.data([]),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){"boolean"==typeof e?(t=e,e=this.items()):t=2!=arguments.length||!!t,this._processNodes(e,function(e,n){this.dataItem(n).set("enabled",t)})},current:function(n){var r=this,a=r._current,i=r.element,s=r._ariaId;return arguments.length>0&&n&&n.length?(a&&(a[0].id===s&&a.removeAttr("id"),a.find(".k-in").first().removeClass("k-state-focused")),a=r._current=e(n,i).closest(W),a.find(".k-in").first().addClass("k-state-focused"),s=a[0].id||s,s&&(r.wrapper.removeAttr("aria-activedescendant"),a.attr("id",s),r.wrapper.attr("aria-activedescendant",s)),t):(a||(a=r._nextVisible(e())),a)},select:function(n){var r=this,a=r.element;return arguments.length?(n=e(n,a).closest(W),a.find(".k-state-selected").each(function(){var t=r.dataItem(this);t?(t.set("selected",!1),delete t.selected):e(this).removeClass("k-state-selected")}),n.length&&(r.dataItem(n).set("selected",!0),r._clickTarget=n),r.trigger(B),t):a.find(".k-state-selected").closest(W)},_toggle:function(e,t,n){var r,a=this.options,i=h(e),s=n?"expand":"collapse";i.data("animating")||(r=t&&t.loaded(),n&&!r?(a.loadOnDemand&&this._progress(e,!0),i.remove(),t.load()):(this._updateNodeClasses(e,{},{expanded:n}),n||i.css("height",i.height()).css("height"),i.kendoStop(!0,!0).kendoAnimate(k({reset:!0},a.animation[s],{complete:function(){n&&i.css("height","")}}))))},toggle:function(t,n){t=e(t),u(t).is(".k-i-expand, .k-i-collapse")&&(1==arguments.length&&(n=!this._expanded(t)),this._expanded(t,n))},destroy:function(){var e=this;x.fn.destroy.call(e),e.wrapper.off(y),e.wrapper.find(".k-checkbox-wrapper :checkbox").off(y),e._clickHandler=null,e._unbindDataSource(),e.dragging&&e.dragging.destroy(),e._dataSourceUids={},f.destroy(e.element),e.root=e.wrapper=e.element=null},_expanded:function(e,n,r){var a,i=f.attr("expanded"),s=n,o=s?"expand":"collapse";return 1==arguments.length?(a=this._dataItem(e),"true"===e.attr(i)||a&&a.expanded):(a=this.dataItem(e),h(e).data("animating")||!r&&this._trigger(o,e)||(s?(e.attr(i,"true"),e.attr(K,"true")):(e.removeAttr(i),e.attr(K,"false")),a&&(a.set("expanded",s),s=a.expanded)),t)},_progress:function(e,t){var n=this.element,r=this.templates.loading({messages:this.options.messages});1==arguments.length?(t=e,t?n.html(r):n.empty()):u(e).toggleClass("k-i-loading",t).removeClass("k-i-reload")},text:function(e,n){var r=this.dataItem(e),a=this.options[Z.text],i=r.level(),s=a.length,o=a[Math.min(i,s-1)];return n?(r.set(o,n),t):r[o]},_objectOrSelf:function(t){return e(t).closest("[data-role=treeview]").data("kendoTreeView")||this},_dataSourceMove:function(t,n,r,a){var i,s=this._objectOrSelf(r||n),o=s.dataSource,d=e.Deferred().resolve().promise();return r&&r[0]!=s.element[0]&&(i=s.dataItem(r),i.loaded()||(s._progress(r,!0),d=i.load()),r!=this.root&&(o=i.children,o&&o instanceof b||(i._initChildren(),i.loaded(!0),o=i.children))),t=this._toObservableData(t),a.call(s,o,t,d)},_toObservableData:function(t){var n,r,a=t;return(ee(t)||te(t))&&(n=this._objectOrSelf(t).dataSource,r=e(t).attr(f.attr("uid")),a=n.getByUid(r),a&&(a=n.remove(a))),a},_insert:function(e,t,n){t instanceof f.data.ObservableArray?t=t.toJSON():_(t)||(t=[t]);var r=e.parent();return r&&r._initChildren&&(r.hasChildren=!0,r._initChildren()),e.splice.apply(e,[n,0].concat(t)),this.findByUid(e[n].uid)},insertAfter:i(1),insertBefore:i(0),append:function(t,n,r){var a=this.root;if(!(n&&t instanceof s&&n[0]===t[0]))return n=n&&n.length?n:null,n&&(a=c(n)),this._dataSourceMove(t,a,n,function(t,a,i){function s(){n&&d._expanded(n,!0,!0);var e=t.data(),r=Math.max(e.length,0);return d._insert(e,a,r)}var o,d=this;return i.done(function(){o=s(),(r=r||e.noop)(o)}),o||null})},_remove:function(t,n){var r,a,i,s=this;return t=e(t,s.element),this.angular("cleanup",function(){return{elements:t.get()}}),r=t.parent().parent(),a=t.prev(),i=t.next(),t[n?"detach":"remove"](),r.hasClass("k-item")&&(d(r),s._updateNodeClasses(r)),s._updateNodeClasses(a),s._updateNodeClasses(i),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,r){return e(r).text()==t}).closest(W)},findByUid:function(t){var n,r,a=this.element.find(".k-item"),i=f.attr("uid");for(r=0;r<a.length;r++)if(a[r].getAttribute(i)==t){n=a[r];break}return e(n)},expandPath:function(t,n){function r(){s.shift(),s.length?a(s[0]).then(r):o.call(i)}function a(t){var n,r=e.Deferred(),a=i.dataSource.get(t),s=f.attr("expanded");return a?(n=i.findByUid(a.uid),a.loaded()?(a.set("expanded",!0),n.attr(s,!0),n.attr(K,!0),r.resolve()):(i._progress(n,!0),a.load().then(function(){a.set("expanded",!0),n.attr(s,!0),n.attr(K,!0),r.resolve()}))):r.resolve(),r.promise()}var i=this,s=t.slice(0),o=n||e.noop;a(s[0]).then(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 f.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="",r=0,a=e.items,i=a?a.length:0,s=e.group;for(s.length=i;r<i;r++)e.group=s,e.item=a[r],e.item.index=r,n+=t._renderItem(e);return n},e.r=t.templates,t.templates.group(e)}}),g.plugin(l)}(window.kendo.jQuery),window.kendo},n(3))}).call(t,n(1057))}});