Skip to content
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: dashboard slideshow #3081

Open
wants to merge 81 commits into
base: master
Choose a base branch
from

Conversation

jenniferarnesen
Copy link
Collaborator

@jenniferarnesen jenniferarnesen commented Sep 6, 2024

Implements DHIS2-13038

Details about how it works:

  1. When entering the Slideshow/fullscreen, the parent div of the ItemGrid is put into browser fullscreen. That same div remains in fullscreen the entire time, while the dashboard items are displayed/hidden in turn using css opacity. Css opacity is used instead of display or visibility so that the items can first be resized to fullscreen while "invisible", and then be made visible.

  2. When first opening the slideshow, a flag (isPreSlideshow) is used to initially hide the item with opacity: 0 so that it can be resized and then appear fullscreen without the user seeing the resizing happen. This works ok, but I'm not sure it's worth the trouble

  3. Progressive loading. When the dashboard goes into fullscreen/slideshow, then progressive loading, instead of being based on proximity to the viewport, will load the next and previous items in the fullscreen display order.

TODO

  • progressive loading
  • check all item types
  • small screen view (no fullscreen in small screen view)
  • applied filters and active types
  • verify print views, especially tables
  • cypress tests
  • Tested on large displays
  • Disable nav buttons when there is only 1 item
  • "Filter applied" label
  • Offline should work
  • Hi-res screen - navigation bar is visibly resizing
  • Opening legend on chart, lose keyboard navigation

@dhis2-bot
Copy link
Contributor

dhis2-bot commented Sep 6, 2024

🚀 Deployed on https://pr-3081.dashboard.netlify.dhis2.org

@dhis2-bot dhis2-bot temporarily deployed to netlify September 6, 2024 09:58 Inactive
@dhis2-bot dhis2-bot temporarily deployed to netlify September 9, 2024 15:28 Inactive
@dhis2-bot dhis2-bot temporarily deployed to netlify October 8, 2024 14:01 Inactive
@dhis2-bot dhis2-bot temporarily deployed to netlify October 9, 2024 06:58 Inactive
@dhis2-bot dhis2-bot temporarily deployed to netlify October 31, 2024 14:46 Inactive
@dhis2-bot dhis2-bot temporarily deployed to netlify November 1, 2024 09:20 Inactive
@dhis2-bot dhis2-bot temporarily deployed to netlify November 5, 2024 08:46 Inactive
@dhis2-bot dhis2-bot temporarily deployed to netlify December 4, 2024 11:29 Inactive
@HendrikThePendric HendrikThePendric self-requested a review December 4, 2024 12:11
@dhis2-bot dhis2-bot temporarily deployed to netlify December 4, 2024 12:12 Inactive
Copy link
Contributor

@HendrikThePendric HendrikThePendric left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

After fixing the large-monitor-issue and changing to useMemo, this PR looks great. Approved 🎉

@dhis2-bot dhis2-bot temporarily deployed to netlify December 5, 2024 15:09 Inactive
@dhis2-bot dhis2-bot temporarily deployed to netlify December 6, 2024 08:43 Inactive
@dhis2-bot dhis2-bot temporarily deployed to netlify December 6, 2024 12:08 Inactive
@dhis2-bot dhis2-bot temporarily deployed to netlify December 6, 2024 14:19 Inactive
@dhis2-bot dhis2-bot temporarily deployed to netlify December 10, 2024 13:26 Inactive
@dhis2-bot dhis2-bot temporarily deployed to netlify December 11, 2024 15:18 Inactive
@dhis2-bot dhis2-bot temporarily deployed to netlify December 12, 2024 12:57 Inactive
@dhis2-bot dhis2-bot temporarily deployed to netlify December 12, 2024 16:30 Inactive
Copy link

sonarcloud bot commented Dec 13, 2024

Quality Gate Failed Quality Gate failed

Failed conditions
1 New issue
1 New Code Smells (required ≤ 0)

See analysis details on SonarQube Cloud

Catch issues before they fail your Quality Gate with our IDE extension SonarQube for IDE

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
e2e record Apply this label to a pull request to trigger recording of E2E tests on Cypress Cloud
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants