X-Git-Url: https://git.mdrn.pl/wolnelektury.git/blobdiff_plain/9e7102a05937bf83ae2916b9206be011098e2aa1..9b31d2bc42b0e1239609cd92c532dfd345e48d0f:/src/wolnelektury/static/js/book_text/references.js diff --git a/src/wolnelektury/static/js/book_text/references.js b/src/wolnelektury/static/js/book_text/references.js index 394ec3ffd..7a14905c0 100644 --- a/src/wolnelektury/static/js/book_text/references.js +++ b/src/wolnelektury/static/js/book_text/references.js @@ -13,20 +13,21 @@ var marker = null; var map = null; - function enable_map() { + function enable_map(callback) { if (!$("#reference-map").length) return; - $("#reference-map").show('slow'); - - if (map_enabled) return; - - map = L.map('reference-map').setView([0, 0], 11); - L.tileLayer('https://tile.thunderforest.com/cycle/{z}/{x}/{y}.png?apikey=a8a97f0ae5134403ac38c1a075b03e15', { - attribution: 'Maps © Thunderforest, Data © OpenStreetMap contributors' - }).addTo(map); - marker = L.circleMarker([0,0]); - - map_enabled = true; + if (!map_enabled) { + map = L.map('reference-map').setView([0, 0], 11); + L.tileLayer('https://tile.thunderforest.com/neighbourhood/{z}/{x}/{y}.png?apikey=a8a97f0ae5134403ac38c1a075b03e15', { + attribution: 'Maps © Thunderforest, Data © OpenStreetMap contributors' + }).addTo(map); + marker = L.circleMarker([0,0]); + map_enabled = true; + } + $("#reference-map").show('slow', () => { + map.invalidateSize(); + callback(); + }); } function disable_map() { $("#reference-map").hide('slow'); @@ -49,8 +50,12 @@ $this.addClass('interesting'); ref = interestingReferences[uri]; - $this.attr('href', ref.wikipedia_link); - $this.attr('target', '_blank'); + if (ref.wikipedia_link) { + $this.attr('href', ref.wikipedia_link); + $this.attr('target', '_blank'); + } else { + $this.removeAttr('href') + } } }); @@ -65,7 +70,7 @@ ref = interestingReferences[uri]; if (ref.location) { - enable_map(); + enable_map(() => { let newLoc = [ ref.location[0], @@ -82,6 +87,7 @@ animate: true, duration: 1, }); + }); } else { disable_map(); if (map) { @@ -104,8 +110,14 @@ } $("#reference-link").text(ref.label); - $("#reference-link").attr('href', ref.wikipedia_link); + if (ref.wikipedia_link) { + $("#reference-link").attr('href', ref.wikipedia_link); + } else { + $('#reference-link').removeAttr('href'); + } + $("#reference-print").attr('href', '/mapa/ulotka/' + ref.id); + _paq.push(['trackEvent', 'html', 'reference']); });