Skip to content

Commit

Permalink
improve Endpoint2 Html
Browse files Browse the repository at this point in the history
  • Loading branch information
erossignon committed Aug 14, 2023
1 parent 5c1e2ab commit dd69c10
Show file tree
Hide file tree
Showing 7 changed files with 509 additions and 387 deletions.
3 changes: 1 addition & 2 deletions source/nodes/OpcUa-Client2/shared/index.ts
Original file line number Diff line number Diff line change
@@ -1,5 +1,4 @@
import { AttributeIds } from "node-opcua";
import { Node, NodeDef, NodeAPI } from "node-red";
import { Node, NodeDef } from "node-red";

export type PossibleActions =
| "read"
Expand Down
226 changes: 136 additions & 90 deletions source/nodes/OpcUa-Endpoint2/OpcUa-Endpoint2.html/editor.html
Original file line number Diff line number Diff line change
@@ -1,99 +1,145 @@
<style>
.group {
border: 1px solid #ccc;
}
</style>

<div class="form-row">
<label for="node-config-input-endpoint"> <i class="fa fa-tag"> </i><i class="icon-link"></i> Endpoint</label>
<input type="text" id="node-config-input-endpoint" />
</div>
<div class="form-row">
<label for="node-config-input-security-policy"><i class="icon-key"></i> Security Policy</label>
<select type="text" id="node-config-input-security-policy">
<option value="None">None</option>
<option value="Basic128">Basic128</option>
<option value="Basic192">Basic192</option>
<option value="Basic192Rsa15">Basic192Rsa15</option>
<option value="Basic256Rsa15">Basic256Rsa15</option>
<option value="Basic256Sha256">Basic256Sha256</option>
<option value="Aes128_Sha256">Aes128_Sha256</option>
<option value="Aes128_Sha256_RsaOaep">Aes128_Sha256_RsaOaep</option>
<option value="PubSub_Aes128_CTR">PubSub_Aes128_CTR</option>
<option value="PubSub_Aes256_CTR">PubSub_Aes256_CTR</option>
<option value="Basic128Rsa15">Basic128Rsa15</option>
<option value="Basic256">Basic256</option>
</select>
</div>
<div class="form-row">
<label for="node-config-input-security-mode"><i class="icon-key"></i> Security Mode</label>
<select type="text" id="node-config-input-security-mode">
<option value="None">None</option>
<option value="Sign">Sign</option>
<option value="SignAndEncrypt">Sign&Encrypt</option>
</select>
</div>
<div class="form-row">
<lable><input type="checkbox" id="node-config-input-none" /> Anonymous</lable>
</div>
<div class="form-row">
<lable><input type="checkbox" id="node-config-input-login" /> use credentials</lable>
<label for="node-config-input-name"><i class="icon-tasks"></i> Name</label>
<input type="text" id="node-config-input-name" placeholder="enter the friendly name of the connection" />
</div>

<div class="form-row">
<lable><input type="checkbox" id="node-config-input-usercert" /> user certificate</lable>
<label for="node-config-input-endpoint"> <i class="fa fa-tag"> </i><i class="icon-link"></i> Endpoint</label>
<input type="text" id="node-config-input-endpoint" />
</div>

