Skip to content

Commit 5b4f581

Browse files
fix(overlay): fix to support filtor-dialog of efx-grid
1 parent 2055ef4 commit 5b4f581

File tree

3 files changed

+9
-11
lines changed

3 files changed

+9
-11
lines changed

packages/elements/src/combo-box/index.ts

Lines changed: 1 addition & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1300,16 +1300,12 @@ export class ComboBox<T extends DataItem = ItemData> extends FormFieldElement {
13001300
return !!(this.clears && editable && (this.value || this.inputText || this.freeTextValue));
13011301
}
13021302

1303-
private onclickInput () {
1304-
this.focus();
1305-
}
1306-
13071303
/**
13081304
* Returns a template for input field
13091305
* @returns Input template
13101306
*/
13111307
protected get inputTemplate(): TemplateResult {
1312-
return html`<div part="input-wrapper" @click="${this.onclickInput}">
1308+
return html`<div part="input-wrapper">
13131309
${this.renderInput()} ${this.selectionBadgeTemplate} ${this.clearButtonTemplate}
13141310
<div id="toggle-button" part="button button-toggle">
13151311
<ef-icon part="icon icon-toggle" icon="down"></ef-icon>

packages/elements/src/overlay/managers/close-manager.ts

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,10 @@ type OverlayClose = {
99
closeCallback: CloseCallback;
1010
};
1111

12+
const isFilterDialog = (elements: EventTarget) => {
13+
return elements instanceof HTMLElement && elements.tagName === 'FILTER-DIALOG';
14+
};
15+
1216
/**
1317
* Close manager ensures that the correct (or the most top) overlay
1418
* is closed on ESC and click events
@@ -84,12 +88,14 @@ export class CloseManager {
8488
const path = event.composedPath();
8589
const focusBoundary = overlay.focusBoundary || overlay;
8690
const isOutsideClick = !path.includes(focusBoundary);
91+
const isInPopup = path.find(isFilterDialog); // Ignore clicks inside filter-dialog of efx-grid
92+
const shouldClose = isOutsideClick && !isInPopup;
8793

88-
if (isOutsideClick && !overlay.noInteractionLock) {
94+
if (shouldClose && !overlay.noInteractionLock) {
8995
event.preventDefault();
9096
}
9197

92-
if (isOutsideClick && !overlay.noCancelOnOutsideClick) {
98+
if (shouldClose && !overlay.noCancelOnOutsideClick) {
9399
closeCallback();
94100
}
95101
};

packages/elements/src/text-field/index.ts

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -131,10 +131,6 @@ export class TextField extends FormFieldElement {
131131
protected override firstUpdated(changedProperties: PropertyValues): void {
132132
super.firstUpdated(changedProperties);
133133

134-
this.addEventListener('click', () => {
135-
this.focus();
136-
});
137-
138134
registerOverflowTooltip(
139135
this,
140136
() => this.inputValue,

0 commit comments

Comments
 (0)