Files
iD/modules/ui/status.js
john gravois 5f341366e7 display additional metadata from Esri World Imagery
* getVintage() becomes getMetadata()
* ignore a couple unrelated lint nags
* add source description, resolution and accuracy info to debug panel
2017-09-11 09:51:07 -07:00

53 lines
1.8 KiB
JavaScript

import * as d3 from 'd3';
import { t } from '../util/locale';
import { svgIcon } from '../svg/index';
export function uiStatus(context) {
var osm = context.connection();
return function(selection) {
if (!osm) return;
function update() {
osm.status(function(err, apiStatus) {
selection.html('');
if (err) {
if (apiStatus === 'rateLimited') {
selection
.text(t('status.rateLimit'))
.append('a')
.attr('class', 'api-status-login')
.attr('target', '_blank')
.call(svgIcon('#icon-out-link', 'inline'))
.append('span')
.text(t('login'))
.on('click.login', function() {
d3.event.preventDefault();
osm.authenticate();
});
} else {
// eslint-disable-next-line no-warning-comments
// TODO: nice messages for different error types
selection.text(t('status.error'));
}
} else if (apiStatus === 'readonly') {
selection.text(t('status.readonly'));
} else if (apiStatus === 'offline') {
selection.text(t('status.offline'));
}
selection.attr('class', 'api-status ' + (err ? 'error' : apiStatus));
});
}
osm.on('change', function() { update(selection); });
window.setInterval(update, 90000);
update(selection);
};
}