Skip to content
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

feat(Search): add IsTriggerSearchByInput parameter #5003

Merged
merged 13 commits into from
Dec 31, 2024
Merged

Conversation

ArgoZhang
Copy link
Collaborator

@ArgoZhang ArgoZhang commented Dec 31, 2024

add IsTriggerSearchByInput parameter

Summary of the changes (Less than 80 chars)

简单描述你更改了什么, 不超过80个字符;如果有关联 Issue 请在下方填写相关编号

Description

fixes #5002

Regression?

  • Yes
  • No

[If yes, specify the version the behavior has regressed from]

[是否影响老版本]

Risk

  • High
  • Medium
  • Low

[Justify the selection above]

Verification

  • Manual (required)
  • Automated

Packaging changes reviewed?

  • Yes
  • No
  • N/A

☑️ Self Check before Merge

⚠️ Please check all items below before review. ⚠️

  • Doc is updated/provided or not needed
  • Demo is updated/provided or not needed
  • Merge the latest code from the main branch

Summary by Sourcery

Rename the IsOnInputTrigger parameter to IsTriggerSearchByInput. Add ShowDropdownListOnFocusString parameter and remove the ShowNoDataTip parameter.

New Features:

  • Add an option to trigger search on input change.

Tests:

  • Update tests to reflect the parameter name change.

@bb-auto bb-auto bot added the enhancement New feature or request label Dec 31, 2024
Copy link

sourcery-ai bot commented Dec 31, 2024

Reviewer's Guide by Sourcery

This PR renames the IsOnInputTrigger parameter to IsTriggerSearchByInput and introduces a new parameter called ShowDropdownListOnFocus. It also modifies the search logic to trigger search based on the IsTriggerSearchByInput value and updates the UI to display search results accordingly. The ShowNoDataTip parameter is removed from the PopoverCompleteBase class and added to the AutoComplete and AutoFill components.

Sequence diagram for search trigger behavior

sequenceDiagram
    participant User
    participant Search
    participant Backend

    alt IsTriggerSearchByInput is true
        User->>Search: Types input
        Search->>Backend: Trigger search immediately
        Backend-->>Search: Return search results
        Search-->>User: Display results
    else IsTriggerSearchByInput is false
        User->>Search: Types input
        User->>Search: Clicks search button
        Search->>Backend: Trigger search
        Backend-->>Search: Return search results
        Search-->>User: Display results
    end
Loading

File-Level Changes

Change Details Files
Renamed the IsOnInputTrigger parameter to IsTriggerSearchByInput.
  • Renamed the IsOnInputTrigger parameter to IsTriggerSearchByInput in the Search component.
  • Updated the search logic to use the IsTriggerSearchByInput parameter.
  • Updated the UI to display search results based on the IsTriggerSearchByInput parameter value.
  • Updated unit tests to reflect the parameter name change.
  • Updated the usages of the parameter in the sample code and other components.
src/BootstrapBlazor/Components/Search/Search.razor.cs
src/BootstrapBlazor.Server/Components/Samples/Searches.razor.cs
test/UnitTest/Components/SearchTest.cs
src/BootstrapBlazor/Components/Search/Search.razor
src/BootstrapBlazor.Server/Components/Pages/Coms.razor
Introduced a new parameter called ShowDropdownListOnFocus.
  • Added the ShowDropdownListOnFocus parameter to control whether the dropdown list should be shown when the search input receives focus.
  • Updated the UI to show or hide the dropdown list based on the ShowDropdownListOnFocus parameter value.
src/BootstrapBlazor/Components/Search/Search.razor
src/BootstrapBlazor/Components/AutoComplete/AutoComplete.razor.cs
Removed the ShowNoDataTip parameter from the PopoverCompleteBase class and added it to the AutoComplete and AutoFill components.
  • Removed the ShowNoDataTip parameter from the PopoverCompleteBase class.
  • Added the ShowNoDataTip parameter to the AutoComplete and AutoFill components.
  • Updated the UI to show or hide the "No Data" tip based on the ShowNoDataTip parameter value in the AutoComplete and AutoFill components.
  • Updated the Search component to use the NoDataTip property directly.
