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 { ErrorResponse, SuccessResponse } from 'types/api';
import { PayloadProps, Props } from 'types/api/logs/addToSelectedFields'; import { PayloadProps, Props } from 'types/api/logs/addToSelectedFields';
const AddToSelectedFields = async ( const addToSelectedFields = async (
props: Props, props: Props,
): Promise<SuccessResponse<PayloadProps> | ErrorResponse> => { ): Promise<SuccessResponse<PayloadProps> | ErrorResponse> => {
try { try {
@ -16,8 +16,8 @@ const AddToSelectedFields = async (
payload: data.data, payload: data.data,
}; };
} catch (error) { } 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 { ErrorResponse, SuccessResponse } from 'types/api';
import { PayloadProps, Props } from 'types/api/logs/addToSelectedFields'; import { PayloadProps, Props } from 'types/api/logs/addToSelectedFields';
const RemoveSelectedField = async ( const removeSelectedField = async (
props: Props, props: Props,
): Promise<SuccessResponse<PayloadProps> | ErrorResponse> => { ): Promise<SuccessResponse<PayloadProps> | ErrorResponse> => {
try { try {
@ -16,8 +16,8 @@ const RemoveSelectedField = async (
payload: data.data, payload: data.data,
}; };
} catch (error) { } 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 { message } from 'antd';
import RemoveSelectedField from 'api/logs/RemoveFromSelectedField'; import addToSelectedFields from 'api/logs/AddToSelectedField';
import removeSelectedField from 'api/logs/RemoveFromSelectedField';
import store from 'store'; import store from 'store';
import { import {
UPDATE_INTERESTING_FIELDS, UPDATE_INTERESTING_FIELDS,
UPDATE_SELECTED_FIELDS, UPDATE_SELECTED_FIELDS,
} from 'types/actions/logs'; } from 'types/actions/logs';
import { ErrorResponse } from 'types/api';
import { RESTRICTED_SELECTED_FIELDS } from './config'; import { RESTRICTED_SELECTED_FIELDS } from './config';
import { OnHandleAddInterestProps, OnHandleRemoveInterestProps } from './types'; import { OnHandleAddInterestProps, OnHandleRemoveInterestProps } from './types';
@ -24,7 +26,8 @@ export const onHandleAddInterest = async ({
return [...prevState]; return [...prevState];
}); });
await AddToSelectedFields({ try {
await addToSelectedFields({
...fieldData, ...fieldData,
selected: true, selected: true,
}); });
@ -44,10 +47,13 @@ export const onHandleAddInterest = async ({
type: 'selected', type: 'selected',
}, },
}); });
} catch (errRes) {
message.error((errRes as ErrorResponse)?.error);
} finally {
setInterestingFieldLoading( setInterestingFieldLoading(
interestingFieldLoading.filter((e) => e !== fieldIndex), interestingFieldLoading.filter((e) => e !== fieldIndex),
); );
}
}; };
export const onHandleRemoveInterest = async ({ export const onHandleRemoveInterest = async ({
@ -67,11 +73,11 @@ export const onHandleRemoveInterest = async ({
return [...prevState]; return [...prevState];
}); });
await RemoveSelectedField({ try {
await removeSelectedField({
...fieldData, ...fieldData,
selected: false, selected: false,
}); });
dispatch({ dispatch({
type: UPDATE_SELECTED_FIELDS, type: UPDATE_SELECTED_FIELDS,
payload: { payload: {
@ -87,8 +93,11 @@ export const onHandleRemoveInterest = async ({
type: 'interesting', type: 'interesting',
}, },
}); });
} catch (errRes) {
message.error((errRes as ErrorResponse)?.error);
} finally {
setSelectedFieldLoading( setSelectedFieldLoading(
interestingFieldLoading.filter((e) => e !== fieldIndex), interestingFieldLoading.filter((e) => e !== fieldIndex),
); );
}
}; };