Mercurial > hg > mpiwg_geobrowser
comparison lib/GeoTemCo/js/Build/Loader/Loader.js @ 0:b57c7821382f
initial
author | Dirk Wintergruen <dwinter@mpiwg-berlin.mpg.de> |
---|---|
date | Thu, 28 May 2015 10:28:12 +0200 |
parents | |
children |
comparison
equal
deleted
inserted
replaced
-1:000000000000 | 0:b57c7821382f |
---|---|
1 /* | |
2 * Loader.js | |
3 * | |
4 * Copyright (c) 2012, Stefan Jänicke. All rights reserved. | |
5 * | |
6 * This library is free software; you can redistribute it and/or | |
7 * modify it under the terms of the GNU Lesser General Public | |
8 * License as published by the Free Software Foundation; either | |
9 * version 3 of the License, or (at your option) any later version. | |
10 * | |
11 * This library is distributed in the hope that it will be useful, | |
12 * but WITHOUT ANY WARRANTY; without even the implied warranty of | |
13 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU | |
14 * Lesser General Public License for more details. | |
15 * | |
16 * You should have received a copy of the GNU Lesser General Public | |
17 * License along with this library; if not, write to the Free Software | |
18 * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, | |
19 * MA 02110-1301 USA | |
20 */ | |
21 | |
22 /** | |
23 * Script Loader for GeoTemCo (used for debugging purposes) | |
24 * @author Stefan Jänicke (stjaenicke@informatik.uni-leipzig.de) | |
25 * @release 1.0 | |
26 * @release date: 2012-07-27 | |
27 * @version date: 2012-07-27 | |
28 */ | |
29 | |
30 var arrayIndex = function(array, obj) { | |
31 return $.inArray(obj, array); | |
32 } | |
33 GeoTemCoLoader = { | |
34 | |
35 resolveUrlPrefix : function(file) { | |
36 var sources = document.getElementsByTagName("script"); | |
37 for (var i = 0; i < sources.length; i++) { | |
38 var index = sources[i].src.indexOf(file); | |
39 if (index != -1) { | |
40 return sources[i].src.substring(0, index); | |
41 } | |
42 } | |
43 }, | |
44 | |
45 load : function() { | |
46 GeoTemCoLoader.startTime = new Date(); | |
47 GeoTemCoLoader.urlPrefix = GeoTemCoLoader.resolveUrlPrefix('js/Build/Loader/Loader.js'); | |
48 (new DynaJsLoader()).loadScripts([{ | |
49 url : GeoTemCoLoader.urlPrefix + 'js/Build/Loader/TimeplotLoader.js' | |
50 }], GeoTemCoLoader.loadJquery); | |
51 }, | |
52 | |
53 loadJquery : function() { | |
54 if (typeof jQuery == 'undefined') { | |
55 (new DynaJsLoader()).loadScripts([{ | |
56 url : GeoTemCoLoader.urlPrefix + 'lib/jquery/jquery.min.js' | |
57 },{ | |
58 url : GeoTemCoLoader.urlPrefix + 'lib/jquery/purl.min.js' | |
59 },{ | |
60 url : GeoTemCoLoader.urlPrefix + 'lib/jquery/jquery.remember.js' | |
61 },{ | |
62 url : GeoTemCoLoader.urlPrefix + 'lib/jquery/jquery-deparam.min.js' | |
63 },],GeoTemCoLoader.loadFlot); | |
64 } | |
65 else { | |
66 GeoTemCoLoader.loadFlot(); | |
67 } | |
68 }, | |
69 | |
70 loadFlot : function() { | |
71 if (typeof $.plot == 'undefined') { | |
72 (new DynaJsLoader()).loadScripts([{ | |
73 url : GeoTemCoLoader.urlPrefix + 'lib/flot/jquery.flot.js' | |
74 },{ | |
75 url : GeoTemCoLoader.urlPrefix + 'lib/flot/jquery.flot.resize.js' | |
76 },{ | |
77 url : GeoTemCoLoader.urlPrefix + 'lib/flot/jquery.flot.pie.js' | |
78 },{ | |
79 url : GeoTemCoLoader.urlPrefix + 'lib/flot/jquery.flot.selection.js' | |
80 },{ | |
81 url : GeoTemCoLoader.urlPrefix + 'lib/flot/jquery.flot.time.js' | |
82 },{ | |
83 url : GeoTemCoLoader.urlPrefix + 'lib/flot/jquery.flot.tooltip.js' | |
84 }],GeoTemCoLoader.loadMomentJS); | |
85 } | |
86 else { | |
87 GeoTemCoLoader.loadMomentJS(); | |
88 } | |
89 }, | |
90 | |
91 loadMomentJS : function() { | |
92 if (typeof moment == 'undefined') { | |
93 (new DynaJsLoader()).loadScripts([{ | |
94 url : GeoTemCoLoader.urlPrefix + 'lib/momentjs/moment.js' | |
95 }],GeoTemCoLoader.loadJSZip); | |
96 } | |
97 else { | |
98 GeoTemCoLoader.loadJSZip(); | |
99 } | |
100 }, | |
101 | |
102 loadJSZip : function() { | |
103 if (typeof JSZip == 'undefined') { | |
104 var jsZipFiles = [{ | |
105 url : GeoTemCoLoader.urlPrefix + 'lib/jszip/jszip.js' | |
106 }, { | |
107 url : GeoTemCoLoader.urlPrefix + 'lib/jszip/jszip-deflate.js', | |
108 }, { | |
109 url : GeoTemCoLoader.urlPrefix + 'lib/jszip/jszip-inflate.js' | |
110 }, { | |
111 url : GeoTemCoLoader.urlPrefix + 'lib/jszip/jszip-load.js', | |
112 }]; | |
113 | |
114 (new DynaJsLoader()).loadScripts(jsZipFiles, GeoTemCoLoader.loaduCSV); | |
115 } | |
116 else { | |
117 GeoTemCoLoader.loaduCSV(); | |
118 } | |
119 }, | |
120 | |
121 loaduCSV : function() { | |
122 if (typeof CSV == 'undefined') { | |
123 var jsZipFiles = [{ | |
124 url : GeoTemCoLoader.urlPrefix + 'lib/ucsv/ucsv-1.1.0-min.js', | |
125 }]; | |
126 | |
127 (new DynaJsLoader()).loadScripts(jsZipFiles, GeoTemCoLoader.loadJqueryUI); | |
128 } | |
129 else { | |
130 GeoTemCoLoader.loadJqueryUI(); | |
131 } | |
132 }, | |
133 | |
134 loadJqueryUI : function() { | |
135 if (typeof jQuery.ui == 'undefined') { | |
136 var jsZipFiles = [{ | |
137 url : GeoTemCoLoader.urlPrefix + 'lib/jquery-ui/jquery-ui-1.10.3.custom.js' | |
138 }]; | |
139 | |
140 $('head').append( $('<link rel="stylesheet" type="text/css" />').attr('href', GeoTemCoLoader.urlPrefix + 'lib/jquery-ui/jquery-ui-1.10.3.custom.css') ); | |
141 | |
142 (new DynaJsLoader()).loadScripts(jsZipFiles, GeoTemCoLoader.loadTimeplot); | |
143 } | |
144 else { | |
145 GeoTemCoLoader.loadTimeplot(); | |
146 } | |
147 }, | |
148 | |
149 loadTimeplot : function() { | |
150 var jsFiles = [{ | |
151 url : GeoTemCoLoader.urlPrefix + 'lib/SimileRemnants.js' | |
152 }]; | |
153 | |
154 (new DynaJsLoader()).loadScripts(jsFiles, GeoTemCoLoader.loadScripts); | |
155 }, | |
156 | |
157 loadScripts : function() { | |
158 | |
159 SimileAjax.includeCssFile(document, GeoTemCoLoader.urlPrefix + 'css/style.css'); | |
160 SimileAjax.includeCssFile(document, GeoTemCoLoader.urlPrefix + 'lib/openlayers/theme/default/style.css'); | |
161 | |
162 (new DynaJsLoader()).loadScripts([{ | |
163 url : GeoTemCoLoader.urlPrefix + 'lib/slider/js/range.js' | |
164 }]); | |
165 (new DynaJsLoader()).loadScripts([{ | |
166 url : GeoTemCoLoader.urlPrefix + 'lib/slider/js/slider.js' | |
167 }]); | |
168 (new DynaJsLoader()).loadScripts([{ | |
169 url : GeoTemCoLoader.urlPrefix + 'lib/slider/js/timer.js' | |
170 }]); | |
171 // SIMILE was removed (see above in "loadTimeplot") | |
172 /* | |
173 (new DynaJsLoader()).loadScripts([{ | |
174 url : GeoTemCoLoader.urlPrefix + 'js/Time/' + 'SimileTimeplotModify.js' | |
175 }]); | |
176 */ | |
177 (new DynaJsLoader()).loadScripts([{ | |
178 url : GeoTemCoLoader.urlPrefix + 'lib/' + 'openlayers/' + 'OpenLayers.js' | |
179 }]); | |
180 | |
181 var geoTemCoFiles = [{ | |
182 url : GeoTemCoLoader.urlPrefix + 'js/Util/' + 'Tooltips.js' | |
183 }, { | |
184 url : GeoTemCoLoader.urlPrefix + 'js/' + 'GeoTemConfig.js', | |
185 test : "GeoTemConfig.loadKml" | |
186 }, { | |
187 url : GeoTemCoLoader.urlPrefix + 'js/Map/' + 'MapControl.js', | |
188 }, { | |
189 url : GeoTemCoLoader.urlPrefix + 'js/Map/' + 'CircleObject.js', | |
190 }, { | |
191 url : GeoTemCoLoader.urlPrefix + 'js/Util/' + 'FilterBar.js', | |
192 }, { | |
193 url : GeoTemCoLoader.urlPrefix + 'js/Util/' + 'Selection.js', | |
194 }, { | |
195 url : GeoTemCoLoader.urlPrefix + 'js/Map/' + 'PlacenameTags.js', | |
196 }, { | |
197 url : GeoTemCoLoader.urlPrefix + 'js/Map/' + 'MapConfig.js', | |
198 }, { | |
199 url : GeoTemCoLoader.urlPrefix + 'js/Map/' + 'MapGui.js', | |
200 }, { | |
201 url : GeoTemCoLoader.urlPrefix + 'js/Map/' + 'MapWidget.js', | |
202 }, { | |
203 url : GeoTemCoLoader.urlPrefix + 'js/Time/' + 'TimeConfig.js', | |
204 }, { | |
205 url : GeoTemCoLoader.urlPrefix + 'js/Time/' + 'TimeGui.js', | |
206 }, { | |
207 url : GeoTemCoLoader.urlPrefix + 'js/Time/' + 'TimeWidget.js', | |
208 }, { | |
209 url : GeoTemCoLoader.urlPrefix + 'js/Table/' + 'TableConfig.js', | |
210 }, { | |
211 url : GeoTemCoLoader.urlPrefix + 'js/Table/' + 'TableGui.js', | |
212 }, { | |
213 url : GeoTemCoLoader.urlPrefix + 'js/Table/' + 'TableWidget.js', | |
214 }, { | |
215 url : GeoTemCoLoader.urlPrefix + 'js/Table/' + 'Table.js', | |
216 }, { | |
217 url : GeoTemCoLoader.urlPrefix + 'js/Util/' + 'DataObject.js', | |
218 }, { | |
219 url : GeoTemCoLoader.urlPrefix + 'js/Util/' + 'Dataset.js', | |
220 }, { | |
221 url : GeoTemCoLoader.urlPrefix + 'js/Time/' + 'TimeDataSource.js', | |
222 }, { | |
223 url : GeoTemCoLoader.urlPrefix + 'js/Map/' + 'Binning.js', | |
224 }, { | |
225 url : GeoTemCoLoader.urlPrefix + 'js/Map/' + 'MapDataSource.js', | |
226 }, { | |
227 url : GeoTemCoLoader.urlPrefix + 'js/Map/' + 'Clustering.js', | |
228 }, { | |
229 url : GeoTemCoLoader.urlPrefix + 'js/Util/' + 'Dropdown.js', | |
230 }, { | |
231 url : GeoTemCoLoader.urlPrefix + 'js/Map/' + 'MapZoomSlider.js', | |
232 }, { | |
233 url : GeoTemCoLoader.urlPrefix + 'js/Map/' + 'MapPopup.js', | |
234 }, { | |
235 url : GeoTemCoLoader.urlPrefix + 'js/Map/' + 'PlacenamePopup.js', | |
236 }, { | |
237 url : GeoTemCoLoader.urlPrefix + 'js/Util/Publisher.js', | |
238 }, { | |
239 url : GeoTemCoLoader.urlPrefix + 'js/Util/WidgetWrapper.js', | |
240 }, { | |
241 url : GeoTemCoLoader.urlPrefix + 'js/Dataloader/' + 'DataloaderConfig.js', | |
242 }, { | |
243 url : GeoTemCoLoader.urlPrefix + 'js/Dataloader/' + 'DataloaderGui.js', | |
244 }, { | |
245 url : GeoTemCoLoader.urlPrefix + 'js/Dataloader/' + 'DataloaderWidget.js', | |
246 }, { | |
247 url : GeoTemCoLoader.urlPrefix + 'js/Dataloader/' + 'Dataloader.js', | |
248 }, { | |
249 url : GeoTemCoLoader.urlPrefix + 'js/Overlayloader/' + 'OverlayloaderConfig.js', | |
250 }, { | |
251 url : GeoTemCoLoader.urlPrefix + 'js/Overlayloader/' + 'OverlayloaderGui.js', | |
252 }, { | |
253 url : GeoTemCoLoader.urlPrefix + 'js/Overlayloader/' + 'OverlayloaderWidget.js', | |
254 }, { | |
255 url : GeoTemCoLoader.urlPrefix + 'js/Overlayloader/' + 'Overlayloader.js', | |
256 }, { | |
257 url : GeoTemCoLoader.urlPrefix + 'js/PieChart/' + 'PieChartConfig.js', | |
258 }, { | |
259 url : GeoTemCoLoader.urlPrefix + 'js/PieChart/' + 'PieChartGui.js', | |
260 }, { | |
261 url : GeoTemCoLoader.urlPrefix + 'js/PieChart/' + 'PieChartWidget.js', | |
262 }, { | |
263 url : GeoTemCoLoader.urlPrefix + 'js/PieChart/' + 'PieChart.js', | |
264 }, { | |
265 url : GeoTemCoLoader.urlPrefix + 'js/PieChart/' + 'PieChartCategoryChooser.js', | |
266 }, { | |
267 url : GeoTemCoLoader.urlPrefix + 'js/PieChart/' + 'PieChartHashFunctions.js', | |
268 }, { | |
269 url : GeoTemCoLoader.urlPrefix + 'js/Placetable/' + 'PlacetableConfig.js', | |
270 }, { | |
271 url : GeoTemCoLoader.urlPrefix + 'js/Placetable/' + 'PlacetableGui.js', | |
272 }, { | |
273 url : GeoTemCoLoader.urlPrefix + 'js/Placetable/' + 'PlacetableWidget.js', | |
274 }, { | |
275 url : GeoTemCoLoader.urlPrefix + 'js/Placetable/' + 'Placetable.js', | |
276 }, { | |
277 url : GeoTemCoLoader.urlPrefix + 'js/LineOverlay/' + 'LineOverlayConfig.js', | |
278 }, { | |
279 url : GeoTemCoLoader.urlPrefix + 'js/LineOverlay/' + 'LineOverlayWidget.js', | |
280 }, { | |
281 url : GeoTemCoLoader.urlPrefix + 'js/LineOverlay/' + 'LineOverlay.js', | |
282 }, { | |
283 url : GeoTemCoLoader.urlPrefix + 'js/FuzzyTimeline/' + 'FuzzyTimelineConfig.js', | |
284 }, { | |
285 url : GeoTemCoLoader.urlPrefix + 'js/FuzzyTimeline/' + 'FuzzyTimelineGui.js', | |
286 }, { | |
287 url : GeoTemCoLoader.urlPrefix + 'js/FuzzyTimeline/' + 'FuzzyTimelineWidget.js', | |
288 }, { | |
289 url : GeoTemCoLoader.urlPrefix + 'js/FuzzyTimeline/' + 'FuzzyTimelineDensity.js', | |
290 }, { | |
291 url : GeoTemCoLoader.urlPrefix + 'js/FuzzyTimeline/' + 'FuzzyTimelineRangeSlider.js', | |
292 }, { | |
293 url : GeoTemCoLoader.urlPrefix + 'js/FuzzyTimeline/' + 'FuzzyTimelineRangePiechart.js', | |
294 }, { | |
295 url : GeoTemCoLoader.urlPrefix + 'js/FuzzyTimeline/' + 'FuzzyTimelineRangeBars.js', | |
296 }, { | |
297 url : GeoTemCoLoader.urlPrefix + 'js/Storytelling/' + 'StorytellingConfig.js', | |
298 }, { | |
299 url : GeoTemCoLoader.urlPrefix + 'js/Storytelling/' + 'StorytellingGui.js', | |
300 }, { | |
301 url : GeoTemCoLoader.urlPrefix + 'js/Storytelling/' + 'StorytellingWidget.js', | |
302 }, { | |
303 url : GeoTemCoLoader.urlPrefix + 'js/Storytelling/' + 'Storytelling.js', | |
304 }]; | |
305 (new DynaJsLoader()).loadScripts(geoTemCoFiles, GeoTemCoLoader.initGeoTemCo); | |
306 | |
307 }, | |
308 | |
309 initGeoTemCo : function() { | |
310 | |
311 GeoTemConfig.configure(GeoTemCoLoader.urlPrefix); | |
312 Publisher.Publish('GeoTemCoReady', '', null); | |
313 | |
314 //TODO: find more appropriate position for this | |
315 $(window).resize(function() { | |
316 Publisher.Publish("resizeWidget"); | |
317 }); | |
318 } | |
319 } | |
320 | |
321 GeoTemCoLoader.load(); |