Files
settler/settler.html
2026-03-12 16:39:25 +01:00

89 lines
2.6 KiB
HTML

<script src="/reactor/menu.js"></script>
<script type="text/javascript">
RED.nodes.registerType("settler", {
category: "EVOLV",
color: "#e4a363",
defaults: {
name: { value: "" },
processOutputFormat: { value: "process" },
dbaseOutputFormat: { value: "influxdb" },
enableLog: { value: false },
logLevel: { value: "error" },
positionVsParent: { value: "" }
},
inputs: 1,
outputs: 3,
outputLabels: ["process", "dbase", "parent"],
icon: "font-awesome/fa-random",
label: function() {
return this.name || "Settling basin";
},
oneditprepare: function() {
// wait for the menu scripts to load
const waitForMenuData = () => {
if (window.EVOLV?.nodes?.reactor?.initEditor) {
window.EVOLV.nodes.reactor.initEditor(this);
} else {
setTimeout(waitForMenuData, 50);
}
};
waitForMenuData();
$("#node-input-inlet").typedInput({
type:"num",
types:["num"]
});
},
oneditsave: function() {
// save logger fields
if (window.EVOLV?.nodes?.reactor?.loggerMenu?.saveEditor) {
window.EVOLV.nodes.reactor.loggerMenu.saveEditor(this);
}
// save position field
if (window.EVOLV?.nodes?.measurement?.positionMenu?.saveEditor) {
window.EVOLV.nodes.rotatingMachine.positionMenu.saveEditor(this);
}
}
});
</script>
<script type="text/html" data-template-name="settler">
<div class="form-row">
<label for="node-input-name"><i class="fa fa-tag"></i> Name</label>
<input type="text" id="node-input-name" placeholder="Name">
</div>
<h3>Output Formats</h3>
<div class="form-row">
<label for="node-input-processOutputFormat"><i class="fa fa-random"></i> Process Output</label>
<select id="node-input-processOutputFormat" style="width:60%;">
<option value="process">process</option>
<option value="json">json</option>
<option value="csv">csv</option>
</select>
</div>
<div class="form-row">
<label for="node-input-dbaseOutputFormat"><i class="fa fa-database"></i> Database Output</label>
<select id="node-input-dbaseOutputFormat" style="width:60%;">
<option value="influxdb">influxdb</option>
<option value="json">json</option>
<option value="csv">csv</option>
</select>
</div>
<!-- Logger fields injected here -->
<div id="logger-fields-placeholder"></div>
<!-- Position fields will be injected here -->
<div id="position-fields-placeholder"></div>
</script>
<script type="text/html" data-help-name="settler">
<p>Settling tank</p>
</script>