Skip to content

Commit 2f37b39

Browse files
fix shifting dropdown panel
1 parent 102e27b commit 2f37b39

File tree

2 files changed

+10
-7
lines changed

2 files changed

+10
-7
lines changed

projects/klippa/ngx-enhancy-forms/package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "@klippa/ngx-enhancy-forms",
3-
"version": "14.6.0",
3+
"version": "14.6.1",
44
"publishConfig": {
55
"access": "public"
66
},

projects/klippa/ngx-enhancy-forms/src/lib/elements/select/select.component.ts

Lines changed: 9 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -151,15 +151,18 @@ export class SelectComponent extends ValueAccessorBase<string | string[]> implem
151151
dropdownPanel.style.width = `${Math.max(this.elRef.nativeElement.clientWidth, maxWidth + 40, dropdownPanel.getBoundingClientRect().width)}px`;
152152
}
153153

154-
let current = this.elRef.nativeElement;
155-
while (current.parentElement && !this.isLimitingContainer(current)) {
156-
current = current.parentElement;
154+
let limitingParentContainer = this.elRef.nativeElement;
155+
while (limitingParentContainer.parentElement && !this.isLimitingContainer(limitingParentContainer)) {
156+
limitingParentContainer = limitingParentContainer.parentElement;
157157
}
158158

159159
if (dropdownPanel) {
160-
const spaceLeft = (current.clientWidth + current.getBoundingClientRect().left) - (dropdownPanel.clientWidth + dropdownPanel.getBoundingClientRect().left) - 20;
161-
if (spaceLeft < 0) {
162-
dropdownPanel.style.left = `${spaceLeft}px`;
160+
const spaceInParent = limitingParentContainer.clientWidth;
161+
const spaceLeftOfElRef = this.elRef?.nativeElement.getBoundingClientRect().left - limitingParentContainer.getBoundingClientRect().left;
162+
const spaceRightOfElRef = spaceInParent - spaceLeftOfElRef;
163+
const shiftToLeft = dropdownPanel?.clientWidth - spaceRightOfElRef + 20;
164+
if (shiftToLeft > 0) {
165+
dropdownPanel.style.left = `-${shiftToLeft}px`;
163166
}
164167
}
165168
});

0 commit comments

Comments
 (0)