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 || {};