Advertisement
Guest User

Untitled

a guest
Apr 24th, 2017
64
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.84 KB | None | 0 0
  1. import {
  2. Button,
  3. Container,
  4. Form,
  5. Grid,
  6. Input,
  7. Section,
  8. } from 'semantic-ui-react'
  9. import React, { Component } from 'react'
  10.  
  11. import ItemList from './ItemList'
  12. import PropTypes from 'prop-types'
  13. import withData from '../hocs/withData'
  14.  
  15. export default class Invoices extends Component {
  16. constructor() {
  17. super()
  18. this.state = {
  19. items: [],
  20. }
  21. this.onFieldValueChange = this.onFieldValueChange.bind(this)
  22. this.onItemColorChange = this.onItemColorChange.bind(this)
  23. this.onItemDeleteClick = this.onItemDeleteClick.bind(this)
  24. this.onItemEstQuantChange = this.onItemEstQuantChange.bind(this)
  25. this.onItemEstTotalChange = this.onItemEstTotalChange.bind(this)
  26. this.onItemExtPriceChange = this.onItemExtPriceChange.bind(this)
  27. this.onItemFinQuantChange = this.onItemFinQuantChange.bind(this)
  28. this.onItemRefNumChange = this.onItemRefNumChange.bind(this)
  29. this.onItemUnitPriceChange = this.onItemUnitPriceChange.bind(this)
  30. this.onExampleLinkClick = this.onExampleLinkClick.bind(this)
  31. }
  32.  
  33. onFieldValueChange(propertyName, event) {
  34. let newVal = event.target.value
  35. let stateUpdate = {}
  36. stateUpdate[propertyName] = newVal
  37. this.setState(stateUpdate)
  38. }
  39.  
  40. onItemColorChange(params) {
  41. let items = this.state.items
  42. let item = items[params.index]
  43. item.color = params.newColor
  44. this.setState({
  45. items: items,
  46. })
  47. }
  48.  
  49. onItemEstQuantChange(params) {
  50. let items = this.state.items
  51. let item = items[params.index]
  52. item.estQuant = params.newEstQuant
  53. this.setState({
  54. items: items,
  55. })
  56. }
  57.  
  58. onItemEstTotalChange(params) {
  59. let items = this.state.items
  60. let item = items[params.index]
  61. item.estTotal = params.newEstTotal
  62. this.setState({
  63. items: items,
  64. })
  65. }
  66.  
  67. onItemExtPriceChange(params) {
  68. let items = this.state.items
  69. let item = items[params.index]
  70. item.extPrice = params.newExtPrice
  71. this.setState({
  72. items: items,
  73. })
  74. }
  75.  
  76. onItemFinQuantChange(params) {
  77. let items = this.state.items
  78. let item = items[params.index]
  79. item.finQuant = params.newFinQuant
  80. this.setState({
  81. items: items,
  82. })
  83. }
  84.  
  85. onItemRefNumChange(params) {
  86. let items = this.state.items
  87. let item = items[params.index]
  88. item.refNum = params.newRefNum
  89. this.setState({
  90. items: items,
  91. })
  92. }
  93.  
  94. onItemUnitPriceChange(params) {
  95. let items = this.state.items
  96. let item = items[params.index]
  97. item.unitPrice = params.newUnitPrice
  98. this.setState({
  99. items: items,
  100. })
  101. }
  102.  
  103. onItemDeleteClick(params) {
  104. let items = this.state.items
  105. items.splice(params.index, 1)
  106. this.setState({
  107. items: items,
  108. })
  109. }
  110.  
  111. onItemAddClick() {
  112. let items = this.state.items
  113. items.push({
  114. refNum: '',
  115. color: '',
  116. estQuant: '',
  117. finQuant: '',
  118. unitPrice: '',
  119. extPrice: '',
  120. estTotal: '',
  121. })
  122. this.setState({
  123. items: items,
  124. })
  125. }
  126.  
  127. render() {
  128. return (
  129. <div>
  130. <Grid columns={1}>
  131. <Grid.Row>
  132. <Grid.Column>
  133. <ItemList
  134. items={this.state.items}
  135. onItemAddClick={this.onItemAddClick}
  136. onItemColorChange={this.onItemColorChange}
  137. onItemDeleteClick={this.onItemDeleteClick}
  138. onItemEstQuantChange={this.onItemEstQuantChange}
  139. onItemEstTotalChange={this.onItemEstTotalChange}
  140. onItemExtPriceChange={this.onItemExtPriceChange}
  141. onItemFinQuantChange={this.onItemFinQuantChange}
  142. onItemRefNumChange={this.onItemRefNumChange}
  143. onItemUnitPriceChange={this.onItemUnitPriceChange}
  144. />
  145. </Grid.Column>
  146. <Grid.Column>
  147. <a onClick={this.onExampleLinkClick}>Click here</a>
  148. </Grid.Column>
  149. </Grid.Row>
  150. </Grid>
  151. </div>
  152. )
  153. }
  154. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement