From 591d7be308983d3c134e3962961a75e3939bc912 Mon Sep 17 00:00:00 2001 From: GotPPay Date: Fri, 11 May 2018 17:24:40 +0200 Subject: [PATCH] round time to the nearest 5 min --- .../steppers/components/VerticalNonLinear.js | 50 ++++++++++--------- 1 file changed, 26 insertions(+), 24 deletions(-) diff --git a/src/routes/app/routes/forms/routes/steppers/components/VerticalNonLinear.js b/src/routes/app/routes/forms/routes/steppers/components/VerticalNonLinear.js index 2dc542b..1e5e5f2 100644 --- a/src/routes/app/routes/forms/routes/steppers/components/VerticalNonLinear.js +++ b/src/routes/app/routes/forms/routes/steppers/components/VerticalNonLinear.js @@ -34,7 +34,7 @@ import Checkbox from 'material-ui/Checkbox'; import Popover from 'material-ui/Popover'; let DateTimeFormat; - +const roundingTime = 1000 * 60 * 5; //5 minutes DateTimeFormat = global.Intl.DateTimeFormat; @@ -44,8 +44,8 @@ export class ValidationErrorsInfoDialog extends React.Component { open: this.props.open, } - componentWillReceiveProps(newProps){ - this.setState({open: newProps.open}); + componentWillReceiveProps(newProps) { + this.setState({ open: newProps.open }); } handleOpen = () => { @@ -76,13 +76,13 @@ export class ValidationErrorsInfoDialog extends React.Component { modal={false} open={this.state.open} onRequestClose={this.handleClose} - overlayStyle={{backgroundColor: 'transparent'}} + overlayStyle={{ backgroundColor: 'transparent' }} > {this.props.errorMessages.map(errorMessage => { return (
{errorMessage.message} -
+
); })} @@ -416,16 +416,18 @@ class VerticalNonLinear extends React.Component { constructor(props) { super(props); + let dateNow = new Date(); + this.state = { stepIndex: 0, rideTypeValue: 0, providerID: 0, providerName: '', visitDate: new Date(), - visitTime: new Date(), + visitTime: new Date(Math.round(dateNow.getTime() / roundingTime) * roundingTime), pickupLocation: null, - pickupTime: new Date(), - pickupTimeReturn: new Date(), + pickupTime: new Date(Math.round(dateNow.getTime() / roundingTime) * roundingTime), + pickupTimeReturn: new Date(Math.round(dateNow.getTime() / roundingTime) * roundingTime), pickupTimeReturnDisplayMode: 'none', open: false, message: 'Booking Ride', @@ -453,8 +455,8 @@ class VerticalNonLinear extends React.Component { }, return_time: new Date(), pickupTimeHide: false, - showValidationErrors:false, - validationErrors:[], + showValidationErrors: false, + validationErrors: [], }; } @@ -489,10 +491,10 @@ class VerticalNonLinear extends React.Component { } }); - let visitTime = new Date(new Date().getTime() + (1 * 60 * 60 * 1000)); - let visitDate = visitTime; - let pickupTime = new Date(visitTime.getTime() - (0.5 * 60 * 60 * 1000)); - let pickupTimeReturn = new Date(visitTime.getTime() - (0.5 * 60 * 60 * 1000)); + let visitTime = new Date(Math.round((date.getTime() + (1 * 60 * 60 * 1000)) / roundingTime) * roundingTime); + let visitDate = date; + let pickupTime = new Date(Math.round((visitTime.getTime() - (0.5 * 60 * 60 * 1000)) / roundingTime) * roundingTime); + let pickupTimeReturn = new Date(Math.round((visitTime.getTime() - (0.5 * 60 * 60 * 1000)) / roundingTime) * roundingTime); this.setState(Object.assign(this.state, { visitDate: visitDate, @@ -556,11 +558,11 @@ class VerticalNonLinear extends React.Component { self.handleRequestClose(self); window.location.href = '/#/app/page/map/' + res.data.ride_uuid; }).catch(error => { - if (error.response.status === 422){ + if (error.response.status === 422) { //Unprocessable Entity (validation failed) self.setState(Object.assign(self.state, { - showValidationErrors:true, - validationErrors:error.response.data.data + showValidationErrors: true, + validationErrors: error.response.data.data })); } }); @@ -600,10 +602,10 @@ class VerticalNonLinear extends React.Component { handleDate(event, date, state) { let self = state - let visitTime = new Date(date.getTime() + (1 * 60 * 60 * 1000)); + let visitTime = new Date(Math.round((date.getTime() + (1 * 60 * 60 * 1000)) / roundingTime) * roundingTime); let visitDate = date; - let pickupTime = new Date(visitTime.getTime() - (0.5 * 60 * 60 * 1000)); - let pickupTimeReturn = new Date(visitTime.getTime() - (0.5 * 60 * 60 * 1000)); + let pickupTime = new Date(Math.round((visitTime.getTime() - (0.5 * 60 * 60 * 1000)) / roundingTime) * roundingTime); + let pickupTimeReturn = new Date(Math.round((visitTime.getTime() - (0.5 * 60 * 60 * 1000)) / roundingTime) * roundingTime); self.setState(Object.assign(self.state, { visitDate: visitDate, @@ -850,9 +852,9 @@ class VerticalNonLinear extends React.Component { } - handleValidationErrosDialogDismiss(){ + handleValidationErrosDialogDismiss() { this.setState(Object.assign(this.state, { - showValidationErrors:false + showValidationErrors: false })); } @@ -919,8 +921,8 @@ class VerticalNonLinear extends React.Component {
- - + +