X-Git-Url: https://git.mdrn.pl/wolnelektury.git/blobdiff_plain/8925f2b32fe3bfd9f9325cb7486c3b2058d25d0a..1536f4b129950f206b7ffabb38805d0e1dd47661:/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 23f7b0302..cdfc1f06f 100644 --- a/src/wolnelektury/static/js/book_text/references.js +++ b/src/wolnelektury/static/js/book_text/references.js @@ -8,13 +8,13 @@ $("#settings-references").css('display', 'block'); } - - var map_enabled = false; - var marker = L.marker([0,0]); + var marker = L.circleMarker([0,0]); var map = null; function enable_map() { + $("#reference-map").show('slow'); + if (map_enabled) return; map = L.map('reference-map').setView([0, 0], 11); @@ -37,6 +37,10 @@ $('a.reference').each(function() { $this = $(this); uri = $this.attr('data-uri'); + if (uri == '') { + $this.remove(); + return; + } if (interestingReferences.hasOwnProperty(uri)) { $this.addClass('interesting'); ref = interestingReferences[uri]; @@ -59,11 +63,18 @@ if (ref.location) { enable_map(); - marker.setLatLng(ref.location); - //marker.setContent(ref.label); + let newLoc = [ + ref.location[0], + ref.location[1] + Math.round( + (map.getCenter().lng - ref.location[1]) / 360 + ) * 360 + ]; + + marker.setLatLng(newLoc); marker.bindTooltip(ref.label).openTooltip(); map.addLayer(marker); - map.panTo(ref.location, { + + map.panTo(newLoc, { animate: true, duration: 1, }); @@ -74,17 +85,23 @@ } } - $("#reference-images img").remove(); + $("#reference-images a").remove(); if (ref.images) { $.each(ref.images, function(i, e) { $i = $(""); $i.attr('href', e.page); - $('img', $i).attr('src', e.url); + $('img', $i).attr('src', e.thumburl || e.url); + if (e.thumbresolution) { + $('img', $i).attr('width', e.thumbresolution[0]).attr('height', e.thumbresolution[1]); + } + $("#reference-images").append($i); }) } $("#reference-link").text(ref.label); $("#reference-link").attr('href', ref.wikipedia_link); + + _paq.push(['trackEvent', 'html', 'reference']); }); })})(jQuery);