grunig-nodes
Version:
Grünig Nodes Library
114 lines (100 loc) • 3.98 kB
HTML
<script type="text/javascript">
RED.nodes.registerType('ProcessControl', {
category: 'Grunig',
color: 'rgb(176, 223, 227)',
defaults: {
name: { value: "" },
magDataEnabled: { value: false },
stmDataEnabled: { value: false },
defaultProgram: { value: 50 },
database: { value: "", type: "remote-database" }
},
inputs: 1,
outputs: 2,
icon: "subflow.svg",
label: function() {
return this.name || "ProcessControl";
},
oneditprepare: function() {
// Verweis auf das aktuelle Knotenobjekt
var node = this;
// Eingabefeld für den Namen
var nameInput = $("#node-config-input-name");
nameInput.val(node.name);
// Checkbox magDataEnabled
var magDataEnabledInput = $("#node-config-input-magdataenabled");
magDataEnabledInput.prop('checked', node.magDataEnabled);
// Checkbox stmDataEnabled
var stmDataEnabledInput = $("#node-config-input-stmdataenabled");
stmDataEnabledInput.prop('checked', node.stmDataEnabled);
// Eingabefeld für den Namen
var defaultProgramInput = $("#node-config-input-defaultProgram");
defaultProgramInput.val(node.defaultProgram);
// Änderungsereignis für den Namen
nameInput.on("change", function() {
node.name = nameInput.val();
RED.nodes.dirty(true);
RED.nodes.node(node.id).changed = true;
});
// Änderungsereignis für magDataEnabled
magDataEnabledInput.on("change", function() {
node.magDataEnabled = magDataEnabledInput.prop('checked');
RED.nodes.dirty(true);
RED.nodes.node(node.id).changed = true;
});
// Änderungsereignis für stmDataEnabled
stmDataEnabledInput.on("change", function() {
node.stmDataEnabled = stmDataEnabledInput.prop('checked');
RED.nodes.dirty(true);
RED.nodes.node(node.id).changed = true;
});
// Änderungsereignis für den Namen
defaultProgramInput.on("change", function() {
node.defaultProgram = defaultProgramInput.val();
RED.nodes.dirty(true);
RED.nodes.node(node.id).changed = true;
});
}
});
</script>
<!-- Styles -->
<style>
div.form-row label {
width: 140px;
display: contents;
}
.form-row {
margin-bottom: 10px;
}
</style>
<script type="text/html" data-template-name="ProcessControl">
<div class="form-row">
<label for="node-config-input-name">
<i class="fa fa-tag"></i> Name
</label>
<input type="text" id="node-config-input-name" placeholder="Enter name">
</div>
<div class="form-row">
<label for="node-config-input-magdataenabled">
Overwrite data from magazine
</label>
<input type="checkbox" id="node-config-input-magdataenabled">
</div>
<div class="form-row">
<label for="node-config-input-stmdataenabled">
Data for STM
</label>
<input type="checkbox" id="node-config-input-stmdataenabled">
</div>
<div class="form-row">
<label for="node-config-input-defaultProgram">
Default program
</label>
<input type="number" id="node-config-input-defaultProgram">
</div>
<div style="height: 20px;"></div>
<div class="form-row">
<label for="node-input-database"><i class="fa fa-tag"></i>Database</label>
<input type = "text" id="node-input-database">
</div>
</script>