Clear feed status when reading feed
authorChip Black <bytex64@bytex64.net>
Wed, 6 Jun 2012 20:51:21 +0000 (13:51 -0700)
committerChip Black <bytex64@bytex64.net>
Wed, 6 Jun 2012 20:51:21 +0000 (13:51 -0700)
www/jssrc/blerg/Blerg.js
www/jssrc/blerg/Controls.js
www/jssrc/blerg/Feed.js

index 9285d2b..827dc06 100644 (file)
@@ -11,6 +11,7 @@ enyo.kind({
         onPostVisibility: "postVisibilityUpdate",
         onReload: "sendReload",
         onShowChangePassword: "showChangePassword",
+        onClearFeedStatus: "clearFeedStatus"
     },
     components: [
         {classes: "blerg-header", components: [
@@ -96,5 +97,8 @@ enyo.kind({
     },
     showChangePassword: function() {
         this.$.passwdDialog.show();
+    },
+    clearFeedStatus: function() {
+        this.$.controls.waterfall('onClearFeedStatus');
     }
 });
index 165b100..529df1e 100644 (file)
@@ -10,7 +10,8 @@ enyo.kind({
     handlers: {
         onLogin: "login",
         onLogout: "logout",
-        onPostVisibility: "postVisibilityUpdate"
+        onPostVisibility: "postVisibilityUpdate",
+        onClearFeedStatus: "clearFeedStatus"
     },
     components: [
         {name: "loggedOutControls", components: [
@@ -82,9 +83,9 @@ enyo.kind({
         this.$.userlink.setContent('@' + inEvent.username);
         this.username = inEvent.username;
 
-        this.$.api.getFeedInfo();
+        this.updateFeedInfo();
         this.feedStatusUpdateInterval = setInterval(function() {
-            this.$.api.getFeedInfo();
+            this.updateFeedInfo();
         }.bind(this), 900000);
     },
     logout: function(inSender, inEvent) {
@@ -102,6 +103,9 @@ enyo.kind({
         this.postShowing = inEvent.showing;
         this.$.spewButton.addRemoveClass('active', inEvent.showing);
     },
+    updateFeedInfo: function() {
+        this.$.api.getFeedInfo();
+    },
     gotFeedInfo: function(inSender, inEvent) {
         this.$.feedButton.addRemoveClass('new', inEvent.new > 0);
         if (inEvent.new > 0) {
@@ -117,5 +121,8 @@ enyo.kind({
     feedClicked: function() {
         window.location.href = '/#/feed';
         this.bubble('onNavigate');
+    },
+    clearFeedStatus: function() {
+        this.gotFeedInfo(this, {new: 0});
     }
 });
index 63ef7fb..a07d7e5 100644 (file)
@@ -28,5 +28,6 @@ enyo.kind({
     },
     itemsLoaded: function(inSender, inEvent) {
         this.addItems(inEvent.entries);
+        this.bubble('onClearFeedStatus');
     }
 });