From 5cf8a089abe540312229b21fb8ba242704e0b40c Mon Sep 17 00:00:00 2001 From: calzoneman Date: Sun, 17 Mar 2013 20:24:28 -0500 Subject: [PATCH] Add tab completion for the chatbox --- www/assets/js/client.js | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) diff --git a/www/assets/js/client.js b/www/assets/js/client.js index ee9265e7..d1dcca40 100644 --- a/www/assets/js/client.js +++ b/www/assets/js/client.js @@ -173,6 +173,28 @@ $('#chatline').keydown(function(ev) { }); $('#chatline').val(''); } + else if(ev.keyCode == 9) { // Tab completion + var words = $('#chatline').val().split(); + var current = words[words.length - 1].toLowerCase(); + var users = $('#userlist').children(); + var match = null; + for(var i = 0; i < users.length; i++) { + var name = users[i].children[1].innerHTML.toLowerCase(); + if(name.indexOf(current) == 0 && match == null) { + match = users[i].children[1].innerHTML; + } + else if(name.indexOf(current) == 0) { + match = null; + break; + } + } + if(match != null) { + words[words.length - 1] = match; + $('#chatline').val(words.join(' ')); + } + ev.preventDefault(); + return false; + } });