Skip to content
Permalink
master
Switch branches/tags
Go to file
 
 
Cannot retrieve contributors at this time
// 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);
}
}
}