stuff
This commit is contained in:
parent
3040f30774
commit
92ed9f182b
|
@ -922,9 +922,10 @@ var BDFDB = {
|
||||||
}
|
}
|
||||||
return InternalBDFDB.getWebModuleReq.req;
|
return InternalBDFDB.getWebModuleReq.req;
|
||||||
};
|
};
|
||||||
|
|
||||||
var webModulesPatchtypes = ["before", "instead", "after"];
|
var WebModulesData = {};
|
||||||
var webModulesPatchmap = {
|
WebModulesData.Patchtypes = ["before", "instead", "after"];
|
||||||
|
WebModulesData.Patchmap = {
|
||||||
BannedCard: "BannedUser",
|
BannedCard: "BannedUser",
|
||||||
InvitationCard: "InviteRow",
|
InvitationCard: "InviteRow",
|
||||||
InviteCard: "InviteRow",
|
InviteCard: "InviteRow",
|
||||||
|
@ -932,7 +933,7 @@ var BDFDB = {
|
||||||
MemberCard: "Member",
|
MemberCard: "Member",
|
||||||
WebhookCard: "Webhook"
|
WebhookCard: "Webhook"
|
||||||
};
|
};
|
||||||
var webModulesNotFindableModules = {
|
WebModulesData.Patchfinder = {
|
||||||
Account: "accountinfo",
|
Account: "accountinfo",
|
||||||
App: "app",
|
App: "app",
|
||||||
AuthWrapper: "loginscreen",
|
AuthWrapper: "loginscreen",
|
||||||
|
@ -957,8 +958,14 @@ var BDFDB = {
|
||||||
V2C_PluginCard: "_repoheader",
|
V2C_PluginCard: "_repoheader",
|
||||||
V2C_ThemeCard: "_repoheader"
|
V2C_ThemeCard: "_repoheader"
|
||||||
};
|
};
|
||||||
|
WebModulesData.GlobalModules = {};
|
||||||
|
try {WebModulesData.GlobalModules["V2C_ContentColumn"] = V2C_ContentColumn;} catch(err) {BDFDB.LogUtils.warn(`Could not find global Module "V2C_ContentColumn"`);}
|
||||||
|
try {WebModulesData.GlobalModules["V2C_List"] = V2C_List;} catch(err) {BDFDB.LogUtils.warn(`Could not find global Module "V2C_List"`);}
|
||||||
|
try {WebModulesData.GlobalModules["V2C_PluginCard"] = V2C_PluginCard;} catch(err) {BDFDB.LogUtils.warn(`Could not find global Module "V2C_PluginCard"`);}
|
||||||
|
try {WebModulesData.GlobalModules["V2C_ThemeCard"] = V2C_ThemeCard;} catch(err) {BDFDB.LogUtils.warn(`Could not find global Module "V2C_ThemeCard"`);}
|
||||||
|
|
||||||
BDFDB.ModuleUtils.patch = function (plugin, module, modulefunctions, patchfunctions) {
|
BDFDB.ModuleUtils.patch = function (plugin, module, modulefunctions, patchfunctions) {
|
||||||
if (!plugin || !module || !modulefunctions || !Object.keys(patchfunctions).some(type => webModulesPatchtypes.includes(type))) return null;
|
if (!plugin || !module || !modulefunctions || !Object.keys(patchfunctions).some(type => WebModulesData.Patchtypes.includes(type))) return null;
|
||||||
const pluginname = typeof plugin === "string" ? plugin : plugin.name;
|
const pluginname = typeof plugin === "string" ? plugin : plugin.name;
|
||||||
const pluginid = pluginname.toLowerCase();
|
const pluginid = pluginname.toLowerCase();
|
||||||
if (!module.BDFDBpatch) module.BDFDBpatch = {};
|
if (!module.BDFDBpatch) module.BDFDBpatch = {};
|
||||||
|
@ -968,7 +975,7 @@ var BDFDB = {
|
||||||
const originalfunction = module[modulefunction];
|
const originalfunction = module[modulefunction];
|
||||||
if (!module.BDFDBpatch[modulefunction]) {
|
if (!module.BDFDBpatch[modulefunction]) {
|
||||||
module.BDFDBpatch[modulefunction] = {};
|
module.BDFDBpatch[modulefunction] = {};
|
||||||
for (let type of webModulesPatchtypes) module.BDFDBpatch[modulefunction][type] = {};
|
for (let type of WebModulesData.Patchtypes) module.BDFDBpatch[modulefunction][type] = {};
|
||||||
module.BDFDBpatch[modulefunction].originalMethod = originalfunction;
|
module.BDFDBpatch[modulefunction].originalMethod = originalfunction;
|
||||||
module[modulefunction] = function () {
|
module[modulefunction] = function () {
|
||||||
const data = {
|
const data = {
|
||||||
|
@ -996,7 +1003,7 @@ var BDFDB = {
|
||||||
return data.returnValue;
|
return data.returnValue;
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
for (let type of webModulesPatchtypes) if (typeof patchfunctions[type] == "function") module.BDFDBpatch[modulefunction][type][pluginid] = patchfunctions[type];
|
for (let type of WebModulesData.Patchtypes) if (typeof patchfunctions[type] == "function") module.BDFDBpatch[modulefunction][type][pluginid] = patchfunctions[type];
|
||||||
}
|
}
|
||||||
let cancel = _ => {BDFDB.ModuleUtils.unpatch(plugin, module, modulefunctions);};
|
let cancel = _ => {BDFDB.ModuleUtils.unpatch(plugin, module, modulefunctions);};
|
||||||
if (plugin && typeof plugin == "object") {
|
if (plugin && typeof plugin == "object") {
|
||||||
|
@ -1023,12 +1030,12 @@ var BDFDB = {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
function unpatch (func, pluginname) {
|
function unpatch (func, pluginname) {
|
||||||
for (let type of webModulesPatchtypes) {
|
for (let type of WebModulesData.Patchtypes) {
|
||||||
if (pluginname) delete module.BDFDBpatch[func][type][pluginname];
|
if (pluginname) delete module.BDFDBpatch[func][type][pluginname];
|
||||||
else delete module.BDFDBpatch[func][type];
|
else delete module.BDFDBpatch[func][type];
|
||||||
}
|
}
|
||||||
var empty = true;
|
var empty = true;
|
||||||
for (let type of webModulesPatchtypes) if (!BDFDB.ObjectUtils.isEmpty(module.BDFDBpatch[func][type])) empty = false;
|
for (let type of WebModulesData.Patchtypes) if (!BDFDB.ObjectUtils.isEmpty(module.BDFDBpatch[func][type])) empty = false;
|
||||||
if (empty) {
|
if (empty) {
|
||||||
module[func] = module.BDFDBpatch[func].originalMethod;
|
module[func] = module.BDFDBpatch[func].originalMethod;
|
||||||
delete module.BDFDBpatch[func];
|
delete module.BDFDBpatch[func];
|
||||||
|
@ -1048,7 +1055,7 @@ var BDFDB = {
|
||||||
}
|
}
|
||||||
selectedtypes = (BDFDB.ArrayUtils.is(selectedtypes) ? selectedtypes : Array.of(selectedtypes)).filter(n => n);
|
selectedtypes = (BDFDB.ArrayUtils.is(selectedtypes) ? selectedtypes : Array.of(selectedtypes)).filter(n => n);
|
||||||
if (selectedtypes.length) {
|
if (selectedtypes.length) {
|
||||||
selectedtypes = selectedtypes.map(type => type && webModulesPatchmap[type] ? webModulesPatchmap[type] + " _ _ " + type : type);
|
selectedtypes = selectedtypes.map(type => type && WebModulesData.Patchmap[type] ? WebModulesData.Patchmap[type] + " _ _ " + type : type);
|
||||||
filteredmodules = filteredmodules.filter(type => selectedtypes.indexOf(type) > -1);
|
filteredmodules = filteredmodules.filter(type => selectedtypes.indexOf(type) > -1);
|
||||||
}
|
}
|
||||||
if (filteredmodules.length) {
|
if (filteredmodules.length) {
|
||||||
|
@ -1117,15 +1124,18 @@ var BDFDB = {
|
||||||
if (BDFDB.ObjectUtils.is(plugin) && BDFDB.ObjectUtils.is(plugin.patchModules)) {
|
if (BDFDB.ObjectUtils.is(plugin) && BDFDB.ObjectUtils.is(plugin.patchModules)) {
|
||||||
BDFDB.ModuleUtils.unpatch(plugin);
|
BDFDB.ModuleUtils.unpatch(plugin);
|
||||||
for (let type in plugin.patchModules) {
|
for (let type in plugin.patchModules) {
|
||||||
var mapped = webModulesPatchmap[type];
|
if (WebModulesData.GlobalModules[type] && typeof WebModulesData.GlobalModules[type] == "function") patchInstance(WebModulesData.GlobalModules[type], type);
|
||||||
var classname = webModulesNotFindableModules[type.split(" _ _ ")[1] || type];
|
else {
|
||||||
var patchtype = mapped ? mapped + " _ _ " + type : type;
|
var mapped = WebModulesData.Patchmap[type];
|
||||||
if (mapped) {
|
var classname = WebModulesData.Patchfinder[type.split(" _ _ ")[1] || type];
|
||||||
plugin.patchModules[patchtype] = plugin.patchModules[type];
|
var patchtype = mapped ? mapped + " _ _ " + type : type;
|
||||||
delete plugin.patchModules[type];
|
if (mapped) {
|
||||||
|
plugin.patchModules[patchtype] = plugin.patchModules[type];
|
||||||
|
delete plugin.patchModules[type];
|
||||||
|
}
|
||||||
|
if (!classname) patchInstance(BDFDB.ModuleUtils.findByName(patchtype.split(" _ _ ")[0]), patchtype);
|
||||||
|
else if (DiscordClasses[classname]) checkForInstance(classname, patchtype);
|
||||||
}
|
}
|
||||||
if (!classname) patchInstance(BDFDB.ModuleUtils.findByName(patchtype.split(" _ _ ")[0]), patchtype);
|
|
||||||
else if (DiscordClasses[classname]) checkForInstance(classname, patchtype);
|
|
||||||
}
|
}
|
||||||
function patchInstance(instance, type) {
|
function patchInstance(instance, type) {
|
||||||
if (instance) {
|
if (instance) {
|
||||||
|
@ -1179,7 +1189,7 @@ var BDFDB = {
|
||||||
if (!instance) return false;
|
if (!instance) return false;
|
||||||
instance = instance._reactInternalFiber && instance._reactInternalFiber.type ? instance._reactInternalFiber.type : instance;
|
instance = instance._reactInternalFiber && instance._reactInternalFiber.type ? instance._reactInternalFiber.type : instance;
|
||||||
instance = instance.displayName == name || instance.name == name ? instance : BDFDB.ReactUtils.findOwner(instance, {name, up:true});
|
instance = instance.displayName == name || instance.name == name ? instance : BDFDB.ReactUtils.findOwner(instance, {name, up:true});
|
||||||
return instance && (name != "V2C_PluginCard" && name != "V2C_ThemeCard" || name == "V2C_PluginCard" && BDFDB.BDUtils.checkRepoPage() == "plugins" || name == "V2C_ThemeCard" && BDFDB.BDUtils.checkRepoPage() == "themes");
|
return !!instance;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
@ -6257,9 +6267,7 @@ var BDFDB = {
|
||||||
let props = Object.assign({}, this.props, {
|
let props = Object.assign({}, this.props, {
|
||||||
className: BDFDB.DOMUtils.formatClassName(this.props.className, BDFDB.disCN.quickselectwrapper),
|
className: BDFDB.DOMUtils.formatClassName(this.props.className, BDFDB.disCN.quickselectwrapper),
|
||||||
popoutClassName: BDFDB.DOMUtils.formatClassName(this.props.popoutClassName, BDFDB.disCN.quickselectpopoutwrapper),
|
popoutClassName: BDFDB.DOMUtils.formatClassName(this.props.popoutClassName, BDFDB.disCN.quickselectpopoutwrapper),
|
||||||
popoutProps: {
|
popoutProps: {position: "bottom"},
|
||||||
position: "bottom"
|
|
||||||
},
|
|
||||||
onChange: this.handleChange.bind(this)
|
onChange: this.handleChange.bind(this)
|
||||||
});
|
});
|
||||||
if (!BDFDB.ObjectUtils.is(props.value)) props.value = {};
|
if (!BDFDB.ObjectUtils.is(props.value)) props.value = {};
|
||||||
|
|
File diff suppressed because one or more lines are too long
Loading…
Reference in New Issue