Skip to content

Commit 2e90627

Browse files
authored
feat: Add query parameter for resource namespace on all namespaces (#3926)
* feat: add query param for resource namespace * fix: minor fix of previous changes
1 parent ff55adb commit 2e90627

File tree

3 files changed

+20
-15
lines changed

3 files changed

+20
-15
lines changed

src/resources/createResourceRoutes.js

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

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

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

src/shared/components/GenericList/GenericList.js

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

src/shared/hooks/usePrepareLayout.js

Lines changed: 14 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -100,10 +100,13 @@ export function usePrepareLayoutColumns({
100100
const showCreate = searchParams.get('showCreate');
101101
const showEdit = searchParams.get('showEdit');
102102
const editColumn = searchParams.get('editColumn');
103+
const resourceNamespace =
104+
namespaceId === '-all-'
105+
? searchParams.get('resourceNamespace')
106+
: namespaceId;
103107
const navigationType = useNavigationType();
104108

105109
const newLayoutState = useMemo(() => {
106-
const isAllNamespaces = namespaceId === '-all-';
107110
if (isModule) {
108111
return {
109112
layout: layout || 'OneColumn',
@@ -139,7 +142,7 @@ export function usePrepareLayoutColumns({
139142
};
140143
}
141144

142-
if (!layout || layout === 'OneColumn' || isAllNamespaces) {
145+
if (!layout || layout === 'OneColumn') {
143146
return {
144147
layout: 'OneColumn',
145148
startColumn: {
@@ -156,8 +159,8 @@ export function usePrepareLayoutColumns({
156159
showEdit: showEdit
157160
? {
158161
resourceType,
162+
namespaceId: resourceNamespace,
159163
rawResourceTypeName,
160-
namespaceId,
161164
apiGroup,
162165
apiVersion,
163166
resourceName:
@@ -182,8 +185,8 @@ export function usePrepareLayoutColumns({
182185
? {
183186
resourceName,
184187
resourceType,
188+
namespaceId: resourceNamespace,
185189
rawResourceTypeName,
186-
namespaceId,
187190
apiGroup,
188191
apiVersion,
189192
}
@@ -192,8 +195,8 @@ export function usePrepareLayoutColumns({
192195
? {
193196
resourceName: crName,
194197
resourceType: resourceName,
198+
namespaceId: resourceNamespace,
195199
rawResourceTypeName: resourceName ?? rawResourceTypeName,
196-
namespaceId,
197200
apiGroup,
198201
apiVersion,
199202
}
@@ -210,8 +213,8 @@ export function usePrepareLayoutColumns({
210213
? {
211214
resourceName: crName,
212215
resourceType: resourceName,
216+
namespaceId: resourceNamespace,
213217
rawResourceTypeName: resourceName ?? rawResourceTypeName,
214-
namespaceId,
215218
apiGroup,
216219
apiVersion,
217220
resource,
@@ -234,8 +237,8 @@ export function usePrepareLayoutColumns({
234237
? {
235238
resourceName,
236239
resourceType,
240+
namespaceId: resourceNamespace,
237241
rawResourceTypeName,
238-
namespaceId,
239242
apiGroup,
240243
apiVersion,
241244
}
@@ -253,15 +256,15 @@ export function usePrepareLayoutColumns({
253256
? editColumn === 'startColumn'
254257
? {
255258
resourceType,
259+
namespaceId: resourceNamespace,
256260
rawResourceTypeName,
257-
namespaceId,
258261
apiGroup,
259262
apiVersion,
260263
}
261264
: {
262265
resourceName,
263266
resourceType,
264-
namespaceId,
267+
namespaceId: resourceNamespace,
265268
apiGroup,
266269
apiVersion,
267270
resource,
@@ -273,6 +276,7 @@ export function usePrepareLayoutColumns({
273276
showCreate,
274277
showEdit,
275278
editColumn,
279+
resourceNamespace,
276280
resourceType,
277281
namespaceId,
278282
apiGroup,
@@ -300,9 +304,7 @@ export function usePrepareLayoutColumns({
300304
useEffect(() => {
301305
setLayoutColumn(newLayoutState);
302306
setIsFormOpen({
303-
formOpen:
304-
namespaceId !== '-all-' &&
305-
(!!newLayoutState.showCreate || !!newLayoutState.showEdit),
307+
formOpen: !!newLayoutState.showCreate || !!newLayoutState.showEdit,
306308
});
307309
// eslint-disable-next-line react-hooks/exhaustive-deps
308310
}, []);

0 commit comments

Comments
 (0)