Skip to content

Commit 461f3ed

Browse files
committed
fix the issue with update and delete user or group
1 parent 7c7dd9d commit 461f3ed

File tree

3 files changed

+15
-31
lines changed

3 files changed

+15
-31
lines changed

src/components/userGroups/Group.tsx

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,6 @@ enum PermissionTypeEnum {
2626

2727
export default function GroupForm({
2828
id = null,
29-
index = null,
3029
groupData = null,
3130
updateCallback,
3231
deleteCallback,
@@ -174,7 +173,7 @@ export default function GroupForm({
174173
const { result } = await saveGroup(payload)
175174
if (id) {
176175
currentK8sPermissionRef.current = [...k8sPermission].map(excludeKeyAndClusterValue)
177-
updateCallback(index, result)
176+
updateCallback(id, result)
178177
toast.success('Group updated')
179178
} else {
180179
createCallback(result)
@@ -201,8 +200,8 @@ export default function GroupForm({
201200
setSubmitting(true)
202201
try {
203202
await deleteGroup(id)
203+
deleteCallback(id)
204204
toast.success('Group deleted')
205-
deleteCallback(index)
206205
setDeleteConfirmationModal(false)
207206
} catch (err) {
208207
showError(err)

src/components/userGroups/User.tsx

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -63,8 +63,6 @@ const CreatableChipStyle = {
6363
export default function UserForm({
6464
id = null,
6565
userData = null,
66-
index,
67-
email_id=null,
6866
updateCallback,
6967
deleteCallback,
7068
createCallback,
@@ -242,7 +240,7 @@ export default function UserForm({
242240
const { result } = await saveUser(payload);
243241
if (id) {
244242
currentK8sPermissionRef.current = [...k8sPermission].map(excludeKeyAndClusterValue)
245-
updateCallback(index, result);
243+
updateCallback(id, result);
246244
toast.success('User updated');
247245
} else {
248246
createCallback(result);
@@ -326,7 +324,7 @@ export default function UserForm({
326324
setSubmitting(true);
327325
try {
328326
await deleteUser(id);
329-
deleteCallback(email_id);
327+
deleteCallback(id);
330328
toast.success('User deleted');
331329
setDeleteConfirmationModal(false)
332330
} catch (err) {

src/components/userGroups/UserGroup.tsx

Lines changed: 11 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,6 @@ import {
2323
import {
2424
NavigationArrow,
2525
useKeyDown,
26-
removeItemsFromArray,
2726
getRandomString,
2827
sortBySelected,
2928
mapByKey,
@@ -214,7 +213,7 @@ export default function UserGroupRoute() {
214213
setJobsList(
215214
(jobsList) =>
216215
new Map(
217-
missingProjects.reduce((jobsList, projectId, index) => {
216+
missingProjects.reduce((jobsList, projectId) => {
218217
jobsList.set(projectId, {
219218
loading: false,
220219
result: projectsMap.has(+projectId) ? projectsMap.get(+projectId)?.jobsList || [] : [],
@@ -250,7 +249,7 @@ export default function UserGroupRoute() {
250249
const projectsMap = mapByKey(result || [], 'projectId')
251250
setAppsList((appList) => {
252251
return new Map(
253-
missingProjects.reduce((appList, projectId, index) => {
252+
missingProjects.reduce((appList, projectId) => {
254253
appList.set(projectId, {
255254
loading: false,
256255
result: projectsMap.has(+projectId) ? projectsMap.get(+projectId)?.appList || [] : [],
@@ -286,7 +285,7 @@ export default function UserGroupRoute() {
286285
const projectsMap = mapByKey(result || [], 'projectId')
287286
setAppsListHelmApps((appListHelmApps) => {
288287
return new Map(
289-
missingProjects.reduce((appListHelmApps, projectId, index) => {
288+
missingProjects.reduce((appListHelmApps, projectId) => {
290289
appListHelmApps.set(projectId, {
291290
loading: false,
292291
result: projectsMap.has(+projectId) ? projectsMap.get(+projectId)?.appList || [] : [],
@@ -470,24 +469,18 @@ const UserGroupList: React.FC<{
470469
}, [result.length, loading])
471470

472471
const updateCallback = useCallback(
473-
(index: number, payload) => {
472+
(id: CreateUser['id'], payload) => {
474473
const newResult = [...result]
474+
const index = result.findIndex((userOrGroup) => userOrGroup.id === id)
475475
newResult[index] = payload
476476
setState((state) => ({ ...state, result: newResult }))
477477
},
478478
[result.length],
479479
)
480480

481481
const deleteCallback = useCallback(
482-
(email_id: string) => {
483-
// find index from the filtered list
484-
const index = result.findIndex((userOrGroup) => userOrGroup.email_id === email_id)
485-
486-
// remove the item from the filtered list
487-
const newResult = removeItemsFromArray(result, index, 1)
488-
489-
// update the state
490-
setState((state) => ({ ...state, result: newResult }))
482+
(id: CreateUser['id']) => {
483+
setState((state) => ({ ...state, result: result.filter((userOrGroup) => userOrGroup.id !== id) }))
491484
},
492485
[result.length],
493486
)
@@ -701,12 +694,12 @@ const UserGroupList: React.FC<{
701694
isAutoAssignFlowEnabled={isAutoAssignFlowEnabled}
702695
/>
703696
)}
704-
{filteredAndSorted.map((data, index) => (
697+
{filteredAndSorted.map((data) => (
705698
<CollapsedUserOrGroup
706699
key={data.id}
707700
{...data}
708701
type={type}
709-
{...{ updateCallback, deleteCallback, createCallback, index }}
702+
{...{ updateCallback, deleteCallback, createCallback }}
710703
isAutoAssignFlowEnabled={isAutoAssignFlowEnabled}
711704
collapsed={expandedTile !== String(data.id)}
712705
setCollapsed={updateCollapsedTile}
@@ -721,7 +714,6 @@ const UserGroupList: React.FC<{
721714
}
722715

723716
const CollapsedUserOrGroup: React.FC<CollapsedUserOrGroupProps> = ({
724-
index,
725717
email_id = null,
726718
id = null,
727719
name = null,
@@ -751,9 +743,9 @@ const CollapsedUserOrGroup: React.FC<CollapsedUserOrGroupProps> = ({
751743
setCollapsed(collapsed ? String(id) : undefined)
752744
}
753745

754-
function updateCallbackOverride(index, data) {
746+
function updateCallbackOverride(id, data) {
755747
setData((state) => ({ ...state, result: data }))
756-
updateCallback(index, data)
748+
updateCallback(id, data)
757749
}
758750

759751
function getToolTipContent(user: string): string {
@@ -826,8 +818,6 @@ const CollapsedUserOrGroup: React.FC<CollapsedUserOrGroupProps> = ({
826818
updateCallback: updateCallbackOverride,
827819
deleteCallback,
828820
createCallback,
829-
index,
830-
email_id,
831821
cancelCallback,
832822
}}
833823
isAutoAssignFlowEnabled={isAutoAssignFlowEnabled}
@@ -840,7 +830,6 @@ const CollapsedUserOrGroup: React.FC<CollapsedUserOrGroupProps> = ({
840830
updateCallback: updateCallbackOverride,
841831
deleteCallback,
842832
createCallback,
843-
index,
844833
cancelCallback,
845834
}}
846835
/>
@@ -894,14 +883,12 @@ const AddUser: React.FC<AddUser> = ({
894883
{type === 'user' ? (
895884
<UserForm
896885
id={null}
897-
index={null}
898886
{...{ updateCallback, deleteCallback, createCallback, cancelCallback }}
899887
isAutoAssignFlowEnabled={isAutoAssignFlowEnabled}
900888
/>
901889
) : (
902890
<GroupForm
903891
id={null}
904-
index={null}
905892
{...{ updateCallback, deleteCallback, createCallback, cancelCallback }}
906893
/>
907894
)}

0 commit comments

Comments
 (0)