UNPKG

@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) 4.89 kB
!function(t){"function"==typeof define&&define.amd?define(["kendo.mobile.view.min","kendo.mobile.loader.min"],t):t()}((function(){var t,e,i,n,o,a,r,s,l,u,c,h,d,p,v,f,g,w,m;t=window.kendo.jQuery,e=window.kendo,i=e.mobile,n=e.roleSelector,o=i.ui,a=o.Widget,r=i.ViewEngine,s=o.View,l=i.ui.Loader,u="external",c="href",h="navigate",d="viewShow",p="sameViewRequested",v=e.support.mobileOS,f=v.ios&&!v.appMode&&v.flatVersion>=700,g=/popover|actionsheet|modalview|drawer/,w=e.attrValue,(m=a.extend({init:function(t,i){var n=this;a.fn.init.call(n,t,i),i=n.options,(t=n.element).addClass("km-pane"),n.options.collapsible&&t.addClass("km-collapsible-pane"),this.history=[],this.historyCallback=function(t,e,i){var o=n.transition;return n.transition=null,f&&i&&(o="none"),n.viewEngine.showView(t,o,e)},this._historyNavigate=function(t){if("#:back"===t){if(1===n.history.length)return;n.history.pop(),t=n.history[n.history.length-1]}else n.history.push(t);n.historyCallback(t,e.parseQueryStringParams(t))},this._historyReplace=function(t){var i=e.parseQueryStringParams(t);n.history[n.history.length-1]=t,n.historyCallback(t,i)},n.loader=new l(t,{loading:n.options.loading}),n.viewEngine=new r({container:t,transition:i.transition,modelScope:i.modelScope,rootNeeded:!i.initial,serverNavigation:i.serverNavigation,remoteViewURLPrefix:i.root||"",layout:i.layout,$angular:i.$angular,loader:n.loader,showStart:function(){n.loader.transition(),n.closeActiveDialogs()},after:function(){n.loader.transitionDone()},viewShow:function(t){n.trigger(d,t)},loadStart:function(){n.loader.show()},loadComplete:function(){n.loader.hide()},sameViewRequested:function(){n.trigger(p)},viewTypeDetermined:function(t){t.remote&&n.options.serverNavigation||n.trigger(h,{url:t.url})}}),this._setPortraitWidth(),e.onResize((function(){n._setPortraitWidth()})),n._setupAppLinks()},closeActiveDialogs:function(){this.element.find(n("actionsheet popover modalview")).filter(":visible").each((function(){e.widgetInstance(t(this),o).close()}))},navigateToInitial:function(){var t=this.options.initial;return t&&this.navigate(t),t},options:{name:"Pane",portraitWidth:"",transition:"",layout:"",collapsible:!1,initial:null,modelScope:window,loading:"<h1>Loading...</h1>"},events:[h,d,p],append:function(t){return this.viewEngine.append(t)},destroy:function(){a.fn.destroy.call(this),this.viewEngine.destroy(),this.userEvents.destroy()},navigate:function(t,e){t instanceof s&&(t=t.id),this.transition=e,this._historyNavigate(t)},replace:function(t,e){t instanceof s&&(t=t.id),this.transition=e,this._historyReplace(t)},bindToRouter:function(t){var i=this,n=this.history,o=this.viewEngine;t.bind("init",(function(i){var a=i.url,r=t.pushState?a:"/";o.rootView.attr(e.attr("url"),r);var s=n.length;"/"===a&&s&&(t.navigate(n[s-1],!0),i.preventDefault())})),t.bind("routeMissing",(function(t){i.historyCallback(t.url,t.params,t.backButtonPressed)||t.preventDefault()})),t.bind("same",(function(){i.trigger(p)})),i._historyNavigate=function(e){t.navigate(e)},i._historyReplace=function(e){t.replace(e)}},hideLoading:function(){this.loader.hide()},showLoading:function(){this.loader.show()},changeLoadingMessage:function(t){this.loader.changeMessage(t)},view:function(){return this.viewEngine.view()},_setPortraitWidth:function(){var t,i=this.options.portraitWidth;i&&(t=e.mobile.application.element.is(".km-vertical")?i:"auto",this.element.css("width",t))},_setupAppLinks:function(){var i=this,o="[data-"+e.ns+"navigate-on-press]",a=t.map(["button","backbutton","detailbutton","listview-link"],(function(t){return n(t)+":not("+o+")"})).join(",");this.element.handler(this).on("down",n("tab")+","+o,"_mouseup").on("click",n("tab")+","+a+","+o,"_appLinkClick"),this.userEvents=new e.UserEvents(this.element,{fastTap:!0,filter:a,tap:function(t){t.event.currentTarget=t.touch.currentTarget,i._mouseup(t.event)}}),this.element.css("-ms-touch-action","")},_appLinkClick:function(e){var i=t(e.currentTarget).attr("href");i&&"#"!==i[0]&&this.options.serverNavigation||w(t(e.currentTarget),"rel")==u||e.preventDefault()},_mouseup:function(n){if(!(n.which>1||n.isDefaultPrevented())){var a=this,r=t(n.currentTarget),s=w(r,"transition"),l=w(r,"rel")||"",h=w(r,"target"),d=r.attr(c),p=f&&0===r[0].offsetHeight,v=d&&"#"!==d[0]&&this.options.serverNavigation;p||v||l===u||void 0===d||"#!"===d||(r.attr(c,"#!"),setTimeout((function(){r.attr(c,d)})),l.match(g)?(e.widgetInstance(t(d),o).openFor(r),"actionsheet"!==l&&"drawer"!==l||n.stopPropagation()):("_top"===h?a=i.application.pane:h&&(a=t("#"+h).data("kendoMobilePane")),a.navigate(d,s)),n.preventDefault())}}})).wrap=function(t){t.is(n("view"))||(t=t.wrap("<div data-"+e.ns+'role="view" data-stretch="true"></div>').parent());var i=t.wrap('<div class="km-pane-wrapper"><div></div></div>').parent(),o=new m(i);return o.navigate(""),o},o.plugin(m)})); //# sourceMappingURL=kendo.mobile.pane.min.js.map