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() { _getChangeHandler: function() {
return L.bind(function(evt) { return L.bind(function(evt) {
this.fire('update', {options: this.getOptions()}); this.fire('update', {options: this.getOptions()});

View file

@ -114,7 +114,8 @@
elevation = new BR.Elevation(); elevation = new BR.Elevation();
profile = new BR.Profile(); profile = new BR.Profile();
profile.on('update', function(evt) { 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); routingOptions.setCustomProfile(profile);
}); });
}); });

View file

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