This is an automated email from the ASF dual-hosted git repository.
pierrejeambrun pushed a commit to branch v3-2-test
in repository https://gitbox.apache.org/repos/asf/airflow.git
The following commit(s) were added to refs/heads/v3-2-test by this push:
new 010ba65edda [v3-2-test] open task group when navigating via group
name; preserve arrow toggl… (#64284) (#64919)
010ba65edda is described below
commit 010ba65eddaf09bd96a1e8b2046adcd52e8fad13
Author: github-actions[bot]
<41898282+github-actions[bot]@users.noreply.github.com>
AuthorDate: Thu Apr 9 14:48:16 2026 +0200
[v3-2-test] open task group when navigating via group name; preserve arrow
toggl… (#64284) (#64919)
* 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
* Update airflow-core/src/airflow/ui/src/layouts/Details/Grid/TaskNames.tsx
* Fixing static checks
* Update TaskNames.tsx
---------
(cherry picked from commit 11a0aa8a36d07acc73a13ba0495ffd29a1c9686f)
Co-authored-by: fat-catTW <[email protected]>
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={{