Skip to content

feat(BootstrapInputGroupLabel): add ChildContent parameter#5905

Merged
ArgoZhang merged 2 commits intomainfrom
refactor-label
Apr 27, 2025
Merged

feat(BootstrapInputGroupLabel): add ChildContent parameter#5905
ArgoZhang merged 2 commits intomainfrom
refactor-label

Conversation

@ArgoZhang
Copy link
Copy Markdown
Member

@ArgoZhang ArgoZhang commented Apr 27, 2025

Link issues

fixes #5904

Summary By Copilot

This pull request introduces support for custom child content in the BootstrapInputGroupLabel component, allowing more flexibility in rendering its content. The key changes include updates to the Razor file, the component's parameters, and corresponding unit tests.

Component Enhancements:

Testing Enhancements:

  • test/UnitTest/Components/InputTest.cs: Enhanced the GroupLabel_Ok test to verify the behavior of the ChildContent parameter. The test ensures that when ChildContent is set, it is rendered instead of DisplayText.

Regression?

  • Yes
  • No

Risk

  • High
  • Medium
  • Low

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

Allow custom content within the BootstrapInputGroupLabel component.

New Features:

  • Add a ChildContent parameter to BootstrapInputGroupLabel to enable rendering custom content instead of the default DisplayText.
  • Update the component's rendering logic to prioritize ChildContent over DisplayText when provided.

Tests:

  • Update unit tests to verify the rendering behavior when ChildContent is provided.

@ArgoZhang ArgoZhang requested a review from Copilot April 27, 2025 00:44
@bb-auto bb-auto Bot added the enhancement New feature or request label Apr 27, 2025
@sourcery-ai
Copy link
Copy Markdown
Contributor

sourcery-ai Bot commented Apr 27, 2025

Reviewer's Guide by Sourcery

This pull request adds a new ChildContent parameter to the BootstrapInputGroupLabel component, allowing users to provide custom content instead of just displaying text. The changes involve modifying the component's Razor template to conditionally render the child content and updating the unit tests to verify the new functionality.

No diagrams generated as the changes look simple and do not need a visual representation.

File-Level Changes

Change Details Files
Add the ChildContent parameter to the component.
  • Declare the ChildContent property as a Parameter of type RenderFragment?.
  • Add a documentation comment for the ChildContent parameter.
src/BootstrapBlazor/Components/Input/BootstrapInputGroupLabel.razor.cs
Update the component's Razor template to render ChildContent.
  • Add conditional rendering logic in the div element to check if ChildContent is provided.
  • Render ChildContent if it is not null, otherwise render DisplayText.
  • Add conditional rendering logic in the label element to check if ChildContent is provided.
  • Render ChildContent if it is not null, otherwise render DisplayText.
src/BootstrapBlazor/Components/Input/BootstrapInputGroupLabel.razor
Update unit tests to cover the new ChildContent parameter.
  • Add a test case to set the ChildContent parameter.
  • Assert that the custom child content is rendered when ChildContent is set.
  • Assert that DisplayText is not rendered when ChildContent is set.
test/UnitTest/Components/InputTest.cs

Assessment against linked issues

Issue Objective Addressed Explanation
#5904 Add a ChildContent parameter to the BootstrapInputGroupLabel component to allow custom content to be rendered within the label.

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. You can also reply to a
    review comment with @sourcery-ai issue to create an issue from it.
  • Generate a pull request title: Write @sourcery-ai anywhere in the pull
    request title to generate a title at any time. You can also comment
    @sourcery-ai title on the pull request to (re-)generate the 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 exactly where you
    want it. You can also comment @sourcery-ai summary on the pull request to
    (re-)generate the summary at any time.
  • Generate reviewer's guide: Comment @sourcery-ai guide on the pull
    request to (re-)generate the reviewer's guide at any time.
  • Resolve all Sourcery comments: Comment @sourcery-ai resolve on the
    pull request to resolve all Sourcery comments. Useful if you've already
    addressed all the comments and don't want to see them anymore.
  • Dismiss all Sourcery reviews: Comment @sourcery-ai dismiss on the pull
    request to dismiss all existing Sourcery reviews. Especially useful if you
    want to start fresh with a new review - don't forget to comment
    @sourcery-ai review to trigger a new review!

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.5.0 milestone Apr 27, 2025
Copy link
Copy Markdown
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

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

Pull Request Overview

This pull request enhances the BootstrapInputGroupLabel component by supporting a custom ChildContent parameter, allowing developers to render custom content instead of the default DisplayText.

  • Updated the component's markup (.razor) for conditional rendering based on ChildContent.
  • Added a new RenderFragment? ChildContent parameter in the component code-behind (.razor.cs).
  • Enhanced the unit tests to verify that ChildContent renders correctly when provided.

Reviewed Changes

Copilot reviewed 3 out of 3 changed files in this pull request and generated no comments.

File Description
test/UnitTest/Components/InputTest.cs Updated tests to check the rendering of ChildContent versus the fallback DisplayText.
src/BootstrapBlazor/Components/Input/BootstrapInputGroupLabel.razor.cs Introduced the ChildContent parameter with proper XML documentation.
src/BootstrapBlazor/Components/Input/BootstrapInputGroupLabel.razor Updated markup to conditionally render ChildContent or DisplayText for both div and label elements.

@ArgoZhang ArgoZhang merged commit df71110 into main Apr 27, 2025
3 of 4 checks passed
@ArgoZhang ArgoZhang deleted the refactor-label branch April 27, 2025 00:44
Copy link
Copy Markdown
Contributor

@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 - here's some feedback:

Overall Comments:

  • Consider consolidating the conditional rendering logic for ChildContent vs DisplayText to avoid duplication between the div and label elements.
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

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.

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(BootstrapInputGroupLabel): add ChildContent parameter

2 participants