this.props.deleteMenu( values._id, site => { this.initForm(site); this.props.openSnackbar(hasBeenText('Menu item', values.name, 'deleted')); stopSubmit(); } )
function* callSubmit(action){ yield put(startSubmit('contact')); let errors = {}; const result = yield call(submitToServer, action.data); if(result.errors){ yield put({ type: 'REQUEST_FAILED', errors: result.errors}); } else { yield put({ type: 'REQUEST_SUCCESSFULL'}); } yield put(stopSubmit('contact', errors)); }
export function *doChangePasswordFailed(action) { // console.log('doChangePasswordFailed', action); const errorData = action.payload.response; const [currentPassword, newPassword, newPasswordRepeated] = [ yield call(formErrorHelper, errorData, 'children.current_password.errors'), yield call(formErrorHelper, errorData, 'children.plainPassword.children.first.errors'), yield call(formErrorHelper, errorData, 'children.plainPassword.children.second.errors') ]; yield put(stopSubmit('change-password', { currentPassword, newPassword, newPasswordRepeated, })); }
const logInThunk = (email, password, rememberMe, captcha) => async (dispatch) => { let response = await auth.logInApi(email, password, rememberMe, captcha); if(response.data.resultCode === 0){ dispatch(isAuthAC(true, {})); dispatch(showCaptchaAC(false)); } else { if(response.data.resultCode === 10){ let actionCaptcha = stopSubmit('login', {_error: 'Are you a robot?'}); dispatch(actionCaptcha); dispatch(showCaptchaAC(true)); dispatch(getCaptchaThunk()); } else { let action = stopSubmit('login', {_error: 'incorrect login or password'}); dispatch(action); } } }
this.props.editMenu( values, site => { if (addItemName) { if (addItemName === 'Custom Links') { Object.assign(newState, { customLinkUrl: '', customLinkText: '', }); } else { Object.assign(newState, { [`selected${addItemName}`]: {}, addItemName: null, }); } } const { menus } = site; if ( !newState.menuId ) newState.menuId = menus[menus.length - 1]._id; if ( this._isMounted ) this.setState(newState); this.initForm(site); this.props.openSnackbar(hasBeenText('Menu item', values.name, 'saved')); stopSubmit(); } )
}); yield put(stopSubmit('change-password', errors));
export function* updateBookSaga({payload: {id, data}}) { yield put(startSubmit('book')) try { const resp = yield call(api.updateBook, id, data) const {errors} = resp if (errors) { //yield put(stopSubmit('book', errors)) throw new Error(JSON.stringify(errors)) //решила не показывать ошибки от бекенда } yield put(stopSubmit('book')) yield put(setSubmitSucceeded('book')) } catch (e) { yield put(stopSubmit('book', { _error: 'К сожалению, не удалось выполнить сохранение книги. Попробуйте позже. ' })) } }
generator.next().value ).toEqual( put(stopSubmit('change-password', {})) ); generator.next().value ).toEqual( put(stopSubmit('change-password', { currentPassword: undefined })) );
export function *doRegistrationFailed(action) { const errorData = action.payload.response; const [username, email, newPassword, newPasswordRepeated] = [ yield call(formErrorHelper, errorData, 'children.username.errors'), yield call(formErrorHelper, errorData, 'children.email.errors'), yield call(formErrorHelper, errorData, 'children.plainPassword.children.first.errors'), yield call(formErrorHelper, errorData, 'children.plainPassword.children.second.errors') ]; yield put(stopSubmit('registration-form', { username, email, newPassword, newPasswordRepeated })); }
export function* addBookSaga({payload: {data}}) { yield put(startSubmit('book')) try { const resp = yield call(api.addBook, data) const {errors} = resp if (errors) { //yield put(stopSubmit('book', errors)) throw new Error(JSON.stringify(errors)) //решила не показывать ошибки от бекенда } yield put(stopSubmit('book')) yield put(setSubmitSucceeded('book')) } catch (e) { console.log(e.message) yield put(stopSubmit('book', { _error: 'К сожалению, не удалось выполнить сохранение книги. Попробуйте позже. ' })) } }