@@ -4,14 +4,14 @@ import jsyaml from 'js-yaml';
44
55import { ResourceDetails } from 'shared/components/ResourceDetails/ResourceDetails' ;
66import {
7- DynamicPageHeader ,
7+ Tag ,
88 Button ,
9+ DynamicPageHeader ,
910 FlexBox ,
10- Text ,
11- Tag ,
1211 List ,
13- ListItemStandard ,
1412 MessageStrip ,
13+ ListItemStandard ,
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, resolveType } 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 => {
@@ -483,27 +481,33 @@ export default function KymaModulesList({
483481 mode = "None"
484482 separators = "All"
485483 >
486- { getAssociatedResources ( ) . map ( assResource => (
487- < ListItemStandard
488- onClick = { e => {
489- e . preventDefault ( ) ;
490- handleItemClick (
491- assResource . kind ,
492- assResource . group ,
493- assResource . version ,
494- ) ;
495- } }
496- type = "Active"
497- key = { `${ assResource . kind } -${ assResource . group } -${ assResource . version } ` }
498- additionalText = {
499- resourceCounts [
500- `${ assResource . kind } -${ assResource . group } -${ assResource . version } `
501- ] || t ( 'common.headers.loading' )
502- }
503- >
504- { pluralize ( assResource ?. kind ) }
505- </ ListItemStandard >
506- ) ) }
484+ { getAssociatedResources ( ) . map ( assResource => {
485+ const resourceCount =
486+ resourceCounts [
487+ `${ assResource . kind } -${ assResource . group } -${ assResource . version } `
488+ ] ;
489+
490+ return (
491+ < ListItemStandard
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+ ( resourceCount === 0 ? '0' : resourceCount ) ||
504+ t ( 'common.headers.loading' )
505+ }
506+ >
507+ { pluralize ( assResource ?. kind ) }
508+ </ ListItemStandard >
509+ ) ;
510+ } ) }
507511 </ List >
508512 </ >
509513 )
0 commit comments