Skip to content

Commit 44e5d54

Browse files
committed
Merge branch 'main' of github.com:kyma-project/busola into ui5-migrate-v2
2 parents f25c4e7 + 79d7b67 commit 44e5d54

File tree

7 files changed

+152
-130
lines changed

7 files changed

+152
-130
lines changed

src/components/Clusters/views/ClusterOverview/ClusterDetails.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@ import { DynamicPageComponent } from 'shared/components/DynamicPageComponent/Dyn
77
import ResourceDetailsCard from 'shared/components/ResourceDetails/ResourceDetailsCard';
88
import { Button, Text } from '@ui5/webcomponents-react';
99
import { CountingCard } from 'shared/components/CountingCard/CountingCard';
10-
import { useKymaModulesQuery } from 'components/KymaModules/KymaModulesQuery';
10+
import { useKymaModulesQuery } from 'components/KymaModules/kymaModulesQueries';
1111
import { useUrl } from 'hooks/useUrl';
1212
import { useNavigate } from 'react-router-dom';
1313

src/components/KymaModules/KymaModulesAddModule.js

Lines changed: 9 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -1,14 +1,16 @@
11
import { useCallback, useEffect, useState } from 'react';
2-
import { useTranslation } from 'react-i18next';
3-
import { useGet } from 'shared/hooks/BackendAPI/useGet';
4-
52
import { MessageStrip } from '@ui5/webcomponents-react';
3+
import { useTranslation } from 'react-i18next';
64
import { ResourceForm } from 'shared/ResourceForm';
75
import { Spinner } from 'shared/components/Spinner/Spinner';
86
import ModulesCard from './ModulesCard';
7+
import { cloneDeep } from 'lodash';
8+
import {
9+
useModulesReleaseQuery,
10+
useModuleTemplatesQuery,
11+
} from './kymaModulesQueries';
912

1013
import './KymaModulesAddModule.scss';
11-
import { cloneDeep } from 'lodash';
1214

