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
@@ -1,20 +1,25 @@
1
1
  dojo.provide("dojox.lang.utils");
2
2
 
3
3
  (function(){
4
- var empty = {}, du = dojox.lang.utils;
4
+ var empty = {}, du = dojox.lang.utils, opts = Object.prototype.toString;
5
5
 
6
6
  var clone = function(o){
7
- if(dojo.isArray(o)){
8
- return dojo._toArray(o);
9
- }
10
- if(!dojo.isObject(o) || dojo.isFunction(o)){
11
- return o;
7
+ if(o){
8
+ switch(opts.call(o)){
9
+ case "[object Array]":
10
+ return o.slice(0);
11
+ case "[object Object]":
12
+ return dojo.delegate(o);
13
+ }
12
14
  }
13
- return dojo.delegate(o);
15
+ return o;
14
16
  }
15
17
 
16
18
  dojo.mixin(du, {
17
19
  coerceType: function(target, source){
20
+ // summary: Coerces one object to the type of another.
21
+ // target: Object: object, which typeof result is used to coerce "source" object.
22
+ // source: Object: object, which will be forced to change type.
18
23
  switch(typeof target){
19
24
  case "number": return Number(eval("(" + source + ")"));
20
25
  case "string": return String(source);
@@ -24,7 +29,7 @@ dojo.provide("dojox.lang.utils");
24
29
  },
25
30
 
26
31
  updateWithObject: function(target, source, conv){
27
- // summary: updates an existing object in place with properties from an "source" object.
32
+ // summary: Updates an existing object in place with properties from an "source" object.
28
33
  // target: Object: the "target" object to be updated
29
34
  // source: Object: the "source" object, whose properties will be used to source the existed object.
30
35
  // conv: Boolean?: force conversion to the original type
@@ -43,7 +48,7 @@ dojo.provide("dojox.lang.utils");
43
48
  },
44
49
 
45
50
  updateWithPattern: function(target, source, pattern, conv){
46
- // summary: updates an existing object in place with properties from an "source" object.
51
+ // summary: Updates an existing object in place with properties from an "source" object.
47
52
  // target: Object: the "target" object to be updated
48
53
  // source: Object: the "source" object, whose properties will be used to source the existed object.
49
54
  // pattern: Array: an array of properties to be copied
@@ -55,6 +60,44 @@ dojo.provide("dojox.lang.utils");
55
60
  }
56
61
  }
57
62
  return target; // Object
63
+ },
64
+
65
+ merge: function(object, mixin){
66
+ // summary: Merge two objects structurally, mixin properties will override object's properties.
67
+ // object: Object: original object.
68
+ // mixin: Object: additional object, which properties will override object's properties.
69
+ if(mixin){
70
+ var otype = opts.call(object), mtype = opts.call(mixin), t, i, l, m;
71
+ switch(mtype){
72
+ case "[object Array]":
73
+ if(mtype == otype){
74
+ t = new Array(Math.max(object.length, mixin.length));
75
+ for(i = 0, l = t.length; i < l; ++i){
76
+ t[i] = du.merge(object[i], mixin[i]);
77
+ }
78
+ return t;
79
+ }
80
+ return mixin.slice(0);
81
+ case "[object Object]":
82
+ if(mtype == otype && object){
83
+ t = dojo.delegate(object);
84
+ for(i in mixin){
85
+ if(i in object){
86
+ l = object[i];
87
+ m = mixin[i];
88
+ if(m !== l){
89
+ t[i] = du.merge(l, m);
90
+ }
91
+ }else{
92
+ t[i] = dojo.clone(mixin[i]);
93
+ }
94
+ }
95
+ return t;
96
+ }
97
+ return dojo.clone(mixin);
98
+ }
99
+ }
100
+ return mixin;
58
101
  }
59
102
  });
60
103
  })();
@@ -6,7 +6,7 @@ dojo.require("dijit._Templated");
6
6
  dojo.require("dijit._Contained");
7
7
 
