Merge pull request #3588 from vvlladd28/bug/entity-select/alias-type

UI: Fixed null id in entity-select component
This commit is contained in:
Igor Kulikov 2020-10-16 10:46:33 +03:00 committed by GitHub
commit d4535e317c
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -97,10 +97,6 @@ export class EntitySelectComponent implements ControlValueAccessor, OnInit, Afte
ngOnInit() {
this.entitySelectFormGroup.get('entityType').valueChanges.subscribe(
(value) => {
if(value === AliasEntityType.CURRENT_TENANT || value === AliasEntityType.CURRENT_USER ||
value === AliasEntityType.CURRENT_USER_OWNER) {
this.modelValue.id = NULL_UUID;
}
this.updateView(value, this.modelValue.id);
}
);
@ -140,20 +136,23 @@ export class EntitySelectComponent implements ControlValueAccessor, OnInit, Afte
}
updateView(entityType: EntityType | AliasEntityType | null, entityId: string | null) {
if (this.modelValue.entityType !== entityType ||
this.modelValue.id !== entityId) {
this.modelValue = {
entityType,
id: this.modelValue.entityType !== entityType ? null : entityId
};
if (this.modelValue.entityType && (this.modelValue.id ||
this.modelValue.entityType === AliasEntityType.CURRENT_TENANT ||
this.modelValue.entityType === AliasEntityType.CURRENT_USER ||
this.modelValue.entityType === AliasEntityType.CURRENT_USER_OWNER)) {
this.propagateChange(this.modelValue);
} else {
this.propagateChange(null);
}
if (this.modelValue.entityType !== entityType || this.modelValue.id !== entityId) {
this.modelValue = {
entityType,
id: this.modelValue.entityType !== entityType ? null : entityId
};
if (this.modelValue.entityType === AliasEntityType.CURRENT_TENANT
|| this.modelValue.entityType === AliasEntityType.CURRENT_USER
|| this.modelValue.entityType === AliasEntityType.CURRENT_USER_OWNER) {
this.modelValue.id = NULL_UUID;
}
if (this.modelValue.entityType && this.modelValue.id) {
this.propagateChange(this.modelValue);
} else {
this.propagateChange(null);
}
}
}
}