debian-mirror-gitlab/app/assets/javascripts/shortcuts_find_file.js

38 lines
1.6 KiB
JavaScript
Raw Normal View History

2016-09-13 17:45:13 +05:30
/*= require shortcuts_navigation */
(function() {
var extend = function(child, parent) { for (var key in parent) { if (hasProp.call(parent, key)) child[key] = parent[key]; } function ctor() { this.constructor = child; } ctor.prototype = parent.prototype; child.prototype = new ctor(); child.__super__ = parent.prototype; return child; },
hasProp = {}.hasOwnProperty;
this.ShortcutsFindFile = (function(superClass) {
extend(ShortcutsFindFile, superClass);
function ShortcutsFindFile(projectFindFile) {
var _oldStopCallback;
this.projectFindFile = projectFindFile;
ShortcutsFindFile.__super__.constructor.call(this);
_oldStopCallback = Mousetrap.stopCallback;
Mousetrap.stopCallback = (function(_this) {
2016-09-29 09:46:39 +05:30
// override to fire shortcuts action when focus in textbox
2016-09-13 17:45:13 +05:30
return function(event, element, combo) {
if (element === _this.projectFindFile.inputElement[0] && (combo === 'up' || combo === 'down' || combo === 'esc' || combo === 'enter')) {
2016-09-29 09:46:39 +05:30
// when press up/down key in textbox, cusor prevent to move to home/end
2016-09-13 17:45:13 +05:30
event.preventDefault();
return false;
}
return _oldStopCallback(event, element, combo);
};
})(this);
Mousetrap.bind('up', this.projectFindFile.selectRowUp);
Mousetrap.bind('down', this.projectFindFile.selectRowDown);
Mousetrap.bind('esc', this.projectFindFile.goToTree);
Mousetrap.bind('enter', this.projectFindFile.goToBlob);
}
return ShortcutsFindFile;
})(ShortcutsNavigation);
}).call(this);