diff --git a/services/api-server/src/api_server/html5.py b/services/api-server/src/api_server/html5.py index 8307c25..54daba1 100644 --- a/services/api-server/src/api_server/html5.py +++ b/services/api-server/src/api_server/html5.py @@ -515,7 +515,7 @@ def render_html5_object_context( {escape(str(name))} {escape(str(getattr(obj, "kind", "object")))} - {_object_action_links(project_id, str(name), getattr(obj, "lineage_id", ""), modules)} + {_object_action_links(project_id, str(name), getattr(obj, "lineage_id", ""), modules, normalized_mode)}
{_metric("Attrs", len(attributes))} {_metric("Tables", len(sections))} @@ -1541,7 +1541,13 @@ def _named_node_item(label: str, node: object) -> str: """ -def _object_action_links(project_id: str, object_name: str, lineage_id: object, modules: Iterable[object]) -> str: +def _object_action_links( + project_id: str, + object_name: str, + lineage_id: object, + modules: Iterable[object], + active_mode: str, +) -> str: quoted_project = quote(project_id) quoted_object = quote(object_name, safe="") lineage = str(lineage_id or "") @@ -1565,6 +1571,9 @@ def _object_action_links(project_id: str, object_name: str, lineage_id: object, if lineage else "" ) + def active_attrs(mode: str) -> str: + return ' aria-current="page" data-html5-object-action-active="true"' if mode == active_mode else "" + return f"""