From 5bcdeb20644b41f7a68ca0ddb2b164528d8af355 Mon Sep 17 00:00:00 2001 From: Michael Foiani Date: Mon, 17 Sep 2018 18:58:23 -0400 Subject: Working on abstraction of forum page to allow comments on forums. --- src/components/forum-element.js | 137 ++++++++++++++++++++++++++++++++++++++++ src/components/mao-forums.js | 53 +++------------- 2 files changed, 145 insertions(+), 45 deletions(-) create mode 100644 src/components/forum-element.js diff --git a/src/components/forum-element.js b/src/components/forum-element.js new file mode 100644 index 0000000..138cc6a --- /dev/null +++ b/src/components/forum-element.js @@ -0,0 +1,137 @@ +/** +@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 { adminApproveHours, adminRejectHours } from '../actions/firebaseAdmin.js'; + +// 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, + + showComments: Boolean, + postComment: Boolean + }}; + + _stateChanged(state) { + this.signedIn = state.firebaseAuth.signedIn; + } + + constructor() { + super(); + + this.signedIn = false; + + this.author = ""; + this.subject = ""; + this.content = ""; + + this.showComments = false; + this.postComment = false; + } + +} + +window.customElements.define('forum-element', ForumElement); diff --git a/src/components/mao-forums.js b/src/components/mao-forums.js index 0b2a4af..b85fa26 100644 --- a/src/components/mao-forums.js +++ b/src/components/mao-forums.js @@ -33,6 +33,9 @@ import '@polymer/paper-button/paper-button.js'; // Import other customElements import '@vaadin/vaadin-date-picker/vaadin-date-picker.js'; +//import local customElements +import './forum-element.js' + class MaoForums extends connect(store)(PageViewElement) { _render(props) { return html` @@ -41,33 +44,6 @@ class MaoForums extends connect(store)(PageViewElement) {