annotate geotemco/js/Dataloader/DataloaderWidget.js @ 26:9f67e8afa1cc default tip

add new file for new LGService UI project
author Calvin Yeh <cyeh@mpiwg-berlin.mpg.de>
date Thu, 28 Sep 2017 23:58:34 +0200
parents 8f05c2a84bba
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
0
57bde4830927 first commit
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
1 /*
57bde4830927 first commit
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
2 * DataloaderWidget.js
57bde4830927 first commit
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
3 *
57bde4830927 first commit
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
4 * Copyright (c) 2013, Sebastian Kruse. All rights reserved.
57bde4830927 first commit
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
5 *
57bde4830927 first commit
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
6 * This library is free software; you can redistribute it and/or
57bde4830927 first commit
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
7 * modify it under the terms of the GNU Lesser General Public
57bde4830927 first commit
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
8 * License as published by the Free Software Foundation; either
57bde4830927 first commit
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
9 * version 3 of the License, or (at your option) any later version.
57bde4830927 first commit
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
10 *
57bde4830927 first commit
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
11 * This library is distributed in the hope that it will be useful,
57bde4830927 first commit
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
12 * but WITHOUT ANY WARRANTY; without even the implied warranty of
57bde4830927 first commit
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
13 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
57bde4830927 first commit
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
14 * Lesser General Public License for more details.
57bde4830927 first commit
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
15 *
57bde4830927 first commit
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
16 * You should have received a copy of the GNU Lesser General Public
57bde4830927 first commit
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
17 * License along with this library; if not, write to the Free Software
57bde4830927 first commit
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
18 * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
57bde4830927 first commit
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
19 * MA 02110-1301 USA
57bde4830927 first commit
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
20 */
57bde4830927 first commit
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
21
57bde4830927 first commit
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
22 /**
57bde4830927 first commit
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
23 * @class DataloaderWidget
57bde4830927 first commit
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
24 * DataloaderWidget Implementation
57bde4830927 first commit
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
25 * @author Sebastian Kruse (skruse@mpiwg-berlin.mpg.de)
57bde4830927 first commit
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
26 *
57bde4830927 first commit
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
27 * @param {WidgetWrapper} core wrapper for interaction to other widgets
57bde4830927 first commit
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
28 * @param {HTML object} div parent div to append the Dataloader widget div
57bde4830927 first commit
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
29 * @param {JSON} options user specified configuration that overwrites options in DataloaderConfig.js
57bde4830927 first commit
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
30 */
57bde4830927 first commit
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
31 DataloaderWidget = function(core, div, options) {
57bde4830927 first commit
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
32
57bde4830927 first commit
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
33 this.core = core;
57bde4830927 first commit
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
34 this.core.setWidget(this);
57bde4830927 first commit
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
35
57bde4830927 first commit
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
36 this.options = (new DataloaderConfig(options)).options;
57bde4830927 first commit
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
37 this.gui = new DataloaderGui(this, div, this.options);
57bde4830927 first commit
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
38
57bde4830927 first commit
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
39 this.dataLoader = new Dataloader(this);
8
8f05c2a84bba Apply new platin and Add tree layers
nylin@mpiwg-berlin.mpg.de
parents: 0
diff changeset
40
8f05c2a84bba Apply new platin and Add tree layers
nylin@mpiwg-berlin.mpg.de
parents: 0
diff changeset
41 this.datasets = [];
0
57bde4830927 first commit
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
42 }
57bde4830927 first commit
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
43
57bde4830927 first commit
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
44 DataloaderWidget.prototype = {
57bde4830927 first commit
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
45
57bde4830927 first commit
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
46 initWidget : function() {
57bde4830927 first commit
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
47
57bde4830927 first commit
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
48 var dataloaderWidget = this;
57bde4830927 first commit
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
49 },
57bde4830927 first commit
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
50
57bde4830927 first commit
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
51 highlightChanged : function(objects) {
57bde4830927 first commit
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
52 if( !GeoTemConfig.highlightEvents ){
57bde4830927 first commit
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
53 return;
57bde4830927 first commit
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
54 }
57bde4830927 first commit
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
55 },
57bde4830927 first commit
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
56
57bde4830927 first commit
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
57 selectionChanged : function(selection) {
57bde4830927 first commit
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
58 if( !GeoTemConfig.selectionEvents ){
57bde4830927 first commit
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
59 return;
57bde4830927 first commit
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
60 }
57bde4830927 first commit
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
61 },
57bde4830927 first commit
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
62
57bde4830927 first commit
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
63 triggerHighlight : function(item) {
57bde4830927 first commit
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
64 },
57bde4830927 first commit
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
65
57bde4830927 first commit
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
66 tableSelection : function() {
57bde4830927 first commit
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
67 },
57bde4830927 first commit
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
68
57bde4830927 first commit
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
69 deselection : function() {
57bde4830927 first commit
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
70 },
57bde4830927 first commit
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
71
57bde4830927 first commit
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
72 filtering : function() {
57bde4830927 first commit
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
73 },
57bde4830927 first commit
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
74
57bde4830927 first commit
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
75 inverseFiltering : function() {
57bde4830927 first commit
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
76 },
57bde4830927 first commit
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
77
57bde4830927 first commit
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
78 triggerRefining : function() {
57bde4830927 first commit
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
79 },
57bde4830927 first commit
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
80
57bde4830927 first commit
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
81 reset : function() {
57bde4830927 first commit
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
82 },
57bde4830927 first commit
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
83
8
8f05c2a84bba Apply new platin and Add tree layers
nylin@mpiwg-berlin.mpg.de
parents: 0
diff changeset
84 loadRenames : function(){
0
57bde4830927 first commit
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
85 //load (optional!) attribute renames
57bde4830927 first commit
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
86 //each rename param is {latitude:..,longitude:..,place:..,date:..,timeSpanBegin:..,timeSpanEnd:..}
57bde4830927 first commit
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
87 //examples:
57bde4830927 first commit
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
88 // &rename1={"latitude":"lat1","longitude":"lon1"}
57bde4830927 first commit
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
89 // &rename2=[{"latitude":"lat1","longitude":"lon1"},{"latitude":"lat2","longitude":"lon2"}]
8
8f05c2a84bba Apply new platin and Add tree layers
nylin@mpiwg-berlin.mpg.de
parents: 0
diff changeset
90 var dataLoaderWidget = this;
8f05c2a84bba Apply new platin and Add tree layers
nylin@mpiwg-berlin.mpg.de
parents: 0
diff changeset
91 var datasets = dataLoaderWidget.datasets;
0
57bde4830927 first commit
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
92 $.each($.url().param(),function(paramName, paramValue){
57bde4830927 first commit
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
93 if (paramName.toLowerCase().startsWith("rename")){
8
8f05c2a84bba Apply new platin and Add tree layers
nylin@mpiwg-berlin.mpg.de
parents: 0
diff changeset
94 var datasetID = parseInt(paramName.replace(/\D/g,''));
0
57bde4830927 first commit
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
95 var dataset;
57bde4830927 first commit
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
96 if (isNaN(datasetID)){
57bde4830927 first commit
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
97 var dataset;
57bde4830927 first commit
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
98 for (datasetID in datasets){
57bde4830927 first commit
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
99 break;
57bde4830927 first commit
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
100 }
57bde4830927 first commit
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
101 }
57bde4830927 first commit
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
102 dataset = datasets[datasetID];
57bde4830927 first commit
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
103
57bde4830927 first commit
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
104 if (typeof dataset === "undefined")
57bde4830927 first commit
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
105 return;
57bde4830927 first commit
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
106
57bde4830927 first commit
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
107 var renameFunc = function(index,latAttr,lonAttr,placeAttr,dateAttr,timespanBeginAttr,
57bde4830927 first commit
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
108 timespanEndAttr,indexAttr){
57bde4830927 first commit
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
109 var renameArray = [];
57bde4830927 first commit
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
110
57bde4830927 first commit
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
111 if (typeof index === "undefined"){
57bde4830927 first commit
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
112 index = 0;
57bde4830927 first commit
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
113 }
57bde4830927 first commit
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
114
57bde4830927 first commit
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
115 if ((typeof latAttr !== "undefined") && (typeof lonAttr !== "undefined")){
57bde4830927 first commit
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
116 renameArray.push({
57bde4830927 first commit
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
117 oldColumn:latAttr,
57bde4830927 first commit
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
118 newColumn:"locations["+index+"].latitude"
57bde4830927 first commit
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
119 });
57bde4830927 first commit
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
120 renameArray.push({
57bde4830927 first commit
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
121 oldColumn:lonAttr,
57bde4830927 first commit
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
122 newColumn:"locations["+index+"].longitude"
57bde4830927 first commit
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
123 });
57bde4830927 first commit
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
124 }
57bde4830927 first commit
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
125
57bde4830927 first commit
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
126 if (typeof placeAttr !== "undefined"){
57bde4830927 first commit
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
127 renameArray.push({
57bde4830927 first commit
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
128 oldColumn:placeAttr,
57bde4830927 first commit
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
129 newColumn:"locations["+index+"].place"
57bde4830927 first commit
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
130 });
57bde4830927 first commit
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
131 }
57bde4830927 first commit
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
132
57bde4830927 first commit
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
133 if (typeof dateAttr !== "undefined"){
57bde4830927 first commit
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
134 renameArray.push({
57bde4830927 first commit
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
135 oldColumn:dateAttr,
57bde4830927 first commit
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
136 newColumn:"dates["+index+"]"
57bde4830927 first commit
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
137 });
57bde4830927 first commit
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
138 }
57bde4830927 first commit
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
139
57bde4830927 first commit
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
140 if ((typeof timespanBeginAttr !== "undefined") &&
57bde4830927 first commit
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
141 (typeof timespanEndAttr !== "undefined")){
57bde4830927 first commit
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
142 renameArray.push({
57bde4830927 first commit
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
143 oldColumn:timespanBeginAttr,
57bde4830927 first commit
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
144 newColumn:"tableContent[TimeSpan:begin]"
57bde4830927 first commit
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
145 });
57bde4830927 first commit
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
146 renameArray.push({
57bde4830927 first commit
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
147 oldColumn:timespanEndAttr,
57bde4830927 first commit
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
148 newColumn:"tableContent[TimeSpan:end]"
57bde4830927 first commit
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
149 });
57bde4830927 first commit
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
150 }
57bde4830927 first commit
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
151
57bde4830927 first commit
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
152 if (typeof indexAttr !== "undefined"){
57bde4830927 first commit
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
153 renameArray.push({
57bde4830927 first commit
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
154 oldColumn:indexAttr,
57bde4830927 first commit
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
155 newColumn:"index"
57bde4830927 first commit
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
156 });
57bde4830927 first commit
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
157 }
57bde4830927 first commit
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
158
57bde4830927 first commit
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
159 GeoTemConfig.renameColumns(dataset,renameArray);
57bde4830927 first commit
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
160 };
57bde4830927 first commit
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
161
57bde4830927 first commit
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
162 var renames = JSON.parse(paramValue);
57bde4830927 first commit
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
163
57bde4830927 first commit
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
164 if (renames instanceof Array){
57bde4830927 first commit
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
165 for (var i=0; i < renames.length; i++){
57bde4830927 first commit
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
166 renameFunc(i,renames[i].latitude,renames[i].longitude,renames[i].place,renames[i].date,
57bde4830927 first commit
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
167 renames[i].timeSpanBegin,renames[i].timeSpanEnd,renames[i].index);
57bde4830927 first commit
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
168 }
57bde4830927 first commit
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
169 } else {
57bde4830927 first commit
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
170 renameFunc(0,renames.latitude,renames.longitude,renames.place,renames.date,
57bde4830927 first commit
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
171 renames.timeSpanBegin,renames.timeSpanEnd,renames.index);
57bde4830927 first commit
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
172 }
57bde4830927 first commit
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
173 }
57bde4830927 first commit
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
174 });
8
8f05c2a84bba Apply new platin and Add tree layers
nylin@mpiwg-berlin.mpg.de
parents: 0
diff changeset
175 },
8f05c2a84bba Apply new platin and Add tree layers
nylin@mpiwg-berlin.mpg.de
parents: 0
diff changeset
176
8f05c2a84bba Apply new platin and Add tree layers
nylin@mpiwg-berlin.mpg.de
parents: 0
diff changeset
177 loadFilters : function(){
0
57bde4830927 first commit
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
178 //load (optional!) filters
57bde4830927 first commit
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
179 //those will create a new(!) dataset, that only contains the filtered IDs
8
8f05c2a84bba Apply new platin and Add tree layers
nylin@mpiwg-berlin.mpg.de
parents: 0
diff changeset
180 var dataLoaderWidget = this;
8f05c2a84bba Apply new platin and Add tree layers
nylin@mpiwg-berlin.mpg.de
parents: 0
diff changeset
181 var datasets = dataLoaderWidget.datasets;
0
57bde4830927 first commit
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
182 $.each($.url().param(),function(paramName, paramValue){
57bde4830927 first commit
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
183 //startsWith and endsWith defined in SIMILE Ajax (string.js)
57bde4830927 first commit
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
184 if (paramName.toLowerCase().startsWith("filter")){
8
8f05c2a84bba Apply new platin and Add tree layers
nylin@mpiwg-berlin.mpg.de
parents: 0
diff changeset
185 var datasetID = parseInt(paramName.replace(/\D/g,''));
0
57bde4830927 first commit
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
186 var dataset;
57bde4830927 first commit
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
187 if (isNaN(datasetID)){
57bde4830927 first commit
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
188 var dataset;
57bde4830927 first commit
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
189 for (datasetID in datasets){
57bde4830927 first commit
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
190 break;
57bde4830927 first commit
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
191 }
57bde4830927 first commit
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
192 }
57bde4830927 first commit
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
193 dataset = datasets[datasetID];
57bde4830927 first commit
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
194
57bde4830927 first commit
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
195 if (typeof dataset === "undefined")
57bde4830927 first commit
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
196 return;
57bde4830927 first commit
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
197
57bde4830927 first commit
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
198 var filterValues = function(paramValue){
57bde4830927 first commit
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
199 var filter = JSON.parse(paramValue);
57bde4830927 first commit
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
200 var filteredObjects = [];
57bde4830927 first commit
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
201 for(var i = 0; i < dataset.objects.length; i++){
57bde4830927 first commit
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
202 var dataObject = dataset.objects[i];
57bde4830927 first commit
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
203 if ($.inArray(dataObject.index,filter) != -1){
57bde4830927 first commit
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
204 filteredObjects.push(dataObject);
57bde4830927 first commit
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
205 }
57bde4830927 first commit
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
206 }
57bde4830927 first commit
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
207 var filteredDataset = new Dataset(filteredObjects, dataset.label + " (filtered)", dataset.url, dataset.type);
57bde4830927 first commit
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
208 datasets.push(filteredDataset);
57bde4830927 first commit
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
209 }
57bde4830927 first commit
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
210
57bde4830927 first commit
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
211 if (paramValue instanceof Array){
57bde4830927 first commit
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
212 for (var i=0; i < paramValue.length; i++){
57bde4830927 first commit
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
213 filterValues(paramValue[i]);
57bde4830927 first commit
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
214 }
57bde4830927 first commit
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
215 } else {
57bde4830927 first commit
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
216 filterValues(paramValue);
57bde4830927 first commit
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
217 }
57bde4830927 first commit
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
218
57bde4830927 first commit
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
219 }
8
8f05c2a84bba Apply new platin and Add tree layers
nylin@mpiwg-berlin.mpg.de
parents: 0
diff changeset
220 });
8f05c2a84bba Apply new platin and Add tree layers
nylin@mpiwg-berlin.mpg.de
parents: 0
diff changeset
221 },
8f05c2a84bba Apply new platin and Add tree layers
nylin@mpiwg-berlin.mpg.de
parents: 0
diff changeset
222
8f05c2a84bba Apply new platin and Add tree layers
nylin@mpiwg-berlin.mpg.de
parents: 0
diff changeset
223 loadColors : function(){
0
57bde4830927 first commit
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
224 //Load the (optional!) dataset colors
8
8f05c2a84bba Apply new platin and Add tree layers
nylin@mpiwg-berlin.mpg.de
parents: 0
diff changeset
225 var dataLoaderWidget = this;
8f05c2a84bba Apply new platin and Add tree layers
nylin@mpiwg-berlin.mpg.de
parents: 0
diff changeset
226 var datasets = dataLoaderWidget.datasets;
0
57bde4830927 first commit
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
227 $.each($.url().param(),function(paramName, paramValue){
57bde4830927 first commit
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
228 if (paramName.toLowerCase().startsWith("color")){
57bde4830927 first commit
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
229 //color is 1-based, index is 0-based!
8
8f05c2a84bba Apply new platin and Add tree layers
nylin@mpiwg-berlin.mpg.de
parents: 0
diff changeset
230 var datasetID = parseInt(paramName.replace(/\D/g,''));
0
57bde4830927 first commit
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
231 if (datasets.length > datasetID){
57bde4830927 first commit
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
232 if (typeof datasets[datasetID].color === "undefined"){
57bde4830927 first commit
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
233 var color = new Object();
57bde4830927 first commit
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
234 var colorsSelectedUnselected = paramValue.split(",");
57bde4830927 first commit
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
235 if (colorsSelectedUnselected.length > 2)
57bde4830927 first commit
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
236 return;
57bde4830927 first commit
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
237
57bde4830927 first commit
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
238 var color1 = colorsSelectedUnselected[0];
57bde4830927 first commit
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
239 if (color1.length != 6)
57bde4830927 first commit
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
240 return;
57bde4830927 first commit
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
241
57bde4830927 first commit
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
242 color.r1 = parseInt(color1.substr(0,2),16);
57bde4830927 first commit
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
243 color.g1 = parseInt(color1.substr(2,2),16);
57bde4830927 first commit
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
244 color.b1 = parseInt(color1.substr(4,2),16);
57bde4830927 first commit
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
245
57bde4830927 first commit
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
246 //check if a unselected color is given
57bde4830927 first commit
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
247 if (colorsSelectedUnselected.length == 2){
57bde4830927 first commit
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
248 var color0 = colorsSelectedUnselected[1];
57bde4830927 first commit
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
249 if (color0.length != 6)
57bde4830927 first commit
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
250 return;
57bde4830927 first commit
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
251
57bde4830927 first commit
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
252 color.r0 = parseInt(color0.substr(0,2),16);
57bde4830927 first commit
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
253 color.g0 = parseInt(color0.substr(2,2),16);
57bde4830927 first commit
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
254 color.b0 = parseInt(color0.substr(4,2),16);
57bde4830927 first commit
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
255 } else {
57bde4830927 first commit
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
256 //if not: use the selected color "halved"
57bde4830927 first commit
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
257 color.r0 = Math.round(color.r1/2);
57bde4830927 first commit
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
258 color.g0 = Math.round(color.g1/2);
57bde4830927 first commit
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
259 color.b0 = Math.round(color.b1/2);
57bde4830927 first commit
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
260 }
57bde4830927 first commit
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
261
57bde4830927 first commit
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
262 datasets[datasetID].color = color;
57bde4830927 first commit
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
263 }
57bde4830927 first commit
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
264 }
57bde4830927 first commit
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
265 }
8
8f05c2a84bba Apply new platin and Add tree layers
nylin@mpiwg-berlin.mpg.de
parents: 0
diff changeset
266 });
8f05c2a84bba Apply new platin and Add tree layers
nylin@mpiwg-berlin.mpg.de
parents: 0
diff changeset
267 },
8f05c2a84bba Apply new platin and Add tree layers
nylin@mpiwg-berlin.mpg.de
parents: 0
diff changeset
268
8f05c2a84bba Apply new platin and Add tree layers
nylin@mpiwg-berlin.mpg.de
parents: 0
diff changeset
269 loadFromURL : function() {
8f05c2a84bba Apply new platin and Add tree layers
nylin@mpiwg-berlin.mpg.de
parents: 0
diff changeset
270 var dataLoaderWidget = this;
8f05c2a84bba Apply new platin and Add tree layers
nylin@mpiwg-berlin.mpg.de
parents: 0
diff changeset
271 dataLoaderWidget.datasets = [];
8f05c2a84bba Apply new platin and Add tree layers
nylin@mpiwg-berlin.mpg.de
parents: 0
diff changeset
272 //using jQuery-URL-Parser (https://github.com/skruse/jQuery-URL-Parser)
8f05c2a84bba Apply new platin and Add tree layers
nylin@mpiwg-berlin.mpg.de
parents: 0
diff changeset
273 var datasets = dataLoaderWidget.datasets;
8f05c2a84bba Apply new platin and Add tree layers
nylin@mpiwg-berlin.mpg.de
parents: 0
diff changeset
274 var parametersHash = $.url().param();
8f05c2a84bba Apply new platin and Add tree layers
nylin@mpiwg-berlin.mpg.de
parents: 0
diff changeset
275 var parametersArray = [];
8f05c2a84bba Apply new platin and Add tree layers
nylin@mpiwg-berlin.mpg.de
parents: 0
diff changeset
276 $.each(parametersHash,function(paramName, paramValue){
8f05c2a84bba Apply new platin and Add tree layers
nylin@mpiwg-berlin.mpg.de
parents: 0
diff changeset
277 parametersArray.push({paramName:paramName, paramValue:paramValue});
0
57bde4830927 first commit
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
278 });
8
8f05c2a84bba Apply new platin and Add tree layers
nylin@mpiwg-berlin.mpg.de
parents: 0
diff changeset
279
8f05c2a84bba Apply new platin and Add tree layers
nylin@mpiwg-berlin.mpg.de
parents: 0
diff changeset
280 var parseParam = function(paramNr){
8f05c2a84bba Apply new platin and Add tree layers
nylin@mpiwg-berlin.mpg.de
parents: 0
diff changeset
281
8f05c2a84bba Apply new platin and Add tree layers
nylin@mpiwg-berlin.mpg.de
parents: 0
diff changeset
282 if (paramNr==parametersArray.length){
8f05c2a84bba Apply new platin and Add tree layers
nylin@mpiwg-berlin.mpg.de
parents: 0
diff changeset
283 dataLoaderWidget.loadRenames();
8f05c2a84bba Apply new platin and Add tree layers
nylin@mpiwg-berlin.mpg.de
parents: 0
diff changeset
284 dataLoaderWidget.loadFilters();
8f05c2a84bba Apply new platin and Add tree layers
nylin@mpiwg-berlin.mpg.de
parents: 0
diff changeset
285 dataLoaderWidget.loadColors();
8f05c2a84bba Apply new platin and Add tree layers
nylin@mpiwg-berlin.mpg.de
parents: 0
diff changeset
286
8f05c2a84bba Apply new platin and Add tree layers
nylin@mpiwg-berlin.mpg.de
parents: 0
diff changeset
287 //delete undefined entries in the array
8f05c2a84bba Apply new platin and Add tree layers
nylin@mpiwg-berlin.mpg.de
parents: 0
diff changeset
288 //(can happen if the sequence given in the URL is not complete
8f05c2a84bba Apply new platin and Add tree layers
nylin@mpiwg-berlin.mpg.de
parents: 0
diff changeset
289 // e.g. kml0=..,kml2=..)
8f05c2a84bba Apply new platin and Add tree layers
nylin@mpiwg-berlin.mpg.de
parents: 0
diff changeset
290 //this also reorders the array, starting with 0
8f05c2a84bba Apply new platin and Add tree layers
nylin@mpiwg-berlin.mpg.de
parents: 0
diff changeset
291 var tempDatasets = [];
8f05c2a84bba Apply new platin and Add tree layers
nylin@mpiwg-berlin.mpg.de
parents: 0
diff changeset
292 for(var index in datasets){
8f05c2a84bba Apply new platin and Add tree layers
nylin@mpiwg-berlin.mpg.de
parents: 0
diff changeset
293 if (datasets[index] instanceof Dataset){
8f05c2a84bba Apply new platin and Add tree layers
nylin@mpiwg-berlin.mpg.de
parents: 0
diff changeset
294 tempDatasets.push(datasets[index]);
8f05c2a84bba Apply new platin and Add tree layers
nylin@mpiwg-berlin.mpg.de
parents: 0
diff changeset
295 }
8f05c2a84bba Apply new platin and Add tree layers
nylin@mpiwg-berlin.mpg.de
parents: 0
diff changeset
296 }
8f05c2a84bba Apply new platin and Add tree layers
nylin@mpiwg-berlin.mpg.de
parents: 0
diff changeset
297 datasets = tempDatasets;
8f05c2a84bba Apply new platin and Add tree layers
nylin@mpiwg-berlin.mpg.de
parents: 0
diff changeset
298
8f05c2a84bba Apply new platin and Add tree layers
nylin@mpiwg-berlin.mpg.de
parents: 0
diff changeset
299 if (datasets.length > 0){
8f05c2a84bba Apply new platin and Add tree layers
nylin@mpiwg-berlin.mpg.de
parents: 0
diff changeset
300 dataLoaderWidget.dataLoader.distributeDatasets(datasets);
8f05c2a84bba Apply new platin and Add tree layers
nylin@mpiwg-berlin.mpg.de
parents: 0
diff changeset
301 }
8f05c2a84bba Apply new platin and Add tree layers
nylin@mpiwg-berlin.mpg.de
parents: 0
diff changeset
302 return;
8f05c2a84bba Apply new platin and Add tree layers
nylin@mpiwg-berlin.mpg.de
parents: 0
diff changeset
303 }
8f05c2a84bba Apply new platin and Add tree layers
nylin@mpiwg-berlin.mpg.de
parents: 0
diff changeset
304
8f05c2a84bba Apply new platin and Add tree layers
nylin@mpiwg-berlin.mpg.de
parents: 0
diff changeset
305 var paramName = parametersArray[paramNr].paramName;
8f05c2a84bba Apply new platin and Add tree layers
nylin@mpiwg-berlin.mpg.de
parents: 0
diff changeset
306 var paramValue = parametersArray[paramNr].paramValue;
8f05c2a84bba Apply new platin and Add tree layers
nylin@mpiwg-berlin.mpg.de
parents: 0
diff changeset
307
8f05c2a84bba Apply new platin and Add tree layers
nylin@mpiwg-berlin.mpg.de
parents: 0
diff changeset
308 var datasetID = parseInt(paramName.replace(/\D/g,''));
8f05c2a84bba Apply new platin and Add tree layers
nylin@mpiwg-berlin.mpg.de
parents: 0
diff changeset
309
8f05c2a84bba Apply new platin and Add tree layers
nylin@mpiwg-berlin.mpg.de
parents: 0
diff changeset
310 //startsWith and endsWith defined in SIMILE Ajax (string.js)
8f05c2a84bba Apply new platin and Add tree layers
nylin@mpiwg-berlin.mpg.de
parents: 0
diff changeset
311 var fileName = dataLoaderWidget.dataLoader.getFileName(paramValue);
8f05c2a84bba Apply new platin and Add tree layers
nylin@mpiwg-berlin.mpg.de
parents: 0
diff changeset
312 var origURL = paramValue;
8f05c2a84bba Apply new platin and Add tree layers
nylin@mpiwg-berlin.mpg.de
parents: 0
diff changeset
313 if (typeof GeoTemConfig.proxy != 'undefined')
8f05c2a84bba Apply new platin and Add tree layers
nylin@mpiwg-berlin.mpg.de
parents: 0
diff changeset
314 paramValue = GeoTemConfig.proxy + paramValue;
8f05c2a84bba Apply new platin and Add tree layers
nylin@mpiwg-berlin.mpg.de
parents: 0
diff changeset
315 if (paramName.toLowerCase().startsWith("kml")){
8f05c2a84bba Apply new platin and Add tree layers
nylin@mpiwg-berlin.mpg.de
parents: 0
diff changeset
316 GeoTemConfig.getKml(paramValue, function(kmlDoc){
8f05c2a84bba Apply new platin and Add tree layers
nylin@mpiwg-berlin.mpg.de
parents: 0
diff changeset
317 var dataSet = new Dataset(GeoTemConfig.loadKml(kmlDoc), fileName, origURL);
8f05c2a84bba Apply new platin and Add tree layers
nylin@mpiwg-berlin.mpg.de
parents: 0
diff changeset
318 if (dataSet != null){
8f05c2a84bba Apply new platin and Add tree layers
nylin@mpiwg-berlin.mpg.de
parents: 0
diff changeset
319 if (!isNaN(datasetID)){
8f05c2a84bba Apply new platin and Add tree layers
nylin@mpiwg-berlin.mpg.de
parents: 0
diff changeset
320 datasets[datasetID] = dataSet;
8f05c2a84bba Apply new platin and Add tree layers
nylin@mpiwg-berlin.mpg.de
parents: 0
diff changeset
321 } else {
8f05c2a84bba Apply new platin and Add tree layers
nylin@mpiwg-berlin.mpg.de
parents: 0
diff changeset
322 datasets.push(dataSet);
8f05c2a84bba Apply new platin and Add tree layers
nylin@mpiwg-berlin.mpg.de
parents: 0
diff changeset
323 }
8f05c2a84bba Apply new platin and Add tree layers
nylin@mpiwg-berlin.mpg.de
parents: 0
diff changeset
324 }
8f05c2a84bba Apply new platin and Add tree layers
nylin@mpiwg-berlin.mpg.de
parents: 0
diff changeset
325 setTimeout(function(){parseParam(paramNr+1)},1);
8f05c2a84bba Apply new platin and Add tree layers
nylin@mpiwg-berlin.mpg.de
parents: 0
diff changeset
326 });
8f05c2a84bba Apply new platin and Add tree layers
nylin@mpiwg-berlin.mpg.de
parents: 0
diff changeset
327 }
8f05c2a84bba Apply new platin and Add tree layers
nylin@mpiwg-berlin.mpg.de
parents: 0
diff changeset
328 else if (paramName.toLowerCase().startsWith("csv")){
8f05c2a84bba Apply new platin and Add tree layers
nylin@mpiwg-berlin.mpg.de
parents: 0
diff changeset
329 GeoTemConfig.getCsv(paramValue,function(json){
8f05c2a84bba Apply new platin and Add tree layers
nylin@mpiwg-berlin.mpg.de
parents: 0
diff changeset
330 var dataSet = new Dataset(GeoTemConfig.loadJson(json), fileName, origURL);
8f05c2a84bba Apply new platin and Add tree layers
nylin@mpiwg-berlin.mpg.de
parents: 0
diff changeset
331 if (dataSet != null){
8f05c2a84bba Apply new platin and Add tree layers
nylin@mpiwg-berlin.mpg.de
parents: 0
diff changeset
332 if (!isNaN(datasetID)){
8f05c2a84bba Apply new platin and Add tree layers
nylin@mpiwg-berlin.mpg.de
parents: 0
diff changeset
333 datasets[datasetID] = dataSet;
8f05c2a84bba Apply new platin and Add tree layers
nylin@mpiwg-berlin.mpg.de
parents: 0
diff changeset
334 } else {
8f05c2a84bba Apply new platin and Add tree layers
nylin@mpiwg-berlin.mpg.de
parents: 0
diff changeset
335 datasets.push(dataSet);
8f05c2a84bba Apply new platin and Add tree layers
nylin@mpiwg-berlin.mpg.de
parents: 0
diff changeset
336 }
8f05c2a84bba Apply new platin and Add tree layers
nylin@mpiwg-berlin.mpg.de
parents: 0
diff changeset
337 }
8f05c2a84bba Apply new platin and Add tree layers
nylin@mpiwg-berlin.mpg.de
parents: 0
diff changeset
338 setTimeout(function(){parseParam(paramNr+1)},1);
8f05c2a84bba Apply new platin and Add tree layers
nylin@mpiwg-berlin.mpg.de
parents: 0
diff changeset
339 });
0
57bde4830927 first commit
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
340 }
8
8f05c2a84bba Apply new platin and Add tree layers
nylin@mpiwg-berlin.mpg.de
parents: 0
diff changeset
341 else if (paramName.toLowerCase().startsWith("json")){
8f05c2a84bba Apply new platin and Add tree layers
nylin@mpiwg-berlin.mpg.de
parents: 0
diff changeset
342 GeoTemConfig.getJson(paramValue,function(json ){
8f05c2a84bba Apply new platin and Add tree layers
nylin@mpiwg-berlin.mpg.de
parents: 0
diff changeset
343 var dataSet = new Dataset(GeoTemConfig.loadJson(json), fileName, origURL);
8f05c2a84bba Apply new platin and Add tree layers
nylin@mpiwg-berlin.mpg.de
parents: 0
diff changeset
344 if (dataSet != null){
8f05c2a84bba Apply new platin and Add tree layers
nylin@mpiwg-berlin.mpg.de
parents: 0
diff changeset
345 if (!isNaN(datasetID)){
8f05c2a84bba Apply new platin and Add tree layers
nylin@mpiwg-berlin.mpg.de
parents: 0
diff changeset
346 datasets[datasetID] = dataSet;
8f05c2a84bba Apply new platin and Add tree layers
nylin@mpiwg-berlin.mpg.de
parents: 0
diff changeset
347 } else {
8f05c2a84bba Apply new platin and Add tree layers
nylin@mpiwg-berlin.mpg.de
parents: 0
diff changeset
348 datasets.push(dataSet);
8f05c2a84bba Apply new platin and Add tree layers
nylin@mpiwg-berlin.mpg.de
parents: 0
diff changeset
349 }
8f05c2a84bba Apply new platin and Add tree layers
nylin@mpiwg-berlin.mpg.de
parents: 0
diff changeset
350 }
8f05c2a84bba Apply new platin and Add tree layers
nylin@mpiwg-berlin.mpg.de
parents: 0
diff changeset
351 setTimeout(function(){parseParam(paramNr+1)},1);
8f05c2a84bba Apply new platin and Add tree layers
nylin@mpiwg-berlin.mpg.de
parents: 0
diff changeset
352 });
8f05c2a84bba Apply new platin and Add tree layers
nylin@mpiwg-berlin.mpg.de
parents: 0
diff changeset
353 }
8f05c2a84bba Apply new platin and Add tree layers
nylin@mpiwg-berlin.mpg.de
parents: 0
diff changeset
354 else if (paramName.toLowerCase().startsWith("local")){
8f05c2a84bba Apply new platin and Add tree layers
nylin@mpiwg-berlin.mpg.de
parents: 0
diff changeset
355 var csv = $.remember({name:encodeURIComponent(origURL)});
8f05c2a84bba Apply new platin and Add tree layers
nylin@mpiwg-berlin.mpg.de
parents: 0
diff changeset
356 //TODO: this is a bad idea and will be changed upon having a better
8f05c2a84bba Apply new platin and Add tree layers
nylin@mpiwg-berlin.mpg.de
parents: 0
diff changeset
357 //usage model for local stored data
8f05c2a84bba Apply new platin and Add tree layers
nylin@mpiwg-berlin.mpg.de
parents: 0
diff changeset
358 var fileName = origURL.substring("GeoBrowser_dataset_".length);
8f05c2a84bba Apply new platin and Add tree layers
nylin@mpiwg-berlin.mpg.de
parents: 0
diff changeset
359 var json = GeoTemConfig.convertCsv(csv);
8f05c2a84bba Apply new platin and Add tree layers
nylin@mpiwg-berlin.mpg.de
parents: 0
diff changeset
360 var dataSet = new Dataset(GeoTemConfig.loadJson(json), fileName, origURL, "local");
8f05c2a84bba Apply new platin and Add tree layers
nylin@mpiwg-berlin.mpg.de
parents: 0
diff changeset
361 if (dataSet != null){
8f05c2a84bba Apply new platin and Add tree layers
nylin@mpiwg-berlin.mpg.de
parents: 0
diff changeset
362 if (!isNaN(datasetID)){
8f05c2a84bba Apply new platin and Add tree layers
nylin@mpiwg-berlin.mpg.de
parents: 0
diff changeset
363 datasets[datasetID] = dataSet;
8f05c2a84bba Apply new platin and Add tree layers
nylin@mpiwg-berlin.mpg.de
parents: 0
diff changeset
364 } else {
8f05c2a84bba Apply new platin and Add tree layers
nylin@mpiwg-berlin.mpg.de
parents: 0
diff changeset
365 datasets.push(dataSet);
8f05c2a84bba Apply new platin and Add tree layers
nylin@mpiwg-berlin.mpg.de
parents: 0
diff changeset
366 }
8f05c2a84bba Apply new platin and Add tree layers
nylin@mpiwg-berlin.mpg.de
parents: 0
diff changeset
367 }
8f05c2a84bba Apply new platin and Add tree layers
nylin@mpiwg-berlin.mpg.de
parents: 0
diff changeset
368 setTimeout(function(){parseParam(paramNr+1)},1);
8f05c2a84bba Apply new platin and Add tree layers
nylin@mpiwg-berlin.mpg.de
parents: 0
diff changeset
369 } else if (paramName.toLowerCase().startsWith("xls")){
8f05c2a84bba Apply new platin and Add tree layers
nylin@mpiwg-berlin.mpg.de
parents: 0
diff changeset
370 GeoTemConfig.getBinary(paramValue,function(binaryData){
8f05c2a84bba Apply new platin and Add tree layers
nylin@mpiwg-berlin.mpg.de
parents: 0
diff changeset
371 var data = new Uint8Array(binaryData);
8f05c2a84bba Apply new platin and Add tree layers
nylin@mpiwg-berlin.mpg.de
parents: 0
diff changeset
372 var arr = new Array();
8f05c2a84bba Apply new platin and Add tree layers
nylin@mpiwg-berlin.mpg.de
parents: 0
diff changeset
373 for(var i = 0; i != data.length; ++i){
8f05c2a84bba Apply new platin and Add tree layers
nylin@mpiwg-berlin.mpg.de
parents: 0
diff changeset
374 arr[i] = String.fromCharCode(data[i]);
8f05c2a84bba Apply new platin and Add tree layers
nylin@mpiwg-berlin.mpg.de
parents: 0
diff changeset
375 }
8f05c2a84bba Apply new platin and Add tree layers
nylin@mpiwg-berlin.mpg.de
parents: 0
diff changeset
376
8f05c2a84bba Apply new platin and Add tree layers
nylin@mpiwg-berlin.mpg.de
parents: 0
diff changeset
377 var workbook;
8f05c2a84bba Apply new platin and Add tree layers
nylin@mpiwg-berlin.mpg.de
parents: 0
diff changeset
378 var json;
8f05c2a84bba Apply new platin and Add tree layers
nylin@mpiwg-berlin.mpg.de
parents: 0
diff changeset
379 if (paramName.toLowerCase().startsWith("xlsx")){
8f05c2a84bba Apply new platin and Add tree layers
nylin@mpiwg-berlin.mpg.de
parents: 0
diff changeset
380 workbook = XLSX.read(arr.join(""), {type:"binary"});
8f05c2a84bba Apply new platin and Add tree layers
nylin@mpiwg-berlin.mpg.de
parents: 0
diff changeset
381 var csv = XLSX.utils.sheet_to_csv(workbook.Sheets[workbook.SheetNames[0]]);
8f05c2a84bba Apply new platin and Add tree layers
nylin@mpiwg-berlin.mpg.de
parents: 0
diff changeset
382 var json = GeoTemConfig.convertCsv(csv);
8f05c2a84bba Apply new platin and Add tree layers
nylin@mpiwg-berlin.mpg.de
parents: 0
diff changeset
383 } else {
8f05c2a84bba Apply new platin and Add tree layers
nylin@mpiwg-berlin.mpg.de
parents: 0
diff changeset
384 workbook = XLS.read(arr.join(""), {type:"binary"});
8f05c2a84bba Apply new platin and Add tree layers
nylin@mpiwg-berlin.mpg.de
parents: 0
diff changeset
385 var csv = XLS.utils.sheet_to_csv(workbook.Sheets[workbook.SheetNames[0]]);
8f05c2a84bba Apply new platin and Add tree layers
nylin@mpiwg-berlin.mpg.de
parents: 0
diff changeset
386 var json = GeoTemConfig.convertCsv(csv);
8f05c2a84bba Apply new platin and Add tree layers
nylin@mpiwg-berlin.mpg.de
parents: 0
diff changeset
387 }
8f05c2a84bba Apply new platin and Add tree layers
nylin@mpiwg-berlin.mpg.de
parents: 0
diff changeset
388
8f05c2a84bba Apply new platin and Add tree layers
nylin@mpiwg-berlin.mpg.de
parents: 0
diff changeset
389 var dataSet = new Dataset(GeoTemConfig.loadJson(json), fileName, origURL);
8f05c2a84bba Apply new platin and Add tree layers
nylin@mpiwg-berlin.mpg.de
parents: 0
diff changeset
390 if (dataSet != null){
8f05c2a84bba Apply new platin and Add tree layers
nylin@mpiwg-berlin.mpg.de
parents: 0
diff changeset
391 if (!isNaN(datasetID)){
8f05c2a84bba Apply new platin and Add tree layers
nylin@mpiwg-berlin.mpg.de
parents: 0
diff changeset
392 datasets[datasetID] = dataSet;
8f05c2a84bba Apply new platin and Add tree layers
nylin@mpiwg-berlin.mpg.de
parents: 0
diff changeset
393 } else {
8f05c2a84bba Apply new platin and Add tree layers
nylin@mpiwg-berlin.mpg.de
parents: 0
diff changeset
394 datasets.push(dataSet);
8f05c2a84bba Apply new platin and Add tree layers
nylin@mpiwg-berlin.mpg.de
parents: 0
diff changeset
395 }
8f05c2a84bba Apply new platin and Add tree layers
nylin@mpiwg-berlin.mpg.de
parents: 0
diff changeset
396 }
8f05c2a84bba Apply new platin and Add tree layers
nylin@mpiwg-berlin.mpg.de
parents: 0
diff changeset
397 setTimeout(function(){parseParam(paramNr+1)},1);
8f05c2a84bba Apply new platin and Add tree layers
nylin@mpiwg-berlin.mpg.de
parents: 0
diff changeset
398 });
8f05c2a84bba Apply new platin and Add tree layers
nylin@mpiwg-berlin.mpg.de
parents: 0
diff changeset
399 } else {
8f05c2a84bba Apply new platin and Add tree layers
nylin@mpiwg-berlin.mpg.de
parents: 0
diff changeset
400 setTimeout(function(){parseParam(paramNr+1)},1);
8f05c2a84bba Apply new platin and Add tree layers
nylin@mpiwg-berlin.mpg.de
parents: 0
diff changeset
401 }
8f05c2a84bba Apply new platin and Add tree layers
nylin@mpiwg-berlin.mpg.de
parents: 0
diff changeset
402 };
0
57bde4830927 first commit
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
403
8
8f05c2a84bba Apply new platin and Add tree layers
nylin@mpiwg-berlin.mpg.de
parents: 0
diff changeset
404 if (parametersArray.length>0){
8f05c2a84bba Apply new platin and Add tree layers
nylin@mpiwg-berlin.mpg.de
parents: 0
diff changeset
405 parseParam(0)
8f05c2a84bba Apply new platin and Add tree layers
nylin@mpiwg-berlin.mpg.de
parents: 0
diff changeset
406 }
0
57bde4830927 first commit
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
407 }
57bde4830927 first commit
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
408 };