Skip to content

Commit b39db82

Browse files
committed
fix: modules view double edit
1 parent c45b4e1 commit b39db82

File tree

2 files changed

+32
-23
lines changed

2 files changed

+32
-23
lines changed

src/shared/components/DynamicPageComponent/DynamicPageComponent.js

Lines changed: 18 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -121,12 +121,13 @@ export const DynamicPageComponent = ({
121121
const [isFormOpen, setIsFormOpen] = useRecoilState(isFormOpenState);
122122
const [searchParams] = useSearchParams();
123123
const showEdit = searchParams.get('showEdit');
124-
const currColumnInfo =
125-
layoutNumber === 'EndColumn'
126-
? layoutColumn.endColumn
127-
: layoutNumber === 'MidColumn'
128-
? layoutColumn.midColumn
129-
: layoutColumn.startColumn;
124+
const editColumn = searchParams.get('editColumn');
125+
const currColumnInfo = layoutNumber
126+
? layoutColumn[
127+
layoutNumber.charAt(0)?.toLowerCase() + layoutNumber.slice(1)
128+
] || layoutColumn.startColumn
129+
: layoutColumn.startColumn;
130+
130131
const [selectedSectionIdState, setSelectedSectionIdState] = useState(
131132
showEdit &&
132133
currColumnInfo?.resourceName === layoutColumn?.showEdit?.resourceName
@@ -159,7 +160,7 @@ export const DynamicPageComponent = ({
159160
});
160161

161162
if (layoutCloseUrl) {
162-
navigate(layoutCloseUrl);
163+
navigate(layoutCloseUrl + (editColumn ? `?showEdit=${showEdit}` : ''));
163164
return;
164165
}
165166

@@ -385,6 +386,15 @@ export const DynamicPageComponent = ({
385386
);
386387

387388
if (e.detail.tab.getAttribute('data-mode') === 'edit') {
389+
const params = new URLSearchParams();
390+
if (layoutColumn.layout !== 'OneColumn') {
391+
params.set('layout', layoutColumn.layout);
392+
if (title === 'Modules') {
393+
params.set('editColumn', 'StartColumn');
394+
}
395+
}
396+
params.set('showEdit', 'true');
397+
388398
setLayoutColumn({
389399
...layoutColumn,
390400
showEdit: {
@@ -393,13 +403,7 @@ export const DynamicPageComponent = ({
393403
},
394404
});
395405
setIsFormOpen({ formOpen: true });
396-
navigate(
397-
`${window.location.pathname}${
398-
layoutColumn.layout === 'OneColumn'
399-
? '?showEdit=true'
400-
: '?layout=' + layoutColumn.layout + '&showEdit=true'
401-
}`,
402-
);
406+
navigate(`${window.location.pathname}?${params.toString()}`);
403407
} else {
404408
setLayoutColumn({
405409
...layoutColumn,

src/shared/hooks/usePrepareLayout.js

Lines changed: 14 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -96,6 +96,7 @@ export function usePrepareLayoutColumns({
9696
const layout = searchParams.get('layout');
9797
const showCreate = searchParams.get('showCreate');
9898
const showEdit = searchParams.get('showEdit');
99+
const editColumn = searchParams.get('editColumn');
99100
const navigationType = useNavigationType();
100101

101102
const newLayoutState = useMemo(() => {
@@ -110,7 +111,9 @@ export function usePrepareLayoutColumns({
110111
},
111112
midColumn: null,
112113
endColumn: null,
113-
showCreate: null,
114+
showEdit: showEdit
115+
? { resourceType, namespaceId, apiGroup, apiVersion }
116+
: null,
114117
};
115118
}
116119

@@ -178,14 +181,16 @@ export function usePrepareLayoutColumns({
178181
endColumn: null,
179182
showCreate: showCreate ? { resourceType, namespaceId } : null,
180183
showEdit: showEdit
181-
? {
182-
resourceName,
183-
resourceType,
184-
namespaceId,
185-
apiGroup,
186-
apiVersion,
187-
resource: null,
188-
}
184+
? editColumn === 'StartColumn'
185+
? { resourceType, namespaceId, apiGroup, apiVersion }
186+
: {
187+
resourceName,
188+
resourceType,
189+
namespaceId,
190+
apiGroup,
191+
apiVersion,
192+
resource: null,
193+
}
189194
: null,
190195
};
191196
}, [

0 commit comments

Comments
 (0)