Sha256: b23296651bc834fe5a393df2b3ea0ead6c5644fb5f0d104b2ada742b61f615db

Contents?: true

Size: 1.44 KB

Versions: 3

Compression:

Stored size: 1.44 KB

Contents

import React, {Component} from 'react'
import {Card, CardMedia, CardTitle, CardText, CardActions} from 'react-toolbox/lib/card'
import Button from 'react-toolbox/lib/button'
import Snackbar from 'react-toolbox/lib/snackbar'
import style from './style'

class Layout extends Component {
  componentDidMount() {
    this.props.searchMaterials()
  }

  handleOrderClick(id) {
    this.props.purchaseOrder(id)
  }

  handleSnackbarTimeout = (event, instance) => {
    this.props.hideSnackbar()
  }

  materialNodes () {
    const nodes = this.props.materials.map((material, index) => {
      return (
        <Card key={index} className={style.material}>
          <CardTitle title={material.name} />
          <CardText>Purchase</CardText>
          <CardActions>
            <Button label="Order"
              onClick={::this.handleOrderClick.bind(this, material.id)} />
          </CardActions>
        </Card>
      )
    })

    return nodes
  }

  render() {
    return (
      <div className={style.content}>
        <h1>Material</h1>
        Supplier is Virtual Flower Shop.

        <ul className={style.materials}>
          {this.materialNodes()}
        </ul>

        <Snackbar
          type='accept'
          action='Success'
          label='Purchase Order'
          icon='local_florist'
          active={this.props.snackbar_active}
          timeout={2000}
          onTimeout={this.handleSnackbarTimeout} />
      </div>
    )
  }
}

export default Layout

Version data entries

3 entries across 3 versions & 1 rubygems

Version Path
bouquet-0.2.2 store/private/static/app/components/layouts/contents/material/layout.js
bouquet-0.2.1 store/private/static/app/components/layouts/contents/material/layout.js
bouquet-0.2.0 store/private/static/app/components/layouts/contents/material/layout.js