diff --git a/packages/app-shell/src/app-shell.js b/packages/app-shell/src/app-shell.js index c0b5e6119830157dddc8d53ebd1d5cedf5ca1b74..2ad9b93345214ff644fcfdd1ab56e2d78df9235e 100644 --- a/packages/app-shell/src/app-shell.js +++ b/packages/app-shell/src/app-shell.js @@ -297,12 +297,8 @@ export class AppShell extends ScopedElementsMixin(AdapterLitElement) { this.lang = lang; this.router.update(); - const event = new CustomEvent("dbp-language-changed", { - bubbles: true, - detail: {'lang': lang} - }); - - this.dispatchEvent(event); + // tell a dbp-provider to update the "lang" property + this.sendSetPropertyEvent('lang', lang); } } @@ -312,6 +308,10 @@ export class AppShell extends ScopedElementsMixin(AdapterLitElement) { // For screen readers document.documentElement.setAttribute("lang", this.lang); i18n.changeLanguage(this.lang); + + this.router.update(); + this.subtitle = this.activeMetaDataText("short_name"); + this.description = this.activeMetaDataText("description"); } }); @@ -822,7 +822,7 @@ export class AppShell extends ScopedElementsMixin(AdapterLitElement) { <dbp-notification lang="${this.lang}"></dbp-notification> <header> <div class="hd1-left"> - <dbp-language-select @dbp-language-changed=${this.onLanguageChanged.bind(this)}></dbp-language-select> + <dbp-language-select subscribe="lang"></dbp-language-select> </div> <div class="hd1-middle"> </div> diff --git a/packages/language-select/src/language-select.js b/packages/language-select/src/language-select.js index 772163c5f2dca190594ce1537ef2000c3481dade..2ab2f3ca35c91cd7b2d00f48c6838370eae15935 100644 --- a/packages/language-select/src/language-select.js +++ b/packages/language-select/src/language-select.js @@ -13,8 +13,6 @@ export class LanguageSelect extends AdapterLitElement { this._lang = 'de'; this.languages = ['de', 'en']; - this.onExternalChange = this.onExternalChange.bind(this); - // for the i18next scanner i18n.t('de'); i18n.t('de-action'); @@ -54,13 +52,6 @@ export class LanguageSelect extends AdapterLitElement { this.requestUpdate('next', oldNext); if (oldValue !== value) { - let event = new CustomEvent("dbp-language-changed", { - bubbles: true, - composed: true, - detail: {'lang': value} - }); - this.dispatchEvent(event); - // tell a dbp-provider to update the "lang" property this.sendSetPropertyEvent('lang', value); @@ -109,20 +100,6 @@ export class LanguageSelect extends AdapterLitElement { ]; } - onExternalChange(e) { - this.lang = e.detail.lang; - } - - connectedCallback() { - super.connectedCallback(); - window.addEventListener('dbp-language-changed', this.onExternalChange); - } - - disconnectedCallback() { - document.removeEventListener('dbp-language-changed', this.onExternalChange); - super.disconnectedCallback(); - } - onClick(e) { e.preventDefault(); this.lang = this.next; diff --git a/packages/provider/src/adapter-lit-element.js b/packages/provider/src/adapter-lit-element.js index 4f15cc6373b5cbb1fdcaa98bbe2d5f2d2d708d4c..9b41c7a43f366afd7971de3995905c48d0d8d6ca 100644 --- a/packages/provider/src/adapter-lit-element.js +++ b/packages/provider/src/adapter-lit-element.js @@ -302,6 +302,8 @@ export class AdapterLitElement extends LitElement { * @returns {boolean} */ sendSetPropertyEvent(name, value) { + // console.log("dbp-set-property", name, value); + const event = new CustomEvent('dbp-set-property', { bubbles: true, composed: true, diff --git a/toolkit-showcase/assets/dbp-toolkit-showcase.html.ejs b/toolkit-showcase/assets/dbp-toolkit-showcase.html.ejs index d4a9e251a056609aed2eb51a5415ffb1de41c9a7..59898d0901c6b5327f2762c8b4b13b10b00492b5 100644 --- a/toolkit-showcase/assets/dbp-toolkit-showcase.html.ejs +++ b/toolkit-showcase/assets/dbp-toolkit-showcase.html.ejs @@ -54,7 +54,7 @@ <body> <dbp-provider id="root" - lang="en" entry-point-url="<%= entryPointURL %>" + entry-point-url="<%= entryPointURL %>" nextcloud-auth-url="<%= nextcloudWebAppPasswordURL %>" nextcloud-web-dav-url="<%= nextcloudWebDavURL %>" nextcloud-name="<%= nextcloudName %>" @@ -62,6 +62,7 @@ <<%= name %> src="<%= getUrl(name + '.topic.metadata.json') %>" auth + lang="en" base-path="<%= getUrl('') %>" keycloak-config='{"url": "<%= keyCloakBaseURL %>", "realm": "tugraz", "clientId": "<%= keyCloakClientId %>", "silentCheckSsoRedirectUri": "<%= getUrl('silent-check-sso.html') %>"}' matomo-url="<%= matomoUrl %>" matomo-site-id="<%= matomoSiteId %>"