github.com/muhammedhassanm/blockchain@v0.0.0-20200120143007-697261defd4d/blockapps-ba-master/ui/src/scenes/Projects/components/BidModal/index.js (about)

     1  import React, { Component } from 'react';
     2  import { connect } from 'react-redux';
     3  import Dialog from 'react-md/lib/Dialogs';
     4  import ReduxedTextField from '../../../../components/ReduxedTextField/';
     5  import { reduxForm, Field } from 'redux-form';
     6  //import FileInput from 'react-md/lib/FileInputs';
     7  import Button from 'react-md/lib/Buttons';
     8  import { bidSubmit, closeBidModal } from './bidModal.actions';
     9  import mixpanel from 'mixpanel-browser';
    10  import './BidModal.css';
    11  
    12  class BidModal extends Component {
    13  
    14    closeDialog = () => {
    15      this.props.closeBidModal();
    16    }
    17  
    18    submit = (values) => {
    19      mixpanel.track('create_bid_click');
    20      this.props.bidSubmit({
    21        name: this.props.name,
    22        supplier: this.props.supplier,
    23        amount: values.amount
    24      });
    25      this.props.closeBidModal();
    26    }
    27  
    28    render() {
    29      const {
    30        handleSubmit
    31      } = this.props;
    32  
    33      return(
    34        <Dialog
    35        id="simpleDialogExample"
    36        visible={this.props.isOpen}
    37        title={ "Bid for " + this.props.name }
    38        onHide={this.closeDialog}>
    39        <form onSubmit={handleSubmit(this.submit)}>
    40          <div className="md-grid">
    41            <Field
    42              id="amount"
    43              name="amount"
    44              type="number"
    45              label="Enter Bid Amount"
    46              className="md-cell--12 md-cell--top"
    47              component={ReduxedTextField}
    48            />
    49            {/*<div className="md-cell--12 center">
    50              <br />
    51              <h4> Upload project plan </h4>
    52            </div>
    53            <FileInput
    54              id="proposal"
    55              accept="*"
    56              flat
    57              iconBefore
    58              className="md-cell--12 md-cell--right"
    59            />*/}
    60            <div className="md-cell--12">
    61              <Button raised primary label="Bid" type="submit" className="bid-button"/>
    62            </div>
    63  
    64          </div>
    65        </form>
    66      </Dialog>
    67      );
    68    }
    69  
    70  }
    71  
    72  function mapStateToProps(state) {
    73    return {
    74      supplier: state.login.username,
    75      isOpen: state.bidModal.isOpen
    76    };
    77  }
    78  
    79  const connected = connect(mapStateToProps, { bidSubmit, closeBidModal })(BidModal);
    80  
    81  const formedComponent = reduxForm({ form: 'bid'})(connected);
    82  
    83  export default formedComponent;