From 151923cd89bca1fea813f66668254431bf3edb77 Mon Sep 17 00:00:00 2001 From: Patrizio Bekerle <patrizio@bekerle.com> Date: Thu, 14 Jan 2021 15:22:06 +0100 Subject: [PATCH] Add and use method sendSetPropertyEvent (dbp/apps/signature#32) --- packages/language-select/src/language-select.js | 12 ++++-------- packages/provider/src/adapter-lit-element.js | 10 ++++++++++ 2 files changed, 14 insertions(+), 8 deletions(-) diff --git a/packages/language-select/src/language-select.js b/packages/language-select/src/language-select.js index bce4a91f..772163c5 100644 --- a/packages/language-select/src/language-select.js +++ b/packages/language-select/src/language-select.js @@ -1,11 +1,12 @@ -import {html, css, LitElement} from 'lit-element'; +import {html, css} from 'lit-element'; import {i18n} from './i18n.js'; import * as commonStyles from '@dbp-toolkit/common/styles'; +import {AdapterLitElement} from "@dbp-toolkit/provider/src/adapter-lit-element"; /** * Emits a dbp-language-changed event where event.detail.lang is the new selected language */ -export class LanguageSelect extends LitElement { +export class LanguageSelect extends AdapterLitElement { constructor() { super(); @@ -61,12 +62,7 @@ export class LanguageSelect extends LitElement { this.dispatchEvent(event); // tell a dbp-provider to update the "lang" property - event = new CustomEvent("set-property", { - bubbles: true, - composed: true, - detail: {'name': 'lang', 'value': value} - }); - this.dispatchEvent(event); + this.sendSetPropertyEvent('lang', value); // Unlike other cases we use the next language for the translations so that // users not knowing the current language can understand it. diff --git a/packages/provider/src/adapter-lit-element.js b/packages/provider/src/adapter-lit-element.js index e9dba576..c3287293 100644 --- a/packages/provider/src/adapter-lit-element.js +++ b/packages/provider/src/adapter-lit-element.js @@ -129,6 +129,16 @@ export class AdapterLitElement extends LitElement { // console.trace(); } + sendSetPropertyEvent(name, value) { + const event = new CustomEvent("set-property", { + bubbles: true, + composed: true, + detail: {'name': name, 'value': value} + }); + + return this.dispatchEvent(event); + } + // update(changedProperties) { // changedProperties.forEach((oldValue, propName) => { // switch(propName) { -- GitLab