diff --git a/js_modules/dagster-ui/packages/ui-components/src/components/Icon.tsx b/js_modules/dagster-ui/packages/ui-components/src/components/Icon.tsx index 0ba0c42b279cb..2b87f99bcec23 100644 --- a/js_modules/dagster-ui/packages/ui-components/src/components/Icon.tsx +++ b/js_modules/dagster-ui/packages/ui-components/src/components/Icon.tsx @@ -69,7 +69,6 @@ import email from '../icon-svgs/email.svg'; import error from '../icon-svgs/error.svg'; import error_outline from '../icon-svgs/error_outline.svg'; import execute from '../icon-svgs/execute.svg'; -import executing from '../icon-svgs/executing.svg'; import expand from '../icon-svgs/expand.svg'; import expand_arrows from '../icon-svgs/expand_arrows.svg'; import expand_less from '../icon-svgs/expand_less.svg'; @@ -206,7 +205,6 @@ export const Icons = { datatype_number, expectation, execute, - executing, materialization, observation, job, diff --git a/js_modules/dagster-ui/packages/ui-components/src/icon-svgs/executing.svg b/js_modules/dagster-ui/packages/ui-components/src/icon-svgs/executing.svg deleted file mode 100644 index 76aa006e68031..0000000000000 --- a/js_modules/dagster-ui/packages/ui-components/src/icon-svgs/executing.svg +++ /dev/null @@ -1,6 +0,0 @@ - - - - \ No newline at end of file diff --git a/js_modules/dagster-ui/packages/ui-core/src/assets/AssetActionMenu.tsx b/js_modules/dagster-ui/packages/ui-core/src/assets/AssetActionMenu.tsx index c26b766d67ad3..1dddf94655ab6 100644 --- a/js_modules/dagster-ui/packages/ui-core/src/assets/AssetActionMenu.tsx +++ b/js_modules/dagster-ui/packages/ui-core/src/assets/AssetActionMenu.tsx @@ -1,13 +1,4 @@ -import { - Button, - Icon, - Menu, - MenuDivider, - MenuItem, - Popover, - Spinner, - Tooltip, -} from '@dagster-io/ui-components'; +import {Button, Icon, Menu, MenuItem, Popover, Spinner, Tooltip} from '@dagster-io/ui-components'; import {useContext} from 'react'; import { @@ -17,7 +8,6 @@ import { import {useObserveAction} from './LaunchAssetObservationButton'; import {assetDetailsPathForKey} from './assetDetailsPathForKey'; import {AssetTableDefinitionFragment} from './types/AssetTableFragment.types'; -import {useReportEventsModal} from './useReportEventsModal'; import {CloudOSSContext} from '../app/CloudOSSContext'; import {showSharedToaster} from '../app/DomUtils'; import {usePermissionsForLocation} from '../app/Permissions'; @@ -40,24 +30,14 @@ export const AssetActionMenu = (props: Props) => { } = usePermissionsForLocation(repoAddress?.location); const { - featureContext: {canSeeWipeMaterializationAction, canSeeMaterializeAction}, + featureContext: {canSeeWipeMaterializationAction}, } = useContext(CloudOSSContext); const {executeItem, launchpadElement} = useExecuteAssetMenuItem(path, definition); - const reportEvents = useReportEventsModal( - repoAddress - ? { - assetKey: {path}, - isPartitioned: !!definition?.partitionDefinition, - repository: {name: repoAddress.name, location: {name: repoAddress.location}}, - } - : null, - ); return ( <> {launchpadElement} - {reportEvents.element} { icon="asset_group" /> - { disabled={!definition} icon="graph_downstream" /> - {canSeeMaterializeAction && definition?.hasMaterializePermission - ? reportEvents.dropdownOptions.map((option) => ( - - )) - : undefined} - {canSeeWipeMaterializationAction ? : undefined} {canSeeWipeMaterializationAction ? ( ( { const {executionForLatestMaterialization: execution} = assetCheck; @@ -231,56 +228,29 @@ export const AssetCheckStatusTag = ({ export const AssetCheckErrorsTag = ({ checks, severity, - assetKey, }: { checks: AssetCheckLiveFragment[]; severity: AssetCheckSeverity; - assetKey: AssetKeyInput; }) => { - const tagIcon = severity === AssetCheckSeverity.ERROR ? 'cancel' : 'warning_outline'; - const tagIntent = severity === AssetCheckSeverity.ERROR ? 'danger' : 'warning'; - - if (checks.length === 1) { - const actions: TagAction[] = []; - const execution = checks[0]!.executionForLatestMaterialization; - + const actions: TagAction[] = []; + const execution = checks[0]?.executionForLatestMaterialization; + if (execution) { actions.push({ - label: 'View details', - to: assetDetailsPathForAssetCheck({assetKey, name: checks[0]!.name}), + label: 'View in run logs', + to: linkToRunEvent( + {id: execution.runId}, + {stepKey: execution.stepKey, timestamp: execution.timestamp}, + ), }); - if (execution) { - actions.push({ - label: 'View in run logs', - to: linkToRunEvent( - {id: execution.runId}, - {stepKey: execution.stepKey, timestamp: execution.timestamp}, - ), - }); - } - - return ( - - - - - - ); } - return ( - } - position="top-left" - interactionKind="hover" - className="chunk-popover-target" - > - - {`${checks.length} failed`} + + + {checks.length === 1 ? checks[0]!.name : `${checks.length} failed`} - + ); }; diff --git a/js_modules/dagster-ui/packages/ui-core/src/assets/asset-checks/AssetChecksStatusSummary.tsx b/js_modules/dagster-ui/packages/ui-core/src/assets/asset-checks/AssetChecksStatusSummary.tsx index 875103983ce76..548079734545c 100644 --- a/js_modules/dagster-ui/packages/ui-core/src/assets/asset-checks/AssetChecksStatusSummary.tsx +++ b/js_modules/dagster-ui/packages/ui-core/src/assets/asset-checks/AssetChecksStatusSummary.tsx @@ -15,11 +15,7 @@ import {CheckStatusRow} from './AssetCheckStatusTag'; import {assertUnreachable} from '../../app/Util'; import {AssetCheckLiveFragment} from '../../asset-data/types/AssetBaseDataProvider.types'; import {LiveDataForNode} from '../../asset-graph/Utils'; -import { - AssetCheckExecutionResolvedStatus, - AssetCheckSeverity, - AssetKeyInput, -} from '../../graphql/types'; +import {AssetCheckExecutionResolvedStatus, AssetCheckSeverity, AssetKey} from '../../graphql/types'; type AssetCheckIconType = | Exclude< @@ -86,13 +82,13 @@ const titlePerCheckType = (type: AssetCheckIconType) => { } }; -export const ChecksSummaryPopover = ({ +const ChecksSummaryPopover = ({ type, assetKey, assetChecks, }: { type: AssetCheckIconType; - assetKey: AssetKeyInput; + assetKey: AssetKey; assetChecks: AssetCheckLiveFragment[]; }) => { return ( @@ -127,7 +123,7 @@ export const AssetChecksStatusSummary = ({ }: { liveData: LiveDataForNode; rendering: 'dag' | 'tags'; - assetKey: AssetKeyInput; + assetKey: AssetKey; }) => { const byIconType = countBy(liveData.assetChecks, iconTypeFromCheck); diff --git a/js_modules/dagster-ui/packages/ui-core/src/assets/useReportEventsModal.tsx b/js_modules/dagster-ui/packages/ui-core/src/assets/useReportEventsModal.tsx index 1abf41555eb78..2649a97a25410 100644 --- a/js_modules/dagster-ui/packages/ui-core/src/assets/useReportEventsModal.tsx +++ b/js_modules/dagster-ui/packages/ui-core/src/assets/useReportEventsModal.tsx @@ -42,7 +42,7 @@ type Asset = { repository: {name: string; location: {name: string}}; }; -export function useReportEventsModal(asset: Asset | null, onEventReported?: () => void) { +export function useReportEventsModal(asset: Asset | null, onEventReported: () => void) { const [isOpen, setIsOpen] = useState(false); const dropdownOptions = useMemo( @@ -85,7 +85,7 @@ const ReportEventDialogBody = ({ repoAddress: RepoAddress; isOpen: boolean; setIsOpen: (open: boolean) => void; - onEventReported?: () => void; + onEventReported: () => void; }) => { const [description, setDescription] = useState(''); const { @@ -159,7 +159,7 @@ const ReportEventDialogBody = ({ icon: 'materialization', intent: 'success', }); - onEventReported?.(); + onEventReported(); setIsOpen(false); } }; diff --git a/js_modules/dagster-ui/packages/ui-core/src/ui/TagActions.tsx b/js_modules/dagster-ui/packages/ui-core/src/ui/TagActions.tsx index 6a4e2a726d69a..22e031af837fd 100644 --- a/js_modules/dagster-ui/packages/ui-core/src/ui/TagActions.tsx +++ b/js_modules/dagster-ui/packages/ui-core/src/ui/TagActions.tsx @@ -37,19 +37,16 @@ export const TagActionsPopover = ({ data, actions, children, - childrenMiddleTruncate, }: { data: TagType; actions: TagAction[]; children: React.ReactNode; - childrenMiddleTruncate?: boolean; }) => { return ( } hoverOpenDelay={100} hoverCloseDelay={100} - targetProps={childrenMiddleTruncate ? {style: {minWidth: 0, maxWidth: '100%'}} : {}} placement="top" interactionKind="hover" >