Files
zulip/static/js/list_util.js
Steve Howell 4bbd73a9a2 Extract list_util.js for navigating lists.
The code here used to live in hotkey.js.  Its complicated calling
protocol made it difficult to unit test.  We are also trying to
slim down hotkey.js.

Our arrow navigation for things like `#stream_filters` has always
been kind of awkward, since it's difficult to get the focus to
their list items.  This commit does nothing to fix that yet.
2017-04-05 11:53:52 -07:00

30 lines
648 B
JavaScript

var list_util = (function () {
var exports = {};
var list_selectors = ["#group-pm-list", "#stream_filters", "#global_filters", "#user_presences"];
exports.inside_list = function (e) {
var $target = $(e.target);
var in_list = $target.closest(list_selectors.join(", ")).length > 0;
return in_list;
};
exports.go_down = function (e) {
var $target = $(e.target);
$target.closest("li").next().find("a").focus();
};
exports.go_up = function (e) {
var $target = $(e.target);
$target.closest("li").prev().find("a").focus();
};
return exports;
}());
if (typeof module !== 'undefined') {
module.exports = list_util;
}