mirror of
https://github.com/outbackdingo/openapi-ui.git
synced 2026-01-28 02:19:48 +00:00
forms prefills and overrides via id
This commit is contained in:
@@ -1,16 +1,8 @@
|
||||
/* eslint-disable @typescript-eslint/no-unused-vars */
|
||||
import React, { FC, useState, useEffect } from 'react'
|
||||
import { useParams } from 'react-router-dom'
|
||||
import {
|
||||
BlackholeFormDataProvider,
|
||||
useBuiltinResources,
|
||||
useCrdResources,
|
||||
TJSON,
|
||||
TFormsPrefillsData,
|
||||
} from '@prorobotech/openapi-k8s-toolkit'
|
||||
import { BlackholeFormDataProvider, TJSON } from '@prorobotech/openapi-k8s-toolkit'
|
||||
import { useSelector } from 'react-redux'
|
||||
import type { RootState } from 'store/store'
|
||||
import { BASE_API_GROUP, BASE_API_VERSION } from 'constants/customizationApiGroupAndVersion'
|
||||
import {
|
||||
HEAD_FIRST_ROW,
|
||||
HEAD_SECOND_ROW,
|
||||
@@ -37,6 +29,7 @@ type TBlackholeFormProps = {
|
||||
prefillValuesSchema?: TJSON
|
||||
prefillValueNamespaceOnly?: string
|
||||
}
|
||||
customizationId: string
|
||||
isCreate?: boolean
|
||||
backlink?: string | null
|
||||
modeData?: {
|
||||
@@ -46,7 +39,7 @@ type TBlackholeFormProps = {
|
||||
}
|
||||
}
|
||||
|
||||
export const BlackholeForm: FC<TBlackholeFormProps> = ({ data, isCreate, backlink, modeData }) => {
|
||||
export const BlackholeForm: FC<TBlackholeFormProps> = ({ data, customizationId, isCreate, backlink, modeData }) => {
|
||||
const theme = useSelector((state: RootState) => state.openapiTheme.theme)
|
||||
const cluster = useSelector((state: RootState) => state.cluster.cluster)
|
||||
const params = useParams()
|
||||
@@ -89,30 +82,14 @@ export const BlackholeForm: FC<TBlackholeFormProps> = ({ data, isCreate, backlin
|
||||
typeName: params.typeName,
|
||||
}
|
||||
|
||||
const namespacesData = useBuiltinResources({
|
||||
clusterName: cluster,
|
||||
typeName: 'namespaces',
|
||||
refetchInterval: false,
|
||||
limit: null,
|
||||
})
|
||||
|
||||
const formsPrefillsData = useCrdResources<TFormsPrefillsData['items']>({
|
||||
clusterName: cluster,
|
||||
crdName: 'customformsprefills',
|
||||
apiGroup: BASE_API_GROUP,
|
||||
apiVersion: BASE_API_VERSION,
|
||||
refetchInterval: false,
|
||||
})
|
||||
|
||||
return (
|
||||
<BlackholeFormDataProvider
|
||||
theme={theme}
|
||||
cluster={cluster}
|
||||
urlParams={urlParams}
|
||||
urlParamsForPermissions={urlParamsForPermissions}
|
||||
formsPrefillsData={formsPrefillsData.data}
|
||||
namespacesData={namespacesData.data}
|
||||
data={data}
|
||||
customizationId={customizationId}
|
||||
isCreate={isCreate}
|
||||
backlink={backlink}
|
||||
modeData={modeData}
|
||||
|
||||
@@ -4,10 +4,11 @@ import { ManageableBreadcrumbsWithDataProvider } from '@prorobotech/openapi-k8s-
|
||||
import { BASE_API_GROUP, BASE_API_VERSION } from 'constants/customizationApiGroupAndVersion'
|
||||
|
||||
type TManageableBreadCrumbsProps = {
|
||||
idToCompare: string
|
||||
inside?: boolean
|
||||
}
|
||||
|
||||
export const ManageableBreadcrumbs: FC<TManageableBreadCrumbsProps> = ({ inside }) => {
|
||||
export const ManageableBreadcrumbs: FC<TManageableBreadCrumbsProps> = ({ idToCompare, inside }) => {
|
||||
const { pathname } = useLocation()
|
||||
const params = useParams()
|
||||
const clusterName = params?.clusterName || ''
|
||||
@@ -22,6 +23,7 @@ export const ManageableBreadcrumbs: FC<TManageableBreadCrumbsProps> = ({ inside
|
||||
|
||||
return (
|
||||
<ManageableBreadcrumbsWithDataProvider
|
||||
idToCompare={idToCompare}
|
||||
uri={`/api/clusters/${clusterName}/k8s/apis/${BASE_API_GROUP}/${BASE_API_VERSION}/${
|
||||
inside ? 'breadcrumbsinside' : 'breadcrumbs'
|
||||
}/`}
|
||||
|
||||
@@ -48,6 +48,7 @@ export const CreateApisForm: FC<TCreateApisFormProps> = ({ namespace, apiGroup,
|
||||
typeName,
|
||||
prefillValueNamespaceOnly: namespace,
|
||||
}}
|
||||
customizationId={`default-${apiGroup}/${apiVersion}/${typeName}`}
|
||||
isCreate
|
||||
backlink={backLink}
|
||||
modeData={modeData}
|
||||
|
||||
@@ -84,6 +84,7 @@ export const UpdateApisForm: FC<TUpdateApisFormProps> = ({
|
||||
// prefillValuesSchema: { ...noStatusData, metadata },
|
||||
prefillValuesSchema: { ...data, metadata },
|
||||
}}
|
||||
customizationId={`default-${apiGroup}/${apiVersion}/${typeName}`}
|
||||
backlink={backLink}
|
||||
modeData={modeData}
|
||||
/>
|
||||
|
||||
@@ -44,6 +44,7 @@ export const CreateBuiltinForm: FC<TCreateBuiltinFormProps> = ({ namespace, type
|
||||
typeName,
|
||||
prefillValueNamespaceOnly: namespace,
|
||||
}}
|
||||
customizationId={`default-v1/${typeName}`}
|
||||
isCreate
|
||||
backlink={backLink}
|
||||
modeData={modeData}
|
||||
|
||||
@@ -71,6 +71,7 @@ export const UpdateBuiltinForm: FC<TUpdateBuiltinFormProps> = ({ typeName, entry
|
||||
// prefillValuesSchema: { ...noStatusData, metadata },
|
||||
prefillValuesSchema: { ...data, metadata },
|
||||
}}
|
||||
customizationId={`default-v1/${typeName}`}
|
||||
backlink={backLink}
|
||||
modeData={modeData}
|
||||
/>
|
||||
|
||||
@@ -48,6 +48,7 @@ export const CreateCrdsForm: FC<TCreateCrdsFormProps> = ({ namespace, apiGroup,
|
||||
typeName,
|
||||
prefillValueNamespaceOnly: namespace,
|
||||
}}
|
||||
customizationId={`default-${apiGroup}/${apiVersion}/${typeName}`}
|
||||
isCreate
|
||||
backlink={backLink}
|
||||
modeData={modeData}
|
||||
|
||||
@@ -84,6 +84,7 @@ export const UpdateCrdsForm: FC<TUpdateCrdsFormProps> = ({
|
||||
// prefillValuesSchema: { ...noStatusData, metadata },
|
||||
prefillValuesSchema: { ...data, metadata },
|
||||
}}
|
||||
customizationId={`default-${apiGroup}/${apiVersion}/${typeName}`}
|
||||
backlink={backLink}
|
||||
modeData={modeData}
|
||||
/>
|
||||
|
||||
@@ -10,7 +10,7 @@ export const FactoryPage: FC<TFactoryPageProps> = ({ forcedTheme }) => {
|
||||
return (
|
||||
<BaseTemplate forcedTheme={forcedTheme} withNoCluster>
|
||||
<NavigationContainer>
|
||||
<ManageableBreadcrumbs />
|
||||
<ManageableBreadcrumbs idToCompare={`factory-${window.location.pathname}`} />
|
||||
</NavigationContainer>
|
||||
<Factory />
|
||||
</BaseTemplate>
|
||||
|
||||
@@ -12,6 +12,7 @@ import {
|
||||
NavigationContainer,
|
||||
} from 'components'
|
||||
import { getSidebarIdPrefix } from 'utils/getSidebarIdPrefix'
|
||||
import { getBreadcrumbsIdPrefix } from 'utils/getBreadcrumbsIdPrefix'
|
||||
import { BaseTemplate } from 'templates'
|
||||
|
||||
type TFormApiPageProps = {
|
||||
@@ -38,6 +39,11 @@ export const FormApiPage: FC<TFormApiPageProps> = ({ forcedTheme, inside }) => {
|
||||
const backLink = searchParams.get('backlink')?.startsWith('/') ? searchParams.get('backlink') : undefined
|
||||
|
||||
const sidebarId = `${getSidebarIdPrefix({ instance: !!syntheticProject, project: !!namespace, inside })}api-form`
|
||||
const breadcrumbsId = `${getBreadcrumbsIdPrefix({
|
||||
instance: !!syntheticProject,
|
||||
project: !!namespace,
|
||||
inside,
|
||||
})}api-form`
|
||||
|
||||
return (
|
||||
<BaseTemplate
|
||||
@@ -53,7 +59,7 @@ export const FormApiPage: FC<TFormApiPageProps> = ({ forcedTheme, inside }) => {
|
||||
}
|
||||
>
|
||||
<NavigationContainer>
|
||||
<ManageableBreadcrumbs inside={inside} />
|
||||
<ManageableBreadcrumbs idToCompare={breadcrumbsId} inside={inside} />
|
||||
<BackLink
|
||||
to={backLink || customBacklink}
|
||||
title={`${entryName ? 'Update' : 'Create'} ${apiGroup}/${apiVersion}/${typeName}${
|
||||
|
||||
@@ -12,6 +12,7 @@ import {
|
||||
NavigationContainer,
|
||||
} from 'components'
|
||||
import { getSidebarIdPrefix } from 'utils/getSidebarIdPrefix'
|
||||
import { getBreadcrumbsIdPrefix } from 'utils/getBreadcrumbsIdPrefix'
|
||||
import { BaseTemplate } from 'templates'
|
||||
|
||||
type TFormBuiltinPageProps = {
|
||||
@@ -38,6 +39,11 @@ export const FormBuiltinPage: FC<TFormBuiltinPageProps> = ({ forcedTheme, inside
|
||||
const backLink = searchParams.get('backlink')?.startsWith('/') ? searchParams.get('backlink') : undefined
|
||||
|
||||
const sidebarId = `${getSidebarIdPrefix({ instance: !!syntheticProject, project: !!namespace, inside })}builtin-form`
|
||||
const breadcrumbsId = `${getBreadcrumbsIdPrefix({
|
||||
instance: !!syntheticProject,
|
||||
project: !!namespace,
|
||||
inside,
|
||||
})}builtin-form`
|
||||
|
||||
return (
|
||||
<BaseTemplate
|
||||
@@ -53,7 +59,7 @@ export const FormBuiltinPage: FC<TFormBuiltinPageProps> = ({ forcedTheme, inside
|
||||
}
|
||||
>
|
||||
<NavigationContainer>
|
||||
<ManageableBreadcrumbs inside={inside} />
|
||||
<ManageableBreadcrumbs idToCompare={breadcrumbsId} inside={inside} />
|
||||
<BackLink
|
||||
to={backLink || customBacklink}
|
||||
title={`${entryName ? 'Update' : 'Create'} ${typeName}${entryName ? `/${entryName}` : ''}`}
|
||||
|
||||
@@ -12,6 +12,7 @@ import {
|
||||
NavigationContainer,
|
||||
} from 'components'
|
||||
import { getSidebarIdPrefix } from 'utils/getSidebarIdPrefix'
|
||||
import { getBreadcrumbsIdPrefix } from 'utils/getBreadcrumbsIdPrefix'
|
||||
import { BaseTemplate } from 'templates'
|
||||
|
||||
type TFormCrdPageProps = {
|
||||
@@ -38,6 +39,11 @@ export const FormCrdPage: FC<TFormCrdPageProps> = ({ forcedTheme, inside }) => {
|
||||
const backLink = searchParams.get('backlink')?.startsWith('/') ? searchParams.get('backlink') : undefined
|
||||
|
||||
const sidebarId = `${getSidebarIdPrefix({ instance: !!syntheticProject, project: !!namespace, inside })}crd-form`
|
||||
const breadcrumbsId = `${getBreadcrumbsIdPrefix({
|
||||
instance: !!syntheticProject,
|
||||
project: !!namespace,
|
||||
inside,
|
||||
})}crd-form`
|
||||
|
||||
return (
|
||||
<BaseTemplate
|
||||
@@ -53,7 +59,7 @@ export const FormCrdPage: FC<TFormCrdPageProps> = ({ forcedTheme, inside }) => {
|
||||
}
|
||||
>
|
||||
<NavigationContainer>
|
||||
<ManageableBreadcrumbs inside={inside} />
|
||||
<ManageableBreadcrumbs idToCompare={breadcrumbsId} inside={inside} />
|
||||
<BackLink
|
||||
to={backLink || customBacklink}
|
||||
title={`${entryName ? 'Update' : 'Create'} ${apiGroup}/${apiVersion}/${typeName}${
|
||||
|
||||
@@ -3,6 +3,7 @@ import { ContentCard } from '@prorobotech/openapi-k8s-toolkit'
|
||||
import { useParams } from 'react-router-dom'
|
||||
import { ListInsideApisByApiGroup, ManageableBreadcrumbs, ManageableSidebar, NavigationContainer } from 'components'
|
||||
import { getSidebarIdPrefix } from 'utils/getSidebarIdPrefix'
|
||||
import { getBreadcrumbsIdPrefix } from 'utils/getBreadcrumbsIdPrefix'
|
||||
import { BaseTemplate } from 'templates'
|
||||
|
||||
type TListInsideApiByApiGroupPageProps = {
|
||||
@@ -14,11 +15,12 @@ export const ListInsideApiByApiGroupPage: FC<TListInsideApiByApiGroupPageProps>
|
||||
const { namespace, apiGroup, apiVersion } = useParams()
|
||||
|
||||
const sidebarId = `${getSidebarIdPrefix({ namespace: !!namespace, inside })}api-by-api`
|
||||
const breadcrumbsId = `${getBreadcrumbsIdPrefix({ namespace: !!namespace, inside })}api-by-api`
|
||||
|
||||
return (
|
||||
<BaseTemplate forcedTheme={forcedTheme} inside={inside} sidebar={<ManageableSidebar idToCompare={sidebarId} />}>
|
||||
<NavigationContainer>
|
||||
<ManageableBreadcrumbs inside />
|
||||
<ManageableBreadcrumbs idToCompare={breadcrumbsId} inside />
|
||||
</NavigationContainer>
|
||||
<ContentCard flexGrow={1} displayFlex flexFlow="column">
|
||||
{apiGroup && apiVersion && (
|
||||
|
||||
@@ -3,6 +3,7 @@ import { ContentCard } from '@prorobotech/openapi-k8s-toolkit'
|
||||
import { useParams } from 'react-router-dom'
|
||||
import { ListInsideAllResources, ManageableBreadcrumbs, ManageableSidebar, NavigationContainer } from 'components'
|
||||
import { getSidebarIdPrefix } from 'utils/getSidebarIdPrefix'
|
||||
import { getBreadcrumbsIdPrefix } from 'utils/getBreadcrumbsIdPrefix'
|
||||
import { BaseTemplate } from 'templates'
|
||||
|
||||
type TListInsideApiPageProps = {
|
||||
@@ -14,11 +15,12 @@ export const ListInsideApiPage: FC<TListInsideApiPageProps> = ({ forcedTheme, in
|
||||
const { namespace } = useParams()
|
||||
|
||||
const sidebarId = `${getSidebarIdPrefix({ namespace: !!namespace, inside })}apis`
|
||||
const breadcrumbsId = `${getBreadcrumbsIdPrefix({ namespace: !!namespace, inside })}apis`
|
||||
|
||||
return (
|
||||
<BaseTemplate forcedTheme={forcedTheme} inside={inside} sidebar={<ManageableSidebar idToCompare={sidebarId} />}>
|
||||
<NavigationContainer>
|
||||
<ManageableBreadcrumbs inside />
|
||||
<ManageableBreadcrumbs idToCompare={breadcrumbsId} inside />
|
||||
</NavigationContainer>
|
||||
<ContentCard flexGrow={1} displayFlex flexFlow="column">
|
||||
<ListInsideAllResources namespace={namespace} />
|
||||
|
||||
@@ -3,6 +3,7 @@ import { ContentCard } from '@prorobotech/openapi-k8s-toolkit'
|
||||
import { useParams } from 'react-router-dom'
|
||||
import { ListInsideCrdsByApiGroup, ManageableBreadcrumbs, ManageableSidebar, NavigationContainer } from 'components'
|
||||
import { getSidebarIdPrefix } from 'utils/getSidebarIdPrefix'
|
||||
import { getBreadcrumbsIdPrefix } from 'utils/getBreadcrumbsIdPrefix'
|
||||
import { BaseTemplate } from 'templates'
|
||||
|
||||
type TListInsideCrdByApiGroupPageProps = {
|
||||
@@ -14,11 +15,12 @@ export const ListInsideCrdByApiGroupPage: FC<TListInsideCrdByApiGroupPageProps>
|
||||
const { namespace, apiGroup, apiVersion, apiExtensionVersion } = useParams()
|
||||
|
||||
const sidebarId = `${getSidebarIdPrefix({ namespace: !!namespace, inside })}crd-by-api`
|
||||
const breadcrumbsId = `${getBreadcrumbsIdPrefix({ namespace: !!namespace, inside })}crd-by-api`
|
||||
|
||||
return (
|
||||
<BaseTemplate forcedTheme={forcedTheme} inside={inside} sidebar={<ManageableSidebar idToCompare={sidebarId} />}>
|
||||
<NavigationContainer>
|
||||
<ManageableBreadcrumbs inside />
|
||||
<ManageableBreadcrumbs idToCompare={breadcrumbsId} inside />
|
||||
</NavigationContainer>
|
||||
<ContentCard flexGrow={1} displayFlex flexFlow="column">
|
||||
{apiGroup && apiVersion && apiExtensionVersion && (
|
||||
|
||||
@@ -2,6 +2,7 @@ import React, { FC } from 'react'
|
||||
import { ContentCard } from '@prorobotech/openapi-k8s-toolkit'
|
||||
import { ListProjects, ManageableBreadcrumbs, ManageableSidebar, NavigationContainer } from 'components'
|
||||
import { getSidebarIdPrefix } from 'utils/getSidebarIdPrefix'
|
||||
import { getBreadcrumbsIdPrefix } from 'utils/getBreadcrumbsIdPrefix'
|
||||
import { BaseTemplate } from 'templates'
|
||||
|
||||
type TListProjectsPageProps = {
|
||||
@@ -10,11 +11,12 @@ type TListProjectsPageProps = {
|
||||
|
||||
export const ListProjectsPage: FC<TListProjectsPageProps> = ({ forcedTheme }) => {
|
||||
const sidebarId = `${getSidebarIdPrefix({})}projects-list`
|
||||
const breadcrumbsId = `${getBreadcrumbsIdPrefix({})}projects-list`
|
||||
|
||||
return (
|
||||
<BaseTemplate forcedTheme={forcedTheme} sidebar={<ManageableSidebar idToCompare={sidebarId} />}>
|
||||
<NavigationContainer>
|
||||
<ManageableBreadcrumbs />
|
||||
<ManageableBreadcrumbs idToCompare={breadcrumbsId} />
|
||||
</NavigationContainer>
|
||||
<ContentCard flexGrow={1} displayFlex flexFlow="column">
|
||||
<ListProjects />
|
||||
|
||||
@@ -5,6 +5,7 @@ import { useSelector } from 'react-redux'
|
||||
import type { RootState } from 'store/store'
|
||||
import { TableNonCrdInfo, BackLink, ManageableBreadcrumbs, ManageableSidebar, NavigationContainer } from 'components'
|
||||
import { getSidebarIdPrefix } from 'utils/getSidebarIdPrefix'
|
||||
import { getBreadcrumbsIdPrefix } from 'utils/getBreadcrumbsIdPrefix'
|
||||
import { BaseTemplate } from 'templates'
|
||||
import {
|
||||
BASE_INSTANCES_API_GROUP,
|
||||
@@ -44,6 +45,11 @@ export const TableApiPage: FC<TTableApiPageProps> = ({ forcedTheme, inside }) =>
|
||||
// const nonInstanceBackLink = namespace ? customBacklink : clustererBacklink
|
||||
|
||||
const sidebarId = `${getSidebarIdPrefix({ instance: !!syntheticProject, project: !!namespace, inside })}api-table`
|
||||
const breadcrumbsId = `${getBreadcrumbsIdPrefix({
|
||||
instance: !!syntheticProject,
|
||||
project: !!namespace,
|
||||
inside,
|
||||
})}api-table`
|
||||
|
||||
return (
|
||||
<BaseTemplate
|
||||
@@ -59,7 +65,7 @@ export const TableApiPage: FC<TTableApiPageProps> = ({ forcedTheme, inside }) =>
|
||||
}
|
||||
>
|
||||
<NavigationContainer>
|
||||
<ManageableBreadcrumbs inside={inside} />
|
||||
<ManageableBreadcrumbs idToCompare={breadcrumbsId} inside={inside} />
|
||||
<BackLink
|
||||
to={namespace ? customBacklinkWithInside : clustererBacklink}
|
||||
title={`${apiGroup}/${apiVersion}/${typeName}`}
|
||||
|
||||
@@ -5,6 +5,7 @@ import { useSelector } from 'react-redux'
|
||||
import type { RootState } from 'store/store'
|
||||
import { TableBuiltinInfo, BackLink, ManageableBreadcrumbs, ManageableSidebar, NavigationContainer } from 'components'
|
||||
import { getSidebarIdPrefix } from 'utils/getSidebarIdPrefix'
|
||||
import { getBreadcrumbsIdPrefix } from 'utils/getBreadcrumbsIdPrefix'
|
||||
import { BaseTemplate } from 'templates'
|
||||
import {
|
||||
BASE_INSTANCES_API_GROUP,
|
||||
@@ -36,6 +37,11 @@ export const TableBuiltinPage: FC<TTableBuiltinPageProps> = ({ forcedTheme, insi
|
||||
const clustererBacklink = inside ? customBacklinkWithInside : `${baseprefix}/clusters`
|
||||
|
||||
const sidebarId = `${getSidebarIdPrefix({ instance: !!syntheticProject, project: !!namespace, inside })}builtin-table`
|
||||
const breadcrumbsId = `${getBreadcrumbsIdPrefix({
|
||||
instance: !!syntheticProject,
|
||||
project: !!namespace,
|
||||
inside,
|
||||
})}builtin-table`
|
||||
|
||||
return (
|
||||
<BaseTemplate
|
||||
@@ -51,7 +57,7 @@ export const TableBuiltinPage: FC<TTableBuiltinPageProps> = ({ forcedTheme, insi
|
||||
}
|
||||
>
|
||||
<NavigationContainer>
|
||||
<ManageableBreadcrumbs inside={inside} />
|
||||
<ManageableBreadcrumbs idToCompare={breadcrumbsId} inside={inside} />
|
||||
<BackLink to={namespace ? customBacklinkWithInside : clustererBacklink} title={typeName} />
|
||||
</NavigationContainer>
|
||||
<ContentCard flexGrow={1} displayFlex flexFlow="column">
|
||||
|
||||
@@ -5,6 +5,7 @@ import { useSelector } from 'react-redux'
|
||||
import type { RootState } from 'store/store'
|
||||
import { TableCrdInfo, BackLink, ManageableBreadcrumbs, ManageableSidebar, NavigationContainer } from 'components'
|
||||
import { getSidebarIdPrefix } from 'utils/getSidebarIdPrefix'
|
||||
import { getBreadcrumbsIdPrefix } from 'utils/getBreadcrumbsIdPrefix'
|
||||
import { BaseTemplate } from 'templates'
|
||||
import {
|
||||
BASE_INSTANCES_API_GROUP,
|
||||
@@ -35,6 +36,11 @@ export const TableCrdPage: FC<TTableCrdPageProps> = ({ forcedTheme, inside }) =>
|
||||
const clustererBacklink = inside ? customBacklinkWithInside : `${baseprefix}/clusters`
|
||||
|
||||
const sidebarId = `${getSidebarIdPrefix({ instance: !!syntheticProject, project: !!namespace, inside })}crd-table`
|
||||
const breadcrumbsId = `${getBreadcrumbsIdPrefix({
|
||||
instance: !!syntheticProject,
|
||||
project: !!namespace,
|
||||
inside,
|
||||
})}crd-table`
|
||||
|
||||
return (
|
||||
<BaseTemplate
|
||||
@@ -50,7 +56,7 @@ export const TableCrdPage: FC<TTableCrdPageProps> = ({ forcedTheme, inside }) =>
|
||||
}
|
||||
>
|
||||
<NavigationContainer>
|
||||
<ManageableBreadcrumbs inside={inside} />
|
||||
<ManageableBreadcrumbs idToCompare={breadcrumbsId} inside={inside} />
|
||||
<BackLink
|
||||
to={namespace ? customBacklinkWithInside : clustererBacklink}
|
||||
title={`${apiGroup}/${apiVersion}/${crdName}`}
|
||||
|
||||
25
src/utils/getBreadcrumbsIdPrefix.ts
Normal file
25
src/utils/getBreadcrumbsIdPrefix.ts
Normal file
@@ -0,0 +1,25 @@
|
||||
export const getBreadcrumbsIdPrefix = ({
|
||||
project,
|
||||
instance,
|
||||
namespace,
|
||||
inside,
|
||||
}: {
|
||||
project?: boolean
|
||||
instance?: boolean
|
||||
namespace?: boolean
|
||||
inside?: boolean
|
||||
}): string => {
|
||||
let result = inside ? 'inside-' : 'stock-'
|
||||
|
||||
if (instance) {
|
||||
result += 'instance-'
|
||||
} else if (project) {
|
||||
result += 'project-'
|
||||
} else if (namespace) {
|
||||
result += 'namespace-'
|
||||
} else {
|
||||
result += 'cluster-'
|
||||
}
|
||||
|
||||
return result
|
||||
}
|
||||
Reference in New Issue
Block a user