diff --git a/airflow/www/static/js/api/useClearRun.ts b/airflow/www/static/js/api/useClearRun.ts index eea285034a99a..b2fa85eea2303 100644 --- a/airflow/www/static/js/api/useClearRun.ts +++ b/airflow/www/static/js/api/useClearRun.ts @@ -19,10 +19,11 @@ import axios, { AxiosResponse } from 'axios'; import { useMutation, useQueryClient } from 'react-query'; + import URLSearchParamsWrapper from 'src/utils/URLSearchParamWrapper'; -import { getMetaValue } from '../utils'; -import { useAutoRefresh } from '../context/autorefresh'; -import useErrorToast from '../utils/useErrorToast'; +import { getMetaValue } from 'src/utils'; +import { useAutoRefresh } from 'src/context/autorefresh'; +import useErrorToast from 'src/utils/useErrorToast'; const csrfToken = getMetaValue('csrf_token'); const clearRunUrl = getMetaValue('dagrun_clear_url'); diff --git a/airflow/www/static/js/api/useGridData.ts b/airflow/www/static/js/api/useGridData.ts index f9a5737c5dac6..8af05b5420b06 100644 --- a/airflow/www/static/js/api/useGridData.ts +++ b/airflow/www/static/js/api/useGridData.ts @@ -36,7 +36,7 @@ const dagId = getMetaValue(DAG_ID_PARAM); const gridDataUrl = getMetaValue('grid_data_url'); const urlRoot = getMetaValue('root'); -interface GridData { +export interface GridData { dagRuns: DagRun[]; groups: Task; ordering: RunOrdering; diff --git a/airflow/www/static/js/api/useMarkFailedRun.ts b/airflow/www/static/js/api/useMarkFailedRun.ts index ac5ef6def44ba..9e58381da2896 100644 --- a/airflow/www/static/js/api/useMarkFailedRun.ts +++ b/airflow/www/static/js/api/useMarkFailedRun.ts @@ -17,12 +17,13 @@ * under the License. */ -import axios from 'axios'; +import axios, { AxiosResponse } from 'axios'; import { useMutation, useQueryClient } from 'react-query'; + import URLSearchParamsWrapper from 'src/utils/URLSearchParamWrapper'; -import { getMetaValue } from '../utils'; -import { useAutoRefresh } from '../context/autorefresh'; -import useErrorToast from '../utils/useErrorToast'; +import { getMetaValue } from 'src/utils'; +import { useAutoRefresh } from 'src/context/autorefresh'; +import useErrorToast from 'src/utils/useErrorToast'; const csrfToken = getMetaValue('csrf_token'); const markFailedUrl = getMetaValue('dagrun_failed_url'); @@ -41,7 +42,7 @@ export default function useMarkFailedRun(dagId: string, runId: string) { dag_run_id: runId, }).toString(); - return axios.post(markFailedUrl, params, { + return axios.post(markFailedUrl, params, { headers: { 'Content-Type': 'application/x-www-form-urlencoded', }, diff --git a/airflow/www/static/js/api/useMarkSuccessRun.ts b/airflow/www/static/js/api/useMarkSuccessRun.ts index d90bbb03a8d1b..062326cca4ed9 100644 --- a/airflow/www/static/js/api/useMarkSuccessRun.ts +++ b/airflow/www/static/js/api/useMarkSuccessRun.ts @@ -17,7 +17,7 @@ * under the License. */ -import axios from 'axios'; +import axios, { AxiosResponse } from 'axios'; import { useMutation, useQueryClient } from 'react-query'; import URLSearchParamsWrapper from 'src/utils/URLSearchParamWrapper'; import { getMetaValue } from '../utils'; @@ -41,7 +41,7 @@ export default function useMarkSuccessRun(dagId: string, runId: string) { dag_run_id: runId, }).toString(); - return axios.post(markSuccessUrl, params, { + return axios.post(markSuccessUrl, params, { headers: { 'Content-Type': 'application/x-www-form-urlencoded', }, diff --git a/airflow/www/static/js/api/useQueueRun.ts b/airflow/www/static/js/api/useQueueRun.ts index e919c3f60fc49..71d4027b5f09b 100644 --- a/airflow/www/static/js/api/useQueueRun.ts +++ b/airflow/www/static/js/api/useQueueRun.ts @@ -17,7 +17,7 @@ * under the License. */ -import axios from 'axios'; +import axios, { AxiosResponse } from 'axios'; import { useMutation, useQueryClient } from 'react-query'; import URLSearchParamsWrapper from 'src/utils/URLSearchParamWrapper'; import { getMetaValue } from '../utils'; @@ -40,7 +40,7 @@ export default function useQueueRun(dagId: string, runId: string) { dag_id: dagId, dag_run_id: runId, }).toString(); - return axios.post(queuedUrl, params, { + return axios.post(queuedUrl, params, { headers: { 'Content-Type': 'application/x-www-form-urlencoded', }, diff --git a/airflow/www/static/js/dag/details/ConfirmDialog.tsx b/airflow/www/static/js/components/ConfirmDialog.tsx similarity index 98% rename from airflow/www/static/js/dag/details/ConfirmDialog.tsx rename to airflow/www/static/js/components/ConfirmDialog.tsx index c2533579ffba5..45280d8144867 100644 --- a/airflow/www/static/js/dag/details/ConfirmDialog.tsx +++ b/airflow/www/static/js/components/ConfirmDialog.tsx @@ -37,7 +37,7 @@ interface Props { onClose: () => void; title?: string; description: string; - body?: string[]; + body?: string[] | string; onConfirm: () => void; isLoading?: boolean; } diff --git a/airflow/www/static/js/dag/details/dagRun/ClearRun.jsx b/airflow/www/static/js/dag/details/dagRun/ClearRun.tsx similarity index 84% rename from airflow/www/static/js/dag/details/dagRun/ClearRun.jsx rename to airflow/www/static/js/dag/details/dagRun/ClearRun.tsx index ff573ae920362..5666dbc84a863 100644 --- a/airflow/www/static/js/dag/details/dagRun/ClearRun.jsx +++ b/airflow/www/static/js/dag/details/dagRun/ClearRun.tsx @@ -20,14 +20,19 @@ import React, { useState } from 'react'; import { Button, useDisclosure } from '@chakra-ui/react'; -import { useClearRun } from '../../../api'; -import ConfirmDialog from '../ConfirmDialog'; -import { getMetaValue } from '../../../utils'; +import { useClearRun } from 'src/api'; +import { getMetaValue } from 'src/utils'; +import ConfirmDialog from 'src/components/ConfirmDialog'; const canEdit = getMetaValue('can_edit') === 'True'; -const ClearRun = ({ dagId, runId }) => { - const [affectedTasks, setAffectedTasks] = useState([]); +interface Props { + dagId: string; + runId: string; +} + +const ClearRun = ({ dagId, runId }: Props) => { + const [affectedTasks, setAffectedTasks] = useState(''); const { isOpen, onOpen, onClose } = useDisclosure(); const { mutateAsync: onClear, isLoading } = useClearRun(dagId, runId); @@ -39,7 +44,7 @@ const ClearRun = ({ dagId, runId }) => { const onConfirm = async () => { await onClear({ confirmed: true }); - setAffectedTasks([]); + setAffectedTasks(''); onClose(); }; diff --git a/airflow/www/static/js/dag/details/dagRun/MarkFailedRun.jsx b/airflow/www/static/js/dag/details/dagRun/MarkFailedRun.tsx similarity index 83% rename from airflow/www/static/js/dag/details/dagRun/MarkFailedRun.jsx rename to airflow/www/static/js/dag/details/dagRun/MarkFailedRun.tsx index a97349d0ae46e..26bdce8fb815f 100644 --- a/airflow/www/static/js/dag/details/dagRun/MarkFailedRun.jsx +++ b/airflow/www/static/js/dag/details/dagRun/MarkFailedRun.tsx @@ -20,14 +20,19 @@ import React, { useState } from 'react'; import { Button, useDisclosure } from '@chakra-ui/react'; -import { useMarkFailedRun } from '../../../api'; -import ConfirmDialog from '../ConfirmDialog'; -import { getMetaValue } from '../../../utils'; +import { useMarkFailedRun } from 'src/api'; +import { getMetaValue } from 'src/utils'; +import ConfirmDialog from 'src/components/ConfirmDialog'; const canEdit = getMetaValue('can_edit') === 'True'; -const MarkFailedRun = ({ dagId, runId }) => { - const [affectedTasks, setAffectedTasks] = useState([]); +interface Props { + dagId: string; + runId: string; +} + +const MarkFailedRun = ({ dagId, runId }: Props) => { + const [affectedTasks, setAffectedTasks] = useState(''); const { isOpen, onOpen, onClose } = useDisclosure(); const { mutateAsync: markFailed, isLoading } = useMarkFailedRun(dagId, runId); @@ -39,7 +44,7 @@ const MarkFailedRun = ({ dagId, runId }) => { const onConfirm = () => { markFailed({ confirmed: true }); - setAffectedTasks([]); + setAffectedTasks(''); onClose(); }; diff --git a/airflow/www/static/js/dag/details/dagRun/MarkSuccessRun.jsx b/airflow/www/static/js/dag/details/dagRun/MarkSuccessRun.tsx similarity index 83% rename from airflow/www/static/js/dag/details/dagRun/MarkSuccessRun.jsx rename to airflow/www/static/js/dag/details/dagRun/MarkSuccessRun.tsx index bebf776a385f1..79a894b7a9ee0 100644 --- a/airflow/www/static/js/dag/details/dagRun/MarkSuccessRun.jsx +++ b/airflow/www/static/js/dag/details/dagRun/MarkSuccessRun.tsx @@ -20,14 +20,19 @@ import React, { useState } from 'react'; import { Button, useDisclosure } from '@chakra-ui/react'; -import { useMarkSuccessRun } from '../../../api'; -import ConfirmDialog from '../ConfirmDialog'; -import { getMetaValue } from '../../../utils'; +import { useMarkSuccessRun } from 'src/api'; +import ConfirmDialog from 'src/components/ConfirmDialog'; +import { getMetaValue } from 'src/utils'; const canEdit = getMetaValue('can_edit') === 'True'; -const MarkSuccessRun = ({ dagId, runId }) => { - const [affectedTasks, setAffectedTasks] = useState([]); +interface Props { + dagId: string; + runId: string; +} + +const MarkSuccessRun = ({ dagId, runId }: Props) => { + const [affectedTasks, setAffectedTasks] = useState(''); const { isOpen, onOpen, onClose } = useDisclosure(); const { mutateAsync: markSuccess, isLoading } = useMarkSuccessRun(dagId, runId); @@ -39,7 +44,7 @@ const MarkSuccessRun = ({ dagId, runId }) => { const onConfirm = async () => { await markSuccess({ confirmed: true }); - setAffectedTasks([]); + setAffectedTasks(''); onClose(); }; diff --git a/airflow/www/static/js/dag/details/dagRun/QueueRun.jsx b/airflow/www/static/js/dag/details/dagRun/QueueRun.tsx similarity index 85% rename from airflow/www/static/js/dag/details/dagRun/QueueRun.jsx rename to airflow/www/static/js/dag/details/dagRun/QueueRun.tsx index 1591055de37ac..a973e0ddac0dc 100644 --- a/airflow/www/static/js/dag/details/dagRun/QueueRun.jsx +++ b/airflow/www/static/js/dag/details/dagRun/QueueRun.tsx @@ -20,14 +20,19 @@ import React, { useState } from 'react'; import { Button, useDisclosure } from '@chakra-ui/react'; -import { useQueueRun } from '../../../api'; -import ConfirmDialog from '../ConfirmDialog'; -import { getMetaValue } from '../../../utils'; +import { useQueueRun } from 'src/api'; +import ConfirmDialog from 'src/components/ConfirmDialog'; +import { getMetaValue } from 'src/utils'; const canEdit = getMetaValue('can_edit') === 'True'; -const QueueRun = ({ dagId, runId }) => { - const [affectedTasks, setAffectedTasks] = useState([]); +interface Props { + dagId: string; + runId: string; +} + +const QueueRun = ({ dagId, runId }: Props) => { + const [affectedTasks, setAffectedTasks] = useState(''); const { isOpen, onOpen, onClose } = useDisclosure(); const { mutateAsync: onQueue, isLoading } = useQueueRun(dagId, runId); @@ -41,7 +46,7 @@ const QueueRun = ({ dagId, runId }) => { // Confirm changes const onConfirm = async () => { await onQueue({ confirmed: true }); - setAffectedTasks([]); + setAffectedTasks(''); onClose(); }; diff --git a/airflow/www/static/js/dag/details/taskInstance/taskActions/Clear.jsx b/airflow/www/static/js/dag/details/taskInstance/taskActions/Clear.tsx similarity index 76% rename from airflow/www/static/js/dag/details/taskInstance/taskActions/Clear.jsx rename to airflow/www/static/js/dag/details/taskInstance/taskActions/Clear.tsx index e9de6626de4ff..e51e28026f216 100644 --- a/airflow/www/static/js/dag/details/taskInstance/taskActions/Clear.jsx +++ b/airflow/www/static/js/dag/details/taskInstance/taskActions/Clear.tsx @@ -25,21 +25,30 @@ import { useDisclosure, } from '@chakra-ui/react'; +import ConfirmDialog from 'src/components/ConfirmDialog'; +import { useClearTask } from 'src/api'; +import { getMetaValue } from 'src/utils'; + import ActionButton from './ActionButton'; -import ConfirmDialog from '../../ConfirmDialog'; -import { useClearTask } from '../../../../api'; -import { getMetaValue } from '../../../../utils'; const canEdit = getMetaValue('can_edit') === 'True'; +interface Props { + dagId: string; + runId: string; + taskId: string; + executionDate: string; + mapIndexes: number[]; +} + const Run = ({ dagId, runId, taskId, executionDate, mapIndexes, -}) => { - const [affectedTasks, setAffectedTasks] = useState([]); +}: Props) => { + const [affectedTasks, setAffectedTasks] = useState(''); // Options check/unchecked const [past, setPast] = useState(false); @@ -93,19 +102,19 @@ const Run = ({ confirmed: true, mapIndexes, }); - setAffectedTasks([]); + setAffectedTasks(''); onClose(); }; return ( - - - - - - + + + + + +