Advertisement
social1986

Untitled

Jan 11th, 2019
80
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. import React, { Component } from 'react'
  2. import './SendMessageBox.css'
  3. import { FontAwesomeIcon } from '@fortawesome/react-fontawesome'
  4. import { faTelegramPlane } from '@fortawesome/free-brands-svg-icons'
  5.  
  6.  
  7. export default class SendMessageBox extends Component {
  8.     constructor(props) {
  9.         super(props);
  10.         this.state = {
  11.             message: ''
  12.         }
  13.  
  14.         this.handleMessageChange = this.handleMessageChange.bind(this)
  15.         this.onSubmit = this.onSubmit.bind(this)
  16.         this.sendMessage = this.sendMessage.bind(this)
  17.     }
  18.  
  19.     handleMessageChange(event) {
  20.        
  21.         let value = event.target.value;
  22.  
  23.         this.setState({
  24.             message: value
  25.         })
  26.     }
  27.  
  28.     onSubmit(event) {
  29.         event.preventDefault();
  30.         console.log(this.state.message);
  31.         this.setState({
  32.             message: ''
  33.         });
  34.     }
  35.  
  36.     sendMessage() {
  37.         let message = this.state.message;
  38.  
  39.         if (message.length < 1) {
  40.             return;
  41.         }
  42.         document.getElementById("sendButton").click();        
  43.     }
  44.  
  45.     render() {
  46.  
  47.         let element = document.getElementById('msg');
  48.  
  49.         if (element) {
  50.             element.addEventListener('keydown', function (e) {
  51.                 if (e.keyCode === 13) {
  52.                     this.sendMessage;
  53.                 }
  54.             })
  55.         }
  56.  
  57.  
  58.         return (
  59.             <div className='panel-footer mt-3' id='message-holder'>
  60.                 <form className='form-inline' onSubmit={this.onSubmit}>
  61.                     <label className='sr-only' htmlFor='msg'>Amount (in dollars)</label>
  62.                     <div className='input-group col-md-12 col-sm-12'>
  63.                         <input type='text'
  64.                             onChange={this.handleMessageChange}
  65.                             className='form-control bg-light'
  66.                             id='msg'
  67.                             value={this.state.message}
  68.                             placeholder='Your message'
  69.                             autoComplete="off" />
  70.                         <button id='sendButton' className='btn btn-primary chat-button input-group-addon'><FontAwesomeIcon icon={faTelegramPlane} /></button >
  71.                     </div>
  72.                 </form>
  73.             </div>
  74.         )
  75.     }
  76. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement