From 1023425edcc6225978616f44bd58106900a91c56 Mon Sep 17 00:00:00 2001 From: pymit Date: Sun, 21 Jul 2019 08:33:06 +0530 Subject: [PATCH] feature to add new name suggested --- src/main/Homepage/feedback/divider.js | 69 +++++++++++++++---------- src/main/Homepage/feedback/nameInput.js | 63 ++++++++++++++++++++++ 2 files changed, 104 insertions(+), 28 deletions(-) create mode 100644 src/main/Homepage/feedback/nameInput.js diff --git a/src/main/Homepage/feedback/divider.js b/src/main/Homepage/feedback/divider.js index 481fe72..3b1948b 100644 --- a/src/main/Homepage/feedback/divider.js +++ b/src/main/Homepage/feedback/divider.js @@ -7,6 +7,7 @@ import Icon from "@material-ui/core/Icon"; import Divider from "@material-ui/core/Divider"; import IconButton from "@material-ui/core/IconButton"; import FeedBackService from "./FeedBackDB"; +import NameInput from "./nameInput"; const postFBservice = new FeedBackService(); @@ -15,7 +16,9 @@ export class DividerMain extends Component { super(props); this.state = { - contents: null + contents: null, + input_feedback_id: null, + isValueSet: false }; this.handleUpvoteClick = this.handleUpvoteClick.bind(this); this.handleDownvoteClick = this.handleDownvoteClick.bind(this); @@ -56,33 +59,43 @@ export class DividerMain extends Component { return (
- {receivedData.map(out => ( - - - this.handleUpvoteClick(out)} - > - {" "} - thumb_up - - - - - - this.handleDownvoteClick(out) - } - > - {" "} - thumb_down - - - - - ))} + {receivedData.map(out => { + !this.isValueSet + ? (this.state.input_feedback_id = out.feedback) + : (this.isValueSet = true); + return ( + + + + this.handleUpvoteClick(out) + } + > + thumb_up + + + + + + this.handleDownvoteClick(out) + } + > + {" "} + thumb_down + + + + + {/* {!this.isValueSet?this.setState({input_feedback_id :out.feedback}):this.isValueSet=true} */} + + ); + })} + {/*console.log(this.state.input_feedback_id) */} +
); diff --git a/src/main/Homepage/feedback/nameInput.js b/src/main/Homepage/feedback/nameInput.js new file mode 100644 index 0000000..fba23f9 --- /dev/null +++ b/src/main/Homepage/feedback/nameInput.js @@ -0,0 +1,63 @@ +import React from "react"; +import TextField from "@material-ui/core/TextField"; +import FeedBackService from "./FeedBackDB"; + +const postFBservice = new FeedBackService(); + +export default class NameInput extends React.Component { + constructor(props) { + super(props); + + this.state = { + value: null, + isSent: false, + id: -1, + suggestedName: null, + upvote: 0, + downvote: 0, + feedback_id: this.props.feedback_id_value + }; + } + handleChange = event => { + this.setState({ + suggestedName: event.target.value + }); + }; + + handleClick = event => { + if (this.state.isSent === false && this.state.suggestedName!==null) { + const dataToBeSent = { + id: this.state.id, + suggestedName: this.state.suggestedName, + upvote: this.state.upvote, + downvote: this.state.downvote, + feedback_id: this.state.feedback_id + }; + postFBservice.postFeedbackList(dataToBeSent); + + // console.log(dataToBeSent); + + this.setState({ + isSent: true + }); + } else { + alert("You can't suggest blank or more than 1 name"); + } + }; + + render() { + return ( +
+ + +
+ ); + } +}