jekyll-image-links 0.1.2 → 0.2.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/assets/jekyll-image-links/image_links.js +39 -9
- data/lib/jekyll/image_links/version.rb +1 -1
- metadata +1 -1
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 8c93aabbb9cd425deaacd65bb022a89262b8799957d6817e58cd1a3ada3d640c
|
|
4
|
+
data.tar.gz: fe69971d43751442a622ed8571760f0ed5ebce7f74aca6bfa13942e9ec6b4521
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 6e741d3e37b158ee40f071ea3fe8a833427e4a7321df076e3ecedb68ed6b67e48449be4764c105179364dc15c0c6465617bbbaedf123d8dc3e54e5bd6959196a
|
|
7
|
+
data.tar.gz: a74db4de8774eea228b99baca8a3d237807bd7167aa5c1e242798a6c9ec693e29905eba853563c2711c09ed78f3d15bcb97673abe1e2dc3e86306849003214fb
|
|
@@ -248,7 +248,21 @@
|
|
|
248
248
|
});
|
|
249
249
|
zoomFit.addEventListener("click", fitZoom);
|
|
250
250
|
|
|
251
|
+
let dragStart = null;
|
|
252
|
+
let didPan = false;
|
|
253
|
+
|
|
254
|
+
const cursorForPoint = (event) => {
|
|
255
|
+
const point = canvasPointFromEvent(canvas, state.zoom, event);
|
|
256
|
+
const region = firstIntersectedRegion(mapData.regions, point);
|
|
257
|
+
return region ? "pointer" : "grab";
|
|
258
|
+
};
|
|
259
|
+
|
|
251
260
|
canvas.addEventListener("click", (event) => {
|
|
261
|
+
if (didPan) {
|
|
262
|
+
didPan = false;
|
|
263
|
+
event.preventDefault();
|
|
264
|
+
return;
|
|
265
|
+
}
|
|
252
266
|
const point = canvasPointFromEvent(canvas, state.zoom, event);
|
|
253
267
|
const region = firstIntersectedRegion(mapData.regions, point);
|
|
254
268
|
if (!region) return;
|
|
@@ -257,15 +271,21 @@
|
|
|
257
271
|
});
|
|
258
272
|
|
|
259
273
|
canvas.addEventListener("mousemove", (event) => {
|
|
260
|
-
|
|
261
|
-
|
|
262
|
-
canvas.style.cursor = region ? "pointer" : "grab";
|
|
274
|
+
if (dragStart) return;
|
|
275
|
+
canvas.style.cursor = cursorForPoint(event);
|
|
263
276
|
});
|
|
264
277
|
|
|
265
|
-
let dragStart = null;
|
|
266
278
|
canvas.addEventListener("mousedown", (event) => {
|
|
267
|
-
|
|
279
|
+
// Left-drag empty areas to pan; right-drag pans from anywhere.
|
|
280
|
+
if (event.button === 0) {
|
|
281
|
+
const point = canvasPointFromEvent(canvas, state.zoom, event);
|
|
282
|
+
if (firstIntersectedRegion(mapData.regions, point)) return;
|
|
283
|
+
} else if (event.button !== 2) {
|
|
284
|
+
return;
|
|
285
|
+
}
|
|
286
|
+
|
|
268
287
|
event.preventDefault();
|
|
288
|
+
didPan = false;
|
|
269
289
|
dragStart = {
|
|
270
290
|
x: event.clientX,
|
|
271
291
|
y: event.clientY,
|
|
@@ -275,15 +295,25 @@
|
|
|
275
295
|
canvas.style.cursor = "grabbing";
|
|
276
296
|
});
|
|
277
297
|
|
|
278
|
-
window.addEventListener("mouseup", () => {
|
|
298
|
+
window.addEventListener("mouseup", (event) => {
|
|
299
|
+
if (!dragStart) return;
|
|
279
300
|
dragStart = null;
|
|
280
|
-
canvas.style.cursor =
|
|
301
|
+
canvas.style.cursor = cursorForPoint(event);
|
|
302
|
+
// Clear after the trailing click so a pan doesn't open a region.
|
|
303
|
+
if (didPan) {
|
|
304
|
+
setTimeout(() => {
|
|
305
|
+
didPan = false;
|
|
306
|
+
}, 0);
|
|
307
|
+
}
|
|
281
308
|
});
|
|
282
309
|
|
|
283
310
|
window.addEventListener("mousemove", (event) => {
|
|
284
311
|
if (!dragStart) return;
|
|
285
|
-
|
|
286
|
-
|
|
312
|
+
const dx = dragStart.x - event.clientX;
|
|
313
|
+
const dy = dragStart.y - event.clientY;
|
|
314
|
+
if (Math.abs(dx) > 2 || Math.abs(dy) > 2) didPan = true;
|
|
315
|
+
scroll.scrollLeft = dragStart.scrollLeft + dx;
|
|
316
|
+
scroll.scrollTop = dragStart.scrollTop + dy;
|
|
287
317
|
});
|
|
288
318
|
|
|
289
319
|
canvas.addEventListener("contextmenu", (event) => event.preventDefault());
|