fix(FE/logs): show relevant error message on deleting/adding selected/interesting fields (#3437)

Co-authored-by: Palash Gupta <palashgdev@gmail.com>
This commit is contained in:
Kanishka Chowdhury 2023-09-05 21:04:28 +05:30 committed by GitHub
parent 8e6a7f13a1
commit 32a55f3c4f
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
3 changed files with 62 additions and 53 deletions

View File

@ -4,7 +4,7 @@ import { AxiosError } from 'axios';
import { ErrorResponse, SuccessResponse } from 'types/api';
import { PayloadProps, Props } from 'types/api/logs/addToSelectedFields';
const AddToSelectedFields = async (
const addToSelectedFields = async (
props: Props,
): Promise<SuccessResponse<PayloadProps> | ErrorResponse> => {
try {
@ -16,8 +16,8 @@ const AddToSelectedFields = async (
payload: data.data,
};
} catch (error) {
return ErrorResponseHandler(error as AxiosError);
return Promise.reject(ErrorResponseHandler(error as AxiosError));
}
};
export default AddToSelectedFields;
export default addToSelectedFields;

View File

@ -4,7 +4,7 @@ import { AxiosError } from 'axios';
import { ErrorResponse, SuccessResponse } from 'types/api';
import { PayloadProps, Props } from 'types/api/logs/addToSelectedFields';
const RemoveSelectedField = async (
const removeSelectedField = async (
props: Props,
): Promise<SuccessResponse<PayloadProps> | ErrorResponse> => {
try {
@ -16,8 +16,8 @@ const RemoveSelectedField = async (
payload: data.data,
};
} catch (error) {
return ErrorResponseHandler(error as AxiosError);
return Promise.reject(ErrorResponseHandler(error as AxiosError));
}
};
export default RemoveSelectedField;
export default removeSelectedField;

View File

@ -1,10 +1,12 @@
import AddToSelectedFields from 'api/logs/AddToSelectedField';
import RemoveSelectedField from 'api/logs/RemoveFromSelectedField';
import { message } from 'antd';
import addToSelectedFields from 'api/logs/AddToSelectedField';
import removeSelectedField from 'api/logs/RemoveFromSelectedField';
import store from 'store';
import {
UPDATE_INTERESTING_FIELDS,
UPDATE_SELECTED_FIELDS,
} from 'types/actions/logs';
import { ErrorResponse } from 'types/api';
import { RESTRICTED_SELECTED_FIELDS } from './config';
import { OnHandleAddInterestProps, OnHandleRemoveInterestProps } from './types';
@ -24,30 +26,34 @@ export const onHandleAddInterest = async ({
return [...prevState];
});
await AddToSelectedFields({
...fieldData,
selected: true,
});
try {
await addToSelectedFields({
...fieldData,
selected: true,
});
dispatch({
type: UPDATE_INTERESTING_FIELDS,
payload: {
field: interesting.filter((e) => e.name !== fieldData.name),
type: 'selected',
},
});
dispatch({
type: UPDATE_INTERESTING_FIELDS,
payload: {
field: interesting.filter((e) => e.name !== fieldData.name),
type: 'selected',
},
});
dispatch({
type: UPDATE_SELECTED_FIELDS,
payload: {
field: [...selected, fieldData],
type: 'selected',
},
});
setInterestingFieldLoading(
interestingFieldLoading.filter((e) => e !== fieldIndex),
);
dispatch({
type: UPDATE_SELECTED_FIELDS,
payload: {
field: [...selected, fieldData],
type: 'selected',
},
});
} catch (errRes) {
message.error((errRes as ErrorResponse)?.error);
} finally {
setInterestingFieldLoading(
interestingFieldLoading.filter((e) => e !== fieldIndex),
);
}
};
export const onHandleRemoveInterest = async ({
@ -67,28 +73,31 @@ export const onHandleRemoveInterest = async ({
return [...prevState];
});
await RemoveSelectedField({
...fieldData,
selected: false,
});
try {
await removeSelectedField({
...fieldData,
selected: false,
});
dispatch({
type: UPDATE_SELECTED_FIELDS,
payload: {
field: selected.filter((e) => e.name !== fieldData.name),
type: 'selected',
},
});
dispatch({
type: UPDATE_SELECTED_FIELDS,
payload: {
field: selected.filter((e) => e.name !== fieldData.name),
type: 'selected',
},
});
dispatch({
type: UPDATE_INTERESTING_FIELDS,
payload: {
field: [...interesting, fieldData],
type: 'interesting',
},
});
setSelectedFieldLoading(
interestingFieldLoading.filter((e) => e !== fieldIndex),
);
dispatch({
type: UPDATE_INTERESTING_FIELDS,
payload: {
field: [...interesting, fieldData],
type: 'interesting',
},
});
} catch (errRes) {
message.error((errRes as ErrorResponse)?.error);
} finally {
setSelectedFieldLoading(
interestingFieldLoading.filter((e) => e !== fieldIndex),
);
}
};