mirror of
https://github.com/thelounge/thelounge
synced 2024-11-10 14:44:13 +00:00
Added inputhistory
This commit is contained in:
parent
9213774ad4
commit
2e511378ad
2 changed files with 66 additions and 1 deletions
|
@ -65,7 +65,8 @@ $(function() {
|
|||
.sticky()
|
||||
.end()
|
||||
.find(".input")
|
||||
.tabcomplete(commands, {hint: false});
|
||||
.tabcomplete(commands, {hint: false})
|
||||
.history();
|
||||
|
||||
$("#network-" + data.id)
|
||||
.append(render("channels", {channels: [data.chan]}))
|
||||
|
@ -97,6 +98,7 @@ $(function() {
|
|||
chat.html(render("windows", {windows: channels}))
|
||||
.find(".input")
|
||||
.tabcomplete(commands, {hint: false})
|
||||
.history()
|
||||
.end()
|
||||
.find(".hidden")
|
||||
.prev(".show-more")
|
||||
|
|
|
@ -351,6 +351,69 @@
|
|||
}
|
||||
})(jQuery);
|
||||
|
||||
/*!
|
||||
* inputhistory
|
||||
* https://github.com/erming/inputhistory
|
||||
* v0.2.1
|
||||
*/
|
||||
(function($) {
|
||||
$.fn.history = // Alias
|
||||
$.fn.inputhistory = function(options) {
|
||||
var settings = $.extend({
|
||||
history: [],
|
||||
submit: true,
|
||||
}, options);
|
||||
|
||||
var self = this;
|
||||
if (self.size() > 1) {
|
||||
return self.each(function() {
|
||||
$(this).history(options);
|
||||
});
|
||||
}
|
||||
|
||||
self.data('history', settings.history.concat(['']));
|
||||
|
||||
var i = 0;
|
||||
self.on('keydown', function(e) {
|
||||
var history = self.data('history');
|
||||
var key = e.which;
|
||||
switch (key) {
|
||||
|
||||
case 13: // Enter
|
||||
if (self.val() != '') {
|
||||
i = history.length;
|
||||
history[i - 1] = self.val();
|
||||
history.push('');
|
||||
}
|
||||
if (settings.submit) {
|
||||
self.parents('form').eq(0).submit();
|
||||
}
|
||||
self.val('');
|
||||
break;
|
||||
|
||||
case 38: // Up
|
||||
case 40: // Down
|
||||
history[i] = self.val();
|
||||
if (key == 38 && i != 0) {
|
||||
i--;
|
||||
} else if (key == 40 && i < history.length - 1) {
|
||||
i++;
|
||||
}
|
||||
self.val(history[i]);
|
||||
break;
|
||||
|
||||
default:
|
||||
return;
|
||||
|
||||
}
|
||||
|
||||
return false;
|
||||
});
|
||||
|
||||
return this;
|
||||
}
|
||||
})(jQuery);
|
||||
|
||||
/*!
|
||||
* jQuery Cookie Plugin v1.4.0
|
||||
* https://github.com/carhartl/jquery-cookie
|
||||
|
|
Loading…
Reference in a new issue