@@ -4,14 +4,14 @@ import jsyaml from 'js-yaml';
44
55import { ResourceDetails } from 'shared/components/ResourceDetails/ResourceDetails' ;
66import {
7- DynamicPageHeader ,
7+ Badge ,
88 Button ,
9+ DynamicPageHeader ,
910 FlexBox ,
10- Text ,
11- Badge ,
1211 List ,
13- StandardListItem ,
1412 MessageStrip ,
13+ StandardListItem ,
14+ Text ,
1515} from '@ui5/webcomponents-react' ;
1616
1717import { HintButton } from 'shared/components/DescriptionHint/DescriptionHint' ;
@@ -28,11 +28,11 @@ import { ExternalLink } from 'shared/components/ExternalLink/ExternalLink';
2828import { EMPTY_TEXT_PLACEHOLDER } from 'shared/constants' ;
2929import KymaModulesCreate from './KymaModulesCreate' ;
3030import {
31+ apiGroup ,
32+ apiVersion ,
3133 ReleaseChannelDescription ,
3234 ResourceDescription ,
3335 resourceType ,
34- apiGroup ,
35- apiVersion ,
3636} from 'components/KymaModules' ;
3737import { useSetRecoilState } from 'recoil' ;
3838import { columnLayoutState } from 'state/columnLayoutAtom' ;
@@ -45,6 +45,10 @@ import { ModuleStatus } from './components/ModuleStatus';
4545import { cloneDeep } from 'lodash' ;
4646import { StatusBadge } from 'shared/components/StatusBadge/StatusBadge' ;
4747import { useNavigate } from 'react-router-dom' ;
48+ import {
49+ useModulesReleaseQuery ,
50+ useModuleTemplatesQuery ,
51+ } from './kymaModulesQueries' ;
4852
4953export default function KymaModulesList ( {
5054 DeleteMessageBox,
@@ -56,7 +60,6 @@ export default function KymaModulesList({
5660 resourceUrl,
5761 kymaResource,
5862 kymaResourceLoading,
59- kymaResourcesLoading,
6063 kymaResourceState,
6164 selectedModules,
6265 setOpenedModuleIndex,
@@ -83,29 +86,21 @@ export default function KymaModulesList({
8386
8487 const namespace = 'kyma-system' ;
8588
86- const modulesResourceUrl = `/apis/operator.kyma-project.io/v1beta2/moduletemplates` ;
87- const modulesReleaseMetaResourceUrl = `/apis/operator.kyma-project.io/v1beta2/modulereleasemetas` ;
88-
89- const { data : moduleReleaseMetas } = useGet ( modulesReleaseMetaResourceUrl , {
90- pollingInterval : 3000 ,
89+ const { data : moduleReleaseMetas } = useModulesReleaseQuery ( {
9190 skip : ! resourceName ,
9291 } ) ;
93-
94- const { data : modules , loading : modulesLoading } = useGet (
95- modulesResourceUrl ,
96- {
97- pollingInterval : 3000 ,
98- skip : ! resourceName ,
99- } ,
100- ) ;
92+ const {
93+ data : moduleTemplates ,
94+ loading : moduleTemplateLoading ,
95+ } = useModuleTemplatesQuery ( { skip : ! resourceName } ) ;
10196
10297 const crdUrl = `/apis/apiextensions.k8s.io/v1/customresourcedefinitions` ;
10398 const { data : crds } = useGet ( crdUrl , {
10499 pollingInterval : 5000 ,
105100 } ) ;
106101 const [ chosenModuleIndex , setChosenModuleIndex ] = useState ( null ) ;
107102
108- if ( kymaResourcesLoading || modulesLoading || kymaResourceLoading ) {
103+ if ( moduleTemplateLoading || kymaResourceLoading ) {
109104 return < Spinner /> ;
110105 }
111106
@@ -125,22 +120,25 @@ export default function KymaModulesList({
125120
126121 const ModulesList = resource => {
127122 const findModule = ( moduleName , channel , version ) => {
128- // This change was made due to changes in modules and should be simplified once all modules migrate
129- const moduleWithoutInfo = modules ?. items ?. find (
130- module =>
123+ // This change was made due to changes in moduleTemplates and should be simplified once all moduleTemplates migrate
124+ const moduleTemplateWithoutInfo = moduleTemplates ?. items ?. find (
125+ moduleTemplate =>
131126 moduleName ===
132- module . metadata . labels [ 'operator.kyma-project.io/module-name' ] &&
133- module . spec . channel === channel ,
127+ moduleTemplate . metadata . labels [
128+ 'operator.kyma-project.io/module-name'
129+ ] && moduleTemplate . spec . channel === channel ,
134130 ) ;
135- const moduleWithInfo = modules ?. items ?. find (
136- module =>
131+ const moduleWithInfo = moduleTemplates ?. items ?. find (
132+ moduleTemplate =>
137133 moduleName ===
138- module . metadata . labels [ 'operator.kyma-project.io/module-name' ] &&
139- ! module . spec . channel &&
140- module . spec . version === version ,
134+ moduleTemplate . metadata . labels [
135+ 'operator.kyma-project.io/module-name'
136+ ] &&
137+ ! moduleTemplate . spec . channel &&
138+ moduleTemplate . spec . version === version ,
141139 ) ;
142140
143- return moduleWithInfo ?? moduleWithoutInfo ;
141+ return moduleWithInfo ?? moduleTemplateWithoutInfo ;
144142 } ;
145143
146144 const findModuleReleaseMeta = moduleName => {
@@ -487,27 +485,33 @@ export default function KymaModulesList({
487485 mode = "None"
488486 separators = "All"
489487 >
490- { getAssociatedResources ( ) . map ( assResource => (
491- < StandardListItem
492- onClick = { e => {
493- e . preventDefault ( ) ;
494- handleItemClick (
495- assResource . kind ,
496- assResource . group ,
497- assResource . version ,
498- ) ;
499- } }
500- type = "Active"
501- key = { `${ assResource . kind } -${ assResource . group } -${ assResource . version } ` }
502- additionalText = {
503- resourceCounts [
504- `${ assResource . kind } -${ assResource . group } -${ assResource . version } `
505- ] || t ( 'common.headers.loading' )
506- }
507- >
508- { pluralize ( assResource ?. kind ) }
509- </ StandardListItem >
510- ) ) }
488+ { getAssociatedResources ( ) . map ( assResource => {
489+ const resourceCount =
490+ resourceCounts [
491+ `${ assResource . kind } -${ assResource . group } -${ assResource . version } `
492+ ] ;
493+
494+ return (
495+ < StandardListItem
496+ onClick = { e => {
497+ e . preventDefault ( ) ;
498+ handleItemClick (
499+ assResource . kind ,
500+ assResource . group ,
501+ assResource . version ,
502+ ) ;
503+ } }
504+ type = "Active"
505+ key = { `${ assResource . kind } -${ assResource . group } -${ assResource . version } ` }
506+ additionalText = {
507+ ( resourceCount === 0 ? '0' : resourceCount ) ||
508+ t ( 'common.headers.loading' )
509+ }
510+ >
511+ { pluralize ( assResource ?. kind ) }
512+ </ StandardListItem >
513+ ) ;
514+ } ) }
511515 </ List >
512516 </ >
513517 )
0 commit comments