| @@ -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(); | |||
| @@ -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"; | |||
| @@ -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, | |||
| }); | |||
| @@ -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 }; | |||
| } | |||
| @@ -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); | |||