Hi,
It seems that by mistake I submitted the same topic before and apologize for that.
I’m using Liveview 0.18 and trying to integrate Leaflet to provide maps to users and for that I’m using Hooks. The problem is when I move to the page having the div container loaded by Leaflet, this cause full page reloads. This problem led me to test my app on Firefox (a thing that I have never done before ) and surprise : whether with or without the map, all my sidebar links cause full page reload !
The records below show the sidbar navigation accros the diffrent pages of the app.
On Chrome, the Dashboard link redirect to a page containing the map and you can notice the full page reload effect which is not the case with the other links :

On Fixefox, all the links are causing full page reload and I have turned off the Leaflet code :

Here is the hook code :
Hooks.locationMap = {
mounted() {
const mapid = this.el.id;
let map = leaflet.map(mapid).setView([51.505, -0.09], 2);
leaflet.tileLayer('https://tile.openstreetmap.org/{z}/{x}/{y}.png', {
}).addTo(map);
leaflet.marker([51.5, -0.09]).addTo(map)
.bindPopup('A pretty CSS3 popup.<br> Easily customizable.')
map.attributionControl.setPrefix(false)
window.addEventListener("open-map", event => {
setTimeout(function(){ map.invalidateSize()}, 10);
})
}
}
The heex code that contains the div conatiner :
<.live_component module={LayoutComponent} id="layout" selected={:dashboard} current_user={@current_user}>
<section class="ml-4 min-h-min p-2 bg-gray-50 rounded shadow ">
<div phx-update="ignore" id="map">
<div id="map-container" phx-hook="locationMap" class="h-96 w-96 rounded shadow-custom"></div>
</div>
</section>
</.live_component>
On the Sidebar I’m using simple redirect links like this one :
<.link navigate={Routes.live_path(@socket, MyWeb.DashboardLive)}>
<div @click="active = 'dashboard'" class="menu-item" >
<h1 x-bind:class="!$store.sidebar.full ? 'sm:hidden' : '' ">
Dashboard
</h1>
</div>
</.link>
Please note that for Chrome when I turn off Leaflet, the full page reloading problem disappears. So here I end up with two problems : Leaflet causing full page reload with Chrome and same thing with Firefox but with all nav links independently of leaflet.
Thanks for your help.























