Selaa lähdekoodia

Reset add ad modal after adding new ad

pull/117/head
Ermin Bronja 3 vuotta sitten
vanhempi
commit
38352bcbfd

+ 20
- 3
src/components/Ads/AddAdModal.js Näytä tiedosto

import AddAdModalSecondStage from "./AddAdModalSecondStage"; import AddAdModalSecondStage from "./AddAdModalSecondStage";
import AddAdModalThirdStage from "./AddAdModalThirdStage"; import AddAdModalThirdStage from "./AddAdModalThirdStage";
import { useSelector, useDispatch } from "react-redux"; import { useSelector, useDispatch } from "react-redux";
import { setTechnologiesAddAdReq } from "../../store/actions/addAdTechnologies/addAdTechnologiesActions";
import {
resetIsCheckedAddAdValue,
setTechnologiesAddAdReq,
} from "../../store/actions/addAdTechnologies/addAdTechnologiesActions";
import { setCreateAdReq } from "../../store/actions/createAd/createAdActions"; import { setCreateAdReq } from "../../store/actions/createAd/createAdActions";


const style = { const style = {
dispatch(setTechnologiesAddAdReq()); dispatch(setTechnologiesAddAdReq());
}, []); }, []);


const addAdHandler = (htmlKeyResponsibilities, htmlRequirements, htmlOffer) => {
const onSuccessAddAd = () => {
setStage(1);
setTitle("");
setEmploymentType("Work");
setWorkHour("FullTime");
setExpiredAt("");
setExperience(0);
dispatch(resetIsCheckedAddAdValue());
};

const addAdHandler = (
htmlKeyResponsibilities,
htmlRequirements,
htmlOffer
) => {
const technologiesIds = technologies const technologiesIds = technologies
.filter((x) => x.isChecked === true) .filter((x) => x.isChecked === true)
.map((x) => x.technologyId); .map((x) => x.technologyId);
minimumExperience: experience, minimumExperience: experience,
createdAt: new Date(), createdAt: new Date(),
expiredAt, expiredAt,
// keyResponsibilities,
keyResponsibilities: htmlKeyResponsibilities, keyResponsibilities: htmlKeyResponsibilities,
requirements: htmlRequirements, requirements: htmlRequirements,
offer: htmlOffer, offer: htmlOffer,
workHour, workHour,
employmentType, employmentType,
technologiesIds, technologiesIds,
onSuccessAddAd,
}) })
); );
handleClose(); handleClose();

+ 2
- 0
src/store/actions/addAdTechnologies/addAdTechnologiesActionConstants.js Näytä tiedosto

export const FETCH_ADD_AD_TECHNOLOGIES_SUCCESS = "FETCH_ADD_AD_TECHNOLOGIES_SUCCESS"; export const FETCH_ADD_AD_TECHNOLOGIES_SUCCESS = "FETCH_ADD_AD_TECHNOLOGIES_SUCCESS";


export const CHANGE_ISCHECKED_VALUE_ADD_AD = "CHANGE_ISCHECKED_VALUE"; export const CHANGE_ISCHECKED_VALUE_ADD_AD = "CHANGE_ISCHECKED_VALUE";

export const RESET_ISCHECKED_VALUE_ADD_AD = "RESET_ISCHECKED_VALUE_ADD_AD";

+ 29
- 25
src/store/actions/addAdTechnologies/addAdTechnologiesActions.js Näytä tiedosto

import { import {
FETCH_ADD_AD_TECHNOLOGIES_REQ,
FETCH_ADD_AD_TECHNOLOGIES_ERR,
FETCH_ADD_AD_TECHNOLOGIES_SUCCESS,
CHANGE_ISCHECKED_VALUE_ADD_AD,
} from "./addAdTechnologiesActionConstants";
export const setTechnologiesAddAdReq = () => ({
type: FETCH_ADD_AD_TECHNOLOGIES_REQ,
});
export const setTechnologiesAddAdError = (payload) => ({
type: FETCH_ADD_AD_TECHNOLOGIES_ERR,
payload,
});
export const setTechnologiesAddAd = (payload) => ({
type: FETCH_ADD_AD_TECHNOLOGIES_SUCCESS,
payload,
});
export const changeIsCheckedAddAdValue = (payload) => ({
type: CHANGE_ISCHECKED_VALUE_ADD_AD,
payload,
});
FETCH_ADD_AD_TECHNOLOGIES_REQ,
FETCH_ADD_AD_TECHNOLOGIES_ERR,
FETCH_ADD_AD_TECHNOLOGIES_SUCCESS,
CHANGE_ISCHECKED_VALUE_ADD_AD,
RESET_ISCHECKED_VALUE_ADD_AD,
} from "./addAdTechnologiesActionConstants";

export const setTechnologiesAddAdReq = () => ({
type: FETCH_ADD_AD_TECHNOLOGIES_REQ,
});

export const setTechnologiesAddAdError = (payload) => ({
type: FETCH_ADD_AD_TECHNOLOGIES_ERR,
payload,
});

export const setTechnologiesAddAd = (payload) => ({
type: FETCH_ADD_AD_TECHNOLOGIES_SUCCESS,
payload,
});

export const changeIsCheckedAddAdValue = (payload) => ({
type: CHANGE_ISCHECKED_VALUE_ADD_AD,
payload,
});

export const resetIsCheckedAddAdValue = () => ({
type: RESET_ISCHECKED_VALUE_ADD_AD,
});

+ 11
- 0
src/store/reducers/technology/addAddTechnologiesReducer.js Näytä tiedosto

FETCH_ADD_AD_TECHNOLOGIES_ERR, FETCH_ADD_AD_TECHNOLOGIES_ERR,
FETCH_ADD_AD_TECHNOLOGIES_SUCCESS, FETCH_ADD_AD_TECHNOLOGIES_SUCCESS,
CHANGE_ISCHECKED_VALUE_ADD_AD, CHANGE_ISCHECKED_VALUE_ADD_AD,
RESET_ISCHECKED_VALUE_ADD_AD,
} from "../../actions/addAdTechnologies/addAdTechnologiesActionConstants"; } from "../../actions/addAdTechnologies/addAdTechnologiesActionConstants";


const initialState = { const initialState = {
[FETCH_ADD_AD_TECHNOLOGIES_SUCCESS]: setStateTechnologiesAddAd, [FETCH_ADD_AD_TECHNOLOGIES_SUCCESS]: setStateTechnologiesAddAd,
[FETCH_ADD_AD_TECHNOLOGIES_ERR]: setStateAddAdErrorMessage, [FETCH_ADD_AD_TECHNOLOGIES_ERR]: setStateAddAdErrorMessage,
[CHANGE_ISCHECKED_VALUE_ADD_AD]: setIsCheckedTechnologyAddAd, [CHANGE_ISCHECKED_VALUE_ADD_AD]: setIsCheckedTechnologyAddAd,
[RESET_ISCHECKED_VALUE_ADD_AD]: setResetTechnologyAddAd,
}, },
initialState initialState
); );
), ),
}; };
} }

function setResetTechnologyAddAd(state) {
const resetedTechnologies = state.technologies.map((tech) => ({
...tech,
isChecked: false,
}));
return { ...state, technologies: resetedTechnologies };
}

+ 9
- 3
src/store/saga/adsSaga.js Näytä tiedosto

// import { JWT_TOKEN } from "../../constants/localStorage"; // import { JWT_TOKEN } from "../../constants/localStorage";
// import { addHeaderToken } from "../../request"; // import { addHeaderToken } from "../../request";
import { rejectErrorCodeHelper } from "../../util/helpers/rejectErrorCodeHelper"; import { rejectErrorCodeHelper } from "../../util/helpers/rejectErrorCodeHelper";
import { archiveActiveAd, archiveActiveAdError } from "../actions/archiveActiveAd/archiveActiveAdActions";
import {
archiveActiveAd,
archiveActiveAdError,
} from "../actions/archiveActiveAd/archiveActiveAdActions";


export function* getAds() { export function* getAds() {
try { try {
yield put(setAds(resultAds.data)); yield put(setAds(resultAds.data));
const resultArchiveAds = yield call(getAllArchiveAds); const resultArchiveAds = yield call(getAllArchiveAds);
yield put(setArchiveAds(resultArchiveAds.data)); yield put(setArchiveAds(resultArchiveAds.data));
if (payload.onSuccessAddAd) {
yield call(payload.onSuccessAddAd);
}
} catch (error) { } catch (error) {
yield put(setCreateAdError(error)); yield put(setCreateAdError(error));
} }
yield put(setAds(resultAds.data)); yield put(setAds(resultAds.data));
const resultArchiveAds = yield call(getAllArchiveAds); const resultArchiveAds = yield call(getAllArchiveAds);
yield put(setArchiveAds(resultArchiveAds.data)); yield put(setArchiveAds(resultArchiveAds.data));
if(payload.navigateToAds){
yield call(payload.navigateToAds)
if (payload.navigateToAds) {
yield call(payload.navigateToAds);
} }
} catch (error) { } catch (error) {
const errorMessage = yield call(rejectErrorCodeHelper, error); const errorMessage = yield call(rejectErrorCodeHelper, error);

Loading…
Peruuta
Tallenna