mirror of
https://github.com/discourse/discourse.git
synced 2025-05-26 04:33:38 +08:00
Upgrade withPluginApi
to support non-api callbacks
This commit is contained in:
@ -16,7 +16,29 @@ export function decorateCooked(container, cb) {
|
||||
decorate(container.lookupFactory('view:user-stream'), 'didInsertElement', cb);
|
||||
}
|
||||
|
||||
// Will be backported so plugins in the new format will not raise errors
|
||||
export function withPluginApi(version) {
|
||||
// This is backported so plugins in the new format will not raise errors
|
||||
//
|
||||
// To upgrade your plugin for backwards compatibility, you can add code in this
|
||||
// form:
|
||||
//
|
||||
// function newApiCode(api) {
|
||||
// // api.xyz();
|
||||
// }
|
||||
//
|
||||
// function oldCode() {
|
||||
// // your pre-PluginAPI code goes here. You will be able to delete this
|
||||
// // code once the `PluginAPI` has been rolled out to all versions of
|
||||
// // Discourse you want to support.
|
||||
// }
|
||||
//
|
||||
// // `newApiCode` will use API version 0.1, if no API support then
|
||||
// // `oldCode` will be called
|
||||
// withPluginApi('0.1', newApiCode, { noApi: oldCode });
|
||||
//
|
||||
export function withPluginApi(version, apiCodeCallback, opts) {
|
||||
console.warn(`Plugin API v${version} is not supported`);
|
||||
|
||||
if (opts && opts.noApi) {
|
||||
return opts.noApi();
|
||||
}
|
||||
}
|
||||
|
Reference in New Issue
Block a user