This is an automated email from the ASF dual-hosted git repository.
pierrejeambrun pushed a commit to branch v3-0-test
in repository https://gitbox.apache.org/repos/asf/airflow.git
The following commit(s) were added to refs/heads/v3-0-test by this push:
new 221e17bea13 Unmount dialog & add onOpen (#53307) (#54025)
221e17bea13 is described below
commit 221e17bea139ce1354805795222f7747881164f4
Author: Pierre Jeambrun <[email protected]>
AuthorDate: Fri Aug 1 17:52:02 2025 +0200
Unmount dialog & add onOpen (#53307) (#54025)
(cherry picked from commit bb87ad5da725c530be06fc2bcf13c3c9d579496a)
Co-authored-by: Wei-Yu Chen <[email protected]>
---
.../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 ca9e5ab9485..6ce5fa80b84 100644
--- a/airflow-core/src/airflow/ui/src/components/EditableMarkdownButton.tsx
+++ b/airflow-core/src/airflow/ui/src/components/EditableMarkdownButton.tsx
@@ -30,6 +30,7 @@ const EditableMarkdownButton = ({
isPending,
mdContent,
onConfirm,
+ onOpen,
placeholder,
setMdContent,
text,
@@ -40,6 +41,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;
@@ -52,7 +54,12 @@ const EditableMarkdownButton = ({
<ActionButton
actionName={placeholder}
icon={icon}
- onClick={() => setIsOpen(true)}
+ onClick={() => {
+ if (!isOpen) {
+ onOpen();
+ }
+ setIsOpen(true);
+ }}
text={text}
withText={withText}
/>
@@ -62,6 +69,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 d5bd8d7a655..5e521f21e19 100644
--- a/airflow-core/src/airflow/ui/src/pages/Run/Header.tsx
+++ b/airflow-core/src/airflow/ui/src/pages/Run/Header.tsx
@@ -58,6 +58,11 @@ export const Header = ({
});
}
}, [dagId, dagRun.note, dagRunId, mutate, note]);
+
+ const onOpen = () => {
+ setNote(dagRun.note ?? "");
+ };
+
const containerRef = useRef<HTMLDivElement>();
const containerWidth = useContainerWidth(containerRef);
@@ -72,6 +77,7 @@ export const Header = ({
isPending={isPending}
mdContent={note}
onConfirm={onConfirm}
+ onOpen={onOpen}
placeholder="Add a note..."
setMdContent={setNote}
text={Boolean(dagRun.note) ? "Note" : "Add a note"}
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 40c35319b8f..61f86c2e7a1 100644
--- a/airflow-core/src/airflow/ui/src/pages/TaskInstance/Header.tsx
+++ b/airflow-core/src/airflow/ui/src/pages/TaskInstance/Header.tsx
@@ -82,6 +82,10 @@ export const Header = ({
}
}, [dagId, dagRunId, mapIndex, mutate, note, taskId, taskInstance.note]);
+ const onOpen = () => {
+ setNote(taskInstance.note ?? "");
+ };
+
return (
<Box ref={containerRef}>
<HeaderCard
@@ -93,6 +97,7 @@ export const Header = ({
isPending={isPending}
mdContent={note}
onConfirm={onConfirm}
+ onOpen={onOpen}
placeholder="Add a note..."
setMdContent={setNote}
text={Boolean(taskInstance.note) ? "Note" : "Add a note"}