Et2Email: Fix validation message for invalid search text did not always show on field blur
This commit is contained in:
parent
a348039716
commit
44f1317873
|
@ -215,7 +215,7 @@ export class Et2Email extends Et2InputWidget(LitElement) implements SearchMixinI
|
|||
this.open = false;
|
||||
this._valueUID = this.egw().uid();
|
||||
this.updateComplete.then(() => this.makeSortable());
|
||||
document.addEventListener('focusin', this.handleLostFocus);
|
||||
document.addEventListener('focusout', this.handleLostFocus);
|
||||
}
|
||||
|
||||
disconnectedCallback()
|
||||
|
@ -226,7 +226,7 @@ export class Et2Email extends Et2InputWidget(LitElement) implements SearchMixinI
|
|||
{
|
||||
this._sortable.destroy();
|
||||
}
|
||||
document.removeEventListener('focusin', this.handleLostFocus);
|
||||
document.removeEventListener('focusout', this.handleLostFocus);
|
||||
}
|
||||
|
||||
willUpdate(changedProperties : PropertyValues)
|
||||
|
@ -588,26 +588,21 @@ export class Et2Email extends Et2InputWidget(LitElement) implements SearchMixinI
|
|||
*/
|
||||
private handleLostFocus = (event : MouseEvent | KeyboardEvent) =>
|
||||
{
|
||||
// Close when clicking outside of the component
|
||||
const path = event.composedPath();
|
||||
if(this && !path.includes(this))
|
||||
// If they had something OK typed, use it
|
||||
if(this.addAddress(this._search.value.trim()))
|
||||
{
|
||||
// If they had something OK typed, use it
|
||||
if(this.addAddress(this._search.value.trim()))
|
||||
{
|
||||
this._search.value = "";
|
||||
}
|
||||
else if(this._search.value)
|
||||
{
|
||||
// Invalid input, show message
|
||||
// Can't just call this.validate() since the input is not part of the value
|
||||
let currentValue = this.value;
|
||||
this.value = [this._search.value];
|
||||
this.validate();
|
||||
this.value = currentValue;
|
||||
}
|
||||
this.hide();
|
||||
this._search.value = "";
|
||||
}
|
||||
else if(this._search.value)
|
||||
{
|
||||
// Invalid input, show message
|
||||
// Can't just call this.validate() since the input is not part of the value
|
||||
let currentValue = this.value;
|
||||
this.value = [this._search.value];
|
||||
this.validate();
|
||||
this.value = currentValue;
|
||||
}
|
||||
this.hide();
|
||||
};
|
||||
|
||||
async handleOpenChange()
|
||||
|
|
Loading…
Reference in New Issue