mirror of
https://github.com/node-red/node-red.git
synced 2023-10-10 13:36:53 +02:00
Handle scoped modules via palette editor
This commit is contained in:
parent
3cb5cbd8d5
commit
a62a1012fa
@ -412,16 +412,17 @@ RED.palette = (function() {
|
|||||||
for (var j=0;j<nodeSet.types.length;j++) {
|
for (var j=0;j<nodeSet.types.length;j++) {
|
||||||
showNodeType(nodeSet.types[j]);
|
showNodeType(nodeSet.types[j]);
|
||||||
var def = RED.nodes.getType(nodeSet.types[j]);
|
var def = RED.nodes.getType(nodeSet.types[j]);
|
||||||
if (def.onpaletteadd && typeof def.onpaletteadd === "function") {
|
if (def && def.onpaletteadd && typeof def.onpaletteadd === "function") {
|
||||||
def.onpaletteadd.call(def);
|
def.onpaletteadd.call(def);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
RED.events.on('registry:node-set-disabled', function(nodeSet) {
|
RED.events.on('registry:node-set-disabled', function(nodeSet) {
|
||||||
|
console.log(nodeSet);
|
||||||
for (var j=0;j<nodeSet.types.length;j++) {
|
for (var j=0;j<nodeSet.types.length;j++) {
|
||||||
hideNodeType(nodeSet.types[j]);
|
hideNodeType(nodeSet.types[j]);
|
||||||
var def = RED.nodes.getType(nodeSet.types[j]);
|
var def = RED.nodes.getType(nodeSet.types[j]);
|
||||||
if (def.onpaletteremove && typeof def.onpaletteremove === "function") {
|
if (def && def.onpaletteremove && typeof def.onpaletteremove === "function") {
|
||||||
def.onpaletteremove.call(def);
|
def.onpaletteremove.call(def);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -431,7 +432,7 @@ RED.palette = (function() {
|
|||||||
for (var j=0;j<nodeSet.types.length;j++) {
|
for (var j=0;j<nodeSet.types.length;j++) {
|
||||||
removeNodeType(nodeSet.types[j]);
|
removeNodeType(nodeSet.types[j]);
|
||||||
var def = RED.nodes.getType(nodeSet.types[j]);
|
var def = RED.nodes.getType(nodeSet.types[j]);
|
||||||
if (def.onpaletteremove && typeof def.onpaletteremove === "function") {
|
if (def && def.onpaletteremove && typeof def.onpaletteremove === "function") {
|
||||||
def.onpaletteremove.call(def);
|
def.onpaletteremove.call(def);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -29,8 +29,7 @@ var npmCommand = process.platform === 'win32' ? 'npm.cmd' : 'npm';
|
|||||||
var paletteEditorEnabled = false;
|
var paletteEditorEnabled = false;
|
||||||
|
|
||||||
var settings;
|
var settings;
|
||||||
|
var moduleRe = /^(@[^/]+?[/])?[^/]+?$/;
|
||||||
var moduleRe = /^[^/]+$/;
|
|
||||||
var slashRe = process.platform === "win32" ? /\\|[/]/ : /[/]/;
|
var slashRe = process.platform === "win32" ? /\\|[/]/ : /[/]/;
|
||||||
|
|
||||||
function init(_settings) {
|
function init(_settings) {
|
||||||
|
@ -115,12 +115,26 @@ function getLocalNodeFiles(dir) {
|
|||||||
|
|
||||||
function scanDirForNodesModules(dir,moduleName) {
|
function scanDirForNodesModules(dir,moduleName) {
|
||||||
var results = [];
|
var results = [];
|
||||||
|
var scopeName;
|
||||||
try {
|
try {
|
||||||
var files = fs.readdirSync(dir);
|
var files = fs.readdirSync(dir);
|
||||||
|
if (moduleName) {
|
||||||
|
var m = /^(?:(@[^/]+)[/])?([^@/]+)/.exec(moduleName);
|
||||||
|
if (m) {
|
||||||
|
scopeName = m[1];
|
||||||
|
moduleName = m[2];
|
||||||
|
}
|
||||||
|
}
|
||||||
for (var i=0;i<files.length;i++) {
|
for (var i=0;i<files.length;i++) {
|
||||||
var fn = files[i];
|
var fn = files[i];
|
||||||
if (/^@/.test(fn)) {
|
if (/^@/.test(fn)) {
|
||||||
|
if (scopeName && scopeName === fn) {
|
||||||
|
// Looking for a specific scope/module
|
||||||
results = results.concat(scanDirForNodesModules(path.join(dir,fn),moduleName));
|
results = results.concat(scanDirForNodesModules(path.join(dir,fn),moduleName));
|
||||||
|
break;
|
||||||
|
} else {
|
||||||
|
results = results.concat(scanDirForNodesModules(path.join(dir,fn),moduleName));
|
||||||
|
}
|
||||||
} else {
|
} else {
|
||||||
if (isIncluded(fn) && !isExcluded(fn) && (!moduleName || fn == moduleName)) {
|
if (isIncluded(fn) && !isExcluded(fn) && (!moduleName || fn == moduleName)) {
|
||||||
var pkgfn = path.join(dir,fn,"package.json");
|
var pkgfn = path.join(dir,fn,"package.json");
|
||||||
|
Loading…
Reference in New Issue
Block a user