mirror of
https://github.com/node-red/node-red.git
synced 2025-03-01 10:36:34 +00:00
Merge branch 'dev' into function-modules
This commit is contained in:
@@ -64,17 +64,24 @@ function filterNodeInfo(n) {
|
||||
if (n.hasOwnProperty("err")) {
|
||||
r.err = n.err;
|
||||
}
|
||||
if (n.hasOwnProperty("plugins")) {
|
||||
r.plugins = n.plugins;
|
||||
}
|
||||
if (n.type === "plugin") {
|
||||
r.editor = !!n.template;
|
||||
r.runtime = !!n.file;
|
||||
}
|
||||
return r;
|
||||
}
|
||||
|
||||
|
||||
|
||||
function getModule(id) {
|
||||
function getModuleFromSetId(id) {
|
||||
var parts = id.split("/");
|
||||
return parts.slice(0,parts.length-1).join("/");
|
||||
}
|
||||
|
||||
function getNode(id) {
|
||||
function getNodeFromSetId(id) {
|
||||
var parts = id.split("/");
|
||||
return parts[parts.length-1];
|
||||
}
|
||||
@@ -217,11 +224,11 @@ function addModule(module) {
|
||||
|
||||
|
||||
function removeNode(id) {
|
||||
var config = moduleConfigs[getModule(id)].nodes[getNode(id)];
|
||||
var config = moduleConfigs[getModuleFromSetId(id)].nodes[getNodeFromSetId(id)];
|
||||
if (!config) {
|
||||
throw new Error("Unrecognised id: "+id);
|
||||
}
|
||||
delete moduleConfigs[getModule(id)].nodes[getNode(id)];
|
||||
delete moduleConfigs[getModuleFromSetId(id)].nodes[getNodeFromSetId(id)];
|
||||
var i = nodeList.indexOf(id);
|
||||
if (i > -1) {
|
||||
nodeList.splice(i,1);
|
||||
@@ -292,9 +299,9 @@ function getNodeInfo(typeOrId) {
|
||||
}
|
||||
/* istanbul ignore else */
|
||||
if (id) {
|
||||
var module = moduleConfigs[getModule(id)];
|
||||
var module = moduleConfigs[getModuleFromSetId(id)];
|
||||
if (module) {
|
||||
var config = module.nodes[getNode(id)];
|
||||
var config = module.nodes[getNodeFromSetId(id)];
|
||||
if (config) {
|
||||
var info = filterNodeInfo(config);
|
||||
if (config.hasOwnProperty("loaded")) {
|
||||
@@ -321,9 +328,9 @@ function getFullNodeInfo(typeOrId) {
|
||||
}
|
||||
/* istanbul ignore else */
|
||||
if (id) {
|
||||
var module = moduleConfigs[getModule(id)];
|
||||
var module = moduleConfigs[getModuleFromSetId(id)];
|
||||
if (module) {
|
||||
return module.nodes[getNode(id)];
|
||||
return module.nodes[getNodeFromSetId(id)];
|
||||
}
|
||||
}
|
||||
return null;
|
||||
@@ -357,16 +364,10 @@ function getNodeList(filter) {
|
||||
}
|
||||
|
||||
function getModuleList() {
|
||||
//var list = [];
|
||||
//for (var module in moduleNodes) {
|
||||
// /* istanbul ignore else */
|
||||
// if (moduleNodes.hasOwnProperty(module)) {
|
||||
// list.push(registry.getModuleInfo(module));
|
||||
// }
|
||||
//}
|
||||
//return list;
|
||||
return moduleConfigs;
|
||||
|
||||
}
|
||||
function getModule(id) {
|
||||
return moduleConfigs[id];
|
||||
}
|
||||
|
||||
function getModuleInfo(module) {
|
||||
@@ -465,13 +466,11 @@ function getAllNodeConfigs(lang) {
|
||||
var script = "";
|
||||
for (var i=0;i<nodeList.length;i++) {
|
||||
var id = nodeList[i];
|
||||
|
||||
var module = moduleConfigs[getModule(id)]
|
||||
var module = moduleConfigs[getModuleFromSetId(id)]
|
||||
if (!module.user && (module.usedBy && module.usedBy.length > 0)) {
|
||||
continue;
|
||||
}
|
||||
|
||||
var config = module.nodes[getNode(id)];
|
||||
var config = module.nodes[getNodeFromSetId(id)];
|
||||
if (config.enabled && !config.err) {
|
||||
result += "\n<!-- --- [red-module:"+id+"] --- -->\n";
|
||||
result += config.config;
|
||||
@@ -490,11 +489,11 @@ function getAllNodeConfigs(lang) {
|
||||
}
|
||||
|
||||
function getNodeConfig(id,lang) {
|
||||
var config = moduleConfigs[getModule(id)];
|
||||
var config = moduleConfigs[getModuleFromSetId(id)];
|
||||
if (!config) {
|
||||
return null;
|
||||
}
|
||||
config = config.nodes[getNode(id)];
|
||||
config = config.nodes[getNodeFromSetId(id)];
|
||||
if (config) {
|
||||
var result = "<!-- --- [red-module:"+id+"] --- -->\n"+config.config;
|
||||
result += loader.getNodeHelp(config,lang||"en-US")
|
||||
@@ -515,7 +514,7 @@ function getNodeConstructor(type) {
|
||||
if (typeof id === "undefined") {
|
||||
config = undefined;
|
||||
} else {
|
||||
config = moduleConfigs[getModule(id)].nodes[getNode(id)];
|
||||
config = moduleConfigs[getModuleFromSetId(id)].nodes[getNodeFromSetId(id)];
|
||||
}
|
||||
|
||||
if (!config || (config.enabled && !config.err)) {
|
||||
@@ -553,7 +552,7 @@ function enableNodeSet(typeOrId) {
|
||||
}
|
||||
var config;
|
||||
try {
|
||||
config = moduleConfigs[getModule(id)].nodes[getNode(id)];
|
||||
config = moduleConfigs[getModuleFromSetId(id)].nodes[getNodeFromSetId(id)];
|
||||
delete config.err;
|
||||
config.enabled = true;
|
||||
nodeConfigCache = {};
|
||||
@@ -576,7 +575,7 @@ function disableNodeSet(typeOrId) {
|
||||
}
|
||||
var config;
|
||||
try {
|
||||
config = moduleConfigs[getModule(id)].nodes[getNode(id)];
|
||||
config = moduleConfigs[getModuleFromSetId(id)].nodes[getNodeFromSetId(id)];
|
||||
// TODO: persist setting
|
||||
config.enabled = false;
|
||||
nodeConfigCache = {};
|
||||
@@ -715,6 +714,7 @@ var registry = module.exports = {
|
||||
getFullNodeInfo: getFullNodeInfo,
|
||||
getNodeList: getNodeList,
|
||||
getModuleList: getModuleList,
|
||||
getModule: getModule,
|
||||
getModuleInfo: getModuleInfo,
|
||||
|
||||
getNodeIconPath: getNodeIconPath,
|
||||
@@ -730,5 +730,8 @@ var registry = module.exports = {
|
||||
|
||||
saveNodeList: saveNodeList,
|
||||
|
||||
cleanModuleList: cleanModuleList
|
||||
cleanModuleList: cleanModuleList,
|
||||
getModuleFromSetId: getModuleFromSetId,
|
||||
getNodeFromSetId: getNodeFromSetId,
|
||||
filterNodeInfo: filterNodeInfo
|
||||
};
|
||||
|
Reference in New Issue
Block a user