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
71 lines
3 KiB
JavaScript
Vendored
71 lines
3 KiB
JavaScript
Vendored
//submit-place.js
|
|
|
|
import alertify from 'alertify.js';
|
|
|
|
export default function submitNewPlace(map) {
|
|
//create the form data to send
|
|
let formData = new FormData();
|
|
formData.append('place-name', document.querySelector('#place-name').value);
|
|
formData.append('place-description', document.querySelector('#place-description').value);
|
|
formData.append('place-latitude', document.querySelector('#place-latitude').value);
|
|
formData.append('place-longitude', document.querySelector('#place-longitude').value);
|
|
//post the new place
|
|
fetch('/micropub/places', {
|
|
//send cookies with the request
|
|
credentials: 'same-origin',
|
|
method: 'post',
|
|
body: formData
|
|
}).then(function (response) {
|
|
return response.json();
|
|
}).then(function (placeJson) {
|
|
if (placeJson.error === true) {
|
|
throw new Error(placeJson.error_description);
|
|
}
|
|
//remove un-needed form elements
|
|
let form = document.querySelector('fieldset');
|
|
//iterate through labels and remove parent div elements
|
|
let labels = document.querySelectorAll('.place-label');
|
|
for (let label of labels) {
|
|
form.removeChild(label.parentNode);
|
|
}
|
|
form.removeChild(document.querySelector('#place-submit'));
|
|
let newPlaceButton = document.querySelector('#create-new-place');
|
|
//in order to remove a DOM Node, you need to run removeChild on the parent Node
|
|
newPlaceButton.parentNode.removeChild(newPlaceButton);
|
|
//remove current location from map
|
|
let source = map.getSource('points');
|
|
let newFeatures = source._data.features.filter(function (item) {
|
|
return item.properties.title != 'Current Location';
|
|
});
|
|
//add new place to map
|
|
newFeatures.push({
|
|
'type': 'Feature',
|
|
'geometry': {
|
|
'type': 'Point',
|
|
'coordinates': [placeJson.longitude, placeJson.latitude]
|
|
},
|
|
'properties': {
|
|
'title': placeJson.name,
|
|
'icon': 'circle',
|
|
'uri': placeJson.uri
|
|
}
|
|
});
|
|
let newSource = {
|
|
'type': 'FeatureCollection',
|
|
'features': newFeatures
|
|
};
|
|
map.getSource('points').setData(newSource);
|
|
//add new place to select menu
|
|
let selectElement = document.querySelector('select');
|
|
let newlyCreatedPlaceOption = document.createElement('option');
|
|
newlyCreatedPlaceOption.setAttribute('value', placeJson.uri);
|
|
newlyCreatedPlaceOption.appendChild(document.createTextNode(placeJson.name));
|
|
newlyCreatedPlaceOption.dataset.latitude = placeJson.latitude;
|
|
newlyCreatedPlaceOption.dataset.longitude = placeJson.longitude;
|
|
selectElement.appendChild(newlyCreatedPlaceOption);
|
|
document.querySelector('select [value="' + placeJson.uri + '"]').selected = true;
|
|
}).catch(function (placeError) {
|
|
alertify.reset();
|
|
alertify.error(placeError);
|
|
});
|
|
}
|