diff --git a/web/src/components/core/copy/MqCopy.tsx b/web/src/components/core/copy/MqCopy.tsx index 25d5e2c6b3..670cdfe629 100644 --- a/web/src/components/core/copy/MqCopy.tsx +++ b/web/src/components/core/copy/MqCopy.tsx @@ -37,7 +37,7 @@ const MqEmpty: React.FC = ({ string }) => { }} aria-label='copy' size={'small'} - color={'primary'} + color={'secondary'} > {hasCopied ? : } diff --git a/web/src/components/dashboard/SplitButton.tsx b/web/src/components/dashboard/SplitButton.tsx index 4abdfe75ab..578048b900 100644 --- a/web/src/components/dashboard/SplitButton.tsx +++ b/web/src/components/dashboard/SplitButton.tsx @@ -1,9 +1,11 @@ import * as React from 'react' +import { Refresh } from '@mui/icons-material' import ArrowDropDownIcon from '@mui/icons-material/ArrowDropDown' import Button from '@mui/material/Button' import ButtonGroup from '@mui/material/ButtonGroup' import ClickAwayListener from '@mui/material/ClickAwayListener' import Grow from '@mui/material/Grow' +import MQTooltip from '../core/tooltip/MQTooltip' import MenuItem from '@mui/material/MenuItem' import MenuList from '@mui/material/MenuList' import Paper from '@mui/material/Paper' @@ -12,9 +14,10 @@ import Popper from '@mui/material/Popper' interface Props { options: string[] onClick: (option: string) => void + onRefresh?: () => void } -export default function SplitButton({ options, onClick }: Props) { +export default function SplitButton({ options, onClick, onRefresh }: Props) { const [open, setOpen] = React.useState(false) const anchorRef = React.useRef(null) const [selectedIndex, setSelectedIndex] = React.useState(0) @@ -66,6 +69,11 @@ export default function SplitButton({ options, onClick }: Props) { > + + + { + const currentSearchParams = searchParams.get('timeframe') + fetchJobs(null, JOB_RUN_LIMIT, 0) + fetchLineageMetrics(currentSearchParams === 'week' ? 'week' : 'day') + fetchJobMetrics(currentSearchParams === 'week' ? 'week' : 'day') + fetchDatasetMetrics(currentSearchParams === 'week' ? 'week' : 'day') + fetchSourceMetrics(currentSearchParams === 'week' ? 'week' : 'day') + } + const { failed, started, completed, aborted } = metrics return ( @@ -195,6 +204,7 @@ const Dashboard: React.FC = ({ REFRESH refresh()} onClick={(option) => { setIntervalKey(option as RefreshInterval) }} @@ -351,15 +361,6 @@ const Dashboard: React.FC = ({ 'Try changing namespaces, run state, or consulting our documentation to add jobs.' } - )} diff --git a/web/src/routes/events/Events.tsx b/web/src/routes/events/Events.tsx index 30326545e0..f11e6247ce 100644 --- a/web/src/routes/events/Events.tsx +++ b/web/src/routes/events/Events.tsx @@ -66,7 +66,7 @@ type EventsProps = StateProps & DispatchProps const EVENTS_COLUMNS = ['ID', 'STATE', 'NAME', 'NAMESPACE', 'TIME'] -const PAGE_SIZE = 20 +const PAGE_SIZE = 50 const EVENTS_HEADER_HEIGHT = 64 const Events: React.FC = ({ @@ -296,13 +296,7 @@ const Events: React.FC = ({ > - - - - {event.run.runId.substring(0, 8)}... - - - + {event.run.runId} @@ -312,9 +306,15 @@ const Events: React.FC = ({ label={event.eventType} /> - {truncateText(event.job.name, 40)} - {truncateText(event.job.namespace, 40)} + + {truncateText(event.job.name, 40)} + + + + + {truncateText(event.job.namespace, 40)} + {formatUpdatedAt(event.eventTime)}