@digital-blueprint/lunchlottery-app
Version:
[GitHub Repository](https://github.com/digital-blueprint/lunchlottery-app) | [npmjs package](https://www.npmjs.com/package/@digital-blueprint/lunchlottery-app) | [Unpkg CDN](https://unpkg.com/browse/@digital-blueprint/lunchlottery-app/)
71 lines (63 loc) • 2.06 kB
JavaScript
import {html} from 'lit';
import {LanguageSelect} from './language-select.js';
import * as commonUtils from '@dbp-toolkit/common/utils';
import {ScopedElementsMixin, LangMixin} from '@dbp-toolkit/common';
import {AdapterLitElement, Provider} from '@dbp-toolkit/common';
import {createInstance, setOverrides} from './i18n.js';
// This is an example on how to override translations at runtime
let OVERRIDES = {
de: {
'dbp-language-select-display': {
demo: 'Überschrieben',
},
},
en: {
'dbp-language-select-display': {
demo: 'Overridden',
},
},
};
class LanguageSelectDisplay extends LangMixin(AdapterLitElement, createInstance) {
constructor() {
super();
setOverrides(this._i18n, this, OVERRIDES);
}
render() {
return html`
<b>${this.lang}: ${this._i18n.t('demo')}</b>
`;
}
}
export class LanguageSelectDemo extends ScopedElementsMixin(AdapterLitElement) {
constructor() {
super();
}
static get scopedElements() {
return {
'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);