Files
iD/modules/ui/status.js
2016-10-04 19:06:20 -04:00

34 lines
983 B
JavaScript

import { t } from '../util/locale';
export function uiStatus(context) {
var connection = context.connection(),
errCount = 0;
return function(selection) {
function update() {
connection.status(function(err, apiStatus) {
selection.html('');
if (err && errCount++ < 2) return;
if (err) {
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));
if (!err) errCount = 0;
});
}
connection
.on('auth', function() { update(selection); });
window.setInterval(update, 90000);
update(selection);
};
}