Skip to content

Commit

Permalink
Merge branch 'DataLoadingUI'
Browse files Browse the repository at this point in the history
  • Loading branch information
Sebastian Kruse committed Mar 13, 2014
2 parents 5cffbf4 + fda5454 commit 3cd368c
Showing 1 changed file with 76 additions and 6 deletions.
82 changes: 76 additions & 6 deletions js/Dataloader/DataloaderWidget.js
Original file line number Diff line number Diff line change
Expand Up @@ -92,14 +92,38 @@ DataloaderWidget.prototype = {
if (paramName.toLowerCase().startsWith("kml")){
var kmlDoc = GeoTemConfig.getKml(paramValue);
var dataSet = new Dataset(GeoTemConfig.loadKml(kmlDoc), fileName, origURL);
if (dataSet != null)
datasets.push(dataSet);
if (dataSet != null){
var datasetID = parseInt(paramName.substr(3));
if (!isNaN(datasetID)){
datasets[datasetID] = dataSet;
} else {
datasets.push(dataSet);
}
}
}
else if (paramName.toLowerCase().startsWith("csv")){
var json = GeoTemConfig.getCsv(paramValue);
var dataSet = new Dataset(GeoTemConfig.loadJson(json), fileName, origURL);
if (dataSet != null)
datasets.push(dataSet);
if (dataSet != null){
var datasetID = parseInt(paramName.substr(3));
if (!isNaN(datasetID)){
datasets[datasetID] = dataSet;
} else {
datasets.push(dataSet);
}
}
}
else if (paramName.toLowerCase().startsWith("json")){
var json = GeoTemConfig.getJson(paramValue);
var dataSet = new Dataset(GeoTemConfig.loadJson(json), fileName, origURL);
if (dataSet != null){
var datasetID = parseInt(paramName.substr(4));
if (!isNaN(datasetID)){
datasets[datasetID] = dataSet;
} else {
datasets.push(dataSet);
}
}
}
else if (paramName.toLowerCase().startsWith("local")){
var csv = $.remember({name:encodeURIComponent(origURL)});
Expand All @@ -108,8 +132,42 @@ DataloaderWidget.prototype = {
var fileName = origURL.substring("GeoBrowser_dataset_".length);
var json = GeoTemConfig.convertCsv(csv);
var dataSet = new Dataset(GeoTemConfig.loadJson(json), fileName, origURL, "local");
if (dataSet != null)
datasets.push(dataSet);
if (dataSet != null){
var datasetID = parseInt(paramName.substr(5));
if (!isNaN(datasetID)){
datasets[datasetID] = dataSet;
} else {
datasets.push(dataSet);
}
}
}
});
$.each($.url().param(),function(paramName, paramValue){
//startsWith and endsWith defined in SIMILE Ajax (string.js)
if (paramName.toLowerCase().startsWith("filter")){
var datasetID = parseInt(paramName.substr(6));
var dataset;
if (isNaN(datasetID)){
var dataset;
for (datasetID in datasets){
break;
}
}
dataset = datasets[datasetID];

if (typeof dataset === "undefined")
return;

var filter = JSON.parse(paramValue);
var filteredObjects = [];
for(var i = 0; i < dataset.objects.length; i++){
var dataObject = dataset.objects[i];
if ($.inArray(dataObject.index,filter) != -1){
filteredObjects.push(dataObject);
}
}
var filteredDataset = new Dataset(filteredObjects, dataset.label + " (filtered)", dataset.url, dataset.type);
datasets.push(filteredDataset);
}
});
//Load the (optional!) dataset colors
Expand Down Expand Up @@ -153,6 +211,18 @@ DataloaderWidget.prototype = {
}
}
});
//delete undefined entries in the array
//(can happen if the sequence given in the URL is not complete
// e.g. kml0=..,kml2=..)
//this also reorders the array, starting with 0
var tempDatasets = [];
for(var index in datasets){
if (datasets[index] instanceof Dataset){
tempDatasets.push(datasets[index]);
}
}
datasets = tempDatasets;

if (datasets.length > 0)
dataLoaderWidget.dataLoader.distributeDatasets(datasets);
}
Expand Down

0 comments on commit 3cd368c

Please sign in to comment.