From 09329cdcf1b396600ef5be6d29eec1b0c0d897db Mon Sep 17 00:00:00 2001 From: Alexey Volkov Date: Wed, 15 Jan 2020 16:09:36 -0800 Subject: [PATCH] Frontend - Metadata - Use custom properties instead of plain properties --- frontend/src/lib/Apis.ts | 5 +++++ frontend/src/pages/ArtifactDetails.tsx | 6 ++++-- frontend/src/pages/ArtifactList.tsx | 6 ++++-- frontend/src/pages/ExecutionDetails.tsx | 16 +++++++++++++--- frontend/src/pages/ExecutionList.tsx | 6 ++++-- 5 files changed, 30 insertions(+), 9 deletions(-) diff --git a/frontend/src/lib/Apis.ts b/frontend/src/lib/Apis.ts index 8bb2b916c23..11ae91a0d12 100644 --- a/frontend/src/lib/Apis.ts +++ b/frontend/src/lib/Apis.ts @@ -44,6 +44,9 @@ export enum ArtifactProperties { export enum ArtifactCustomProperties { WORKSPACE = '__kf_workspace__', RUN = '__kf_run__', + NAME = 'name', + PIPELINE_NAME = 'pipeline_name', // TODO: Remove when switching to contexts + RUN_ID = 'run_id', // TODO: Remove when switching to contexts } /** Known Execution properties */ @@ -57,6 +60,8 @@ export enum ExecutionProperties { /** Known Execution custom properties */ export enum ExecutionCustomProperties { WORKSPACE = '__kf_workspace__', + RUN_ID = 'run_id', // TODO: Remove when switching to contexts + TASK_ID = 'task_id', } export interface ListRequest { diff --git a/frontend/src/pages/ArtifactDetails.tsx b/frontend/src/pages/ArtifactDetails.tsx index d48ea6acd3a..fa0e8c2ff27 100644 --- a/frontend/src/pages/ArtifactDetails.tsx +++ b/frontend/src/pages/ArtifactDetails.tsx @@ -24,7 +24,7 @@ import { CircularProgress } from '@material-ui/core'; import { titleCase, getResourceProperty, serviceErrorToString } from '../lib/Utils'; import { ResourceInfo, ResourceType } from '../components/ResourceInfo'; import { Artifact } from '../generated/src/apis/metadata/metadata_store_pb'; -import { Apis, ArtifactProperties } from '../lib/Apis'; +import { Apis, ArtifactProperties, ArtifactCustomProperties } from '../lib/Apis'; import { GetArtifactsByIDRequest } from '../generated/src/apis/metadata/metadata_store_service_pb'; interface ArtifactDetailsState { @@ -108,7 +108,9 @@ export default class ArtifactDetails extends Page<{}, ArtifactDetailsState> { const artifact = res.getArtifactsList()[0]; - const artifactName = getResourceProperty(artifact, ArtifactProperties.NAME); + const artifactName = + getResourceProperty(artifact, ArtifactProperties.NAME) || + getResourceProperty(artifact, ArtifactCustomProperties.NAME, true); let title = artifactName ? artifactName.toString() : ''; const version = getResourceProperty(artifact, ArtifactProperties.VERSION); if (version) { diff --git a/frontend/src/pages/ArtifactList.tsx b/frontend/src/pages/ArtifactList.tsx index c5e29b54563..ffee5e58919 100644 --- a/frontend/src/pages/ArtifactList.tsx +++ b/frontend/src/pages/ArtifactList.tsx @@ -210,8 +210,10 @@ class ArtifactList extends Page<{}, ArtifactListState> { id: `${type}:${artifact.getId()}`, // Join with colon so we can build the link otherFields: [ getResourceProperty(artifact, ArtifactProperties.PIPELINE_NAME) || - getResourceProperty(artifact, ArtifactCustomProperties.WORKSPACE, true), - getResourceProperty(artifact, ArtifactProperties.NAME), + getResourceProperty(artifact, ArtifactCustomProperties.WORKSPACE, true) || + getResourceProperty(artifact, ArtifactCustomProperties.RUN_ID, true), + getResourceProperty(artifact, ArtifactProperties.NAME) || + getResourceProperty(artifact, ArtifactCustomProperties.NAME, true), artifact.getId(), type, artifact.getUri(), diff --git a/frontend/src/pages/ExecutionDetails.tsx b/frontend/src/pages/ExecutionDetails.tsx index a35fb51a754..002b8fdfb1a 100644 --- a/frontend/src/pages/ExecutionDetails.tsx +++ b/frontend/src/pages/ExecutionDetails.tsx @@ -24,7 +24,13 @@ import { CircularProgress } from '@material-ui/core'; import { titleCase, getResourceProperty, serviceErrorToString, logger } from '../lib/Utils'; import { ResourceInfo, ResourceType } from '../components/ResourceInfo'; import { Execution, ArtifactType } from '../generated/src/apis/metadata/metadata_store_pb'; -import { Apis, ExecutionProperties, ArtifactProperties } from '../lib/Apis'; +import { + Apis, + ExecutionProperties, + ArtifactProperties, + ExecutionCustomProperties, + ArtifactCustomProperties, +} from '../lib/Apis'; import { GetExecutionsByIDRequest, GetEventsByExecutionIDsRequest, @@ -168,7 +174,9 @@ export default class ExecutionDetails extends Page<{}, ExecutionDetailsState> { } const execution = executionResponse.response.getExecutionsList()[0]; - const executionName = getResourceProperty(execution, ExecutionProperties.COMPONENT_ID); + const executionName = + getResourceProperty(execution, ExecutionProperties.COMPONENT_ID) || + getResourceProperty(execution, ExecutionCustomProperties.TASK_ID, true); this.props.updateToolbar({ pageTitle: executionName ? executionName.toString() : '', }); @@ -252,7 +260,9 @@ class SectionIO extends Component< } const data: ArtifactInfo = { id, - name: (getResourceProperty(artifact, ArtifactProperties.NAME) || '') as string, // TODO: assert name is string + name: (getResourceProperty(artifact, ArtifactProperties.NAME) || + getResourceProperty(artifact, ArtifactCustomProperties.NAME, true) || + '') as string, // TODO: assert name is string typeId: artifact.getTypeId(), uri: artifact.getUri() || '', }; diff --git a/frontend/src/pages/ExecutionList.tsx b/frontend/src/pages/ExecutionList.tsx index 02b467b9e7d..aedfd5ed32b 100644 --- a/frontend/src/pages/ExecutionList.tsx +++ b/frontend/src/pages/ExecutionList.tsx @@ -192,8 +192,10 @@ class ExecutionList extends Page<{}, ExecutionListState> { id: `${type}:${execution.getId()}`, // Join with colon so we can build the link otherFields: [ getResourceProperty(execution, ExecutionProperties.PIPELINE_NAME) || - getResourceProperty(execution, ExecutionCustomProperties.WORKSPACE, true), - getResourceProperty(execution, ExecutionProperties.COMPONENT_ID), + getResourceProperty(execution, ExecutionCustomProperties.WORKSPACE, true) || + getResourceProperty(execution, ExecutionCustomProperties.RUN_ID, true), + getResourceProperty(execution, ExecutionProperties.COMPONENT_ID) || + getResourceProperty(execution, ExecutionCustomProperties.TASK_ID, true), getResourceProperty(execution, ExecutionProperties.STATE), execution.getId(), type,