Skip to content

Commit c31ec84

Browse files
committed
feat: add query param for resource namespace
1 parent 428f7ab commit c31ec84

File tree

3 files changed

+30
-16
lines changed

3 files changed

+30
-16
lines changed

src/resources/createResourceRoutes.js

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -62,8 +62,7 @@ const ColumnWrapper = ({ list, details, create, ...props }) => {
6262
null,
6363
});
6464

65-
const defaultColumn =
66-
resourceName && namespaceId !== '-all-' ? 'details' : 'list';
65+
const defaultColumn = resourceName ? 'details' : 'list';
6766

6867
const layoutCloseCreateUrl = resourceListUrl({
6968
kind: props.resourceType,

src/shared/components/GenericList/GenericList.js

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -380,7 +380,11 @@ export const GenericList = ({
380380
);
381381
const link = `${linkTo(selectedEntry)}${
382382
enableColumnLayout
383-
? `?layout=${columnLayout ?? 'TwoColumnsMidExpanded'}`
383+
? `?layout=${columnLayout ?? 'TwoColumnsMidExpanded'}${
384+
namespace === '-all-'
385+
? `&resourceNamespace=${selectedEntry?.metadata?.namespace}`
386+
: ''
387+
}`
384388
: ''
385389
}`;
386390
navigate(link);

src/shared/hooks/usePrepareLayout.js

Lines changed: 24 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -98,11 +98,14 @@ export function usePrepareLayoutColumns({
9898
const showCreate = searchParams.get('showCreate');
9999
const showEdit = searchParams.get('showEdit');
100100
const editColumn = searchParams.get('editColumn');
101+
const resourceNamespace =
102+
namespaceId === '-all-'
103+
? searchParams.get('resourceNamespace')
104+
: namespaceId;
101105
const navigationType = useNavigationType();
102106

103107
const newLayoutState = useMemo(() => {
104-
const isAllNamespaces = namespaceId === '-all-';
105-
if (!layout || layout === 'OneColumn' || isAllNamespaces) {
108+
if (!layout || layout === 'OneColumn') {
106109
return {
107110
layout: 'OneColumn',
108111
startColumn: {
@@ -118,7 +121,7 @@ export function usePrepareLayoutColumns({
118121
showEdit: showEdit
119122
? {
120123
resourceType,
121-
namespaceId,
124+
namespaceId: resourceNamespace,
122125
apiGroup,
123126
apiVersion,
124127
resourceName:
@@ -142,7 +145,7 @@ export function usePrepareLayoutColumns({
142145
? {
143146
resourceName,
144147
resourceType,
145-
namespaceId,
148+
namespaceId: resourceNamespace,
146149
apiGroup,
147150
apiVersion,
148151
}
@@ -151,19 +154,23 @@ export function usePrepareLayoutColumns({
151154
? {
152155
resourceName: crName,
153156
resourceType: resourceName,
154-
namespaceId,
157+
namespaceId: resourceNamespace,
155158
apiGroup,
156159
apiVersion,
157160
}
158161
: null,
159162
showCreate: showCreate
160-
? { resourceType: resourceName, namespaceId, resource }
163+
? {
164+
resourceType: resourceName,
165+
namespaceId,
166+
resource,
167+
}
161168
: null,
162169
showEdit: showEdit
163170
? {
164171
resourceName: crName,
165172
resourceType: resourceName,
166-
namespaceId,
173+
namespaceId: resourceNamespace,
167174
apiGroup,
168175
apiVersion,
169176
resource,
@@ -185,7 +192,7 @@ export function usePrepareLayoutColumns({
185192
? {
186193
resourceName,
187194
resourceType,
188-
namespaceId,
195+
namespaceId: resourceNamespace,
189196
apiGroup,
190197
apiVersion,
191198
}
@@ -194,11 +201,16 @@ export function usePrepareLayoutColumns({
194201
showCreate: showCreate ? { resourceType, namespaceId, resource } : null,
195202
showEdit: showEdit
196203
? editColumn === 'startColumn'
197-
? { resourceType, namespaceId, apiGroup, apiVersion }
204+
? {
205+
resourceType,
206+
namespaceId: resourceNamespace,
207+
apiGroup,
208+
apiVersion,
209+
}
198210
: {
199211
resourceName,
200212
resourceType,
201-
namespaceId,
213+
namespaceId: resourceNamespace,
202214
apiGroup,
203215
apiVersion,
204216
resource,
@@ -210,6 +222,7 @@ export function usePrepareLayoutColumns({
210222
showCreate,
211223
showEdit,
212224
editColumn,
225+
resourceNamespace,
213226
resourceType,
214227
namespaceId,
215228
apiGroup,
@@ -235,9 +248,7 @@ export function usePrepareLayoutColumns({
235248
useEffect(() => {
236249
setLayoutColumn(newLayoutState);
237250
setIsFormOpen({
238-
formOpen:
239-
namespaceId !== '-all-' &&
240-
(!!newLayoutState.showCreate || !!newLayoutState.showEdit),
251+
formOpen: !!newLayoutState.showCreate || !!newLayoutState.showEdit,
241252
});
242253
// eslint-disable-next-line react-hooks/exhaustive-deps
243254
}, []);

0 commit comments

Comments
 (0)