From 0e3b757b5fb20219a8464d5019f0513747fb40d9 Mon Sep 17 00:00:00 2001 From: JC Franco Date: Tue, 1 Aug 2023 17:02:34 -0700 Subject: [PATCH] fix(chip): disconnect mutation observer when component is removed from the DOM --- packages/calcite-components/src/components/chip/chip.tsx | 7 ++----- 1 file changed, 2 insertions(+), 5 deletions(-) diff --git a/packages/calcite-components/src/components/chip/chip.tsx b/packages/calcite-components/src/components/chip/chip.tsx index ce4abf64cae..894398aa197 100644 --- a/packages/calcite-components/src/components/chip/chip.tsx +++ b/packages/calcite-components/src/components/chip/chip.tsx @@ -204,7 +204,7 @@ export class Chip connectInteractive(this); connectLocalized(this); connectMessages(this); - this.setupTextContentObserver(); + this.mutationObserver?.observe(this.el, { childList: true, subtree: true }); } componentDidLoad(): void { @@ -220,6 +220,7 @@ export class Chip disconnectInteractive(this); disconnectLocalized(this); disconnectMessages(this); + this.mutationObserver?.disconnect(); } async componentWillLoad(): Promise { @@ -302,10 +303,6 @@ export class Chip this.hasText = this.el.textContent.trim().length > 0; } - private setupTextContentObserver() { - this.mutationObserver?.observe(this.el, { childList: true, subtree: true }); - } - private handleSlotImageChange = (event: Event): void => { this.hasImage = slotChangeHasAssignedElement(event); };