}
var map_enabled = false;
- var marker = L.circleMarker([0,0]);
+ var marker = null;
var map = null;
- function enable_map() {
- $("#reference-map").show('slow');
+ function enable_map(callback) {
+ if (!$("#reference-map").length) return;
- 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 © <a href="http://www.thunderforest.com">Thunderforest</a>, Data © <a href="http://www.openstreetmap.org/copyright">OpenStreetMap contributors</a>'
- }).addTo(map);
-
- 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 © <a href="http://www.thunderforest.com">Thunderforest</a>, Data © <a href="http://www.openstreetmap.org/copyright">OpenStreetMap contributors</a>'
+ }).addTo(map);
+ marker = L.circleMarker([0,0]);
+ map_enabled = true;
+ }
+ $("#reference-map").show('slow', () => {
+ map.invalidateSize();
+ callback();
+ });
}
function disable_map() {
$("#reference-map").hide('slow');
$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')
+ }
}
});
ref = interestingReferences[uri];
if (ref.location) {
- enable_map();
+ enable_map(() => {
let newLoc = [
ref.location[0],
animate: true,
duration: 1,
});
+ });
} else {
disable_map();
if (map) {
}
$("#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']);
});
leftoffset = x - margin;
} else {
right = '';
-
- // default position.
- leftoffset = 40;
+
leftoffset = $elem.data('default-leftoffset');
+ if (leftoffset === undefined) {
+ leftoffset = $elem.width() / 2;
+ }
nx = x - leftoffset;
// Do we need to move away from the right?
if (nx + boxwidth > maxx) {
- // ACTUALLY CALCULATE STUFF
- // if maxx - minx < 470 px -- daj z lewej do prawej i już!
-
right = '';
let d = nx + boxwidth - maxx;
- //if (leftoffset + d > $elem.width() - 10) d = $elem.width() - leftoffset - 10;
nx -= d;
leftoffset += d;
}
left: nx,
right: right
});
+ $elem.css({
+ display: "block"
+ });
if (!$elem.data('attach-bottom')) {
ny = y - $elem.height() - 10;
} else {
left: leftoffset - 6
});
- $elem.css({
- display: "block"
- });
}
function closeNoteBox() {
if ($(this).parents('#footnotes').length) return;
event.preventDefault();
-
-
- let x = $(this).width() / 2, y = 0;
- let elem = $(this);
- while (elem.attr('id') != 'book-text') {
- let p = $(elem).position();
- x += p.left;
- y += p.top;
- elem = elem.parent();
- }
href = $(this).attr('href').substr(1);
content = $("[name='" + href + "']").next().next().html();
if (!content) return;
$("#annotation-content").html(content);
$("#footnote-link").attr('href', '#' + href)
-
putNoteAt($('#annotation-box'), this);
event.stopPropagation();
});
let text = window.location.protocol + '//' +
window.location.host +
window.location.pathname;
- if (anchor) text += anchor;
+ if (anchor) text += '#' + anchor;
navigator.clipboard.writeText(text);
this.hideCopied();
});
$('a.anchor').on('click', function(e) {
+ // Workaround for bad TOC markers.
+ if ($(this).closest('#toc').length) return;
+ if ($(this).closest('.toc').length) return;
+ if ($(this).closest('#wltoc').length) return;
e.preventDefault();
let sel = window.getSelection();
let range = document.createRange();
let $p = $(this).nextAll('.paragraph').first()
- range.selectNode($p[0]);
+ range.selectNodeContents($p[0]);
sel.addRange(range);
qbox.showForSelection(sel);
history.pushState({}, '', anchor);
},
});
+ return true;
}
}
}
scrollToAnchor(window.location.hash)
- $('#toc, #themes, #book-text, #annotation').on('click', 'a', function(event) {
- event.preventDefault();
- scrollToAnchor($(this).attr('href'));
+ $('#toc, #themes, #book-text, #annotation, .scroll').on('click', 'a', function(event) {
+ if (scrollToAnchor($(this).attr('href'))) {
+ event.preventDefault();
+ }
});
-
})})(jQuery);