diff options
Diffstat (limited to 'polygerrit-ui/app/elements/plugins/gr-endpoint-param/gr-endpoint-param.ts')
-rw-r--r-- | polygerrit-ui/app/elements/plugins/gr-endpoint-param/gr-endpoint-param.ts | 45 |
1 files changed, 13 insertions, 32 deletions
diff --git a/polygerrit-ui/app/elements/plugins/gr-endpoint-param/gr-endpoint-param.ts b/polygerrit-ui/app/elements/plugins/gr-endpoint-param/gr-endpoint-param.ts index ee89c86735..5a00c37923 100644 --- a/polygerrit-ui/app/elements/plugins/gr-endpoint-param/gr-endpoint-param.ts +++ b/polygerrit-ui/app/elements/plugins/gr-endpoint-param/gr-endpoint-param.ts @@ -1,21 +1,10 @@ /** * @license - * Copyright (C) 2017 The Android Open Source Project - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Copyright 2017 Google LLC + * SPDX-License-Identifier: Apache-2.0 */ -import {PolymerElement} from '@polymer/polymer/polymer-element'; -import {customElement, property} from '@polymer/decorators'; +import {LitElement, PropertyValues} from 'lit'; +import {customElement, property} from 'lit/decorators'; declare global { interface HTMLElementTagNameMap { @@ -24,26 +13,18 @@ declare global { } @customElement('gr-endpoint-param') -export class GrEndpointParam extends PolymerElement { - @property({type: String, reflectToAttribute: true}) +export class GrEndpointParam extends LitElement { + @property({type: String, reflect: true}) name = ''; - @property({ - type: Object, - notify: true, - observer: '_valueChanged', - }) + @property({type: Object}) value?: unknown; - _valueChanged(value: unknown) { - /* In polymer 2 the following change was made: - "Property change notifications (property-changed events) aren't fired when - the value changes as a result of a binding from the host" - (see https://polymer-library.polymer-project.org/2.0/docs/about_20). - To workaround this problem, we fire the event from the observer. - In some cases this fire the event twice, but our code is - ready for it. - */ - this.dispatchEvent(new CustomEvent('value-changed', {detail: {value}})); + override willUpdate(changedProperties: PropertyValues) { + if (changedProperties.has('value')) { + this.dispatchEvent( + new CustomEvent('value-changed', {detail: {value: this.value}}) + ); + } } } |