mirror of
https://github.com/node-red/node-red.git
synced 2023-10-10 13:36:53 +02:00
NLS enable the Inject node
This commit is contained in:
parent
a7900940da
commit
aa18c65fa8
@ -583,7 +583,14 @@ RED.editor = (function() {
|
|||||||
$("#dialog-form").find('[data-i18n]').each(function() {
|
$("#dialog-form").find('[data-i18n]').each(function() {
|
||||||
var current = $(this).attr("data-i18n");
|
var current = $(this).attr("data-i18n");
|
||||||
if (current.indexOf(":") === -1) {
|
if (current.indexOf(":") === -1) {
|
||||||
$(this).attr("data-i18n",ns+":"+current);
|
var prefix = "";
|
||||||
|
if (current.indexOf("[")===0) {
|
||||||
|
var parts = current.split("]");
|
||||||
|
prefix = parts[0]+"]";
|
||||||
|
current = parts[1];
|
||||||
|
}
|
||||||
|
|
||||||
|
$(this).attr("data-i18n",prefix+ns+":"+current);
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
$('<input type="text" style="display: none;" />').appendTo("#dialog-form");
|
$('<input type="text" style="display: none;" />').appendTo("#dialog-form");
|
||||||
|
@ -16,38 +16,47 @@
|
|||||||
|
|
||||||
<script type="text/x-red" data-template-name="inject">
|
<script type="text/x-red" data-template-name="inject">
|
||||||
<div class="form-row node-input-payload">
|
<div class="form-row node-input-payload">
|
||||||
<label for="node-input-payloadType"><i class="fa fa-envelope"></i> <span data-i18n="inject.payload"></span></label>
|
<label for="node-input-payloadType"><i class="fa fa-envelope"></i> <span data-i18n="common.label.payload"></span></label>
|
||||||
<select id="node-input-payloadType" style="width:73%">
|
<select id="node-input-payloadType" style="width:73%">
|
||||||
<option value="date">timestamp</option>
|
<option value="date" data-i18n="inject.timestamp"></option>
|
||||||
<option value="string">string</option>
|
<option value="string" data-i18n="inject.string">string</option>
|
||||||
<option value="none">blank</option>
|
<option value="none" data-i18n="inject.blank">blank</option>
|
||||||
</select>
|
</select>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div class="form-row" id="node-input-row-payload">
|
<div class="form-row" id="node-input-row-payload">
|
||||||
<label for="node-input-payload"></label>
|
<label for="node-input-payload"></label>
|
||||||
<input type="text" id="node-input-payload" placeholder="payload" style="width:70%">
|
<input type="text" id="node-input-payload" style="width:70%">
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div class="form-row">
|
<div class="form-row">
|
||||||
<label for="node-input-topic"><i class="fa fa-tasks"></i> Topic</label>
|
<label for="node-input-topic"><i class="fa fa-tasks"></i> <span data-i18n="common.label.topic"></span></label>
|
||||||
<input type="text" id="node-input-topic" placeholder="topic" style="width: 70%x">
|
<input type="text" id="node-input-topic" style="width: 70%x">
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div class="form-row">
|
<div class="form-row">
|
||||||
<label for=""><i class="fa fa-repeat"></i> Repeat</label>
|
<label for=""><i class="fa fa-repeat"></i> <span data-i18n="inject.label.repeat"></span></label>
|
||||||
<select id="inject-time-type-select" style="width: 73%"><option value="none">none</option><option value="interval">interval</option><option value="interval-time">interval between times</option><option value="time">at a specific time</option></select>
|
<select id="inject-time-type-select" style="width: 73%">
|
||||||
<input type="hidden" id="node-input-repeat" placeholder="payload">
|
<option value="none" data-i18n="inject.none"></option>
|
||||||
<input type="hidden" id="node-input-crontab" placeholder="payload">
|
<option value="interval" data-i18n="inject.interval"></option>
|
||||||
|
<option value="interval-time" data-i18n="inject.interval-time"></option>
|
||||||
|
<option value="time" data-i18n="inject.time"></option>
|
||||||
|
</select>
|
||||||
|
<input type="hidden" id="node-input-repeat">
|
||||||
|
<input type="hidden" id="node-input-crontab">
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div class="form-row inject-time-row hidden" id="inject-time-row-interval">
|
<div class="form-row inject-time-row hidden" id="inject-time-row-interval">
|
||||||
every <input id="inject-time-interval-count" class="inject-time-count" value="1"></input>
|
<input id="inject-time-interval-count" class="inject-time-count" value="1"></input>
|
||||||
<select style="width: 100px" id="inject-time-interval-units"><option value="s">seconds</option><option value="m">minutes</option><option value="h">hours</option></select><br/>
|
<span data-i18n="inject.every"></span> <select style="width: 100px" id="inject-time-interval-units">
|
||||||
|
<option value="s" data-i18n="inject.seconds"></option>
|
||||||
|
<option value="m" data-i18n="inject.minutes"></option>
|
||||||
|
<option value="h" data-i18n="inject.hours"></option>
|
||||||
|
</select><br/>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div class="form-row inject-time-row hidden" id="inject-time-row-interval-time">
|
<div class="form-row inject-time-row hidden" id="inject-time-row-interval-time">
|
||||||
at every <select style="width: 90px" id="inject-time-interval-time-units" class="inject-time-int-count" value="1">
|
<span data-i18n="inject.every"></span> <select style="width: 90px" id="inject-time-interval-time-units" class="inject-time-int-count" value="1">
|
||||||
<option value="1">1</option>
|
<option value="1">1</option>
|
||||||
<option value="2">2</option>
|
<option value="2">2</option>
|
||||||
<option value="3">3</option>
|
<option value="3">3</option>
|
||||||
@ -60,46 +69,46 @@
|
|||||||
<option value="20">20</option>
|
<option value="20">20</option>
|
||||||
<option value="30">30</option>
|
<option value="30">30</option>
|
||||||
<option value="0">60</option>
|
<option value="0">60</option>
|
||||||
</select> minutes<br/>
|
</select> <span data-i18n="inject.minutes"></span><br/>
|
||||||
between <select id="inject-time-interval-time-start" class="inject-time-times"></select>
|
<span data-i18n="inject.between"></span> <select id="inject-time-interval-time-start" class="inject-time-times"></select>
|
||||||
and <select id="inject-time-interval-time-end" class="inject-time-times"></select><br/>
|
<span data-i18n="inject.and"></span> <select id="inject-time-interval-time-end" class="inject-time-times"></select><br/>
|
||||||
<div id="inject-time-interval-time-days" class="inject-time-days">
|
<div id="inject-time-interval-time-days" class="inject-time-days">
|
||||||
<div style="display: inline-block; vertical-align: top;margin-right: 5px;">on </div>
|
<div style="display: inline-block; vertical-align: top;margin-right: 5px;" data-i18n="inject.on">on</div>
|
||||||
<div style="display:inline-block;">
|
<div style="display:inline-block;">
|
||||||
<div>
|
<div>
|
||||||
<label><input type='checkbox' checked value='1'/> Monday</label>
|
<label><input type='checkbox' checked value='1'/> <span data-i18n="inject.days.0"></span></label>
|
||||||
<label><input type='checkbox' checked value='2'/> Tuesday</label>
|
<label><input type='checkbox' checked value='2'/> <span data-i18n="inject.days.1"></span></label>
|
||||||
<label><input type='checkbox' checked value='3'/> Wednesday</label>
|
<label><input type='checkbox' checked value='3'/> <span data-i18n="inject.days.2"></span></label>
|
||||||
</div>
|
</div>
|
||||||
<div>
|
<div>
|
||||||
<label><input type='checkbox' checked value='4'/> Thursday</label>
|
<label><input type='checkbox' checked value='4'/> <span data-i18n="inject.days.3"></span></label>
|
||||||
<label><input type='checkbox' checked value='5'/> Friday</label>
|
<label><input type='checkbox' checked value='5'/> <span data-i18n="inject.days.4"></span></label>
|
||||||
<label><input type='checkbox' checked value='6'/> Saturday</label>
|
<label><input type='checkbox' checked value='6'/> <span data-i18n="inject.days.5"></span></label>
|
||||||
</div>
|
</div>
|
||||||
<div>
|
<div>
|
||||||
<label><input type='checkbox' checked value='0'/> Sunday</label>
|
<label><input type='checkbox' checked value='0'/> <span data-i18n="inject.days.6"></span></label>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div class="form-row inject-time-row hidden" id="inject-time-row-time">
|
<div class="form-row inject-time-row hidden" id="inject-time-row-time">
|
||||||
at <input id="inject-time-time" value="12:00"></input><br/>
|
<span data-i18n="inject.at"></span> <input id="inject-time-time" value="12:00"></input><br/>
|
||||||
<div id="inject-time-time-days" class="inject-time-days">
|
<div id="inject-time-time-days" class="inject-time-days">
|
||||||
<div style="display: inline-block; vertical-align: top;margin-right: 5px;">on </div>
|
<div style="display: inline-block; vertical-align: top;margin-right: 5px;">on </div>
|
||||||
<div style="display:inline-block;">
|
<div style="display:inline-block;">
|
||||||
<div>
|
<div>
|
||||||
<label><input type='checkbox' checked value='1'/> Monday</label>
|
<label><input type='checkbox' checked value='1'/> <span data-i18n="inject.days.0"></span></label>
|
||||||
<label><input type='checkbox' checked value='2'/> Tuesday</label>
|
<label><input type='checkbox' checked value='2'/> <span data-i18n="inject.days.1"></span></label>
|
||||||
<label><input type='checkbox' checked value='3'/> Wednesday</label>
|
<label><input type='checkbox' checked value='3'/> <span data-i18n="inject.days.2"></span></label>
|
||||||
</div>
|
</div>
|
||||||
<div>
|
<div>
|
||||||
<label><input type='checkbox' checked value='4'/> Thursday</label>
|
<label><input type='checkbox' checked value='4'/> <span data-i18n="inject.days.3"></span></label>
|
||||||
<label><input type='checkbox' checked value='5'/> Friday</label>
|
<label><input type='checkbox' checked value='5'/> <span data-i18n="inject.days.4"></span></label>
|
||||||
<label><input type='checkbox' checked value='6'/> Saturday</label>
|
<label><input type='checkbox' checked value='6'/> <span data-i18n="inject.days.5"></span></label>
|
||||||
</div>
|
</div>
|
||||||
<div>
|
<div>
|
||||||
<label><input type='checkbox' checked value='0'/> Sunday</label>
|
<label><input type='checkbox' checked value='0'/> <span data-i18n="inject.days.6"></span></label>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
@ -108,15 +117,15 @@
|
|||||||
<div class="form-row" id="node-once">
|
<div class="form-row" id="node-once">
|
||||||
<label> </label>
|
<label> </label>
|
||||||
<input type="checkbox" id="node-input-once" style="display: inline-block; width: auto; vertical-align: top;">
|
<input type="checkbox" id="node-input-once" style="display: inline-block; width: auto; vertical-align: top;">
|
||||||
<label for="node-input-once" style="width: 70%;">Fire once at start ?</label>
|
<label for="node-input-once" style="width: 70%;" data-i18n="inject.onstart"></label>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div class="form-row">
|
<div class="form-row">
|
||||||
<label for="node-input-name"><i class="fa fa-tag"></i> Name</label>
|
<label for="node-input-name"><i class="fa fa-tag"></i> <span data-i18n="common.label.name"></span></label>
|
||||||
<input type="text" id="node-input-name" placeholder="name">
|
<input type="text" id="node-input-name">
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div class="form-tips"><b>Note:</b> "interval between times" and "at a specific time" will use cron.<br/>See info box for details.</div>
|
<div class="form-tips" data-i18n="[html]inject.tip"></div>
|
||||||
</script>
|
</script>
|
||||||
<style>
|
<style>
|
||||||
.inject-time-row {
|
.inject-time-row {
|
||||||
@ -197,7 +206,7 @@
|
|||||||
if ((this.topic.length < 24) && (this.topic.length > 0)) {
|
if ((this.topic.length < 24) && (this.topic.length > 0)) {
|
||||||
return this.name||this.topic;
|
return this.name||this.topic;
|
||||||
}
|
}
|
||||||
else { return this.name||(this.payloadType==="date"?"timestamp":null)||"inject"; }
|
else { return this.name||(this.payloadType==="date"?this._("inject.timestamp"):null)||this._("inject.inject"); }
|
||||||
},
|
},
|
||||||
labelStyle: function() {
|
labelStyle: function() {
|
||||||
return this.name?"node_label_italic":"";
|
return this.name?"node_label_italic":"";
|
||||||
@ -474,24 +483,24 @@
|
|||||||
button: {
|
button: {
|
||||||
onclick: function() {
|
onclick: function() {
|
||||||
var label = (this.name||this.payload).replace(/&/g,"&").replace(/</g,"<").replace(/>/g,">");
|
var label = (this.name||this.payload).replace(/&/g,"&").replace(/</g,"<").replace(/>/g,">");
|
||||||
if (this.payloadType === "date") { label = "timestamp"; }
|
if (this.payloadType === "date") { label = this._("inject.timestamp"); }
|
||||||
if (this.payloadType === "none") { label = "blank"; }
|
if (this.payloadType === "none") { label = this._("inject.blank"); }
|
||||||
|
var node = this;
|
||||||
$.ajax({
|
$.ajax({
|
||||||
url: "inject/"+this.id,
|
url: "inject/"+this.id,
|
||||||
type:"POST",
|
type:"POST",
|
||||||
success: function(resp) {
|
success: function(resp) {
|
||||||
RED.notify("Successfully injected: "+label,"success");
|
RED.notify(node._("inject.success",{label:label}),"success");
|
||||||
},
|
},
|
||||||
error: function(jqXHR,textStatus,errorThrown) {
|
error: function(jqXHR,textStatus,errorThrown) {
|
||||||
if (jqXHR.status == 404) {
|
if (jqXHR.status == 404) {
|
||||||
RED.notify("<strong>Error</strong>: inject node not deployed","error");
|
RED.notify(node._("inject.error",{message:node._("inject.errors.not-deployed")}),"error");
|
||||||
} else if (jqXHR.status == 500) {
|
} else if (jqXHR.status == 500) {
|
||||||
RED.notify("<strong>Error</strong>: inject failed, see log for details.","error");
|
RED.notify(node._("inject.error",{message:node._("inject.errors.failed")}),"error");
|
||||||
} else if (jqXHR.status == 0) {
|
} else if (jqXHR.status == 0) {
|
||||||
RED.notify("<strong>Error</strong>: no response from server","error");
|
RED.notify(node._("inject.error",{message:node._("inject.errors.no-response")}),"error");
|
||||||
} else {
|
} else {
|
||||||
RED.notify("<strong>Error</strong>: unexpected error: ("+jqXHR.status+") "+textStatus,"error");
|
RED.notify(node._("inject.error",{message:node._("inject.errors.not-deployed",{status:jqXHR.status,message:textStatus})}),"error");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
@ -1,10 +1,56 @@
|
|||||||
{
|
{
|
||||||
|
|
||||||
|
"common": {
|
||||||
|
"label": {
|
||||||
|
"payload": "Payload",
|
||||||
|
"topic": "Topic",
|
||||||
|
"name":"Name"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
|
||||||
"inject": {
|
"inject": {
|
||||||
|
"inject":"inject",
|
||||||
"repeat": "repeat = __repeat__",
|
"repeat": "repeat = __repeat__",
|
||||||
"crontab": "crontab = __crontab__",
|
"crontab": "crontab = __crontab__",
|
||||||
"stopped": "stopped",
|
"stopped": "stopped",
|
||||||
"failed": "Inject failed: __error__",
|
"failed": "Inject failed: __error__",
|
||||||
|
|
||||||
"payload": "Payload"
|
"label": {
|
||||||
|
"repeat": "Repeat"
|
||||||
|
},
|
||||||
|
"timestamp": "timestamp",
|
||||||
|
"string": "string",
|
||||||
|
"blank": "blank",
|
||||||
|
"none":"none",
|
||||||
|
"interval":"interval",
|
||||||
|
"interval-time":"interval between times",
|
||||||
|
"time":"at a specific time",
|
||||||
|
"seconds":"seconds",
|
||||||
|
"minutes":"minutes",
|
||||||
|
"hours":"hours",
|
||||||
|
"between":"between",
|
||||||
|
"at":"at",
|
||||||
|
"and":"and",
|
||||||
|
"every":"every",
|
||||||
|
"days": [
|
||||||
|
"Monday",
|
||||||
|
"Tuesday",
|
||||||
|
"Wednesday",
|
||||||
|
"Thursday",
|
||||||
|
"Friday",
|
||||||
|
"Saturday",
|
||||||
|
"Sunday"
|
||||||
|
],
|
||||||
|
"on":"on",
|
||||||
|
"onstart":"Inject once at start?",
|
||||||
|
"tip": "<b>Note:</b> \"interval between times\" and \"at a specific time\" will use cron.<br/>See info box for details.",
|
||||||
|
"success": "Successfully injected: __label__",
|
||||||
|
"error": "<strong>Error</strong>: __message__",
|
||||||
|
"errors": {
|
||||||
|
"not-deployed": "inject node not deployed",
|
||||||
|
"failed": "inject failed, see log for details",
|
||||||
|
"no-response": "no response from server",
|
||||||
|
"unexpected": "unexpected error (__status__) __message__"
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user