-
Notifications
You must be signed in to change notification settings - Fork 14.4k
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(explore): make dnd controls clickable #16119
Conversation
76dd647
to
702bbf4
Compare
Codecov Report
@@ Coverage Diff @@
## master #16119 +/- ##
==========================================
- Coverage 76.71% 76.49% -0.22%
==========================================
Files 997 997
Lines 53248 53248
Branches 6779 6779
==========================================
- Hits 40849 40733 -116
- Misses 12169 12285 +116
Partials 230 230
Flags with carried forward coverage won't be shown. Click here to find out more.
Continue to review full report at Codecov.
|
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.
Minor first pass comments, will look more closely after I have the chance to test properly
...rset-frontend/src/explore/components/controls/DndColumnSelectControl/ColumnSelectPopover.tsx
Outdated
Show resolved
Hide resolved
...rset-frontend/src/explore/components/controls/DndColumnSelectControl/ColumnSelectPopover.tsx
Outdated
Show resolved
Hide resolved
...rset-frontend/src/explore/components/controls/DndColumnSelectControl/ColumnSelectPopover.tsx
Outdated
Show resolved
Hide resolved
...rset-frontend/src/explore/components/controls/DndColumnSelectControl/ColumnSelectPopover.tsx
Show resolved
Hide resolved
❤️ it as it's solid good work! as an OSS project, inclusiveness, flexibility and extensibility are always more important than chasing after perfect UX for a certain group of user regardless its size. :) I will help testing |
22152ce
to
702bbf4
Compare
702bbf4
to
ebe574d
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.
Code LGTM, tested to work properly and I really like the functionality vs how it was previously. Looking forward to getting this merged!
ebe574d
to
dc0514d
Compare
/testenv up FEATURE_ENABLE_EXPLORE_DRAG_AND_DROP=true |
@kgabryje Ephemeral environment spinning up at http://54.187.27.254:8080. Credentials are |
Seems like a good improvement to me 👍 I tested this a bit and didn't see any issues but I only tested with a couple of datasources so I can look around a bit more later. cc: @ktmud you also looked around at drag and drop, not sure if you have any thoughts about this change. |
Didn't have time to look at the code but this change is a big + from me! We might want to change the copy on the ghost button as well. E.g. "Click or drag a metric/column here to add" like used in SIP-62. |
f1cbd14
to
754bdc5
Compare
/testenv up FEATURE_ENABLE_EXPLORE_DRAG_AND_DROP=true FEATURE_ENABLE_DND_WITH_CLICK_UX=true |
@kgabryje Ephemeral environment spinning up at http://35.160.108.204:8080. Credentials are |
I would prefer "Click or drag a metric/column here" because:
|
It depends on which direction we want to guide user to be on. I prefer to keep it simple"Drop a metric/column here" as the "+" is a loud enough call to action for clicking. Also, recently we do identify some sever regressions in the control panel due to increasing complexity of the product by adding too many FF and having multiple environments. I can't emphasize enough that maintaining both and making sure both work well together and individually can be costly and messy. To whomever approve and support this hybrid solution, please do assess the code, and test this PR throughout, and consider the risk, the complexity for long term. @ktmud @villebro |
Maybe promote DnD before click: "Drop a column/metric here or click"? |
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.
Product sign-off. will do throughout testing next week behind FF
import { ColumnMeta } from '@superset-ui/chart-controls'; | ||
|
||
const StyledSelect = styled(Select)` | ||
.metric-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.
Is this styling something we'd anticipate reusing anywhere? If so, maybe it should be styled via a prop on the Select component itself.
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.
@kgabryje @rusackas This code is not using the new Select component. It's using the Ant Design directly. We shouldn't use the Ant Design component directly anymore because the behavior of the select is different, like sorting the selected options, pagination, and lazy loading. To customize the options of the new Select you can just pass the element in the label
prop of the values.
These PRs contain an example of customized options:
#16200
#16252
I don't think this style should be a prop of the Select component because it's something specific to the customized label. We have many different customized labels throughout the application as you can see in the PRs above.
</StyledSelect> | ||
</FormItem> | ||
</Tabs.TabPane> | ||
<Tabs.TabPane key="simple" tab={t('Simple')}> |
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.
SIMPLE
makes sense in the context of metrics because it's a "simple" way of configuring adhoc metrics. But for columns, there is nothing to configure so the "simplicity" of selecting a calculated column and an original column is the same.
I wonder whether we can just display a popover without tabs but render "Columns" and "Calculated columns" as options groups. Then add the two tabs "SIMPLE" and "Custom SQL" when we add support for adhoc calculated columns.
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.
Ping @michael-s-molina about proposal to add support for Option Groups to the Select component.
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.
Code LGTM. I added the ColumnSelectPopover
to our list of components that need to be migrated to the new Select
.
754bdc5
to
a91b025
Compare
Ephemeral environment shutdown and build artifacts deleted. |
🏷️ 2021.31 |
* Make ghost buttons clickable * Popover for column control * Make column dnd ghost button clickable * Prefill operator only if column is defined * Remove data-tests * lint fix * Hide new features behind a feature flag * Change ghost button texts * Remove caret for non clickable columns (cherry picked from commit 203c311)
* Make ghost buttons clickable * Popover for column control * Make column dnd ghost button clickable * Prefill operator only if column is defined * Remove data-tests * lint fix * Hide new features behind a feature flag * Change ghost button texts * Remove caret for non clickable columns (cherry picked from commit 203c311)
💯 I really appreciate that this is being added. |
* Make ghost buttons clickable * Popover for column control * Make column dnd ghost button clickable * Prefill operator only if column is defined * Remove data-tests * lint fix * Hide new features behind a feature flag * Change ghost button texts * Remove caret for non clickable columns
* Make ghost buttons clickable * Popover for column control * Make column dnd ghost button clickable * Prefill operator only if column is defined * Remove data-tests * lint fix * Hide new features behind a feature flag * Change ghost button texts * Remove caret for non clickable columns
SUMMARY
Changes:
BEFORE/AFTER SCREENSHOTS OR ANIMATED GIF
Screen.Recording.2021-08-06.at.17.49.02.mov
TESTING INSTRUCTIONS
ADDITIONAL INFORMATION
CC @junlincc @mistercrunch