Optimize switchToActivityBuffer

Remove second for loop
buffer-history
David Cormier 11 years ago committed by Lorenz Hübschle-Schneider
parent 0480988bec
commit f7041c9e45
  1. 18
      js/models.js

@ -583,21 +583,23 @@ models.service('models', ['$rootScope', '$filter', function($rootScope, $filter)
// Find next buffer with activity and switch to it // Find next buffer with activity and switch to it
var sortedBuffers = _.sortBy(this.getBuffers(), 'number'); var sortedBuffers = _.sortBy(this.getBuffers(), 'number');
var i, buffer; 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) { for (i in sortedBuffers) {
buffer = sortedBuffers[i]; buffer = sortedBuffers[i];
if (buffer.notification > 0) { if (buffer.notification > 0) {
jumpTo(buffer.id); jumpTo(buffer.id);
return; // return instead of break so that the second for loop isn't executed return;
} }
if (buffer.unread > 0 && !unreadBuffer) {
unreadBuffer = buffer;
} }
// 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 (unreadBuffer) {
jumpTo(unreadBuffer.id);
return;
} }
// Jump back to first buffer in the series // Jump back to first buffer in the series

Loading…
Cancel
Save