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.'
key 'up', =>
id = @selectedMessage() || 1
id -= 1 if id > 1
@loadMessage(id)
if @selectedMessage()
@loadMessage $('#messages tr.selected')?.prev()?.data('message-id')
else
@loadMessage $('#messages tbody tr[data-message-id]:first')?.data('message-id')
false
key 'down', =>
id = @selectedMessage() || @messagesCount()
id += 1 if id < @messagesCount()
@loadMessage(id)
if @selectedMessage()
@loadMessage $('#messages tr.selected')?.next()?.data('message-id')
else
@loadMessage $('#messages tbody tr[data-message-id]:first')?.data('message-id')
false
key '⌘+up, ctrl+up', =>
@loadMessage(1)
@loadMessage $('#messages tbody tr[data-message-id]:first')?.data('message-id')
false
key '⌘+down, ctrl+down', =>
@loadMessage @messagesCount()
@loadMessage $('#messages tbody tr[data-message-id]:last')?.data('message-id')
false
key 'left', =>

View File

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