You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@airflow.apache.org by bb...@apache.org on 2022/04/21 17:55:42 UTC

[airflow] branch confirm-is-loading created (now f144ab52d8)

This is an automated email from the ASF dual-hosted git repository.

bbovenzi pushed a change to branch confirm-is-loading
in repository https://gitbox.apache.org/repos/asf/airflow.git


      at f144ab52d8 Add isLoading to ConfirmDialog

This branch includes the following new commits:

     new f144ab52d8 Add isLoading to ConfirmDialog

The 1 revisions listed above as "new" are entirely new to this
repository and will be described in separate emails.  The revisions
listed as "add" were already present in the repository and have only
been added to this reference.



[airflow] 01/01: Add isLoading to ConfirmDialog

Posted by bb...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

bbovenzi pushed a commit to branch confirm-is-loading
in repository https://gitbox.apache.org/repos/asf/airflow.git

commit f144ab52d8d73dfbe575314d459259209b8dd539
Author: Brent Bovenzi <br...@gmail.com>
AuthorDate: Thu Apr 21 13:54:04 2022 -0400

    Add isLoading to ConfirmDialog
---
 airflow/www/static/js/tree/api/useConfirmMarkTask.js                 | 5 +++++
 airflow/www/static/js/tree/details/content/ConfirmDialog.jsx         | 4 ++--
 airflow/www/static/js/tree/details/content/dagRun/ClearRun.jsx       | 1 +
 airflow/www/static/js/tree/details/content/dagRun/MarkFailedRun.jsx  | 1 +
 airflow/www/static/js/tree/details/content/dagRun/MarkSuccessRun.jsx | 1 +
 airflow/www/static/js/tree/details/content/dagRun/QueueRun.jsx       | 1 +
 .../js/tree/details/content/taskInstance/taskActions/Clear.jsx       | 1 +
 .../js/tree/details/content/taskInstance/taskActions/MarkFailed.jsx  | 5 ++++-
 .../js/tree/details/content/taskInstance/taskActions/MarkSuccess.jsx | 5 ++++-
 9 files changed, 20 insertions(+), 4 deletions(-)

diff --git a/airflow/www/static/js/tree/api/useConfirmMarkTask.js b/airflow/www/static/js/tree/api/useConfirmMarkTask.js
index d1f8eef9d3..7db31ab8a8 100644
--- a/airflow/www/static/js/tree/api/useConfirmMarkTask.js
+++ b/airflow/www/static/js/tree/api/useConfirmMarkTask.js
@@ -20,12 +20,14 @@
 import axios from 'axios';
 import { useMutation } from 'react-query';
 import { getMetaValue } from '../../utils';
