From f7041c9e45738a07b82ef1c02fadada8f593bfc3 Mon Sep 17 00:00:00 2001 From: David Cormier Date: Fri, 2 Jan 2015 11:06:59 -0500 Subject: [PATCH] Optimize switchToActivityBuffer Remove second for loop --- js/models.js | 20 +++++++++++--------- 1 file changed, 11 insertions(+), 9 deletions(-) diff --git a/js/models.js b/js/models.js index 9a53fb3..2ead41d 100644 --- a/js/models.js +++ b/js/models.js @@ -583,21 +583,23 @@ models.service('models', ['$rootScope', '$filter', function($rootScope, $filter) // Find next buffer with activity and switch to it var sortedBuffers = _.sortBy(this.getBuffers(), 'number'); var i, buffer; - // Try to find buffer with notification + // Look for a buffer with notifications or unread message + var unreadBuffer = null; for (i in sortedBuffers) { buffer = sortedBuffers[i]; if (buffer.notification > 0) { - jumpTo(buffer.id); - return; // return instead of break so that the second for loop isn't executed - } - } - // No notifications, find first buffer with unread lines instead - for (i in sortedBuffers) { - buffer = sortedBuffers[i]; - if (buffer.unread > 0) { jumpTo(buffer.id); return; } + + if (buffer.unread > 0 && !unreadBuffer) { + unreadBuffer = buffer; + } + } + + if (unreadBuffer) { + jumpTo(unreadBuffer.id); + return; } // Jump back to first buffer in the series