profile upload (requires server update)

This commit is contained in:
Norbert Renner 2014-05-22 11:20:22 +02:00
parent 136a182539
commit 973d8bab75
8 changed files with 129 additions and 27 deletions

View file

@ -1,11 +1,23 @@
BR.Profile = BR.Control.extend({
options: {
heading: ''
options: {
heading: 'Profile',
divId: 'profile_div'
},
onAdd: function (map) {
var container = BR.Control.prototype.onAdd.call(this, map);
container.innerHTML = " ";
return container;
L.DomUtil.get('profile_upload').onsubmit = L.bind(this._submit, this)
return BR.Control.prototype.onAdd.call(this, map);
},
_submit: function(evt) {
var form = evt.target || evt.srcElement,
profile = document.profile_upload.profile.value;
evt.preventDefault();
this.fire('update', { profileText: profile });
}
});
BR.Profile.include(L.Mixin.Events);

View file

@ -19,14 +19,39 @@ BR.RoutingOptions = BR.Control.extend({
},
setOptions: function(options) {
if (options.profile) {
L.DomUtil.get('profile').value = options.profile;
var select,
profile = options.profile;
if (profile) {
select = L.DomUtil.get('profile');
select.value = profile;
// profile got not selected = not in option values -> custom profile passed with permalink
if (select.value != profile) {
this.setCustomProfile(profile, true);
}
}
if (options.alternative) {
L.DomUtil.get('alternative').value = options.alternative;
}
},
setCustomProfile: function(profile, noUpdate) {
var select,
option;
select = L.DomUtil.get('profile');
option = select.options[0]
option.value = profile;
select.value = profile;
option.disabled = false;
if (!noUpdate) {
this.fire('update', {options: this.getOptions()});
}
},
_getChangeHandler: function() {
return L.bind(function(evt) {
this.fire('update', {options: this.getOptions()});