-
Reiter, Christoph authoredReiter, Christoph authored
vpu-notification-demo.js 2.17 KiB
import {i18n} from './i18n';
import {send as notify} from 'vpu-common/notification';
import {css, html, LitElement} from 'lit-element';
import {ScopedElementsMixin} from '@open-wc/scoped-elements';
import {Notification} from './notification.js';
import * as commonUtils from 'vpu-common/utils';
import * as commonStyles from "vpu-common/styles";
class NotificationDemo extends ScopedElementsMixin(LitElement) {
constructor() {
super();
this.lang = 'de';
}
static get scopedElements() {
return {
'vpu-notification': Notification,
};
}
static get properties() {
return {
lang: { type: String },
};
}
connectedCallback() {
super.connectedCallback();
i18n.changeLanguage(this.lang);
this.updateComplete.then(()=>{
});
}
static get styles() {
// language=css
return css`
${commonStyles.getThemeCSS()}
${commonStyles.getGeneralCSS()}
${commonStyles.getButtonCSS()}
`;
}
render() {
return html`
<section class="section">
<div class="container">
<h1 class="title">Notification-Demo</h1>
</div>
<div class="container">
<div class="columns is-vcentered">
<div class="column">
<button id="send-button" @click="${this.send}" class="button">${i18n.t('send')}</button>
</div>
</div>
</div>
<div class="container">
<vpu-notification lang="${this.lang}"></vpu-notification>
</div>
</section>
`;
}
send() {
const types = ["primary", "info", "success", "danger", "warning"];
notify({
"summary": "Item deleted",
"body": `Item ${Math.random().toString(36).substring(7)} foo was deleted!`,
"type": types[Math.floor(Math.random() * types.length)],
"timeout": 0,
});
}
}
commonUtils.defineCustomElement('vpu-notification-demo', NotificationDemo);