Skip to content

Commit 1fe9940

Browse files
Merge pull request #15717 from logonoff/CONSOLE-4840-s2e18-take-your-daughter-to-work-day
CONSOLE-4840: Remove static extensions used by metal3
2 parents 25235b8 + 4100871 commit 1fe9940

File tree

8 files changed

+41
-269
lines changed

8 files changed

+41
-269
lines changed

frontend/packages/console-plugin-sdk/src/typings/dashboards.ts

Lines changed: 0 additions & 100 deletions
This file was deleted.

frontend/packages/console-plugin-sdk/src/typings/features.ts

Lines changed: 0 additions & 20 deletions
This file was deleted.
Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1 @@
11
export * from './base';
2-
3-
// specific extension types
4-
export * from './dashboards';
5-
export * from './features';

frontend/packages/console-shared/src/components/dashboard/inventory-card/InventoryItem.tsx

Lines changed: 19 additions & 34 deletions
Original file line numberDiff line numberDiff line change
@@ -12,15 +12,14 @@ import { useTranslation } from 'react-i18next';
1212
import { Link } from 'react-router-dom-v5-compat';
1313
import {
1414
useResolvedExtensions,
15-
DashboardsInventoryItemGroup as DynamicDashboardsInventoryItemGroup,
16-
isDashboardsInventoryItemGroup as isDynamicDashboardsInventoryItemGroup,
15+
DashboardsInventoryItemGroup,
16+
isDashboardsInventoryItemGroup,
1717
} from '@console/dynamic-plugin-sdk';
18+
import type { ResolvedExtension } from '@console/dynamic-plugin-sdk/dist/core/lib/types';
1819
import { ResourceInventoryItemProps } from '@console/dynamic-plugin-sdk/src/api/internal-types';
1920
import { pluralize } from '@console/internal/components/utils/details-page';
2021
import { resourcePathFromModel } from '@console/internal/components/utils/resource-link';
2122
import { K8sResourceKind, K8sKind, K8sResourceCommon } from '@console/internal/module/k8s';
22-
import { DashboardsInventoryItemGroup, isDashboardsInventoryItemGroup } from '@console/plugin-sdk';
23-
import { useExtensions } from '@console/plugin-sdk/src/api/useExtensions';
2423
import { RedExclamationCircleIcon, YellowExclamationTriangleIcon } from '../../status/icons';
2524
import InventoryItemNew, {
2625
InventoryItemStatus,
@@ -41,7 +40,9 @@ const defaultStatusGroupIcons = {
4140
),
4241
};
4342

