Mercurial > hg > LGMap
comparison geotemco/js/Build/Loader/Loader.js @ 0:57bde4830927
first commit
| author | Zoe Hong <zhong@mpiwg-berlin.mpg.de> |
|---|---|
| date | Tue, 24 Mar 2015 11:37:17 +0100 |
| parents | |
| children | 8f05c2a84bba |
comparison
equal
deleted
inserted
replaced
| -1:000000000000 | 0:57bde4830927 |
|---|---|
| 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/FuzzyTimeline/' + 'FuzzyTimelineConfig.js', | |
| 278 }, { | |
| 279 url : GeoTemCoLoader.urlPrefix + 'js/FuzzyTimeline/' + 'FuzzyTimelineGui.js', | |
| 280 }, { | |
| 281 url : GeoTemCoLoader.urlPrefix + 'js/FuzzyTimeline/' + 'FuzzyTimelineWidget.js', | |
| 282 }, { | |
| 283 url : GeoTemCoLoader.urlPrefix + 'js/FuzzyTimeline/' + 'FuzzyTimelineDensity.js', | |
| 284 }, { | |
| 285 url : GeoTemCoLoader.urlPrefix + 'js/FuzzyTimeline/' + 'FuzzyTimelineRangeSlider.js', | |
| 286 }, { | |
| 287 url : GeoTemCoLoader.urlPrefix + 'js/FuzzyTimeline/' + 'FuzzyTimelineRangePiechart.js', | |
| 288 }, { | |
| 289 url : GeoTemCoLoader.urlPrefix + 'js/FuzzyTimeline/' + 'FuzzyTimelineRangeBars.js', | |
| 290 }, { | |
| 291 url : GeoTemCoLoader.urlPrefix + 'js/Storytelling/' + 'StorytellingConfig.js', | |
| 292 }, { | |
| 293 url : GeoTemCoLoader.urlPrefix + 'js/Storytelling/' + 'StorytellingGui.js', | |
| 294 }, { | |
| 295 url : GeoTemCoLoader.urlPrefix + 'js/Storytelling/' + 'StorytellingWidget.js', | |
| 296 }, { | |
| 297 url : GeoTemCoLoader.urlPrefix + 'js/Storytelling/' + 'Storytelling.js', | |
| 298 }]; | |
| 299 (new DynaJsLoader()).loadScripts(geoTemCoFiles, GeoTemCoLoader.initGeoTemCo); | |
| 300 | |
| 301 }, | |
| 302 | |
| 303 initGeoTemCo : function() { | |
| 304 | |
| 305 GeoTemConfig.configure(GeoTemCoLoader.urlPrefix); | |
| 306 Publisher.Publish('GeoTemCoReady', '', null); | |
| 307 | |
| 308 //TODO: find more appropriate position for this | |
| 309 $(window).resize(function() { | |
| 310 Publisher.Publish("resizeWidget"); | |
| 311 }); | |
| 312 } | |
| 313 } | |
| 314 | |
| 315 GeoTemCoLoader.load(); |
