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);
});