diff --git a/ionic/components/app/app.js b/ionic/components/app/app.js index 016ee872fc..852769c468 100644 --- a/ionic/components/app/app.js +++ b/ionic/components/app/app.js @@ -152,7 +152,7 @@ export function ionicBootstrap(ComponentType, config) { config.setPlatform(Platform); // make the config global - GlobalIonicConfig = config; + IonicConfig.setGlobal(config); // config and platform settings have been figured out // apply the correct CSS to the app @@ -196,5 +196,3 @@ export function load(app) { app.main(ionicBootstrap); } } - -export let GlobalIonicConfig = null; diff --git a/ionic/config/annotations.js b/ionic/config/annotations.js index ecadd6e74b..3479ef1d1d 100644 --- a/ionic/config/annotations.js +++ b/ionic/config/annotations.js @@ -3,7 +3,7 @@ import {Component, Directive} from 'angular2/src/core/annotations_impl/annotatio import {View} from 'angular2/src/core/annotations_impl/view'; import * as util from 'ionic/util'; -import {GlobalIonicConfig} from '../components/app/app'; +import {IonicConfig} from './config'; import { Aside, Content, Refresher, Slides, Slide, SlidePager, @@ -100,9 +100,9 @@ function appendModeConfig(ComponentType) { } // get the property values from a global user/platform config - let configVal = GlobalIonicConfig.setting(prop); + let configVal = IonicConfig.global.setting(prop); if (configVal) { - instance[prop] = globalPropertyValue; + instance[prop] = configVal; continue; } @@ -129,7 +129,7 @@ function appendModeConfig(ComponentType) { } if (!platformMode) { - platformMode = GlobalIonicConfig.setting('mode'); + platformMode = IonicConfig.global.setting('mode'); } let id = config.classId || (config.selector && config.selector.replace('ion-', '')); diff --git a/ionic/config/config.js b/ionic/config/config.js index d36898b3a3..2bdb6e8c29 100644 --- a/ionic/config/config.js +++ b/ionic/config/config.js @@ -12,7 +12,7 @@ export class IonicConfig { // override defaults w/ user config if (settings) { - extend(this._settings, setting); + extend(this._settings, settings); } } @@ -125,4 +125,14 @@ export class IonicConfig { this._settings.platforms = extend(platform.settings(), this._settings.platforms || {}); } + static setGlobal(config) { + globalConfig = config; + } + + static get global() { + return globalConfig; + } + } + +export let globalConfig = null; diff --git a/ionic/platform/registry.js b/ionic/platform/registry.js index 8a06ba3d86..a28e82fdf9 100644 --- a/ionic/platform/registry.js +++ b/ionic/platform/registry.js @@ -70,6 +70,7 @@ Platform.register({ ], settings: { mode: 'ios', + viewTransition: 'ios', tapPolyfill: true }, isMatch(p) { diff --git a/ionic/transitions/transition.js b/ionic/transitions/transition.js index 99717ad6d3..d8629f8677 100644 --- a/ionic/transitions/transition.js +++ b/ionic/transitions/transition.js @@ -1,4 +1,5 @@ import {Animation} from '../animations/animation'; +import {IonicConfig} from '../config/config'; const SHOW_NAVBAR_CSS = 'show-navbar'; const SHOW_VIEW_CSS = 'show-view'; @@ -84,7 +85,7 @@ export class Transition extends Animation { STATIC CLASSES */ static create(nav, opts = {}) { - const name = opts.animation || 'ios'; + const name = opts.animation || IonicConfig.global.setting('viewTransition'); let TransitionClass = TransitionRegistry[name]; if (!TransitionClass) {