Ignore duplicate messages for some tiles (awake, asleep).
This commit is contained in:
@@ -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);
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user