// Ionic Starter App // angular.module is a global place for creating, registering and retrieving Angular modules // 'starter' is the name of this angular module example (also set in a attribute in index.html) // the 2nd parameter is an array of 'requires' // 'starter.services' is found in services.js // 'starter.controllers' is found in controllers.js var db; angular.module('starter', ['ionic', 'ngCordova', 'starter.controllers', 'starter.services']) .run(function($ionicPlatform, $window, $ionicHistory, $database, $ionicPopup, $state, $localstorage, $rootScope) { $ionicPlatform.ready(function() { // Hide the accessory bar by default (remove this to show the accessory bar above the keyboard // for form inputs) $rootScope.storeinit=99; $rootScope.flatrate=0; $ionicPlatform.registerBackButtonAction(function(event) { // Handle Android back button to avoid the application exits accidentaly if ($state.current.name=="tab.dash") { $ionicPopup.confirm({ title: 'System-Hinweis', template: 'Möchten Sie die App beenden?' }).then(function(res) { if (res) { ionic.Platform.exitApp(); } }); } else { $ionicHistory.clearCache(); $ionicHistory.nextViewOptions({ historyRoot: true }); $state.go('tab.dash'); } }, 100); if (window.cordova && window.cordova.plugins && window.cordova.plugins.Keyboard) { cordova.plugins.Keyboard.hideKeyboardAccessoryBar(true); cordova.plugins.Keyboard.disableScroll(true); } // Mandatory for InAppBrowser plugin if(window.cordova){ window.open = cordova.InAppBrowser.open; } // Copy the populated database to mobile device destination //if (window.sqlitePlugin && window.cordova) { if (window.sqlitePlugin && window.cordova) { window.plugins.sqlDB.copy("raataar_wrk.db", function (e) { console.log(e); }); } /* * Google-Stroe Initialisieren START */ function StoreInitsuccessHandler (result) { $rootScope.storeinit=1; inappbilling.getPurchases(purchasessuccess, purchasesfail) } function StoreIniterrorHandler (error) { $rootScope.storeinit=0; } if((window.device && device.platform == "Android") && typeof inappbilling !== "undefined") { inappbilling.init(StoreInitsuccessHandler, StoreIniterrorHandler, {showLog:true}); } function purchasessuccess (result) { var strResult = ""; if(typeof result === 'object') { strResult = JSON.stringify(result); } else { strResult = result; } alert("SUCCESS: \r\n"+strResult ); } function purchasesfail (error) { alert("ERROR: \r\n"+error ); } /* * Google-Stroe Initialisieren ENDE */ // Initialize database through $database service db = $database.initDB(); if (window.StatusBar) { // org.apache.cordova.statusbar required StatusBar.styleDefault(); } }); }) .config(function($stateProvider, $urlRouterProvider, $ionicConfigProvider) { // Ionic uses AngularUI Router which uses the concept of states // Learn more here: https://github.com/angular-ui/ui-router // Set up the various states which the app can be in. // Each state's controller can be found in controllers.js $stateProvider // setup an abstract state for the tabs directive .state('tab', { url: '/tab', abstract: true, templateUrl: 'templates/tabs.html' }) // Each tab has its own nav history stack: .state('tab.dash', { url: '/dash', views: { 'tab-dash': { templateUrl: 'templates/tab-dash.html', controller: 'DashCtrl' } } }) .state('tab.buys', { url: '/buys', views: { 'tab-buys': { templateUrl: 'templates/tab-buys.html', controller: 'BuysCtrl' } } }); // if none of the above states are matched, use this as the fallback $urlRouterProvider.otherwise('/tab/dash'); $ionicConfigProvider.tabs.position('bottom'); });