<div class="form-row node-input-useAuth-row">
<label for="node-config-input-user"><i class="icon-user"></i> User</label>
<input type="text" id="node-config-input-user" />
</div>
<div class="form-row node-input-useAuth-row">
<label for="node-config-input-password"><i class="icon-password"></i> Password</label>
<input type="password" id="node-config-input-password" />
</div>
<fieldset>
<legend>Security</legend>
<div class="form-row">
<label for="node-config-input-securityMode"><i class="icon-key"></i> Security Mode</label>
<select type="text" id="node-config-input-securityMode">
<option value="None">None</option>
<option value="Sign">Sign</option>
<option value="SignAndEncrypt">Sign&Encrypt</option>
</select>
</div>
<div class="form-row section-securityPolicy">
<label for="node-config-input-securityPolicy"><i class="icon-key"></i> Security Policy</label>
<select type="text" id="node-config-input-securityPolicy">
<!--
<option value="None">None</option>
-->
<option value="Basic256Rsa15">Basic256Rsa15</option>
<option value="Basic256Sha256">Basic256Sha256</option>
<option value="Aes128_Sha256">Aes128_Sha256</option>
<option value="Aes128_Sha256_RsaOaep">Aes128_Sha256_RsaOaep</option>
<!-- <option value="PubSub_Aes128_CTR">PubSub_Aes128_CTR</option>
<option value="PubSub_Aes256_CTR">PubSub_Aes256_CTR</option> -->
<option value="Basic128 (obsolete)">Basic128</option>
<option value="Basic192 (obsolete)">Basic192</option>
<option value="Basic192Rsa15 (obsolete)">Basic192Rsa15</option>
<option value="Basic128Rsa15 (obsolete)">Basic128Rsa15</option>
<option value="Basic256 (obsolete)">Basic256</option>
</select>
</div>
</fieldset>
<fieldset>
<legend>User Session Type</legend>

<div class="form-row">
<label for="node-config-input-userIdentityType"><i class="icon-key"></i>User Identity</label>
<select type="text" id="node-config-input-userIdentityType">
<option value="Anonymous">Anonymous</option>
<option value="UserName">Username & Password</option>
<option value="Certificate">X509 Certificate</option>
</select>
</div>
<div class="section-userIdentityType-UserName">
<div class="form-row">
<label for="node-config-input-user"><i class="icon-user"></i> User</label>
<input type="text" id="node-config-input-user" />
</div>
<div class="form-row">
<label for="node-config-input-password"><i class="icon-password"></i> Password</label>
<input type="password" id="node-config-input-password" />
</div>
</div>
<div class="section-userIdentityType-Certificate">
<div class="form-row">
<label for="node-config-input-userCertificate"><i class="icon-file"></i> Certificate file</label>
<input type="text" id="node-config-input-userCertificate" />
</div>
<div class="form-row">
<label for="node-config-input-userPrivatekey"><i class="icon-file"></i> Private key file</label>
<input type="text" id="node-config-input-userPrivatekey" />
</div>
</div>
</fieldset>

<div class="form-row node-input-userCert-row">
<label for="node-config-input-usercertificate"><i class="icon-file"></i> Certificate file</label>
<input type="text" id="node-config-input-usercertificate" />
</div>
<div class="form-row node-input-userCert-row">
<label for="node-config-input-userprivatekey"><i class="icon-file"></i> Private key file</label>
<input type="text" id="node-config-input-userprivatekey" />
</div>
<div class="form-row" id="node-input-servercertificate">
<label for="node-input-location"><i class="icon-time"></i> Certificate</label>
<select id="node-input-certificate" style="width: 72%">
<option value="n">None, use generated self-signed certificate</option>
<option value="l">Local certificate file, give path with filename (pem)</option>
</select>
</div>
<div class="form-row">
<label for="node-input-path"><i class="icon-tasks"></i> Local certificate file with absolute path</label>
<input type="text" id="node-input-localfile" placeholder="selfSigned.pem" />
</div>
<div class="form-row">
<label for="node-input-path"><i class="icon-tasks"></i> Local private key file with absolute path</label>
<input type="text" id="node-input-localkeyfile" placeholder="private_key.pem" />
</div>
<div class="form-row">
<label for="node-input-folderName4PKI"><i class="icon-tasks"></i> PKI certificate folder</label>
<input type="text" id="node-input-folderName4PKI" placeholder="" />
</div>
<div class="form-row">
<label for="node-input-useTransport"><i class="icon-tasks"></i> Use transport settings</label>
<input type="checkbox" id="node-input-useTransport" placeholder="" />
</div>
<div class="form-row">
<label for="node-input-maxChunkCount"><i class="icon-tasks"></i> Max ChunkCount</label>
<input type="number" id="node-input-maxChunkCount" placeholder="1" style="width: 20%" />
</div>
<div class="form-row">
<label for="node-input-maxMessageSize"><i class="icon-tasks"></i> Max MessageSize</label>
<input type="number" id="node-input-maxMessageSize" placeholder="8192" style="width: 20%" />
</div>
<div class="form-row">
<label for="node-input-receiveBufferSize"><i class="icon-tasks"></i> Receive BufferSize</label>
<input type="number" id="node-input-receiveBufferSize" placeholder="8192" style="width: 20%" />
</div>
<div class="form-row">
<label for="node-input-sendBufferSize"><i class="icon-tasks"></i> Send BufferSize</label>
<input type="number" id="node-input-sendBufferSize" placeholder="8192" style="width: 20%" />
<label for="toggleAdvancedSection"> advanced parameters ? </label>
<input class="toggle toggle-input" checked="false" type="checkbox" id="toggleAdvancedSection" />
<span class="toggle-label" data-off="OFF" data-on="ON"></span>
<span class="toggle-handle"></span>
</div>
<div class="form-row">
<label for="node-input-name"><i class="icon-tasks"></i> Name</label>
<input type="text" id="node-input-name" placeholder="" />

