aboutsummaryrefslogtreecommitdiff
path: root/vendors/simile-timeline/timeline_js/timeline-api.js
diff options
context:
space:
mode:
Diffstat (limited to 'vendors/simile-timeline/timeline_js/timeline-api.js')
-rw-r--r--vendors/simile-timeline/timeline_js/timeline-api.js277
1 files changed, 0 insertions, 277 deletions
diff --git a/vendors/simile-timeline/timeline_js/timeline-api.js b/vendors/simile-timeline/timeline_js/timeline-api.js
deleted file mode 100644
index f71037094..000000000
--- a/vendors/simile-timeline/timeline_js/timeline-api.js
+++ /dev/null
@@ -1,277 +0,0 @@
-/*==================================================
- * Timeline API
- *
- * This file will load all the Javascript files
- * necessary to make the standard timeline work.
- * It also detects the default locale.
- *
- * To run from the MIT copy of Timeline:
- * Include this file in your HTML file as follows:
- *
- * <script src="http://static.simile.mit.edu/timeline/api-2.0/timeline-api.js"
- * type="text/javascript"></script>
- *
- *
- * To host the Timeline files on your own server:
- * 1) Install the Timeline and Simile-Ajax files onto your webserver using
- * timeline_libraries.zip or timeline_source.zip
- *
- * 2) Set global js variables used to send parameters to this script:
- * Timeline_ajax_url -- url for simile-ajax-api.js
- * Timeline_urlPrefix -- url for the *directory* that contains timeline-api.js
- * Include trailing slash
- * Timeline_parameters='bundle=true'; // you must set bundle to true if you are using
- * // timeline_libraries.zip since only the
- * // bundled libraries are included
- *
- * eg your html page would include
- *
- * <script>
- * Timeline_ajax_url="http://YOUR_SERVER/javascripts/timeline/timeline_ajax/simile-ajax-api.js";
- * Timeline_urlPrefix='http://YOUR_SERVER/javascripts/timeline/timeline_js/';
- * Timeline_parameters='bundle=true';
- * </script>
- * <script src="http://YOUR_SERVER/javascripts/timeline/timeline_js/timeline-api.js"
- * type="text/javascript">
- * </script>
- *
- * SCRIPT PARAMETERS
- * This script auto-magically figures out locale and has defaults for other parameters
- * To set parameters explicity, set js global variable Timeline_parameters or include as
- * parameters on the url using GET style. Eg the two next lines pass the same parameters:
- * Timeline_parameters='bundle=true'; // pass parameter via js variable
- * <script src="http://....timeline-api.js?bundle=true" // pass parameter via url
- *
- * Parameters
- * timeline-use-local-resources --
- * bundle -- true: use the single js bundle file; false: load individual files (for debugging)
- * locales --
- * defaultLocale --
- * forceLocale -- force locale to be a particular value--used for debugging. Normally locale is determined
- * by browser's and server's locale settings.
- *==================================================
- */
-
-(function() {
- var useLocalResources = false;
- if (document.location.search.length > 0) {
- var params = document.location.search.substr(1).split("&");
- for (var i = 0; i < params.length; i++) {
- if (params[i] == "timeline-use-local-resources") {
- useLocalResources = true;
- }
- }
- };
-
- var loadMe = function() {
- if ("Timeline" in window) {
- return;
- }
-
- window.Timeline = new Object();
- window.Timeline.DateTime = window.SimileAjax.DateTime; // for backward compatibility
-
- var bundle = false;
- var javascriptFiles = [
- "timeline.js",
- "themes.js",
- "ethers.js",
- "ether-painters.js",
- "labellers.js",
- "sources.js",
- "original-painter.js",
- "detailed-painter.js",
- "overview-painter.js",
- "decorators.js",
- "units.js"
- ];
- var cssFiles = [
- "timeline.css",
- "ethers.css",
- "events.css"
- ];
-
- var localizedJavascriptFiles = [
- "timeline.js",
- "labellers.js"
- ];
- var localizedCssFiles = [
- ];
-
- // ISO-639 language codes, ISO-3166 country codes (2 characters)
- var supportedLocales = [
- "cs", // Czech
- "de", // German
- "en", // English
- "es", // Spanish
- "fr", // French
- "it", // Italian
- "nl", // Dutch (The Netherlands)
- "ru", // Russian
- "se", // Swedish
- "tr", // Turkish
- "vi", // Vietnamese
- "zh" // Chinese
- ];
-
- try {
- var desiredLocales = [ "en" ],
- defaultServerLocale = "en",
- forceLocale = null;
-
- var parseURLParameters = function(parameters) {
- var params = parameters.split("&");
- for (var p = 0; p < params.length; p++) {
- var pair = params[p].split("=");
- if (pair[0] == "locales") {
- desiredLocales = desiredLocales.concat(pair[1].split(","));
- } else if (pair[0] == "defaultLocale") {
- defaultServerLocale = pair[1];
- } else if (pair[0] == "forceLocale") {
- forceLocale = pair[1];
- desiredLocales = desiredLocales.concat(pair[1].split(","));
- } else if (pair[0] == "bundle") {
- bundle = pair[1] != "false";
- }
- }
- };
-
- (function() {
- if (typeof Timeline_urlPrefix == "string") {
- Timeline.urlPrefix = Timeline_urlPrefix;
- if (typeof Timeline_parameters == "string") {
- parseURLParameters(Timeline_parameters);
- }
- } else {
- var heads = document.documentElement.getElementsByTagName("head");
- for (var h = 0; h < heads.length; h++) {
- var scripts = heads[h].getElementsByTagName("script");
- for (var s = 0; s < scripts.length; s++) {
- var url = scripts[s].src;
- var i = url.indexOf("timeline-api.js");
- if (i >= 0) {
- Timeline.urlPrefix = url.substr(0, i);
- var q = url.indexOf("?");
- if (q > 0) {
- parseURLParameters(url.substr(q + 1));
- }
- return;
- }
- }
- }
- throw new Error("Failed to derive URL prefix for Timeline API code files");
- }
- })();
-
- var includeJavascriptFiles = function(urlPrefix, filenames) {
- SimileAjax.includeJavascriptFiles(document, urlPrefix, filenames);
- }
- var includeCssFiles = function(urlPrefix, filenames) {
- SimileAjax.includeCssFiles(document, urlPrefix, filenames);
- }
-
- /*
- * Include non-localized files
- */
- if (bundle) {
- includeJavascriptFiles(Timeline.urlPrefix, [ "timeline-bundle.js" ]);
- includeCssFiles(Timeline.urlPrefix, [ "timeline-bundle.css" ]);
- } else {
- includeJavascriptFiles(Timeline.urlPrefix + "scripts/", javascriptFiles);
- includeCssFiles(Timeline.urlPrefix + "styles/", cssFiles);
- }
-
- /*
- * Include localized files
- */
- var loadLocale = [];
- loadLocale[defaultServerLocale] = true;
-
- var tryExactLocale = function(locale) {
- for (var l = 0; l < supportedLocales.length; l++) {
- if (locale == supportedLocales[l]) {
- loadLocale[locale] = true;
- return true;
- }
- }
- return false;
- }
- var tryLocale = function(locale) {
- if (tryExactLocale(locale)) {
- return locale;
- }
-
- var dash = locale.indexOf("-");
- if (dash > 0 && tryExactLocale(locale.substr(0, dash))) {
- return locale.substr(0, dash);
- }
-
- return null;
- }
-
- for (var l = 0; l < desiredLocales.length; l++) {
- tryLocale(desiredLocales[l]);
- }
-
- var defaultClientLocale = defaultServerLocale;
- var defaultClientLocales = ("language" in navigator ? navigator.language : navigator.browserLanguage).split(";");
- for (var l = 0; l < defaultClientLocales.length; l++) {
- var locale = tryLocale(defaultClientLocales[l]);
- if (locale != null) {
- defaultClientLocale = locale;
- break;
- }
- }
-
- for (var l = 0; l < supportedLocales.length; l++) {
- var locale = supportedLocales[l];
- if (loadLocale[locale]) {
- includeJavascriptFiles(Timeline.urlPrefix + "scripts/l10n/" + locale + "/", localizedJavascriptFiles);
- includeCssFiles(Timeline.urlPrefix + "styles/l10n/" + locale + "/", localizedCssFiles);
- }
- }
-
- if (forceLocale == null) {
- Timeline.serverLocale = defaultServerLocale;
- Timeline.clientLocale = defaultClientLocale;
- } else {
- Timeline.serverLocale = forceLocale;
- Timeline.clientLocale = forceLocale;
- }
- } catch (e) {
- alert(e);
- }
- };
-
- /*
- * Load SimileAjax if it's not already loaded
- */
- if (typeof SimileAjax == "undefined") {
- window.SimileAjax_onLoad = loadMe;
-
- var url = useLocalResources ?
- "http://127.0.0.1:9999/ajax/api/simile-ajax-api.js?bundle=false" :
- "http://static.simile.mit.edu/ajax/api-2.0/simile-ajax-api.js";
- if (typeof Timeline_ajax_url == "string") {
- url = Timeline_ajax_url;
- }
- var createScriptElement = function() {
- var script = document.createElement("script");
- script.type = "text/javascript";
- script.language = "JavaScript";
- script.src = url;
- document.getElementsByTagName("head")[0].appendChild(script);
- }
- if (document.body == null) {
- try {
- document.write("<script src='" + url + "' type='text/javascript'></script>");
- } catch (e) {
- createScriptElement();
- }
- } else {
- createScriptElement();
- }
- } else {
- loadMe();
- }
-})();