diff --git a/airflow-core/src/airflow/ui/src/components/EditableMarkdownButton.tsx b/airflow-core/src/airflow/ui/src/components/EditableMarkdownButton.tsx index 226e050337b5b..3c3662d554b85 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 = ({ 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} > 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 2a338baf3a192..d3ebe1c285d5b 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(); 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 34e80d3716a6f..1c9af28780578 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 (