atomic-jetstream
Version:
NATS JetStream module for Brobridge Atomic
108 lines (103 loc) • 3.45 kB
HTML
<script type="text/javascript">
RED.nodes.registerType('NATS JetStream Stream',{
category: 'config',
defaults: {
name: {
value: '',
},
stream: {
value: '',
required: true
},
description: {
value: '',
},
subjects: {
value: '',
required: true
},
max_msgs: {
value: -1,
},
max_age: {
value: 0,
},
max_ageunit: {
value: 'second',
},
max_size: {
value: -1,
},
max_sizeunit: {
value: 'mb',
},
num_replicas: {
value: 1,
},
},
label: function() {
return this.name || this.stream || 'NATS JetStream Stream';
},
oneditprepare: function() {
$('#node-config-input-max_msgs').typedInput({
type: "num"
});
$('#node-config-input-max_age').typedInput({
type: "num"
});
$('#node-config-input-max_size').typedInput({
type: "num"
});
$('#node-config-input-num_replicas').typedInput({
type: "num"
});
}
});
</script>
<script type="text/x-red" data-template-name="NATS JetStream Stream">
<div class="form-row">
<label for="node-config-input-name" style="width: 130px"><i class="fa fa-tag"></i> Name</label>
<input type="text" id="node-config-input-name">
</div>
<div class="form-row">
<label for="node-config-input-stream" style="width: 130px"><i class="fa fa-inbox"></i> Stream</label>
<input type="text" id="node-config-input-stream">
</div>
<div class="form-row">
<label for="node-config-input-description" style="width: 130px"><i class="fa fa-info-circle"></i> Description</label>
<input type="text" id="node-config-input-description">
</div>
<div class="form-row">
<label for="node-config-input-subjects" style="width: 130px"><i class="fa fa-hashtag"></i> Subjects</label>
<input type="text" id="node-config-input-subjects">
</div>
<div class="form-row">
<label for="node-config-input-max_msgs" style="width: 130px"><i class="fa fa-comments"></i> Max Msgs</label>
<input type="text" id="node-config-input-max_msgs" placeholder="-1" style="width: 150px"> msgs
</div>
<div class="form-row">
<label for="node-config-input-max_age" style="width: 130px"><i class="fa fa-history"></i> Max Age</label>
<input type="text" id="node-config-input-max_age" placeholder="0" style="width: 150px">
<select id="node-config-input-max_ageunit" style='width:100px'>
<option value="second">Second</option>
<option value="millisecond">Millisecond</option>
<option value="minute">Minute</option>
<option value="hour">Hour</option>
<option value="day">Day</option>
</select>
</div>
<div class="form-row">
<label for="node-config-input-max_size" style="width: 130px"><i class="fa fa-th"></i> Max Size</label>
<input type="text" id="node-config-input-max_size" placeholder="-1" style="width: 150px">
<select id="node-config-input-max_sizeunit" style='width:100px'>
<option value="mb">MB</option>
<option value="gb">GB</option>
<option value="kb">KB</option>
<option value="bytes">Bytes</option>
</select>
</div>
<div class="form-row">
<label for="node-config-input-num_replicas" style="width: 130px"><i class="fa fa-clone"></i> Replicas</label>
<input type="text" id="node-config-input-num_replicas" placeholder="1">
</div>
</script>