"packages/common/dbp-common-demo.js" did not exist on "9616571a4e5871e6e47d1f37a055a6fd3030a0bf"
Newer
Older
import {html} from 'lit-element';
import {LanguageSelect} from './language-select.js';
import * as commonUtils from '@dbp-toolkit/common/utils';
import { ScopedElementsMixin } from '@open-wc/scoped-elements';
import {AdapterLitElement} from "@dbp-toolkit/provider/src/adapter-lit-element";
import {Provider} from "@dbp-toolkit/provider";
import {createInstance, setOverrides} from './i18n.js';

Reiter, Christoph
committed
// This is an example on how to override translations at runtime
let OVERRIDES = {
'de': {
'dbp-language-select-display': {

Reiter, Christoph
committed
'demo': 'Überschrieben'
}
},
'en': {
'dbp-language-select-display': {

Reiter, Christoph
committed
'demo': 'Overridden'
}
}
};
class LanguageSelectDisplay extends AdapterLitElement {
constructor() {
super();
this.lang = 'de';
this._i18n = createInstance();
setOverrides(this._i18n, this, OVERRIDES);
}
static get properties() {
return {
lang: {type: String},
};
}

Reiter, Christoph
committed
update(changedProperties) {
changedProperties.forEach((oldValue, propName) => {
switch (propName) {
case 'lang':
this._i18n.changeLanguage(this.lang);
}
});
super.update(changedProperties);
}

Reiter, Christoph
committed
return html`<b>${this.lang}: ${this._i18n.t('demo')}</b>`;
export class LanguageSelectDemo extends ScopedElementsMixin(AdapterLitElement) {
constructor() {
super();
}
'dbp-language-select': LanguageSelect,
'dbp-language-select-display': LanguageSelectDisplay,
'dbp-provider': Provider,
render() {
return html`
<dbp-provider lang="">
Select 1: <dbp-language-select subscribe="lang"></dbp-language-select>
<br>
<br>
Select 2: <dbp-language-select subscribe="lang"></dbp-language-select>
<br>
<br>
Current language 1: <dbp-language-select-display subscribe="lang"></dbp-language-select-display>
<br>
<br>
Current language 2: <dbp-language-select-display subscribe="lang"></dbp-language-select-display>
</dbp-provider>
commonUtils.defineCustomElement('dbp-language-select-demo', LanguageSelectDemo);