diff --git a/src/nodeClass.js b/src/nodeClass.js index ec80df7..32f1b90 100644 --- a/src/nodeClass.js +++ b/src/nodeClass.js @@ -1,4 +1,5 @@ const { Reactor_CSTR, Reactor_PFR } = require('./specificClass.js'); +const { configManager } = require('generalFunctions'); class nodeClass { @@ -70,20 +71,10 @@ class nodeClass { * @param {object} uiConfig Config set in UI in node-red */ _loadConfig(uiConfig) { - this.config = { - general: { - name: uiConfig.name || this.name, - id: this.node.id, - unit: null, - logging: { - enabled: uiConfig.enableLog, - logLevel: uiConfig.logLevel - } - }, - functionality: { - positionVsParent: uiConfig.positionVsParent || 'atEquipment', // Default to 'atEquipment' if not specified - softwareType: "reactor" // should be set in config manager - }, + const cfgMgr = new configManager(); + + // Build config: base sections + reactor-specific domain config + this.config = cfgMgr.buildConfig('reactor', uiConfig, this.node.id, { reactor_type: uiConfig.reactor_type, volume: parseFloat(uiConfig.volume), length: parseFloat(uiConfig.length), @@ -107,7 +98,7 @@ class nodeClass { parseFloat(uiConfig.X_TS_init) ], timeStep: parseFloat(uiConfig.timeStep) - } + }); } /**