NDOJ/templates/timezone/media-js.html
2023-05-20 08:54:17 +09:00

45 lines
No EOL
1.7 KiB
HTML
Executable file

{% compress js %}
<script src="{{ static('libs/featherlight/featherlight.min.js') }}" type="text/javascript"></script>
<script type="text/javascript" src="{{ static('libs/timezone-map/timezone-picker.js') }}"></script>
<script type="text/javascript">
$(function () {
$('#open-map').featherlight({
afterOpen: function () {
timezone_picker($('.featherlight-inner .map-inset'), $('#id_timezone'),
'{{ static('libs/timezone-map/timezone-picker.json') }}');
}
});
});
if ('geolocation' in navigator) {
$(function () {
$('<span>, <a href="#" id="detect-tz">detect</a></span>').insertAfter('#open-map');
$('#detect-tz').click(function (event) {
var button = $(this).html('detecting...');
navigator.geolocation.getCurrentPosition(function (position) {
$.ajax({
url: 'https://maps.googleapis.com/maps/api/timezone/json',
data: {
location: position.coords.latitude + ',' + position.coords.longitude,
timestamp: Math.floor(Date.now() / 1000)
}
}).done(function (data) {
if (data['timeZoneId'])
$('#id_timezone').val(data.timeZoneId).change();
else
alert('Invalid response from Google: ' + data);
}).fail(function (jqXHR, status) {
alert(status);
}).always(function () {
button.html('detect');
});
}, function () {
button.html('detect');
alert('Unable to detect');
});
event.preventDefault();
});
});
}
</script>
{% endcompress %}