(function (app) { 'use strict'; // Start by defining the main module and adding the module dependencies angular .module(app.applicationModuleName, app.applicationModuleVendorDependencies); // Setting HTML5 Location Mode angular .module(app.applicationModuleName) .config(bootstrapConfig) .config(transConfig); bootstrapConfig.$inject = ['$compileProvider', '$locationProvider', '$httpProvider', '$logProvider']; function bootstrapConfig($compileProvider, $locationProvider, $httpProvider, $logProvider) { $locationProvider.html5Mode({ enabled: true, requireBase: false }).hashPrefix('!'); $httpProvider.interceptors.push('authInterceptor'); // Disable debug data for production environment // @link https://docs.angularjs.org/guide/production $compileProvider.debugInfoEnabled(app.applicationEnvironment !== 'production'); $logProvider.debugEnabled(app.applicationEnvironment !== 'production'); } transConfig.$inject = ['$translateProvider']; function transConfig($translateProvider) { //$translateProvider.useSanitizeValueStrategy('escape'); $translateProvider.preferredLanguage('en'); //$translateProvider.fallbackLanguage('cn'); } // Then define the init function for starting up the application angular.element(document).ready(init); function init() { // Fixing facebook bug with redirect if (window.location.hash && window.location.hash === '#_=_') { if (window.history && history.pushState) { window.history.pushState('', document.title, window.location.pathname); } else { // Prevent scrolling by storing the page's current scroll offset var scroll = { top: document.body.scrollTop, left: document.body.scrollLeft }; window.location.hash = ''; // Restore the scroll offset, should be flicker free document.body.scrollTop = scroll.top; document.body.scrollLeft = scroll.left; } } // Then init the app angular.bootstrap(document, [app.applicationModuleName]); } }(ApplicationConfiguration));