-
Notifications
You must be signed in to change notification settings - Fork 843
ThreatsDataViews: Improve responsiveness #40670
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
ThreatsDataViews: Improve responsiveness #40670
Conversation
|
Are you an Automattician? Please test your changes on all WordPress.com environments to help mitigate accidental explosions.
Interested in more tips and information?
|
|
Thank you for your PR! When contributing to Jetpack, we have a few suggestions that can help us test and review your patch:
This comment will be updated as you work on your PR and make changes. If you think that some of those checks are not needed for your PR, please explain why you think so. Thanks for cooperation 🤖 The e2e test report can be found here. Please note that it can take a few minutes after the e2e tests checks are complete for the report to be available. 🔴 Action required: Please add missing changelog entries for the following projects: Use the Jetpack CLI tool to generate changelog entries by running the following command: Follow this PR Review Process:
Still unsure? Reach out in #jetpack-developers for guidance! Protect plugin:
If you have any questions about the release process, please ask in the #jetpack-releases channel on Slack. |
2a3f2fe to
aac1879
Compare
aa2eac6 to
898ae2c
Compare
5fde0ac to
71e3005
Compare
| showMedia: false, | ||
| }; | ||
|
|
||
| return isSm ? { list: listLayout } : { table: tableLayout, list: listLayout }; |
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 it necessary to prevent mobile users from accessing the table layout like this? It would be nice if we could default the view to list on mobile, but still keep it accessible.
Then we would only need to worry about setting the list vs table layout on first render:
const [view, setView] = useState( isSm ? listView : tableView )Assuming isSm works out of the box without a re-render. Otherwise we could use the window directly.
Anyways, all IMO.
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 it necessary to prevent mobile users from accessing the table layout like this? It would be nice if we could default the view to list on mobile, but still keep it accessible.
Ah my apologies, I must have misunderstood - I was under the impression we wanted to force list view but defaulting and allowing users to switch to table view makes sense to me, will adjust 👍🏻
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.
Assuming isSm works out of the box without a re-render. Otherwise we could use the window directly.
@nateweller Out of curiosity, ideally how would you expect this function? Using just useBreakpointMatch might be fine, it does require a re-render but maybe thats not an issue. For instance, if I am in table view in full screen and shrink my screen to the trigger point, would I really want the UI to update to list view (and vice-versa). Maybe its okay just have the default on re-render which strictly apply to mobile users. Happy to look in to the window approach, just thought I'd run it by you first. Here's the first take - 2f5e469
Also noting that with the addition of the extra settings toggle in the header, things are now a little squished:

What do you think if we adding alternate styling/content for mobile for the ToggleGroupControl? Perhaps:

