From f9b46d2c4a52305264746bcdea4cc2693ba3a7f6 Mon Sep 17 00:00:00 2001 From: Mirco Wittrien Date: Sat, 9 Mar 2019 20:18:44 +0100 Subject: [PATCH] stuff --- Plugins/EditChannels/EditChannels.plugin.js | 10 ++++++---- Plugins/EditServers/EditServers.plugin.js | 14 +++++++------- Plugins/EditUsers/EditUsers.plugin.js | 4 +++- 3 files changed, 16 insertions(+), 12 deletions(-) diff --git a/Plugins/EditChannels/EditChannels.plugin.js b/Plugins/EditChannels/EditChannels.plugin.js index 22a8398e97..27869dcc88 100644 --- a/Plugins/EditChannels/EditChannels.plugin.js +++ b/Plugins/EditChannels/EditChannels.plugin.js @@ -196,7 +196,7 @@ class EditChannels { if (global.BDFDB && typeof BDFDB === "object" && BDFDB.loaded) { let data = BDFDB.loadAllData(this, "channels"); BDFDB.removeAllData(this, "channels"); - BDFDB.WebModules.forceAllUpdates(this); + try {BDFDB.WebModules.forceAllUpdates(this);} catch (err) {} BDFDB.saveAllData(data, this, "channels"); BDFDB.removeEles(".autocompleteEditChannels", ".autocompleteEditChannelsRow"); @@ -223,20 +223,22 @@ class EditChannels { onChannelContextMenu (instance, menu) { if (instance.props && instance.props.channel && !menu.querySelector(".localchannelsettings-item")) { let channelContextEntry = BDFDB.htmlToElement(this.channelContextEntryMarkup); - menu.appendChild(channelContextEntry); + let devgroup = BDFDB.React.findDOMNodeSafe(BDFDB.getOwnerInstance({node:menu,name:["DeveloperModeGroup","MessageDeveloperModeGroup"]})); + if (devgroup) devgroup.parentElement.insertBefore(channelContextEntry, devgroup); + else menu.appendChild(channelContextEntry, menu); let settingsitem = channelContextEntry.querySelector(".localchannelsettings-item"); settingsitem.addEventListener("mouseenter", () => { let channelContextSubMenu = BDFDB.htmlToElement(this.channelContextSubMenuMarkup); let channelitem = channelContextSubMenu.querySelector(".channelsettings-item"); channelitem.addEventListener("click", () => { - instance._reactInternalFiber.return.memoizedProps.closeContextMenu(); + BDFDB.closeContextMenu(menu); this.showChannelSettings(instance.props.channel); }); if (BDFDB.loadData(instance.props.channel.id, this, "channels")) { let resetitem = channelContextSubMenu.querySelector(".resetsettings-item"); BDFDB.removeClass(resetitem, BDFDB.disCN.contextmenuitemdisabled); resetitem.addEventListener("click", () => { - instance._reactInternalFiber.return.memoizedProps.closeContextMenu(); + BDFDB.closeContextMenu(menu); BDFDB.removeData(instance.props.channel.id, this, "channels"); BDFDB.WebModules.forceAllUpdates(this); }); diff --git a/Plugins/EditServers/EditServers.plugin.js b/Plugins/EditServers/EditServers.plugin.js index ba22c5ad5f..d8b4bade0d 100644 --- a/Plugins/EditServers/EditServers.plugin.js +++ b/Plugins/EditServers/EditServers.plugin.js @@ -210,7 +210,7 @@ class EditServers { if (global.BDFDB && typeof BDFDB === "object" && BDFDB.loaded) { let data = BDFDB.loadAllData(this, "servers"); BDFDB.removeAllData(this, "servers"); - BDFDB.WebModules.forceAllUpdates(this); + try {BDFDB.WebModules.forceAllUpdates(this);} catch (err) {} BDFDB.saveAllData(data, this, "servers"); BDFDB.unloadMessage(this); @@ -244,20 +244,22 @@ class EditServers { onGuildContextMenu (instance, menu) { if (instance.props && instance.props.target && instance.props.guild && !menu.querySelector(".localserversettings-item")) { let serverContextEntry = BDFDB.htmlToElement(this.serverContextEntryMarkup); - menu.appendChild(serverContextEntry); + let devgroup = BDFDB.React.findDOMNodeSafe(BDFDB.getOwnerInstance({node:menu,name:["DeveloperModeGroup","MessageDeveloperModeGroup"]})); + if (devgroup) devgroup.parentElement.insertBefore(serverContextEntry, devgroup); + else menu.appendChild(serverContextEntry, menu); let settingsitem = serverContextEntry.querySelector(".localserversettings-item"); settingsitem.addEventListener("mouseenter", () => { let serverContextSubMenu = BDFDB.htmlToElement(this.serverContextSubMenuMarkup); let serveritem = serverContextSubMenu.querySelector(".serversettings-item"); serveritem.addEventListener("click", () => { - instance._reactInternalFiber.return.memoizedProps.closeContextMenu(); + BDFDB.closeContextMenu(menu); this.showServerSettings(instance.props.guild); }); if (BDFDB.loadData(instance.props.guild.id, this, "servers")) { let resetitem = serverContextSubMenu.querySelector(".resetsettings-item"); BDFDB.removeClass(resetitem, BDFDB.disCN.contextmenuitemdisabled); resetitem.addEventListener("click", () => { - instance._reactInternalFiber.return.memoizedProps.closeContextMenu(); + BDFDB.closeContextMenu(menu); BDFDB.removeData(instance.props.guild.id, this, "servers"); BDFDB.WebModules.forceAllUpdates(this); }); @@ -440,9 +442,7 @@ class EditServers { icon.style.setProperty("background-color", BDFDB.colorCONVERT(data.color1, "RGB"), "important"); icon.style.setProperty("color", BDFDB.colorCONVERT(data.color2, "RGB", "important")); icon.style.setProperty("font-size", this.getFontSize(icon)); - let hasicon = icon.style.getPropertyValue("background-image"); - if (hasicon) BDFDB.removeClass(icon, this.getNoIconClasses(icon)); - else BDFDB.addClass(icon, this.getNoIconClasses(icon)); + BDFDB.toggleClass(icon, this.getNoIconClasses(icon), !icon.style.getPropertyValue("background-image")); if (data.url && !data.removeIcon) { icon.style.setProperty("background-position", "center"); icon.style.setProperty("background-size", "cover"); diff --git a/Plugins/EditUsers/EditUsers.plugin.js b/Plugins/EditUsers/EditUsers.plugin.js index e33a4f11f6..7195490ffd 100644 --- a/Plugins/EditUsers/EditUsers.plugin.js +++ b/Plugins/EditUsers/EditUsers.plugin.js @@ -303,7 +303,9 @@ class EditUsers { onUserContextMenu (instance, menu) { if (instance.props && instance.props.user && !menu.querySelector(".localusersettings-item")) { let userContextEntry = BDFDB.htmlToElement(this.userContextEntryMarkup); - menu.appendChild(userContextEntry); + let devgroup = BDFDB.React.findDOMNodeSafe(BDFDB.getOwnerInstance({node:menu,name:["DeveloperModeGroup","MessageDeveloperModeGroup"]})); + if (devgroup) devgroup.parentElement.insertBefore(userContextEntry, devgroup); + else menu.appendChild(userContextEntry, menu); let settingsitem = userContextEntry.querySelector(".localusersettings-item"); settingsitem.addEventListener("mouseenter", () => { let userContextSubMenu = BDFDB.htmlToElement(this.userContextSubMenuMarkup);