diff options
author | Michael Foiani <mfoiani2019@communityschoolnaples.org> | 2018-07-25 19:38:43 -0400 |
---|---|---|
committer | Michael Foiani <mfoiani2019@communityschoolnaples.org> | 2018-07-25 19:38:43 -0400 |
commit | 3c09a0a91488e182f521b0cd39017cb5bc781a83 (patch) | |
tree | bc26d401b97f13169f3becdfe03bba6fd0f34353 /src/components/my-view2.js |
Initial commit. Added pwa starter kit to project for the application.
Diffstat (limited to 'src/components/my-view2.js')
-rw-r--r-- | src/components/my-view2.js | 72 |
1 files changed, 72 insertions, 0 deletions
diff --git a/src/components/my-view2.js b/src/components/my-view2.js new file mode 100644 index 0000000..0dee7ee --- /dev/null +++ b/src/components/my-view2.js @@ -0,0 +1,72 @@ +/** +@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 { html } from '@polymer/lit-element'; +import { PageViewElement } from './page-view-element.js'; +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 { increment, decrement } from '../actions/counter.js'; + +// We are lazy loading its reducer. +import counter from '../reducers/counter.js'; +store.addReducers({ + counter +}); + +// These are the elements needed by this element. +import './counter-element.js'; + +// These are the shared styles needed by this element. +import { SharedStyles } from './shared-styles.js'; + +class MyView2 extends connect(store)(PageViewElement) { + _render(props) { + return html` + ${SharedStyles} + <section> + <h2>Redux example: simple counter</h2> + <div class="circle">${props._value}</div> + <p>This page contains a reusable <code><counter-element></code>. The + element is not built in a Redux-y way (you can think of it as being a + third-party element you got from someone else), but this page is connected to the + Redux store. When the element updates its counter, this page updates the values + in the Redux store, and you can see the current value of the counter reflected in + the bubble above.</p> + <br><br> + </section> + <section> + <p> + <counter-element value="${props._value}" clicks="${props._clicks}" + on-counter-incremented="${() => store.dispatch(increment())}" + on-counter-decremented="${() => store.dispatch(decrement())}"> + </counter-element> + </p> + </section> + `; + } + + static get properties() { return { + // This is the data from the store. + _clicks: Number, + _value: Number + }} + + // This is called every time something is updated in the store. + _stateChanged(state) { + this._clicks = state.counter.clicks; + this._value = state.counter.value; + } +} + +window.customElements.define('my-view2', MyView2); |