mirror of
				https://github.com/node-red/node-red.git
				synced 2025-03-01 10:36:34 +00:00 
			
		
		
		
	Merge pull request #4796 from node-red/Join-node-optional-use-of-parts
make using msg.parts optional in join node
This commit is contained in:
		@@ -16,6 +16,10 @@
 | 
			
		||||
 | 
			
		||||
<script type="text/html" data-template-name="split">
 | 
			
		||||
    <!-- <div class="form-row"><span data-i18n="[html]split.intro"></span></div> -->
 | 
			
		||||
    <div class="form-row">
 | 
			
		||||
        <label for="node-input-name"><i class="fa fa-tag"></i> <span data-i18n="node-red:common.label.name"></span></label>
 | 
			
		||||
        <input type="text" id="node-input-name" data-i18n="[placeholder]node-red:common.label.name">
 | 
			
		||||
    </div>
 | 
			
		||||
    <div class="form-row">
 | 
			
		||||
        <label for="node-input-property"><i class="fa fa-forward"></i> <span data-i18n="split.split"></span></label>
 | 
			
		||||
        <input type="text" id="node-input-property" style="width:70%;"/>
 | 
			
		||||
@@ -43,10 +47,6 @@
 | 
			
		||||
        <label for="node-input-addname-cb" style="width:auto;" data-i18n="split.addname"></label>
 | 
			
		||||
        <input type="text" id="node-input-addname" style="width:70%">
 | 
			
		||||
    </div>
 | 
			
		||||
    <div class="form-row">
 | 
			
		||||
        <label for="node-input-name"><i class="fa fa-tag"></i> <span data-i18n="node-red:common.label.name"></span></label>
 | 
			
		||||
        <input type="text" id="node-input-name" data-i18n="[placeholder]node-red:common.label.name">
 | 
			
		||||
    </div>
 | 
			
		||||
</script>
 | 
			
		||||
 | 
			
		||||
<script type="text/javascript">
 | 
			
		||||
@@ -122,6 +122,10 @@
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
<script type="text/html" data-template-name="join">
 | 
			
		||||
    <div class="form-row">
 | 
			
		||||
        <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" data-i18n="[placeholder]common.label.name">
 | 
			
		||||
    </div>
 | 
			
		||||
    <div class="form-row">
 | 
			
		||||
        <label data-i18n="join.mode.mode"></label>
 | 
			
		||||
        <select id="node-input-mode" style="width:200px;">
 | 
			
		||||
@@ -157,6 +161,12 @@
 | 
			
		||||
            <input type="text" id="node-input-joiner" style="width:70%">
 | 
			
		||||
            <input type="hidden" id="node-input-joinerType">
 | 
			
		||||
        </div>
 | 
			
		||||
 | 
			
		||||
        <div class="form-row">
 | 
			
		||||
            <input type="checkbox" id="node-input-useparts" style="margin-left:8px; margin-right:8px; vertical-align:baseline; width:auto;">
 | 
			
		||||
            <label for="node-input-useparts" style="width:auto;" data-i18n="join.useparts"></label>
 | 
			
		||||
        </div>
 | 
			
		||||
 | 
			
		||||
        <div class="form-row node-row-trigger" id="trigger-row">
 | 
			
		||||
            <label style="width:auto;" data-i18n="join.send"></label>
 | 
			
		||||
            <ul>
 | 
			
		||||
@@ -195,10 +205,6 @@
 | 
			
		||||
            <label for="node-input-reduceRight" style="width:70%;" data-i18n="join.reduce.right" style="margin-left:10px;"/>
 | 
			
		||||
        </div>
 | 
			
		||||
    </div>
 | 
			
		||||
    <div class="form-row">
 | 
			
		||||
        <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" data-i18n="[placeholder]common.label.name">
 | 
			
		||||
    </div>
 | 
			
		||||
    <div class="form-tips form-tips-auto hide" data-i18n="[html]join.tip"></div>
 | 
			
		||||
</script>
 | 
			
		||||
 | 
			
		||||
@@ -234,6 +240,7 @@
 | 
			
		||||
            },
 | 
			
		||||
            joiner: { value:"\\n"},
 | 
			
		||||
            joinerType: { value:"str"},
 | 
			
		||||
            useparts: { value:false },
 | 
			
		||||
            accumulate: { value:"false" },
 | 
			
		||||
            timeout: {value:""},
 | 
			
		||||
            count: {value:""},
 | 
			
		||||
@@ -259,6 +266,12 @@
 | 
			
		||||
        },
 | 
			
		||||
        oneditprepare: function() {
 | 
			
		||||
            var node = this;
 | 
			
		||||
            $("#node-input-useparts").on("change", function(e) {
 | 
			
		||||
                if (node.useparts === undefined) {
 | 
			
		||||
                    node.useparts = true;
 | 
			
		||||
                    $("#node-input-useparts").attr('checked', true);
 | 
			
		||||
                }
 | 
			
		||||
            });
 | 
			
		||||
 | 
			
		||||
            $("#node-input-mode").on("change", function(e) {
 | 
			
		||||
                var val = $(this).val();
 | 
			
		||||
 
 | 
			
		||||
@@ -444,6 +444,8 @@ module.exports = function(RED) {
 | 
			
		||||
        this.count = Number(n.count || 0);
 | 
			
		||||
        this.joiner = n.joiner||"";
 | 
			
		||||
        this.joinerType = n.joinerType||"str";
 | 
			
		||||
        if (n.useparts === undefined) { this.useparts = true; }
 | 
			
		||||
        else { this.useparts = n.useparts || false; }
 | 
			
		||||
 | 
			
		||||
        this.reduce = (this.mode === "reduce");
 | 
			
		||||
        if (this.reduce) {
 | 
			
		||||
@@ -611,7 +613,7 @@ module.exports = function(RED) {
 | 
			
		||||
                    return;
 | 
			
		||||
                }
 | 
			
		||||
 | 
			
		||||
                if (node.mode === 'custom' && msg.hasOwnProperty('parts')) {
 | 
			
		||||
                if (node.mode === 'custom' && msg.hasOwnProperty('parts') && node.useparts === false ) {
 | 
			
		||||
                    if (msg.parts.hasOwnProperty('parts')) {
 | 
			
		||||
                        msg.parts = { parts: msg.parts.parts };
 | 
			
		||||
                    }
 | 
			
		||||
 
 | 
			
		||||
@@ -1046,6 +1046,7 @@
 | 
			
		||||
        "joinedUsing": "joined using",
 | 
			
		||||
        "send": "Send the message:",
 | 
			
		||||
        "afterCount": "After a number of message parts",
 | 
			
		||||
        "useparts": "Use existing msg.parts property",
 | 
			
		||||
        "count": "count",
 | 
			
		||||
        "subsequent": "and every subsequent message.",
 | 
			
		||||
        "afterTimeout": "After a timeout following the first message",
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user