From ad28e7c63880b7a263e9fdf87303e4c3b8bb8da0 Mon Sep 17 00:00:00 2001 From: Jiiks Date: Mon, 26 Nov 2018 07:22:15 +0200 Subject: [PATCH] Childpatch --- client/src/builtin/BuiltinModule.js | 6 ++++++ client/src/builtin/EmoteModule.js | 4 +--- 2 files changed, 7 insertions(+), 3 deletions(-) diff --git a/client/src/builtin/BuiltinModule.js b/client/src/builtin/BuiltinModule.js index c55c1f36..28d26794 100644 --- a/client/src/builtin/BuiltinModule.js +++ b/client/src/builtin/BuiltinModule.js @@ -78,6 +78,12 @@ export default class BuiltinModule { Patch(`BD:${this.moduleName}`, module)[when](fnName, cb.bind(this)); } + childPatch(module, fnName, child, cb, when = 'after') { + this.patch(module, fnName, (component, args, retVal) => { + this.patch(retVal[child[0]], child[1], cb, when); + }); + } + /** * Logger wraps */ diff --git a/client/src/builtin/EmoteModule.js b/client/src/builtin/EmoteModule.js index 5f3cb5ab..aa2f927d 100644 --- a/client/src/builtin/EmoteModule.js +++ b/client/src/builtin/EmoteModule.js @@ -227,9 +227,7 @@ export default new class EmoteModule extends BuiltinModule { */ async patchMessageContent() { const MessageContent = await ReactComponents.getComponent('MessageContent', { selector: Reflection.resolve('container', 'containerCozy', 'containerCompact', 'edited').selector }, m => m.defaultProps && m.defaultProps.hasOwnProperty('disableButtons')); - this.patch(MessageContent.component.prototype, 'render', (component, args, retVal) => { - this.patch(retVal.props, 'children', this.afterRenderMessageContent); - }); + this.childPatch(MessageContent.component.prototype, 'render', ['props', 'children'], this.afterRenderMessageContent); MessageContent.forceUpdateAll(); }