10 lines
25 KiB
JavaScript
10 lines
25 KiB
JavaScript
/*
|
|
* Kendo UI Complete v2013.3.1119 (http://kendoui.com)
|
|
* Copyright 2013 Telerik AD. All rights reserved.
|
|
*
|
|
* Kendo UI Complete commercial licenses may be obtained at
|
|
* https://www.kendoui.com/purchase/license-agreement/kendo-ui-complete-commercial.aspx
|
|
* If you do not own a commercial license, this file shall be governed by the trial license terms.
|
|
*/
|
|
!function(define){return define(["./kendo.data.min","./kendo.draganddrop.min"],function(){!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 a(e){return e.children("div").find(".k-checkbox:first :checkbox")}function r(e){return function(t,n){n=n.closest(P);var i,a=n.parent();return a.parent().is("li")&&(i=a.parent()),this._dataSourceMove(t,a,i,function(t,i){return this._insert(t.data(),i,n.index()+e)})}}function s(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"),a=n.children(".k-icon"),r=t.children(":checkbox"),d=n.children(".k-in");t.hasClass("k-treeview")||(n.length||(n=e("<div />").prependTo(t)),!a.length&&i.length?a=e("<span class='k-icon' />").prependTo(n):i.length&&i.children().length||(a.remove(),i.remove()),r.length&&e("<span class='k-checkbox' />").appendTo(n).append(r),d.length||(d=t.children("a").eq(0).addClass("k-in"),d.length||(d=e("<span class='k-in' />")),d.appendTo(n),n.length&&s(n[0].nextSibling,d[0])))}function o(e){var t=this;t.treeview=e,t.hovered=e.element,t._draggable=new g.Draggable(e.element,{filter:"div:not(.k-state-disabled) .k-in",hint:function(t){return e.templates.dragClue({item:e.dataItem(t),treeview:e.options})},cursorOffset:{left:10,top:f.support.touch||f.support.msPointers||f.support.pointers?-40/f.support.zoomLevel():10},dragstart:C(t.dragstart,t),dragcancel:C(t.dragcancel,t),drag:C(t.drag,t),dragend:C(t.dragend,t)})}var l,c,u,h,p,f=window.kendo,g=f.ui,m=f.data,k=e.extend,v=f.template,_=e.isArray,b=g.Widget,x=m.HierarchicalDataSource,C=e.proxy,y=f.keys,w=".kendoTreeView",S="select",T="navigate",N="expand",I="change",B="error",H="checked",U="collapse",D="dragstart",A="drag",O="drop",V="dragend",L="dataBound",E="click",q="visibility",F="undefined",M="k-state-hover",R="k-treeview",j=":visible",P=".k-item",G="string",W="aria-selected",Q="aria-disabled",z={text:"dataTextField",url:"dataUrlField",spriteCssClass:"dataSpriteCssClassField",imageUrl:"dataImageUrlField"},J=function(e){return"object"==typeof HTMLElement?e instanceof HTMLElement:e&&"object"==typeof e&&1===e.nodeType&&typeof e.nodeName===G};c=n(".k-group"),u=n(".k-group,.k-content"),h=function(e){return e.children("div").children(".k-icon")},p=/k-sprite/,l=b.extend({init:function(e,t){var n,i,a=this,r=!1,s=t&&!!t.dataSource;_(t)&&(n=!0,t={dataSource:t}),t&&typeof t.loadOnDemand==F&&_(t.dataSource)&&(t.loadOnDemand=!1),b.prototype.init.call(a,e,t),e=a.element,t=a.options,i=e.is("ul")&&e||e.hasClass(R)&&e.children("ul"),r=!s&&i.length,r&&(t.dataSource.list=i),a._animation(),a._accessors(),a._templates(),e.hasClass(R)?(a.wrapper=e,a.root=e.children("ul").eq(0)):(a._wrapper(),i&&(a.root=e,a._group(a.wrapper))),a._tabindex(),a.wrapper.filter("[role=tree]").length||a.wrapper.attr("role","tree"),a._dataSource(r),a._attachEvents(),a._dragging(),r?a._attachUids():t.autoBind&&(a._progress(!0),a.dataSource.fetch()),t.checkboxes&&t.checkboxes.checkChildren&&a.updateIndeterminate(),a.element[0].id&&(a._ariaId=f.format("{0}_tv_active",a.element[0].id))},_attachEvents:function(){var t=this,n=".k-in:not(.k-state-selected,.k-state-disabled)",i="mouseenter";t.wrapper.on(i+w,".k-in.k-state-selected",function(e){e.preventDefault()}).on(i+w,n,function(){e(this).addClass(M)}).on("mouseleave"+w,n,function(){e(this).removeClass(M)}).on(E+w,n,C(t._click,t)).on("dblclick"+w,".k-in:not(.k-state-disabled)",C(t._toggleButtonClick,t)).on(E+w,".k-plus,.k-minus",C(t._toggleButtonClick,t)).on("keydown"+w,C(t._keydown,t)).on("focus"+w,C(t._focus,t)).on("blur"+w,C(t._blur,t)).on("mousedown"+w,".k-in,.k-checkbox :checkbox,.k-plus,.k-minus",C(t._mousedown,t)).on("change"+w,".k-checkbox :checkbox",C(t._checkboxChange,t)).on("click"+w,".k-checkbox :checkbox",C(t._checkboxClick,t)).on("click"+w,".k-request-retry",C(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("indeterminate")&&(n.data("indeterminate",!1).prop("indeterminate",!1).prop(H,!0),this._checkboxChange(t))},_attachUids:function(t,n){var i,a=this,r=f.attr("uid");t=t||a.root,n=n||a.dataSource,i=n.view(),t.children("li").each(function(t,n){n=e(n).attr(r,i[t].uid),n.attr("role","treeitem"),a._attachUids(n.children("ul"),i[t].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=k({reverse:!0},t.expand)),k(t.collapse,{hide:!0}),e.animation=t},_dragging:function(){var e=this.options.dragAndDrop,t=this.dragging;e&&!t?this.dragging=new o(this):!e&&t&&(t.destroy(),this.dragging=null)},_templates:function(){var e=this,t=e.options,n=C(e._fieldAccessor,e);t.template&&typeof t.template==G?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={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,a=e.length-1;return e.firstLevel&&0===i&&(n+="k-top "),n+=0===i&&i!=a?"k-top":i==a?"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){return e.expanded!==!0?" style='display:none'":""},groupCssClass:function(e){var t="k-group";return e.firstLevel&&(t+=" k-treeview-lines"),t},dragClue:i("<div class='k-header k-drag-clue'><span class='k-icon k-drag-status' />#= data.treeview.template(data) #</div>"),group:i("<ul class='#= data.r.groupCssClass(data.group) #'#= data.r.groupAttributes(data.group) # role='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) #' role='presentation' />"+"# } #"+"# if (data.treeview.checkboxes) { #"+"<span class='k-checkbox' 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:i("# var item = data.item, r = data.r; #<li role='treeitem' class='#= r.wrapperCssClass(data.group, item) #' "+f.attr("uid")+"='#= item.uid #'"+"#=item.selected ? \"aria-selected='true'\" : ''#"+"#=item.enabled === false ? \"aria-disabled='true'\" : ''#"+">"+"#= r.itemElement(data) #"+"</li>"),loading:i("<div class='k-icon k-loading' /> Loading..."),retry:i("Request failed. <button class='k-button k-request-retry'>Retry</button>")}},items:function(){return this.element.find(".k-item")},setDataSource:function(e){this.options.dataSource=e,this._dataSource(),this.dataSource.fetch()},_bindDataSource:function(){this._refreshHandler=C(this.refresh,this),this._errorHandler=C(this._error,this),this.dataSource.bind(I,this._refreshHandler),this.dataSource.bind(B,this._errorHandler)},_unbindDataSource:function(){var e=this.dataSource;e&&(e.unbind(I,this._refreshHandler),e.unbind(B,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,a=i.dataSource;a=_(a)?{data:a}:a,n._unbindDataSource(),a.fields||(a.fields=[{field:"text"},{field:"url"},{field:"spriteCssClass"},{field:"imageUrl"}]),n.dataSource=a=x.create(a),e&&(a.fetch(),t(a.view())),n._bindDataSource()},events:[D,A,O,V,L,N,U,S,I,T],options:{name:"TreeView",dataSource:{},animation:{expand:{effects:"expand:vertical",duration:200},collapse:{duration:100}},dragAndDrop:!1,checkboxes:!1,autoBind:!0,loadOnDemand:!0,template:"",dataTextField:null},_accessors:function(){var e,t,n,i=this,a=i.options,r=i.element;for(e in z)t=a[z[e]],n=r.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]],i=n.length,a="(function(item) {";return 0===i?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(), "+i+"-1)](item)"),a+="})"},setOptions:function(e){b.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 i=0,a=t.view();i<a.length;i++)a[i][H]=n,a[i].children&&this._setChecked(a[i].children,n)},_setIndeterminate:function(e){var t,n,i,r=c(e),s=!0;if(r.length&&(t=a(r.children()),n=t.length)){if(n>1){for(i=1;n>i;i++)if(t[i].checked!=t[i-1].checked||t[i].indeterminate||t[i-1].indeterminate){s=!1;break}}else s=!t[0].indeterminate;a(e).data("indeterminate",!s).prop("indeterminate",!s).prop(H,s&&t[0].checked)}},updateIndeterminate:function(e){e=e||this.wrapper;var t,n=c(e).children();if(n.length){for(t=0;t<n.length;t++)this.updateIndeterminate(n.eq(t));this._setIndeterminate(e)}},_bubbleIndeterminate:function(e){if(e.length){var t,n=this.parent(e);n.length&&(this._setIndeterminate(n),t=n.children("div").find(".k-checkbox :checkbox"),t.prop("indeterminate")===!1?this.dataItem(n).set(H,t.prop(H)):this.dataItem(n).checked=!1,this._bubbleIndeterminate(n))}},_checkboxChange:function(t){var n=e(t.target),i=n.prop(H),a=n.closest(P);this.dataItem(a).set(H,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;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=[],a=[],r=document.documentElement;do n=n.parentNode,n.scrollHeight>n.clientHeight&&(i.push(n),a.push(n.scrollTop));while(n!=r);for(t.focus(),e=0;e<i.length;e++)i[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("k-state-disabled")},parent:function(t){var n,i,a=/\bk-treeview\b/,r=/\bk-item\b/;typeof t==G&&(t=this.element.find(t)),J(t)||(t=t[0]),i=r.test(t.className);do t=t.parentNode,r.test(t.className)&&(i?n=t:i=!0);while(!a.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,a=i._expanded(e);return e.length&&e.is(":visible")?a?(n=c(e).children().first(),n.length||(n=t(e))):n=t(e):n=i.root.children().eq(0),i._enabled(n)||(n=i._nextVisible(n)),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 i._enabled(n)||(n=i._previousVisible(n)),n},_keydown:function(n){var i,a=this,r=n.keyCode,s=a.current(),d=a._expanded(s),o=s.find(".k-checkbox:first :checkbox"),l=f.support.isRtl(a.element);n.target==n.currentTarget&&(!l&&r==y.RIGHT||l&&r==y.LEFT?d?i=a._nextVisible(s):a.expand(s):!l&&r==y.LEFT||l&&r==y.RIGHT?d?a.collapse(s):(i=a.parent(s),a._enabled(i)||(i=t)):r==y.DOWN?i=a._nextVisible(s):r==y.UP?i=a._previousVisible(s):r==y.HOME?i=a._nextVisible(e()):r==y.END?i=a._previousVisible(e()):r==y.ENTER?s.find(".k-in:first").hasClass("k-state-selected")||a._trigger(S,s)||a.select(s):r==y.SPACEBAR&&o.length&&(o.prop(H,!o.prop(H)).data("indeterminate",!1).prop("indeterminate",!1),a._checkboxChange({target:o}),i=s),i&&(n.preventDefault(),s[0]!=i[0]&&(a._trigger(T,i),a.current(i))))},_click:function(t){var n,i=this,a=e(t.currentTarget),r=u(a.closest(P)),s=a.attr("href");n=s?"#"==s||s.indexOf("#"+this.element.id+"-")>=0:r.length&&!r.children().length,n&&t.preventDefault(),a.hasClass(".k-state-selected")||i._trigger(S,a)||i.select(a)},_wrapper:function(){var e,t,n=this,i=n.element,a="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(a),n.root=t},_group:function(e){var t=this,n=e.hasClass(R),i={firstLevel:n,expanded:n||t._expanded(e)},a=e.children("ul");a.addClass(t.templates.groupCssClass(i)).css("display",i.expanded?"":"none"),t._nodes(a,i)},_nodes:function(t,n){var i,a=this,r=t.children("li");n=k({length:r.length},n),r.each(function(t,r){r=e(r),i={index:t,expanded:a._expanded(r)},d(r),a._updateNodeClasses(r,n,i),a._group(r)})},_checkboxes:function(){var e,t=this.options,n=t.checkboxes;(n||t.checkboxTemplate)&&(t.checkboxTemplate?e=t.checkboxTemplate:(e="<input type='checkbox' #= (item.enabled === false) ? 'disabled' : '' # #= item.checked ? 'checked' : '' #",n.name&&(e+=" name='"+n.name+"'"),e+=" />"),n=k({template:e},t.checkboxes),typeof n.template==G&&(n.template=v(n.template)),t.checkboxes=n)},_updateNodeClasses:function(e,t,n){var i=e.children("div"),a=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:!i.children(".k-in").hasClass("k-state-disabled"),t=t||{},t.firstLevel=typeof t.firstLevel!=F?t.firstLevel:e.parent().parent().hasClass(R),t.length=typeof t.length!=F?t.length:e.parent().children().length,e.removeClass("k-first k-last").addClass(r.wrapperCssClass(t,n)),i.removeClass("k-top k-mid k-bot").addClass(r.cssClass(t,n)),i.children(".k-in").removeClass("k-in k-state-default k-state-disabled").addClass(r.textClass(n)),(a.length||"true"==e.attr("data-hasChildren"))&&(i.children(".k-icon").removeClass("k-plus k-minus k-plus-disabled k-minus-disabled").addClass(r.toggleButtonClass(n)),a.addClass("k-group")))},_processNodes:function(t,n){var i=this;i.element.find(t).each(function(t,a){n.call(i,t,e(a).closest(P))})},dataItem:function(t){var n=e(t).closest(P).attr(f.attr("uid")),i=this.dataSource;return i&&i.getByUid(n)},_insertNode:function(t,n,i,a,r){var s,o,l,u,h=this,p=c(i),f=p.children().length+1,g={firstLevel:i.hasClass(R),expanded:!r,length:f},m="",k=function(e,t){e.appendTo(t)};for(l=0;l<t.length;l++)u=t[l],u.index=n+l,m+=h._renderItem({group:g,item:u});if(o=e(m),o.length){for(p.length||(p=e(h._renderGroup({group:g})).appendTo(i)),a(o,p),i.hasClass("k-item")&&(d(i),h._updateNodeClasses(i)),h._updateNodeClasses(o.prev().first()),h._updateNodeClasses(o.next().last()),l=0;l<t.length;l++)u=t[l],u.hasChildren&&(s=u.children.data(),s.length&&h._insertNode(s,u.index,o.eq(l),k,!h._expanded(o.eq(l))));return o}},_updateNode:function(t,n){function i(){p=!0}function a(e,t){e.find(".k-checkbox :checkbox").prop(H,t).data("indeterminate",!1).prop("indeterminate",!1)}var r,s,d,o,l,c=this,h={treeview:c.options,item:d},p=!1;if("selected"==t)d=n[0],s=c.findByUid(d.uid).find(".k-in:first").removeClass("k-state-hover").toggleClass("k-state-selected",d[t]).end(),d[t]?(c.current(s),s.attr(W,!0)):s.attr(W,!1);else for(e.inArray(t,c.options.dataTextField)>=0?p=!0:(h.item=n[0],h.item.bind("get",i),c.templates.itemContent(h),h.item.unbind("set",i)),r=0;r<n.length;r++)h.item=d=n[r],("spriteCssClass"==t||"imageUrl"==t||p)&&c.findByUid(d.uid).find(">div>.k-in").html(c.templates.itemContent(h)),t==H?(s=c.findByUid(d.uid),o=d[t],a(s.children("div"),o),c.options.checkboxes.checkChildren&&(a(s.children(".k-group"),o),c._setChecked(d.children,o),c._bubbleIndeterminate(s))):"expanded"==t?c._toggle(c.findByUid(d.uid),d,d[t]):"enabled"==t&&(s=c.findByUid(d.uid),s.find(".k-checkbox :checkbox").prop("disabled",!d[t]),l=!u(s).is(j),s.removeAttr(Q),d[t]||(d.selected&&d.set("selected",!1),d.expanded&&d.set("expanded",!1),l=!0,s.removeAttr(W).attr(Q,!0)),c._updateNodeClasses(s,{},{enabled:d[t],expanded:!l}))},_appendItems:function(e,t,n){var i=c(n),a=i.children(),r=!this._expanded(n);typeof e==F&&(e=a.length),this._insertNode(t,e,n,function(t,n){e==a.length?t.appendTo(n):t.insertBefore(a.eq(e))},r),this._expanded(n)&&(this._updateNodeClasses(n),c(n).css("display","block"))},refresh:function(e){var n,i=this,a=i.wrapper,r=e.node,s=e.action,o=e.items,l=i.options,u=l.loadOnDemand,h=l.checkboxes&&l.checkboxes.checkChildren;if(e.field)return i._updateNode(e.field,o);if(r&&(a=i.findByUid(r.uid),i._progress(a,!1)),h&&"remove"!=s&&r&&r.checked)for(n=0;n<o.length;n++)o[n].checked=!0;for("add"==s?this._appendItems(e.index,o,a):"remove"==s?i._remove(i.findByUid(o[0].uid),!1):r?(c(a).empty(),o.length?(this._appendItems(e.index,o,a),this._bubbleIndeterminate(c(a).children().last())):d(a)):i.root=i.wrapper.html(i._renderGroup({items:o,group:{firstLevel:!0,expanded:!0}})).children("ul"),n=0;n<o.length;n++)(!u||o[n].expanded)&&o[n].load();i.trigger(L,{node:r?a:t})},_error:function(e){var t=this,n=e.node&&t.findByUid(e.node.uid);n?(this._progress(n,!1),this._expanded(n,!1),h(n).addClass("k-i-refresh"),e.node.loaded(!1)):(this._progress(!1),this.element.html(this.templates.retry))},_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 i=this,a=i._current,r=i.element,s=i._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=i._current=e(n,r).closest(P),a.find(".k-in:first").addClass("k-state-focused"),s=a[0].id||s,s&&(i.wrapper.removeAttr("aria-activedescendant"),a.attr("id",s),i.wrapper.attr("aria-activedescendant",s)),t):(a||(a=i._nextVisible(e())),a)},select:function(n){var i=this,a=i.element;return arguments.length?(n=e(n,a).closest(P),a.find(".k-state-selected").each(function(){var e=i.dataItem(this);e.set("selected",!1),delete e.selected}),n.length&&i.dataItem(n).set("selected",!0),i.trigger(I),t):a.find(".k-state-selected").closest(P)},_toggle:function(e,t,n){var i,a=this,r=a.options,s=u(e),d=n?"expand":"collapse",o=r.animation[d];if(!s.data("animating")&&!a._trigger(d,e))if(a._expanded(e,n),i=t&&t.loaded(),i&&s.children().length>0){if(a._updateNodeClasses(e,{},{expanded:n}),s.css("display")==(n?"block":"none"))return;n||s.css("height",s.height()).css("height"),s.kendoStop(!0,!0).kendoAnimate(k({reset:!0},o,{complete:function(){n&&s.css("height","")}}))}else n&&(r.loadOnDemand&&a._progress(e,!0),s.remove(),t.load())},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;b.fn.destroy.call(e),e.element.off(w),e._unbindDataSource(),e.dragging&&e.dragging.destroy(),f.destroy(e.element)},_expanded:function(e,n){var i=f.attr("expanded"),a=this.dataItem(e);return 1==arguments.length?"true"===e.attr(i)||a&&a.expanded:(u(e).data("animating")||(a&&(a.set("expanded",n),n=a.expanded),n?(e.attr(i,"true"),e.attr("aria-expanded","true")):(e.removeAttr(i),e.attr("aria-expanded","false"))),t)},_progress:function(e,t){var n=this.element;1==arguments.length?(t=e,t?n.html(this.templates.loading):n.empty()):h(e).toggleClass("k-loading",t).removeClass("k-i-refresh")},text:function(e,n){var i=this.dataItem(e),a=this.options[z.text],r=i.level(),s=a.length,d=a[Math.min(r,s-1)];return n?(i.set(d,n),t):i[d]},_objectOrSelf:function(t){return e(t).closest("[data-role=treeview]").data("kendoTreeView")||this},_dataSourceMove:function(e,t,n,i){var a,r=this._objectOrSelf(n||t),s=r.dataSource;return n&&n[0]!=r.element[0]&&(a=r.dataItem(n),a.loaded()||(r._progress(n,!0),a.load()),n!=this.root&&(s=a.children,s&&s instanceof x||(a._initChildren(),a.loaded(!0),s=a.children))),e=this._toObservableData(e),i.call(this,s,e)},_toObservableData:function(t){var n,i,a=t;return(t instanceof window.jQuery||J(t))&&(n=this._objectOrSelf(t).dataSource,i=e(t).attr(f.attr("uid")),a=n.getByUid(i),a&&(a=n.remove(a))),a},_insert:function(e,t,n){t instanceof f.data.ObservableArray?t=t.toJSON():_(t)||(t=[t]);var i=e.parent();return i&&(i.hasChildren=!0,i._initChildren()),e.splice.apply(e,[n,0].concat(t)),this.findByUid(e[n].uid)},insertAfter:r(1),insertBefore:r(0),append:function(t,n,i){var a=this,r=a.root;return i=i||e.noop,n&&(r=c(n)),a._dataSourceMove(t,r,n,function(e,t){function r(){n&&a._expanded(n,!0);var i=e.data(),r=Math.max(i.length,0);return a._insert(i,t,r)}var s;return e.data()?(s=r(),i(s),s):(e.one(I,function(){i(r())}),null)})},_remove:function(t,n){var i,a,r,s=this;return t=e(t,s.element),i=t.parent().parent(),a=t.prev(),r=t.next(),t[n?"detach":"remove"](),i.hasClass("k-item")&&(d(i),s._updateNodeClasses(i)),s._updateNodeClasses(a),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,i){return e(i).text()==t}).closest(P)},findByUid:function(e){return this.element.find(".k-item["+f.attr("uid")+"="+e+"]")},expandPath:function(n,i){var a=this.dataSource,r=a.get(n[0]);for(i=i||e.noop;n.length>0&&(r.expanded||r.loaded());)r.set("expanded",!0),n.shift(),r=a.get(n[0]);return n.length?(a.bind("change",function(e){var t=e.node&&e.node.id;t&&t===n[0]&&(n.shift(),n.length?a.get(n[0]).set("expanded",!0):i())}),r.set("expanded",!0),t):i()},_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,a=e.items,r=a?a.length:0,s=e.group;for(s.length=r;r>i;i++)e.group=s,e.item=a[i],e.item.index=i,n+=t._renderItem(e);return n},e.r=t.templates,t.templates.group(e)}}),o.prototype={_removeTouchHover:function(){var e=this;f.support.touch&&e.hovered&&(e.hovered.find("."+M).removeClass(M),e.hovered=!1)},_hintStatus:function(n){var i=this._draggable.hint.find(".k-drag-status")[0];return n?(i.className="k-icon k-drag-status "+n,t):e.trim(i.className.replace(/k-(icon|drag-status)/g,""))},dragstart:function(t){var n=this,i=n.treeview,a=n.sourceNode=t.currentTarget.closest(P);i.trigger(D,{sourceNode:a[0]})&&t.preventDefault(),n.dropHint=e("<div class='k-drop-hint' />").css(q,"hidden").appendTo(i.element)},drag:function(t){var n,i,a,r,s,d,o,l,c,u,h=this,p=h.treeview,g=h.sourceNode,m=h.dropTarget=e(f.eventTarget(t)),k=m.closest(".k-treeview");k.length?e.contains(g[0],m[0])?n="k-denied":(n="k-insert-middle",i=m.closest(".k-top,.k-mid,.k-bot"),i.length?(r=i.outerHeight(),s=f.getOffset(i).top,d=m.closest(".k-in"),o=r/(d.length>0?4:2),l=t.y.location<s+o,c=s+r-o<t.y.location,h._removeTouchHover(),u=d.length&&!l&&!c,h.hovered=u?k:!1,h.dropHint.css(q,u?"hidden":"visible"),d.toggleClass(M,u),u?n="k-add":(a=i.position(),a.top+=l?0:r,h.dropHint.css(a)[l?"prependTo":"appendTo"](m.closest(P).children("div:first")),l&&i.hasClass("k-top")&&(n="k-insert-top"),c&&i.hasClass("k-bot")&&(n="k-insert-bottom"))):m[0]!=h.dropHint[0]&&(n=k[0]!=p.element[0]?"k-add":"k-denied")):(n="k-denied",h._removeTouchHover()),p.trigger(A,{sourceNode:g[0],dropTarget:m[0],pageY:t.y.location,pageX:t.x.location,statusClass:n.substring(2),setStatusClass:function(e){n=e}}),0!==n.indexOf("k-insert")&&h.dropHint.css(q,"hidden"),h._hintStatus(n)},dragcancel:function(){this.dropHint.remove()},dragend:function(){function e(e){s.trigger(V,{sourceNode:e&&e[0],destinationNode:n[0],dropPosition:d})}var n,i,a,r=this,s=r.treeview,d="over",o=r.sourceNode,l=r.dropHint,c=r.dropTarget;return"visible"==l.css(q)?(d=l.prevAll(".k-in").length>0?"after":"before",n=l.closest(P)):c&&(n=c.closest(P),n.length||(n=c.closest(".k-treeview"))),i={sourceNode:o[0],destinationNode:n[0],valid:"k-denied"!=r._hintStatus(),setValid:function(e){this.valid=e},dropTarget:c[0],dropPosition:d},a=s.trigger(O,i),l.remove(),r._removeTouchHover(),!i.valid||a?(r._draggable.dropped=i.valid,t):(r._draggable.dropped=!0,"over"==d?s.append(o,n,e):("before"==d?o=s.insertBefore(o,n):"after"==d&&(o=s.insertAfter(o,n)),e(o)),t)},destroy:function(){this._draggable.destroy()}},g.plugin(l)}(window.kendo.jQuery)})}("function"==typeof define&&define.amd?define:function(e,t){return t()});
|
|
//@ sourceMappingURL=kendo.treeview.min.js.map
|