Skip to content

OCPBUGS-53200: Fix highlighting nav items with nested routes #14735

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

Open
wants to merge 1 commit into
base: main
Choose a base branch
from

Conversation

aptmac
Copy link

@aptmac aptmac commented Feb 7, 2025

Hi! I've been working on porting over an application to be a dynamic plugin, and ran into a nav highlighting issue where if a nested route existed for another nav item then both of them would be highlighted. At the moment I have some code in our plugin that corrects the highlighting, but it would be nicer if this solution was baked into the console.

For example, our application (cryostat) has a landing page which displays dashboards. In our original web app we want this to be the entry point, so it uses the route "/cryostat". In our nav we have a "Dashboard" item, that routes to "/cryostat", alongside all the other nav items that route to other pages.

When working on the console plugin we found that if we visited any other page, lets say "/cryostat/about" for example, then both nav items for "Dashboard" and "About" would be highlighted. This is because the current logic tries to match the href and location fragments, and returns true for both nav items because of our nested route.

I posted a question about this on Slack and was pointed at the code here, so here's a change that will make the highlighting logic match the scopeless href to scopeless location in order to avoid nested routes from being highlighted.

Before

before

After

after

@openshift-ci openshift-ci bot requested review from kyoto and Mylanos February 7, 2025 17:35
@openshift-ci openshift-ci bot added the component/core Related to console core functionality label Feb 7, 2025
Copy link
Contributor

openshift-ci bot commented Feb 7, 2025

Hi @aptmac. Thanks for your PR.

I'm waiting for a openshift member to verify that this patch is reasonable to test. If it is, they should reply with /ok-to-test on its own line. Until that is done, I will not automatically test new commits in this PR, but the usual testing commands by org members will still work. Regular contributors should join the org to skip this step.

Once the patch is verified, the new status will be reflected by the ok-to-test label.

I understand the commands that are listed here.

Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes-sigs/prow repository.

@openshift-ci openshift-ci bot added the needs-ok-to-test Indicates a PR that requires an org member to verify it is safe to test. label Feb 7, 2025
Copy link
Member

@logonoff logonoff left a comment

Choose a reason for hiding this comment

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

/ok-to-test

Nice! Do you mind opening an OCPBUGS, with Management Console in the component/s field, so this can be backported?

https://issues.redhat.com/projects/OCPBUGS/issues

@openshift-ci openshift-ci bot added ok-to-test Indicates a non-member PR verified by an org member that is safe to test. and removed needs-ok-to-test Indicates a PR that requires an org member to verify it is safe to test. labels Mar 14, 2025
Copy link
Contributor

openshift-ci bot commented Mar 15, 2025

@aptmac: The following test failed, say /retest to rerun all failed tests or /retest-required to rerun all mandatory failed tests:

Test name Commit Details Required Rerun command
ci/prow/okd-scos-e2e-aws-ovn 7835b95 link false /test okd-scos-e2e-aws-ovn

Full PR test history. Your PR dashboard.

Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes-sigs/prow repository. I understand the commands that are listed here.

@aptmac
Copy link
Author

aptmac commented Mar 17, 2025

/ok-to-test

Nice! Do you mind opening an OCPBUGS, with Management Console in the component/s field, so this can be backported?

https://issues.redhat.com/projects/OCPBUGS/issues

Sure! I've opened: https://issues.redhat.com/browse/OCPBUGS-53200

@logonoff
Copy link
Member

/retitle OCPBUGS-53200: Fix highlighting nav items with nested routes

@openshift-ci openshift-ci bot changed the title Fix highlighting nav items with nested routes OCPBUGS-53200: Fix highlighting nav items with nested routes Mar 17, 2025
@openshift-ci-robot openshift-ci-robot added jira/severity-low Referenced Jira bug's severity is low for the branch this PR is targeting. jira/valid-reference Indicates that this PR references a valid Jira ticket of any type. jira/invalid-bug Indicates that a referenced Jira bug is invalid for the branch this PR is targeting. labels Mar 17, 2025
@openshift-ci-robot
Copy link
Contributor

@aptmac: This pull request references Jira Issue OCPBUGS-53200, which is invalid:

  • expected the bug to target the "4.19.0" version, but no target version was set

Comment /jira refresh to re-evaluate validity if changes to the Jira bug are made, or edit the title of this pull request to link to a different bug.

The bug has been updated to refer to the pull request using the external bug tracker.

In response to this:

Hi! I've been working on porting over an application to be a dynamic plugin, and ran into a nav highlighting issue where if a nested route existed for another nav item then both of them would be highlighted. At the moment I have some code in our plugin that corrects the highlighting, but it would be nicer if this solution was baked into the console.

For example, our application (cryostat) has a landing page which displays dashboards. In our original web app we want this to be the entry point, so it uses the route "/cryostat". In our nav we have a "Dashboard" item, that routes to "/cryostat", alongside all the other nav items that route to other pages.

When working on the console plugin we found that if we visited any other page, lets say "/cryostat/about" for example, then both nav items for "Dashboard" and "About" would be highlighted. This is because the current logic tries to match the href and location fragments, and returns true for both nav items because of our nested route.

I posted a question about this on Slack and was pointed at the code here, so here's a change that will make the highlighting logic match the scopeless href to scopeless location in order to avoid nested routes from being highlighted.

Before

before

After

after

Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the openshift-eng/jira-lifecycle-plugin repository.

@logonoff
Copy link
Member

/jira refresh
/lgtm

/cc @jhadvig

@openshift-ci openshift-ci bot requested a review from jhadvig March 17, 2025 15:19
@openshift-ci-robot openshift-ci-robot added jira/valid-bug Indicates that a referenced Jira bug is valid for the branch this PR is targeting. and removed jira/invalid-bug Indicates that a referenced Jira bug is invalid for the branch this PR is targeting. labels Mar 17, 2025
@openshift-ci-robot
Copy link
Contributor

@logonoff: This pull request references Jira Issue OCPBUGS-53200, which is valid. The bug has been moved to the POST state.

3 validation(s) were run on this bug
  • bug is open, matching expected state (open)
  • bug target version (4.19.0) matches configured target version for branch (4.19.0)
  • bug is in the state New, which is one of the valid states (NEW, ASSIGNED, POST)

Requesting review from QA contact:
/cc @yapei

In response to this:

/jira refresh
/lgtm

/cc @jhadvig

Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the openshift-eng/jira-lifecycle-plugin repository.

@openshift-ci openshift-ci bot added the lgtm Indicates that a PR is ready to be merged. label Mar 17, 2025
Copy link
Contributor

openshift-ci bot commented Mar 17, 2025

[APPROVALNOTIFIER] This PR is NOT APPROVED

This pull-request has been approved by: aptmac, logonoff
Once this PR has been reviewed and has the lgtm label, please assign vikram-raj for approval. For more information see the Code Review Process.

The full list of commands accepted by this bot can be found here.

Needs approval from an approver in each of these files:

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment

@openshift-ci openshift-ci bot requested a review from yapei March 17, 2025 15:22
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
component/core Related to console core functionality jira/severity-low Referenced Jira bug's severity is low for the branch this PR is targeting. jira/valid-bug Indicates that a referenced Jira bug is valid for the branch this PR is targeting. jira/valid-reference Indicates that this PR references a valid Jira ticket of any type. lgtm Indicates that a PR is ready to be merged. ok-to-test Indicates a non-member PR verified by an org member that is safe to test.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants