@progress/kendo-ui
Version:
This package is part of the [Kendo UI for jQuery](http://www.telerik.com/kendo-ui) suite.
1 lines • 12.6 kB
JavaScript
module.exports=function(i){var r={};function n(e){if(r[e])return r[e].exports;var t=r[e]={exports:{},id:e,loaded:!1};return i[e].call(t.exports,t,t.exports,n),t.loaded=!0,t.exports}return n.m=i,n.c=r,n.p="",n(0)}({0:function(e,t,i){e.exports=i(1439)},3:function(e,t){e.exports=function(){throw Error("define cannot be used indirect")}},1060:function(e,t){e.exports=require("jquery")},1220:function(e,t){e.exports=require("./kendo.resizable")},1439:function(e,t,i){var r,U;U=i(1060),i(3),i=[i(1220)],void 0===(t="function"==typeof(r=function(){var e={id:"splitter",name:"Splitter",category:"web",description:"The Splitter widget provides an easy way to create a dynamic layout of resizable and collapsible panes.",depends:["resizable"]},_=window.kendo.jQuery,a=void 0,b=window.kendo,t=b.ui,p=b.keys,r=_.extend,s=t.Widget,i=/^\d+(\.\d+)?px$/i,o=/^\d+(\.\d+)?%$/i,n=".kendoSplitter",d="expand",c="collapse",l="contentLoad",u="error",h,w="layoutChange",z="horizontal",f="vertical",g="mouseenter",v="click",x="pane",m="mouseleave",k="k-state-focused",P="k-"+x,y="."+P,C="tabindex",S="aria-valuemin",A="aria-valuemax",E="aria-valuenow",T="aria-controls",D="aria-label",B="aria-labelledby",I="aria-orientation";function H(e){return o.test(e)}function q(e){return i.test(e)||/^\d+$/.test(e)}function M(e){return!H(e)&&!q(e)}function N(e,t){var i=parseInt(e,10);if(H(e))i=Math.floor(i*t/100);return i}function R(n,a){return function(e,t){var i=this.element.find(e).data(x);if(arguments.length==1)return i[n];i[n]=t;if(a){var r=this.element.data("kendo"+this.options.name);r.resize(true)}}}var L=s.extend({init:function(e,t){var i=this,r;s.fn.init.call(i,e,t);i.wrapper=i.element;if(i.options.orientation)r=i.options.orientation.toLowerCase()!=f;i.orientation=r?z:f;i._dimension=r?"width":"height";i._keys={decrease:r?p.LEFT:p.UP,increase:r?p.RIGHT:p.DOWN};i._resizeStep=10;i._marker=b.guid().substring(0,8);i._initPanes();i.resizing=new W(i);i.element.triggerHandler("init"+n)},events:[d,c,l,u,"resize",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,e=t.options.orientation;t.element.children(".k-splitbar-draggable-"+e).on("keydown"+n,t._keydown.bind(t)).on("mousedown"+n,function(e){e.currentTarget.focus()}).on("focus"+n,function(e){_(e.currentTarget).addClass(k)}).on("blur"+n,function(e){_(e.currentTarget).removeClass(k);if(t.resizing)t.resizing.end()}).on(g+n,function(){_(this).addClass("k-splitbar-"+t.orientation+"-hover")}).on(m+n,function(){_(this).removeClass("k-splitbar-"+t.orientation+"-hover")}).on("mousedown"+n,t._addOverlays.bind(t)).end().children(".k-splitbar").on("dblclick"+n,t._togglePane.bind(t)).children(".k-collapse-next, .k-collapse-prev").on(v+n,t._arrowClick(c)).end().children(".k-expand-next, .k-expand-prev").on(v+n,t._arrowClick(d)).end().end();_(window).on("resize"+n+t._marker,t.resize.bind(t,false));_(document).on("mouseup"+n+t._marker,t._removeOverlays.bind(t))},_detachEvents:function(){var e=this;e.element.children(".k-splitbar-draggable-"+e.orientation).off(n).end().children(".k-splitbar").off("dblclick"+n).children(".k-collapse-next, .k-collapse-prev, .k-expand-next, .k-expand-prev").off(n);_(window).off(n+e._marker);_(document).off(n+e._marker)},options:{name:"Splitter",orientation:z,panes:[]},destroy:function(){s.fn.destroy.call(this);this._detachEvents();if(this.resizing)this.resizing.destroy();b.destroy(this.element);this.wrapper=this.element=null},_keydown:function(e){var t=this,i=e.keyCode,r=t.resizing,n=_(e.currentTarget),a=t._keys,s=i===a.increase,o=i===a.decrease,l;if(s||o){if(e.ctrlKey){l=n[o?"next":"prev"]();if(r&&r.isResizing())r.end();if(!l[t._dimension]())t._triggerAction(d,l);else t._triggerAction(c,n[o?"prev":"next"]())}else if(r)r.move((o?-1:1)*t._resizeStep,n);e.preventDefault()}else if(i===p.HOME){l=n.prev();t.collapse(l);e.preventDefault()}else if(i===p.END){l=n.prev();t.expand(l);e.preventDefault()}else if(i===p.ENTER&&r){r.end();e.preventDefault()}},_initPanes:function(){var i=this.options.panes||[];var r=this;this.element.addClass("k-widget").addClass("k-splitter").children().each(function(e,t){if(t.nodeName.toLowerCase()!="script")r._initPane(t,i[e])});this.resize()},_initPane:function(e,t){e=_(e).attr("role","group").addClass(P);e.data(x,t?t:{}).toggleClass("k-scrollable",t?t.scrollable!==false:true);this.ajaxRequest(e)},ajaxRequest:function(i,e,t){var r=this,n;i=r.element.find(i);n=i.data(x);e=e||n.contentUrl;if(e){i.append("<span class='k-icon k-i-loading k-pane-loading' />");if(b.isLocalUrl(e))U.ajax({url:e,data:t||{},type:"GET",dataType:"html",success:function(e){r.angular("cleanup",function(){return{elements:i.get()}});i.html(e);r.angular("compile",function(){return{elements:i.get()}});r.trigger(l,{pane:i[0]})},error:function(e,t){r.trigger(u,{pane:i[0],status:t,xhr:e})}});else i.removeClass("k-scrollable").html("<iframe src='"+e+"' frameborder='0' class='k-content-frame'>"+"This page requires frames in order to show content"+"</iframe>")}},_triggerAction:function(e,t){var i=t.data(x);var r=i.collapsed&&e==d||!i.collapsed&&e==c;if(!i.collapsible)return;if(r&&!this.trigger(e,{pane:t[0]}))this[e](t[0])},_togglePane:function(e){var t=this,i=_(e.target),r;if(i.closest(".k-splitter")[0]!=t.element[0])return;r=i.children(".k-icon:not(.k-resize-handle)");if(r.length!==1)return;if(r.is(".k-collapse-prev"))t._triggerAction(c,i.prev());else if(r.is(".k-collapse-next"))t._triggerAction(c,i.next());else if(r.is(".k-expand-prev"))t._triggerAction(d,i.prev());else if(r.is(".k-expand-next"))t._triggerAction(d,i.next())},_arrowClick:function(r){var n=this;return function(e){var t=_(e.target),i;if(t.closest(".k-splitter")[0]!=n.element[0])return;if(t.is(".k-"+r+"-prev"))i=t.parent().prev();else i=t.parent().next();n._triggerAction(r,i)}},_updateSplitBar:function(e,t,d,c){var i=function(e,t){return t?"<div class='k-icon "+e+"'></div>":""},r=this.orientation,n=t.resizable!==false&&d.resizable!==false,a=t.collapsible,s=t.collapsed,o=d.collapsible,l=d.collapsed,p=c.attr("id");if(!p){p=b.guid();c.attr("id",p)}e.addClass("k-splitbar k-splitbar-"+r).attr("role","separator").attr(S,"0").attr(A,"100").attr(T,p).removeClass("k-splitbar-"+r+"-hover").toggleClass("k-splitbar-draggable-"+r,n&&!s&&!l).toggleClass("k-splitbar-static-"+r,!n&&!a&&!o).html(i("k-collapse-prev k-i-arrow-60-up",a&&!s&&!l&&r==f)+i("k-collapse-prev k-i-arrow-60-left",a&&!s&&!l&&r==z)+i("k-expand-prev k-i-arrow-60-down",a&&s&&!l&&r==f)+i("k-expand-prev k-i-arrow-60-right",a&&s&&!l&&r==z)+i("k-resize-handle k-i-hbar",n&&r==f)+i("k-resize-handle k-i-vbar",n&&r==z)+i("k-collapse-next k-i-arrow-60-down",o&&!l&&!s&&r==f)+i("k-collapse-next k-i-arrow-60-right",o&&!l&&!s&&r==z)+i("k-expand-next k-i-arrow-60-up",o&&l&&!s&&r==f)+i("k-expand-next k-i-arrow-60-left",o&&l&&!s&&r==z));if(t.labelId)e.attr(B,t.labelId);else if(t.label)e.attr(D,t.label);if(r==z)e.attr(I,f);if(!n&&!a&&!o)e.removeAttr(C)},_updateSplitBars:function(){var n=this;this.element.children(".k-splitbar").each(function(){var e=_(this),t=e.prevAll(y).first(),i=t.data(x),r=e.nextAll(y).first().data(x);if(!r)return;n._updateSplitBar(e,i,r,t)})},_removeSplitBars:function(){this.element.children(".k-splitbar").remove()},_panes:function(){if(!this.element)return _();return this.element.children(y)},_resetAriaValueNow:function(e,t){var i,r,n,a;for(i=0;i<e.length;i++){a=t[i]+t[i+1]||1;n=Math.round(t[i]/a*100);r=e[i];r.setAttribute(E,n)}},_resize:function(){var e=this,t=e.element,i=t.children(y),r=e.orientation==z,n=t.children(".k-splitbar"),d=n.length,a=r?"width":"height",s=t[a](),o=[];e.wrapper.addClass("k-splitter-resizing");if(d===0){d=i.length-1;i.slice(0,d).after("<div tabindex='0' class='k-splitbar' data-marker='"+e._marker+"' />");e._updateSplitBars();n=t.children(".k-splitbar")}else e._updateSplitBars();n.each(function(){s-=this[r?"offsetWidth":"offsetHeight"]});var c=0,f=0,l=_();i.css({position:"absolute",top:0})[a](function(){var e=_(this),t=e.data(x)||{},i;e.removeClass("k-state-collapsed");if(t.collapsed){i=t.collapsedSize?N(t.collapsedSize,s):0;e.css("overflow","hidden").addClass("k-state-collapsed")}else if(M(t.size)){l=l.add(this);o.push(false);return}else i=N(t.size,s);f++;c+=i;o.push(i);return i});s-=c;var p=l.length,u=Math.floor(s/p);l.slice(0,p-1).css(a,u).end().eq(p-1).css(a,s-(p-1)*u);o.forEach(function(e,t){if(e===false)o[t]=u});e._resetAriaValueNow(n,o);var h=0,g=r?"height":"width",v=r?"left":"top",m=r?"offsetWidth":"offsetHeight";if(p===0){var k=i.filter(function(){return!(_(this).data(x)||{}).collapsed}).last();k[a](s+k[0][m])}t.children().css(g,t[g]()).each(function(e,t){if(t.tagName.toLowerCase()!="script"){t.style[v]=Math.floor(h)+"px";h+=t[m]}});e._detachEvents();e._attachEvents();e.wrapper.removeClass("k-splitter-resizing");b.resize(i);e.trigger(w)},toggle:function(e,t){var i=this,r;e=i.element.find(e);r=e.data(x);if(!t&&!r.collapsible)return;if(arguments.length==1)t=r.collapsed===a?false:r.collapsed;r.collapsed=!t;if(r.collapsed)e.css("overflow","hidden");else e.css("overflow","");i.resize(true)},collapse:function(e){this.toggle(e,false)},expand:function(e){this.toggle(e,true)},_addPane:function(e,t,i){var r=this;if(i.length){r.options.panes.splice(t,0,e);r._initPane(i,e);r._removeSplitBars();r.resize(true)}return i},append:function(e){e=e||{};var t=this,i=_("<div />").appendTo(t.element);return t._addPane(e,t.options.panes.length,i)},insertBefore:function(e,t){t=_(t);e=e||{};var i=this,r=i.wrapper.children(".k-pane").index(t),n=_("<div />").insertBefore(_(t));return i._addPane(e,r,n)},insertAfter:function(e,t){t=_(t);e=e||{};var i=this,r=i.wrapper.children(".k-pane").index(t),n=_("<div />").insertAfter(_(t));return i._addPane(e,r+1,n)},remove:function(e){var i=this;e=i.wrapper.find(e);if(e.length){b.destroy(e);e.each(function(e,t){i.options.panes.splice(i.wrapper.children(".k-pane").index(t),1);_(t).remove()});i._removeSplitBars();if(i.options.panes.length)i.resize(true)}return i},size:R("size",true),min:R("min"),max:R("max")}),O=(t.plugin(L),{sizingProperty:"height",sizingDomProperty:"offsetHeight",alternateSizingProperty:"width",positioningProperty:"top",mousePositioningProperty:"pageY"}),j={sizingProperty:"width",sizingDomProperty:"offsetWidth",alternateSizingProperty:"height",positioningProperty:"left",mousePositioningProperty:"pageX"};function W(e){var t=this,i=e.orientation;t.owner=e;t._element=e.element;t.orientation=i;r(t,i===z?j:O);t._resizable=new b.ui.Resizable(e.element,{orientation:i,handle:".k-splitbar-draggable-"+i+"[data-marker="+e._marker+"]",hint:t._createHint.bind(t),start:t._start.bind(t),max:t._max.bind(t),min:t._min.bind(t),invalidClass:"k-restricted-size-"+i,resizeend:t._stop.bind(t)})}return W.prototype={press:function(e){this._resizable.press(e)},move:function(e,t){if(!this.pressed){this.press(t);this.pressed=true}if(!this._resizable.target)this._resizable.press(t);this._resizable.move(e)},end:function(){this._resizable.end();this.pressed=false},destroy:function(){this._resizable.destroy();this._resizable=this._element=this.owner=null},isResizing:function(){return this._resizable.resizing},_createHint:function(e){var t=this;return _("<div class='k-ghost-splitbar k-ghost-splitbar-"+t.orientation+"' />").css(t.alternateSizingProperty,e[t.alternateSizingProperty]())},_start:function(e){var t=this,i=_(e.currentTarget),r=i.prev(),n=i.next(),a=r.data(x),s=n.data(x),o=parseInt(r[0].style[t.positioningProperty],10),l=parseInt(n[0].style[t.positioningProperty],10)+n[0][t.sizingDomProperty]-i[0][t.sizingDomProperty],d=parseInt(t._element.css(t.sizingProperty),10),p=function(e){var t=parseInt(e,10);return(q(e)?t:d*t/100)||0},c=p(a.min),f=p(a.max)||l-o,u=p(s.min),h=p(s.max)||l-o;t.previousPane=r;t.nextPane=n;t._maxPosition=Math.min(l-u,o+f);t._minPosition=Math.max(o+c,l-h)},_max:function(){return this._maxPosition},_min:function(){return this._minPosition},_stop:function(e){var t=this,i=_(e.currentTarget),r=t.owner;r._panes().children(".k-splitter-overlay").remove();if(e.keyCode!==b.keys.ESC){var n=e.position,a=i.prev(),s=i.next(),o=a.data(x),l=s.data(x),d=n-parseInt(a[0].style[t.positioningProperty],10),c=parseInt(s[0].style[t.positioningProperty],10)+s[0][t.sizingDomProperty]-n-i[0][t.sizingDomProperty],p=t._element.children(y).filter(function(){return M(_(this).data(x).size)}).length;if(!M(o.size)||p>1){if(M(o.size))p--;o.size=d+"px"}if(!M(l.size)||p>1)l.size=c+"px";r.resize(true)}return false}},window.kendo})?r.apply(t,i):r)||(e.exports=t)}});