import {LitElement, html, customElement, property, css} from 'lit-element'; import {TextField} from '@material/mwc-textfield'; import '@material/mwc-textfield'; import {TopAppBarFixed} from '@material/mwc-top-app-bar-fixed'; import '../pdf-viewer.js'; import '@material/mwc-switch'; import {Switch} from '@material/mwc-switch'; @customElement('pdf-viewer-app-bar') export class TopAppBar extends TopAppBarFixed { static styles = [TopAppBarFixed.styles, css` .mdc-top-app-bar--fixed-adjust { height: 100%; box-sizing: border-box; } `] as any; } @customElement('pdf-viewer-demo') export class PDFViewerDemo extends LitElement { @property() src: string = './f1040.pdf'; @property({attribute: 'multi-page', type: Boolean}) multiPage = false; @property({type: Number}) page = 1; static styles = css` pdf-viewer-app-bar { height: 100vh; background: #efefef; } #content { display: flex; flex-direction: column; height: 100%; } #controls { background: white; display: flex; flex-direction: row; align-items: baseline; padding: 16px; } #demo-container { flex: auto; display: flex; align-items: center; justify-content: center; } pdf-viewer { width: 800px; height: 800px; } `; render() { console.log('demo render', this.multiPage); return html`
<pdf-viewer> Demo
multi-page
`; } _srcChanged(e: Event) { this.src = (e.target as TextField).value; } _pageChanged(e: Event) { this.page = Number((e.target as TextField).value); } _multiPageChanged(e: Event) { this.multiPage = (e.target as Switch).checked; } }