Ignore duplicate messages for some tiles (awake, asleep).

This commit is contained in:
Ian Gulliver
2015-12-31 08:31:25 -08:00
parent 3d2a577026
commit e3dce3569d

View File

@@ -24,11 +24,13 @@ var BabyStats = function(container) {
type: 'asleep', type: 'asleep',
description: 'Asleep', description: 'Asleep',
cancels: ['awake'], cancels: ['awake'],
ignore_duplicates: true,
}, },
{ {
type: 'awake', type: 'awake',
description: 'Awake', description: 'Awake',
cancels: ['asleep'], cancels: ['asleep'],
ignore_duplicates: true,
}, },
{ {
type: 'diaper_feces', type: 'diaper_feces',
@@ -199,14 +201,18 @@ BabyStats.prototype.handleMessage_ = function(isEvent, message) {
default: default:
var tile = this.findTile_(message.message.type); var tile = this.findTile_(message.message.type);
if (tile) { if (tile) {
tile.lastSeen = message.created; if (tile.ignore_duplicates && tile.active) {
tile.active = true; // Ignore.
(tile.cancels || []).forEach(function(type) { } else {
tile2 = this.findTile_(type); tile.lastSeen = message.created;
tile2.active = false; tile.active = true;
}.bind(this)); (tile.cancels || []).forEach(function(type) {
this.updateTileStatus_(); tile2 = this.findTile_(type);
this.updateDisplayPage_(); tile2.active = false;
}.bind(this));
this.updateTileStatus_();
this.updateDisplayPage_();
}
} else { } else {
console.log('Unknown message type:', message); console.log('Unknown message type:', message);
} }