From d1c7e86f54ef509c8e8ea2b55c947e196da1a4d7 Mon Sep 17 00:00:00 2001 From: Clement G Date: Thu, 26 Dec 2019 20:48:25 +0100 Subject: [PATCH] feat(advanced-option) : add collapse component in form to hide advanced options (wip #11, #10) --- src/components/views/CreateElection.jsx | 75 ++++++++++++++----------- 1 file changed, 43 insertions(+), 32 deletions(-) diff --git a/src/components/views/CreateElection.jsx b/src/components/views/CreateElection.jsx index d935c12..04c0a09 100644 --- a/src/components/views/CreateElection.jsx +++ b/src/components/views/CreateElection.jsx @@ -1,6 +1,7 @@ import React, {Component} from "react"; import { Redirect } from 'react-router-dom'; import { + Collapse, Container, Row, Col, @@ -19,7 +20,7 @@ import {arrayMove, sortableContainer, sortableElement, sortableHandle} from 'rea import ButtonWithConfirm from "../form/ButtonWithConfirm"; import { FontAwesomeIcon } from '@fortawesome/react-fontawesome'; -import {faPlus, faTrashAlt, faCheck } from '@fortawesome/free-solid-svg-icons'; +import {faPlus, faTrashAlt, faCheck, faCogs } from '@fortawesome/free-solid-svg-icons'; import { grades } from '../../Util'; @@ -79,7 +80,8 @@ class CreateElection extends Component { isVisibleTipsDragAndDropCandidate:true, numGrades:7, successCreate: false, - redirectTo: null + redirectTo: null, + isAdvancedOptionsOpen:false }; this.candidateInputs = []; this.focusInput= React.createRef(); @@ -151,6 +153,10 @@ class CreateElection extends Component { this.setState({numGrades: event.target.value}); }; + toggleAdvancedOptions= () => { + this.setState({isAdvancedOptionsOpen: !this.state.isAdvancedOptionsOpen}); + }; + componentWillMount() { const params = new URLSearchParams(this.props.location.search); this.setState({title:params.get("title")?params.get("title"):""}); @@ -233,43 +239,48 @@ class CreateElection extends Component { form={this} useDragHandle/> - - - - - - - - - - - - - - - Vous pouvez choisir ici le nombre de mentions pour votre vote -
Par exemple : 5 = Excellent, Très bien, bien, assez bien, passable -
+ + - - { grades.map((mention,i) => { - return {mention.label} - }) - } - -
-
- + + + + + + + + + + + Vous pouvez choisir ici le nombre de mentions pour votre vote +
Par exemple : 5 = Excellent, Très bien, bien, assez bien, passable +
+ + + { grades.map((mention,i) => { + return {mention.label} + }) + } + +
+
+ {this.state.numCandidatesWithLabel>=2?
Valider