reuse existing custom profile file in editing session by passing id in URL

This commit is contained in:
Norbert Renner 2014-05-22 18:01:12 +02:00
parent 973d8bab75
commit 3c0765547c
3 changed files with 23 additions and 4 deletions

View file

@ -52,6 +52,17 @@ BR.RoutingOptions = BR.Control.extend({
}
},
getCustomProfile: function() {
var select = L.DomUtil.get('profile'),
option = select.options[0],
profile = null;
if (!option.disabled) {
profile = option.value;
}
return profile;
},
_getChangeHandler: function() {
return L.bind(function(evt) {
this.fire('update', {options: this.getOptions()});

View file

@ -114,7 +114,8 @@
elevation = new BR.Elevation();
profile = new BR.Profile();
profile.on('update', function(evt) {
router.uploadProfile(evt.profileText, function(profile) {
var profileId = routingOptions.getCustomProfile();
router.uploadProfile(profileId, evt.profileText, function(profile) {
routingOptions.setCustomProfile(profile);
});
});

View file

@ -92,9 +92,16 @@ L.BRouter = L.Class.extend({
return this.getRoute([l1, l2], cb);
},
uploadProfile: function(profileText, cb) {
var xhr = new XMLHttpRequest();
xhr.open('POST', L.BRouter.URL_PROFILE_UPLOAD, true);
uploadProfile: function(profileId, profileText, cb) {
var url = L.BRouter.URL_PROFILE_UPLOAD;
xhr = new XMLHttpRequest();
// reuse existing profile file
if (profileId) {
url += '/' + profileId;
}
xhr.open('POST', url, true);
xhr.onload = L.bind(this._handleProfileResponse, this, xhr, cb);
// send profile text only, as text/plain;charset=UTF-8