Merge pull request #17293 from GustavoAdrianGimenez/feature/bazaar-docs-field

Bazaar plugin: Add docs column to metadata table
This commit is contained in:
Fredrik Adelöw
2023-04-14 10:30:38 +02:00
committed by GitHub
12 changed files with 84 additions and 1 deletions
+1
View File
@@ -127,6 +127,7 @@ The other fields are:
- project - link Bazaar project to existing entity in the catalog
- community link - link to where the project members can communicate, e.g. Teams or Discord link
- docs link - link to visit the documentation of the project
- start date
- end date
@@ -45,6 +45,7 @@ export const AddProjectDialog = ({
title: '',
community: '',
description: '',
docs: '',
status: 'proposed' as Status,
size: 'medium' as Size,
responsible: '',
@@ -26,6 +26,7 @@ import ChatIcon from '@material-ui/icons/Chat';
import PersonAddIcon from '@material-ui/icons/PersonAdd';
import DashboardIcon from '@material-ui/icons/Dashboard';
import LinkOffIcon from '@material-ui/icons/LinkOff';
import Description from '@material-ui/icons/Description';
import { EditProjectDialog } from '../EditProjectDialog';
import { useApi, identityApiRef } from '@backstage/core-plugin-api';
import { BazaarProject, Member } from '../../types';
@@ -128,6 +129,12 @@ export const EntityBazaarInfoContent = ({
href: bazaarProject?.community,
disabled: bazaarProject?.community === '' || !isMember,
},
{
label: 'Docs',
icon: <Description />,
href: bazaarProject?.docs,
disabled: bazaarProject?.docs === null || bazaarProject?.docs === '',
},
];
const handleEditClose = () => {
@@ -34,6 +34,7 @@ import InsertLinkIcon from '@material-ui/icons/InsertLink';
import DashboardIcon from '@material-ui/icons/Dashboard';
import CloseIcon from '@material-ui/icons/Close';
import LinkOffIcon from '@material-ui/icons/LinkOff';
import Description from '@material-ui/icons/Description';
import { EditProjectDialog } from '../EditProjectDialog';
import ExitToAppIcon from '@material-ui/icons/ExitToApp';
import {
@@ -197,6 +198,13 @@ export const HomePageBazaarInfoCard = ({
href: bazaarProject.value?.community,
disabled: !bazaarProject.value?.community || !isMember,
},
{
label: 'Docs',
icon: <Description />,
href: bazaarProject.value?.docs,
disabled:
bazaarProject.value?.docs === null || bazaarProject.value?.docs === '',
},
];
const handleUnlinkSubmit = async () => {
@@ -30,7 +30,7 @@ type Rules = {
};
type Props = {
inputType: 'description' | 'community' | 'responsible' | 'title';
inputType: 'description' | 'community' | 'responsible' | 'title' | 'docs';
error?: FieldError | undefined;
control: Control<FormValues, object>;
helperText?: string;
@@ -144,6 +144,18 @@ export const ProjectDialog = ({
placeholder="Community link to e.g. Teams or Discord"
/>
<InputField
error={errors.docs}
control={control}
rules={{
required: false,
pattern: RegExp('^(https?)://'),
}}
inputType="docs"
helperText="Please enter a link starting with http/https"
placeholder="Project docs link"
/>
<DoubleDateSelector setValue={setValue} control={control} />
</DialogContent>
+2
View File
@@ -39,6 +39,7 @@ export type BazaarProject = {
startDate?: string | null;
endDate?: string | null;
responsible: string;
docs: string;
};
export type FormValues = {
@@ -50,4 +51,5 @@ export type FormValues = {
startDate?: string | null;
endDate?: string | null;
responsible: string;
docs: string;
};
+1
View File
@@ -30,6 +30,7 @@ export const parseBazaarProject = (metadata: any): BazaarProject => {
startDate: metadata.start_date,
endDate: metadata.end_date,
responsible: metadata.responsible,
docs: metadata.docs,
} as BazaarProject;
};