UNPKG

@progress/kendo-ui

Version:

This package is part of the [Kendo UI for jQuery](http://www.telerik.com/kendo-ui) suite.

1 lines 9.87 kB
module.exports=function(t){var n={};function o(e){if(n[e])return n[e].exports;var i=n[e]={exports:{},id:e,loaded:!1};return t[e].call(i.exports,i,i.exports,o),i.loaded=!0,i.exports}return o.m=t,o.c=n,o.p="",o(0)}({0:function(e,i,t){e.exports=t(1354)},3:function(e,i){e.exports=function(){throw Error("define cannot be used indirect")}},1134:function(e,i){e.exports=require("./kendo.router")},1342:function(e,i){e.exports=require("./kendo.mobile.pane")},1354:function(e,i,t){var n;t(3),t=[t(1342),t(1134)],void 0===(i="function"==typeof(n=function(){var e={id:"mobile.application",name:"Application",category:"mobile",description:"The Mobile application provides a framework to build native looking web applications on mobile devices.",depends:["mobile.pane","router"]},s=window.kendo.jQuery,h=void 0,a=window.kendo,t=a.mobile,n=a.support,r=t.ui.Widget,m=t.ui.Pane,u="ios7",l=n.mobileOS,f=l.device=="blackberry"&&l.flatVersion>=600&&l.flatVersion<1e3&&l.appMode,v=.93,i="km-vertical",g=l.browser==="chrome",w=l.ios&&l.flatVersion>=700&&l.flatVersion<800&&(l.appMode||g),o=Math.abs(window.orientation)/90==1,b="km-horizontal",k={ios7:{ios:true,browser:"default",device:"iphone",flatVersion:"700",majorVersion:"7",minorVersion:"0.0",name:"ios",tablet:false},ios:{ios:true,browser:"default",device:"iphone",flatVersion:"612",majorVersion:"6",minorVersion:"1.2",name:"ios",tablet:false},android:{android:true,browser:"default",device:"android",flatVersion:"442",majorVersion:"4",minorVersion:"4.2",name:"android",tablet:false},blackberry:{blackberry:true,browser:"default",device:"blackberry",flatVersion:"710",majorVersion:"7",minorVersion:"1.0",name:"blackberry",tablet:false},meego:{meego:true,browser:"default",device:"meego",flatVersion:"850",majorVersion:"8",minorVersion:"5.0",name:"meego",tablet:false},wp:{wp:true,browser:"default",device:"wp",flatVersion:"800",majorVersion:"8",minorVersion:"0.0",name:"wp",tablet:false}},y=a.template('<meta content="initial-scale=#: data.scale #, maximum-scale=#: data.scale #, user-scalable=no#=data.height#" name="viewport" />',{usedWithBlock:false}),x=a.template("<meta name=\"apple-mobile-web-app-capable\" content=\"#= data.webAppCapable === false ? 'no' : 'yes' #\" /> "+'<meta name="apple-mobile-web-app-status-bar-style" content="#=data.statusBarStyle#" /> '+'<meta name="msapplication-tap-highlight" content="no" /> ',{usedWithBlock:false}),V=a.template("<style>.km-view { clip: rect(0 #= data.width #px #= data.height #px 0); }</style>",{usedWithBlock:false}),B=l.android&&l.browser!="chrome"||l.blackberry,C=a.template('<link rel="apple-touch-icon'+(l.android?"-precomposed":"")+'" # if(data.size) { # sizes="#=data.size#" #}# href="#=data.icon#" />',{usedWithBlock:false}),S=(l.device=="iphone"||l.device=="ipod")&&l.majorVersion<7,H,_=(l.device=="iphone"||l.device=="ipod")&&l.majorVersion>=7?"none":null,P=l.browser=="mobilesafari"?60:0,p=20,T=s(window),d=window.screen,c=s("head"),z="init";function j(e,i){var t=[];if(l)t.push("km-on-"+l.name);if(e.skin)t.push("km-"+e.skin);else if(e.name=="ios"&&e.majorVersion>6)t.push("km-ios7");else t.push("km-"+e.name);if(e.name=="ios"&&e.majorVersion<7||e.name!="ios")t.push("km-"+e.name+e.majorVersion);t.push("km-"+e.majorVersion);t.push("km-m"+(e.minorVersion?e.minorVersion[0]:0));if(e.variant&&(e.skin&&e.skin===e.name||!e.skin||e.setDefaultPlatform===false))t.push("km-"+(e.skin?e.skin:e.name)+"-"+e.variant);if(e.cordova)t.push("km-cordova");if(e.appMode)t.push("km-app");else t.push("km-web");if(i&&i.statusBarStyle)t.push("km-"+i.statusBarStyle+"-status-bar");return t.join(" ")}function M(e){return"km-wp-"+(e.noVariantSet?parseInt(s("<div style='background: Background' />").css("background-color").split(",")[1],10)===0?"dark":"light":e.variant+" km-wp-"+e.variant+"-force")}function W(e){return l.wp?e.css("animation-name")=="-kendo-landscape":Math.abs(window.orientation)/90==1}function D(e){return W(e)?b:i}function E(e){e.parent().addBack().css("min-height",window.innerHeight)}function R(){s("meta[name=viewport]").remove();c.append(y({height:", width=device-width"+(W()?", height="+window.innerHeight+"px":n.mobileOS.flatVersion>=600&&n.mobileOS.flatVersion<700?", height="+window.innerWidth+"px":", height=device-height")}))}var A=r.extend({init:function(e,i){t.application=this;s(this.bootstrap.bind(this,e,i))},bootstrap:function(e,i){e=s(e);if(!e[0])e=s(document.body);r.fn.init.call(this,e,i);this.element.removeAttr("data-"+a.ns+"role");this._setupPlatform();this._attachMeta();this._setupElementClass();this._attachHideBarHandlers();var t=s.extend({},this.options);delete t.name;var n=this,o=function(){n.pane=new m(n.element,t);n.pane.navigateToInitial();if(n.options.updateDocumentTitle)n._setupDocumentTitle();n._startHistory();n.trigger(z)};if(this.options.$angular)setTimeout(o);else o()},options:{name:"Application",hideAddressBar:true,browserHistory:true,historyTransition:_,modelScope:window,statusBarStyle:"black",transition:"",retina:false,platform:null,skin:null,updateDocumentTitle:true,useNativeScrolling:false},events:[z],navigate:function(e,i){this.pane.navigate(e,i)},replace:function(e,i){this.pane.replace(e,i)},scroller:function(){return this.view().scroller},hideLoading:function(){if(this.pane)this.pane.hideLoading();else throw new Error("The mobile application instance is not fully instantiated. Please consider activating loading in the application init event handler.")},showLoading:function(){if(this.pane)this.pane.showLoading();else throw new Error("The mobile application instance is not fully instantiated. Please consider activating loading in the application init event handler.")},changeLoadingMessage:function(e){if(this.pane)this.pane.changeLoadingMessage(e);else throw new Error("The mobile application instance is not fully instantiated. Please consider changing the message in the application init event handler.")},view:function(){return this.pane.view()},skin:function(e){var i=this;if(!arguments.length)return i.options.skin;i.options.skin=e||"";i.element[0].className="km-pane";i._setupPlatform();i._setupElementClass();return i.options.skin},destroy:function(){r.fn.destroy.call(this);this.pane.destroy();if(this.options.browserHistory)this.router.destroy()},_setupPlatform:function(){var e=this,i=e.options.platform,t=e.options.skin,n=[],o=l||k[u],a=function(){if(e.os.variant&&(e.os.skin&&e.os.skin===e.os.name)||!e.os.skin)e.element.removeClass("km-wp-dark km-wp-light km-wp-dark-force km-wp-light-force").addClass(M(e.os))};if(i){o.setDefaultPlatform=true;if(typeof i==="string"){n=i.split("-");o=s.extend({variant:n[1]},o,k[n[0]])}else o=i}if(t){n=t.split("-");if(!l)o.setDefaultPlatform=false;o=s.extend({},o,{skin:n[0],variant:n[1]})}if(!o.variant){o.noVariantSet=true;o.variant="dark"}e.os=o;e.osCssClass=j(e.os,e.options);if(o.name=="wp"){if(!e.refreshBackgroundColorProxy)e.refreshBackgroundColorProxy=a.bind(e);s(document).off("visibilitychange",e.refreshBackgroundColorProxy);s(document).off("resume",e.refreshBackgroundColorProxy);if(!o.skin){e.element.parent().css("overflow","hidden");s(document).on("visibilitychange",e.refreshBackgroundColorProxy);s(document).on("resume",e.refreshBackgroundColorProxy);e.refreshBackgroundColorProxy()}}},_startHistory:function(){if(this.options.browserHistory){this.router=new a.Router({pushState:this.options.pushState,root:this.options.root,hashBang:this.options.hashBang});this.pane.bindToRouter(this.router);this.router.start()}else if(!this.options.initial)this.pane.navigate("")},_resizeToScreenHeight:function(){var e=s("meta[name=apple-mobile-web-app-status-bar-style]").attr("content").match(/black-translucent|hidden/),i=this.element,t;if(g)t=window.innerHeight;else if(W(i))if(e)if(o)t=d.availWidth+p;else t=d.availWidth;else if(o)t=d.availWidth;else t=d.availWidth-p;else if(e)if(o)t=d.availHeight;else t=d.availHeight+p;else if(o)t=d.availHeight-p;else t=d.availHeight;i.height(t)},_setupElementClass:function(){var e=this,i,t=e.element;t.parent().addClass("km-root km-"+(e.os.tablet?"tablet":"phone"));t.addClass(e.osCssClass+" "+D(t));if(this.options.useNativeScrolling)t.parent().addClass("km-native-scrolling");if(g)t.addClass("km-ios-chrome");if(n.wpDevicePixelRatio)t.parent().css("font-size",n.wpDevicePixelRatio+"em");if(this.options.retina){t.parent().addClass("km-retina");t.parent().css("font-size",n.devicePixelRatio*v+"em")}if(f)R();if(e.options.useNativeScrolling)t.parent().addClass("km-native-scrolling");else if(B){i=(screen.availWidth>screen.availHeight?screen.availWidth:screen.availHeight)+200;s(V({width:i,height:i})).appendTo(c)}if(w)e._resizeToScreenHeight();a.onResize(function(){t.removeClass("km-horizontal km-vertical").addClass(D(t));if(e.options.useNativeScrolling)E(t);if(w)e._resizeToScreenHeight();if(f)R();a.resize(t)})},_clearExistingMeta:function(){c.find("meta").filter("[name|='apple-mobile-web-app'],[name|='msapplication-tap'],[name='viewport']").remove()},_attachMeta:function(){var e=this.options,i=e.icon,t;this._clearExistingMeta();if(!f)c.prepend(y({height:"",scale:this.options.retina?1/n.devicePixelRatio:"1.0"}));c.prepend(x(e));if(i){if(typeof i==="string")i={"":i};for(t in i)c.prepend(C({icon:i[t],size:t}))}if(e.useNativeScrolling)E(this.element)},_attachHideBarHandlers:function(){var e=this,i=e._hideBar.bind(e);if(n.mobileOS.appMode||!e.options.hideAddressBar||!S||e.options.useNativeScrolling)return;e._initialHeight={};T.on("load",i);a.onResize(function(){setTimeout(window.scrollTo,0,0,1)})},_setupDocumentTitle:function(){var e=this,t=document.title;e.pane.bind("viewShow",function(e){var i=e.view.title;document.title=i!==h?i:t})},_hideBar:function(){var e=this,i=e.element;i.height(a.support.transforms.css+"calc(100% + "+P+"px)");s(window).trigger(a.support.resize)}});return a.mobile.Application=A,a.ui.plugin(A,a.mobile,"Mobile"),window.kendo})?n.apply(i,t):n)||(e.exports=i)}});