From 513f570936723e912ab79ba10a3b6b23558be803 Mon Sep 17 00:00:00 2001 From: James Kiesel Date: Tue, 17 Jan 2017 00:39:23 +1300 Subject: [PATCH] Add reopenWidget method --- .../javascripts/discourse/widgets/widget.js.es6 | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/app/assets/javascripts/discourse/widgets/widget.js.es6 b/app/assets/javascripts/discourse/widgets/widget.js.es6 index f3f5d95356a..45bdac06245 100644 --- a/app/assets/javascripts/discourse/widgets/widget.js.es6 +++ b/app/assets/javascripts/discourse/widgets/widget.js.es6 @@ -125,6 +125,17 @@ export function createWidget(name, opts) { return result; } +export function reopenWidget(name, opts) { + let existing = _registry[name] + if (!existing) { + console.error(`Could not find widget ${name} in registry`); + return + } + + Object.keys(opts).forEach(k => existing.prototype[k] = opts[k]) + return existing +} + export default class Widget { constructor(attrs, register, opts) { opts = opts || {};