in modules/ui/assistant.js [283:335]
function panelToDraw() {
var mode = context.mode();
if (mode.id === 'save') {
if (context.connection() && context.connection().authenticated()) {
return panelSave(context);
} else {
return panelAuthenticating(context);
}
} else if (mode.id === 'add-point' || mode.id === 'add-line' ||
mode.id === 'add-area' || mode.id === 'draw-line' ||
mode.id === 'draw-area') {
return panelAddDrawGeometry(context, mode);
} else if (mode.id === 'select') {
return panelSelect(context, mode.selectedIDs());
} else if (mode.id === 'drag-node' && mode.restoreSelectedIDs().length) {
return panelSelect(context, mode.restoreSelectedIDs());
} else if (mode.id === 'select-note') {
var note = context.connection() && context.connection().getNote(mode.selectedNoteID());
if (note) {
return panelSelectNote(context, note);
}
} else if (mode.id === 'select-error') {
if (mode.selectedErrorService() === 'keepRight') {
return panelSelectKeepRightError(context, mode.selectedErrorID());
} else if (mode.selectedErrorService() === 'improveOSM') {
return panelSelectImproveOSMError(context, mode.selectedErrorID());
}
} else if (mode.id === 'select-data') {
return panelSelectCustomData(context, mode.selectedDatum());
} else if (!didEditAnythingYet) {
if (savedChangeset) {
return panelSuccess(context);
}
if (context.history().hasRestorableChanges()) {
return panelRestore(context);
}
return panelWelcome(context);
}
scheduleCurrentLocationUpdate();
return panelMapping(context);
}