don't use id when switching messages, go to first message on up/down when nothing selected

This commit is contained in:
Ivan Kuchin 2012-10-24 23:54:07 +02:00
parent 7bc086ff49
commit 81cb465357
2 changed files with 26 additions and 18 deletions

View File

@ -59,23 +59,25 @@ class MailCatcher
alert 'Error while quitting.' alert 'Error while quitting.'
key 'up', => key 'up', =>
id = @selectedMessage() || 1 if @selectedMessage()
id -= 1 if id > 1 @loadMessage $('#messages tr.selected')?.prev()?.data('message-id')
@loadMessage(id) else
@loadMessage $('#messages tbody tr[data-message-id]:first')?.data('message-id')
false false
key 'down', => key 'down', =>
id = @selectedMessage() || @messagesCount() if @selectedMessage()
id += 1 if id < @messagesCount() @loadMessage $('#messages tr.selected')?.next()?.data('message-id')
@loadMessage(id) else
@loadMessage $('#messages tbody tr[data-message-id]:first')?.data('message-id')
false false
key '⌘+up, ctrl+up', => key '⌘+up, ctrl+up', =>
@loadMessage(1) @loadMessage $('#messages tbody tr[data-message-id]:first')?.data('message-id')
false false
key '⌘+down, ctrl+down', => key '⌘+down, ctrl+down', =>
@loadMessage @messagesCount() @loadMessage $('#messages tbody tr[data-message-id]:last')?.data('message-id')
false false
key 'left', => key 'left', =>

View File

@ -87,25 +87,31 @@
} }
}); });
key('up', function() { key('up', function() {
var id; var _ref, _ref1, _ref2;
id = _this.selectedMessage() || 1; if (_this.selectedMessage()) {
if (id > 1) id -= 1; _this.loadMessage((_ref = $('#messages tr.selected')) != null ? (_ref1 = _ref.prev()) != null ? _ref1.data('message-id') : void 0 : void 0);
_this.loadMessage(id); } else {
_this.loadMessage((_ref2 = $('#messages tbody tr[data-message-id]:first')) != null ? _ref2.data('message-id') : void 0);
}
return false; return false;
}); });
key('down', function() { key('down', function() {
var id; var _ref, _ref1, _ref2;
id = _this.selectedMessage() || _this.messagesCount(); if (_this.selectedMessage()) {
if (id < _this.messagesCount()) id += 1; _this.loadMessage((_ref = $('#messages tr.selected')) != null ? (_ref1 = _ref.next()) != null ? _ref1.data('message-id') : void 0 : void 0);
_this.loadMessage(id); } else {
_this.loadMessage((_ref2 = $('#messages tbody tr[data-message-id]:first')) != null ? _ref2.data('message-id') : void 0);
}
return false; return false;
}); });
key('⌘+up, ctrl+up', function() { key('⌘+up, ctrl+up', function() {
_this.loadMessage(1); var _ref;
_this.loadMessage((_ref = $('#messages tbody tr[data-message-id]:first')) != null ? _ref.data('message-id') : void 0);
return false; return false;
}); });
key('⌘+down, ctrl+down', function() { key('⌘+down, ctrl+down', function() {
_this.loadMessage(_this.messagesCount()); var _ref;
_this.loadMessage((_ref = $('#messages tbody tr[data-message-id]:last')) != null ? _ref.data('message-id') : void 0);
return false; return false;
}); });
key('left', function() { key('left', function() {