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: lazy load dashboards into the navigation menu [DHIS2-10624] #3226

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

Conversation

jenniferarnesen
Copy link
Collaborator

@jenniferarnesen jenniferarnesen commented Feb 21, 2025

Implements DHIS2-10624


Key features

To improve dashboard app performance, use paging to limit the number of dashboards loaded into the navigation menu

Description

The navigation menu now has "infinite" scrolling similar to the data item selector in DV and LL. Scrolling to the bottom triggers a fetch of the next page of results. Searching works the same way, sending a request with the matching dashboards, paged. Searching is debounced to 350ms.

When the app initially loads, instead of fetching all the dashboards like before, it now fetches a single dashboard to answer the question of whether there are any dashboards.


TODO

  • Tests added (Cypress and/or Jest)

@dhis2-bot
Copy link
Contributor

dhis2-bot commented Feb 21, 2025

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

@dhis2-bot dhis2-bot temporarily deployed to netlify February 21, 2025 12:20 Inactive
@dhis2-bot dhis2-bot temporarily deployed to netlify February 21, 2025 13:51 Inactive
@dhis2-bot dhis2-bot temporarily deployed to netlify February 21, 2025 14:53 Inactive
@dhis2-bot dhis2-bot temporarily deployed to netlify February 21, 2025 16:05 Inactive
@dhis2-bot dhis2-bot temporarily deployed to netlify February 24, 2025 15:06 Inactive
@dhis2-bot dhis2-bot temporarily deployed to netlify February 26, 2025 09:48 Inactive
@dhis2-bot dhis2-bot temporarily deployed to netlify February 26, 2025 10:19 Inactive
@dhis2-bot dhis2-bot temporarily deployed to netlify February 26, 2025 10:41 Inactive
@dhis2-bot dhis2-bot temporarily deployed to netlify February 26, 2025 12:57 Inactive
@dhis2-bot dhis2-bot temporarily deployed to netlify February 26, 2025 13:19 Inactive
@dhis2-bot dhis2-bot temporarily deployed to netlify March 4, 2025 16:32 Inactive
@dhis2-bot dhis2-bot temporarily deployed to netlify March 4, 2025 17:00 Inactive
@dhis2-bot dhis2-bot temporarily deployed to netlify March 5, 2025 13:13 Inactive
@dhis2-bot dhis2-bot temporarily deployed to netlify March 5, 2025 14:15 Inactive
@jenniferarnesen jenniferarnesen changed the title feat: limit dashboard preloading feat: lazy load dashboards into the navigation menu Mar 5, 2025
@jenniferarnesen jenniferarnesen changed the title feat: lazy load dashboards into the navigation menu feat: lazy load dashboards into the navigation menu [DHIS2-10624] Mar 5, 2025
props.fetchDashboards()
props.setShowDescription()

// store the headerbar height for controlbar height calculations
Copy link
Collaborator Author

Choose a reason for hiding this comment

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

This headerbar height is no longer relevant as of the new dashboard design

Copy link

sonarqubecloud bot commented Mar 5, 2025

Quality Gate Failed Quality Gate failed

Failed conditions
1 New issue
1 New Code Smells (required ≤ 0)
1 New Critical Issues (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
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants