c3nav.js ajax error handling

This commit is contained in:
Laura Klünder 2017-12-11 01:36:10 +01:00
parent 300895180c
commit 4f652a3cc7

View file

@ -181,7 +181,13 @@ c3nav = {
var $location_details = $('#location-details'); var $location_details = $('#location-details');
if ($location_details.attr('data-id') !== String(location.id)) { if ($location_details.attr('data-id') !== String(location.id)) {
$location_details.addClass('loading').attr('data-id', location.id); $location_details.addClass('loading').attr('data-id', location.id);
$.getJSON('/api/locations/'+location.id+'/display', c3nav._location_details_loaded); $.getJSON('/api/locations/'+location.id+'/display', c3nav._location_details_loaded).fail(function (data) {
var $location_details = $('#location-details');
$location_details.find('.details-body').text('Error '+String(data.status));
$location_details.find('.details-body').html('').append(elem);
$location_details.find('.editor').hide();
$location_details.removeClass('loading');
});
} }
}, },
_location_details_loaded: function(data) { _location_details_loaded: function(data) {
@ -234,7 +240,13 @@ c3nav = {
'origin': origin.id, 'origin': origin.id,
'destination': destination.id, 'destination': destination.id,
'csrfmiddlewaretoken': c3nav.get_csrf_token() 'csrfmiddlewaretoken': c3nav.get_csrf_token()
}, function(data) { c3nav._route_loaded(data, nofly) }, 'json'); }, function(data) {
c3nav._route_loaded(data, nofly)
}, 'json').fail(function(data) {
c3nav._route_loaded({
'error': 'Error '+String(data.status)
})
});
} }
}, },
_route_loaded: function(data, nofly) { _route_loaded: function(data, nofly) {
@ -861,6 +873,8 @@ c3nav = {
popup.setLatLng(e.latlng).setContent(c3nav._build_location_html(data, true)+$('#popup-buttons').html()); popup.setLatLng(e.latlng).setContent(c3nav._build_location_html(data, true)+$('#popup-buttons').html());
c3nav._click_anywhere_popup = popup; c3nav._click_anywhere_popup = popup;
popup.on('remove', function() { c3nav._click_anywhere_popup = null }).openOn(c3nav.map); popup.on('remove', function() { c3nav._click_anywhere_popup = null }).openOn(c3nav.map);
}).fail(function() {
popup.remove();
}); });
}, },
_map_moved: function () { _map_moved: function () {
@ -975,14 +989,16 @@ c3nav = {
} }
}, },
schedule_refresh_tile_access: function () { schedule_refresh_tile_access: function (timeout) {
window.setTimeout(c3nav.refresh_tile_access, 16000); window.setTimeout(c3nav.refresh_tile_access, timeout || 16000);
}, },
refresh_tile_access: function () { refresh_tile_access: function () {
$.get('/api/users/current/', c3nav._set_user_data); $.get('/api/users/current/', c3nav._set_user_data).fail(function() {
c3nav.schedule_refresh_tile_access(); c3nav.schedule_refresh_tile_access(1000);
});
}, },
_set_user_data: function (data) { _set_user_data: function (data) {
c3nav.schedule_refresh_tile_access();
var $user = $('header #user'); var $user = $('header #user');
$user.find('span').text(data.title); $user.find('span').text(data.title);
$user.find('small').text(data.subtitle || ''); $user.find('small').text(data.subtitle || '');