qm-inject
Version:
inject module - Node-Red
154 lines (133 loc) • 4.57 kB
HTML
<script type="text/javascript">
RED.nodes.registerType('inject-special',{
category: 'Start',
color: '#FF8C00',
defaults: {
name:{
value: ""
},
exportMode:{
value: "false",
},
},
inputs:0,
outputs:1,
icon: "Start.svg",
label: function() { return this.name? "Start - " + this.name: "Start"},
paletteLabel: "Start",
button: {
enabled: function() {
return !this.changed
},
onclick: function() {
if (this.changed) {
return RED.notify(RED._("notification.warning", {message:RED._("notification.warnings.undeployedChanges")}),"warning");
}
var node = this;
$.ajax({
url: "inject/" + this.id,
type:"POST",
success: function(resp) {
RED.notify(node._("Inject Success"), {type:"success",id:"inject"});
},
error: function(jqXHR, textStatus, errorThrown) {
if (jqXHR.status == 404) {
RED.notify(node._("common.notification.error",{message:node._("common.notification.errors.not-deployed")}),"error");
} else if (jqXHR.status == 500) {
RED.notify(node._("common.notification.error",{message:node._("inject.errors.failed")}),"error");
} else if (jqXHR.status == 0) {
RED.notify(node._("common.notification.error",{message:node._("common.notification.errors.no-response")}),"error");
} else {
RED.notify(node._("common.notification.error",{message:node._("common.notification.errors.unexpected",{status:jqXHR.status,message:textStatus})}),"error");
}
}
});
}
}
});
</script>
<style>
label{
width: 100% ;
margin-bottom: 2px ;
}
.columm{
display: flex ;
flex-direction: column ;
}
hr {
width: 40% ;
float: left ;
}
.hr-div-inject{
display: flex ;
justify-content: space-between ;
/* margin-top: 450px !important; */
}
.optional{
height: max-content ;
margin-top: 10px ;
}
.descript{
text-align: center;
}
.columm-30{
display: flex ;
flex-direction: column ;
width: 30% ;
float: left ;
}
.columm-50{
display: flex ;
flex-direction: column ;
width: 50% ;
float: left ;
}
.columm-70{
display: flex ;
flex-direction: column ;
width: 70% ;
float: left ;
}
.descript-div{
max-width: 444px ;
}
span.red-ui-typedInput-type-label {
/* background: chartreuse; */
/* display: block; */
width: 250px;
overflow: hidden;
white-space: nowrap;
text-overflow: ellipsis;
}
.btn-aln{
display: flex ;
flex-direction: row-reverse ;
/* padding-left: 30px; */
align-content: center;
align-items: flex-end;
}
</style>
<script type="text/html" data-template-name="inject-special">
<div style=" position: relative; display:flex; margin-top: 20px;">
<div class="form-row columm-70">
<label style="width: 50% !important;" for="node-input-name" ><i class="fa fa-tag"></i> Identification Note</label>
<input type="text" id="node-input-name" placeholder="Name" style="width: 100%">
</div>
</div>
<div class="hr-div-inject">
<hr>
<span class="optional">Inject</span>
<hr>
</div>
<div class="form-row columm">
<label for="node-input-exportMode"><i class="fa fa-list" aria-hidden="true"></i> Export mode</label>
<select id="node-input-exportMode">
<option value="true">True</option>
<option value="false">False</option>
</select>
</div>
</script>
<script type="text/html" data-help-name="inject-special">
<p>Working on it...</p>
</script>