8
8
  dojo.declare("dojox.layout.ExpandoPane",
9
- [dijit.layout.ContentPane, dijit._Templated, dijit._Contained],
9
+ [dijit.layout.ContentPane, dijit._Templated, dijit._Contained, dijit._Container],
10
10
  {
11
11
  // summary: An experimental collapsing-pane for dijit.layout.BorderContainer
12
12
  //
@@ -15,9 +15,9 @@ dojo.declare("dojox.layout.ExpandoPane",
15
15
  // command, and supports having Layout Children as direct descendants
16
16
  //
17
17
 
18
- maxHeight: "",
19
- maxWidth: "",
20
- splitter: false,
18
+ //maxHeight: "",
19
+ //maxWidth: "",
20
+ //splitter: false,
21
21
 
22
22
  templateString: dojo.cache("dojox.layout","resources/ExpandoPane.html"),
23
23
 
@@ -37,6 +37,16 @@ dojo.declare("dojox.layout.ExpandoPane",
37
37
  // Does this widget start in an open (true) or closed (false) state
38
38
  startExpanded: true,
39
39
 
40
+ // previewOpacity: Float
41
+ // A value from 0 .. 1 indicating the opacity to use on the container
42
+ // when only showing a preview
43
+ previewOpacity: 0.75,
44
+
45
+ // previewOnDblClick: Boolean
46
+ // If true, will override the default behavior of a double-click calling a full toggle.
47
+ // If false, a double-click will cause the preview to popup
48
+ previewOnDblClick: false,
49
+
40
50
  baseClass: "dijitExpandoPane",
41
51
 
42
52
  postCreate: function(){
@@ -78,6 +88,15 @@ dojo.declare("dojox.layout.ExpandoPane",
78
88
  overflow: "hidden",
79
89
  padding:0
80
90
  });
91
+
92
+ this.connect(this.domNode, "ondblclick", this.previewOnDblClick ? "preview" : "toggle");
93
+
94
+ if(this.previewOnDblClick){
95
+ this.connect(this.getParent(), "_layoutChildren", dojo.hitch(this, function(){
96
+ this._isonlypreview = false;
97
+ }));
98
+ }
99
+
81
100
  },
82
101
 
83
102
  _startupSizes: function(){
@@ -166,6 +185,15 @@ dojo.declare("dojox.layout.ExpandoPane",
166
185
  ];
167
186
  },
168
187
 
188
+ preview: function(){
189
+ // summary: Expand this pane in preview mode (does not affect surrounding layout)
190
+
191
+ if(!this._showing){
192
+ this._isonlypreview = !this._isonlypreview;
193
+ }
194
+ this.toggle();
195
+ },
196
+
169
197
  toggle: function(){
170
198
  // summary: Toggle this pane's visibility
171
199
  if(this._showing){
@@ -192,34 +220,56 @@ dojo.declare("dojox.layout.ExpandoPane",
192
220
 
193
221
  _showEnd: function(){
194
222
  // summary: Common animation onEnd code - "unclose"
195
- dojo.style(this.cwrapper, { opacity: 0, visibility:"visible" });
196
- dojo.fadeIn({ node:this.cwrapper, duration:227 }).play(1);
223
+ dojo.style(this.cwrapper, {
224
+ opacity: 0,
225
+ visibility:"visible"
226
+ });
227
+ dojo.anim(this.cwrapper, {
228
+ opacity: this._isonlypreview ? this.previewOpacity : 1
229
+ }, 227);
197
230
  dojo.removeClass(this.domNode, "dojoxExpandoClosed");
198
- setTimeout(dojo.hitch(this._container, "layout"), 15);
231
+ if(!this._isonlypreview){
232
+ setTimeout(dojo.hitch(this._container, "layout"), 15);
233
+ }else{
234
+ this._previewShowing = true;
235
+ this.resize();
236
+ }
199
237
  },
200
238
 
201
239
  _hideEnd: function(){
202
240
  // summary: Callback for the hide animation - "close"
203
- setTimeout(dojo.hitch(this._container, "layout"), 15);
241
+
242
+ // every time we hide, reset the "only preview" state
243
+ if(!this._isonlypreview){
244
+ setTimeout(dojo.hitch(this._container, "layout"), 25);
245
+ }else{
246
+ this._previewShowing = false;
247
+ }
248
+ this._isonlypreview = false;
249
+
204
250
  },
205
251
 
206
- resize: function(/* Object? */psize){
207
- // summary: we aren't a layout widget, but need to act like one:
208
- //
209
- // psize: Object
210
- // The size object optionally passed to us by our parent.
211
-
212
- if(!this._hasSizes){ this._startupSizes(psize); }
252
+ resize: function(/* Object? */newSize, /*Object?*/ currentSize){
253
+ // summary:
254
+ // we aren't a layout widget, but need to act like one:
255
+ // newSize: Object
256
+ // The size object to resize to
257
+ // currentSize: Object
258
+ // The size of my domNode that has already been set (by BorderContainer)
213
259
 
260
+ if(!this._hasSizes){ this._startupSizes(newSize); }
261
+
214
262
  // compute size of container (ie, size left over after title bar)
215
- // it looks like two marginBox calls, but sometimes psize comes in with only one member
216
- var size = (psize && psize.h) ? psize : dojo.marginBox(this.domNode);
217
263
  this._contentBox = {
218
- w: size.w || dojo.marginBox(this.domNode).w,
219
- h: size.h - this._titleHeight
220
- };
221
-
264
+ w: newSize && "w" in newSize ? newSize.w : currentSize.w,
265
+ h: (newSize && "h" in newSize ? newSize.h : currentSize.h) - this._titleHeight
266
+ };
222
267
  dojo.style(this.containerNode, "height", this._contentBox.h + "px");
268
+
269
+ if(newSize){
270
+ dojo.marginBox(this.domNode, newSize);
271
+ }
272
+
223
273
  this._layoutChildren();
224
274
  },
225
275
 
@@ -1,10 +1,13 @@
1
1
  dojo.provide("dojox.layout.FloatingPane");
2
2
  dojo.experimental("dojox.layout.FloatingPane");
3
3
 
4
- dojo.require("dojox.layout.ContentPane");
4
+ dojo.require("dojo.window");
5
+
5
6
  dojo.require("dijit._Templated");
6
7
  dojo.require("dijit._Widget");
7
8
  dojo.require("dojo.dnd.Moveable");
9
+
10
+ dojo.require("dojox.layout.ContentPane");
8
11
  dojo.require("dojox.layout.ResizeHandle");
9
12
 
10
13
  dojo.declare("dojox.layout.FloatingPane",
@@ -167,7 +170,7 @@ dojo.declare("dojox.layout.FloatingPane",
167
170
  setTitle: function(/* String */ title){
168
171
  // summary: Update the Title bar with a new string
169
172
  dojo.deprecated("pane.setTitle", "Use pane.attr('title', someTitle)", "2.0");
170
- this.attr("title", title);
173
+ this.set("title", title);
171
174
  // this.setTitle = dojo.hitch(this, "setTitle") ??
172
175
  },
173
176
 
@@ -230,7 +233,7 @@ dojo.declare("dojox.layout.FloatingPane",
230
233
  setTimeout(dojo.hitch(this,"maximize"),this.duration);
231
234
  }
232
235
  dojo.addClass(this.focusNode,"floatingPaneMaximized");
233
- this.resize(dijit.getViewport());
236
+ this.resize(dojo.window.getBox());
234
237
  this._maximized = true;
235
238
  },
236
239
 
@@ -354,7 +357,7 @@ dojo.declare("dojox.layout.Dock",
354
357
  // Give some time for scrollbars to appear/disappear
355
358
  setTimeout(dojo.hitch(this, function() {
356
359
  this._inPositiononing = true;
357
- var viewport = dijit.getViewport();
360
+ var viewport = dojo.window.getBox();
358
361
  var s = this.domNode.style;
359
362
  s.left = viewport.l + "px";
360
363
  s.width = (viewport.w-2) + "px";
@@ -1,1088 +1,621 @@
1
1
  dojo.provide("dojox.layout.GridContainer");
2
- dojo.experimental("dojox.layout.GridContainer");
3
-
4
- dojo.require("dijit._base.focus");
5
- dojo.require("dijit._Templated");
6
- dojo.require("dijit._Container");
7
- dojo.require("dijit._Contained");
8
- dojo.require("dojo.dnd.move");
9
- dojo.require("dojox.layout.dnd.PlottedDnd");
10
-
11
- dojo.declare("dojox.layout.GridContainer",
12
- [dijit._Widget, dijit._Templated, dijit._Container, dijit._Contained],
13
- {
2
+
3
+ dojo.require("dojox.layout.GridContainerLite");
4
+
5
+ dojo.declare(
6
+ "dojox.layout.GridContainer",
7
+ dojox.layout.GridContainerLite,
8
+ {
14
9
  // summary:
15
- // The Grid Container is a container of child elements that are placed in a kind of grid.
10
+ // A grid containing any kind of objects and acting like web portals.
16
11
  //
17
12
  // description:
18
- // It displays the child elements by column (ie: the childs widths are fixed by the column width of the grid but the childs heights are free).
19
- // Each child is movable by drag and drop inside the Grid Container.
20
- // The position of other children is automatically calculated when a child is moved
13
+ // This component inherits of all features of gridContainerLite plus :
14
+ // - Resize colums
15
+ // - Add / remove columns
16
+ // - Fix columns at left or at right.
17
+ // example:
18
+ // | <div dojoType="dojox.layout.GridContainer" nbZones="3" isAutoOrganized="true">
19
+ // | <div dojoType="dijit.layout.ContentPane">Content Pane 1 : Drag Me !</div>
20
+ // | <div dojoType="dijit.layout.ContentPane">Content Pane 2 : Drag Me !</div>
21
+ // | <div dojoType="dijit.layout.ContentPane">Content Pane 3 : Drag Me !</div>
22
+ // | </div>
21
23
  //
22
-
23
- templateString: dojo.cache("dojox.layout", "resources/GridContainer.html"),
24
- isContainer: true,
25
-
26
- //isAutoOrganized: Boolean:
27
- // Define auto organisation of children into the grid container.
28
- isAutoOrganized : true,
29
-
30
- //isRightFixed: Boolean
31
- // Define if the right border has a fixed size.
32
- isRightFixed:false,
33
-
34
- //isLeftFixed: Boolean
35
- // Define if the left border has a fixed size.
36
- isLeftFixed:false,
24
+ // example:
25
+ // | dojo.ready(function(){
26
+ // | var cpane1 = new dijit.layout.ContentPane({ title:"cpane1", content: "Content Pane 1 : Drag Me !" }),
27
+ // | cpane2 = new dijit.layout.ContentPane({ title:"cpane2", content: "Content Pane 2 : Drag Me !" }),
28
+ // | cpane3 = new dijit.layout.ContentPane({ title:"cpane3", content: "Content Pane 3 : Drag Me !" });
29
+ // |
30
+ // | var widget = new dojox.layout.GridContainer({
31
+ // | nbZones: 3,
32
+ // | isAutoOrganized: true
33
+ // | }, dojo.byId("idNode"));
34
+ // | widget.addChild(cpane1, 0, 0);
35
+ // | widget.addChild(cpane2, 1, 0);
36
+ // | widget.addChild(cpane3, 2, 1);
37
+ // | widget.startup();
38
+ // | });
37
39
 
38
40
  // hasResizableColumns: Boolean
39
- // Allow or not resizing of columns by a grip handle.
40
- hasResizableColumns:true,
41
-
42
- // nbZones: Integer
43
- // The number of dropped zones.
44
- nbZones:1,
45
-
46
- //opacity: Integer
47
- // Define the opacity of the DnD Avatar.
48
- opacity:1,
41
+ // Allow or not resizing of columns by a grip handle.
42
+ hasResizableColumns: true,
49
43
 
50
- // colWidths: Array
51
- // The percentage widths of columns. If not set, then each column is the same percentage width.
52
- colWidths: [],
44
+ // liveResizeColumns: Boolean
45
+ // Specifies whether columns resize as you drag (true) or only upon mouseup (false)
46
+ liveResizeColumns : false,
53
47
 
54
48
  // minColWidth: Integer
55
49
  // Minimum column width in percentage.
56
50
  minColWidth: 20,
57
51
 
58
52
  // minChildWidth: Integer
59
- // Minimun children with in pixel (only used for IE6 that doesn't handle min-width css property */
60
- minChildWidth : 150,
53
+ // Minimum children width in pixel (only used for IE6 which doesn't handle min-width css property)
54
+ minChildWidth: 150,
61
55
 
62
- // acceptTypes: Array
63
- // The gridcontainer will only accept the children that fit to the types.
64
- // In order to do that, the child must have a widgetType or a dndType attribute corresponding to the accepted type.*/
65
- acceptTypes: [],
66
-
67
- //mode: String
68
- // location to add columns, must be set to left or right(default)
56
+ // mode: String
57
+ // Location to add/remove columns, must be set to 'left' or 'right' (default).
69
58
  mode: "right",
70
59
 
71
- //allowAutoScroll: Boolean
72
- // auto-scrolling enable inside the GridContainer
73
- allowAutoScroll: false,
74
-
75
- //timeDisplayPopup: Integer
76
- // display time of popup in miliseconds
77
- timeDisplayPopup: 1500,
78
-
79
- //isOffset: Boolean
80
- // if true : Let the mouse to its original location when moving (allow to specify it proper offset)
81
- // if false : Current behavior, mouse in the upper left corner of the widget
82
- isOffset: false,
83
-
84
- //offsetDrag: Object
85
- // Allow to specify its own offset (x and y) only when Parameter isOffset is true
86
- offsetDrag : {}, //
87
-
88
- //withHandles: Boolean
89
- // Specify if there is a specific drag handle on widgets
90
- withHandles: false,
91
-
92
- // handleClasses: Array
93
- // Array of classes of nodes that will act as drag handles
94
- handleClasses : [],
95
-
96
- //Contains the DnD widget
97
- _draggedWidget: null,
98
-
99
- //_isResized: Boolean
100
- // Determine if user can resizing the widget with the mouse.
101
- _isResized: false,
60
+ // isRightFixed: Boolean
61
+ // Define if the last right column is fixed.
62
+ // Used when you add or remove columns by calling setColumns method.
63
+ isRightFixed: false,
102
64
 
103
- //Contains the node grip to resize widget.
104
- _activeGrip: null,
65
+ // isLeftFixed: Boolean
66
+ // Define if the last left column is fixed.
67
+ // Used when you add or remove columns by calling setColumns method.
68
+ isLeftFixed: false,
105
69
 
106
- // a11y with keyboard is On/Off
107
- _a11yOn : false,
108
-
109
- // can display a popup
110
- _canDisplayPopup : true,
70
+ startup: function(){
71
+ // summary:
72
+ // Call the startup of GridContainerLite and place grips
73
+ // if user has chosen the hasResizableColumns attribute to true.
111
74
 
112
- constructor: function(props, node){
113
- // FIXME: does this need a "scopeName"
114
- props = props || {};
115
- this.acceptTypes = props.acceptTypes || ["dijit.layout.ContentPane"];
116
- this.offsetDrag = props.offsetDrag || props.dragOffset || { x:0, y:0 };
117
- },
118
- postCreate: function(){
119
- //build columns
75
+ //console.log("dojox.layout.GridContainer ::: startup");
120
76
  this.inherited(arguments);
121
-
122
- if(this.nbZones === 0){ this.nbZones = 1; }
123
-
124
- // What is this for?
125
- if(dojo.isIE && dojo.marginBox(this.gridNode).height){
126
- var space = document.createTextNode(" ");
127
- this.gridNode.appendChild(space);
128
- }
129
-
130
- for(var i = 0; i < this.nbZones; i++){
131
- var node = dojo.create("td", {
132
- id: this.id + "_dz" + i,
133
- className: "gridContainerZone",
134
- style: {
135
- width: this._getColWidth(i) + "%"
136
- }
137
- }, this.gridNode);
77
+ if(this.hasResizableColumns){
78
+ for(var i = 0; i < this._grid.length - 1; i++){
79
+ this._createGrip(i);
80
+ }
81
+ // If widget has a container parent, grips will be placed
82
+ // by method onShow.
83
+ if(!this.getParent()){
84
+ // Fix IE7 :
85
+ // The CSS property height:100% for the grip
86
+ // doesn't work anytime. It's necessary to wait
87
+ // the end of loading before to place grips.
88
+ dojo.ready(dojo.hitch(this, "_placeGrips"));
89
+ }
138
90
  }
139
91
  },
140
- startup:function(){
141
- this.grid = this._createGrid();
142
-
143
- this.connect(dojo.global, "onresize", "onResized");
144
- this.connect(this, "onDndDrop", "_placeGrips");
145
- this.dropHandler= dojo.subscribe("/dnd/drop", this, "_placeGrips");
146
92
 
147
- this._oldwidth = this.domNode.offsetWidth;
148
- if(this.hasResizableColumns){
149
- this._initPlaceGrips();
93
+ resizeChildAfterDrop : function(/*Node*/node, /*Object*/targetArea, /*Integer*/indexChild){
94
+ // summary:
95
+ // Call when a child is dropped.
96
+ // description:
97
+ // Allow to resize and put grips
98
+ // node:
99
+ // domNode of dropped widget.
100
+ // targetArea:
101
+ // AreaManager Object containing information of targetArea
102
+ // indexChild:
103
+ // Index where the dropped widget has been placed
104
+
105
+ if(this.inherited(arguments)){
150
106
  this._placeGrips();
151
107
  }
152
-
153
- if(this.usepref !== true){
154
- this[(this.isAutoOrganized ? "_organizeServices" : "_organizeServicesManually")]();
155
- }
156
-
157
- for(var j = 0; j < this.grid.length; j++){
158
- var dz = this.grid[j];
159
- dojo.forEach(dz.node.childNodes, function(child){
160
- dz.setItem(child.id, {data: child, type: [child.getAttribute("dndType")]});
161
- });
162
- }
163
-
164
- this.inherited(arguments);
165
108
  },
166
109
 
167
- destroy: function(){
168
- // summary: destroy GridContainer Component.
169
- for(var i = 0; i < this.handleDndStart; i++){
170
- dojo.disconnect(this.handleDndStart[i]);
171
- }
172
- dojo.unsubscribe(this.dropHandler);
110
+ onShow: function(){
111
+ // summary:
112
+ // Place grips in the right place when the GridContainer becomes visible.
113
+
114
+ //console.log("dojox.layout.GridContainer ::: onShow");
173
115
  this.inherited(arguments);
116
+ this._placeGrips();
174
117
  },
175
118
 
176
119
  resize: function(){
177
- dojo.forEach(this.getChildren(), function(child){
178
- child.resize && child.resize();
179
- });
180
- },
181
- getZones: function(){
182
- // summary:
183
- // return array of zone (domNode)
184
- return dojo.query(".gridContainerZone", this.containerNode);
185
- },
186
- getNewChildren: function(){
187
- //TODO call Container getChildren()
188
- return dojo.query("> [widgetId]", this.containerNode).map(dijit.byNode);
189
- },
190
-
191
- getChildren: function(){
192
120
  // summary:
193
- // Returns array of children widgets.
194
- // description:
195
- // Returns the widgets that are directly under columns.
196
- var children = dojo.query(".gridContainerZone > [widgetId]", this.containerNode).map(dijit.byNode); // Widget[]
197
- return children;
198
- },
121
+ // Resize the GridContainer widget and columns.
122
+ // Replace grips if it's necessary.
123
+ // tags:
124
+ // callback
199
125
 
200
- onResized: function(){
201
- // summary: Callback method to resize the GridContainer widget and columns
202
- if(this.hasResizableColumns){
126
+ //console.log("dojox.layout.GridContainer ::: resize");
127
+ this.inherited(arguments);
128
+ // Fix IE6 :
129
+ // IE6 calls method resize itself.
130
+ // If the GridContainer is not visible at this time,
131
+ // the method _placeGrips can return a negative value with
132
+ // contentBox method. (see method _placeGrip() with Fix Ie6 for the height)
133
+ if(this._isShown() && this.hasResizableColumns){
203
134
  this._placeGrips();
204
135
  }
205
136
  },
206
137
 
207
- /***********services methods******************/
208
- _organizeServices : function(){
209
- //summary: List all zones and insert service into columns.
210
- var nbz = this.nbZones,
211
- childs = this.getNewChildren(),
212
- nbs = childs.length,
213
- res = Math.floor(nbs / nbz),
214
- mod = nbs % nbz,
215
- i = 0;
216
-
217
- for(var z = 0; z < nbz; z++){
218
- for(var r = 0; r < res; r++){
219
- this._insertService(z, i, childs[i], true);
220
- i++;
221
- }
222
- if(mod>0){
223
- try{
224
- this._insertService(z, i, childs[i], true);
225
- i++;
138
+ _createGrip: function(/*Integer*/ index){
139
+ // summary:
140
+ // Create a grip for a specific zone.
141
+ // index:
142
+ // index where the grip has to be created.
143
+ // tags:
144
+ // protected
145
+
146
+ //console.log("dojox.layout.GridContainer ::: _createGrip");
147
+ var dropZone = this._grid[index],
148
+ grip = dojo.create("div", { 'class': "gridContainerGrip" }, this.domNode);
149
+ dropZone.grip = grip;
150
+ dropZone.gripHandler = [
151
+ this.connect(grip, "onmouseover", function(e){
152
+ var gridContainerGripShow = false;
153
+ for(var i = 0; i < this._grid.length - 1; i++){
154
+ if(dojo.hasClass(this._grid[i].grip, "gridContainerGripShow")){
155
+ gridContainerGripShow = true;
156
+ break;
157
+ }
226
158
  }
227
- catch(e){
228
- console.error("Unable to insert service in grid container", e, childs);
159
+ if(!gridContainerGripShow){
160
+ dojo.removeClass(e.target, "gridContainerGrip");
161
+ dojo.addClass(e.target, "gridContainerGripShow");
229
162
  }
230
- mod--;
231
- }else if(res === 0){ break; }
232
- }
163
+ })[0],
164
+ this.connect(grip, "onmouseout", function(e){
165
+ if(!this._isResized){
166
+ dojo.removeClass(e.target, "gridContainerGripShow");
167
+ dojo.addClass(e.target, "gridContainerGrip");
168
+ }
169
+ })[0],
170
+ this.connect(grip, "onmousedown", "_resizeColumnOn")[0],
171
+ this.connect(grip, "ondblclick", "_onGripDbClick")[0]
172
+ ];
233
173
  },
234
174
 
235
- _organizeServicesManually : function (){
236
- //summary: Organize Services by column property of widget.
237
- var children = this.getNewChildren();
238
- for(var i = 0; i < children.length; i++){
239
- try{
240
- this._insertService(children[i].column - 1, i, children[i], true);
241
- }catch(e){
242
- console.error("Unable to insert service in grid container", e, children[i]);
175
+ _placeGrips: function(){
176
+ // summary:
177
+ // Define the position of a grip and place it on page.
178
+ // tags:
179
+ // protected
180
+
181
+ //console.log("dojox.layout.GridContainer ::: _placeGrips");
182
+ var gripWidth, height, left = 0, grip;
183
+ var scroll = this.domNode.style.overflowY;
184
+
185
+ dojo.forEach(this._grid, function(dropZone){
186
+ if(dropZone.grip){
187
+ grip = dropZone.grip;
188
+ if(!gripWidth){
189
+ gripWidth = grip.offsetWidth / 2;
190
+ }
191
+
192
+ left += dojo.marginBox(dropZone.node).w;
193
+
194
+ dojo.style(grip, "left", (left - gripWidth) + "px");
195
+ //if(dojo.isIE == 6){ do it fot all navigators
196
+ if(!height){
197
+ height = dojo.contentBox(this.gridNode).h;
198
+ }
199
+ if(height > 0){
200
+ dojo.style(grip, "height", height + "px");
201
+ }
202
+ //}
243
203
  }
244
- }
204
+ }, this);
205
+ },
245
206
 
207
+ _onGripDbClick: function(){
208
+ // summary:
209
+ // Called when a double click is catch. Resize all columns with the same width.
210
+ // The method resize of children have to be called.
211
+ // tags:
212
+ // callback protected
213
+
214
+ //console.log("dojox.layout.GridContainer ::: _onGripDbClick");
215
+ this._updateColumnsWidth(this._dragManager);
216
+ this.resize();
246
217
  },
247
218
 
248
- _insertService : function(/*Integer*/z, /*Integer*/p, /*Widget*/service, /*Boolean*/first){
249
- //summary: Insert a service in a specific column of the GridContainer widget.
250
- // z: zone Index (Column)
251
- // p: rowIndex
252
- // service: child to insert
253
- // first:
219
+ _resizeColumnOn: function(/*Event*/e){
220
+ // summary:
221
+ // Connect events to listen the resize action.
222
+ // Change the type of width columns (% to px).
223
+ // Calculate the minwidth according to the children.
224
+ // tags:
225
+ // callback
254
226
 
255
- if(service === undefined){ return; }
256
- var zone = this.getZones()[z];
227
+ //console.log("dojox.layout.GridContainer ::: _resizeColumnOn", e);
228
+ this._activeGrip = e.target;
229
+ this._initX = e.pageX;
230
+ e.preventDefault();
257
231
 
258
- var kidsZone = zone.childNodes.length;
259
- if(p === undefined || p > kidsZone){ p = kidsZone; }
232
+ dojo.body().style.cursor = "ew-resize";
260
233
 
261
- var toto = dojo.place(service.domNode, zone, p);
262
- service.domNode.setAttribute("tabIndex", 0);
263
- if(!service.dragRestriction){
264
- dojo.addClass(service.domNode, "dojoDndItem");
265
- }
266
- if(!service.domNode.getAttribute("dndType")){
267
- service.domNode.setAttribute("dndType", service.declaredClass);
268
- }
269
- dojox.layout.dnd._setGcDndHandle(service, this.withHandles, this.handleClasses, first);
270
- if(this.hasResizableColumns){
271
- if(service.onLoad){
272
- this.connect(service, "onLoad", "_placeGrips");
273
- }
274
- if(service.onExecError){
275
- this.connect(service, "onExecError", "_placeGrips");
276
- }
277
- if(service.onUnLoad){
278
- this.connect(service, "onUnLoad", "_placeGrips");
279
- }
280
- }
281
- // why calling this eachTime ??
282
- this._placeGrips();
283
- return service.id; // String
284
- },
234
+ this._isResized = true;
285
235
 
286
- // FIXME: API change, rename to addChild
287
- addService : function(/*Object*/service, /*Integer*/z, /*Integer*/p){
288
- return this.addChild(service, z, p);
289
- },
290
- addChild : function(/*Object*/service, /*Integer*/z, /*Integer*/p){
291
- // summary: Add a service (child widget) in a specific column of the GridContainer widget.
292
- // service:
293
- // widget to insert
294
- // z:
295
- // zone number (column)
296
- // p:
297
- // place in the zone (first = 0)
298
-
299
- service.domNode.id = service.id;
300
- // avoid to call dojo.place twice:
301
- //this.addChild(service);
302
- if(z <= 0){ z = 0; }
303
- var column = z || 0;
304
- if(p <= 0){ p = 0; }
305
- var row = p || 0;
306
- var result = this._insertService(column, row, service);
307
-
308
- if(this._started && !service._started){
309
- // Check if it work; if add call before started
310
- this.grid[z].setItem(service.id, {data: service.domNode, type: [service.domNode.getAttribute("dndType")]});
311
- service.startup();
312
- }
313
- return result; //Object
314
- },
236
+ var tabSize = [];
237
+ var grid;
238
+ var i;
315
239
 
316
- /***********grid methods******************/
317
- _createGrid : function(){
318
- // summary:
319
- // Create all grid (zones and grip)
320
- var grid = [];
321
- var i = 0;
322
- while(i < this.nbZones){
323
- var plottedZone = this._createZone(this.getZones()[i]);
324
- if(this.hasResizableColumns && i != (this.nbZones-1)){
325
- this._createGrip(plottedZone);
326
- }
327
- grid.push(plottedZone);
328
- i++;
329
- }
330
- if(this.hasResizableColumns){
331
- this.handleDndStart = [];
332
- for(var j = 0; j < grid.length; j++){
333
- var dz = grid[j];
334
- var self = this;
335
- this.handleDndStart.push(dojo.connect(dz, "onDndStart", dz, function(source){
336
- if(source == this){
337
- self.handleDndInsertNodes = [];
338
- for(i = 0; i < self.grid.length; i++){
339
- self.handleDndInsertNodes.push(dojo.connect(self.grid[i], "insertNodes", self, function(){
340
- self._disconnectDnd();
341
- }));
342
- }
343
- self.handleDndInsertNodes.push(dojo.connect(dz, "onDndCancel", self, self._disconnectDnd));
344
- self.onResized();
345
- }
346
- }));
347
- }
240
+ for(i = 0; i < this._grid.length; i++){
241
+ tabSize[i] = dojo.contentBox(this._grid[i].node).w;
348
242
  }
349
- return grid; // Object
350
- },
351
243
 
352
- _disconnectDnd: function(){
353
- //summary: disconnect all events on insertNodes
244
+ this._oldTabSize = tabSize;
354
245
 
355
- dojo.forEach(this.handleDndInsertNodes, dojo.disconnect);
356
- setTimeout(dojo.hitch(this, "onResized"), 0);
357
- },
246
+ for(i = 0; i < this._grid.length; i++){
247
+ grid = this._grid[i];
248
+ if(this._activeGrip == grid.grip){
249
+ this._currentColumn = grid.node;
250
+ this._currentColumnWidth = tabSize[i];
251
+ this._nextColumn = this._grid[i + 1].node;
252
+ this._nextColumnWidth = tabSize[i + 1];
253
+ }
254
+ grid.node.style.width = tabSize[i] + "px";
255
+ }
358
256
 
359
- _createZone: function(/*Object*/zone){
360
- //summary: Create a DnD column.
361
- var dz = new dojox.layout.dnd.PlottedDnd(zone.id, {
362
- accept:this.acceptTypes,
363
- withHandles:this.withHandles,
364
- handleClasses: this.handleClasses,
365
- singular: true,
366
- hideSource:true,
367
- opacity: this.opacity,
368
- dom: this.domNode,
369
- allowAutoScroll: this.allowAutoScroll,
370
- isOffset:this.isOffset,
371
- offsetDrag : this.offsetDrag
372
- });
373
- this.connect(dz, "insertDashedZone", "_placeGrips");
374
- this.connect(dz, "deleteDashedZone", "_placeGrips");
375
- return dz; //plottedDnd Object
376
- },
257
+ // calculate the minWidh of all children for current and next column
258
+ var calculateChildMinWidth = function(childNodes, minChild){
259
+ var width = 0;
260
+ var childMinWidth = 0;
377
261
 
378
- /************ grips methods***************/
262
+ dojo.forEach(childNodes, function(child){
263
+ if(child.nodeType == 1){
264
+ var objectStyle = dojo.getComputedStyle(child);
265
+ var minWidth = (dojo.isIE) ? minChild : parseInt(objectStyle.minWidth);
379
266
 
380
- _createGrip: function(/*Object*/dz){
381
- // summary: Create a grip for a specific zone
382
- var grip = document.createElement("div");
383
- grip.className = "gridContainerGrip";
384
- grip.setAttribute("tabIndex", "0");
267
+ childMinWidth = minWidth +
268
+ parseInt(objectStyle.marginLeft) +
269
+ parseInt(objectStyle.marginRight);
385
270
 
386
- var _this= this;
387
- this.onMouseOver = this.connect(grip, "onmouseover", function(e){
388
- var gridContainerGripShow = false;
389
- for(var i = 0; i < _this.grid.length - 1; i++){
390
- if(dojo.hasClass(_this.grid[i].grip, "gridContainerGripShow")){
391
- gridContainerGripShow = true;
392
- break;
271
+ if(width < childMinWidth){
272
+ width = childMinWidth;
393
273
  }
394
274
  }
395
- if(!gridContainerGripShow){
396
- dojo.removeClass(e.target, "gridContainerGrip");
397
- dojo.addClass(e.target, "gridContainerGripShow");
398
- }
399
- }
400
- );
275
+ });
276
+ return width;
277
+ }
278
+ var currentColumnMinWidth = calculateChildMinWidth(this._currentColumn.childNodes, this.minChildWidth);
401
279
 
402
- this.connect(grip,"onmouseout",function(e){
403
- if(!_this._isResized){
404
- dojo.removeClass(e.target, "gridContainerGripShow");
405
- dojo.addClass(e.target, "gridContainerGrip");
406
- }
407
- }
408
- );
280
+ var nextColumnMinWidth = calculateChildMinWidth(this._nextColumn.childNodes, this.minChildWidth);
409
281
 
410
- this.connect(grip,"onmousedown",function(e){
411
- _this._a11yOn = false;
412
- _this._activeGrip = e.target;
413
- _this.resizeColumnOn(e);
414
- });
282
+ var minPix = Math.round((dojo.marginBox(this.gridContainerTable).w * this.minColWidth) / 100);
415
283
 
416
- this.domNode.appendChild(grip);
417
- dz.grip = grip;
418
- },
284
+ this._currentMinCol = currentColumnMinWidth;
285
+ this._nextMinCol = nextColumnMinWidth;
419
286
 
420
- _initPlaceGrips: function(){
421
- //summary: Initialize the position of a grip which will not change (top)
422
- var dcs = dojo.getComputedStyle(this.domNode);
423
- this._x = parseInt(dcs.paddingLeft);
424
- var _topGrip = parseInt(dcs.paddingTop);
425
- if(dojo.isIE || dojo.getComputedStyle(this.gridContainerTable).borderCollapse != "collapse"){
426
- var ex = dojo._getBorderExtents(this.gridContainerTable);
427
- this._x += ex.l;
428
- _topGrip += ex.t
287
+ if(minPix > this._currentMinCol){
288
+ this._currentMinCol = minPix;
429
289
  }
430
- _topGrip += "px";
431
- for(var z = 0; z < this.grid.length; z++){
432
- var zone = this.grid[z];
433
- if(zone.grip){
434
- var grip = zone.grip;
435
- if(!dojo.isIE){
436
- zone.pad = dojo._getPadBorderExtents(zone.node).w;
437
- }
438
- grip.style.top = _topGrip;
439
- }
290
+ if(minPix > this._nextMinCol){
291
+ this._nextMinCol = minPix;
440
292
  }
293
+ this._connectResizeColumnMove = dojo.connect(dojo.doc, "onmousemove", this, "_resizeColumnMove");
294
+ this._connectOnGripMouseUp = dojo.connect(dojo.doc, "onmouseup", this, "_onGripMouseUp");
441
295
  },
442
296
 
443
- _placeGrips: function(){
444
- //summary: Define the position of a grip and place it on page.
445
-
446
- var height;
447
- var size = this._x;
448
-
449
- dojo.forEach(this.grid, function(zone){
450
- if(zone.grip){
451
- if(height === undefined){
452
- if(this.allowAutoScroll){
453
- height = this.gridNode.scrollHeight;
454
- }else{
455
- height = dojo.contentBox(this.gridNode).h;
456
- }
457
- }
458
- var grip = zone.grip;
459
- // Bug margin : IE
460
- size += dojo[(dojo.isIE ? "marginBox" : "contentBox")](zone.node).w + (dojo.isIE ? 0 : zone.pad);
461
- dojo.style(grip,{
462
- left: size + "px",
463
- height: height + "px"
464
- });
465
- }
466
- }, this);
467
- },
297
+ _onGripMouseUp: function(){
298
+ // summary:
299
+ // Call on the onMouseUp only if the reiszeColumnMove was not called.
300
+ // tags:
301
+ // callback
468
302
 
469
- _getZoneByIndex : function(/*Integer*/n){
470
- //summary: Return a DOM node containing a zone by given a index.
471
- return this.grid[(n >= 0 && n < this.grid.length ? n : 0 )]; //number
472
- },
303
+ //console.log(dojox.layout.GridContainer ::: _onGripMouseUp");
304
+ dojo.body().style.cursor = "default";
473
305
 
474
- getIndexZone : function(/*Node*/zone){
475
- //summary: Return an integer by given a zone
476
- for(var z = 0; z < this.grid.length; z++){
477
- if(this.grid[z].node.id == zone.id){
478
- return z; // number
479
- }
306
+ dojo.disconnect(this._connectResizeColumnMove);
307
+ dojo.disconnect(this._connectOnGripMouseUp);
308
+
309
+ this._connectOnGripMouseUp = this._connectResizeColumnMove = null;
310
+
311
+ if(this._activeGrip){
312
+ dojo.removeClass(this._activeGrip, "gridContainerGripShow");
313
+ dojo.addClass(this._activeGrip, "gridContainerGrip");
480
314
  }
481
- return -1; // number
482
- },
483
315
 
484
- /***********miscellaneous methods******************/
485
- resizeColumnOn : function(/*Event*/e){
486
- // summary: Connect events to listen the resize action.
487
- // Change the type of width columns (% to px)
488
- // Calculate the minwidth according to the children
489
- var k = dojo.keys;
490
- var i;
491
- if(!(this._a11yOn && e.keyCode != k.LEFT_ARROW && e.keyCode != k.RIGHT_ARROW)){
492
- e.preventDefault();
493
- dojo.body().style.cursor = "ew-resize";
494
- this._isResized = true;
495
- this.initX = e.pageX;
496
- var tabSize = [];
497
- for(i = 0; i < this.grid.length; i++){
498
- tabSize[i] = dojo.contentBox(this.grid[i].node).w;
499
- }
500
- this.oldTabSize = tabSize;
501
-
502
- for(i = 0; i< this.grid.length; i++){
503
- if(this._activeGrip == this.grid[i].grip){
504
- this.currentColumn = this.grid[i].node;
505
- this.currentColumnWidth = tabSize[i];
506
- this.nextColumn = this.currentColumn.nextSibling;
507
- this.nextColumnWidth = tabSize[i+1];
508
- }
509
- this.grid[i].node.style.width = tabSize[i] + "px";
510
- }
316
+ this._isResized = false;
317
+ },
511
318
 
512
- // calculate the minWidh of all children for current and next column
513
- var calculateChildMinWidth = function(childNodes, minChild){
514
- var width = 0;
515
- var childMinWidth = 0;
516
- dojo.forEach(childNodes, function(child){
517
- if(child.nodeType == 1){
518
- var objectStyle = dojo.getComputedStyle(child);
519
- var minWidth = (dojo.isIE ? minChild : parseInt(objectStyle.minWidth));
319
+ _resizeColumnMove: function(/*Event*/e){
320
+ // summary:
321
+ // Change columns size.
322
+ // tags:
323
+ // callback
520
324
 
521
- childMinWidth = minWidth + parseInt(objectStyle.marginLeft)
522
- + parseInt(objectStyle.marginRight);
325
+ //console.log("dojox.layout.GridContainer ::: _resizeColumnMove");
326
+ e.preventDefault();
327
+ if(!this._connectResizeColumnOff){
328
+ dojo.disconnect(this._connectOnGripMouseUp);
329
+ this._connectOnGripMouseUp = null;
330
+ this._connectResizeColumnOff = dojo.connect(dojo.doc, "onmouseup", this, "_resizeColumnOff");
331
+ }
523
332
 
524
- if(width < childMinWidth){
525
- width = childMinWidth;
526
- }
527
- }
528
- });
529
- return width;
530
- };
333
+ var d = e.pageX - this._initX;
334
+ if(d == 0){ return; }
531
335
 
532
- var currentColumnMinWidth = calculateChildMinWidth(this.currentColumn.childNodes, this.minChildWidth);
533
- var nextColumnMinWidth = calculateChildMinWidth(this.nextColumn.childNodes, this.minChildWidth);
336
+ if(!(this._currentColumnWidth + d < this._currentMinCol ||
337
+ this._nextColumnWidth - d < this._nextMinCol)){
534
338
 
535
- var minPix = Math.round((dojo.marginBox(this.gridContainerTable).w * this.minColWidth) / 100);
536
- this.currentMinCol = currentColumnMinWidth;
537
- this.nextMinCol = nextColumnMinWidth;
339
+ this._currentColumnWidth += d;
340
+ this._nextColumnWidth -= d;
341
+ this._initX = e.pageX;
342
+ this._activeGrip.style.left = parseInt(this._activeGrip.style.left) + d + "px";
538
343
 
539
- if(minPix > this.currentMinCol){
540
- this.currentMinCol = minPix;
541
- }
542
- if(minPix > this.nextMinCol){
543
- this.nextMinCol = minPix;
544
- }
545
- if(this._a11yOn){
546
- this.connectResizeColumnMove = this.connect(dojo.doc, "onkeypress", "resizeColumnMove");
547
- }else{
548
- this.connectResizeColumnMove = this.connect(dojo.doc, "onmousemove", "resizeColumnMove");
549
- this.connectResizeColumnOff = this.connect(document, "onmouseup", "resizeColumnOff");
344
+ if(this.liveResizeColumns){
345
+ this._currentColumn.style["width"] = this._currentColumnWidth + "px";
346
+ this._nextColumn.style["width"] = this._nextColumnWidth + "px";
347
+ this.resize();
550
348
  }
551
349
  }
552
350
  },
553
351
 
554
- resizeColumnMove: function(/*Event*/e){
555
- //summary: Change columns size.
556
- var d = 0;
557
- if(this._a11yOn){
558
- var k = dojo.keys;
559
- switch(e.keyCode){
560
- case k.LEFT_ARROW:
561
- d = -10;
562
- break;
563
- case k.RIGHT_ARROW:
564
- d = 10;
565
- break;
566
- }
567
- }else{
568
- e.preventDefault();
569
- d = e.pageX - this.initX;
570
- }
571
- if(d == 0){ return; }
572
- if(!(this.currentColumnWidth + d < this.currentMinCol || this.nextColumnWidth - d < this.nextMinCol)){
573
- this.currentColumnWidth += d;
574
- this.nextColumnWidth -= d;
575
- this.initX = e.pageX;
576
- this.currentColumn.style["width"] = this.currentColumnWidth + "px";
577
- this.nextColumn.style["width"] = this.nextColumnWidth + "px";
578
- this._activeGrip.style.left = parseInt(this._activeGrip.style.left) + d + "px";
579
- this._placeGrips();
580
- }
581
- if(this._a11yOn){
582
- this.resizeColumnOff(e);
583
- }
584
- },
352
+ _resizeColumnOff: function(/*Event*/e){
353
+ // summary:
354
+ // Disconnect resize events.
355
+ // Change the type of width columns (px to %).
356
+ // tags:
357
+ // callback
585
358
 
586
- resizeColumnOff : function(/*Event*/e){
587
- //summary: Disconnect resize events.
588
- // Change the type of width columns (px to %)
359
+ //console.log("dojox.layout.GridContainer ::: _resizeColumnOff");
589
360
  dojo.body().style.cursor = "default";
590
- if(this._a11yOn){
591
- this.disconnect(this.connectResizeColumnMove);
592
- this._a11yOn = false;
593
- }else{
594
- this.disconnect(this.connectResizeColumnMove);
595
- this.disconnect(this.connectResizeColumnOff);
361
+
362
+ dojo.disconnect(this._connectResizeColumnMove);
363
+ dojo.disconnect(this._connectResizeColumnOff);
364
+
365
+ this._connectResizeColumnOff = this._connectResizeColumnMove = null;
366
+
367
+ if(!this.liveResizeColumns){
368
+ this._currentColumn.style["width"] = this._currentColumnWidth + "px";
369
+ this._nextColumn.style["width"] = this._nextColumnWidth + "px";
370
+ //this.resize();
596
371
  }
597
372
 
598
- var tabSize = [];
599
- var testSize = [];
600
- var tabWidth = this.gridContainerTable.clientWidth;
601
- var i;
373
+ var tabSize = [],
374
+ testSize = [],
375
+ tabWidth = this.gridContainerTable.clientWidth,
376
+ node,
377
+ update = false,
378
+ i;
602
379
 
603
- for(i = 0; i < this.grid.length; i++){
604
- var _cb = dojo.contentBox(this.grid[i].node);
380
+ for(i = 0; i < this._grid.length; i++){
381
+ node = this._grid[i].node;
605
382
  if(dojo.isIE){
606
- tabSize[i] = dojo.marginBox(this.grid[i].node).w;
607
- testSize[i] = _cb.w;
608
- }else{
609
- tabSize[i] = _cb.w;
383
+ tabSize[i] = dojo.marginBox(node).w;
384
+ testSize[i] = dojo.contentBox(node).w;
385
+ }
386
+ else{
387
+ tabSize[i] = dojo.contentBox(node).w;
610
388
  testSize = tabSize;
611
389
  }
612
390
  }
613
391
 
614
- var update = false;
615
392
  for(i = 0; i < testSize.length; i++){
616
- if(testSize[i] != this.oldTabSize[i]){
393
+ if(testSize[i] != this._oldTabSize[i]){
617
394
  update = true;
618
395
  break;
619
396
  }
620
397
  }
398
+
621
399
  if(update){
622
400
  var mul = dojo.isIE ? 100 : 10000;
623
- for(i = 0; i < this.grid.length; i++){
624
- this.grid[i].node.style.width = Math.round((100 * mul * tabSize[i]) / tabWidth) / mul + "%";
401
+ for(i = 0; i < this._grid.length; i++){
402
+ this._grid[i].node.style.width = Math.round((100 * mul * tabSize[i]) / tabWidth) / mul + "%";
625
403
  }
626
- this._placeGrips();
404
+ this.resize();
627
405
  }
628
406
 
629
407
  if(this._activeGrip){
630
408
  dojo.removeClass(this._activeGrip, "gridContainerGripShow");
631
409
  dojo.addClass(this._activeGrip, "gridContainerGrip");
632
410
  }
633
- this._isResized= false;
411
+
412
+ this._isResized = false;
634
413
  },
635
414
 
636
- setColumns : function(/*Integer*/nbColumns){
637
- // summary: Set the number of columns
638
- var zone;
415
+ setColumns: function(/*Integer*/nbColumns){
416
+ // summary:
417
+ // Set the number of columns.
418
+ // nbColumns:
419
+ // Number of columns
420
+
421
+ //console.log("dojox.layout.GridContainer ::: setColumns");
422
+ var z, j;
639
423
  if(nbColumns > 0){
640
- var delta = this.grid.length-nbColumns;
424
+ var length = this._grid.length,
425
+ delta = length - nbColumns;
641
426
  if(delta > 0){
642
- var count = [];
643
- var start, end, z, nbChildren, j;
644
- /*Check if right or left columns are fixed*/
645
- /*Columns are not taken in account and can't be deleted*/
427
+ var count = [], zone, start, end, nbChildren;
428
+ // Check if right or left columns are fixed
429
+ // Columns are not taken in account and can't be deleted
646
430
  if(this.mode == "right"){
647
- end = (this.isLeftFixed && this.grid.length > 0) ? 1 : 0;
648
- start = this.grid.length - (this.isRightFixed ? 2 : 1);
431
+ end = (this.isLeftFixed && length > 0) ? 1 : 0;
432
+ start = (this.isRightFixed) ? length - 2 : length - 1
649
433
  for(z = start; z >= end; z--){
650
434
  nbChildren = 0;
651
- zone = this.grid[z].node;
652
- for(j = 0;j < zone.childNodes.length; j++){
653
- if(zone.childNodes[j].nodeType == 1 && !(zone.childNodes[j].id == "")){ //1 = dojo.html.ELEMENT_NODE
435
+ zone = this._grid[z].node;
436
+ for(j = 0; j < zone.childNodes.length; j++){
437
+ if(zone.childNodes[j].nodeType == 1 && !(zone.childNodes[j].id == "")){
654
438
  nbChildren++;
655
439
  break;
656
440
  }
657
441
  }
658
- if(nbChildren == 0){
659
- count[count.length] = z;
660
- }
661
- if(count.length>=delta){
442
+ if(nbChildren == 0){ count[count.length] = z; }
443
+ if(count.length >= delta){
662
444
  this._deleteColumn(count);
663
445
  break;
664
446
  }
665
447
  }
666
448
  if(count.length < delta){
667
- //Not enough empty columns
668
- console.error("Move boxes in first columns, in all tabs before changing the organization of the page");
449
+ dojo.publish("/dojox/layout/gridContainer/noEmptyColumn", [this]);
669
450
  }
670
- }else{ // mode="left"
671
- start = (this.isLeftFixed && this.grid.length>0) ? 1 : 0;
672
- end = this.grid.length;
673
- if(this.isRightFixed){
674
- end--;
675
- }
676
- for(z=start;z<end;z++){
451
+ }
452
+ else{ // mode = "left"
453
+ start = (this.isLeftFixed && length > 0) ? 1 : 0;
454
+ end = (this.isRightFixed) ? length - 1 : length;
455
+ for(z = start; z < end; z++){
677
456
  nbChildren = 0;
678
- zone = this.grid[z].node;
679
- for(j = 0;j < zone.childNodes.length;j++){
680
- if(zone.childNodes[j].nodeType == 1 && !(zone.childNodes[j].id == "")){ //1 = dojo.html.ELEMENT_NODE
457
+ zone = this._grid[z].node;
458
+ for(j = 0; j < zone.childNodes.length; j++){
459
+ if(zone.childNodes[j].nodeType == 1 && !(zone.childNodes[j].id == "")){
681
460
  nbChildren++;
682
461
  break;
683
462
  }
684
463
  }
685
- if(nbChildren == 0){
686
- count[count.length] = z;
687
- }
688
- if(count.length>=delta){
464
+ if(nbChildren == 0){ count[count.length] = z; }
465
+ if(count.length >= delta){
689
466
  this._deleteColumn(count);
690
467
  break;
691
468
  }
692
469
  }
693
-
694
- if(count.length<delta){
470
+ if(count.length < delta){
695
471
  //Not enough empty columns
696
- console.warn("Move boxes in last columns, in all tabs before changing the organization of the page");
472
+ dojo.publish("/dojox/layout/gridContainer/noEmptyColumn", [this]);
697
473
  }
698
474
  }
699
- }else{
700
- if(delta<0){ this._addColumn(Math.abs(delta)); }
701
475
  }
702
- this._initPlaceGrips();
703
- this._placeGrips();
476
+ else{
477
+ if(delta < 0){ this._addColumn(Math.abs(delta)); }
478
+ }
479
+ if(this.hasResizableColumns){ this._placeGrips(); }
704
480
  }
705
481
  },
706
482
 
707
483
  _addColumn: function(/*Integer*/nbColumns){
708
- //summary: Add some columns
709
- var node;
484
+ // summary:
485
+ // Add some columns.
486
+ // nbColumns:
487
+ // Number of column to added
488
+ // tags:
489
+ // private
490
+
491
+ //console.log("dojox.layout.GridContainer ::: _addColumn");
492
+ var grid = this._grid,
493
+ dropZone,
494
+ node,
495
+ index,
496
+ length,
497
+ isRightMode = (this.mode == "right"),
498
+ accept = this.acceptTypes.join(","),
499
+ m = this._dragManager;
500
+
710
501
  //Add a grip to the last column
711
- if(this.hasResizableColumns && !this.isRightFixed && this.mode == "right"){
712
- node = this.grid[this.grid.length-1];
713
- this._createGrip(node);
714
- }
502
+ if(this.hasResizableColumns && ((!this.isRightFixed && isRightMode)
503
+ || (this.isLeftFixed && !isRightMode && this.nbZones == 1) )){
504
+ this._createGrip(grid.length - 1);
505
+ }
506
+
507
+ for(var i = 0; i < nbColumns; i++){
508
+ // Fix CODEX defect #53025 :
509
+ // Apply acceptType attribute on each new column.
510
+ node = dojo.create("td", {
511
+ 'class': "gridContainerZone dojoxDndArea" ,
512
+ 'accept': accept,
513
+ 'id': this.id + "_dz" + this.nbZones
514
+ });
715
515
 
716
- for(var i=0; i<nbColumns; i++){
717
- node = dojo.doc.createElement("td");
718
- dojo.addClass(node,"gridContainerZone");
719
- //to fix IE Bug Border with empty cells
720
- node.id = this.id + "_dz" + this.nbZones;
721
- var dz;
722
- //MODIF MYS
723
- if(this.mode == "right"){
516
+ length = grid.length;
517
+
518
+ if(isRightMode){
724
519
  if(this.isRightFixed){
725
- this.grid[this.grid.length-1].node.parentNode.insertBefore(node,this.grid[this.grid.length-1].node);
726
- dz = this._createZone(node);
727
- this.grid.splice(this.grid.length-1,0,dz);
728
- }else{
729
- var zone = this.gridNode.appendChild(node);
730
- dz = this._createZone(node);
731
- this.grid.push(dz);
520
+ index = length - 1;
521
+ grid.splice(index, 0, {
522
+ 'node': grid[index].node.parentNode.insertBefore(node, grid[index].node)
523
+ });
524
+ }
525
+ else{
526
+ index = length;
527
+ grid.push({ 'node': this.gridNode.appendChild(node) });
732
528
  }
733
- }else{
529
+ }
530
+ else{
734
531
  if(this.isLeftFixed){
735
- (this.grid.length == 1) ? this.grid[0].node.parentNode.appendChild(node,this.grid[0].node) : this.grid[1].node.parentNode.insertBefore(node,this.grid[1].node);
736
- dz = this._createZone(node);
737
- this.grid.splice(1,0,dz);
738
- }else{
739
- this.grid[this.grid.length-this.nbZones].node.parentNode.insertBefore(node,this.grid[this.grid.length-this.nbZones].node);
740
- dz = this._createZone(node);
741
- this.grid.splice(this.grid.length-this.nbZones,0,dz);
532
+ index = (length == 1) ? 0 : 1;
533
+ this._grid.splice(1, 0, {
534
+ 'node': this._grid[index].node.parentNode.appendChild(node, this._grid[index].node)
535
+ });
536
+ index = 1;
537
+ }
538
+ else{
539
+ index = length - this.nbZones;
540
+ this._grid.splice(index, 0, {
541
+ 'node': grid[index].node.parentNode.insertBefore(node, grid[index].node)
542
+ });
742
543
  }
743
544
  }
744
545
  if(this.hasResizableColumns){
745
- // add a OnDndStart connect for each added columns
746
- var self = this;
747
- var handle = dojo.connect(dz, "onDndStart", dz, function(source){
748
- if(source == this){
749
- self.handleDndInsertNodes = [];
750
- for(var o = 0; o < self.grid.length; o++){
751
- self.handleDndInsertNodes.push(dojo.connect(self.grid[o], "insertNodes", self, function(){
752
- self._disconnectDnd();
753
- }));
754
- }
755
- self.handleDndInsertNodes.push(dojo.connect(dz, "onDndCancel", self, self._disconnectDnd));
756
- self.onResized();
757
- }
758
- });
759
- if(this.mode == "right"){
760
- if(this.isRightFixed){
761
- this.handleDndStart.splice(this.handleDndStart.length - 1, 0, handle);
762
- }else{
763
- this.handleDndStart.push(handle);
764
- }
765
- }else{
766
- if(this.isLeftFixed){
767
- this.handleDndStart.splice(1, 0, handle);
768
- }else{
769
- this.handleDndStart.splice(this.handleDndStart.length - this.nbZones, 0, handle);
770
- }
771
- }
772
546
  //Add a grip to resize columns
773
- this._createGrip(dz);
547
+ if((!isRightMode && this.nbZones != 1) ||
548
+ (!isRightMode && this.nbZones == 1 && !this.isLeftFixed) ||
549
+ (isRightMode && i < nbColumns-1) ||
550
+ (isRightMode && i == nbColumns-1 && this.isRightFixed)){
551
+ this._createGrip(index);
552
+ }
774
553
  }
554
+ // register tnbZoneshe new area into the areaManager
555
+ m.registerByNode(grid[index].node);
775
556
  this.nbZones++;
776
557
  }
777
- this._updateColumnsWidth();
558
+ this._updateColumnsWidth(m);
778
559
  },
779
560
 
780
561
  _deleteColumn: function(/*Array*/indices){
781
- //summary: Remove some columns with indices passed as an array
782
- var zone, child, nbDelZones;
783
- nbDelZones = 0;
784
- for(var i = 0; i < indices.length; i++){
785
- var idx = indices[i];
786
- if(this.mode == "right"){
787
- zone = this.grid[idx];
788
- }else{
789
- zone = this.grid[idx - nbDelZones];
790
- }
791
- for(var j = 0; j < zone.node.childNodes.length; j++){
792
- if(zone.node.childNodes[j].nodeType != 1){ continue; } //1 = dojo.html.ELEMENT_NODE
793
- child = dijit.byId(zone.node.childNodes[j].id);
794
- for(var x = 0; x < this.getChildren().length; x++){
795
- if(this.getChildren()[x] === child){
796
- this.getChildren().splice(x, 1);
797
- break;
798
- }
799
- }
800
- }
801
- zone.node.parentNode.removeChild(zone.node);
802
- if(this.mode == "right"){
803
- if(this.hasResizableColumns){
804
- dojo.disconnect(this.handleDndStart[idx]);
805
- }
806
- this.grid.splice(idx, 1);
807
- }else{
808
- if(this.hasResizableColumns){
809
- dojo.disconnect(this.handleDndStart[idx - nbDelZones]);
810
- }
811
- this.grid.splice(idx - nbDelZones, 1);
562
+ // summary:
563
+ // Remove some columns with indices passed as an array.
564
+ // indices:
565
+ // Column index array
566
+ // tags:
567
+ // private
568
+
569
+ //console.log("dojox.layout.GridContainer ::: _deleteColumn");
570
+ var child, grid, index,
571
+ nbDelZones = 0,
572
+ length = indices.length,
573
+ m = this._dragManager;
574
+ for(var i = 0; i < length; i++){
575
+ index = (this.mode == "right") ? indices[i] : indices[i] - nbDelZones;
576
+ grid = this._grid[index];
577
+
578
+ if(this.hasResizableColumns && grid.grip){
579
+ dojo.forEach(grid.gripHandler, function(handler){
580
+ dojo.disconnect(handler);
581
+ });
582
+ dojo.destroy(this.domNode.removeChild(grid.grip));
583
+ grid.grip = null;
812
584
  }
585
+
586
+ m.unregister(grid.node);
587
+ dojo.destroy(this.gridNode.removeChild(grid.node));
588
+ this._grid.splice(index, 1);
813
589
  this.nbZones--;
814
590
  nbDelZones++;
815
- if(zone.grip){
816
- this.domNode.removeChild(zone.grip);
817
- }
818
591
  }
819
- this._updateColumnsWidth();
820
- },
821
592
 
822
- _getColWidth: function(idx){
823
- if(idx < this.colWidths.length){
824
- return this.colWidths[idx];
593
+ // last grip
594
+ var lastGrid = this._grid[this.nbZones-1];
595
+ if(lastGrid.grip){
596
+ dojo.forEach(lastGrid.gripHandler, dojo.disconnect);
597
+ dojo.destroy(this.domNode.removeChild(lastGrid.grip));
598
+ lastGrid.grip = null;
825
599
  }
826
- var totalWidth = 100;
827
- dojo.forEach(this.colWidths, function(width){
828
- totalWidth -= width;
829
- });
830
- return totalWidth / (this.nbZones - this.colWidths.length);
831
- },
832
600
 
833
- _updateColumnsWidth: function(){
834
- //summary:
835
- // Update the columns width.
836
-
837
- var zone;
838
- for(var z = 0; z < this.grid.length; z++){
839
- this.grid[z].node.style.width = this._getColWidth(z) + "%";
840
- }
601
+ this._updateColumnsWidth(m);
841
602
  },
842
603
 
843
- _selectFocus: function(/*Event*/event){
844
- //summary:
845
- // Enable a11y into the GridContainer :
846
- // - Possibility to move focus into the GridContainer (TAB, LEFT ARROW, RIGHT ARROW, UP ARROW, DOWN ARROW).
847
- // - Possibility to move GridContainer's children (Drag and Drop) with keyboard. (SHIFT + ARROW).
848
- // If the type of widget is not draggable, a popup is displayed.
849
- var e = event.keyCode;
850
- var zone = null;
851
- var focus = dijit.getFocus();
852
- var focusNode = focus.node;
853
- var k = dojo.keys;
854
- var i, found, accept, r, z, _dndType;
855
- var child = (e == k.UP_ARROW || e == k.LEFT_ARROW) ? "lastChild" : "firstChild";
856
- var pos = (e == k.UP_ARROW || e == k.LEFT_ARROW) ? "previousSibling" : "nextSibling";
857
- if(focusNode == this.containerNode){
858
- switch(e){
859
- case k.DOWN_ARROW:
860
- case k.RIGHT_ARROW:
861
- for(i = 0; i < this.gridNode.childNodes.length; i++){
862
- zone = this.gridNode.childNodes[i].firstChild;
863
- found = false;
864
- while(!found){
865
- if(zone != null){
866
- if(zone.style.display !== "none"){
867
- dijit.focus(zone);
868
- dojo.stopEvent(event);
869
- found = true;
870
- }else{
871
- zone = zone[pos];
872
- }
873
- }else{ break; }
874
- }
875
- if(found){ break; }
876
- }
877
- break;
878
- case k.UP_ARROW:
879
- case k.LEFT_ARROW:
880
- for(i = this.gridNode.childNodes.length - 1; i >= 0; i--){
881
- zone = this.gridNode.childNodes[i].lastChild;
882
- found = false;
883
- while(!found){
884
- if(zone != null){
885
- if(zone.style.display !== "none"){
886
- dijit.focus(zone);
887
- dojo.stopEvent(event);
888
- found = true;
889
- }else{
890
- zone = zone[pos];
891
- }
892
- }else{ break; }
893
- }
894
- if(found){ break; }
895
- }
896
- break;
897
- }
898
- }else{
899
- if(focusNode.parentNode.parentNode == this.gridNode){
900
- switch(e){
901
- case k.UP_ARROW:
902
- case k.DOWN_ARROW:
903
- dojo.stopEvent(event);
904
- var nbDisplayChild = 0;
905
- dojo.forEach(focusNode.parentNode.childNodes, function(child){
906
- if(child.style.display !== "none")
907
- nbDisplayChild++;
908
- });
909
- if(nbDisplayChild == 1) return;
910
- found = false;
911
- zone = focusNode[pos];
912
- while(!found){
913
- if(zone == null){
914
- zone = focusNode.parentNode[child];
915
- if(zone.style.display !== "none")
916
- found = true;
917
- else
918
- zone = zone[pos];
919
- }else{
920
- if(zone.style.display !== "none"){
921
- found = true;
922
- }else{
923
- zone = zone[pos];
924
- }
925
- }
926
- }
927
- if(event.shiftKey){
928
- if(dijit.byNode(focusNode).dragRestriction)
929
- return;
930
- _dndType = focusNode.getAttribute("dndtype");
931
- accept = false;
932
- for(i = 0; i < this.acceptTypes.length; i++){
933
- if(_dndType == this.acceptTypes[i]){
934
- accept = true;
935
- break;
936
- }
937
- }
938
- if(accept){
939
- var parent = focusNode.parentNode;
940
- var firstChild = parent.firstChild;
941
- var lastChild = parent.lastChild;
942
- while(firstChild.style.display == "none" || lastChild.style.display == "none"){
943
- if(firstChild.style.display == "none"){
944
- firstChild = firstChild.nextSibling;
945
- }
946
- if(lastChild.style.display == "none"){
947
- lastChild = lastChild.previousSibling;
948
- }
949
- }
950
- if(e == k.UP_ARROW){
951
- r = parent.removeChild(focusNode);
952
- if(r == firstChild){
953
- parent.appendChild(r);
954
- }else{
955
- parent.insertBefore(r, zone);
956
- }
957
- r.setAttribute("tabIndex", "0");
958
- dijit.focus(r);
959
- }else{
960
- if(focusNode == lastChild){
961
- r = parent.removeChild(focusNode);
962
- parent.insertBefore(r, zone);
963
- r.setAttribute("tabIndex", "0");
964
- dijit.focus(r);
965
- }else{
966
- r = parent.removeChild(zone);
967
- parent.insertBefore(r, focusNode);
968
- focusNode.setAttribute("tabIndex", "0");
969
- dijit.focus(focusNode);
970
- }
971
- }
972
- }else{
973
- this._displayPopup();
974
- }
975
- }else{
976
- dijit.focus(zone);
977
- }
978
- break;
979
- case k.RIGHT_ARROW:
980
- case k.LEFT_ARROW:
981
- dojo.stopEvent(event);
982
- if(event.shiftKey){
983
- if(dijit.byNode(focusNode).dragRestriction){ return; }
984
- z = 0;
985
- if(focusNode.parentNode[pos] == null){
986
- if(e == k.LEFT_ARROW){ z = this.gridNode.childNodes.length - 1; }
987
- }else if(focusNode.parentNode[pos].nodeType == 3){
988
- z = this.gridNode.childNodes.length - 2;
989
- }else{
990
- for(i = 0; i < this.gridNode.childNodes.length; i++){
991
- if(focusNode.parentNode[pos] == this.gridNode.childNodes[i]){ break; }
992
- z++;
993
- }
994
- }
995
- _dndType = focusNode.getAttribute("dndtype");
996
- accept = false;
997
- for(i = 0; i < this.acceptTypes.length; i++){
998
- if(_dndType == this.acceptTypes[i]){
999
- accept = true;
1000
- break;
1001
- }
1002
- }
1003
- if(accept){
1004
- var parentSource = focusNode.parentNode;
1005
- var widget = dijit.byNode(focusNode);
1006
- r = parentSource.removeChild(focusNode);
1007
- var place = (e == k.RIGHT_ARROW ? 0 : this.gridNode.childNodes[z].length);
1008
- this.addService(widget, z, place);
1009
- r.setAttribute("tabIndex", "0");
1010
- dijit.focus(r);
1011
- this._placeGrips();
1012
- }else{
1013
- this._displayPopup();
1014
- }
1015
-
1016
- }else{
1017
- var node = focusNode.parentNode;
1018
-
1019
- while(zone === null){
1020
- if(node[pos] !== null && node[pos].nodeType !== 3){
1021
- node = node[pos];
1022
- }else{
1023
- if(pos === "previousSibling"){
1024
- node = node.parentNode.childNodes[node.parentNode.childNodes.length - 1];
1025
- }else{
1026
- node = node.parentNode.childNodes[0];
1027
- }
1028
- }
1029
- found = false;
1030
- var tempZone = node[child];
1031
- while(!found){
1032
- if(tempZone != null){
1033
- if(tempZone.style.display !== "none"){
1034
- zone = tempZone;
1035
- found = true;
1036
- }else{
1037
- tempZone = tempZone[pos];
1038
- }
1039
- }else{ break; }
1040
- }
1041
- }
1042
- dijit.focus(zone);
1043
- }
1044
- break;
1045
- }
1046
- }else{
1047
- // focus on a grip !
1048
- if(dojo.hasClass(focusNode,"gridContainerGrip") || dojo.hasClass(focusNode,"gridContainerGripShow")){
1049
- this._activeGrip = event.target;
1050
- this._a11yOn = true;
1051
- this.resizeColumnOn(event);
1052
- }
1053
- }
1054
- }
604
+ _updateColumnsWidth: function(/*Object*/ manager){
605
+ // summary:
606
+ // Update the columns width.
607
+ // manager:
608
+ // dojox.mdnd.AreaManager singleton
609
+ // tags:
610
+ // private
611
+
612
+ //console.log("dojox.layout.GridContainer ::: _updateColumnsWidth");
613
+ this.inherited(arguments);
614
+ manager._dropMode.updateAreas(manager._areaList);
1055
615
  },
1056
616
 
1057
- _displayPopup: function(){
1058
- //summary: display a popup when a widget type can not move
1059
- if(this._canDisplayPopup){
1060
- var popup = dojo.doc.createElement("div");
1061
- dojo.addClass(popup, "gridContainerPopup");
1062
- popup.innerHTML = "this widget type is not accepted to be moved!"; //TODO: i18n with improved wording, or preferably find an alternate UI
1063
- var attachPopup = this.containerNode.appendChild(popup);
1064
- this._canDisplayPopup = false;
1065
- setTimeout(dojo.hitch(this, function(){
1066
- this.containerNode.removeChild(attachPopup);
1067
- dojo.destroy(attachPopup);
1068
- this._canDisplayPopup = true;
1069
- }), this.timeDisplayPopup);
1070
- }
617
+ destroy: function(){
618
+ dojo.unsubscribe(this._dropHandler);
619
+ this.inherited(arguments);
1071
620
  }
1072
-
1073
- });
1074
-
1075
- dojo.extend(dijit._Widget, {
1076
- // dragRestriction: Boolean
1077
- // To remove the drag capability.
1078
- dragRestriction : false,
1079
-
1080
- // column: String
1081
- // Column of the grid to place the widget.
1082
- column : "1",
1083
-
1084
- // group: String
1085
- // Defines a group belonging.
1086
- group : ""
1087
-
1088
621
  });