diff --git a/src/components/leaflet-div-icon.ts b/src/components/leaflet-div-icon.ts index 9c6ca9d..64b91a9 100644 --- a/src/components/leaflet-div-icon.ts +++ b/src/components/leaflet-div-icon.ts @@ -16,15 +16,10 @@ const JSON_KEYS = new Set(['iconSize', 'iconAnchor', 'popupAnchor', 'tooltipAnch export class LeafletDivIcon extends HTMLElement { #obj?: Icon; #observer?: MutationObserver; - #onRequest = () => { - if (!this.#obj) return; - emitIconChanged(this, this.#obj); - }; connectedCallback() { this.#applyIcon(); emitIconChanged(this, this.#obj); - this.addEventListener('leaflet-request-icon', this.#onRequest); this.#observer = new MutationObserver(() => { this.#applyIcon(); @@ -38,7 +33,6 @@ export class LeafletDivIcon extends HTMLElement { } disconnectedCallback() { - this.removeEventListener('leaflet-request-icon', this.#onRequest); this.#observer?.disconnect(); this.#observer = undefined; emitIconChanged(this, null); diff --git a/src/components/leaflet-icon.ts b/src/components/leaflet-icon.ts index 0ba2ddc..56d8383 100644 --- a/src/components/leaflet-icon.ts +++ b/src/components/leaflet-icon.ts @@ -26,19 +26,13 @@ const JSON_KEYS = new Set([ export class LeafletIcon extends HTMLElement { #obj?: Icon; - #onRequest = () => { - if (!this.#obj) return; - emitIconChanged(this, this.#obj); - }; connectedCallback() { this.#applyIcon(); emitIconChanged(this, this.#obj); - this.addEventListener('leaflet-request-icon', this.#onRequest); } disconnectedCallback() { - this.removeEventListener('leaflet-request-icon', this.#onRequest); emitIconChanged(this, null); } diff --git a/src/components/leaflet-marker.ts b/src/components/leaflet-marker.ts index 73b296f..b9bb5e8 100644 --- a/src/components/leaflet-marker.ts +++ b/src/components/leaflet-marker.ts @@ -27,9 +27,6 @@ export class LeafletMarker extends WithProps(HTMLElement, PROPS) { this.#obj.on('dragend move', this.#onChange, this); registerChildren(this, this.#obj); this.addEventListener('icon-changed', this.#onIconChanged); - for (const child of this.children) { - child.dispatchEvent(new CustomEvent('leaflet-request-icon')); - } } disconnectedCallback() { diff --git a/src/core/register.ts b/src/core/register.ts index 68cb5a1..d32ce38 100644 --- a/src/core/register.ts +++ b/src/core/register.ts @@ -13,15 +13,12 @@ export type LeafletLayerEvent = CustomEvent<{ layer: Layer }>; export type LeafletIconChangedEvent = CustomEvent<{ icon: Icon | null }>; -export type LeafletRequestIconEvent = CustomEvent>; - declare global { interface HTMLElementEventMap { 'leaflet-register': LeafletRegisterEvent; 'leaflet-add-layer': LeafletLayerEvent; 'leaflet-remove-layer': LeafletLayerEvent; 'icon-changed': LeafletIconChangedEvent; - 'leaflet-request-icon': LeafletRequestIconEvent; } }