- Fixed diabled button in the edit rate limits;

- Removed validation by the pattern for the rate limits
This commit is contained in:
Artem Babak 2022-07-21 15:45:00 +03:00
parent b331bbbb24
commit 913db7a0d3
2 changed files with 14 additions and 13 deletions

View File

@ -36,7 +36,6 @@ import { RateLimitsType } from '@shared/models/rate-limits.models';
export class DefaultTenantProfileConfigurationComponent implements ControlValueAccessor, OnInit { export class DefaultTenantProfileConfigurationComponent implements ControlValueAccessor, OnInit {
defaultTenantProfileConfigurationFormGroup: FormGroup; defaultTenantProfileConfigurationFormGroup: FormGroup;
rateLimitsPattern = '([1-9]\\d*:[1-9]\\d*)(,[1-9]\\d*:[1-9]\\d*)*';
private requiredValue: boolean; private requiredValue: boolean;
get required(): boolean { get required(): boolean {
@ -65,14 +64,14 @@ export class DefaultTenantProfileConfigurationComponent implements ControlValueA
maxRuleChains: [null, [Validators.required, Validators.min(0)]], maxRuleChains: [null, [Validators.required, Validators.min(0)]],
maxResourcesInBytes: [null, [Validators.required, Validators.min(0)]], maxResourcesInBytes: [null, [Validators.required, Validators.min(0)]],
maxOtaPackagesInBytes: [null, [Validators.required, Validators.min(0)]], maxOtaPackagesInBytes: [null, [Validators.required, Validators.min(0)]],
transportTenantMsgRateLimit: [null, [Validators.pattern(this.rateLimitsPattern)]], transportTenantMsgRateLimit: [null, []],
transportTenantTelemetryMsgRateLimit: [null, [Validators.pattern(this.rateLimitsPattern)]], transportTenantTelemetryMsgRateLimit: [null, []],
transportTenantTelemetryDataPointsRateLimit: [null, [Validators.pattern(this.rateLimitsPattern)]], transportTenantTelemetryDataPointsRateLimit: [null, []],
transportDeviceMsgRateLimit: [null, [Validators.pattern(this.rateLimitsPattern)]], transportDeviceMsgRateLimit: [null, []],
transportDeviceTelemetryMsgRateLimit: [null, [Validators.pattern(this.rateLimitsPattern)]], transportDeviceTelemetryMsgRateLimit: [null, []],
transportDeviceTelemetryDataPointsRateLimit: [null, [Validators.pattern(this.rateLimitsPattern)]], transportDeviceTelemetryDataPointsRateLimit: [null, []],
tenantEntityExportRateLimit: [null, [Validators.pattern(this.rateLimitsPattern)]], tenantEntityExportRateLimit: [null, []],
tenantEntityImportRateLimit: [null, [Validators.pattern(this.rateLimitsPattern)]], tenantEntityImportRateLimit: [null, []],
maxTransportMessages: [null, [Validators.required, Validators.min(0)]], maxTransportMessages: [null, [Validators.required, Validators.min(0)]],
maxTransportDataPoints: [null, [Validators.required, Validators.min(0)]], maxTransportDataPoints: [null, [Validators.required, Validators.min(0)]],
maxREExecutions: [null, [Validators.required, Validators.min(0)]], maxREExecutions: [null, [Validators.required, Validators.min(0)]],
@ -85,8 +84,8 @@ export class DefaultTenantProfileConfigurationComponent implements ControlValueA
defaultStorageTtlDays: [null, [Validators.required, Validators.min(0)]], defaultStorageTtlDays: [null, [Validators.required, Validators.min(0)]],
alarmsTtlDays: [null, [Validators.required, Validators.min(0)]], alarmsTtlDays: [null, [Validators.required, Validators.min(0)]],
rpcTtlDays: [null, [Validators.required, Validators.min(0)]], rpcTtlDays: [null, [Validators.required, Validators.min(0)]],
tenantServerRestLimitsConfiguration: [null, [Validators.pattern(this.rateLimitsPattern)]], tenantServerRestLimitsConfiguration: [null, []],
customerServerRestLimitsConfiguration: [null, [Validators.pattern(this.rateLimitsPattern)]], customerServerRestLimitsConfiguration: [null, []],
maxWsSessionsPerTenant: [null, [Validators.min(0)]], maxWsSessionsPerTenant: [null, [Validators.min(0)]],
maxWsSessionsPerCustomer: [null, [Validators.min(0)]], maxWsSessionsPerCustomer: [null, [Validators.min(0)]],
maxWsSessionsPerRegularUser: [null, [Validators.min(0)]], maxWsSessionsPerRegularUser: [null, [Validators.min(0)]],
@ -96,8 +95,8 @@ export class DefaultTenantProfileConfigurationComponent implements ControlValueA
maxWsSubscriptionsPerCustomer: [null, [Validators.min(0)]], maxWsSubscriptionsPerCustomer: [null, [Validators.min(0)]],
maxWsSubscriptionsPerRegularUser: [null, [Validators.min(0)]], maxWsSubscriptionsPerRegularUser: [null, [Validators.min(0)]],
maxWsSubscriptionsPerPublicUser: [null, [Validators.min(0)]], maxWsSubscriptionsPerPublicUser: [null, [Validators.min(0)]],
wsUpdatesPerSessionRateLimit: [null, [Validators.pattern(this.rateLimitsPattern)]], wsUpdatesPerSessionRateLimit: [null, []],
cassandraQueryTenantRateLimitsConfiguration: [null, [Validators.pattern(this.rateLimitsPattern)]] cassandraQueryTenantRateLimitsConfiguration: [null, []]
}); });
this.defaultTenantProfileConfigurationFormGroup.valueChanges.subscribe(() => { this.defaultTenantProfileConfigurationFormGroup.valueChanges.subscribe(() => {
this.updateModel(); this.updateModel();

View File

@ -47,6 +47,7 @@
class="tb-rate-limits-button" class="tb-rate-limits-button"
*ngIf="!rateLimitsFormArray().disabled" *ngIf="!rateLimitsFormArray().disabled"
(click)="removeRateLimits($index)" (click)="removeRateLimits($index)"
[disabled]="disabled"
[matTooltip]="'tenant-profile.rate-limits.remove-limit' | translate" matTooltipPosition="above"> [matTooltip]="'tenant-profile.rate-limits.remove-limit' | translate" matTooltipPosition="above">
<mat-icon>remove_circle_outline</mat-icon> <mat-icon>remove_circle_outline</mat-icon>
</button> </button>
@ -55,6 +56,7 @@
<div> <div>
<button mat-raised-button color="primary" *ngIf="!rateLimitsFormArray().disabled" <button mat-raised-button color="primary" *ngIf="!rateLimitsFormArray().disabled"
(click)="addRateLimits()" (click)="addRateLimits()"
[disabled]="disabled"
[matTooltip]="'tenant-profile.rate-limits.add-limit' | translate" matTooltipPosition="above"> [matTooltip]="'tenant-profile.rate-limits.add-limit' | translate" matTooltipPosition="above">
<span translate>tenant-profile.rate-limits.add-limit</span> <span translate>tenant-profile.rate-limits.add-limit</span>
</button> </button>