44-
const getStatusGroupIcons = (groups: DashboardsInventoryItemGroup['properties'][]) => {
43+
const getStatusGroupIcons = (
44+
groups: ResolvedExtension<DashboardsInventoryItemGroup>['properties'][],
45+
) => {
4546
const groupStatusIcons = { ...defaultStatusGroupIcons };
4647
groups.forEach((group) => {
4748
if (!groupStatusIcons[group.id]) {
@@ -52,7 +53,7 @@ const getStatusGroupIcons = (groups: DashboardsInventoryItemGroup['properties'][
5253
};
5354

5455
const getTop3Groups = (
55-
groups: DashboardsInventoryItemGroup['properties'][],
56+
groups: ResolvedExtension<DashboardsInventoryItemGroup>['properties'][],
5657
groupIDs: string[],
5758
) => {
5859
const groupStatuses: (InventoryStatusGroup | string)[] = [
@@ -139,19 +140,14 @@ export const InventoryItem: React.FC<InventoryItemProps> = React.memo(
139140
);
140141

141142
export const Status: React.FC<StatusProps> = ({ groupID, count }) => {
142-
const groupExtensions = useExtensions<DashboardsInventoryItemGroup>(
143+
const [groupExtensions] = useResolvedExtensions<DashboardsInventoryItemGroup>(
143144
isDashboardsInventoryItemGroup,
144145
);
145-
const [dynamicGroupExtensions] = useResolvedExtensions<DynamicDashboardsInventoryItemGroup>(
146-
isDynamicDashboardsInventoryItemGroup,
147-
);
148146

149147
const statusGroupIcons = React.useMemo(() => {
150-
const mergedExtensions = [...groupExtensions, ...dynamicGroupExtensions].map(
151-
(e) => e.properties,
152-
);
153-
return getStatusGroupIcons(mergedExtensions);
154-
}, [dynamicGroupExtensions, groupExtensions]);
148+
const extensions = groupExtensions.map((e) => e.properties);
149+
return getStatusGroupIcons(extensions);
150+
}, [groupExtensions]);
155151

156152
if (groupID === InventoryStatusGroup.NOT_MAPPED || !count) {
157153
return null;
@@ -171,20 +167,14 @@ const StatusLink: React.FC<StatusLinkProps> = ({
171167
filterType,
172168
basePath,
173169
}) => {
174-
const groupExtensions = useExtensions<DashboardsInventoryItemGroup>(
170+
const [groupExtensions] = useResolvedExtensions<DashboardsInventoryItemGroup>(
175171
isDashboardsInventoryItemGroup,
176172
);
177173

178-
const [dynamicGroupExtensions] = useResolvedExtensions<DynamicDashboardsInventoryItemGroup>(
179-
isDynamicDashboardsInventoryItemGroup,
180-
);
181-
182174
const statusGroupIcons = React.useMemo(() => {
183-
const mergedExtensions = [...groupExtensions, ...dynamicGroupExtensions].map(
184-
(e) => e.properties,
185-
);
186-
return getStatusGroupIcons(mergedExtensions);
187-
}, [dynamicGroupExtensions, groupExtensions]);
175+
const extensions = groupExtensions.map((e) => e.properties);
176+
return getStatusGroupIcons(extensions);
177+
}, [groupExtensions]);
188178

189179
if (groupID === InventoryStatusGroup.NOT_MAPPED || !count) {
190180
return null;
@@ -243,12 +233,9 @@ export const ResourceInventoryItem: React.FC<ResourceInventoryItemProps> = ({
243233

244234
if (TitleComponent) Title = TitleComponent;
245235

246-
const groupExtensions = useExtensions<DashboardsInventoryItemGroup>(
236+
const [groupExtensions] = useResolvedExtensions<DashboardsInventoryItemGroup>(
247237
isDashboardsInventoryItemGroup,
248238
);
249-
const [dynamicGroupExtensions] = useResolvedExtensions<DynamicDashboardsInventoryItemGroup>(
250-
isDynamicDashboardsInventoryItemGroup,
251-
);
252239

253240
const groups = React.useMemo(() => (mapper ? mapper(resources, additionalResources) : {}), [
254241
mapper,
@@ -257,14 +244,12 @@ export const ResourceInventoryItem: React.FC<ResourceInventoryItemProps> = ({
257244
]);
258245

259246
const top3Groups = React.useMemo(() => {
260-
const mergedExtensions = [...groupExtensions, ...dynamicGroupExtensions].map(
261-
(e) => e.properties,
262-
);
247+
const extensions = groupExtensions.map((e) => e.properties);
263248
return getTop3Groups(
264-
mergedExtensions,
249+
extensions,
265250
Object.keys(groups).filter((key) => groups[key].count > 0),
266251
);
267-
}, [dynamicGroupExtensions, groupExtensions, groups]);
252+
}, [groupExtensions, groups]);
268253

269254
// The count can depend on additionalResources (like mixing of VM and VMI for kubevirt-plugin)
270255
const totalCount = React.useMemo(

frontend/public/actions/features.ts

Lines changed: 0 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,6 @@ import * as _ from 'lodash-es';
33

44
import { FLAGS } from '@console/shared/src/constants/common';
55
import { K8sModel, UserInfo } from '@console/internal/module/k8s';
6-
import { isCustomFeatureFlag, CustomFeatureFlag } from '@console/plugin-sdk/src/typings';
76
import {
87
subscribeToExtensions,
98
extensionDiffListener,
@@ -129,12 +128,6 @@ const ssarCheckActions = ssarChecks.map(({ flag, resourceAttributes, after }) =>
129128
});
130129

131130
export const detectFeatures = () => (dispatch: Dispatch) => {
132-
subscribeToExtensions<CustomFeatureFlag>(
133-
extensionDiffListener((added) =>
134-
added.forEach((detector) => detector.properties.detect(dispatch)),
135-
),
136-
isCustomFeatureFlag,
137-
);
138131
[
139132
detectOpenShift,
140133
detectCanCreateProject,

frontend/public/components/dashboard/dashboards-page/cluster-dashboard/activity-card.tsx

Lines changed: 8 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -14,18 +14,12 @@ import ActivityBody, {
1414
RecentEventsBody,
1515
OngoingActivityBody,
1616
} from '@console/shared/src/components/dashboard/activity-card/ActivityBody';
17-
import { useExtensions } from '@console/plugin-sdk/src/api/useExtensions';
18-
import {
19-
DashboardsOverviewResourceActivity,
20-
isDashboardsOverviewResourceActivity,
21-
} from '@console/plugin-sdk';
2217
import {
2318
useResolvedExtensions,
24-
DashboardsOverviewResourceActivity as DynamicDashboardsOverviewResourceActivity,
19+
DashboardsOverviewResourceActivity,
2520
DashboardsOverviewPrometheusActivity,
26-
isDashboardsOverviewResourceActivity as isDynamicDashboardsOverviewResourceActivity,
21+
isDashboardsOverviewResourceActivity,
2722
isDashboardsOverviewPrometheusActivity,
28-
ResolvedExtension,
2923
} from '@console/dynamic-plugin-sdk';
3024
import { uniqueResource } from './utils';
3125
import { PrometheusResponse } from '../../../graphs';
@@ -65,19 +59,13 @@ const OngoingActivity = connect(mapStateToProps)(
6559
prometheusResults,
6660
models,
6761
}: DashboardItemProps & OngoingActivityProps) => {
68-
const resourceActivityExtensions = useExtensions<DashboardsOverviewResourceActivity>(
69-
isDashboardsOverviewResourceActivity,
70-
);
71-
const [dynamicResourceActivityExtensions] = useResolvedExtensions<
72-
DynamicDashboardsOverviewResourceActivity
73-
>(isDynamicDashboardsOverviewResourceActivity);
62+
const [resourceActivityExtensions] = useResolvedExtensions<
63+
DashboardsOverviewResourceActivity
64+
>(isDashboardsOverviewResourceActivity);
7465

7566
const resourceActivities = React.useMemo(
76-
() =>
77-
[...resourceActivityExtensions, ...dynamicResourceActivityExtensions].filter(
78-
(e) => !!models.get(e.properties.k8sResource.kind),
79-
),
80-
[dynamicResourceActivityExtensions, models, resourceActivityExtensions],
67+
() => resourceActivityExtensions.filter((e) => !!models.get(e.properties.k8sResource.kind)),
68+
[resourceActivityExtensions, models],
8169
);
8270

8371
const [prometheusActivities] = useResolvedExtensions<DashboardsOverviewPrometheusActivity>(
@@ -122,9 +110,7 @@ const OngoingActivity = connect(mapStateToProps)(
122110
.map((r) => ({
123111
resource: r,
124112
timestamp: a.properties.getTimestamp ? a.properties.getTimestamp(r) : null,
125-
loader: (a as DashboardsOverviewResourceActivity)?.properties?.loader,
126-
component: (a as ResolvedExtension<DynamicDashboardsOverviewResourceActivity>)
127-
?.properties?.component,
113+
component: a.properties.component,
128114
}));
129115
}),
130116
),

0 commit comments

Comments
 (0)