Skip to content

Commit 6d341bb

Browse files
committed
CONSOLE-4841: Remove withExtensions HOC
It's used in one spot which we can remove
1 parent b94f38e commit 6d341bb

File tree

4 files changed

+9
-119
lines changed

4 files changed

+9
-119
lines changed

frontend/packages/console-plugin-sdk/src/api/pluginSubscriptionService.ts

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -136,8 +136,7 @@ export const getPluginStore = (): PluginStore => {
136136
*
137137
* _Tip: need to access extensions in a React component?_
138138
* - **Yes**
139-
* - Functional components: use `useExtensions` hook.
140-
* - Class components: use `withExtensions` higher-order component.
139+
* - Use `useExtensions` hook.
141140
* - **No**
142141
* - Use `subscribeToExtensions` function.
143142
*

frontend/packages/console-plugin-sdk/src/api/withExtensions.tsx

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

frontend/packages/console-plugin-sdk/src/index.ts

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,4 +4,3 @@ export * from './store';
44

55
// React integrations
66
export * from './api/useExtensions';
7-
export * from './api/withExtensions';

frontend/public/components/instantiate-template.tsx

Lines changed: 8 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,4 @@
11
import * as React from 'react';
2-
import { connect } from 'react-redux';
32
import { useLocation, useNavigate } from 'react-router-dom-v5-compat';
43
import * as _ from 'lodash-es';
54
import { DocumentTitle } from '@console/shared/src/components/document-title/DocumentTitle';
@@ -23,11 +22,11 @@ import { CompressIcon, ExpandIcon } from '@patternfly/react-icons/dist/js/icons'
2322
/* eslint-disable import/named */
2423
import { useTranslation } from 'react-i18next';
2524

26-
import { ANNOTATIONS, withActivePerspective } from '@console/shared';
25+
import { ANNOTATIONS } from '@console/shared';
2726
import PaneBody from '@console/shared/src/components/layout/PaneBody';
2827
import { ExternalLink } from '@console/shared/src/components/links/ExternalLink';
29-
import { Perspective, isPerspective } from '@console/dynamic-plugin-sdk';
30-
import { withExtensions } from '@console/plugin-sdk';
28+
import { Perspective, isPerspective, useActivePerspective } from '@console/dynamic-plugin-sdk';
29+
import { useExtensions } from '@console/plugin-sdk';
3130
import SecondaryHeading from '@console/shared/src/components/heading/SecondaryHeading';
3231
import {
3332
getTemplateIcon,
@@ -44,7 +43,6 @@ import {
4443
TemplateParameter,
4544
} from '../module/k8s';
4645
import { k8sCreateResource, k8sUpdateResource } from '@console/dynamic-plugin-sdk/src/utils/k8s';
47-
import { RootState } from '../redux';
4846

4947
const TemplateResourceDetails: React.FC<TemplateResourceDetailsProps> = ({ template }) => {
5048
const resources = _.uniq(_.compact(_.map(template.objects, 'kind'))).sort();
@@ -136,10 +134,6 @@ const TemplateInfo: React.FC<TemplateInfoProps> = ({ template }) => {
136134
};
137135
TemplateInfo.displayName = 'TemplateInfo';
138136

139-
const stateToProps = (state: RootState) => ({
140-
models: state.k8s.getIn(['RESOURCES', 'models']),
141-
});
142-
143137
const TemplateFormField: React.FC<TemplateFormFieldProps> = ({
144138
name,
145139
value,
@@ -202,9 +196,11 @@ const TemplateFormField: React.FC<TemplateFormFieldProps> = ({
202196
);
203197
};
204198

205-
const TemplateForm_: React.FC<TemplateFormProps> = (props) => {
206-
const { preselectedNamespace: ns = '', activePerspective, perspectiveExtensions, obj } = props;
199+
export const TemplateForm: React.FC<TemplateFormProps> = (props) => {
200+
const { preselectedNamespace: ns = '', obj } = props;
207201

202+
const perspectiveExtensions = useExtensions<Perspective>(isPerspective);
203+
const [activePerspective] = useActivePerspective();
208204
const [namespace, setNamespace] = React.useState(ns);
209205
const [parameters, setParameters] = React.useState([]);
210206
const [inProgress, setInProgress] = React.useState(false);
@@ -387,12 +383,6 @@ const TemplateForm_: React.FC<TemplateFormProps> = (props) => {
387383
);
388384
};
389385

390-
const TemplateForm = connect(stateToProps)(
391-
withExtensions<ExtensionsProps>({ perspectiveExtensions: isPerspective })(
392-
withActivePerspective<TemplateFormProps>(TemplateForm_),
393-
),
394-
);
395-
396386
export const InstantiateTemplatePage: React.FC<{}> = (props) => {
397387
const title = 'Instantiate Template';
398388
const location = useLocation();
@@ -431,15 +421,9 @@ type TemplateInfoProps = {
431421
template: TemplateKind;
432422
};
433423

434-
type ExtensionsProps = {
435-
perspectiveExtensions: Perspective[];
436-
};
437-
438-
type TemplateFormProps = ExtensionsProps & {
424+
type TemplateFormProps = {
439425
obj: any;
440426
preselectedNamespace: string;
441-
models: any;
442-
activePerspective: string;
443427
};
444428

445429
type TemplateFormFieldProps = {

0 commit comments

Comments
 (0)