Finished JSDoc for all of www/js/channel except for www/js/channel/queuePanel.js
This commit is contained in:
parent
c0f219276f
commit
0e1b48c02c
97 changed files with 12323 additions and 135 deletions
|
|
@ -13,7 +13,17 @@ GNU Affero General Public License for more details.
|
|||
|
||||
You should have received a copy of the GNU Affero General Public License
|
||||
along with this program. If not, see <https://www.gnu.org/licenses/>.*/
|
||||
|
||||
/**
|
||||
* Class representing Emote Panel UX
|
||||
* @extends panelObj
|
||||
*/
|
||||
class emotePanel extends panelObj{
|
||||
/**
|
||||
* Instantiates a new Panel Object
|
||||
* @param {channel} client - Parent client Management Object
|
||||
* @param {Document} panelDocument - Panel Document
|
||||
*/
|
||||
constructor(client, panelDocument){
|
||||
super(client, "Emote Palette", "/panel/emote", panelDocument);
|
||||
|
||||
|
|
@ -49,6 +59,9 @@ class emotePanel extends panelObj{
|
|||
this.renderEmoteLists();
|
||||
}
|
||||
|
||||
/**
|
||||
* Defines input-related event handlers
|
||||
*/
|
||||
setupInput(){
|
||||
//Make sure to remove any event listeners in-case we moving an already instantiated panel
|
||||
this.siteEmoteToggle.removeEventListener("click", this.toggleSiteEmotes.bind(this));
|
||||
|
|
@ -76,18 +89,35 @@ class emotePanel extends panelObj{
|
|||
this.personalEmoteAddButton.addEventListener("click", this.addPersonalEmote.bind(this));
|
||||
}
|
||||
|
||||
/**
|
||||
* Toggles Site emote display
|
||||
* @param {Event} event - Event passed down by event listener
|
||||
*/
|
||||
toggleSiteEmotes(event){
|
||||
this.toggleEmotes(this.siteEmoteToggle, this.siteEmoteList);
|
||||
}
|
||||
|
||||
/**
|
||||
* Toggles Channel emote display
|
||||
* @param {Event} event - Event passed down by event listener
|
||||
*/
|
||||
toggleChanEmotes(event){
|
||||
this.toggleEmotes(this.chanEmoteToggle, this.chanEmoteList);
|
||||
}
|
||||
|
||||
/**
|
||||
* Toggles Personal emote display
|
||||
* @param {Event} event - Event passed down by event listener
|
||||
*/
|
||||
togglePersonalEmotes(event){
|
||||
this.toggleEmotes(this.personalEmoteToggle, this.personalEmoteSection);
|
||||
}
|
||||
|
||||
/**
|
||||
* Toggles a specified emote list on or off
|
||||
* @param {Node} icon - Toggle Icon for given list
|
||||
* @param {Node} list - Emote list container to toggle
|
||||
*/
|
||||
toggleEmotes(icon, list){
|
||||
if(list.checkVisibility()){
|
||||
icon.classList.replace('bi-caret-down-fill','bi-caret-left-fill');
|
||||
|
|
@ -98,6 +128,10 @@ class emotePanel extends panelObj{
|
|||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Concatenates specified emote into chat prompt input
|
||||
* @param {String} emote - Emote to concat into chat
|
||||
*/
|
||||
useEmote(emote){
|
||||
//If we're using this from the active panel
|
||||
if(this.client.cPanel.activePanel == this){
|
||||
|
|
@ -109,6 +143,10 @@ class emotePanel extends panelObj{
|
|||
this.client.chatBox.catChat(`[${emote}]`);
|
||||
}
|
||||
|
||||
/**
|
||||
* Requests server to add emote to list of personal emotes
|
||||
* @param {Event} event - Event passed down by event listener
|
||||
*/
|
||||
addPersonalEmote(event){
|
||||
//Collect input
|
||||
const name = this.personalEmoteNamePrompt.value;
|
||||
|
|
@ -122,11 +160,18 @@ class emotePanel extends panelObj{
|
|||
this.client.socket.emit("addPersonalEmote", {name, link});
|
||||
}
|
||||
|
||||
/**
|
||||
* Requests server to remove emote from list of personal emotes
|
||||
* @param {String} name - Name of emote to delete
|
||||
*/
|
||||
deletePersonalEmote(name){
|
||||
//send out delete
|
||||
this.client.socket.emit('deletePersonalEmote', {name});
|
||||
}
|
||||
|
||||
/**
|
||||
* Renders out emote list to panel document
|
||||
*/
|
||||
renderEmoteLists(){
|
||||
//if we've initialized the search prompt (wont happen yet first run)
|
||||
if(this.searchPrompt != null){
|
||||
|
|
@ -158,6 +203,12 @@ class emotePanel extends panelObj{
|
|||
this.renderEmotes(personalEmotes, this.personalEmoteList, true);
|
||||
}
|
||||
|
||||
/**
|
||||
* Renders out emotes to emote lists
|
||||
* @param {Array} emoteList - list of emotes to render
|
||||
* @param {Node} container - Container to render emotes out to
|
||||
* @param {Boolean} personal - Denotes whether or not we're rendering personal emotes
|
||||
*/
|
||||
renderEmotes(emoteList, container, personal = false){
|
||||
//Clear out the container
|
||||
container.innerHTML = '';
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue