From c0f22c4ec8fb74a000b3baaf99fb1aa7308a50e5 Mon Sep 17 00:00:00 2001 From: David Cormier Date: Tue, 8 Oct 2013 10:03:44 -0400 Subject: [PATCH] Add notification support --- js/models.js | 14 ++++++++++++-- js/websockets.js | 20 +++++++------------- 2 files changed, 19 insertions(+), 15 deletions(-) diff --git a/js/models.js b/js/models.js index 66dd47a..a442d47 100644 --- a/js/models.js +++ b/js/models.js @@ -20,14 +20,19 @@ models.service('models', ['colors', function(colors) { } this.setActiveBuffer = function(bufferId) { + + if (this.getActiveBuffer()) { + this.getActiveBuffer().active = false; + } activeBuffer = _.find(this.model['buffers'], function(buffer) { if (buffer['id'] == bufferId) { return buffer; } }); + activeBuffer.notification = false; + activeBuffer.active = true; - console.log(this.activeBuffer); } this.getBuffers = function() { @@ -37,7 +42,6 @@ models.service('models', ['colors', function(colors) { this.getBuffer = function(bufferId) { return _.find(this.model['buffers'], function(buffer) { if (buffer['id'] == bufferId) { - console.log('yƩ'); return buffer; } }); @@ -54,6 +58,12 @@ models.service('models', ['colors', function(colors) { var fullName = message['full_name'] var pointer = message['pointers'][0] var lines = [] + var active = false; + var notification = false; + + var notify = function() { + notification = true; + } var addLine = function(line) { lines.push(line); diff --git a/js/websockets.js b/js/websockets.js index e01a0e2..119863b 100644 --- a/js/websockets.js +++ b/js/websockets.js @@ -202,21 +202,15 @@ weechat.factory('handlers', ['$rootScope', 'colors', 'models', 'pluginManager', var handleBufferLineAdded = function(message) { var buffer_line = {} - message = new models.BufferLine(message); - message.metadata = pluginManager.contentForMessage(message.text); - - console.log(message); - console.log(message.buffer); - console.log(models.getBuffer(message.buffer)); - models.getBuffer(message.buffer).addLine(message); - - - //if (!_isActiveBuffer(message.buffer)) { - // $rootScope.buffers[message.buffer]['notification'] = true; - //} + var message = new models.BufferLine(message); + var buffer = models.getBuffer(message.buffer); + message.metadata = pluginManager.contentForMessage(message.text); + buffer.addLine(message); - //$rootScope.buffers[message.buffer]['lines'].push(message); + if (!buffer.active) { + buffer.notification = true; + } } /*