@progress/kendo-ui
Version:
This package is part of the [Kendo UI for jQuery](http://www.telerik.com/kendo-ui) suite.
1 lines • 6.5 kB
JavaScript
module.exports=function(e){function t(r){if(i[r])return i[r].exports;var s=i[r]={exports:{},id:r,loaded:!1};return e[r].call(s.exports,s,s.exports,t),s.loaded=!0,s.exports}var i={};return t.m=e,t.c=i,t.p="",t(0)}({0:function(e,t,i){e.exports=i(1144)},3:function(e,t){e.exports=function(){throw Error("define cannot be used indirect")}},1056:function(e,t){e.exports=require("./kendo.userevents")},1144:function(e,t,i){var r,s,n;!function(a,define){s=[i(1056)],r=a,n="function"==typeof r?r.apply(t,s):r,!(void 0!==n&&(e.exports=n))}(function(){return function(e,t){var i=window.kendo,r=i.ui,s=r.Widget,n="show",a="hide",d="itemClick",o="push",h="overlay",p="left",l="right",m=i.ui.Widget.extend({init:function(t,r){var n,a,d=this;s.fn.init.call(this,t,r),r=d.options,d._element(t),d._wrapper(t),d.position(),d._mode(),r.mini&&d._miniMode(),d._initDrawerItems(),r.mini&&r.mode!=o&&d._setBodyOffset(),n=this.userEvents=new i.UserEvents(r.mode!=o?e(document.body):this.drawerContainer,{fastTap:!0,allowSelection:!0}),a=function(t){e.contains(d.drawerItemsWrapper[0],t.event.target)&&d._itemClick(t),d.visible&&!d.trigger("hide",{sender:this})&&(d.hide(),t.preventDefault())},this.options.swipeToOpen?(n.bind("start",function(e){d._start(e)}),n.bind("move",function(e){d._update(e)}),n.bind("end",function(e){d._end(e)}),n.bind("tap",a)):n.bind("press",a),r.minHeight&&r.mode==o&&d.drawerContainer.css("min-height",r.minHeight)},_element:function(){var t=this,i=t.element,r=t.options,s=t.contentElement=i.children().first();t.drawerElement=e(r.template),s.addClass("k-drawer-content"),i.addClass("k-widget k-drawer")},_wrapper:function(){var t=this.options,i=this.drawerElement,r=this.element,s=this.contentElement,n=this.drawerItemsWrapper=i.wrap("<div class='k-drawer-items'></div>").parent(),a=this.drawerWrapper=n.wrap("<div class='k-drawer-wrapper'></div>").parent(),d=this.drawerContainer=r.wrap("<div class='k-drawer-container'></div>").parent();t.mini?t.mini.width&&a.width(t.mini.width):a.width(0),t.mode===o?d.append(s):t.mode===h&&(d.after(s),e(document.body).prepend(d)),r.append(a)},_setBodyOffset:function(){var t=this.element.outerWidth();this.leftPositioned?e(document.body).css("padding-left",t):e(document.body).css("padding-right",t)},_initDrawerItems:function(){var e=this.drawerItemsWrapper,t=e.find("[data-role='drawer-item']"),i=e.find("[data-role='drawer-separator']");t.addClass("k-drawer-item"),i.addClass("k-drawer-item k-drawer-separator"),this._selectedItemIndex>=0&&(t.removeClass("k-state-selected"),t.eq(this._selectedItemIndex).addClass("k-state-selected"))},_mode:function(){var t,i=this.options,r=this.drawerContainer;i.mode==o?r.addClass("k-drawer-"+o):(r.addClass("k-drawer-"+h),t=this.overlayContainer=e('<div class="k-overlay"></div>'),t.hide(),r.prepend(t))},_miniMode:function(){var t=this.options,i=this.drawerContainer,r=t.mini.width,s=this._miniTemplate=t.mini.template&&e(t.mini.template),n=this.drawerItemsWrapper,a=this.drawerWrapper;i.addClass("k-drawer-mini"),s&&n.html(s),r&&a.width(r),this.minWidth=t.mini.width||this.drawerWrapper.width()},show:function(){var e=this.drawerWrapper,t=this.drawerContainer,i=this.options,r=t.hasClass("k-drawer-expanded"),s=this._miniTemplate,n=this.drawerElement,a=this.drawerItemsWrapper;r||(t.addClass("k-drawer-expanded"),this.visible=!0),s&&(a.html(n),this._initDrawerItems(),this._selectItem()),e.width(i.width),i.mode===h&&(this.overlayContainer.show(),this.visible=!0)},hide:function(){var e=this,t=e.drawerWrapper,i=e.drawerContainer,r=this.options,s=this.drawerItemsWrapper,n=this._miniTemplate,a=r.mini&&r.mini.width;this._miniTemplate&&(s.html(n),e._initDrawerItems(),this._selectItem()),t.width(r.mini?a?a:"":0),this.visible&&(i.removeClass("k-drawer-expanded"),this.visible=!1),r.mode===h&&this.overlayContainer.hide()},position:function(e){var t=this,i=t.options,r=e||i.position,s=t.drawerContainer;r==l?(s.removeClass("k-drawer-"+p),s.addClass("k-drawer-"+l)):(s.removeClass("k-drawer-"+l),s.addClass("k-drawer-"+p)),this.leftPositioned=r===p},_start:function(e){var r=this,s=this.options,n=this.drawerWrapper,a=this.drawerItemsWrapper,d=e.sender;return Math.abs(e.x.velocity)<Math.abs(e.y.velocity)||i.triggeredByInput(e.event)?(d.cancel(),t):(this.drawerMini&&a.html(r.drawerElement),n.css("transition","none"),s.mode!=o&&this.overlayContainer.show(),t)},_update:function(e){var t=this.options,i=t.mode;i==o?this._push(e):this._overlay(e)},_end:function(e){var t,i=e.x.velocity,r=this.options,s=this.drawerWrapper,n=s.width(),a=n>r.width/2,d=.8;s.css("transition","all .3s ease-out"),t=this.leftPositioned?i>-d&&(i>d||a):i<d&&(i<-d||a),t?this.trigger("show",{sender:this})?(e.preventDefault(),this.hide()):this.show():this.trigger("hide",{sender:this})?(e.preventDefault(),this.show()):this.hide()},_overlay:function(e){var t=this.options,i=t.mini&&t.mini.width||this.minWidth||0,r=this.drawerWrapper,s=r.width(),n=s+(this.leftPositioned?e.x.delta:-e.x.delta),a=Math.min(Math.max(n,i),t.width);e.event.preventDefault(),e.event.stopPropagation(),r.width(a)},_push:function(e){var t=this.options,i=t.mini&&t.mini.width||this.minWidth||0,r=this.drawerWrapper,s=r.width(),n=s+(this.leftPositioned?e.x.delta:-e.x.delta),a=Math.min(Math.max(n,i),t.width);e.event.preventDefault(),e.event.stopPropagation(),r.width(a)},_selectItem:function(e){var i;return e?(e.addClass("k-state-selected"),this.trigger("itemClick",{item:e,sender:this}),this._selectedItemIndex=e.index(),t):(i=this._selectedItemIndex,i&&this.drawerItemsWrapper.find("[data-role='drawer-item']").eq(i).addClass("k-state-selected"),t)},_itemClick:function(t){var i,r=this;e(t.event.target).find(".k-drawer-item").length>0?i=e(t.event.target).find(".k-drawer-item"):e(t.event.target).closest(".k-drawer-item").length>0?i=e(t.event.target).closest(".k-drawer-item"):e(t.event.target).hasClass(".k-drawer-item")&&(i=e(t.event.target)),r.drawerItemsWrapper.find(".k-drawer-item").removeClass("k-state-selected"),r._selectItem(i)},destroy:function(){var t=this.options;t.mode!=o&&(this.leftPositioned?e(document.body).css("padding-left",0):e(document.body).css("padding-right",0)),s.fn.destroy.call(this),this.userEvents.destroy(),i.destroy(this.element),this.element=this.drawerWrapper=this.drawerElement=this.drawerContainer=this.drawerItemsWrapper=this._miniTemplate=null},options:{name:"Drawer",position:p,mode:"overlay",swipeToOpen:!0,width:280,mini:!1,template:""},events:[a,n,d]});i.ui.plugin(m)}(window.kendo.jQuery),window.kendo},i(3))}});