/**
@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}
`;
}
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);