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
Chart Component Fixes/Improvements. Adds Tooltip to Provide Context on Component Input Types #13538
Conversation
c2bd82d
to
53553d8
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.
This is a fantastic piece of work Gerard! The UX improvements to charts make such a huge difference and I genuinely want to see your context menus everywhere in Budibase 🚀 They are a brilliant bit of design and incredibly intuitive!
Some minor comments in the PR and some bugs/notes outlined here:
Bug
custom color theme palette not loading
This seems to be an issue on all chart types
Bug
- QR not compatible for Label/Data column
- The value of a QR code will always resolve to a string
- In many cases, the text could be appropriate for both string or number like fields.
Note
Different layout for Pie chart? Is this intentional?Prod has a larger diagram with a scrollable legend on the rightNew UX has a small diagram with a static legend at the top.
Note
popover color
Nested Props in formblock--spectrum-global-color-gray-100
Context popover background is currently set to--spectrum-global-color-gray-75
Note
- I'm not sure the bullet points are required in the primary hover. Purely an opinion, in no way a blocker.
packages/builder/src/components/design/settings/controls/Explanation/lines/Column.svelte
Show resolved
Hide resolved
@deanhannigan Thanks a bunch for the thorough review, I've addressed or responded to everything, if you could give this another looks when you get a chance I'd appreciate it 🙏 |
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.
Just one minor note for the custom palette issue and one change to the Explanation
background colour and this is good to go 👍
@deanhannigan Had changed the colors of the modal before I think, but there was a redundant double declaration of the background colour in two different nested components, it's definitely |
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! Great work Gerard!
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.
Huge amount of work here! The amount of components added for all the explanation stuff is insane.
No major issues at all, just NABs. I agree with Dean in principle about casing (just because the DOM syntax is a certain way doesn't we can't make it more readable in our own code) but again that's very much NAB.
So I'm happy to merge away as is 👍
Great to make the charts more stable.
@@ -199,6 +201,8 @@ | |||
aria-selected="true" | |||
tabindex="0" | |||
on:click={() => onSelectOption(getOptionValue(option, idx))} | |||
on:mouseenter={e => onOptionMouseenter(e, option)} | |||
on:mouseleave={e => onOptionMouseleave(e, option)} |
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.
NAB: would be nice to dispatch custom optionenter
and optionleave
events here, which can be just proxied on up the component chain rather than having to have a bunch of prop drilling with NOPs but it's not a big deal - works the same.
@@ -283,10 +283,23 @@ | |||
const dependsOnKey = setting.dependsOn.setting || setting.dependsOn | |||
const dependsOnValue = setting.dependsOn.value | |||
const realDependentValue = instance[dependsOnKey] | |||
|
|||
const sectionDependsOnKey = | |||
setting.sectionDependsOn?.setting || setting.sectionDependsOn |
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.
I see what you're doing with this (I remember the awkwardness before of trying to define the chart settings in a way that the "depends on" stuff worked with only a single key) but to be honest this would motivate me to rewrite dependsOn to just support an array of keys. We could still do what you're doing below and dynamically enrich the setting dependsOn keys with any keys from the section itself.
We can handle that separately though - this PR is big enough already!
fcfdf9b
to
04cf17c
Compare
Description
General Changes
dependsOn
field to check if they're owndependsOn
validation should be ran.Chart Changes
datetime
labels now display a human readable date instead of a UNIX timestamp or raw ISO 8601 string.Horizontal
mode now works for histograms and bar charts with date labels.datetime
fields passed as values to charts are now converted to unix time integers, which seems potentially useful. They were previously handled by directly running "parseFloat" on them, only parsing the year of the iso string as a number, which didn't seem very useful.Explanation Tooltip
Feature branch env
Feature Branch Link