mirror of
https://github.com/node-red/node-red.git
synced 2023-10-10 13:36:53 +02:00
Fix node enable/disable over restart - load configs after settings init
This commit is contained in:
parent
a457c06500
commit
d57425a15e
@ -29,7 +29,12 @@ function init(runtime) {
|
|||||||
settings = runtime.settings;
|
settings = runtime.settings;
|
||||||
installer.init(runtime.settings);
|
installer.init(runtime.settings);
|
||||||
loader.init(runtime);
|
loader.init(runtime);
|
||||||
registry.init(runtime.settings,loader);
|
registry.init(settings,loader);
|
||||||
|
}
|
||||||
|
|
||||||
|
function load() {
|
||||||
|
registry.load();
|
||||||
|
return loader.load();
|
||||||
}
|
}
|
||||||
|
|
||||||
function addModule(module) {
|
function addModule(module) {
|
||||||
@ -52,7 +57,7 @@ function enableNodeSet(typeOrId) {
|
|||||||
|
|
||||||
module.exports = {
|
module.exports = {
|
||||||
init:init,
|
init:init,
|
||||||
load:loader.load,
|
load:load,
|
||||||
clear: registry.clear,
|
clear: registry.clear,
|
||||||
registerType: registry.registerNodeConstructor,
|
registerType: registry.registerNodeConstructor,
|
||||||
|
|
||||||
|
@ -35,11 +35,6 @@ var moduleNodes = {};
|
|||||||
function init(_settings,_loader) {
|
function init(_settings,_loader) {
|
||||||
settings = _settings;
|
settings = _settings;
|
||||||
loader = _loader;
|
loader = _loader;
|
||||||
if (settings.available()) {
|
|
||||||
moduleConfigs = loadNodeConfigs();
|
|
||||||
} else {
|
|
||||||
moduleConfigs = {};
|
|
||||||
}
|
|
||||||
moduleNodes = {};
|
moduleNodes = {};
|
||||||
nodeTypeToId = {};
|
nodeTypeToId = {};
|
||||||
nodeConstructors = {};
|
nodeConstructors = {};
|
||||||
@ -48,6 +43,14 @@ function init(_settings,_loader) {
|
|||||||
Node = require("../Node");
|
Node = require("../Node");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
function load() {
|
||||||
|
if (settings.available()) {
|
||||||
|
moduleConfigs = loadNodeConfigs();
|
||||||
|
} else {
|
||||||
|
moduleConfigs = {};
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
function filterNodeInfo(n) {
|
function filterNodeInfo(n) {
|
||||||
var r = {
|
var r = {
|
||||||
id: n.id||n.module+"/"+n.name,
|
id: n.id||n.module+"/"+n.name,
|
||||||
@ -535,6 +538,7 @@ function cleanModuleList() {
|
|||||||
|
|
||||||
var registry = module.exports = {
|
var registry = module.exports = {
|
||||||
init: init,
|
init: init,
|
||||||
|
load: load,
|
||||||
clear: clear,
|
clear: clear,
|
||||||
|
|
||||||
registerNodeConstructor: registerNodeConstructor,
|
registerNodeConstructor: registerNodeConstructor,
|
||||||
|
@ -75,9 +75,11 @@ describe("red/nodes/registry/registry",function() {
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
describe('#init', function() {
|
describe('#init/load', function() {
|
||||||
it('loads initial config', function(done) {
|
it('loads initial config', function(done) {
|
||||||
typeRegistry.init(settingsWithStorageAndInitialConfig);
|
typeRegistry.init(settingsWithStorageAndInitialConfig);
|
||||||
|
typeRegistry.getNodeList().should.have.lengthOf(0);
|
||||||
|
typeRegistry.load();
|
||||||
typeRegistry.getNodeList().should.have.lengthOf(1);
|
typeRegistry.getNodeList().should.have.lengthOf(1);
|
||||||
done();
|
done();
|
||||||
});
|
});
|
||||||
@ -113,6 +115,7 @@ describe("red/nodes/registry/registry",function() {
|
|||||||
};
|
};
|
||||||
var expected = JSON.parse('{"node-red":{"name":"node-red","nodes":{"sentiment":{"name":"sentiment","types":["sentiment"],"enabled":true,"module":"node-red"},"inject":{"name":"inject","types":["inject"],"enabled":true,"module":"node-red"}}},"testModule":{"name":"testModule","nodes":{"a-module.js":{"name":"a-module.js","types":["example"],"enabled":true,"module":"testModule"}}}}');
|
var expected = JSON.parse('{"node-red":{"name":"node-red","nodes":{"sentiment":{"name":"sentiment","types":["sentiment"],"enabled":true,"module":"node-red"},"inject":{"name":"inject","types":["inject"],"enabled":true,"module":"node-red"}}},"testModule":{"name":"testModule","nodes":{"a-module.js":{"name":"a-module.js","types":["example"],"enabled":true,"module":"testModule"}}}}');
|
||||||
typeRegistry.init(legacySettings);
|
typeRegistry.init(legacySettings);
|
||||||
|
typeRegistry.load();
|
||||||
legacySettings.set.calledOnce.should.be.true;
|
legacySettings.set.calledOnce.should.be.true;
|
||||||
legacySettings.set.args[0][1].should.eql(expected);
|
legacySettings.set.args[0][1].should.eql(expected);
|
||||||
done();
|
done();
|
||||||
|
Loading…
Reference in New Issue
Block a user