dojo_src 1.4.102 → 1.5.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (1591) hide show
  1. data/Rakefile +2 -3
  2. data/bin/dojofy +1 -1
  3. data/dojo/dijit/Calendar.js +62 -24
  4. data/dojo/dijit/CheckedMenuItem.js +1 -1
  5. data/dojo/dijit/ColorPalette.js +43 -288
  6. data/dojo/dijit/Dialog.js +25 -24
  7. data/dojo/dijit/DialogUnderlay.js +3 -1
  8. data/dojo/dijit/Editor.js +229 -68
  9. data/dojo/dijit/InlineEditBox.js +72 -35
  10. data/dojo/dijit/LICENSE +1 -1
  11. data/dojo/dijit/Menu.js +75 -76
  12. data/dojo/dijit/MenuBar.js +5 -10
  13. data/dojo/dijit/MenuItem.js +18 -11
  14. data/dojo/dijit/PopupMenuItem.js +1 -0
  15. data/dojo/dijit/ProgressBar.js +1 -1
  16. data/dojo/dijit/TitlePane.js +18 -38
  17. data/dojo/dijit/Toolbar.js +4 -1
  18. data/dojo/dijit/ToolbarSeparator.js +1 -1
  19. data/dojo/dijit/Tooltip.js +7 -14
  20. data/dojo/dijit/Tree.js +116 -64
  21. data/dojo/dijit/_Container.js +5 -11
  22. data/dojo/dijit/_CssStateMixin.js +252 -0
  23. data/dojo/dijit/_DialogMixin.js +3 -1
  24. data/dojo/dijit/_HasDropDown.js +48 -58
  25. data/dojo/dijit/_KeyNavContainer.js +4 -4
  26. data/dojo/dijit/_PaletteMixin.js +313 -0
  27. data/dojo/dijit/_Templated.js +2 -1
  28. data/dojo/dijit/_TimePicker.js +11 -6
  29. data/dojo/dijit/_Widget.js +125 -63
  30. data/dojo/dijit/_base/focus.js +15 -9
  31. data/dojo/dijit/_base/manager.js +210 -183
  32. data/dojo/dijit/_base/place.js +3 -52
  33. data/dojo/dijit/_base/popup.js +101 -89
  34. data/dojo/dijit/_base/scroll.js +4 -91
  35. data/dojo/dijit/_base/sniff.js +3 -66
  36. data/dojo/dijit/_base/typematic.js +31 -27
  37. data/dojo/dijit/_base/window.js +3 -23
  38. data/dojo/dijit/_editor/RichText.js +180 -74
  39. data/dojo/dijit/_editor/_Plugin.js +17 -16
  40. data/dojo/dijit/_editor/html.js +1 -1
  41. data/dojo/dijit/_editor/nls/FontChoice.js +2 -1
  42. data/dojo/dijit/_editor/nls/ar/LinkDialog.js +7 -1
  43. data/dojo/dijit/_editor/nls/ar/commands.js +12 -6
  44. data/dojo/dijit/_editor/nls/ca/LinkDialog.js +8 -3
  45. data/dojo/dijit/_editor/nls/ca/commands.js +4 -0
  46. data/dojo/dijit/_editor/nls/da/LinkDialog.js +7 -1
  47. data/dojo/dijit/_editor/nls/da/commands.js +6 -1
  48. data/dojo/dijit/_editor/nls/el/LinkDialog.js +8 -2
  49. data/dojo/dijit/_editor/nls/el/commands.js +7 -2
  50. data/dojo/dijit/_editor/nls/fi/LinkDialog.js +7 -1
  51. data/dojo/dijit/_editor/nls/fi/commands.js +7 -2
  52. data/dojo/dijit/_editor/nls/he/LinkDialog.js +7 -1
  53. data/dojo/dijit/_editor/nls/he/commands.js +9 -2
  54. data/dojo/dijit/_editor/nls/ja/commands.js +9 -10
  55. data/dojo/dijit/_editor/nls/nb/LinkDialog.js +7 -1
  56. data/dojo/dijit/_editor/nls/nb/commands.js +5 -0
  57. data/dojo/dijit/_editor/nls/nl/LinkDialog.js +7 -1
  58. data/dojo/dijit/_editor/nls/nl/commands.js +5 -0
  59. data/dojo/dijit/_editor/nls/pt-pt/LinkDialog.js +8 -2
  60. data/dojo/dijit/_editor/nls/pt-pt/commands.js +5 -0
  61. data/dojo/dijit/_editor/nls/ro/FontChoice.js +27 -0
  62. data/dojo/dijit/_editor/nls/ro/LinkDialog.js +13 -0
  63. data/dojo/dijit/_editor/nls/ro/commands.js +48 -0
  64. data/dojo/dijit/_editor/nls/sk/LinkDialog.js +9 -4
  65. data/dojo/dijit/_editor/nls/sk/commands.js +4 -0
  66. data/dojo/dijit/_editor/nls/sl/LinkDialog.js +6 -1
  67. data/dojo/dijit/_editor/nls/sl/commands.js +12 -8
  68. data/dojo/dijit/_editor/nls/sv/LinkDialog.js +7 -1
  69. data/dojo/dijit/_editor/nls/sv/commands.js +8 -2
  70. data/dojo/dijit/_editor/nls/th/LinkDialog.js +6 -1
  71. data/dojo/dijit/_editor/nls/th/commands.js +6 -2
  72. data/dojo/dijit/_editor/nls/tr/LinkDialog.js +7 -1
  73. data/dojo/dijit/_editor/nls/tr/commands.js +5 -0
  74. data/dojo/dijit/_editor/nls/zh-tw/LinkDialog.js +1 -1
  75. data/dojo/dijit/_editor/nls/zh/commands.js +3 -3
  76. data/dojo/dijit/_editor/plugins/AlwaysShowToolbar.js +2 -2
  77. data/dojo/dijit/_editor/plugins/EnterKeyHandling.js +85 -4
  78. data/dojo/dijit/_editor/plugins/FontChoice.js +194 -32
  79. data/dojo/dijit/_editor/plugins/FullScreen.js +76 -32
  80. data/dojo/dijit/_editor/plugins/LinkDialog.js +79 -22
  81. data/dojo/dijit/_editor/plugins/NewPage.js +7 -2
  82. data/dojo/dijit/_editor/plugins/Print.js +6 -3
  83. data/dojo/dijit/_editor/plugins/TabIndent.js +2 -2
  84. data/dojo/dijit/_editor/plugins/TextColor.js +75 -23
  85. data/dojo/dijit/_editor/plugins/ToggleDir.js +1 -1
  86. data/dojo/dijit/_editor/plugins/ViewSource.js +53 -28
  87. data/dojo/dijit/_editor/range.js +22 -19
  88. data/dojo/dijit/_editor/selection.js +56 -4
  89. data/dojo/dijit/dijit-all.js +5 -1
  90. data/dojo/dijit/form/Button.js +24 -58
  91. data/dojo/dijit/form/CheckBox.js +27 -19
  92. data/dojo/dijit/form/ComboBox.js +73 -54
  93. data/dojo/dijit/form/CurrencyTextBox.js +8 -5
  94. data/dojo/dijit/form/FilteringSelect.js +14 -6
  95. data/dojo/dijit/form/Form.js +26 -16
  96. data/dojo/dijit/form/HorizontalRuleLabels.js +2 -2
  97. data/dojo/dijit/form/HorizontalSlider.js +12 -1
  98. data/dojo/dijit/form/MultiSelect.js +3 -3
  99. data/dojo/dijit/form/NumberSpinner.js +4 -5
  100. data/dojo/dijit/form/NumberTextBox.js +25 -17
  101. data/dojo/dijit/form/Select.js +24 -18
  102. data/dojo/dijit/form/SimpleTextarea.js +2 -2
  103. data/dojo/dijit/form/TextBox.js +72 -12
  104. data/dojo/dijit/form/Textarea.js +8 -1
  105. data/dojo/dijit/form/TimeTextBox.js +3 -2
  106. data/dojo/dijit/form/ValidationTextBox.js +56 -42
  107. data/dojo/dijit/form/VerticalRuleLabels.js +4 -1
  108. data/dojo/dijit/form/VerticalSlider.js +0 -30
  109. data/dojo/dijit/form/_DateTimeTextBox.js +23 -17
  110. data/dojo/dijit/form/_FormMixin.js +23 -19
  111. data/dojo/dijit/form/_FormSelectWidget.js +3 -3
  112. data/dojo/dijit/form/_FormWidget.js +66 -164
  113. data/dojo/dijit/form/_Spinner.js +18 -37
  114. data/dojo/dijit/form/nls/ro/ComboBox.js +5 -0
  115. data/dojo/dijit/form/nls/ro/Textarea.js +8 -0
  116. data/dojo/dijit/form/nls/ro/validate.js +6 -0
  117. data/dojo/dijit/form/templates/Button.html +15 -16
  118. data/dojo/dijit/form/templates/CheckBox.html +3 -3
  119. data/dojo/dijit/form/templates/ComboBox.html +13 -14
  120. data/dojo/dijit/form/templates/ComboButton.html +13 -10
  121. data/dojo/dijit/form/templates/DropDownButton.html +18 -20
  122. data/dojo/dijit/form/templates/HorizontalSlider.html +7 -7
  123. data/dojo/dijit/form/templates/Select.html +7 -8
  124. data/dojo/dijit/form/templates/Spinner.html +23 -24
  125. data/dojo/dijit/form/templates/TextBox.html +6 -4
  126. data/dojo/dijit/form/templates/ValidationTextBox.html +8 -10
  127. data/dojo/dijit/form/templates/VerticalSlider.html +8 -9
  128. data/dojo/dijit/icons/commonIcons.css +164 -0
  129. data/dojo/dijit/icons/commonIcons_rtl.css +127 -0
  130. data/dojo/dijit/icons/editorIcons.css +78 -0
  131. data/dojo/dijit/icons/editorIcons_rtl.css +23 -0
  132. data/dojo/dijit/icons/images/commonIconsObjActDisabled.png +0 -0
  133. data/dojo/dijit/icons/images/commonIconsObjActDisabled_rtl.png +0 -0
  134. data/dojo/dijit/icons/images/commonIconsObjActEnabled.png +0 -0
  135. data/dojo/dijit/icons/images/commonIconsObjActEnabled8bit.png +0 -0
  136. data/dojo/dijit/icons/images/commonIconsObjActEnabled8bit_rtl.png +0 -0
  137. data/dojo/dijit/icons/images/commonIconsObjActEnabled_rtl.png +0 -0
  138. data/dojo/dijit/icons/images/editorIconsDisabled.png +0 -0
  139. data/dojo/dijit/icons/images/editorIconsDisabled_rtl.png +0 -0
  140. data/dojo/dijit/icons/images/editorIconsEnabled.png +0 -0
  141. data/dojo/dijit/icons/images/editorIconsEnabled_rtl.png +0 -0
  142. data/dojo/dijit/icons/images/loadingAnimation_rtl.gif +0 -0
  143. data/dojo/dijit/layout/AccordionContainer.js +214 -104
  144. data/dojo/dijit/layout/BorderContainer.js +50 -38
  145. data/dojo/dijit/layout/ContentPane.js +13 -11
  146. data/dojo/dijit/layout/ScrollingTabController.js +29 -28
  147. data/dojo/dijit/layout/SplitContainer.js +0 -1
  148. data/dojo/dijit/layout/StackContainer.js +15 -22
  149. data/dojo/dijit/layout/StackController.js +15 -18
  150. data/dojo/dijit/layout/TabContainer.js +2 -0
  151. data/dojo/dijit/layout/TabController.js +21 -17
  152. data/dojo/dijit/layout/_LayoutWidget.js +0 -1
  153. data/dojo/dijit/layout/templates/AccordionButton.html +5 -3
  154. data/dojo/dijit/layout/templates/ScrollingTabController.html +13 -8
  155. data/dojo/dijit/layout/templates/_ScrollingTabControllerButton.html +4 -5
  156. data/dojo/dijit/layout/templates/_TabButton.html +10 -9
  157. data/dojo/dijit/nls/ro/common.js +7 -0
  158. data/dojo/dijit/nls/ro/loading.js +5 -0
  159. data/dojo/dijit/robot.js +0 -97
  160. data/dojo/dijit/robotx.js +1 -1
  161. data/dojo/dijit/templates/Calendar.html +6 -6
  162. data/dojo/dijit/templates/CheckedMenuItem.html +3 -4
  163. data/dojo/dijit/templates/ColorPalette.html +4 -3
  164. data/dojo/dijit/templates/Dialog.html +1 -1
  165. data/dojo/dijit/templates/Menu.html +1 -1
  166. data/dojo/dijit/templates/MenuBarItem.html +1 -1
  167. data/dojo/dijit/templates/MenuItem.html +3 -3
  168. data/dojo/dijit/templates/MenuSeparator.html +6 -2
  169. data/dojo/dijit/templates/ProgressBar.html +1 -2
  170. data/dojo/dijit/templates/TimePicker.html +1 -1
  171. data/dojo/dijit/templates/TitlePane.html +8 -6
  172. data/dojo/dijit/templates/TreeNode.html +3 -3
  173. data/dojo/dijit/tests/Tree.html +16 -30
  174. data/dojo/dijit/tests/Tree_with_JRS.html +33 -27
  175. data/dojo/dijit/tests/Widget-placeAt.html +6 -6
  176. data/dojo/dijit/tests/_Container.html +1 -1
  177. data/dojo/dijit/tests/_Templated-widgetsInTemplate.html +2 -2
  178. data/dojo/dijit/tests/_Widget-attr.html +26 -7
  179. data/dojo/dijit/tests/_Widget-connect-performance.html +1 -1
  180. data/dojo/dijit/tests/_Widget-deferredConnect.html +1 -1
  181. data/dojo/dijit/tests/_Widget-lifecycle.html +1 -1
  182. data/dojo/dijit/tests/_Widget-ondijitclick.html +1 -1
  183. data/dojo/dijit/tests/_Widget-subscribe.html +1 -1
  184. data/dojo/dijit/tests/_altCalendar.html +12 -11
  185. data/dojo/dijit/tests/_base/module.js +5 -9
  186. data/dojo/dijit/tests/_base/place.html +2 -1
  187. data/dojo/dijit/tests/_base/robot/FocusManager.html +0 -2
  188. data/dojo/dijit/tests/_base/robot/focus_mouse.html +0 -1
  189. data/dojo/dijit/tests/_base/robot/popup.html +0 -1
  190. data/dojo/dijit/tests/_base/robot/typematic.html +72 -0
  191. data/dojo/dijit/tests/_base/tabindex.html +1 -1
  192. data/dojo/dijit/tests/_base/test_FocusManager.html +3 -2
  193. data/dojo/dijit/tests/_base/test_focusWidget.html +1 -1
  194. data/dojo/dijit/tests/_base/test_typematic.html +10 -3
  195. data/dojo/dijit/tests/_testCommon.js +28 -12
  196. data/dojo/dijit/tests/bidi.html +188 -0
  197. data/dojo/dijit/tests/editor/BackForwardState.html +2 -2
  198. data/dojo/dijit/tests/editor/EnterKeyHandling.html +31 -11
  199. data/dojo/dijit/tests/editor/_Editor.html +5 -4
  200. data/dojo/dijit/tests/editor/nls_8859-2.html +4 -4
  201. data/dojo/dijit/tests/editor/nls_sjis.html +5 -5
  202. data/dojo/dijit/tests/editor/nls_utf8.html +2 -2
  203. data/dojo/dijit/tests/editor/robot/BackForwardState.html +8 -9
  204. data/dojo/dijit/tests/editor/robot/Editor_FontChoice.html +282 -757
  205. data/dojo/dijit/tests/editor/robot/Editor_FullScreen.html +55 -55
  206. data/dojo/dijit/tests/editor/robot/Editor_LinkDialog.html +502 -123
  207. data/dojo/dijit/tests/editor/robot/Editor_NewPage.html +11 -11
  208. data/dojo/dijit/tests/editor/robot/Editor_ViewSource.html +56 -56
  209. data/dojo/dijit/tests/editor/robot/Editor_a11y.html +14 -14
  210. data/dojo/dijit/tests/editor/robot/Editor_misc.html +120 -4
  211. data/dojo/dijit/tests/editor/robot/Editor_mouse.html +4 -4
  212. data/dojo/dijit/tests/editor/robot/EnterKeyHandling.html +128 -16
  213. data/dojo/dijit/tests/editor/test_CustomPlugin.html +4 -4
  214. data/dojo/dijit/tests/editor/test_Editor.html +103 -70
  215. data/dojo/dijit/tests/editor/test_FontChoice.html +19 -5
  216. data/dojo/dijit/tests/editor/test_FullScreen.html +2 -2
  217. data/dojo/dijit/tests/editor/test_LinkDialog.html +2 -2
  218. data/dojo/dijit/tests/editor/test_NewPage.html +2 -2
  219. data/dojo/dijit/tests/editor/test_Print.html +2 -2
  220. data/dojo/dijit/tests/editor/test_TabIndent.html +2 -2
  221. data/dojo/dijit/tests/editor/test_ToggleDir.html +2 -2
  222. data/dojo/dijit/tests/editor/test_ToggleDir_rtl.html +2 -2
  223. data/dojo/dijit/tests/editor/test_ViewSource.html +2 -2
  224. data/dojo/dijit/tests/editor/test_resize.html +1 -1
  225. data/dojo/dijit/tests/form/Form.html +30 -16
  226. data/dojo/dijit/tests/form/FormInvalid.html +4 -4
  227. data/dojo/dijit/tests/form/TextBox_sizes.html +532 -0
  228. data/dojo/dijit/tests/form/TextBox_sizes.js +456 -0
  229. data/dojo/dijit/tests/form/_autoComplete.html +35 -15
  230. data/dojo/dijit/tests/form/module.js +25 -1
  231. data/dojo/dijit/tests/form/robot/Button_a11y.html +27 -14
  232. data/dojo/dijit/tests/form/robot/Button_mouse.html +429 -18
  233. data/dojo/dijit/tests/form/robot/DateTextBox.html +31 -34
  234. data/dojo/dijit/tests/form/robot/Form.html +3 -4
  235. data/dojo/dijit/tests/form/robot/Select.html +410 -0
  236. data/dojo/dijit/tests/form/robot/Slider_a11y.html +27 -28
  237. data/dojo/dijit/tests/form/robot/Slider_mouse.html +29 -29
  238. data/dojo/dijit/tests/form/robot/Spinner_a11y.html +88 -51
  239. data/dojo/dijit/tests/form/robot/Spinner_mouse.html +36 -37
  240. data/dojo/dijit/tests/form/robot/Textarea.html +178 -0
  241. data/dojo/dijit/tests/form/robot/TimeTextBox.html +81 -0
  242. data/dojo/dijit/tests/form/robot/_autoComplete_a11y.html +128 -47
  243. data/dojo/dijit/tests/form/robot/_autoComplete_mouse.html +171 -24
  244. data/dojo/dijit/tests/form/robot/test_validate.html +362 -102
  245. data/dojo/dijit/tests/form/robot/validationMessages.html +470 -0
  246. data/dojo/dijit/tests/form/runTests.html +9 -0
  247. data/dojo/dijit/tests/form/test_Button.html +56 -10
  248. data/dojo/dijit/tests/form/test_CheckBox.html +212 -61
  249. data/dojo/dijit/tests/form/test_ComboBox_destroy.html +2 -2
  250. data/dojo/dijit/tests/form/test_DateTextBox.html +17 -12
  251. data/dojo/dijit/tests/form/test_Form_onsubmit.html +2 -2
  252. data/dojo/dijit/tests/form/test_MultiSelect.html +7 -7
  253. data/dojo/dijit/tests/form/test_Select.html +180 -97
  254. data/dojo/dijit/tests/form/test_SimpleTextarea.html +16 -11
  255. data/dojo/dijit/tests/form/test_Slider.html +4 -4
  256. data/dojo/dijit/tests/form/test_Spinner.html +10 -11
  257. data/dojo/dijit/tests/form/test_Textarea.html +80 -76
  258. data/dojo/dijit/tests/form/test_TimeTextBox.html +2 -2
  259. data/dojo/dijit/tests/form/test_validStatePerformance.html +6 -6
  260. data/dojo/dijit/tests/form/test_validate.html +34 -23
  261. data/dojo/dijit/tests/form/test_validationState.html +8 -8
  262. data/dojo/dijit/tests/general-module.js +1 -0
  263. data/dojo/dijit/tests/helpers.js +2 -2
  264. data/dojo/dijit/tests/i18n/calendar.html +2 -2
  265. data/dojo/dijit/tests/i18n/currency.html +1 -1
  266. data/dojo/dijit/tests/i18n/date.html +1 -1
  267. data/dojo/dijit/tests/i18n/digit.html +1 -1
  268. data/dojo/dijit/tests/i18n/module.js +6 -6
  269. data/dojo/dijit/tests/i18n/number.html +1 -1
  270. data/dojo/dijit/tests/i18n/textbox.html +1 -1
  271. data/dojo/dijit/tests/i18n/time.html +1 -1
  272. data/dojo/dijit/tests/images/copy.gif +0 -0
  273. data/dojo/dijit/tests/images/cut.gif +0 -0
  274. data/dojo/dijit/tests/images/note.gif +0 -0
  275. data/dojo/dijit/tests/images/paste.gif +0 -0
  276. data/dojo/dijit/tests/infrastructure-module.js +7 -7
  277. data/dojo/dijit/tests/layout/AccordionContainer.html +81 -23
  278. data/dojo/dijit/tests/layout/ContentPane.html +40 -40
  279. data/dojo/dijit/tests/layout/ContentPaneLayout.html +6 -6
  280. data/dojo/dijit/tests/layout/TabContainer.html +20 -20
  281. data/dojo/dijit/tests/layout/getResponse.php +1 -1
  282. data/dojo/dijit/tests/layout/module.js +9 -2
  283. data/dojo/dijit/tests/layout/nestedStack.html +1 -1
  284. data/dojo/dijit/tests/layout/robot/AccordionContainer_a11y.html +68 -0
  285. data/dojo/dijit/tests/layout/robot/AccordionContainer_mouse.html +53 -0
  286. data/dojo/dijit/tests/layout/robot/BorderContainer.html +358 -0
  287. data/dojo/dijit/tests/layout/robot/TabContainer_a11y.html +29 -12
  288. data/dojo/dijit/tests/layout/robot/TabContainer_mouse.html +19 -13
  289. data/dojo/dijit/tests/layout/test_AccordionContainer.html +12 -8
  290. data/dojo/dijit/tests/layout/test_AccordionContainerDestroy.html +3 -3
  291. data/dojo/dijit/tests/layout/test_BorderContainer.html +21 -19
  292. data/dojo/dijit/tests/layout/test_BorderContainer_complex.html +2 -2
  293. data/dojo/dijit/tests/layout/test_BorderContainer_experimental.html +2 -2
  294. data/dojo/dijit/tests/layout/test_BorderContainer_full.html +2 -2
  295. data/dojo/dijit/tests/layout/test_BorderContainer_nested.html +2 -2
  296. data/dojo/dijit/tests/layout/test_BorderContainer_prog.html +2 -2
  297. data/dojo/dijit/tests/layout/test_ContentPane.html +7 -7
  298. data/dojo/dijit/tests/layout/test_ContentPane_prog.html +4 -4
  299. data/dojo/dijit/tests/layout/test_Gui.html +2 -2
  300. data/dojo/dijit/tests/layout/test_LayoutContainer.html +2 -2
  301. data/dojo/dijit/tests/layout/test_SplitContainer.html +1 -1
  302. data/dojo/dijit/tests/layout/test_StackContainer.html +6 -6
  303. data/dojo/dijit/tests/layout/test_StackContainer_code.html +2 -2
  304. data/dojo/dijit/tests/layout/test_TabContainer.html +10 -10
  305. data/dojo/dijit/tests/layout/test_TabContainerTitlePane.html +2 -2
  306. data/dojo/dijit/tests/layout/test_TabContainer_noLayout.html +2 -2
  307. data/dojo/dijit/tests/layout/test_TabContainer_prog.html +2 -2
  308. data/dojo/dijit/tests/layout/test_TabContainer_remote.html +2 -2
  309. data/dojo/dijit/tests/layout/test_refreshOnShow.html +2 -2
  310. data/dojo/dijit/tests/robot/Calendar_a11y.html +6 -7
  311. data/dojo/dijit/tests/robot/ColorPalette.html +38 -21
  312. data/dojo/dijit/tests/robot/Dialog_a11y.html +58 -17
  313. data/dojo/dijit/tests/robot/Dialog_mouse.html +0 -1
  314. data/dojo/dijit/tests/robot/InlineEditBox.html +135 -24
  315. data/dojo/dijit/tests/robot/Menu_a11y.html +7 -7
  316. data/dojo/dijit/tests/robot/Menu_mouse.html +2 -11
  317. data/dojo/dijit/tests/robot/TitlePane.html +20 -20
  318. data/dojo/dijit/tests/robot/Toolbar.html +3 -4
  319. data/dojo/dijit/tests/robot/TooltipDialog_a11y.html +233 -110
  320. data/dojo/dijit/tests/robot/TooltipDialog_mouse.html +121 -0
  321. data/dojo/dijit/tests/robot/Tooltip_a11y.html +15 -15
  322. data/dojo/dijit/tests/robot/Tooltip_mouse.html +0 -1
  323. data/dojo/dijit/tests/robot/Tree_a11y.html +74 -1
  324. data/dojo/dijit/tests/robot/Tree_dnd.html +5 -5
  325. data/dojo/dijit/tests/robot/Tree_dnd_multiParent.html +4 -4
  326. data/dojo/dijit/tests/robot/_Widget-deferredConnect.html +0 -1
  327. data/dojo/dijit/tests/robot/_Widget-ondijitclick_a11y.html +0 -1
  328. data/dojo/dijit/tests/robot/_Widget-ondijitclick_mouse.html +0 -1
  329. data/dojo/dijit/tests/test.html +1 -1
  330. data/dojo/dijit/tests/test_Calendar.html +4 -4
  331. data/dojo/dijit/tests/test_ColorPalette.html +3 -3
  332. data/dojo/dijit/tests/test_ColorPalette_quirks.html +5 -0
  333. data/dojo/dijit/tests/test_Declaration.html +2 -2
  334. data/dojo/dijit/tests/test_Dialog.html +65 -4
  335. data/dojo/dijit/tests/test_Dialog_focusDestroy.html +2 -2
  336. data/dojo/dijit/tests/test_InlineEditBox.html +14 -5
  337. data/dojo/dijit/tests/test_Menu.html +10 -8
  338. data/dojo/dijit/tests/test_Menu_iframe.html +1 -1
  339. data/dojo/dijit/tests/test_ProgressBar.html +2 -2
  340. data/dojo/dijit/tests/test_TitlePane.html +18 -18
  341. data/dojo/dijit/tests/test_Toolbar.html +2 -2
  342. data/dojo/dijit/tests/test_Tooltip.html +3 -3
  343. data/dojo/dijit/tests/test_TooltipDialog.html +20 -10
  344. data/dojo/dijit/tests/test_Tree.html +26 -20
  345. data/dojo/dijit/tests/test_Tree_Notification_API_Support.html +2 -2
  346. data/dojo/dijit/tests/test_bgIframe.html +2 -2
  347. data/dojo/dijit/tests/test_instantiate.html +2 -2
  348. data/dojo/dijit/tests/tree/module.js +2 -2
  349. data/dojo/dijit/tests/tree/test_CustomLabel.html +2 -2
  350. data/dojo/dijit/tests/tree/test_Tree_DnD.html +2 -2
  351. data/dojo/dijit/tests/tree/test_Tree_Programmatic.html +2 -2
  352. data/dojo/dijit/tests/tree/test_Tree_v1.html +3 -3
  353. data/dojo/dijit/themes/a11y/colors3x4-rtl.png +0 -0
  354. data/dojo/dijit/themes/a11y/colors3x4.png +0 -0
  355. data/dojo/dijit/themes/a11y/colors7x10-rtl.png +0 -0
  356. data/dojo/dijit/themes/a11y/colors7x10.png +0 -0
  357. data/dojo/dijit/themes/claro/Calendar.css +257 -0
  358. data/dojo/dijit/themes/claro/Calendar_rtl.css +19 -0
  359. data/dojo/dijit/themes/claro/ColorPalette.css +44 -0
  360. data/dojo/dijit/themes/claro/Common.css +79 -0
  361. data/dojo/dijit/themes/claro/Dialog.css +212 -0
  362. data/dojo/dijit/themes/claro/Dialog_rtl.css +10 -0
  363. data/dojo/dijit/themes/claro/Editor.css +56 -0
  364. data/dojo/dijit/themes/claro/Editor_rtl.css +7 -0
  365. data/dojo/dijit/themes/claro/InlineEditBox.css +23 -0
  366. data/dojo/dijit/themes/claro/Menu.css +182 -0
  367. data/dojo/dijit/themes/claro/Menu_rtl.css +9 -0
  368. data/dojo/dijit/themes/claro/ProgressBar.css +53 -0
  369. data/dojo/dijit/themes/claro/TimePicker.css +125 -0
  370. data/dojo/dijit/themes/claro/TimePicker_rtl.css +10 -0
  371. data/dojo/dijit/themes/claro/TitlePane.css +73 -0
  372. data/dojo/dijit/themes/claro/TitlePane_rtl.css +4 -0
  373. data/dojo/dijit/themes/claro/Toolbar.css +170 -0
  374. data/dojo/dijit/themes/claro/Tree.css +122 -0
  375. data/dojo/dijit/themes/claro/claro.css +29 -0
  376. data/dojo/dijit/themes/claro/claro_rtl.css +15 -0
  377. data/dojo/dijit/themes/claro/document.css +109 -0
  378. data/dojo/dijit/themes/claro/form/Button.css +168 -0
  379. data/dojo/dijit/themes/claro/form/Button_rtl.css +22 -0
  380. data/dojo/dijit/themes/claro/form/Checkbox.css +77 -0
  381. data/dojo/dijit/themes/claro/form/Common.css +176 -0
  382. data/dojo/dijit/themes/claro/form/Common_rtl.css +10 -0
  383. data/dojo/dijit/themes/claro/form/NumberSpinner.css +143 -0
  384. data/dojo/dijit/themes/claro/form/RadioButton.css +82 -0
  385. data/dojo/dijit/themes/claro/form/Select.css +124 -0
  386. data/dojo/dijit/themes/claro/form/Select_rtl.css +4 -0
  387. data/dojo/dijit/themes/claro/form/Slider.css +359 -0
  388. data/dojo/dijit/themes/claro/form/Slider_rtl.css +31 -0
  389. data/dojo/dijit/themes/claro/form/images/button.png +0 -0
  390. data/dojo/dijit/themes/claro/form/images/buttonArrows.png +0 -0
  391. data/dojo/dijit/themes/claro/form/images/button_grad_d.png +0 -0
  392. data/dojo/dijit/themes/claro/form/images/checkboxAndRadioButtons_IE6.png +0 -0
  393. data/dojo/dijit/themes/claro/form/images/checkboxRadioButtonStates.png +0 -0
  394. data/dojo/dijit/themes/claro/form/images/commonFormArrows.png +0 -0
  395. data/dojo/dijit/themes/claro/form/images/error.png +0 -0
  396. data/dojo/dijit/themes/claro/form/images/formHighlight.png +0 -0
  397. data/dojo/dijit/themes/claro/form/images/shadow.png +0 -0
  398. data/dojo/dijit/themes/claro/form/images/sliderHorizontal.png +0 -0
  399. data/dojo/dijit/themes/claro/form/images/sliderThumbs.png +0 -0
  400. data/dojo/dijit/themes/claro/form/images/sliderVertical.png +0 -0
  401. data/dojo/dijit/themes/claro/form/images/textBox_back.png +0 -0
  402. data/dojo/dijit/themes/claro/images/calendarArrows.png +0 -0
  403. data/dojo/dijit/themes/claro/images/calendarArrows8bit.png +0 -0
  404. data/dojo/dijit/themes/claro/images/calendarContainerImages.png +0 -0
  405. data/dojo/dijit/themes/claro/images/checkmarkNoBorder.gif +0 -0
  406. data/dojo/dijit/themes/claro/images/checkmarkNoBorder.png +0 -0
  407. data/dojo/dijit/themes/claro/images/commonHighlight.png +0 -0
  408. data/dojo/dijit/themes/claro/images/dialogCloseIcon.png +0 -0
  409. data/dojo/dijit/themes/claro/images/dialogCloseIcon8bit.png +0 -0
  410. data/dojo/dijit/themes/claro/images/dnd.png +0 -0
  411. data/dojo/dijit/themes/claro/images/loading.gif +0 -0
  412. data/dojo/dijit/themes/claro/images/loadingAnimation.gif +0 -0
  413. data/dojo/dijit/themes/claro/images/menuHighlight.png +0 -0
  414. data/dojo/dijit/themes/claro/images/progressBarAnim.gif +0 -0
  415. data/dojo/dijit/themes/claro/images/progressBarEmpty.png +0 -0
  416. data/dojo/dijit/themes/claro/images/progressBarFull.png +0 -0
  417. data/dojo/dijit/themes/claro/images/spriteArrows.png +0 -0
  418. data/dojo/dijit/themes/claro/images/titlebar.png +0 -0
  419. data/dojo/dijit/themes/claro/images/tooltip.png +0 -0
  420. data/dojo/dijit/themes/claro/images/tooltip8bit.png +0 -0
  421. data/dojo/dijit/themes/claro/images/treeExpandImages.png +0 -0
  422. data/dojo/dijit/themes/claro/images/treeExpandImages8bit.png +0 -0
  423. data/dojo/dijit/themes/claro/images/treeExpand_loading.gif +0 -0
  424. data/dojo/dijit/themes/claro/layout/AccordionContainer.css +108 -0
  425. data/dojo/dijit/themes/claro/layout/BorderContainer.css +134 -0
  426. data/dojo/dijit/themes/claro/layout/ContentPane.css +40 -0
  427. data/dojo/dijit/themes/claro/layout/TabContainer.css +439 -0
  428. data/dojo/dijit/themes/claro/layout/TabContainer_rtl.css +77 -0
  429. data/dojo/dijit/themes/claro/layout/images/accordion.png +0 -0
  430. data/dojo/dijit/themes/claro/layout/images/splitterHorizontalHover.png +0 -0
  431. data/dojo/dijit/themes/claro/layout/images/splitterVerticalHover.png +0 -0
  432. data/dojo/dijit/themes/claro/layout/images/tabBottom.png +0 -0
  433. data/dojo/dijit/themes/claro/layout/images/tabClose.png +0 -0
  434. data/dojo/dijit/themes/claro/layout/images/tabLeft.png +0 -0
  435. data/dojo/dijit/themes/claro/layout/images/tabNested.png +0 -0
  436. data/dojo/dijit/themes/claro/layout/images/tabRight.png +0 -0
  437. data/dojo/dijit/themes/claro/layout/images/tabTop.png +0 -0
  438. data/dojo/dijit/themes/dijit.css +633 -452
  439. data/dojo/dijit/themes/dijit_rtl.css +70 -59
  440. data/dojo/dijit/themes/nihilo/Calendar.css +0 -14
  441. data/dojo/dijit/themes/nihilo/Dialog.css +2 -5
  442. data/dojo/dijit/themes/nihilo/Editor.css +3 -58
  443. data/dojo/dijit/themes/nihilo/Editor_rtl.css +2 -6
  444. data/dojo/dijit/themes/nihilo/TimePicker.css +1 -11
  445. data/dojo/dijit/themes/nihilo/TimePicker_rtl.css +4 -0
  446. data/dojo/dijit/themes/nihilo/TitlePane.css +3 -32
  447. data/dojo/dijit/themes/nihilo/Toolbar.css +2 -2
  448. data/dojo/dijit/themes/nihilo/Tree.css +2 -20
  449. data/dojo/dijit/themes/nihilo/Tree_rtl.css +10 -16
  450. data/dojo/dijit/themes/nihilo/form/Button.css +36 -20
  451. data/dojo/dijit/themes/nihilo/form/Common.css +11 -37
  452. data/dojo/dijit/themes/nihilo/form/Select.css +4 -11
  453. data/dojo/dijit/themes/nihilo/form/Slider.css +0 -8
  454. data/dojo/dijit/themes/nihilo/layout/AccordionContainer.css +2 -4
  455. data/dojo/dijit/themes/nihilo/layout/AccordionContainer_rtl.css +1 -1
  456. data/dojo/dijit/themes/nihilo/layout/TabContainer.css +12 -23
  457. data/dojo/dijit/themes/nihilo/nihilo.css +2 -1
  458. data/dojo/dijit/themes/nihilo/nihilo_rtl.css +3 -2
  459. data/dojo/dijit/themes/soria/Calendar.css +0 -14
  460. data/dojo/dijit/themes/soria/Dialog.css +2 -5
  461. data/dojo/dijit/themes/soria/Editor.css +3 -57
  462. data/dojo/dijit/themes/soria/Editor_rtl.css +2 -7
  463. data/dojo/dijit/themes/soria/TimePicker.css +0 -10
  464. data/dojo/dijit/themes/soria/TimePicker_rtl.css +4 -0
  465. data/dojo/dijit/themes/soria/TitlePane.css +4 -30
  466. data/dojo/dijit/themes/soria/Toolbar.css +2 -2
  467. data/dojo/dijit/themes/soria/Tree.css +3 -20
  468. data/dojo/dijit/themes/soria/Tree_rtl.css +11 -12
  469. data/dojo/dijit/themes/soria/form/Button.css +38 -29
  470. data/dojo/dijit/themes/soria/form/Common.css +10 -36
  471. data/dojo/dijit/themes/soria/form/Select.css +4 -11
  472. data/dojo/dijit/themes/soria/form/Slider.css +0 -8
  473. data/dojo/dijit/themes/soria/layout/AccordionContainer.css +2 -4
  474. data/dojo/dijit/themes/soria/layout/AccordionContainer_rtl.css +1 -1
  475. data/dojo/dijit/themes/soria/layout/TabContainer.css +17 -34
  476. data/dojo/dijit/themes/soria/soria.css +2 -2
  477. data/dojo/dijit/themes/soria/soria_rtl.css +3 -2
  478. data/dojo/dijit/themes/themeTester.html +215 -100
  479. data/dojo/dijit/themes/tundra/Calendar.css +9 -20
  480. data/dojo/dijit/themes/tundra/Calendar_rtl.css +2 -2
  481. data/dojo/dijit/themes/tundra/Dialog.css +6 -25
  482. data/dojo/dijit/themes/tundra/Dialog_rtl.css +1 -1
  483. data/dojo/dijit/themes/tundra/Editor.css +5 -58
  484. data/dojo/dijit/themes/tundra/Editor_rtl.css +4 -9
  485. data/dojo/dijit/themes/tundra/Menu.css +2 -2
  486. data/dojo/dijit/themes/tundra/Menu_rtl.css +1 -6
  487. data/dojo/dijit/themes/tundra/TimePicker.css +0 -10
  488. data/dojo/dijit/themes/tundra/TimePicker_rtl.css +4 -0
  489. data/dojo/dijit/themes/tundra/TitlePane.css +4 -38
  490. data/dojo/dijit/themes/tundra/TitlePane_rtl.css +1 -1
  491. data/dojo/dijit/themes/tundra/Toolbar.css +12 -2
  492. data/dojo/dijit/themes/tundra/Tree.css +3 -22
  493. data/dojo/dijit/themes/tundra/Tree_rtl.css +9 -9
  494. data/dojo/dijit/themes/tundra/form/Button.css +35 -59
  495. data/dojo/dijit/themes/tundra/form/Common.css +12 -84
  496. data/dojo/dijit/themes/tundra/form/RadioButton.css +11 -13
  497. data/dojo/dijit/themes/tundra/form/Select.css +15 -22
  498. data/dojo/dijit/themes/tundra/form/Slider.css +0 -7
  499. data/dojo/dijit/themes/tundra/form/Slider_rtl.css +12 -12
  500. data/dojo/dijit/themes/tundra/layout/AccordionContainer.css +2 -4
  501. data/dojo/dijit/themes/tundra/layout/SplitContainer.css +0 -4
  502. data/dojo/dijit/themes/tundra/layout/TabContainer.css +19 -44
  503. data/dojo/dijit/themes/tundra/layout/TabContainer_rtl.css +21 -9
  504. data/dojo/dijit/themes/tundra/tundra.css +2 -1
  505. data/dojo/dijit/themes/tundra/tundra_rtl.css +2 -1
  506. data/dojo/dijit/tree/TreeStoreModel.js +13 -12
  507. data/dojo/dojo/DeferredList.js +66 -78
  508. data/dojo/dojo/LICENSE +1 -1
  509. data/dojo/dojo/NodeList-fx.js +92 -18
  510. data/dojo/dojo/Stateful.js +123 -0
  511. data/dojo/dojo/_base.js +1 -1
  512. data/dojo/dojo/_base/Deferred.js +211 -301
  513. data/dojo/dojo/_base/NodeList.js +28 -5
  514. data/dojo/dojo/_base/_loader/bootstrap.js +5 -16
  515. data/dojo/dojo/_base/_loader/hostenv_browser.js +42 -24
  516. data/dojo/dojo/_base/connect.js +13 -13
  517. data/dojo/dojo/_base/declare.js +81 -17
  518. data/dojo/dojo/_base/fx.js +75 -77
  519. data/dojo/dojo/_base/html.js +20 -10
  520. data/dojo/dojo/_base/json.js +2 -1
  521. data/dojo/dojo/back.js +7 -0
  522. data/dojo/dojo/cache.js +7 -8
  523. data/dojo/dojo/cldr/monetary.js +7 -4
  524. data/dojo/dojo/cldr/nls/ar/gregorian.js +7 -3
  525. data/dojo/dojo/cldr/nls/ar/hebrew.js +12 -16
  526. data/dojo/dojo/cldr/nls/ar/islamic-civil.js +124 -49
  527. data/dojo/dojo/cldr/nls/ar/islamic.js +61 -70
  528. data/dojo/dojo/cldr/nls/buddhist.js +236 -0
  529. data/dojo/dojo/cldr/nls/ca/gregorian.js +152 -148
  530. data/dojo/dojo/cldr/nls/cs/gregorian.js +110 -100
  531. data/dojo/dojo/cldr/nls/cs/number.js +1 -1
  532. data/dojo/dojo/cldr/nls/currency.js +0 -1
  533. data/dojo/dojo/cldr/nls/da/gregorian.js +144 -145
  534. data/dojo/dojo/cldr/nls/de/gregorian.js +22 -24
  535. data/dojo/dojo/cldr/nls/el/gregorian.js +15 -14
  536. data/dojo/dojo/cldr/nls/en-au/gregorian.js +3 -0
  537. data/dojo/dojo/cldr/nls/en-ca/gregorian.js +10 -0
  538. data/dojo/dojo/cldr/nls/en/gregorian.js +12 -10
  539. data/dojo/dojo/cldr/nls/es/gregorian.js +19 -20
  540. data/dojo/dojo/cldr/nls/fi/gregorian.js +15 -14
  541. data/dojo/dojo/cldr/nls/fr/gregorian.js +15 -17
  542. data/dojo/dojo/cldr/nls/gregorian.js +14 -8
  543. data/dojo/dojo/cldr/nls/he/gregorian.js +48 -49
  544. data/dojo/dojo/cldr/nls/he/hebrew.js +23 -56
  545. data/dojo/dojo/cldr/nls/he/islamic.js +17 -19
  546. data/dojo/dojo/cldr/nls/hebrew.js +133 -124
  547. data/dojo/dojo/cldr/nls/hu/gregorian.js +20 -17
  548. data/dojo/dojo/cldr/nls/islamic.js +132 -129
  549. data/dojo/dojo/cldr/nls/it/gregorian.js +143 -145
  550. data/dojo/dojo/cldr/nls/ja/gregorian.js +17 -17
  551. data/dojo/dojo/cldr/nls/ko/gregorian.js +19 -19
  552. data/dojo/dojo/cldr/nls/nb/gregorian.js +141 -143
  553. data/dojo/dojo/cldr/nls/nl/gregorian.js +12 -14
  554. data/dojo/dojo/cldr/nls/pl/gregorian.js +149 -143
  555. data/dojo/dojo/cldr/nls/pt-pt/gregorian.js +83 -39
  556. data/dojo/dojo/cldr/nls/pt/gregorian.js +14 -16
  557. data/dojo/dojo/cldr/nls/ru/gregorian.js +138 -146
  558. data/dojo/dojo/cldr/nls/sk/gregorian.js +15 -6
  559. data/dojo/dojo/cldr/nls/sl/gregorian.js +12 -11
  560. data/dojo/dojo/cldr/nls/sv/gregorian.js +23 -17
  561. data/dojo/dojo/cldr/nls/th/buddhist.js +10 -13
  562. data/dojo/dojo/cldr/nls/th/gregorian.js +140 -136
  563. data/dojo/dojo/cldr/nls/tr/gregorian.js +13 -13
  564. data/dojo/dojo/cldr/nls/zh-tw/gregorian.js +15 -2
  565. data/dojo/dojo/cldr/nls/zh/gregorian.js +17 -14
  566. data/dojo/dojo/cldr/supplemental.js +10 -10
  567. data/dojo/dojo/currency.js +27 -14
  568. data/dojo/dojo/data/ItemFileReadStore.js +22 -21
  569. data/dojo/dojo/date/locale.js +9 -9
  570. data/dojo/dojo/date/stamp.js +3 -5
  571. data/dojo/dojo/dnd/Container.js +3 -1
  572. data/dojo/dojo/dnd/Manager.js +1 -1
  573. data/dojo/dojo/dnd/Moveable.js +2 -2
  574. data/dojo/dojo/dnd/Mover.js +5 -5
  575. data/dojo/dojo/dnd/Source.js +9 -8
  576. data/dojo/dojo/dnd/common.js +1 -1
  577. data/dojo/dojo/dojo.js +6 -18
  578. data/dojo/dojo/hash.js +20 -15
  579. data/dojo/dojo/html.js +7 -6
  580. data/dojo/dojo/nls/ro/colors.js +155 -0
  581. data/dojo/dojo/number.js +67 -56
  582. data/dojo/dojo/parser.js +167 -47
  583. data/dojo/dojo/resources/dojo.css +5 -6
  584. data/dojo/dojo/robot.js +85 -11
  585. data/dojo/dojo/tests/NodeList-fx.html +58 -38
  586. data/dojo/dojo/tests/Stateful.js +36 -0
  587. data/dojo/dojo/tests/_base/Deferred.js +95 -0
  588. data/dojo/dojo/tests/_base/NodeList.html +9 -1
  589. data/dojo/dojo/tests/_base/declare.js +65 -3
  590. data/dojo/dojo/tests/_base/fx.html +55 -49
  591. data/dojo/dojo/tests/_base/html.html +7 -0
  592. data/dojo/dojo/tests/_base/html_rtl.html +1 -0
  593. data/dojo/dojo/tests/cache.js +7 -0
  594. data/dojo/dojo/tests/currency.js +3 -2
  595. data/dojo/dojo/tests/date/locale.js +7 -3
  596. data/dojo/dojo/tests/date/stamp.js +4 -0
  597. data/dojo/dojo/tests/dnd/robot/test_dnd.html +1 -1
  598. data/dojo/dojo/tests/hash.js +26 -1
  599. data/dojo/dojo/tests/module.js +3 -0
  600. data/dojo/dojo/tests/number.js +7 -0
  601. data/dojo/dojo/tests/parser.html +90 -10
  602. data/dojo/dojo/tests/uacss.js +10 -0
  603. data/dojo/{dijit/tests/_base → dojo/tests/uacss}/sniffQuirks.html +5 -4
  604. data/dojo/{dijit/tests/_base → dojo/tests/uacss}/sniffStandards.html +4 -4
  605. data/dojo/dojo/tests/window.js +11 -0
  606. data/dojo/{dijit/tests/_base → dojo/tests/window}/test_scroll.html +155 -229
  607. data/dojo/{dijit/tests/_base/test_scrollStrictDTD.html → dojo/tests/window/test_scrollNoDTD.html} +30 -35
  608. data/dojo/{dijit/tests/_base/test_scrollNoDTD.html → dojo/tests/window/test_scrollStrictDTD.html} +30 -31
  609. data/dojo/{dijit/tests/_base → dojo/tests/window}/viewport.html +8 -10
  610. data/dojo/dojo/tests/window/viewportQuirks.html +5 -0
  611. data/dojo/dojo/uacss.js +63 -0
  612. data/dojo/dojo/window.js +132 -0
  613. data/dojo/dojox/LICENSE +1 -1
  614. data/dojo/dojox/atom/io/model.js +1 -1
  615. data/dojo/dojox/atom/widget/nls/ro/FeedEntryEditor.js +7 -0
  616. data/dojo/dojox/atom/widget/nls/ro/FeedEntryViewer.js +12 -0
  617. data/dojo/dojox/atom/widget/nls/ro/FeedViewerEntry.js +4 -0
  618. data/dojo/dojox/atom/widget/nls/ro/PeopleEditor.js +6 -0
  619. data/dojo/dojox/av/FLAudio.js +62 -49
  620. data/dojo/dojox/av/resources/audio.swf +0 -0
  621. data/dojo/dojox/av/tests/test_FLAudio.html +15 -9
  622. data/dojo/dojox/charting/Chart2D.js +609 -51
  623. data/dojo/dojox/charting/DataChart.js +72 -63
  624. data/dojo/dojox/charting/DataSeries.js +183 -0
  625. data/dojo/dojox/charting/Element.js +201 -3
  626. data/dojo/dojox/charting/Series.js +47 -4
  627. data/dojo/dojox/charting/Theme.js +590 -189
  628. data/dojo/dojox/charting/action2d/Base.js +31 -5
  629. data/dojo/dojox/charting/action2d/Highlight.js +37 -12
  630. data/dojo/dojox/charting/action2d/Magnify.js +39 -13
  631. data/dojo/dojox/charting/action2d/MoveSlice.js +42 -13
  632. data/dojo/dojox/charting/action2d/Shake.js +36 -12
  633. data/dojo/dojox/charting/action2d/Tooltip.js +205 -7
  634. data/dojo/dojox/charting/axis2d/Base.js +46 -7
  635. data/dojo/dojox/charting/axis2d/Default.js +414 -238
  636. data/dojo/dojox/charting/axis2d/Invisible.js +290 -0
  637. data/dojo/dojox/charting/axis2d/common.js +53 -7
  638. data/dojo/dojox/charting/plot2d/Areas.js +2 -0
  639. data/dojo/dojox/charting/plot2d/Bars.js +94 -63
  640. data/dojo/dojox/charting/plot2d/Base.js +143 -53
  641. data/dojo/dojox/charting/plot2d/Bubble.js +139 -65
  642. data/dojo/dojox/charting/plot2d/Candlesticks.js +143 -80
  643. data/dojo/dojox/charting/plot2d/ClusteredBars.js +60 -58
  644. data/dojo/dojox/charting/plot2d/ClusteredColumns.js +59 -57
  645. data/dojo/dojox/charting/plot2d/Columns.js +78 -60
  646. data/dojo/dojox/charting/plot2d/Default.js +280 -121
  647. data/dojo/dojox/charting/plot2d/Grid.js +181 -19
  648. data/dojo/dojox/charting/plot2d/Lines.js +4 -0
  649. data/dojo/dojox/charting/plot2d/Markers.js +4 -0
  650. data/dojo/dojox/charting/plot2d/MarkersOnly.js +4 -0
  651. data/dojo/dojox/charting/plot2d/OHLC.js +127 -69
  652. data/dojo/dojox/charting/plot2d/Pie.js +200 -105
  653. data/dojo/dojox/charting/plot2d/Scatter.js +194 -8
  654. data/dojo/dojox/charting/plot2d/Stacked.js +71 -46
  655. data/dojo/dojox/charting/plot2d/StackedAreas.js +4 -0
  656. data/dojo/dojox/charting/plot2d/StackedBars.js +75 -64
  657. data/dojo/dojox/charting/plot2d/StackedColumns.js +75 -64
  658. data/dojo/dojox/charting/plot2d/StackedLines.js +4 -0
  659. data/dojo/dojox/charting/plot2d/_PlotEvents.js +123 -0
  660. data/dojo/dojox/charting/plot2d/common.js +44 -35
  661. data/dojo/dojox/charting/scaler/primitive.js +6 -0
  662. data/dojo/dojox/charting/tests/gradients/test_grad_bars1.html +85 -0
  663. data/dojo/dojox/charting/tests/gradients/test_grad_bars2.html +79 -0
  664. data/dojo/dojox/charting/tests/gradients/test_grad_bars3.html +79 -0
  665. data/dojo/dojox/charting/tests/gradients/test_grad_bars4.html +79 -0
  666. data/dojo/dojox/charting/tests/gradients/test_grad_bars5.html +82 -0
  667. data/dojo/dojox/charting/tests/gradients/test_grad_bubble1.html +71 -0
  668. data/dojo/dojox/charting/tests/gradients/test_grad_bubble2.html +65 -0
  669. data/dojo/dojox/charting/tests/gradients/test_grad_bubble3.html +66 -0
  670. data/dojo/dojox/charting/tests/gradients/test_grad_bubble4.html +65 -0
  671. data/dojo/dojox/charting/tests/gradients/test_grad_bubble6.html +71 -0
  672. data/dojo/dojox/charting/tests/gradients/test_grad_columns1.html +85 -0
  673. data/dojo/dojox/charting/tests/gradients/test_grad_columns2.html +79 -0
  674. data/dojo/dojox/charting/tests/gradients/test_grad_columns3.html +79 -0
  675. data/dojo/dojox/charting/tests/gradients/test_grad_columns4.html +79 -0
  676. data/dojo/dojox/charting/tests/gradients/test_grad_columns5.html +82 -0
  677. data/dojo/dojox/charting/tests/gradients/test_grad_pie1.html +58 -0
  678. data/dojo/dojox/charting/tests/gradients/test_grad_pie2.html +52 -0
  679. data/dojo/dojox/charting/tests/gradients/test_grad_pie3.html +53 -0
  680. data/dojo/dojox/charting/tests/gradients/test_grad_pie4.html +52 -0
  681. data/dojo/dojox/charting/tests/gradients/test_grad_pie7.html +52 -0
  682. data/dojo/dojox/charting/tests/gradients/test_grad_pie8.html +52 -0
  683. data/dojo/dojox/charting/tests/gradients/test_grad_pie9.html +52 -0
  684. data/dojo/dojox/charting/tests/gradients/test_grad_pieA.html +52 -0
  685. data/dojo/dojox/charting/tests/gradients/test_grad_scatter1.html +71 -0
  686. data/dojo/dojox/charting/tests/gradients/test_grad_scatter2.html +65 -0
  687. data/dojo/dojox/charting/tests/gradients/test_grad_scatterB.html +54 -0
  688. data/dojo/dojox/charting/tests/stock.json +0 -1
  689. data/dojo/dojox/charting/tests/test_DataChart.html +3 -1
  690. data/dojo/dojox/charting/tests/test_DataSeries.html +216 -0
  691. data/dojo/dojox/charting/tests/test_anim2d.html +2 -0
  692. data/dojo/dojox/charting/tests/test_axes.html +81 -0
  693. data/dojo/dojox/charting/tests/test_axisZoomControl.html +91 -0
  694. data/dojo/dojox/charting/tests/test_bars.html +4 -2
  695. data/dojo/dojox/charting/tests/test_chart2d.html +14 -8
  696. data/dojo/dojox/charting/tests/test_chart2d_dynamics.html +4 -2
  697. data/dojo/dojox/charting/tests/test_chart2d_updating.html +2 -0
  698. data/dojo/dojox/charting/tests/test_cylinders.html +4 -2
  699. data/dojo/dojox/charting/tests/test_event2d.html +6 -3
  700. data/dojo/dojox/charting/tests/test_fireEvent.html +204 -0
  701. data/dojo/dojox/charting/tests/test_labels2d.html +57 -3
  702. data/dojo/dojox/charting/tests/test_nulls.html +89 -0
  703. data/dojo/dojox/charting/tests/test_pie2d.html +7 -4
  704. data/dojo/dojox/charting/tests/test_plot_order.html +96 -0
  705. data/dojo/dojox/charting/tests/test_rotatedLabels.html +85 -0
  706. data/dojo/dojox/charting/tests/test_scaler.html +4 -2
  707. data/dojo/dojox/charting/tests/test_series_order.html +88 -0
  708. data/dojo/dojox/charting/tests/test_sparklines.html +2 -0
  709. data/dojo/dojox/charting/tests/test_tension.html +55 -0
  710. data/dojo/dojox/charting/tests/test_themes.html +270 -115
  711. data/dojo/dojox/charting/tests/test_widget2d.html +3 -1
  712. data/dojo/dojox/charting/tests/test_win2d.html +6 -4
  713. data/dojo/dojox/charting/tests/theme_preview.html +69 -0
  714. data/dojo/dojox/charting/themes/Charged.js +91 -0
  715. data/dojo/dojox/charting/themes/Chris.js +77 -0
  716. data/dojo/dojox/charting/themes/Electric.js +92 -0
  717. data/dojo/dojox/charting/themes/Ireland.js +2 -2
  718. data/dojo/dojox/charting/themes/Julie.js +70 -0
  719. data/dojo/dojox/charting/themes/PlotKit/base.js +53 -0
  720. data/dojo/dojox/charting/themes/PlotKit/blue.js +6 -35
  721. data/dojo/dojox/charting/themes/PlotKit/cyan.js +6 -35
  722. data/dojo/dojox/charting/themes/PlotKit/green.js +6 -35
  723. data/dojo/dojox/charting/themes/PlotKit/orange.js +6 -35
  724. data/dojo/dojox/charting/themes/PlotKit/purple.js +6 -35
  725. data/dojo/dojox/charting/themes/PlotKit/red.js +6 -35
  726. data/dojo/dojox/charting/themes/PrimaryColors.js +14 -0
  727. data/dojo/dojox/charting/themes/Renkoo.js +85 -0
  728. data/dojo/dojox/charting/themes/ThreeD.js +49 -0
  729. data/dojo/dojox/charting/themes/Tom.js +87 -0
  730. data/dojo/dojox/charting/themes/Tufte.js +45 -50
  731. data/dojo/dojox/charting/themes/gradientGenerator.js +83 -0
  732. data/dojo/dojox/charting/widget/Chart2D.js +21 -1
  733. data/dojo/dojox/charting/widget/Legend.js +10 -1
  734. data/dojo/dojox/color/Palette.js +124 -17
  735. data/dojo/dojox/css3/fx.js +183 -0
  736. data/dojo/dojox/data/AndOrReadStore.js +4 -2
  737. data/dojo/dojox/data/ClientFilter.js +1 -1
  738. data/dojo/dojox/data/FlickrRestStore.js +86 -88
  739. data/dojo/dojox/data/HtmlStore.js +1 -1
  740. data/dojo/dojox/data/ItemExplorer.js +3 -3
  741. data/dojo/dojox/data/PersevereStore.js +1 -1
  742. data/dojo/dojox/data/QueryReadStore.js +6 -9
  743. data/dojo/dojox/data/ServiceStore.js +9 -2
  744. data/dojo/dojox/data/StoreExplorer.js +2 -2
  745. data/dojo/dojox/data/XmlStore.js +1 -1
  746. data/dojo/dojox/data/demos/stores/LazyLoadJSIStore.js +1 -1
  747. data/dojo/dojox/data/s3/proxy.example-php +73 -73
  748. data/dojo/dojox/data/tests/stores/FlickrRestStore.js +1 -1
  749. data/dojo/dojox/data/util/JsonQuery.js +0 -3
  750. data/dojo/dojox/date/README +7 -1
  751. data/dojo/dojox/date/buddhist/locale.js +5 -5
  752. data/dojo/dojox/date/hebrew/locale.js +41 -18
  753. data/dojo/dojox/date/hebrew/numerals.js +17 -13
  754. data/dojo/dojox/date/islamic.js +0 -1
  755. data/dojo/dojox/date/islamic/Date.js +17 -19
  756. data/dojo/dojox/date/islamic/locale.js +37 -16
  757. data/dojo/dojox/date/posix.js +1 -1
  758. data/dojo/dojox/date/tests/hebrew/Date.js +2 -2
  759. data/dojo/dojox/date/tests/islamic/Date.js +200 -17
  760. data/dojo/dojox/date/timezone.js +59 -62
  761. data/dojo/dojox/dnd/BoundingBoxController.js +130 -0
  762. data/dojo/dojox/dnd/README +22 -0
  763. data/dojo/dojox/dnd/Selector.js +159 -0
  764. data/dojo/dojox/dnd/tests/robot/test_selector.html +71 -0
  765. data/dojo/dojox/dnd/tests/test_selector.html +57 -0
  766. data/dojo/dojox/drawing/Drawing.js +24 -17
  767. data/dojo/dojox/drawing/_base.js +0 -1
  768. data/dojo/dojox/drawing/annotations/Angle.js +17 -10
  769. data/dojo/dojox/drawing/annotations/BoxShadow.js +92 -4
  770. data/dojo/dojox/drawing/annotations/Label.js +6 -6
  771. data/dojo/dojox/drawing/defaults.js +44 -27
  772. data/dojo/dojox/drawing/library/icons.js +7 -0
  773. data/dojo/dojox/drawing/manager/Anchors.js +22 -10
  774. data/dojo/dojox/drawing/manager/Canvas.js +6 -5
  775. data/dojo/dojox/drawing/manager/Mouse.js +45 -19
  776. data/dojo/dojox/drawing/manager/Stencil.js +29 -26
  777. data/dojo/dojox/drawing/manager/_registry.js +4 -1
  778. data/dojo/dojox/drawing/manager/keys.js +1 -1
  779. data/dojo/dojox/drawing/plugins/_Plugin.js +1 -1
  780. data/dojo/dojox/drawing/plugins/drawing/Grid.js +15 -4
  781. data/dojo/dojox/drawing/plugins/drawing/Silverlight.js +1 -1
  782. data/dojo/dojox/drawing/plugins/tools/Pan.js +29 -5
  783. data/dojo/dojox/drawing/plugins/tools/Zoom.js +4 -4
  784. data/dojo/dojox/drawing/stencil/Ellipse.js +1 -1
  785. data/dojo/dojox/drawing/stencil/Line.js +0 -17
  786. data/dojo/dojox/drawing/stencil/Path.js +17 -13
  787. data/dojo/dojox/drawing/stencil/Text.js +26 -7
  788. data/dojo/dojox/drawing/stencil/_Base.js +163 -159
  789. data/dojo/dojox/drawing/tests/drawing.html +34 -35
  790. data/dojo/dojox/drawing/tests/test_drawing.html +20 -21
  791. data/dojo/dojox/drawing/tests/test_shadows.html +18 -18
  792. data/dojo/dojox/drawing/tools/Ellipse.js +20 -6
  793. data/dojo/dojox/drawing/tools/Line.js +19 -9
  794. data/dojo/dojox/drawing/tools/Rect.js +21 -7
  795. data/dojo/dojox/drawing/tools/TextBlock.js +37 -29
  796. data/dojo/dojox/drawing/tools/custom/Axes.js +249 -97
  797. data/dojo/dojox/drawing/tools/custom/Vector.js +298 -6
  798. data/dojo/dojox/drawing/ui/Button.js +45 -20
  799. data/dojo/dojox/drawing/ui/Toolbar.js +94 -29
  800. data/dojo/dojox/drawing/ui/Tooltip.js +3 -3
  801. data/dojo/dojox/drawing/ui/dom/Pan.js +2 -2
  802. data/dojo/dojox/drawing/ui/dom/Toolbar.js +4 -4
  803. data/dojo/dojox/drawing/util/common.js +20 -14
  804. data/dojo/dojox/drawing/util/oo.js +1 -1
  805. data/dojo/dojox/dtl/Context.js +8 -7
  806. data/dojo/dojox/dtl/_DomTemplated.js +5 -1
  807. data/dojo/dojox/dtl/_Templated.js +38 -3
  808. data/dojo/dojox/dtl/_base.js +17 -8
  809. data/dojo/dojox/dtl/tests/context.js +11 -2
  810. data/dojo/dojox/editor/README +95 -2
  811. data/dojo/dojox/editor/plugins/Blockquote.js +506 -0
  812. data/dojo/dojox/editor/plugins/Breadcrumb.js +31 -25
  813. data/dojo/dojox/editor/plugins/CollapsibleToolbar.js +174 -0
  814. data/dojo/dojox/editor/plugins/EntityPalette.js +112 -290
  815. data/dojo/dojox/editor/plugins/FindReplace.js +490 -163
  816. data/dojo/dojox/editor/plugins/InsertAnchor.js +430 -0
  817. data/dojo/dojox/editor/plugins/NormalizeIndentOutdent.js +3 -51
  818. data/dojo/dojox/editor/plugins/NormalizeStyle.js +551 -0
  819. data/dojo/dojox/editor/plugins/PasteFromWord.js +206 -0
  820. data/dojo/dojox/editor/plugins/Preview.js +1 -1
  821. data/dojo/dojox/editor/plugins/Save.js +4 -4
  822. data/dojo/dojox/editor/plugins/ShowBlockNodes.js +1 -1
  823. data/dojo/dojox/editor/plugins/Smiley.js +48 -22
  824. data/dojo/dojox/editor/plugins/StatusBar.js +172 -0
  825. data/dojo/dojox/editor/plugins/TablePlugins.js +454 -394
  826. data/dojo/dojox/editor/plugins/TextColor.js +191 -0
  827. data/dojo/dojox/editor/plugins/ToolbarLineBreak.js +6 -1
  828. data/dojo/dojox/editor/plugins/_SmileyPalette.js +113 -333
  829. data/dojo/dojox/editor/plugins/nls/Blockquote.js +3 -0
  830. data/dojo/dojox/editor/plugins/nls/CollapsibleToolbar.js +4 -0
  831. data/dojo/dojox/editor/plugins/nls/FindReplace.js +15 -5
  832. data/dojo/dojox/editor/plugins/nls/InsertAnchor.js +8 -0
  833. data/dojo/dojox/editor/plugins/nls/PasteFromWord.js +6 -0
  834. data/dojo/dojox/editor/plugins/nls/TableDialog.js +0 -1
  835. data/dojo/dojox/editor/plugins/nls/TextColor.js +4 -0
  836. data/dojo/dojox/editor/plugins/nls/ar/TableDialog.js +0 -1
  837. data/dojo/dojox/editor/plugins/nls/ca/TableDialog.js +0 -1
  838. data/dojo/dojox/editor/plugins/nls/cs/TableDialog.js +0 -1
  839. data/dojo/dojox/editor/plugins/nls/da/TableDialog.js +0 -1
  840. data/dojo/dojox/editor/plugins/nls/de/TableDialog.js +0 -1
  841. data/dojo/dojox/editor/plugins/nls/el/TableDialog.js +0 -1
  842. data/dojo/dojox/editor/plugins/nls/es/TableDialog.js +0 -1
  843. data/dojo/dojox/editor/plugins/nls/fi/TableDialog.js +0 -1
  844. data/dojo/dojox/editor/plugins/nls/fr/TableDialog.js +0 -1
  845. data/dojo/dojox/editor/plugins/nls/he/TableDialog.js +0 -1
  846. data/dojo/dojox/editor/plugins/nls/hu/TableDialog.js +0 -1
  847. data/dojo/dojox/editor/plugins/nls/it/TableDialog.js +0 -1
  848. data/dojo/dojox/editor/plugins/nls/ja/TableDialog.js +0 -1
  849. data/dojo/dojox/editor/plugins/nls/ko/TableDialog.js +0 -1
  850. data/dojo/dojox/editor/plugins/nls/nb/TableDialog.js +0 -1
  851. data/dojo/dojox/editor/plugins/nls/nl/TableDialog.js +0 -1
  852. data/dojo/dojox/editor/plugins/nls/pl/TableDialog.js +0 -1
  853. data/dojo/dojox/editor/plugins/nls/pt-pt/TableDialog.js +0 -1
  854. data/dojo/dojox/editor/plugins/nls/pt/TableDialog.js +0 -1
  855. data/dojo/dojox/editor/plugins/nls/ro/Blockquote.js +4 -0
  856. data/dojo/dojox/editor/plugins/nls/ro/Breadcrumb.js +10 -0
  857. data/dojo/dojox/editor/plugins/nls/ro/CollapsibleToolbar.js +5 -0
  858. data/dojo/dojox/editor/plugins/nls/ro/FindReplace.js +22 -0
  859. data/dojo/dojox/editor/plugins/nls/ro/InsertAnchor.js +9 -0
  860. data/dojo/dojox/editor/plugins/nls/ro/InsertEntity.js +4 -0
  861. data/dojo/dojox/editor/plugins/nls/ro/PageBreak.js +4 -0
  862. data/dojo/dojox/editor/plugins/nls/ro/PasteFromWord.js +7 -0
  863. data/dojo/dojox/editor/plugins/nls/ro/Preview.js +4 -0
  864. data/dojo/dojox/editor/plugins/nls/ro/Save.js +4 -0
  865. data/dojo/dojox/editor/plugins/nls/ro/ShowBlockNodes.js +4 -0
  866. data/dojo/dojox/editor/plugins/nls/ro/Smiley.js +22 -0
  867. data/dojo/dojox/editor/plugins/nls/ro/TableDialog.js +30 -0
  868. data/dojo/dojox/editor/plugins/nls/ro/TextColor.js +5 -0
  869. data/dojo/dojox/editor/plugins/nls/ro/latinEntities.js +257 -0
  870. data/dojo/dojox/editor/plugins/nls/ru/TableDialog.js +0 -1
  871. data/dojo/dojox/editor/plugins/nls/sk/TableDialog.js +0 -1
  872. data/dojo/dojox/editor/plugins/nls/sl/TableDialog.js +0 -1
  873. data/dojo/dojox/editor/plugins/nls/sv/TableDialog.js +0 -1
  874. data/dojo/dojox/editor/plugins/nls/th/TableDialog.js +0 -1
  875. data/dojo/dojox/editor/plugins/nls/tr/TableDialog.js +0 -1
  876. data/dojo/dojox/editor/plugins/nls/zh-tw/TableDialog.js +0 -1
  877. data/dojo/dojox/editor/plugins/nls/zh/FindReplace.js +14 -4
  878. data/dojo/dojox/editor/plugins/nls/zh/TableDialog.js +0 -1
  879. data/dojo/dojox/editor/plugins/resources/css/Blockquote.css +17 -0
  880. data/dojo/dojox/editor/plugins/resources/css/CollapsibleToolbar.css +173 -0
  881. data/dojo/dojox/editor/plugins/resources/css/FindReplace.css +56 -51
  882. data/dojo/dojox/editor/plugins/resources/css/InsertAnchor.css +17 -0
  883. data/dojo/dojox/editor/plugins/resources/css/InsertEntity.css +15 -37
  884. data/dojo/dojox/editor/plugins/resources/css/PasteFromWord.css +30 -0
  885. data/dojo/dojox/editor/plugins/resources/css/Smiley.css +20 -59
  886. data/dojo/dojox/editor/plugins/resources/css/StatusBar.css +75 -0
  887. data/dojo/dojox/editor/plugins/resources/css/TextColor.css +7 -0
  888. data/dojo/dojox/editor/plugins/resources/editorPlugins.css +1 -1
  889. data/dojo/dojox/editor/plugins/resources/icons/anchor.gif +0 -0
  890. data/dojo/dojox/editor/plugins/resources/icons/{findIconDisabled.gif → anchorDisabled.gif} +0 -0
  891. data/dojo/dojox/editor/plugins/resources/icons/blockquote.gif +0 -0
  892. data/dojo/dojox/editor/plugins/resources/icons/blockquoteDisabled.gif +0 -0
  893. data/dojo/dojox/editor/plugins/resources/icons/{replaceIconDisabled.gif → claro/close.gif} +0 -0
  894. data/dojo/dojox/editor/plugins/resources/icons/editorIconsFindReplaceDisabled.png +0 -0
  895. data/dojo/dojox/editor/plugins/resources/icons/editorIconsFindReplaceEnabled.png +0 -0
  896. data/dojo/dojox/editor/plugins/resources/icons/nihilo/close.gif +0 -0
  897. data/dojo/dojox/editor/plugins/resources/icons/pasteFromWord.gif +0 -0
  898. data/dojo/dojox/editor/plugins/resources/icons/pasteFromWordDisabled.gif +0 -0
  899. data/dojo/dojox/editor/plugins/resources/icons/smileyDisabled.gif +0 -0
  900. data/dojo/dojox/editor/plugins/resources/icons/soria/close.gif +0 -0
  901. data/dojo/dojox/editor/plugins/resources/icons/tundra/close.gif +0 -0
  902. data/dojo/dojox/editor/plugins/resources/images/anchor.gif +0 -0
  903. data/dojo/dojox/editor/plugins/resources/images/claro/collapse.gif +0 -0
  904. data/dojo/dojox/editor/plugins/resources/images/claro/expand.gif +0 -0
  905. data/dojo/dojox/editor/plugins/resources/images/nihilo/collapse.gif +0 -0
  906. data/dojo/dojox/editor/plugins/resources/images/nihilo/expand.gif +0 -0
  907. data/dojo/dojox/editor/plugins/resources/images/nihilo/sidebar.gif +0 -0
  908. data/dojo/dojox/editor/plugins/resources/images/soria/collapse.gif +0 -0
  909. data/dojo/dojox/editor/plugins/resources/images/soria/expand.gif +0 -0
  910. data/dojo/dojox/editor/plugins/resources/images/soria/sidebar.gif +0 -0
  911. data/dojo/dojox/editor/plugins/resources/images/tundra/collapse.gif +0 -0
  912. data/dojo/dojox/editor/plugins/resources/images/tundra/expand.gif +0 -0
  913. data/dojo/dojox/editor/plugins/resources/images/tundra/sidebar.gif +0 -0
  914. data/dojo/dojox/editor/tests/editorBlockquote.html +118 -0
  915. data/dojo/dojox/editor/tests/editorCollapsibleToolbar.html +131 -0
  916. data/dojo/dojox/editor/tests/editorFindReplace.html +7 -3
  917. data/dojo/dojox/editor/tests/editorInsertAnchor.html +119 -0
  918. data/dojo/dojox/editor/tests/editorNormalizeStyle.html +163 -0
  919. data/dojo/dojox/editor/tests/editorPasteFromWord.html +98 -0
  920. data/dojo/dojox/editor/tests/editorSmileyPlugin.html +66 -8
  921. data/dojo/dojox/editor/tests/editorStatusBar.html +232 -0
  922. data/dojo/dojox/editor/tests/editorTablePlugs.html +80 -74
  923. data/dojo/dojox/editor/tests/editorTextColor.html +97 -0
  924. data/dojo/dojox/editor/tests/module.js +15 -0
  925. data/dojo/dojox/editor/tests/robot/Editor_Smiley.html +60 -0
  926. data/dojo/dojox/editor/tests/runTests.html +9 -0
  927. data/dojo/dojox/editor/tests/testPluginsAll.html +206 -0
  928. data/dojo/dojox/embed/Flash.js +94 -77
  929. data/dojo/dojox/flash/_base.js +3 -3
  930. data/dojo/dojox/form/BusyButton.js +2 -2
  931. data/dojo/dojox/form/CheckedMultiSelect.js +3 -16
  932. data/dojo/dojox/form/FileInput.js +4 -0
  933. data/dojo/dojox/form/FileInputAuto.js +12 -4
  934. data/dojo/dojox/form/FilePickerTextBox.js +5 -8
  935. data/dojo/dojox/form/FileUploader.js +1378 -1331
  936. data/dojo/dojox/form/ListInput.js +5 -5
  937. data/dojo/dojox/form/PasswordValidator.js +3 -3
  938. data/dojo/dojox/form/RangeSlider.js +3 -2
  939. data/dojo/dojox/form/Rating.js +0 -1
  940. data/dojo/dojox/form/TimeSpinner.js +1 -2
  941. data/dojo/dojox/form/manager/_Mixin.js +21 -11
  942. data/dojo/dojox/form/nls/ro/PasswordValidator.js +5 -0
  943. data/dojo/dojox/form/resources/CheckedMultiSelect.css +30 -0
  944. data/dojo/dojox/form/resources/CheckedMultiSelect.html +1 -1
  945. data/dojo/dojox/form/resources/FileInput.css +30 -0
  946. data/dojo/dojox/form/resources/FilePickerTextBox.html +2 -2
  947. data/dojo/dojox/form/resources/FileUploader.css +0 -24
  948. data/dojo/dojox/form/resources/HorizontalRangeSlider.html +38 -38
  949. data/dojo/dojox/form/resources/RangeSlider.css +9 -1
  950. data/dojo/dojox/form/resources/VerticalRangeSlider.html +49 -50
  951. data/dojo/dojox/form/resources/_CheckedMultiSelectItem.html +1 -1
  952. data/dojo/dojox/form/resources/uploader.swf +0 -0
  953. data/dojo/dojox/form/tests/UploadFile.php.disabled +25 -19
  954. data/dojo/dojox/form/tests/test_FileUploader.html +38 -38
  955. data/dojo/dojox/form/tests/test_FileUploaderDialog.html +0 -1
  956. data/dojo/dojox/form/tests/test_FileUploaderForm.html +5 -3
  957. data/dojo/dojox/form/tests/test_FileUploaderTabs.html +147 -0
  958. data/dojo/dojox/form/tests/test_MultiComboBox.html +1 -1
  959. data/dojo/dojox/form/tests/test_RangeSlider.html +1 -2
  960. data/dojo/dojox/form/tests/test_TimeSpinner.html +3 -30
  961. data/dojo/dojox/fx/Timeline.js +210 -0
  962. data/dojo/dojox/fx/ext-dojo/complex.js +169 -0
  963. data/dojo/dojox/fx/ext-dojo/reverse.js +98 -0
  964. data/dojo/dojox/fx/scroll.js +13 -6
  965. data/dojo/dojox/fx/tests/test_Timeline.html +173 -0
  966. data/dojo/dojox/fx/tests/test_complex.html +87 -0
  967. data/dojo/dojox/fx/tests/test_reverse.html +100 -0
  968. data/dojo/dojox/fx/tests/test_transform.html +210 -0
  969. data/dojo/dojox/fx/text.js +3 -3
  970. data/dojo/dojox/geo/README +37 -0
  971. data/dojo/dojox/geo/charting/Map.js +140 -0
  972. data/dojo/dojox/geo/charting/_Feature.js +169 -0
  973. data/dojo/dojox/geo/charting/_Marker.js +52 -0
  974. data/dojo/dojox/geo/charting/_base.js +53 -0
  975. data/dojo/dojox/geo/charting/resources/Map.css +30 -0
  976. data/dojo/dojox/geo/charting/resources/data/NOTICES +63 -0
  977. data/dojo/dojox/geo/charting/resources/data/USStates.json +261 -0
  978. data/dojo/dojox/geo/charting/resources/img/zoomin.gif +0 -0
  979. data/dojo/dojox/geo/charting/resources/img/zoomin.png +0 -0
  980. data/dojo/dojox/geo/charting/resources/img/zoomout.gif +0 -0
  981. data/dojo/dojox/geo/charting/resources/img/zoomout.png +0 -0
  982. data/dojo/dojox/geo/charting/resources/markers/USStates.json +1 -0
  983. data/dojo/dojox/geo/charting/tests/datastore/dataStore.json +1 -0
  984. data/dojo/dojox/geo/charting/tests/test_mapWithCharting.html +72 -0
  985. data/dojo/dojox/geo/charting/tests/test_mapWithLegend.html +63 -0
  986. data/dojo/dojox/geo/charting/tests/test_maps.html +37 -0
  987. data/dojo/dojox/geo/charting/widget/Legend.js +62 -0
  988. data/dojo/dojox/gfx/README +9 -2
  989. data/dojo/dojox/gfx/README-svgweb +98 -0
  990. data/dojo/dojox/gfx/VectorText.js +3 -3
  991. data/dojo/dojox/gfx/_base.js +2 -2
  992. data/dojo/dojox/gfx/arc.js +1 -1
  993. data/dojo/dojox/gfx/gradient.js +160 -0
  994. data/dojo/dojox/gfx/gradutils.js +91 -0
  995. data/dojo/dojox/gfx/path.js +89 -24
  996. data/dojo/dojox/gfx/resources/svg2gfx.xsl +53 -14
  997. data/dojo/dojox/gfx/shape.js +14 -7
  998. data/dojo/dojox/gfx/svg.js +135 -16
  999. data/dojo/dojox/gfx/tests/svgweb/README +15 -0
  1000. data/dojo/dojox/gfx/tests/svgweb/sample.html +171 -0
  1001. data/dojo/dojox/gfx/tests/svgweb/svgweb/COPYING.txt +65 -0
  1002. data/dojo/dojox/gfx/tests/svgweb/svgweb/src/svg.htc +1 -0
  1003. data/dojo/dojox/gfx/tests/svgweb/svgweb/src/svg.js +1 -0
  1004. data/dojo/dojox/gfx/tests/svgweb/svgweb/src/svg.swf +0 -0
  1005. data/dojo/dojox/gfx/tests/svgweb/test.roundrect.html +39 -0
  1006. data/dojo/dojox/gfx/tests/svgweb/test_arc.html +66 -0
  1007. data/dojo/dojox/gfx/tests/svgweb/test_bezier.html +81 -0
  1008. data/dojo/dojox/gfx/tests/svgweb/test_destroy.html +58 -0
  1009. data/dojo/dojox/gfx/tests/svgweb/test_fill.html +45 -0
  1010. data/dojo/dojox/gfx/tests/svgweb/test_fx.html +104 -0
  1011. data/dojo/dojox/gfx/tests/svgweb/test_fx_shapes.html +123 -0
  1012. data/dojo/dojox/gfx/tests/svgweb/test_gfx.html +565 -0
  1013. data/dojo/dojox/gfx/tests/svgweb/test_gradient.html +77 -0
  1014. data/dojo/dojox/gfx/tests/svgweb/test_group1.html +70 -0
  1015. data/dojo/dojox/gfx/tests/svgweb/test_group2.html +54 -0
  1016. data/dojo/dojox/gfx/tests/svgweb/test_image1.html +80 -0
  1017. data/dojo/dojox/gfx/tests/svgweb/test_image2.html +52 -0
  1018. data/dojo/dojox/gfx/tests/svgweb/test_image3.html +77 -0
  1019. data/dojo/dojox/gfx/tests/svgweb/test_image4.html +58 -0
  1020. data/dojo/dojox/gfx/tests/svgweb/test_image5.html +67 -0
  1021. data/dojo/dojox/gfx/tests/svgweb/test_linearGradient.html +75 -0
  1022. data/dojo/dojox/gfx/tests/svgweb/test_linestyle.html +43 -0
  1023. data/dojo/dojox/gfx/tests/svgweb/test_pattern.html +43 -0
  1024. data/dojo/dojox/gfx/tests/svgweb/test_poly.html +49 -0
  1025. data/dojo/dojox/gfx/tests/svgweb/test_resize.html +57 -0
  1026. data/dojo/dojox/gfx/tests/svgweb/test_setPath.html +86 -0
  1027. data/dojo/dojox/gfx/tests/svgweb/test_tbbox.html +113 -0
  1028. data/dojo/dojox/gfx/tests/svgweb/test_text.html +80 -0
  1029. data/dojo/dojox/gfx/tests/svgweb/test_textpath.html +77 -0
  1030. data/dojo/dojox/gfx/tests/svgweb/test_transform.html +99 -0
  1031. data/dojo/dojox/gfx/tests/svgweb/test_utils.html +234 -0
  1032. data/dojo/dojox/gfx/tests/svgweb/test_vectortext_draw.html +64 -0
  1033. data/dojo/dojox/gfx/tests/svgweb/test_vectortext_load.html +97 -0
  1034. data/dojo/dojox/gfx/tests/test_image1.html +1 -4
  1035. data/dojo/dojox/gfx/tests/test_image2.html +5 -5
  1036. data/dojo/dojox/gfx/tests/test_image3.html +2 -2
  1037. data/dojo/dojox/gfx/tests/test_image4.html +2 -2
  1038. data/dojo/dojox/gfx/tests/test_linearGradient.html +2 -1
  1039. data/dojo/dojox/gfx/tests/test_pattern.html +4 -3
  1040. data/dojo/dojox/gfx/tests/test_refproj.html +109 -0
  1041. data/dojo/dojox/gfx/vml.js +52 -57
  1042. data/dojo/dojox/grid/DataGrid.js +17 -6
  1043. data/dojo/dojox/grid/EnhancedGrid.js +24 -6
  1044. data/dojo/dojox/grid/README +57 -0
  1045. data/dojo/dojox/grid/_Builder.js +18 -8
  1046. data/dojo/dojox/grid/_Grid.js +10 -20
  1047. data/dojo/dojox/grid/_View.js +5 -2
  1048. data/dojo/dojox/grid/cells/dijit.js +11 -4
  1049. data/dojo/dojox/grid/enhanced/_Events.js +16 -6
  1050. data/dojo/dojox/grid/enhanced/_Plugin.js +15 -20
  1051. data/dojo/dojox/grid/enhanced/dnd/_DndEvents.js +6 -0
  1052. data/dojo/dojox/grid/enhanced/dnd/_DndMovingManager.js +3 -1
  1053. data/dojo/dojox/grid/enhanced/nls/ar/EnhancedGrid.js +8 -0
  1054. data/dojo/dojox/grid/enhanced/nls/ca/EnhancedGrid.js +8 -0
  1055. data/dojo/dojox/grid/enhanced/nls/da/EnhancedGrid.js +8 -0
  1056. data/dojo/dojox/grid/enhanced/nls/el/EnhancedGrid.js +8 -0
  1057. data/dojo/dojox/grid/enhanced/nls/fi/EnhancedGrid.js +8 -0
  1058. data/dojo/dojox/grid/enhanced/nls/he/EnhancedGrid.js +8 -0
  1059. data/dojo/dojox/grid/enhanced/nls/nb/EnhancedGrid.js +8 -0
  1060. data/dojo/dojox/grid/enhanced/nls/nl/EnhancedGrid.js +8 -0
  1061. data/dojo/dojox/grid/enhanced/nls/pt-pt/EnhancedGrid.js +8 -0
  1062. data/dojo/dojox/grid/enhanced/nls/ro/EnhancedGrid.js +9 -0
  1063. data/dojo/dojox/grid/enhanced/nls/sk/EnhancedGrid.js +8 -0
  1064. data/dojo/dojox/grid/enhanced/nls/sl/EnhancedGrid.js +8 -0
  1065. data/dojo/dojox/grid/enhanced/nls/sv/EnhancedGrid.js +8 -0
  1066. data/dojo/dojox/grid/enhanced/nls/th/EnhancedGrid.js +8 -0
  1067. data/dojo/dojox/grid/enhanced/nls/tr/EnhancedGrid.js +8 -0
  1068. data/dojo/dojox/grid/enhanced/plugins/IndirectSelection.js +5 -5
  1069. data/dojo/dojox/grid/enhanced/plugins/Menu.js +22 -6
  1070. data/dojo/dojox/grid/enhanced/plugins/NestedSorting.js +26 -42
  1071. data/dojo/dojox/grid/enhanced/resources/EnhancedGrid.css +31 -32
  1072. data/dojo/dojox/grid/enhanced/resources/EnhancedGrid_rtl.css +16 -7
  1073. data/dojo/dojox/grid/enhanced/resources/claroEnhancedGrid.css +104 -0
  1074. data/dojo/dojox/grid/enhanced/resources/tundraEnhancedGrid.css +8 -17
  1075. data/dojo/dojox/grid/resources/Grid.css +6 -0
  1076. data/dojo/dojox/grid/resources/Grid_rtl.css +10 -2
  1077. data/dojo/dojox/grid/resources/_Grid.html +1 -1
  1078. data/dojo/dojox/grid/resources/claroGrid.css +216 -0
  1079. data/dojo/dojox/grid/resources/images/header.png +0 -0
  1080. data/dojo/dojox/grid/resources/images/header_shadow.png +0 -0
  1081. data/dojo/dojox/grid/resources/images/row_back.png +0 -0
  1082. data/dojo/dojox/grid/resources/images/td_button_down.png +0 -0
  1083. data/dojo/dojox/grid/tests/enhanced/test_enhanced_grid_claro.html +70 -0
  1084. data/dojo/dojox/grid/tests/robot/7815.html +0 -1
  1085. data/dojo/dojox/grid/tests/robot/DataGrid_a11y.html +6 -1
  1086. data/dojo/dojox/grid/tests/robot/DataGrid_mouse.html +50 -18
  1087. data/dojo/dojox/grid/tests/robot/_DataGrid.html +0 -1
  1088. data/dojo/dojox/grid/tests/robot/stores.js +3 -1
  1089. data/dojo/dojox/grid/tests/test_grid_themes.html +27 -2
  1090. data/dojo/dojox/grid/tests/test_treegrid_model.html +6 -6
  1091. data/dojo/dojox/highlight/languages/_dynamic.js +2 -0
  1092. data/dojo/dojox/highlight/languages/_static.js +1 -1
  1093. data/dojo/dojox/highlight/languages/groovy.js +67 -0
  1094. data/dojo/dojox/highlight/languages/java.js +58 -0
  1095. data/dojo/dojox/highlight/languages/xquery.js +56 -0
  1096. data/dojo/dojox/highlight/tests/test_highlight.html +147 -0
  1097. data/dojo/dojox/html/entities.js +7 -7
  1098. data/dojo/dojox/html/ext-dojo/style.js +460 -0
  1099. data/dojo/dojox/html/format.js +5 -0
  1100. data/dojo/dojox/html/metrics.js +31 -12
  1101. data/dojo/dojox/html/tests/test_style-html.html +310 -0
  1102. data/dojo/dojox/html/tests/test_themes.html +2 -2
  1103. data/dojo/dojox/image/Lightbox.js +70 -28
  1104. data/dojo/dojox/image/resources/Lightbox.css +11 -4
  1105. data/dojo/dojox/image/resources/Lightbox.html +3 -3
  1106. data/dojo/dojox/image/tests/Lightbox.html +2 -2
  1107. data/dojo/dojox/image/tests/test_Lightbox.html +36 -2
  1108. data/dojo/dojox/io/proxy/xip_client.html +1 -1
  1109. data/dojo/dojox/io/proxy/xip_server.html +1 -1
  1110. data/dojo/dojox/jq.js +1 -1
  1111. data/dojo/dojox/json/query.js +7 -7
  1112. data/dojo/dojox/json/ref.js +4 -2
  1113. data/dojo/dojox/lang/README +13 -2
  1114. data/dojo/dojox/lang/async.js +199 -0
  1115. data/dojo/dojox/lang/async/event.js +41 -0
  1116. data/dojo/dojox/lang/async/timeout.js +41 -0
  1117. data/dojo/dojox/lang/async/topic.js +41 -0
  1118. data/dojo/dojox/lang/oo/rearrange.js +1 -1
  1119. data/dojo/dojox/lang/tests/async.js +216 -0
  1120. data/dojo/dojox/lang/tests/docs.js +2 -2
  1121. data/dojo/dojox/lang/tests/main.js +1 -1
  1122. data/dojo/dojox/lang/tests/test_oo_decl.html +52 -3
  1123. data/dojo/dojox/lang/utils.js +52 -9
  1124. data/dojo/dojox/layout/ExpandoPane.js +71 -21
  1125. data/dojo/dojox/layout/FloatingPane.js +7 -4
  1126. data/dojo/dojox/layout/GridContainer.js +453 -920
  1127. data/dojo/dojox/layout/GridContainerLite.js +811 -0
  1128. data/dojo/dojox/layout/README +1 -1
  1129. data/dojo/dojox/layout/ResizeHandle.js +6 -3
  1130. data/dojo/dojox/layout/RotatorContainer.js +1 -1
  1131. data/dojo/dojox/layout/TableContainer.js +7 -0
  1132. data/dojo/dojox/layout/ToggleSplitter.js +2 -2
  1133. data/dojo/dojox/layout/resources/ExpandoPane.css +52 -0
  1134. data/dojo/dojox/layout/resources/ExpandoPane.html +2 -2
  1135. data/dojo/dojox/layout/resources/GridContainer.css +49 -69
  1136. data/dojo/dojox/layout/resources/GridContainer.html +9 -5
  1137. data/dojo/dojox/layout/resources/ResizeHandle.css +18 -0
  1138. data/dojo/dojox/layout/resources/icons/gridcontainer_grip.gif +0 -0
  1139. data/dojo/dojox/layout/resources/icons/resizeRtl.png +0 -0
  1140. data/dojo/dojox/layout/tests/resources/script_dnd.js +158 -0
  1141. data/dojo/dojox/layout/tests/resources/set_complete_dnd.css +61 -0
  1142. data/dojo/dojox/layout/tests/test_ExpandoPane.html +7 -1
  1143. data/dojo/dojox/layout/tests/test_ExpandoPane_prog.html +1 -1
  1144. data/dojo/dojox/layout/tests/test_GridContainer.html +24 -76
  1145. data/dojo/dojox/layout/tests/test_GridContainerColWidths.html +31 -19
  1146. data/dojo/dojox/layout/tests/test_GridContainerLite.html +122 -0
  1147. data/dojo/dojox/layout/tests/test_GridContainerLite_doLayout.html +112 -0
  1148. data/dojo/dojox/layout/tests/test_GridContainerLite_dragRestriction.html +148 -0
  1149. data/dojo/dojox/layout/tests/test_GridContainer_ResizableCol.html +93 -0
  1150. data/dojo/dojox/layout/tests/test_GridContainer_TitlePanes.html +85 -0
  1151. data/dojo/dojox/layout/tests/test_GridContainer_complete_solution.html +103 -0
  1152. data/dojo/dojox/layout/tests/test_GridContainer_dragHandle.html +107 -0
  1153. data/dojo/dojox/layout/tests/{test_GridContainerBC.html → test_GridContainer_in_BorderContainer.html} +27 -61
  1154. data/dojo/dojox/layout/tests/{test_GridContainerBC_prog.html → test_GridContainer_in_BorderContainer_prog.html} +142 -50
  1155. data/dojo/dojox/layout/tests/test_TableContainer.html +2 -2
  1156. data/dojo/dojox/math/BigInteger-ext.js +1 -3
  1157. data/dojo/dojox/math/BigInteger.js +3 -3
  1158. data/dojo/dojox/math/README +0 -3
  1159. data/dojo/dojox/math/_base.js +48 -11
  1160. data/dojo/dojox/math/tests/math.js +19 -1
  1161. data/dojo/dojox/mdnd/AreaManager.js +707 -0
  1162. data/dojo/dojox/mdnd/AutoScroll.js +195 -0
  1163. data/dojo/dojox/mdnd/DropIndicator.js +86 -0
  1164. data/dojo/dojox/mdnd/LazyManager.js +68 -0
  1165. data/dojo/dojox/mdnd/Moveable.js +251 -0
  1166. data/dojo/dojox/mdnd/PureSource.js +208 -0
  1167. data/dojo/dojox/mdnd/README +94 -0
  1168. data/dojo/dojox/mdnd/adapter/DndFromDojo.js +366 -0
  1169. data/dojo/dojox/mdnd/adapter/DndToDojo.js +484 -0
  1170. data/dojo/dojox/mdnd/dropMode/DefaultDropMode.js +333 -0
  1171. data/dojo/dojox/mdnd/dropMode/OverDropMode.js +308 -0
  1172. data/dojo/dojox/mdnd/dropMode/VerticalDropMode.js +343 -0
  1173. data/dojo/dojox/mdnd/resources/dnd.css +93 -0
  1174. data/dojo/dojox/mdnd/tests/functionalTests/test_dnd_acceptance.html +71 -0
  1175. data/dojo/dojox/mdnd/tests/functionalTests/test_dnd_autoScroll.html +52 -0
  1176. data/dojo/dojox/mdnd/tests/functionalTests/test_dnd_defaultDropMode.html +55 -0
  1177. data/dojo/dojox/mdnd/tests/functionalTests/test_dnd_dndFromDojo.html +73 -0
  1178. data/dojo/dojox/mdnd/tests/functionalTests/test_dnd_dndToDojo.html +93 -0
  1179. data/dojo/dojox/mdnd/tests/functionalTests/test_dnd_dndToDojo_dndFromDojo.html +70 -0
  1180. data/dojo/dojox/mdnd/tests/functionalTests/test_dnd_overDropMode.html +57 -0
  1181. data/dojo/dojox/mdnd/tests/functionalTests/test_dnd_stress.html +83 -0
  1182. data/dojo/dojox/mdnd/tests/functionalTests/test_dnd_verticalDropMode.html +55 -0
  1183. data/dojo/dojox/mdnd/tests/module.js +16 -0
  1184. data/dojo/dojox/mdnd/tests/resources/test_dnd.css +68 -0
  1185. data/dojo/dojox/mdnd/tests/robot/module.js +16 -0
  1186. data/dojo/dojox/mdnd/tests/robot/test_dnd_acceptance.html +284 -0
  1187. data/dojo/dojox/mdnd/tests/robot/test_dnd_defaultDropMode.html +101 -0
  1188. data/dojo/dojox/mdnd/tests/robot/test_dnd_dndFromDojo.html +322 -0
  1189. data/dojo/dojox/mdnd/tests/robot/test_dnd_dndToDojo.html +198 -0
  1190. data/dojo/dojox/mdnd/tests/robot/test_dnd_overDropMode.html +272 -0
  1191. data/dojo/dojox/mdnd/tests/robot/test_dnd_verticalDropMode.html +101 -0
  1192. data/dojo/dojox/mdnd/tests/runTests.html +9 -0
  1193. data/dojo/dojox/mdnd/tests/unitTests/areaManager/AreaManagerCoverPresence.html +110 -0
  1194. data/dojo/dojox/mdnd/tests/unitTests/areaManager/AreaManagerManagingDragItems.html +149 -0
  1195. data/dojo/dojox/mdnd/tests/unitTests/areaManager/AreaManagerRegistering.html +124 -0
  1196. data/dojo/dojox/mdnd/tests/unitTests/areaManager/module.js +12 -0
  1197. data/dojo/dojox/mdnd/tests/unitTests/dropIndicator/DropIndicatorTest.html +187 -0
  1198. data/dojo/dojox/mdnd/tests/unitTests/dropIndicator/module.js +8 -0
  1199. data/dojo/dojox/mdnd/tests/unitTests/dropMode/DefaultDropModeTest.html +241 -0
  1200. data/dojo/dojox/mdnd/tests/unitTests/dropMode/FixtureLib.js +87 -0
  1201. data/dojo/dojox/mdnd/tests/unitTests/dropMode/OverDropModeTest.html +195 -0
  1202. data/dojo/dojox/mdnd/tests/unitTests/dropMode/VerticalDropModeTest.html +241 -0
  1203. data/dojo/dojox/mdnd/tests/unitTests/dropMode/module.js +10 -0
  1204. data/dojo/dojox/mdnd/tests/unitTests/dropMode/resources/domElement.html +130 -0
  1205. data/dojo/dojox/mdnd/tests/unitTests/module.js +9 -0
  1206. data/dojo/dojox/mobile.js +4 -0
  1207. data/dojo/dojox/mobile/README +55 -0
  1208. data/dojo/dojox/mobile/_base.js +1451 -0
  1209. data/dojo/dojox/mobile/app.js +3 -0
  1210. data/dojo/dojox/mobile/app/AlertDialog.js +182 -0
  1211. data/dojo/dojox/mobile/app/ImageThumbView.js +254 -0
  1212. data/dojo/dojox/mobile/app/ImageView.js +716 -0
  1213. data/dojo/dojox/mobile/app/List.js +577 -0
  1214. data/dojo/dojox/mobile/app/ListSelector.js +218 -0
  1215. data/dojo/dojox/mobile/app/SceneAssistant.js +56 -0
  1216. data/dojo/dojox/mobile/app/SceneController.js +157 -0
  1217. data/dojo/dojox/mobile/app/StageController.js +137 -0
  1218. data/dojo/dojox/mobile/app/TextBox.js +321 -0
  1219. data/dojo/dojox/mobile/app/_FormWidget.js +294 -0
  1220. data/dojo/dojox/mobile/app/_Widget.js +30 -0
  1221. data/dojo/dojox/mobile/app/_base.js +226 -0
  1222. data/dojo/dojox/mobile/app/_event.js +119 -0
  1223. data/dojo/dojox/mobile/app/compat.js +109 -0
  1224. data/dojo/dojox/mobile/build/build.bat +47 -0
  1225. data/dojo/dojox/mobile/build/build.sh +50 -0
  1226. data/dojo/dojox/mobile/build/profiles/mobile-all.profile.js +36 -0
  1227. data/dojo/dojox/mobile/build/profiles/mobile.profile.js +40 -0
  1228. data/dojo/dojox/mobile/compat.js +399 -0
  1229. data/dojo/dojox/mobile/parser.js +80 -0
  1230. data/dojo/dojox/mobile/tests/complexListApp/app/assistants/main-assistant.js +123 -0
  1231. data/dojo/dojox/mobile/tests/complexListApp/app/views/main/emptyTemplate.html +3 -0
  1232. data/dojo/dojox/mobile/tests/complexListApp/app/views/main/main-scene.html +23 -0
  1233. data/dojo/dojox/mobile/tests/complexListApp/app/views/main/rowTemplate.html +15 -0
  1234. data/dojo/dojox/mobile/tests/complexListApp/images/i-icon-1.png +0 -0
  1235. data/dojo/dojox/mobile/tests/complexListApp/images/i-icon-2.png +0 -0
  1236. data/dojo/dojox/mobile/tests/complexListApp/images/i-icon-3.png +0 -0
  1237. data/dojo/dojox/mobile/tests/complexListApp/images/i-icon-4.png +0 -0
  1238. data/dojo/dojox/mobile/tests/complexListApp/index.html +37 -0
  1239. data/dojo/dojox/mobile/tests/complexListApp/styles/style.css +38 -0
  1240. data/dojo/dojox/mobile/tests/dialogApp/app/assistants/main-assistant.js +75 -0
  1241. data/dojo/dojox/mobile/tests/dialogApp/app/views/main/main-scene.html +10 -0
  1242. data/dojo/dojox/mobile/tests/dialogApp/index.html +37 -0
  1243. data/dojo/dojox/mobile/tests/imageControlsApp/app/assistants/flickr-image-thumb-view-assistant.js +198 -0
  1244. data/dojo/dojox/mobile/tests/imageControlsApp/app/assistants/flickr-image-view-assistant.js +170 -0
  1245. data/dojo/dojox/mobile/tests/imageControlsApp/app/assistants/flickr-search-group-assistant.js +123 -0
  1246. data/dojo/dojox/mobile/tests/imageControlsApp/app/assistants/flickr-search-selection-assistant.js +54 -0
  1247. data/dojo/dojox/mobile/tests/imageControlsApp/app/assistants/flickr-search-text-assistant.js +119 -0
  1248. data/dojo/dojox/mobile/tests/imageControlsApp/app/assistants/image-view-assistant.js +92 -0
  1249. data/dojo/dojox/mobile/tests/imageControlsApp/app/assistants/main-assistant.js +40 -0
  1250. data/dojo/dojox/mobile/tests/imageControlsApp/app/views/flickr-image-thumb-view/flickr-image-thumb-view-scene.html +17 -0
  1251. data/dojo/dojox/mobile/tests/imageControlsApp/app/views/flickr-image-view/flickr-image-view-scene.html +10 -0
  1252. data/dojo/dojox/mobile/tests/imageControlsApp/app/views/flickr-search-group/emptyTemplate.html +3 -0
  1253. data/dojo/dojox/mobile/tests/imageControlsApp/app/views/flickr-search-group/flickr-search-group-scene.html +19 -0
  1254. data/dojo/dojox/mobile/tests/imageControlsApp/app/views/flickr-search-group/rowTemplate.html +8 -0
  1255. data/dojo/dojox/mobile/tests/imageControlsApp/app/views/flickr-search-selection/flickr-search-selection-scene.html +7 -0
  1256. data/dojo/dojox/mobile/tests/imageControlsApp/app/views/flickr-search-selection/rowTemplate.html +8 -0
  1257. data/dojo/dojox/mobile/tests/imageControlsApp/app/views/flickr-search-text/emptyTemplate.html +3 -0
  1258. data/dojo/dojox/mobile/tests/imageControlsApp/app/views/flickr-search-text/flickr-search-group-scene.html +19 -0
  1259. data/dojo/dojox/mobile/tests/imageControlsApp/app/views/flickr-search-text/rowTemplate.html +15 -0
  1260. data/dojo/dojox/mobile/tests/imageControlsApp/app/views/image-view/image-view-scene.html +23 -0
  1261. data/dojo/dojox/mobile/tests/imageControlsApp/app/views/main/main-scene.html +6 -0
  1262. data/dojo/dojox/mobile/tests/imageControlsApp/app/views/main/rowTemplate.html +8 -0
  1263. data/dojo/dojox/mobile/tests/imageControlsApp/images/chris1_lg.jpg +0 -0
  1264. data/dojo/dojox/mobile/tests/imageControlsApp/images/chris2_lg.jpg +0 -0
  1265. data/dojo/dojox/mobile/tests/imageControlsApp/images/imageHoriz.jpg +0 -0
  1266. data/dojo/dojox/mobile/tests/imageControlsApp/images/imageVert.jpg +0 -0
  1267. data/dojo/dojox/mobile/tests/imageControlsApp/images/square.jpg +0 -0
  1268. data/dojo/dojox/mobile/tests/imageControlsApp/index.html +39 -0
  1269. data/dojo/dojox/mobile/tests/imageControlsApp/styles/styles.css +13 -0
  1270. data/dojo/dojox/mobile/tests/imageControlsApp/view-resources.json +14 -0
  1271. data/dojo/dojox/mobile/tests/images/a-icon-1-41x41.png +0 -0
  1272. data/dojo/dojox/mobile/tests/images/a-icon-1.png +0 -0
  1273. data/dojo/dojox/mobile/tests/images/a-icon-10.png +0 -0
  1274. data/dojo/dojox/mobile/tests/images/a-icon-11.png +0 -0
  1275. data/dojo/dojox/mobile/tests/images/a-icon-12.png +0 -0
  1276. data/dojo/dojox/mobile/tests/images/a-icon-13.png +0 -0
  1277. data/dojo/dojox/mobile/tests/images/a-icon-14.png +0 -0
  1278. data/dojo/dojox/mobile/tests/images/a-icon-15.png +0 -0
  1279. data/dojo/dojox/mobile/tests/images/a-icon-16.png +0 -0
  1280. data/dojo/dojox/mobile/tests/images/a-icon-17.png +0 -0
  1281. data/dojo/dojox/mobile/tests/images/a-icon-18.png +0 -0
  1282. data/dojo/dojox/mobile/tests/images/a-icon-2-41x41.png +0 -0
  1283. data/dojo/dojox/mobile/tests/images/a-icon-2.png +0 -0
  1284. data/dojo/dojox/mobile/tests/images/a-icon-3.png +0 -0
  1285. data/dojo/dojox/mobile/tests/images/a-icon-4.png +0 -0
  1286. data/dojo/dojox/mobile/tests/images/i-icon-1.png +0 -0
  1287. data/dojo/dojox/mobile/tests/images/i-icon-10.png +0 -0
  1288. data/dojo/dojox/mobile/tests/images/i-icon-2.png +0 -0
  1289. data/dojo/dojox/mobile/tests/images/i-icon-3.png +0 -0
  1290. data/dojo/dojox/mobile/tests/images/i-icon-4.png +0 -0
  1291. data/dojo/dojox/mobile/tests/images/i-icon-5.png +0 -0
  1292. data/dojo/dojox/mobile/tests/images/i-icon-6.png +0 -0
  1293. data/dojo/dojox/mobile/tests/images/i-icon-7.png +0 -0
  1294. data/dojo/dojox/mobile/tests/images/i-icon-8.png +0 -0
  1295. data/dojo/dojox/mobile/tests/images/i-icon-9.png +0 -0
  1296. data/dojo/dojox/mobile/tests/images/i-icon-all.png +0 -0
  1297. data/dojo/dojox/mobile/tests/images/icon-1.png +0 -0
  1298. data/dojo/dojox/mobile/tests/images/not-images.png +0 -0
  1299. data/dojo/dojox/mobile/tests/images/red-button-bg.png +0 -0
  1300. data/dojo/dojox/mobile/tests/images/red-button-sel-bg.png +0 -0
  1301. data/dojo/dojox/mobile/tests/images/widget-bg.png +0 -0
  1302. data/dojo/dojox/mobile/tests/index.html +55 -0
  1303. data/dojo/dojox/mobile/tests/inputApp/app/assistants/text-input-assistant.js +21 -0
  1304. data/dojo/dojox/mobile/tests/inputApp/app/views/text-input/text-input-scene.html +50 -0
  1305. data/dojo/dojox/mobile/tests/inputApp/index.html +37 -0
  1306. data/dojo/dojox/mobile/tests/multiSceneApp/app/assistants/main-assistant.js +41 -0
  1307. data/dojo/dojox/mobile/tests/multiSceneApp/app/assistants/second-assistant.js +32 -0
  1308. data/dojo/dojox/mobile/tests/multiSceneApp/app/assistants/third-assistant.js +33 -0
  1309. data/dojo/dojox/mobile/tests/multiSceneApp/app/views/main/main-scene.html +16 -0
  1310. data/dojo/dojox/mobile/tests/multiSceneApp/app/views/second/second-scene.html +12 -0
  1311. data/dojo/dojox/mobile/tests/multiSceneApp/app/views/third/third-scene.html +13 -0
  1312. data/dojo/dojox/mobile/tests/multiSceneApp/index.html +37 -0
  1313. data/dojo/dojox/mobile/tests/simpleApp/app/assistants/main-assistant.js +23 -0
  1314. data/dojo/dojox/mobile/tests/simpleApp/app/views/main/main-scene.html +3 -0
  1315. data/dojo/dojox/mobile/tests/simpleApp/index.html +36 -0
  1316. data/dojo/dojox/mobile/tests/simpleListApp/app/assistants/main-assistant.js +66 -0
  1317. data/dojo/dojox/mobile/tests/simpleListApp/app/views/main/main-scene.html +14 -0
  1318. data/dojo/dojox/mobile/tests/simpleListApp/app/views/main/rowTemplate.html +3 -0
  1319. data/dojo/dojox/mobile/tests/simpleListApp/index.html +36 -0
  1320. data/dojo/dojox/mobile/tests/test_Android-ButtonList.html +68 -0
  1321. data/dojo/dojox/mobile/tests/test_Android-EdgeToEdge.html +50 -0
  1322. data/dojo/dojox/mobile/tests/test_Android-EdgeToEdgeCategory.html +46 -0
  1323. data/dojo/dojox/mobile/tests/test_Android-Icon.html +58 -0
  1324. data/dojo/dojox/mobile/tests/test_Android-RoundRectList.html +60 -0
  1325. data/dojo/dojox/mobile/tests/test_Android-Settings.html +104 -0
  1326. data/dojo/dojox/mobile/tests/test_Android-Switch.html +23 -0
  1327. data/dojo/dojox/mobile/tests/test_Android-TabContainer.html +139 -0
  1328. data/dojo/dojox/mobile/tests/test_Android-VariableHeightList.html +100 -0
  1329. data/dojo/dojox/mobile/tests/test_ajax-html.html +34 -0
  1330. data/dojo/dojox/mobile/tests/test_ajax-json.html +34 -0
  1331. data/dojo/dojox/mobile/tests/test_anchor-label.html +74 -0
  1332. data/dojo/dojox/mobile/tests/test_bookmarkable.html +112 -0
  1333. data/dojo/dojox/mobile/tests/test_buttons.html +21 -0
  1334. data/dojo/dojox/mobile/tests/test_dynamic-icons.html +53 -0
  1335. data/dojo/dojox/mobile/tests/test_dynamic-items.html +98 -0
  1336. data/dojo/dojox/mobile/tests/test_dynamic-view.html +58 -0
  1337. data/dojo/dojox/mobile/tests/test_hash-parameter.html +71 -0
  1338. data/dojo/dojox/mobile/tests/test_iPhone-Animation.html +81 -0
  1339. data/dojo/dojox/mobile/tests/test_iPhone-Button.html +41 -0
  1340. data/dojo/dojox/mobile/tests/test_iPhone-ButtonList.html +50 -0
  1341. data/dojo/dojox/mobile/tests/test_iPhone-EdgeToEdge.html +47 -0
  1342. data/dojo/dojox/mobile/tests/test_iPhone-EdgeToEdgeCategory.html +46 -0
  1343. data/dojo/dojox/mobile/tests/test_iPhone-Heading.html +24 -0
  1344. data/dojo/dojox/mobile/tests/test_iPhone-Icon.html +58 -0
  1345. data/dojo/dojox/mobile/tests/test_iPhone-IconMulti.html +36 -0
  1346. data/dojo/dojox/mobile/tests/test_iPhone-IconSingle.html +35 -0
  1347. data/dojo/dojox/mobile/tests/test_iPhone-IconSingleBelow.html +35 -0
  1348. data/dojo/dojox/mobile/tests/test_iPhone-ResultList.html +65 -0
  1349. data/dojo/dojox/mobile/tests/test_iPhone-RoundRect.html +27 -0
  1350. data/dojo/dojox/mobile/tests/test_iPhone-RoundRectList.html +54 -0
  1351. data/dojo/dojox/mobile/tests/test_iPhone-Settings.html +168 -0
  1352. data/dojo/dojox/mobile/tests/test_iPhone-Switch.html +23 -0
  1353. data/dojo/dojox/mobile/tests/test_iPhone-TabContainer.html +169 -0
  1354. data/dojo/dojox/mobile/tests/test_iPhone-VariableHeightList.html +99 -0
  1355. data/dojo/dojox/mobile/tests/test_progress-indicator.html +83 -0
  1356. data/dojo/dojox/mobile/tests/view-sample.html +38 -0
  1357. data/dojo/dojox/mobile/tests/view1.html +14 -0
  1358. data/dojo/dojox/mobile/tests/view1.json +18 -0
  1359. data/dojo/dojox/mobile/tests/view2.html +9 -0
  1360. data/dojo/dojox/mobile/tests/view2.json +31 -0
  1361. data/dojo/dojox/mobile/tests/view3.html +16 -0
  1362. data/dojo/dojox/mobile/tests/view3.json +44 -0
  1363. data/dojo/dojox/mobile/themes/android/android-compat.css +284 -0
  1364. data/dojo/dojox/mobile/themes/android/android.css +738 -0
  1365. data/dojo/dojox/mobile/themes/android/compat/arrow-button-bg.png +0 -0
  1366. data/dojo/dojox/mobile/themes/android/compat/arrow-button-head.png +0 -0
  1367. data/dojo/dojox/mobile/themes/android/compat/blue-button-bg.png +0 -0
  1368. data/dojo/dojox/mobile/themes/android/compat/blue-button-sel-bg.png +0 -0
  1369. data/dojo/dojox/{editor/plugins/resources/icons/findReplaceDisabled.gif → mobile/themes/android/compat/gray-arrow.png} +0 -0
  1370. data/dojo/dojox/mobile/themes/android/compat/icon-content-heading-bg.png +0 -0
  1371. data/dojo/dojox/mobile/themes/android/compat/switch-blue-bg.png +0 -0
  1372. data/dojo/dojox/mobile/themes/android/compat/switch-gray-bg.png +0 -0
  1373. data/dojo/dojox/mobile/themes/android/compat/switch-green-bg.png +0 -0
  1374. data/dojo/dojox/mobile/themes/android/compat/switch-knob-bg.png +0 -0
  1375. data/dojo/dojox/mobile/themes/android/compat/tab-button-bg.png +0 -0
  1376. data/dojo/dojox/mobile/themes/android/compat/tab-orange-button-bg.png +0 -0
  1377. data/dojo/dojox/mobile/themes/android/compat/tab-sel-button-bg.png +0 -0
  1378. data/dojo/dojox/mobile/themes/buttons-compat.css +30 -0
  1379. data/dojo/dojox/mobile/themes/buttons.css +191 -0
  1380. data/dojo/dojox/mobile/themes/compat/check-off-button.png +0 -0
  1381. data/dojo/dojox/mobile/themes/compat/check-on-button.png +0 -0
  1382. data/dojo/dojox/mobile/themes/compat/small-blue-button-bg.png +0 -0
  1383. data/dojo/dojox/mobile/themes/compat/small-darkblue-button-bg.png +0 -0
  1384. data/dojo/dojox/mobile/themes/compat/small-red-button-bg.png +0 -0
  1385. data/dojo/dojox/mobile/themes/iphone/compat/arrow-button-bg.png +0 -0
  1386. data/dojo/dojox/mobile/themes/iphone/compat/arrow-button-head.png +0 -0
  1387. data/dojo/dojox/mobile/themes/iphone/compat/blue-button-bg.png +0 -0
  1388. data/dojo/dojox/mobile/themes/iphone/compat/blue-button-sel-bg.png +0 -0
  1389. data/dojo/dojox/mobile/themes/iphone/compat/edge-categ-bg.png +0 -0
  1390. data/dojo/dojox/mobile/themes/iphone/compat/gray-arrow.png +0 -0
  1391. data/dojo/dojox/mobile/themes/iphone/compat/heading-bg.png +0 -0
  1392. data/dojo/dojox/mobile/themes/iphone/compat/icon-content-heading-bg.png +0 -0
  1393. data/dojo/dojox/mobile/themes/iphone/compat/switch-blue-bg.png +0 -0
  1394. data/dojo/dojox/mobile/themes/iphone/compat/switch-gray-bg.png +0 -0
  1395. data/dojo/dojox/mobile/themes/iphone/compat/switch-knob-bg.png +0 -0
  1396. data/dojo/dojox/mobile/themes/iphone/compat/tab-button-bg.png +0 -0
  1397. data/dojo/dojox/mobile/themes/iphone/compat/tab-sel-button-bg.png +0 -0
  1398. data/dojo/dojox/mobile/themes/iphone/compat/white-arrow.png +0 -0
  1399. data/dojo/dojox/mobile/themes/iphone/images/thumb-overlay.png +0 -0
  1400. data/dojo/dojox/mobile/themes/iphone/iphone-app-compat.css +24 -0
  1401. data/dojo/dojox/mobile/themes/iphone/iphone-app.css +281 -0
  1402. data/dojo/dojox/mobile/themes/iphone/iphone-compat.css +290 -0
  1403. data/dojo/dojox/mobile/themes/iphone/iphone.css +751 -0
  1404. data/dojo/dojox/rails.js +143 -0
  1405. data/dojo/dojox/rails/README +41 -0
  1406. data/dojo/dojox/rails/tests/module.js +7 -0
  1407. data/dojo/dojox/rails/tests/plugd/trigger.js +187 -0
  1408. data/dojo/dojox/rails/tests/runTests.html +9 -0
  1409. data/dojo/dojox/rails/tests/success_response.html +1 -0
  1410. data/dojo/dojox/rails/tests/test_rails.html +320 -0
  1411. data/dojo/dojox/robot/recorder.js +3 -3
  1412. data/dojo/dojox/rpc/SMDLibrary/wikipedia.smd +49 -49
  1413. data/dojo/dojox/rpc/tests/resources/query +5 -5
  1414. data/dojo/dojox/sketch/Figure.js +2 -2
  1415. data/dojo/dojox/sketch/UndoStack.js +2 -2
  1416. data/dojo/dojox/validate/creditCard.js +1 -1
  1417. data/dojo/dojox/widget/Calendar.js +18 -18
  1418. data/dojo/dojox/widget/CalendarViews.js +2 -2
  1419. data/dojo/dojox/widget/ColorPicker.js +248 -73
  1420. data/dojo/dojox/widget/ColorPicker/ColorPicker.css +32 -19
  1421. data/dojo/dojox/widget/ColorPicker/ColorPicker.html +71 -30
  1422. data/dojo/dojox/widget/ColorPicker/images/hueHandleA11y.png +0 -0
  1423. data/dojo/dojox/widget/DataPresentation.js +126 -60
  1424. data/dojo/dojox/widget/Dialog.js +2 -1
  1425. data/dojo/dojox/widget/Dialog/Dialog.css +7 -0
  1426. data/dojo/dojox/widget/DynamicTooltip.js +3 -3
  1427. data/dojo/dojox/widget/FeedPortlet.js +9 -9
  1428. data/dojo/dojox/widget/FilePicker.js +2 -2
  1429. data/dojo/dojox/widget/Portlet.js +8 -0
  1430. data/dojo/dojox/widget/Portlet/Portlet.css +2 -2
  1431. data/dojo/dojox/widget/RollingList.js +11 -8
  1432. data/dojo/dojox/widget/Rotator.js +7 -1
  1433. data/dojo/dojox/widget/Standby.js +32 -5
  1434. data/dojo/dojox/widget/Toaster.js +3 -1
  1435. data/dojo/dojox/widget/UpgradeBar.js +20 -20
  1436. data/dojo/dojox/widget/Wizard.js +2 -2
  1437. data/dojo/dojox/widget/Wizard/Wizard.css +5 -0
  1438. data/dojo/dojox/widget/gauge/_Gauge.js +2 -2
  1439. data/dojo/dojox/widget/nls/ColorPicker.js +4 -2
  1440. data/dojo/dojox/widget/nls/ar/ColorPicker.js +3 -0
  1441. data/dojo/dojox/widget/nls/ca/ColorPicker.js +6 -0
  1442. data/dojo/dojox/widget/nls/da/ColorPicker.js +3 -0
  1443. data/dojo/dojox/widget/nls/el/ColorPicker.js +10 -0
  1444. data/dojo/dojox/widget/nls/fi/ColorPicker.js +3 -0
  1445. data/dojo/dojox/widget/nls/he/ColorPicker.js +10 -0
  1446. data/dojo/dojox/widget/nls/ko/ColorPicker.js +7 -1
  1447. data/dojo/dojox/widget/nls/nb/ColorPicker.js +3 -0
  1448. data/dojo/dojox/widget/nls/nl/ColorPicker.js +6 -0
  1449. data/dojo/dojox/widget/nls/pt-pt/ColorPicker.js +8 -0
  1450. data/dojo/dojox/widget/nls/ro/ColorPicker.js +5 -0
  1451. data/dojo/dojox/widget/nls/ro/FilePicker.js +6 -0
  1452. data/dojo/dojox/widget/nls/ro/Wizard.js +6 -0
  1453. data/dojo/dojox/widget/nls/sk/ColorPicker.js +3 -0
  1454. data/dojo/dojox/widget/nls/sl/ColorPicker.js +3 -0
  1455. data/dojo/dojox/widget/nls/sv/ColorPicker.js +6 -0
  1456. data/dojo/dojox/widget/nls/tr/ColorPicker.js +10 -0
  1457. data/dojo/dojox/widget/rotator/ThumbnailController.js +96 -0
  1458. data/dojo/dojox/widget/tests/test_ColorPicker.html +10 -1
  1459. data/dojo/dojox/widget/tests/test_DataPresentation.html +7 -3
  1460. data/dojo/dojox/widget/tests/test_PortletInGridContainer.html +27 -37
  1461. data/dojo/dojox/widget/tests/test_PortletInGridContainer.js +2 -1
  1462. data/dojo/dojox/widget/tests/test_PortletInGridContainerColumns.html +10 -8
  1463. data/dojo/dojox/widget/tests/test_Rotator.html +2 -0
  1464. data/dojo/dojox/widget/tests/test_Rotator_ThumbnailController.html +63 -0
  1465. data/dojo/dojox/widget/tests/test_Standby.html +4 -4
  1466. data/dojo/dojox/wire/Wire.js +32 -4
  1467. data/dojo/dojox/wire/demos/markup/demo_ActionChaining.html +1 -1
  1468. data/dojo/dojox/wire/demos/markup/demo_ConditionalActions.html +6 -6
  1469. data/dojo/dojox/wire/demos/markup/demo_TopicWiring.html +1 -1
  1470. data/dojo/dojox/xml/parser.js +2 -2
  1471. data/dojo/util/LICENSE +1 -1
  1472. data/dojo/util/buildscripts/build.bat +3 -3
  1473. data/dojo/util/buildscripts/build.js +4 -2
  1474. data/dojo/util/buildscripts/build_notice.txt +2 -4
  1475. data/dojo/util/buildscripts/build_release.sh +6 -6
  1476. data/dojo/util/buildscripts/cdnBuild.sh +39 -0
  1477. data/dojo/util/buildscripts/cdnBuild.txt +13 -13
  1478. data/dojo/util/buildscripts/cldr/README +1 -1
  1479. data/dojo/util/buildscripts/cldr/build.xml +1 -1
  1480. data/dojo/util/buildscripts/cldr/calendar.xsl +98 -74
  1481. data/dojo/util/buildscripts/cldr/ldml/CatalogManager.properties +16 -16
  1482. data/dojo/util/buildscripts/cldr/ldml/catalog +1 -1
  1483. data/dojo/util/buildscripts/cldr/ldml/core.zip +0 -0
  1484. data/dojo/util/buildscripts/copyright.txt +1 -1
  1485. data/dojo/util/buildscripts/jslib/buildUtil.js +9 -0
  1486. data/dojo/util/buildscripts/jslib/dojoGuardEnd.jsfrag +8 -7
  1487. data/dojo/util/buildscripts/profiles/baseplus.profile.js +21 -0
  1488. data/dojo/util/buildscripts/profiles/demos-all.profile.js +7 -0
  1489. data/dojo/util/buildscripts/tests/conditionalTest.js +1 -1
  1490. data/dojo/util/checkstyle/checkstyle.bat +3 -3
  1491. data/dojo/util/checkstyle/checkstyleUtil.js +68 -4
  1492. data/dojo/util/checkstyle/runCheckstyle.js +24 -2
  1493. data/dojo/util/docscripts/LICENSE +1 -1
  1494. data/dojo/util/docscripts/cheat/lib.js +1 -1
  1495. data/dojo/util/docscripts/lib/parser2/JavaScriptArray.php +2 -2
  1496. data/dojo/util/docscripts/makeCix.php +1 -1
  1497. data/dojo/util/doh/_browserRunner.js +25 -4
  1498. data/dojo/util/doh/_rhinoRunner.js +1 -0
  1499. data/dojo/util/doh/robot/DOHRobot.jar +0 -0
  1500. data/dojo/util/doh/robot/DOHRobot.java +32 -7
  1501. data/dojo/util/doh/runner.html +2 -2
  1502. data/dojo/util/doh/runner.js +14 -5
  1503. data/dojo/util/jsdoc/LICENSE +1 -1
  1504. data/dojo/util/migration/dijitCss14to15.sed +67 -0
  1505. data/dojo/util/shrinksafe/shrinksafe.jar +0 -0
  1506. data/dojo/util/shrinksafe/src/org/dojotoolkit/shrinksafe/resources/Messages.properties +1 -1
  1507. data/dojo/util/shrinksafe/tests/escapeunicode.js +1 -0
  1508. data/dojo/util/shrinksafe/tests/module.js +14 -5
  1509. data/lib/dojo_src.rb +2 -5
  1510. metadata +4940 -4373
  1511. data/dojo/dijit/tests/_base/viewportQuirks.html +0 -5
  1512. data/dojo/dijit/themes/nihilo/form/ComboBox.css +0 -12
  1513. data/dojo/dijit/themes/nihilo/form/Common_rtl.css +0 -7
  1514. data/dojo/dijit/themes/nihilo/images/editor.gif +0 -0
  1515. data/dojo/dijit/themes/nihilo/images/editorDisabled.gif +0 -0
  1516. data/dojo/dijit/themes/nihilo/images/editorDisabled_rtl.gif +0 -0
  1517. data/dojo/dijit/themes/nihilo/images/editor_rtl.gif +0 -0
  1518. data/dojo/dijit/themes/soria/form/ComboBox.css +0 -12
  1519. data/dojo/dijit/themes/soria/form/Common_rtl.css +0 -7
  1520. data/dojo/dijit/themes/soria/images/editor.gif +0 -0
  1521. data/dojo/dijit/themes/soria/images/editorDisabled.gif +0 -0
  1522. data/dojo/dijit/themes/soria/images/editorDisabled_rtl.gif +0 -0
  1523. data/dojo/dijit/themes/soria/images/editor_rtl.gif +0 -0
  1524. data/dojo/dijit/themes/templateThemeTest.html +0 -178
  1525. data/dojo/dijit/themes/tundra/form/Common_rtl.css +0 -6
  1526. data/dojo/dijit/themes/tundra/images/editor.gif +0 -0
  1527. data/dojo/dijit/themes/tundra/images/editorDisabled.gif +0 -0
  1528. data/dojo/dijit/themes/tundra/images/editorDisabled_rtl.gif +0 -0
  1529. data/dojo/dijit/themes/tundra/images/editorMaster.png +0 -0
  1530. data/dojo/dijit/themes/tundra/images/editor_rtl.gif +0 -0
  1531. data/dojo/dojo/cldr/nls/de-de/number.js +0 -4
  1532. data/dojo/dojo/cldr/nls/en-us/currency.js +0 -5
  1533. data/dojo/dojo/cldr/nls/en-us/number.js +0 -4
  1534. data/dojo/dojo/cldr/nls/es-es/gregorian.js +0 -7
  1535. data/dojo/dojo/cldr/nls/es-es/number.js +0 -4
  1536. data/dojo/dojo/cldr/nls/islamic-civil.js +0 -96
  1537. data/dojo/dojo/cldr/nls/it-it/gregorian.js +0 -5
  1538. data/dojo/dojo/cldr/nls/ja-jp/number.js +0 -4
  1539. data/dojo/dojo/cldr/nls/ko-kr/gregorian.js +0 -6
  1540. data/dojo/dojo/cldr/nls/ko-kr/number.js +0 -4
  1541. data/dojo/dojo/cldr/nls/pt-br/gregorian.js +0 -18
  1542. data/dojo/dojo/cldr/nls/zh-cn/gregorian.js +0 -12
  1543. data/dojo/dojo/cldr/nls/zh-cn/number.js +0 -4
  1544. data/dojo/dojo/cldr/nls/zh-tw/number.js +0 -6
  1545. data/dojo/dojox/editor/plugins/resources/icons/findIcon.gif +0 -0
  1546. data/dojo/dojox/editor/plugins/resources/icons/findReplace.gif +0 -0
  1547. data/dojo/dojox/editor/plugins/resources/icons/replaceIcon.gif +0 -0
  1548. data/dojo/dojox/math/LICENSE-BigInteger +0 -40
  1549. data/dojo/util/buildscripts/cldr/ldml/ldml.dtd +0 -1166
  1550. data/dojo/util/docscripts/api.json +0 -202488
  1551. data/dojo/util/docscripts/api.xml +0 -54976
  1552. data/dojo/util/resources/LICENSE +0 -195
  1553. data/dojo/util/resources/api/api.xml +0 -0
  1554. data/dojo/util/resources/api/dojo.cix +0 -0
  1555. data/dojo/util/resources/dojotoolkit.org/mini-dtk/dojo-styles.css +0 -114
  1556. data/dojo/util/resources/dojotoolkit.org/mini-dtk/images/bg-content-left.png +0 -0
  1557. data/dojo/util/resources/dojotoolkit.org/mini-dtk/images/bg-content-right.png +0 -0
  1558. data/dojo/util/resources/dojotoolkit.org/mini-dtk/images/body.png +0 -0
  1559. data/dojo/util/resources/dojotoolkit.org/mini-dtk/images/logo.png +0 -0
  1560. data/dojo/util/resources/dojotoolkit.org/mini-dtk/mini-dtk.css +0 -34
  1561. data/dojo/util/resources/dojotoolkit.org/mini-dtk/mini-dtk.psd +0 -0
  1562. data/dojo/util/resources/dojotoolkit.org/mini-dtk/style.css +0 -1092
  1563. data/dojo/util/resources/dojotoolkit.org/mini-dtk/template.html +0 -115
  1564. data/dojo/util/resources/logo/negative/dijit.logo.neg.ai +15 -4118
  1565. data/dojo/util/resources/logo/negative/dijit.logo.neg.eps +0 -5557
  1566. data/dojo/util/resources/logo/negative/dijit.logo.neg.png +0 -0
  1567. data/dojo/util/resources/logo/negative/dijit.logo.neg.svg +0 -987
  1568. data/dojo/util/resources/logo/negative/dojo.logo.neg.ai +0 -0
  1569. data/dojo/util/resources/logo/negative/dojo.logo.neg.big.png +0 -0
  1570. data/dojo/util/resources/logo/negative/dojo.logo.neg.eps +0 -64
  1571. data/dojo/util/resources/logo/negative/dojo.logo.neg.png +0 -0
  1572. data/dojo/util/resources/logo/negative/dojo.logo.neg.svg +0 -36
  1573. data/dojo/util/resources/logo/negative/dojox.logo.neg.ai +8 -4003
  1574. data/dojo/util/resources/logo/negative/dojox.logo.neg.eps +0 -5357
  1575. data/dojo/util/resources/logo/negative/dojox.logo.neg.png +0 -0
  1576. data/dojo/util/resources/logo/negative/dojox.logo.neg.svg +0 -41
  1577. data/dojo/util/resources/logo/positive/dijit.logo.ai +10 -4169
  1578. data/dojo/util/resources/logo/positive/dijit.logo.eps +0 -5562
  1579. data/dojo/util/resources/logo/positive/dijit.logo.png +0 -0
  1580. data/dojo/util/resources/logo/positive/dijit.logo.svg +0 -987
  1581. data/dojo/util/resources/logo/positive/dojo.logo.ai +15 -3719
  1582. data/dojo/util/resources/logo/positive/dojo.logo.big.png +0 -0
  1583. data/dojo/util/resources/logo/positive/dojo.logo.eps +0 -64
  1584. data/dojo/util/resources/logo/positive/dojo.logo.png +0 -0
  1585. data/dojo/util/resources/logo/positive/dojo.logo.svg +0 -36
  1586. data/dojo/util/resources/logo/positive/dojox.logo.ai +13 -4068
  1587. data/dojo/util/resources/logo/positive/dojox.logo.eps +0 -5362
  1588. data/dojo/util/resources/logo/positive/dojox.logo.png +0 -0
  1589. data/dojo/util/resources/logo/positive/dojox.logo.svg +0 -41
  1590. data/dojo/util/resources/themes/nihilo/nihilo.psd +0 -0
  1591. data/dojo/util/resources/themes/soria/soria.psd +0 -0
