Advertisement
Guest User

Untitled

a guest
Nov 18th, 2019
109
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. SelectOption component
  2. import React from 'react'
  3. import { connect } from 'react-redux';
  4. import { Select } from '../../components/formElements';
  5. import './SelectOption.css';
  6. import {FetchRoleStart } from '../../actions'
  7. import ModalPopUp from '../ModalWindow'
  8. import RoleInfo from './RoleInfo';
  9.  
  10.  
  11. class SelectOption extends React.Component {
  12.  
  13.   constructor() {
  14.     super();
  15.     this.state = {
  16.       showInfo: false,
  17.       selectedOption: 'Option 1',
  18.     };
  19.   }
  20.   componentDidMount = () => {
  21.     this.props.FetchRoleStart();
  22.    
  23.    
  24.   }
  25.  
  26.   onChange = (event) => {
  27.  
  28.     console.log("role front", event.target.value)
  29.  
  30.  
  31.     this.setState({
  32.       showInfo: !this.state.showPopup,
  33.       selectedOption: event.target.value
  34.     })
  35.  
  36.   }
  37.   render() {
  38.     console.log("this props role", this.props.user)
  39.     let roleList = [];
  40.     if (this.state.showInfo) {
  41.       return (<>
  42.         <div className="RoleInfoKlasa1">Role {this.state.selectedOption}</div>
  43.         <div><RoleInfo /></div>
  44.  
  45.       </>
  46.       )
  47.  
  48.     }
  49.     if (this.props.user.role.isFetched) {
  50.       console.log("size of the role", this.props.user.role.roles.data.size)
  51.  
  52.       for (var i = 0; i < this.props.user.role.roles.data.size; i++) {
  53.         console.log("this role category name", this.props.user.role.roles.data.data[i].categoryname)
  54.         roleList.push(" ", this.props.user.role.roles.data.data[i].categoryname)
  55.         console.log("ROLEEE LIST", roleList)
  56.       }
  57.    
  58.       return (
  59.         <>
  60.           <div className="SelectOptionKlasa1">
  61.             <Select
  62.               name="roleSelect"
  63.  
  64.               defaultValue={this.state.selectedOption}
  65.               options={roleList.map((o, i) => {
  66.                 return { id: i, value: o, label: o }
  67.               })}
  68.               label="Choose existing role"
  69.               onChange={this.onChange}
  70.             />
  71.           </div>
  72.  
  73.         </>
  74.       )
  75.  
  76.     }
  77.     console.log("role is not fetched")
  78.     return ""
  79.   }
  80.  
  81. }
  82. const mapDispatchToProps = (dispatch) => ({
  83.  
  84.   FetchRoleStart: (values) => dispatch(FetchRoleStart(values))
  85.  
  86.  
  87. });
  88.  
  89.  
  90. const mapStateToProps = state => {
  91.   return {
  92.     user: state.user,
  93.  
  94.   }
  95. }
  96.  
  97. export default connect(mapStateToProps, mapDispatchToProps)(SelectOption);
  98.  
  99. RoleInfo
  100. import React from 'react';
  101. import { connect } from 'react-redux';
  102.  
  103. import { Form, Field } from 'react-final-form';
  104. import { Form as BSForm, Container, Button } from 'react-bootstrap';
  105. import { required } from '../../helpers/forms/validators';
  106. import { Input } from '../../components/formElements';
  107. import "./RoleInfo.css";
  108. import { FormattedMessage, injectIntl } from 'react-intl';
  109. import { } from '../../actions/';
  110. import SelectOption from './SelectOption'
  111.  
  112. class RoleInfo extends React.Component {
  113.     FORM_LABEL = 'forms.labels';
  114.     FORM_PLC = 'forms.placeholders';
  115.  
  116.     onSubmit = values => {
  117.         console.log("Form Values", values);
  118.         this.props.RoleStart(values);
  119.  
  120.     }
  121.     componentDidMount = () => {
  122.    
  123.  
  124.     }
  125.  
  126.  
  127.     render() {
  128.         const { formatMessage } = this.props.intl;
  129.  
  130.         return (
  131.  
  132.             <Container>
  133.                 <Form
  134.                     onSubmit={this.onSubmit}
  135.                     render={props => (
  136.                         <div className="RoleInfoKlasa">
  137.  
  138.                             <BSForm validated={props.valid} onSubmit={props.handleSubmit}>
  139.                                 <Field
  140.                                     name="email"
  141.                                     label={<FormattedMessage id={`${this.FORM_LABEL}.Email`} defaultMessage="Email" />}
  142.                                     placeholder={formatMessage({ id: `${this.FORM_PLC}.Email`, defaultMessage: "Email" })}
  143.                                     component={Input}
  144.                                     validate={required}
  145.                                 />
  146.  
  147.                                 <Field
  148.                                     name="address1"
  149.                                     label={<FormattedMessage id={`${this.FORM_LABEL}.First Address`} defaultMessage="First Address" />}
  150.                                     placeholder={formatMessage({ id: `${this.FORM_PLC}.First Address`, defaultMessage: "First Address" })}
  151.                                     component={Input}
  152.                                     validate={required}
  153.                                 />
  154.                                 <Field
  155.                                     name="address2"
  156.                                     label={<FormattedMessage id={`${this.FORM_LABEL}.Second Address`} defaultMessage="Second Address" />}
  157.                                     placeholder={formatMessage({ id: `${this.FORM_PLC}.Second Address`, defaultMessage: "Second Address" })}
  158.                                     component={Input}
  159.                                     validate={required}
  160.                                 />
  161.                                 <Field
  162.                                     name="vat"
  163.                                     label={<FormattedMessage id={`${this.FORM_LABEL}.VAT`} defaultMessage="VAT" />}
  164.                                     placeholder={formatMessage({ id: `${this.FORM_PLC}.VAT`, defaultMessage: "VAT" })}
  165.                                     component={Input}
  166.                                     validate={required}
  167.                                 />
  168.                                 <Field
  169.                                     name="catetegoryName"
  170.                                     label={<FormattedMessage id={`${this.FORM_LABEL}.Category Name`} defaultMessage="Category Name" />}
  171.                                     placeholder={formatMessage({ id: `${this.FORM_PLC}.Category Name`, defaultMessage: "Category Name" })}
  172.                                     component={Input}
  173.                                     validate={required}
  174.                                
  175.                                 />
  176.                                 <Field
  177.                                     name="date_created"
  178.                                     label={<FormattedMessage id={`${this.FORM_LABEL}.Creation_date`} defaultMessage="Creation date" />}
  179.                                     placeholder={formatMessage({ id: `${this.FORM_PLC}.Creation_date`, defaultMessage: "Creation_date" })}
  180.                                     component={Input}
  181.                                     validate={required}
  182.                                 />
  183.                                 <Field
  184.                                     name="ProfileName"
  185.                                     label={<FormattedMessage id={`${this.FORM_LABEL}.Profile Name`} defaultMessage="Profile Name" />}
  186.                                     placeholder={formatMessage({ id: `${this.FORM_PLC}.Profile Name`, defaultMessage: "Profile Name" })}
  187.                                     component={Input}
  188.                                     validate={required}
  189.                                 />
  190.  
  191.  
  192.                                 <Button type="submit"><FormattedMessage id={`${this.FORM_LABEL}.Submit Info`} defaultMessage="Submit Info" /></Button>
  193.                             </BSForm>
  194.                         </div>
  195.                     )}
  196.                 />
  197.             </Container>
  198.         )
  199.     }
  200. }
  201.  
  202.  
  203.  
  204.  
  205. const mapStateToProps = state => {
  206.     return {
  207.         role: state.role,
  208.        
  209.     }
  210. }
  211.  
  212. export default injectIntl(connect(mapStateToProps)(RoleInfo));
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement