Add RED.plugins module to editor

This commit is contained in:
Nick O'Leary 2020-12-14 10:40:06 +00:00
parent a006b52052
commit 7531314e3f
No known key found for this signature in database
GPG Key ID: 4F2157149161A6C9
3 changed files with 36 additions and 2 deletions

View File

@ -142,6 +142,7 @@ module.exports = function(grunt) {
"packages/node_modules/@node-red/editor-client/src/js/text/bidi.js",
"packages/node_modules/@node-red/editor-client/src/js/text/format.js",
"packages/node_modules/@node-red/editor-client/src/js/ui/state.js",
"packages/node_modules/@node-red/editor-client/src/js/plugins.js",
"packages/node_modules/@node-red/editor-client/src/js/nodes.js",
"packages/node_modules/@node-red/editor-client/src/js/font-awesome.js",
"packages/node_modules/@node-red/editor-client/src/js/history.js",

View File

@ -0,0 +1,29 @@
RED.plugins = (function() {
var plugins = {};
var pluginsByType = {};
function registerPlugin(id,definition) {
plugins[id] = definition;
if (definition.type) {
pluginsByType[definition.type] = pluginsByType[definition.type] || [];
pluginsByType[definition.type].push(definition);
}
if (definition.onadd && typeof definition.onadd === 'function') {
definition.onadd();
}
RED.events.emit("registry:plugin-added",id);
}
function getPlugin(id) {
return plugins[id]
}
function getPluginsByType(type) {
return pluginsByType[type] || [];
}
return {
registerPlugin: registerPlugin,
getPlugin: getPlugin,
getPluginsByType: getPluginsByType
}
})();

View File

@ -1,5 +1,9 @@
<script type="text/javascript">
console.log("Loaded test-plugin/test-editor-plugin")
// RED.plugins.registerPlugin("")
//
RED.plugins.registerPlugin("my-test-editor-only-plugin", {
type: "bar",
onadd: function() {
console.log("my-test-editor-only-plugin.onadd called")
}
})
</script>