-
Notifications
You must be signed in to change notification settings - Fork 489
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!: Refactor Badge
Control to a Dataclass; create new Control.badge
property
#4077
Conversation
also fixed tooltip for Semantics
…onRailDestination
…avigationRailDestination
Reviewer's Guide by SourceryThis pull request refactors the Badge class from a Flet control to a simple Python dataclass. The badge property, available in most controls, now supports both strings and Badge objects. This change simplifies the Badge implementation and enhances its flexibility across the Flet framework. Class diagram for the refactored Badge classclassDiagram
class Badge {
+Optional~str~ text
+OffsetValue offset
+Optional~Alignment~ alignment
+Optional~str~ bgcolor
+Optional~bool~ label_visible
+OptionalNumber large_size
+Optional~PaddingValue~ padding
+OptionalNumber small_size
+Optional~str~ text_color
+Optional~TextStyle~ text_style
}
class BadgeValue {
+Optional~Union[str, Badge]~
}
File-Level Changes
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 @InesaFitsner - 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.
Badge
Control to a Dataclass; create new Control.badge
property
* main: (31 commits) Migrate `colors` and `icons` variables to Enums (flet-dev#4180) feat: expose more properties in Controls (flet-dev#4105) feat!: Refactor `Badge` Control to a Dataclass; create new `Control.badge` property (flet-dev#4077) fix: clicking on `CupertinoContextMenuAction` doesn't close context menu (flet-dev#3948) fix dropdown `max_menu_height` (flet-dev#3974) Fix undefined name "Future" --> asyncio.Future (flet-dev#4230) wrap ListTile in material widget (flet-dev#4206) Update CONTRIBUTING.md (flet-dev#4208) TextField: suffix_icon, prefix_icon and icon can be Control or str (flet-dev#4173) feat!: enhance `Map` control (flet-dev#3994) skip running flutter doctor on windows if no_rich_output is True (flet-dev#4108) add --pyinstaller-build-args to pack cli command (flet-dev#4187) fix/feat: make `SearchBar`'s view height adjustable; add new properties (flet-dev#4039) fix: prevent button `style` from being modified in `before_update()` (flet-dev#4181) fix: disabling filled buttons is not visually respected (flet-dev#4090) when `label` is set, use `MainAxisSize.min` for the `Row` (flet-dev#3998) fix: `NavigationBarDestination.disabled` has no visual effect (flet-dev#4073) fix autofill in CupertinoTextField (flet-dev#4103) Linechart: jsonDecode tooltip before displaying (flet-dev#4069) fixed bgcolor, color and elevation (flet-dev#4126) ...
Description
The Badge class is no more a Flet control and is from now on a simple Python dataclass. The badge property (available in almost all controls) now supports both strings and Badge objects.
Test Code
Previously, worked this way:
The new approach:
Type of change
Checklist:
Screenshots (if applicable):
Additional details
Summary by Sourcery
Refactor the Badge class into a Python dataclass and update the badge property to support both strings and Badge objects across multiple controls. This change simplifies the Badge implementation and enhances its flexibility in usage.
New Features:
Enhancements:
Documentation: