Quellcode durchsuchen

Reset add ad modal after adding new ad

pull/117/head
Ermin Bronja vor 3 Jahren
Ursprung
Commit
38352bcbfd

+ 20
- 3
src/components/Ads/AddAdModal.js Datei anzeigen

@@ -8,7 +8,10 @@ import AddAdModalFirstStage from "./AddAdModalFirstStage";
import AddAdModalSecondStage from "./AddAdModalSecondStage";
import AddAdModalThirdStage from "./AddAdModalThirdStage";
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";

const style = {
@@ -38,7 +41,21 @@ const AddAdModal = ({ open, handleClose }) => {
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
.filter((x) => x.isChecked === true)
.map((x) => x.technologyId);
@@ -49,13 +66,13 @@ const AddAdModal = ({ open, handleClose }) => {
minimumExperience: experience,
createdAt: new Date(),
expiredAt,
// keyResponsibilities,
keyResponsibilities: htmlKeyResponsibilities,
requirements: htmlRequirements,
offer: htmlOffer,
workHour,
employmentType,
technologiesIds,
onSuccessAddAd,
})
);
handleClose();

+ 2
- 0
src/store/actions/addAdTechnologies/addAdTechnologiesActionConstants.js Datei anzeigen

@@ -3,3 +3,5 @@ export const FETCH_ADD_AD_TECHNOLOGIES_ERR = "FETCH_ADD_AD_TECHNOLOGIES_ERR";
export const FETCH_ADD_AD_TECHNOLOGIES_SUCCESS = "FETCH_ADD_AD_TECHNOLOGIES_SUCCESS";

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 Datei anzeigen

@@ -1,26 +1,30 @@
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 Datei anzeigen

@@ -3,6 +3,7 @@ import {
FETCH_ADD_AD_TECHNOLOGIES_ERR,
FETCH_ADD_AD_TECHNOLOGIES_SUCCESS,
CHANGE_ISCHECKED_VALUE_ADD_AD,
RESET_ISCHECKED_VALUE_ADD_AD,
} from "../../actions/addAdTechnologies/addAdTechnologiesActionConstants";

const initialState = {
@@ -15,6 +16,7 @@ export default createReducer(
[FETCH_ADD_AD_TECHNOLOGIES_SUCCESS]: setStateTechnologiesAddAd,
[FETCH_ADD_AD_TECHNOLOGIES_ERR]: setStateAddAdErrorMessage,
[CHANGE_ISCHECKED_VALUE_ADD_AD]: setIsCheckedTechnologyAddAd,
[RESET_ISCHECKED_VALUE_ADD_AD]: setResetTechnologyAddAd,
},
initialState
);
@@ -37,3 +39,12 @@ function setIsCheckedTechnologyAddAd(state, action) {
),
};
}

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

+ 9
- 3
src/store/saga/adsSaga.js Datei anzeigen

@@ -32,7 +32,10 @@ import {
// import { JWT_TOKEN } from "../../constants/localStorage";
// import { addHeaderToken } from "../../request";
import { rejectErrorCodeHelper } from "../../util/helpers/rejectErrorCodeHelper";
import { archiveActiveAd, archiveActiveAdError } from "../actions/archiveActiveAd/archiveActiveAdActions";
import {
archiveActiveAd,
archiveActiveAdError,
} from "../actions/archiveActiveAd/archiveActiveAdActions";

export function* getAds() {
try {
@@ -79,6 +82,9 @@ export function* createAd({ payload }) {
yield put(setAds(resultAds.data));
const resultArchiveAds = yield call(getAllArchiveAds);
yield put(setArchiveAds(resultArchiveAds.data));
if (payload.onSuccessAddAd) {
yield call(payload.onSuccessAddAd);
}
} catch (error) {
yield put(setCreateAdError(error));
}
@@ -94,8 +100,8 @@ export function* archiveActiveAdSaga({ payload }) {
yield put(setAds(resultAds.data));
const resultArchiveAds = yield call(getAllArchiveAds);
yield put(setArchiveAds(resultArchiveAds.data));
if(payload.navigateToAds){
yield call(payload.navigateToAds)
if (payload.navigateToAds) {
yield call(payload.navigateToAds);
}
} catch (error) {
const errorMessage = yield call(rejectErrorCodeHelper, error);

Laden…
Abbrechen
Speichern