Skip to content

Commit

Permalink
Add autocomplete strategy for background colors
Browse files Browse the repository at this point in the history
  • Loading branch information
astorije committed May 1, 2017
1 parent 6d1eef8 commit 0981605
Show file tree
Hide file tree
Showing 2 changed files with 28 additions and 1 deletion.
4 changes: 4 additions & 0 deletions client/css/style.css
Original file line number Diff line number Diff line change
Expand Up @@ -1533,6 +1533,10 @@ kbd {
display: inline-block;
}

.textcomplete-item .irc-bg {
display: block;
}

/**
* Tooltips v0.5.3
* See http://primercss.io/tooltips/
Expand Down
25 changes: 24 additions & 1 deletion client/js/lounge.js
Original file line number Diff line number Diff line change
Expand Up @@ -130,6 +130,26 @@ $(function() {
index: 1
};

const backgroundColorStrategy = {
id: "background-colors",
match: /\x03(\d{2}),(\d{0,2}|[A-Za-z ]{0,10})$/,
search(term, callback, match) {
term = term.toLowerCase();
const matchingColorCodes = constants.colorCodeMap
.filter(i => i[0].startsWith(term) || i[1].toLowerCase().startsWith(term))
.map(pair => pair.concat(match[1])); // Needed to pass fg color to `template`...

callback(matchingColorCodes);
},
template(value) {
return `<span class="irc-fg${parseInt(value[2], 10)} irc-bg irc-bg${parseInt(value[0], 10)}">${value[1]}</span>`;
},
replace(value) {
return "\x03$1," + value[0];
},
index: 2
};

socket.on("auth", function(data) {
var login = $("#sign-in");
var token;
Expand Down Expand Up @@ -743,7 +763,10 @@ $(function() {
chat.find(".chan.active .chat").trigger("msg.sticky"); // fix growing
})
.tab(completeNicks, {hint: false})
.textcomplete([emojiStrategy, nicksStrategy, chanStrategy, commandStrategy, colorStrategy], {
.textcomplete([
emojiStrategy, nicksStrategy, chanStrategy, commandStrategy,
foregroundColorStrategy, backgroundColorStrategy
], {
dropdownClassName: "textcomplete-menu",
placement: "top"
}).on({
Expand Down

0 comments on commit 0981605

Please sign in to comment.