11import * as React from 'react' ;
2- import { connect } from 'react-redux' ;
32import { useLocation , useNavigate } from 'react-router-dom-v5-compat' ;
43import * as _ from 'lodash-es' ;
54import { 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 */
2423import { useTranslation } from 'react-i18next' ;
2524
26- import { ANNOTATIONS , withActivePerspective } from '@console/shared' ;
25+ import { ANNOTATIONS } from '@console/shared' ;
2726import PaneBody from '@console/shared/src/components/layout/PaneBody' ;
2827import { 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' ;
3130import SecondaryHeading from '@console/shared/src/components/heading/SecondaryHeading' ;
3231import {
3332 getTemplateIcon ,
@@ -44,7 +43,6 @@ import {
4443 TemplateParameter ,
4544} from '../module/k8s' ;
4645import { k8sCreateResource , k8sUpdateResource } from '@console/dynamic-plugin-sdk/src/utils/k8s' ;
47- import { RootState } from '../redux' ;
4846
4947const 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} ;
137135TemplateInfo . displayName = 'TemplateInfo' ;
138136
139- const stateToProps = ( state : RootState ) => ( {
140- models : state . k8s . getIn ( [ 'RESOURCES' , 'models' ] ) ,
141- } ) ;
142-
143137const 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-
396386export 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
445429type TemplateFormFieldProps = {
0 commit comments