Advertisement
Guest User

Untitled

a guest
Dec 18th, 2018
71
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 7.01 KB | None | 0 0
  1. import React, { Component } from 'react';
  2. import { bindActionCreators } from 'redux';
  3. import { connect } from 'react-redux';
  4. import { actionCreators } from '../store/Computers';
  5. import { Link } from 'react-router-dom';
  6. import { Button, FormGroup, Label } from 'reactstrap';
  7. import { AvForm, AvGroup, AvInput, AvFeedback } from 'availity-reactstrap-validation';
  8.  
  9. class ComputerEdit extends Component {
  10.  
  11. constructor(props) {
  12. super(props);
  13. this.state = {
  14. id: this.props.match.params.id,
  15. manufacture: this.props.computer.manufacture,
  16. model: this.props.computer.model,
  17. weight: this.props.computer.weight,
  18. graphicCard: this.props.computer.graphicCard,
  19. diagonal: this.props.computer.diagonal,
  20. displayResolution: this.props.computer.displayResolution,
  21. processor: this.props.computer.processor,
  22. os: this.props.computer.os,
  23. rom: this.props.computer.rom,
  24. ram: this.props.computer.ram,
  25. color: this.props.computer.color,
  26. price: this.props.computer.price,
  27. information: this.props.computer.information
  28. };
  29.  
  30. this.handleChange = this.handleChange.bind(this);
  31. this.handleSubmit = this.handleSubmit.bind(this);
  32. }
  33.  
  34. componentWillMount() {
  35. this.props.getComputer(this.props.match.params.id);
  36. }
  37.  
  38. handleChange = (event) => {
  39. this.setState({ [event.target.name]: event.target.value });
  40. };
  41.  
  42. handleSubmit(event) {
  43. event.preventDefault();
  44. this.props.editComputer(this);
  45. }
  46.  
  47. render() {
  48. return (
  49. <div>
  50. <h1>Kompiuterio redagavimas</h1>
  51. <AvForm onValidSubmit={this.handleSubmit}>
  52. <AvGroup>
  53. <Label>Gamintojas</Label><br />
  54. <AvInput style={{ width: "400px" }} type="string" name="manufacture" defaultValue={this.props.computer.manufacture} onChange={this.handleChange} required />
  55. <AvFeedback>Užpildykite įvedimo lauką!</AvFeedback>
  56. </AvGroup>
  57. <AvGroup>
  58. <Label>Modelis</Label><br />
  59. <AvInput style={{ width: "400px" }} type="string" name="model" defaultValue={this.props.computer.model} onChange={this.handleChange} required />
  60. <AvFeedback>Užpildykite įvedimo lauką!</AvFeedback>
  61. </AvGroup>
  62. <AvGroup>
  63. <Label>Svoris</Label><br />
  64. <AvInput style={{ width: "400px" }} type="string" name="weight" defaultValue={this.props.computer.weight} onChange={this.handleChange} required />
  65. <AvFeedback>Užpildykite įvedimo lauką!</AvFeedback>
  66. </AvGroup>
  67. <AvGroup>
  68. <Label>Vaizdo plokštė</Label><br />
  69. <AvInput style={{ width: "400px" }} type="string" name="graphicCard" defaultValue={this.props.computer.graphicCard} onChange={this.handleChange} required />
  70. <AvFeedback>Užpildykite įvedimo lauką!</AvFeedback>
  71. </AvGroup>
  72. <AvGroup>
  73. <Label>Įstrižainė</Label><br />
  74. <AvInput style={{ width: "400px" }} type="string" name="diagonal" defaultValue={this.props.computer.diagonal} onChange={this.handleChange} required />
  75. <AvFeedback>Užpildykite įvedimo lauką!</AvFeedback>
  76. </AvGroup>
  77. <AvGroup>
  78. <Label>Ekrano raiška</Label><br />
  79. <AvInput style={{ width: "400px" }} type="string" name="displayResolution" defaultValue={this.props.computer.displayResolution} onChange={this.handleChange} required />
  80. <AvFeedback>Užpildykite įvedimo lauką!</AvFeedback>
  81. </AvGroup>
  82. <AvGroup>
  83. <Label>Procesorius</Label><br />
  84. <AvInput style={{ width: "400px" }} type="string" name="processor" defaultValue={this.props.computer.processor} onChange={this.handleChange} required />
  85. <AvFeedback>Užpildykite įvedimo lauką!</AvFeedback>
  86. </AvGroup>
  87. <AvGroup>
  88. <Label>Operacinė sistema</Label><br />
  89. <AvInput style={{ width: "400px" }} type="string" name="os" defaultValue={this.props.computer.os} onChange={this.handleChange} required />
  90. <AvFeedback>Užpildykite įvedimo lauką!</AvFeedback>
  91. </AvGroup>
  92. <AvGroup>
  93. <Label>ROM atmintis</Label><br />
  94. <AvInput style={{ width: "400px" }} type="string" name="rom" defaultValue={this.props.computer.rom} onChange={this.handleChange} required />
  95. <AvFeedback>Užpildykite įvedimo lauką!</AvFeedback>
  96. </AvGroup>
  97. <AvGroup>
  98. <Label>RAM atmintis</Label><br />
  99. <AvInput style={{ width: "400px" }} type="string" name="ram" defaultValue={this.props.computer.ram} onChange={this.handleChange} required />
  100. <AvFeedback>Užpildykite įvedimo lauką!</AvFeedback>
  101. </AvGroup>
  102. <AvGroup>
  103. <Label>Spalva</Label><br />
  104. <AvInput style={{ width: "400px" }} type="string" name="color" defaultValue={this.props.computer.color} onChange={this.handleChange} required />
  105. <AvFeedback>Užpildykite įvedimo lauką!</AvFeedback>
  106. </AvGroup>
  107. <AvGroup>
  108. <Label>Kaina</Label><br />
  109. <AvInput style={{ width: "400px" }} type="string" name="price" defaultValue={this.props.computer.price} onChange={this.handleChange} required />
  110. <AvFeedback>Užpildykite įvedimo lauką!</AvFeedback>
  111. </AvGroup>
  112. <AvGroup>
  113. <Label>Papildoma informacija</Label><br />
  114. <AvInput style={{ width: "400px" }} type="textarea" name="information" defaultValue={this.props.computer.information} onChange={this.handleChange} required />
  115. <AvFeedback>Užpildykite įvedimo lauką!</AvFeedback>
  116. </AvGroup>
  117. <FormGroup>
  118. <Button color="primary" type="submit">Redaguoti</Button>{' '}
  119. <Button color="secondary" tag={Link} to="/computers/list">Atšaukti</Button>
  120. </FormGroup>
  121. </AvForm>
  122. </div>
  123. );
  124. }
  125. }
  126.  
  127. export default connect(
  128. state => state.computers,
  129. dispatch => bindActionCreators(actionCreators, dispatch),
  130. )(ComputerEdit);
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement