jonnybarnes.uk/resources/es6/places.js
Jonny Barnes 76d474b335 Get repo up to date with changes in laravel/laravel (issue #95)
Squashed commit of the following:

commit 850a0dfe70412f0851d1f40fe96c7afdc8348aab
Author: Jonny Barnes <jonny@jonnybarnes.uk>
Date:   Sun Jan 27 13:42:09 2019 +0000

    Persist data cache

commit fc80710c96b33bf387e346f97a58ed3965520427
Author: Jonny Barnes <jonny@jonnybarnes.uk>
Date:   Sun Jan 27 13:15:10 2019 +0000

    Added another laravel dependency

commit 1a9ed1bc71e3a11624e4924ae75c4284e6071f6d
Author: Jonny Barnes <jonny@jonnybarnes.uk>
Date:   Sun Jan 27 13:14:50 2019 +0000

    Fix trailing comma

commit 81f31ae7116146b073c8f886cb74e32d806eba60
Author: Jonny Barnes <jonny@jonnybarnes.uk>
Date:   Sat Jan 26 19:07:55 2019 +0000

    Add Laravel’s illustration SVGs

commit d1f99e4ec2b39d0159689f586f37465cbf867c2b
Author: Jonny Barnes <jonny@jonnybarnes.uk>
Date:   Sat Jan 26 19:07:34 2019 +0000

    Add the dump-server

commit 28a09927a32d20510f6bc236d14daf948c5dd547
Author: Jonny Barnes <jonny@jonnybarnes.uk>
Date:   Sat Jan 26 18:58:27 2019 +0000

    Add mailgin endpoint

commit e80e3a9d53852d5f137918d79969f5a3a93fad81
Author: Jonny Barnes <jonny@jonnybarnes.uk>
Date:   Sat Jan 26 18:55:11 2019 +0000

    Update cache config

commit 3db2f952d420be7e49041d495db6ee59ee310841
Author: Jonny Barnes <jonny@jonnybarnes.uk>
Date:   Sat Jan 26 18:50:02 2019 +0000

    Update session config

commit 0b431150616cb15f17b571e9340e6805723344d6
Author: Jonny Barnes <jonny@jonnybarnes.uk>
Date:   Sat Jan 26 18:46:05 2019 +0000

    Add faker locale setting

commit 048e8ee0c7969ed9b2251f270aea8fee25b3bf98
Author: Jonny Barnes <jonny@jonnybarnes.uk>
Date:   Sat Jan 26 18:44:09 2019 +0000

    Add new Stripe webhook config values

commit 18ce7bee19fca7f920fdcca72049108fd5a7a9b6
Author: Jonny Barnes <jonny@jonnybarnes.uk>
Date:   Sat Jan 26 18:42:57 2019 +0000

    Add Authenticate to middleware

commit 05007f1f038cac4453e4b5d82cb04d6f0820606c
Author: Jonny Barnes <jonny@jonnybarnes.uk>
Date:   Sat Jan 26 18:34:28 2019 +0000

    Update phpunit config

commit 5c033735fbe148b3f3e3950ae97a21977895eeb7
Author: Jonny Barnes <jonny@jonnybarnes.uk>
Date:   Sat Jan 26 18:32:18 2019 +0000

    Update queue config

commit fe92a6f2896a52ab1486288878055cd81abe28e7
Author: Jonny Barnes <jonny@jonnybarnes.uk>
Date:   Sat Jan 26 18:27:22 2019 +0000

    Update database config

commit 19036d7cb1ffc583a571451a7ea00fb421beef8f
Author: Jonny Barnes <jonny@jonnybarnes.uk>
Date:   Sat Jan 26 18:22:41 2019 +0000

    Add asset_url config option

commit ce4b1e3195a6c43fdc4f6fabb2a41b68344220fc
Author: Jonny Barnes <jonny@jonnybarnes.uk>
Date:   Sat Jan 26 18:20:40 2019 +0000

    Allow custom compiled views path

commit b503bca8c6a27fef44d34b826c75a2ee68e0a178
Author: Jonny Barnes <jonny@jonnybarnes.uk>
Date:   Sat Jan 26 18:20:18 2019 +0000

    Add mail logging setting

commit 2988ba197bbd1b0ac78a17ad796f31cc0bb803df
Author: Jonny Barnes <jonny@jonnybarnes.uk>
Date:   Sat Jan 26 18:17:41 2019 +0000

    normalize composer.json

commit a1ff37d716c68f1dedec9644e9fe6f3a7a5ad04f
Author: Jonny Barnes <jonny@jonnybarnes.uk>
Date:   Sat Jan 26 18:11:58 2019 +0000

    Allow env for defining app base

commit e662de24e3a2b7f170c6fb0860c6c16f192aa642
Author: Jonny Barnes <jonny@jonnybarnes.uk>
Date:   Sat Jan 26 18:10:17 2019 +0000

    Get kernel/middleware upto date

commit 2f8c9de52bec8a54fa6745a42c9a8974de0a1467
Author: Jonny Barnes <jonny@jonnybarnes.uk>
Date:   Sat Jan 26 18:04:44 2019 +0000

    Update validation lang file

commit 8f6bf24eec602b21d28b0b6bae6e274c175ff643
Author: Jonny Barnes <jonny@jonnybarnes.uk>
Date:   Sat Jan 26 18:02:28 2019 +0000

    Update .gitignore

commit e219cc454f3e77b822fe761c672bf24824c06d0c
Author: Jonny Barnes <jonny@jonnybarnes.uk>
Date:   Sat Jan 26 17:59:32 2019 +0000

    Update logging.php config file

commit 5a13e1b89f9311918f3f9756d9607424f42e72c5
Author: Jonny Barnes <jonny@jonnybarnes.uk>
Date:   Sat Jan 26 17:56:36 2019 +0000

    Remove extra whitespace

commit 68edee0a9dca0d11d18964329d7f0ec49d32c6e8
Author: Jonny Barnes <jonny@jonnybarnes.uk>
Date:   Sat Jan 26 17:53:30 2019 +0000

    Recompile assets from new resources folder structure

commit 7ec8441a802cb1385fb40cdd22b2398180287512
Author: Jonny Barnes <jonny@jonnybarnes.uk>
Date:   Sat Jan 26 17:44:56 2019 +0000

    Change reference to assets files in various scripts

commit c2f6dfccf2843b25038475d2a5f492decc9e8124
Author: Jonny Barnes <jonny@jonnybarnes.uk>
Date:   Sat Jan 26 17:42:25 2019 +0000

    Flatten assets directory
2019-01-27 13:51:21 +00:00

83 lines
2.2 KiB
JavaScript
Vendored

//places.js
import addMap from './mapbox-utils';
import getIcon from './edit-place-icon';
let div = document.querySelector('.map');
let map = addMap(div);
let isDragging;
let isCursorOverPoint;
let canvas = map.getCanvasContainer();
let selectElem = document.querySelector('select[name="icon"]');
selectElem.addEventListener('click', function () {
let newIcon = getIcon();
let source = map.getSource('points');
if (source._data.features[0].properties.icon != newIcon) {
source._data.features[0].properties.icon = newIcon;
map.getSource('points').setData(source._data);
}
});
function updateFormCoords(coords) {
let latInput = document.querySelector('#latitude');
let lonInput = document.querySelector('#longitude');
latInput.value = coords.lat.toPrecision(6);
lonInput.value = coords.lng.toPrecision(6);
}
function mouseDown() {
if (!isCursorOverPoint) return;
isDragging = true;
// Set a cursor indicator
canvas.style.cursor = 'grab';
// Mouse events
map.on('mousemove', onMove);
map.once('mouseup', onUp);
}
function onMove(e) {
if (!isDragging) return;
let coords = e.lngLat;
let source = map.getSource('points');
// Set a UI indicator for dragging.
canvas.style.cursor = 'grabbing';
// Update the Point feature in `geojson` coordinates
// and call setData to the source layer `point` on it.
source._data.features[0].geometry.coordinates = [coords.lng, coords.lat];
map.getSource('points').setData(source._data);
}
function onUp(e) {
if (!isDragging) return;
let coords = e.lngLat;
// Print the coordinates of where the point had
// finished being dragged to on the map.
updateFormCoords(coords);
canvas.style.cursor = '';
isDragging = false;
// Unbind mouse events
map.off('mousemove', onMove);
}
// When the cursor enters a feature in the point layer, prepare for dragging.
map.on('mouseenter', 'points', function() {
canvas.style.cursor = 'move';
isCursorOverPoint = true;
map.dragPan.disable();
});
map.on('mouseleave', 'points', function() {
canvas.style.cursor = '';
isCursorOverPoint = false;
map.dragPan.enable();
});
map.on('mousedown', mouseDown);