<div id="section-Advanced">
<!--- For PKI -->
<fieldset>
<legend>Server certificate</legend>
<div class="form-row" id="node-input-servercertificate">
<label for="node-input-location"
><i class="icon-time" placeholder="enter the preloaded server certificate"></i>Server Certificate</label
>
<select id="node-input-certificate" style="width: 72%">
<option value="n">None, use generated self-signed certificate</option>
<option value="l">Local certificate file, give path with filename (pem)</option>
</select>
</div>
</fieldset>

<fieldset>
<legend>Overwrite client certificate & private key</legend>
<div class="form-row">
<label for="node-input-path"><i class="icon-tasks"></i> Local certificate file with absolute path</label>
<input type="text" id="node-input-localfile" placeholder="selfSigned.pem" accept=".pem .der" />
</div>
<div class="form-row">
<label for="node-input-path"><i class="icon-tasks"></i> Local private key file with absolute path</label>
<input type="text" id="node-input-localkeyfile" placeholder="private_key.pem" accept=".pem .der" />
</div>
<div class="form-row">
<label for="node-input-folderName4PKI"><i class="icon-tasks"></i> PKI certificate folder</label>
<input type="text" id="node-input-folderName4PKI" webkitdirectory directory placeholder="" />
</div>
</fieldset>

<!--- For Transport settings -->
<fieldset>
<legend>Advanced transport settings</legend>
<p>only use those parameters if you know what you are doing !</p>
<div class="form-row">
<label for="node-input-useTransport"><i class="icon-tasks"></i> Use transport settings</label>
<input type="checkbox" id="node-input-useTransport" placeholder="" />
</div>
<div class="section-TransportSettings">
<div class="form-row">
<label for="node-input-maxChunkCount"><i class="icon-tasks"></i> Max ChunkCount</label>
<input type="number" id="node-input-maxChunkCount" placeholder="10" style="width: 20%" />
</div>
<div class="form-row">
<label for="node-input-maxMessageSize"><i class="icon-tasks"></i> Max MessageSize</label>
<input type="number" id="node-input-maxMessageSize" placeholder="8192" style="width: 20%" />
</div>
<div class="form-row">
<label for="node-input-receiveBufferSize"><i class="icon-tasks"></i> Receive BufferSize</label>
<input type="number" id="node-input-receiveBufferSize" placeholder="8192" style="width: 20%" />
</div>
<div class="form-row">
<label for="node-input-sendBufferSize"><i class="icon-tasks"></i> Send BufferSize</label>
<input type="number" id="node-input-sendBufferSize" placeholder="8192" style="width: 20%" />
</div>
</div>
</fieldset>
</div>
Loading

0 comments on commit dd69c10

Please sign in to comment.