1315
export default function KymaModulesAddModule({
1416
resourceName,
@@ -22,10 +24,6 @@ export default function KymaModulesAddModule({
2224
}) {
2325
const { t } = useTranslation();
2426

25-
const modulesResourceUrl = `/apis/operator.kyma-project.io/v1beta2/moduletemplates`;
26-
27-
const modulesReleaseMetaResourceUrl = `/apis/operator.kyma-project.io/v1beta2/modulereleasemetas`;
28-
2927
const [resource, setResource] = useState(cloneDeep(kymaResource));
3028

3129
const [selectedModules, setSelectedModules] = useState([]);
@@ -49,13 +47,10 @@ export default function KymaModulesAddModule({
4947
}
5048
}, [setKymaResource, kymaResource, selectedModules, activeKymaModules]);
5149

52-
const { data: modules } = useGet(modulesResourceUrl, {
53-
pollingInterval: 3000,
50+
const { data: moduleReleaseMetas } = useModulesReleaseQuery({
5451
skip: !resourceName,
5552
});
56-
57-
const { data: moduleReleaseMetas } = useGet(modulesReleaseMetaResourceUrl, {
58-
pollingInterval: 3000,
53+
const { data: moduleTemplates } = useModuleTemplatesQuery({
5954
skip: !resourceName,
6055
});
6156

@@ -100,7 +95,7 @@ export default function KymaModulesAddModule({
10095
);
10196
}
10297

103-
const modulesAddData = modules?.items.reduce((acc, module) => {
98+
const modulesAddData = moduleTemplates?.items.reduce((acc, module) => {
10499
const name = module.metadata.labels['operator.kyma-project.io/module-name'];
105100
const existingModule = acc.find(item => item.name === name);
106101
const isAlreadyInstalled = initialUnchangedResource?.spec?.modules?.find(

src/components/KymaModules/KymaModulesCreate.js

Lines changed: 13 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,6 @@ import { useTranslation } from 'react-i18next';
77
import { useUrl } from 'hooks/useUrl';
88

99
import { useNotification } from 'shared/contexts/NotificationContext';
10-
import { useGet } from 'shared/hooks/BackendAPI/useGet';
1110
import { useUpdate } from 'shared/hooks/BackendAPI/useMutation';
1211
import { useSingleGet } from 'shared/hooks/BackendAPI/useGet';
1312
import { HttpError } from 'shared/hooks/BackendAPI/config';
@@ -32,6 +31,10 @@ import { isResourceEditedState } from 'state/resourceEditedAtom';
3231
import { ManagedWarnings } from './ManagedWarnings';
3332
import { ChannelWarning } from './ChannelWarning';
3433
import { UnmanagedModuleInfo } from './UnmanagedModuleInfo';
34+
import {
35+
useModulesReleaseQuery,
36+
useModuleTemplatesQuery,
37+
} from './kymaModulesQueries';
3538

3639
export default function KymaModulesCreate({ resource, ...props }) {
3740
const { t } = useTranslation();
@@ -42,20 +45,17 @@ export default function KymaModulesCreate({ resource, ...props }) {
4245
const setIsFormOpen = useSetRecoilState(isFormOpenState);
4346

4447
const resourceName = kymaResource?.metadata.name;
45-
const modulesResourceUrl = `/apis/operator.kyma-project.io/v1beta2/moduletemplates`;
46-
47-
const modulesReleaseMetaResourceUrl = `/apis/operator.kyma-project.io/v1beta2/modulereleasemetas`;
48-
49-
const { data: modules, loading: lodingModules } = useGet(modulesResourceUrl, {
50-
pollingInterval: 3000,
51-
skip: !resourceName,
52-
});
5348

5449
const {
5550
data: moduleReleaseMetas,
5651
loading: loadingModulesReleaseMetas,
57-
} = useGet(modulesReleaseMetaResourceUrl, {
58-
pollingInterval: 3000,
52+
} = useModulesReleaseQuery({
53+
skip: !resourceName,
54+
});
55+
const {
56+
data: moduleTemplates,
57+
loading: lodingModuleTemplates,
58+
} = useModuleTemplatesQuery({
5959
skip: !resourceName,
6060
});
6161

@@ -78,7 +78,7 @@ export default function KymaModulesCreate({ resource, ...props }) {
7878
onSave: false,
7979
});
8080

81-
if (lodingModules || loadingModulesReleaseMetas) {
81+
if (lodingModuleTemplates || loadingModulesReleaseMetas) {
8282
return (
8383
<div style={{ height: 'calc(100vh - 14rem)' }}>
8484
<Spinner />
@@ -127,7 +127,7 @@ export default function KymaModulesCreate({ resource, ...props }) {
127127
setShowManagedBox({ isOpen: true, onSave: false });
128128
};
129129

130-
const installedModules = modules?.items.filter(module => {
130+
const installedModules = moduleTemplates?.items.filter(module => {
131131
const name =
132132
module.metadata?.labels['operator.kyma-project.io/module-name'];
133133
return (

src/components/KymaModules/KymaModulesList.js

Lines changed: 57 additions & 53 deletions
Original file line numberDiff line numberDiff line change
@@ -4,14 +4,14 @@ import jsyaml from 'js-yaml';
44

55
import { ResourceDetails } from 'shared/components/ResourceDetails/ResourceDetails';
66
import {
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

1717
import { HintButton } from 'shared/components/DescriptionHint/DescriptionHint';
@@ -28,11 +28,11 @@ import { ExternalLink } from 'shared/components/ExternalLink/ExternalLink';
2828
import { EMPTY_TEXT_PLACEHOLDER } from 'shared/constants';
2929
import KymaModulesCreate from './KymaModulesCreate';
3030
import {
31+
apiGroup,
32+
apiVersion,
3133
ReleaseChannelDescription,
3234
ResourceDescription,
3335
resourceType,
34-
apiGroup,
35-
apiVersion,
3636
} from 'components/KymaModules';
3737
import { useSetRecoilState } from 'recoil';
3838
import { columnLayoutState } from 'state/columnLayoutAtom';
@@ -45,6 +45,10 @@ import { ModuleStatus, resolveType } from './components/ModuleStatus';
4545
import { cloneDeep } from 'lodash';
4646
import { StatusBadge } from 'shared/components/StatusBadge/StatusBadge';
4747
import { useNavigate } from 'react-router-dom';
48+
import {
49+
useModulesReleaseQuery,
50+
useModuleTemplatesQuery,
51+
} from './kymaModulesQueries';
4852

4953
export 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
)

src/components/KymaModules/KymaModulesQuery.js

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

0 commit comments

Comments
 (0)