-
-
Notifications
You must be signed in to change notification settings - Fork 363
feat(ImageCropper): add Preview parameter #6177
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
Conversation
Reviewer's GuideThe PR adds real-time preview support to the ImageCropper component by introducing a Preview parameter in the options and updating the ImageCroppers demo to leverage this feature, while also cleaning up markup and refactoring sample variables. Sequence Diagram for Real-time Crop Preview UpdatesequenceDiagram
actor User
participant ImageCropperComponent
participant PreviewDOMElements
User->>ImageCropperComponent: Adjusts crop selection (e.g., drag, resize)
activate ImageCropperComponent
ImageCropperComponent->>ImageCropperComponent: Processes crop data change
Note over ImageCropperComponent: Uses Options.Preview CSS selector
ImageCropperComponent->>PreviewDOMElements: Update preview image/style
activate PreviewDOMElements
PreviewDOMElements-->>User: Display updated real-time preview
deactivate PreviewDOMElements
deactivate ImageCropperComponent
Class Diagram for ImageCropperOption UpdateclassDiagram
class ImageCropperOption {
+AspectRatio: float
+IsRound: bool
+Preview: string #40;new#41;
#40;...other existing properties...#41;
}
File-Level Changes
Assessment against linked issues
Possibly linked issues
Tips and commandsInteracting with Sourcery
Customizing Your ExperienceAccess your dashboard to:
Getting Help
|
Codecov ReportAll modified and coverable lines are covered by tests ✅
Additional details and impacted files@@ Coverage Diff @@
## main #6177 +/- ##
=========================================
Coverage 100.00% 100.00%
=========================================
Files 704 704
Lines 31099 31099
Branches 4394 4394
=========================================
Hits 31099 31099
Flags with carried forward coverage won't be shown. Click here to find out more. ☔ View full report in Codecov by Sentry. 🚀 New features to boost your workflow:
|
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 - here's some feedback:
- Consider renaming
_roundOptions1and_roundOptions2to more descriptive names (e.g._rectPreviewOptionsand_roundPreviewOptions) to clarify their intended use. - The demo repeats nearly identical preview
<div>s; extracting that into a loop or a small reusable component would reduce duplication and make future size/style changes easier.
Here's what I looked at during the review
- 🟡 General issues: 1 issue found
- 🟢 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.
| private string? _base64String2; | ||
|
|
||
| private readonly ImageCropperOption _roundOptions = new() { IsRound = true, Radius = "50%", AspectRatio = 3/4f }; | ||
| private readonly ImageCropperOption _roundOptions1 = new() { AspectRatio = 16 / 9f, Preview = ".bb-cropper-preview1" }; |
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.
suggestion: Rename _roundOptions1 to better reflect its use
Since this object is for the standard cropper, a name like _normalOptions would improve clarity.
Suggested implementation:
private readonly ImageCropperOption _normalOptions = new() { AspectRatio = 16 / 9f, Preview = ".bb-cropper-preview1" };If there are any usages of _roundOptions1 elsewhere in this file (or in the corresponding .razor file), they should also be renamed to _normalOptions for consistency.
Link issues
fixes #6176
Summary By Copilot
Regression?
Risk
Verification
Packaging changes reviewed?
☑️ Self Check before Merge
Summary by Sourcery
Introduce a Preview option in the ImageCropper component and enhance the sample page to showcase dynamic preview panels for both rectangular and round cropping.
New Features:
Enhancements: