Skip to content

Conversation

@PurplePolyhedron
Copy link
Contributor

@PurplePolyhedron PurplePolyhedron commented Jul 26, 2024

fixes #152055

Disabling filtering in DropdownMenu at start and after a selection has been made, and re-enable it (if widget.enableFilter is true) after text input.
This way it doesn't hide all other options when there is an existing selection.

Note: currently this may crush due to issue #151878 . Which is not directly related to this PR

Pre-launch Checklist

If you need help, consider asking for advice on the #hackers-new channel on Discord.

@github-actions github-actions bot added framework flutter/packages/flutter repository. See also f: labels. f: material design flutter/packages/flutter/material repository. labels Jul 26, 2024
Copy link
Contributor

@dkwingsmt dkwingsmt left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The change LGTM. The only question I have is whether this is the behavior observed on other implementations, such as Android.

Copy link
Contributor

@bleroux bleroux left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks for your contribution.
If possible, can you answer this question?


await tester.tap(find.byType(DropdownMenu<TestMenu>));
await tester.pumpAndSettle();
// All entries should be avaliable, and two buttons should be found for each entry.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
// All entries should be avaliable, and two buttons should be found for each entry.
// All entries should be available, and two buttons should be found for each entry.

Small typo, and maybe add an empty line before this comment

Comment on lines 2479 to 2481
await tester.enterText(find
.byType(TextField)
.first, 'Menu 1');
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
await tester.enterText(find
.byType(TextField)
.first, 'Menu 1');
await tester.enterText(find.byType(TextField).first, 'Menu 1');

@PurplePolyhedron
Copy link
Contributor Author

PurplePolyhedron commented Aug 8, 2024

The change LGTM. The only question I have is whether this is the behavior observed on other implementations, such as Android.

I am not familiar with native android development, and I wasn't able to find android app that uses dropdown menu with initial entry and filter.

In the current version of DropdownMenu with filter enabled, _enableFilter is turned off temporarily after selecting an item, so then if you tap to open the menu again, all the item is shown. I believe an initial entry should behave the same way.

Copy link
Contributor

@bleroux bleroux left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM! Thanks for your contribution.

@Piinks Piinks added the autosubmit Merge PR when tree becomes green via auto submit App label Aug 14, 2024
@auto-submit auto-submit bot merged commit b5847d3 into flutter:master Aug 14, 2024
engine-flutter-autoroll added a commit to engine-flutter-autoroll/packages that referenced this pull request Aug 14, 2024
engine-flutter-autoroll added a commit to engine-flutter-autoroll/packages that referenced this pull request Aug 14, 2024
engine-flutter-autoroll added a commit to engine-flutter-autoroll/packages that referenced this pull request Aug 14, 2024
engine-flutter-autoroll added a commit to engine-flutter-autoroll/packages that referenced this pull request Aug 15, 2024
engine-flutter-autoroll added a commit to engine-flutter-autoroll/packages that referenced this pull request Aug 15, 2024
auto-submit bot pushed a commit to flutter/packages that referenced this pull request Aug 15, 2024
flutter/flutter@cc13cd1...99f00a1

