diff --git a/airflow-core/src/airflow/ui/src/pages/Dag/Dag.tsx b/airflow-core/src/airflow/ui/src/pages/Dag/Dag.tsx
index 15fa137bc623c..d5b192110a828 100644
--- a/airflow-core/src/airflow/ui/src/pages/Dag/Dag.tsx
+++ b/airflow-core/src/airflow/ui/src/pages/Dag/Dag.tsx
@@ -44,19 +44,6 @@ export const Dag = () => {
// Get external views with dag destination
const externalTabs = usePluginTabs("dag");
- const tabs = [
- { icon: , label: translate("tabs.overview"), value: "" },
- { icon: , label: translate("tabs.runs"), value: "runs" },
- { icon: , label: translate("tabs.tasks"), value: "tasks" },
- { icon: , label: translate("tabs.calendar"), value: "calendar" },
- { icon: , label: translate("tabs.requiredActions"), value: "required_actions" },
- { icon: , label: translate("tabs.backfills"), value: "backfills" },
- { icon: , label: translate("tabs.auditLog"), value: "events" },
- { icon: , label: translate("tabs.code"), value: "code" },
- { icon: , label: translate("tabs.details"), value: "details" },
- ...externalTabs,
- ];
-
const refetchInterval = useAutoRefresh({ dagId });
const [hasPendingRuns, setHasPendingRuns] = useState(false);
@@ -106,6 +93,19 @@ export const Dag = () => {
},
);
+ const tabs = [
+ { icon: , label: translate("tabs.overview"), value: "" },
+ { icon: , label: translate("tabs.runs"), value: "runs" },
+ { icon: , label: translate("tabs.tasks"), value: "tasks" },
+ { icon: , label: translate("tabs.calendar"), value: "calendar" },
+ { icon: , label: translate("tabs.requiredActions"), value: "required_actions" },
+ { icon: , label: translate("tabs.backfills"), value: "backfills" },
+ { icon: , label: translate("tabs.auditLog"), value: "events" },
+ { icon: , label: translate("tabs.code"), value: "code" },
+ { icon: , label: translate("tabs.details"), value: "details" },
+ ...externalTabs,
+ ];
+
const { tabs: processedTabs } = useRequiredActionTabs({ dagId }, tabs, {
refetchInterval:
(dag?.active_runs_count ?? 0) > 0 || (latestRun && isStatePending(latestRun.state))
diff --git a/airflow-core/src/airflow/ui/src/pages/DagRuns.tsx b/airflow-core/src/airflow/ui/src/pages/DagRuns.tsx
index 99186d6102ee1..2f9cddd966acf 100644
--- a/airflow-core/src/airflow/ui/src/pages/DagRuns.tsx
+++ b/airflow-core/src/airflow/ui/src/pages/DagRuns.tsx
@@ -20,9 +20,9 @@ import { Flex, HStack, Link, Text } from "@chakra-ui/react";
import type { ColumnDef } from "@tanstack/react-table";
import type { TFunction } from "i18next";
import { useTranslation } from "react-i18next";
-import { Link as RouterLink, useParams, useSearchParams } from "react-router-dom";
+import { Link as RouterLink, Navigate, useLocation, useParams, useSearchParams } from "react-router-dom";
-import { useDagRunServiceGetDagRuns } from "openapi/queries";
+import { useDagRunServiceGetDagRuns, useDagServiceGetDagDetails } from "openapi/queries";
import type { DAGRunResponse } from "openapi/requests/types.gen";
import { ClearRunButton } from "src/components/Clear";
import { DagVersion } from "src/components/DagVersion";
@@ -188,6 +188,7 @@ const runColumns = (translate: TFunction, dagId?: string): Array {
const { t: translate } = useTranslation();
const { dagId } = useParams();
+ const location = useLocation();
const [searchParams] = useSearchParams();
const { setTableURLState, tableURLState } = useTableURLState({
@@ -203,6 +204,12 @@ export const DagRuns = () => {
const orderBy = sort ? [`${sort.desc ? "-" : ""}${sort.id}`] : ["-run_after"];
const { pageIndex, pageSize } = pagination;
+ const { data: dagDetails } = useDagServiceGetDagDetails(
+ { dagId: dagId ?? "" },
+ undefined,
+ { enabled: Boolean(dagId) },
+ );
+
const filteredState = searchParams.get(STATE_PARAM);
const filteredType = searchParams.get(RUN_TYPE_PARAM);
const filteredRunIdPattern = searchParams.get(RUN_ID_PATTERN_PARAM);
@@ -256,6 +263,14 @@ export const DagRuns = () => {
const columns = runColumns(translate, dagId);
+ if (dagId && dagDetails?.timetable_summary === "Partitioned Asset" && filteredType === null) {
+ const next = new URLSearchParams(searchParams);
+
+ next.set(RUN_TYPE_PARAM, "asset_triggered");
+
+ return ;
+ }
+
return (
<>