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(charts): align label vertically and add donutHeight/Width defaults #2193
Conversation
PatternFly-React preview: https://2193-pr-patternfly-react-patternfly.surge.sh |
9933996
to
503351d
Compare
Codecov Report
@@ Coverage Diff @@
## master #2193 +/- ##
==========================================
- Coverage 80.65% 80.45% -0.21%
==========================================
Files 660 660
Lines 8322 8343 +21
Branches 628 641 +13
==========================================
Hits 6712 6712
- Misses 1310 1331 +21
Partials 300 300
Continue to review full report at Codecov.
|
…donutWidth Fixes patternfly#2191 Fixes patternfly#2192
503351d
to
fd24990
Compare
f413607
to
8390c82
Compare
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.
LGTM
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.
LGTM
This PR is for donut utilization changes requested by @TheRealJon for use in OpenShift.
Fixes #2191
Fixes #2192
Fixes #2194
I was able to fix #2191 by setting capHeight (using a rem value) in order to help center the label vertically. I only use this when both title and subtitle are available -- not necessary for a single label. I've added a property so it may be overridden.
I was able to address #2192 by changing the default donutHeight and donutWidth properties to use the min. of the given SVG height or width. If height & width are not provided, the default theme property would be used.
With these changes, the user can just set the height and width properties. Similar to other charts, we'll set the donut size to match that.
This also works with the threshold chart. I've modified the dynamic chart to be 28px smaller than the static (threshold) chart by default. This is similar to innerRadius, where we set a default regardless of the chart size.
This probably covers most use cases where the width is larger to accommodate either a left or right aligned legend. Of course, it also works without any legends at all. Thus, allowing the user to more easily create different size charts.
For edge cases, the user can still override the donutHeight and donutWidth properties. There an example of this (below), where the overall SVG height and width are larger than donutHeight and donutWidth. In this particular example, the horizontal legend is wider than the chart's donutWidth, while the SVG is sized appropriately to accommodate both the chart and legend.