diff options
Diffstat (limited to 'www/js/NewsCtrl.js')
| -rw-r--r-- | www/js/NewsCtrl.js | 88 |
1 files changed, 57 insertions, 31 deletions
diff --git a/www/js/NewsCtrl.js b/www/js/NewsCtrl.js index 5328cf6b..e1e030ec 100644 --- a/www/js/NewsCtrl.js +++ b/www/js/NewsCtrl.js @@ -2,33 +2,38 @@ /* jslint browser: true*/ /* global cordova,StatusBar,angular,console,moment*/ -angular.module('zmApp.controllers').controller('zmApp.NewsCtrl', ['$scope', '$rootScope', '$ionicModal', 'NVRDataModel', '$ionicSideMenuDelegate', '$ionicHistory', '$state', '$http', 'zm', function ($scope, $rootScope, $ionicModal, NVRDataModel, $ionicSideMenuDelegate, $ionicHistory, $state, $http, zm) { - $scope.openMenu = function () { +angular.module('zmApp.controllers').controller('zmApp.NewsCtrl', ['$scope', '$rootScope', '$ionicModal', 'NVRDataModel', '$ionicSideMenuDelegate', '$ionicHistory', '$state', '$http', 'zm', function($scope, $rootScope, $ionicModal, NVRDataModel, $ionicSideMenuDelegate, $ionicHistory, $state, $http, zm) +{ + $scope.openMenu = function() + { $ionicSideMenuDelegate.toggleLeft(); }; - //---------------------------------------------------------------- // Alarm notification handling //---------------------------------------------------------------- - $scope.handleAlarms = function () { + $scope.handleAlarms = function() + { $rootScope.isAlarm = !$rootScope.isAlarm; - if (!$rootScope.isAlarm) { + if (!$rootScope.isAlarm) + { $rootScope.alarmCount = "0"; - $ionicHistory.nextViewOptions({ + $ionicHistory.nextViewOptions( + { disableBack: true }); - $state.go("events", { + $state.go("events", + { "id": 0, - "playEvent":false - }, { + "playEvent": false + }, + { reload: true }); return; } }; - //------------------------------------------------------------------------- // Lets make sure we set screen dim properly as we enter // The problem is we enter other states before we leave previous states @@ -36,71 +41,92 @@ angular.module('zmApp.controllers').controller('zmApp.NewsCtrl', ['$scope', '$ro // reset power state on exit as if it is called after we enter another // state, that effectively overwrites current view power management needs //------------------------------------------------------------------------ - $scope.$on('$ionicView.enter', function () { + $scope.$on('$ionicView.enter', function() + { // console.log("**VIEW ** News Ctrl Entered"); NVRDataModel.setAwake(false); - }); - $scope.isUnread = function (itemdate) { + $scope.isUnread = function(itemdate) + { var lastDate = NVRDataModel.getLatestBlogPostChecked(); + //console.log ("BLOG DATE="+itemdate+" LAST DATE="+lastDate); //get("latestBlogPostChecked"); if (!lastDate) return true; var mLastDate = moment(lastDate); var mItemDate = moment(itemdate); //var unread = mItemDate.diff(mLastDate) >0) ? true:false; //console.log (unread); - return (mItemDate.diff(mLastDate) > 0) ? true : false; - + return (mItemDate.diff(mLastDate, 'seconds') > 0) ? true : false; }; - $scope.loadPost = function (item, itemdate) { + $scope.loadPost = function(item, itemdate) + { var lastDate = NVRDataModel.getLatestBlogPostChecked(); //zmStorageService.get("latestBlogPostChecked"); - - if (!lastDate) { + if (!lastDate) + { NVRDataModel.debug("First time checking blog posts, I see"); NVRDataModel.setLatestBlogPostChecked(itemdate); //zmStorageService.set("latestBlogPostChecked", itemdate); - } else { + } + else + { NVRDataModel.debug("last post checked is " + lastDate); NVRDataModel.debug("current post dated is " + itemdate); var mLastDate = moment(lastDate); var mItemDate = moment(itemdate); - if (mItemDate.diff(mLastDate) > 0) { + if (mItemDate.diff(mLastDate, 'seconds') > 0) + { NVRDataModel.debug("Updating lastDate to this post"); NVRDataModel.setLatestBlogPostChecked(itemdate); //zmStorageService.set("latestBlogPostChecked", itemdate); - if (itemdate == $scope.newsItems[0].date) { + if (itemdate == $scope.newsItems[0].date) + { // we are reading the latest post $rootScope.newBlogPost = ""; } } } + window.open(item, '_blank', 'location=yes'); return false; }; $scope.newsItems = []; - $http.get(zm.blogUrl) - .success(function (data) { - //console.log ("Here2"); - // console.log (JSON.stringify(data)); - for (var i = 0; i < data.length; i++) { - $scope.newsItems.push({ - title: data[i].title, - url: data[i].url, - date: data[i].date + + $http.get(zm.blogUrl, + {transformResponse: function(d,h) + { + var trunc = "])}while(1);</x>"; + d = d.substr(trunc.length); + return d; + } + }) + .success(function(datastr) + { + + + // console.log ("DATA:"+data); + // + var data = JSON.parse(datastr); + for (var i = 0; i < data.payload.posts.length; i++) + { + $scope.newsItems.push( + { + title: data.payload.posts[i].title, + url: "https://medium.com/zmninja/"+data.payload.posts[i].uniqueSlug, + date: moment(data.payload.posts[i].createdAt).format("YYYY-MM-DD HH:mm:ss") }); } }); -}]);
\ No newline at end of file +}]); |
