Advertisement
Guest User

Untitled

a guest
Jul 15th, 2019
69
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. import React, { useState, useEffect, state } from "react";
  2. import { Link } from "react-router-dom";
  3. import { carProducerFetched, carModelFetched, fuelTypeFetched } from "../../actions";
  4. import { connect } from "react-redux";
  5.  
  6. const MainInformation = ({props, onChangeProducer, onChangeCarModel, onChangeFuelType, onChangeShortDescription,onChangePhoneNumber,onChangeYearProduction, state }) => {
  7.  
  8.  
  9.   const [carProducerList, setCarProducerList] = useState(null);
  10.   const [carModelList, setCarModelList] = useState(null);
  11.   const [fuelTypeList, setFuelTypeList] = useState(null);
  12.   const [yearProduction, setYearProduction] = useState(null);
  13.  
  14.   const getCarProducerList = async () => {
  15.     const res = await fetch("https://localhost:44394/api/CarProducent");
  16.     const carProducer = await res.json();
  17.     setCarProducerList(carProducer);
  18.   }
  19.  
  20.   const getCarModelList = async (id) => {
  21.     const res = await fetch("https://localhost:44394/api/CarProducent/" + id);
  22.     const carModel = await res.json();
  23.     setCarModelList(carModel.carModelViewModels);
  24.   }
  25.  
  26.   const getFuelTypeList = async () => {
  27.     const res = await fetch("https://localhost:44394/api/FuelType/");
  28.     const fuelType = await res.json();
  29.     setFuelTypeList(fuelType);
  30.  
  31.   }
  32.   const startup = () => {
  33.     let date = new Date();
  34.     let yearProductionTmp = [];
  35.     for(let x = date.getFullYear(); x >= 1900; --x){
  36.         yearProductionTmp.push(x);
  37.     }
  38.     setYearProduction(yearProductionTmp);
  39.     console.log(yearProduction);
  40.   }
  41.   useEffect(() => {
  42.     startup();
  43.     getCarProducerList();
  44.     getFuelTypeList();
  45.   },[props])
  46.   console.log(state)
  47.   return (
  48.  
  49.     <div>
  50.  
  51.       <select value={state.carProducerValue} name="carProducer" onChange={x => { onChangeProducer(x.target.value); getCarModelList(state.carProducerValue) }}>
  52.         <option value="" disabled >Producent</option>
  53.         {carProducerList && carProducerList.length > 0 && carProducerList.map(x => (
  54.           <option key={x.idString} value={x.idString}>{x.producentName}</option>
  55.         ))}
  56.       </select>
  57.  
  58.       <select value={state.carModelValue} onChange={x => onChangeCarModel(x.target.value)} name="carModel"  >
  59.         <option value="" disabled >Model</option>
  60.         {carModelList && carModelList.length > 0 && carModelList.map(x => (
  61.           <option key={x.idString} value={x.idString}>{x.modelName} </option>
  62.         ))}
  63.       </select>
  64.       <div>
  65.         Paliwo:
  66.         <div>
  67.           <fieldset value={state.fuelTypeValue} onChange={e => onChangeFuelType(e.target.value)}>
  68.             {
  69.               fuelTypeList && fuelTypeList.length > 0 && fuelTypeList.map(x => (
  70.                 <label key={x.idString}>
  71.                   <input type="radio" key={x.idString} value={x.idString} name="fuelType" /> {x.fuelName} </label>
  72.               ))
  73.  
  74.             }
  75.           </fieldset>
  76.         </div>
  77.         <div>
  78.           Krótki opis:
  79.                 <div>
  80.             <input id="shortDescription" value={state.shortDescriptionValue} onChange={x => onChangeShortDescription(x.target.value)} type="text" min="6" maxLength="60" />
  81.           </div>
  82.           Numer Telefonu
  83.           <div>
  84.             <input id="phoneNumber" value={state.phoneNumber} onChange={x => onChangePhoneNumber(x.target.value)} type="text"  />
  85.           </div>
  86.           Rok Produkcji
  87.           <div>
  88.               <select value={state.yearProductionValue} onChange={x => onChangeYearProduction(x.target.value)} name="yearProduction">
  89.                <option value="" disabled >Wybierz</option>
  90.                 {
  91.                   yearProduction && yearProduction.map(x => (
  92.                  
  93.                     <option  key={x} value={x}>{x}</option>
  94.                   ))
  95.                 }
  96.               </select>
  97.           </div>
  98.         </div>
  99.       </div>
  100.     </div>
  101.   );
  102. };
  103.  
  104. export default MainInformation;
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement