File "app-base.js"
Full Path: /srv/www/www.cadoro.it/app/src/js/app-base.js
File size: 7.9 KB
MIME-type: text/plain
Charset: utf-8
angular.module('app', [
'app.config',
'app.auth',
'app.app',
'app.templates',
'ImgCache',
'LocalStorageModule',
'ngCordova.plugins.nativeStorage',
//'ngCordova.plugins.googleAnalytics',
'ngCordova.plugins.statusbar',
'ion-gallery'
])
.config(function ($ionicConfigProvider, localStorageServiceProvider) {
$ionicConfigProvider.navBar.alignTitle('center');
$ionicConfigProvider.backButton.text('').icon('ion-chevron-left');
$ionicConfigProvider.views.swipeBackEnabled(false);
$ionicConfigProvider.tabs.position('top');
//localStorageServiceProvider.setPrefix('cadoro');
})
.config(function($compileProvider){
$compileProvider.debugInfoEnabled(false);
$compileProvider.imgSrcSanitizationWhitelist(/^\s*.*:/);
})
.config(function($stateProvider, $urlRouterProvider) {
$stateProvider
.state('welcome', {
cache: false,
url: '/welcome',
templateUrl: 'templates/auth-welcome.html',
controller: 'AuthWelcomeController'
})
.state('welcome_registrazione', {
cache: false,
url: '/welcome/registrazione',
templateUrl: 'templates/auth-welcome-registrazione.html',
controller: 'AuthWelcomeRegistrazioneController'
})
.state('app', {
cache: true,
url: '/app',
abstract: true,
templateUrl: 'templates/app.html',
controller: 'AppController'
})
.state('app.home', {
cache: true,
url: '/home',
views: {
'content': {
templateUrl: 'templates/app-home.html',
controller: 'AppHomeController'
}
}
})
.state('app.lista_spesa', {
cache: true,
url: '/lista-spesa',
views: {
'content': {
templateUrl: 'templates/app-lista-spesa.html',
controller: 'AppListaSpesaController'
}
}
})
.state('app.offerte', {
cache: true,
url: '/offerte',
views: {
'content': {
templateUrl: 'templates/app-offerte.html',
controller: 'AppOfferteController'
}
}
})
.state('app.preferiti', {
cache: true,
url: '/preferiti',
views: {
'content': {
templateUrl: 'templates/app-preferiti.html',
controller: 'AppPreferitiController'
}
}
})
.state('app.impostazioni', {
cache: true,
url: '/impostazioni',
views: {
'content': {
templateUrl: 'templates/app-impostazioni.html',
controller: 'AppImpostazioniController'
}
}
})
.state('app.assistenza', {
cache: true,
url: '/assistenza',
views: {
'content': {
templateUrl: 'templates/app-assistenza.html',
controller: 'AppAssistenzaController'
}
}
})
.state('app.assistenza_tour', {
cache: true,
url: '/assistenza/tour',
views: {
'content': {
templateUrl: 'templates/app-assistenza-tour.html',
controller: 'AppAssistenzaTourController'
}
}
})
.state('app.pagina', {
cache: true,
url: '/pagina/:pageId',
views: {
'content': {
templateUrl: 'templates/app-pagina.html',
controller: 'AppPaginaController'
}
}
})
.state('app.punti_vendita', {
cache: true,
url: '/punti-vendita',
views: {
'content': {
templateUrl: 'templates/app-punti-vendita.html',
controller: 'AppPuntiVenditaController'
}
}
})
.state('app.punti_vendita_dettaglio', {
cache: true,
url: '/punti-vendita/:id',
views: {
'content': {
templateUrl: 'templates/app-punti-vendita-dettaglio.html',
controller: 'AppPuntiVenditaDettaglioController'
}
}
})
.state('app.profilo', {
cache: true,
url: '/profilo',
views: {
'content': {
templateUrl: 'templates/app-profilo.html',
controller: 'AppProfiloController'
}
}
})
.state('app.profilo_modifica', {
cache: true,
url: '/profilo/modifica',
views: {
'content': {
templateUrl: 'templates/app-profilo-modifica.html',
controller: 'AppProfiloModificaController'
}
}
})
.state('app.notifiche', {
cache: true,
url: '/notifiche',
views: {
'content': {
templateUrl: 'templates/app-notifiche.html',
controller: 'AppNotificheController'
}
}
})
.state('app.magazine', {
cache: true,
url: '/magazine',
views: {
'content': {
templateUrl: 'templates/app-magazine.html',
controller: 'AppMagazineController'
}
}
})
.state('app.landing', {
cache: true,
url: '/landing/:id',
views: {
'content': {
templateUrl: 'templates/app-landing.html',
controller: 'AppLandingController'
}
}
})
;
$urlRouterProvider.otherwise('/welcome');
})
.config(function(ImgCacheProvider, DEBUG) {
ImgCacheProvider.setOptions({
debug: DEBUG ? true : false,
usePersistentCache: true
});
ImgCacheProvider.manualInit = true;
})
.config(function($provide) {
$provide.decorator('$exceptionHandler', ['$delegate', function($delegate){
return function(exception, cause){
$delegate(exception, cause);
var data = {
type: 'angular',
url: window.location.hash,
localtime: Date.now()
};
if (cause) { data.cause = cause; }
if (exception){
if (exception.message) { data.message = exception.message; }
if (exception.name) { data.name = exception.name; }
if (exception.stack) { data.stack = exception.stack; }
}
console.log('Exception ' + JSON.stringify(data));
};
}]);
})
.config(function(ionGalleryConfigProvider) {
ionGalleryConfigProvider.setGalleryConfig({
action_label: 'Chiudi',
toggle: true,
row_size: 3,
fixed_row_size: true
});
})
.run(function(
//$cordovaGoogleAnalytics,
$ionicHistory,
$ionicPlatform,
$cordovaNativeStorage,
ImgCache,
$rootScope,
$location,
$timeout,
DEBUG
) {
/*
if (typeof window.analytics === 'undefined') {
window.analytics = {
startTrackerWithId: function () {},
setUserId: function () {},
trackView: function () {},
trackEvent: function () {},
debugMode: function () {}
};
}
*/
$ionicPlatform.ready(function() {
if (window.cordova && window.cordova.plugins.Keyboard) {
cordova.plugins.Keyboard.hideKeyboardAccessoryBar(true);
cordova.plugins.Keyboard.disableScroll(true);
}
if (window.navigationbar && window.navigationbar.hide) {
window.navigationbar.hide();
}
/*
if (DEBUG) {
$cordovaGoogleAnalytics.debugMode();
}
$timeout(function(){
$cordovaGoogleAnalytics.startTrackerWithId('UA-91619636-2');
}, 3000);
*/
ImgCache.$init();
universalLinks.subscribe('landing', function (eventData) {
console.log('Did launch application from the link: ' + eventData.url);
//console.log(JSON.stringify(eventData));
var res = eventData.path.split("/");
res.shift();
//res.shift(); //debug
if($rootScope.user) {
var slug = res[1].split('?')[0];
$location.path('/app/landing/'+slug);
}
});
});
$ionicPlatform.registerBackButtonAction(function (event) {
$ionicHistory.goBack(-1);
}, 100);
})
.filter('mformat', function () {
return function (timeStamp, formatString) {
return moment(timeStamp).format(formatString);
};
});
$('body').on('click', 'a[rel=external]', function (e) {
e.preventDefault();
e.stopPropagation();
var href = $(e.target).closest('a').attr('href');
if (!href) {
href = $(e.target).closest('a').data('href');
}
window.open(href, '_system');
});
$('body').on('click', 'a[rel=inappbrowser]', function (e) {
e.preventDefault();
e.stopPropagation();
var href = $(e.target).closest('a').attr('href');
if (!href) {
href = $(e.target).closest('a').data('href');
}
if (cordova && cordova.InAppBrowser) {
cordova.InAppBrowser.open(href, '_blank', 'closebuttoncaption=Chiudi');
} else {
window.open(href, '_system');
}
});