/* This file is part of Syj, Copyright (c) 2010-2011 Arnaud Renevier,
and is published under the AGPL license. */
+"use strict";
+
// avoid openlayers alerts
OpenLayers.Console.userError = function(error) {
SYJView.messenger.setMessage(error, "error");
this.messenger.setMessage(SyjStrings.uploadFileError, "warn");
}.bind(this);
reader.onload = function(evt) {
- var data = null, results = null, engine = null, vector = null, i = 0, formats = ['KML', 'GPX', 'GeoJSON'];
+ var data = null, results = null, engine = null, vector = null, i = 0, format = null, formats = ['KML', 'GPX', 'GeoJSON'];
$("geom_upload_container").removeClassName("disabled");
$("geom_upload").disabled = false;
data = evt.target.result;
for (i = 0; i < formats.length; i++) {
- engine = new OpenLayers.Format[formats[i]]({ internalProjection: Mercator, externalProjection: WGS84 });
+ format = formats[i];
+ engine = new OpenLayers.Format[format]({ internalProjection: Mercator, externalProjection: WGS84 });
try {
results = engine.read(data);
} catch(e) {
readerror();
return;
}
+ // merge linestrings for gpx containting multiple trkseg elements.
+ if (format === 'GPX') {
+ for (i = 1; i < results.length; i++) {
+ vector.geometry.addComponents(results[i].geometry.components);
+ }
+ }
this.viewLayer.addFeatures([vector]);
this.map.zoomToExtent(this.viewLayer.getDataExtent());
$super();
$("termsofusearea").hide();
- $$("#user_termsofuse_anchor, #geom_termsofuse_anchor").invoke('observe', "click", function(evt) {
+ var touevt = (function(evt) {
+ if (evt.type === "keyup" && evt.keyCode !== 32) { // 32 = space
+ // allow opening box by pressing space
+ return;
+ }
if (!this.toubox) {
this.toubox = new SimpleBox($("termsofusearea"), {
closeMethods: ["onescapekey", "onouterclick", "onbutton"]
$("termsofuseiframe").setAttribute("src", evt.target.href);
}
evt.stop();
- }.bindAsEventListener(this));
+ }).bindAsEventListener(this);
+
+ ["click", "keyup"].each(function (evtName) {
+ $$("#user_termsofuse_anchor, #geom_termsofuse_anchor").invoke('observe', evtName, touevt);
+ })
$$("#login_area_create > a").invoke('observe', 'click',
function(evt) {