diff --git a/app/scripts/app.js b/app/scripts/app.js index 428aa59..b95783e 100755 --- a/app/scripts/app.js +++ b/app/scripts/app.js @@ -15,6 +15,7 @@ angular.module('starter', [ 'supermodular.home', 'supermodular.map', 'supermodular.wordpress', + 'supermodular.firebase', 'supermodular.menu', 'supermodular.elements', 'supermodular.popover-menu', diff --git a/app/scripts/firebase/firebase-article.controller.js b/app/scripts/firebase/firebase-article.controller.js index c601ba5..b94b0a0 100644 --- a/app/scripts/firebase/firebase-article.controller.js +++ b/app/scripts/firebase/firebase-article.controller.js @@ -1,32 +1,32 @@ (function() { 'use strict'; - + angular - .module('supermodular.firebase') - .controller('FirebaseArticleController', FirebaseArticleController); - + .module('supermodular.firebase') + .controller('FirebaseArticleController', FirebaseArticleController); + FirebaseArticleController.$inject = ['$stateParams', 'firebaseService']; - + /* @ngInject */ function FirebaseArticleController($stateParams, firebaseService) { - var articleId = parseInt($stateParams.articleId, 10); - + var guid = $stateParams.guid; + var vm = angular.extend(this, { article: null, }); - + function activate() { loadArticle(); } activate(); - + // ******************************************************************** - + function loadArticle() { - // firebaseService.getArticle(articleId) - // .then(function(article) { - // vm.article = article; - // }); + firebaseService.getArticle(guid) + .then(function(article) { + vm.article = article; + }); } } })(); diff --git a/app/scripts/firebase/firebase-articles.controller.js b/app/scripts/firebase/firebase-articles.controller.js index f85db4e..9963f67 100644 --- a/app/scripts/firebase/firebase-articles.controller.js +++ b/app/scripts/firebase/firebase-articles.controller.js @@ -1,35 +1,35 @@ (function() { 'use strict'; - + angular - .module('supermodular.firebase') - .controller('FirebaseArticlesController', FirebaseArticlesController); - + .module('supermodular.firebase') + .controller('FirebaseArticlesController', FirebaseArticlesController); + FirebaseArticlesController.$inject = ['$state', 'firebaseService']; - + /* @ngInject */ function FirebaseArticlesController($state, firebaseService) { var vm = angular.extend(this, { articles: [], navigate: navigate }); - + function activate() { getArticles(); } activate(); - + // ******************************************************************** - + function getArticles() { firebaseService.getArticles() - .then(function(articles) { - vm.articles = articles; - }); + .then(function(articles) { + vm.articles = articles; + }); } - - function navigate(articleId) { - $state.go('app.firebase-article', { articleId: articleId }); + + function navigate(guid) { + $state.go('app.firebase-article', { guid: guid }); } } })(); diff --git a/app/scripts/firebase/firebase-articles.html b/app/scripts/firebase/firebase-articles.html index 9ed336c..0f1501e 100644 --- a/app/scripts/firebase/firebase-articles.html +++ b/app/scripts/firebase/firebase-articles.html @@ -2,7 +2,7 @@
-
+

{{article.title}}

diff --git a/app/scripts/firebase/firebase.module.js b/app/scripts/firebase/firebase.module.js index eaba47a..b389606 100644 --- a/app/scripts/firebase/firebase.module.js +++ b/app/scripts/firebase/firebase.module.js @@ -18,7 +18,7 @@ } }) .state('app.firebase-article', { - url: '/firebase-articles/:articleId', + url: '/firebase-articles/:guid', views: { 'menuContent': { templateUrl: 'scripts/firebase/firebase-article.html', diff --git a/app/scripts/firebase/firebase.service.js b/app/scripts/firebase/firebase.service.js index 2a68427..34219a6 100644 --- a/app/scripts/firebase/firebase.service.js +++ b/app/scripts/firebase/firebase.service.js @@ -1,45 +1,46 @@ (function() { 'use strict'; - + angular - .module('supermodular.firebase') - // DB service - .factory('db', [function() { - return new Firebase('https://business-directory.firebaseio.com/') - }]) - // Firebase service - .factory('firebaseService', firebaseService); - + .module('supermodular.firebase') + // DB service + .factory('db', [function() { + return new Firebase('https://business-directory.firebaseio.com/'); + }]) + // Firebase service + .factory('firebaseService', firebaseService); + firebaseService.$inject = ['db', '$firebaseArray', '$firebaseObject']; - + /* @ngInject */ function firebaseService(db, $firebaseArray, $firebaseObject) { - + var service = { getArticles: getArticles, getArticle: getArticle }; return service; - + //////////////// - + function getArticles() { var query = db.child('news'); return $firebaseArray(query).$loaded().then(initArray); } - - function getArticle(articleId) { + + function getArticle(guid) { // TODO: Fetch and display a particular article var article = {}; - return article; + var query = db.child('news/'+guid); + return $firebaseObject(query).$loaded(); } - + function initItem(item) { return angular.extend({}, item, { guid: item.$id }); } - + function initArray(array) { return _.map(array, initItem); } diff --git a/app/scripts/home/menu-items.service.js b/app/scripts/home/menu-items.service.js index 007f331..94a020a 100755 --- a/app/scripts/home/menu-items.service.js +++ b/app/scripts/home/menu-items.service.js @@ -17,7 +17,11 @@ title: 'Wordpress', path: 'wordpress-articles', icon: 'ion-social-wordpress' - }, { + },{ + title: 'Firebase', + path: 'firebase-articles', + icon: 'ion-android-globe' + },{ title: 'Elements', path: 'elements', icon: 'ion-android-checkbox-outline' diff --git a/install.bat b/install.bat index f28410b..0c3dadf 100755 --- a/install.bat +++ b/install.bat @@ -33,9 +33,9 @@ ionic state restore :: Add target platform :: :: Comment out the platform(s) your system supports -:: -grunt platform:add:ios -:: grunt platform:add:android +::grunt platform:add:ios +:: +grunt platform:add:android :: :: Build the project and generate the cordova directory (www) diff --git a/package.json b/package.json index b147e8c..e1e42ed 100755 --- a/package.json +++ b/package.json @@ -50,11 +50,9 @@ }, "scripts": { "test": "grunt test", - "//": "Post installation.", - "//": "Uncomment the next line to enable post install script.", - "//": "There is always the option to run it manually.", - "//": { "postinstall": "./install.sh" }, - "//": { "postinstall": "./install.bat" } + "//": { + "postinstall": "./install.bat" + } }, "cordovaPlatforms": [], "cordovaPlugins": [ @@ -73,6 +71,7 @@ }, "cordova-plugin-network-information", "cordova-plugin-whitelist", - "cordova-plugin-transport-security" + "cordova-plugin-transport-security", + "cordova-plugin-inappbrowser" ] -} +} \ No newline at end of file