UNPKG

@progress/kendo-ui

Version:

This package is part of the [Kendo UI for jQuery](http://www.telerik.com/kendo-ui) suite.

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