UNPKG

@siglesiasg/node-red-hyperledger-fabric-gateway

Version:

Hyperledger Fabric 2.x nodes for node-red with latest fabric-gateway library

104 lines (88 loc) 4.62 kB
<script type="text/javascript"> RED.nodes.registerType('fabric-block-info', { category: 'Hyperledger Gateway', color: '#E6E0F8', paletteLabel: 'get block', defaults: { name: { value: '' }, gatewaySelector: { value: '', required: true, type: 'fabric-gateway' }, identitySelector: { value: '', required: true, type: 'fabric-identity' }, channelSelector: { value: '', required: true, type: 'fabric-channel' }, method: { value:"number", required:true}, blockNumber: { value: '', required: false, validate:RED.validators.number() }, blockHash: { value: '', required: false }, txId: { value: '', required: false }, }, inputs: 1, outputs: 1, icon: 'icon.png', align: 'left', label: function () { return this.name || 'hlf get block'; }, oneditprepare: function() { $("#node-input-method").on("change", function() { $(".form-row-blockNumber").hide(); $("#node-input-blockNumber").prop('required', false); $(".form-row-hash").hide(); $("#node-input-blockHash").prop('required', false); $(".form-row-txid").hide(); $("#node-input-txId").prop('required', false); if ($(this).val() === "number") { $(".form-row-blockNumber").show(); $("#node-input-blockNumber").prop('required', true); } else if ($(this).val() === "hash") { $(".form-row-hash").show(); $("#node-input-blockHash").prop('required', true); } else { $(".form-row-txid").show(); $("#node-input-txId").prop('required', true); } }).change(); }, }); </script> <script type="text/html" data-template-name="fabric-block-info"> <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-gatewaySelector"><i class="fa"></i>Gateway</label> <input type="select" id="node-input-gatewaySelector" /> </div> <div class="form-row"> <label for="node-input-identitySelector"><i class="fa"></i>Identity</label> <input type="select" id="node-input-identitySelector" /> </div> <div class="form-row"> <label for="node-input-channelSelector"><i class="fa"></i>Channel</label> <input type="select" id="node-input-channelSelector" placeholder="" /> </div> <div class="form-row"> <label for="node-input-method"><i class="fa"></i>Method</label> <select type="text" id="node-input-method" style="width:70%;"> <option value="number">Number</option> <option value="hash">Hash</option> <option value="txId">TxId</option> </select> </div> <div class="form-row form-row-blockNumber hide"> <label for="node-input-blockNumber"><i class="fa"></i>Block Number</label> <input type="text" id="node-input-blockNumber" placeholder="0" /> </div> <div class="form-row form-row-hash hide"> <label for="node-input-blockHash"><i class="fa"></i>Block Hash</label> <input type="text" id="node-input-blockHash" placeholder="0" /> </div> <div class="form-row form-row-txid hide"> <label for="node-input-txId"><i class="fa"></i>TxId</label> <input type="text" id="node-input-txId" placeholder="0" /> </div> </script> <script type="text/html" data-help-name="fabric-block-info"> <span class="red-ui-text-bidi-aware"> <h2>Hyperledger Fabric Block Info</h2> <p>Query the ledger and return the block that match selected conditions</p> <h3 class="red-ui-help-info-header">Details</h3> <p>Basic connection config nodes must be provided: <code>Gateway</code>, <code>Identity</code> and <code>Channel</code> </p> <p>Select the <code>Method</code> to choose operation from options</p> <p> - <code>Number</code> will recover a block by it's number. Must be a number</p> <p> - <code>Hash</code> will recover a block by it's hash</p> <p> - <code>TxId</code> will recover a block by any of it's transaction id</p> </span> </script>