[FIX] web: fix scroll on list and kanban when using keyboard navigation

Before this fix, list view and kanban views are scrolling every time
the user uses the up and down keys.
After this fix the list and kanban views will only scroll when the user
arrives at the boder of the window
This commit is contained in:
Vincent Schippefilt
2018-04-12 11:08:54 +02:00
parent c9098db40b
commit bf7dfa45c8
2 changed files with 10 additions and 0 deletions
@@ -103,15 +103,21 @@ var KanbanRenderer = BasicRenderer.extend({
previousCard.focus();
}
},
/**
* @private
* @param {KeyboardEvent} e
*/
_onRecordKeyDown: function(e) {
switch(e.which) {
case $.ui.keyCode.DOWN:
this._focusOnNextCard(e.currentTarget);
e.stopPropagation();
e.preventDefault();
break;
case $.ui.keyCode.UP:
this._focusOnPrevousCard(e.currentTarget);
e.stopPropagation();
e.preventDefault();
break;
case $.ui.keyCode.RIGHT:
var currentColumn = e.currentTarget.parentElement;
@@ -126,6 +132,7 @@ var KanbanRenderer = BasicRenderer.extend({
this._focusOnNextCard(e.currentTarget);
}
e.stopPropagation();
e.preventDefault();
break;
case $.ui.keyCode.LEFT:
var currentColumn = e.currentTarget.parentElement;
@@ -140,6 +147,7 @@ var KanbanRenderer = BasicRenderer.extend({
this._focusOnPrevousCard(e.currentTarget);
}
e.stopPropagation();
e.preventDefault();
break;
}
},
@@ -738,9 +738,11 @@ var ListRenderer = BasicRenderer.extend({
switch(e.which) {
case $.ui.keyCode.DOWN:
$(e.currentTarget).next().find('input').focus();
e.preventDefault();
break;
case $.ui.keyCode.UP:
$(e.currentTarget).prev().find('input').focus();
e.preventDefault();
break;
case $.ui.keyCode.ENTER:
e.preventDefault();