This is an automated email from the ASF dual-hosted git repository.
bbovenzi pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/airflow.git
The following commit(s) were added to refs/heads/main by this push:
new 11a0aa8a36d open task group when navigating via group name; preserve
arrow toggl… (#64284)
11a0aa8a36d is described below
commit 11a0aa8a36d07acc73a13ba0495ffd29a1c9686f
Author: fat-catTW <[email protected]>
AuthorDate: Thu Apr 9 03:56:10 2026 +0800
open task group when navigating via group name; preserve arrow toggl…
(#64284)
* open task group when navigating via group name; preserve arrow toggle
behavior
* Remove redundant comment.
* Update airflow-core/src/airflow/ui/src/layouts/Details/Grid/TaskNames.tsx
Co-authored-by: Pierre Jeambrun <[email protected]>
* Update airflow-core/src/airflow/ui/src/layouts/Details/Grid/TaskNames.tsx
Co-authored-by: Pierre Jeambrun <[email protected]>
* Fixing static checks
* Update TaskNames.tsx
---------
Co-authored-by: Jarek Potiuk <[email protected]>
Co-authored-by: Pierre Jeambrun <[email protected]>
---
.../airflow/ui/src/layouts/Details/Grid/TaskNames.tsx | 19 ++++++++++++++++++-
1 file changed, 18 insertions(+), 1 deletion(-)
diff --git a/airflow-core/src/airflow/ui/src/layouts/Details/Grid/TaskNames.tsx
b/airflow-core/src/airflow/ui/src/layouts/Details/Grid/TaskNames.tsx
index bd76a6663be..510d8be7143 100644
--- a/airflow-core/src/airflow/ui/src/layouts/Details/Grid/TaskNames.tsx
+++ b/airflow-core/src/airflow/ui/src/layouts/Details/Grid/TaskNames.tsx
@@ -67,6 +67,22 @@ export const TaskNames = ({ nodes, onRowClick, virtualItems
}: Props) => {
}
};
+ const onClick = (event: MouseEvent<HTMLSpanElement>) => {
+ const groupNodeId = event.currentTarget.dataset.groupId;
+
+ if (groupNodeId === undefined || groupNodeId === "") {
+ return;
+ }
+
+ const id = groupNodeId;
+ const isViewingSameGroup = typeof groupId === "string" && groupId === id;
+
+ if (isViewingSameGroup) {
+ toggleGroupId(id);
+ }
+ onRowClick?.();
+ };
+
const search = searchParams.toString();
// If virtualItems is provided, use virtualization; otherwise render all
items
@@ -109,7 +125,8 @@ export const TaskNames = ({ nodes, onRowClick, virtualItems
}: Props) => {
{node.isGroup ? (
<Link asChild data-testid={node.id} display="block" width="100%">
<RouterLink
- onClick={onRowClick}
+ data-group-id={node.id}
+ onClick={onClick}
replace
style={{ outline: "none" }}
to={{