Commit 828e015e authored by Hasitha Samarasekara's avatar Hasitha Samarasekara

Home Page Tutor Cards created.

parent c3a7a738
...@@ -14,13 +14,12 @@ const userSchema = new Schema({ ...@@ -14,13 +14,12 @@ const userSchema = new Schema({
tutor_image:{type:String}, tutor_image:{type:String},
tutor_Stream:{type:String}, tutor_Stream:{type:String},
tutor_subjects:[{type:String}], tutor_subjects:[{type:String}],
isOnlineClass:{type:Boolean}, tutor_class_type:[{type:String}],
isHomeVisit:{type:Boolean},
isInstitute:{type:Boolean},
tutor_main_district:{type:String}, tutor_main_district:{type:String},
tutor_main_city:{type:String}, tutor_main_city:[{type:String}],
tutor_medium:{type:String}, tutor_medium:{type:String},
tutor_instituteIDList:[{type:String}], tutor_qualification:{type:String},
tutor_instituteIDList:[{type:mongoose.Schema.Types.ObjectId,ref: 'Post'}],
}, { }, {
timestamps:true, timestamps:true,
}); });
......
...@@ -5,6 +5,7 @@ let userAccount = require('../models/userAccount.user.model'); ...@@ -5,6 +5,7 @@ let userAccount = require('../models/userAccount.user.model');
const nodemailer = require('nodemailer'); const nodemailer = require('nodemailer');
const cred = require('../email-config/config'); const cred = require('../email-config/config');
const mongoose = require("mongoose");
//////////////////////////////////////////////////////////////////////////////////////// ////////////////////////////////////////////////////////////////////////////////////////
...@@ -33,6 +34,27 @@ router.route('/').get((req,res) =>{ ...@@ -33,6 +34,27 @@ router.route('/').get((req,res) =>{
.catch(err => res.status(400).json('Eroor: '+ err)); .catch(err => res.status(400).json('Eroor: '+ err));
}); });
router.route('/getFilteredList').post((req,res) =>{
console.log(req.body);
tutor.find({
"tutor_Stream" : {'$regex': req.body.selectedStream, '$options': 'i'},
"tutor_subjects" : {'$regex': req.body.selectedSubject, '$options': 'i'},
"tutor_main_district" : {'$regex': req.body.selectedDistrict, '$options': 'i'},
"tutor_main_city" : {'$regex': req.body.selectedCity, '$options': 'i'},
"tutor_medium" : {'$regex': req.body.selectedLanguage, '$options': 'i'},
"tutor_class_type" : {'$regex': req.body.selectedClassType, '$options': 'i'},
})
.then(tutors => {
//console.log(tutors);
res.json(tutors)
})
.catch(err => res.status(400).json('Eroor: '+ err));
});
router.route('/add').post(async(req,res) =>{ router.route('/add').post(async(req,res) =>{
console.log("Tutor Registration began") console.log("Tutor Registration began")
...@@ -47,13 +69,19 @@ router.route('/add').post(async(req,res) =>{ ...@@ -47,13 +69,19 @@ router.route('/add').post(async(req,res) =>{
const tutor_image = req.body.tutor_image; const tutor_image = req.body.tutor_image;
const tutor_Stream = req.body.tutor_Stream; const tutor_Stream = req.body.tutor_Stream;
const tutor_subjects = req.body.tutor_subjects; const tutor_subjects = req.body.tutor_subjects;
const isOnlineClass = req.body.isOnlineClass; const tutor_class_type = req.body.tutor_class_type;
const isHomeVisit = req.body.isHomeVisit;
const isInstitute = req.body.isInstitute;
const tutor_main_district = req.body.tutor_main_district; const tutor_main_district = req.body.tutor_main_district;
const tutor_main_city = req.body.tutor_main_city; const tutor_main_city = req.body.tutor_main_city;
const tutor_medium = req.body.tutor_medium; const tutor_medium = req.body.tutor_medium;
const tutor_instituteIDList = req.body.tutor_instituteIDList; const tutor_qualification = req.body.tutor_qualification;
let instituteObjectIDList = [];
req.body.tutor_instituteIDList.map(inst =>{
instituteObjectIDList.push(mongoose.Types.ObjectId(inst));
})
const tutor_instituteIDList = instituteObjectIDList;
//checking if the user is already exist in the database //checking if the user is already exist in the database
const user = await tutor.findOne({ const user = await tutor.findOne({
...@@ -73,13 +101,12 @@ router.route('/add').post(async(req,res) =>{ ...@@ -73,13 +101,12 @@ router.route('/add').post(async(req,res) =>{
tutor_image, tutor_image,
tutor_Stream, tutor_Stream,
tutor_subjects, tutor_subjects,
isOnlineClass, tutor_class_type,
isHomeVisit,
isInstitute,
tutor_main_district, tutor_main_district,
tutor_main_city, tutor_main_city,
tutor_medium, tutor_medium,
tutor_instituteIDList tutor_instituteIDList,
tutor_qualification
}); });
newTutor.save() newTutor.save()
.then(tutor => { .then(tutor => {
......
...@@ -6856,6 +6856,12 @@ ...@@ -6856,6 +6856,12 @@
"resolved": "https://registry.npmjs.org/functional-red-black-tree/-/functional-red-black-tree-1.0.1.tgz", "resolved": "https://registry.npmjs.org/functional-red-black-tree/-/functional-red-black-tree-1.0.1.tgz",
"integrity": "sha1-GwqzvVU7Kg1jmdKcDj6gslIHgyc=" "integrity": "sha1-GwqzvVU7Kg1jmdKcDj6gslIHgyc="
}, },
"fuse.js": {
"version": "3.6.1",
"resolved": "https://registry.npmjs.org/fuse.js/-/fuse.js-3.6.1.tgz",
"integrity": "sha512-hT9yh/tiinkmirKrlv4KWOjztdoZo1mx9Qh4KvWqC7isoXwdUY3PNWUxceF4/qO9R6riA2C29jdTOeQOIROjgw==",
"optional": true
},
"gensync": { "gensync": {
"version": "1.0.0-beta.2", "version": "1.0.0-beta.2",
"resolved": "https://registry.npmjs.org/gensync/-/gensync-1.0.0-beta.2.tgz", "resolved": "https://registry.npmjs.org/gensync/-/gensync-1.0.0-beta.2.tgz",
...@@ -12599,6 +12605,14 @@ ...@@ -12599,6 +12605,14 @@
"workbox-webpack-plugin": "5.1.4" "workbox-webpack-plugin": "5.1.4"
} }
}, },
"react-select-search": {
"version": "3.0.8",
"resolved": "https://registry.npmjs.org/react-select-search/-/react-select-search-3.0.8.tgz",
"integrity": "sha512-9RfhAr7mv0NUGA2NDs50OHfqPplU3NAhJQlfKqB1pfSPO9uHu4J0Uc0LLRCym7zkp+7Ps+UMKyJoYBtt1fUJNg==",
"requires": {
"fuse.js": "^3.4.5"
}
},
"react-star-rating-component": { "react-star-rating-component": {
"version": "1.4.1", "version": "1.4.1",
"resolved": "https://registry.npmjs.org/react-star-rating-component/-/react-star-rating-component-1.4.1.tgz", "resolved": "https://registry.npmjs.org/react-star-rating-component/-/react-star-rating-component-1.4.1.tgz",
......
...@@ -12,6 +12,7 @@ ...@@ -12,6 +12,7 @@
"react-dropdown": "^1.9.2", "react-dropdown": "^1.9.2",
"react-router-dom": "^5.2.0", "react-router-dom": "^5.2.0",
"react-scripts": "4.0.3", "react-scripts": "4.0.3",
"react-select-search": "^3.0.8",
"react-star-rating-component": "^1.4.1", "react-star-rating-component": "^1.4.1",
"sweetalert": "^2.1.2", "sweetalert": "^2.1.2",
"web-vitals": "^1.1.1" "web-vitals": "^1.1.1"
......
...@@ -3,13 +3,18 @@ import Dropdown from 'react-dropdown'; ...@@ -3,13 +3,18 @@ import Dropdown from 'react-dropdown';
import StarRatingComponent from 'react-star-rating-component'; import StarRatingComponent from 'react-star-rating-component';
import 'react-dropdown/style.css'; import 'react-dropdown/style.css';
import MianImage from "../Images/mainimage2.jpg"; import MianImage from "../Images/mainimage2.jpg";
import RecommendIcon from "../Images/recomended.png";
import ItemNav from "./Navbar";
import {Route} from "react-router-dom";
import HomeFooter from "./HomePage/HomeFooter";
import TestTeacher from "../Images/teacher.jpg"; import TestTeacher from "../Images/teacher.jpg";
import Location from "../Images/location.png"; import Location from "../Images/location.png";
import Star from "../Images/star.png"; import Star from "../Images/star.png";
import ReviewImg from "../Images/note.png"; import ReviewImg from "../Images/note.png";
import Calender from "../Images/calender.png"; import Calender from "../Images/calender.png";
import StarBackGround from "../Images/starboarder.png"; import axios from "axios";
import ItemNav from "./Navbar"; import * as configs from "../Config/config";
import TutorCard from "./HomePage/TutorCard";
export default class Home extends Component{ export default class Home extends Component{
constructor(props) { constructor(props) {
...@@ -23,26 +28,83 @@ export default class Home extends Component{ ...@@ -23,26 +28,83 @@ export default class Home extends Component{
'Katana', 'Kelaniya', 'Mahara', 'Minuwandoga', 'Mirigama', 'Negombo', 'Wattala'], 'Katana', 'Kelaniya', 'Mahara', 'Minuwandoga', 'Mirigama', 'Negombo', 'Wattala'],
isSelectedDistrict : false, isSelectedDistrict : false,
citiesList : [], citiesList : [],
classTypes : ['Individual class', 'Group class', 'Hall class', 'Online class'], classTypes : ['Home Visit', 'Institute', 'Online class'],
mediums : ['Sinhala Medium', 'English Medium', 'Tamil Medium'], mediums : ['Sinhala Medium', 'English Medium', 'Tamil Medium'],
streams : ['Commerce stream','Physical Science Stream ','Biological Science Stream','Technology Stream','Art Stream'], streams : ['Commerce stream','Physical Science Stream ','Biological Science Stream','Technology Stream','Art Stream'],
subjects : ['Economics','Geography','Business statistics','Business Studies', subjects : ['Economics','Geography','Business statistics','Business Studies',
'Accounting','Logic & Scientific Method','History of India','History of Europe','History of Modern World', 'Accounting','Logic & Scientific Method','History of India','History of Europe','History of Modern World',
'English','French','German','Agricultural Science','Mathematics','Political Science','Combined Mathematics','Information & Communication Technology'], 'English','French','German','Agricultural Science','Mathematics','Political Science','Combined Mathematics','Information & Communication Technology'],
district : '', district : '',
isRecommend : true,
selectedStream : '',
selectedSubject : '',
selectedDistrict : '',
selectedCity : '',
selectedClassType : '',
selectedLanguage : '',
TutorFilteredList : [],
}; };
this.FindCities = this.FindCities.bind(this); this.FindCities = this.FindCities.bind(this);
this.FindTutor = this.FindTutor.bind(this); this.FindTutor = this.FindTutor.bind(this);
this.ResetFilters = this.ResetFilters.bind(this);
this.OnChangeStream = this.OnChangeStream.bind(this);
this.OnChangeSubject = this.OnChangeSubject.bind(this);
this.OnChangeDistrict = this.OnChangeDistrict.bind(this);
this.OnChangeCity = this.OnChangeCity.bind(this);
this.OnChangeClassType = this.OnChangeClassType.bind(this);
this.OnChangeLanguage = this.OnChangeLanguage.bind(this);
}
componentDidMount() {
axios.get(configs.BASE_URL + '/instituteSingUp/' )
.then(response =>{
if(response.data.length > 0){
console.log(response.data);
this.setState({
instituteList : response.data
})
}
})
} }
OnChangeStream(e) {
this.setState({
selectedStream: e
});
}
OnChangeSubject(e) {
this.setState({
selectedSubject: e
});
}
OnChangeDistrict(e) {
this.setState({
selectedDistrict: e
});
}
OnChangeCity(e) {
this.setState({
selectedCity: e
});
}
OnChangeClassType(e) {
this.setState({
selectedClassType: e
});
}
OnChangeLanguage(e) {
this.setState({
selectedLanguage: e
});
}
FindCities(value){ FindCities(value){
this.setState({ this.setState({
isSelectedDistrict : true, isSelectedDistrict : true,
district : value selectedDistrict : value
}, () => { }, () => {
let dist = this.state[value] let dist = this.state[value]
...@@ -54,12 +116,44 @@ export default class Home extends Component{ ...@@ -54,12 +116,44 @@ export default class Home extends Component{
}); });
} }
ResetFilters(){
window.location.reload();
}
FindTutor(){ FindTutor(){
console.log(this.state.districts)
console.log(this.state.districts.map) const Filters = {
console.log(this.state.classTypes) selectedStream:this.state.selectedStream,
selectedSubject:this.state.selectedSubject,
selectedDistrict:this.state.selectedDistrict,
selectedCity:this.state.selectedCity,
selectedClassType:this.state.selectedClassType,
selectedLanguage:this.state.selectedLanguage,
}
if(this.state.selectedStream != "" && this.state.selectedSubject != ""){
axios.post(configs.BASE_URL + '/tutorSingUp/getFilteredList', Filters)
.then(res =>{
this.setState({
TutorFilteredList : res.data
})
// console.log(this.state.TutorFilteredList);
})
}
else {
alert("Please at least select Stream and Subject");
}
} }
render() { render() {
return ( return (
<div className="App" style={{padding:'10px',paddingTop:'0px'}}> <div className="App" style={{padding:'10px',paddingTop:'0px'}}>
...@@ -89,13 +183,13 @@ export default class Home extends Component{ ...@@ -89,13 +183,13 @@ export default class Home extends Component{
</div> </div>
<div className="row"> <div className="row">
<div className="col-6"> <div className="col-6">
<select className="form-control"> <select className="form-control"onChange={e => this.OnChangeStream(e.target.value)} >
<option value="" disabled selected>All Streams</option> <option value="" disabled selected>All Streams</option>
{this.state.streams.map((dis) => <option key={dis} value={dis}>{dis}</option> )} {this.state.streams.map((dis) => <option key={dis} value={dis}>{dis}</option> )}
</select> </select>
</div> </div>
<div className="col-6"> <div className="col-6">
<select className="form-control"> <select className="form-control" onChange={e => this.OnChangeSubject(e.target.value)}>
<option value="" disabled selected>All Subjects</option> <option value="" disabled selected>All Subjects</option>
{this.state.subjects.map((dis) => <option key={dis} value={dis}>{dis}</option> )} {this.state.subjects.map((dis) => <option key={dis} value={dis}>{dis}</option> )}
</select> </select>
...@@ -121,7 +215,7 @@ export default class Home extends Component{ ...@@ -121,7 +215,7 @@ export default class Home extends Component{
</select> </select>
</div> </div>
<div className="col-6"> <div className="col-6">
<select className="form-control" <select className="form-control" onChange={e => this.OnChangeCity(e.target.value)}
disabled={!this.state.isSelectedDistrict}> disabled={!this.state.isSelectedDistrict}>
<option value="" disabled selected>All Cities</option> <option value="" disabled selected>All Cities</option>
{this.state.citiesList && this.state.citiesList.map((dis) => <option {this.state.citiesList && this.state.citiesList.map((dis) => <option
...@@ -139,13 +233,13 @@ export default class Home extends Component{ ...@@ -139,13 +233,13 @@ export default class Home extends Component{
</div> </div>
<div className="row"> <div className="row">
<div className="col-6"> <div className="col-6">
<select className="form-control"> <select className="form-control" onChange={e => this.OnChangeClassType(e.target.value)}>
<option value="" disabled selected>All Class Types</option> <option value="" disabled selected>All Class Types</option>
{this.state.classTypes.map((dis) => <option key={dis} value={dis}>{dis}</option> )} {this.state.classTypes.map((dis) => <option key={dis} value={dis}>{dis}</option> )}
</select> </select>
</div> </div>
<div className="col-6"> <div className="col-6">
<select className="form-control"> <select className="form-control" onChange={e => this.OnChangeLanguage(e.target.value)}>
<option value="" disabled selected>All Languages</option> <option value="" disabled selected>All Languages</option>
{this.state.mediums.map((dis) => <option key={dis} value={dis}>{dis}</option> )} {this.state.mediums.map((dis) => <option key={dis} value={dis}>{dis}</option> )}
</select> </select>
...@@ -158,10 +252,11 @@ export default class Home extends Component{ ...@@ -158,10 +252,11 @@ export default class Home extends Component{
</div> </div>
<div className="row"> <div className="row">
<button className="form-control" style={{background:"#8D4433", color:"white", margin:'10px'}} <button className="form-control" style={{background:"#8D4433", color:"white", margin:'10px'}}
onClick={this.FindTutor}><b>Reset</b></button> onClick={this.ResetFilters}><b>Reset</b></button>
</div> </div>
<div className="row"> <div className="row">
<button className="form-control" style={{background:"#086232", color:"white", margin:'10px'}}><b>Find Tutor</b></button> <button className="form-control" style={{background:"#086232", color:"white", margin:'10px'}}
onClick={this.FindTutor}><b>Find Tutor</b></button>
</div> </div>
</div> </div>
...@@ -169,77 +264,13 @@ export default class Home extends Component{ ...@@ -169,77 +264,13 @@ export default class Home extends Component{
<div className="row" style={{background:'#F5F4ED', marginLeft:'50px', marginRight:'50px', marginTop:'10px'}}> <div className="row" style={{background:'#F5F4ED', marginLeft:'50px', marginRight:'50px', marginTop:'10px'}}>
<h5 style={{margin:'10px'}}>0 Results</h5> <h5 style={{margin:'10px'}}>0 Results</h5>
</div> </div>
<div className="row" style={{background:'#F5F4ED', marginLeft:'50px', marginRight:'50px', marginTop:'5px'}}> <div className="">
<div className="col-8"> {this.state.TutorFilteredList.length > 0 ? this.state.TutorFilteredList.map( (card)=>{ return(<TutorCard data={card}/>)} ) : <div>Empty</div>}
<div className="row">
<div className="col-7" style={{margin:'5px', border:'solid', padding:'10px', borderColor:'#216E9B'}}>
<div className="row">
<div className="col-4">
<img src={TestTeacher} style={{width:'90px', height:'80px'}}/>
<div className="row" style={{width:'80%',background:'#216E9B',
marginLeft:'10px',marginTop:'5px',justifyContent:'center'}}>
<h5 style={{color:'white',float:'center',marginBottom:'10px',marginTop:'5px'}}>98.5%</h5>
</div>
</div>
<div className="col-6" style={{margin:'0px'}}>
<div className="row">
<h6 style={{color:'#2D5F5D',float:'left'}}>Accounting</h6>
</div>
<div className="row">
<h5 style={{color:'#2D5F5D'}}>Ms.Surani Perera</h5>
</div>
<div className="row">
<label style={{color:'#2D5F5D'}}>Bsc.Management (Special) J'Pura</label>
</div>
<div className="row">
<div className="col-1">
<img src={Location} style={{width:'20px', height:'20px', marginLeft:'-10px'}}/>
</div>
<div className="col-10">
<label style={{color:'#2D5F5D',paddingLeft:'0px', marginLeft:'-5px',float:'left'}}>Kadawatha, Kgoda</label>
</div>
</div>
</div>
<div className="col-1">
</div>
</div>
</div>
<div className="col-4" style={{margin:'5px', border:'solid', padding:'10px', borderColor:'#216E9B'}}>
<div className="row">
<div className="col-1">
<img src={Star} style={{width:'20px', height:'20px'}}/>
</div>
<div className="col" >
<h5 style={{float:"left"}}>5</h5>
</div>
</div>
<div className="row">
<div className="col-1">
<img src={ReviewImg} style={{width:'20px', height:'20px'}}/>
</div>
<div className="col">
<h5 style={{float:"left"}}>23 reviews</h5>
</div>
</div>
<div className="row">
<div className="col-1">
<img src={Calender} style={{width:'20px', height:'20px'}}/>
</div>
<div className="col">
<h5 style={{float:"left"}}>6y experience</h5>
</div>
</div>
<div className="row">
<button className="form-control" style={{background:"#216E9B", color:"white", marginLeft:'15px', marginRight:'15px'}}><b>View Profile</b></button>
</div>
</div>
</div> </div>
</div> <div className="app-main__outer">
<div className="col-3">
</div> <HomeFooter/>
</div> </div>
</div> </div>
......
import React, {Component} from "react";
import TestTeacher from "../../Images/teacher.jpg";
import Location from "../../Images/location.png";
import Star from "../../Images/star.png";
import ReviewImg from "../../Images/note.png";
import Calender from "../../Images/calender.png";
export default class HomeFooter extends Component{
constructor(props) {
super(props);
this.state = {
};
//this.FindTutor = this.FindTutor.bind(this);
}
render() {
return(
<div>
{/* Footer */}
<div className="app-wrapper-footer">
<div className="app-footer">
<div className="app-footer__inner">
<div className="app-footer-left">
<ul className="nav">
<li className="nav-item">
<a href="javascript:void(0);" className="nav-link">Copyright &copy; 2021</a>
</li>
<li className="nav-item">
<a href="javascript:void(0);" className="nav-link" style={{color:"red",marginLeft:"-25px"}}>SMART COACH</a>
</li>
</ul>
</div>
<div className="app-footer-right">
<ul className="nav">
<li className="nav-item">
<a href="javascript:void(0);" className="nav-link">Engineered By</a>
</li>
<li className="nav-item">
<a href="javascript:void(0);" className="nav-link" style={{color:"red",marginLeft:"-25px"}}>2021-049</a>
</li>
</ul>
</div>
</div>
</div>
</div>
</div>
)
}
}
\ No newline at end of file
import React, {Component} from "react";
import TestTeacher from "../../Images/teacher.jpg";
import Location from "../../Images/location.png";
import Star from "../../Images/star.png";
import ReviewImg from "../../Images/note.png";
import Calender from "../../Images/calender.png";
import RecommendIcon from "../../Images/recomended.png";
export default class TutorCard extends Component{
render() {
return(
<div className="main-card mb-3 card">
<div className="row" style={{background:'#F5F4ED', marginLeft:'50px', marginRight:'50px', marginTop:'10px', marginBottom:'10px'}}>
<div className="col-9">
<div className="row" style={{background:'#F8F8F8'}}>
<div className="col-8" style={{margin:'5px', border:'solid', padding:'10px', borderColor:'#216E9B'}}>
<div className="row">
<div className="col-4">
<img src={TestTeacher} style={{width:'90px', height:'80px'}}/>
<div className="row" style={{width:'80%',background:'#216E9B',
marginLeft:'10px',marginTop:'5px',justifyContent:'center'}}>
<h5 style={{color:'white',float:'center',marginBottom:'10px',marginTop:'5px'}}>98.5%</h5>
</div>
</div>
<div className="col-6" style={{margin:'0px'}}>
<div className="row">
<h6 style={{color:'#2D5F5D',float:'left'}}>
{this.props.data.tutor_subjects.map((subject) =>{return(<span style={{display:'inLineBlock'}}>|| {subject} </span>)})}
</h6>
</div>
<div className="row">
<h5 style={{color:'#2D5F5D'}}>{this.props.data.tutor_name}</h5>
</div>
<div className="row">
<label style={{color:'#2D5F5D', display:'inline-block',overflow:'hidden',
whiteSpace:'nowrap', textOverflow:'ellipsis'}}>{this.props.data.tutor_qualification}</label>
</div>
<div className="row">
<div className="col-1">
<img src={Location} style={{width:'20px', height:'20px', marginLeft:'-10px'}}/>
</div>
<div className="col" style={{display:'inline-block',overflow:'hidden',
whiteSpace:'nowrap', textOverflow:'ellipsis'}}>
<label style={{color:'#2D5F5D',paddingLeft:'0px', marginLeft:'-5px',float:'left',display:'inline-block',overflow:'hidden',
whiteSpace:'nowrap', textOverflow:'ellipsis'}}>
{this.props.data.tutor_main_city.map((city) =>{return(<span> {city} | </span>)})}
</label>
</div>
</div>
</div>
<div className="col-1">
</div>
</div>
</div>
<div className="col" style={{margin:'5px', border:'solid', padding:'10px', borderColor:'#216E9B'}}>
<div className="row">
<div className="col-1">
<img src={Star} style={{width:'20px', height:'20px'}}/>
</div>
<div className="col" >
<h5 style={{float:"left"}}>5</h5>
</div>
</div>
<div className="row">
<div className="col-1">
<img src={ReviewImg} style={{width:'20px', height:'20px'}}/>
</div>
<div className="col">
<h5 style={{float:"left"}}>23 reviews</h5>
</div>
</div>
<div className="row">
<div className="col-1">
<img src={Calender} style={{width:'20px', height:'20px'}}/>
</div>
<div className="col">
<h5 style={{float:"left"}}>6y experience</h5>
</div>
</div>
<div className="row">
<button className="form-control" style={{background:"#216E9B", color:"white", marginLeft:'15px', marginRight:'15px'}}><b>View Profile</b></button>
</div>
</div>
</div>
</div>
<div className="col" style={{background:'#F8F8F8'}}>
<div>
<br/>
</div>
<img src={RecommendIcon} style={{width:'100px', height:'90px', float:'left', margin:'10px'}}/>
</div>
</div>
{/*{console.log("In Tutor Card")}*/}
{/*{console.log(this.props)}*/}
</div>
)
}
}
\ No newline at end of file
...@@ -18,8 +18,10 @@ export default class SignUp extends Component { ...@@ -18,8 +18,10 @@ export default class SignUp extends Component {
'English', 'French', 'German', 'Agricultural Science', 'Mathematics', 'Political Science', 'Combined Mathematics', 'Information & Communication Technology'], 'English', 'French', 'German', 'Agricultural Science', 'Mathematics', 'Political Science', 'Combined Mathematics', 'Information & Communication Technology'],
district: '', district: '',
userSelectedSubject: [], userSelectedSubject: [],
tutorSelectedCity:[],
newSubject: '', newSubject: '',
tempSubjectList: [], tempSubjectList: [],
tempCityList: [],
instituteList: ['Sakya Nugegoda', 'Montana Kiribathgoda', 'Wasiti Kiribathgoda'], instituteList: ['Sakya Nugegoda', 'Montana Kiribathgoda', 'Wasiti Kiribathgoda'],
newInstitute: '', newInstitute: '',
userSelectedInstitutes: [], userSelectedInstitutes: [],
...@@ -63,7 +65,7 @@ export default class SignUp extends Component { ...@@ -63,7 +65,7 @@ export default class SignUp extends Component {
InstituteStreet : '', InstituteStreet : '',
InstituteApartment : '', InstituteApartment : '',
InstituteRegistrationNo : '', InstituteRegistrationNo : '',
tutorQualification:'',
} }
...@@ -105,6 +107,9 @@ export default class SignUp extends Component { ...@@ -105,6 +107,9 @@ export default class SignUp extends Component {
this.OnChangeInstituteStreet = this.OnChangeInstituteStreet.bind(this); this.OnChangeInstituteStreet = this.OnChangeInstituteStreet.bind(this);
this.OnChangeInstituteCity = this.OnChangeInstituteCity.bind(this); this.OnChangeInstituteCity = this.OnChangeInstituteCity.bind(this);
this.OnChangeInstituteRegistrationNo = this.OnChangeInstituteRegistrationNo.bind(this); this.OnChangeInstituteRegistrationNo = this.OnChangeInstituteRegistrationNo.bind(this);
this.OnChangeQualification = this.OnChangeQualification.bind(this);
this.onClickAddCityButton = this.onClickAddCityButton.bind(this);
this.onClickCityRemoveButton = this.onClickCityRemoveButton.bind(this);
} }
componentDidMount() { componentDidMount() {
...@@ -203,6 +208,51 @@ export default class SignUp extends Component { ...@@ -203,6 +208,51 @@ export default class SignUp extends Component {
}) })
} }
OnChangeCity(e){
this.setState({
city : e
});
}
onClickAddCityButton(){
let oldCity = []
let temCitytList02 = []
if (this.state.city !== '') {
console.log("City : " + this.state.city);
oldCity = this.state.tutorSelectedCity.slice();
oldCity.push(this.state.city);
this.setState({
tutorSelectedCity: oldCity
}, () => {
for (let i = 0; i < this.state.tutorSelectedCity.length; i++) {
temCitytList02.push(this.state.tutorSelectedCity[i] + ' | ');
}
this.setState({
tempCityList: temCitytList02
})
})
console.log("City List : " + oldCity);
}
}
onClickCityRemoveButton() {
let oldCity = [];
let oldCity02 = [];
oldCity = this.state.tutorSelectedCity.slice();
oldCity02 = this.state.tempCityList.slice();
let popped = oldCity.pop();
let popped2 = oldCity02.pop();
this.setState({
tutorSelectedCity: oldCity,
tempCityList: oldCity02
})
}
onChangeInstituteDropDown(value) { onChangeInstituteDropDown(value) {
// console.log(value); // console.log(value);
...@@ -431,12 +481,7 @@ export default class SignUp extends Component { ...@@ -431,12 +481,7 @@ export default class SignUp extends Component {
}); });
} }
OnChangeCity(e){
this.setState({
city : e
});
}
onChangeStream(e){ onChangeStream(e){
this.setState({ this.setState({
...@@ -472,6 +517,12 @@ export default class SignUp extends Component { ...@@ -472,6 +517,12 @@ export default class SignUp extends Component {
} }
OnChangeQualification(e){
this.setState({
tutorQualification : e.target.value
});
}
OnChangeInstituteRegistrationNo(e){ OnChangeInstituteRegistrationNo(e){
this.setState({ this.setState({
InstituteRegistrationNo : e.target.value InstituteRegistrationNo : e.target.value
...@@ -499,7 +550,7 @@ export default class SignUp extends Component { ...@@ -499,7 +550,7 @@ export default class SignUp extends Component {
InstituteApartment : '', InstituteApartment : '',
InstituteStreet : '', InstituteStreet : '',
InstituteCity : '', InstituteCity : '',
tutorQualification : '',
}) })
...@@ -579,7 +630,17 @@ export default class SignUp extends Component { ...@@ -579,7 +630,17 @@ export default class SignUp extends Component {
) )
} }
console.log('ID Lists : ' + instituteIDs) let ClassType = [];
if(this.state.isCheckedInstituteOnlineClass){
ClassType.push("Online class");
}
if(this.state.isCheckedInstituteHomeVisit){
ClassType.push("Home Visit");
}
if(this.state.isCheckedInstitute){
ClassType.push("Institute");
}
const Tutor = { const Tutor = {
tutor_name : this.state.name, tutor_name : this.state.name,
tutor_nic : this.state.nic, tutor_nic : this.state.nic,
...@@ -591,14 +652,13 @@ export default class SignUp extends Component { ...@@ -591,14 +652,13 @@ export default class SignUp extends Component {
tutor_status : this.state.marriageStatus, tutor_status : this.state.marriageStatus,
tutor_image : '', tutor_image : '',
tutor_Stream : this.state.tutorStream, tutor_Stream : this.state.tutorStream,
tutor_subjects : this.state.tempSubjectList, tutor_subjects : this.state.userSelectedSubject,
isOnlineClass : this.state.isCheckedInstituteOnlineClass, tutor_class_type : ClassType,
isHomeVisit : this.state.isCheckedInstituteHomeVisit,
isInstitute : this.state.isCheckedInstitute,
tutor_instituteIDList : instituteIDs, tutor_instituteIDList : instituteIDs,
tutor_main_district : this.state.district, tutor_main_district : this.state.district,
tutor_main_city : this.state.city, tutor_main_city : this.state.tutorSelectedCity,
tutor_medium : this.state.medium tutor_medium : this.state.medium,
tutor_qualification : this.state.tutorQualification
} }
console.log(Tutor) console.log(Tutor)
...@@ -893,8 +953,8 @@ export default class SignUp extends Component { ...@@ -893,8 +953,8 @@ export default class SignUp extends Component {
<select className="form-control" style={{width: '90%'}} <select className="form-control" style={{width: '90%'}}
onChange={e => this.onChangeGender(e.target.value)}> onChange={e => this.onChangeGender(e.target.value)}>
<option disabled selected>Select the Gender</option> <option disabled selected>Select the Gender</option>
<option>Male</option> <option value="Male">Male</option>
<option>Female</option> <option value="Female">Female</option>
</select> </select>
...@@ -1202,8 +1262,8 @@ export default class SignUp extends Component { ...@@ -1202,8 +1262,8 @@ export default class SignUp extends Component {
<select className="form-control" style={{width: '90%'}} <select className="form-control" style={{width: '90%'}}
onChange={e => this.onChangeGender(e.target.value)}> onChange={e => this.onChangeGender(e.target.value)}>
<option value="0" disabled selected>Select the Gender</option> <option value="0" disabled selected>Select the Gender</option>
<option value="1">Male</option> <option value="Male">Male</option>
<option value="2">Female</option> <option value="Female">Female</option>
</select> </select>
...@@ -1514,7 +1574,7 @@ export default class SignUp extends Component { ...@@ -1514,7 +1574,7 @@ export default class SignUp extends Component {
</div> </div>
<div className="col-10"> <div className="col-10">
<h5 style={{float: 'left', color: '#216E9B'}}>Select Class Conduct District and Main City</h5> <h5 style={{float: 'left', color: '#216E9B'}}>Select Class Conduct District and Main Cities</h5>
</div> </div>
<div className="col-1"> <div className="col-1">
...@@ -1525,7 +1585,7 @@ export default class SignUp extends Component { ...@@ -1525,7 +1585,7 @@ export default class SignUp extends Component {
<div className="col-1"> <div className="col-1">
</div> </div>
<div className="col-10" style={{textAlign: '-webkit-center'}}> <div className="col" style={{textAlign: '-webkit-center'}}>
<select className="form-control" style={{width: '90%'}} <select className="form-control" style={{width: '90%'}}
onChange={e => this.FindCities(e.target.value)}> onChange={e => this.FindCities(e.target.value)}>
<option value="" disabled selected>Select District</option> <option value="" disabled selected>Select District</option>
...@@ -1541,7 +1601,7 @@ export default class SignUp extends Component { ...@@ -1541,7 +1601,7 @@ export default class SignUp extends Component {
<div className="col-1"> <div className="col-1">
</div> </div>
<div className="col-10" style={{textAlign: '-webkit-center'}}> <div className="col" style={{textAlign: '-webkit-center'}}>
<select className="form-control" style={{width: '90%'}} <select className="form-control" style={{width: '90%'}}
onChange={e => this.OnChangeCity(e.target.value)}> onChange={e => this.OnChangeCity(e.target.value)}>
<option value="" disabled selected>Select City</option> <option value="" disabled selected>Select City</option>
...@@ -1550,9 +1610,45 @@ export default class SignUp extends Component { ...@@ -1550,9 +1610,45 @@ export default class SignUp extends Component {
</select> </select>
</div> </div>
<div className="col-3">
<button type="button" className="btn btn-primary"
onClick={this.onClickAddCityButton}
style={{
width: '40px',
marginTop: '0px',
backgroundColor: '#265077',
borderColor: '#216E9B',
float: 'left'
}}><b>+</b></button>
</div>
</div>
<div className="row" style={{marginTop: '20px', marginBottom: '0px'}}>
<div className="col-1"> <div className="col-1">
</div> </div>
<div className="col-8">
<label style={{
float: 'left',
color: '#216E9B'
}}>{this.state.tempCityList}</label>
</div>
<div className="col-3">
{this.state.tempCityList.length > 0 ?
<button type="button" className="btn btn-primary"
onClick={this.onClickCityRemoveButton}
style={{
width: '40px',
marginTop: '0px',
backgroundColor: '#265077',
borderColor: '#216E9B',
float: 'left'
}}><b>-</b></button>
:
<div>
</div>
}
</div>
</div> </div>
<div className="row" style={{marginTop: '10px', marginBottom: '0px'}}> <div className="row" style={{marginTop: '10px', marginBottom: '0px'}}>
<div className="col-1"> <div className="col-1">
...@@ -1581,6 +1677,31 @@ export default class SignUp extends Component { ...@@ -1581,6 +1677,31 @@ export default class SignUp extends Component {
</div> </div>
</div> </div>
<div className="row" style={{marginTop: '10px', marginBottom: '0px'}}>
<div className="col-1">
</div>
<div className="col-10">
<h5 style={{float: 'left', color: '#216E9B'}}>Add Your Highest Qualification</h5>
</div>
<div className="col-1">
</div>
</div>
<div className="row" style={{marginTop: '0px', marginBottom: '10px'}}>
<div className="col-1">
</div>
<div className="col" style={{textAlign: '-webkit-center'}}>
<input type="text" id="tutorQualfication" className="form-control"
placeholder="Qualification"
onChange={this.OnChangeQualification}
style={{width: '90%'}} required/>
</div>
<div className="col-1">
</div>
</div>
<div className="row" style={{marginTop: '0px', marginBottom: '10px'}}> <div className="row" style={{marginTop: '0px', marginBottom: '10px'}}>
<div className="col-1"> <div className="col-1">
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment