fix validation (#214517)

* fix validation

* fix validation

* trim name
This commit is contained in:
Sandeep Somavarapu 2024-06-07 00:14:29 +02:00 committed by GitHub
parent 4157a8d7f0
commit 96151fb331
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
2 changed files with 15 additions and 10 deletions

View file

@ -501,7 +501,11 @@ class ProfileWidget extends Disposable {
type: MessageType.ERROR
};
}
const initialName = this._profileElement.value?.element instanceof UserDataProfileElement ? this._profileElement.value.element.profile.name : undefined;
if (this._profileElement.value?.element.disabled) {
return null;
}
const initialName = this._profileElement.value?.element.getInitialName();
value = value.trim();
if (initialName !== value && this.userDataProfilesService.profiles.some(p => p.name === value)) {
return {
content: localize('profileExists', "Profile with name {0} already exists.", value),
@ -778,6 +782,7 @@ class ProfileWidget extends Disposable {
private renderProfileElement(profileElement: AbstractUserDataProfileElement): void {
this.profileTitle.textContent = profileElement.name;
this.nameInput.value = profileElement.name;
this.nameInput.validate();
if (profileElement.disabled) {
this.nameInput.disable();
} else {

View file

@ -104,9 +104,10 @@ export abstract class AbstractUserDataProfileElement extends Disposable {
private _name = '';
get name(): string { return this._name; }
set name(label: string) {
if (this._name !== label) {
this._name = label;
set name(name: string) {
name = name.trim();
if (this._name !== name) {
this._name = name;
this._onDidChange.fire({ name: true });
}
}
@ -263,7 +264,7 @@ export abstract class AbstractUserDataProfileElement extends Disposable {
}
protected getInitialName(): string {
getInitialName(): string {
return '';
}
@ -380,7 +381,7 @@ export class UserDataProfileElement extends AbstractUserDataProfileElement {
return this.getChildrenFromProfile(this.profile, resourceType);
}
protected override getInitialName(): string {
override getInitialName(): string {
return this.profile.name;
}
@ -614,7 +615,7 @@ export class NewProfileElement extends AbstractUserDataProfileElement {
return [];
}
protected override getInitialName(): string {
override getInitialName(): string {
return this.previewProfile?.name ?? '';
}
@ -832,9 +833,8 @@ export class UserDataProfilesEditorModel extends EditorModel {
if (e.preview) {
previewProfileAction.checked = !!this.newProfileElement?.previewProfile;
}
if (e.disabled) {
previewProfileAction.enabled = !this.newProfileElement?.disabled;
createAction.enabled = !this.newProfileElement?.disabled;
if (e.disabled || e.message) {
previewProfileAction.enabled = createAction.enabled = !this.newProfileElement?.disabled && !this.newProfileElement?.message;
}
}));
this._profiles.push([this.newProfileElement, disposables]);