@@ -0,0 +1,3 @@
1
+ dojo.provide("dojox.mobileApp");
2
+
3
+ dojo.require("dojox.mobile.app._base");
@@ -0,0 +1,182 @@
1
+ dojo.provide("dojox.mobile.app.AlertDialog");
2
+ dojo.experimental("dojox.mobile.app.AlertDialog");
3
+ dojo.require("dijit._Widget");
4
+
5
+ dojo.declare("dojox.mobile.app.AlertDialog", dijit._Widget, {
6
+
7
+ // title: String
8
+ // The title of the AlertDialog
9
+ title: "",
10
+
11
+ // text: String
12
+ // The text message displayed in the AlertDialog
13
+ text: "",
14
+
15
+ // controller: Object
16
+ // The SceneController for the currently active scene
17
+ controller: null,
18
+
19
+ // buttons: Array
20
+ buttons: null,
21
+
22
+ defaultButtonLabel: "OK",
23
+
24
+ // onChoose: Function
25
+ // The callback function that is invoked when a button is tapped.
26
+ // If the dialog is cancelled, no parameter is passed to this function.
27
+ onChoose: null,
28
+
29
+ constructor: function(){
30
+ this.onClick = dojo.hitch(this, this.onClick);
31
+ this._handleSelect = dojo.hitch(this, this._handleSelect);
32
+ },
33
+
34
+ buildRendering: function(){
35
+ this.domNode = dojo.create("div",{
36
+ "class": "alertDialog"
37
+ });
38
+
39
+ // Create the outer dialog body
40
+ var dlgBody = dojo.create("div", {"class": "alertDialogBody"}, this.domNode);
41
+
42
+ // Create the title
43
+ dojo.create("div", {"class": "alertTitle", innerHTML: this.title || ""}, dlgBody);
44
+
45
+ // Create the text
46
+ dojo.create("div", {"class": "alertText", innerHTML: this.text || ""}, dlgBody);
47
+
48
+ // Create the node that encapsulates all the buttons
49
+ var btnContainer = dojo.create("div", {"class": "alertBtns"}, dlgBody);
50
+
51
+ // If no buttons have been defined, default to a single button saying OK
52
+ if(!this.buttons || this.buttons.length == 0){
53
+ this.buttons = [{
54
+ label: this.defaultButtonLabel,
55
+ value: "ok",
56
+ "class": "affirmative"
57
+ }];
58
+ }
59
+
60
+ var _this = this;
61
+
62
+ // Create each of the buttons
63
+ dojo.forEach(this.buttons, function(btnInfo){
64
+ var btn = new dojox.mobile.Button({
65
+ btnClass: btnInfo["class"] || "",
66
+ label: btnInfo.label
67
+ });
68
+ btn._dialogValue = btnInfo.value;
69
+ dojo.place(btn.domNode, btnContainer);
70
+ _this.connect(btn, "onClick", _this._handleSelect);
71
+ });
72
+
73
+ var viewportSize = this.controller.getWindowSize();
74
+
75
+ // Create the mask that blocks out the rest of the screen
76
+ this.mask = dojo.create("div", {"class": "dialogUnderlayWrapper",
77
+ innerHTML: "<div class=\"dialogUnderlay\"></div>",
78
+ style: {
79
+ width: viewportSize.w + "px",
80
+ height: viewportSize.h + "px"
81
+ }
82
+ }, this.controller.assistant.domNode);
83
+
84
+ this.connect(this.mask, "onclick", function(){
85
+ _this.onChoose && _this.onChoose();
86
+ _this.hide();
87
+ });
88
+ },
89
+
90
+ postCreate: function(){
91
+ this.subscribe("/dojox/mobile/app/goback", this._handleSelect);
92
+ },
93
+
94
+ _handleSelect: function(event){
95
+ // summary:
96
+ // Handle the selection of a value
97
+ var node;
98
+ console.log("handleSelect");
99
+ if(event && event.target){
100
+ node = event.target;
101
+
102
+ // Find the widget that was tapped.
103
+ while(!dijit.byNode(node)){
104
+ node - node.parentNode;
105
+ }
106
+ }
107
+
108
+ // If an onChoose function was provided, tell it what button
109
+ // value was chosen
110
+ if(this.onChoose){
111
+ this.onChoose(node ? dijit.byNode(node)._dialogValue: undefined);
112
+ }
113
+ // Hide the dialog
114
+ this.hide();
115
+ },
116
+
117
+ show: function(){
118
+ // summary:
119
+ // Show the dialog
120
+ this._doTransition(1);
121
+ },
122
+
123
+ hide: function(){
124
+ // summary:
125
+ // Hide the dialog
126
+ this._doTransition(-1);
127
+ },
128
+
129
+ _doTransition: function(dir){
130
+ // summary:
131
+ // Either shows or hides the dialog.
132
+ // dir:
133
+ // An integer. If positive, the dialog is shown. If negative,
134
+ // the dialog is hidden.
135
+
136
+ // TODO: replace this with CSS transitions
137
+
138
+ var anim;
139
+ var h = dojo.marginBox(this.domNode.firstChild).h;
140
+
141
+
142
+ var bodyHeight = this.controller.getWindowSize().h;
143
+ console.log("dialog height = " + h, " body height = " + bodyHeight);
144
+
145
+ var high = bodyHeight - h;
146
+ var low = bodyHeight;
147
+
148
+ var anim1 = dojo.fx.slideTo({
149
+ node: this.domNode,
150
+ duration: 400,
151
+ top: {start: dir < 0 ? high : low, end: dir < 0 ? low: high}
152
+ });
153
+
154
+ var anim2 = dojo[dir < 0 ? "fadeOut" : "fadeIn"]({
155
+ node: this.mask,
156
+ duration: 400
157
+ });
158
+
159
+ var anim = dojo.fx.combine([anim1, anim2]);
160
+
161
+ var _this = this;
162
+
163
+ dojo.connect(anim, "onEnd", this, function(){
164
+ if(dir < 0){
165
+ _this.domNode.style.display = "none";
166
+ dojo.destroy(_this.domNode);
167
+ dojo.destroy(_this.mask);
168
+ }
169
+ });
170
+ anim.play();
171
+ },
172
+
173
+ destroy: function(){
174
+ this.inherited(arguments);
175
+ dojo.destroy(this.mask);
176
+ },
177
+
178
+
179
+ onClick: function(){
180
+
181
+ }
182
+ });
@@ -0,0 +1,254 @@
1
+ dojo.provide("dojox.mobile.app.ImageThumbView");
2
+ dojo.experimental("dojox.mobile.app.ImageThumbView");
3
+
4
+ dojo.require("dijit._Widget");
5
+ dojo.require("dojo.string");
6
+
7
+ dojo.declare("dojox.mobile.app.ImageThumbView", dijit._Widget, {
8
+ // summary:
9
+ // An image thumbnail gallery
10
+
11
+ // items: Array
12
+ // The data items from which the image urls are retrieved.
13
+ // If an item is a string, it is expected to be a URL. Otherwise
14
+ // by default it is expected to have a 'url' member. This can
15
+ // be configured using the 'urlParam' attribute on this widget.
16
+ items: null,
17
+
18
+ // urlParam: String
19
+ // The paramter name used to retrieve an image url from a JSON object
20
+ urlParam: "url",
21
+
22
+ itemTemplate: '<div class="mblThumbInner">' +
23
+ '<div class="mblThumbOverlay"></div>' +
24
+ '<div class="mblThumbMask">' +
25
+ '<div class="mblThumbSrc" style="background-image:url(${url})"></div>' +
26
+ '</div>' +
27
+ '</div>',
28
+
29
+ minPadding: 5,
30
+
31
+ maxPerRow: 3,
32
+
33
+ baseClass: "mblImageThumbView",
34
+
35
+ selectedIndex: -1,
36
+
37
+ cache: null,
38
+
39
+ postCreate: function(){
40
+ this.inherited(arguments);
41
+ var _this = this;
42
+
43
+ var hoverCls = "mblThumbHover";
44
+
45
+ this.addThumb = dojo.hitch(this, this.addThumb);
46
+ this.handleImgLoad = dojo.hitch(this, this.handleImgLoad);
47
+
48
+ this._onLoadImages = {};
49
+
50
+ this.cache = [];
51
+ this.visibleImages = [];
52
+
53
+ this.connect(this.domNode, "onclick", function(event){
54
+ var itemNode = _this._getItemNodeFromEvent(event);
55
+
56
+ if(itemNode){
57
+ _this.onSelect(itemNode._item, itemNode._index, _this.items);
58
+ dojo.query(".selected", this.domNode).removeClass("selected");
59
+ dojo.addClass(itemNode, "selected");
60
+ }
61
+ });
62
+
63
+ this.resize();
64
+ this.render();
65
+ },
66
+
67
+ onSelect: function(item, index, items){
68
+ // summary:
69
+ // Dummy function that is triggered when an image is selected.
70
+ },
71
+
72
+ _setItemsAttr: function(items){
73
+ this.items = items || [];
74
+
75
+ this.render();
76
+ },
77
+
78
+ _getItemNode: function(node){
79
+ while(node && !dojo.hasClass(node, "mblThumb") && node != this.domNode){
80
+ node = node.parentNode;
81
+ }
82
+
83
+ return (node == this.domNode) ? null : node;
84
+ },
85
+
86
+ _getItemNodeFromEvent: function(event){
87
+ if(event.touches && event.touches.length > 0){
88
+ event = event.touches[0];
89
+ }
90
+ return this._getItemNode(event.target);
91
+ },
92
+
93
+ resize: function(){
94
+ this._thumbSize = null;
95
+
96
+ this._size = dojo.marginBox(this.domNode);
97
+
98
+ this.render();
99
+ },
100
+
101
+ render: function(){
102
+ var i;
103
+ var url;
104
+ var item;
105
+
106
+ var thumb;
107
+ while(this.visibleImages.length > 0){
108
+ thumb = this.visibleImages.pop();
109
+ this.cache.push(thumb);
110
+
111
+ dojo.addClass(thumb, "hidden");
112
+ thumb._cached = true;
113
+ }
114
+ if(!this.items || this.items.length == 0){
115
+ //dojo.empty(this.domNode);
116
+ return;
117
+ }
118
+
119
+
120
+ for(i = 0; i < this.items.length; i++){
121
+ item = this.items[i];
122
+ url = (dojo.isString(item) ? item : item[this.urlParam]);
123
+
124
+ this.addThumb(item, url, i);
125
+ }
126
+
127
+ if(!this._thumbSize){
128
+ return;
129
+ }
130
+
131
+ var column = 0;
132
+ var row = -1;
133
+
134
+ var totalThumbWidth = this._thumbSize.w + (this.padding * 2);
135
+ var totalThumbHeight = this._thumbSize.h + (this.padding * 2);
136
+
137
+ var nodes = this.thumbNodes =
138
+ dojo.query(".mblThumb", this.domNode);
139
+
140
+ var pos = 0;
141
+ for(i = 0; i < nodes.length; i++){
142
+ if(nodes[i]._cached){
143
+ continue;
144
+ }
145
+
146
+ if(pos % this.maxPerRow == 0){
147
+ row ++;
148
+ }
149
+ column = pos % this.maxPerRow;
150
+
151
+ this.place(
152
+ nodes[i],
153
+ (column * totalThumbWidth) + this.padding, // x position
154
+ (row * totalThumbHeight) + this.padding // y position
155
+ );
156
+
157
+ if(!nodes[i]._loading){
158
+ dojo.removeClass(nodes[i], "hidden");
159
+ }
160
+
161
+ if(pos == this.selectedIndex){
162
+ dojo[pos == this.selectedIndex ? "addClass" : "removeClass"]
163
+ (nodes[i], "selected");
164
+ }
165
+ pos++;
166
+ }
167
+
168
+ var numRows = Math.ceil(pos / this.maxPerRow);
169
+
170
+ if(this._numRows != numRows){
171
+ this._numRows = numRows;
172
+ dojo.style(this.domNode, "height",
173
+ (numRows * (this._thumbSize.h + this.padding * 2)) + "px");
174
+ }
175
+
176
+ },
177
+
178
+ addThumb: function(item, url, index){
179
+
180
+ var thumbDiv;
181
+ if(this.cache.length > 0){
182
+ // Reuse a previously created node if possible
183
+ thumbDiv = this.cache.pop();
184
+ }else{
185
+ // Create a new thumb
186
+ thumbDiv = dojo.create("div", {
187
+ "class": "mblThumb hidden",
188
+ innerHTML: dojo.string.substitute(this.itemTemplate, {
189
+ url: url
190
+ }, null, this)
191
+ }, this.domNode);
192
+ }
193
+ dojo.addClass(thumbDiv, "hidden");
194
+ var loader = dojo.create("img",{});
195
+ loader._thumbDiv = thumbDiv;
196
+ loader._conn = dojo.connect(loader, "onload", this.handleImgLoad);
197
+ loader._url = url;
198
+ thumbDiv._loading = true;
199
+
200
+ this._onLoadImages[url] = loader;
201
+ loader.src = url;
202
+
203
+ this.visibleImages.push(thumbDiv);
204
+
205
+ thumbDiv._index = index;
206
+ thumbDiv._item = item;
207
+ thumbDiv._url = url;
208
+ thumbDiv._cached = false;
209
+
210
+ if(!this._thumbSize){
211
+ this._thumbSize = dojo.marginBox(thumbDiv);
212
+ this.calcPadding();
213
+ }
214
+ },
215
+
216
+ handleImgLoad: function(event){
217
+ var img = event.target;
218
+ dojo.disconnect(img._conn);
219
+ dojo.removeClass(img._thumbDiv, "hidden");
220
+ img._thumbDiv._loading = false;
221
+
222
+ dojo.query(".mblThumbSrc", img._thumbDiv)
223
+ .style("backgroundImage", "url(" + img._url + ")");
224
+
225
+ delete this._onLoadImages[img._url];
226
+ },
227
+
228
+ calcPadding: function(){
229
+ var width = this._size.w;
230
+
231
+ var thumbWidth = this._thumbSize.w;
232
+
233
+ var imgBounds = thumbWidth + this.minPadding;
234
+
235
+ this.maxPerRow = Math.floor(width / imgBounds);
236
+
237
+ this.padding = (width - (thumbWidth * this.maxPerRow)) / (this.maxPerRow * 2);
238
+ },
239
+
240
+ place: function(node, x, y){
241
+ // TODO: replace this with webkit transforms
242
+
243
+
244
+ dojo.style(node, {
245
+ "-webkit-transform" :"translate(" + x + "px," + y + "px)"
246
+ });
247
+ // dojo.style(node, {
248
+ // top: y + "px",
249
+ // left: x + "px",
250
+ // visibility: "visible"
251
+ // });
252
+ }
253
+
254
+ });
@@ -0,0 +1,716 @@
1
+ dojo.provide("dojox.mobile.app.ImageView");
2
+ dojo.experimental("dojox.mobile.app.ImageView");
3
+ dojo.require("dojox.mobile.app._Widget");
4
+
5
+ dojo.require("dojo.fx.easing");
6
+
7
+ dojo.declare("dojox.mobile.app.ImageView", dojox.mobile.app._Widget, {
8
+
9
+ // zoom: Number
10
+ // The current level of zoom. This should not be set manually.
11
+ zoom: 1,
12
+
13
+ // zoomCenterX: Number
14
+ // The X coordinate in the image where the zoom is focused
15
+ zoomCenterX: 0,
16
+
17
+ // zoomCenterY: Number
18
+ // The Y coordinate in the image where the zoom is focused
19
+ zoomCenterY: 0,
20
+
21
+ // maxZoom: Number
22
+ // The highest degree to which an image can be zoomed. For example,
23
+ // a maxZoom of 5 means that the image will be 5 times larger than normal
24
+ maxZoom: 5,
25
+
26
+ // autoZoomLevel: Number
27
+ // The degree to which the image is zoomed when auto zoom is invoked.
28
+ // The higher the number, the more the image is zoomed in.
29
+ autoZoomLevel: 3,
30
+
31
+ // disableAutoZoom: Boolean
32
+ // Disables auto zoom
33
+ disableAutoZoom: false,
34
+
35
+ // disableSwipe: Boolean
36
+ // Disables the users ability to swipe from one image to the next.
37
+ disableSwipe: false,
38
+
39
+ // autoZoomEvent: String
40
+ // Overrides the default event listened to which invokes auto zoom
41
+ autoZoomEvent: null,
42
+
43
+ // _leftImg: Node
44
+ // The full sized image to the left
45
+ _leftImg: null,
46
+
47
+ // _centerImg: Node
48
+ // The full sized image in the center
49
+ _centerImg: null,
50
+
51
+ // _rightImg: Node
52
+ // The full sized image to the right
53
+ _rightImg: null,
54
+
55
+ // _leftImg: Node
56
+ // The small sized image to the left
57
+ _leftSmallImg: null,
58
+
59
+ // _centerImg: Node
60
+ // The small sized image in the center
61
+ _centerSmallImg: null,
62
+
63
+ // _rightImg: Node
64
+ // The small sized image to the right
65
+ _rightSmallImg: null,
66
+
67
+ constructor: function(){
68
+
69
+ this.panX = 0;
70
+ this.panY = 0;
71
+
72
+ this.handleLoad = dojo.hitch(this, this.handleLoad);
73
+ this._updateAnimatedZoom = dojo.hitch(this, this._updateAnimatedZoom);
74
+ this._updateAnimatedPan = dojo.hitch(this, this._updateAnimatedPan);
75
+ this._onAnimPanEnd = dojo.hitch(this, this._onAnimPanEnd);
76
+ },
77
+
78
+ buildRendering: function(){
79
+ this.inherited(arguments);
80
+
81
+ this.canvas = dojo.create("canvas", {}, this.domNode);
82
+
83
+ dojo.addClass(this.domNode, "mblImageView");
84
+ },
85
+
86
+ postCreate: function(){
87
+ this.inherited(arguments);
88
+
89
+ this.size = dojo.marginBox(this.domNode);
90
+
91
+ dojo.style(this.canvas, {
92
+ width: this.size.w + "px",
93
+ height: this.size.h + "px"
94
+ });
95
+ this.canvas.height = this.size.h;
96
+ this.canvas.width = this.size.w;
97
+
98
+ var _this = this;
99
+
100
+ // Listen to the mousedown/touchstart event. Record the position
101
+ // so we can use it to pan the image.
102
+ this.connect(this.domNode, "onmousedown", function(event){
103
+ if(_this.isAnimating()){
104
+ return;
105
+ }
106
+ if(_this.panX){
107
+ _this.handleDragEnd();
108
+ }
109
+
110
+ _this.downX = event.targetTouches ? event.targetTouches[0].clientX : event.clientX;
111
+ _this.downY = event.targetTouches ? event.targetTouches[0].clientY : event.clientY;
112
+ });
113
+
114
+ // record the movement of the mouse.
115
+ this.connect(this.domNode, "onmousemove", function(event){
116
+ if(_this.isAnimating()){
117
+ return;
118
+ }
119
+ if((!_this.downX && _this.downX !== 0) || (!_this.downY && _this.downY !== 0)){
120
+ // If the touch didn't begin on this widget, ignore the movement
121
+ return;
122
+ }
123
+
124
+ if((!_this.disableSwipe && _this.zoom == 1)
125
+ || (!_this.disableAutoZoom && _this.zoom != 1)){
126
+ var x = event.targetTouches ?
127
+ event.targetTouches[0].clientX : event.pageX;
128
+ var y = event.targetTouches ?
129
+ event.targetTouches[0].clientY : event.pageY;
130
+
131
+ _this.panX = x - _this.downX;
132
+ _this.panY = y - _this.downY;
133
+
134
+ if(_this.zoom == 1){
135
+ // If not zoomed in, then try to move to the next or prev image
136
+ // but only if the mouse has moved more than 10 pixels
137
+ // in the X direction
138
+ if(Math.abs(_this.panX) > 10){
139
+ _this.render();
140
+ }
141
+ }else{
142
+ // If zoomed in, pan the image if the mouse has moved more
143
+ // than 10 pixels in either direction.
144
+ if(Math.abs(_this.panX) > 10 || Math.abs(_this.panY) > 10){
145
+ _this.render();
146
+ }
147
+ }
148
+ }
149
+ });
150
+
151
+ this.connect(this.domNode, "onmouseout", function(event){
152
+ if(!_this.isAnimating() && _this.panX){
153
+ _this.handleDragEnd();
154
+ }
155
+ });
156
+
157
+ this.connect(this.domNode, "onmouseover", function(event){
158
+ _this.downX = _this.downY = null;
159
+ });
160
+
161
+ // Set up AutoZoom, which zooms in a fixed amount when the user taps
162
+ // a part of the canvas
163
+ this.connect(this.domNode, "onclick", function(event){
164
+ if(_this.isAnimating()){
165
+ return;
166
+ }
167
+ if(_this.downX == null || _this.downY == null){
168
+ return;
169
+ }
170
+
171
+ var x = (event.targetTouches ?
172
+ event.targetTouches[0].clientX : event.pageX);
173
+ var y = (event.targetTouches ?
174
+ event.targetTouches[0].clientY : event.pageY);
175
+
176
+ // If the mouse/finger has moved more than 14 pixels from where it
177
+ // started, do not treat it as a click. It is a drag.
178
+ if(Math.abs(_this.panX) > 14 || Math.abs(_this.panY) > 14){
179
+ _this.downX = _this.downY = null;
180
+ _this.handleDragEnd();
181
+ return;
182
+ }
183
+ _this.downX = _this.downY = null;
184
+
185
+ if(!_this.disableAutoZoom){
186
+
187
+ if(!_this._centerImg || !_this._centerImg._loaded){
188
+ // Do nothing until the image is loaded
189
+ return;
190
+ }
191
+ if(_this.zoom != 1){
192
+ _this.set("animatedZoom", 1);
193
+ return;
194
+ }
195
+
196
+ var pos = dojo._abs(_this.domNode);
197
+
198
+ // Translate the clicked point to a point on the source image
199
+ var xRatio = _this.size.w / _this._centerImg.width;
200
+ var yRatio = _this.size.h / _this._centerImg.height;
201
+
202
+ // Do an animated zoom to the point which was clicked.
203
+ _this.zoomTo(
204
+ ((x - pos.x) / xRatio) - _this.panX,
205
+ ((y - pos.y) / yRatio) - _this.panY,
206
+ _this.autoZoomLevel);
207
+ }
208
+ });
209
+
210
+ // Listen for Flick events
211
+ dojo.connect(this.domNode, "flick", this, "handleFlick");
212
+ },
213
+
214
+ isAnimating: function(){
215
+ // summary:
216
+ // Returns true if an animation is in progress, false otherwise.
217
+ return this._anim && this._anim.status() == "playing";
218
+ },
219
+
220
+ handleDragEnd: function(){
221
+ // summary:
222
+ // Handles the end of a dragging event. If not zoomed in, it
223
+ // determines if the next or previous image should be transitioned
224
+ // to.
225
+ this.downX = this.downY = null;
226
+ console.log("handleDragEnd");
227
+
228
+ if(this.zoom == 1){
229
+ if(!this.panX){
230
+ return;
231
+ }
232
+
233
+ var leftLoaded = (this._leftImg && this._leftImg._loaded)
234
+ || (this._leftSmallImg && this._leftSmallImg._loaded);
235
+ var rightLoaded = (this._rightImg && this._rightImg._loaded)
236
+ || (this._rightSmallImg && this._rightSmallImg._loaded);
237
+
238
+ // Check if the drag has moved the image more than half its length.
239
+ // If so, move to either the previous or next image.
240
+ var doMove =
241
+ !(Math.abs(this.panX) < this._centerImg._baseWidth / 2) &&
242
+ (
243
+ (this.panX > 0 && leftLoaded ? 1 : 0) ||
244
+ (this.panX < 0 && rightLoaded ? 1 : 0)
245
+ );
246
+
247
+
248
+ if(!doMove){
249
+ // If not moving to another image, animate the sliding of the
250
+ // image back into place.
251
+ this._animPanTo(0, dojo.fx.easing.expoOut, 700);
252
+ }else{
253
+ // Move to another image.
254
+ this.moveTo(this.panX);
255
+ }
256
+ }else{
257
+ if(!this.panX && !this.panY){
258
+ return;
259
+ }
260
+ // Recenter the zoomed image based on where it was panned to
261
+ // previously
262
+ this.zoomCenterX -= (this.panX / this.zoom);
263
+ this.zoomCenterY -= (this.panY / this.zoom);
264
+
265
+ this.panX = this.panY = 0;
266
+ }
267
+
268
+ },
269
+
270
+ handleFlick: function(event){
271
+ // summary:
272
+ // Handle a flick event.
273
+ if(this.zoom == 1 && event.duration < 500){
274
+ // Only handle quick flicks here, less than 0.5 seconds
275
+
276
+ // If not zoomed in, then check if we should move to the next photo
277
+ // or not
278
+ if(event.direction == "ltr"){
279
+ this.moveTo(1);
280
+ }else if(event.direction == "rtl"){
281
+ this.moveTo(-1);
282
+ }
283
+ // If an up or down flick occurs, it means nothing so ignore it
284
+ this.downX = this.downY = null;
285
+ }
286
+ },
287
+
288
+ moveTo: function(direction){
289
+ direction = direction > 0 ? 1 : -1;
290
+ var toImg;
291
+
292
+ if(direction < 1){
293
+ if(this._rightImg && this._rightImg._loaded){
294
+ toImg = this._rightImg;
295
+ }else if(this._rightSmallImg && this._rightSmallImg._loaded){
296
+ toImg = this._rightSmallImg;
297
+ }
298
+ }else{
299
+ if(this._leftImg && this._leftImg._loaded){
300
+ toImg = this._leftImg;
301
+ }else if(this._leftSmallImg && this._leftSmallImg._loaded){
302
+ toImg = this._leftSmallImg;
303
+ }
304
+ }
305
+
306
+ this._moveDir = direction;
307
+ var _this = this;
308
+
309
+ if(toImg && toImg._loaded){
310
+ // If the image is loaded, make a linear animation to show it
311
+ this._animPanTo(this.size.w * direction, null, 500, function(){
312
+ _this.panX = 0;
313
+ _this.panY = 0;
314
+
315
+ if(direction < 0){
316
+ // Moving to show the right image
317
+ _this._switchImage("left", "right");
318
+ }else{
319
+ // Moving to show the left image
320
+ _this._switchImage("right", "left");
321
+ }
322
+
323
+ _this.render();
324
+ _this.onChange(direction * -1);
325
+ });
326
+
327
+ }else{
328
+ // If the next image is not loaded, make an animation to
329
+ // move the center image to half the width of the widget and back
330
+ // again
331
+
332
+ console.log("moveTo image not loaded!", toImg);
333
+
334
+ this._animPanTo(0, dojo.fx.easing.expoOut, 700);
335
+ }
336
+ },
337
+
338
+ _switchImage: function(toImg, fromImg){
339
+ var toSmallImgName = "_" + toImg + "SmallImg";
340
+ var toImgName = "_" + toImg + "Img";
341
+
342
+ var fromSmallImgName = "_" + fromImg + "SmallImg";
343
+ var fromImgName = "_" + fromImg + "Img";
344
+
345
+ this[toImgName] = this._centerImg;
346
+ this[toSmallImgName] = this._centerSmallImg;
347
+
348
+ this[toImgName]._type = toImg;
349
+
350
+ if(this[toSmallImgName]){
351
+ this[toSmallImgName]._type = toImg;
352
+ }
353
+
354
+ this._centerImg = this[fromImgName];
355
+ this._centerSmallImg = this[fromSmallImgName];
356
+ this._centerImg._type = "center";
357
+
358
+ if(this._centerSmallImg){
359
+ this._centerSmallImg._type = "center";
360
+ }
361
+ this[fromImgName] = this[fromSmallImgName] = null;
362
+ },
363
+
364
+ _animPanTo: function(to, easing, duration, callback){
365
+ this._animCallback = callback;
366
+ this._anim = new dojo.Animation({
367
+ curve: [this.panX, to],
368
+ onAnimate: this._updateAnimatedPan,
369
+ duration: duration || 500,
370
+ easing: easing,
371
+ onEnd: this._onAnimPanEnd
372
+ });
373
+
374
+ this._anim.play();
375
+ return this._anim;
376
+ },
377
+
378
+ onChange: function(direction){
379
+ // summary:
380
+ // Stub function that can be listened to in order to provide
381
+ // new images when the displayed image changes
382
+ },
383
+
384
+ _updateAnimatedPan: function(amount){
385
+ this.panX = amount;
386
+ this.render();
387
+ },
388
+
389
+ _onAnimPanEnd: function(){
390
+ this.panX = this.panY = 0;
391
+
392
+ if(this._animCallback){
393
+ this._animCallback();
394
+ }
395
+ },
396
+
397
+ zoomTo: function(centerX, centerY, zoom){
398
+ this.set("zoomCenterX", centerX);
399
+ this.set("zoomCenterY", centerY);
400
+
401
+ this.set("animatedZoom", zoom);
402
+ },
403
+
404
+ render: function(){
405
+ var cxt = this.canvas.getContext('2d');
406
+
407
+ cxt.clearRect(0, 0, this.canvas.width, this.canvas.height);
408
+
409
+ // Render the center image
410
+ this._renderImg(
411
+ this._centerSmallImg,
412
+ this._centerImg,
413
+ this.zoom == 1 ? (this.panX < 0 ? 1 : this.panX > 0 ? -1 : 0) : 0);
414
+
415
+ if(this.zoom == 1 && this.panX != 0){
416
+ if(this.panX > 0){
417
+ // Render the left image, showing the right side of it
418
+ this._renderImg(this._leftSmallImg, this._leftImg, 1);
419
+ }else{
420
+ // Render the right image, showing the left side of it
421
+ this._renderImg(this._rightSmallImg, this._rightImg, -1);
422
+ }
423
+ }
424
+ },
425
+
426
+ _renderImg: function(smallImg, largeImg, panDir){
427
+ // summary:
428
+ // Renders a single image
429
+
430
+
431
+ // If zoomed, we just display the center img
432
+ var img = (largeImg && largeImg._loaded) ? largeImg : smallImg;
433
+
434
+ if(!img || !img._loaded){
435
+ // If neither the large or small image is loaded, display nothing
436
+ return;
437
+ }
438
+ var cxt = this.canvas.getContext('2d');
439
+
440
+ var baseWidth = img._baseWidth;
441
+ var baseHeight = img._baseHeight;
442
+
443
+ // Calculate the size the image would be if there were no bounds
444
+ var desiredWidth = baseWidth * this.zoom;
445
+ var desiredHeight = baseHeight * this.zoom;
446
+
447
+ // Calculate the actual size of the viewable image
448
+ var destWidth = Math.min(this.size.w, desiredWidth);
449
+ var destHeight = Math.min(this.size.h, desiredHeight);
450
+
451
+
452
+ // Calculate the size of the window on the original image to use
453
+ var sourceWidth = this.dispWidth = img.width * (destWidth / desiredWidth);
454
+ var sourceHeight = this.dispHeight = img.height * (destHeight / desiredHeight);
455
+
456
+ var zoomCenterX = this.zoomCenterX - (this.panX / this.zoom);
457
+ var zoomCenterY = this.zoomCenterY - (this.panY / this.zoom);
458
+
459
+ // Calculate where the center of the view should be
460
+ var centerX = Math.floor(Math.max(sourceWidth / 2,
461
+ Math.min(img.width - sourceWidth / 2, zoomCenterX)));
462
+ var centerY = Math.floor(Math.max(sourceHeight / 2,
463
+ Math.min(img.height - sourceHeight / 2, zoomCenterY)));
464
+
465
+
466
+ var sourceX = Math.max(0,
467
+ Math.round((img.width - sourceWidth)/2 + (centerX - img._centerX)) );
468
+ var sourceY = Math.max(0,
469
+ Math.round((img.height - sourceHeight) / 2 + (centerY - img._centerY))
470
+ );
471
+
472
+ var destX = Math.round(Math.max(0, this.canvas.width - destWidth)/2);
473
+ var destY = Math.round(Math.max(0, this.canvas.height - destHeight)/2);
474
+
475
+ var oldDestWidth = destWidth;
476
+ var oldSourceWidth = sourceWidth;
477
+
478
+ if(this.zoom == 1 && panDir && this.panX){
479
+
480
+ if(this.panX < 0){
481
+ if(panDir > 0){
482
+ // If the touch is moving left, and the right side of the
483
+ // image should be shown, then reduce the destination width
484
+ // by the absolute value of panX
485
+ destWidth -= Math.abs(this.panX);
486
+ destX = 0;
487
+ }else if(panDir < 0){
488
+ // If the touch is moving left, and the left side of the
489
+ // image should be shown, then set the displayed width
490
+ // to the absolute value of panX, less some pixels for
491
+ // a padding between images
492
+ destWidth = Math.max(1, Math.abs(this.panX) - 5);
493
+ destX = this.size.w - destWidth;
494
+ }
495
+ }else{
496
+ if(panDir > 0){
497
+ // If the touch is moving right, and the right side of the
498
+ // image should be shown, then set the destination width
499
+ // to the absolute value of the pan, less some pixels for
500
+ // padding
501
+ destWidth = Math.max(1, Math.abs(this.panX) - 5);
502
+ destX = 0;
503
+ }else if(panDir < 0){
504
+ // If the touch is moving right, and the left side of the
505
+ // image should be shown, then reduce the destination width
506
+ // by the widget width minus the absolute value of panX
507
+ destWidth -= Math.abs(this.panX);
508
+ destX = this.size.w - destWidth;
509
+ }
510
+ }
511
+
512
+ sourceWidth = Math.max(1,
513
+ Math.floor(sourceWidth * (destWidth / oldDestWidth)));
514
+
515
+ if(panDir > 0){
516
+ // If the right side of the image should be displayed, move
517
+ // the sourceX to be the width of the image minus the difference
518
+ // between the original sourceWidth and the new sourceWidth
519
+ sourceX = (sourceX + oldSourceWidth) - (sourceWidth);
520
+ }
521
+ sourceX = Math.floor(sourceX);
522
+ }
523
+
524
+ try{
525
+
526
+ // See https://developer.mozilla.org/en/Canvas_tutorial/Using_images
527
+ cxt.drawImage(
528
+ img,
529
+ Math.max(0, sourceX),
530
+ sourceY,
531
+ Math.min(oldSourceWidth, sourceWidth),
532
+ sourceHeight,
533
+ destX, // Xpos
534
+ destY, // Ypos
535
+ Math.min(oldDestWidth, destWidth),
536
+ destHeight
537
+ );
538
+ }catch(e){
539
+ console.log("Caught Error",e,
540
+
541
+ "type=", img._type,
542
+ "oldDestWidth = ", oldDestWidth,
543
+ "destWidth", destWidth,
544
+ "destX", destX
545
+ , "oldSourceWidth=",oldSourceWidth,
546
+ "sourceWidth=", sourceWidth,
547
+ "sourceX = " + sourceX
548
+ );
549
+ }
550
+ },
551
+
552
+ _setZoomAttr: function(amount){
553
+ this.zoom = Math.min(this.maxZoom, Math.max(1, amount));
554
+
555
+ if(this.zoom == 1
556
+ && this._centerImg
557
+ && this._centerImg._loaded){
558
+
559
+ if(!this.isAnimating()){
560
+ this.zoomCenterX = this._centerImg.width / 2;
561
+ this.zoomCenterY = this._centerImg.height / 2;
562
+ }
563
+ this.panX = this.panY = 0;
564
+ }
565
+
566
+ this.render();
567
+ },
568
+
569
+ _setZoomCenterXAttr: function(value){
570
+ if(value != this.zoomCenterX){
571
+ if(this._centerImg && this._centerImg._loaded){
572
+ value = Math.min(this._centerImg.width, value);
573
+ }
574
+ this.zoomCenterX = Math.max(0, Math.round(value));
575
+ }
576
+ },
577
+
578
+ _setZoomCenterYAttr: function(value){
579
+ if(value != this.zoomCenterY){
580
+ if(this._centerImg && this._centerImg._loaded){
581
+ value = Math.min(this._centerImg.height, value);
582
+ }
583
+ this.zoomCenterY = Math.max(0, Math.round(value));
584
+ }
585
+ },
586
+
587
+ _setZoomCenterAttr: function(value){
588
+ if(value.x != this.zoomCenterX || value.y != this.zoomCenterY){
589
+ this.set("zoomCenterX", value.x);
590
+ this.set("zoomCenterY", value.y);
591
+ this.render();
592
+ }
593
+ },
594
+
595
+ _setAnimatedZoomAttr: function(amount){
596
+ if(this._anim && this._anim.status() == "playing"){
597
+ return;
598
+ }
599
+
600
+ this._anim = new dojo.Animation({
601
+ curve: [this.zoom, amount],
602
+ onAnimate: this._updateAnimatedZoom,
603
+ onEnd: this._onAnimEnd
604
+ });
605
+
606
+ this._anim.play();
607
+ },
608
+
609
+ _updateAnimatedZoom: function(amount){
610
+ this._setZoomAttr(amount);
611
+ },
612
+
613
+ _setCenterUrlAttr: function(urlOrObj){
614
+ this._setImage("center", urlOrObj);
615
+ },
616
+ _setLeftUrlAttr: function(urlOrObj){
617
+ this._setImage("left", urlOrObj);
618
+ },
619
+ _setRightUrlAttr: function(urlOrObj){
620
+ this._setImage("right", urlOrObj);
621
+ },
622
+
623
+ _setImage: function(name, urlOrObj){
624
+ var smallUrl = null;
625
+
626
+ var largeUrl = null;
627
+
628
+ if(dojo.isString(urlOrObj)){
629
+ // If the argument is a string, then just load the large url
630
+ largeUrl = urlOrObj;
631
+ }else{
632
+ largeUrl = urlOrObj.large;
633
+ smallUrl = urlOrObj.small;
634
+ }
635
+
636
+ if(this["_" + name + "Img"] && this["_" + name + "Img"]._src == largeUrl){
637
+ // Identical URL, ignore it
638
+ return;
639
+ }
640
+
641
+ // Just do the large image for now
642
+ var largeImg = this["_" + name + "Img"] = new Image();
643
+ largeImg._type = name;
644
+ largeImg._loaded = false;
645
+ largeImg._src = largeUrl;
646
+ largeImg._conn = dojo.connect(largeImg, "onload", this.handleLoad);
647
+
648
+ if(smallUrl){
649
+ // If a url to a small version of the image has been provided,
650
+ // load that image first.
651
+ var smallImg = this["_" + name + "SmallImg"] = new Image();
652
+ smallImg._type = name;
653
+ smallImg._loaded = false;
654
+ smallImg._conn = dojo.connect(smallImg, "onload", this.handleLoad);
655
+ smallImg._isSmall = true;
656
+ smallImg._src = smallUrl;
657
+ smallImg.src = smallUrl;
658
+ }
659
+
660
+ // It's important that the large url's src is set after the small image
661
+ // to ensure it's loaded second.
662
+ largeImg.src = largeUrl;
663
+ },
664
+
665
+ handleLoad: function(evt){
666
+ // summary:
667
+ // Handles the loading of an image, both the large and small
668
+ // versions. A render is triggered as a result of each image load.
669
+
670
+ var img = evt.target;
671
+ img._loaded = true;
672
+
673
+ dojo.disconnect(img._conn);
674
+
675
+ var type = img._type;
676
+
677
+ switch(type){
678
+ case "center":
679
+ this.zoomCenterX = img.width / 2;
680
+ this.zoomCenterY = img.height / 2;
681
+ break;
682
+ }
683
+
684
+ var height = img.height;
685
+ var width = img.width;
686
+
687
+ if(width / this.size.w < height / this.size.h){
688
+ // Fit the height to the height of the canvas
689
+ img._baseHeight = this.canvas.height;
690
+ img._baseWidth = width / (height / this.size.h);
691
+ }else{
692
+ // Fix the width to the width of the canvas
693
+ img._baseWidth = this.canvas.width;
694
+ img._baseHeight = height / (width / this.size.w);
695
+ }
696
+ img._centerX = width / 2;
697
+ img._centerY = height / 2;
698
+
699
+ this.render();
700
+
701
+ this.onLoad(img._type, img._src, img._isSmall);
702
+ },
703
+
704
+ onLoad: function(type, url, isSmall){
705
+ // summary:
706
+ // Dummy function that is called whenever an image loads.
707
+ // type: String
708
+ // The position of the image that has loaded, either
709
+ // "center", "left" or "right"
710
+ // url: String
711
+ // The src of the image
712
+ // isSmall: Boolean
713
+ // True if it is a small version of the image that has loaded,
714
+ // false otherwise.
715
+ }
716
+ });