flyteorg / flyte

Scalable and flexible workflow orchestration platform that seamlessly unifies data, ML and analytics stacks.
https://flyte.org
Apache License 2.0
5.67k stars 640 forks source link

[UI Feature] Update FLYTE_NAVIGATION behavior #3773

Open jsonporter opened 1 year ago

jsonporter commented 1 year ago

Motivation: Why do you think this is important?

Users have requested two changes to how the navigation handles FLYTE_NAVIGATION.items[]. Currently, when a user exports FLYTE_NAVIGATION and provides values for custom navigation using items[] we render a dropdown with those links.

Example from documentation:

{
    color:"white",          // optional - default NavBar text color, if not provided uses Flyte colors
    background:"black",     // optional - default NavBar background color, if not provided uses Flyte colors
    console:"FlyteConsole"  // optional - name of the default navigation, if not provided uses "Console"
    items:[                 // required - if no dropdown needed provide an empty array
        {title:"Remote", url:"https://remote.site/"},
        {title:"Dashboard", url:"+/projects/flytesnacks/executions?domain=development&duration=all"},
        {title:"Information", url:"/information"}
    ]
}
  1. Add the ability to have dropdown links open in a new tab (current behavior redirects/adds to history) via some optional property (eg, items[{title:"foo", url:"bar", target:"_blank"}])
  2. Do not include BASE_URL as a default in the dropdown or at least gives users the choice where it appears in the list. This could work a couple of ways (eg, we could just rely on users clicking the logo to return to console from some external app or we could even add some sort of logic when creating that list to ensure that console is present but users could choose which position in the list console appears.

Goal: What should the final outcome look like, ideally?

  1. Users can choose to have certain links in the dropdown open in new tabs.
  2. Users can choose where console appears in that list or if it appears at all.

Propose: Link/Inline OR Additional context

No response

Are you sure this issue hasn't been raised already?

Have you read the Code of Conduct?

jsonporter commented 1 year ago

@tsheiner - do you have any thoughts concerns with removing the link back to 'console' in the dropdown? Thinking we could either just rely on the logo (which directs to the same value as the link console) or maybe we just add logic to ensure that its included in the list but if the user adds it manually we respect the index/location for where it appears?

tsheiner commented 1 year ago

I'm not clear what 'console' link does?

If I select to follow any of these custom links I go to whatever url is specified without our console header, right?

I don't understand the case where I am not in Console but can still access the dropdown with Console link???

swarup-stripe commented 1 year ago

Thanks for reporting this, Jason! This captures our use-case and would be very useful features to have.

github-actions[bot] commented 7 months ago

Hello 👋, this issue has been inactive for over 9 months. To help maintain a clean and focused backlog, we'll be marking this issue as stale and will engage on it to decide if it is still applicable. Thank you for your contribution and understanding! 🙏