Merge pull request #4657 from gdpelican/reopen-widget
Add reopenWidget method
This commit is contained in:
commit
cef8a0af34
|
@ -5,7 +5,7 @@ import { addButton } from 'discourse/widgets/post-menu';
|
|||
import { includeAttributes } from 'discourse/lib/transform-post';
|
||||
import { addToolbarCallback } from 'discourse/components/d-editor';
|
||||
import { addWidgetCleanCallback } from 'discourse/components/mount-widget';
|
||||
import { createWidget, decorateWidget, changeSetting } from 'discourse/widgets/widget';
|
||||
import { createWidget, reopenWidget, decorateWidget, changeSetting } from 'discourse/widgets/widget';
|
||||
import { onPageChange } from 'discourse/lib/page-tracker';
|
||||
import { preventCloak } from 'discourse/widgets/post-stream';
|
||||
import { h } from 'virtual-dom';
|
||||
|
@ -307,6 +307,16 @@ class PluginApi {
|
|||
return createWidget(name, args);
|
||||
}
|
||||
|
||||
/**
|
||||
* Exposes the widget update ability to plugins. Updates the widget
|
||||
* registry for the given widget name to include the properties on args
|
||||
* See `reopenWidget` in `discourse/widgets/widget` from more ifo.
|
||||
**/
|
||||
|
||||
reopenWidget(name, args) {
|
||||
return reopenWidget(name, args);
|
||||
}
|
||||
|
||||
/**
|
||||
* Adds a property that can be summed for calculating the flag counter
|
||||
**/
|
||||
|
@ -357,7 +367,7 @@ class PluginApi {
|
|||
let _pluginv01;
|
||||
function getPluginApi(version) {
|
||||
version = parseFloat(version);
|
||||
if (version <= 0.6) {
|
||||
if (version <= 0.7) {
|
||||
if (!_pluginv01) {
|
||||
_pluginv01 = new PluginApi(version, Discourse.__container__);
|
||||
}
|
||||
|
|
|
@ -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 || {};
|
||||
|
|
Loading…
Reference in New Issue