From 9296eb6e7b677760f57aa99271a03477bb1f2d7e Mon Sep 17 00:00:00 2001 From: wildscotsmen Date: Thu, 18 Oct 2018 15:22:31 -0400 Subject: [PATCH 1/5] Updated report form to sponsor's specifications. --- src/components/ReportForm.js | 435 ++++++++++++++++++++++------------- 1 file changed, 274 insertions(+), 161 deletions(-) diff --git a/src/components/ReportForm.js b/src/components/ReportForm.js index ac72000..1c84462 100644 --- a/src/components/ReportForm.js +++ b/src/components/ReportForm.js @@ -1,4 +1,4 @@ -import React, {Fragment} from 'react'; +import React, { Fragment } from 'react'; import PropTypes from 'prop-types'; import Grid from '@material-ui/core/Grid'; import { withStyles } from '@material-ui/core/styles'; @@ -46,16 +46,11 @@ const styles = theme => ({ * this string in the database. * @param {*} date, Date passed in. */ -function formatDate(date) { - var d = new Date(date), - month = '' + (d.getMonth() + 1), - day = '' + d.getDate(), - year = d.getFullYear(); +function getYear(date) { + var d = new Date(date), + year = d.getFullYear(); - if (month.length < 2) month = '0' + month; - if (day.length < 2) day = '0' + day; - - return [year, month, day].join('-'); + return year; } /** @@ -90,33 +85,117 @@ const sightingTypes = [ }, ]; +/** + * Types of sightings. Label is what is + * viewed in the application, value is + * what is stored in the database. +*/ +const monthTypes = [ + { + value: '01', + label: 'January', + }, + { + value: '02', + label: 'February', + }, + { + value: '03', + label: 'March', + }, + { + value: '04', + label: 'April', + }, + { + value: '05', + label: 'May', + }, + { + value: '06', + label: 'June', + }, + { + value: '07', + label: 'July', + }, + { + value: '08', + label: 'August', + }, + { + value: '09', + label: 'September', + }, + { + value: '10', + label: 'October', + }, + { + value: '11', + label: 'November', + }, + { + value: '12', + label: 'December', + }, +]; + +/** + * Types of sightings. Label is what is + * viewed in the application, value is + * what is stored in the database. +*/ +const timeTypes = [ + { + value: 'morning', + label: 'Morning', + }, + { + value: 'midday', + label: 'Midday', + }, + { + value: 'evening', + label: 'Evening', + }, + { + value: 'night', + label: 'Night', + }, + { + value: 'unknown', + label: 'Unknown', + }, +]; + /** * Levels of confidence. Label is what is * viewed in the application, value is * what is stored in the database. */ const confidenceLevels = [ - { - value: '1', - label: '1 - Strongly unconfident', - }, - { - value: '2', - label: '2 - Unconfident', - }, - { - value: '3', - label: '3 - Somewhat confident', - }, - { - value: '4', - label: '4 - Confident', - }, - { - value: '5', - label: '5 - Very confident', - }, - ]; + { + value: '1', + label: '1 - Strongly unconfident', + }, + { + value: '2', + label: '2 - Unconfident', + }, + { + value: '3', + label: '3 - Somewhat confident', + }, + { + value: '4', + label: '4 - Confident', + }, + { + value: '5', + label: '5 - Very confident', + }, +]; /** * The form component. @@ -136,8 +215,9 @@ class ReportForm extends React.Component { * State of form components. */ state = { - date: formatDate(new Date()), - time: '00:00', + month: '01', + year: getYear(new Date()), + time: 'morning', type: 'visual', confidence: '1', desc: '', @@ -159,13 +239,13 @@ class ReportForm extends React.Component { * Get the coordinates * */ - getCoordinates = (lat,lng) => { + getCoordinates = (lat, lng) => { let latitude = lat; let longitude = lng; this.setState({ - lat: latitude, - lng: longitude + lat: latitude, + lng: longitude }); } @@ -181,7 +261,7 @@ class ReportForm extends React.Component { const sighting = { type: this.state.type, confidence: this.state.confidence, - date: this.state.date, + date: this.state.year + '-' + this.state.month, time: this.state.time, desc: this.state.desc, lat: this.state.lat, @@ -189,8 +269,9 @@ class ReportForm extends React.Component { } sightingsRef.push(sighting); this.setState({ - date: formatDate(new Date()), - time: '00:00', + year: getYear(new Date()), + month: '01', + time: 'morning', type: 'visual', confidence: '1', desc: '', @@ -198,7 +279,7 @@ class ReportForm extends React.Component { lng: '' }); }; - + /** * The render method for this component. @@ -210,129 +291,161 @@ class ReportForm extends React.Component { * The actual form. */ return ( - -
- - - - - - {sightingTypes.map(option => ( - - {option.label} - - ))} - - - - - - {confidenceLevels.map(option => ( - - {option.label} - - ))} - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + {sightingTypes.map(option => ( + + {option.label} + + ))} + - - + + + + {confidenceLevels.map(option => ( + + {option.label} + + ))} + + + + + + {timeTypes.map(option => ( + + {option.label} + + ))} + + + + + + {monthTypes.map(option => ( + + {option.label} + + ))} + + + + + + + + + + + + + + +
+ + + + + + +
); - } + } } ReportForm.propTypes = { From 1df1c090d0b69d83698247ab94ae8accd298dffb Mon Sep 17 00:00:00 2001 From: wildscotsmen Date: Thu, 18 Oct 2018 15:25:16 -0400 Subject: [PATCH 2/5] Updated comments. --- src/components/ReportForm.js | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/src/components/ReportForm.js b/src/components/ReportForm.js index 1c84462..77a22a3 100644 --- a/src/components/ReportForm.js +++ b/src/components/ReportForm.js @@ -40,10 +40,8 @@ const styles = theme => ({ /** * Function for formatting the - * date as a string that - * Material UI can use. We'll - * also store the date like - * this string in the database. + * year as a string that + * Material UI can use. * @param {*} date, Date passed in. */ function getYear(date) { From 85ad71d9649a3ce1bae5521c3cce53b7e85282f2 Mon Sep 17 00:00:00 2001 From: wildscotsmen Date: Thu, 18 Oct 2018 15:39:52 -0400 Subject: [PATCH 3/5] Changed language used for Likert scale. --- src/components/ReportForm.js | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/src/components/ReportForm.js b/src/components/ReportForm.js index 77a22a3..c0d4a0a 100644 --- a/src/components/ReportForm.js +++ b/src/components/ReportForm.js @@ -175,11 +175,11 @@ const timeTypes = [ const confidenceLevels = [ { value: '1', - label: '1 - Strongly unconfident', + label: '1 - Not at all confident', }, { value: '2', - label: '2 - Unconfident', + label: '2 - Slightly confident', }, { value: '3', @@ -187,11 +187,11 @@ const confidenceLevels = [ }, { value: '4', - label: '4 - Confident', + label: '4 - Fairly confident', }, { value: '5', - label: '5 - Very confident', + label: '5 - Completely confident', }, ]; From 22608cff3730a7a3106500e54b0a76cd2669a675 Mon Sep 17 00:00:00 2001 From: wildscotsmen Date: Thu, 18 Oct 2018 16:10:31 -0400 Subject: [PATCH 4/5] Changed default value for time to 'Unknown'. --- src/components/ReportForm.js | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/src/components/ReportForm.js b/src/components/ReportForm.js index c0d4a0a..75e5637 100644 --- a/src/components/ReportForm.js +++ b/src/components/ReportForm.js @@ -145,6 +145,10 @@ const monthTypes = [ * what is stored in the database. */ const timeTypes = [ + { + value: 'unknown', + label: 'Unknown', + }, { value: 'morning', label: 'Morning', @@ -161,10 +165,6 @@ const timeTypes = [ value: 'night', label: 'Night', }, - { - value: 'unknown', - label: 'Unknown', - }, ]; /** @@ -215,7 +215,7 @@ class ReportForm extends React.Component { state = { month: '01', year: getYear(new Date()), - time: 'morning', + time: 'unknown', type: 'visual', confidence: '1', desc: '', @@ -269,7 +269,7 @@ class ReportForm extends React.Component { this.setState({ year: getYear(new Date()), month: '01', - time: 'morning', + time: 'unknown', type: 'visual', confidence: '1', desc: '', From 204f3d2a7a1e87b7c9bbcb00a4bdd8b2d5018ed2 Mon Sep 17 00:00:00 2001 From: wildscotsmen Date: Fri, 19 Oct 2018 16:25:09 -0400 Subject: [PATCH 5/5] Updated confidence level labels to sponsor's suggestions. --- src/components/ReportForm.js | 17 ++++++++--------- 1 file changed, 8 insertions(+), 9 deletions(-) diff --git a/src/components/ReportForm.js b/src/components/ReportForm.js index 75e5637..9858262 100644 --- a/src/components/ReportForm.js +++ b/src/components/ReportForm.js @@ -175,23 +175,23 @@ const timeTypes = [ const confidenceLevels = [ { value: '1', - label: '1 - Not at all confident', + label: '1 - Strongly disagree', }, { value: '2', - label: '2 - Slightly confident', + label: '2 - Disagree', }, { value: '3', - label: '3 - Somewhat confident', + label: '3 - Neutral', }, { value: '4', - label: '4 - Fairly confident', + label: '4 - Agree', }, { value: '5', - label: '5 - Completely confident', + label: '5 - Strongly agree', }, ]; @@ -259,7 +259,7 @@ class ReportForm extends React.Component { const sighting = { type: this.state.type, confidence: this.state.confidence, - date: this.state.year + '-' + this.state.month, + date: this.state.year + '-' + this.state.month, time: this.state.time, desc: this.state.desc, lat: this.state.lat, @@ -334,7 +334,7 @@ class ReportForm extends React.Component { className: classes.menu, }, }} - helperText="Please select confidence in sighting" + helperText="I am confident of my marten sighting" > {confidenceLevels.map(option => ( @@ -383,7 +383,6 @@ class ReportForm extends React.Component { className: classes.menu, }, }} - helperText="Please select month of sighting" > {monthTypes.map(option => ( @@ -432,7 +431,7 @@ class ReportForm extends React.Component { +