-
-
Notifications
You must be signed in to change notification settings - Fork 312
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
fix(AutoComplete): do not show Items when set OnCustomFilter #5053
Conversation
Reviewer's Guide by SourceryThis pull request fixes a bug where AutoComplete items would still be displayed when a custom filter was set. The fix involves updating the logic for filtering items to consider whether a custom filter is set. If it is set, the items are filtered based on the custom filter. Otherwise, the items are filtered based on the search input. Additionally, the initialization of Sequence diagram for AutoComplete filtering behaviorsequenceDiagram
participant User
participant AC as AutoComplete
participant Filter as FilterLogic
User->>AC: Enter text
AC->>Filter: TriggerOnChange(val)
alt Has OnCustomFilter
Filter-->>AC: Use custom filter results
else No custom filter
alt Empty input
Filter-->>AC: Show all items
else Has input
alt IsLikeMatch
Filter-->>AC: Filter items containing value
else
Filter-->>AC: Filter items starting with value
end
end
end
AC-->>User: Display filtered items
Class diagram for AutoComplete component changesclassDiagram
class AutoComplete {
+List<string> Items
+List<string> FilterItems
+bool IsLikeMatch
+bool IgnoreCase
+Func<string, Task<IEnumerable<string>>> OnCustomFilter
+OnParametersSet()
+TriggerOnChange(string val)
}
note for AutoComplete "Modified FilterItems initialization
and filtering logic"
State diagram for AutoComplete filtering statesstateDiagram-v2
[*] --> Idle
Idle --> Filtering: User Input
Filtering --> CustomFiltering: OnCustomFilter Set
Filtering --> DefaultFiltering: No OnCustomFilter
DefaultFiltering --> EmptyInput: Input Empty
DefaultFiltering --> LikeMatch: Input Present & IsLikeMatch
DefaultFiltering --> StartsWith: Input Present & !IsLikeMatch
EmptyInput --> ShowAllItems
LikeMatch --> ShowFilteredItems
StartsWith --> ShowFilteredItems
CustomFiltering --> ShowCustomFilteredItems
ShowAllItems --> Idle
ShowFilteredItems --> Idle
ShowCustomFilteredItems --> Idle
File-Level Changes
Assessment against linked issues
Possibly linked issues
Tips and commandsInteracting with Sourcery
Customizing Your ExperienceAccess your dashboard to:
Getting Help
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Hey @ArgoZhang - I've reviewed your changes and they look great!
Here's what I looked at during the review
- 🟢 General issues: all looks good
- 🟢 Security: all looks good
- 🟢 Testing: all looks good
- 🟢 Complexity: all looks good
- 🟢 Documentation: all looks good
Help me be more useful! Please click 👍 or 👎 on each comment and I'll use the feedback to improve your reviews.
do not show Items when set OnCustomFilter
Summary of the changes (Less than 80 chars)
简单描述你更改了什么, 不超过80个字符;如果有关联 Issue 请在下方填写相关编号
Description
fixes #5052
Regression?
[If yes, specify the version the behavior has regressed from]
[是否影响老版本]
Risk
[Justify the selection above]
Verification
Packaging changes reviewed?
☑️ Self Check before Merge
Summary by Sourcery
Bug Fixes: