Finished up with profile tooltips and context-menus.
This commit is contained in:
parent
9a8def18d7
commit
b56c9a3365
10 changed files with 370 additions and 335 deletions
|
|
@ -170,7 +170,7 @@ class banList{
|
|||
}
|
||||
|
||||
async ban(event){
|
||||
new banUserPopup(this.channel, this.banPrompt.value, this.updateList.bind(this));
|
||||
new chanBanUserPopup(this.channel, this.banPrompt.value, this.updateList.bind(this));
|
||||
}
|
||||
|
||||
async unban(event){
|
||||
|
|
@ -220,59 +220,6 @@ class banList{
|
|||
}
|
||||
}
|
||||
|
||||
class banUserPopup{
|
||||
constructor(channel, target, cb){
|
||||
this.channel = channel;
|
||||
this.target = target;
|
||||
this.cb = cb;
|
||||
this.popup = new canopyUXUtils.popup("channelUserBan", true, this.asyncConstruction.bind(this));
|
||||
}
|
||||
|
||||
asyncConstruction(){
|
||||
this.title = document.querySelector(".popup-title");
|
||||
//Setup title text real quick-like :P
|
||||
this.title.innerHTML = `Ban ${this.target}`;
|
||||
|
||||
this.permBan = document.querySelector("#ban-popup-perm");
|
||||
this.expiration = document.querySelector("#ban-popup-expiration");
|
||||
this.expirationPrefix = document.querySelector("#ban-popup-expiration-prefix");
|
||||
this.banAlts = document.querySelector("#ban-popup-alts");
|
||||
this.banButton = document.querySelector("#ban-popup-ban-button");
|
||||
this.cancelButton = document.querySelector("#ban-popup-cancel-button");
|
||||
|
||||
this.setupInput();
|
||||
}
|
||||
|
||||
setupInput(){
|
||||
this.permBan.addEventListener("change", this.permaBanLabel.bind(this));
|
||||
this.cancelButton.addEventListener("click", this.popup.closePopup.bind(this.popup));
|
||||
this.banButton.addEventListener("click",this.ban.bind(this));
|
||||
}
|
||||
|
||||
permaBanLabel(event){
|
||||
if(event.target.checked){
|
||||
this.expiration.disabled = true;
|
||||
}else{
|
||||
this.expiration.disabled = false;
|
||||
}
|
||||
}
|
||||
|
||||
async ban(event){
|
||||
//Get expiration days
|
||||
const expirationDays = this.permBan.checked ? -1 : this.expiration.value;
|
||||
//Send ban request off to server and retrieve new ban list
|
||||
const data = await utils.ajax.chanBan(this.channel, this.target, expirationDays, this.banAlts.checked);
|
||||
|
||||
//Close the popup
|
||||
this.popup.closePopup();
|
||||
|
||||
//If we have data and a callback, run the callback with our data
|
||||
if(data != null && this.cb != null){
|
||||
await this.cb(data);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
class prefrenceList{
|
||||
constructor(channel){
|
||||
this.channel = channel;
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue