Skip to content

Commit 3bab426

Browse files
authored
fix: Adjust namespace in columnlayout state after create (#3946)
* fix: adjust namespace in columnlayout state after create * fix: correct resourceType usage
1 parent 79a4c1b commit 3bab426

File tree

8 files changed

+21
-8
lines changed

8 files changed

+21
-8
lines changed

src/components/App/ExtensibilityRoutes.js

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -64,6 +64,7 @@ const ColumnWrapper = ({ resourceType, extension, urlPath }) => {
6464
} else {
6565
startColumnComponent = (
6666
<List
67+
rawResourceType={extension?.general?.resource?.kind}
6768
layoutCloseCreateUrl={layoutCloseCreateUrl}
6869
enableColumnLayout={true}
6970
/>

src/components/Extensibility/ExtensibilityList.js

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -32,6 +32,7 @@ import '../../web-components/eventListenerTracker';
3232
export const ExtensibilityListCore = ({
3333
resMetaData,
3434
filterFunction,
35+
rawResourceType,
3536
...props
3637
}) => {
3738
const { t, widgetT, exists } = useGetTranslation();
@@ -123,6 +124,7 @@ export const ExtensibilityListCore = ({
123124
<ResourcesList
124125
{...listProps}
125126
{...props}
127+
rawResourceType={rawResourceType}
126128
displayLabelForLabels
127129
disableCreate={disableCreate}
128130
disableDelete={disableDelete}

src/resources/ResourceQuotas/ResourceQuotasList.tsx

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@ import { useTranslation } from 'react-i18next';
33
import ResourceQuotaCreate from './ResourceQuotaCreate';
44
import { Button } from '@ui5/webcomponents-react';
55
import { useNavigate } from 'react-router';
6-
import { useRecoilState } from 'recoil';
6+
import { useSetRecoilState } from 'recoil';
77
import { columnLayoutState } from 'state/columnLayoutAtom';
88
import { useUrl } from 'hooks/useUrl';
99
import pluralize from 'pluralize';
@@ -13,7 +13,7 @@ import { EMPTY_TEXT_PLACEHOLDER } from 'shared/constants';
1313
export function ResourceQuotasList(props: any) {
1414
const { t } = useTranslation();
1515
const navigate = useNavigate();
16-
const [, setLayoutColumn] = useRecoilState(columnLayoutState);
16+
const setLayoutColumn = useSetRecoilState(columnLayoutState);
1717
const { namespaceUrl } = useUrl();
1818

1919
const customColumns = [

src/resources/createResourceRoutes.js

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -101,6 +101,7 @@ const ColumnWrapper = ({ list, details, create, ...props }) => {
101101

102102
const listComponent = React.cloneElement(list, {
103103
...elementListProps,
104+
rawResourceType: props.resourceType,
104105
layoutCloseCreateUrl,
105106
enableColumnLayout: elementListProps.resourceType !== 'Namespaces',
106107
});

src/shared/ResourceForm/useCreateResource.js

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
import { useNotification } from 'shared/contexts/NotificationContext';
22
import { useTranslation } from 'react-i18next';
3-
import { useRecoilState } from 'recoil';
3+
import { useRecoilState, useRecoilValue } from 'recoil';
44

55
import { useUpdate } from 'shared/hooks/BackendAPI/useMutation';
66
import { usePost } from 'shared/hooks/BackendAPI/usePost';
@@ -12,6 +12,7 @@ import { ForceUpdateModalContent } from './ForceUpdateModalContent';
1212
import { useUrl } from 'hooks/useUrl';
1313
import { usePrepareLayout } from 'shared/hooks/usePrepareLayout';
1414
import { columnLayoutState } from 'state/columnLayoutAtom';
15+
import { activeNamespaceIdState } from 'state/activeNamespaceIdAtom';
1516
import { extractApiGroupVersion } from 'resources/Roles/helpers';
1617
import { useNavigate } from 'react-router';
1718
import { useMemo } from 'react';
@@ -38,6 +39,7 @@ export function useCreateResource({
3839
const patchRequest = useUpdate();
3940
const { scopedUrl } = useUrl();
4041
const [layoutColumn, setLayoutColumn] = useRecoilState(columnLayoutState);
42+
const activeNamespace = useRecoilValue(activeNamespaceIdState);
4143

4244
const { nextQuery, nextLayout } = usePrepareLayout(layoutNumber);
4345

@@ -86,7 +88,7 @@ export function useCreateResource({
8688
resourceName: resource.metadata.name,
8789
resourceType: resource.kind,
8890
rawResourceTypeName: resource.kind,
89-
namespaceId: resource.metadata.namespace,
91+
namespaceId: resource.metadata.namespace ?? activeNamespace,
9092
apiGroup: group,
9193
apiVersion: version,
9294
},
@@ -101,7 +103,7 @@ export function useCreateResource({
101103
resourceName: resource.metadata.name,
102104
resourceType: resource.kind,
103105
rawResourceTypeName: resource.kind,
104-
namespaceId: resource.metadata.namespace,
106+
namespaceId: resource.metadata.namespace ?? activeNamespace,
105107
},
106108
},
107109
);

src/shared/components/GenericList/GenericList.js

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -63,6 +63,7 @@ export const GenericList = ({
6363
customColumnLayout = null,
6464
enableColumnLayout,
6565
resourceType = '',
66+
rawResourceType = '',
6667
customUrl,
6768
hasDetailsView,
6869
disableHiding = true,
@@ -374,7 +375,7 @@ export const GenericList = ({
374375
selectedEntry?.metadata?.name ??
375376
e.target.children[0].innerText,
376377
resourceType: resourceType,
377-
rawResourceTypeName: resourceType,
378+
rawResourceTypeName: rawResourceType,
378379
namespaceId: selectedEntry?.metadata?.namespace,
379380
apiGroup: group,
380381
apiVersion: version,

src/shared/components/ResourcesList/ResourcesList.js

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -53,6 +53,7 @@ ResourcesList.propTypes = {
5353
createActionLabel: PropTypes.string,
5454
resourceUrl: PropTypes.string.isRequired,
5555
resourceType: PropTypes.string.isRequired,
56+
rawResourceType: PropTypes.string.isRequired,
5657
resourceTitle: PropTypes.string,
5758
namespace: PropTypes.string,
5859
hasDetailsView: PropTypes.bool,
@@ -191,6 +192,7 @@ function Resources(props) {
191192
export function ResourceListRenderer({
192193
resourceUrl,
193194
resourceType,
195+
rawResourceType,
194196
resourceTitle,
195197
namespace,
196198
customColumns = [],
@@ -349,7 +351,7 @@ export function ResourceListRenderer({
349351
endColumn: null,
350352
showCreate: {
351353
resourceType: resourceType,
352-
rawResourceTypeName: resourceType,
354+
rawResourceTypeName: rawResourceType,
353355
namespaceId: namespace,
354356
resource: activeResource,
355357
},
@@ -362,6 +364,7 @@ export function ResourceListRenderer({
362364
endColumn: null,
363365
showCreate: {
364366
resourceType: resourceType,
367+
rawResourceTypeName: rawResourceType,
365368
namespaceId: namespace,
366369
resource: activeResource,
367370
},
@@ -450,7 +453,7 @@ export function ResourceListRenderer({
450453
endColumn: null,
451454
showCreate: {
452455
resourceType: layoutState?.midColumn.resourceName,
453-
rawResourceTypeName: layoutState?.midColumn.resourceName,
456+
rawResourceTypeName: rawResourceType,
454457
namespaceId: namespace,
455458
},
456459
showEdit: null,
@@ -462,6 +465,7 @@ export function ResourceListRenderer({
462465
endColumn: null,
463466
showCreate: {
464467
resourceType: resourceType,
468+
rawResourceTypeName: rawResourceType,
465469
namespaceId: namespace,
466470
},
467471
showEdit: null,
@@ -543,6 +547,7 @@ export function ResourceListRenderer({
543547
hasDetailsView={hasDetailsView}
544548
customUrl={customUrl}
545549
resourceType={resourceType}
550+
rawResourceType={rawResourceType}
546551
customColumnLayout={customColumnLayout}
547552
columnLayout={columnLayout}
548553
enableColumnLayout={enableColumnLayout}

src/shared/hooks/usePrepareLayout.js

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -264,6 +264,7 @@ export function usePrepareLayoutColumns({
264264
: {
265265
resourceName,
266266
resourceType,
267+
rawResourceTypeName,
267268
namespaceId: resourceNamespace,
268269
apiGroup,
269270
apiVersion,

0 commit comments

Comments
 (0)