/** @license Copyright (c) 2018 The Polymer Project Authors. All rights reserved. This code may only be used under the BSD style license found at http://polymer.github.io/LICENSE.txt The complete set of authors may be found at http://polymer.github.io/AUTHORS.txt The complete set of contributors may be found at http://polymer.github.io/CONTRIBUTORS.txt Code distributed by Google as part of the polymer project is also subject to an additional IP rights grant found at http://polymer.github.io/PATENTS.txt */ import { LitElement, html } from '@polymer/lit-element'; import { connect } from 'pwa-helpers/connect-mixin.js'; // This element is connected to the Redux store. import { store } from '../store.js'; //These are the actions needed by this element. import { createComment } from '../actions/firebaseFirestore'; // Import button styles import { ButtonSharedStyles } from './button-shared-styles.js'; class ForumElement extends connect(store)(LitElement) { _render(props) { return html` ${ButtonSharedStyles}

${props.author}

${props.subject}

${props.content}

Show Comments ${this.postComment? "Hide Draft" : "Post Comment"}
`; } static get properties() { return { signedIn: Boolean, author: String, subject: String, content: String, postId: String, comments: Array, showComments: Boolean, postComment: Boolean }}; _stateChanged(state) { this.signedIn = state.firebaseAuth.signedIn; } constructor() { super(); this.signedIn = false; this.author = ""; this.subject = ""; this.content = ""; this.postId = ""; this.comments = []; this.showComments = false; this.postComment = false; } submitComment() { var commentSubject = this.shadowRoot.getElementById('comment-subject-field'); var commentContent = this.shadowRoot.getElementById('comment-content-field'); //commentContent.value.replace('\n','
') if( commentSubject && commentSubject.value.trim().length > 0 && commentContent.value.trim().length > 0) { if(confirm('Are you sure you want to submit this comment on ' + this.author + "'s post about " + this.subject + '?')) { store.dispatch(createComment(this.postId, commentSubject.value, commentContent.value)); commentSubject.value = ""; commentContent.value = ""; } } else { console.log(this.comments); alert('Please fill out comment subject and content fields.'); } } } window.customElements.define('forum-element', ForumElement);