From 90ab7a2f7258dda9b739e0dfec78ac39004d6f9b Mon Sep 17 00:00:00 2001 From: Mirco Wittrien Date: Tue, 26 Mar 2019 14:14:01 +0100 Subject: [PATCH] Update ShowHiddenChannels.plugin.js --- .../ShowHiddenChannels.plugin.js | 144 ++++++------------ 1 file changed, 45 insertions(+), 99 deletions(-) diff --git a/Plugins/ShowHiddenChannels/ShowHiddenChannels.plugin.js b/Plugins/ShowHiddenChannels/ShowHiddenChannels.plugin.js index d1bfbd99fc..7f193eace1 100644 --- a/Plugins/ShowHiddenChannels/ShowHiddenChannels.plugin.js +++ b/Plugins/ShowHiddenChannels/ShowHiddenChannels.plugin.js @@ -3,7 +3,7 @@ class ShowHiddenChannels { getName () {return "ShowHiddenChannels";} - getVersion () {return "2.4.4";} + getVersion () {return "2.4.5";} getAuthor () {return "DevilBro";} @@ -11,7 +11,7 @@ class ShowHiddenChannels { initConstructor () { this.changelog = { - "fixed":[["Voice Channels","Fixed the issue where tooltip wouldn't properly display which roles/users can/can't connect to a voice channel"]] + "fixed":[["Style","Changed the style how hidden channels/categories are displayed a bit"]] }; this.patchModules = { @@ -33,13 +33,13 @@ class ShowHiddenChannels { `; - this.channelTextMarkup = + this.channelMarkup = `
- +
@@ -48,32 +48,18 @@ class ShowHiddenChannels {
`; - - this.channelVoiceMarkup = - `
-
-
-
- - - - -
-
-
-
-
-
`; - - this.channelCategoryMarkup = - `
-
- - - -
-
-
`; + + this.channelMessage = { + TEXT: `enter the hidden text channel`, + VOICE: `enter the hidden voice channel`, + CATEGORY: `open the hidden category` + } + + this.channelIcons = { + TEXT: `M7.92,4.66666667 L6.50666667,4.66666667 L6.98,2 L5.64666667,2 L5.17333333,4.66666667 L2.50666667,4.66666667 L2.27333333,6 L4.94,6 L4.23333333,10 L1.56666667,10 L1.33333333,11.3333333 L4,11.3333333 L3.52666667,14 L4.86,14 L5.33333333,11.3333333 L9.33333333,11.3333333 L8.86,14 L10.1933333,14 L10.6666667,11.3333333 L13.3333333,11.3333333 L13.5666667,10 L12.2333333,10 L8.74333333,10 L5.56666667,10 L6.27333333,6 L7.92,6 L7.92,4.66666667 Z`, + VOICE: `M13.6005009,10 C12.8887426,11.8438372 11.2906136,13.2480521 9.33333333,13.6933333 L9.33333333,12.3133333 C10.5512947,11.950895 11.5614504,11.1062412 12.1398042,10 L13.6005009,10 Z M10.7736513,8.99497564 C10.4978663,9.6613459 9.98676114,10.2040442 9.33333333,10.5133333 L9.33333333,8.99497564 L10.7736513,8.99497564 Z M2,5.84666667 L4.66666667,5.84666667 L8,2.51333333 L8,13.18 L4.66666667,9.84666667 L2,9.84666667 L2,5.84666667 Z`, + CATEGORY: `M4,0 L4,3 L0,3 L0,0 L4,0 Z M12,4 L12,7 L8,7 L8,4 L12,4 Z M8,9 L12,9 L12,12 L8,12 L8,9.33333333 L8,9 Z M7,7 L3,7 L3,10 L7,10 L7,12 L3,12 L1,12 L1,4 L3,4 L3,5 L7,5 L7,7 Z` + }; this.defaults = { settings: { @@ -266,75 +252,10 @@ class ShowHiddenChannels { inner.addEventListener("mouseenter", togglecontainer); inner.addEventListener("mouseleave", togglecontainer); - for (let hiddenChannel of hiddenChannels[0]) { - let channel = BDFDB.htmlToElement(this.channelTextMarkup); - let channelwrapper = channel.querySelector(BDFDB.dotCN.channelwrapper); - let channelicon = channel.querySelector(BDFDB.dotCN.channelcontent); - let channelsvg = channel.querySelector(BDFDB.dotCN.channelicon); - let channelname = channel.querySelector(BDFDB.dotCN.channelname); - this.setReactInstanceOfChannel(hiddenChannel, channel); - channelname.innerText = hiddenChannel.name; - BDFDB.addChildEventListener(channel, "mouseenter mouseleave", BDFDB.dotCN.channelwrapper, e => { - BDFDB.toggleClass(channelwrapper, BDFDB.disCN.channelwrapperdefaulttext, BDFDB.disCN.channelwrapperhoveredtext); - BDFDB.toggleClass(channelicon, BDFDB.disCN.channelcontentdefaulttext, BDFDB.disCN.channelcontenthoveredtext); - BDFDB.toggleClass(channelsvg, BDFDB.disCN.channelcolordefaulttext, BDFDB.disCN.channelcolorhoveredtext); - BDFDB.toggleClass(channelname, BDFDB.disCN.channelnamedefaulttext, BDFDB.disCN.channelnamehoveredtext); - this.showAccessRoles(guild, hiddenChannel, e, false); - }); - channel.addEventListener("click", () => { - BDFDB.showToast(`You can not enter the hidden textchannel  ${BDFDB.encodeToHTML(hiddenChannel.name)}.`, {type:"error", html:true}); - }); - channel.addEventListener("contextmenu", e => { - this.createHiddenObjContextMenu(guild, hiddenChannel, "TEXT", e); - }); - category.appendChild(channel); - } - - for (let hiddenChannel of hiddenChannels[2]) { - let channel = BDFDB.htmlToElement(this.channelVoiceMarkup); - let channelwrapper = channel.querySelector(BDFDB.dotCN.channelwrapper); - let channelicon = channel.querySelector(BDFDB.dotCN.channelcontent); - let channelsvg = channel.querySelector(BDFDB.dotCN.channelicon); - let channelname = channel.querySelector(BDFDB.dotCN.channelname); - this.setReactInstanceOfChannel(hiddenChannel, channel); - channelname.innerText = hiddenChannel.name; - BDFDB.addChildEventListener(channel, "mouseenter mouseleave", BDFDB.dotCN.channelwrapper, e => { - BDFDB.toggleClass(channelwrapper, BDFDB.disCN.channelwrapperdefaultvoice, BDFDB.disCN.channelwrapperhoveredvoice); - BDFDB.toggleClass(channelicon, BDFDB.disCN.channelcontentdefaultvoice, BDFDB.disCN.channelcontenthoveredvoice); - BDFDB.toggleClass(channelsvg, BDFDB.disCN.channelcolordefaultvoice, BDFDB.disCN.channelcolorhoveredvoice); - BDFDB.toggleClass(channelname, BDFDB.disCN.channelnamedefaultvoice, BDFDB.disCN.channelnamehoveredvoice); - this.showAccessRoles(guild, hiddenChannel, e, false); - }); - channel.addEventListener("click", () => { - BDFDB.showToast(`You can not enter the hidden voicechannel  ${BDFDB.encodeToHTML(hiddenChannel.name)}.`, {type:"error", html:true}); - }); - channel.addEventListener("contextmenu", e => { - this.createHiddenObjContextMenu(guild, hiddenChannel, "VOICE", e); - }); - category.appendChild(channel); - } - - for (let hiddenChannel of hiddenChannels[4]) { - let channel = BDFDB.htmlToElement(this.channelCategoryMarkup); - let channelwrapper = channel.querySelector(BDFDB.dotCN.categorywrappercollapsed); - let channelsvg = channel.querySelector(BDFDB.dotCN.categoryiconcollapsed); - let channelname = channel.querySelector(BDFDB.dotCN.categorynamecollapsed); - this.setReactInstanceOfChannel(hiddenChannel, channel); - channelname.innerText = hiddenChannel.name; - BDFDB.addChildEventListener(channel, "mouseenter mouseleave", BDFDB.dotCN.flex, e => { - BDFDB.toggleClass(channelwrapper, BDFDB.disCN.categorywrappercollapsed, BDFDB.disCN.categorywrapperhoveredcollapsed); - BDFDB.toggleClass(channelsvg, BDFDB.disCN.categoryiconcollapsed, BDFDB.disCN.categoryiconhoveredcollapsed); - BDFDB.toggleClass(channelname, BDFDB.disCN.categorynamecollapsed, BDFDB.disCN.categorynamehoveredcollapsed); - this.showAccessRoles(guild, hiddenChannel, e, false); - }); - channel.addEventListener("click", () => { - BDFDB.showToast(`You can not open the hidden category  ${BDFDB.encodeToHTML(hiddenChannel.name)}.`, {type:"error", html:true}); - }); - channel.addEventListener("contextmenu", e => { - this.createHiddenObjContextMenu(guild, hiddenChannel, "CATEGORY", e); - }); - category.appendChild(channel); - } + for (let hiddenChannel of hiddenChannels[0]) this.createChannel(guild, category, hiddenChannel, "TEXT"); + for (let hiddenChannel of hiddenChannels[2]) this.createChannel(guild, category, hiddenChannel, "VOICE"); + for (let hiddenChannel of hiddenChannels[4]) this.createChannel(guild, category, hiddenChannel, "CATEGORY"); + if (BDFDB.loadData(guild.id, this, "categorystatus") === false) { BDFDB.toggleClass(wrapper, BDFDB.disCN.categorywrapperdefault, BDFDB.disCN.categorywrappercollapsed); BDFDB.toggleClass(svg, BDFDB.disCN.categoryicondefault, BDFDB.disCN.categoryiconcollapsed, BDFDB.disCN.directiondown, BDFDB.disCN.directionright); @@ -356,6 +277,31 @@ class ShowHiddenChannels { }); } } + + createChannel (guild, category, info, type) { + let channel = BDFDB.htmlToElement(this.channelMarkup); + let channelwrapper = channel.querySelector(BDFDB.dotCN.channelwrapper); + let channelicon = channel.querySelector(BDFDB.dotCN.channelcontent); + let channelsvg = channel.querySelector(BDFDB.dotCN.channelicon); + let channelname = channel.querySelector(BDFDB.dotCN.channelname); + this.setReactInstanceOfChannel(info, channel); + channelname.innerText = info.name; + channelsvg.querySelector(BDFDB.dotCN.channelbackground).setAttribute("d", this.channelIcons[type]); + BDFDB.addChildEventListener(channel, "mouseenter mouseleave", BDFDB.dotCN.channelwrapper, e => { + BDFDB.toggleClass(channelwrapper, BDFDB.disCN.channelwrapperdefaulttext, BDFDB.disCN.channelwrapperhoveredtext); + BDFDB.toggleClass(channelicon, BDFDB.disCN.channelcontentdefaulttext, BDFDB.disCN.channelcontenthoveredtext); + BDFDB.toggleClass(channelsvg, BDFDB.disCN.channelcolordefaulttext, BDFDB.disCN.channelcolorhoveredtext); + BDFDB.toggleClass(channelname, BDFDB.disCN.channelnamedefaulttext, BDFDB.disCN.channelnamehoveredtext); + this.showAccessRoles(guild, info, e, false); + }); + channel.addEventListener("click", () => { + BDFDB.showToast(`You can not ${this.channelMessage[type]}  ${BDFDB.encodeToHTML(info.name)}.`, {type:"error", html:true}); + }); + channel.addEventListener("contextmenu", e => { + this.createHiddenObjContextMenu(guild, info, type, e); + }); + category.appendChild(channel); + } reappendHiddenContainer (guild, category = document.querySelector(BDFDB.dotCNS.channels + BDFDB.dotCNS.scroller + ".container-hidden")) { if (!guild) return;