src/BootstrapBlazor/Components/AutoComplete/PopoverCompleteBase.cs
src/BootstrapBlazor/Components/AutoComplete/AutoComplete.razor.cs
src/BootstrapBlazor/Components/AutoFill/AutoFill.razor.cs
src/BootstrapBlazor/Components/Search/Search.razor
Updated the search result display with a custom item template.
  • Added a custom item template to display search results with an avatar, name, address, and a circle.
  • Added CSS styles for the search result display.
src/BootstrapBlazor.Server/Components/Samples/Searches.razor
src/BootstrapBlazor.Server/Components/Samples/Searches.razor.css
Improved the search functionality and user experience.
  • Added OnClickItem method to handle the click event on search result items.
  • Updated the TriggerOnChange method to trigger search based on the IsTriggerSearchByInput parameter value.
  • Updated the JavaScript code to invoke the TriggerOnChange method without the useInput parameter.
  • Added logic to clear the search input after search when IsAutoClearAfterSearch is true.
src/BootstrapBlazor/Components/Search/Search.razor.cs
src/BootstrapBlazor/Components/Search/Search.razor
src/BootstrapBlazor/Components/AutoComplete/AutoComplete.razor.js

Assessment against linked issues

Issue Objective Addressed Explanation
#5002 Add IsTriggerSearchByInput parameter to the Search component

Possibly linked issues


Tips and commands

Interacting with Sourcery

  • Trigger a new review: Comment @sourcery-ai review on the pull request.
  • Continue discussions: Reply directly to Sourcery's review comments.
  • Generate a GitHub issue from a review comment: Ask Sourcery to create an
    issue from a review comment by replying to it.
  • Generate a pull request title: Write @sourcery-ai anywhere in the pull
    request title to generate a title at any time.
  • Generate a pull request summary: Write @sourcery-ai summary anywhere in
    the pull request body to generate a PR summary at any time. You can also use
    this command to specify where the summary should be inserted.

Customizing Your Experience

Access your dashboard to:

  • Enable or disable review features such as the Sourcery-generated pull request
    summary, the reviewer's guide, and others.
  • Change the review language.
  • Add, remove or edit custom review instructions.
  • Adjust other review settings.

Getting Help

@bb-auto bb-auto bot added this to the v9.0.0 milestone Dec 31, 2024
sourcery-ai[bot]
sourcery-ai bot previously approved these changes Dec 31, 2024
Copy link

@sourcery-ai sourcery-ai bot left a 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: 1 issue found
  • 🟢 Complexity: all looks good
  • 🟢 Documentation: all looks good

Sourcery is free for open source - if you like our reviews please consider sharing them ✨
Help me be more useful! Please click 👍 or 👎 on each comment and I'll use the feedback to improve your reviews.

test/UnitTest/Components/SearchTest.cs Show resolved Hide resolved
Copy link

codecov bot commented Dec 31, 2024

Codecov Report

All modified and coverable lines are covered by tests ✅

Project coverage is 100.00%. Comparing base (17d5dba) to head (da6aca8).
Report is 1 commits behind head on main.

Additional details and impacted files
@@            Coverage Diff            @@
##              main     #5003   +/-   ##
=========================================
  Coverage   100.00%   100.00%           
=========================================
  Files          630       630           
  Lines        27917     27921    +4     
  Branches      3993      3996    +3     
=========================================
+ Hits         27917     27921    +4     

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

Co-Authored-By: Zeus <[email protected]>
Co-Authored-By: Alex chow <[email protected]>
@ArgoZhang ArgoZhang merged commit 9e6b9ae into main Dec 31, 2024
5 checks passed
@ArgoZhang ArgoZhang deleted the refactor-search branch December 31, 2024 03:57
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

Successfully merging this pull request may close these issues.

feat(Search): add IsTriggerSearchByInput parameter
1 participant