diff lib/GeoTemCo/js/Build/Loader/TimeplotLoader.js @ 0:b57c7821382f

initial
author Dirk Wintergruen <dwinter@mpiwg-berlin.mpg.de>
date Thu, 28 May 2015 10:28:12 +0200
parents
children
line wrap: on
line diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/lib/GeoTemCo/js/Build/Loader/TimeplotLoader.js	Thu May 28 10:28:12 2015 +0200
@@ -0,0 +1,129 @@
+/*
+* TimeplotLoader.js
+*
+* Copyright (c) 2012, Stefan Jänicke. All rights reserved.
+*
+* This library is free software; you can redistribute it and/or
+* modify it under the terms of the GNU Lesser General Public
+* License as published by the Free Software Foundation; either
+* version 3 of the License, or (at your option) any later version.
+*
+* This library is distributed in the hope that it will be useful,
+* but WITHOUT ANY WARRANTY; without even the implied warranty of
+* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+* Lesser General Public License for more details.
+*
+* You should have received a copy of the GNU Lesser General Public
+* License along with this library; if not, write to the Free Software
+* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
+* MA 02110-1301  USA
+*/
+
+/**
+ * Timeplot Script Loader
+ * @author Stefan Jänicke (stjaenicke@informatik.uni-leipzig.de)
+ * @release 1.0
+ * @release date: 2012-07-27
+ * @version date: 2012-07-27
+ */
+TimeplotLoader = {
+
+	load : function(urlPrefix, callback) {
+
+		JQuery_urlPrefix = urlPrefix + 'jquery/';
+		SimileAjax_urlPrefix = urlPrefix + 'simile/ajax/';
+		Timeline_urlPrefix = urlPrefix + 'simile/timeline/';
+		Timeplot_urlPrefix = urlPrefix + 'simile/timeplot/';
+		TimeplotLoader.callback = callback;
+		TimeplotLoader.loadSimileAjax();
+
+	},
+
+	loadSimileAjax : function() {
+
+		if ( typeof window.SimileAjax == "undefined") {
+			window.SimileAjax = {
+				loadingScriptsCount : 0,
+				error : null,
+				params : {
+					bundle : "true"
+				}
+			};
+			SimileAjax.Platform = new Object();
+			SimileAjax.includeCssFile = function(doc, url) {
+				var link = doc.createElement("link");
+				link.setAttribute("rel", "stylesheet");
+				link.setAttribute("type", "text/css");
+				link.setAttribute("href", url);
+				doc.getElementsByTagName("head")[0].appendChild(link);
+			};
+			SimileAjax.urlPrefix = SimileAjax_urlPrefix;
+			var jsFiles = [{
+				url : SimileAjax.urlPrefix + "simile-ajax-bundle.js",
+				test : "SimileAjax.XmlHttp._forceXML"
+			}];
+			(new DynaJsLoader()).loadScripts(jsFiles, TimeplotLoader.loadTimeline);
+			SimileAjax.includeCssFile(document, SimileAjax.urlPrefix + "styles/" + "graphics.css");
+		} else {
+			TimeplotLoader.loadTimeline();
+		}
+
+	},
+
+	loadTimeline : function() {
+
+		SimileAjax.History.enabled = false;
+
+		if ( typeof window.Timeline == "undefined") {
+			window.Timeline = new Object();
+			Timeline.urlPrefix = Timeline_urlPrefix;
+			window.Timeline.DateTime = window.SimileAjax.DateTime;
+			// for backward compatibility
+			var jsFiles = [{
+				url : Timeline.urlPrefix + "timeline-bundle.js",
+				test : "Timeline.NativeDateUnit.change"
+			}, {
+				url : Timeline.urlPrefix + "scripts/l10n/en/" + "timeline.js"
+			}, {
+				url : Timeline.urlPrefix + "scripts/l10n/en/" + "labellers.js"
+			}];
+			(new DynaJsLoader()).loadScripts(jsFiles, TimeplotLoader.loadTimeplot);
+			SimileAjax.includeCssFile(document, Timeline.urlPrefix + "timeline-bundle.css");
+		} else {
+			TimeplotLoader.loadTimeplot();
+		}
+
+	},
+
+	loadTimeplot : function() {
+
+		if ( typeof window.Timeplot == "undefined") {
+			window.Timeplot = {
+				params : {
+					bundle : true,
+					autoCreate : true
+				},
+				namespace : "http://simile.mit.edu/2007/06/timeplot#",
+				importers : {}
+			};
+			Timeplot.urlPrefix = Timeplot_urlPrefix;
+			var jsFiles = [];
+			var canvas = document.createElement("canvas");
+			if (!canvas.getContext) {
+				jsFiles.push({
+					url : Timeplot.urlPrefix + "lib/excanvas.js",
+					test : canvas.getContext
+				});
+			}
+			jsFiles.push({
+				url : Timeplot.urlPrefix + "timeplot-bundle.js",
+				test : "Timeplot.Processor.prototype.removeListener"
+			});
+			(new DynaJsLoader()).loadScripts(jsFiles, TimeplotLoader.callback);
+			SimileAjax.includeCssFile(document, Timeplot.urlPrefix + "timeplot-bundle.css");
+		} else if (callback) {
+			callback();
+		}
+
+	}
+};