kendo.splitter.min.js 14.6 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.splitter.min",["kendo.resizable.min"],e)}(function(){return function(e,t){function n(e){return v.test(e)}function i(e){return m.test(e)||/^\d+$/.test(e)}function r(e){return!n(e)&&!i(e)}function s(e,t){var i=parseInt(e,10);return n(e)&&(i=Math.floor(i*t/100)),i}function a(e,n){return function(i,r){var s,a=this.element.find(i).data(T);return 1==arguments.length?a[e]:(a[e]=r,n&&(s=this.element.data("kendo"+this.options.name),s.resize(!0)),t)}}function o(e){var t=this,n=e.orientation;t.owner=e,t._element=e.element,t.orientation=n,u(t,n===P?p:l),t._resizable=new d.ui.Resizable(e.element,{orientation:n,handle:".k-splitbar-draggable-"+n+"[data-marker="+e._marker+"]",hint:g(t._createHint,t),start:g(t._start,t),max:g(t._max,t),min:g(t._min,t),invalidClass:"k-restricted-size-"+n,resizeend:g(t._stop,t)})}var l,p,d=window.kendo,c=d.ui,h=d.keys,u=e.extend,g=e.proxy,f=c.Widget,m=/^\d+(\.\d+)?px$/i,v=/^\d+(\.\d+)?%$/i,k=".kendoSplitter",_="expand",z="collapse",y="contentLoad",x="error",b="resize",w="layoutChange",P="horizontal",C="vertical",S="mouseenter",A="click",T="pane",B="mouseleave",E="k-state-focused",D="k-"+T,I="."+D,H=f.extend({init:function(e,t){var n,i=this;f.fn.init.call(i,e,t),i.wrapper=i.element,n=i.options.orientation.toLowerCase()!=C,i.orientation=n?P:C,i._dimension=n?"width":"height",i._keys={decrease:n?h.LEFT:h.UP,increase:n?h.RIGHT:h.DOWN},i._resizeStep=10,i._marker=d.guid().substring(0,8),i._initPanes(),i.resizing=new o(i),i.element.triggerHandler("init"+k)},events:[_,z,y,x,b,w],_addOverlays:function(){this._panes().append("<div class='k-splitter-overlay k-overlay' />")},_removeOverlays:function(){this._panes().children(".k-splitter-overlay").remove()},_attachEvents:function(){var t=this,n=t.options.orientation;t.element.children(".k-splitbar-draggable-"+n).on("keydown"+k,g(t._keydown,t)).on("mousedown"+k,function(e){e.currentTarget.focus()}).on("focus"+k,function(t){e(t.currentTarget).addClass(E)}).on("blur"+k,function(n){e(n.currentTarget).removeClass(E),t.resizing&&t.resizing.end()}).on(S+k,function(){e(this).addClass("k-splitbar-"+t.orientation+"-hover")}).on(B+k,function(){e(this).removeClass("k-splitbar-"+t.orientation+"-hover")}).on("mousedown"+k,g(t._addOverlays,t)).end().children(".k-splitbar").on("dblclick"+k,g(t._togglePane,t)).children(".k-collapse-next, .k-collapse-prev").on(A+k,t._arrowClick(z)).end().children(".k-expand-next, .k-expand-prev").on(A+k,t._arrowClick(_)).end().end(),e(window).on("resize"+k+t._marker,g(t.resize,t,!1)),e(document).on("mouseup"+k+t._marker,g(t._removeOverlays,t))},_detachEvents:function(){var t=this;t.element.children(".k-splitbar-draggable-"+t.orientation).off(k).end().children(".k-splitbar").off("dblclick"+k).children(".k-collapse-next, .k-collapse-prev, .k-expand-next, .k-expand-prev").off(k),e(window).off(k+t._marker),e(document).off(k+t._marker)},options:{name:"Splitter",orientation:P,panes:[]},destroy:function(){f.fn.destroy.call(this),this._detachEvents(),this.resizing&&this.resizing.destroy(),d.destroy(this.element),this.wrapper=this.element=null},_keydown:function(t){var n,i=this,r=t.keyCode,s=i.resizing,a=e(t.currentTarget),o=i._keys,l=r===o.increase,p=r===o.decrease;l||p?(t.ctrlKey?(n=a[p?"next":"prev"](),s&&s.isResizing()&&s.end(),n[i._dimension]()?i._triggerAction(z,a[p?"prev":"next"]()):i._triggerAction(_,n)):s&&s.move((p?-1:1)*i._resizeStep,a),t.preventDefault()):r===h.ENTER&&s&&(s.end(),t.preventDefault())},_initPanes:function(){var e=this.options.panes||[],t=this;this.element.addClass("k-widget").addClass("k-splitter").children().each(function(n,i){"script"!=i.nodeName.toLowerCase()&&t._initPane(i,e[n])}),this.resize()},_initPane:function(t,n){t=e(t).attr("role","group").addClass(D),t.data(T,n?n:{}).toggleClass("k-scrollable",n?n.scrollable!==!1:!0),this.ajaxRequest(t)},ajaxRequest:function(e,t,n){var i,r=this;e=r.element.find(e),i=e.data(T),t=t||i.contentUrl,t&&(e.append("<span class='k-icon k-loading k-pane-loading' />"),d.isLocalUrl(t)?jQuery.ajax({url:t,data:n||{},type:"GET",dataType:"html",success:function(t){r.angular("cleanup",function(){return{elements:e.get()}}),e.html(t),r.angular("compile",function(){return{elements:e.get()}}),r.trigger(y,{pane:e[0]})},error:function(t,n){r.trigger(x,{pane:e[0],status:n,xhr:t})}}):e.removeClass("k-scrollable").html("<iframe src='"+t+"' frameborder='0' class='k-content-frame'>This page requires frames in order to show content</iframe>"))},_triggerAction:function(e,t){this.trigger(e,{pane:t[0]})||this[e](t[0])},_togglePane:function(t){var n,i=this,r=e(t.target);r.closest(".k-splitter")[0]==i.element[0]&&(n=r.children(".k-icon:not(.k-resize-handle)"),1===n.length&&(n.is(".k-collapse-prev")?i._triggerAction(z,r.prev()):n.is(".k-collapse-next")?i._triggerAction(z,r.next()):n.is(".k-expand-prev")?i._triggerAction(_,r.prev()):n.is(".k-expand-next")&&i._triggerAction(_,r.next())))},_arrowClick:function(t){var n=this;return function(i){var r,s=e(i.target);s.closest(".k-splitter")[0]==n.element[0]&&(r=s.is(".k-"+t+"-prev")?s.parent().prev():s.parent().next(),n._triggerAction(t,r))}},_updateSplitBar:function(e,t,n){var i=function(e,t){return t?"<div class='k-icon "+e+"' />":""},r=this.orientation,s=t.resizable!==!1&&n.resizable!==!1,a=t.collapsible,o=t.collapsed,l=n.collapsible,p=n.collapsed;e.addClass("k-splitbar k-state-default k-splitbar-"+r).attr("role","separator").attr("aria-expanded",!(o||p)).removeClass("k-splitbar-"+r+"-hover").toggleClass("k-splitbar-draggable-"+r,s&&!o&&!p).toggleClass("k-splitbar-static-"+r,!s&&!a&&!l).html(i("k-collapse-prev",a&&!o&&!p)+i("k-expand-prev",a&&o&&!p)+i("k-resize-handle",s)+i("k-collapse-next",l&&!p&&!o)+i("k-expand-next",l&&p&&!o)),s||a||l||e.removeAttr("tabindex")},_updateSplitBars:function(){var t=this;this.element.children(".k-splitbar").each(function(){var n=e(this),i=n.prevAll(I).first().data(T),r=n.nextAll(I).first().data(T);r&&t._updateSplitBar(n,i,r)})},_removeSplitBars:function(){this.element.children(".k-splitbar").remove()},_panes:function(){return this.element?this.element.children(I):e()},_resize:function(){var n,i,a,o,l,p,c,h,u,g,f=this,m=f.element,v=m.children(I),k=f.orientation==P,_=m.children(".k-splitbar"),z=_.length,y=k?"width":"height",x=m[y]();f.wrapper.addClass("k-splitter-resizing"),0===z?(z=v.length-1,v.slice(0,z).after("<div tabindex='0' class='k-splitbar' data-marker='"+f._marker+"' />"),f._updateSplitBars(),_=m.children(".k-splitbar")):f._updateSplitBars(),_.each(function(){x-=this[k?"offsetWidth":"offsetHeight"]}),n=0,i=0,a=e(),v.css({position:"absolute",top:0})[y](function(){var o,l=e(this),p=l.data(T)||{};if(l.removeClass("k-state-collapsed"),p.collapsed)o=p.collapsedSize?s(p.collapsedSize,x):0,l.css("overflow","hidden").addClass("k-state-collapsed");else{if(r(p.size))return a=a.add(this),t;o=s(p.size,x)}return i++,n+=o,o}),x-=n,o=a.length,l=Math.floor(x/o),a.slice(0,o-1).css(y,l).end().eq(o-1).css(y,x-(o-1)*l),p=0,c=k?"height":"width",h=k?"left":"top",u=k?"offsetWidth":"offsetHeight",0===o&&(g=v.filter(function(){return!(e(this).data(T)||{}).collapsed}).last(),g[y](x+g[0][u])),m.children().css(c,m[c]()).each(function(e,t){"script"!=t.tagName.toLowerCase()&&(t.style[h]=Math.floor(p)+"px",p+=t[u])}),f._detachEvents(),f._attachEvents(),f.wrapper.removeClass("k-splitter-resizing"),d.resize(v),f.trigger(w)},toggle:function(e,n){var i,r=this;e=r.element.find(e),i=e.data(T),(n||i.collapsible)&&(1==arguments.length&&(n=i.collapsed===t?!1:i.collapsed),i.collapsed=!n,i.collapsed?e.css("overflow","hidden"):e.css("overflow",""),r.resize(!0))},collapse:function(e){this.toggle(e,!1)},expand:function(e){this.toggle(e,!0)},_addPane:function(e,t,n){var i=this;return n.length&&(i.options.panes.splice(t,0,e),i._initPane(n,e),i._removeSplitBars(),i.resize(!0)),n},append:function(t){t=t||{};var n=this,i=e("<div />").appendTo(n.element);return n._addPane(t,n.options.panes.length,i)},insertBefore:function(t,n){n=e(n),t=t||{};var i=this,r=i.wrapper.children(".k-pane").index(n),s=e("<div />").insertBefore(e(n));return i._addPane(t,r,s)},insertAfter:function(t,n){n=e(n),t=t||{};var i=this,r=i.wrapper.children(".k-pane").index(n),s=e("<div />").insertAfter(e(n));return i._addPane(t,r+1,s)},remove:function(t){t=e(t);var n=this;return t.length&&(d.destroy(t),t.each(function(t,i){n.options.panes.splice(n.wrapper.children(".k-pane").index(i),1),e(i).remove()}),n._removeSplitBars(),n.options.panes.length&&n.resize(!0)),n},size:a("size",!0),min:a("min"),max:a("max")});c.plugin(H),l={sizingProperty:"height",sizingDomProperty:"offsetHeight",alternateSizingProperty:"width",positioningProperty:"top",mousePositioningProperty:"pageY"},p={sizingProperty:"width",sizingDomProperty:"offsetWidth",alternateSizingProperty:"height",positioningProperty:"left",mousePositioningProperty:"pageX"},o.prototype={press:function(e){this._resizable.press(e)},move:function(e,t){this.pressed||(this.press(t),this.pressed=!0),this._resizable.target||this._resizable.press(t),this._resizable.move(e)},end:function(){this._resizable.end(),this.pressed=!1},destroy:function(){this._resizable.destroy(),this._resizable=this._element=this.owner=null},isResizing:function(){return this._resizable.resizing},_createHint:function(t){var n=this;return e("<div class='k-ghost-splitbar k-ghost-splitbar-"+n.orientation+" k-state-default' />").css(n.alternateSizingProperty,t[n.alternateSizingProperty]())},_start:function(t){var n=this,r=e(t.currentTarget),s=r.prev(),a=r.next(),o=s.data(T),l=a.data(T),p=parseInt(s[0].style[n.positioningProperty],10),d=parseInt(a[0].style[n.positioningProperty],10)+a[0][n.sizingDomProperty]-r[0][n.sizingDomProperty],c=parseInt(n._element.css(n.sizingProperty),10),h=function(e){var t=parseInt(e,10);return(i(e)?t:c*t/100)||0},u=h(o.min),g=h(o.max)||d-p,f=h(l.min),m=h(l.max)||d-p;n.previousPane=s,n.nextPane=a,n._maxPosition=Math.min(d-f,p+g),n._minPosition=Math.max(p+u,d-m)},_max:function(){return this._maxPosition},_min:function(){return this._minPosition},_stop:function(t){var n,i,s,a,o,l,p,c,h=this,u=e(t.currentTarget),g=h.owner;return g._panes().children(".k-splitter-overlay").remove(),t.keyCode!==d.keys.ESC&&(n=t.position,i=u.prev(),s=u.next(),a=i.data(T),o=s.data(T),l=n-parseInt(i[0].style[h.positioningProperty],10),p=parseInt(s[0].style[h.positioningProperty],10)+s[0][h.sizingDomProperty]-n-u[0][h.sizingDomProperty],c=h._element.children(I).filter(function(){return r(e(this).data(T).size)}).length,(!r(a.size)||c>1)&&(r(a.size)&&c--,a.size=l+"px"),(!r(o.size)||c>1)&&(o.size=p+"px"),g.resize(!0)),!1}}}(window.kendo.jQuery),window.kendo},"function"==typeof define&&define.amd?define:function(e,t,n){(n||t)()});
//# sourceMappingURL=kendo.splitter.min.js.map