This is an automated email from the ASF dual-hosted git repository.
pierrejeambrun 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 bb87ad5da72 unmount dialog & add onOpen (#53307)
bb87ad5da72 is described below
commit bb87ad5da725c530be06fc2bcf13c3c9d579496a
Author: Wei-Yu Chen <[email protected]>
AuthorDate: Fri Aug 1 23:14:03 2025 +0800
unmount dialog & add onOpen (#53307)
---
.../src/airflow/ui/src/components/EditableMarkdownButton.tsx | 10 +++++++++-
airflow-core/src/airflow/ui/src/pages/Run/Header.tsx | 6 ++++++
airflow-core/src/airflow/ui/src/pages/TaskInstance/Header.tsx | 5 +++++
3 files changed, 20 insertions(+), 1 deletion(-)
diff --git
a/airflow-core/src/airflow/ui/src/components/EditableMarkdownButton.tsx
b/airflow-core/src/airflow/ui/src/components/EditableMarkdownButton.tsx
index 226e050337b..3c3662d554b 100644
--- a/airflow-core/src/airflow/ui/src/components/EditableMarkdownButton.tsx
+++ b/airflow-core/src/airflow/ui/src/components/EditableMarkdownButton.tsx
@@ -31,6 +31,7 @@ const EditableMarkdownButton = ({
isPending,
mdContent,
onConfirm,
+ onOpen,
placeholder,
setMdContent,
text,
@@ -41,6 +42,7 @@ const EditableMarkdownButton = ({
readonly isPending: boolean;
readonly mdContent?: string | null;
readonly onConfirm: () => void;
+ readonly onOpen: () => void;
readonly placeholder: string;
readonly setMdContent: (value: string) => void;
readonly text: string;
@@ -54,7 +56,12 @@ const EditableMarkdownButton = ({
<ActionButton
actionName={placeholder}
icon={icon}
- onClick={() => setIsOpen(true)}
+ onClick={() => {
+ if (!isOpen) {
+ onOpen();
+ }
+ setIsOpen(true);
+ }}
text={text}
withText={withText}
/>
@@ -64,6 +71,7 @@ const EditableMarkdownButton = ({
onOpenChange={() => setIsOpen(false)}
open={isOpen}
size="md"
+ unmountOnExit={true}
>
<Dialog.Content backdrop>
<Dialog.Header bg="blue.muted">
diff --git a/airflow-core/src/airflow/ui/src/pages/Run/Header.tsx
b/airflow-core/src/airflow/ui/src/pages/Run/Header.tsx
index 2a338baf3a1..d3ebe1c285d 100644
--- a/airflow-core/src/airflow/ui/src/pages/Run/Header.tsx
+++ b/airflow-core/src/airflow/ui/src/pages/Run/Header.tsx
@@ -60,6 +60,11 @@ export const Header = ({
});
}
}, [dagId, dagRun.note, dagRunId, mutate, note]);
+
+ const onOpen = () => {
+ setNote(dagRun.note ?? "");
+ };
+
const containerRef = useRef<HTMLDivElement>();
const containerWidth = useContainerWidth(containerRef);
@@ -74,6 +79,7 @@ export const Header = ({
isPending={isPending}
mdContent={note}
onConfirm={onConfirm}
+ onOpen={onOpen}
placeholder={translate("note.placeholder")}
setMdContent={setNote}
text={Boolean(dagRun.note) ? translate("note.label") :
translate("note.add")}
diff --git a/airflow-core/src/airflow/ui/src/pages/TaskInstance/Header.tsx
b/airflow-core/src/airflow/ui/src/pages/TaskInstance/Header.tsx
index 34e80d3716a..1c9af287805 100644
--- a/airflow-core/src/airflow/ui/src/pages/TaskInstance/Header.tsx
+++ b/airflow-core/src/airflow/ui/src/pages/TaskInstance/Header.tsx
@@ -88,6 +88,10 @@ export const Header = ({
}
}, [dagId, dagRunId, mapIndex, mutate, note, taskId, taskInstance.note]);
+ const onOpen = () => {
+ setNote(taskInstance.note ?? "");
+ };
+
return (
<Box ref={containerRef}>
<HeaderCard
@@ -99,6 +103,7 @@ export const Header = ({
isPending={isPending}
mdContent={note}
onConfirm={onConfirm}
+ onOpen={onOpen}
placeholder={translate("note.placeholder")}
setMdContent={setNote}
text={Boolean(taskInstance.note) ? translate("note.label") :
translate("note.add")}