Skip to content

AIP-68 | Merge iframe_views and appbuilder_menu_items #51855

@bbovenzi

Description

@bbovenzi

Description

iframe_views and appbuilder_menu_items are very similar. We should merge them together to make an external_views plugin option instead.

Use case/motivation

Usability-wise, the only difference between an iframe and a menu-item is where the webpage is rendered inside the UI or in a different tab.

  • Deprecate appbuilder_menu_item especially since FAB isn't even in the UI anymore
  • Change iframe_views to external_views
  • Update external_views with the following:
    name: string;
    src: string; // -> change to `href` for compatibility
    icon?: string | null;
    dark_mode_icon?: string | null // add this for a better UI
    url_route?: string | null; // if route is specified, then it will be an iframe, otherwise it will be a link
    category?: string | null // only for nav to add to a menu. "user", "admin", "browse", "docs" will put it in the existing menu
    destination?: "nav" | "dag" | "dag_run" | "task" | "task_instance" | null;
    [key: string]: unknown | string;
    

One more UX issue we should document that, for the sake of a clean UI, if there are 3 or more top-level nav plugins, then we will move them to a single "Plugins" menu and any existing menus will become submenus.

Related issues

No response

Are you willing to submit a PR?

  • Yes I am willing to submit a PR!

Code of Conduct

Metadata

Metadata

Labels

AIP-68Extended Plugin Interface for React Viewsarea:UIRelated to UI/UX. For Frontend Developers.kind:featureFeature Requests

Projects

No projects

Relationships

None yet

Development

No branches or pull requests

Issue actions