[DATALAB-2257]: Trim spaces in library name and version (#1048)
diff --git a/services/self-service/src/main/resources/webapp/src/app/resources/exploratory/install-libraries/install-libraries.component.html b/services/self-service/src/main/resources/webapp/src/app/resources/exploratory/install-libraries/install-libraries.component.html
index 7adac93..9de8286 100644
--- a/services/self-service/src/main/resources/webapp/src/app/resources/exploratory/install-libraries/install-libraries.component.html
+++ b/services/self-service/src/main/resources/webapp/src/app/resources/exploratory/install-libraries/install-libraries.component.html
@@ -108,7 +108,7 @@
class="library-input"
[placeholder]="'Enter library version (optional)'"
[(ngModel)]="lib.version"
- [disabled]="!lib.name"
+ [disabled]="!lib.name.trim()"
(keyup)="validateVersion(lib.version)"
(keydown.enter)="addLibrary(lib)"
>
@@ -118,7 +118,7 @@
Library version can only contain Latin letters, numbers and special characters -, _, :, /, ~, ., +.
</span>
<span class="plus-icon"
- [ngClass]="{'not-allow': lib.name?.length < 2
+ [ngClass]="{'not-allow': lib.name?.trim().length < 2
|| (autoComplete === 'ENABLED' && !isLibSelected && filteredList?.length)
|| this.selectedLib?.isInSelectedList || isVersionInvalid || autoComplete === 'UPDATING'}"
[matTooltip]="this.selectedLib?.isInSelectedList ? 'Library is in selected list' : 'Please select library from autocomplete'"
@@ -126,7 +126,7 @@
>
<mat-icon
(click)="addLibrary(lib)"
- [ngClass]="{'not-allowed': lib.name?.length < 2 || (autoComplete === 'ENABLED' && !isLibSelected && filteredList?.length)
+ [ngClass]="{'not-allowed': lib.name?.trim().length < 2 || (autoComplete === 'ENABLED' && !isLibSelected && filteredList?.length)
|| this.selectedLib?.isInSelectedList || isVersionInvalid || autoComplete === 'UPDATING'}">add</mat-icon>
</span>
</div>
diff --git a/services/self-service/src/main/resources/webapp/src/app/resources/exploratory/install-libraries/install-libraries.component.ts b/services/self-service/src/main/resources/webapp/src/app/resources/exploratory/install-libraries/install-libraries.component.ts
index 12154a9..45bc6d5 100644
--- a/services/self-service/src/main/resources/webapp/src/app/resources/exploratory/install-libraries/install-libraries.component.ts
+++ b/services/self-service/src/main/resources/webapp/src/app/resources/exploratory/install-libraries/install-libraries.component.ts
@@ -223,7 +223,7 @@
this.selectedLib = {
name: this.lib.name,
version: this.lib.version,
- isInSelectedList: this.model.selectedLibs.some(el => el.name.toLowerCase() === this.lib.name.toLowerCase())
+ isInSelectedList: this.model.selectedLibs.some(el => el.name.toLowerCase() === this.lib.name.toLowerCase().trim())
};
} else {
this.selectedLib = null;
@@ -239,12 +239,12 @@
this.isLibSelected = false;
if ( (!this.selectedLib && !this.isVersionInvalid) || (!this.selectedLib.isInSelectedList && !this.isVersionInvalid)) {
if ( this.group !== 'java') {
- this.model.selectedLibs.push({ group: this.group, name: item.name, version: item.version || 'N/A' });
+ this.model.selectedLibs.push({ group: this.group, name: item.name.trim(), version: item.version.trim() || 'N/A' });
} else {
this.model.selectedLibs.push({
group: this.group,
name: item.name.substring(0, item.name.lastIndexOf(':')),
- version: item.name.substring(item.name.lastIndexOf(':') + 1) || 'N/A'
+ version: item.name.substring(item.name.lastIndexOf(':') + 1).trim() || 'N/A'
});
}
this.libSearch.setValue('');
@@ -427,10 +427,10 @@
}
private getMatchedLibs() {
- if (!this.lib.name || this.lib.name.length < 2) {
+ if (!this.lib.name || this.lib.name.trim().length < 2) {
return;
}
- this.model.getLibrariesList(this.group, this.lib.name.toLowerCase())
+ this.model.getLibrariesList(this.group, this.lib.name.trim().toLowerCase())
.pipe(
takeUntil(this.unsubscribe$)
)