Skip to content

Commit 9f44a72

Browse files
committed
feature: add signalk-flatten-delta
1 parent 9faed76 commit 9f44a72

File tree

4 files changed

+51
-2
lines changed

4 files changed

+51
-2
lines changed

package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@
1212
"nodes": {
1313
"signalk-on-delta": "signalk-on-delta.js",
1414
"signalk-notification-": "signalk-notification.js",
15-
"signalk-filter-delta": "signalk-filter-delta.js",
15+
"signalk-flatten-delta": "signalk-flatten-delta.js",
1616
"signalk-send-delta": "signalk-send-delta.js",
1717
"signalk-send-pathvalue": "signalk-send-pathvalue.js",
1818
"signalk-send-put": "signalk-send-put.js"

signalk-flatten-delta.html

Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,26 @@
1+
<script type="text/javascript">
2+
RED.nodes.registerType('signalk-flatten-delta',{
3+
category: 'function',
4+
color: '#a6bbcf',
5+
defaults: {
6+
name: {value:""}
7+
},
8+
inputs:1,
9+
outputs:1,
10+
icon: "function.png",
11+
label: function() {
12+
return this.name||"signalk-flatten-delta";
13+
}
14+
});
15+
</script>
16+
17+
<script type="text/x-red" data-template-name="signalk-flatten-delta">
18+
<div class="form-row">
19+
<label for="node-input-name"><i class="icon-tag"></i> Name</label>
20+
<input type="text" id="node-input-name" placeholder="Name">
21+
</div>
22+
</script>
23+
24+
<script type="text/x-red" data-help-name="signalk-flatten-delta">
25+
<p>A simple node that converts the message payloads into all lower-case characters</p>
26+
</script>

signalk-flatten-delta.js

Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,24 @@
1+
2+
module.exports = function(RED) {
3+
function signalKFlattenDelta(config) {
4+
RED.nodes.createNode(this,config);
5+
var node = this;
6+
7+
node.on('input', msg => {
8+
let delta = msg.payload
9+
if ( delta.updates ) {
10+
delta.updates.forEach(update => {
11+
if ( update.values ) {
12+
update.values.forEach(pathValue => {
13+
pathValue.$source = update.$source
14+
pathValue.source = update.source
15+
pathValue.context = delta.context
16+
node.send({ payload: pathValue})
17+
})
18+
}
19+
})
20+
}
21+
})
22+
}
23+
RED.nodes.registerType("signalk-flatten-delta", signalKFlattenDelta);
24+
}

signalk-send-put.js

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,6 @@ module.exports = function(RED) {
77
var app = node.context().global.get('app')
88

99
node.on('input', msg => {
10-
node.log(`setting ${config.path} to ${msg.payload}`)
1110
app.putSelfPath(config.path, msg.payload)
1211
})
1312
}

0 commit comments

Comments
 (0)