Skip to content

Commit 8dbe745

Browse files
committed
Create sass files, scss components, searchform, router link
1 parent c9fb300 commit 8dbe745

29 files changed

+10262
-1086
lines changed

ism/react-app/src/components/SearchForm.js

+41-10
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
import React from 'react';
22
import {NavLink} from "react-router-dom";
33
import moment from 'moment';
4+
import { Redirect } from 'react-router-dom';
45

56
class SearchForm extends React.Component {
67

@@ -125,15 +126,30 @@ class SearchForm extends React.Component {
125126

126127
this.slideToggle = this.slideToggle;
127128
this.$el.slideToggle('fast', this.handleClick);
128-
129+
129130
}
130131

131132
componentWillUnmount() {
132133
this.$el.off('change', this.handleChange);
133134
this.$el.off('click', this.handleClick);
134135
}
135136

137+
constructor () {
138+
super();
139+
this.state = {
140+
fireRedirect: false
141+
}
142+
}
143+
144+
submitForm = (e) => {
145+
e.preventDefault()
146+
this.setState({ fireRedirect: true })
147+
}
148+
136149
render() {
150+
151+
const { fireRedirect } = this.state;
152+
137153
return (
138154
<section className="train-section">
139155
<div id="search-form" className="container pb-1">
@@ -183,7 +199,12 @@ class SearchForm extends React.Component {
183199
<div className="tab-pane fade" id="flight" role="tabpanel" aria-labelledby="flight-tab">
184200
<div className="bg-light">
185201
<h2 className="text-4 mb-3">Book Domestic and International Flights</h2>
186-
<form id="bookingFlight" method="post">
202+
<form
203+
id="bookingFlight"
204+
method="post"
205+
onSubmit={this.submitForm}
206+
>
207+
{fireRedirect && (<Redirect to={'/available'}/>)}
187208
<div className="mb-3">
188209
<div className="custom-control custom-radio custom-control-inline">
189210
<input id="oneway" name="flight-trip" className="custom-control-input" defaultChecked required type="radio" />
@@ -325,7 +346,12 @@ class SearchForm extends React.Component {
325346
<div className="tab-pane fade" id="hotel" role="tabpanel" aria-labelledby="hotel-tab">
326347
<div className="bg-light">
327348
<h2 className="text-4 mb-3">Book Domestic and International Hotels</h2>
328-
<form id="bookingHotels" method="post">
349+
<form
350+
id="bookingHotels"
351+
method="post"
352+
onSubmit={this.submitForm}
353+
>
354+
{fireRedirect && (<Redirect to={'/available'}/>)}
329355
<div className="form-row">
330356
<div className="col-md-12 col-lg-6 form-group">
331357
<input type="text" className="form-control" id="hotelsFrom" placeholder="Enter City/Hotel" />
@@ -401,7 +427,7 @@ class SearchForm extends React.Component {
401427
</div>
402428
</div>
403429
<div className="col-md-6 col-lg-6 form-group">
404-
<button className="btn btn-search btn-block" type="submit"><i className="fas fa-search" onClick={('/available')} /> Search</button>
430+
<button className="btn btn-search btn-block" type="submit"><i className="fas fa-search"/> Search</button>
405431
</div>
406432
</div>
407433
</form>
@@ -412,7 +438,12 @@ class SearchForm extends React.Component {
412438
<div className="tab-pane fade show active" id="train" role="tabpanel" aria-labelledby="train-tab">
413439
<div className="bg-light">
414440
<h2 className="text-4 mb-3">Book Train Tickets</h2>
415-
<form id="bookingTrain" method="post">
441+
<form
442+
id="bookingTrain"
443+
method="post"
444+
onSubmit={this.submitForm}
445+
>
446+
{fireRedirect && (<Redirect to={'/available'}/>)}
416447
<div className="mb-3">
417448
<div className="custom-control custom-radio custom-control-inline">
418449
<input id="train-oneway" name="train-trip" className="custom-control-input" defaultChecked required type="radio" />
@@ -425,19 +456,19 @@ class SearchForm extends React.Component {
425456
</div>
426457
<div className="form-row">
427458
<div className="col-md-6 col-lg-3 form-group">
428-
<input type="text" className="form-control" id="trainFrom" required placeholder="From" />
459+
<input type="text" className="form-control" id="trainFrom" placeholder="From" />
429460
<span className="icon-inside"><i className="fas fa-map-marker-alt" /></span>
430461
</div>
431462
<div className="col-md-6 col-lg-3 form-group">
432-
<input type="text" className="form-control" id="trainTo" required placeholder="To" />
463+
<input type="text" className="form-control" id="trainTo" placeholder="To" />
433464
<span className="icon-inside"><i className="fas fa-map-marker-alt" /></span>
434465
</div>
435466
<div className="col-md-6 col-lg-3 form-group">
436-
<input id="trainsDepart" type="text" className="form-control" required placeholder="Depart Date" />
467+
<input id="trainsDepart" type="text" className="form-control" placeholder="Depart Date" />
437468
<span className="icon-inside"><i className="far fa-calendar-alt" /></span>
438469
</div>
439470
<div className="col-md-6 col-lg-3 form-group">
440-
<input id="trainsReturn" type="text" className="form-control" required placeholder="Return Date" />
471+
<input id="trainsReturn" type="text" className="form-control" placeholder="Return Date" />
441472
<span className="icon-inside"><i className="far fa-calendar-alt" /></span>
442473
</div>
443474
<div className="col-md-6 col-lg-6 travellers-class form-group">
@@ -449,7 +480,7 @@ class SearchForm extends React.Component {
449480
name="train-travellers-class"
450481
placeholder="Travellers, Class"
451482
readOnly=""
452-
required=""
483+
453484
/>
454485
<span className="icon-inside"><i className="fas fa-caret-down" /></span>
455486
<div className="travellers-dropdown">

0 commit comments

Comments
 (0)