Noting that we may need to take the window approach if we go that route.
060637b to
9e6adfb
Compare
0fad602 to
cc1e0e9
Compare
nateweller
left a comment
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.
Made some minor adjustments, LGTM 👍
|
@nateweller The core styling override that was removed in 2494779 accounts for this issue: Perhaps there is a better approach that avoids needing the override? |
@dkmyta I've been strongly advised to avoid overriding the core components as much as possible, to prevent styles from breaking on a version update where the layout/classes/styles may change in the core component. Especially with DataViews being a less mature component, things can change often. I think the alternative approach would be to apply custom styles to our own component that we are inserting into the header there in the first place. For example, reducing the status toggle's size on mobile by shortening the labels or using icons. |
* Init project branch * Init project branch * Improve component responsiveness * Init project branch * Fix merge conflict * Simplify, and only default to list view in mobile * Fix spacing * Minor adjustments to initialization of defaultLayouts, remove memo * Remove style overrides on core component * Reapply min-width for ScanToggleGroupControl --------- Co-authored-by: Nate Weller <[email protected]>
* Init project branch * Init project branch * Improve component responsiveness * Init project branch * Fix merge conflict * Simplify, and only default to list view in mobile * Fix spacing * Minor adjustments to initialization of defaultLayouts, remove memo * Remove style overrides on core component * Reapply min-width for ScanToggleGroupControl --------- Co-authored-by: Nate Weller <[email protected]>
* Init project branch * Init project branch * Improve component responsiveness * Init project branch * Fix merge conflict * Simplify, and only default to list view in mobile * Fix spacing * Minor adjustments to initialization of defaultLayouts, remove memo * Remove style overrides on core component * Reapply min-width for ScanToggleGroupControl --------- Co-authored-by: Nate Weller <[email protected]>
* Init project branch * Init project branch * Improve component responsiveness * Init project branch * Fix merge conflict * Simplify, and only default to list view in mobile * Fix spacing * Minor adjustments to initialization of defaultLayouts, remove memo * Remove style overrides on core component * Reapply min-width for ScanToggleGroupControl --------- Co-authored-by: Nate Weller <[email protected]>
* Init project branch * Init project branch * Improve component responsiveness * Init project branch * Fix merge conflict * Simplify, and only default to list view in mobile * Fix spacing * Minor adjustments to initialization of defaultLayouts, remove memo * Remove style overrides on core component * Reapply min-width for ScanToggleGroupControl --------- Co-authored-by: Nate Weller <[email protected]>
* Init project branch * Init project branch * Improve component responsiveness * Init project branch * Fix merge conflict * Simplify, and only default to list view in mobile * Fix spacing * Minor adjustments to initialization of defaultLayouts, remove memo * Remove style overrides on core component * Reapply min-width for ScanToggleGroupControl --------- Co-authored-by: Nate Weller <[email protected]>
* Init project branch * Init project branch * Improve component responsiveness * Init project branch * Fix merge conflict * Simplify, and only default to list view in mobile * Fix spacing * Minor adjustments to initialization of defaultLayouts, remove memo * Remove style overrides on core component * Reapply min-width for ScanToggleGroupControl --------- Co-authored-by: Nate Weller <[email protected]>
* Init project branch * Init project branch * Improve component responsiveness * Init project branch * Fix merge conflict * Simplify, and only default to list view in mobile * Fix spacing * Minor adjustments to initialization of defaultLayouts, remove memo * Remove style overrides on core component * Reapply min-width for ScanToggleGroupControl --------- Co-authored-by: Nate Weller <[email protected]>
* Init project branch * Init project branch * Improve component responsiveness * Init project branch * Fix merge conflict * Simplify, and only default to list view in mobile * Fix spacing * Minor adjustments to initialization of defaultLayouts, remove memo * Remove style overrides on core component * Reapply min-width for ScanToggleGroupControl --------- Co-authored-by: Nate Weller <[email protected]>
* Init project branch * Init project branch * Improve component responsiveness * Init project branch * Fix merge conflict * Simplify, and only default to list view in mobile * Fix spacing * Minor adjustments to initialization of defaultLayouts, remove memo * Remove style overrides on core component * Reapply min-width for ScanToggleGroupControl --------- Co-authored-by: Nate Weller <[email protected]>
* Init project branch * Init project branch * Improve component responsiveness * Init project branch * Fix merge conflict * Simplify, and only default to list view in mobile * Fix spacing * Minor adjustments to initialization of defaultLayouts, remove memo * Remove style overrides on core component * Reapply min-width for ScanToggleGroupControl --------- Co-authored-by: Nate Weller <[email protected]>
* Init project branch * Init project branch * Improve component responsiveness * Init project branch * Fix merge conflict * Simplify, and only default to list view in mobile * Fix spacing * Minor adjustments to initialization of defaultLayouts, remove memo * Remove style overrides on core component * Reapply min-width for ScanToggleGroupControl --------- Co-authored-by: Nate Weller <[email protected]>
Protect: Add Go to Cloud and Scan now button to Protect primary header (#40057) Protect: Update Scan and History headers (#40058) Protect: de-emphasize cloud link by using link variant (#40211) Protect: Add ShieldIcon Component (#40402) Protect: Integrate ThreatsDataViews Component (#40076) Components: Add ScanReport (#40419) Protect: Refactor AdminSectionHero (#40516) Protect: Update Scan History extension types (#40548) Protect: Add Home page (#40317) Protect: Integrate ScanReport (#40420) ScanReport: Fix defaultLayout (#40603) Update onboarding popover placement (#40550) Protect Meets Core: Home Page Scan Report Data Adjustments (#40616) Scan Report: Align Status Icon (#40617) Apply max width to hero content (#40618) Protect: Hide Scan Report When No Data (#40619) Protect: Hide Threats Report When No Data (#40620) Protect: Update Threat Icons (#40621) Protect: fix home page stat card spacing (#40623) ScanReport: Disable hiding relevant fields (#40602) Use error variant (#40832) Protect: Restore HistoryAdminSectionHero (#40551) Protect: Separate scan results and history DataViews (#40845) ThreatsDataViews: Improve responsiveness (#40670) ThreatsDataViews: ThreatModal integration (#40202) Protect Meets Core: Fix "0" rendered by conditional render chain (#40882)
Protect: Add Go to Cloud and Scan now button to Protect primary header (#40057) Protect: Update Scan and History headers (#40058) Protect: de-emphasize cloud link by using link variant (#40211) Protect: Add ShieldIcon Component (#40402) Protect: Integrate ThreatsDataViews Component (#40076) Components: Add ScanReport (#40419) Protect: Refactor AdminSectionHero (#40516) Protect: Update Scan History extension types (#40548) Protect: Add Home page (#40317) Protect: Integrate ScanReport (#40420) ScanReport: Fix defaultLayout (#40603) Update onboarding popover placement (#40550) Protect Meets Core: Home Page Scan Report Data Adjustments (#40616) Scan Report: Align Status Icon (#40617) Apply max width to hero content (#40618) Protect: Hide Scan Report When No Data (#40619) Protect: Hide Threats Report When No Data (#40620) Protect: Update Threat Icons (#40621) Protect: fix home page stat card spacing (#40623) ScanReport: Disable hiding relevant fields (#40602) Use error variant (#40832) Protect: Restore HistoryAdminSectionHero (#40551) Protect: Separate scan results and history DataViews (#40845) ThreatsDataViews: Improve responsiveness (#40670) ThreatsDataViews: ThreatModal integration (#40202) Protect Meets Core: Fix "0" rendered by conditional render chain (#40882)
Protect: Add Go to Cloud and Scan now button to Protect primary header (#40057) Protect: Update Scan and History headers (#40058) Protect: de-emphasize cloud link by using link variant (#40211) Protect: Add ShieldIcon Component (#40402) Protect: Integrate ThreatsDataViews Component (#40076) Components: Add ScanReport (#40419) Protect: Refactor AdminSectionHero (#40516) Protect: Update Scan History extension types (#40548) Protect: Add Home page (#40317) Protect: Integrate ScanReport (#40420) ScanReport: Fix defaultLayout (#40603) Update onboarding popover placement (#40550) Protect Meets Core: Home Page Scan Report Data Adjustments (#40616) Scan Report: Align Status Icon (#40617) Apply max width to hero content (#40618) Protect: Hide Scan Report When No Data (#40619) Protect: Hide Threats Report When No Data (#40620) Protect: Update Threat Icons (#40621) Protect: fix home page stat card spacing (#40623) ScanReport: Disable hiding relevant fields (#40602) Use error variant (#40832) Protect: Restore HistoryAdminSectionHero (#40551) Protect: Separate scan results and history DataViews (#40845) ThreatsDataViews: Improve responsiveness (#40670) ThreatsDataViews: ThreatModal integration (#40202) Protect Meets Core: Fix "0" rendered by conditional render chain (#40882)
Protect: Add Go to Cloud and Scan now button to Protect primary header (#40057) Protect: Update Scan and History headers (#40058) Protect: de-emphasize cloud link by using link variant (#40211) Protect: Add ShieldIcon Component (#40402) Protect: Integrate ThreatsDataViews Component (#40076) Components: Add ScanReport (#40419) Protect: Refactor AdminSectionHero (#40516) Protect: Update Scan History extension types (#40548) Protect: Add Home page (#40317) Protect: Integrate ScanReport (#40420) ScanReport: Fix defaultLayout (#40603) Update onboarding popover placement (#40550) Protect Meets Core: Home Page Scan Report Data Adjustments (#40616) Scan Report: Align Status Icon (#40617) Apply max width to hero content (#40618) Protect: Hide Scan Report When No Data (#40619) Protect: Hide Threats Report When No Data (#40620) Protect: Update Threat Icons (#40621) Protect: fix home page stat card spacing (#40623) ScanReport: Disable hiding relevant fields (#40602) Use error variant (#40832) Protect: Restore HistoryAdminSectionHero (#40551) Protect: Separate scan results and history DataViews (#40845) ThreatsDataViews: Improve responsiveness (#40670) ThreatsDataViews: ThreatModal integration (#40202) Protect Meets Core: Fix "0" rendered by conditional render chain (#40882)
Protect: Add Go to Cloud and Scan now button to Protect primary header (#40057) Protect: Update Scan and History headers (#40058) Protect: de-emphasize cloud link by using link variant (#40211) Protect: Add ShieldIcon Component (#40402) Protect: Integrate ThreatsDataViews Component (#40076) Components: Add ScanReport (#40419) Protect: Refactor AdminSectionHero (#40516) Protect: Update Scan History extension types (#40548) Protect: Add Home page (#40317) Protect: Integrate ScanReport (#40420) ScanReport: Fix defaultLayout (#40603) Update onboarding popover placement (#40550) Protect Meets Core: Home Page Scan Report Data Adjustments (#40616) Scan Report: Align Status Icon (#40617) Apply max width to hero content (#40618) Protect: Hide Scan Report When No Data (#40619) Protect: Hide Threats Report When No Data (#40620) Protect: Update Threat Icons (#40621) Protect: fix home page stat card spacing (#40623) ScanReport: Disable hiding relevant fields (#40602) Use error variant (#40832) Protect: Restore HistoryAdminSectionHero (#40551) Protect: Separate scan results and history DataViews (#40845) ThreatsDataViews: Improve responsiveness (#40670) ThreatsDataViews: ThreatModal integration (#40202) Protect Meets Core: Fix "0" rendered by conditional render chain (#40882)
Protect: Add Go to Cloud and Scan now button to Protect primary header (#40057) Protect: Update Scan and History headers (#40058) Protect: de-emphasize cloud link by using link variant (#40211) Protect: Add ShieldIcon Component (#40402) Protect: Integrate ThreatsDataViews Component (#40076) Components: Add ScanReport (#40419) Protect: Refactor AdminSectionHero (#40516) Protect: Update Scan History extension types (#40548) Protect: Add Home page (#40317) Protect: Integrate ScanReport (#40420) ScanReport: Fix defaultLayout (#40603) Update onboarding popover placement (#40550) Protect Meets Core: Home Page Scan Report Data Adjustments (#40616) Scan Report: Align Status Icon (#40617) Apply max width to hero content (#40618) Protect: Hide Scan Report When No Data (#40619) Protect: Hide Threats Report When No Data (#40620) Protect: Update Threat Icons (#40621) Protect: fix home page stat card spacing (#40623) ScanReport: Disable hiding relevant fields (#40602) Use error variant (#40832) Protect: Restore HistoryAdminSectionHero (#40551) Protect: Separate scan results and history DataViews (#40845) ThreatsDataViews: Improve responsiveness (#40670) ThreatsDataViews: ThreatModal integration (#40202) Protect Meets Core: Fix "0" rendered by conditional render chain (#40882)
Protect: Add Go to Cloud and Scan now button to Protect primary header (#40057) Protect: Update Scan and History headers (#40058) Protect: de-emphasize cloud link by using link variant (#40211) Protect: Add ShieldIcon Component (#40402) Protect: Integrate ThreatsDataViews Component (#40076) Components: Add ScanReport (#40419) Protect: Refactor AdminSectionHero (#40516) Protect: Update Scan History extension types (#40548) Protect: Add Home page (#40317) Protect: Integrate ScanReport (#40420) ScanReport: Fix defaultLayout (#40603) Update onboarding popover placement (#40550) Protect Meets Core: Home Page Scan Report Data Adjustments (#40616) Scan Report: Align Status Icon (#40617) Apply max width to hero content (#40618) Protect: Hide Scan Report When No Data (#40619) Protect: Hide Threats Report When No Data (#40620) Protect: Update Threat Icons (#40621) Protect: fix home page stat card spacing (#40623) ScanReport: Disable hiding relevant fields (#40602) Use error variant (#40832) Protect: Restore HistoryAdminSectionHero (#40551) Protect: Separate scan results and history DataViews (#40845) ThreatsDataViews: Improve responsiveness (#40670) ThreatsDataViews: ThreatModal integration (#40202) Protect Meets Core: Fix "0" rendered by conditional render chain (#40882)


Description
Ensure the
ThreatsDataViewscomponent appropriately handles various view ports.Other information:
Jetpack product discussion
Does this pull request change what data or activity we track or use?
Testing instructions:
ThreatsDataViewsstorybooks and ensure no regressions are introducedScanReportandScanResultsDataViewsin varying screen sizes and ensure the search, filter and toggle actions and the table all respond correctly and the content is appropriately spaced out, or scrollableScanResultsDataViewscomponent in mobile (max-width: 599px), ensure that the component defaults to list view.Screenshots
ScanResultsDataViews:

ScanReport:
