diff --git a/src/components/fieldsDisplayForm/FieldFooterOptions.js b/src/components/fieldsDisplayForm/FieldFooterOptions.js index b7a8b911d11ffa3b2ebd2347e0b504e9348ad276..7cea2c355c7e8063553192ab986288de960611c5 100644 --- a/src/components/fieldsDisplayForm/FieldFooterOptions.js +++ b/src/components/fieldsDisplayForm/FieldFooterOptions.js @@ -14,23 +14,25 @@ function FieldFooterOptions(props) { const { setRequiredField, deleteFromForm } = useForm(); return ( <Grid> - <FormControlLabel - control={ - <Tooltip - title="Marcar como obrigatório" - aria-label="Marcar como obrigatório" - > - <Switch - onChange={(e) => setRequiredField(props.idq)} - value="required" - color="primary" - checked={props.required} - /> - </Tooltip> - } - style={{ size: "0px" }} - label="Obrigatória" - /> + {!props.subform && ( + <FormControlLabel + control={ + <Tooltip + title="Marcar como obrigatório" + aria-label="Marcar como obrigatório" + > + <Switch + onChange={(e) => setRequiredField(props.idq)} + value="required" + color="primary" + checked={props.required} + /> + </Tooltip> + } + style={{ size: "0px" }} + label="Obrigatória" + /> + )} <Tooltip title="Remover a pergunta" aria-label="Remover a pergunta"> <IconButton aria-label="Remover a pergunta" diff --git a/src/components/fieldsDisplayForm/FormFieldCheckbox.js b/src/components/fieldsDisplayForm/FormFieldCheckbox.js index 0595faf5caf91c5dc119b53770b285e4f4992224..36849f71af13ac023696ad23b0ced732d0a85cb7 100644 --- a/src/components/fieldsDisplayForm/FormFieldCheckbox.js +++ b/src/components/fieldsDisplayForm/FormFieldCheckbox.js @@ -62,6 +62,9 @@ function FormFieldCheckbox(props) { {...provided.draggableProps} {...provided.dragHandleProps} > + <Grid container item xs={12} justify="center"> + <h4>Múltipla Escolha</h4> + </Grid> <Grid container> <DefaultField question={props.question} diff --git a/src/components/fieldsDisplayForm/FormFieldRadio.js b/src/components/fieldsDisplayForm/FormFieldRadio.js index b87772183a453e95a93022f65ede9791eb51dd13..ab98b69e0b8df45ee3f2d1b6e121f044da554447 100644 --- a/src/components/fieldsDisplayForm/FormFieldRadio.js +++ b/src/components/fieldsDisplayForm/FormFieldRadio.js @@ -61,6 +61,9 @@ function FormFieldRadio(props) { {...provided.draggableProps} {...provided.dragHandleProps} > + <Grid container item xs={12} justify="center"> + <h4>Seleção Única</h4> + </Grid> <Grid container> <DefaultField question={props.question} diff --git a/src/components/fieldsDisplayForm/FormFieldSelect.js b/src/components/fieldsDisplayForm/FormFieldSelect.js index 959cb50f4627b21668f5ce2e99218174dc2cd096..55d872720bb89018994ef3b860389a68d5ab28a8 100644 --- a/src/components/fieldsDisplayForm/FormFieldSelect.js +++ b/src/components/fieldsDisplayForm/FormFieldSelect.js @@ -63,6 +63,9 @@ function FormFieldSelect(props) { {...provided.draggableProps} {...provided.dragHandleProps} > + <Grid container item xs={12} justify="center"> + <h4>Lista Suspensa</h4> + </Grid> <Grid container> <DefaultField question={props.question} diff --git a/src/components/fieldsDisplayForm/FormFieldSubform.js b/src/components/fieldsDisplayForm/FormFieldSubform.js index cd497ee76f24265802173fc0a8d1c1d681b50d4f..9a3422c1acc07651847b5041182cf8d99ea46460 100644 --- a/src/components/fieldsDisplayForm/FormFieldSubform.js +++ b/src/components/fieldsDisplayForm/FormFieldSubform.js @@ -134,13 +134,8 @@ export default function FormFieldSubform(props) { > <Grid container> <Grid container item> - <Grid container item xs={12}> - <DefaultField - question={props.question} - description={props.description} - idq={props.idq} - error={props.error} - /> + <Grid container item xs={12} justify="center"> + <h4>Subformulário</h4> </Grid> </Grid> <Grid item xs={12} sm={6} className={classes.questionsGrid}> @@ -166,6 +161,7 @@ export default function FormFieldSubform(props) { className={classes.footerOptsAdjustment} > <FieldFooterOptions + subform={true} idq={props.idq} required={props.validation[0].value} /> diff --git a/src/components/fieldsDisplayForm/FormFieldText.js b/src/components/fieldsDisplayForm/FormFieldText.js index 7c4d19ad74759fd6ab8fa11e47e34badc466a46a..b91f18529534dddcaf133ba920a30fad8c1bd715 100644 --- a/src/components/fieldsDisplayForm/FormFieldText.js +++ b/src/components/fieldsDisplayForm/FormFieldText.js @@ -91,8 +91,8 @@ function FormFieldText(props) { * The types are equivalent to the backend. */ const validationOpts = [ - { type: 3, name: "Mínimo de caracteres", value: "" }, - { type: 4, name: "Máximo de caracteres", value: "" }, + { type: 3, name: "Máximo de caracteres", value: "" }, + { type: 4, name: "Mínimo de caracteres", value: "" }, ]; /** Importing functions to add, remove and set validations and it's properties. */ const { @@ -111,6 +111,9 @@ function FormFieldText(props) { {...provided.draggableProps} {...provided.dragHandleProps} > + <Grid container item xs={12} justify="center"> + <h4>Caixa de Texto</h4> + </Grid> <Grid container> <DefaultField question={props.question} diff --git a/src/components/fieldsDisplayForm/FormFieldTitle.js b/src/components/fieldsDisplayForm/FormFieldTitle.js index e42eeea54baf6e146a0c0c8ab27e4b095af54fab..8eff7e505cb88319adec5bdc7ff9e6092b3bee8c 100644 --- a/src/components/fieldsDisplayForm/FormFieldTitle.js +++ b/src/components/fieldsDisplayForm/FormFieldTitle.js @@ -25,11 +25,14 @@ const useStyles = makeStyles((theme) => ({ marginBottom: "20px", }, title: { - fontSize: "xx-large", + fontSize: "x-large", }, description: { - fontSize: "x-large", + fontSize: "large", marginBottom: "2%", + ["@media (max-width:370px)"]: { + marginBottom: "4%", + }, }, errorGrid: { marginTop: "1%", diff --git a/src/components/fieldsDisplayForm/SideMenu.js b/src/components/fieldsDisplayForm/SideMenu.js index 51a29fbe6958aa0b2d1abddfb132e2afe2fec676..0ef7863b1063c7f8bca1af076f70adc93673aae9 100644 --- a/src/components/fieldsDisplayForm/SideMenu.js +++ b/src/components/fieldsDisplayForm/SideMenu.js @@ -9,6 +9,7 @@ import { makeStyles } from "@material-ui/core"; import ListAltIcon from "@material-ui/icons/ListAlt"; import TextFieldsIcon from "@material-ui/icons/TextFields"; import useForm from "../../contexts/useForm"; +import Tooltip from "@material-ui/core/Tooltip"; const useStyles = makeStyles((theme) => ({ addButton: { @@ -22,7 +23,9 @@ const useStyles = makeStyles((theme) => ({ }, ["@media(max-width: 1050px)"]: { fontSize: "0", + alignItems: "center", }, + alignItems: "flex-start", }, paper: { ["@media (min-width: 600px)"]: { @@ -57,72 +60,90 @@ function SideMenu(props) { addToFormSubform, } = useForm(); const classes = useStyles(); + const msg = { + text: "Adicionar uma caixa de texto", + susp: "Adicionar lista suspensa", + uniq: "Adicionar seleção única", + mult: "Adicionar múltipla escolha", + sub: "Adicionar subformulário", + }; + return ( <Paper className={classes.paper}> - <Grid item container justify="flex-start" className={classes.outerGrid}> + <Grid item container className={classes.outerGrid}> <Grid className={classes.newQuestionGrid} container justify="center"> <h4>Adicionar pergunta:</h4> </Grid> - <IconButton - aria-label="add question" - type="submit" - size="medium" - className={classes.addButton} - onClick={() => { - addToFormQuestion(); - }} - > - <TextFieldsIcon /> - Caixa de texto - </IconButton> - <IconButton - aria-label="add select" - type="submit" - size="medium" - className={classes.addButton} - onClick={() => { - addToFormSelect(); - }} - > - <ReorderIcon /> - Lista Suspensa - </IconButton> - <IconButton - aria-label="add radio" - type="submit" - size="medium" - className={classes.addButton} - onClick={() => { - addToFormRadio(); - }} - > - <RadioButtonCheckedIcon /> - Seleção Única - </IconButton> - <IconButton - aria-label="add checkbox" - type="submit" - size="medium" - className={classes.addButton} - onClick={() => { - addToFormCheckbox(); - }} - > - <CheckBoxOutlineBlankIcon /> - Múltipla Escolha - </IconButton> - <IconButton - aria-label="add subform" - type="submit" - size="medium" - className={classes.addButton} - onClick={() => { - addToFormSubform(); - }} - > - <ListAltIcon /> - Subformulário - </IconButton> + <Tooltip title={msg.text} aria-label={msg.text}> + <IconButton + aria-label="add question" + type="submit" + size="medium" + className={classes.addButton} + onClick={() => { + addToFormQuestion(); + }} + > + <TextFieldsIcon /> + Caixa de Texto + </IconButton> + </Tooltip> + <Tooltip title={msg.susp} aria-label={msg.susp}> + <IconButton + aria-label="add select" + type="submit" + size="medium" + className={classes.addButton} + onClick={() => { + addToFormSelect(); + }} + > + <ReorderIcon /> + Lista Suspensa + </IconButton> + </Tooltip> + <Tooltip title={msg.uniq} aria-label={msg.uniq}> + <IconButton + aria-label="add radio" + type="submit" + size="medium" + className={classes.addButton} + onClick={() => { + addToFormRadio(); + }} + > + <RadioButtonCheckedIcon /> + Seleção Única + </IconButton> + </Tooltip> + <Tooltip title={msg.mult} aria-label={msg.mult}> + <IconButton + aria-label="add checkbox" + type="submit" + size="medium" + className={classes.addButton} + onClick={() => { + addToFormCheckbox(); + }} + > + <CheckBoxOutlineBlankIcon /> + Múltipla Escolha + </IconButton> + </Tooltip> + <Tooltip title={msg.sub} aria-label={msg.sub}> + <IconButton + aria-label="add subform" + type="submit" + size="medium" + className={classes.addButton} + onClick={() => { + addToFormSubform(); + }} + > + <ListAltIcon /> + Subformulário + </IconButton> + </Tooltip> </Grid> </Paper> ); diff --git a/src/components/fieldsDisplayForm/utils/FormComposition.js b/src/components/fieldsDisplayForm/utils/FormComposition.js index b09b3e70a7206c4e54ffaf0cc8b1e80bd997b1e3..133b30c603f81cd6d49b07b926077427f30c8492 100644 --- a/src/components/fieldsDisplayForm/utils/FormComposition.js +++ b/src/components/fieldsDisplayForm/utils/FormComposition.js @@ -196,8 +196,6 @@ export function pushSubform( inputId: id ? id : null, error: { errorMsg: { - question: question ? "" : "Este campo é obrigatório!", - description: "", subformUsage: "", }, }, diff --git a/src/components/fieldsDisplayForm/utils/schemas.js b/src/components/fieldsDisplayForm/utils/schemas.js index ce0fffa44b33e26117793208ed532914375add9b..95c57f612112d3e752aea1032270fc6e7f12678f 100644 --- a/src/components/fieldsDisplayForm/utils/schemas.js +++ b/src/components/fieldsDisplayForm/utils/schemas.js @@ -15,9 +15,11 @@ export async function testQuestionTextSchema(error, value) { } /** Function that applies the validation of it's used schema and sets the error messages. */ export async function testDescriptionTextSchema(error, value) { - value && checkText(value) - ? (error.errorMsg.description = "") - : (error.errorMsg.description = "O caractere não é permitido"); + value + ? checkText(value) + ? (error.errorMsg.description = "") + : (error.errorMsg.description = "O caractere não é permitido") + : (error.errorMsg.description = ""); } /** Schema to validate the number of options at options field from FormFieldSelect, FormFieldCheckbox and FormFieldRadio. */ const selectOptionsSchema = Yup.array() diff --git a/src/components/header/header.jsx b/src/components/header/header.jsx index 8c6648538075ad8e5f03337276d83f0701cffa9c..d532abc24f8f54a5fd54a4c0b43ef3953b4b4cb1 100644 --- a/src/components/header/header.jsx +++ b/src/components/header/header.jsx @@ -5,14 +5,14 @@ import logo from "./header_imgs/imgsimmc-01.png"; import { makeStyles } from "@material-ui/core"; import MenuListComposition from "./header_components/MenuList"; -const useStyles = makeStyles(theme => ({ +const useStyles = makeStyles((theme) => ({ header: { background: "#05a5dd", width: "auto", display: "flex", flexDirection: "column", justifyContent: "center", - height: "13%" + height: "13%", }, simmc: { marginTop: "5%", @@ -20,8 +20,8 @@ const useStyles = makeStyles(theme => ({ color: "#ffffff", marginLeft: "2%", ["@media (max-width:1040px)"]: { - display: "none" - } + display: "none", + }, }, form_creator: { color: "#ffffff", @@ -30,15 +30,15 @@ const useStyles = makeStyles(theme => ({ fontSize: "21px", ["@media (max-width:525px)"]: { marginTop: "5%", - marginLeft: "10%" + marginLeft: "10%", }, ["@media (max-width:337px)"]: { - fontSize: "19px" - } - } + fontSize: "19px", + }, + }, }, link: { - textDecoration: "none" + textDecoration: "none", }, logo: { marginLeft: "2.5%", @@ -47,14 +47,14 @@ const useStyles = makeStyles(theme => ({ ["@media (max-width:600px)"]: { width: "65px", ["@media (max-width:338px)"]: { - marginTop: "3%" - } - } + marginTop: "3%", + }, + }, }, userImgContainer: { display: "flex", - flexDirection: "column" - } + flexDirection: "column", + }, })); export default function Header() { diff --git a/src/pages/SignIn.js b/src/pages/SignIn.js index f34aacc99ed2e9096480619246cd40c8ac3fe124..33ba0f783b7ab17cef79edc5090935c67b4ab75f 100644 --- a/src/pages/SignIn.js +++ b/src/pages/SignIn.js @@ -36,7 +36,7 @@ const useStyles = makeStyles((theme) => ({ textAlign: "center", }, noAcc: { - marginTop: "10px" + marginTop: "10px", }, button: { type: "submit",