+import useErrorToast from '../useErrorToast';
 
 const confirmUrl = getMetaValue('confirm_url');
 
 export default function useConfirmMarkTask({
   dagId, runId, taskId, state,
 }) {
+  const errorToast = useErrorToast();
   return useMutation(
     ['confirmStateChange', dagId, runId, taskId, state],
     ({
@@ -48,5 +50,8 @@ export default function useConfirmMarkTask({
 
       return axios.get(confirmUrl, { params });
     },
+    {
+      onError: (error) => errorToast({ error }),
+    },
   );
 }
diff --git a/airflow/www/static/js/tree/details/content/ConfirmDialog.jsx b/airflow/www/static/js/tree/details/content/ConfirmDialog.jsx
index 6efe7457bd..25d37d1276 100644
--- a/airflow/www/static/js/tree/details/content/ConfirmDialog.jsx
+++ b/airflow/www/static/js/tree/details/content/ConfirmDialog.jsx
@@ -33,7 +33,7 @@ import {
 import { useContainerRef } from '../../context/containerRef';
 
 const ConfirmDialog = ({
-  isOpen, onClose, title = 'Wait a minute', description, body = [], onConfirm,
+  isOpen, onClose, title = 'Wait a minute', description, body = [], onConfirm, isLoading = false,
 }) => {
   const initialFocusRef = useRef();
   const containerRef = useContainerRef();
@@ -62,7 +62,7 @@ const ConfirmDialog = ({
             <Button onClick={onClose}>
               Cancel
             </Button>
-            <Button colorScheme="blue" onClick={onConfirm} ml={3} ref={initialFocusRef}>
+            <Button colorScheme="blue" onClick={onConfirm} ml={3} ref={initialFocusRef} isLoading={isLoading}>
               Confirm
             </Button>
           </AlertDialogFooter>
diff --git a/airflow/www/static/js/tree/details/content/dagRun/ClearRun.jsx b/airflow/www/static/js/tree/details/content/dagRun/ClearRun.jsx
index 95aed65f8c..c423ba9fca 100644
--- a/airflow/www/static/js/tree/details/content/dagRun/ClearRun.jsx
+++ b/airflow/www/static/js/tree/details/content/dagRun/ClearRun.jsx
@@ -47,6 +47,7 @@ const ClearRun = ({ dagId, runId }) => {
         isOpen={isOpen}
         onClose={onClose}
         onConfirm={onConfirm}
+        isLoading={isLoading}
         description="Task instances you are about to clear:"
         body={affectedTasks}
       />
diff --git a/airflow/www/static/js/tree/details/content/dagRun/MarkFailedRun.jsx b/airflow/www/static/js/tree/details/content/dagRun/MarkFailedRun.jsx
index 483dbd4fe0..1d3eb54cb5 100644
--- a/airflow/www/static/js/tree/details/content/dagRun/MarkFailedRun.jsx
+++ b/airflow/www/static/js/tree/details/content/dagRun/MarkFailedRun.jsx
@@ -47,6 +47,7 @@ const MarkFailedRun = ({ dagId, runId }) => {
         isOpen={isOpen}
         onClose={onClose}
         onConfirm={onConfirm}
+        isLoading={isLoading}
         description="Task instances you are about to mark as failed or skipped:"
         body={affectedTasks}
       />
diff --git a/airflow/www/static/js/tree/details/content/dagRun/MarkSuccessRun.jsx b/airflow/www/static/js/tree/details/content/dagRun/MarkSuccessRun.jsx
index 0d1d8483d3..fbc49a3461 100644
--- a/airflow/www/static/js/tree/details/content/dagRun/MarkSuccessRun.jsx
+++ b/airflow/www/static/js/tree/details/content/dagRun/MarkSuccessRun.jsx
@@ -47,6 +47,7 @@ const MarkSuccessRun = ({ dagId, runId }) => {
         isOpen={isOpen}
         onClose={onClose}
         onConfirm={onConfirm}
+        isLoading={isLoading}
         description="Task instances you are about to mark as success:"
         body={affectedTasks}
       />
diff --git a/airflow/www/static/js/tree/details/content/dagRun/QueueRun.jsx b/airflow/www/static/js/tree/details/content/dagRun/QueueRun.jsx
index ceec45ffdd..8eb6552fcf 100644
--- a/airflow/www/static/js/tree/details/content/dagRun/QueueRun.jsx
+++ b/airflow/www/static/js/tree/details/content/dagRun/QueueRun.jsx
@@ -56,6 +56,7 @@ const QueueRun = ({ dagId, runId }) => {
         isOpen={isOpen}
         onClose={onClose}
         onConfirm={onConfirm}
+        isLoading={isLoading}
         description="Task instances you are about to queue:"
         body={affectedTasks}
       />
diff --git a/airflow/www/static/js/tree/details/content/taskInstance/taskActions/Clear.jsx b/airflow/www/static/js/tree/details/content/taskInstance/taskActions/Clear.jsx
index de972c3f2f..098cfdb793 100644
--- a/airflow/www/static/js/tree/details/content/taskInstance/taskActions/Clear.jsx
+++ b/airflow/www/static/js/tree/details/content/taskInstance/taskActions/Clear.jsx
@@ -116,6 +116,7 @@ const Run = ({
         isOpen={isOpen}
         onClose={onClose}
         onConfirm={onConfirm}
+        isLoading={isLoading}
         description="Task instances you are about to clear:"
         body={affectedTasks}
       />
diff --git a/airflow/www/static/js/tree/details/content/taskInstance/taskActions/MarkFailed.jsx b/airflow/www/static/js/tree/details/content/taskInstance/taskActions/MarkFailed.jsx
index fd75d9664d..ffbaf8e321 100644
--- a/airflow/www/static/js/tree/details/content/taskInstance/taskActions/MarkFailed.jsx
+++ b/airflow/www/static/js/tree/details/content/taskInstance/taskActions/MarkFailed.jsx
@@ -86,6 +86,8 @@ const MarkFailed = ({
     onClose();
   };
 
+  const isLoading = isMarkLoading || isConfirmLoading;
+
   return (
     <Flex justifyContent="space-between" width="100%">
       <ButtonGroup isAttached variant="outline">
@@ -94,13 +96,14 @@ const MarkFailed = ({
         <ActionButton bg={upstream && 'gray.100'} onClick={onToggleUpstream} name="Upstream" />
         <ActionButton bg={downstream && 'gray.100'} onClick={onToggleDownstream} name="Downstream" />
       </ButtonGroup>
-      <Button colorScheme="red" onClick={onClick} isLoading={isMarkLoading || isConfirmLoading}>
+      <Button colorScheme="red" onClick={onClick} isLoading={isLoading}>
         Mark Failed
       </Button>
       <ConfirmDialog
         isOpen={isOpen}
         onClose={onClose}
         onConfirm={onConfirm}
+        isLoading={isLoading}
         description="Task instances you are about to mark as failed:"
         body={affectedTasks}
       />
diff --git a/airflow/www/static/js/tree/details/content/taskInstance/taskActions/MarkSuccess.jsx b/airflow/www/static/js/tree/details/content/taskInstance/taskActions/MarkSuccess.jsx
index 515093f38d..5f6950c629 100644
--- a/airflow/www/static/js/tree/details/content/taskInstance/taskActions/MarkSuccess.jsx
+++ b/airflow/www/static/js/tree/details/content/taskInstance/taskActions/MarkSuccess.jsx
@@ -81,6 +81,8 @@ const MarkSuccess = ({
     onClose();
   };
 
+  const isLoading = isMarkLoading || isConfirmLoading;
+
   return (
     <Flex justifyContent="space-between" width="100%">
       <ButtonGroup isAttached variant="outline">
@@ -89,13 +91,14 @@ const MarkSuccess = ({
         <ActionButton bg={upstream && 'gray.100'} onClick={onToggleUpstream} name="Upstream" />
         <ActionButton bg={downstream && 'gray.100'} onClick={onToggleDownstream} name="Downstream" />
       </ButtonGroup>
-      <Button colorScheme="green" onClick={onClick} isLoading={isMarkLoading || isConfirmLoading}>
+      <Button colorScheme="green" onClick={onClick} isLoading={isLoading}>
         Mark Success
       </Button>
       <ConfirmDialog
         isOpen={isOpen}
         onClose={onClose}
         onConfirm={onConfirm}
+        isLoading={isLoading}
         description="Task instances you are about to mark as success:"
         body={affectedTasks}
       />