diff --git a/src/actions/page-template-actions.js b/src/actions/page-template-actions.js index 363230881..bd54f5e0e 100644 --- a/src/actions/page-template-actions.js +++ b/src/actions/page-template-actions.js @@ -12,6 +12,7 @@ * */ import T from "i18n-react/dist/i18n-react"; +import moment from "moment-timezone"; import { getRequest, putRequest, @@ -27,7 +28,8 @@ import { getAccessTokenSafely } from "../utils/methods"; import { DEFAULT_CURRENT_PAGE, DEFAULT_ORDER_DIR, - DEFAULT_PER_PAGE + DEFAULT_PER_PAGE, + PAGES_MODULE_KINDS } from "../utils/constants"; import { snackbarErrorHandler, snackbarSuccessHandler } from "./base-actions"; @@ -143,7 +145,16 @@ export const resetPageTemplateForm = () => (dispatch) => { const normalizeEntity = (entity) => { const normalizedEntity = { ...entity }; - normalizedEntity.modules = []; + normalizedEntity.modules = entity.modules.map((module) => { + const normalizedModule = { ...module }; + + if (module.kind === PAGES_MODULE_KINDS.MEDIA && module.upload_deadline) { + normalizedModule.upload_deadline = moment(module.upload_deadline).unix(); + } + delete normalizedModule._tempId; + + return normalizedModule; + }); return normalizedEntity; }; diff --git a/src/components/mui/formik-inputs/mui-formik-datepicker.js b/src/components/mui/formik-inputs/mui-formik-datepicker.js index 3bb67cecc..a9c23486f 100644 --- a/src/components/mui/formik-inputs/mui-formik-datepicker.js +++ b/src/components/mui/formik-inputs/mui-formik-datepicker.js @@ -19,8 +19,7 @@ const MuiFormikDatepicker = ({ name, label, required }) => { label: required ? requiredLabel : label, error: meta.touched && Boolean(meta.error), helperText: meta.touched && meta.error, - fullWidth: true, - margin: "normal" + fullWidth: true }, day: { sx: { @@ -36,6 +35,9 @@ const MuiFormikDatepicker = ({ name, label, required }) => { } } }} + margin="normal" + // eslint-disable-next-line react/jsx-props-no-spreading + {...props} /> ); diff --git a/src/components/mui/formik-inputs/mui-formik-radio-group.js b/src/components/mui/formik-inputs/mui-formik-radio-group.js index 01200434f..79cb82327 100644 --- a/src/components/mui/formik-inputs/mui-formik-radio-group.js +++ b/src/components/mui/formik-inputs/mui-formik-radio-group.js @@ -10,13 +10,19 @@ import { } from "@mui/material"; import { useField } from "formik"; -const MuiFormikRadioGroup = ({ name, label, options, ...props }) => { +const MuiFormikRadioGroup = ({ + name, + label, + margin = "normal", + options, + ...props +}) => { const [field, meta] = useField({ name }); return ( {label && {label}} @@ -56,6 +62,7 @@ const MuiFormikRadioGroup = ({ name, label, options, ...props }) => { MuiFormikRadioGroup.propTypes = { name: PropTypes.string.isRequired, label: PropTypes.string, + margin: PropTypes.string, options: PropTypes.array.isRequired }; diff --git a/src/components/mui/formik-inputs/mui-formik-select.js b/src/components/mui/formik-inputs/mui-formik-select.js index f8c2aa75e..8bde07ba0 100644 --- a/src/components/mui/formik-inputs/mui-formik-select.js +++ b/src/components/mui/formik-inputs/mui-formik-select.js @@ -5,13 +5,15 @@ import { FormHelperText, FormControl, InputAdornment, - IconButton + IconButton, + InputLabel } from "@mui/material"; import ClearIcon from "@mui/icons-material/Clear"; import { useField } from "formik"; const MuiFormikSelect = ({ name, + label, placeholder, children, isClearable, @@ -24,12 +26,23 @@ const MuiFormikSelect = ({ helpers.setValue(""); }; + const hasValue = + field.value !== "" && field.value !== undefined && field.value !== null; + return ( + {label && ( + + {label} + + )}