minor improvements
This commit is contained in:
parent
7c6283dbd9
commit
3d5d327e6b
@ -1326,7 +1326,7 @@
|
||||
"decimals": null,
|
||||
"funcBody": null,
|
||||
"usePostProcessing": true,
|
||||
"postFuncBody": "if (value.includes(\"RPC\")) {\n let parsedValue = value.match(/\\|(\\w+)\\|/);\n parsedValue = parsedValue ? parsedValue[1] :\n parsedValue;\n return parsedValue || value;\n} else return '';"
|
||||
"postFuncBody": "if (value.includes(\"RPC\")&&!value.includes(\"GRPC\")) {\n let parsedValue = value.match(/\\|(\\w+)\\|/);\n parsedValue = parsedValue ? parsedValue[1] :\n parsedValue;\n return parsedValue || value;\n} else return '';"
|
||||
},
|
||||
{
|
||||
"name": "SERVICE_LOGS",
|
||||
@ -1654,7 +1654,7 @@
|
||||
"decimals": null,
|
||||
"funcBody": null,
|
||||
"usePostProcessing": true,
|
||||
"postFuncBody": "if (value.includes(\"RPC\")) {\n let parsedValue = value.match(/\\|(\\w+)\\|/);\n parsedValue = parsedValue ? parsedValue[1] :\n parsedValue;\n return parsedValue || value;\n} else return '';"
|
||||
"postFuncBody": "if (value.includes(\"RPC\")&&!value.includes(\"GRPC\")) {\n let parsedValue = value.match(/\\|(\\w+)\\|/);\n parsedValue = parsedValue ? parsedValue[1] :\n parsedValue;\n return parsedValue || value;\n} else return '';"
|
||||
},
|
||||
{
|
||||
"name": "SERVICE_LOGS",
|
||||
|
||||
@ -481,10 +481,18 @@
|
||||
</mat-slide-toggle>
|
||||
<mat-slide-toggle color="primary" fxFlex="100" formControlName="keepalivePermitWithoutCalls">
|
||||
{{ 'gateway.permit-without-calls' | translate }}
|
||||
<mat-icon class="material-icons-outlined suffix-icon slider-icon " aria-hidden="false" aria-label="help-icon"
|
||||
style="cursor:pointer;"
|
||||
matTooltip="{{'gateway.hints.permit-without-calls' | translate }}">info
|
||||
</mat-icon>
|
||||
</mat-slide-toggle>
|
||||
<mat-form-field appearance="outline" fxFlex="calc(50%-15px)" fxFlex.lt-md="100" class="mat-block tb-value-type">
|
||||
<mat-label translate>gateway.server-port</mat-label>
|
||||
<input matInput formControlName="serverPort" type="number" min="0"/>
|
||||
<mat-icon class="mat-form-field-infix pointer-event suffix-icon"
|
||||
matSuffix style="cursor:pointer;"
|
||||
matTooltip="{{'gateway.hints.server-port' | translate }}">info_outlined
|
||||
</mat-icon>
|
||||
<mat-error *ngIf="gatewayConfigGroup.get('grpc.serverPort').hasError('required')">
|
||||
{{'gateway.thingsboard-port-required' | translate }}
|
||||
</mat-error>
|
||||
@ -501,6 +509,10 @@
|
||||
<mat-form-field appearance="outline" fxFlex="calc(50%-15px)" fxFlex.lt-md="100" class="mat-block tb-value-type">
|
||||
<mat-label translate>gateway.grpc-keep-alive-timeout</mat-label>
|
||||
<input matInput formControlName="keepAliveTimeoutMs" type="number" min="0"/>
|
||||
<mat-icon class="mat-form-field-infix pointer-event suffix-icon"
|
||||
matSuffix style="cursor:pointer;"
|
||||
matTooltip="{{'gateway.hints.grpc-keep-alive-timeout' | translate }}">info_outlined
|
||||
</mat-icon>
|
||||
<mat-error *ngIf="gatewayConfigGroup.get('grpc.keepAliveTimeoutMs').hasError('required')">
|
||||
{{'gateway.grpc-keep-alive-timeout-required' | translate }}
|
||||
</mat-error>
|
||||
@ -514,6 +526,10 @@
|
||||
<mat-form-field appearance="outline" fxFlex="calc(50%-15px)" fxFlex.lt-md="100" class="mat-block tb-value-type">
|
||||
<mat-label translate>gateway.grpc-keep-alive</mat-label>
|
||||
<input matInput formControlName="keepAliveTimeMs" type="number" min="0"/>
|
||||
<mat-icon class="mat-form-field-infix pointer-event suffix-icon"
|
||||
matSuffix style="cursor:pointer;"
|
||||
matTooltip="{{'gateway.hints.grpc-keep-alive' | translate }}">info_outlined
|
||||
</mat-icon>
|
||||
<mat-error *ngIf="gatewayConfigGroup.get('grpc.keepAliveTimeMs').hasError('required')">
|
||||
{{'gateway.grpc-keep-alive-required' | translate }}
|
||||
</mat-error>
|
||||
@ -527,6 +543,10 @@
|
||||
<mat-form-field appearance="outline" fxFlex="calc(50%-15px)" fxFlex.lt-md="100" class="mat-block tb-value-type">
|
||||
<mat-label translate>gateway.grpc-min-time-between-pings</mat-label>
|
||||
<input matInput formControlName="minTimeBetweenPingsMs" type="number" min="0"/>
|
||||
<mat-icon class="mat-form-field-infix pointer-event suffix-icon"
|
||||
matSuffix style="cursor:pointer;"
|
||||
matTooltip="{{'gateway.hints.grpc-min-time-between-pings' | translate }}">info_outlined
|
||||
</mat-icon>
|
||||
<mat-error *ngIf="gatewayConfigGroup.get('grpc.minTimeBetweenPingsMs').hasError('required')">
|
||||
{{'gateway.grpc-min-time-between-pings-required' | translate }}
|
||||
</mat-error>
|
||||
@ -540,6 +560,10 @@
|
||||
<mat-form-field appearance="outline" fxFlex="calc(50%-15px)" fxFlex.lt-md="100" class="mat-block tb-value-type">
|
||||
<mat-label translate>gateway.grpc-max-pings-without-data</mat-label>
|
||||
<input matInput formControlName="maxPingsWithoutData" type="number" min="0"/>
|
||||
<mat-icon class="mat-form-field-infix pointer-event suffix-icon"
|
||||
matSuffix style="cursor:pointer;"
|
||||
matTooltip="{{'gateway.hints.grpc-max-pings-without-data' | translate }}">info_outlined
|
||||
</mat-icon>
|
||||
<mat-error *ngIf="gatewayConfigGroup.get('grpc.maxPingsWithoutData').hasError('required')">
|
||||
{{'gateway.grpc-max-pings-without-data-required' | translate }}
|
||||
</mat-error>
|
||||
@ -553,6 +577,10 @@
|
||||
<mat-form-field appearance="outline" fxFlex="calc(50%-15px)" fxFlex.lt-md="100" class="mat-block tb-value-type">
|
||||
<mat-label translate>gateway.grpc-min-ping-interval-without-data</mat-label>
|
||||
<input matInput formControlName="minPingIntervalWithoutDataMs" type="number" min="0"/>
|
||||
<mat-icon class="mat-form-field-infix pointer-event suffix-icon"
|
||||
matSuffix style="cursor:pointer;"
|
||||
matTooltip="{{'gateway.hints.grpc-min-ping-interval-without-data' | translate }}">info_outlined
|
||||
</mat-icon>
|
||||
<mat-error *ngIf="gatewayConfigGroup.get('grpc.minPingIntervalWithoutDataMs').hasError('required')">
|
||||
{{'gateway.grpc-min-ping-interval-without-data-required' | translate }}
|
||||
</mat-error>
|
||||
@ -576,7 +604,7 @@
|
||||
</mat-slide-toggle>
|
||||
<mat-form-field appearance="outline" fxFlex="calc(50%-15px)" class="mat-block tb-value-type">
|
||||
<mat-label translate>gateway.statistics.send-period</mat-label>
|
||||
<input matInput formControlName="statsSendPeriodInSeconds" type="number" min="1"/>
|
||||
<input matInput formControlName="statsSendPeriodInSeconds" type="number" min="60"/>
|
||||
<mat-error
|
||||
*ngIf="gatewayConfigGroup.get('thingsboard.statistics.statsSendPeriodInSeconds').hasError('required')">
|
||||
{{'gateway.statistics.send-period-required' | translate }}
|
||||
|
||||
@ -155,7 +155,7 @@ export class GatewayConfigurationComponent implements OnInit {
|
||||
checkConnectorsConfigurationInSeconds: [60, [Validators.required, Validators.min(1), Validators.pattern(/^-?[0-9]+$/)]],
|
||||
statistics: this.fb.group({
|
||||
enable: [true, []],
|
||||
statsSendPeriodInSeconds: [3600, [Validators.required, Validators.min(1), Validators.pattern(/^-?[0-9]+$/)]],
|
||||
statsSendPeriodInSeconds: [3600, [Validators.required, Validators.min(60), Validators.pattern(/^-?[0-9]+$/)]],
|
||||
commands: this.fb.array([], [])
|
||||
}),
|
||||
maxPayloadSizeBytes: [1024, [Validators.required, Validators.min(1), Validators.pattern(/^-?[0-9]+$/)]],
|
||||
@ -434,6 +434,7 @@ export class GatewayConfigurationComponent implements OnInit {
|
||||
grpcGroup.get('serverPort').enable();
|
||||
grpcGroup.get('keepAliveTimeMs').enable();
|
||||
grpcGroup.get('keepAliveTimeoutMs').enable();
|
||||
grpcGroup.get('keepalivePermitWithoutCalls').enable();
|
||||
grpcGroup.get('maxPingsWithoutData').enable();
|
||||
grpcGroup.get('minTimeBetweenPingsMs').enable();
|
||||
grpcGroup.get('minPingIntervalWithoutDataMs').enable();
|
||||
@ -441,6 +442,7 @@ export class GatewayConfigurationComponent implements OnInit {
|
||||
grpcGroup.get('serverPort').disable();
|
||||
grpcGroup.get('keepAliveTimeMs').disable();
|
||||
grpcGroup.get('keepAliveTimeoutMs').disable();
|
||||
grpcGroup.get('keepalivePermitWithoutCalls').disable();
|
||||
grpcGroup.get('maxPingsWithoutData').disable();
|
||||
grpcGroup.get('minTimeBetweenPingsMs').disable();
|
||||
grpcGroup.get('minPingIntervalWithoutDataMs').disable();
|
||||
|
||||
@ -27,7 +27,11 @@
|
||||
</mat-form-field>
|
||||
<mat-form-field class="mat-block tb-value-type" fxFlex *ngIf="!isConnector">
|
||||
<mat-label>{{'gateway.statistics.timeout-ms' | translate}}</mat-label>
|
||||
<input matInput formControlName="time" type="number"/>
|
||||
<input matInput formControlName="time" type="number" min="1"/>
|
||||
<mat-error
|
||||
*ngIf="commandForm.get('time').hasError('min')">
|
||||
{{'gateway.statistics.timeout-min' | translate }}
|
||||
</mat-error>
|
||||
</mat-form-field>
|
||||
<mat-form-field class="mat-block tb-value-type" fxFlex *ngIf="isConnector">
|
||||
<mat-label>{{'widget-config.datasource-parameters' | translate}}</mat-label>
|
||||
|
||||
@ -76,7 +76,7 @@ export class GatewayServiceRPCComponent extends PageComponent implements AfterVi
|
||||
super(store);
|
||||
this.commandForm = this.fb.group({
|
||||
command: [null,[Validators.required]],
|
||||
time: [60, [Validators.required]],
|
||||
time: [60, [Validators.required, Validators.min(1)]],
|
||||
params: ["{}", [Validators.required]],
|
||||
result: [null]
|
||||
})
|
||||
|
||||
@ -2693,7 +2693,7 @@
|
||||
},
|
||||
"min-pack-send-delay": "Min pack send delay (in ms)",
|
||||
"min-pack-send-delay-required": "Min pack send delay is required",
|
||||
"min-pack-send-delay-min": "Min pack send delay can not be less then 1",
|
||||
"min-pack-send-delay-min": "Min pack send delay can not be less then 0",
|
||||
"no-connectors": "No connectors",
|
||||
"no-data": "No configurations",
|
||||
"no-gateway-found": "No gateway found.",
|
||||
@ -2725,7 +2725,7 @@
|
||||
"commands": "Commands",
|
||||
"send-period": "Statistic send period (in sec)",
|
||||
"send-period-required": "Statistic send period is required",
|
||||
"send-period-min": "Statistic send period can not be less then 1",
|
||||
"send-period-min": "Statistic send period can not be less then 60",
|
||||
"send-period-pattern": "Statistic send period is not valid",
|
||||
"check-connectors-configuration": "Check connectors configuration (in ms)",
|
||||
"check-connectors-configuration-required": "Check connectors configuration is required",
|
||||
@ -2841,7 +2841,14 @@
|
||||
"inactivity-timeout": "Inactivity device time after whose the gateway will disconnect device",
|
||||
"inactivity-period": "Periodicity of device activity check",
|
||||
"minimal-pack-delay": "Delay between sending packets (Decreasing this setting results in increased CPU usage)",
|
||||
"qos": "Quality of Service in MQTT messaging (0 - at most once, 1 - at least once)"
|
||||
"qos": "Quality of Service in MQTT messaging (0 - at most once, 1 - at least once)",
|
||||
"server-port": "Network port on which GRPC server will listen for incoming connections.",
|
||||
"grpc-keep-alive-timeout": "Maximum time (in milliseconds) the server should wait for a keepalive ping response before considering the connection dead.",
|
||||
"grpc-keep-alive": "Duration (in milliseconds) between two successive keepalive ping messages when there is no active RPC call.",
|
||||
"grpc-min-time-between-pings": "Minimum amount of time (in milliseconds) the server should wait between sending keepalive ping messages",
|
||||
"grpc-max-pings-without-data": "Maximum number of keepalive ping messages that the server can send without receiving any data before it considers the connection dead.",
|
||||
"grpc-min-ping-interval-without-data": "Minimum amount of time (in milliseconds) the server should wait between sending keepalive ping messages when there is no data being sent or received.",
|
||||
"permit-without-calls": "Allow server to keep the GRPC connection alive even when there are no active RPC calls."
|
||||
}
|
||||
},
|
||||
"grid": {
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user