@progress/kendo-ui
Version:
This package is part of the [Kendo UI for jQuery](http://www.telerik.com/kendo-ui) suite.
3 lines (2 loc) • 3.27 kB
JavaScript
!function(e){"function"==typeof define&&define.amd?define(["kendo.core.min"],e):e()}((function(){var e,t,n,i,o,s,a;e=window.kendo.jQuery,n="open",i="close",o="click"+(t=".kendoResponsivePanel")+" touchstart"+t+" touchend"+t,s=kendo.ui.Widget,a=s.extend({init:function(n,i){s.fn.init.call(this,n,i),this._guid="_"+kendo.guid(),this._toggleHandler=this._toggleButtonClick.bind(this),this._closeHandler=this._close.bind(this),e(document.documentElement).on(o,this.options.toggleButton,this._toggleHandler),this._registerBreakpoint(),this.options.content&&(kendo.destroy(this.element.children()),this.element.html(this.options.content)),this.element.addClass("k-rpanel k-rpanel-"+this.options.orientation+" "+this._guid),this._resizeHandler=this.resize.bind(this,!0),e(window).on("resize"+t,this._resizeHandler)},_mediaQuery:function(e){var t=e.breakpoint,n=e.guid;return"@media (max-width: "+(t-1)+"px) {."+n+".k-rpanel-animate.k-rpanel-left,."+n+".k-rpanel-animate.k-rpanel-right {-webkit-transition: -webkit-transform .2s ease-out;-ms-transition: -ms-transform .2s ease-out;transition: transform .2s ease-out;} ."+n+".k-rpanel-top {overflow: hidden;}."+n+".k-rpanel-animate.k-rpanel-top {-webkit-transition: max-height .2s linear;-ms-transition: max-height .2s linear;transition: max-height .2s linear;}} @media (min-width: "+t+"px) {"+e.toggleButton+" { display: none; } ."+n+".k-rpanel-left { float: left; } ."+n+".k-rpanel-right { float: right; } ."+n+".k-rpanel-left, ."+n+".k-rpanel-right {position: relative;-webkit-transform: translateX(0);-ms-transform: translateX(0);transform: translateX(0);-webkit-transform: translateX(0) translateZ(0);-ms-transform: translateX(0) translateZ(0);transform: translateX(0) translateZ(0);} .k-ie9 ."+n+".k-rpanel-left { left: 0; } ."+n+".k-rpanel-top { max-height: none; }}"},_registerBreakpoint:function(){var e=this.options;this._registerStyle(this._mediaQuery({breakpoint:e.breakpoint,toggleButton:e.toggleButton,guid:this._guid}))},_registerStyle:function(t){var n=e("head,body")[0],i=document.createElement("style");n.appendChild(i),i.styleSheet?i.styleSheet.cssText=t:i.appendChild(document.createTextNode(t))},options:{name:"ResponsivePanel",content:"",orientation:"left",toggleButton:".k-rpanel-toggle",breakpoint:640,autoClose:!0},events:[n,i],_resize:function(){this.element.removeClass("k-rpanel-animate k-rpanel-expanded"),e(document.documentElement).off(o,this._closeHandler)},_toggleButtonClick:function(e){e.preventDefault(),"touchend"!=e.type&&(this.element.hasClass("k-rpanel-expanded")?this.close():this.open())},open:function(){this.trigger(n)||(this.element.addClass("k-rpanel-animate k-rpanel-expanded"),this.options.autoClose&&e(document.documentElement).on(o,this._closeHandler))},close:function(){this.trigger(i)||(this.element.addClass("k-rpanel-animate").removeClass("k-rpanel-expanded"),e(document.documentElement).off(o,this._closeHandler))},_close:function(t){var n=t.isDefaultPrevented();e(t.target).closest(this.options.toggleButton+",.k-rpanel").length||n||this.close()},destroy:function(){s.fn.destroy.call(this),e(window).off("resize"+t,this._resizeHandler),e(document.documentElement).off(o,this._closeHandler)}}),kendo.ui.plugin(a)}));
//# sourceMappingURL=kendo.responsivepanel.min.js.map