import * as React from 'react'; import * as ReactDOM from 'react-dom'; import styles from './Msisgreat.module.scss'; import * as $ from 'jquery'; require('tooltipster'); import { sp, ItemAddResult } from "@pnp/sp"; require('../../../../node_modules/bootstrap/dist/css/bootstrap.min.css'); require('../../../../node_modules/@fortawesome/fontawesome-free/css/all.min.css'); require('../../../../node_modules/tooltipster/dist/css/tooltipster.bundle.min.css'); require('../../../../node_modules/tooltipster/dist/css/plugins/tooltipster/sideTip/themes/tooltipster-sideTip-punk.min.css'); interface MyProps { } interface MyState { ExcellentComment: string; MediumComment: string; PoorComment: string; MyEmail: string; } export default class Feedback extends React.Component { constructor(props) { super(props); this.state = { ExcellentComment: "", MediumComment: "", PoorComment: "", MyEmail: '' }; } private $node; private $ttInstance; /*private $ttNode1; private $ttNode2; private $ttNode3;*/ private hideStyle = { display: 'none' }; private btnSubmitStyle = { cursor: 'pointer' }; private icoPoorStyle = { color: 'red' }; private icoMediumStyle = { color: 'orange' }; private icoExcellentStyle = { color: 'green' }; protected handleExcellentChanged(event) { this.setState({ ExcellentComment: event.target.value }); } protected handleMediumChanged(event) { this.setState({ MediumComment: event.target.value }); } protected handlePoorChanged(event) { this.setState({ PoorComment: event.target.value }); } public componentDidMount() { this.$node = $(this.refs.ttContainer); this.$ttInstance = this.$node.children().tooltipster({ animation: 'grow', delay: 200, theme: 'tooltipster-punk', trigger: 'click', maxWidth: 350, minWidth: 300, interactive: true }); sp.web.currentUser.get().then((user) => { this.setState({ MyEmail: user.Email }); console.log(user); }); } protected addExcellentComment = (event) => { console.log(this.state.ExcellentComment); sp.web.lists.getByTitle("Feedbacks").items.add({ Comment: this.state.ExcellentComment, FeedbackType: "Excellent", Title: this.state.MyEmail, }).then((iar: ItemAddResult) => { console.log(iar); }); $(this.refs.ttFeedback1).trigger("click"); // to close this.setState({ ExcellentComment: "" }); event.preventDefault(); } protected addMediumComment = () => { console.log(this.state.MediumComment); sp.web.lists.getByTitle("Feedbacks").items.add({ Comment: this.state.MediumComment, FeedbackType: "Average", Title: this.state.MyEmail, }).then((iar: ItemAddResult) => { console.log(iar); }); $(this.refs.ttFeedback2).trigger("click"); // to close this.setState({ MediumComment: "" }); event.preventDefault(); } protected addPoorComment = () => { console.log(this.state.PoorComment); sp.web.lists.getByTitle("Feedbacks").items.add({ Comment: this.state.PoorComment, FeedbackType: "Poor", Title: this.state.MyEmail, }).then((iar: ItemAddResult) => { console.log(iar); }); $(this.refs.ttFeedback3).trigger("click"); // to close this.setState({ PoorComment: "" }); event.preventDefault(); } public render() { return (