Skip to content

Commit

Permalink
fix(cards): replace instances of card.component.name (#1081)
Browse files Browse the repository at this point in the history
  • Loading branch information
maxcao13 authored Aug 5, 2023
1 parent 796d317 commit 52a0ef0
Show file tree
Hide file tree
Showing 9 changed files with 61 additions and 22 deletions.
4 changes: 2 additions & 2 deletions src/app/Dashboard/AddCard.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -119,8 +119,8 @@ export const AddCard: React.FC<AddCardProps> = ({ variant, ..._props }) => {
setShowWizard(false);
const config = getCardDescriptorByTitle(selection, t);
const cardConfig: CardConfig = {
id: `${config.component.name}-${nanoid()}`,
name: config.component.name,
id: `${config.component.cardComponentName}-${nanoid()}`,
name: config.component.cardComponentName,
span: config.cardSizes.span.default,
props: propsConfig,
};
Expand Down
11 changes: 9 additions & 2 deletions src/app/Dashboard/AutomatedAnalysis/AutomatedAnalysisCard.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -97,7 +97,12 @@ import * as React from 'react';
import { useTranslation } from 'react-i18next';
import { useDispatch, useSelector } from 'react-redux';
import { filter, first, map, tap } from 'rxjs';
import { DashboardCardDescriptor, DashboardCardSizes, DashboardCardTypeProps } from '../dashboard-utils';
import {

Check warning on line 100 in src/app/Dashboard/AutomatedAnalysis/AutomatedAnalysisCard.tsx

View workflow job for this annotation

GitHub Actions / eslint-check (16.x)

Dependency cycle detected

Check warning on line 100 in src/app/Dashboard/AutomatedAnalysis/AutomatedAnalysisCard.tsx

View workflow job for this annotation

GitHub Actions / eslint-check (18.x)

Dependency cycle detected
DashboardCardDescriptor,
DashboardCardFC,
DashboardCardSizes,
DashboardCardTypeProps,
} from '../dashboard-utils';
import { DashboardCard } from '../DashboardCard';
import { AutomatedAnalysisCardList } from './AutomatedAnalysisCardList';
import { AutomatedAnalysisConfigDrawer } from './AutomatedAnalysisConfigDrawer';
Expand All @@ -113,7 +118,7 @@ import { AutomatedAnalysisScoreFilter } from './Filters/AutomatedAnalysisScoreFi

export interface AutomatedAnalysisCardProps extends DashboardCardTypeProps {}

export const AutomatedAnalysisCard: React.FC<AutomatedAnalysisCardProps> = (props) => {
export const AutomatedAnalysisCard: DashboardCardFC<AutomatedAnalysisCardProps> = (props) => {
const context = React.useContext(ServiceContext);
const addSubscription = useSubscriptions();
const dispatch = useDispatch<StateDispatch>();
Expand Down Expand Up @@ -853,6 +858,8 @@ export const AutomatedAnalysisCard: React.FC<AutomatedAnalysisCardProps> = (prop
);
};

AutomatedAnalysisCard.cardComponentName = 'AutomatedAnalysisCard';

export type AutomatedAnalysisHeaderLabelType = 'critical' | 'warning' | 'ok';

export interface AutomatedAnalysisHeaderLabelProps {
Expand Down
11 changes: 9 additions & 2 deletions src/app/Dashboard/Charts/jfr/JFRMetricsChartCard.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,12 @@
*/

import { CreateRecordingProps } from '@app/CreateRecording/CreateRecording';
import { DashboardCardDescriptor, DashboardCardSizes, DashboardCardTypeProps } from '@app/Dashboard/dashboard-utils';
import {
DashboardCardDescriptor,
DashboardCardFC,
DashboardCardSizes,
DashboardCardTypeProps,
} from '@app/Dashboard/dashboard-utils';
import { LoadingView } from '@app/LoadingView/LoadingView';
import { ServiceContext } from '@app/Shared/Services/Services';
import { FeatureLevel } from '@app/Shared/Services/Settings.service';
Expand Down Expand Up @@ -82,7 +87,7 @@ export function kindToId(kind: string): number {
return JFRMetricsChartKind[kind];
}

export const JFRMetricsChartCard: React.FC<JFRMetricsChartCardProps> = (props) => {
export const JFRMetricsChartCard: DashboardCardFC<JFRMetricsChartCardProps> = (props) => {
const [t] = useTranslation();
const serviceContext = React.useContext(ServiceContext);
const controllerContext = React.useContext(ChartContext);
Expand Down Expand Up @@ -263,6 +268,8 @@ export const JFRMetricsChartCard: React.FC<JFRMetricsChartCardProps> = (props) =
);
};

JFRMetricsChartCard.cardComponentName = 'JFRMetricsChartCard';

export const JFRMetricsChartCardSizes: DashboardCardSizes = {
span: {
minimum: 3,
Expand Down
11 changes: 9 additions & 2 deletions src/app/Dashboard/Charts/mbean/MBeanMetricsChartCard.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,12 @@
* limitations under the License.
*/

import { DashboardCardDescriptor, DashboardCardSizes, DashboardCardTypeProps } from '@app/Dashboard/dashboard-utils';
import {
DashboardCardDescriptor,
DashboardCardFC,
DashboardCardSizes,
DashboardCardTypeProps,
} from '@app/Dashboard/dashboard-utils';
import { ThemeSetting, ThemeType } from '@app/Settings/SettingsUtils';
import { MBeanMetrics } from '@app/Shared/Services/Api.service';
import { ServiceContext } from '@app/Shared/Services/Services';
Expand Down Expand Up @@ -357,7 +362,7 @@ function getChartKindByName(name: string): MBeanMetricsChartKind {
return chartKinds.filter((k) => k.displayName === name)[0];
}

export const MBeanMetricsChartCard: React.FC<MBeanMetricsChartCardProps> = (props) => {
export const MBeanMetricsChartCard: DashboardCardFC<MBeanMetricsChartCardProps> = (props) => {
const { t } = useTranslation();
const [theme] = useTheme();
const serviceContext = React.useContext(ServiceContext);
Expand Down Expand Up @@ -477,6 +482,8 @@ export const MBeanMetricsChartCard: React.FC<MBeanMetricsChartCardProps> = (prop
);
};

MBeanMetricsChartCard.cardComponentName = 'MBeanMetricsChartCard';

export const MBeanMetricsChartCardSizes: DashboardCardSizes = {
span: {
minimum: 2,
Expand Down
12 changes: 10 additions & 2 deletions src/app/Dashboard/ErrorCard.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -31,7 +31,13 @@ import {
import { WrenchIcon } from '@patternfly/react-icons';
import * as React from 'react';
import { useTranslation } from 'react-i18next';
import { CardConfig, CardValidationResult, DashboardCardSizes, DashboardCardTypeProps } from './dashboard-utils';
import {
CardConfig,
CardValidationResult,
DashboardCardFC,
DashboardCardSizes,
DashboardCardTypeProps,
} from './dashboard-utils';
import { DashboardCard } from './DashboardCard';

export interface ErrorCardProps extends DashboardCardTypeProps {
Expand All @@ -40,7 +46,7 @@ export interface ErrorCardProps extends DashboardCardTypeProps {
}

// TODO: Fix title + design body
export const ErrorCard: React.FC<ErrorCardProps> = ({
export const ErrorCard: DashboardCardFC<ErrorCardProps> = ({
validationResult,
cardConfig: _cardConfig,
dashboardId,
Expand Down Expand Up @@ -91,6 +97,8 @@ export const ErrorCard: React.FC<ErrorCardProps> = ({
);
};

ErrorCard.cardComponentName = 'ErrorCard';

export const ErrorCardSizes: DashboardCardSizes = {
span: {
minimum: 2,
Expand Down
11 changes: 9 additions & 2 deletions src/app/Dashboard/JvmDetails/JvmDetailsCard.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -24,13 +24,18 @@ import { useSubscriptions } from '@app/utils/useSubscriptions';
import { CardActions, CardBody, CardHeader } from '@patternfly/react-core';
import { ContainerNodeIcon } from '@patternfly/react-icons';
import * as React from 'react';
import { DashboardCardDescriptor, DashboardCardSizes, DashboardCardTypeProps } from '../dashboard-utils';
import {
DashboardCardDescriptor,
DashboardCardFC,
DashboardCardSizes,
DashboardCardTypeProps,
} from '../dashboard-utils';
import { DashboardCard } from '../DashboardCard';
import '@app/Topology/styles/base.css';

export interface JvmDetailsCardProps extends DashboardCardTypeProps {}

export const JvmDetailsCard: React.FC<JvmDetailsCardProps> = (props) => {
export const JvmDetailsCard: DashboardCardFC<JvmDetailsCardProps> = (props) => {
const context = React.useContext(ServiceContext);
const addSubscription = useSubscriptions();

Expand Down Expand Up @@ -78,6 +83,8 @@ export const JvmDetailsCard: React.FC<JvmDetailsCardProps> = (props) => {
);
};

JvmDetailsCard.cardComponentName = 'JvmDetailsCard';

export const JvmDetailsCardSizes: DashboardCardSizes = {
span: {
minimum: 4,
Expand Down
2 changes: 1 addition & 1 deletion src/app/Dashboard/LayoutTemplateUploadModal.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -96,7 +96,7 @@ export const LayoutTemplateUploadModal: React.FC<LayoutTemplateUploadModalProps>
Object.keys(cardConfig).length !== Object.keys(mockSerialCardConfig).length ||
cardConfig.name === undefined ||
!getDashboardCards()
.map((c) => c.component.name)
.map((c) => c.component.cardComponentName)
.includes(cardConfig.name) ||
cardConfig.span === undefined ||
cardConfig.props === undefined
Expand Down
9 changes: 6 additions & 3 deletions src/app/Dashboard/dashboard-utils.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -173,7 +173,7 @@ export const getUniqueIncrementingName = (init = 'Custom', names: string[]): str

export function hasCardDescriptorByName(name: string): boolean {
for (const choice of getDashboardCards()) {
if (choice.component.name === name) {
if (choice.component.cardComponentName === name) {
return true;
}
}
Expand All @@ -182,7 +182,7 @@ export function hasCardDescriptorByName(name: string): boolean {

export function getCardDescriptorByName(name: string): DashboardCardDescriptor {
for (const choice of getDashboardCards()) {
if (choice.component.name === name) {
if (choice.component.cardComponentName === name) {
return choice;
}
}
Expand Down Expand Up @@ -368,10 +368,13 @@ export interface DashboardCardDescriptor {
cardSizes: DashboardCardSizes;
description: string;
descriptionFull: JSX.Element | string;
component: React.FC<any>;
component: DashboardCardFC<any>;
propControls: PropControl[];
advancedConfig?: JSX.Element;
}
export type DashboardCardFC<P> = React.FC<P> & {
cardComponentName: string;
};

export interface PropControlExtra {
displayMapper?: (value: string) => string /* only has effect with 'select' PropControl kind */;
Expand Down
12 changes: 6 additions & 6 deletions src/app/Shared/Redux/Configurations/DashboardConfigSlice.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -280,8 +280,8 @@ export const dashboardConfigReducer = createReducer(INITIAL_STATE, (builder) =>
.addCase(dashboardConfigFirstRunIntent, (state) => {
state.layouts[state.current].cards = [
{
id: `${MBeanMetricsChartCardDescriptor.component.name}-1`,
name: MBeanMetricsChartCardDescriptor.component.name,
id: `${MBeanMetricsChartCardDescriptor.component.cardComponentName}-1`,
name: MBeanMetricsChartCardDescriptor.component.cardComponentName,
span: MBeanMetricsChartCardDescriptor.cardSizes.span.default,
props: {
themeColor: 'blue',
Expand All @@ -291,8 +291,8 @@ export const dashboardConfigReducer = createReducer(INITIAL_STATE, (builder) =>
},
},
{
id: `${MBeanMetricsChartCardDescriptor.component.name}-2`,
name: MBeanMetricsChartCardDescriptor.component.name,
id: `${MBeanMetricsChartCardDescriptor.component.cardComponentName}-2`,
name: MBeanMetricsChartCardDescriptor.component.cardComponentName,
span: MBeanMetricsChartCardDescriptor.cardSizes.span.default,
props: {
themeColor: 'purple',
Expand All @@ -302,8 +302,8 @@ export const dashboardConfigReducer = createReducer(INITIAL_STATE, (builder) =>
},
},
{
id: `${MBeanMetricsChartCardDescriptor.component.name}-3`,
name: MBeanMetricsChartCardDescriptor.component.name,
id: `${MBeanMetricsChartCardDescriptor.component.cardComponentName}-3`,
name: MBeanMetricsChartCardDescriptor.component.cardComponentName,
span: MBeanMetricsChartCardDescriptor.cardSizes.span.default,
props: {
themeColor: 'green',
Expand Down

0 comments on commit 52a0ef0

Please sign in to comment.