From 651359c9fd41da5bfccc536607f5a27258483bde Mon Sep 17 00:00:00 2001 From: Tao Zhou Date: Thu, 6 Aug 2020 11:57:19 +0200 Subject: [PATCH 1/2] Rename gr-tooltip-content to keep histories Change-Id: I09d29380b021b369e204d14b1204d1dece0627cf --- .../{gr-tooltip-content.js => gr-tooltip-content.ts} | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename polygerrit-ui/app/elements/shared/gr-tooltip-content/{gr-tooltip-content.js => gr-tooltip-content.ts} (100%) diff --git a/polygerrit-ui/app/elements/shared/gr-tooltip-content/gr-tooltip-content.js b/polygerrit-ui/app/elements/shared/gr-tooltip-content/gr-tooltip-content.ts similarity index 100% rename from polygerrit-ui/app/elements/shared/gr-tooltip-content/gr-tooltip-content.js rename to polygerrit-ui/app/elements/shared/gr-tooltip-content/gr-tooltip-content.ts From 76606ac83b14969e244e194e89ed204bb62dfdf5 Mon Sep 17 00:00:00 2001 From: Tao Zhou Date: Thu, 6 Aug 2020 11:57:42 +0200 Subject: [PATCH 2/2] Move gr-tooltip-content to typescript Change-Id: Ic072764e4853f7229f08d890883e08b77706f766 --- .../gr-tooltip-content/gr-tooltip-content.ts | 56 +++++++++---------- 1 file changed, 27 insertions(+), 29 deletions(-) diff --git a/polygerrit-ui/app/elements/shared/gr-tooltip-content/gr-tooltip-content.ts b/polygerrit-ui/app/elements/shared/gr-tooltip-content/gr-tooltip-content.ts index d2182e414d..cfd9e81182 100644 --- a/polygerrit-ui/app/elements/shared/gr-tooltip-content/gr-tooltip-content.ts +++ b/polygerrit-ui/app/elements/shared/gr-tooltip-content/gr-tooltip-content.ts @@ -14,36 +14,34 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -import '../gr-icons/gr-icons.js'; -import {GestureEventListeners} from '@polymer/polymer/lib/mixins/gesture-event-listeners.js'; -import {LegacyElementMixin} from '@polymer/polymer/lib/legacy/legacy-element-mixin.js'; -import {PolymerElement} from '@polymer/polymer/polymer-element.js'; -import {htmlTemplate} from './gr-tooltip-content_html.js'; -import {TooltipMixin} from '../../../mixins/gr-tooltip-mixin/gr-tooltip-mixin.js'; +import '../gr-icons/gr-icons'; +import {GestureEventListeners} from '@polymer/polymer/lib/mixins/gesture-event-listeners'; +import {LegacyElementMixin} from '@polymer/polymer/lib/legacy/legacy-element-mixin'; +import {PolymerElement} from '@polymer/polymer/polymer-element'; +import {htmlTemplate} from './gr-tooltip-content_html'; +import {TooltipMixin} from '../../../mixins/gr-tooltip-mixin/gr-tooltip-mixin'; +import {customElement, property} from '@polymer/decorators'; -/** - * @extends PolymerElement - */ -class GrTooltipContent extends TooltipMixin( - GestureEventListeners( - LegacyElementMixin( - PolymerElement))) { - static get template() { return htmlTemplate; } - - static get is() { return 'gr-tooltip-content'; } - - static get properties() { - return { - maxWidth: { - type: String, - reflectToAttribute: true, - }, - showIcon: { - type: Boolean, - value: false, - }, - }; +declare global { + interface HTMLElementTagNameMap { + 'gr-tooltip-content': GrTooltipContent; } } -customElements.define(GrTooltipContent.is, GrTooltipContent); +/** + * Transclude anything inside and wrap them to support tooltip functionality. + */ +@customElement('gr-tooltip-content') +export class GrTooltipContent extends TooltipMixin( + GestureEventListeners(LegacyElementMixin(PolymerElement)) +) { + static get template() { + return htmlTemplate; + } + + @property({type: String, reflectToAttribute: true}) + maxWidth?: string; + + @property({type: Boolean}) + showIcon = false; +}