Permalink
Cannot retrieve contributors at this time
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
142 lines (122 sloc)
4.25 KB
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
// 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 <body> 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 | |
angular.module('starter', ['ionic', 'starter.controllers', 'starter.services']) | |
.run(function($ionicPlatform,MFPInit) { | |
$ionicPlatform.ready(function() { | |
// Hide the accessory bar by default (remove this to show the accessory bar above the keyboard | |
// for form inputs) | |
if (window.cordova && window.cordova.plugins && window.cordova.plugins.Keyboard) { | |
cordova.plugins.Keyboard.hideKeyboardAccessoryBar(true); | |
cordova.plugins.Keyboard.disableScroll(true); | |
} | |
if (window.StatusBar) { | |
// org.apache.cordova.statusbar required | |
StatusBar.styleDefault(); | |
} | |
}); | |
}) | |
.config(function($stateProvider, $urlRouterProvider) { | |
// 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.chats', { | |
url: '/chats', | |
views: { | |
'tab-chats': { | |
templateUrl: 'templates/tab-chats.html', | |
controller: 'ChatsCtrl' | |
} | |
} | |
}) | |
.state('tab.chat-detail', { | |
url: '/chats/:chatId', | |
views: { | |
'tab-chats': { | |
templateUrl: 'templates/chat-detail.html', | |
controller: 'ChatDetailCtrl' | |
} | |
} | |
}) | |
.state('tab.account', { | |
url: '/account', | |
views: { | |
'tab-account': { | |
templateUrl: 'templates/tab-account.html', | |
controller: 'AccountCtrl' | |
} | |
} | |
}); | |
// if none of the above states are matched, use this as the fallback | |
$urlRouterProvider.otherwise('/tab/dash'); | |
}) | |
.factory('MFPInit', function($q){ | |
alert("INIT"); | |
/* Setup a Promise to allow code to run in other places anytime after MFP CLient SDK is ready | |
Example: MFPClientPromise.then(function(){alert('mfp is ready, go ahead and use WL.* APIs')}); | |
*/ | |
return window.MFPClientDefer.promise; | |
}); | |
window.Messages = { | |
// Add here your messages for the default language. | |
// Generate a similar file with a language suffix containing the translated messages. | |
// key1 : message1, | |
}; | |
window.wlInitOptions = { | |
// Options to initialize with the WL.Client object. | |
// For initialization options please refer to IBM MobileFirst Platform Foundation Knowledge Center. | |
}; | |
window.MFPClientDefer = angular.injector(['ng']).get('$q').defer();; | |
window.wlCommonInit = window.MFPClientDefer.resolve; | |
window.MFPClientDefer.promise.then(function wlCommonInit(){ | |
// Mobile first server connectivity for Mobile first 7.1 beta version | |
WL.Client.connect({ | |
onSuccess :function(){ alert("success")}, | |
onFailure :function(){ alert("Fail");}, | |
}); | |
mfpMagicPreviewSetup(); | |
// Mobile first server connectivity for Mobile first 7.1 version | |
}); | |
function notificationReceived(message) { | |
obj = JSON.parse(message.payload); | |
// alert("Push received",message.payload); | |
/* | |
alert("Alert: " + message.alert + | |
"\nID: " + obj.nid + | |
"\nPayload: " + message.payload ); | |
*/ | |
}; | |
function mfpMagicPreviewSetup(){ | |
//alert("platform"); | |
var platform; | |
//nothing to see here :-), just some magic to make ionic work with mfp preview, similar to ionic serve --lab | |
if(WL.StaticAppProps.ENVIRONMENT === 'preview'){ | |
//running mfp preview (MBS or browser) | |
platform = WL.StaticAppProps.PREVIEW_ENVIRONMENT === 'android' ? 'android' : 'ios'; | |
//alert("platform==="+ platform); | |
if(location.href.indexOf('?ionicplatform='+platform) < 0){ | |
location.replace(location.pathname+'?ionicplatform='+platform); | |
} | |
} | |
} | |