Sha256: da1b0870e8d56d319a1f1f4161ef4fc8e06c2c04610ab4eb45dd20b358466755
Contents?: true
Size: 1.48 KB
Versions: 1
Compression:
Stored size: 1.48 KB
Contents
$(() => { const info = ($target, msg) => { const $label = $target.closest("label") $label.find(".form-error").remove(); if (msg) { $('<span class="form-error"/>').text(msg).appendTo($label).show(); } }; const setLocating = ($button, enable) => { if (enable) { $button.attr("disabled", true); } else { $button.attr("disabled", false); } } $(".user-device-location button").on("click", (e) => { const $this = $(e.target); if ($this.is(":disabled")) { return; } const $input = $(`#${e.target.dataset.input}`); const errorNoLocation = e.target.dataset.errorNoLocation; const errorUnsupported = e.target.dataset.errorUnsupported; const url = e.target.dataset.url; if (navigator.geolocation) { setLocating($this, true); navigator.geolocation.getCurrentPosition((position) => { const coordinates = [position.coords.latitude, position.coords.longitude]; // reverse geolocation $.post(url, { latitude: coordinates[0], longitude: coordinates[1] }, (data) => { $input.val(data.address) }) setLocating($this, false); $input.trigger( "geocoder-suggest-coordinates.decidim", [coordinates] ); }, (evt) => { info($input, `${errorNoLocation} ${evt.message}`); $this.attr("disabled", false); }, { enableHighAccuracy: true }); } else { info($input, errorUnsupported); } }); });
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
decidim-reporting_proposals-0.6.0 | app/packs/src/decidim/reporting_proposals/reverse_geocoding.js |