This is an automated email from the ASF dual-hosted git repository.
eladkal 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 50334230b0 Improve rendered_template ux in react dag page (#39122)
50334230b0 is described below
commit 50334230b03bf3c1f6ff11ea7808dde1a79df98a
Author: Brent Bovenzi <[email protected]>
AuthorDate: Fri Apr 19 00:22:19 2024 -0400
Improve rendered_template ux in react dag page (#39122)
---
.../static/js/dag/details/taskInstance/Details.tsx | 59 +++++++++++++---------
.../www/static/js/dag/details/taskInstance/Nav.tsx | 10 +---
airflow/www/templates/airflow/dag.html | 1 -
3 files changed, 38 insertions(+), 32 deletions(-)
diff --git a/airflow/www/static/js/dag/details/taskInstance/Details.tsx
b/airflow/www/static/js/dag/details/taskInstance/Details.tsx
index 72d8273ce6..80e26d79ca 100644
--- a/airflow/www/static/js/dag/details/taskInstance/Details.tsx
+++ b/airflow/www/static/js/dag/details/taskInstance/Details.tsx
@@ -231,29 +231,6 @@ const Details = ({ gridInstance, taskInstance, group }:
Props) => {
</Td>
</Tr>
)}
- {taskInstance?.renderedFields && (
- <>
- {Object.keys(taskInstance.renderedFields).map((key) => {
- const renderedFields = taskInstance.renderedFields as Record<
- string,
- unknown
- >;
- if (renderedFields[key]) {
- return (
- <Tr key={key}>
- <Td>{key}</Td>
- <Td>
- <Code fontSize="md">
- {JSON.stringify(renderedFields[key])}
- </Code>
- </Td>
- </Tr>
- );
- }
- return null;
- })}
- </>
- )}
{!!taskInstance?.pool && (
<Tr>
<Td>Pool</Td>
@@ -300,6 +277,42 @@ const Details = ({ gridInstance, taskInstance, group }:
Props) => {
)}
</Tbody>
</Table>
+ {taskInstance?.renderedFields && (
+ <Box mt={3}>
+ <Text as="strong" mb={3}>
+ Rendered Templates
+ </Text>
+ <Table>
+ <Tbody>
+ {Object.keys(taskInstance.renderedFields).map((key) => {
+ const renderedFields = taskInstance.renderedFields as Record<
+ string,
+ unknown
+ >;
+ let field = renderedFields[key];
+ if (field) {
+ if (typeof field !== "string") {
+ try {
+ field = JSON.stringify(field);
+ } catch (e) {
+ // skip
+ }
+ }
+ return (
+ <Tr key={key}>
+ <Td>{key}</Td>
+ <Td>
+ <Code fontSize="md">{field as string}</Code>
+ </Td>
+ </Tr>
+ );
+ }
+ return null;
+ })}
+ </Tbody>
+ </Table>
+ </Box>
+ )}
</Box>
);
};
diff --git a/airflow/www/static/js/dag/details/taskInstance/Nav.tsx
b/airflow/www/static/js/dag/details/taskInstance/Nav.tsx
index 1e5d84d8ba..88560d5dac 100644
--- a/airflow/www/static/js/dag/details/taskInstance/Nav.tsx
+++ b/airflow/www/static/js/dag/details/taskInstance/Nav.tsx
@@ -29,7 +29,6 @@ const dagId = getMetaValue("dag_id");
const isK8sExecutor = getMetaValue("k8s_or_k8scelery_executor") === "True";
const taskInstancesUrl = getMetaValue("task_instances_list_url");
const renderedK8sUrl = getMetaValue("rendered_k8s_url");
-const renderedTemplatesUrl = getMetaValue("rendered_templates_url");
const taskUrl = getMetaValue("task_url");
const gridUrl = getMetaValue("grid_url");
@@ -50,7 +49,6 @@ const Nav = forwardRef<HTMLDivElement, Props>(
map_index: mapIndex ?? -1,
});
const detailsLink = `${taskUrl}&${params}`;
- const renderedLink = `${renderedTemplatesUrl}&${params}`;
const k8sLink = `${renderedK8sUrl}&${params}`;
const listParams = new URLSearchParamsWrapper({
_flt_3_dag_id: dagId,
@@ -79,7 +77,6 @@ const Nav = forwardRef<HTMLDivElement, Props>(
{(!isMapped || mapIndex !== undefined) && (
<>
<LinkButton href={detailsLink}>More Details</LinkButton>
- <LinkButton href={renderedLink}>Rendered Template</LinkButton>
{isK8sExecutor && (
<LinkButton href={k8sLink}>K8s Pod Spec</LinkButton>
)}
@@ -88,11 +85,8 @@ const Nav = forwardRef<HTMLDivElement, Props>(
)}
</>
)}
- <LinkButton
- href={allInstancesLink}
- title="View all instances across all DAG runs"
- >
- List Instances, all runs
+ <LinkButton href={allInstancesLink} title="View all">
+ List All Instances
</LinkButton>
</Flex>
);
diff --git a/airflow/www/templates/airflow/dag.html
b/airflow/www/templates/airflow/dag.html
index d9ef3c139a..29f535b4b6 100644
--- a/airflow/www/templates/airflow/dag.html
+++ b/airflow/www/templates/airflow/dag.html
@@ -65,7 +65,6 @@
<meta name="graph_url" content="{{ url_for('Airflow.graph',
dag_id=dag.dag_id, root=root) }}">
<meta name="task_url" content="{{ url_for('Airflow.task', dag_id=dag.dag_id)
}}">
<meta name="log_url" content="{{ url_for('Airflow.log', dag_id=dag.dag_id)
}}">
- <meta name="rendered_templates_url" content="{{
url_for('Airflow.rendered_templates', dag_id=dag.dag_id) }}">
<meta name="rendered_k8s_url" content="{{ url_for('Airflow.rendered_k8s',
dag_id=dag.dag_id) }}">
<meta name="task_instances_list_url" content="{{
url_for('TaskInstanceModelView.list') }}">
<meta name="tag_index_url" content="{{ url_for('Airflow.index',
tags='_TAG_NAME_') }}">