Update BDFDB.max.js

This commit is contained in:
Mirco Wittrien 2019-09-09 09:48:37 +02:00
parent 0d1926bbe8
commit 365745c557
1 changed files with 13 additions and 21 deletions

View File

@ -1367,7 +1367,6 @@ var BDFDB = {myPlugins: BDFDB && BDFDB.myPlugins ? BDFDB.myPlugins : {}, BDv2Api
PopoutContainer: 'popout', PopoutContainer: 'popout',
PrivateChannelCall: 'callcurrentcontainer', PrivateChannelCall: 'callcurrentcontainer',
MemberCard: 'guildsettingsmembercard', MemberCard: 'guildsettingsmembercard',
Message: true,
NameTag: 'nametag', NameTag: 'nametag',
SearchResults: 'searchresultswrap', SearchResults: 'searchresultswrap',
TypingUsers: 'typing', TypingUsers: 'typing',
@ -1490,14 +1489,14 @@ var BDFDB = {myPlugins: BDFDB && BDFDB.myPlugins ? BDFDB.myPlugins : {}, BDv2Api
if (BDFDB.isObject(plugin) && BDFDB.isObject(plugin.patchModules)) { if (BDFDB.isObject(plugin) && BDFDB.isObject(plugin.patchModules)) {
for (let type in plugin.patchModules) { for (let type in plugin.patchModules) {
var mapped = webModulesPatchmap[type]; var mapped = webModulesPatchmap[type];
var classOrBoolean = webModulesNotFindableModules[type.split(' _ _ ')[1] || type]; var classname = webModulesNotFindableModules[type.split(' _ _ ')[1] || type];
var patchtype = mapped ? mapped + ' _ _ ' + type : type; var patchtype = mapped ? mapped + ' _ _ ' + type : type;
if (mapped) { if (mapped) {
plugin.patchModules[patchtype] = plugin.patchModules[type]; plugin.patchModules[patchtype] = plugin.patchModules[type];
delete plugin.patchModules[type]; delete plugin.patchModules[type];
} }
if (!classOrBoolean) patchInstance(BDFDB.WebModules.findByName(patchtype.split(' _ _ ')[0]), patchtype); if (!classname) patchInstance(BDFDB.WebModules.findByName(patchtype.split(' _ _ ')[0]), patchtype);
else if (typeof classOrBoolean == 'boolean' || DiscordClasses[classOrBoolean]) checkForInstance(classOrBoolean, patchtype); else if (DiscordClasses[classname]) checkForInstance(classname, patchtype);
} }
function patchInstance(instance, type) { function patchInstance(instance, type) {
if (instance) { if (instance) {
@ -1512,7 +1511,7 @@ var BDFDB = {myPlugins: BDFDB && BDFDB.myPlugins ? BDFDB.myPlugins : {}, BDv2Api
} }
} }
} }
function checkForInstance(classOrBoolean, type) { function checkForInstance(classname, type) {
const app = document.querySelector(BDFDB.dotCN.app), bdsettings = document.querySelector('#bd-settingspane-container ' + BDFDB.dotCN.scrollerwrap); const app = document.querySelector(BDFDB.dotCN.app), bdsettings = document.querySelector('#bd-settingspane-container ' + BDFDB.dotCN.scrollerwrap);
var instancefound = false; var instancefound = false;
if (app) { if (app) {
@ -1530,28 +1529,21 @@ var BDFDB = {myPlugins: BDFDB && BDFDB.myPlugins ? BDFDB.myPlugins : {}, BDv2Api
} }
} }
if (!instancefound) { if (!instancefound) {
var found = false, isBool = typeof classOrBoolean == 'boolean', instanceobserver = new MutationObserver(cs => {cs.forEach(c => {c.addedNodes.forEach(n => { var found = false, instanceobserver = new MutationObserver(cs => {cs.forEach(c => {c.addedNodes.forEach(n => {
if (found || !n || !n.tagName) return; if (found || !n || !n.tagName) return;
else if (isBool) { var ele = null;
var ins = BDFDB.getOwnerInstance({node:n, name:"Message", depth:99999999}); if ((ele = BDFDB.containsClass(n, BDFDB.disCN[classOrBoolean]) ? n : n.querySelector(BDFDB.dotCN[classOrBoolean])) != null) {
if (isCorrectInstance(ins, type)) foundInstance(ins); var ins = BDFDB.getReactInstance(ele);
} if (isCorrectInstance(ins, type)) {
else { found = true;
var ele = null; instanceobserver.disconnect();
if ((ele = BDFDB.containsClass(n, BDFDB.disCN[classOrBoolean]) ? n : n.querySelector(BDFDB.dotCN[classOrBoolean])) != null) { patchInstance(ins, type);
var ins = BDFDB.getReactInstance(ele); BDFDB.WebModules.forceAllUpdates(plugin, type);
if (isCorrectInstance(ins, type)) foundInstance(ins);
} }
} }
});});}); });});});
BDFDB.addObserver(plugin, BDFDB.dotCN.appmount, {name:'checkForInstanceObserver', instance:instanceobserver, multi:true BDFDB.addObserver(plugin, BDFDB.dotCN.appmount, {name:'checkForInstanceObserver', instance:instanceobserver, multi:true
}, {childList:true, subtree:true}); }, {childList:true, subtree:true});
var foundInstance = instance => {
found = true;
instanceobserver.disconnect();
patchInstance(instance, type);
BDFDB.WebModules.forceAllUpdates(plugin, type);
};
} }
} }
function isCorrectInstance(instance, type) { function isCorrectInstance(instance, type) {