Guest User

Untitled

a guest
Jan 23rd, 2018
69
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.48 KB | None | 0 0
  1. import * as React from 'react';
  2. import Select from 'react-select';
  3.  
  4. import { Link } from 'react-router-dom';
  5. import { Button } from '../controls/Button/Button';
  6. import { ISelectedItem } from '../../interfaces/ISelectedItem';
  7.  
  8. import * as service from "../../helpers/service";
  9.  
  10. export interface IProps{
  11. onClickRender: (selectedItem: ISelectedItem) => void;
  12. }
  13.  
  14. export interface IState {
  15. customerData: ISelectedItem[];
  16. selectedItem: ISelectedItem;
  17. }
  18.  
  19. export class DropDownSearch extends React.Component<{}, IState>{
  20. constructor(props: any) {
  21. super(props);
  22. this.state = ({
  23. customerData: [],
  24. selectedItem: { shortName: '', description: '' }
  25. });
  26. }
  27.  
  28. componentDidMount() {
  29. service.fetchJson<ISelectedItem[]>("/api/customers")
  30. .then((json) =>{
  31. this.setState({
  32. customerData: json
  33. });
  34. });
  35. }
  36.  
  37. handleChange = (selectedItem: any) => {
  38. this.setState({
  39. selectedItem
  40. });
  41. }
  42.  
  43. render() {
  44. const { selectedItem } = this.state;
  45. const value = selectedItem && selectedItem;
  46.  
  47. return (
  48. <div>
  49. <Select
  50. name="form-field-name"
  51. value={this.state.selectedItem}
  52. onChange={this.handleChange}
  53. options={this.state.customerData}
  54. labelKey="shortName"
  55. />
  56. <Link to={"/dashboard/" + this.state.selectedItem.shortName}>
  57. <Button type="button" className="btn btn-primary" caption="Search" />
  58. </Link>
  59. </div>
  60. );
  61. }
  62. }
  63.  
  64. import * as React from 'react';
  65.  
  66. import { Navbar } from './Navbar/Navbar';
  67. import { ShortNameSelector } from './ShortNameSelector/ShortNameSelector';
  68. import { Dashboard } from './Dashboard/Dashboard';
  69. import { BrowserRouter, Route, Switch } from 'react-router-dom';
  70.  
  71. export class App extends React.Component<{},{}>{
  72. render(){
  73. return(
  74. <BrowserRouter>
  75. <div className="container">
  76. <Navbar />
  77. <div className="col-lg-12">
  78. <Switch>
  79. <Route exact path="/" component={ShortNameSelector} />
  80. <Route path="/dashboard" component={Dashboard} />
  81. </Switch>
  82. </div>
  83. </div>
  84. </BrowserRouter>
  85. );
  86. }
  87. }
Add Comment
Please, Sign In to add comment