muruca_widgets 0.1.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (160) hide show
  1. data/LICENSE +20 -0
  2. data/README.rdoc +12 -0
  3. data/generators/colorbox/colorbox_generator.rb +21 -0
  4. data/generators/colorbox/templates/README +10 -0
  5. data/generators/colorbox/templates/_colorbox.html.erb +10 -0
  6. data/generators/colorbox/templates/colorbox/colorbox.css +62 -0
  7. data/generators/colorbox/templates/colorbox/images/border.png +0 -0
  8. data/generators/colorbox/templates/colorbox/images/controls.png +0 -0
  9. data/generators/colorbox/templates/colorbox/images/internet_explorer/borderBottomCenter.png +0 -0
  10. data/generators/colorbox/templates/colorbox/images/internet_explorer/borderBottomLeft.png +0 -0
  11. data/generators/colorbox/templates/colorbox/images/internet_explorer/borderBottomRight.png +0 -0
  12. data/generators/colorbox/templates/colorbox/images/internet_explorer/borderMiddleLeft.png +0 -0
  13. data/generators/colorbox/templates/colorbox/images/internet_explorer/borderMiddleRight.png +0 -0
  14. data/generators/colorbox/templates/colorbox/images/internet_explorer/borderTopCenter.png +0 -0
  15. data/generators/colorbox/templates/colorbox/images/internet_explorer/borderTopLeft.png +0 -0
  16. data/generators/colorbox/templates/colorbox/images/internet_explorer/borderTopRight.png +0 -0
  17. data/generators/colorbox/templates/colorbox/images/loading.gif +0 -0
  18. data/generators/colorbox/templates/colorbox/images/loading_background.png +0 -0
  19. data/generators/colorbox/templates/colorbox/images/overlay.png +0 -0
  20. data/generators/colorbox/templates/jquery-1.3.2.min.js +19 -0
  21. data/generators/colorbox/templates/jquery.colorbox.js +698 -0
  22. data/generators/generator_helpers.rb +17 -0
  23. data/generators/iip_viewer/iip_viewer_generator.rb +18 -0
  24. data/generators/iip_viewer/templates/README +8 -0
  25. data/generators/iip_viewer/templates/_iip_flash_viewer.html.erb +14 -0
  26. data/generators/iip_viewer/templates/fliipish.swf +0 -0
  27. data/generators/iip_viewer/templates/iip_flashclient.js +24 -0
  28. data/generators/iip_viewer/templates/iip_helper.rb +24 -0
  29. data/generators/iip_viewer/templates/swfobject.js +8 -0
  30. data/generators/ipod_dropdown/ipod_dropdown_generator.rb +24 -0
  31. data/generators/ipod_dropdown/templates/README +8 -0
  32. data/generators/ipod_dropdown/templates/_ipod_dropdown.html.erb +25 -0
  33. data/generators/ipod_dropdown/templates/fg.menu.js +645 -0
  34. data/generators/ipod_dropdown/templates/ipod-menu/fg.menu.css +129 -0
  35. data/generators/ipod_dropdown/templates/ipod-menu/theme/images/ui-bg_flat_0_aaaaaa_40x100.png +0 -0
  36. data/generators/ipod_dropdown/templates/ipod-menu/theme/images/ui-bg_flat_55_fbec88_40x100.png +0 -0
  37. data/generators/ipod_dropdown/templates/ipod-menu/theme/images/ui-bg_glass_75_d0e5f5_1x400.png +0 -0
  38. data/generators/ipod_dropdown/templates/ipod-menu/theme/images/ui-bg_glass_85_dfeffc_1x400.png +0 -0
  39. data/generators/ipod_dropdown/templates/ipod-menu/theme/images/ui-bg_glass_95_fef1ec_1x400.png +0 -0
  40. data/generators/ipod_dropdown/templates/ipod-menu/theme/images/ui-bg_gloss-wave_55_5c9ccc_500x100.png +0 -0
  41. data/generators/ipod_dropdown/templates/ipod-menu/theme/images/ui-bg_inset-hard_100_f5f8f9_1x100.png +0 -0
  42. data/generators/ipod_dropdown/templates/ipod-menu/theme/images/ui-bg_inset-hard_100_fcfdfd_1x100.png +0 -0
  43. data/generators/ipod_dropdown/templates/ipod-menu/theme/images/ui-icons_217bc0_256x240.png +0 -0
  44. data/generators/ipod_dropdown/templates/ipod-menu/theme/images/ui-icons_2e83ff_256x240.png +0 -0
  45. data/generators/ipod_dropdown/templates/ipod-menu/theme/images/ui-icons_469bdd_256x240.png +0 -0
  46. data/generators/ipod_dropdown/templates/ipod-menu/theme/images/ui-icons_6da8d5_256x240.png +0 -0
  47. data/generators/ipod_dropdown/templates/ipod-menu/theme/images/ui-icons_cd0a0a_256x240.png +0 -0
  48. data/generators/ipod_dropdown/templates/ipod-menu/theme/images/ui-icons_d8e7f3_256x240.png +0 -0
  49. data/generators/ipod_dropdown/templates/ipod-menu/theme/images/ui-icons_f9bd01_256x240.png +0 -0
  50. data/generators/ipod_dropdown/templates/ipod-menu/theme/ui.accordion.css +9 -0
  51. data/generators/ipod_dropdown/templates/ipod-menu/theme/ui.all.css +2 -0
  52. data/generators/ipod_dropdown/templates/ipod-menu/theme/ui.base.css +1 -0
  53. data/generators/ipod_dropdown/templates/ipod-menu/theme/ui.core.css +37 -0
  54. data/generators/ipod_dropdown/templates/ipod-menu/theme/ui.datepicker.css +62 -0
  55. data/generators/ipod_dropdown/templates/ipod-menu/theme/ui.dialog.css +13 -0
  56. data/generators/ipod_dropdown/templates/ipod-menu/theme/ui.progressbar.css +4 -0
  57. data/generators/ipod_dropdown/templates/ipod-menu/theme/ui.resizable.css +13 -0
  58. data/generators/ipod_dropdown/templates/ipod-menu/theme/ui.slider.css +17 -0
  59. data/generators/ipod_dropdown/templates/ipod-menu/theme/ui.tabs.css +11 -0
  60. data/generators/ipod_dropdown/templates/ipod-menu/theme/ui.theme.css +247 -0
  61. data/generators/ipod_dropdown/templates/ipod_dropdown_helper.rb +52 -0
  62. data/generators/ipod_dropdown/templates/jquery-1.3.2.min.js +19 -0
  63. data/generators/simile_timeline/simile_timeline_generator.rb +24 -0
  64. data/generators/simile_timeline/templates/README +8 -0
  65. data/generators/simile_timeline/templates/_timeline.html.erb +7 -0
  66. data/generators/simile_timeline/templates/_timeline_include.html.erb +6 -0
  67. data/generators/simile_timeline/templates/timeline.js +82 -0
  68. data/generators/simile_timeline/templates/timeline_ajax/content/history.html +7 -0
  69. data/generators/simile_timeline/templates/timeline_ajax/images/bubble-arrow-point-down.png +0 -0
  70. data/generators/simile_timeline/templates/timeline_ajax/images/bubble-arrow-point-left.png +0 -0
  71. data/generators/simile_timeline/templates/timeline_ajax/images/bubble-arrow-point-right.png +0 -0
  72. data/generators/simile_timeline/templates/timeline_ajax/images/bubble-arrow-point-up.png +0 -0
  73. data/generators/simile_timeline/templates/timeline_ajax/images/bubble-bottom-left.png +0 -0
  74. data/generators/simile_timeline/templates/timeline_ajax/images/bubble-bottom-right.png +0 -0
  75. data/generators/simile_timeline/templates/timeline_ajax/images/bubble-bottom.png +0 -0
  76. data/generators/simile_timeline/templates/timeline_ajax/images/bubble-left.png +0 -0
  77. data/generators/simile_timeline/templates/timeline_ajax/images/bubble-right.png +0 -0
  78. data/generators/simile_timeline/templates/timeline_ajax/images/bubble-top-left.png +0 -0
  79. data/generators/simile_timeline/templates/timeline_ajax/images/bubble-top-right.png +0 -0
  80. data/generators/simile_timeline/templates/timeline_ajax/images/bubble-top.png +0 -0
  81. data/generators/simile_timeline/templates/timeline_ajax/images/close-button.png +0 -0
  82. data/generators/simile_timeline/templates/timeline_ajax/images/copy.png +0 -0
  83. data/generators/simile_timeline/templates/timeline_ajax/images/message-bottom-left.png +0 -0
  84. data/generators/simile_timeline/templates/timeline_ajax/images/message-bottom-right.png +0 -0
  85. data/generators/simile_timeline/templates/timeline_ajax/images/message-left.png +0 -0
  86. data/generators/simile_timeline/templates/timeline_ajax/images/message-right.png +0 -0
  87. data/generators/simile_timeline/templates/timeline_ajax/images/message-top-left.png +0 -0
  88. data/generators/simile_timeline/templates/timeline_ajax/images/message-top-right.png +0 -0
  89. data/generators/simile_timeline/templates/timeline_ajax/scripts/signal.js +43 -0
  90. data/generators/simile_timeline/templates/timeline_ajax/simile-ajax-api.js +212 -0
  91. data/generators/simile_timeline/templates/timeline_ajax/simile-ajax-bundle.js +2623 -0
  92. data/generators/simile_timeline/templates/timeline_ajax/styles/graphics-ie6.css +77 -0
  93. data/generators/simile_timeline/templates/timeline_ajax/styles/graphics.css +171 -0
  94. data/generators/simile_timeline/templates/timeline_helper.rb +36 -0
  95. data/generators/simile_timeline/templates/timeline_js/images/blue-circle.png +0 -0
  96. data/generators/simile_timeline/templates/timeline_js/images/bubble-bottom-arrow.png +0 -0
  97. data/generators/simile_timeline/templates/timeline_js/images/bubble-bottom-left.png +0 -0
  98. data/generators/simile_timeline/templates/timeline_js/images/bubble-bottom-right.png +0 -0
  99. data/generators/simile_timeline/templates/timeline_js/images/bubble-bottom.png +0 -0
  100. data/generators/simile_timeline/templates/timeline_js/images/bubble-left-arrow.png +0 -0
  101. data/generators/simile_timeline/templates/timeline_js/images/bubble-left.png +0 -0
  102. data/generators/simile_timeline/templates/timeline_js/images/bubble-right-arrow.png +0 -0
  103. data/generators/simile_timeline/templates/timeline_js/images/bubble-right.png +0 -0
  104. data/generators/simile_timeline/templates/timeline_js/images/bubble-top-arrow.png +0 -0
  105. data/generators/simile_timeline/templates/timeline_js/images/bubble-top-left.png +0 -0
  106. data/generators/simile_timeline/templates/timeline_js/images/bubble-top-right.png +0 -0
  107. data/generators/simile_timeline/templates/timeline_js/images/bubble-top.png +0 -0
  108. data/generators/simile_timeline/templates/timeline_js/images/close-button.png +0 -0
  109. data/generators/simile_timeline/templates/timeline_js/images/copyright-vertical.png +0 -0
  110. data/generators/simile_timeline/templates/timeline_js/images/copyright.png +0 -0
  111. data/generators/simile_timeline/templates/timeline_js/images/dark-blue-circle.png +0 -0
  112. data/generators/simile_timeline/templates/timeline_js/images/dark-green-circle.png +0 -0
  113. data/generators/simile_timeline/templates/timeline_js/images/dark-red-circle.png +0 -0
  114. data/generators/simile_timeline/templates/timeline_js/images/dull-blue-circle.png +0 -0
  115. data/generators/simile_timeline/templates/timeline_js/images/dull-green-circle.png +0 -0
  116. data/generators/simile_timeline/templates/timeline_js/images/dull-red-circle.png +0 -0
  117. data/generators/simile_timeline/templates/timeline_js/images/gray-circle.png +0 -0
  118. data/generators/simile_timeline/templates/timeline_js/images/green-circle.png +0 -0
  119. data/generators/simile_timeline/templates/timeline_js/images/message-bottom-left.png +0 -0
  120. data/generators/simile_timeline/templates/timeline_js/images/message-bottom-right.png +0 -0
  121. data/generators/simile_timeline/templates/timeline_js/images/message-left.png +0 -0
  122. data/generators/simile_timeline/templates/timeline_js/images/message-right.png +0 -0
  123. data/generators/simile_timeline/templates/timeline_js/images/message-top-left.png +0 -0
  124. data/generators/simile_timeline/templates/timeline_js/images/message-top-right.png +0 -0
  125. data/generators/simile_timeline/templates/timeline_js/images/progress-running.gif +0 -0
  126. data/generators/simile_timeline/templates/timeline_js/images/red-circle.png +0 -0
  127. data/generators/simile_timeline/templates/timeline_js/images/top-bubble.png +0 -0
  128. data/generators/simile_timeline/templates/timeline_js/scripts/l10n/cs/labellers.js +30 -0
  129. data/generators/simile_timeline/templates/timeline_js/scripts/l10n/cs/timeline.js +9 -0
  130. data/generators/simile_timeline/templates/timeline_js/scripts/l10n/de/labellers.js +27 -0
  131. data/generators/simile_timeline/templates/timeline_js/scripts/l10n/de/timeline.js +8 -0
  132. data/generators/simile_timeline/templates/timeline_js/scripts/l10n/en/labellers.js +12 -0
  133. data/generators/simile_timeline/templates/timeline_js/scripts/l10n/en/timeline.js +9 -0
  134. data/generators/simile_timeline/templates/timeline_js/scripts/l10n/es/labellers.js +8 -0
  135. data/generators/simile_timeline/templates/timeline_js/scripts/l10n/es/timeline.js +9 -0
  136. data/generators/simile_timeline/templates/timeline_js/scripts/l10n/fr/labellers.js +8 -0
  137. data/generators/simile_timeline/templates/timeline_js/scripts/l10n/fr/timeline.js +9 -0
  138. data/generators/simile_timeline/templates/timeline_js/scripts/l10n/it/labellers.js +8 -0
  139. data/generators/simile_timeline/templates/timeline_js/scripts/l10n/it/timeline.js +9 -0
  140. data/generators/simile_timeline/templates/timeline_js/scripts/l10n/nl/labellers.js +11 -0
  141. data/generators/simile_timeline/templates/timeline_js/scripts/l10n/nl/timeline.js +9 -0
  142. data/generators/simile_timeline/templates/timeline_js/scripts/l10n/ru/labellers.js +10 -0
  143. data/generators/simile_timeline/templates/timeline_js/scripts/l10n/ru/timeline.js +9 -0
  144. data/generators/simile_timeline/templates/timeline_js/scripts/l10n/se/labellers.js +12 -0
  145. data/generators/simile_timeline/templates/timeline_js/scripts/l10n/se/timeline.js +9 -0
  146. data/generators/simile_timeline/templates/timeline_js/scripts/l10n/tr/labellers.js +8 -0
  147. data/generators/simile_timeline/templates/timeline_js/scripts/l10n/tr/timeline.js +9 -0
  148. data/generators/simile_timeline/templates/timeline_js/scripts/l10n/vi/labellers.js +26 -0
  149. data/generators/simile_timeline/templates/timeline_js/scripts/l10n/vi/timeline.js +9 -0
  150. data/generators/simile_timeline/templates/timeline_js/scripts/l10n/zh/labellers.js +27 -0
  151. data/generators/simile_timeline/templates/timeline_js/scripts/l10n/zh/timeline.js +9 -0
  152. data/generators/simile_timeline/templates/timeline_js/timeline-api.js +280 -0
  153. data/generators/simile_timeline/templates/timeline_js/timeline-bundle.css +229 -0
  154. data/generators/simile_timeline/templates/timeline_js/timeline-bundle.js +2835 -0
  155. data/lib/muruca_widgets.rb +1 -0
  156. data/lib/timeline.rb +63 -0
  157. data/lib/timeline_source.rb +211 -0
  158. data/test/muruca_widgets_test.rb +8 -0
  159. data/test/test_helper.rb +3 -0
  160. 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,9 @@
1
+ /*==================================================
2
+ * Common localization strings
3
+ *==================================================
4
+ */
5
+
6
+ Timeline.strings["en"] = {
7
+ wikiLinkLabel: "Discuss"
8
+ };
9
+
@@ -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,9 @@
1
+ /*==================================================
2
+ * Common localization strings
3
+ *==================================================
4
+ */
5
+
6
+ Timeline.strings["es"] = {
7
+ wikiLinkLabel: "Discute"
8
+ };
9
+
@@ -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,9 @@
1
+ /*==================================================
2
+ * Common localization strings
3
+ *==================================================
4
+ */
5
+
6
+ Timeline.strings["fr"] = {
7
+ wikiLinkLabel: "Discute"
8
+ };
9
+
@@ -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,9 @@
1
+ /*==================================================
2
+ * Common localization strings
3
+ *==================================================
4
+ */
5
+
6
+ Timeline.strings["it"] = {
7
+ wikiLinkLabel: "Discuti"
8
+ };
9
+
@@ -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,9 @@
1
+ /*==================================================
2
+ * Common localization strings
3
+ *==================================================
4
+ */
5
+
6
+ Timeline.strings["nl"] = {
7
+ wikiLinkLabel: "Discussieer"
8
+ };
9
+
@@ -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,9 @@
1
+ /*==================================================
2
+ * Common localization strings
3
+ *==================================================
4
+ */
5
+
6
+ Timeline.strings["ru"] = {
7
+ wikiLinkLabel: "обсудите"
8
+ };
9
+
@@ -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,9 @@
1
+ /*==================================================
2
+ * Common localization strings
3
+ *==================================================
4
+ */
5
+
6
+ Timeline.strings["se"] = {
7
+ wikiLinkLabel: "Discuss"
8
+ };
9
+
@@ -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,9 @@
1
+ /*==================================================
2
+ * Common localization strings
3
+ *==================================================
4
+ */
5
+
6
+ Timeline.strings["tr"] = {
7
+ wikiLinkLabel: "Tartış"
8
+ };
9
+
@@ -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,9 @@
1
+ /*==================================================
2
+ * Common localization strings
3
+ *==================================================
4
+ */
5
+
6
+ Timeline.strings["vi"] = {
7
+ wikiLinkLabel: "Bàn luận"
8
+ };
9
+
@@ -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,9 @@
1
+ /*==================================================
2
+ * Common localization strings
3
+ *==================================================
4
+ */
5
+
6
+ Timeline.strings["zh"] = {
7
+ wikiLinkLabel: "讨论"
8
+ };
9
+
@@ -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
+ })();