You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@dlab.apache.org by dg...@apache.org on 2020/01/16 16:31:21 UTC
[incubator-dlab] 01/01: Default Changelist
This is an automated email from the ASF dual-hosted git repository.
dgnatyshyn pushed a commit to branch DLAB-1451
in repository https://gitbox.apache.org/repos/asf/incubator-dlab.git
commit 1269d9ead836399af02c47b9dc7d4a86b25e8f30
Author: Dmytro Gnatyshyn <di...@ukr.net>
AuthorDate: Thu Jan 16 18:30:43 2020 +0200
Default Changelist
---
.../management/endpoints/endpoints.component.html | 12 +++++++++---
.../management/endpoints/endpoints.component.ts | 18 ++++++++++++++++--
.../resources/webapp/src/app/core/util/patterns.ts | 5 +++--
3 files changed, 28 insertions(+), 7 deletions(-)
diff --git a/services/self-service/src/main/resources/webapp/src/app/administration/management/endpoints/endpoints.component.html b/services/self-service/src/main/resources/webapp/src/app/administration/management/endpoints/endpoints.component.html
index c1171dd..58da8cd 100644
--- a/services/self-service/src/main/resources/webapp/src/app/administration/management/endpoints/endpoints.component.html
+++ b/services/self-service/src/main/resources/webapp/src/app/administration/management/endpoints/endpoints.component.html
@@ -34,20 +34,26 @@
<div class="control">
<input type="text" formControlName="name" placeholder="Enter endpoint name"
(blur)="generateEndpointTag($event)">
+ <!--<span class="error" *ngIf="manageUsersForm?.controls['total'].hasError('overrun')">Total budget cannot be lower than a sum of users quotes</span>-->
<span class="error"
- *ngIf="!createEndpointForm?.controls.name.valid && createEndpointForm?.controls.name.touched">
+ *ngIf="!createEndpointForm?.controls.name.valid && createEndpointForm?.controls.name.touched && !createEndpointForm?.controls['name'].hasError('isDuplicate')">
Endpoint name can only contain letters, numbers, hyphens and '_' but can not end with special
characters
</span>
+ <span class="error"
+ *ngIf="createEndpointForm?.controls['name'].hasError('isDuplicate')">
+ This endpoint name already exists.
+ </span>
</div>
</div>
<div class="control-group">
<label class="label">Endpoint url</label>
<div class="control">
<input type="text" formControlName="url" placeholder="Enter endpoint url">
+ <span class="error" *ngIf="createEndpointForm?.controls['url'].hasError('isDuplicate')">This endpoint url already exists.</span>
<span class="error"
- *ngIf="!createEndpointForm?.controls.url.valid && createEndpointForm.controls.url.touched">
- Endpoint url should end with slash
+ *ngIf="!createEndpointForm?.controls.url.valid && createEndpointForm.controls.url.touched && !createEndpointForm?.controls['url'].hasError('isDuplicate')">
+ Please provide a valid endpoint url with slash on the end
</span>
</div>
</div>
diff --git a/services/self-service/src/main/resources/webapp/src/app/administration/management/endpoints/endpoints.component.ts b/services/self-service/src/main/resources/webapp/src/app/administration/management/endpoints/endpoints.component.ts
index e263edc..d29a5d0 100644
--- a/services/self-service/src/main/resources/webapp/src/app/administration/management/endpoints/endpoints.component.ts
+++ b/services/self-service/src/main/resources/webapp/src/app/administration/management/endpoints/endpoints.component.ts
@@ -97,8 +97,8 @@ export class EndpointsComponent implements OnInit {
private initFormModel(): void {
this.createEndpointForm = this._fb.group({
- name: ['', Validators.compose([Validators.required, Validators.pattern(PATTERNS.namePattern)])],
- url: ['', Validators.compose([Validators.required, Validators.pattern(PATTERNS.url)])],
+ name: ['', Validators.compose([Validators.required, Validators.pattern(PATTERNS.namePattern), this.validateName.bind(this)])],
+ url: ['', Validators.compose([Validators.required, Validators.pattern(PATTERNS.fullUrl), this.validateUrl.bind(this)])],
account: ['', Validators.compose([Validators.required, Validators.pattern(PATTERNS.namePattern)])],
endpoint_tag: ['', Validators.compose([Validators.required, Validators.pattern(PATTERNS.namePattern)])]
});
@@ -114,6 +114,20 @@ export class EndpointsComponent implements OnInit {
private getEndpointList() : void{
this.endpointService.getEndpointsData().subscribe((endpoints: any) => this.endpoints = endpoints);
}
+
+ private validateUrl(control) {
+ if (control && control.value){
+ const isDublicat = this.endpoints.some(endpoint => endpoint['url'].toLocaleLowerCase() === control.value.toLowerCase());
+ return isDublicat ? { isDuplicate: true } : null;
+ }
+ }
+
+ private validateName(control) {
+ if (control && control.value){
+ const isDublicat = this.endpoints.some(endpoint => endpoint['name'].toLocaleLowerCase() === control.value.toLowerCase());
+ return isDublicat ? { isDuplicate: true } : null;
+ }
+ }
}
@Component({
diff --git a/services/self-service/src/main/resources/webapp/src/app/core/util/patterns.ts b/services/self-service/src/main/resources/webapp/src/app/core/util/patterns.ts
index 52e2670..be14887 100644
--- a/services/self-service/src/main/resources/webapp/src/app/core/util/patterns.ts
+++ b/services/self-service/src/main/resources/webapp/src/app/core/util/patterns.ts
@@ -23,5 +23,6 @@ export const PATTERNS = {
delimitersRegex: '[-_]?',
url: '[a-zA-Z0-9.://%#&\\.@:%-_\+~#=]*\.[^\s]*[a-zA-Z0-9]/+',
nodeCountPattern: '^[1-9]\\d*$',
- integerRegex: '^[0-9]*$'
-}
+ integerRegex: '^[0-9]*$',
+ fullUrl: /^(http?|ftp|https):\/\/([a-zA-Z0-9.-]+(:[a-zA-Z0-9.&%$-]+)*@)*((25[0-5]|2[0-4][0-9]|1[0-9]{2}|[1-9][0-9]?)(\.(25[0-5]|2[0-4][0-9]|1[0-9]{2}|[1-9]?[0-9])){3}|([a-zA-Z0-9-]+\.)*[a-zA-Z0-9-]+\.(com|edu|gov|int|mil|net|org|biz|arpa|info|name|pro|aero|coop|museum|[a-zA-Z]{2}))(:[0-9]+)*(\/($|[a-zA-Z0-9.,?'\\+&%$#=~_-]+))*$/,
+};
---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@dlab.apache.org
For additional commands, e-mail: commits-help@dlab.apache.org