Skip to content

Commit a3015b4

Browse files
committed
issue 224 suggestion popup horizontal overflow fixed
1 parent ae149b3 commit a3015b4

File tree

1 file changed

+12
-5
lines changed

1 file changed

+12
-5
lines changed

lib/src/wip/autocomplete/popup.dart

Lines changed: 12 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -60,17 +60,17 @@ class PopupState extends State<Popup> {
6060
@override
6161
Widget build(BuildContext context) {
6262
final verticalFlipRequired = _isVerticalFlipRequired();
63-
final bool horizontalOverflow =
64-
widget.normalOffset.dx + Sizes.autocompletePopupMaxWidth >
65-
widget.editingWindowSize.width;
63+
final bool isHorizontalOverflowed = _isHorizontallyOverflowed();
6664
final double leftOffsetLimit =
6765
// TODO(nausharipov): find where 100 comes from
68-
widget.editingWindowSize.width - Sizes.autocompletePopupMaxWidth - 100;
66+
widget.editingWindowSize.width -
67+
Sizes.autocompletePopupMaxWidth +
68+
(widget.editorOffset?.dx ?? 0) - 100;
6969

7070
return PageStorage(
7171
bucket: pageStorageBucket,
7272
child: Positioned(
73-
left: horizontalOverflow ? leftOffsetLimit : widget.normalOffset.dx,
73+
left: isHorizontalOverflowed ? leftOffsetLimit : widget.normalOffset.dx,
7474
top: verticalFlipRequired
7575
? widget.flippedOffset.dy
7676
: widget.normalOffset.dy,
@@ -120,6 +120,13 @@ class PopupState extends State<Popup> {
120120
return isPopupOverflowingHeight && isPopupShorterThanWindow;
121121
}
122122

123+
bool _isHorizontallyOverflowed() {
124+
return widget.normalOffset.dx -
125+
(widget.editorOffset?.dx ?? 0) +
126+
Sizes.autocompletePopupMaxWidth >
127+
widget.editingWindowSize.width;
128+
}
129+
123130
Widget _buildListItem(int index) {
124131
return Material(
125132
color: Colors.grey.withOpacity(0.1),

0 commit comments

Comments
 (0)