2024-08-15 [email protected] Roll Flutter Engine from 76a1c64f4e63 to 971ddd9fe1bf (6 revisions) (flutter/flutter#153487)
2024-08-14 [email protected] Update tokens to 5.0.0 (flutter/flutter#153385)
2024-08-14 49699333+dependabot[bot]@users.noreply.github.com Bump github/codeql-action from 3.26.1 to 3.26.2 (flutter/flutter#153468)
2024-08-14 [email protected] Enable invalid_runtime_check_with_js_interop_types, use_truncating_division (flutter/flutter#153464)
2024-08-14 [email protected] Roll Flutter Engine from 9b8421662ec9 to 76a1c64f4e63 (1 revision) (flutter/flutter#153465)
2024-08-14 [email protected] Roll Flutter Engine from 328c4df8329f to 9b8421662ec9 (1 revision) (flutter/flutter#153463)
2024-08-14 [email protected] Lint sync (flutter/flutter#153453)
2024-08-14 [email protected] manual pub roll w/ gradle updates (flutter/flutter#153403)
2024-08-14 [email protected] Update docs to use new Android version in the engine (flutter/flutter#151601)
2024-08-14 [email protected] move some tool TESTOWNERS entries to andrew (flutter/flutter#153400)
2024-08-14 [email protected] Slider shows visual label of value on focus (flutter/flutter#152960)
2024-08-14 [email protected] Add `Row` and `Column` widgets specific `spacing` tests (flutter/flutter#153353)
2024-08-14 [email protected] Delay `DropdownMenu` filtering until text input (flutter/flutter#152368)
2024-08-14 [email protected] Update cherry pick issue template's PR field (flutter/flutter#153381)
2024-08-14 [email protected] Roll Flutter Engine from 5909666fdedb to 328c4df8329f (1 revision) (flutter/flutter#153436)
2024-08-14 [email protected] [web] Pass `--no-source-maps` instead of `--extra-compiler-option=--no-source-maps` to `dart compile wasm` (flutter/flutter#153417)
2024-08-14 [email protected] Manual roll Flutter Engine from 019f9e3f0744 to 5909666fdedb (12 revisions) (flutter/flutter#153413)
2024-08-14 [email protected] Move `@_debugOnly` documentation in `framework.dart` to be more visible to IDE. (flutter/flutter#153134)
2024-08-13 [email protected] Roll Flutter Engine from 4246f1536c5d to 019f9e3f0744 (2 revisions) (flutter/flutter#153394)
2024-08-13 [email protected] fix(flutter/a11y assessments): h1 missing a11y from each page on the web app (flutter/flutter#152198)
2024-08-13 49699333+dependabot[bot]@users.noreply.github.com Bump github/codeql-action from 3.26.0 to 3.26.1 (flutter/flutter#153395)
2024-08-13 [email protected] Roll Packages from d9a6de8 to e4f2247 (4 revisions) (flutter/flutter#153383)
2024-08-13 [email protected] Roll pub packages (flutter/flutter#153380)
2024-08-13 [email protected] Roll Flutter Engine from 73c3135cc3be to 4246f1536c5d (2 revisions) (flutter/flutter#153377)

If this roll has caused a breakage, revert this CL and stop the roller
using the controls here:
https://autoroll.skia.org/r/flutter-packages
Please CC [email protected],[email protected],[email protected] on the revert to ensure that a human
is aware of the problem.

To file a bug in Packages: https://github.com/flutter/flutter/issues/new/choose

To report a problem with the AutoRoller itself, please file a bug:
https://issues.skia.org/issues/new?component=1389291&template=1850622

Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md
DBowen33 pushed a commit to DBowen33/flutter that referenced this pull request Aug 16, 2024
fixes flutter#152055

Disabling filtering in `DropdownMenu` at start and after a selection has been made, and re-enable it (if `widget.enableFilter` is true) after text input.
This way it doesn't hide all other options when there is an existing selection.

Note: currently this may crush due to issue flutter#151878 . Which is not directly related to this PR
Buchimi pushed a commit to Buchimi/flutter that referenced this pull request Sep 2, 2024
fixes flutter#152055

Disabling filtering in `DropdownMenu` at start and after a selection has been made, and re-enable it (if `widget.enableFilter` is true) after text input.
This way it doesn't hide all other options when there is an existing selection.

Note: currently this may crush due to issue flutter#151878 . Which is not directly related to this PR
engine-flutter-autoroll added a commit to engine-flutter-autoroll/packages that referenced this pull request Dec 11, 2024
engine-flutter-autoroll added a commit to engine-flutter-autoroll/packages that referenced this pull request Dec 12, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

autosubmit Merge PR when tree becomes green via auto submit App f: material design flutter/packages/flutter/material repository. framework flutter/packages/flutter repository. See also f: labels.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

[DropdownMenu]: With enableFilter and initialSelection set as true, only the pre-selected option is available.

4 participants