From 59e29675bec5c4fb6d8e9effb34dffaa1380aa17 Mon Sep 17 00:00:00 2001 From: Franzz Date: Tue, 29 Nov 2022 21:21:58 +0100 Subject: [PATCH] Avoid loading images before popup is opened --- masks/project.html | 39 +++++++++++++++++++++++++-------------- 1 file changed, 25 insertions(+), 14 deletions(-) diff --git a/masks/project.html b/masks/project.html index 4e81d99..b55861b 100644 --- a/masks/project.html +++ b/masks/project.html @@ -715,21 +715,32 @@ function addSpotMessages(aoMessages) { ); } - //Tooltip: Medias - if(oMsg.medias) { - var $Medias = $('
', {'class':'medias'}); - $.each(oMsg.medias, function(iKey, asMedia) { - $Medias.append(getMediaLink(asMedia, 'marker')); - }); - $Tooltip.append($Medias); - } + $Tooltip.data('medias', oMsg.medias); + oSpot.tmp(['marker-tooltips', oMsg.id_message], $Tooltip); - oMarker.bindPopup($Tooltip[0], { - maxWidth: iWorkSpaceMinWidth, - autoPan: false, - closeOnClick: true, - offset: new L.Point(0, -30) - }); + oMarker.bindPopup( + function(e) { + let $Tooltip = oSpot.tmp(['marker-tooltips', e.options.id]); + + //Tooltip: Medias: Set on the fly to avoid resource load + let oMedias = $Tooltip.data('medias'); + let $Medias = $Tooltip.find('.medias'); + if(oMedias && $Medias.length == 0) { + $Medias = $('
', {'class':'medias'}); + $.each(oMedias, function(iKey, asMedia) { + $Medias.append(getMediaLink(asMedia, 'marker')); + }); + $Tooltip.append($Medias); + } + return $Tooltip[0]; + }, + { + maxWidth: iWorkSpaceMinWidth, + autoPan: false, + closeOnClick: true, + offset: new L.Point(0, -30) + } + ); oSpot.tmp(['markers', oMsg.id_message], oMarker); });