muruca_widgets 0.1.0
Sign up to get free protection for your applications and to get access to all the features.
- data/LICENSE +20 -0
- data/README.rdoc +12 -0
- data/generators/colorbox/colorbox_generator.rb +21 -0
- data/generators/colorbox/templates/README +10 -0
- data/generators/colorbox/templates/_colorbox.html.erb +10 -0
- data/generators/colorbox/templates/colorbox/colorbox.css +62 -0
- data/generators/colorbox/templates/colorbox/images/border.png +0 -0
- data/generators/colorbox/templates/colorbox/images/controls.png +0 -0
- data/generators/colorbox/templates/colorbox/images/internet_explorer/borderBottomCenter.png +0 -0
- data/generators/colorbox/templates/colorbox/images/internet_explorer/borderBottomLeft.png +0 -0
- data/generators/colorbox/templates/colorbox/images/internet_explorer/borderBottomRight.png +0 -0
- data/generators/colorbox/templates/colorbox/images/internet_explorer/borderMiddleLeft.png +0 -0
- data/generators/colorbox/templates/colorbox/images/internet_explorer/borderMiddleRight.png +0 -0
- data/generators/colorbox/templates/colorbox/images/internet_explorer/borderTopCenter.png +0 -0
- data/generators/colorbox/templates/colorbox/images/internet_explorer/borderTopLeft.png +0 -0
- data/generators/colorbox/templates/colorbox/images/internet_explorer/borderTopRight.png +0 -0
- data/generators/colorbox/templates/colorbox/images/loading.gif +0 -0
- data/generators/colorbox/templates/colorbox/images/loading_background.png +0 -0
- data/generators/colorbox/templates/colorbox/images/overlay.png +0 -0
- data/generators/colorbox/templates/jquery-1.3.2.min.js +19 -0
- data/generators/colorbox/templates/jquery.colorbox.js +698 -0
- data/generators/generator_helpers.rb +17 -0
- data/generators/iip_viewer/iip_viewer_generator.rb +18 -0
- data/generators/iip_viewer/templates/README +8 -0
- data/generators/iip_viewer/templates/_iip_flash_viewer.html.erb +14 -0
- data/generators/iip_viewer/templates/fliipish.swf +0 -0
- data/generators/iip_viewer/templates/iip_flashclient.js +24 -0
- data/generators/iip_viewer/templates/iip_helper.rb +24 -0
- data/generators/iip_viewer/templates/swfobject.js +8 -0
- data/generators/ipod_dropdown/ipod_dropdown_generator.rb +24 -0
- data/generators/ipod_dropdown/templates/README +8 -0
- data/generators/ipod_dropdown/templates/_ipod_dropdown.html.erb +25 -0
- data/generators/ipod_dropdown/templates/fg.menu.js +645 -0
- data/generators/ipod_dropdown/templates/ipod-menu/fg.menu.css +129 -0
- data/generators/ipod_dropdown/templates/ipod-menu/theme/images/ui-bg_flat_0_aaaaaa_40x100.png +0 -0
- data/generators/ipod_dropdown/templates/ipod-menu/theme/images/ui-bg_flat_55_fbec88_40x100.png +0 -0
- data/generators/ipod_dropdown/templates/ipod-menu/theme/images/ui-bg_glass_75_d0e5f5_1x400.png +0 -0
- data/generators/ipod_dropdown/templates/ipod-menu/theme/images/ui-bg_glass_85_dfeffc_1x400.png +0 -0
- data/generators/ipod_dropdown/templates/ipod-menu/theme/images/ui-bg_glass_95_fef1ec_1x400.png +0 -0
- data/generators/ipod_dropdown/templates/ipod-menu/theme/images/ui-bg_gloss-wave_55_5c9ccc_500x100.png +0 -0
- data/generators/ipod_dropdown/templates/ipod-menu/theme/images/ui-bg_inset-hard_100_f5f8f9_1x100.png +0 -0
- data/generators/ipod_dropdown/templates/ipod-menu/theme/images/ui-bg_inset-hard_100_fcfdfd_1x100.png +0 -0
- data/generators/ipod_dropdown/templates/ipod-menu/theme/images/ui-icons_217bc0_256x240.png +0 -0
- data/generators/ipod_dropdown/templates/ipod-menu/theme/images/ui-icons_2e83ff_256x240.png +0 -0
- data/generators/ipod_dropdown/templates/ipod-menu/theme/images/ui-icons_469bdd_256x240.png +0 -0
- data/generators/ipod_dropdown/templates/ipod-menu/theme/images/ui-icons_6da8d5_256x240.png +0 -0
- data/generators/ipod_dropdown/templates/ipod-menu/theme/images/ui-icons_cd0a0a_256x240.png +0 -0
- data/generators/ipod_dropdown/templates/ipod-menu/theme/images/ui-icons_d8e7f3_256x240.png +0 -0
- data/generators/ipod_dropdown/templates/ipod-menu/theme/images/ui-icons_f9bd01_256x240.png +0 -0
- data/generators/ipod_dropdown/templates/ipod-menu/theme/ui.accordion.css +9 -0
- data/generators/ipod_dropdown/templates/ipod-menu/theme/ui.all.css +2 -0
- data/generators/ipod_dropdown/templates/ipod-menu/theme/ui.base.css +1 -0
- data/generators/ipod_dropdown/templates/ipod-menu/theme/ui.core.css +37 -0
- data/generators/ipod_dropdown/templates/ipod-menu/theme/ui.datepicker.css +62 -0
- data/generators/ipod_dropdown/templates/ipod-menu/theme/ui.dialog.css +13 -0
- data/generators/ipod_dropdown/templates/ipod-menu/theme/ui.progressbar.css +4 -0
- data/generators/ipod_dropdown/templates/ipod-menu/theme/ui.resizable.css +13 -0
- data/generators/ipod_dropdown/templates/ipod-menu/theme/ui.slider.css +17 -0
- data/generators/ipod_dropdown/templates/ipod-menu/theme/ui.tabs.css +11 -0
- data/generators/ipod_dropdown/templates/ipod-menu/theme/ui.theme.css +247 -0
- data/generators/ipod_dropdown/templates/ipod_dropdown_helper.rb +52 -0
- data/generators/ipod_dropdown/templates/jquery-1.3.2.min.js +19 -0
- data/generators/simile_timeline/simile_timeline_generator.rb +24 -0
- data/generators/simile_timeline/templates/README +8 -0
- data/generators/simile_timeline/templates/_timeline.html.erb +7 -0
- data/generators/simile_timeline/templates/_timeline_include.html.erb +6 -0
- data/generators/simile_timeline/templates/timeline.js +82 -0
- data/generators/simile_timeline/templates/timeline_ajax/content/history.html +7 -0
- data/generators/simile_timeline/templates/timeline_ajax/images/bubble-arrow-point-down.png +0 -0
- data/generators/simile_timeline/templates/timeline_ajax/images/bubble-arrow-point-left.png +0 -0
- data/generators/simile_timeline/templates/timeline_ajax/images/bubble-arrow-point-right.png +0 -0
- data/generators/simile_timeline/templates/timeline_ajax/images/bubble-arrow-point-up.png +0 -0
- data/generators/simile_timeline/templates/timeline_ajax/images/bubble-bottom-left.png +0 -0
- data/generators/simile_timeline/templates/timeline_ajax/images/bubble-bottom-right.png +0 -0
- data/generators/simile_timeline/templates/timeline_ajax/images/bubble-bottom.png +0 -0
- data/generators/simile_timeline/templates/timeline_ajax/images/bubble-left.png +0 -0
- data/generators/simile_timeline/templates/timeline_ajax/images/bubble-right.png +0 -0
- data/generators/simile_timeline/templates/timeline_ajax/images/bubble-top-left.png +0 -0
- data/generators/simile_timeline/templates/timeline_ajax/images/bubble-top-right.png +0 -0
- data/generators/simile_timeline/templates/timeline_ajax/images/bubble-top.png +0 -0
- data/generators/simile_timeline/templates/timeline_ajax/images/close-button.png +0 -0
- data/generators/simile_timeline/templates/timeline_ajax/images/copy.png +0 -0
- data/generators/simile_timeline/templates/timeline_ajax/images/message-bottom-left.png +0 -0
- data/generators/simile_timeline/templates/timeline_ajax/images/message-bottom-right.png +0 -0
- data/generators/simile_timeline/templates/timeline_ajax/images/message-left.png +0 -0
- data/generators/simile_timeline/templates/timeline_ajax/images/message-right.png +0 -0
- data/generators/simile_timeline/templates/timeline_ajax/images/message-top-left.png +0 -0
- data/generators/simile_timeline/templates/timeline_ajax/images/message-top-right.png +0 -0
- data/generators/simile_timeline/templates/timeline_ajax/scripts/signal.js +43 -0
- data/generators/simile_timeline/templates/timeline_ajax/simile-ajax-api.js +212 -0
- data/generators/simile_timeline/templates/timeline_ajax/simile-ajax-bundle.js +2623 -0
- data/generators/simile_timeline/templates/timeline_ajax/styles/graphics-ie6.css +77 -0
- data/generators/simile_timeline/templates/timeline_ajax/styles/graphics.css +171 -0
- data/generators/simile_timeline/templates/timeline_helper.rb +36 -0
- data/generators/simile_timeline/templates/timeline_js/images/blue-circle.png +0 -0
- data/generators/simile_timeline/templates/timeline_js/images/bubble-bottom-arrow.png +0 -0
- data/generators/simile_timeline/templates/timeline_js/images/bubble-bottom-left.png +0 -0
- data/generators/simile_timeline/templates/timeline_js/images/bubble-bottom-right.png +0 -0
- data/generators/simile_timeline/templates/timeline_js/images/bubble-bottom.png +0 -0
- data/generators/simile_timeline/templates/timeline_js/images/bubble-left-arrow.png +0 -0
- data/generators/simile_timeline/templates/timeline_js/images/bubble-left.png +0 -0
- data/generators/simile_timeline/templates/timeline_js/images/bubble-right-arrow.png +0 -0
- data/generators/simile_timeline/templates/timeline_js/images/bubble-right.png +0 -0
- data/generators/simile_timeline/templates/timeline_js/images/bubble-top-arrow.png +0 -0
- data/generators/simile_timeline/templates/timeline_js/images/bubble-top-left.png +0 -0
- data/generators/simile_timeline/templates/timeline_js/images/bubble-top-right.png +0 -0
- data/generators/simile_timeline/templates/timeline_js/images/bubble-top.png +0 -0
- data/generators/simile_timeline/templates/timeline_js/images/close-button.png +0 -0
- data/generators/simile_timeline/templates/timeline_js/images/copyright-vertical.png +0 -0
- data/generators/simile_timeline/templates/timeline_js/images/copyright.png +0 -0
- data/generators/simile_timeline/templates/timeline_js/images/dark-blue-circle.png +0 -0
- data/generators/simile_timeline/templates/timeline_js/images/dark-green-circle.png +0 -0
- data/generators/simile_timeline/templates/timeline_js/images/dark-red-circle.png +0 -0
- data/generators/simile_timeline/templates/timeline_js/images/dull-blue-circle.png +0 -0
- data/generators/simile_timeline/templates/timeline_js/images/dull-green-circle.png +0 -0
- data/generators/simile_timeline/templates/timeline_js/images/dull-red-circle.png +0 -0
- data/generators/simile_timeline/templates/timeline_js/images/gray-circle.png +0 -0
- data/generators/simile_timeline/templates/timeline_js/images/green-circle.png +0 -0
- data/generators/simile_timeline/templates/timeline_js/images/message-bottom-left.png +0 -0
- data/generators/simile_timeline/templates/timeline_js/images/message-bottom-right.png +0 -0
- data/generators/simile_timeline/templates/timeline_js/images/message-left.png +0 -0
- data/generators/simile_timeline/templates/timeline_js/images/message-right.png +0 -0
- data/generators/simile_timeline/templates/timeline_js/images/message-top-left.png +0 -0
- data/generators/simile_timeline/templates/timeline_js/images/message-top-right.png +0 -0
- data/generators/simile_timeline/templates/timeline_js/images/progress-running.gif +0 -0
- data/generators/simile_timeline/templates/timeline_js/images/red-circle.png +0 -0
- data/generators/simile_timeline/templates/timeline_js/images/top-bubble.png +0 -0
- data/generators/simile_timeline/templates/timeline_js/scripts/l10n/cs/labellers.js +30 -0
- data/generators/simile_timeline/templates/timeline_js/scripts/l10n/cs/timeline.js +9 -0
- data/generators/simile_timeline/templates/timeline_js/scripts/l10n/de/labellers.js +27 -0
- data/generators/simile_timeline/templates/timeline_js/scripts/l10n/de/timeline.js +8 -0
- data/generators/simile_timeline/templates/timeline_js/scripts/l10n/en/labellers.js +12 -0
- data/generators/simile_timeline/templates/timeline_js/scripts/l10n/en/timeline.js +9 -0
- data/generators/simile_timeline/templates/timeline_js/scripts/l10n/es/labellers.js +8 -0
- data/generators/simile_timeline/templates/timeline_js/scripts/l10n/es/timeline.js +9 -0
- data/generators/simile_timeline/templates/timeline_js/scripts/l10n/fr/labellers.js +8 -0
- data/generators/simile_timeline/templates/timeline_js/scripts/l10n/fr/timeline.js +9 -0
- data/generators/simile_timeline/templates/timeline_js/scripts/l10n/it/labellers.js +8 -0
- data/generators/simile_timeline/templates/timeline_js/scripts/l10n/it/timeline.js +9 -0
- data/generators/simile_timeline/templates/timeline_js/scripts/l10n/nl/labellers.js +11 -0
- data/generators/simile_timeline/templates/timeline_js/scripts/l10n/nl/timeline.js +9 -0
- data/generators/simile_timeline/templates/timeline_js/scripts/l10n/ru/labellers.js +10 -0
- data/generators/simile_timeline/templates/timeline_js/scripts/l10n/ru/timeline.js +9 -0
- data/generators/simile_timeline/templates/timeline_js/scripts/l10n/se/labellers.js +12 -0
- data/generators/simile_timeline/templates/timeline_js/scripts/l10n/se/timeline.js +9 -0
- data/generators/simile_timeline/templates/timeline_js/scripts/l10n/tr/labellers.js +8 -0
- data/generators/simile_timeline/templates/timeline_js/scripts/l10n/tr/timeline.js +9 -0
- data/generators/simile_timeline/templates/timeline_js/scripts/l10n/vi/labellers.js +26 -0
- data/generators/simile_timeline/templates/timeline_js/scripts/l10n/vi/timeline.js +9 -0
- data/generators/simile_timeline/templates/timeline_js/scripts/l10n/zh/labellers.js +27 -0
- data/generators/simile_timeline/templates/timeline_js/scripts/l10n/zh/timeline.js +9 -0
- data/generators/simile_timeline/templates/timeline_js/timeline-api.js +280 -0
- data/generators/simile_timeline/templates/timeline_js/timeline-bundle.css +229 -0
- data/generators/simile_timeline/templates/timeline_js/timeline-bundle.js +2835 -0
- data/lib/muruca_widgets.rb +1 -0
- data/lib/timeline.rb +63 -0
- data/lib/timeline_source.rb +211 -0
- data/test/muruca_widgets_test.rb +8 -0
- data/test/test_helper.rb +3 -0
- metadata +213 -0
@@ -0,0 +1,12 @@
|
|
1
|
+
/*==================================================
|
2
|
+
* Localization of labellers.js
|
3
|
+
*==================================================
|
4
|
+
*/
|
5
|
+
|
6
|
+
Timeline.GregorianDateLabeller.monthNames["en"] = [
|
7
|
+
"Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec"
|
8
|
+
];
|
9
|
+
|
10
|
+
Timeline.GregorianDateLabeller.dayNames["en"] = [
|
11
|
+
"Sunday", "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday"
|
12
|
+
];
|
@@ -0,0 +1,8 @@
|
|
1
|
+
/*==================================================
|
2
|
+
* Localization of labellers.js
|
3
|
+
*==================================================
|
4
|
+
*/
|
5
|
+
|
6
|
+
Timeline.GregorianDateLabeller.monthNames["es"] = [
|
7
|
+
"Ene", "Feb", "Mar", "Abr", "May", "Jun", "Jul", "Ago", "Sep", "Oct", "Nov", "Dic"
|
8
|
+
];
|
@@ -0,0 +1,8 @@
|
|
1
|
+
/*==================================================
|
2
|
+
* Localization of labellers.js
|
3
|
+
*==================================================
|
4
|
+
*/
|
5
|
+
|
6
|
+
Timeline.GregorianDateLabeller.monthNames["fr"] = [
|
7
|
+
"jan", "fev", "mar", "avr", "mai", "jui", "jui", "aou", "sep", "oct", "nov", "dec"
|
8
|
+
];
|
@@ -0,0 +1,8 @@
|
|
1
|
+
/*==================================================
|
2
|
+
* Localization of labellers.js
|
3
|
+
*==================================================
|
4
|
+
*/
|
5
|
+
|
6
|
+
Timeline.GregorianDateLabeller.monthNames["it"] = [
|
7
|
+
"Gen", "Feb", "Mar", "Apr", "Mag", "Giu", "Lug", "Ago", "Set", "Ott", "Nov", "Dic"
|
8
|
+
];
|
@@ -0,0 +1,11 @@
|
|
1
|
+
/*==================================================
|
2
|
+
* Localization of labellers.js
|
3
|
+
*==================================================
|
4
|
+
*/
|
5
|
+
|
6
|
+
/* The Dutch do not capitalize months
|
7
|
+
*/
|
8
|
+
|
9
|
+
Timeline.GregorianDateLabeller.monthNames["nl"] = [
|
10
|
+
"jan", "feb", "mrt", "apr", "mei", "jun", "jul", "aug", "sep", "okt", "nov", "dec"
|
11
|
+
];
|
@@ -0,0 +1,10 @@
|
|
1
|
+
/*==================================================
|
2
|
+
* Localization of labellers.js
|
3
|
+
*
|
4
|
+
* UTF-8 encoded
|
5
|
+
*==================================================
|
6
|
+
*/
|
7
|
+
|
8
|
+
Timeline.GregorianDateLabeller.monthNames["ru"] = [
|
9
|
+
"Янв", "Фев", "Мар", "Апр", "Май", "Июн", "Июл", "Авг", "Сен", "Окт", "Ноя", "Дек"
|
10
|
+
];
|
@@ -0,0 +1,12 @@
|
|
1
|
+
/*==================================================
|
2
|
+
* Localization of labellers.js
|
3
|
+
*==================================================
|
4
|
+
*/
|
5
|
+
|
6
|
+
Timeline.GregorianDateLabeller.monthNames["se"] = [
|
7
|
+
"Jan", "Feb", "Mar", "Apr", "Maj", "Jun", "Jul", "Aug", "Sep", "Okt", "Nov", "Dec"
|
8
|
+
];
|
9
|
+
|
10
|
+
Timeline.GregorianDateLabeller.dayNames["se"] = [
|
11
|
+
"Sön", "Mån", "Tis", "Ons", "Tors", "Fre", "Lör"
|
12
|
+
];
|
@@ -0,0 +1,8 @@
|
|
1
|
+
/*==================================================
|
2
|
+
* Localization of labellers.js
|
3
|
+
*==================================================
|
4
|
+
*/
|
5
|
+
|
6
|
+
Timeline.GregorianDateLabeller.monthNames["tr"] = [
|
7
|
+
"Ock", "Şbt", "Mrt", "Nsn", "Mys", "Hzr", "Tem", "Ağs", "Eyl", "Ekm", "Ksm", "Arl"
|
8
|
+
];
|
@@ -0,0 +1,26 @@
|
|
1
|
+
/*==================================================
|
2
|
+
* Localization of labellers.js
|
3
|
+
*==================================================
|
4
|
+
*/
|
5
|
+
|
6
|
+
Timeline.GregorianDateLabeller.monthNames["vi"] = [
|
7
|
+
"Th�ng 1", "Th�ng 2", "Th�ng 3", "Th�ng 4", "Th�ng 5", "Th�ng 6", "Th�ng 7", "Th�ng 8", "Th�ng 9", "Th�ng 10", "Th�ng 11", "Th�ng 12"
|
8
|
+
];
|
9
|
+
|
10
|
+
Timeline.GregorianDateLabeller.labelIntervalFunctions["vi"] = function(date, intervalUnit) {
|
11
|
+
var text;
|
12
|
+
var emphasized = false;
|
13
|
+
|
14
|
+
var date2 = Timeline.DateTime.removeTimeZoneOffset(date, this._timeZone);
|
15
|
+
|
16
|
+
switch(intervalUnit) {
|
17
|
+
case Timeline.DateTime.DAY:
|
18
|
+
case Timeline.DateTime.WEEK:
|
19
|
+
text = date2.getUTCDate() + "/" + (date2.getUTCMonth() + 1);
|
20
|
+
break;
|
21
|
+
default:
|
22
|
+
return this.defaultLabelInterval(date, intervalUnit);
|
23
|
+
}
|
24
|
+
|
25
|
+
return { text: text, emphasized: emphasized };
|
26
|
+
};
|
@@ -0,0 +1,27 @@
|
|
1
|
+
/*==================================================
|
2
|
+
* Localization of labellers.js
|
3
|
+
*==================================================
|
4
|
+
*/
|
5
|
+
|
6
|
+
Timeline.GregorianDateLabeller.monthNames["zh"] = [
|
7
|
+
"1月", "2月", "3月", "4月", "5月", "6月", "7月", "8月", "9月", "10月", "11月", "12月"
|
8
|
+
];
|
9
|
+
|
10
|
+
Timeline.GregorianDateLabeller.labelIntervalFunctions["zh"] = function(date, intervalUnit) {
|
11
|
+
var text;
|
12
|
+
var emphasized = false;
|
13
|
+
|
14
|
+
var date2 = Timeline.DateTime.removeTimeZoneOffset(date, this._timeZone);
|
15
|
+
|
16
|
+
switch(intervalUnit) {
|
17
|
+
case Timeline.DateTime.DAY:
|
18
|
+
case Timeline.DateTime.WEEK:
|
19
|
+
text = Timeline.GregorianDateLabeller.getMonthName(date2.getUTCMonth(), this._locale) +
|
20
|
+
date2.getUTCDate() + "日";
|
21
|
+
break;
|
22
|
+
default:
|
23
|
+
return this.defaultLabelInterval(date, intervalUnit);
|
24
|
+
}
|
25
|
+
|
26
|
+
return { text: text, emphasized: emphasized };
|
27
|
+
};
|
@@ -0,0 +1,280 @@
|
|
1
|
+
/*==================================================
|
2
|
+
* Timeline API
|
3
|
+
*
|
4
|
+
* This file will load all the Javascript files
|
5
|
+
* necessary to make the standard timeline work.
|
6
|
+
* It also detects the default locale.
|
7
|
+
*
|
8
|
+
* To run from the MIT copy of Timeline:
|
9
|
+
* Include this file in your HTML file as follows:
|
10
|
+
*
|
11
|
+
* <script src="http://static.simile.mit.edu/timeline/api-2.3.0/timeline-api.js"
|
12
|
+
* type="text/javascript"></script>
|
13
|
+
*
|
14
|
+
*
|
15
|
+
* To host the Timeline files on your own server:
|
16
|
+
* 1) Install the Timeline and Simile-Ajax files onto your webserver using
|
17
|
+
* timeline_libraries.zip or timeline_source.zip
|
18
|
+
*
|
19
|
+
* 2) Set global js variables used to send parameters to this script:
|
20
|
+
* Timeline_ajax_url -- url for simile-ajax-api.js
|
21
|
+
* Timeline_urlPrefix -- url for the *directory* that contains timeline-api.js
|
22
|
+
* Include trailing slash
|
23
|
+
* Timeline_parameters='bundle=true'; // you must set bundle to true if you are using
|
24
|
+
* // timeline_libraries.zip since only the
|
25
|
+
* // bundled libraries are included
|
26
|
+
*
|
27
|
+
* eg your html page would include
|
28
|
+
*
|
29
|
+
* <script>
|
30
|
+
* Timeline_ajax_url="http://YOUR_SERVER/javascripts/timeline/timeline_ajax/simile-ajax-api.js";
|
31
|
+
* Timeline_urlPrefix='http://YOUR_SERVER/javascripts/timeline/timeline_js/';
|
32
|
+
* Timeline_parameters='bundle=true';
|
33
|
+
* </script>
|
34
|
+
* <script src="http://YOUR_SERVER/javascripts/timeline/timeline_js/timeline-api.js"
|
35
|
+
* type="text/javascript">
|
36
|
+
* </script>
|
37
|
+
*
|
38
|
+
* SCRIPT PARAMETERS
|
39
|
+
* This script auto-magically figures out locale and has defaults for other parameters
|
40
|
+
* To set parameters explicity, set js global variable Timeline_parameters or include as
|
41
|
+
* parameters on the url using GET style. Eg the two next lines pass the same parameters:
|
42
|
+
* Timeline_parameters='bundle=true'; // pass parameter via js variable
|
43
|
+
* <script src="http://....timeline-api.js?bundle=true" // pass parameter via url
|
44
|
+
*
|
45
|
+
* Parameters
|
46
|
+
* timeline-use-local-resources --
|
47
|
+
* bundle -- true: use the single js bundle file; false: load individual files (for debugging)
|
48
|
+
* locales --
|
49
|
+
* defaultLocale --
|
50
|
+
* forceLocale -- force locale to be a particular value--used for debugging. Normally locale is determined
|
51
|
+
* by browser's and server's locale settings.
|
52
|
+
*==================================================
|
53
|
+
*/
|
54
|
+
|
55
|
+
(function() {
|
56
|
+
var useLocalResources = false;
|
57
|
+
if (document.location.search.length > 0) {
|
58
|
+
var params = document.location.search.substr(1).split("&");
|
59
|
+
for (var i = 0; i < params.length; i++) {
|
60
|
+
if (params[i] == "timeline-use-local-resources") {
|
61
|
+
useLocalResources = true;
|
62
|
+
}
|
63
|
+
}
|
64
|
+
};
|
65
|
+
|
66
|
+
var loadMe = function() {
|
67
|
+
if ("Timeline" in window) {
|
68
|
+
return;
|
69
|
+
}
|
70
|
+
|
71
|
+
window.Timeline = new Object();
|
72
|
+
window.Timeline.DateTime = window.SimileAjax.DateTime; // for backward compatibility
|
73
|
+
|
74
|
+
var bundle = false;
|
75
|
+
var javascriptFiles = [
|
76
|
+
"timeline.js",
|
77
|
+
"band.js",
|
78
|
+
"themes.js",
|
79
|
+
"ethers.js",
|
80
|
+
"ether-painters.js",
|
81
|
+
"event-utils.js",
|
82
|
+
"labellers.js",
|
83
|
+
"sources.js",
|
84
|
+
"original-painter.js",
|
85
|
+
"detailed-painter.js",
|
86
|
+
"overview-painter.js",
|
87
|
+
"compact-painter.js",
|
88
|
+
"decorators.js",
|
89
|
+
"units.js"
|
90
|
+
];
|
91
|
+
var cssFiles = [
|
92
|
+
"timeline.css",
|
93
|
+
"ethers.css",
|
94
|
+
"events.css"
|
95
|
+
];
|
96
|
+
|
97
|
+
var localizedJavascriptFiles = [
|
98
|
+
"timeline.js",
|
99
|
+
"labellers.js"
|
100
|
+
];
|
101
|
+
var localizedCssFiles = [
|
102
|
+
];
|
103
|
+
|
104
|
+
// ISO-639 language codes, ISO-3166 country codes (2 characters)
|
105
|
+
var supportedLocales = [
|
106
|
+
"cs", // Czech
|
107
|
+
"de", // German
|
108
|
+
"en", // English
|
109
|
+
"es", // Spanish
|
110
|
+
"fr", // French
|
111
|
+
"it", // Italian
|
112
|
+
"nl", // Dutch (The Netherlands)
|
113
|
+
"ru", // Russian
|
114
|
+
"se", // Swedish
|
115
|
+
"tr", // Turkish
|
116
|
+
"vi", // Vietnamese
|
117
|
+
"zh" // Chinese
|
118
|
+
];
|
119
|
+
|
120
|
+
try {
|
121
|
+
var desiredLocales = [ "en" ],
|
122
|
+
defaultServerLocale = "en",
|
123
|
+
forceLocale = null;
|
124
|
+
|
125
|
+
var parseURLParameters = function(parameters) {
|
126
|
+
var params = parameters.split("&");
|
127
|
+
for (var p = 0; p < params.length; p++) {
|
128
|
+
var pair = params[p].split("=");
|
129
|
+
if (pair[0] == "locales") {
|
130
|
+
desiredLocales = desiredLocales.concat(pair[1].split(","));
|
131
|
+
} else if (pair[0] == "defaultLocale") {
|
132
|
+
defaultServerLocale = pair[1];
|
133
|
+
} else if (pair[0] == "forceLocale") {
|
134
|
+
forceLocale = pair[1];
|
135
|
+
desiredLocales = desiredLocales.concat(pair[1].split(","));
|
136
|
+
} else if (pair[0] == "bundle") {
|
137
|
+
bundle = pair[1] != "false";
|
138
|
+
}
|
139
|
+
}
|
140
|
+
};
|
141
|
+
|
142
|
+
(function() {
|
143
|
+
if (typeof Timeline_urlPrefix == "string") {
|
144
|
+
Timeline.urlPrefix = Timeline_urlPrefix;
|
145
|
+
if (typeof Timeline_parameters == "string") {
|
146
|
+
parseURLParameters(Timeline_parameters);
|
147
|
+
}
|
148
|
+
} else {
|
149
|
+
var heads = document.documentElement.getElementsByTagName("head");
|
150
|
+
for (var h = 0; h < heads.length; h++) {
|
151
|
+
var scripts = heads[h].getElementsByTagName("script");
|
152
|
+
for (var s = 0; s < scripts.length; s++) {
|
153
|
+
var url = scripts[s].src;
|
154
|
+
var i = url.indexOf("timeline-api.js");
|
155
|
+
if (i >= 0) {
|
156
|
+
Timeline.urlPrefix = url.substr(0, i);
|
157
|
+
var q = url.indexOf("?");
|
158
|
+
if (q > 0) {
|
159
|
+
parseURLParameters(url.substr(q + 1));
|
160
|
+
}
|
161
|
+
return;
|
162
|
+
}
|
163
|
+
}
|
164
|
+
}
|
165
|
+
throw new Error("Failed to derive URL prefix for Timeline API code files");
|
166
|
+
}
|
167
|
+
})();
|
168
|
+
|
169
|
+
var includeJavascriptFiles = function(urlPrefix, filenames) {
|
170
|
+
SimileAjax.includeJavascriptFiles(document, urlPrefix, filenames);
|
171
|
+
}
|
172
|
+
var includeCssFiles = function(urlPrefix, filenames) {
|
173
|
+
SimileAjax.includeCssFiles(document, urlPrefix, filenames);
|
174
|
+
}
|
175
|
+
|
176
|
+
/*
|
177
|
+
* Include non-localized files
|
178
|
+
*/
|
179
|
+
if (bundle) {
|
180
|
+
includeJavascriptFiles(Timeline.urlPrefix, [ "timeline-bundle.js" ]);
|
181
|
+
includeCssFiles(Timeline.urlPrefix, [ "timeline-bundle.css" ]);
|
182
|
+
} else {
|
183
|
+
includeJavascriptFiles(Timeline.urlPrefix + "scripts/", javascriptFiles);
|
184
|
+
includeCssFiles(Timeline.urlPrefix + "styles/", cssFiles);
|
185
|
+
}
|
186
|
+
|
187
|
+
/*
|
188
|
+
* Include localized files
|
189
|
+
*/
|
190
|
+
var loadLocale = [];
|
191
|
+
loadLocale[defaultServerLocale] = true;
|
192
|
+
|
193
|
+
var tryExactLocale = function(locale) {
|
194
|
+
for (var l = 0; l < supportedLocales.length; l++) {
|
195
|
+
if (locale == supportedLocales[l]) {
|
196
|
+
loadLocale[locale] = true;
|
197
|
+
return true;
|
198
|
+
}
|
199
|
+
}
|
200
|
+
return false;
|
201
|
+
}
|
202
|
+
var tryLocale = function(locale) {
|
203
|
+
if (tryExactLocale(locale)) {
|
204
|
+
return locale;
|
205
|
+
}
|
206
|
+
|
207
|
+
var dash = locale.indexOf("-");
|
208
|
+
if (dash > 0 && tryExactLocale(locale.substr(0, dash))) {
|
209
|
+
return locale.substr(0, dash);
|
210
|
+
}
|
211
|
+
|
212
|
+
return null;
|
213
|
+
}
|
214
|
+
|
215
|
+
for (var l = 0; l < desiredLocales.length; l++) {
|
216
|
+
tryLocale(desiredLocales[l]);
|
217
|
+
}
|
218
|
+
|
219
|
+
var defaultClientLocale = defaultServerLocale;
|
220
|
+
var defaultClientLocales = ("language" in navigator ? navigator.language : navigator.browserLanguage).split(";");
|
221
|
+
for (var l = 0; l < defaultClientLocales.length; l++) {
|
222
|
+
var locale = tryLocale(defaultClientLocales[l]);
|
223
|
+
if (locale != null) {
|
224
|
+
defaultClientLocale = locale;
|
225
|
+
break;
|
226
|
+
}
|
227
|
+
}
|
228
|
+
|
229
|
+
for (var l = 0; l < supportedLocales.length; l++) {
|
230
|
+
var locale = supportedLocales[l];
|
231
|
+
if (loadLocale[locale]) {
|
232
|
+
includeJavascriptFiles(Timeline.urlPrefix + "scripts/l10n/" + locale + "/", localizedJavascriptFiles);
|
233
|
+
includeCssFiles(Timeline.urlPrefix + "styles/l10n/" + locale + "/", localizedCssFiles);
|
234
|
+
}
|
235
|
+
}
|
236
|
+
|
237
|
+
if (forceLocale == null) {
|
238
|
+
Timeline.serverLocale = defaultServerLocale;
|
239
|
+
Timeline.clientLocale = defaultClientLocale;
|
240
|
+
} else {
|
241
|
+
Timeline.serverLocale = forceLocale;
|
242
|
+
Timeline.clientLocale = forceLocale;
|
243
|
+
}
|
244
|
+
} catch (e) {
|
245
|
+
alert(e);
|
246
|
+
}
|
247
|
+
};
|
248
|
+
|
249
|
+
/*
|
250
|
+
* Load SimileAjax if it's not already loaded
|
251
|
+
*/
|
252
|
+
if (typeof SimileAjax == "undefined") {
|
253
|
+
window.SimileAjax_onLoad = loadMe;
|
254
|
+
|
255
|
+
var url = useLocalResources ?
|
256
|
+
"http://127.0.0.1:9999/ajax/api/simile-ajax-api.js?bundle=false" :
|
257
|
+
"http://static.simile.mit.edu/ajax/api-2.2.0/simile-ajax-api.js";
|
258
|
+
if (typeof Timeline_ajax_url == "string") {
|
259
|
+
url = Timeline_ajax_url;
|
260
|
+
}
|
261
|
+
var createScriptElement = function() {
|
262
|
+
var script = document.createElement("script");
|
263
|
+
script.type = "text/javascript";
|
264
|
+
script.language = "JavaScript";
|
265
|
+
script.src = url;
|
266
|
+
document.getElementsByTagName("head")[0].appendChild(script);
|
267
|
+
}
|
268
|
+
if (document.body == null) {
|
269
|
+
try {
|
270
|
+
document.write("<script src='" + url + "' type='text/javascript'></script>");
|
271
|
+
} catch (e) {
|
272
|
+
createScriptElement();
|
273
|
+
}
|
274
|
+
} else {
|
275
|
+
createScriptElement();
|
276
|
+
}
|
277
|
+
} else {
|
278
|
+
loadMe();
|
279
|
+
}
|
280
|
+
})();
|