From 83825d899d785184a7fc6f5f07ba575af4d7356c Mon Sep 17 00:00:00 2001 From: Cory LaViska Date: Thu, 27 Aug 2020 15:54:06 -0400 Subject: [PATCH] Refactor slotchange listeners --- src/components/select/select.tsx | 8 +------- src/components/tooltip/tooltip.tsx | 6 +----- 2 files changed, 2 insertions(+), 12 deletions(-) diff --git a/src/components/select/select.tsx b/src/components/select/select.tsx index 009f7e066..182e8942b 100644 --- a/src/components/select/select.tsx +++ b/src/components/select/select.tsx @@ -130,19 +130,13 @@ export class Select { } componentDidLoad() { - this.menu.querySelector('slot').addEventListener('slotchange', this.handleSlotChange); this.resizeObserver = new ResizeObserver(() => this.resizeMenu()); - this.reportDuplicateItemValues(); // We need to do an initial sync after the component has rendered, so this will suppress the re-render warning requestAnimationFrame(() => this.syncItemsFromValue()); } - disconnectedCallback() { - this.menu.querySelector('slot').removeEventListener('slotchange', this.handleSlotChange); - } - getItemLabel(item: HTMLSlMenuItemElement) { const slot = item.shadowRoot.querySelector('slot:not([name])') as HTMLSlotElement; return getTextContent(slot); @@ -416,7 +410,7 @@ export class Select { onSlSelect={this.handleMenuSelect} onKeyDown={this.handleMenuKeyDown} > - + diff --git a/src/components/tooltip/tooltip.tsx b/src/components/tooltip/tooltip.tsx index 80b33179b..a1b44bbce 100644 --- a/src/components/tooltip/tooltip.tsx +++ b/src/components/tooltip/tooltip.tsx @@ -94,8 +94,6 @@ export class Tooltip { } componentDidLoad() { - const slot = this.host.shadowRoot.querySelector('slot'); - this.target = this.getTarget(); this.popover = new Popover(this.target, this.tooltipPositioner); this.syncOptions(); @@ -103,7 +101,6 @@ export class Tooltip { this.host.addEventListener('blur', this.handleBlur, true); this.host.addEventListener('click', this.handleClick, true); this.host.addEventListener('focus', this.handleFocus, true); - slot.addEventListener('slotchange', this.handleSlotChange); // Show on init if open this.tooltipPositioner.hidden = !this.open; @@ -122,7 +119,6 @@ export class Tooltip { this.host.removeEventListener('blur', this.handleBlur, true); this.host.removeEventListener('click', this.handleClick, true); this.host.removeEventListener('focus', this.handleFocus, true); - this.host.shadowRoot.querySelector('slot').removeEventListener('slotchange', this.handleSlotChange); } /** Shows the tooltip. */ @@ -231,7 +227,7 @@ export class Tooltip { render() { return ( - + {!this.disabled && (
(this.tooltipPositioner = el)} class="tooltip-positioner">