dojo_rails 0.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (2236) hide show
  1. data/.gitignore +17 -0
  2. data/Gemfile +4 -0
  3. data/LICENSE.txt +22 -0
  4. data/README.md +88 -0
  5. data/Rakefile +1 -0
  6. data/dojo_rails.gemspec +23 -0
  7. data/lib/dojo_rails/version.rb +3 -0
  8. data/lib/dojo_rails.rb +6 -0
  9. data/vendor/assets/images/a11y/colors3x4.png +0 -0
  10. data/vendor/assets/images/a11y/colors7x10.png +0 -0
  11. data/vendor/assets/images/a11y/indeterminate_progress.gif +0 -0
  12. data/vendor/assets/images/claro/form/images/buttonArrows.png +0 -0
  13. data/vendor/assets/images/claro/form/images/buttonDisabled.png +0 -0
  14. data/vendor/assets/images/claro/form/images/buttonDisabled.svg +23 -0
  15. data/vendor/assets/images/claro/form/images/buttonEnabled.png +0 -0
  16. data/vendor/assets/images/claro/form/images/buttonEnabled.svg +24 -0
  17. data/vendor/assets/images/claro/form/images/checkboxAndRadioButtons_IE6.png +0 -0
  18. data/vendor/assets/images/claro/form/images/checkboxRadioButtonStates.png +0 -0
  19. data/vendor/assets/images/claro/form/images/commonFormArrows.png +0 -0
  20. data/vendor/assets/images/claro/form/images/error.png +0 -0
  21. data/vendor/assets/images/claro/form/images/sliderThumbs.png +0 -0
  22. data/vendor/assets/images/claro/images/activeGradient.png +0 -0
  23. data/vendor/assets/images/claro/images/activeGradient.svg +19 -0
  24. data/vendor/assets/images/claro/images/calendar.png +0 -0
  25. data/vendor/assets/images/claro/images/calendarArrows.png +0 -0
  26. data/vendor/assets/images/claro/images/calendarArrows8bit.png +0 -0
  27. data/vendor/assets/images/claro/images/checkmarkNoBorder.gif +0 -0
  28. data/vendor/assets/images/claro/images/checkmarkNoBorder.png +0 -0
  29. data/vendor/assets/images/claro/images/dialogCloseIcon.png +0 -0
  30. data/vendor/assets/images/claro/images/dialogCloseIcon8bit.png +0 -0
  31. data/vendor/assets/images/claro/images/dnd.png +0 -0
  32. data/vendor/assets/images/claro/images/loadingAnimation.gif +0 -0
  33. data/vendor/assets/images/claro/images/progressBarAnim.gif +0 -0
  34. data/vendor/assets/images/claro/images/progressBarFull.png +0 -0
  35. data/vendor/assets/images/claro/images/spriteArrows.png +0 -0
  36. data/vendor/assets/images/claro/images/standardGradient.png +0 -0
  37. data/vendor/assets/images/claro/images/standardGradient.svg +18 -0
  38. data/vendor/assets/images/claro/images/tooltip.png +0 -0
  39. data/vendor/assets/images/claro/images/tooltip8bit.png +0 -0
  40. data/vendor/assets/images/claro/images/treeExpandImages.png +0 -0
  41. data/vendor/assets/images/claro/images/treeExpandImages8bit.png +0 -0
  42. data/vendor/assets/images/nihilo/accordionItemActive.png +0 -0
  43. data/vendor/assets/images/nihilo/buttonActive.png +0 -0
  44. data/vendor/assets/images/nihilo/buttonDisabled.png +0 -0
  45. data/vendor/assets/images/nihilo/buttonEnabled.png +0 -0
  46. data/vendor/assets/images/nihilo/buttonHover.png +0 -0
  47. data/vendor/assets/images/nihilo/dndCopy.png +0 -0
  48. data/vendor/assets/images/nihilo/dndMove.png +0 -0
  49. data/vendor/assets/images/nihilo/dndNoCopy.png +0 -0
  50. data/vendor/assets/images/nihilo/dndNoMove.png +0 -0
  51. data/vendor/assets/images/nihilo/no.gif +0 -0
  52. data/vendor/assets/images/nihilo/preciseSliderThumb.gif +0 -0
  53. data/vendor/assets/images/nihilo/preciseSliderThumb.png +0 -0
  54. data/vendor/assets/images/nihilo/preciseSliderThumbFocus.gif +0 -0
  55. data/vendor/assets/images/nihilo/preciseSliderThumbFocus.png +0 -0
  56. data/vendor/assets/images/nihilo/progressBarAnim.gif +0 -0
  57. data/vendor/assets/images/nihilo/progressBarEmpty.png +0 -0
  58. data/vendor/assets/images/nihilo/progressBarFull.png +0 -0
  59. data/vendor/assets/images/nihilo/sliderEmpty.png +0 -0
  60. data/vendor/assets/images/nihilo/sliderEmptyVertical.png +0 -0
  61. data/vendor/assets/images/nihilo/sliderFull.png +0 -0
  62. data/vendor/assets/images/nihilo/sliderFullFocus.png +0 -0
  63. data/vendor/assets/images/nihilo/sliderFullVertical.png +0 -0
  64. data/vendor/assets/images/nihilo/sliderFullVerticalFocus.png +0 -0
  65. data/vendor/assets/images/nihilo/sliderThumb.gif +0 -0
  66. data/vendor/assets/images/nihilo/sliderThumb.png +0 -0
  67. data/vendor/assets/images/nihilo/sliderThumbFocus.gif +0 -0
  68. data/vendor/assets/images/nihilo/sliderThumbFocus.png +0 -0
  69. data/vendor/assets/images/nihilo/splitContainerSizerH-thumb.png +0 -0
  70. data/vendor/assets/images/nihilo/splitContainerSizerH.png +0 -0
  71. data/vendor/assets/images/nihilo/splitContainerSizerV-thumb.png +0 -0
  72. data/vendor/assets/images/nihilo/splitContainerSizerV.png +0 -0
  73. data/vendor/assets/images/nihilo/spriteArrows.gif +0 -0
  74. data/vendor/assets/images/nihilo/spriteArrows.png +0 -0
  75. data/vendor/assets/images/nihilo/spriteCheckbox.gif +0 -0
  76. data/vendor/assets/images/nihilo/spriteCheckbox.png +0 -0
  77. data/vendor/assets/images/nihilo/spriteDivIcons.gif +0 -0
  78. data/vendor/assets/images/nihilo/spriteDivIcons.png +0 -0
  79. data/vendor/assets/images/nihilo/spriteRadio.gif +0 -0
  80. data/vendor/assets/images/nihilo/spriteRadio.png +0 -0
  81. data/vendor/assets/images/nihilo/spriteRoundedIconsSmall.gif +0 -0
  82. data/vendor/assets/images/nihilo/spriteRoundedIconsSmall.png +0 -0
  83. data/vendor/assets/images/nihilo/spriteTree.gif +0 -0
  84. data/vendor/assets/images/nihilo/spriteTree.png +0 -0
  85. data/vendor/assets/images/nihilo/spriteTree_rtl.gif +0 -0
  86. data/vendor/assets/images/nihilo/spriteTree_rtl.png +0 -0
  87. data/vendor/assets/images/nihilo/tabBottomActiveC.gif +0 -0
  88. data/vendor/assets/images/nihilo/tabBottomEnabledC.gif +0 -0
  89. data/vendor/assets/images/nihilo/tabBottomHoverC.gif +0 -0
  90. data/vendor/assets/images/nihilo/tabContainerSprite.gif +0 -0
  91. data/vendor/assets/images/nihilo/titleBar.png +0 -0
  92. data/vendor/assets/images/nihilo/titleBarActive.png +0 -0
  93. data/vendor/assets/images/nihilo/tooltipConnectorDown.gif +0 -0
  94. data/vendor/assets/images/nihilo/tooltipConnectorDown.png +0 -0
  95. data/vendor/assets/images/nihilo/tooltipConnectorLeft.gif +0 -0
  96. data/vendor/assets/images/nihilo/tooltipConnectorLeft.png +0 -0
  97. data/vendor/assets/images/nihilo/tooltipConnectorRight.gif +0 -0
  98. data/vendor/assets/images/nihilo/tooltipConnectorRight.png +0 -0
  99. data/vendor/assets/images/nihilo/tooltipConnectorUp.gif +0 -0
  100. data/vendor/assets/images/nihilo/tooltipConnectorUp.png +0 -0
  101. data/vendor/assets/images/nihilo/treeExpand_loading.gif +0 -0
  102. data/vendor/assets/images/nihilo/treeHover.png +0 -0
  103. data/vendor/assets/images/nihilo/treeI.gif +0 -0
  104. data/vendor/assets/images/nihilo/treeI_half.gif +0 -0
  105. data/vendor/assets/images/nihilo/treeI_half_rtl.gif +0 -0
  106. data/vendor/assets/images/nihilo/treeI_rtl.gif +0 -0
  107. data/vendor/assets/images/nihilo/validationInputBg.gif +0 -0
  108. data/vendor/assets/images/nihilo/validationInputBg.png +0 -0
  109. data/vendor/assets/images/nihilo/warning.png +0 -0
  110. data/vendor/assets/images/soria/accordionItemActive.gif +0 -0
  111. data/vendor/assets/images/soria/accordionItemActive.png +0 -0
  112. data/vendor/assets/images/soria/buttonActive.png +0 -0
  113. data/vendor/assets/images/soria/buttonDisabled.png +0 -0
  114. data/vendor/assets/images/soria/buttonEnabled.png +0 -0
  115. data/vendor/assets/images/soria/buttonHover.png +0 -0
  116. data/vendor/assets/images/soria/dndCopy.png +0 -0
  117. data/vendor/assets/images/soria/dndMove.png +0 -0
  118. data/vendor/assets/images/soria/dndNoCopy.png +0 -0
  119. data/vendor/assets/images/soria/dndNoMove.png +0 -0
  120. data/vendor/assets/images/soria/preciseSliderThumb.gif +0 -0
  121. data/vendor/assets/images/soria/preciseSliderThumb.png +0 -0
  122. data/vendor/assets/images/soria/preciseSliderThumbFocus.gif +0 -0
  123. data/vendor/assets/images/soria/preciseSliderThumbFocus.png +0 -0
  124. data/vendor/assets/images/soria/progressBarAnim.gif +0 -0
  125. data/vendor/assets/images/soria/progressBarEmpty.png +0 -0
  126. data/vendor/assets/images/soria/progressBarFull.png +0 -0
  127. data/vendor/assets/images/soria/sliderEmpty.png +0 -0
  128. data/vendor/assets/images/soria/sliderEmptyVertical.png +0 -0
  129. data/vendor/assets/images/soria/sliderFull.png +0 -0
  130. data/vendor/assets/images/soria/sliderFullFocus.png +0 -0
  131. data/vendor/assets/images/soria/sliderFullVertical.png +0 -0
  132. data/vendor/assets/images/soria/sliderFullVerticalFocus.png +0 -0
  133. data/vendor/assets/images/soria/sliderThumb.gif +0 -0
  134. data/vendor/assets/images/soria/sliderThumb.png +0 -0
  135. data/vendor/assets/images/soria/sliderThumbFocus.gif +0 -0
  136. data/vendor/assets/images/soria/sliderThumbFocus.png +0 -0
  137. data/vendor/assets/images/soria/splitContainerSizerH-thumb.png +0 -0
  138. data/vendor/assets/images/soria/splitContainerSizerH.png +0 -0
  139. data/vendor/assets/images/soria/splitContainerSizerV-thumb.png +0 -0
  140. data/vendor/assets/images/soria/splitContainerSizerV.png +0 -0
  141. data/vendor/assets/images/soria/spriteArrows.gif +0 -0
  142. data/vendor/assets/images/soria/spriteArrows.png +0 -0
  143. data/vendor/assets/images/soria/spriteCheckbox.gif +0 -0
  144. data/vendor/assets/images/soria/spriteCheckbox.png +0 -0
  145. data/vendor/assets/images/soria/spriteDivIcons.gif +0 -0
  146. data/vendor/assets/images/soria/spriteDivIcons.png +0 -0
  147. data/vendor/assets/images/soria/spriteRadio.gif +0 -0
  148. data/vendor/assets/images/soria/spriteRadio.png +0 -0
  149. data/vendor/assets/images/soria/spriteRoundedIconsSmall.gif +0 -0
  150. data/vendor/assets/images/soria/spriteRoundedIconsSmall.png +0 -0
  151. data/vendor/assets/images/soria/spriteRoundedIconsSmallBl.gif +0 -0
  152. data/vendor/assets/images/soria/spriteRoundedIconsSmallBl.png +0 -0
  153. data/vendor/assets/images/soria/spriteTree.gif +0 -0
  154. data/vendor/assets/images/soria/spriteTree.png +0 -0
  155. data/vendor/assets/images/soria/spriteTree_rtl.gif +0 -0
  156. data/vendor/assets/images/soria/spriteTree_rtl.png +0 -0
  157. data/vendor/assets/images/soria/tabBottomActiveC.gif +0 -0
  158. data/vendor/assets/images/soria/tabBottomEnabledC.gif +0 -0
  159. data/vendor/assets/images/soria/tabBottomEnabledSpriteLR.gif +0 -0
  160. data/vendor/assets/images/soria/tabBottomHoverC.gif +0 -0
  161. data/vendor/assets/images/soria/tabContainerSprite.gif +0 -0
  162. data/vendor/assets/images/soria/tabLeftChecked.gif +0 -0
  163. data/vendor/assets/images/soria/tabRightChecked.gif +0 -0
  164. data/vendor/assets/images/soria/titleBar.png +0 -0
  165. data/vendor/assets/images/soria/titleBarActive.png +0 -0
  166. data/vendor/assets/images/soria/tooltipConnectorDown.gif +0 -0
  167. data/vendor/assets/images/soria/tooltipConnectorDown.png +0 -0
  168. data/vendor/assets/images/soria/tooltipConnectorLeft.gif +0 -0
  169. data/vendor/assets/images/soria/tooltipConnectorLeft.png +0 -0
  170. data/vendor/assets/images/soria/tooltipConnectorRight.gif +0 -0
  171. data/vendor/assets/images/soria/tooltipConnectorRight.png +0 -0
  172. data/vendor/assets/images/soria/tooltipConnectorUp.gif +0 -0
  173. data/vendor/assets/images/soria/tooltipConnectorUp.png +0 -0
  174. data/vendor/assets/images/soria/treeExpand_loading.gif +0 -0
  175. data/vendor/assets/images/soria/treeHover.png +0 -0
  176. data/vendor/assets/images/soria/treeI.gif +0 -0
  177. data/vendor/assets/images/soria/treeI_half.gif +0 -0
  178. data/vendor/assets/images/soria/treeI_half_rtl.gif +0 -0
  179. data/vendor/assets/images/soria/treeI_rtl.gif +0 -0
  180. data/vendor/assets/images/soria/validationInputBg.gif +0 -0
  181. data/vendor/assets/images/soria/validationInputBg.png +0 -0
  182. data/vendor/assets/images/soria/warning.png +0 -0
  183. data/vendor/assets/images/tundra/accordionItemActive.gif +0 -0
  184. data/vendor/assets/images/tundra/accordionItemHover.gif +0 -0
  185. data/vendor/assets/images/tundra/buttonActive.png +0 -0
  186. data/vendor/assets/images/tundra/buttonDisabled.png +0 -0
  187. data/vendor/assets/images/tundra/buttonEnabled.png +0 -0
  188. data/vendor/assets/images/tundra/buttonHover.png +0 -0
  189. data/vendor/assets/images/tundra/calendarDayLabel.png +0 -0
  190. data/vendor/assets/images/tundra/calendarMonthLabel.png +0 -0
  191. data/vendor/assets/images/tundra/calendarYearLabel.png +0 -0
  192. data/vendor/assets/images/tundra/checkmark.gif +0 -0
  193. data/vendor/assets/images/tundra/checkmark.png +0 -0
  194. data/vendor/assets/images/tundra/checkmarkNoBorder.gif +0 -0
  195. data/vendor/assets/images/tundra/checkmarkNoBorder.png +0 -0
  196. data/vendor/assets/images/tundra/circleIcon.gif +0 -0
  197. data/vendor/assets/images/tundra/circleIcon.png +0 -0
  198. data/vendor/assets/images/tundra/comboArrowDown.gif +0 -0
  199. data/vendor/assets/images/tundra/dijitProgressBarAnim.gif +0 -0
  200. data/vendor/assets/images/tundra/dijitProgressBarAnim.psd +0 -0
  201. data/vendor/assets/images/tundra/dndCopy.png +0 -0
  202. data/vendor/assets/images/tundra/dndMove.png +0 -0
  203. data/vendor/assets/images/tundra/dndNoCopy.png +0 -0
  204. data/vendor/assets/images/tundra/dndNoMove.png +0 -0
  205. data/vendor/assets/images/tundra/dojoTundraGradientBg.gif +0 -0
  206. data/vendor/assets/images/tundra/dojoTundraGradientBg.png +0 -0
  207. data/vendor/assets/images/tundra/doubleArrowDown.png +0 -0
  208. data/vendor/assets/images/tundra/doubleArrowUp.png +0 -0
  209. data/vendor/assets/images/tundra/folderClosed.gif +0 -0
  210. data/vendor/assets/images/tundra/folderOpened.gif +0 -0
  211. data/vendor/assets/images/tundra/i.gif +0 -0
  212. data/vendor/assets/images/tundra/i_half.gif +0 -0
  213. data/vendor/assets/images/tundra/i_half_rtl.gif +0 -0
  214. data/vendor/assets/images/tundra/i_rtl.gif +0 -0
  215. data/vendor/assets/images/tundra/leaf.gif +0 -0
  216. data/vendor/assets/images/tundra/loading.gif +0 -0
  217. data/vendor/assets/images/tundra/menu.png +0 -0
  218. data/vendor/assets/images/tundra/minusButton.gif +0 -0
  219. data/vendor/assets/images/tundra/no.gif +0 -0
  220. data/vendor/assets/images/tundra/noX.gif +0 -0
  221. data/vendor/assets/images/tundra/plusButton.gif +0 -0
  222. data/vendor/assets/images/tundra/popupMenuBg.gif +0 -0
  223. data/vendor/assets/images/tundra/preciseSliderThumb.gif +0 -0
  224. data/vendor/assets/images/tundra/preciseSliderThumb.png +0 -0
  225. data/vendor/assets/images/tundra/preciseSliderThumbFocus.gif +0 -0
  226. data/vendor/assets/images/tundra/preciseSliderThumbFocus.png +0 -0
  227. data/vendor/assets/images/tundra/progressBarAnim-1.png +0 -0
  228. data/vendor/assets/images/tundra/progressBarAnim-2.png +0 -0
  229. data/vendor/assets/images/tundra/progressBarAnim-3.png +0 -0
  230. data/vendor/assets/images/tundra/progressBarAnim-4.png +0 -0
  231. data/vendor/assets/images/tundra/progressBarAnim-5.png +0 -0
  232. data/vendor/assets/images/tundra/progressBarAnim-6.png +0 -0
  233. data/vendor/assets/images/tundra/progressBarAnim-7.png +0 -0
  234. data/vendor/assets/images/tundra/progressBarAnim-8.png +0 -0
  235. data/vendor/assets/images/tundra/progressBarAnim-9.png +0 -0
  236. data/vendor/assets/images/tundra/progressBarAnim.gif +0 -0
  237. data/vendor/assets/images/tundra/progressBarAnim.psd +0 -0
  238. data/vendor/assets/images/tundra/progressBarEmpty.png +0 -0
  239. data/vendor/assets/images/tundra/progressBarFull.png +0 -0
  240. data/vendor/assets/images/tundra/radioButtonActive.png +0 -0
  241. data/vendor/assets/images/tundra/radioButtonActiveDisabled.png +0 -0
  242. data/vendor/assets/images/tundra/radioButtonActiveHover.png +0 -0
  243. data/vendor/assets/images/tundra/radioButtonDisabled.png +0 -0
  244. data/vendor/assets/images/tundra/radioButtonEnabled.png +0 -0
  245. data/vendor/assets/images/tundra/radioButtonHover.png +0 -0
  246. data/vendor/assets/images/tundra/sliderEmpty.png +0 -0
  247. data/vendor/assets/images/tundra/sliderEmptyVertical.png +0 -0
  248. data/vendor/assets/images/tundra/sliderFull.png +0 -0
  249. data/vendor/assets/images/tundra/sliderFullFocus.png +0 -0
  250. data/vendor/assets/images/tundra/sliderFullVertical.png +0 -0
  251. data/vendor/assets/images/tundra/sliderFullVerticalFocus.png +0 -0
  252. data/vendor/assets/images/tundra/sliderThumb.png +0 -0
  253. data/vendor/assets/images/tundra/sliderThumbFocus.gif +0 -0
  254. data/vendor/assets/images/tundra/sliderThumbFocus.png +0 -0
  255. data/vendor/assets/images/tundra/smallArrowDown.png +0 -0
  256. data/vendor/assets/images/tundra/smallArrowUp.png +0 -0
  257. data/vendor/assets/images/tundra/splitContainerSizerH-thumb.png +0 -0
  258. data/vendor/assets/images/tundra/splitContainerSizerH.png +0 -0
  259. data/vendor/assets/images/tundra/splitContainerSizerV-thumb.png +0 -0
  260. data/vendor/assets/images/tundra/splitContainerSizerV.png +0 -0
  261. data/vendor/assets/images/tundra/spriteArrows.gif +0 -0
  262. data/vendor/assets/images/tundra/spriteArrows.png +0 -0
  263. data/vendor/assets/images/tundra/spriteRoundedIconsSmall.gif +0 -0
  264. data/vendor/assets/images/tundra/spriteRoundedIconsSmall.png +0 -0
  265. data/vendor/assets/images/tundra/tabActive.png +0 -0
  266. data/vendor/assets/images/tundra/tabClose.gif +0 -0
  267. data/vendor/assets/images/tundra/tabClose.png +0 -0
  268. data/vendor/assets/images/tundra/tabCloseHover.gif +0 -0
  269. data/vendor/assets/images/tundra/tabCloseHover.png +0 -0
  270. data/vendor/assets/images/tundra/tabDisabled.png +0 -0
  271. data/vendor/assets/images/tundra/tabEnabled.png +0 -0
  272. data/vendor/assets/images/tundra/tabHover.gif +0 -0
  273. data/vendor/assets/images/tundra/tabHover.png +0 -0
  274. data/vendor/assets/images/tundra/titleBar.png +0 -0
  275. data/vendor/assets/images/tundra/titleBarBg.gif +0 -0
  276. data/vendor/assets/images/tundra/tooltipConnectorDown.gif +0 -0
  277. data/vendor/assets/images/tundra/tooltipConnectorDown.png +0 -0
  278. data/vendor/assets/images/tundra/tooltipConnectorLeft.gif +0 -0
  279. data/vendor/assets/images/tundra/tooltipConnectorLeft.png +0 -0
  280. data/vendor/assets/images/tundra/tooltipConnectorRight.gif +0 -0
  281. data/vendor/assets/images/tundra/tooltipConnectorRight.png +0 -0
  282. data/vendor/assets/images/tundra/tooltipConnectorUp.gif +0 -0
  283. data/vendor/assets/images/tundra/tooltipConnectorUp.png +0 -0
  284. data/vendor/assets/images/tundra/treeExpand_leaf.gif +0 -0
  285. data/vendor/assets/images/tundra/treeExpand_leaf_rtl.gif +0 -0
  286. data/vendor/assets/images/tundra/treeExpand_loading.gif +0 -0
  287. data/vendor/assets/images/tundra/treeExpand_minus.gif +0 -0
  288. data/vendor/assets/images/tundra/treeExpand_minus_rtl.gif +0 -0
  289. data/vendor/assets/images/tundra/treeExpand_mius.gif +0 -0
  290. data/vendor/assets/images/tundra/treeExpand_plus.gif +0 -0
  291. data/vendor/assets/images/tundra/treeExpand_plus_rtl.gif +0 -0
  292. data/vendor/assets/images/tundra/treeHover.png +0 -0
  293. data/vendor/assets/images/tundra/validationInputBg.gif +0 -0
  294. data/vendor/assets/images/tundra/validationInputBg.png +0 -0
  295. data/vendor/assets/images/tundra/warning.png +0 -0
  296. data/vendor/assets/javascripts/dijit/BackgroundIframe.js +63 -0
  297. data/vendor/assets/javascripts/dijit/BackgroundIframe.js.uncompressed.js +110 -0
  298. data/vendor/assets/javascripts/dijit/Calendar.js +122 -0
  299. data/vendor/assets/javascripts/dijit/Calendar.js.uncompressed.js +312 -0
  300. data/vendor/assets/javascripts/dijit/CalendarLite.js +193 -0
  301. data/vendor/assets/javascripts/dijit/CalendarLite.js.uncompressed.js +500 -0
  302. data/vendor/assets/javascripts/dijit/CheckedMenuItem.js +16 -0
  303. data/vendor/assets/javascripts/dijit/CheckedMenuItem.js.uncompressed.js +53 -0
  304. data/vendor/assets/javascripts/dijit/ColorPalette.js +23 -0
  305. data/vendor/assets/javascripts/dijit/ColorPalette.js.uncompressed.js +161 -0
  306. data/vendor/assets/javascripts/dijit/Declaration.js +29 -0
  307. data/vendor/assets/javascripts/dijit/Declaration.js.uncompressed.js +105 -0
  308. data/vendor/assets/javascripts/dijit/Destroyable.js +18 -0
  309. data/vendor/assets/javascripts/dijit/Destroyable.js.uncompressed.js +59 -0
  310. data/vendor/assets/javascripts/dijit/Dialog.js +274 -0
  311. data/vendor/assets/javascripts/dijit/Dialog.js.uncompressed.js +640 -0
  312. data/vendor/assets/javascripts/dijit/DialogUnderlay.js +29 -0
  313. data/vendor/assets/javascripts/dijit/DialogUnderlay.js.uncompressed.js +102 -0
  314. data/vendor/assets/javascripts/dijit/DropDownMenu.js +32 -0
  315. data/vendor/assets/javascripts/dijit/DropDownMenu.js.uncompressed.js +58 -0
  316. data/vendor/assets/javascripts/dijit/Editor.js +462 -0
  317. data/vendor/assets/javascripts/dijit/Editor.js.uncompressed.js +864 -0
  318. data/vendor/assets/javascripts/dijit/InlineEditBox.js +248 -0
  319. data/vendor/assets/javascripts/dijit/InlineEditBox.js.uncompressed.js +656 -0
  320. data/vendor/assets/javascripts/dijit/LICENSE +195 -0
  321. data/vendor/assets/javascripts/dijit/Menu.js +133 -0
  322. data/vendor/assets/javascripts/dijit/Menu.js.uncompressed.js +348 -0
  323. data/vendor/assets/javascripts/dijit/MenuBar.js +35 -0
  324. data/vendor/assets/javascripts/dijit/MenuBar.js.uncompressed.js +92 -0
  325. data/vendor/assets/javascripts/dijit/MenuBarItem.js +8 -0
  326. data/vendor/assets/javascripts/dijit/MenuBarItem.js.uncompressed.js +28 -0
  327. data/vendor/assets/javascripts/dijit/MenuItem.js +60 -0
  328. data/vendor/assets/javascripts/dijit/MenuItem.js.uncompressed.js +187 -0
  329. data/vendor/assets/javascripts/dijit/MenuSeparator.js +10 -0
  330. data/vendor/assets/javascripts/dijit/MenuSeparator.js.uncompressed.js +35 -0
  331. data/vendor/assets/javascripts/dijit/PopupMenuBarItem.js +5 -0
  332. data/vendor/assets/javascripts/dijit/PopupMenuBarItem.js.uncompressed.js +16 -0
  333. data/vendor/assets/javascripts/dijit/PopupMenuItem.js +34 -0
  334. data/vendor/assets/javascripts/dijit/PopupMenuItem.js.uncompressed.js +73 -0
  335. data/vendor/assets/javascripts/dijit/ProgressBar.js +55 -0
  336. data/vendor/assets/javascripts/dijit/ProgressBar.js.uncompressed.js +171 -0
  337. data/vendor/assets/javascripts/dijit/TitlePane.js +95 -0
  338. data/vendor/assets/javascripts/dijit/TitlePane.js.uncompressed.js +266 -0
  339. data/vendor/assets/javascripts/dijit/Toolbar.js +13 -0
  340. data/vendor/assets/javascripts/dijit/Toolbar.js.uncompressed.js +43 -0
  341. data/vendor/assets/javascripts/dijit/ToolbarSeparator.js +9 -0
  342. data/vendor/assets/javascripts/dijit/ToolbarSeparator.js.uncompressed.js +31 -0
  343. data/vendor/assets/javascripts/dijit/Tooltip.js +208 -0
  344. data/vendor/assets/javascripts/dijit/Tooltip.js.uncompressed.js +542 -0
  345. data/vendor/assets/javascripts/dijit/TooltipDialog.js +60 -0
  346. data/vendor/assets/javascripts/dijit/TooltipDialog.js.uncompressed.js +174 -0
  347. data/vendor/assets/javascripts/dijit/Tree.js +791 -0
  348. data/vendor/assets/javascripts/dijit/Tree.js.uncompressed.js +1909 -0
  349. data/vendor/assets/javascripts/dijit/Viewport.js +25 -0
  350. data/vendor/assets/javascripts/dijit/Viewport.js.uncompressed.js +50 -0
  351. data/vendor/assets/javascripts/dijit/WidgetSet.js +76 -0
  352. data/vendor/assets/javascripts/dijit/WidgetSet.js.uncompressed.js +247 -0
  353. data/vendor/assets/javascripts/dijit/_BidiSupport.js +29 -0
  354. data/vendor/assets/javascripts/dijit/_BidiSupport.js.uncompressed.js +113 -0
  355. data/vendor/assets/javascripts/dijit/_Calendar.js +5 -0
  356. data/vendor/assets/javascripts/dijit/_Calendar.js.uncompressed.js +22 -0
  357. data/vendor/assets/javascripts/dijit/_Contained.js +20 -0
  358. data/vendor/assets/javascripts/dijit/_Contained.js.uncompressed.js +60 -0
  359. data/vendor/assets/javascripts/dijit/_Container.js +39 -0
  360. data/vendor/assets/javascripts/dijit/_Container.js.uncompressed.js +94 -0
  361. data/vendor/assets/javascripts/dijit/_CssStateMixin.js +172 -0
  362. data/vendor/assets/javascripts/dijit/_CssStateMixin.js.uncompressed.js +320 -0
  363. data/vendor/assets/javascripts/dijit/_DialogMixin.js +14 -0
  364. data/vendor/assets/javascripts/dijit/_DialogMixin.js.uncompressed.js +70 -0
  365. data/vendor/assets/javascripts/dijit/_FocusMixin.js +11 -0
  366. data/vendor/assets/javascripts/dijit/_FocusMixin.js.uncompressed.js +66 -0
  367. data/vendor/assets/javascripts/dijit/_HasDropDown.js +222 -0
  368. data/vendor/assets/javascripts/dijit/_HasDropDown.js.uncompressed.js +508 -0
  369. data/vendor/assets/javascripts/dijit/_KeyNavContainer.js +95 -0
  370. data/vendor/assets/javascripts/dijit/_KeyNavContainer.js.uncompressed.js +257 -0
  371. data/vendor/assets/javascripts/dijit/_MenuBase.js +174 -0
  372. data/vendor/assets/javascripts/dijit/_MenuBase.js.uncompressed.js +418 -0
  373. data/vendor/assets/javascripts/dijit/_OnDijitClickMixin.js +8 -0
  374. data/vendor/assets/javascripts/dijit/_OnDijitClickMixin.js.uncompressed.js +50 -0
  375. data/vendor/assets/javascripts/dijit/_PaletteMixin.js +92 -0
  376. data/vendor/assets/javascripts/dijit/_PaletteMixin.js.uncompressed.js +340 -0
  377. data/vendor/assets/javascripts/dijit/_Templated.js +27 -0
  378. data/vendor/assets/javascripts/dijit/_Templated.js.uncompressed.js +64 -0
  379. data/vendor/assets/javascripts/dijit/_TemplatedMixin.js +140 -0
  380. data/vendor/assets/javascripts/dijit/_TemplatedMixin.js.uncompressed.js +308 -0
  381. data/vendor/assets/javascripts/dijit/_TimePicker.js +229 -0
  382. data/vendor/assets/javascripts/dijit/_TimePicker.js.uncompressed.js +519 -0
  383. data/vendor/assets/javascripts/dijit/_Widget.js +73 -0
  384. data/vendor/assets/javascripts/dijit/_Widget.js.uncompressed.js +362 -0
  385. data/vendor/assets/javascripts/dijit/_WidgetBase.js +338 -0
  386. data/vendor/assets/javascripts/dijit/_WidgetBase.js.uncompressed.js +1123 -0
  387. data/vendor/assets/javascripts/dijit/_WidgetsInTemplateMixin.js +22 -0
  388. data/vendor/assets/javascripts/dijit/_WidgetsInTemplateMixin.js.uncompressed.js +65 -0
  389. data/vendor/assets/javascripts/dijit/_base/focus.js +162 -0
  390. data/vendor/assets/javascripts/dijit/_base/focus.js.uncompressed.js +323 -0
  391. data/vendor/assets/javascripts/dijit/_base/manager.js +10 -0
  392. data/vendor/assets/javascripts/dijit/_base/manager.js.uncompressed.js +35 -0
  393. data/vendor/assets/javascripts/dijit/_base/place.js +52 -0
  394. data/vendor/assets/javascripts/dijit/_base/place.js.uncompressed.js +131 -0
  395. data/vendor/assets/javascripts/dijit/_base/popup.js +23 -0
  396. data/vendor/assets/javascripts/dijit/_base/popup.js.uncompressed.js +58 -0
  397. data/vendor/assets/javascripts/dijit/_base/scroll.js +6 -0
  398. data/vendor/assets/javascripts/dijit/_base/scroll.js.uncompressed.js +22 -0
  399. data/vendor/assets/javascripts/dijit/_base/sniff.js +3 -0
  400. data/vendor/assets/javascripts/dijit/_base/sniff.js.uncompressed.js +12 -0
  401. data/vendor/assets/javascripts/dijit/_base/typematic.js +3 -0
  402. data/vendor/assets/javascripts/dijit/_base/typematic.js.uncompressed.js +10 -0
  403. data/vendor/assets/javascripts/dijit/_base/wai.js +32 -0
  404. data/vendor/assets/javascripts/dijit/_base/wai.js.uncompressed.js +109 -0
  405. data/vendor/assets/javascripts/dijit/_base/window.js +6 -0
  406. data/vendor/assets/javascripts/dijit/_base/window.js.uncompressed.js +18 -0
  407. data/vendor/assets/javascripts/dijit/_base.js +4 -0
  408. data/vendor/assets/javascripts/dijit/_base.js.uncompressed.js +27 -0
  409. data/vendor/assets/javascripts/dijit/_editor/RichText.js +1666 -0
  410. data/vendor/assets/javascripts/dijit/_editor/RichText.js.uncompressed.js +2874 -0
  411. data/vendor/assets/javascripts/dijit/_editor/_Plugin.js +104 -0
  412. data/vendor/assets/javascripts/dijit/_editor/_Plugin.js.uncompressed.js +302 -0
  413. data/vendor/assets/javascripts/dijit/_editor/html.js +157 -0
  414. data/vendor/assets/javascripts/dijit/_editor/html.js.uncompressed.js +223 -0
  415. data/vendor/assets/javascripts/dijit/_editor/nls/FontChoice.js +2 -0
  416. data/vendor/assets/javascripts/dijit/_editor/nls/FontChoice.js.uncompressed.js +62 -0
  417. data/vendor/assets/javascripts/dijit/_editor/nls/LinkDialog.js +2 -0
  418. data/vendor/assets/javascripts/dijit/_editor/nls/LinkDialog.js.uncompressed.js +48 -0
  419. data/vendor/assets/javascripts/dijit/_editor/nls/ar/FontChoice.js +2 -0
  420. data/vendor/assets/javascripts/dijit/_editor/nls/ar/FontChoice.js.uncompressed.js +25 -0
  421. data/vendor/assets/javascripts/dijit/_editor/nls/ar/LinkDialog.js +2 -0
  422. data/vendor/assets/javascripts/dijit/_editor/nls/ar/LinkDialog.js.uncompressed.js +14 -0
  423. data/vendor/assets/javascripts/dijit/_editor/nls/ar/commands.js +2 -0
  424. data/vendor/assets/javascripts/dijit/_editor/nls/ar/commands.js.uncompressed.js +51 -0
  425. data/vendor/assets/javascripts/dijit/_editor/nls/az/FontChoice.js +2 -0
  426. data/vendor/assets/javascripts/dijit/_editor/nls/az/FontChoice.js.uncompressed.js +25 -0
  427. data/vendor/assets/javascripts/dijit/_editor/nls/az/LinkDialog.js +2 -0
  428. data/vendor/assets/javascripts/dijit/_editor/nls/az/LinkDialog.js.uncompressed.js +14 -0
  429. data/vendor/assets/javascripts/dijit/_editor/nls/az/commands.js +2 -0
  430. data/vendor/assets/javascripts/dijit/_editor/nls/az/commands.js.uncompressed.js +50 -0
  431. data/vendor/assets/javascripts/dijit/_editor/nls/ca/FontChoice.js +2 -0
  432. data/vendor/assets/javascripts/dijit/_editor/nls/ca/FontChoice.js.uncompressed.js +25 -0
  433. data/vendor/assets/javascripts/dijit/_editor/nls/ca/LinkDialog.js +2 -0
  434. data/vendor/assets/javascripts/dijit/_editor/nls/ca/LinkDialog.js.uncompressed.js +14 -0
  435. data/vendor/assets/javascripts/dijit/_editor/nls/ca/commands.js +2 -0
  436. data/vendor/assets/javascripts/dijit/_editor/nls/ca/commands.js.uncompressed.js +51 -0
  437. data/vendor/assets/javascripts/dijit/_editor/nls/commands.js +2 -0
  438. data/vendor/assets/javascripts/dijit/_editor/nls/commands.js.uncompressed.js +85 -0
  439. data/vendor/assets/javascripts/dijit/_editor/nls/cs/FontChoice.js +2 -0
  440. data/vendor/assets/javascripts/dijit/_editor/nls/cs/FontChoice.js.uncompressed.js +25 -0
  441. data/vendor/assets/javascripts/dijit/_editor/nls/cs/LinkDialog.js +2 -0
  442. data/vendor/assets/javascripts/dijit/_editor/nls/cs/LinkDialog.js.uncompressed.js +14 -0
  443. data/vendor/assets/javascripts/dijit/_editor/nls/cs/commands.js +2 -0
  444. data/vendor/assets/javascripts/dijit/_editor/nls/cs/commands.js.uncompressed.js +51 -0
  445. data/vendor/assets/javascripts/dijit/_editor/nls/da/FontChoice.js +2 -0
  446. data/vendor/assets/javascripts/dijit/_editor/nls/da/FontChoice.js.uncompressed.js +25 -0
  447. data/vendor/assets/javascripts/dijit/_editor/nls/da/LinkDialog.js +2 -0
  448. data/vendor/assets/javascripts/dijit/_editor/nls/da/LinkDialog.js.uncompressed.js +14 -0
  449. data/vendor/assets/javascripts/dijit/_editor/nls/da/commands.js +2 -0
  450. data/vendor/assets/javascripts/dijit/_editor/nls/da/commands.js.uncompressed.js +51 -0
  451. data/vendor/assets/javascripts/dijit/_editor/nls/de/FontChoice.js +2 -0
  452. data/vendor/assets/javascripts/dijit/_editor/nls/de/FontChoice.js.uncompressed.js +25 -0
  453. data/vendor/assets/javascripts/dijit/_editor/nls/de/LinkDialog.js +2 -0
  454. data/vendor/assets/javascripts/dijit/_editor/nls/de/LinkDialog.js.uncompressed.js +14 -0
  455. data/vendor/assets/javascripts/dijit/_editor/nls/de/commands.js +2 -0
  456. data/vendor/assets/javascripts/dijit/_editor/nls/de/commands.js.uncompressed.js +51 -0
  457. data/vendor/assets/javascripts/dijit/_editor/nls/el/FontChoice.js +2 -0
  458. data/vendor/assets/javascripts/dijit/_editor/nls/el/FontChoice.js.uncompressed.js +25 -0
  459. data/vendor/assets/javascripts/dijit/_editor/nls/el/LinkDialog.js +2 -0
  460. data/vendor/assets/javascripts/dijit/_editor/nls/el/LinkDialog.js.uncompressed.js +14 -0
  461. data/vendor/assets/javascripts/dijit/_editor/nls/el/commands.js +2 -0
  462. data/vendor/assets/javascripts/dijit/_editor/nls/el/commands.js.uncompressed.js +51 -0
  463. data/vendor/assets/javascripts/dijit/_editor/nls/es/FontChoice.js +2 -0
  464. data/vendor/assets/javascripts/dijit/_editor/nls/es/FontChoice.js.uncompressed.js +25 -0
  465. data/vendor/assets/javascripts/dijit/_editor/nls/es/LinkDialog.js +2 -0
  466. data/vendor/assets/javascripts/dijit/_editor/nls/es/LinkDialog.js.uncompressed.js +14 -0
  467. data/vendor/assets/javascripts/dijit/_editor/nls/es/commands.js +2 -0
  468. data/vendor/assets/javascripts/dijit/_editor/nls/es/commands.js.uncompressed.js +51 -0
  469. data/vendor/assets/javascripts/dijit/_editor/nls/fi/FontChoice.js +2 -0
  470. data/vendor/assets/javascripts/dijit/_editor/nls/fi/FontChoice.js.uncompressed.js +25 -0
  471. data/vendor/assets/javascripts/dijit/_editor/nls/fi/LinkDialog.js +2 -0
  472. data/vendor/assets/javascripts/dijit/_editor/nls/fi/LinkDialog.js.uncompressed.js +14 -0
  473. data/vendor/assets/javascripts/dijit/_editor/nls/fi/commands.js +2 -0
  474. data/vendor/assets/javascripts/dijit/_editor/nls/fi/commands.js.uncompressed.js +51 -0
  475. data/vendor/assets/javascripts/dijit/_editor/nls/fr/FontChoice.js +2 -0
  476. data/vendor/assets/javascripts/dijit/_editor/nls/fr/FontChoice.js.uncompressed.js +25 -0
  477. data/vendor/assets/javascripts/dijit/_editor/nls/fr/LinkDialog.js +2 -0
  478. data/vendor/assets/javascripts/dijit/_editor/nls/fr/LinkDialog.js.uncompressed.js +14 -0
  479. data/vendor/assets/javascripts/dijit/_editor/nls/fr/commands.js +2 -0
  480. data/vendor/assets/javascripts/dijit/_editor/nls/fr/commands.js.uncompressed.js +51 -0
  481. data/vendor/assets/javascripts/dijit/_editor/nls/he/FontChoice.js +2 -0
  482. data/vendor/assets/javascripts/dijit/_editor/nls/he/FontChoice.js.uncompressed.js +25 -0
  483. data/vendor/assets/javascripts/dijit/_editor/nls/he/LinkDialog.js +2 -0
  484. data/vendor/assets/javascripts/dijit/_editor/nls/he/LinkDialog.js.uncompressed.js +14 -0
  485. data/vendor/assets/javascripts/dijit/_editor/nls/he/commands.js +2 -0
  486. data/vendor/assets/javascripts/dijit/_editor/nls/he/commands.js.uncompressed.js +51 -0
  487. data/vendor/assets/javascripts/dijit/_editor/nls/hr/FontChoice.js +2 -0
  488. data/vendor/assets/javascripts/dijit/_editor/nls/hr/FontChoice.js.uncompressed.js +25 -0
  489. data/vendor/assets/javascripts/dijit/_editor/nls/hr/LinkDialog.js +2 -0
  490. data/vendor/assets/javascripts/dijit/_editor/nls/hr/LinkDialog.js.uncompressed.js +14 -0
  491. data/vendor/assets/javascripts/dijit/_editor/nls/hr/commands.js +2 -0
  492. data/vendor/assets/javascripts/dijit/_editor/nls/hr/commands.js.uncompressed.js +51 -0
  493. data/vendor/assets/javascripts/dijit/_editor/nls/hu/FontChoice.js +2 -0
  494. data/vendor/assets/javascripts/dijit/_editor/nls/hu/FontChoice.js.uncompressed.js +25 -0
  495. data/vendor/assets/javascripts/dijit/_editor/nls/hu/LinkDialog.js +2 -0
  496. data/vendor/assets/javascripts/dijit/_editor/nls/hu/LinkDialog.js.uncompressed.js +14 -0
  497. data/vendor/assets/javascripts/dijit/_editor/nls/hu/commands.js +2 -0
  498. data/vendor/assets/javascripts/dijit/_editor/nls/hu/commands.js.uncompressed.js +51 -0
  499. data/vendor/assets/javascripts/dijit/_editor/nls/it/FontChoice.js +2 -0
  500. data/vendor/assets/javascripts/dijit/_editor/nls/it/FontChoice.js.uncompressed.js +25 -0
  501. data/vendor/assets/javascripts/dijit/_editor/nls/it/LinkDialog.js +2 -0
  502. data/vendor/assets/javascripts/dijit/_editor/nls/it/LinkDialog.js.uncompressed.js +14 -0
  503. data/vendor/assets/javascripts/dijit/_editor/nls/it/commands.js +2 -0
  504. data/vendor/assets/javascripts/dijit/_editor/nls/it/commands.js.uncompressed.js +51 -0
  505. data/vendor/assets/javascripts/dijit/_editor/nls/ja/FontChoice.js +2 -0
  506. data/vendor/assets/javascripts/dijit/_editor/nls/ja/FontChoice.js.uncompressed.js +25 -0
  507. data/vendor/assets/javascripts/dijit/_editor/nls/ja/LinkDialog.js +2 -0
  508. data/vendor/assets/javascripts/dijit/_editor/nls/ja/LinkDialog.js.uncompressed.js +14 -0
  509. data/vendor/assets/javascripts/dijit/_editor/nls/ja/commands.js +2 -0
  510. data/vendor/assets/javascripts/dijit/_editor/nls/ja/commands.js.uncompressed.js +51 -0
  511. data/vendor/assets/javascripts/dijit/_editor/nls/kk/FontChoice.js +2 -0
  512. data/vendor/assets/javascripts/dijit/_editor/nls/kk/FontChoice.js.uncompressed.js +25 -0
  513. data/vendor/assets/javascripts/dijit/_editor/nls/kk/LinkDialog.js +2 -0
  514. data/vendor/assets/javascripts/dijit/_editor/nls/kk/LinkDialog.js.uncompressed.js +14 -0
  515. data/vendor/assets/javascripts/dijit/_editor/nls/kk/commands.js +2 -0
  516. data/vendor/assets/javascripts/dijit/_editor/nls/kk/commands.js.uncompressed.js +51 -0
  517. data/vendor/assets/javascripts/dijit/_editor/nls/ko/FontChoice.js +2 -0
  518. data/vendor/assets/javascripts/dijit/_editor/nls/ko/FontChoice.js.uncompressed.js +25 -0
  519. data/vendor/assets/javascripts/dijit/_editor/nls/ko/LinkDialog.js +2 -0
  520. data/vendor/assets/javascripts/dijit/_editor/nls/ko/LinkDialog.js.uncompressed.js +14 -0
  521. data/vendor/assets/javascripts/dijit/_editor/nls/ko/commands.js +2 -0
  522. data/vendor/assets/javascripts/dijit/_editor/nls/ko/commands.js.uncompressed.js +51 -0
  523. data/vendor/assets/javascripts/dijit/_editor/nls/nb/FontChoice.js +2 -0
  524. data/vendor/assets/javascripts/dijit/_editor/nls/nb/FontChoice.js.uncompressed.js +25 -0
  525. data/vendor/assets/javascripts/dijit/_editor/nls/nb/LinkDialog.js +2 -0
  526. data/vendor/assets/javascripts/dijit/_editor/nls/nb/LinkDialog.js.uncompressed.js +14 -0
  527. data/vendor/assets/javascripts/dijit/_editor/nls/nb/commands.js +2 -0
  528. data/vendor/assets/javascripts/dijit/_editor/nls/nb/commands.js.uncompressed.js +51 -0
  529. data/vendor/assets/javascripts/dijit/_editor/nls/nl/FontChoice.js +2 -0
  530. data/vendor/assets/javascripts/dijit/_editor/nls/nl/FontChoice.js.uncompressed.js +25 -0
  531. data/vendor/assets/javascripts/dijit/_editor/nls/nl/LinkDialog.js +2 -0
  532. data/vendor/assets/javascripts/dijit/_editor/nls/nl/LinkDialog.js.uncompressed.js +14 -0
  533. data/vendor/assets/javascripts/dijit/_editor/nls/nl/commands.js +2 -0
  534. data/vendor/assets/javascripts/dijit/_editor/nls/nl/commands.js.uncompressed.js +51 -0
  535. data/vendor/assets/javascripts/dijit/_editor/nls/pl/FontChoice.js +2 -0
  536. data/vendor/assets/javascripts/dijit/_editor/nls/pl/FontChoice.js.uncompressed.js +25 -0
  537. data/vendor/assets/javascripts/dijit/_editor/nls/pl/LinkDialog.js +2 -0
  538. data/vendor/assets/javascripts/dijit/_editor/nls/pl/LinkDialog.js.uncompressed.js +14 -0
  539. data/vendor/assets/javascripts/dijit/_editor/nls/pl/commands.js +2 -0
  540. data/vendor/assets/javascripts/dijit/_editor/nls/pl/commands.js.uncompressed.js +51 -0
  541. data/vendor/assets/javascripts/dijit/_editor/nls/pt/FontChoice.js +2 -0
  542. data/vendor/assets/javascripts/dijit/_editor/nls/pt/FontChoice.js.uncompressed.js +25 -0
  543. data/vendor/assets/javascripts/dijit/_editor/nls/pt/LinkDialog.js +2 -0
  544. data/vendor/assets/javascripts/dijit/_editor/nls/pt/LinkDialog.js.uncompressed.js +14 -0
  545. data/vendor/assets/javascripts/dijit/_editor/nls/pt/commands.js +2 -0
  546. data/vendor/assets/javascripts/dijit/_editor/nls/pt/commands.js.uncompressed.js +51 -0
  547. data/vendor/assets/javascripts/dijit/_editor/nls/pt-pt/FontChoice.js +2 -0
  548. data/vendor/assets/javascripts/dijit/_editor/nls/pt-pt/FontChoice.js.uncompressed.js +25 -0
  549. data/vendor/assets/javascripts/dijit/_editor/nls/pt-pt/LinkDialog.js +2 -0
  550. data/vendor/assets/javascripts/dijit/_editor/nls/pt-pt/LinkDialog.js.uncompressed.js +14 -0
  551. data/vendor/assets/javascripts/dijit/_editor/nls/pt-pt/commands.js +2 -0
  552. data/vendor/assets/javascripts/dijit/_editor/nls/pt-pt/commands.js.uncompressed.js +49 -0
  553. data/vendor/assets/javascripts/dijit/_editor/nls/ro/FontChoice.js +2 -0
  554. data/vendor/assets/javascripts/dijit/_editor/nls/ro/FontChoice.js.uncompressed.js +25 -0
  555. data/vendor/assets/javascripts/dijit/_editor/nls/ro/LinkDialog.js +2 -0
  556. data/vendor/assets/javascripts/dijit/_editor/nls/ro/LinkDialog.js.uncompressed.js +14 -0
  557. data/vendor/assets/javascripts/dijit/_editor/nls/ro/commands.js +2 -0
  558. data/vendor/assets/javascripts/dijit/_editor/nls/ro/commands.js.uncompressed.js +51 -0
  559. data/vendor/assets/javascripts/dijit/_editor/nls/ru/FontChoice.js +2 -0
  560. data/vendor/assets/javascripts/dijit/_editor/nls/ru/FontChoice.js.uncompressed.js +25 -0
  561. data/vendor/assets/javascripts/dijit/_editor/nls/ru/LinkDialog.js +2 -0
  562. data/vendor/assets/javascripts/dijit/_editor/nls/ru/LinkDialog.js.uncompressed.js +14 -0
  563. data/vendor/assets/javascripts/dijit/_editor/nls/ru/commands.js +2 -0
  564. data/vendor/assets/javascripts/dijit/_editor/nls/ru/commands.js.uncompressed.js +51 -0
  565. data/vendor/assets/javascripts/dijit/_editor/nls/sk/FontChoice.js +2 -0
  566. data/vendor/assets/javascripts/dijit/_editor/nls/sk/FontChoice.js.uncompressed.js +25 -0
  567. data/vendor/assets/javascripts/dijit/_editor/nls/sk/LinkDialog.js +2 -0
  568. data/vendor/assets/javascripts/dijit/_editor/nls/sk/LinkDialog.js.uncompressed.js +14 -0
  569. data/vendor/assets/javascripts/dijit/_editor/nls/sk/commands.js +2 -0
  570. data/vendor/assets/javascripts/dijit/_editor/nls/sk/commands.js.uncompressed.js +51 -0
  571. data/vendor/assets/javascripts/dijit/_editor/nls/sl/FontChoice.js +2 -0
  572. data/vendor/assets/javascripts/dijit/_editor/nls/sl/FontChoice.js.uncompressed.js +25 -0
  573. data/vendor/assets/javascripts/dijit/_editor/nls/sl/LinkDialog.js +2 -0
  574. data/vendor/assets/javascripts/dijit/_editor/nls/sl/LinkDialog.js.uncompressed.js +14 -0
  575. data/vendor/assets/javascripts/dijit/_editor/nls/sl/commands.js +2 -0
  576. data/vendor/assets/javascripts/dijit/_editor/nls/sl/commands.js.uncompressed.js +49 -0
  577. data/vendor/assets/javascripts/dijit/_editor/nls/sv/FontChoice.js +2 -0
  578. data/vendor/assets/javascripts/dijit/_editor/nls/sv/FontChoice.js.uncompressed.js +25 -0
  579. data/vendor/assets/javascripts/dijit/_editor/nls/sv/LinkDialog.js +2 -0
  580. data/vendor/assets/javascripts/dijit/_editor/nls/sv/LinkDialog.js.uncompressed.js +14 -0
  581. data/vendor/assets/javascripts/dijit/_editor/nls/sv/commands.js +2 -0
  582. data/vendor/assets/javascripts/dijit/_editor/nls/sv/commands.js.uncompressed.js +51 -0
  583. data/vendor/assets/javascripts/dijit/_editor/nls/th/FontChoice.js +2 -0
  584. data/vendor/assets/javascripts/dijit/_editor/nls/th/FontChoice.js.uncompressed.js +25 -0
  585. data/vendor/assets/javascripts/dijit/_editor/nls/th/LinkDialog.js +2 -0
  586. data/vendor/assets/javascripts/dijit/_editor/nls/th/LinkDialog.js.uncompressed.js +14 -0
  587. data/vendor/assets/javascripts/dijit/_editor/nls/th/commands.js +2 -0
  588. data/vendor/assets/javascripts/dijit/_editor/nls/th/commands.js.uncompressed.js +51 -0
  589. data/vendor/assets/javascripts/dijit/_editor/nls/tr/FontChoice.js +2 -0
  590. data/vendor/assets/javascripts/dijit/_editor/nls/tr/FontChoice.js.uncompressed.js +25 -0
  591. data/vendor/assets/javascripts/dijit/_editor/nls/tr/LinkDialog.js +2 -0
  592. data/vendor/assets/javascripts/dijit/_editor/nls/tr/LinkDialog.js.uncompressed.js +14 -0
  593. data/vendor/assets/javascripts/dijit/_editor/nls/tr/commands.js +2 -0
  594. data/vendor/assets/javascripts/dijit/_editor/nls/tr/commands.js.uncompressed.js +51 -0
  595. data/vendor/assets/javascripts/dijit/_editor/nls/zh/FontChoice.js +2 -0
  596. data/vendor/assets/javascripts/dijit/_editor/nls/zh/FontChoice.js.uncompressed.js +25 -0
  597. data/vendor/assets/javascripts/dijit/_editor/nls/zh/LinkDialog.js +2 -0
  598. data/vendor/assets/javascripts/dijit/_editor/nls/zh/LinkDialog.js.uncompressed.js +14 -0
  599. data/vendor/assets/javascripts/dijit/_editor/nls/zh/commands.js +2 -0
  600. data/vendor/assets/javascripts/dijit/_editor/nls/zh/commands.js.uncompressed.js +51 -0
  601. data/vendor/assets/javascripts/dijit/_editor/nls/zh-tw/FontChoice.js +2 -0
  602. data/vendor/assets/javascripts/dijit/_editor/nls/zh-tw/FontChoice.js.uncompressed.js +25 -0
  603. data/vendor/assets/javascripts/dijit/_editor/nls/zh-tw/LinkDialog.js +2 -0
  604. data/vendor/assets/javascripts/dijit/_editor/nls/zh-tw/LinkDialog.js.uncompressed.js +14 -0
  605. data/vendor/assets/javascripts/dijit/_editor/nls/zh-tw/commands.js +2 -0
  606. data/vendor/assets/javascripts/dijit/_editor/nls/zh-tw/commands.js.uncompressed.js +51 -0
  607. data/vendor/assets/javascripts/dijit/_editor/plugins/AlwaysShowToolbar.js +110 -0
  608. data/vendor/assets/javascripts/dijit/_editor/plugins/AlwaysShowToolbar.js.uncompressed.js +191 -0
  609. data/vendor/assets/javascripts/dijit/_editor/plugins/EnterKeyHandling.js +428 -0
  610. data/vendor/assets/javascripts/dijit/_editor/plugins/EnterKeyHandling.js.uncompressed.js +622 -0
  611. data/vendor/assets/javascripts/dijit/_editor/plugins/FontChoice.js +252 -0
  612. data/vendor/assets/javascripts/dijit/_editor/plugins/FontChoice.js.uncompressed.js +583 -0
  613. data/vendor/assets/javascripts/dijit/_editor/plugins/FullScreen.js +216 -0
  614. data/vendor/assets/javascripts/dijit/_editor/plugins/FullScreen.js.uncompressed.js +450 -0
  615. data/vendor/assets/javascripts/dijit/_editor/plugins/LinkDialog.js +266 -0
  616. data/vendor/assets/javascripts/dijit/_editor/plugins/LinkDialog.js.uncompressed.js +607 -0
  617. data/vendor/assets/javascripts/dijit/_editor/plugins/NewPage.js +21 -0
  618. data/vendor/assets/javascripts/dijit/_editor/plugins/NewPage.js.uncompressed.js +77 -0
  619. data/vendor/assets/javascripts/dijit/_editor/plugins/Print.js +53 -0
  620. data/vendor/assets/javascripts/dijit/_editor/plugins/Print.js.uncompressed.js +123 -0
  621. data/vendor/assets/javascripts/dijit/_editor/plugins/TabIndent.js +23 -0
  622. data/vendor/assets/javascripts/dijit/_editor/plugins/TabIndent.js.uncompressed.js +60 -0
  623. data/vendor/assets/javascripts/dijit/_editor/plugins/TextColor.js +62 -0
  624. data/vendor/assets/javascripts/dijit/_editor/plugins/TextColor.js.uncompressed.js +114 -0
  625. data/vendor/assets/javascripts/dijit/_editor/plugins/ToggleDir.js +28 -0
  626. data/vendor/assets/javascripts/dijit/_editor/plugins/ToggleDir.js.uncompressed.js +69 -0
  627. data/vendor/assets/javascripts/dijit/_editor/plugins/ViewSource.js +294 -0
  628. data/vendor/assets/javascripts/dijit/_editor/plugins/ViewSource.js.uncompressed.js +577 -0
  629. data/vendor/assets/javascripts/dijit/_editor/range.js +453 -0
  630. data/vendor/assets/javascripts/dijit/_editor/range.js.uncompressed.js +559 -0
  631. data/vendor/assets/javascripts/dijit/_editor/selection.js +254 -0
  632. data/vendor/assets/javascripts/dijit/_editor/selection.js.uncompressed.js +383 -0
  633. data/vendor/assets/javascripts/dijit/_tree/dndSource.js +5 -0
  634. data/vendor/assets/javascripts/dijit/_tree/dndSource.js.uncompressed.js +15 -0
  635. data/vendor/assets/javascripts/dijit/a11y.js +107 -0
  636. data/vendor/assets/javascripts/dijit/a11y.js.uncompressed.js +177 -0
  637. data/vendor/assets/javascripts/dijit/a11yclick.js +65 -0
  638. data/vendor/assets/javascripts/dijit/a11yclick.js.uncompressed.js +131 -0
  639. data/vendor/assets/javascripts/dijit/dijit-all.js +15 -0
  640. data/vendor/assets/javascripts/dijit/dijit-all.js.uncompressed.js +33581 -0
  641. data/vendor/assets/javascripts/dijit/dijit.js +15 -0
  642. data/vendor/assets/javascripts/dijit/dijit.js.uncompressed.js +8131 -0
  643. data/vendor/assets/javascripts/dijit/dijit.profile.js +35 -0
  644. data/vendor/assets/javascripts/dijit/focus.js +202 -0
  645. data/vendor/assets/javascripts/dijit/focus.js.uncompressed.js +364 -0
  646. data/vendor/assets/javascripts/dijit/form/Button.js +41 -0
  647. data/vendor/assets/javascripts/dijit/form/Button.js.uncompressed.js +121 -0
  648. data/vendor/assets/javascripts/dijit/form/CheckBox.js +35 -0
  649. data/vendor/assets/javascripts/dijit/form/CheckBox.js.uncompressed.js +116 -0
  650. data/vendor/assets/javascripts/dijit/form/ComboBox.js +4 -0
  651. data/vendor/assets/javascripts/dijit/form/ComboBox.js.uncompressed.js +27 -0
  652. data/vendor/assets/javascripts/dijit/form/ComboBoxMixin.js +59 -0
  653. data/vendor/assets/javascripts/dijit/form/ComboBoxMixin.js.uncompressed.js +143 -0
  654. data/vendor/assets/javascripts/dijit/form/ComboButton.js +19 -0
  655. data/vendor/assets/javascripts/dijit/form/ComboButton.js.uncompressed.js +85 -0
  656. data/vendor/assets/javascripts/dijit/form/CurrencyTextBox.js +17 -0
  657. data/vendor/assets/javascripts/dijit/form/CurrencyTextBox.js.uncompressed.js +85 -0
  658. data/vendor/assets/javascripts/dijit/form/DataList.js +20 -0
  659. data/vendor/assets/javascripts/dijit/form/DataList.js.uncompressed.js +69 -0
  660. data/vendor/assets/javascripts/dijit/form/DateTextBox.js +4 -0
  661. data/vendor/assets/javascripts/dijit/form/DateTextBox.js.uncompressed.js +28 -0
  662. data/vendor/assets/javascripts/dijit/form/DropDownButton.js +36 -0
  663. data/vendor/assets/javascripts/dijit/form/DropDownButton.js.uncompressed.js +99 -0
  664. data/vendor/assets/javascripts/dijit/form/FilteringSelect.js +101 -0
  665. data/vendor/assets/javascripts/dijit/form/FilteringSelect.js.uncompressed.js +234 -0
  666. data/vendor/assets/javascripts/dijit/form/Form.js +45 -0
  667. data/vendor/assets/javascripts/dijit/form/Form.js.uncompressed.js +163 -0
  668. data/vendor/assets/javascripts/dijit/form/HorizontalRule.js +29 -0
  669. data/vendor/assets/javascripts/dijit/form/HorizontalRule.js.uncompressed.js +69 -0
  670. data/vendor/assets/javascripts/dijit/form/HorizontalRuleLabels.js +28 -0
  671. data/vendor/assets/javascripts/dijit/form/HorizontalRuleLabels.js.uncompressed.js +92 -0
  672. data/vendor/assets/javascripts/dijit/form/HorizontalSlider.js +200 -0
  673. data/vendor/assets/javascripts/dijit/form/HorizontalSlider.js.uncompressed.js +349 -0
  674. data/vendor/assets/javascripts/dijit/form/MappedTextBox.js +21 -0
  675. data/vendor/assets/javascripts/dijit/form/MappedTextBox.js.uncompressed.js +81 -0
  676. data/vendor/assets/javascripts/dijit/form/MultiSelect.js +56 -0
  677. data/vendor/assets/javascripts/dijit/form/MultiSelect.js.uncompressed.js +134 -0
  678. data/vendor/assets/javascripts/dijit/form/NumberSpinner.js +28 -0
  679. data/vendor/assets/javascripts/dijit/form/NumberSpinner.js.uncompressed.js +67 -0
  680. data/vendor/assets/javascripts/dijit/form/NumberTextBox.js +116 -0
  681. data/vendor/assets/javascripts/dijit/form/NumberTextBox.js.uncompressed.js +275 -0
  682. data/vendor/assets/javascripts/dijit/form/RadioButton.js +4 -0
  683. data/vendor/assets/javascripts/dijit/form/RadioButton.js.uncompressed.js +16 -0
  684. data/vendor/assets/javascripts/dijit/form/RangeBoundTextBox.js +58 -0
  685. data/vendor/assets/javascripts/dijit/form/RangeBoundTextBox.js.uncompressed.js +134 -0
  686. data/vendor/assets/javascripts/dijit/form/Select.js +192 -0
  687. data/vendor/assets/javascripts/dijit/form/Select.js.uncompressed.js +406 -0
  688. data/vendor/assets/javascripts/dijit/form/SimpleTextarea.js +46 -0
  689. data/vendor/assets/javascripts/dijit/form/SimpleTextarea.js.uncompressed.js +92 -0
  690. data/vendor/assets/javascripts/dijit/form/Slider.js +4 -0
  691. data/vendor/assets/javascripts/dijit/form/Slider.js.uncompressed.js +23 -0
  692. data/vendor/assets/javascripts/dijit/form/TextBox.js +97 -0
  693. data/vendor/assets/javascripts/dijit/form/TextBox.js.uncompressed.js +157 -0
  694. data/vendor/assets/javascripts/dijit/form/Textarea.js +7 -0
  695. data/vendor/assets/javascripts/dijit/form/Textarea.js.uncompressed.js +42 -0
  696. data/vendor/assets/javascripts/dijit/form/TimeTextBox.js +26 -0
  697. data/vendor/assets/javascripts/dijit/form/TimeTextBox.js.uncompressed.js +79 -0
  698. data/vendor/assets/javascripts/dijit/form/ToggleButton.js +7 -0
  699. data/vendor/assets/javascripts/dijit/form/ToggleButton.js.uncompressed.js +26 -0
  700. data/vendor/assets/javascripts/dijit/form/ValidationTextBox.js +143 -0
  701. data/vendor/assets/javascripts/dijit/form/ValidationTextBox.js.uncompressed.js +327 -0
  702. data/vendor/assets/javascripts/dijit/form/VerticalRule.js +4 -0
  703. data/vendor/assets/javascripts/dijit/form/VerticalRule.js.uncompressed.js +28 -0
  704. data/vendor/assets/javascripts/dijit/form/VerticalRuleLabels.js +6 -0
  705. data/vendor/assets/javascripts/dijit/form/VerticalRuleLabels.js.uncompressed.js +26 -0
  706. data/vendor/assets/javascripts/dijit/form/VerticalSlider.js +7 -0
  707. data/vendor/assets/javascripts/dijit/form/VerticalSlider.js.uncompressed.js +35 -0
  708. data/vendor/assets/javascripts/dijit/form/_AutoCompleterMixin.js +266 -0
  709. data/vendor/assets/javascripts/dijit/form/_AutoCompleterMixin.js.uncompressed.js +581 -0
  710. data/vendor/assets/javascripts/dijit/form/_ButtonMixin.js +32 -0
  711. data/vendor/assets/javascripts/dijit/form/_ButtonMixin.js.uncompressed.js +84 -0
  712. data/vendor/assets/javascripts/dijit/form/_CheckBoxMixin.js +24 -0
  713. data/vendor/assets/javascripts/dijit/form/_CheckBoxMixin.js.uncompressed.js +78 -0
  714. data/vendor/assets/javascripts/dijit/form/_ComboBoxMenu.js +64 -0
  715. data/vendor/assets/javascripts/dijit/form/_ComboBoxMenu.js.uncompressed.js +131 -0
  716. data/vendor/assets/javascripts/dijit/form/_ComboBoxMenuMixin.js +91 -0
  717. data/vendor/assets/javascripts/dijit/form/_ComboBoxMenuMixin.js.uncompressed.js +189 -0
  718. data/vendor/assets/javascripts/dijit/form/_DateTimeTextBox.js +98 -0
  719. data/vendor/assets/javascripts/dijit/form/_DateTimeTextBox.js.uncompressed.js +259 -0
  720. data/vendor/assets/javascripts/dijit/form/_ExpandingTextAreaMixin.js +89 -0
  721. data/vendor/assets/javascripts/dijit/form/_ExpandingTextAreaMixin.js.uncompressed.js +136 -0
  722. data/vendor/assets/javascripts/dijit/form/_FormMixin.js +165 -0
  723. data/vendor/assets/javascripts/dijit/form/_FormMixin.js.uncompressed.js +456 -0
  724. data/vendor/assets/javascripts/dijit/form/_FormSelectWidget.js +352 -0
  725. data/vendor/assets/javascripts/dijit/form/_FormSelectWidget.js.uncompressed.js +706 -0
  726. data/vendor/assets/javascripts/dijit/form/_FormValueMixin.js +36 -0
  727. data/vendor/assets/javascripts/dijit/form/_FormValueMixin.js.uncompressed.js +90 -0
  728. data/vendor/assets/javascripts/dijit/form/_FormValueWidget.js +24 -0
  729. data/vendor/assets/javascripts/dijit/form/_FormValueWidget.js.uncompressed.js +51 -0
  730. data/vendor/assets/javascripts/dijit/form/_FormWidget.js +22 -0
  731. data/vendor/assets/javascripts/dijit/form/_FormWidget.js.uncompressed.js +71 -0
  732. data/vendor/assets/javascripts/dijit/form/_FormWidgetMixin.js +100 -0
  733. data/vendor/assets/javascripts/dijit/form/_FormWidgetMixin.js.uncompressed.js +223 -0
  734. data/vendor/assets/javascripts/dijit/form/_ListBase.js +71 -0
  735. data/vendor/assets/javascripts/dijit/form/_ListBase.js.uncompressed.js +135 -0
  736. data/vendor/assets/javascripts/dijit/form/_ListMouseMixin.js +53 -0
  737. data/vendor/assets/javascripts/dijit/form/_ListMouseMixin.js.uncompressed.js +79 -0
  738. data/vendor/assets/javascripts/dijit/form/_RadioButtonMixin.js +42 -0
  739. data/vendor/assets/javascripts/dijit/form/_RadioButtonMixin.js.uncompressed.js +71 -0
  740. data/vendor/assets/javascripts/dijit/form/_SearchMixin.js +124 -0
  741. data/vendor/assets/javascripts/dijit/form/_SearchMixin.js.uncompressed.js +264 -0
  742. data/vendor/assets/javascripts/dijit/form/_Spinner.js +48 -0
  743. data/vendor/assets/javascripts/dijit/form/_Spinner.js.uncompressed.js +137 -0
  744. data/vendor/assets/javascripts/dijit/form/_TextBoxMixin.js +242 -0
  745. data/vendor/assets/javascripts/dijit/form/_TextBoxMixin.js.uncompressed.js +474 -0
  746. data/vendor/assets/javascripts/dijit/form/_ToggleButtonMixin.js +18 -0
  747. data/vendor/assets/javascripts/dijit/form/_ToggleButtonMixin.js.uncompressed.js +49 -0
  748. data/vendor/assets/javascripts/dijit/form/nls/ComboBox.js +2 -0
  749. data/vendor/assets/javascripts/dijit/form/nls/ComboBox.js.uncompressed.js +40 -0
  750. data/vendor/assets/javascripts/dijit/form/nls/Textarea.js +2 -0
  751. data/vendor/assets/javascripts/dijit/form/nls/Textarea.js.uncompressed.js +43 -0
  752. data/vendor/assets/javascripts/dijit/form/nls/ar/ComboBox.js +2 -0
  753. data/vendor/assets/javascripts/dijit/form/nls/ar/ComboBox.js.uncompressed.js +6 -0
  754. data/vendor/assets/javascripts/dijit/form/nls/ar/Textarea.js +2 -0
  755. data/vendor/assets/javascripts/dijit/form/nls/ar/Textarea.js.uncompressed.js +9 -0
  756. data/vendor/assets/javascripts/dijit/form/nls/ar/validate.js +2 -0
  757. data/vendor/assets/javascripts/dijit/form/nls/ar/validate.js.uncompressed.js +7 -0
  758. data/vendor/assets/javascripts/dijit/form/nls/az/ComboBox.js +2 -0
  759. data/vendor/assets/javascripts/dijit/form/nls/az/ComboBox.js.uncompressed.js +6 -0
  760. data/vendor/assets/javascripts/dijit/form/nls/az/Textarea.js +2 -0
  761. data/vendor/assets/javascripts/dijit/form/nls/az/Textarea.js.uncompressed.js +7 -0
  762. data/vendor/assets/javascripts/dijit/form/nls/az/validate.js +2 -0
  763. data/vendor/assets/javascripts/dijit/form/nls/az/validate.js.uncompressed.js +7 -0
  764. data/vendor/assets/javascripts/dijit/form/nls/ca/ComboBox.js +2 -0
  765. data/vendor/assets/javascripts/dijit/form/nls/ca/ComboBox.js.uncompressed.js +6 -0
  766. data/vendor/assets/javascripts/dijit/form/nls/ca/Textarea.js +2 -0
  767. data/vendor/assets/javascripts/dijit/form/nls/ca/Textarea.js.uncompressed.js +9 -0
  768. data/vendor/assets/javascripts/dijit/form/nls/ca/validate.js +2 -0
  769. data/vendor/assets/javascripts/dijit/form/nls/ca/validate.js.uncompressed.js +7 -0
  770. data/vendor/assets/javascripts/dijit/form/nls/cs/ComboBox.js +2 -0
  771. data/vendor/assets/javascripts/dijit/form/nls/cs/ComboBox.js.uncompressed.js +6 -0
  772. data/vendor/assets/javascripts/dijit/form/nls/cs/Textarea.js +2 -0
  773. data/vendor/assets/javascripts/dijit/form/nls/cs/Textarea.js.uncompressed.js +9 -0
  774. data/vendor/assets/javascripts/dijit/form/nls/cs/validate.js +2 -0
  775. data/vendor/assets/javascripts/dijit/form/nls/cs/validate.js.uncompressed.js +7 -0
  776. data/vendor/assets/javascripts/dijit/form/nls/da/ComboBox.js +2 -0
  777. data/vendor/assets/javascripts/dijit/form/nls/da/ComboBox.js.uncompressed.js +6 -0
  778. data/vendor/assets/javascripts/dijit/form/nls/da/Textarea.js +2 -0
  779. data/vendor/assets/javascripts/dijit/form/nls/da/Textarea.js.uncompressed.js +9 -0
  780. data/vendor/assets/javascripts/dijit/form/nls/da/validate.js +2 -0
  781. data/vendor/assets/javascripts/dijit/form/nls/da/validate.js.uncompressed.js +7 -0
  782. data/vendor/assets/javascripts/dijit/form/nls/de/ComboBox.js +2 -0
  783. data/vendor/assets/javascripts/dijit/form/nls/de/ComboBox.js.uncompressed.js +6 -0
  784. data/vendor/assets/javascripts/dijit/form/nls/de/Textarea.js +2 -0
  785. data/vendor/assets/javascripts/dijit/form/nls/de/Textarea.js.uncompressed.js +9 -0
  786. data/vendor/assets/javascripts/dijit/form/nls/de/validate.js +2 -0
  787. data/vendor/assets/javascripts/dijit/form/nls/de/validate.js.uncompressed.js +7 -0
  788. data/vendor/assets/javascripts/dijit/form/nls/el/ComboBox.js +2 -0
  789. data/vendor/assets/javascripts/dijit/form/nls/el/ComboBox.js.uncompressed.js +6 -0
  790. data/vendor/assets/javascripts/dijit/form/nls/el/Textarea.js +2 -0
  791. data/vendor/assets/javascripts/dijit/form/nls/el/Textarea.js.uncompressed.js +9 -0
  792. data/vendor/assets/javascripts/dijit/form/nls/el/validate.js +2 -0
  793. data/vendor/assets/javascripts/dijit/form/nls/el/validate.js.uncompressed.js +7 -0
  794. data/vendor/assets/javascripts/dijit/form/nls/es/ComboBox.js +2 -0
  795. data/vendor/assets/javascripts/dijit/form/nls/es/ComboBox.js.uncompressed.js +6 -0
  796. data/vendor/assets/javascripts/dijit/form/nls/es/Textarea.js +2 -0
  797. data/vendor/assets/javascripts/dijit/form/nls/es/Textarea.js.uncompressed.js +9 -0
  798. data/vendor/assets/javascripts/dijit/form/nls/es/validate.js +2 -0
  799. data/vendor/assets/javascripts/dijit/form/nls/es/validate.js.uncompressed.js +7 -0
  800. data/vendor/assets/javascripts/dijit/form/nls/fi/ComboBox.js +2 -0
  801. data/vendor/assets/javascripts/dijit/form/nls/fi/ComboBox.js.uncompressed.js +6 -0
  802. data/vendor/assets/javascripts/dijit/form/nls/fi/Textarea.js +2 -0
  803. data/vendor/assets/javascripts/dijit/form/nls/fi/Textarea.js.uncompressed.js +9 -0
  804. data/vendor/assets/javascripts/dijit/form/nls/fi/validate.js +2 -0
  805. data/vendor/assets/javascripts/dijit/form/nls/fi/validate.js.uncompressed.js +7 -0
  806. data/vendor/assets/javascripts/dijit/form/nls/fr/ComboBox.js +2 -0
  807. data/vendor/assets/javascripts/dijit/form/nls/fr/ComboBox.js.uncompressed.js +6 -0
  808. data/vendor/assets/javascripts/dijit/form/nls/fr/Textarea.js +2 -0
  809. data/vendor/assets/javascripts/dijit/form/nls/fr/Textarea.js.uncompressed.js +9 -0
  810. data/vendor/assets/javascripts/dijit/form/nls/fr/validate.js +2 -0
  811. data/vendor/assets/javascripts/dijit/form/nls/fr/validate.js.uncompressed.js +7 -0
  812. data/vendor/assets/javascripts/dijit/form/nls/he/ComboBox.js +2 -0
  813. data/vendor/assets/javascripts/dijit/form/nls/he/ComboBox.js.uncompressed.js +6 -0
  814. data/vendor/assets/javascripts/dijit/form/nls/he/Textarea.js +2 -0
  815. data/vendor/assets/javascripts/dijit/form/nls/he/Textarea.js.uncompressed.js +9 -0
  816. data/vendor/assets/javascripts/dijit/form/nls/he/validate.js +2 -0
  817. data/vendor/assets/javascripts/dijit/form/nls/he/validate.js.uncompressed.js +7 -0
  818. data/vendor/assets/javascripts/dijit/form/nls/hr/ComboBox.js +2 -0
  819. data/vendor/assets/javascripts/dijit/form/nls/hr/ComboBox.js.uncompressed.js +6 -0
  820. data/vendor/assets/javascripts/dijit/form/nls/hr/Textarea.js +2 -0
  821. data/vendor/assets/javascripts/dijit/form/nls/hr/Textarea.js.uncompressed.js +9 -0
  822. data/vendor/assets/javascripts/dijit/form/nls/hr/validate.js +2 -0
  823. data/vendor/assets/javascripts/dijit/form/nls/hr/validate.js.uncompressed.js +7 -0
  824. data/vendor/assets/javascripts/dijit/form/nls/hu/ComboBox.js +2 -0
  825. data/vendor/assets/javascripts/dijit/form/nls/hu/ComboBox.js.uncompressed.js +6 -0
  826. data/vendor/assets/javascripts/dijit/form/nls/hu/Textarea.js +2 -0
  827. data/vendor/assets/javascripts/dijit/form/nls/hu/Textarea.js.uncompressed.js +9 -0
  828. data/vendor/assets/javascripts/dijit/form/nls/hu/validate.js +2 -0
  829. data/vendor/assets/javascripts/dijit/form/nls/hu/validate.js.uncompressed.js +7 -0
  830. data/vendor/assets/javascripts/dijit/form/nls/it/ComboBox.js +2 -0
  831. data/vendor/assets/javascripts/dijit/form/nls/it/ComboBox.js.uncompressed.js +6 -0
  832. data/vendor/assets/javascripts/dijit/form/nls/it/Textarea.js +2 -0
  833. data/vendor/assets/javascripts/dijit/form/nls/it/Textarea.js.uncompressed.js +9 -0
  834. data/vendor/assets/javascripts/dijit/form/nls/it/validate.js +2 -0
  835. data/vendor/assets/javascripts/dijit/form/nls/it/validate.js.uncompressed.js +7 -0
  836. data/vendor/assets/javascripts/dijit/form/nls/ja/ComboBox.js +2 -0
  837. data/vendor/assets/javascripts/dijit/form/nls/ja/ComboBox.js.uncompressed.js +6 -0
  838. data/vendor/assets/javascripts/dijit/form/nls/ja/Textarea.js +2 -0
  839. data/vendor/assets/javascripts/dijit/form/nls/ja/Textarea.js.uncompressed.js +9 -0
  840. data/vendor/assets/javascripts/dijit/form/nls/ja/validate.js +2 -0
  841. data/vendor/assets/javascripts/dijit/form/nls/ja/validate.js.uncompressed.js +7 -0
  842. data/vendor/assets/javascripts/dijit/form/nls/kk/ComboBox.js +2 -0
  843. data/vendor/assets/javascripts/dijit/form/nls/kk/ComboBox.js.uncompressed.js +6 -0
  844. data/vendor/assets/javascripts/dijit/form/nls/kk/Textarea.js +2 -0
  845. data/vendor/assets/javascripts/dijit/form/nls/kk/Textarea.js.uncompressed.js +9 -0
  846. data/vendor/assets/javascripts/dijit/form/nls/kk/validate.js +2 -0
  847. data/vendor/assets/javascripts/dijit/form/nls/kk/validate.js.uncompressed.js +7 -0
  848. data/vendor/assets/javascripts/dijit/form/nls/ko/ComboBox.js +2 -0
  849. data/vendor/assets/javascripts/dijit/form/nls/ko/ComboBox.js.uncompressed.js +6 -0
  850. data/vendor/assets/javascripts/dijit/form/nls/ko/Textarea.js +2 -0
  851. data/vendor/assets/javascripts/dijit/form/nls/ko/Textarea.js.uncompressed.js +9 -0
  852. data/vendor/assets/javascripts/dijit/form/nls/ko/validate.js +2 -0
  853. data/vendor/assets/javascripts/dijit/form/nls/ko/validate.js.uncompressed.js +7 -0
  854. data/vendor/assets/javascripts/dijit/form/nls/nb/ComboBox.js +2 -0
  855. data/vendor/assets/javascripts/dijit/form/nls/nb/ComboBox.js.uncompressed.js +6 -0
  856. data/vendor/assets/javascripts/dijit/form/nls/nb/Textarea.js +2 -0
  857. data/vendor/assets/javascripts/dijit/form/nls/nb/Textarea.js.uncompressed.js +9 -0
  858. data/vendor/assets/javascripts/dijit/form/nls/nb/validate.js +2 -0
  859. data/vendor/assets/javascripts/dijit/form/nls/nb/validate.js.uncompressed.js +7 -0
  860. data/vendor/assets/javascripts/dijit/form/nls/nl/ComboBox.js +2 -0
  861. data/vendor/assets/javascripts/dijit/form/nls/nl/ComboBox.js.uncompressed.js +6 -0
  862. data/vendor/assets/javascripts/dijit/form/nls/nl/Textarea.js +2 -0
  863. data/vendor/assets/javascripts/dijit/form/nls/nl/Textarea.js.uncompressed.js +9 -0
  864. data/vendor/assets/javascripts/dijit/form/nls/nl/validate.js +2 -0
  865. data/vendor/assets/javascripts/dijit/form/nls/nl/validate.js.uncompressed.js +7 -0
  866. data/vendor/assets/javascripts/dijit/form/nls/pl/ComboBox.js +2 -0
  867. data/vendor/assets/javascripts/dijit/form/nls/pl/ComboBox.js.uncompressed.js +6 -0
  868. data/vendor/assets/javascripts/dijit/form/nls/pl/Textarea.js +2 -0
  869. data/vendor/assets/javascripts/dijit/form/nls/pl/Textarea.js.uncompressed.js +9 -0
  870. data/vendor/assets/javascripts/dijit/form/nls/pl/validate.js +2 -0
  871. data/vendor/assets/javascripts/dijit/form/nls/pl/validate.js.uncompressed.js +7 -0
  872. data/vendor/assets/javascripts/dijit/form/nls/pt/ComboBox.js +2 -0
  873. data/vendor/assets/javascripts/dijit/form/nls/pt/ComboBox.js.uncompressed.js +6 -0
  874. data/vendor/assets/javascripts/dijit/form/nls/pt/Textarea.js +2 -0
  875. data/vendor/assets/javascripts/dijit/form/nls/pt/Textarea.js.uncompressed.js +9 -0
  876. data/vendor/assets/javascripts/dijit/form/nls/pt/validate.js +2 -0
  877. data/vendor/assets/javascripts/dijit/form/nls/pt/validate.js.uncompressed.js +7 -0
  878. data/vendor/assets/javascripts/dijit/form/nls/pt-pt/ComboBox.js +2 -0
  879. data/vendor/assets/javascripts/dijit/form/nls/pt-pt/ComboBox.js.uncompressed.js +6 -0
  880. data/vendor/assets/javascripts/dijit/form/nls/pt-pt/Textarea.js +2 -0
  881. data/vendor/assets/javascripts/dijit/form/nls/pt-pt/Textarea.js.uncompressed.js +9 -0
  882. data/vendor/assets/javascripts/dijit/form/nls/pt-pt/validate.js +2 -0
  883. data/vendor/assets/javascripts/dijit/form/nls/pt-pt/validate.js.uncompressed.js +7 -0
  884. data/vendor/assets/javascripts/dijit/form/nls/ro/ComboBox.js +2 -0
  885. data/vendor/assets/javascripts/dijit/form/nls/ro/ComboBox.js.uncompressed.js +6 -0
  886. data/vendor/assets/javascripts/dijit/form/nls/ro/Textarea.js +2 -0
  887. data/vendor/assets/javascripts/dijit/form/nls/ro/Textarea.js.uncompressed.js +9 -0
  888. data/vendor/assets/javascripts/dijit/form/nls/ro/validate.js +2 -0
  889. data/vendor/assets/javascripts/dijit/form/nls/ro/validate.js.uncompressed.js +7 -0
  890. data/vendor/assets/javascripts/dijit/form/nls/ru/ComboBox.js +2 -0
  891. data/vendor/assets/javascripts/dijit/form/nls/ru/ComboBox.js.uncompressed.js +6 -0
  892. data/vendor/assets/javascripts/dijit/form/nls/ru/Textarea.js +2 -0
  893. data/vendor/assets/javascripts/dijit/form/nls/ru/Textarea.js.uncompressed.js +9 -0
  894. data/vendor/assets/javascripts/dijit/form/nls/ru/validate.js +2 -0
  895. data/vendor/assets/javascripts/dijit/form/nls/ru/validate.js.uncompressed.js +7 -0
  896. data/vendor/assets/javascripts/dijit/form/nls/sk/ComboBox.js +2 -0
  897. data/vendor/assets/javascripts/dijit/form/nls/sk/ComboBox.js.uncompressed.js +6 -0
  898. data/vendor/assets/javascripts/dijit/form/nls/sk/Textarea.js +2 -0
  899. data/vendor/assets/javascripts/dijit/form/nls/sk/Textarea.js.uncompressed.js +9 -0
  900. data/vendor/assets/javascripts/dijit/form/nls/sk/validate.js +2 -0
  901. data/vendor/assets/javascripts/dijit/form/nls/sk/validate.js.uncompressed.js +7 -0
  902. data/vendor/assets/javascripts/dijit/form/nls/sl/ComboBox.js +2 -0
  903. data/vendor/assets/javascripts/dijit/form/nls/sl/ComboBox.js.uncompressed.js +6 -0
  904. data/vendor/assets/javascripts/dijit/form/nls/sl/Textarea.js +2 -0
  905. data/vendor/assets/javascripts/dijit/form/nls/sl/Textarea.js.uncompressed.js +9 -0
  906. data/vendor/assets/javascripts/dijit/form/nls/sl/validate.js +2 -0
  907. data/vendor/assets/javascripts/dijit/form/nls/sl/validate.js.uncompressed.js +7 -0
  908. data/vendor/assets/javascripts/dijit/form/nls/sv/ComboBox.js +2 -0
  909. data/vendor/assets/javascripts/dijit/form/nls/sv/ComboBox.js.uncompressed.js +6 -0
  910. data/vendor/assets/javascripts/dijit/form/nls/sv/Textarea.js +2 -0
  911. data/vendor/assets/javascripts/dijit/form/nls/sv/Textarea.js.uncompressed.js +9 -0
  912. data/vendor/assets/javascripts/dijit/form/nls/sv/validate.js +2 -0
  913. data/vendor/assets/javascripts/dijit/form/nls/sv/validate.js.uncompressed.js +7 -0
  914. data/vendor/assets/javascripts/dijit/form/nls/th/ComboBox.js +2 -0
  915. data/vendor/assets/javascripts/dijit/form/nls/th/ComboBox.js.uncompressed.js +6 -0
  916. data/vendor/assets/javascripts/dijit/form/nls/th/Textarea.js +2 -0
  917. data/vendor/assets/javascripts/dijit/form/nls/th/Textarea.js.uncompressed.js +9 -0
  918. data/vendor/assets/javascripts/dijit/form/nls/th/validate.js +2 -0
  919. data/vendor/assets/javascripts/dijit/form/nls/th/validate.js.uncompressed.js +7 -0
  920. data/vendor/assets/javascripts/dijit/form/nls/tr/ComboBox.js +2 -0
  921. data/vendor/assets/javascripts/dijit/form/nls/tr/ComboBox.js.uncompressed.js +6 -0
  922. data/vendor/assets/javascripts/dijit/form/nls/tr/Textarea.js +2 -0
  923. data/vendor/assets/javascripts/dijit/form/nls/tr/Textarea.js.uncompressed.js +9 -0
  924. data/vendor/assets/javascripts/dijit/form/nls/tr/validate.js +2 -0
  925. data/vendor/assets/javascripts/dijit/form/nls/tr/validate.js.uncompressed.js +7 -0
  926. data/vendor/assets/javascripts/dijit/form/nls/validate.js +2 -0
  927. data/vendor/assets/javascripts/dijit/form/nls/validate.js.uncompressed.js +41 -0
  928. data/vendor/assets/javascripts/dijit/form/nls/zh/ComboBox.js +2 -0
  929. data/vendor/assets/javascripts/dijit/form/nls/zh/ComboBox.js.uncompressed.js +6 -0
  930. data/vendor/assets/javascripts/dijit/form/nls/zh/Textarea.js +2 -0
  931. data/vendor/assets/javascripts/dijit/form/nls/zh/Textarea.js.uncompressed.js +9 -0
  932. data/vendor/assets/javascripts/dijit/form/nls/zh/validate.js +2 -0
  933. data/vendor/assets/javascripts/dijit/form/nls/zh/validate.js.uncompressed.js +7 -0
  934. data/vendor/assets/javascripts/dijit/form/nls/zh-tw/ComboBox.js +2 -0
  935. data/vendor/assets/javascripts/dijit/form/nls/zh-tw/ComboBox.js.uncompressed.js +6 -0
  936. data/vendor/assets/javascripts/dijit/form/nls/zh-tw/Textarea.js +2 -0
  937. data/vendor/assets/javascripts/dijit/form/nls/zh-tw/Textarea.js.uncompressed.js +9 -0
  938. data/vendor/assets/javascripts/dijit/form/nls/zh-tw/validate.js +2 -0
  939. data/vendor/assets/javascripts/dijit/form/nls/zh-tw/validate.js.uncompressed.js +7 -0
  940. data/vendor/assets/javascripts/dijit/hccss.js +9 -0
  941. data/vendor/assets/javascripts/dijit/hccss.js.uncompressed.js +23 -0
  942. data/vendor/assets/javascripts/dijit/icons/commonIcons.css +151 -0
  943. data/vendor/assets/javascripts/dijit/icons/commonIcons_rtl.css +114 -0
  944. data/vendor/assets/javascripts/dijit/icons/editorIcons.css +57 -0
  945. data/vendor/assets/javascripts/dijit/icons/editorIcons_rtl.css +10 -0
  946. data/vendor/assets/javascripts/dijit/icons/images/commonIconsObjActDisabled.png +0 -0
  947. data/vendor/assets/javascripts/dijit/icons/images/commonIconsObjActDisabled_rtl.png +0 -0
  948. data/vendor/assets/javascripts/dijit/icons/images/commonIconsObjActEnabled.png +0 -0
  949. data/vendor/assets/javascripts/dijit/icons/images/commonIconsObjActEnabled8bit.png +0 -0
  950. data/vendor/assets/javascripts/dijit/icons/images/commonIconsObjActEnabled8bit_rtl.png +0 -0
  951. data/vendor/assets/javascripts/dijit/icons/images/commonIconsObjActEnabled_rtl.png +0 -0
  952. data/vendor/assets/javascripts/dijit/icons/images/editorIconsDisabled.png +0 -0
  953. data/vendor/assets/javascripts/dijit/icons/images/editorIconsDisabled_rtl.png +0 -0
  954. data/vendor/assets/javascripts/dijit/icons/images/editorIconsEnabled.png +0 -0
  955. data/vendor/assets/javascripts/dijit/icons/images/editorIconsEnabled_rtl.png +0 -0
  956. data/vendor/assets/javascripts/dijit/icons/images/loadingAnimation_rtl.gif +0 -0
  957. data/vendor/assets/javascripts/dijit/layout/AccordionContainer.js +214 -0
  958. data/vendor/assets/javascripts/dijit/layout/AccordionContainer.js.uncompressed.js +540 -0
  959. data/vendor/assets/javascripts/dijit/layout/AccordionPane.js +7 -0
  960. data/vendor/assets/javascripts/dijit/layout/AccordionPane.js.uncompressed.js +25 -0
  961. data/vendor/assets/javascripts/dijit/layout/BorderContainer.js +224 -0
  962. data/vendor/assets/javascripts/dijit/layout/BorderContainer.js.uncompressed.js +547 -0
  963. data/vendor/assets/javascripts/dijit/layout/ContentPane.js +233 -0
  964. data/vendor/assets/javascripts/dijit/layout/ContentPane.js.uncompressed.js +645 -0
  965. data/vendor/assets/javascripts/dijit/layout/LayoutContainer.js +21 -0
  966. data/vendor/assets/javascripts/dijit/layout/LayoutContainer.js.uncompressed.js +91 -0
  967. data/vendor/assets/javascripts/dijit/layout/LinkPane.js +10 -0
  968. data/vendor/assets/javascripts/dijit/layout/LinkPane.js.uncompressed.js +44 -0
  969. data/vendor/assets/javascripts/dijit/layout/ScrollingTabController.js +184 -0
  970. data/vendor/assets/javascripts/dijit/layout/ScrollingTabController.js.uncompressed.js +500 -0
  971. data/vendor/assets/javascripts/dijit/layout/SplitContainer.js +317 -0
  972. data/vendor/assets/javascripts/dijit/layout/SplitContainer.js.uncompressed.js +584 -0
  973. data/vendor/assets/javascripts/dijit/layout/StackContainer.js +156 -0
  974. data/vendor/assets/javascripts/dijit/layout/StackContainer.js.uncompressed.js +374 -0
  975. data/vendor/assets/javascripts/dijit/layout/StackController.js +200 -0
  976. data/vendor/assets/javascripts/dijit/layout/StackController.js.uncompressed.js +389 -0
  977. data/vendor/assets/javascripts/dijit/layout/TabContainer.js +12 -0
  978. data/vendor/assets/javascripts/dijit/layout/TabContainer.js.uncompressed.js +77 -0
  979. data/vendor/assets/javascripts/dijit/layout/TabController.js +53 -0
  980. data/vendor/assets/javascripts/dijit/layout/TabController.js.uncompressed.js +171 -0
  981. data/vendor/assets/javascripts/dijit/layout/_ContentPaneResizeMixin.js +97 -0
  982. data/vendor/assets/javascripts/dijit/layout/_ContentPaneResizeMixin.js.uncompressed.js +234 -0
  983. data/vendor/assets/javascripts/dijit/layout/_LayoutWidget.js +47 -0
  984. data/vendor/assets/javascripts/dijit/layout/_LayoutWidget.js.uncompressed.js +185 -0
  985. data/vendor/assets/javascripts/dijit/layout/_TabContainerBase.js +63 -0
  986. data/vendor/assets/javascripts/dijit/layout/_TabContainerBase.js.uncompressed.js +146 -0
  987. data/vendor/assets/javascripts/dijit/layout/utils.js +72 -0
  988. data/vendor/assets/javascripts/dijit/layout/utils.js.uncompressed.js +145 -0
  989. data/vendor/assets/javascripts/dijit/main.js +4 -0
  990. data/vendor/assets/javascripts/dijit/main.js.uncompressed.js +16 -0
  991. data/vendor/assets/javascripts/dijit/nls/ar/common.js +2 -0
  992. data/vendor/assets/javascripts/dijit/nls/ar/common.js.uncompressed.js +8 -0
  993. data/vendor/assets/javascripts/dijit/nls/ar/loading.js +2 -0
  994. data/vendor/assets/javascripts/dijit/nls/ar/loading.js.uncompressed.js +6 -0
  995. data/vendor/assets/javascripts/dijit/nls/az/common.js +2 -0
  996. data/vendor/assets/javascripts/dijit/nls/az/common.js.uncompressed.js +8 -0
  997. data/vendor/assets/javascripts/dijit/nls/az/loading.js +2 -0
  998. data/vendor/assets/javascripts/dijit/nls/az/loading.js.uncompressed.js +6 -0
  999. data/vendor/assets/javascripts/dijit/nls/ca/common.js +2 -0
  1000. data/vendor/assets/javascripts/dijit/nls/ca/common.js.uncompressed.js +8 -0
  1001. data/vendor/assets/javascripts/dijit/nls/ca/loading.js +2 -0
  1002. data/vendor/assets/javascripts/dijit/nls/ca/loading.js.uncompressed.js +6 -0
  1003. data/vendor/assets/javascripts/dijit/nls/common.js +2 -0
  1004. data/vendor/assets/javascripts/dijit/nls/common.js.uncompressed.js +42 -0
  1005. data/vendor/assets/javascripts/dijit/nls/cs/common.js +2 -0
  1006. data/vendor/assets/javascripts/dijit/nls/cs/common.js.uncompressed.js +8 -0
  1007. data/vendor/assets/javascripts/dijit/nls/cs/loading.js +2 -0
  1008. data/vendor/assets/javascripts/dijit/nls/cs/loading.js.uncompressed.js +6 -0
  1009. data/vendor/assets/javascripts/dijit/nls/da/common.js +2 -0
  1010. data/vendor/assets/javascripts/dijit/nls/da/common.js.uncompressed.js +8 -0
  1011. data/vendor/assets/javascripts/dijit/nls/da/loading.js +2 -0
  1012. data/vendor/assets/javascripts/dijit/nls/da/loading.js.uncompressed.js +6 -0
  1013. data/vendor/assets/javascripts/dijit/nls/de/common.js +2 -0
  1014. data/vendor/assets/javascripts/dijit/nls/de/common.js.uncompressed.js +8 -0
  1015. data/vendor/assets/javascripts/dijit/nls/de/loading.js +2 -0
  1016. data/vendor/assets/javascripts/dijit/nls/de/loading.js.uncompressed.js +6 -0
  1017. data/vendor/assets/javascripts/dijit/nls/dijit-all_ROOT.js +2 -0
  1018. data/vendor/assets/javascripts/dijit/nls/dijit-all_ROOT.js.uncompressed.js +21 -0
  1019. data/vendor/assets/javascripts/dijit/nls/dijit-all_ar.js +2 -0
  1020. data/vendor/assets/javascripts/dijit/nls/dijit-all_ar.js.uncompressed.js +21 -0
  1021. data/vendor/assets/javascripts/dijit/nls/dijit-all_ca.js +2 -0
  1022. data/vendor/assets/javascripts/dijit/nls/dijit-all_ca.js.uncompressed.js +21 -0
  1023. data/vendor/assets/javascripts/dijit/nls/dijit-all_cs.js +2 -0
  1024. data/vendor/assets/javascripts/dijit/nls/dijit-all_cs.js.uncompressed.js +21 -0
  1025. data/vendor/assets/javascripts/dijit/nls/dijit-all_da.js +2 -0
  1026. data/vendor/assets/javascripts/dijit/nls/dijit-all_da.js.uncompressed.js +21 -0
  1027. data/vendor/assets/javascripts/dijit/nls/dijit-all_de.js +2 -0
  1028. data/vendor/assets/javascripts/dijit/nls/dijit-all_de.js.uncompressed.js +21 -0
  1029. data/vendor/assets/javascripts/dijit/nls/dijit-all_el.js +2 -0
  1030. data/vendor/assets/javascripts/dijit/nls/dijit-all_el.js.uncompressed.js +21 -0
  1031. data/vendor/assets/javascripts/dijit/nls/dijit-all_en-gb.js +2 -0
  1032. data/vendor/assets/javascripts/dijit/nls/dijit-all_en-gb.js.uncompressed.js +21 -0
  1033. data/vendor/assets/javascripts/dijit/nls/dijit-all_en-us.js +2 -0
  1034. data/vendor/assets/javascripts/dijit/nls/dijit-all_en-us.js.uncompressed.js +21 -0
  1035. data/vendor/assets/javascripts/dijit/nls/dijit-all_es-es.js +2 -0
  1036. data/vendor/assets/javascripts/dijit/nls/dijit-all_es-es.js.uncompressed.js +21 -0
  1037. data/vendor/assets/javascripts/dijit/nls/dijit-all_fi-fi.js +2 -0
  1038. data/vendor/assets/javascripts/dijit/nls/dijit-all_fi-fi.js.uncompressed.js +21 -0
  1039. data/vendor/assets/javascripts/dijit/nls/dijit-all_fr-fr.js +2 -0
  1040. data/vendor/assets/javascripts/dijit/nls/dijit-all_fr-fr.js.uncompressed.js +21 -0
  1041. data/vendor/assets/javascripts/dijit/nls/dijit-all_he-il.js +2 -0
  1042. data/vendor/assets/javascripts/dijit/nls/dijit-all_he-il.js.uncompressed.js +21 -0
  1043. data/vendor/assets/javascripts/dijit/nls/dijit-all_hu.js +2 -0
  1044. data/vendor/assets/javascripts/dijit/nls/dijit-all_hu.js.uncompressed.js +21 -0
  1045. data/vendor/assets/javascripts/dijit/nls/dijit-all_it-it.js +2 -0
  1046. data/vendor/assets/javascripts/dijit/nls/dijit-all_it-it.js.uncompressed.js +21 -0
  1047. data/vendor/assets/javascripts/dijit/nls/dijit-all_ja-jp.js +2 -0
  1048. data/vendor/assets/javascripts/dijit/nls/dijit-all_ja-jp.js.uncompressed.js +21 -0
  1049. data/vendor/assets/javascripts/dijit/nls/dijit-all_ko-kr.js +2 -0
  1050. data/vendor/assets/javascripts/dijit/nls/dijit-all_ko-kr.js.uncompressed.js +21 -0
  1051. data/vendor/assets/javascripts/dijit/nls/dijit-all_nb.js +2 -0
  1052. data/vendor/assets/javascripts/dijit/nls/dijit-all_nb.js.uncompressed.js +21 -0
  1053. data/vendor/assets/javascripts/dijit/nls/dijit-all_nl-nl.js +2 -0
  1054. data/vendor/assets/javascripts/dijit/nls/dijit-all_nl-nl.js.uncompressed.js +21 -0
  1055. data/vendor/assets/javascripts/dijit/nls/dijit-all_pl.js +2 -0
  1056. data/vendor/assets/javascripts/dijit/nls/dijit-all_pl.js.uncompressed.js +21 -0
  1057. data/vendor/assets/javascripts/dijit/nls/dijit-all_pt-br.js +2 -0
  1058. data/vendor/assets/javascripts/dijit/nls/dijit-all_pt-br.js.uncompressed.js +21 -0
  1059. data/vendor/assets/javascripts/dijit/nls/dijit-all_pt-pt.js +2 -0
  1060. data/vendor/assets/javascripts/dijit/nls/dijit-all_pt-pt.js.uncompressed.js +21 -0
  1061. data/vendor/assets/javascripts/dijit/nls/dijit-all_ru.js +2 -0
  1062. data/vendor/assets/javascripts/dijit/nls/dijit-all_ru.js.uncompressed.js +21 -0
  1063. data/vendor/assets/javascripts/dijit/nls/dijit-all_sk.js +2 -0
  1064. data/vendor/assets/javascripts/dijit/nls/dijit-all_sk.js.uncompressed.js +21 -0
  1065. data/vendor/assets/javascripts/dijit/nls/dijit-all_sl.js +2 -0
  1066. data/vendor/assets/javascripts/dijit/nls/dijit-all_sl.js.uncompressed.js +21 -0
  1067. data/vendor/assets/javascripts/dijit/nls/dijit-all_sv.js +2 -0
  1068. data/vendor/assets/javascripts/dijit/nls/dijit-all_sv.js.uncompressed.js +21 -0
  1069. data/vendor/assets/javascripts/dijit/nls/dijit-all_th.js +2 -0
  1070. data/vendor/assets/javascripts/dijit/nls/dijit-all_th.js.uncompressed.js +21 -0
  1071. data/vendor/assets/javascripts/dijit/nls/dijit-all_tr.js +2 -0
  1072. data/vendor/assets/javascripts/dijit/nls/dijit-all_tr.js.uncompressed.js +21 -0
  1073. data/vendor/assets/javascripts/dijit/nls/dijit-all_zh-cn.js +2 -0
  1074. data/vendor/assets/javascripts/dijit/nls/dijit-all_zh-cn.js.uncompressed.js +21 -0
  1075. data/vendor/assets/javascripts/dijit/nls/dijit-all_zh-tw.js +2 -0
  1076. data/vendor/assets/javascripts/dijit/nls/dijit-all_zh-tw.js.uncompressed.js +21 -0
  1077. data/vendor/assets/javascripts/dijit/nls/el/common.js +2 -0
  1078. data/vendor/assets/javascripts/dijit/nls/el/common.js.uncompressed.js +8 -0
  1079. data/vendor/assets/javascripts/dijit/nls/el/loading.js +2 -0
  1080. data/vendor/assets/javascripts/dijit/nls/el/loading.js.uncompressed.js +6 -0
  1081. data/vendor/assets/javascripts/dijit/nls/es/common.js +2 -0
  1082. data/vendor/assets/javascripts/dijit/nls/es/common.js.uncompressed.js +8 -0
  1083. data/vendor/assets/javascripts/dijit/nls/es/loading.js +2 -0
  1084. data/vendor/assets/javascripts/dijit/nls/es/loading.js.uncompressed.js +6 -0
  1085. data/vendor/assets/javascripts/dijit/nls/fi/common.js +2 -0
  1086. data/vendor/assets/javascripts/dijit/nls/fi/common.js.uncompressed.js +8 -0
  1087. data/vendor/assets/javascripts/dijit/nls/fi/loading.js +2 -0
  1088. data/vendor/assets/javascripts/dijit/nls/fi/loading.js.uncompressed.js +6 -0
  1089. data/vendor/assets/javascripts/dijit/nls/fr/common.js +2 -0
  1090. data/vendor/assets/javascripts/dijit/nls/fr/common.js.uncompressed.js +8 -0
  1091. data/vendor/assets/javascripts/dijit/nls/fr/loading.js +2 -0
  1092. data/vendor/assets/javascripts/dijit/nls/fr/loading.js.uncompressed.js +6 -0
  1093. data/vendor/assets/javascripts/dijit/nls/he/common.js +2 -0
  1094. data/vendor/assets/javascripts/dijit/nls/he/common.js.uncompressed.js +8 -0
  1095. data/vendor/assets/javascripts/dijit/nls/he/loading.js +2 -0
  1096. data/vendor/assets/javascripts/dijit/nls/he/loading.js.uncompressed.js +6 -0
  1097. data/vendor/assets/javascripts/dijit/nls/hr/common.js +2 -0
  1098. data/vendor/assets/javascripts/dijit/nls/hr/common.js.uncompressed.js +8 -0
  1099. data/vendor/assets/javascripts/dijit/nls/hr/loading.js +2 -0
  1100. data/vendor/assets/javascripts/dijit/nls/hr/loading.js.uncompressed.js +6 -0
  1101. data/vendor/assets/javascripts/dijit/nls/hu/common.js +2 -0
  1102. data/vendor/assets/javascripts/dijit/nls/hu/common.js.uncompressed.js +8 -0
  1103. data/vendor/assets/javascripts/dijit/nls/hu/loading.js +2 -0
  1104. data/vendor/assets/javascripts/dijit/nls/hu/loading.js.uncompressed.js +6 -0
  1105. data/vendor/assets/javascripts/dijit/nls/it/common.js +2 -0
  1106. data/vendor/assets/javascripts/dijit/nls/it/common.js.uncompressed.js +8 -0
  1107. data/vendor/assets/javascripts/dijit/nls/it/loading.js +2 -0
  1108. data/vendor/assets/javascripts/dijit/nls/it/loading.js.uncompressed.js +6 -0
  1109. data/vendor/assets/javascripts/dijit/nls/ja/common.js +2 -0
  1110. data/vendor/assets/javascripts/dijit/nls/ja/common.js.uncompressed.js +8 -0
  1111. data/vendor/assets/javascripts/dijit/nls/ja/loading.js +2 -0
  1112. data/vendor/assets/javascripts/dijit/nls/ja/loading.js.uncompressed.js +6 -0
  1113. data/vendor/assets/javascripts/dijit/nls/kk/common.js +2 -0
  1114. data/vendor/assets/javascripts/dijit/nls/kk/common.js.uncompressed.js +8 -0
  1115. data/vendor/assets/javascripts/dijit/nls/kk/loading.js +2 -0
  1116. data/vendor/assets/javascripts/dijit/nls/kk/loading.js.uncompressed.js +6 -0
  1117. data/vendor/assets/javascripts/dijit/nls/ko/common.js +2 -0
  1118. data/vendor/assets/javascripts/dijit/nls/ko/common.js.uncompressed.js +8 -0
  1119. data/vendor/assets/javascripts/dijit/nls/ko/loading.js +2 -0
  1120. data/vendor/assets/javascripts/dijit/nls/ko/loading.js.uncompressed.js +6 -0
  1121. data/vendor/assets/javascripts/dijit/nls/loading.js +2 -0
  1122. data/vendor/assets/javascripts/dijit/nls/loading.js.uncompressed.js +40 -0
  1123. data/vendor/assets/javascripts/dijit/nls/nb/common.js +2 -0
  1124. data/vendor/assets/javascripts/dijit/nls/nb/common.js.uncompressed.js +8 -0
  1125. data/vendor/assets/javascripts/dijit/nls/nb/loading.js +2 -0
  1126. data/vendor/assets/javascripts/dijit/nls/nb/loading.js.uncompressed.js +6 -0
  1127. data/vendor/assets/javascripts/dijit/nls/nl/common.js +2 -0
  1128. data/vendor/assets/javascripts/dijit/nls/nl/common.js.uncompressed.js +8 -0
  1129. data/vendor/assets/javascripts/dijit/nls/nl/loading.js +2 -0
  1130. data/vendor/assets/javascripts/dijit/nls/nl/loading.js.uncompressed.js +6 -0
  1131. data/vendor/assets/javascripts/dijit/nls/pl/common.js +2 -0
  1132. data/vendor/assets/javascripts/dijit/nls/pl/common.js.uncompressed.js +8 -0
  1133. data/vendor/assets/javascripts/dijit/nls/pl/loading.js +2 -0
  1134. data/vendor/assets/javascripts/dijit/nls/pl/loading.js.uncompressed.js +6 -0
  1135. data/vendor/assets/javascripts/dijit/nls/pt/common.js +2 -0
  1136. data/vendor/assets/javascripts/dijit/nls/pt/common.js.uncompressed.js +8 -0
  1137. data/vendor/assets/javascripts/dijit/nls/pt/loading.js +2 -0
  1138. data/vendor/assets/javascripts/dijit/nls/pt/loading.js.uncompressed.js +6 -0
  1139. data/vendor/assets/javascripts/dijit/nls/pt-pt/common.js +2 -0
  1140. data/vendor/assets/javascripts/dijit/nls/pt-pt/common.js.uncompressed.js +8 -0
  1141. data/vendor/assets/javascripts/dijit/nls/pt-pt/loading.js +2 -0
  1142. data/vendor/assets/javascripts/dijit/nls/pt-pt/loading.js.uncompressed.js +6 -0
  1143. data/vendor/assets/javascripts/dijit/nls/ro/common.js +2 -0
  1144. data/vendor/assets/javascripts/dijit/nls/ro/common.js.uncompressed.js +8 -0
  1145. data/vendor/assets/javascripts/dijit/nls/ro/loading.js +2 -0
  1146. data/vendor/assets/javascripts/dijit/nls/ro/loading.js.uncompressed.js +6 -0
  1147. data/vendor/assets/javascripts/dijit/nls/ru/common.js +2 -0
  1148. data/vendor/assets/javascripts/dijit/nls/ru/common.js.uncompressed.js +8 -0
  1149. data/vendor/assets/javascripts/dijit/nls/ru/loading.js +2 -0
  1150. data/vendor/assets/javascripts/dijit/nls/ru/loading.js.uncompressed.js +6 -0
  1151. data/vendor/assets/javascripts/dijit/nls/sk/common.js +2 -0
  1152. data/vendor/assets/javascripts/dijit/nls/sk/common.js.uncompressed.js +8 -0
  1153. data/vendor/assets/javascripts/dijit/nls/sk/loading.js +2 -0
  1154. data/vendor/assets/javascripts/dijit/nls/sk/loading.js.uncompressed.js +6 -0
  1155. data/vendor/assets/javascripts/dijit/nls/sl/common.js +2 -0
  1156. data/vendor/assets/javascripts/dijit/nls/sl/common.js.uncompressed.js +8 -0
  1157. data/vendor/assets/javascripts/dijit/nls/sl/loading.js +2 -0
  1158. data/vendor/assets/javascripts/dijit/nls/sl/loading.js.uncompressed.js +6 -0
  1159. data/vendor/assets/javascripts/dijit/nls/sv/common.js +2 -0
  1160. data/vendor/assets/javascripts/dijit/nls/sv/common.js.uncompressed.js +8 -0
  1161. data/vendor/assets/javascripts/dijit/nls/sv/loading.js +2 -0
  1162. data/vendor/assets/javascripts/dijit/nls/sv/loading.js.uncompressed.js +6 -0
  1163. data/vendor/assets/javascripts/dijit/nls/th/common.js +2 -0
  1164. data/vendor/assets/javascripts/dijit/nls/th/common.js.uncompressed.js +8 -0
  1165. data/vendor/assets/javascripts/dijit/nls/th/loading.js +2 -0
  1166. data/vendor/assets/javascripts/dijit/nls/th/loading.js.uncompressed.js +6 -0
  1167. data/vendor/assets/javascripts/dijit/nls/tr/common.js +2 -0
  1168. data/vendor/assets/javascripts/dijit/nls/tr/common.js.uncompressed.js +8 -0
  1169. data/vendor/assets/javascripts/dijit/nls/tr/loading.js +2 -0
  1170. data/vendor/assets/javascripts/dijit/nls/tr/loading.js.uncompressed.js +6 -0
  1171. data/vendor/assets/javascripts/dijit/nls/zh/common.js +2 -0
  1172. data/vendor/assets/javascripts/dijit/nls/zh/common.js.uncompressed.js +8 -0
  1173. data/vendor/assets/javascripts/dijit/nls/zh/loading.js +2 -0
  1174. data/vendor/assets/javascripts/dijit/nls/zh/loading.js.uncompressed.js +6 -0
  1175. data/vendor/assets/javascripts/dijit/nls/zh-tw/common.js +2 -0
  1176. data/vendor/assets/javascripts/dijit/nls/zh-tw/common.js.uncompressed.js +8 -0
  1177. data/vendor/assets/javascripts/dijit/nls/zh-tw/loading.js +2 -0
  1178. data/vendor/assets/javascripts/dijit/nls/zh-tw/loading.js.uncompressed.js +6 -0
  1179. data/vendor/assets/javascripts/dijit/package.json +26 -0
  1180. data/vendor/assets/javascripts/dijit/place.js +126 -0
  1181. data/vendor/assets/javascripts/dijit/place.js.uncompressed.js +367 -0
  1182. data/vendor/assets/javascripts/dijit/popup.js +101 -0
  1183. data/vendor/assets/javascripts/dijit/popup.js.uncompressed.js +318 -0
  1184. data/vendor/assets/javascripts/dijit/registry.js +79 -0
  1185. data/vendor/assets/javascripts/dijit/registry.js.uncompressed.js +161 -0
  1186. data/vendor/assets/javascripts/dijit/tree/ForestStoreModel.js +77 -0
  1187. data/vendor/assets/javascripts/dijit/tree/ForestStoreModel.js.uncompressed.js +279 -0
  1188. data/vendor/assets/javascripts/dijit/tree/ObjectStoreModel.js +68 -0
  1189. data/vendor/assets/javascripts/dijit/tree/ObjectStoreModel.js.uncompressed.js +252 -0
  1190. data/vendor/assets/javascripts/dijit/tree/TreeStoreModel.js +146 -0
  1191. data/vendor/assets/javascripts/dijit/tree/TreeStoreModel.js.uncompressed.js +379 -0
  1192. data/vendor/assets/javascripts/dijit/tree/_dndContainer.js +35 -0
  1193. data/vendor/assets/javascripts/dijit/tree/_dndContainer.js.uncompressed.js +165 -0
  1194. data/vendor/assets/javascripts/dijit/tree/_dndSelector.js +186 -0
  1195. data/vendor/assets/javascripts/dijit/tree/_dndSelector.js.uncompressed.js +352 -0
  1196. data/vendor/assets/javascripts/dijit/tree/dndSource.js +256 -0
  1197. data/vendor/assets/javascripts/dijit/tree/dndSource.js.uncompressed.js +564 -0
  1198. data/vendor/assets/javascripts/dijit/tree/model.js +16 -0
  1199. data/vendor/assets/javascripts/dijit/tree/model.js.uncompressed.js +150 -0
  1200. data/vendor/assets/javascripts/dijit/typematic.js +103 -0
  1201. data/vendor/assets/javascripts/dijit/typematic.js.uncompressed.js +201 -0
  1202. data/vendor/assets/javascripts/dojo/AdapterRegistry.js +106 -0
  1203. data/vendor/assets/javascripts/dojo/Deferred.js +320 -0
  1204. data/vendor/assets/javascripts/dojo/DeferredList.js +84 -0
  1205. data/vendor/assets/javascripts/dojo/Evented.js +35 -0
  1206. data/vendor/assets/javascripts/dojo/LICENSE +195 -0
  1207. data/vendor/assets/javascripts/dojo/NodeList-data.js +198 -0
  1208. data/vendor/assets/javascripts/dojo/NodeList-dom.js +509 -0
  1209. data/vendor/assets/javascripts/dojo/NodeList-fx.js +221 -0
  1210. data/vendor/assets/javascripts/dojo/NodeList-html.js +53 -0
  1211. data/vendor/assets/javascripts/dojo/NodeList-manipulate.js +724 -0
  1212. data/vendor/assets/javascripts/dojo/NodeList-traverse.js +503 -0
  1213. data/vendor/assets/javascripts/dojo/NodeList.js +6 -0
  1214. data/vendor/assets/javascripts/dojo/OpenAjax.js +192 -0
  1215. data/vendor/assets/javascripts/dojo/Stateful.js +213 -0
  1216. data/vendor/assets/javascripts/dojo/_base/Color.js +214 -0
  1217. data/vendor/assets/javascripts/dojo/_base/Deferred.js +349 -0
  1218. data/vendor/assets/javascripts/dojo/_base/NodeList.js +110 -0
  1219. data/vendor/assets/javascripts/dojo/_base/array.js +343 -0
  1220. data/vendor/assets/javascripts/dojo/_base/browser.js +28 -0
  1221. data/vendor/assets/javascripts/dojo/_base/config.js +187 -0
  1222. data/vendor/assets/javascripts/dojo/_base/configFirefoxExtension.js +336 -0
  1223. data/vendor/assets/javascripts/dojo/_base/configNode.js +87 -0
  1224. data/vendor/assets/javascripts/dojo/_base/configRhino.js +121 -0
  1225. data/vendor/assets/javascripts/dojo/_base/configSpidermonkey.js +80 -0
  1226. data/vendor/assets/javascripts/dojo/_base/connect.js +374 -0
  1227. data/vendor/assets/javascripts/dojo/_base/declare.js +1045 -0
  1228. data/vendor/assets/javascripts/dojo/_base/event.js +59 -0
  1229. data/vendor/assets/javascripts/dojo/_base/fx.js +670 -0
  1230. data/vendor/assets/javascripts/dojo/_base/html.js +392 -0
  1231. data/vendor/assets/javascripts/dojo/_base/json.js +91 -0
  1232. data/vendor/assets/javascripts/dojo/_base/kernel.js +299 -0
  1233. data/vendor/assets/javascripts/dojo/_base/lang.js +605 -0
  1234. data/vendor/assets/javascripts/dojo/_base/loader.js +776 -0
  1235. data/vendor/assets/javascripts/dojo/_base/query.js +13 -0
  1236. data/vendor/assets/javascripts/dojo/_base/sniff.js +96 -0
  1237. data/vendor/assets/javascripts/dojo/_base/unload.js +82 -0
  1238. data/vendor/assets/javascripts/dojo/_base/url.js +109 -0
  1239. data/vendor/assets/javascripts/dojo/_base/window.js +134 -0
  1240. data/vendor/assets/javascripts/dojo/_base/xhr.js +710 -0
  1241. data/vendor/assets/javascripts/dojo/_firebug/LICENSE +37 -0
  1242. data/vendor/assets/javascripts/dojo/_firebug/errorIcon.png +0 -0
  1243. data/vendor/assets/javascripts/dojo/_firebug/firebug.css +211 -0
  1244. data/vendor/assets/javascripts/dojo/_firebug/firebug.js +1191 -0
  1245. data/vendor/assets/javascripts/dojo/_firebug/infoIcon.png +0 -0
  1246. data/vendor/assets/javascripts/dojo/_firebug/tab_lft_norm.png +0 -0
  1247. data/vendor/assets/javascripts/dojo/_firebug/tab_lft_over.png +0 -0
  1248. data/vendor/assets/javascripts/dojo/_firebug/tab_rgt_norm.png +0 -0
  1249. data/vendor/assets/javascripts/dojo/_firebug/tab_rgt_over.png +0 -0
  1250. data/vendor/assets/javascripts/dojo/_firebug/warningIcon.png +0 -0
  1251. data/vendor/assets/javascripts/dojo/aspect.js +216 -0
  1252. data/vendor/assets/javascripts/dojo/back.js +397 -0
  1253. data/vendor/assets/javascripts/dojo/behavior.js +249 -0
  1254. data/vendor/assets/javascripts/dojo/cache.js +7 -0
  1255. data/vendor/assets/javascripts/dojo/cldr/LICENSE +29 -0
  1256. data/vendor/assets/javascripts/dojo/cldr/README +18 -0
  1257. data/vendor/assets/javascripts/dojo/cldr/monetary.js +40 -0
  1258. data/vendor/assets/javascripts/dojo/cldr/nls/ar/buddhist.js +201 -0
  1259. data/vendor/assets/javascripts/dojo/cldr/nls/ar/currency.js +23 -0
  1260. data/vendor/assets/javascripts/dojo/cldr/nls/ar/gregorian.js +280 -0
  1261. data/vendor/assets/javascripts/dojo/cldr/nls/ar/hebrew.js +180 -0
  1262. data/vendor/assets/javascripts/dojo/cldr/nls/ar/islamic.js +217 -0
  1263. data/vendor/assets/javascripts/dojo/cldr/nls/ar/number.js +22 -0
  1264. data/vendor/assets/javascripts/dojo/cldr/nls/buddhist.js +287 -0
  1265. data/vendor/assets/javascripts/dojo/cldr/nls/ca/buddhist.js +231 -0
  1266. data/vendor/assets/javascripts/dojo/cldr/nls/ca/currency.js +23 -0
  1267. data/vendor/assets/javascripts/dojo/cldr/nls/ca/gregorian.js +281 -0
  1268. data/vendor/assets/javascripts/dojo/cldr/nls/ca/number.js +22 -0
  1269. data/vendor/assets/javascripts/dojo/cldr/nls/cs/buddhist.js +186 -0
  1270. data/vendor/assets/javascripts/dojo/cldr/nls/cs/currency.js +23 -0
  1271. data/vendor/assets/javascripts/dojo/cldr/nls/cs/gregorian.js +279 -0
  1272. data/vendor/assets/javascripts/dojo/cldr/nls/cs/islamic.js +115 -0
  1273. data/vendor/assets/javascripts/dojo/cldr/nls/cs/number.js +22 -0
  1274. data/vendor/assets/javascripts/dojo/cldr/nls/currency.js +50 -0
  1275. data/vendor/assets/javascripts/dojo/cldr/nls/da/buddhist.js +226 -0
  1276. data/vendor/assets/javascripts/dojo/cldr/nls/da/currency.js +23 -0
  1277. data/vendor/assets/javascripts/dojo/cldr/nls/da/gregorian.js +284 -0
  1278. data/vendor/assets/javascripts/dojo/cldr/nls/da/islamic.js +146 -0
  1279. data/vendor/assets/javascripts/dojo/cldr/nls/da/number.js +22 -0
  1280. data/vendor/assets/javascripts/dojo/cldr/nls/de/buddhist.js +212 -0
  1281. data/vendor/assets/javascripts/dojo/cldr/nls/de/currency.js +23 -0
  1282. data/vendor/assets/javascripts/dojo/cldr/nls/de/gregorian.js +290 -0
  1283. data/vendor/assets/javascripts/dojo/cldr/nls/de/islamic.js +134 -0
  1284. data/vendor/assets/javascripts/dojo/cldr/nls/de/number.js +22 -0
  1285. data/vendor/assets/javascripts/dojo/cldr/nls/el/buddhist.js +212 -0
  1286. data/vendor/assets/javascripts/dojo/cldr/nls/el/currency.js +16 -0
  1287. data/vendor/assets/javascripts/dojo/cldr/nls/el/gregorian.js +287 -0
  1288. data/vendor/assets/javascripts/dojo/cldr/nls/el/hebrew.js +136 -0
  1289. data/vendor/assets/javascripts/dojo/cldr/nls/el/number.js +21 -0
  1290. data/vendor/assets/javascripts/dojo/cldr/nls/en/buddhist.js +123 -0
  1291. data/vendor/assets/javascripts/dojo/cldr/nls/en/currency.js +17 -0
  1292. data/vendor/assets/javascripts/dojo/cldr/nls/en/gregorian.js +265 -0
  1293. data/vendor/assets/javascripts/dojo/cldr/nls/en/islamic.js +92 -0
  1294. data/vendor/assets/javascripts/dojo/cldr/nls/en/number.js +22 -0
  1295. data/vendor/assets/javascripts/dojo/cldr/nls/en-au/currency.js +8 -0
  1296. data/vendor/assets/javascripts/dojo/cldr/nls/en-au/gregorian.js +24 -0
  1297. data/vendor/assets/javascripts/dojo/cldr/nls/en-au/number.js +7 -0
  1298. data/vendor/assets/javascripts/dojo/cldr/nls/en-ca/currency.js +8 -0
  1299. data/vendor/assets/javascripts/dojo/cldr/nls/en-ca/gregorian.js +10 -0
  1300. data/vendor/assets/javascripts/dojo/cldr/nls/en-gb/buddhist.js +119 -0
  1301. data/vendor/assets/javascripts/dojo/cldr/nls/en-gb/currency.js +18 -0
  1302. data/vendor/assets/javascripts/dojo/cldr/nls/en-gb/gregorian.js +54 -0
  1303. data/vendor/assets/javascripts/dojo/cldr/nls/en-gb/islamic.js +79 -0
  1304. data/vendor/assets/javascripts/dojo/cldr/nls/en-gb/number.js +8 -0
  1305. data/vendor/assets/javascripts/dojo/cldr/nls/es/buddhist.js +176 -0
  1306. data/vendor/assets/javascripts/dojo/cldr/nls/es/currency.js +16 -0
  1307. data/vendor/assets/javascripts/dojo/cldr/nls/es/gregorian.js +283 -0
  1308. data/vendor/assets/javascripts/dojo/cldr/nls/es/islamic.js +126 -0
  1309. data/vendor/assets/javascripts/dojo/cldr/nls/es/number.js +22 -0
  1310. data/vendor/assets/javascripts/dojo/cldr/nls/fi/buddhist.js +232 -0
  1311. data/vendor/assets/javascripts/dojo/cldr/nls/fi/currency.js +23 -0
  1312. data/vendor/assets/javascripts/dojo/cldr/nls/fi/gregorian.js +287 -0
  1313. data/vendor/assets/javascripts/dojo/cldr/nls/fi/hebrew.js +229 -0
  1314. data/vendor/assets/javascripts/dojo/cldr/nls/fi/islamic.js +209 -0
  1315. data/vendor/assets/javascripts/dojo/cldr/nls/fi/number.js +22 -0
  1316. data/vendor/assets/javascripts/dojo/cldr/nls/fr/buddhist.js +230 -0
  1317. data/vendor/assets/javascripts/dojo/cldr/nls/fr/currency.js +23 -0
  1318. data/vendor/assets/javascripts/dojo/cldr/nls/fr/gregorian.js +294 -0
  1319. data/vendor/assets/javascripts/dojo/cldr/nls/fr/hebrew.js +181 -0
  1320. data/vendor/assets/javascripts/dojo/cldr/nls/fr/islamic.js +238 -0
  1321. data/vendor/assets/javascripts/dojo/cldr/nls/fr/number.js +22 -0
  1322. data/vendor/assets/javascripts/dojo/cldr/nls/fr-ch/gregorian.js +9 -0
  1323. data/vendor/assets/javascripts/dojo/cldr/nls/fr-ch/number.js +9 -0
  1324. data/vendor/assets/javascripts/dojo/cldr/nls/gregorian.js +314 -0
  1325. data/vendor/assets/javascripts/dojo/cldr/nls/he/currency.js +15 -0
  1326. data/vendor/assets/javascripts/dojo/cldr/nls/he/gregorian.js +282 -0
  1327. data/vendor/assets/javascripts/dojo/cldr/nls/he/hebrew.js +202 -0
  1328. data/vendor/assets/javascripts/dojo/cldr/nls/he/islamic.js +179 -0
  1329. data/vendor/assets/javascripts/dojo/cldr/nls/he/number.js +22 -0
  1330. data/vendor/assets/javascripts/dojo/cldr/nls/hebrew.js +289 -0
  1331. data/vendor/assets/javascripts/dojo/cldr/nls/hu/buddhist.js +224 -0
  1332. data/vendor/assets/javascripts/dojo/cldr/nls/hu/currency.js +23 -0
  1333. data/vendor/assets/javascripts/dojo/cldr/nls/hu/gregorian.js +276 -0
  1334. data/vendor/assets/javascripts/dojo/cldr/nls/hu/hebrew.js +203 -0
  1335. data/vendor/assets/javascripts/dojo/cldr/nls/hu/islamic.js +214 -0
  1336. data/vendor/assets/javascripts/dojo/cldr/nls/hu/number.js +22 -0
  1337. data/vendor/assets/javascripts/dojo/cldr/nls/islamic.js +287 -0
  1338. data/vendor/assets/javascripts/dojo/cldr/nls/it/buddhist.js +213 -0
  1339. data/vendor/assets/javascripts/dojo/cldr/nls/it/currency.js +17 -0
  1340. data/vendor/assets/javascripts/dojo/cldr/nls/it/gregorian.js +281 -0
  1341. data/vendor/assets/javascripts/dojo/cldr/nls/it/islamic.js +125 -0
  1342. data/vendor/assets/javascripts/dojo/cldr/nls/it/number.js +22 -0
  1343. data/vendor/assets/javascripts/dojo/cldr/nls/ja/buddhist.js +132 -0
  1344. data/vendor/assets/javascripts/dojo/cldr/nls/ja/currency.js +23 -0
  1345. data/vendor/assets/javascripts/dojo/cldr/nls/ja/gregorian.js +269 -0
  1346. data/vendor/assets/javascripts/dojo/cldr/nls/ja/hebrew.js +195 -0
  1347. data/vendor/assets/javascripts/dojo/cldr/nls/ja/islamic.js +183 -0
  1348. data/vendor/assets/javascripts/dojo/cldr/nls/ja/number.js +22 -0
  1349. data/vendor/assets/javascripts/dojo/cldr/nls/ko/buddhist.js +145 -0
  1350. data/vendor/assets/javascripts/dojo/cldr/nls/ko/currency.js +16 -0
  1351. data/vendor/assets/javascripts/dojo/cldr/nls/ko/gregorian.js +283 -0
  1352. data/vendor/assets/javascripts/dojo/cldr/nls/ko/number.js +22 -0
  1353. data/vendor/assets/javascripts/dojo/cldr/nls/nb/buddhist.js +224 -0
  1354. data/vendor/assets/javascripts/dojo/cldr/nls/nb/currency.js +17 -0
  1355. data/vendor/assets/javascripts/dojo/cldr/nls/nb/gregorian.js +283 -0
  1356. data/vendor/assets/javascripts/dojo/cldr/nls/nb/islamic.js +151 -0
  1357. data/vendor/assets/javascripts/dojo/cldr/nls/nb/number.js +22 -0
  1358. data/vendor/assets/javascripts/dojo/cldr/nls/nl/buddhist.js +218 -0
  1359. data/vendor/assets/javascripts/dojo/cldr/nls/nl/currency.js +22 -0
  1360. data/vendor/assets/javascripts/dojo/cldr/nls/nl/gregorian.js +284 -0
  1361. data/vendor/assets/javascripts/dojo/cldr/nls/nl/hebrew.js +180 -0
  1362. data/vendor/assets/javascripts/dojo/cldr/nls/nl/islamic.js +220 -0
  1363. data/vendor/assets/javascripts/dojo/cldr/nls/nl/number.js +22 -0
  1364. data/vendor/assets/javascripts/dojo/cldr/nls/number.js +63 -0
  1365. data/vendor/assets/javascripts/dojo/cldr/nls/pl/buddhist.js +227 -0
  1366. data/vendor/assets/javascripts/dojo/cldr/nls/pl/currency.js +16 -0
  1367. data/vendor/assets/javascripts/dojo/cldr/nls/pl/gregorian.js +287 -0
  1368. data/vendor/assets/javascripts/dojo/cldr/nls/pl/hebrew.js +193 -0
  1369. data/vendor/assets/javascripts/dojo/cldr/nls/pl/islamic.js +222 -0
  1370. data/vendor/assets/javascripts/dojo/cldr/nls/pl/number.js +22 -0
  1371. data/vendor/assets/javascripts/dojo/cldr/nls/pt/buddhist.js +221 -0
  1372. data/vendor/assets/javascripts/dojo/cldr/nls/pt/currency.js +23 -0
  1373. data/vendor/assets/javascripts/dojo/cldr/nls/pt/gregorian.js +291 -0
  1374. data/vendor/assets/javascripts/dojo/cldr/nls/pt/hebrew.js +184 -0
  1375. data/vendor/assets/javascripts/dojo/cldr/nls/pt/islamic.js +150 -0
  1376. data/vendor/assets/javascripts/dojo/cldr/nls/pt/number.js +22 -0
  1377. data/vendor/assets/javascripts/dojo/cldr/nls/pt-pt/buddhist.js +216 -0
  1378. data/vendor/assets/javascripts/dojo/cldr/nls/pt-pt/currency.js +8 -0
  1379. data/vendor/assets/javascripts/dojo/cldr/nls/pt-pt/gregorian.js +194 -0
  1380. data/vendor/assets/javascripts/dojo/cldr/nls/pt-pt/islamic.js +133 -0
  1381. data/vendor/assets/javascripts/dojo/cldr/nls/pt-pt/number.js +11 -0
  1382. data/vendor/assets/javascripts/dojo/cldr/nls/ro/buddhist.js +225 -0
  1383. data/vendor/assets/javascripts/dojo/cldr/nls/ro/currency.js +16 -0
  1384. data/vendor/assets/javascripts/dojo/cldr/nls/ro/gregorian.js +281 -0
  1385. data/vendor/assets/javascripts/dojo/cldr/nls/ro/hebrew.js +199 -0
  1386. data/vendor/assets/javascripts/dojo/cldr/nls/ro/islamic.js +135 -0
  1387. data/vendor/assets/javascripts/dojo/cldr/nls/ro/number.js +22 -0
  1388. data/vendor/assets/javascripts/dojo/cldr/nls/ru/buddhist.js +233 -0
  1389. data/vendor/assets/javascripts/dojo/cldr/nls/ru/currency.js +17 -0
  1390. data/vendor/assets/javascripts/dojo/cldr/nls/ru/gregorian.js +282 -0
  1391. data/vendor/assets/javascripts/dojo/cldr/nls/ru/hebrew.js +199 -0
  1392. data/vendor/assets/javascripts/dojo/cldr/nls/ru/islamic.js +227 -0
  1393. data/vendor/assets/javascripts/dojo/cldr/nls/ru/number.js +22 -0
  1394. data/vendor/assets/javascripts/dojo/cldr/nls/sk/currency.js +23 -0
  1395. data/vendor/assets/javascripts/dojo/cldr/nls/sk/gregorian.js +281 -0
  1396. data/vendor/assets/javascripts/dojo/cldr/nls/sk/number.js +22 -0
  1397. data/vendor/assets/javascripts/dojo/cldr/nls/sl/currency.js +17 -0
  1398. data/vendor/assets/javascripts/dojo/cldr/nls/sl/gregorian.js +271 -0
  1399. data/vendor/assets/javascripts/dojo/cldr/nls/sl/number.js +22 -0
  1400. data/vendor/assets/javascripts/dojo/cldr/nls/sv/buddhist.js +233 -0
  1401. data/vendor/assets/javascripts/dojo/cldr/nls/sv/currency.js +23 -0
  1402. data/vendor/assets/javascripts/dojo/cldr/nls/sv/gregorian.js +287 -0
  1403. data/vendor/assets/javascripts/dojo/cldr/nls/sv/hebrew.js +188 -0
  1404. data/vendor/assets/javascripts/dojo/cldr/nls/sv/islamic.js +210 -0
  1405. data/vendor/assets/javascripts/dojo/cldr/nls/sv/number.js +24 -0
  1406. data/vendor/assets/javascripts/dojo/cldr/nls/th/buddhist.js +236 -0
  1407. data/vendor/assets/javascripts/dojo/cldr/nls/th/currency.js +23 -0
  1408. data/vendor/assets/javascripts/dojo/cldr/nls/th/gregorian.js +282 -0
  1409. data/vendor/assets/javascripts/dojo/cldr/nls/th/hebrew.js +202 -0
  1410. data/vendor/assets/javascripts/dojo/cldr/nls/th/islamic.js +236 -0
  1411. data/vendor/assets/javascripts/dojo/cldr/nls/th/number.js +22 -0
  1412. data/vendor/assets/javascripts/dojo/cldr/nls/tr/buddhist.js +235 -0
  1413. data/vendor/assets/javascripts/dojo/cldr/nls/tr/currency.js +23 -0
  1414. data/vendor/assets/javascripts/dojo/cldr/nls/tr/gregorian.js +282 -0
  1415. data/vendor/assets/javascripts/dojo/cldr/nls/tr/hebrew.js +193 -0
  1416. data/vendor/assets/javascripts/dojo/cldr/nls/tr/islamic.js +227 -0
  1417. data/vendor/assets/javascripts/dojo/cldr/nls/tr/number.js +22 -0
  1418. data/vendor/assets/javascripts/dojo/cldr/nls/zh/buddhist.js +213 -0
  1419. data/vendor/assets/javascripts/dojo/cldr/nls/zh/currency.js +23 -0
  1420. data/vendor/assets/javascripts/dojo/cldr/nls/zh/gregorian.js +297 -0
  1421. data/vendor/assets/javascripts/dojo/cldr/nls/zh/hebrew.js +209 -0
  1422. data/vendor/assets/javascripts/dojo/cldr/nls/zh/islamic.js +241 -0
  1423. data/vendor/assets/javascripts/dojo/cldr/nls/zh/number.js +22 -0
  1424. data/vendor/assets/javascripts/dojo/cldr/nls/zh-hant/buddhist.js +212 -0
  1425. data/vendor/assets/javascripts/dojo/cldr/nls/zh-hant/currency.js +23 -0
  1426. data/vendor/assets/javascripts/dojo/cldr/nls/zh-hant/gregorian.js +265 -0
  1427. data/vendor/assets/javascripts/dojo/cldr/nls/zh-hant/hebrew.js +211 -0
  1428. data/vendor/assets/javascripts/dojo/cldr/nls/zh-hant/islamic.js +243 -0
  1429. data/vendor/assets/javascripts/dojo/cldr/nls/zh-hant/number.js +22 -0
  1430. data/vendor/assets/javascripts/dojo/cldr/nls/zh-hk/currency.js +16 -0
  1431. data/vendor/assets/javascripts/dojo/cldr/nls/zh-hk/gregorian.js +99 -0
  1432. data/vendor/assets/javascripts/dojo/cldr/nls/zh-hk/number.js +9 -0
  1433. data/vendor/assets/javascripts/dojo/cldr/nls/zh-tw/currency.js +16 -0
  1434. data/vendor/assets/javascripts/dojo/cldr/nls/zh-tw/gregorian.js +99 -0
  1435. data/vendor/assets/javascripts/dojo/cldr/nls/zh-tw/number.js +9 -0
  1436. data/vendor/assets/javascripts/dojo/cldr/supplemental.js +84 -0
  1437. data/vendor/assets/javascripts/dojo/colors.js +232 -0
  1438. data/vendor/assets/javascripts/dojo/cookie.js +98 -0
  1439. data/vendor/assets/javascripts/dojo/currency.js +130 -0
  1440. data/vendor/assets/javascripts/dojo/data/ItemFileReadStore.js +951 -0
  1441. data/vendor/assets/javascripts/dojo/data/ItemFileWriteStore.js +816 -0
  1442. data/vendor/assets/javascripts/dojo/data/ObjectStore.js +544 -0
  1443. data/vendor/assets/javascripts/dojo/data/api/Identity.js +109 -0
  1444. data/vendor/assets/javascripts/dojo/data/api/Item.js +13 -0
  1445. data/vendor/assets/javascripts/dojo/data/api/Notification.js +110 -0
  1446. data/vendor/assets/javascripts/dojo/data/api/Read.js +486 -0
  1447. data/vendor/assets/javascripts/dojo/data/api/Request.js +33 -0
  1448. data/vendor/assets/javascripts/dojo/data/api/Write.js +206 -0
  1449. data/vendor/assets/javascripts/dojo/data/util/filter.js +77 -0
  1450. data/vendor/assets/javascripts/dojo/data/util/simpleFetch.js +240 -0
  1451. data/vendor/assets/javascripts/dojo/data/util/sorter.js +99 -0
  1452. data/vendor/assets/javascripts/dojo/date/locale.js +694 -0
  1453. data/vendor/assets/javascripts/dojo/date/stamp.js +144 -0
  1454. data/vendor/assets/javascripts/dojo/date.js +346 -0
  1455. data/vendor/assets/javascripts/dojo/dnd/AutoSource.js +12 -0
  1456. data/vendor/assets/javascripts/dojo/dnd/Avatar.js +122 -0
  1457. data/vendor/assets/javascripts/dojo/dnd/Container.js +456 -0
  1458. data/vendor/assets/javascripts/dojo/dnd/Manager.js +223 -0
  1459. data/vendor/assets/javascripts/dojo/dnd/Moveable.js +185 -0
  1460. data/vendor/assets/javascripts/dojo/dnd/Mover.js +124 -0
  1461. data/vendor/assets/javascripts/dojo/dnd/Selector.js +331 -0
  1462. data/vendor/assets/javascripts/dojo/dnd/Source.js +506 -0
  1463. data/vendor/assets/javascripts/dojo/dnd/Target.js +13 -0
  1464. data/vendor/assets/javascripts/dojo/dnd/TimedMoveable.js +64 -0
  1465. data/vendor/assets/javascripts/dojo/dnd/autoscroll.js +149 -0
  1466. data/vendor/assets/javascripts/dojo/dnd/common.js +42 -0
  1467. data/vendor/assets/javascripts/dojo/dnd/move.js +147 -0
  1468. data/vendor/assets/javascripts/dojo/dojo.js +1968 -0
  1469. data/vendor/assets/javascripts/dojo/dojo.profile.js +40 -0
  1470. data/vendor/assets/javascripts/dojo/dom-attr.js +220 -0
  1471. data/vendor/assets/javascripts/dojo/dom-class.js +326 -0
  1472. data/vendor/assets/javascripts/dojo/dom-construct.js +329 -0
  1473. data/vendor/assets/javascripts/dojo/dom-form.js +149 -0
  1474. data/vendor/assets/javascripts/dojo/dom-geometry.js +605 -0
  1475. data/vendor/assets/javascripts/dojo/dom-prop.js +181 -0
  1476. data/vendor/assets/javascripts/dojo/dom-style.js +306 -0
  1477. data/vendor/assets/javascripts/dojo/dom.js +185 -0
  1478. data/vendor/assets/javascripts/dojo/domReady.js +97 -0
  1479. data/vendor/assets/javascripts/dojo/errors/CancelError.js +13 -0
  1480. data/vendor/assets/javascripts/dojo/errors/RequestError.js +15 -0
  1481. data/vendor/assets/javascripts/dojo/errors/RequestTimeoutError.js +15 -0
  1482. data/vendor/assets/javascripts/dojo/errors/create.js +41 -0
  1483. data/vendor/assets/javascripts/dojo/fx/Toggler.js +101 -0
  1484. data/vendor/assets/javascripts/dojo/fx/easing.js +276 -0
  1485. data/vendor/assets/javascripts/dojo/fx.js +419 -0
  1486. data/vendor/assets/javascripts/dojo/gears.js +65 -0
  1487. data/vendor/assets/javascripts/dojo/has.js +173 -0
  1488. data/vendor/assets/javascripts/dojo/hash.js +256 -0
  1489. data/vendor/assets/javascripts/dojo/hccss.js +54 -0
  1490. data/vendor/assets/javascripts/dojo/html.js +374 -0
  1491. data/vendor/assets/javascripts/dojo/i18n.js +550 -0
  1492. data/vendor/assets/javascripts/dojo/io/iframe.js +190 -0
  1493. data/vendor/assets/javascripts/dojo/io/script.js +249 -0
  1494. data/vendor/assets/javascripts/dojo/io-query.js +97 -0
  1495. data/vendor/assets/javascripts/dojo/jaxer.js +17 -0
  1496. data/vendor/assets/javascripts/dojo/json.js +162 -0
  1497. data/vendor/assets/javascripts/dojo/keys.js +77 -0
  1498. data/vendor/assets/javascripts/dojo/loadInit.js +7 -0
  1499. data/vendor/assets/javascripts/dojo/main.js +52 -0
  1500. data/vendor/assets/javascripts/dojo/mouse.js +171 -0
  1501. data/vendor/assets/javascripts/dojo/nls/ar/colors.js +156 -0
  1502. data/vendor/assets/javascripts/dojo/nls/az/colors.js +151 -0
  1503. data/vendor/assets/javascripts/dojo/nls/ca/colors.js +156 -0
  1504. data/vendor/assets/javascripts/dojo/nls/colors.js +191 -0
  1505. data/vendor/assets/javascripts/dojo/nls/cs/colors.js +156 -0
  1506. data/vendor/assets/javascripts/dojo/nls/da/colors.js +156 -0
  1507. data/vendor/assets/javascripts/dojo/nls/de/colors.js +156 -0
  1508. data/vendor/assets/javascripts/dojo/nls/el/colors.js +156 -0
  1509. data/vendor/assets/javascripts/dojo/nls/es/colors.js +156 -0
  1510. data/vendor/assets/javascripts/dojo/nls/fi/colors.js +156 -0
  1511. data/vendor/assets/javascripts/dojo/nls/fr/colors.js +156 -0
  1512. data/vendor/assets/javascripts/dojo/nls/he/colors.js +156 -0
  1513. data/vendor/assets/javascripts/dojo/nls/hr/colors.js +156 -0
  1514. data/vendor/assets/javascripts/dojo/nls/hu/colors.js +156 -0
  1515. data/vendor/assets/javascripts/dojo/nls/it/colors.js +156 -0
  1516. data/vendor/assets/javascripts/dojo/nls/ja/colors.js +156 -0
  1517. data/vendor/assets/javascripts/dojo/nls/kk/colors.js +156 -0
  1518. data/vendor/assets/javascripts/dojo/nls/ko/colors.js +156 -0
  1519. data/vendor/assets/javascripts/dojo/nls/nb/colors.js +156 -0
  1520. data/vendor/assets/javascripts/dojo/nls/nl/colors.js +156 -0
  1521. data/vendor/assets/javascripts/dojo/nls/pl/colors.js +156 -0
  1522. data/vendor/assets/javascripts/dojo/nls/pt/colors.js +156 -0
  1523. data/vendor/assets/javascripts/dojo/nls/pt-pt/colors.js +156 -0
  1524. data/vendor/assets/javascripts/dojo/nls/ro/colors.js +156 -0
  1525. data/vendor/assets/javascripts/dojo/nls/ru/colors.js +156 -0
  1526. data/vendor/assets/javascripts/dojo/nls/sk/colors.js +156 -0
  1527. data/vendor/assets/javascripts/dojo/nls/sl/colors.js +156 -0
  1528. data/vendor/assets/javascripts/dojo/nls/sv/colors.js +156 -0
  1529. data/vendor/assets/javascripts/dojo/nls/th/colors.js +157 -0
  1530. data/vendor/assets/javascripts/dojo/nls/tr/colors.js +156 -0
  1531. data/vendor/assets/javascripts/dojo/nls/zh/colors.js +156 -0
  1532. data/vendor/assets/javascripts/dojo/nls/zh-tw/colors.js +156 -0
  1533. data/vendor/assets/javascripts/dojo/node.js +27 -0
  1534. data/vendor/assets/javascripts/dojo/number.js +553 -0
  1535. data/vendor/assets/javascripts/dojo/on.js +514 -0
  1536. data/vendor/assets/javascripts/dojo/package.json +23 -0
  1537. data/vendor/assets/javascripts/dojo/parser.js +865 -0
  1538. data/vendor/assets/javascripts/dojo/promise/Promise.js +133 -0
  1539. data/vendor/assets/javascripts/dojo/promise/all.js +76 -0
  1540. data/vendor/assets/javascripts/dojo/promise/first.js +49 -0
  1541. data/vendor/assets/javascripts/dojo/promise/instrumentation.js +105 -0
  1542. data/vendor/assets/javascripts/dojo/promise/tracer.js +85 -0
  1543. data/vendor/assets/javascripts/dojo/query.js +705 -0
  1544. data/vendor/assets/javascripts/dojo/ready.js +136 -0
  1545. data/vendor/assets/javascripts/dojo/regexp.js +70 -0
  1546. data/vendor/assets/javascripts/dojo/request/default.js +32 -0
  1547. data/vendor/assets/javascripts/dojo/request/handlers.js +62 -0
  1548. data/vendor/assets/javascripts/dojo/request/iframe.js +430 -0
  1549. data/vendor/assets/javascripts/dojo/request/node.js +191 -0
  1550. data/vendor/assets/javascripts/dojo/request/notify.js +74 -0
  1551. data/vendor/assets/javascripts/dojo/request/registry.js +85 -0
  1552. data/vendor/assets/javascripts/dojo/request/script.js +218 -0
  1553. data/vendor/assets/javascripts/dojo/request/util.js +145 -0
  1554. data/vendor/assets/javascripts/dojo/request/watch.js +109 -0
  1555. data/vendor/assets/javascripts/dojo/request/xhr.js +316 -0
  1556. data/vendor/assets/javascripts/dojo/request.js +81 -0
  1557. data/vendor/assets/javascripts/dojo/require.js +7 -0
  1558. data/vendor/assets/javascripts/dojo/resources/LICENSE +30 -0
  1559. data/vendor/assets/javascripts/dojo/resources/blank.gif +0 -0
  1560. data/vendor/assets/javascripts/dojo/resources/blank.html +1 -0
  1561. data/vendor/assets/javascripts/dojo/resources/dnd.css +16 -0
  1562. data/vendor/assets/javascripts/dojo/resources/dojo.css +196 -0
  1563. data/vendor/assets/javascripts/dojo/resources/iframe_history.html +44 -0
  1564. data/vendor/assets/javascripts/dojo/resources/images/dndCopy.png +0 -0
  1565. data/vendor/assets/javascripts/dojo/resources/images/dndMove.png +0 -0
  1566. data/vendor/assets/javascripts/dojo/resources/images/dndNoCopy.png +0 -0
  1567. data/vendor/assets/javascripts/dojo/resources/images/dndNoMove.png +0 -0
  1568. data/vendor/assets/javascripts/dojo/robot.js +170 -0
  1569. data/vendor/assets/javascripts/dojo/robotx.js +195 -0
  1570. data/vendor/assets/javascripts/dojo/router/RouterBase.js +350 -0
  1571. data/vendor/assets/javascripts/dojo/router.js +28 -0
  1572. data/vendor/assets/javascripts/dojo/rpc/JsonService.js +87 -0
  1573. data/vendor/assets/javascripts/dojo/rpc/JsonpService.js +66 -0
  1574. data/vendor/assets/javascripts/dojo/rpc/RpcService.js +178 -0
  1575. data/vendor/assets/javascripts/dojo/selector/_loader.js +47 -0
  1576. data/vendor/assets/javascripts/dojo/selector/acme.js +1493 -0
  1577. data/vendor/assets/javascripts/dojo/selector/lite.js +283 -0
  1578. data/vendor/assets/javascripts/dojo/sniff.js +70 -0
  1579. data/vendor/assets/javascripts/dojo/store/Cache.js +146 -0
  1580. data/vendor/assets/javascripts/dojo/store/DataStore.js +202 -0
  1581. data/vendor/assets/javascripts/dojo/store/JsonRest.js +189 -0
  1582. data/vendor/assets/javascripts/dojo/store/Memory.js +164 -0
  1583. data/vendor/assets/javascripts/dojo/store/Observable.js +187 -0
  1584. data/vendor/assets/javascripts/dojo/store/README +6 -0
  1585. data/vendor/assets/javascripts/dojo/store/api/Store.js +287 -0
  1586. data/vendor/assets/javascripts/dojo/store/util/QueryResults.js +63 -0
  1587. data/vendor/assets/javascripts/dojo/store/util/SimpleQueryEngine.js +110 -0
  1588. data/vendor/assets/javascripts/dojo/string.js +162 -0
  1589. data/vendor/assets/javascripts/dojo/tests/AdapterRegistry.js +72 -0
  1590. data/vendor/assets/javascripts/dojo/tests/Deferred.js +477 -0
  1591. data/vendor/assets/javascripts/dojo/tests/DeferredList.js +193 -0
  1592. data/vendor/assets/javascripts/dojo/tests/NodeList-data.html +202 -0
  1593. data/vendor/assets/javascripts/dojo/tests/NodeList-data.js +5 -0
  1594. data/vendor/assets/javascripts/dojo/tests/NodeList-fx.html +166 -0
  1595. data/vendor/assets/javascripts/dojo/tests/NodeList-manipulate.html +369 -0
  1596. data/vendor/assets/javascripts/dojo/tests/NodeList-manipulate.js +5 -0
  1597. data/vendor/assets/javascripts/dojo/tests/NodeList-traverse.html +160 -0
  1598. data/vendor/assets/javascripts/dojo/tests/NodeList-traverse.js +5 -0
  1599. data/vendor/assets/javascripts/dojo/tests/Stateful.js +221 -0
  1600. data/vendor/assets/javascripts/dojo/tests/TODO +10 -0
  1601. data/vendor/assets/javascripts/dojo/tests/_base/Color.js +30 -0
  1602. data/vendor/assets/javascripts/dojo/tests/_base/Deferred.js +305 -0
  1603. data/vendor/assets/javascripts/dojo/tests/_base/NodeList.html +715 -0
  1604. data/vendor/assets/javascripts/dojo/tests/_base/abs.html +102 -0
  1605. data/vendor/assets/javascripts/dojo/tests/_base/absQuirk.html +101 -0
  1606. data/vendor/assets/javascripts/dojo/tests/_base/absQuirksIframe.html +10 -0
  1607. data/vendor/assets/javascripts/dojo/tests/_base/absStrictIframe.html +10 -0
  1608. data/vendor/assets/javascripts/dojo/tests/_base/array.js +303 -0
  1609. data/vendor/assets/javascripts/dojo/tests/_base/connect.js +246 -0
  1610. data/vendor/assets/javascripts/dojo/tests/_base/connectKey.html +27 -0
  1611. data/vendor/assets/javascripts/dojo/tests/_base/connectLeaks.html +93 -0
  1612. data/vendor/assets/javascripts/dojo/tests/_base/declare.js +471 -0
  1613. data/vendor/assets/javascripts/dojo/tests/_base/eventKeyPress.html +84 -0
  1614. data/vendor/assets/javascripts/dojo/tests/_base/eventKeyPressRobot.html +167 -0
  1615. data/vendor/assets/javascripts/dojo/tests/_base/eventMouse.html +114 -0
  1616. data/vendor/assets/javascripts/dojo/tests/_base/eventMouseRobot.html +160 -0
  1617. data/vendor/assets/javascripts/dojo/tests/_base/fx.html +559 -0
  1618. data/vendor/assets/javascripts/dojo/tests/_base/fx.js +5 -0
  1619. data/vendor/assets/javascripts/dojo/tests/_base/fx_delay.html +22 -0
  1620. data/vendor/assets/javascripts/dojo/tests/_base/html.html +870 -0
  1621. data/vendor/assets/javascripts/dojo/tests/_base/html.js +14 -0
  1622. data/vendor/assets/javascripts/dojo/tests/_base/html_box.html +204 -0
  1623. data/vendor/assets/javascripts/dojo/tests/_base/html_box_quirks.html +202 -0
  1624. data/vendor/assets/javascripts/dojo/tests/_base/html_docScroll.html +101 -0
  1625. data/vendor/assets/javascripts/dojo/tests/_base/html_element.html +305 -0
  1626. data/vendor/assets/javascripts/dojo/tests/_base/html_id.html +92 -0
  1627. data/vendor/assets/javascripts/dojo/tests/_base/html_isBodyLtr.html +50 -0
  1628. data/vendor/assets/javascripts/dojo/tests/_base/html_quirks.html +328 -0
  1629. data/vendor/assets/javascripts/dojo/tests/_base/html_rtl.html +158 -0
  1630. data/vendor/assets/javascripts/dojo/tests/_base/i18nExhaustive.js +107 -0
  1631. data/vendor/assets/javascripts/dojo/tests/_base/json.js +60 -0
  1632. data/vendor/assets/javascripts/dojo/tests/_base/lang.js +279 -0
  1633. data/vendor/assets/javascripts/dojo/tests/_base/loader/14808/App.js +10 -0
  1634. data/vendor/assets/javascripts/dojo/tests/_base/loader/14808/Module.js +9 -0
  1635. data/vendor/assets/javascripts/dojo/tests/_base/loader/14808.html +24 -0
  1636. data/vendor/assets/javascripts/dojo/tests/_base/loader/8976.html +35 -0
  1637. data/vendor/assets/javascripts/dojo/tests/_base/loader/a.js +3 -0
  1638. data/vendor/assets/javascripts/dojo/tests/_base/loader/addLoadEvents.html +45 -0
  1639. data/vendor/assets/javascripts/dojo/tests/_base/loader/afterOnLoad.html +79 -0
  1640. data/vendor/assets/javascripts/dojo/tests/_base/loader/amdModule.js +5 -0
  1641. data/vendor/assets/javascripts/dojo/tests/_base/loader/amdModule1.js +5 -0
  1642. data/vendor/assets/javascripts/dojo/tests/_base/loader/amdModule2.js +5 -0
  1643. data/vendor/assets/javascripts/dojo/tests/_base/loader/amdModuleDep.js +5 -0
  1644. data/vendor/assets/javascripts/dojo/tests/_base/loader/amdModuleDep1.js +5 -0
  1645. data/vendor/assets/javascripts/dojo/tests/_base/loader/amdModuleDep2.js +5 -0
  1646. data/vendor/assets/javascripts/dojo/tests/_base/loader/asyncWithDojoRequire.html +103 -0
  1647. data/vendor/assets/javascripts/dojo/tests/_base/loader/boot-sniffConfig.html +33 -0
  1648. data/vendor/assets/javascripts/dojo/tests/_base/loader/boot-userConfig.html +23 -0
  1649. data/vendor/assets/javascripts/dojo/tests/_base/loader/bootstrap.js +157 -0
  1650. data/vendor/assets/javascripts/dojo/tests/_base/loader/cdnTest.html +74 -0
  1651. data/vendor/assets/javascripts/dojo/tests/_base/loader/cdnTest.js +39 -0
  1652. data/vendor/assets/javascripts/dojo/tests/_base/loader/config/someModule.js +11 -0
  1653. data/vendor/assets/javascripts/dojo/tests/_base/loader/config/someModuleConfiggedPriorToBoot.js +5 -0
  1654. data/vendor/assets/javascripts/dojo/tests/_base/loader/config/test.html +122 -0
  1655. data/vendor/assets/javascripts/dojo/tests/_base/loader/config-has.html +59 -0
  1656. data/vendor/assets/javascripts/dojo/tests/_base/loader/config-sniff-djConfig.html +50 -0
  1657. data/vendor/assets/javascripts/dojo/tests/_base/loader/config-sniff.html +48 -0
  1658. data/vendor/assets/javascripts/dojo/tests/_base/loader/config.html +156 -0
  1659. data/vendor/assets/javascripts/dojo/tests/_base/loader/configApi.html +93 -0
  1660. data/vendor/assets/javascripts/dojo/tests/_base/loader/coolio/calendar-amd.js +7 -0
  1661. data/vendor/assets/javascripts/dojo/tests/_base/loader/coolio/calendar.js +6 -0
  1662. data/vendor/assets/javascripts/dojo/tests/_base/loader/coolio/calendar1.js +6 -0
  1663. data/vendor/assets/javascripts/dojo/tests/_base/loader/coolio/coolio-built.html +64 -0
  1664. data/vendor/assets/javascripts/dojo/tests/_base/loader/coolio/coolio-dev-async-with-packageMap.html +70 -0
  1665. data/vendor/assets/javascripts/dojo/tests/_base/loader/coolio/coolio-dev-async.html +73 -0
  1666. data/vendor/assets/javascripts/dojo/tests/_base/loader/coolio/coolio-dev-legacy-async-with-packageMap.html +83 -0
  1667. data/vendor/assets/javascripts/dojo/tests/_base/loader/coolio/coolio-dev-legacy-async.html +86 -0
  1668. data/vendor/assets/javascripts/dojo/tests/_base/loader/coolio/coolio-dev-legacy.html +46 -0
  1669. data/vendor/assets/javascripts/dojo/tests/_base/loader/coolio/coolio.profile.js +58 -0
  1670. data/vendor/assets/javascripts/dojo/tests/_base/loader/coolio/test.html +58 -0
  1671. data/vendor/assets/javascripts/dojo/tests/_base/loader/core.js +18 -0
  1672. data/vendor/assets/javascripts/dojo/tests/_base/loader/debugConsole.html +47 -0
  1673. data/vendor/assets/javascripts/dojo/tests/_base/loader/declareStepsOnProvide.html +24 -0
  1674. data/vendor/assets/javascripts/dojo/tests/_base/loader/declareStepsOnProvide.js +14 -0
  1675. data/vendor/assets/javascripts/dojo/tests/_base/loader/declareStepsOnProvideAmd.js +3 -0
  1676. data/vendor/assets/javascripts/dojo/tests/_base/loader/fastbackTest.html +34 -0
  1677. data/vendor/assets/javascripts/dojo/tests/_base/loader/getText.txt +1 -0
  1678. data/vendor/assets/javascripts/dojo/tests/_base/loader/hostenv_rhino.js +13 -0
  1679. data/vendor/assets/javascripts/dojo/tests/_base/loader/hostenv_spidermonkey.js +11 -0
  1680. data/vendor/assets/javascripts/dojo/tests/_base/loader/i18n-exhaustive/built-i18n-test/152-build/legacyModule.js +50 -0
  1681. data/vendor/assets/javascripts/dojo/tests/_base/loader/i18n-exhaustive/built-i18n-test/152-build/nls/ab/legacyBundle.js +1 -0
  1682. data/vendor/assets/javascripts/dojo/tests/_base/loader/i18n-exhaustive/built-i18n-test/152-build/nls/ab-cd-ef/legacyBundle.js +1 -0
  1683. data/vendor/assets/javascripts/dojo/tests/_base/loader/i18n-exhaustive/built-i18n-test/152-build/nls/legacyBundle.js +1 -0
  1684. data/vendor/assets/javascripts/dojo/tests/_base/loader/i18n-exhaustive/built-i18n-test/152-build-with-layers/legacyModule.js +60 -0
  1685. data/vendor/assets/javascripts/dojo/tests/_base/loader/i18n-exhaustive/built-i18n-test/152-build-with-layers/nls/ab/legacyBundle.js +1 -0
  1686. data/vendor/assets/javascripts/dojo/tests/_base/loader/i18n-exhaustive/built-i18n-test/152-build-with-layers/nls/ab-cd-ef/legacyBundle.js +1 -0
  1687. data/vendor/assets/javascripts/dojo/tests/_base/loader/i18n-exhaustive/built-i18n-test/152-build-with-layers/nls/legacyBundle.js +1 -0
  1688. data/vendor/assets/javascripts/dojo/tests/_base/loader/i18n-exhaustive/built-i18n-test/152-build-with-layers/nls/legacyModule_ROOT.js +1 -0
  1689. data/vendor/assets/javascripts/dojo/tests/_base/loader/i18n-exhaustive/built-i18n-test/152-build-with-layers/nls/legacyModule_en-us.js +1 -0
  1690. data/vendor/assets/javascripts/dojo/tests/_base/loader/i18n-exhaustive/built-i18n-test/152-build-with-layers/nls/legacyModule_en.js +1 -0
  1691. data/vendor/assets/javascripts/dojo/tests/_base/loader/i18n-exhaustive/built-i18n-test/152-build-with-layers-and-preloads/legacyModule.js +60 -0
  1692. data/vendor/assets/javascripts/dojo/tests/_base/loader/i18n-exhaustive/built-i18n-test/152-build-with-layers-and-preloads/nls/ab/legacyBundle.js +1 -0
  1693. data/vendor/assets/javascripts/dojo/tests/_base/loader/i18n-exhaustive/built-i18n-test/152-build-with-layers-and-preloads/nls/ab-cd-ef/legacyBundle.js +1 -0
  1694. data/vendor/assets/javascripts/dojo/tests/_base/loader/i18n-exhaustive/built-i18n-test/152-build-with-layers-and-preloads/nls/legacyBundle.js +1 -0
  1695. data/vendor/assets/javascripts/dojo/tests/_base/loader/i18n-exhaustive/built-i18n-test/152-build-with-layers-and-preloads/nls/legacyModule_ROOT.js +1 -0
  1696. data/vendor/assets/javascripts/dojo/tests/_base/loader/i18n-exhaustive/built-i18n-test/152-build-with-layers-and-preloads/nls/legacyModule_ab-cd-ef.js +1 -0
  1697. data/vendor/assets/javascripts/dojo/tests/_base/loader/i18n-exhaustive/built-i18n-test/152-build-with-layers-and-preloads/nls/legacyModule_ab-cd.js +1 -0
  1698. data/vendor/assets/javascripts/dojo/tests/_base/loader/i18n-exhaustive/built-i18n-test/152-build-with-layers-and-preloads/nls/legacyModule_ab.js +1 -0
  1699. data/vendor/assets/javascripts/dojo/tests/_base/loader/i18n-exhaustive/built-i18n-test/152-build-with-layers-and-preloads/nls/legacyModule_xx.js +1 -0
  1700. data/vendor/assets/javascripts/dojo/tests/_base/loader/i18n-exhaustive/i18n-test/amdModule.js +41 -0
  1701. data/vendor/assets/javascripts/dojo/tests/_base/loader/i18n-exhaustive/i18n-test/build-test-targets.sh +7 -0
  1702. data/vendor/assets/javascripts/dojo/tests/_base/loader/i18n-exhaustive/i18n-test/i18n-test-with-layers-and-preloads.profile.js +37 -0
  1703. data/vendor/assets/javascripts/dojo/tests/_base/loader/i18n-exhaustive/i18n-test/i18n-test-with-layers.profile.js +35 -0
  1704. data/vendor/assets/javascripts/dojo/tests/_base/loader/i18n-exhaustive/i18n-test/i18n-test.profile.js +30 -0
  1705. data/vendor/assets/javascripts/dojo/tests/_base/loader/i18n-exhaustive/i18n-test/legacyModule.js +75 -0
  1706. data/vendor/assets/javascripts/dojo/tests/_base/loader/i18n-exhaustive/i18n-test/nls/ab/amdBundle.js +4 -0
  1707. data/vendor/assets/javascripts/dojo/tests/_base/loader/i18n-exhaustive/i18n-test/nls/ab/legacyBundle.js +4 -0
  1708. data/vendor/assets/javascripts/dojo/tests/_base/loader/i18n-exhaustive/i18n-test/nls/ab-cd-ef/amdBundle.js +4 -0
  1709. data/vendor/assets/javascripts/dojo/tests/_base/loader/i18n-exhaustive/i18n-test/nls/ab-cd-ef/legacyBundle.js +4 -0
  1710. data/vendor/assets/javascripts/dojo/tests/_base/loader/i18n-exhaustive/i18n-test/nls/amdBundle.js +8 -0
  1711. data/vendor/assets/javascripts/dojo/tests/_base/loader/i18n-exhaustive/i18n-test/nls/legacyBundle.js +4 -0
  1712. data/vendor/assets/javascripts/dojo/tests/_base/loader/i18n-exhaustive/i18n-test/unit.html +94 -0
  1713. data/vendor/assets/javascripts/dojo/tests/_base/loader/i18n-exhaustive/test-instructions.md +64 -0
  1714. data/vendor/assets/javascripts/dojo/tests/_base/loader/moduleIds.js +210 -0
  1715. data/vendor/assets/javascripts/dojo/tests/_base/loader/modulePaths.html +37 -0
  1716. data/vendor/assets/javascripts/dojo/tests/_base/loader/modules/anon.js +6 -0
  1717. data/vendor/assets/javascripts/dojo/tests/_base/loader/modules/data.js +4 -0
  1718. data/vendor/assets/javascripts/dojo/tests/_base/loader/modules/factoryArity.js +8 -0
  1719. data/vendor/assets/javascripts/dojo/tests/_base/loader/modules/factoryArityExports.js +8 -0
  1720. data/vendor/assets/javascripts/dojo/tests/_base/loader/modules/full.js +5 -0
  1721. data/vendor/assets/javascripts/dojo/tests/_base/loader/modules/idFactoryArity.js +8 -0
  1722. data/vendor/assets/javascripts/dojo/tests/_base/loader/modules/idFactoryArityExports.js +8 -0
  1723. data/vendor/assets/javascripts/dojo/tests/_base/loader/modules/impliedDep1.js +3 -0
  1724. data/vendor/assets/javascripts/dojo/tests/_base/loader/modules/impliedDep2.js +3 -0
  1725. data/vendor/assets/javascripts/dojo/tests/_base/loader/modules/impliedDep3.js +3 -0
  1726. data/vendor/assets/javascripts/dojo/tests/_base/loader/modules/impliedDep4.js +3 -0
  1727. data/vendor/assets/javascripts/dojo/tests/_base/loader/modules/wrapped.js +15 -0
  1728. data/vendor/assets/javascripts/dojo/tests/_base/loader/modules.js +43 -0
  1729. data/vendor/assets/javascripts/dojo/tests/_base/loader/myTopLevelModule/myModule.js +2 -0
  1730. data/vendor/assets/javascripts/dojo/tests/_base/loader/myTopLevelModule.js +3 -0
  1731. data/vendor/assets/javascripts/dojo/tests/_base/loader/nls/ab/amdBundle.js +3 -0
  1732. data/vendor/assets/javascripts/dojo/tests/_base/loader/nls/ab/syncBundle.js +3 -0
  1733. data/vendor/assets/javascripts/dojo/tests/_base/loader/nls/ab-cd-ef/amdBundle.js +3 -0
  1734. data/vendor/assets/javascripts/dojo/tests/_base/loader/nls/ab-cd-ef/syncBundle.js +3 -0
  1735. data/vendor/assets/javascripts/dojo/tests/_base/loader/nls/amdBundle.js +7 -0
  1736. data/vendor/assets/javascripts/dojo/tests/_base/loader/nls/syncBundle.js +3 -0
  1737. data/vendor/assets/javascripts/dojo/tests/_base/loader/onerror.html +151 -0
  1738. data/vendor/assets/javascripts/dojo/tests/_base/loader/package.html +11 -0
  1739. data/vendor/assets/javascripts/dojo/tests/_base/loader/paths.html +52 -0
  1740. data/vendor/assets/javascripts/dojo/tests/_base/loader/pub1.js +3 -0
  1741. data/vendor/assets/javascripts/dojo/tests/_base/loader/pub2.js +3 -0
  1742. data/vendor/assets/javascripts/dojo/tests/_base/loader/publishRequireResult.html +34 -0
  1743. data/vendor/assets/javascripts/dojo/tests/_base/loader/ready.html +32 -0
  1744. data/vendor/assets/javascripts/dojo/tests/_base/loader/require/m1.js +13 -0
  1745. data/vendor/assets/javascripts/dojo/tests/_base/loader/require/m2.js +5 -0
  1746. data/vendor/assets/javascripts/dojo/tests/_base/loader/require/test-require-plugin.html +33 -0
  1747. data/vendor/assets/javascripts/dojo/tests/_base/loader/requirejs/bar +5 -0
  1748. data/vendor/assets/javascripts/dojo/tests/_base/loader/requirejs/circular-tests.js +29 -0
  1749. data/vendor/assets/javascripts/dojo/tests/_base/loader/requirejs/circular.html +13 -0
  1750. data/vendor/assets/javascripts/dojo/tests/_base/loader/requirejs/config.html +41 -0
  1751. data/vendor/assets/javascripts/dojo/tests/_base/loader/requirejs/dataMain.html +12 -0
  1752. data/vendor/assets/javascripts/dojo/tests/_base/loader/requirejs/dataMain.js +16 -0
  1753. data/vendor/assets/javascripts/dojo/tests/_base/loader/requirejs/depoverlap.html +14 -0
  1754. data/vendor/assets/javascripts/dojo/tests/_base/loader/requirejs/depoverlap.js +34 -0
  1755. data/vendor/assets/javascripts/dojo/tests/_base/loader/requirejs/dimple.js +5 -0
  1756. data/vendor/assets/javascripts/dojo/tests/_base/loader/requirejs/dos.js +13 -0
  1757. data/vendor/assets/javascripts/dojo/tests/_base/loader/requirejs/exports/assign.js +5 -0
  1758. data/vendor/assets/javascripts/dojo/tests/_base/loader/requirejs/exports/assign2.js +4 -0
  1759. data/vendor/assets/javascripts/dojo/tests/_base/loader/requirejs/exports/exports-tests.js +24 -0
  1760. data/vendor/assets/javascripts/dojo/tests/_base/loader/requirejs/exports/exports.html +18 -0
  1761. data/vendor/assets/javascripts/dojo/tests/_base/loader/requirejs/exports/funcSet.js +5 -0
  1762. data/vendor/assets/javascripts/dojo/tests/_base/loader/requirejs/exports/implicitModule.js +7 -0
  1763. data/vendor/assets/javascripts/dojo/tests/_base/loader/requirejs/exports/simpleReturn.js +10 -0
  1764. data/vendor/assets/javascripts/dojo/tests/_base/loader/requirejs/exports/usethis.js +3 -0
  1765. data/vendor/assets/javascripts/dojo/tests/_base/loader/requirejs/exports/vanilla.js +5 -0
  1766. data/vendor/assets/javascripts/dojo/tests/_base/loader/requirejs/foo +5 -0
  1767. data/vendor/assets/javascripts/dojo/tests/_base/loader/requirejs/func.js +7 -0
  1768. data/vendor/assets/javascripts/dojo/tests/_base/loader/requirejs/funcFour.js +14 -0
  1769. data/vendor/assets/javascripts/dojo/tests/_base/loader/requirejs/funcOne.js +15 -0
  1770. data/vendor/assets/javascripts/dojo/tests/_base/loader/requirejs/funcThree.js +14 -0
  1771. data/vendor/assets/javascripts/dojo/tests/_base/loader/requirejs/funcTwo.js +15 -0
  1772. data/vendor/assets/javascripts/dojo/tests/_base/loader/requirejs/i18n/common.html +53 -0
  1773. data/vendor/assets/javascripts/dojo/tests/_base/loader/requirejs/i18n/commonA.js +3 -0
  1774. data/vendor/assets/javascripts/dojo/tests/_base/loader/requirejs/i18n/commonB.js +3 -0
  1775. data/vendor/assets/javascripts/dojo/tests/_base/loader/requirejs/i18n/i18n.html +62 -0
  1776. data/vendor/assets/javascripts/dojo/tests/_base/loader/requirejs/i18n/i18n.js +4 -0
  1777. data/vendor/assets/javascripts/dojo/tests/_base/loader/requirejs/i18n/nls/colors.js +9 -0
  1778. data/vendor/assets/javascripts/dojo/tests/_base/loader/requirejs/i18n/nls/en-us-surfer/colors.js +3 -0
  1779. data/vendor/assets/javascripts/dojo/tests/_base/loader/requirejs/i18n/nls/fr/colors.js +4 -0
  1780. data/vendor/assets/javascripts/dojo/tests/_base/loader/requirejs/i18n/testModule.js +4 -0
  1781. data/vendor/assets/javascripts/dojo/tests/_base/loader/requirejs/layers/allplugins-text.html +33 -0
  1782. data/vendor/assets/javascripts/dojo/tests/_base/loader/requirejs/layers/build.sh +1 -0
  1783. data/vendor/assets/javascripts/dojo/tests/_base/loader/requirejs/layers/epsilon.js +5 -0
  1784. data/vendor/assets/javascripts/dojo/tests/_base/loader/requirejs/layers/helloWorld.txt +1 -0
  1785. data/vendor/assets/javascripts/dojo/tests/_base/loader/requirejs/layers/layer1.js +31 -0
  1786. data/vendor/assets/javascripts/dojo/tests/_base/loader/requirejs/layers/layers.html +67 -0
  1787. data/vendor/assets/javascripts/dojo/tests/_base/loader/requirejs/map.js +7 -0
  1788. data/vendor/assets/javascripts/dojo/tests/_base/loader/requirejs/one.js +13 -0
  1789. data/vendor/assets/javascripts/dojo/tests/_base/loader/requirejs/paths/first.js/first.js +8 -0
  1790. data/vendor/assets/javascripts/dojo/tests/_base/loader/requirejs/paths/first.js/second.js +8 -0
  1791. data/vendor/assets/javascripts/dojo/tests/_base/loader/requirejs/paths/paths.html +59 -0
  1792. data/vendor/assets/javascripts/dojo/tests/_base/loader/requirejs/relative/foo/bar/message.txt +1 -0
  1793. data/vendor/assets/javascripts/dojo/tests/_base/loader/requirejs/relative/foo/bar/one.js +10 -0
  1794. data/vendor/assets/javascripts/dojo/tests/_base/loader/requirejs/relative/foo/bar/two.js +3 -0
  1795. data/vendor/assets/javascripts/dojo/tests/_base/loader/requirejs/relative/foo/three.js +3 -0
  1796. data/vendor/assets/javascripts/dojo/tests/_base/loader/requirejs/relative/relative-tests.js +23 -0
  1797. data/vendor/assets/javascripts/dojo/tests/_base/loader/requirejs/relative/relative.html +22 -0
  1798. data/vendor/assets/javascripts/dojo/tests/_base/loader/requirejs/requirejs-setup.js +32 -0
  1799. data/vendor/assets/javascripts/dojo/tests/_base/loader/requirejs/simple-badbase.html +55 -0
  1800. data/vendor/assets/javascripts/dojo/tests/_base/loader/requirejs/simple-nohead.html +24 -0
  1801. data/vendor/assets/javascripts/dojo/tests/_base/loader/requirejs/simple-tests.js +23 -0
  1802. data/vendor/assets/javascripts/dojo/tests/_base/loader/requirejs/simple.html +35 -0
  1803. data/vendor/assets/javascripts/dojo/tests/_base/loader/requirejs/simple.js +7 -0
  1804. data/vendor/assets/javascripts/dojo/tests/_base/loader/requirejs/text/local.js +5 -0
  1805. data/vendor/assets/javascripts/dojo/tests/_base/loader/requirejs/text/resources/local.html +1 -0
  1806. data/vendor/assets/javascripts/dojo/tests/_base/loader/requirejs/text/resources/sample.html +8 -0
  1807. data/vendor/assets/javascripts/dojo/tests/_base/loader/requirejs/text/subwidget.html +8 -0
  1808. data/vendor/assets/javascripts/dojo/tests/_base/loader/requirejs/text/subwidget.js +10 -0
  1809. data/vendor/assets/javascripts/dojo/tests/_base/loader/requirejs/text/subwidget2.html +1 -0
  1810. data/vendor/assets/javascripts/dojo/tests/_base/loader/requirejs/text/text.html +58 -0
  1811. data/vendor/assets/javascripts/dojo/tests/_base/loader/requirejs/text/textOnly.html +42 -0
  1812. data/vendor/assets/javascripts/dojo/tests/_base/loader/requirejs/text/widget.html +1 -0
  1813. data/vendor/assets/javascripts/dojo/tests/_base/loader/requirejs/text/widget.js +11 -0
  1814. data/vendor/assets/javascripts/dojo/tests/_base/loader/requirejs/tres.js +7 -0
  1815. data/vendor/assets/javascripts/dojo/tests/_base/loader/requirejs/two.js +12 -0
  1816. data/vendor/assets/javascripts/dojo/tests/_base/loader/requirejs/uniques/one.js +8 -0
  1817. data/vendor/assets/javascripts/dojo/tests/_base/loader/requirejs/uniques/three.js +3 -0
  1818. data/vendor/assets/javascripts/dojo/tests/_base/loader/requirejs/uniques/two.js +8 -0
  1819. data/vendor/assets/javascripts/dojo/tests/_base/loader/requirejs/uniques/uniques.html +43 -0
  1820. data/vendor/assets/javascripts/dojo/tests/_base/loader/requirejs/uno.js +14 -0
  1821. data/vendor/assets/javascripts/dojo/tests/_base/loader/requirejs/urlfetch/one.js +3 -0
  1822. data/vendor/assets/javascripts/dojo/tests/_base/loader/requirejs/urlfetch/three.js +10 -0
  1823. data/vendor/assets/javascripts/dojo/tests/_base/loader/requirejs/urlfetch/two.js +10 -0
  1824. data/vendor/assets/javascripts/dojo/tests/_base/loader/requirejs/urlfetch/urlfetch.html +69 -0
  1825. data/vendor/assets/javascripts/dojo/tests/_base/loader/scope04.html +80 -0
  1826. data/vendor/assets/javascripts/dojo/tests/_base/loader/stripStrict.html +23 -0
  1827. data/vendor/assets/javascripts/dojo/tests/_base/loader/syncFromAsyncModule.js +4 -0
  1828. data/vendor/assets/javascripts/dojo/tests/_base/loader/syncFromAsyncModuleDep.js +2 -0
  1829. data/vendor/assets/javascripts/dojo/tests/_base/loader/syncModule.js +9 -0
  1830. data/vendor/assets/javascripts/dojo/tests/_base/loader/syncModule1.js +5 -0
  1831. data/vendor/assets/javascripts/dojo/tests/_base/loader/syncModule2.js +5 -0
  1832. data/vendor/assets/javascripts/dojo/tests/_base/loader/syncModuleDep.js +4 -0
  1833. data/vendor/assets/javascripts/dojo/tests/_base/loader/syncModuleDep1.js +4 -0
  1834. data/vendor/assets/javascripts/dojo/tests/_base/loader/syncModuleDep2.js +4 -0
  1835. data/vendor/assets/javascripts/dojo/tests/_base/loader/traceApi.html +21 -0
  1836. data/vendor/assets/javascripts/dojo/tests/_base/loader/xdomain/local1-browser-skip.js +1 -0
  1837. data/vendor/assets/javascripts/dojo/tests/_base/loader/xdomain/local1-browser.js +4 -0
  1838. data/vendor/assets/javascripts/dojo/tests/_base/loader/xdomain/local1-dep.js +4 -0
  1839. data/vendor/assets/javascripts/dojo/tests/_base/loader/xdomain/local1-runtimeDependent1.js +4 -0
  1840. data/vendor/assets/javascripts/dojo/tests/_base/loader/xdomain/local1.js +82 -0
  1841. data/vendor/assets/javascripts/dojo/tests/_base/loader/xdomain/local2.js +13 -0
  1842. data/vendor/assets/javascripts/dojo/tests/_base/loader/xdomain/local3.js +10 -0
  1843. data/vendor/assets/javascripts/dojo/tests/_base/loader/xdomain/xdomain.html +290 -0
  1844. data/vendor/assets/javascripts/dojo/tests/_base/loader.js +146 -0
  1845. data/vendor/assets/javascripts/dojo/tests/_base/object.js +42 -0
  1846. data/vendor/assets/javascripts/dojo/tests/_base/query.html +368 -0
  1847. data/vendor/assets/javascripts/dojo/tests/_base/query.js +6 -0
  1848. data/vendor/assets/javascripts/dojo/tests/_base/queryPortability.html +24 -0
  1849. data/vendor/assets/javascripts/dojo/tests/_base/runTests.html +9 -0
  1850. data/vendor/assets/javascripts/dojo/tests/_base/scrollingIframe.js +103 -0
  1851. data/vendor/assets/javascripts/dojo/tests/_base/scrollingQuirksIframe.html +6 -0
  1852. data/vendor/assets/javascripts/dojo/tests/_base/scrollingStrictIframe.html +6 -0
  1853. data/vendor/assets/javascripts/dojo/tests/_base/sniff.html +36 -0
  1854. data/vendor/assets/javascripts/dojo/tests/_base/timeout.php +7 -0
  1855. data/vendor/assets/javascripts/dojo/tests/_base/window.html +106 -0
  1856. data/vendor/assets/javascripts/dojo/tests/_base/window.js +5 -0
  1857. data/vendor/assets/javascripts/dojo/tests/_base/window_iframe_quirks.html +11 -0
  1858. data/vendor/assets/javascripts/dojo/tests/_base/window_iframe_standards.html +15 -0
  1859. data/vendor/assets/javascripts/dojo/tests/_base/xhr.html +520 -0
  1860. data/vendor/assets/javascripts/dojo/tests/_base/xhr.js +5 -0
  1861. data/vendor/assets/javascripts/dojo/tests/_base/xhr.xml +2 -0
  1862. data/vendor/assets/javascripts/dojo/tests/_base/xhrDummyMethod.php +7 -0
  1863. data/vendor/assets/javascripts/dojo/tests/_base/xhtml.php +29 -0
  1864. data/vendor/assets/javascripts/dojo/tests/_base.js +23 -0
  1865. data/vendor/assets/javascripts/dojo/tests/aspect.js +141 -0
  1866. data/vendor/assets/javascripts/dojo/tests/back-hash.js +25 -0
  1867. data/vendor/assets/javascripts/dojo/tests/back.html +110 -0
  1868. data/vendor/assets/javascripts/dojo/tests/back.js +5 -0
  1869. data/vendor/assets/javascripts/dojo/tests/baseonly.js +1 -0
  1870. data/vendor/assets/javascripts/dojo/tests/behavior.html +117 -0
  1871. data/vendor/assets/javascripts/dojo/tests/behavior.js +5 -0
  1872. data/vendor/assets/javascripts/dojo/tests/cache/object.html +11 -0
  1873. data/vendor/assets/javascripts/dojo/tests/cache/regular.html +1 -0
  1874. data/vendor/assets/javascripts/dojo/tests/cache/sanitized.html +11 -0
  1875. data/vendor/assets/javascripts/dojo/tests/cache.js +29 -0
  1876. data/vendor/assets/javascripts/dojo/tests/cldr.js +11 -0
  1877. data/vendor/assets/javascripts/dojo/tests/colors.js +42 -0
  1878. data/vendor/assets/javascripts/dojo/tests/cookie.html +78 -0
  1879. data/vendor/assets/javascripts/dojo/tests/cookie.js +5 -0
  1880. data/vendor/assets/javascripts/dojo/tests/currency.js +67 -0
  1881. data/vendor/assets/javascripts/dojo/tests/data/ItemFileReadStore.js +7 -0
  1882. data/vendor/assets/javascripts/dojo/tests/data/ItemFileWriteStore.js +1591 -0
  1883. data/vendor/assets/javascripts/dojo/tests/data/ObjectStore.js +131 -0
  1884. data/vendor/assets/javascripts/dojo/tests/data/countries.json +11 -0
  1885. data/vendor/assets/javascripts/dojo/tests/data/countries_commentFiltered.json +12 -0
  1886. data/vendor/assets/javascripts/dojo/tests/data/countries_idcollision.json +10 -0
  1887. data/vendor/assets/javascripts/dojo/tests/data/countries_references.json +44 -0
  1888. data/vendor/assets/javascripts/dojo/tests/data/countries_withBoolean.json +11 -0
  1889. data/vendor/assets/javascripts/dojo/tests/data/countries_withDates.json +21 -0
  1890. data/vendor/assets/javascripts/dojo/tests/data/countries_withNull.json +10 -0
  1891. data/vendor/assets/javascripts/dojo/tests/data/countries_withoutid.json +10 -0
  1892. data/vendor/assets/javascripts/dojo/tests/data/data_multitype.json +18 -0
  1893. data/vendor/assets/javascripts/dojo/tests/data/geography_hierarchy_large.json +44 -0
  1894. data/vendor/assets/javascripts/dojo/tests/data/geography_hierarchy_small.json +19 -0
  1895. data/vendor/assets/javascripts/dojo/tests/data/readOnlyItemFileTestTemplates.js +3188 -0
  1896. data/vendor/assets/javascripts/dojo/tests/data/reference_integrity.json +27 -0
  1897. data/vendor/assets/javascripts/dojo/tests/data/runTests.html +9 -0
  1898. data/vendor/assets/javascripts/dojo/tests/data/utils.js +199 -0
  1899. data/vendor/assets/javascripts/dojo/tests/data.js +10 -0
  1900. data/vendor/assets/javascripts/dojo/tests/date/locale.js +445 -0
  1901. data/vendor/assets/javascripts/dojo/tests/date/stamp.js +98 -0
  1902. data/vendor/assets/javascripts/dojo/tests/date.js +706 -0
  1903. data/vendor/assets/javascripts/dojo/tests/dnd/dndDefault.css +81 -0
  1904. data/vendor/assets/javascripts/dojo/tests/dnd/flickr_viewer.html +170 -0
  1905. data/vendor/assets/javascripts/dojo/tests/dnd/robot/test_dnd.html +100 -0
  1906. data/vendor/assets/javascripts/dojo/tests/dnd/test_autoscroll.html +202 -0
  1907. data/vendor/assets/javascripts/dojo/tests/dnd/test_box_constraints.html +59 -0
  1908. data/vendor/assets/javascripts/dojo/tests/dnd/test_container.html +76 -0
  1909. data/vendor/assets/javascripts/dojo/tests/dnd/test_container_markup.html +69 -0
  1910. data/vendor/assets/javascripts/dojo/tests/dnd/test_custom_constraints.html +53 -0
  1911. data/vendor/assets/javascripts/dojo/tests/dnd/test_dnd.html +235 -0
  1912. data/vendor/assets/javascripts/dojo/tests/dnd/test_dnd_handles.html +65 -0
  1913. data/vendor/assets/javascripts/dojo/tests/dnd/test_form.html +92 -0
  1914. data/vendor/assets/javascripts/dojo/tests/dnd/test_moveable.html +108 -0
  1915. data/vendor/assets/javascripts/dojo/tests/dnd/test_moveable_markup.html +85 -0
  1916. data/vendor/assets/javascripts/dojo/tests/dnd/test_params.html +63 -0
  1917. data/vendor/assets/javascripts/dojo/tests/dnd/test_parent_constraints.html +55 -0
  1918. data/vendor/assets/javascripts/dojo/tests/dnd/test_parent_constraints_margins.html +52 -0
  1919. data/vendor/assets/javascripts/dojo/tests/dnd/test_selector.html +82 -0
  1920. data/vendor/assets/javascripts/dojo/tests/dnd/test_selector_markup.html +73 -0
  1921. data/vendor/assets/javascripts/dojo/tests/dnd/test_timed_moveable.html +114 -0
  1922. data/vendor/assets/javascripts/dojo/tests/dom-style.html +42 -0
  1923. data/vendor/assets/javascripts/dojo/tests/dom-style.js +5 -0
  1924. data/vendor/assets/javascripts/dojo/tests/errors.js +47 -0
  1925. data/vendor/assets/javascripts/dojo/tests/fx.html +484 -0
  1926. data/vendor/assets/javascripts/dojo/tests/fx.js +7 -0
  1927. data/vendor/assets/javascripts/dojo/tests/hash.js +321 -0
  1928. data/vendor/assets/javascripts/dojo/tests/html/test_set.html +558 -0
  1929. data/vendor/assets/javascripts/dojo/tests/html.js +5 -0
  1930. data/vendor/assets/javascripts/dojo/tests/i18n.html +70 -0
  1931. data/vendor/assets/javascripts/dojo/tests/i18n.js +55 -0
  1932. data/vendor/assets/javascripts/dojo/tests/io/iframe.html +271 -0
  1933. data/vendor/assets/javascripts/dojo/tests/io/iframe.js +5 -0
  1934. data/vendor/assets/javascripts/dojo/tests/io/iframeResponse.html +8 -0
  1935. data/vendor/assets/javascripts/dojo/tests/io/iframeResponse.js.html +7 -0
  1936. data/vendor/assets/javascripts/dojo/tests/io/iframeResponse.json.html +7 -0
  1937. data/vendor/assets/javascripts/dojo/tests/io/iframeResponse.text.html +7 -0
  1938. data/vendor/assets/javascripts/dojo/tests/io/iframeResponse.xml +17 -0
  1939. data/vendor/assets/javascripts/dojo/tests/io/iframeUploadTest.html +50 -0
  1940. data/vendor/assets/javascripts/dojo/tests/io/script.html +110 -0
  1941. data/vendor/assets/javascripts/dojo/tests/io/script.js +5 -0
  1942. data/vendor/assets/javascripts/dojo/tests/io/scriptJsonp.js +57 -0
  1943. data/vendor/assets/javascripts/dojo/tests/io/scriptLoad.js +2 -0
  1944. data/vendor/assets/javascripts/dojo/tests/io/scriptSimple.js +5 -0
  1945. data/vendor/assets/javascripts/dojo/tests/io/scriptTimeout.html +67 -0
  1946. data/vendor/assets/javascripts/dojo/tests/io/upload.cgi +62 -0
  1947. data/vendor/assets/javascripts/dojo/tests/json.js +171 -0
  1948. data/vendor/assets/javascripts/dojo/tests/module.js +44 -0
  1949. data/vendor/assets/javascripts/dojo/tests/mouse.js +56 -0
  1950. data/vendor/assets/javascripts/dojo/tests/nls/ar/salutations.js +12 -0
  1951. data/vendor/assets/javascripts/dojo/tests/nls/cs/salutations.js +8 -0
  1952. data/vendor/assets/javascripts/dojo/tests/nls/de/salutations.js +8 -0
  1953. data/vendor/assets/javascripts/dojo/tests/nls/el/salutations.js +8 -0
  1954. data/vendor/assets/javascripts/dojo/tests/nls/en-au/salutations.js +7 -0
  1955. data/vendor/assets/javascripts/dojo/tests/nls/en-us-hawaii/salutations.js +7 -0
  1956. data/vendor/assets/javascripts/dojo/tests/nls/en-us-new_york-brooklyn/salutations.js +7 -0
  1957. data/vendor/assets/javascripts/dojo/tests/nls/en-us-texas/salutations.js +7 -0
  1958. data/vendor/assets/javascripts/dojo/tests/nls/es/salutations.js +9 -0
  1959. data/vendor/assets/javascripts/dojo/tests/nls/fa/salutations.js +8 -0
  1960. data/vendor/assets/javascripts/dojo/tests/nls/fr/salutations.js +8 -0
  1961. data/vendor/assets/javascripts/dojo/tests/nls/he/salutations.js +8 -0
  1962. data/vendor/assets/javascripts/dojo/tests/nls/hi/salutations.js +8 -0
  1963. data/vendor/assets/javascripts/dojo/tests/nls/it/salutations.js +8 -0
  1964. data/vendor/assets/javascripts/dojo/tests/nls/ja/salutations.js +8 -0
  1965. data/vendor/assets/javascripts/dojo/tests/nls/ko/salutations.js +8 -0
  1966. data/vendor/assets/javascripts/dojo/tests/nls/pl/salutations.js +8 -0
  1967. data/vendor/assets/javascripts/dojo/tests/nls/pt/salutations.js +8 -0
  1968. data/vendor/assets/javascripts/dojo/tests/nls/ru/salutations.js +8 -0
  1969. data/vendor/assets/javascripts/dojo/tests/nls/salutations.js +62 -0
  1970. data/vendor/assets/javascripts/dojo/tests/nls/sw/salutations.js +7 -0
  1971. data/vendor/assets/javascripts/dojo/tests/nls/th/salutations.js +8 -0
  1972. data/vendor/assets/javascripts/dojo/tests/nls/tr/salutations.js +8 -0
  1973. data/vendor/assets/javascripts/dojo/tests/nls/yi/salutations.js +8 -0
  1974. data/vendor/assets/javascripts/dojo/tests/nls/zh-cn/salutations.js +8 -0
  1975. data/vendor/assets/javascripts/dojo/tests/nls/zh-tw/salutations.js +8 -0
  1976. data/vendor/assets/javascripts/dojo/tests/node.js +47 -0
  1977. data/vendor/assets/javascripts/dojo/tests/number.js +1134 -0
  1978. data/vendor/assets/javascripts/dojo/tests/on/bench.html +98 -0
  1979. data/vendor/assets/javascripts/dojo/tests/on/on.js +266 -0
  1980. data/vendor/assets/javascripts/dojo/tests/on.js +3 -0
  1981. data/vendor/assets/javascripts/dojo/tests/parser/bench.html +311 -0
  1982. data/vendor/assets/javascripts/dojo/tests/parser/parseOnLoadAutoRequire.html +43 -0
  1983. data/vendor/assets/javascripts/dojo/tests/parser/parseOnLoadDeclarativeRequire.html +62 -0
  1984. data/vendor/assets/javascripts/dojo/tests/parser/parser-args.html +59 -0
  1985. data/vendor/assets/javascripts/dojo/tests/parser/parser.html +1131 -0
  1986. data/vendor/assets/javascripts/dojo/tests/parser/runTests.html +10 -0
  1987. data/vendor/assets/javascripts/dojo/tests/parser.js +8 -0
  1988. data/vendor/assets/javascripts/dojo/tests/promise/Promise.js +60 -0
  1989. data/vendor/assets/javascripts/dojo/tests/promise/all.js +104 -0
  1990. data/vendor/assets/javascripts/dojo/tests/promise/first.js +100 -0
  1991. data/vendor/assets/javascripts/dojo/tests/promise/tracer.js +106 -0
  1992. data/vendor/assets/javascripts/dojo/tests/promise.js +8 -0
  1993. data/vendor/assets/javascripts/dojo/tests/query/query.html +454 -0
  1994. data/vendor/assets/javascripts/dojo/tests/query/queryQuirks.html +455 -0
  1995. data/vendor/assets/javascripts/dojo/tests/query/runTests.html +9 -0
  1996. data/vendor/assets/javascripts/dojo/tests/query/xml.xhtml +19 -0
  1997. data/vendor/assets/javascripts/dojo/tests/query.js +27 -0
  1998. data/vendor/assets/javascripts/dojo/tests/regexp.js +11 -0
  1999. data/vendor/assets/javascripts/dojo/tests/request/handlers.js +87 -0
  2000. data/vendor/assets/javascripts/dojo/tests/request/iframe.html +205 -0
  2001. data/vendor/assets/javascripts/dojo/tests/request/iframeDummyMethod.php +109 -0
  2002. data/vendor/assets/javascripts/dojo/tests/request/node.js +45 -0
  2003. data/vendor/assets/javascripts/dojo/tests/request/notify.html +191 -0
  2004. data/vendor/assets/javascripts/dojo/tests/request/registry.html +101 -0
  2005. data/vendor/assets/javascripts/dojo/tests/request/script.html +92 -0
  2006. data/vendor/assets/javascripts/dojo/tests/request/scriptDummyMethod.php +21 -0
  2007. data/vendor/assets/javascripts/dojo/tests/request/xhr.html +279 -0
  2008. data/vendor/assets/javascripts/dojo/tests/request/xhrDummyMethod.php +72 -0
  2009. data/vendor/assets/javascripts/dojo/tests/request.js +14 -0
  2010. data/vendor/assets/javascripts/dojo/tests/resources/AMDMixin.js +10 -0
  2011. data/vendor/assets/javascripts/dojo/tests/resources/AMDWidget.js +9 -0
  2012. data/vendor/assets/javascripts/dojo/tests/resources/AMDWidget2.js +14 -0
  2013. data/vendor/assets/javascripts/dojo/tests/resources/AMDWidget3.js +9 -0
  2014. data/vendor/assets/javascripts/dojo/tests/resources/ApplicationState.js +28 -0
  2015. data/vendor/assets/javascripts/dojo/tests/resources/JSON.php +724 -0
  2016. data/vendor/assets/javascripts/dojo/tests/resources/amdmodule.js +8 -0
  2017. data/vendor/assets/javascripts/dojo/tests/resources/nodemod/m.js +7 -0
  2018. data/vendor/assets/javascripts/dojo/tests/resources/nodemod/package.json +4 -0
  2019. data/vendor/assets/javascripts/dojo/tests/resources/nodemodule.js +7 -0
  2020. data/vendor/assets/javascripts/dojo/tests/resources/noderequire.js +5 -0
  2021. data/vendor/assets/javascripts/dojo/tests/resources/testClass.php +20 -0
  2022. data/vendor/assets/javascripts/dojo/tests/resources/testClass.smd +39 -0
  2023. data/vendor/assets/javascripts/dojo/tests/resources/test_JsonRPCMediator.php +43 -0
  2024. data/vendor/assets/javascripts/dojo/tests/resources/test_css.html +100 -0
  2025. data/vendor/assets/javascripts/dojo/tests/resources/yahoo_smd_v1.smd +268 -0
  2026. data/vendor/assets/javascripts/dojo/tests/router.js +272 -0
  2027. data/vendor/assets/javascripts/dojo/tests/rpc.js +140 -0
  2028. data/vendor/assets/javascripts/dojo/tests/runTests.html +9 -0
  2029. data/vendor/assets/javascripts/dojo/tests/smoke-dojo-sie.html +11 -0
  2030. data/vendor/assets/javascripts/dojo/tests/sniff.html +35 -0
  2031. data/vendor/assets/javascripts/dojo/tests/store/Cache.js +96 -0
  2032. data/vendor/assets/javascripts/dojo/tests/store/DataStore.js +71 -0
  2033. data/vendor/assets/javascripts/dojo/tests/store/JsonRest.js +102 -0
  2034. data/vendor/assets/javascripts/dojo/tests/store/Memory.js +119 -0
  2035. data/vendor/assets/javascripts/dojo/tests/store/Observable.js +154 -0
  2036. data/vendor/assets/javascripts/dojo/tests/store/index.php +23 -0
  2037. data/vendor/assets/javascripts/dojo/tests/store/node1.1 +4 -0
  2038. data/vendor/assets/javascripts/dojo/tests/store/node1.2 +1 -0
  2039. data/vendor/assets/javascripts/dojo/tests/store/runTests.html +9 -0
  2040. data/vendor/assets/javascripts/dojo/tests/store/treeTestRoot +10 -0
  2041. data/vendor/assets/javascripts/dojo/tests/store.js +8 -0
  2042. data/vendor/assets/javascripts/dojo/tests/string.js +92 -0
  2043. data/vendor/assets/javascripts/dojo/tests/test_FirebugLite.html +101 -0
  2044. data/vendor/assets/javascripts/dojo/tests/test_FirebugLitePopup.html +102 -0
  2045. data/vendor/assets/javascripts/dojo/tests/test_dom_setSelectable.html +74 -0
  2046. data/vendor/assets/javascripts/dojo/tests/test_fx.html +107 -0
  2047. data/vendor/assets/javascripts/dojo/tests/test_touch.html +183 -0
  2048. data/vendor/assets/javascripts/dojo/tests/touch.js +6 -0
  2049. data/vendor/assets/javascripts/dojo/tests/uacss/sniffQuirks.html +62 -0
  2050. data/vendor/assets/javascripts/dojo/tests/uacss/sniffStandards.html +61 -0
  2051. data/vendor/assets/javascripts/dojo/tests/uacss.js +8 -0
  2052. data/vendor/assets/javascripts/dojo/tests/when.js +95 -0
  2053. data/vendor/assets/javascripts/dojo/tests/window/test_scroll.html +628 -0
  2054. data/vendor/assets/javascripts/dojo/tests/window/test_scrollNoDTD.html +74 -0
  2055. data/vendor/assets/javascripts/dojo/tests/window/test_scrollStrictDTD.html +76 -0
  2056. data/vendor/assets/javascripts/dojo/tests/window/viewport.html +75 -0
  2057. data/vendor/assets/javascripts/dojo/tests/window/viewportQuirks.html +5 -0
  2058. data/vendor/assets/javascripts/dojo/tests/window.js +6 -0
  2059. data/vendor/assets/javascripts/dojo/tests.js +13 -0
  2060. data/vendor/assets/javascripts/dojo/text.js +214 -0
  2061. data/vendor/assets/javascripts/dojo/topic.js +38 -0
  2062. data/vendor/assets/javascripts/dojo/touch.js +209 -0
  2063. data/vendor/assets/javascripts/dojo/uacss.js +77 -0
  2064. data/vendor/assets/javascripts/dojo/when.js +55 -0
  2065. data/vendor/assets/javascripts/dojo/window.js +168 -0
  2066. data/vendor/assets/javascripts/dojo.js +1968 -0
  2067. data/vendor/assets/stylesheets/claro/Calendar.css +230 -0
  2068. data/vendor/assets/stylesheets/claro/Calendar_rtl.css +18 -0
  2069. data/vendor/assets/stylesheets/claro/ColorPalette.css +17 -0
  2070. data/vendor/assets/stylesheets/claro/Common.css +93 -0
  2071. data/vendor/assets/stylesheets/claro/Dialog.css +170 -0
  2072. data/vendor/assets/stylesheets/claro/Dialog_rtl.css +9 -0
  2073. data/vendor/assets/stylesheets/claro/Editor.css +34 -0
  2074. data/vendor/assets/stylesheets/claro/Editor_rtl.css +4 -0
  2075. data/vendor/assets/stylesheets/claro/Editor_rtl.less +9 -0
  2076. data/vendor/assets/stylesheets/claro/InlineEditBox.css +11 -0
  2077. data/vendor/assets/stylesheets/claro/Menu.css +144 -0
  2078. data/vendor/assets/stylesheets/claro/Menu_rtl.css +8 -0
  2079. data/vendor/assets/stylesheets/claro/ProgressBar.css +40 -0
  2080. data/vendor/assets/stylesheets/claro/README +11 -0
  2081. data/vendor/assets/stylesheets/claro/TimePicker.css +104 -0
  2082. data/vendor/assets/stylesheets/claro/TimePicker_rtl.css +9 -0
  2083. data/vendor/assets/stylesheets/claro/TitlePane.css +61 -0
  2084. data/vendor/assets/stylesheets/claro/TitlePane_rtl.css +4 -0
  2085. data/vendor/assets/stylesheets/claro/Toolbar.css +167 -0
  2086. data/vendor/assets/stylesheets/claro/Toolbar_rtl.css +26 -0
  2087. data/vendor/assets/stylesheets/claro/Tree.css +107 -0
  2088. data/vendor/assets/stylesheets/claro/claro.css +4838 -0
  2089. data/vendor/assets/stylesheets/claro/claro_rtl.css +354 -0
  2090. data/vendor/assets/stylesheets/claro/document.css +133 -0
  2091. data/vendor/assets/stylesheets/claro/form/Button.css +133 -0
  2092. data/vendor/assets/stylesheets/claro/form/Button_rtl.css +12 -0
  2093. data/vendor/assets/stylesheets/claro/form/Checkbox.css +44 -0
  2094. data/vendor/assets/stylesheets/claro/form/Common.css +181 -0
  2095. data/vendor/assets/stylesheets/claro/form/Common_rtl.css +5 -0
  2096. data/vendor/assets/stylesheets/claro/form/NumberSpinner.css +115 -0
  2097. data/vendor/assets/stylesheets/claro/form/RadioButton.css +51 -0
  2098. data/vendor/assets/stylesheets/claro/form/Select.css +72 -0
  2099. data/vendor/assets/stylesheets/claro/form/Slider.css +266 -0
  2100. data/vendor/assets/stylesheets/claro/form/Slider_rtl.css +24 -0
  2101. data/vendor/assets/stylesheets/claro/layout/AccordionContainer.css +94 -0
  2102. data/vendor/assets/stylesheets/claro/layout/AccordionContainer.less +109 -0
  2103. data/vendor/assets/stylesheets/claro/layout/BorderContainer.css +70 -0
  2104. data/vendor/assets/stylesheets/claro/layout/BorderContainer.less +124 -0
  2105. data/vendor/assets/stylesheets/claro/layout/ContentPane.css +16 -0
  2106. data/vendor/assets/stylesheets/claro/layout/ContentPane.less +43 -0
  2107. data/vendor/assets/stylesheets/claro/layout/TabContainer.css +322 -0
  2108. data/vendor/assets/stylesheets/claro/layout/TabContainer.less +366 -0
  2109. data/vendor/assets/stylesheets/claro/layout/TabContainer_rtl.css +4 -0
  2110. data/vendor/assets/stylesheets/claro/layout/TabContainer_rtl.less +7 -0
  2111. data/vendor/assets/stylesheets/claro/layout/images/tabBottomSelected.png +0 -0
  2112. data/vendor/assets/stylesheets/claro/layout/images/tabBottomSelected.svg +18 -0
  2113. data/vendor/assets/stylesheets/claro/layout/images/tabBottomUnselected.png +0 -0
  2114. data/vendor/assets/stylesheets/claro/layout/images/tabBottomUnselected.svg +19 -0
  2115. data/vendor/assets/stylesheets/claro/layout/images/tabClose.png +0 -0
  2116. data/vendor/assets/stylesheets/claro/layout/images/tabLeftSelected.png +0 -0
  2117. data/vendor/assets/stylesheets/claro/layout/images/tabLeftSelected.svg +17 -0
  2118. data/vendor/assets/stylesheets/claro/layout/images/tabLeftUnselected.png +0 -0
  2119. data/vendor/assets/stylesheets/claro/layout/images/tabLeftUnselected.svg +16 -0
  2120. data/vendor/assets/stylesheets/claro/layout/images/tabNested.png +0 -0
  2121. data/vendor/assets/stylesheets/claro/layout/images/tabRightSelected.png +0 -0
  2122. data/vendor/assets/stylesheets/claro/layout/images/tabRightSelected.svg +17 -0
  2123. data/vendor/assets/stylesheets/claro/layout/images/tabRightUnselected.png +0 -0
  2124. data/vendor/assets/stylesheets/claro/layout/images/tabRightUnselected.svg +16 -0
  2125. data/vendor/assets/stylesheets/claro/layout/images/tabTopSelected.png +0 -0
  2126. data/vendor/assets/stylesheets/claro/layout/images/tabTopSelected.svg +18 -0
  2127. data/vendor/assets/stylesheets/claro/layout/images/tabTopUnselected.png +0 -0
  2128. data/vendor/assets/stylesheets/claro/layout/images/tabTopUnselected.svg +19 -0
  2129. data/vendor/assets/stylesheets/dijit.css +1758 -0
  2130. data/vendor/assets/stylesheets/dijit_rtl.css +115 -0
  2131. data/vendor/assets/stylesheets/nihilo/Calendar.css +135 -0
  2132. data/vendor/assets/stylesheets/nihilo/Calendar_rtl.css +7 -0
  2133. data/vendor/assets/stylesheets/nihilo/ColorPalette.css +5 -0
  2134. data/vendor/assets/stylesheets/nihilo/Common.css +12 -0
  2135. data/vendor/assets/stylesheets/nihilo/Dialog.css +123 -0
  2136. data/vendor/assets/stylesheets/nihilo/Dialog_rtl.css +5 -0
  2137. data/vendor/assets/stylesheets/nihilo/Editor.css +13 -0
  2138. data/vendor/assets/stylesheets/nihilo/Editor_rtl.css +7 -0
  2139. data/vendor/assets/stylesheets/nihilo/Menu.css +63 -0
  2140. data/vendor/assets/stylesheets/nihilo/Menu_rtl.css +8 -0
  2141. data/vendor/assets/stylesheets/nihilo/ProgressBar.css +24 -0
  2142. data/vendor/assets/stylesheets/nihilo/TimePicker.css +42 -0
  2143. data/vendor/assets/stylesheets/nihilo/TimePicker_rtl.css +4 -0
  2144. data/vendor/assets/stylesheets/nihilo/TitlePane.css +45 -0
  2145. data/vendor/assets/stylesheets/nihilo/TitlePane_rtl.css +6 -0
  2146. data/vendor/assets/stylesheets/nihilo/Toolbar.css +56 -0
  2147. data/vendor/assets/stylesheets/nihilo/Tree.css +75 -0
  2148. data/vendor/assets/stylesheets/nihilo/Tree_rtl.css +18 -0
  2149. data/vendor/assets/stylesheets/nihilo/form/Button.css +108 -0
  2150. data/vendor/assets/stylesheets/nihilo/form/Button_rtl.css +3 -0
  2151. data/vendor/assets/stylesheets/nihilo/form/Checkbox.css +40 -0
  2152. data/vendor/assets/stylesheets/nihilo/form/Common.css +60 -0
  2153. data/vendor/assets/stylesheets/nihilo/form/RadioButton.css +40 -0
  2154. data/vendor/assets/stylesheets/nihilo/form/Select.css +39 -0
  2155. data/vendor/assets/stylesheets/nihilo/form/Slider.css +120 -0
  2156. data/vendor/assets/stylesheets/nihilo/form/Slider_rtl.css +29 -0
  2157. data/vendor/assets/stylesheets/nihilo/form/TimeTextBox.css +1 -0
  2158. data/vendor/assets/stylesheets/nihilo/layout/AccordionContainer.css +35 -0
  2159. data/vendor/assets/stylesheets/nihilo/layout/AccordionContainer_rtl.css +7 -0
  2160. data/vendor/assets/stylesheets/nihilo/layout/BorderContainer.css +59 -0
  2161. data/vendor/assets/stylesheets/nihilo/layout/ContentPane.css +17 -0
  2162. data/vendor/assets/stylesheets/nihilo/layout/SplitContainer.css +27 -0
  2163. data/vendor/assets/stylesheets/nihilo/layout/TabContainer.css +364 -0
  2164. data/vendor/assets/stylesheets/nihilo/layout/TabContainer_rtl.css +34 -0
  2165. data/vendor/assets/stylesheets/nihilo/nihilo.css +3450 -0
  2166. data/vendor/assets/stylesheets/nihilo/nihilo_rtl.css +247 -0
  2167. data/vendor/assets/stylesheets/soria/Calendar.css +135 -0
  2168. data/vendor/assets/stylesheets/soria/Calendar_rtl.css +7 -0
  2169. data/vendor/assets/stylesheets/soria/ColorPalette.css +5 -0
  2170. data/vendor/assets/stylesheets/soria/Common.css +17 -0
  2171. data/vendor/assets/stylesheets/soria/Dialog.css +126 -0
  2172. data/vendor/assets/stylesheets/soria/Dialog_rtl.css +5 -0
  2173. data/vendor/assets/stylesheets/soria/Editor.css +13 -0
  2174. data/vendor/assets/stylesheets/soria/Editor_rtl.css +7 -0
  2175. data/vendor/assets/stylesheets/soria/Menu.css +63 -0
  2176. data/vendor/assets/stylesheets/soria/Menu_rtl.css +8 -0
  2177. data/vendor/assets/stylesheets/soria/ProgressBar.css +24 -0
  2178. data/vendor/assets/stylesheets/soria/TimePicker.css +42 -0
  2179. data/vendor/assets/stylesheets/soria/TimePicker_rtl.css +4 -0
  2180. data/vendor/assets/stylesheets/soria/TitlePane.css +48 -0
  2181. data/vendor/assets/stylesheets/soria/TitlePane_rtl.css +6 -0
  2182. data/vendor/assets/stylesheets/soria/Toolbar.css +56 -0
  2183. data/vendor/assets/stylesheets/soria/Tree.css +78 -0
  2184. data/vendor/assets/stylesheets/soria/Tree_rtl.css +18 -0
  2185. data/vendor/assets/stylesheets/soria/form/Button.css +105 -0
  2186. data/vendor/assets/stylesheets/soria/form/Button_rtl.css +3 -0
  2187. data/vendor/assets/stylesheets/soria/form/Checkbox.css +40 -0
  2188. data/vendor/assets/stylesheets/soria/form/Common.css +60 -0
  2189. data/vendor/assets/stylesheets/soria/form/RadioButton.css +40 -0
  2190. data/vendor/assets/stylesheets/soria/form/Select.css +41 -0
  2191. data/vendor/assets/stylesheets/soria/form/Slider.css +122 -0
  2192. data/vendor/assets/stylesheets/soria/form/Slider_rtl.css +29 -0
  2193. data/vendor/assets/stylesheets/soria/form/TimeTextBox.css +1 -0
  2194. data/vendor/assets/stylesheets/soria/layout/AccordionContainer.css +35 -0
  2195. data/vendor/assets/stylesheets/soria/layout/AccordionContainer_rtl.css +7 -0
  2196. data/vendor/assets/stylesheets/soria/layout/BorderContainer.css +59 -0
  2197. data/vendor/assets/stylesheets/soria/layout/ContentPane.css +17 -0
  2198. data/vendor/assets/stylesheets/soria/layout/SplitContainer.css +27 -0
  2199. data/vendor/assets/stylesheets/soria/layout/TabContainer.css +297 -0
  2200. data/vendor/assets/stylesheets/soria/layout/TabContainer_rtl.css +34 -0
  2201. data/vendor/assets/stylesheets/soria/soria.css +3396 -0
  2202. data/vendor/assets/stylesheets/soria/soria_rtl.css +248 -0
  2203. data/vendor/assets/stylesheets/tundra/Calendar.css +136 -0
  2204. data/vendor/assets/stylesheets/tundra/Calendar_rtl.css +7 -0
  2205. data/vendor/assets/stylesheets/tundra/ColorPalette.css +5 -0
  2206. data/vendor/assets/stylesheets/tundra/Common.css +27 -0
  2207. data/vendor/assets/stylesheets/tundra/Dialog.css +129 -0
  2208. data/vendor/assets/stylesheets/tundra/Dialog_rtl.css +5 -0
  2209. data/vendor/assets/stylesheets/tundra/Editor.css +14 -0
  2210. data/vendor/assets/stylesheets/tundra/Editor_rtl.css +7 -0
  2211. data/vendor/assets/stylesheets/tundra/Menu.css +62 -0
  2212. data/vendor/assets/stylesheets/tundra/Menu_rtl.css +3 -0
  2213. data/vendor/assets/stylesheets/tundra/ProgressBar.css +23 -0
  2214. data/vendor/assets/stylesheets/tundra/TimePicker.css +42 -0
  2215. data/vendor/assets/stylesheets/tundra/TimePicker_rtl.css +4 -0
  2216. data/vendor/assets/stylesheets/tundra/TitlePane.css +34 -0
  2217. data/vendor/assets/stylesheets/tundra/TitlePane_rtl.css +3 -0
  2218. data/vendor/assets/stylesheets/tundra/Toolbar.css +64 -0
  2219. data/vendor/assets/stylesheets/tundra/Tree.css +72 -0
  2220. data/vendor/assets/stylesheets/tundra/Tree_rtl.css +13 -0
  2221. data/vendor/assets/stylesheets/tundra/form/Button.css +120 -0
  2222. data/vendor/assets/stylesheets/tundra/form/Checkbox.css +45 -0
  2223. data/vendor/assets/stylesheets/tundra/form/Common.css +56 -0
  2224. data/vendor/assets/stylesheets/tundra/form/RadioButton.css +44 -0
  2225. data/vendor/assets/stylesheets/tundra/form/Select.css +41 -0
  2226. data/vendor/assets/stylesheets/tundra/form/Slider.css +129 -0
  2227. data/vendor/assets/stylesheets/tundra/form/Slider_rtl.css +26 -0
  2228. data/vendor/assets/stylesheets/tundra/layout/AccordionContainer.css +20 -0
  2229. data/vendor/assets/stylesheets/tundra/layout/BorderContainer.css +55 -0
  2230. data/vendor/assets/stylesheets/tundra/layout/ContentPane.css +17 -0
  2231. data/vendor/assets/stylesheets/tundra/layout/SplitContainer.css +28 -0
  2232. data/vendor/assets/stylesheets/tundra/layout/TabContainer.css +234 -0
  2233. data/vendor/assets/stylesheets/tundra/layout/TabContainer_rtl.css +3 -0
  2234. data/vendor/assets/stylesheets/tundra/tundra.css +3540 -0
  2235. data/vendor/assets/stylesheets/tundra/tundra_rtl.css +192 -0
  2236. metadata +2314 -0
@@ -0,0 +1,2874 @@
1
+ define("dijit/_editor/RichText", [
2
+ "dojo/_base/array", // array.forEach array.indexOf array.some
3
+ "dojo/_base/config", // config
4
+ "dojo/_base/declare", // declare
5
+ "dojo/_base/Deferred", // Deferred
6
+ "dojo/dom", // dom.byId
7
+ "dojo/dom-attr", // domAttr.set or get
8
+ "dojo/dom-class", // domClass.add domClass.remove
9
+ "dojo/dom-construct", // domConstruct.create domConstruct.destroy domConstruct.place
10
+ "dojo/dom-geometry", // domGeometry.position
11
+ "dojo/dom-style", // domStyle.getComputedStyle domStyle.set
12
+ "dojo/_base/event", // event.stop
13
+ "dojo/_base/kernel", // kernel.deprecated
14
+ "dojo/keys", // keys.BACKSPACE keys.TAB
15
+ "dojo/_base/lang", // lang.clone lang.hitch lang.isArray lang.isFunction lang.isString lang.trim
16
+ "dojo/on", // on()
17
+ "dojo/query", // query
18
+ "dojo/ready", // ready
19
+ "dojo/sniff", // has("ie") has("mozilla") has("opera") has("safari") has("webkit")
20
+ "dojo/topic", // topic.publish() (publish)
21
+ "dojo/_base/unload", // unload
22
+ "dojo/_base/url", // url
23
+ "dojo/_base/window", // win.global
24
+ "../_Widget",
25
+ "../_CssStateMixin",
26
+ "./selection",
27
+ "./range",
28
+ "./html",
29
+ "../focus",
30
+ "../main" // dijit._scopeName
31
+ ], function(array, config, declare, Deferred, dom, domAttr, domClass, domConstruct, domGeometry, domStyle,
32
+ event, kernel, keys, lang, on, query, ready, has, topic, unload, _Url, win,
33
+ _Widget, _CssStateMixin, selectionapi, rangeapi, htmlapi, focus, dijit){
34
+
35
+ // module:
36
+ // dijit/_editor/RichText
37
+ // summary:
38
+ // dijit/_editor/RichText is the core of dijit/Editor, which provides basic
39
+ // WYSIWYG editing features.
40
+
41
+ // if you want to allow for rich text saving with back/forward actions, you must add a text area to your page with
42
+ // the id==dijit._scopeName + "._editor.RichText.value" (typically "dijit/_editor/RichText.value). For example,
43
+ // something like this will work:
44
+ //
45
+ // <textarea id="dijit._editor.RichText.value" style="display:none;position:absolute;top:-100px;left:-100px;height:3px;width:3px;overflow:hidden;"></textarea>
46
+ //
47
+
48
+ var RichText = declare("dijit._editor.RichText", [_Widget, _CssStateMixin], {
49
+ // summary:
50
+ // dijit/_editor/RichText is the core of dijit.Editor, which provides basic
51
+ // WYSIWYG editing features.
52
+ //
53
+ // description:
54
+ // dijit/_editor/RichText is the core of dijit.Editor, which provides basic
55
+ // WYSIWYG editing features. It also encapsulates the differences
56
+ // of different js engines for various browsers. Do not use this widget
57
+ // with an HTML &lt;TEXTAREA&gt; tag, since the browser unescapes XML escape characters,
58
+ // like &lt;. This can have unexpected behavior and lead to security issues
59
+ // such as scripting attacks.
60
+ //
61
+ // tags:
62
+ // private
63
+
64
+ constructor: function(params /*===== , srcNodeRef =====*/){
65
+ // summary:
66
+ // Create the widget.
67
+ // params: Object|null
68
+ // Initial settings for any of the widget attributes, except readonly attributes.
69
+ // srcNodeRef: DOMNode
70
+ // The widget replaces the specified DOMNode.
71
+
72
+ // contentPreFilters: Function(String)[]
73
+ // Pre content filter function register array.
74
+ // these filters will be executed before the actual
75
+ // editing area gets the html content.
76
+ this.contentPreFilters = [];
77
+
78
+ // contentPostFilters: Function(String)[]
79
+ // post content filter function register array.
80
+ // These will be used on the resulting html
81
+ // from contentDomPostFilters. The resulting
82
+ // content is the final html (returned by getValue()).
83
+ this.contentPostFilters = [];
84
+
85
+ // contentDomPreFilters: Function(DomNode)[]
86
+ // Pre content dom filter function register array.
87
+ // These filters are applied after the result from
88
+ // contentPreFilters are set to the editing area.
89
+ this.contentDomPreFilters = [];
90
+
91
+ // contentDomPostFilters: Function(DomNode)[]
92
+ // Post content dom filter function register array.
93
+ // These filters are executed on the editing area dom.
94
+ // The result from these will be passed to contentPostFilters.
95
+ this.contentDomPostFilters = [];
96
+
97
+ // editingAreaStyleSheets: dojo._URL[]
98
+ // array to store all the stylesheets applied to the editing area
99
+ this.editingAreaStyleSheets = [];
100
+
101
+ // Make a copy of this.events before we start writing into it, otherwise we
102
+ // will modify the prototype which leads to bad things on pages w/multiple editors
103
+ this.events = [].concat(this.events);
104
+
105
+ this._keyHandlers = {};
106
+
107
+ if(params && lang.isString(params.value)){
108
+ this.value = params.value;
109
+ }
110
+
111
+ this.onLoadDeferred = new Deferred();
112
+ },
113
+
114
+ baseClass: "dijitEditor",
115
+
116
+ // inheritWidth: Boolean
117
+ // whether to inherit the parent's width or simply use 100%
118
+ inheritWidth: false,
119
+
120
+ // focusOnLoad: [deprecated] Boolean
121
+ // Focus into this widget when the page is loaded
122
+ focusOnLoad: false,
123
+
124
+ // name: String?
125
+ // Specifies the name of a (hidden) `<textarea>` node on the page that's used to save
126
+ // the editor content on page leave. Used to restore editor contents after navigating
127
+ // to a new page and then hitting the back button.
128
+ name: "",
129
+
130
+ // styleSheets: [const] String
131
+ // semicolon (";") separated list of css files for the editing area
132
+ styleSheets: "",
133
+
134
+ // height: String
135
+ // Set height to fix the editor at a specific height, with scrolling.
136
+ // By default, this is 300px. If you want to have the editor always
137
+ // resizes to accommodate the content, use AlwaysShowToolbar plugin
138
+ // and set height="". If this editor is used within a layout widget,
139
+ // set height="100%".
140
+ height: "300px",
141
+
142
+ // minHeight: String
143
+ // The minimum height that the editor should have.
144
+ minHeight: "1em",
145
+
146
+ // isClosed: [private] Boolean
147
+ isClosed: true,
148
+
149
+ // isLoaded: [private] Boolean
150
+ isLoaded: false,
151
+
152
+ // _SEPARATOR: [private] String
153
+ // Used to concat contents from multiple editors into a single string,
154
+ // so they can be saved into a single `<textarea>` node. See "name" attribute.
155
+ _SEPARATOR: "@@**%%__RICHTEXTBOUNDRY__%%**@@",
156
+
157
+ // _NAME_CONTENT_SEP: [private] String
158
+ // USed to separate name from content. Just a colon isn't safe.
159
+ _NAME_CONTENT_SEP: "@@**%%:%%**@@",
160
+
161
+ // onLoadDeferred: [readonly] dojo.Deferred
162
+ // Deferred which is fired when the editor finishes loading.
163
+ // Call myEditor.onLoadDeferred.then(callback) it to be informed
164
+ // when the rich-text area initialization is finalized.
165
+ onLoadDeferred: null,
166
+
167
+ // isTabIndent: Boolean
168
+ // Make tab key and shift-tab indent and outdent rather than navigating.
169
+ // Caution: sing this makes web pages inaccessible to users unable to use a mouse.
170
+ isTabIndent: false,
171
+
172
+ // disableSpellCheck: [const] Boolean
173
+ // When true, disables the browser's native spell checking, if supported.
174
+ // Works only in Firefox.
175
+ disableSpellCheck: false,
176
+
177
+ postCreate: function(){
178
+ if("textarea" === this.domNode.tagName.toLowerCase()){
179
+ console.warn("RichText should not be used with the TEXTAREA tag. See dijit._editor.RichText docs.");
180
+ }
181
+
182
+ // Push in the builtin filters now, making them the first executed, but not over-riding anything
183
+ // users passed in. See: #6062
184
+ this.contentPreFilters = [lang.hitch(this, "_preFixUrlAttributes")].concat(this.contentPreFilters);
185
+ if(has("mozilla")){
186
+ this.contentPreFilters = [this._normalizeFontStyle].concat(this.contentPreFilters);
187
+ this.contentPostFilters = [this._removeMozBogus].concat(this.contentPostFilters);
188
+ }
189
+ if(has("webkit")){
190
+ // Try to clean up WebKit bogus artifacts. The inserted classes
191
+ // made by WebKit sometimes messes things up.
192
+ this.contentPreFilters = [this._removeWebkitBogus].concat(this.contentPreFilters);
193
+ this.contentPostFilters = [this._removeWebkitBogus].concat(this.contentPostFilters);
194
+ }
195
+ if(has("ie")){
196
+ // IE generates <strong> and <em> but we want to normalize to <b> and <i>
197
+ this.contentPostFilters = [this._normalizeFontStyle].concat(this.contentPostFilters);
198
+ this.contentDomPostFilters = [lang.hitch(this, this._stripBreakerNodes)].concat(this.contentDomPostFilters);
199
+ }
200
+ this.inherited(arguments);
201
+
202
+ topic.publish(dijit._scopeName + "._editor.RichText::init", this);
203
+ this.open();
204
+ this.setupDefaultShortcuts();
205
+ },
206
+
207
+ setupDefaultShortcuts: function(){
208
+ // summary:
209
+ // Add some default key handlers
210
+ // description:
211
+ // Overwrite this to setup your own handlers. The default
212
+ // implementation does not use Editor commands, but directly
213
+ // executes the builtin commands within the underlying browser
214
+ // support.
215
+ // tags:
216
+ // protected
217
+ var exec = lang.hitch(this, function(cmd, arg){
218
+ return function(){
219
+ return !this.execCommand(cmd,arg);
220
+ };
221
+ });
222
+
223
+ var ctrlKeyHandlers = {
224
+ b: exec("bold"),
225
+ i: exec("italic"),
226
+ u: exec("underline"),
227
+ a: exec("selectall"),
228
+ s: function(){ this.save(true); },
229
+ m: function(){ this.isTabIndent = !this.isTabIndent; },
230
+
231
+ "1": exec("formatblock", "h1"),
232
+ "2": exec("formatblock", "h2"),
233
+ "3": exec("formatblock", "h3"),
234
+ "4": exec("formatblock", "h4"),
235
+
236
+ "\\": exec("insertunorderedlist")
237
+ };
238
+
239
+ if(!has("ie")){
240
+ ctrlKeyHandlers.Z = exec("redo"); //FIXME: undo?
241
+ }
242
+
243
+ var key;
244
+ for(key in ctrlKeyHandlers){
245
+ this.addKeyHandler(key, true, false, ctrlKeyHandlers[key]);
246
+ }
247
+ },
248
+
249
+ // events: [private] String[]
250
+ // events which should be connected to the underlying editing area
251
+ events: ["onKeyPress", "onKeyDown", "onKeyUp"], // onClick handled specially
252
+
253
+ // captureEvents: [deprecated] String[]
254
+ // Events which should be connected to the underlying editing
255
+ // area, events in this array will be addListener with
256
+ // capture=true.
257
+ // TODO: looking at the code I don't see any distinction between events and captureEvents,
258
+ // so get rid of this for 2.0 if not sooner
259
+ captureEvents: [],
260
+
261
+ _editorCommandsLocalized: false,
262
+ _localizeEditorCommands: function(){
263
+ // summary:
264
+ // When IE is running in a non-English locale, the API actually changes,
265
+ // so that we have to say (for example) danraku instead of p (for paragraph).
266
+ // Handle that here.
267
+ // tags:
268
+ // private
269
+ if(RichText._editorCommandsLocalized){
270
+ // Use the already generate cache of mappings.
271
+ this._local2NativeFormatNames = RichText._local2NativeFormatNames;
272
+ this._native2LocalFormatNames = RichText._native2LocalFormatNames;
273
+ return;
274
+ }
275
+ RichText._editorCommandsLocalized = true;
276
+ RichText._local2NativeFormatNames = {};
277
+ RichText._native2LocalFormatNames = {};
278
+ this._local2NativeFormatNames = RichText._local2NativeFormatNames;
279
+ this._native2LocalFormatNames = RichText._native2LocalFormatNames;
280
+ //in IE, names for blockformat is locale dependent, so we cache the values here
281
+
282
+ //put p after div, so if IE returns Normal, we show it as paragraph
283
+ //We can distinguish p and div if IE returns Normal, however, in order to detect that,
284
+ //we have to call this.document.selection.createRange().parentElement() or such, which
285
+ //could slow things down. Leave it as it is for now
286
+ var formats = ['div', 'p', 'pre', 'h1', 'h2', 'h3', 'h4', 'h5', 'h6', 'ol', 'ul', 'address'];
287
+ var localhtml = "", format, i=0;
288
+ while((format=formats[i++])){
289
+ //append a <br> after each element to separate the elements more reliably
290
+ if(format.charAt(1) !== 'l'){
291
+ localhtml += "<"+format+"><span>content</span></"+format+"><br/>";
292
+ }else{
293
+ localhtml += "<"+format+"><li>content</li></"+format+"><br/>";
294
+ }
295
+ }
296
+ // queryCommandValue returns empty if we hide editNode, so move it out of screen temporary
297
+ // Also, IE9 does weird stuff unless we do it inside the editor iframe.
298
+ var style = { position: "absolute", top: "0px", zIndex: 10, opacity: 0.01 };
299
+ var div = domConstruct.create('div', {style: style, innerHTML: localhtml});
300
+ this.ownerDocumentBody.appendChild(div);
301
+
302
+ // IE9 has a timing issue with doing this right after setting
303
+ // the inner HTML, so put a delay in.
304
+ var inject = lang.hitch(this, function(){
305
+ var node = div.firstChild;
306
+ while(node){
307
+ try{
308
+ this._sCall("selectElement", [node.firstChild]);
309
+ var nativename = node.tagName.toLowerCase();
310
+ this._local2NativeFormatNames[nativename] = document.queryCommandValue("formatblock");
311
+ this._native2LocalFormatNames[this._local2NativeFormatNames[nativename]] = nativename;
312
+ node = node.nextSibling.nextSibling;
313
+ //console.log("Mapped: ", nativename, " to: ", this._local2NativeFormatNames[nativename]);
314
+ }catch(e){ /*Sqelch the occasional IE9 error */ }
315
+ }
316
+ domConstruct.destroy(div);
317
+ });
318
+ this.defer(inject);
319
+ },
320
+
321
+ open: function(/*DomNode?*/ element){
322
+ // summary:
323
+ // Transforms the node referenced in this.domNode into a rich text editing
324
+ // node.
325
+ // description:
326
+ // Sets up the editing area asynchronously. This will result in
327
+ // the creation and replacement with an iframe.
328
+ // tags:
329
+ // private
330
+
331
+ if(!this.onLoadDeferred || this.onLoadDeferred.fired >= 0){
332
+ this.onLoadDeferred = new Deferred();
333
+ }
334
+
335
+ if(!this.isClosed){ this.close(); }
336
+ topic.publish(dijit._scopeName + "._editor.RichText::open", this);
337
+
338
+ if(arguments.length === 1 && element.nodeName){ // else unchanged
339
+ this.domNode = element;
340
+ }
341
+
342
+ var dn = this.domNode;
343
+
344
+ // "html" will hold the innerHTML of the srcNodeRef and will be used to
345
+ // initialize the editor.
346
+ var html;
347
+
348
+ if(lang.isString(this.value)){
349
+ // Allow setting the editor content programmatically instead of
350
+ // relying on the initial content being contained within the target
351
+ // domNode.
352
+ html = this.value;
353
+ delete this.value;
354
+ dn.innerHTML = "";
355
+ }else if(dn.nodeName && dn.nodeName.toLowerCase() == "textarea"){
356
+ // if we were created from a textarea, then we need to create a
357
+ // new editing harness node.
358
+ var ta = (this.textarea = dn);
359
+ this.name = ta.name;
360
+ html = ta.value;
361
+ dn = this.domNode = this.ownerDocument.createElement("div");
362
+ dn.setAttribute('widgetId', this.id);
363
+ ta.removeAttribute('widgetId');
364
+ dn.cssText = ta.cssText;
365
+ dn.className += " " + ta.className;
366
+ domConstruct.place(dn, ta, "before");
367
+ var tmpFunc = lang.hitch(this, function(){
368
+ //some browsers refuse to submit display=none textarea, so
369
+ //move the textarea off screen instead
370
+ domStyle.set(ta, {
371
+ display: "block",
372
+ position: "absolute",
373
+ top: "-1000px"
374
+ });
375
+
376
+ if(has("ie")){ //nasty IE bug: abnormal formatting if overflow is not hidden
377
+ var s = ta.style;
378
+ this.__overflow = s.overflow;
379
+ s.overflow = "hidden";
380
+ }
381
+ });
382
+ if(has("ie")){
383
+ this.defer(tmpFunc, 10);
384
+ }else{
385
+ tmpFunc();
386
+ }
387
+
388
+ if(ta.form){
389
+ var resetValue = ta.value;
390
+ this.reset = function(){
391
+ var current = this.getValue();
392
+ if(current !== resetValue){
393
+ this.replaceValue(resetValue);
394
+ }
395
+ };
396
+ on(ta.form, "submit", lang.hitch(this, function(){
397
+ // Copy value to the <textarea> so it gets submitted along with form.
398
+ // FIXME: should we be calling close() here instead?
399
+ domAttr.set(ta, 'disabled', this.disabled); // don't submit the value if disabled
400
+ ta.value = this.getValue();
401
+ }));
402
+ }
403
+ }else{
404
+ html = htmlapi.getChildrenHtml(dn);
405
+ dn.innerHTML = "";
406
+ }
407
+
408
+ this.value = html;
409
+
410
+ // If we're a list item we have to put in a blank line to force the
411
+ // bullet to nicely align at the top of text
412
+ if(dn.nodeName && dn.nodeName === "LI"){
413
+ dn.innerHTML = " <br>";
414
+ }
415
+
416
+ // Construct the editor div structure.
417
+ this.header = dn.ownerDocument.createElement("div");
418
+ dn.appendChild(this.header);
419
+ this.editingArea = dn.ownerDocument.createElement("div");
420
+ dn.appendChild(this.editingArea);
421
+ this.footer = dn.ownerDocument.createElement("div");
422
+ dn.appendChild(this.footer);
423
+
424
+ if(!this.name){
425
+ this.name = this.id + "_AUTOGEN";
426
+ }
427
+
428
+ // User has pressed back/forward button so we lost the text in the editor, but it's saved
429
+ // in a hidden <textarea> (which contains the data for all the editors on this page),
430
+ // so get editor value from there
431
+ if(this.name !== "" && (!config["useXDomain"] || config["allowXdRichTextSave"])){
432
+ var saveTextarea = dom.byId(dijit._scopeName + "._editor.RichText.value");
433
+ if(saveTextarea && saveTextarea.value !== ""){
434
+ var datas = saveTextarea.value.split(this._SEPARATOR), i=0, dat;
435
+ while((dat=datas[i++])){
436
+ var data = dat.split(this._NAME_CONTENT_SEP);
437
+ if(data[0] === this.name){
438
+ html = data[1];
439
+ datas = datas.splice(i, 1);
440
+ saveTextarea.value = datas.join(this._SEPARATOR);
441
+ break;
442
+ }
443
+ }
444
+ }
445
+
446
+ if(!RichText._globalSaveHandler){
447
+ RichText._globalSaveHandler = {};
448
+ unload.addOnUnload(function(){
449
+ var id;
450
+ for(id in RichText._globalSaveHandler){
451
+ var f = RichText._globalSaveHandler[id];
452
+ if(lang.isFunction(f)){
453
+ f();
454
+ }
455
+ }
456
+ });
457
+ }
458
+ RichText._globalSaveHandler[this.id] = lang.hitch(this, "_saveContent");
459
+ }
460
+
461
+ this.isClosed = false;
462
+
463
+ var ifr = (this.editorObject = this.iframe = this.ownerDocument.createElement('iframe'));
464
+ ifr.id = this.id+"_iframe";
465
+ ifr.style.border = "none";
466
+ ifr.style.width = "100%";
467
+ if(this._layoutMode){
468
+ // iframe should be 100% height, thus getting it's height from surrounding
469
+ // <div> (which has the correct height set by Editor)
470
+ ifr.style.height = "100%";
471
+ }else{
472
+ if(has("ie") >= 7){
473
+ if(this.height){
474
+ ifr.style.height = this.height;
475
+ }
476
+ if(this.minHeight){
477
+ ifr.style.minHeight = this.minHeight;
478
+ }
479
+ }else{
480
+ ifr.style.height = this.height ? this.height : this.minHeight;
481
+ }
482
+ }
483
+ ifr.frameBorder = 0;
484
+ ifr._loadFunc = lang.hitch( this, function(w){
485
+ this.window = w;
486
+ this.document = this.window.document;
487
+
488
+ if(has("ie")){
489
+ this._localizeEditorCommands();
490
+ }
491
+
492
+ // Do final setup and set initial contents of editor
493
+ this.onLoad(html);
494
+ });
495
+
496
+ // Set the iframe's initial (blank) content.
497
+ var src = this._getIframeDocTxt(),
498
+ s = "javascript: '" + src.replace(/\\/g, "\\\\").replace(/'/g, "\\'") + "'";
499
+ ifr.setAttribute('src', s);
500
+ this.editingArea.appendChild(ifr);
501
+
502
+ if(has("safari") <= 4){
503
+ src = ifr.getAttribute("src");
504
+ if(!src || src.indexOf("javascript") === -1){
505
+ // Safari 4 and earlier sometimes act oddly
506
+ // So we have to set it again.
507
+ this.defer(function(){ ifr.setAttribute('src', s); });
508
+ }
509
+ }
510
+
511
+ // TODO: this is a guess at the default line-height, kinda works
512
+ if(dn.nodeName === "LI"){
513
+ dn.lastChild.style.marginTop = "-1.2em";
514
+ }
515
+
516
+ domClass.add(this.domNode, this.baseClass);
517
+ },
518
+
519
+ //static cache variables shared among all instance of this class
520
+ _local2NativeFormatNames: {},
521
+ _native2LocalFormatNames: {},
522
+
523
+ _getIframeDocTxt: function(){
524
+ // summary:
525
+ // Generates the boilerplate text of the document inside the iframe (ie, `<html><head>...</head><body/></html>`).
526
+ // Editor content (if not blank) should be added afterwards.
527
+ // tags:
528
+ // private
529
+ var _cs = domStyle.getComputedStyle(this.domNode);
530
+
531
+ // The contents inside of <body>. The real contents are set later via a call to setValue().
532
+ var html = "";
533
+ var setBodyId = true;
534
+ if(has("ie") || has("webkit") || (!this.height && !has("mozilla"))){
535
+ // In auto-expand mode, need a wrapper div for AlwaysShowToolbar plugin to correctly
536
+ // expand/contract the editor as the content changes.
537
+ html = "<div id='dijitEditorBody'></div>";
538
+ setBodyId = false;
539
+ }else if(has("mozilla")){
540
+ // workaround bug where can't select then delete text (until user types something
541
+ // into the editor)... and/or issue where typing doesn't erase selected text
542
+ this._cursorToStart = true;
543
+ html = "&#160;"; // &nbsp;
544
+ }
545
+
546
+ var font = [ _cs.fontWeight, _cs.fontSize, _cs.fontFamily ].join(" ");
547
+
548
+ // line height is tricky - applying a units value will mess things up.
549
+ // if we can't get a non-units value, bail out.
550
+ var lineHeight = _cs.lineHeight;
551
+ if(lineHeight.indexOf("px") >= 0){
552
+ lineHeight = parseFloat(lineHeight)/parseFloat(_cs.fontSize);
553
+ // console.debug(lineHeight);
554
+ }else if(lineHeight.indexOf("em")>=0){
555
+ lineHeight = parseFloat(lineHeight);
556
+ }else{
557
+ // If we can't get a non-units value, just default
558
+ // it to the CSS spec default of 'normal'. Seems to
559
+ // work better, esp on IE, than '1.0'
560
+ lineHeight = "normal";
561
+ }
562
+ var userStyle = "";
563
+ var self = this;
564
+ this.style.replace(/(^|;)\s*(line-|font-?)[^;]+/ig, function(match){
565
+ match = match.replace(/^;/ig,"") + ';';
566
+ var s = match.split(":")[0];
567
+ if(s){
568
+ s = lang.trim(s);
569
+ s = s.toLowerCase();
570
+ var i;
571
+ var sC = "";
572
+ for(i = 0; i < s.length; i++){
573
+ var c = s.charAt(i);
574
+ switch(c){
575
+ case "-":
576
+ i++;
577
+ c = s.charAt(i).toUpperCase();
578
+ default:
579
+ sC += c;
580
+ }
581
+ }
582
+ domStyle.set(self.domNode, sC, "");
583
+ }
584
+ userStyle += match + ';';
585
+ });
586
+
587
+
588
+ // need to find any associated label element and update iframe document title
589
+ var label=query('label[for="'+this.id+'"]');
590
+
591
+ return [
592
+ this.isLeftToRight() ? "<html>\n<head>\n" : "<html dir='rtl'>\n<head>\n",
593
+ (has("mozilla") && label.length ? "<title>" + label[0].innerHTML + "</title>\n" : ""),
594
+ "<meta http-equiv='Content-Type' content='text/html'>\n",
595
+ "<style>\n",
596
+ "\tbody,html {\n",
597
+ "\t\tbackground:transparent;\n",
598
+ "\t\tpadding: 1px 0 0 0;\n",
599
+ "\t\tmargin: -1px 0 0 0;\n", // remove extraneous vertical scrollbar on safari and firefox
600
+
601
+ // Set the html/body sizing. Webkit always needs this, other browsers
602
+ // only set it when height is defined (not auto-expanding), otherwise
603
+ // scrollers do not appear.
604
+ ((has("webkit"))?"\t\twidth: 100%;\n":""),
605
+ ((has("webkit"))?"\t\theight: 100%;\n":""),
606
+ "\t}\n",
607
+
608
+ // TODO: left positioning will cause contents to disappear out of view
609
+ // if it gets too wide for the visible area
610
+ "\tbody{\n",
611
+ "\t\ttop:0px;\n",
612
+ "\t\tleft:0px;\n",
613
+ "\t\tright:0px;\n",
614
+ "\t\tfont:", font, ";\n",
615
+ ((this.height||has("opera")) ? "" : "\t\tposition: fixed;\n"),
616
+ // FIXME: IE 6 won't understand min-height?
617
+ "\t\tmin-height:", this.minHeight, ";\n",
618
+ "\t\tline-height:", lineHeight,";\n",
619
+ "\t}\n",
620
+ "\tp{ margin: 1em 0; }\n",
621
+
622
+ // Determine how scrollers should be applied. In autoexpand mode (height = "") no scrollers on y at all.
623
+ // But in fixed height mode we want both x/y scrollers. Also, if it's using wrapping div and in auto-expand
624
+ // (Mainly IE) we need to kill the y scroller on body and html.
625
+ (!setBodyId && !this.height ? "\tbody,html {overflow-y: hidden;}\n" : ""),
626
+ "\t#dijitEditorBody{overflow-x: auto; overflow-y:" + (this.height ? "auto;" : "hidden;") + " outline: 0px;}\n",
627
+ "\tli > ul:-moz-first-node, li > ol:-moz-first-node{ padding-top: 1.2em; }\n",
628
+ // Can't set min-height in IE9, it puts layout on li, which puts move/resize handles.
629
+ (!has("ie") ? "\tli{ min-height:1.2em; }\n" : ""),
630
+ "</style>\n",
631
+ this._applyEditingAreaStyleSheets(),"\n",
632
+ "</head>\n<body ",
633
+ (setBodyId?"id='dijitEditorBody' ":""),
634
+
635
+ // Onload handler fills in real editor content.
636
+ // On IE9, sometimes onload is called twice, and the first time frameElement is null (test_FullScreen.html)
637
+ "onload='frameElement && frameElement._loadFunc(window,document)' ",
638
+ "style='"+userStyle+"'>", html, "</body>\n</html>"
639
+ ].join(""); // String
640
+ },
641
+
642
+ _applyEditingAreaStyleSheets: function(){
643
+ // summary:
644
+ // apply the specified css files in styleSheets
645
+ // tags:
646
+ // private
647
+ var files = [];
648
+ if(this.styleSheets){
649
+ files = this.styleSheets.split(';');
650
+ this.styleSheets = '';
651
+ }
652
+
653
+ //empty this.editingAreaStyleSheets here, as it will be filled in addStyleSheet
654
+ files = files.concat(this.editingAreaStyleSheets);
655
+ this.editingAreaStyleSheets = [];
656
+
657
+ var text='', i=0, url;
658
+ while((url=files[i++])){
659
+ var abstring = (new _Url(win.global.location, url)).toString();
660
+ this.editingAreaStyleSheets.push(abstring);
661
+ text += '<link rel="stylesheet" type="text/css" href="'+abstring+'"/>';
662
+ }
663
+ return text;
664
+ },
665
+
666
+ addStyleSheet: function(/*dojo/_base/url*/ uri){
667
+ // summary:
668
+ // add an external stylesheet for the editing area
669
+ // uri:
670
+ // Url of the external css file
671
+ var url=uri.toString();
672
+
673
+ //if uri is relative, then convert it to absolute so that it can be resolved correctly in iframe
674
+ if(url.charAt(0) === '.' || (url.charAt(0) !== '/' && !uri.host)){
675
+ url = (new _Url(win.global.location, url)).toString();
676
+ }
677
+
678
+ if(array.indexOf(this.editingAreaStyleSheets, url) > -1){
679
+ // console.debug("dijit/_editor/RichText.addStyleSheet(): Style sheet "+url+" is already applied");
680
+ return;
681
+ }
682
+
683
+ this.editingAreaStyleSheets.push(url);
684
+ this.onLoadDeferred.then(lang.hitch(this, function(){
685
+ if(this.document.createStyleSheet){ //IE
686
+ this.document.createStyleSheet(url);
687
+ }else{ //other browser
688
+ var head = this.document.getElementsByTagName("head")[0];
689
+ var stylesheet = this.document.createElement("link");
690
+ stylesheet.rel="stylesheet";
691
+ stylesheet.type="text/css";
692
+ stylesheet.href=url;
693
+ head.appendChild(stylesheet);
694
+ }
695
+ }));
696
+ },
697
+
698
+ removeStyleSheet: function(/*dojo/_base/url*/ uri){
699
+ // summary:
700
+ // remove an external stylesheet for the editing area
701
+ var url=uri.toString();
702
+ //if uri is relative, then convert it to absolute so that it can be resolved correctly in iframe
703
+ if(url.charAt(0) === '.' || (url.charAt(0) !== '/' && !uri.host)){
704
+ url = (new _Url(win.global.location, url)).toString();
705
+ }
706
+ var index = array.indexOf(this.editingAreaStyleSheets, url);
707
+ if(index === -1){
708
+ // console.debug("dijit/_editor/RichText.removeStyleSheet(): Style sheet "+url+" has not been applied");
709
+ return;
710
+ }
711
+ delete this.editingAreaStyleSheets[index];
712
+ query('link:[href="'+url+'"]', this.window.document).orphan();
713
+ },
714
+
715
+ // disabled: Boolean
716
+ // The editor is disabled; the text cannot be changed.
717
+ disabled: false,
718
+
719
+ _mozSettingProps: {'styleWithCSS':false},
720
+ _setDisabledAttr: function(/*Boolean*/ value){
721
+ value = !!value;
722
+ this._set("disabled", value);
723
+ if(!this.isLoaded){ return; } // this method requires init to be complete
724
+ if(has("ie") || has("webkit") || has("opera")){
725
+ var preventIEfocus = has("ie") && (this.isLoaded || !this.focusOnLoad);
726
+ if(preventIEfocus){ this.editNode.unselectable = "on"; }
727
+ this.editNode.contentEditable = !value;
728
+ if(preventIEfocus){
729
+ this.defer(function(){
730
+ if(this.editNode){ // guard in case widget destroyed before timeout
731
+ this.editNode.unselectable = "off";
732
+ }
733
+ });
734
+ }
735
+ }else{ //moz
736
+ try{
737
+ this.document.designMode=(value?'off':'on');
738
+ }catch(e){ return; } // ! _disabledOK
739
+ if(!value && this._mozSettingProps){
740
+ var ps = this._mozSettingProps;
741
+ var n;
742
+ for(n in ps){
743
+ if(ps.hasOwnProperty(n)){
744
+ try{
745
+ this.document.execCommand(n,false,ps[n]);
746
+ }catch(e2){}
747
+ }
748
+ }
749
+ }
750
+ // this.document.execCommand('contentReadOnly', false, value);
751
+ // if(value){
752
+ // this.blur(); //to remove the blinking caret
753
+ // }
754
+ }
755
+ this._disabledOK = true;
756
+ },
757
+
758
+ /* Event handlers
759
+ *****************/
760
+
761
+ onLoad: function(/*String*/ html){
762
+ // summary:
763
+ // Handler after the iframe finishes loading.
764
+ // html: String
765
+ // Editor contents should be set to this value
766
+ // tags:
767
+ // protected
768
+
769
+ // TODO: rename this to _onLoad, make empty public onLoad() method, deprecate/make protected onLoadDeferred handler?
770
+
771
+ if(!this.window.__registeredWindow){
772
+ this.window.__registeredWindow = true;
773
+ this._iframeRegHandle = focus.registerIframe(this.iframe);
774
+ }
775
+ if(!has("ie") && !has("webkit") && (this.height || has("mozilla"))){
776
+ this.editNode=this.document.body;
777
+ }else{
778
+ // there's a wrapper div around the content, see _getIframeDocTxt().
779
+ this.editNode=this.document.body.firstChild;
780
+ var _this = this;
781
+ if(has("ie")){ // #4996 IE wants to focus the BODY tag
782
+ this.tabStop = domConstruct.create('div', { tabIndex: -1 }, this.editingArea);
783
+ this.iframe.onfocus = function(){ _this.editNode.setActive(); };
784
+ }
785
+ }
786
+ this.focusNode = this.editNode; // for InlineEditBox
787
+
788
+
789
+ var events = this.events.concat(this.captureEvents);
790
+ var ap = this.iframe ? this.document : this.editNode;
791
+ array.forEach(events, function(item){
792
+ this.connect(ap, item.toLowerCase(), item);
793
+ }, this);
794
+
795
+ this.connect(ap, "onmouseup", "onClick"); // mouseup in the margin does not generate an onclick event
796
+
797
+ if(has("ie")){ // IE contentEditable
798
+ this.connect(this.document, "onmousedown", "_onIEMouseDown"); // #4996 fix focus
799
+
800
+ // give the node Layout on IE
801
+ // TODO: this may no longer be needed, since we've reverted IE to using an iframe,
802
+ // not contentEditable. Removing it would also probably remove the need for creating
803
+ // the extra <div> in _getIframeDocTxt()
804
+ this.editNode.style.zoom = 1.0;
805
+ }else{
806
+ this.connect(this.document, "onmousedown", function(){
807
+ // Clear the moveToStart focus, as mouse
808
+ // down will set cursor point. Required to properly
809
+ // work with selection/position driven plugins and clicks in
810
+ // the window. refs: #10678
811
+ delete this._cursorToStart;
812
+ });
813
+ }
814
+
815
+ if(has("webkit")){
816
+ //WebKit sometimes doesn't fire right on selections, so the toolbar
817
+ //doesn't update right. Therefore, help it out a bit with an additional
818
+ //listener. A mouse up will typically indicate a display change, so fire this
819
+ //and get the toolbar to adapt. Reference: #9532
820
+ this._webkitListener = this.connect(this.document, "onmouseup", "onDisplayChanged");
821
+ this.connect(this.document, "onmousedown", function(e){
822
+ var t = e.target;
823
+ if(t && (t === this.document.body || t === this.document)){
824
+ // Since WebKit uses the inner DIV, we need to check and set position.
825
+ // See: #12024 as to why the change was made.
826
+ this.defer("placeCursorAtEnd");
827
+ }
828
+ });
829
+ }
830
+
831
+ if(has("ie")){
832
+ // Try to make sure 'hidden' elements aren't visible in edit mode (like browsers other than IE
833
+ // do). See #9103
834
+ try{
835
+ this.document.execCommand('RespectVisibilityInDesign', true, null);
836
+ }catch(e){/* squelch */}
837
+ }
838
+
839
+ this.isLoaded = true;
840
+
841
+ this.set('disabled', this.disabled); // initialize content to editable (or not)
842
+
843
+ // Note that setValue() call will only work after isLoaded is set to true (above)
844
+
845
+ // Set up a function to allow delaying the setValue until a callback is fired
846
+ // This ensures extensions like dijit.Editor have a way to hold the value set
847
+ // until plugins load (and do things like register filters).
848
+ var setContent = lang.hitch(this, function(){
849
+ this.setValue(html);
850
+ if(this.onLoadDeferred){
851
+ this.onLoadDeferred.resolve(true);
852
+ }
853
+ this.onDisplayChanged();
854
+ if(this.focusOnLoad){
855
+ // after the document loads, then set focus after updateInterval expires so that
856
+ // onNormalizedDisplayChanged has run to avoid input caret issues
857
+ ready(lang.hitch(this, "defer", "focus", this.updateInterval));
858
+ }
859
+ // Save off the initial content now
860
+ this.value = this.getValue(true);
861
+ });
862
+ if(this.setValueDeferred){
863
+ this.setValueDeferred.then(setContent);
864
+ }else{
865
+ setContent();
866
+ }
867
+ },
868
+
869
+ onKeyDown: function(/* Event */ e){
870
+ // summary:
871
+ // Handler for onkeydown event
872
+ // tags:
873
+ // protected
874
+
875
+ // we need this event at the moment to get the events from control keys
876
+ // such as the backspace. It might be possible to add this to Dojo, so that
877
+ // keyPress events can be emulated by the keyDown and keyUp detection.
878
+
879
+ if(e.keyCode === keys.TAB && this.isTabIndent ){
880
+ event.stop(e); //prevent tab from moving focus out of editor
881
+
882
+ // FIXME: this is a poor-man's indent/outdent. It would be
883
+ // better if it added 4 "&nbsp;" chars in an undoable way.
884
+ // Unfortunately pasteHTML does not prove to be undoable
885
+ if(this.queryCommandEnabled((e.shiftKey ? "outdent" : "indent"))){
886
+ this.execCommand((e.shiftKey ? "outdent" : "indent"));
887
+ }
888
+ }
889
+ if(has("ie")){
890
+ if(e.keyCode == keys.TAB && !this.isTabIndent){
891
+ if(e.shiftKey && !e.ctrlKey && !e.altKey){
892
+ // focus the BODY so the browser will tab away from it instead
893
+ this.iframe.focus();
894
+ }else if(!e.shiftKey && !e.ctrlKey && !e.altKey){
895
+ // focus the BODY so the browser will tab away from it instead
896
+ this.tabStop.focus();
897
+ }
898
+ }else if(e.keyCode === keys.BACKSPACE && this.document.selection.type === "Control"){
899
+ // IE has a bug where if a non-text object is selected in the editor,
900
+ // hitting backspace would act as if the browser's back button was
901
+ // clicked instead of deleting the object. see #1069
902
+ event.stop(e);
903
+ this.execCommand("delete");
904
+ }else if((65 <= e.keyCode && e.keyCode <= 90) ||
905
+ (e.keyCode>=37 && e.keyCode<=40) // FIXME: get this from connect() instead!
906
+ ){ //arrow keys
907
+ e.charCode = e.keyCode;
908
+ this.onKeyPress(e);
909
+ }
910
+ }
911
+ if(has("ff")){
912
+ if(e.keyCode === keys.PAGE_UP || e.keyCode === keys.PAGE_DOWN ){
913
+ if(this.editNode.clientHeight >= this.editNode.scrollHeight){
914
+ // Stop the event to prevent firefox from trapping the cursor when there is no scroll bar.
915
+ e.preventDefault();
916
+ }
917
+ }
918
+ }
919
+ return true;
920
+ },
921
+
922
+ onKeyUp: function(/*===== e =====*/){
923
+ // summary:
924
+ // Handler for onkeyup event
925
+ // tags:
926
+ // callback
927
+ },
928
+
929
+ setDisabled: function(/*Boolean*/ disabled){
930
+ // summary:
931
+ // Deprecated, use set('disabled', ...) instead.
932
+ // tags:
933
+ // deprecated
934
+ kernel.deprecated('dijit.Editor::setDisabled is deprecated','use dijit.Editor::attr("disabled",boolean) instead', 2.0);
935
+ this.set('disabled',disabled);
936
+ },
937
+ _setValueAttr: function(/*String*/ value){
938
+ // summary:
939
+ // Registers that attr("value", foo) should call setValue(foo)
940
+ this.setValue(value);
941
+ },
942
+ _setDisableSpellCheckAttr: function(/*Boolean*/ disabled){
943
+ if(this.document){
944
+ domAttr.set(this.document.body, "spellcheck", !disabled);
945
+ }else{
946
+ // try again after the editor is finished loading
947
+ this.onLoadDeferred.then(lang.hitch(this, function(){
948
+ domAttr.set(this.document.body, "spellcheck", !disabled);
949
+ }));
950
+ }
951
+ this._set("disableSpellCheck", disabled);
952
+ },
953
+
954
+ onKeyPress: function(e){
955
+ // summary:
956
+ // Handle the various key events
957
+ // tags:
958
+ // protected
959
+
960
+ var c = (e.keyChar && e.keyChar.toLowerCase()) || e.keyCode,
961
+ handlers = this._keyHandlers[c],
962
+ args = arguments;
963
+
964
+ if(handlers && !e.altKey){
965
+ array.some(handlers, function(h){
966
+ // treat meta- same as ctrl-, for benefit of mac users
967
+ if(!(h.shift ^ e.shiftKey) && !(h.ctrl ^ (e.ctrlKey||e.metaKey))){
968
+ if(!h.handler.apply(this, args)){
969
+ e.preventDefault();
970
+ }
971
+ return true;
972
+ }
973
+ }, this);
974
+ }
975
+
976
+ // function call after the character has been inserted
977
+ if(!this._onKeyHitch){
978
+ this._onKeyHitch = lang.hitch(this, "onKeyPressed");
979
+ }
980
+ this.defer("_onKeyHitch", 1);
981
+ return true;
982
+ },
983
+
984
+ addKeyHandler: function(/*String*/ key, /*Boolean*/ ctrl, /*Boolean*/ shift, /*Function*/ handler){
985
+ // summary:
986
+ // Add a handler for a keyboard shortcut
987
+ // description:
988
+ // The key argument should be in lowercase if it is a letter character
989
+ // tags:
990
+ // protected
991
+ if(!lang.isArray(this._keyHandlers[key])){
992
+ this._keyHandlers[key] = [];
993
+ }
994
+ //TODO: would be nice to make this a hash instead of an array for quick lookups
995
+ this._keyHandlers[key].push({
996
+ shift: shift || false,
997
+ ctrl: ctrl || false,
998
+ handler: handler
999
+ });
1000
+ },
1001
+
1002
+ onKeyPressed: function(){
1003
+ // summary:
1004
+ // Handler for after the user has pressed a key, and the display has been updated.
1005
+ // (Runs on a timer so that it runs after the display is updated)
1006
+ // tags:
1007
+ // private
1008
+ this.onDisplayChanged(/*e*/); // can't pass in e
1009
+ },
1010
+
1011
+ onClick: function(/*Event*/ e){
1012
+ // summary:
1013
+ // Handler for when the user clicks.
1014
+ // tags:
1015
+ // private
1016
+
1017
+ // console.info('onClick',this._tryDesignModeOn);
1018
+ this.onDisplayChanged(e);
1019
+ },
1020
+
1021
+ _onIEMouseDown: function(){
1022
+ // summary:
1023
+ // IE only to prevent 2 clicks to focus
1024
+ // tags:
1025
+ // protected
1026
+
1027
+ if(!this.focused && !this.disabled){
1028
+ this.focus();
1029
+ }
1030
+ },
1031
+
1032
+ _onBlur: function(e){
1033
+ // summary:
1034
+ // Called from focus manager when focus has moved away from this editor
1035
+ // tags:
1036
+ // protected
1037
+
1038
+ // console.info('_onBlur')
1039
+
1040
+ this.inherited(arguments);
1041
+
1042
+ var newValue = this.getValue(true);
1043
+ if(newValue !== this.value){
1044
+ this.onChange(newValue);
1045
+ }
1046
+ this._set("value", newValue);
1047
+ },
1048
+
1049
+ _onFocus: function(/*Event*/ e){
1050
+ // summary:
1051
+ // Called from focus manager when focus has moved into this editor
1052
+ // tags:
1053
+ // protected
1054
+
1055
+ // console.info('_onFocus')
1056
+ if(!this.disabled){
1057
+ if(!this._disabledOK){
1058
+ this.set('disabled', false);
1059
+ }
1060
+ this.inherited(arguments);
1061
+ }
1062
+ },
1063
+
1064
+ // TODO: remove in 2.0
1065
+ blur: function(){
1066
+ // summary:
1067
+ // Remove focus from this instance.
1068
+ // tags:
1069
+ // deprecated
1070
+ if(!has("ie") && this.window.document.documentElement && this.window.document.documentElement.focus){
1071
+ this.window.document.documentElement.focus();
1072
+ }else if(this.ownerDocumentBody.focus){
1073
+ this.ownerDocumentBody.focus();
1074
+ }
1075
+ },
1076
+
1077
+ focus: function(){
1078
+ // summary:
1079
+ // Move focus to this editor
1080
+ if(!this.isLoaded){
1081
+ this.focusOnLoad = true;
1082
+ return;
1083
+ }
1084
+ if(this._cursorToStart){
1085
+ delete this._cursorToStart;
1086
+ if(this.editNode.childNodes){
1087
+ this.placeCursorAtStart(); // this calls focus() so return
1088
+ return;
1089
+ }
1090
+ }
1091
+ if(!has("ie")){
1092
+ focus.focus(this.iframe);
1093
+ }else if(this.editNode && this.editNode.focus){
1094
+ // editNode may be hidden in display:none div, lets just punt in this case
1095
+ //this.editNode.focus(); -> causes IE to scroll always (strict and quirks mode) to the top the Iframe
1096
+ // if we fire the event manually and let the browser handle the focusing, the latest
1097
+ // cursor position is focused like in FF
1098
+ this.iframe.fireEvent('onfocus', document.createEventObject()); // createEventObject only in IE
1099
+ // }else{
1100
+ // TODO: should we throw here?
1101
+ // console.debug("Have no idea how to focus into the editor!");
1102
+ }
1103
+ },
1104
+
1105
+ // _lastUpdate: 0,
1106
+ updateInterval: 200,
1107
+ _updateTimer: null,
1108
+ onDisplayChanged: function(/*Event*/ /*===== e =====*/){
1109
+ // summary:
1110
+ // This event will be fired every time the display context
1111
+ // changes and the result needs to be reflected in the UI.
1112
+ // description:
1113
+ // If you don't want to have update too often,
1114
+ // onNormalizedDisplayChanged should be used instead
1115
+ // tags:
1116
+ // private
1117
+
1118
+ // var _t=new Date();
1119
+ if(this._updateTimer){
1120
+ this._updateTimer.remove();
1121
+ }
1122
+ this._updateTimer = this.defer("onNormalizedDisplayChanged", this.updateInterval);
1123
+
1124
+ // Technically this should trigger a call to watch("value", ...) registered handlers,
1125
+ // but getValue() is too slow to call on every keystroke so we don't.
1126
+ },
1127
+ onNormalizedDisplayChanged: function(){
1128
+ // summary:
1129
+ // This event is fired every updateInterval ms or more
1130
+ // description:
1131
+ // If something needs to happen immediately after a
1132
+ // user change, please use onDisplayChanged instead.
1133
+ // tags:
1134
+ // private
1135
+ delete this._updateTimer;
1136
+ },
1137
+ onChange: function(/*===== newContent =====*/){
1138
+ // summary:
1139
+ // This is fired if and only if the editor loses focus and
1140
+ // the content is changed.
1141
+ },
1142
+ _normalizeCommand: function(/*String*/ cmd, /*Anything?*/argument){
1143
+ // summary:
1144
+ // Used as the advice function to map our
1145
+ // normalized set of commands to those supported by the target
1146
+ // browser.
1147
+ // tags:
1148
+ // private
1149
+
1150
+ var command = cmd.toLowerCase();
1151
+ if(command === "formatblock"){
1152
+ if(has("safari") && argument === undefined){ command = "heading"; }
1153
+ }else if(command === "hilitecolor" && !has("mozilla")){
1154
+ command = "backcolor";
1155
+ }
1156
+
1157
+ return command;
1158
+ },
1159
+
1160
+ _qcaCache: {},
1161
+ queryCommandAvailable: function(/*String*/ command){
1162
+ // summary:
1163
+ // Tests whether a command is supported by the host. Clients
1164
+ // SHOULD check whether a command is supported before attempting
1165
+ // to use it, behaviour for unsupported commands is undefined.
1166
+ // command:
1167
+ // The command to test for
1168
+ // tags:
1169
+ // private
1170
+
1171
+ // memoizing version. See _queryCommandAvailable for computing version
1172
+ var ca = this._qcaCache[command];
1173
+ if(ca !== undefined){ return ca; }
1174
+ return (this._qcaCache[command] = this._queryCommandAvailable(command));
1175
+ },
1176
+
1177
+ _queryCommandAvailable: function(/*String*/ command){
1178
+ // summary:
1179
+ // See queryCommandAvailable().
1180
+ // tags:
1181
+ // private
1182
+
1183
+ var ie = 1;
1184
+ var mozilla = 1 << 1;
1185
+ var webkit = 1 << 2;
1186
+ var opera = 1 << 3;
1187
+
1188
+ function isSupportedBy(browsers){
1189
+ return {
1190
+ ie: Boolean(browsers & ie),
1191
+ mozilla: Boolean(browsers & mozilla),
1192
+ webkit: Boolean(browsers & webkit),
1193
+ opera: Boolean(browsers & opera)
1194
+ };
1195
+ }
1196
+
1197
+ var supportedBy = null;
1198
+
1199
+ switch(command.toLowerCase()){
1200
+ case "bold": case "italic": case "underline":
1201
+ case "subscript": case "superscript":
1202
+ case "fontname": case "fontsize":
1203
+ case "forecolor": case "hilitecolor":
1204
+ case "justifycenter": case "justifyfull": case "justifyleft":
1205
+ case "justifyright": case "delete": case "selectall": case "toggledir":
1206
+ supportedBy = isSupportedBy(mozilla | ie | webkit | opera);
1207
+ break;
1208
+
1209
+ case "createlink": case "unlink": case "removeformat":
1210
+ case "inserthorizontalrule": case "insertimage":
1211
+ case "insertorderedlist": case "insertunorderedlist":
1212
+ case "indent": case "outdent": case "formatblock":
1213
+ case "inserthtml": case "undo": case "redo": case "strikethrough": case "tabindent":
1214
+ supportedBy = isSupportedBy(mozilla | ie | opera | webkit);
1215
+ break;
1216
+
1217
+ case "blockdirltr": case "blockdirrtl":
1218
+ case "dirltr": case "dirrtl":
1219
+ case "inlinedirltr": case "inlinedirrtl":
1220
+ supportedBy = isSupportedBy(ie);
1221
+ break;
1222
+ case "cut": case "copy": case "paste":
1223
+ supportedBy = isSupportedBy( ie | mozilla | webkit | opera);
1224
+ break;
1225
+
1226
+ case "inserttable":
1227
+ supportedBy = isSupportedBy(mozilla | ie);
1228
+ break;
1229
+
1230
+ case "insertcell": case "insertcol": case "insertrow":
1231
+ case "deletecells": case "deletecols": case "deleterows":
1232
+ case "mergecells": case "splitcell":
1233
+ supportedBy = isSupportedBy(ie | mozilla);
1234
+ break;
1235
+
1236
+ default: return false;
1237
+ }
1238
+
1239
+ return (has("ie") && supportedBy.ie) ||
1240
+ (has("mozilla") && supportedBy.mozilla) ||
1241
+ (has("webkit") && supportedBy.webkit) ||
1242
+ (has("opera") && supportedBy.opera); // Boolean return true if the command is supported, false otherwise
1243
+ },
1244
+
1245
+ execCommand: function(/*String*/ command, argument){
1246
+ // summary:
1247
+ // Executes a command in the Rich Text area
1248
+ // command:
1249
+ // The command to execute
1250
+ // argument:
1251
+ // An optional argument to the command
1252
+ // tags:
1253
+ // protected
1254
+ var returnValue;
1255
+
1256
+ //focus() is required for IE to work
1257
+ //In addition, focus() makes sure after the execution of
1258
+ //the command, the editor receives the focus as expected
1259
+ this.focus();
1260
+
1261
+ command = this._normalizeCommand(command, argument);
1262
+
1263
+ if(argument !== undefined){
1264
+ if(command === "heading"){
1265
+ throw new Error("unimplemented");
1266
+ }else if((command === "formatblock") && has("ie")){
1267
+ argument = '<'+argument+'>';
1268
+ }
1269
+ }
1270
+
1271
+ //Check to see if we have any over-rides for commands, they will be functions on this
1272
+ //widget of the form _commandImpl. If we don't, fall through to the basic native
1273
+ //exec command of the browser.
1274
+ var implFunc = "_" + command + "Impl";
1275
+ if(this[implFunc]){
1276
+ returnValue = this[implFunc](argument);
1277
+ }else{
1278
+ argument = arguments.length > 1 ? argument : null;
1279
+ if(argument || command !== "createlink"){
1280
+ returnValue = this.document.execCommand(command, false, argument);
1281
+ }
1282
+ }
1283
+
1284
+ this.onDisplayChanged();
1285
+ return returnValue;
1286
+ },
1287
+
1288
+ queryCommandEnabled: function(/*String*/ command){
1289
+ // summary:
1290
+ // Check whether a command is enabled or not.
1291
+ // command:
1292
+ // The command to execute
1293
+ // tags:
1294
+ // protected
1295
+ if(this.disabled || !this._disabledOK){ return false; }
1296
+
1297
+ command = this._normalizeCommand(command);
1298
+
1299
+ //Check to see if we have any over-rides for commands, they will be functions on this
1300
+ //widget of the form _commandEnabledImpl. If we don't, fall through to the basic native
1301
+ //command of the browser.
1302
+ var implFunc = "_" + command + "EnabledImpl";
1303
+
1304
+ if(this[implFunc]){
1305
+ return this[implFunc](command);
1306
+ }else{
1307
+ return this._browserQueryCommandEnabled(command);
1308
+ }
1309
+ },
1310
+
1311
+ queryCommandState: function(command){
1312
+ // summary:
1313
+ // Check the state of a given command and returns true or false.
1314
+ // tags:
1315
+ // protected
1316
+
1317
+ if(this.disabled || !this._disabledOK){ return false; }
1318
+ command = this._normalizeCommand(command);
1319
+ try{
1320
+ return this.document.queryCommandState(command);
1321
+ }catch(e){
1322
+ //Squelch, occurs if editor is hidden on FF 3 (and maybe others.)
1323
+ return false;
1324
+ }
1325
+ },
1326
+
1327
+ queryCommandValue: function(command){
1328
+ // summary:
1329
+ // Check the value of a given command. This matters most for
1330
+ // custom selections and complex values like font value setting.
1331
+ // tags:
1332
+ // protected
1333
+
1334
+ if(this.disabled || !this._disabledOK){ return false; }
1335
+ var r;
1336
+ command = this._normalizeCommand(command);
1337
+ if(has("ie") && command === "formatblock"){
1338
+ r = this._native2LocalFormatNames[this.document.queryCommandValue(command)];
1339
+ }else if(has("mozilla") && command === "hilitecolor"){
1340
+ var oldValue;
1341
+ try{
1342
+ oldValue = this.document.queryCommandValue("styleWithCSS");
1343
+ }catch(e){
1344
+ oldValue = false;
1345
+ }
1346
+ this.document.execCommand("styleWithCSS", false, true);
1347
+ r = this.document.queryCommandValue(command);
1348
+ this.document.execCommand("styleWithCSS", false, oldValue);
1349
+ }else{
1350
+ r = this.document.queryCommandValue(command);
1351
+ }
1352
+ return r;
1353
+ },
1354
+
1355
+ // Misc.
1356
+
1357
+ _sCall: function(name, args){
1358
+ // summary:
1359
+ // Run the named method of dijit/_editor/selection over the
1360
+ // current editor instance's window, with the passed args.
1361
+ // tags:
1362
+ // private
1363
+ return win.withGlobal(this.window, name, selectionapi, args);
1364
+ },
1365
+
1366
+ // FIXME: this is a TON of code duplication. Why?
1367
+
1368
+ placeCursorAtStart: function(){
1369
+ // summary:
1370
+ // Place the cursor at the start of the editing area.
1371
+ // tags:
1372
+ // private
1373
+
1374
+ this.focus();
1375
+
1376
+ //see comments in placeCursorAtEnd
1377
+ var isvalid=false;
1378
+ if(has("mozilla")){
1379
+ // TODO: Is this branch even necessary?
1380
+ var first=this.editNode.firstChild;
1381
+ while(first){
1382
+ if(first.nodeType === 3){
1383
+ if(first.nodeValue.replace(/^\s+|\s+$/g, "").length>0){
1384
+ isvalid=true;
1385
+ this._sCall("selectElement", [ first ]);
1386
+ break;
1387
+ }
1388
+ }else if(first.nodeType === 1){
1389
+ isvalid=true;
1390
+ var tg = first.tagName ? first.tagName.toLowerCase() : "";
1391
+ // Collapse before childless tags.
1392
+ if(/br|input|img|base|meta|area|basefont|hr|link/.test(tg)){
1393
+ this._sCall("selectElement", [ first ]);
1394
+ }else{
1395
+ // Collapse inside tags with children.
1396
+ this._sCall("selectElementChildren", [ first ]);
1397
+ }
1398
+ break;
1399
+ }
1400
+ first = first.nextSibling;
1401
+ }
1402
+ }else{
1403
+ isvalid=true;
1404
+ this._sCall("selectElementChildren", [ this.editNode ]);
1405
+ }
1406
+ if(isvalid){
1407
+ this._sCall("collapse", [ true ]);
1408
+ }
1409
+ },
1410
+
1411
+ placeCursorAtEnd: function(){
1412
+ // summary:
1413
+ // Place the cursor at the end of the editing area.
1414
+ // tags:
1415
+ // private
1416
+
1417
+ this.focus();
1418
+
1419
+ //In mozilla, if last child is not a text node, we have to use
1420
+ // selectElementChildren on this.editNode.lastChild otherwise the
1421
+ // cursor would be placed at the end of the closing tag of
1422
+ //this.editNode.lastChild
1423
+ var isvalid=false;
1424
+ if(has("mozilla")){
1425
+ var last=this.editNode.lastChild;
1426
+ while(last){
1427
+ if(last.nodeType === 3){
1428
+ if(last.nodeValue.replace(/^\s+|\s+$/g, "").length>0){
1429
+ isvalid=true;
1430
+ this._sCall("selectElement", [ last ]);
1431
+ break;
1432
+ }
1433
+ }else if(last.nodeType === 1){
1434
+ isvalid=true;
1435
+ this._sCall("selectElement", [ last.lastChild || last]);
1436
+ break;
1437
+ }
1438
+ last = last.previousSibling;
1439
+ }
1440
+ }else{
1441
+ isvalid=true;
1442
+ this._sCall("selectElementChildren", [ this.editNode ]);
1443
+ }
1444
+ if(isvalid){
1445
+ this._sCall("collapse", [ false ]);
1446
+ }
1447
+ },
1448
+
1449
+ getValue: function(/*Boolean?*/ nonDestructive){
1450
+ // summary:
1451
+ // Return the current content of the editing area (post filters
1452
+ // are applied). Users should call get('value') instead.
1453
+ // nonDestructive:
1454
+ // defaults to false. Should the post-filtering be run over a copy
1455
+ // of the live DOM? Most users should pass "true" here unless they
1456
+ // *really* know that none of the installed filters are going to
1457
+ // mess up the editing session.
1458
+ // tags:
1459
+ // private
1460
+ if(this.textarea){
1461
+ if(this.isClosed || !this.isLoaded){
1462
+ return this.textarea.value;
1463
+ }
1464
+ }
1465
+
1466
+ return this._postFilterContent(null, nonDestructive);
1467
+ },
1468
+ _getValueAttr: function(){
1469
+ // summary:
1470
+ // Hook to make attr("value") work
1471
+ return this.getValue(true);
1472
+ },
1473
+
1474
+ setValue: function(/*String*/ html){
1475
+ // summary:
1476
+ // This function sets the content. No undo history is preserved.
1477
+ // Users should use set('value', ...) instead.
1478
+ // tags:
1479
+ // deprecated
1480
+
1481
+ // TODO: remove this and getValue() for 2.0, and move code to _setValueAttr()
1482
+
1483
+ if(!this.isLoaded){
1484
+ // try again after the editor is finished loading
1485
+ this.onLoadDeferred.then(lang.hitch(this, function(){
1486
+ this.setValue(html);
1487
+ }));
1488
+ return;
1489
+ }
1490
+ this._cursorToStart = true;
1491
+ if(this.textarea && (this.isClosed || !this.isLoaded)){
1492
+ this.textarea.value=html;
1493
+ }else{
1494
+ html = this._preFilterContent(html);
1495
+ var node = this.isClosed ? this.domNode : this.editNode;
1496
+ if(html && has("mozilla") && html.toLowerCase() === "<p></p>"){
1497
+ html = "<p>&#160;</p>"; // &nbsp;
1498
+ }
1499
+
1500
+ // Use &nbsp; to avoid webkit problems where editor is disabled until the user clicks it
1501
+ if(!html && has("webkit")){
1502
+ html = "&#160;"; // &nbsp;
1503
+ }
1504
+ node.innerHTML = html;
1505
+ this._preDomFilterContent(node);
1506
+ }
1507
+
1508
+ this.onDisplayChanged();
1509
+ this._set("value", this.getValue(true));
1510
+ },
1511
+
1512
+ replaceValue: function(/*String*/ html){
1513
+ // summary:
1514
+ // This function set the content while trying to maintain the undo stack
1515
+ // (now only works fine with Moz, this is identical to setValue in all
1516
+ // other browsers)
1517
+ // tags:
1518
+ // protected
1519
+
1520
+ if(this.isClosed){
1521
+ this.setValue(html);
1522
+ }else if(this.window && this.window.getSelection && !has("mozilla")){ // Safari
1523
+ // look ma! it's a totally f'd browser!
1524
+ this.setValue(html);
1525
+ }else if(this.window && this.window.getSelection){ // Moz
1526
+ html = this._preFilterContent(html);
1527
+ this.execCommand("selectall");
1528
+ if(!html){
1529
+ this._cursorToStart = true;
1530
+ html = "&#160;"; // &nbsp;
1531
+ }
1532
+ this.execCommand("inserthtml", html);
1533
+ this._preDomFilterContent(this.editNode);
1534
+ }else if(this.document && this.document.selection){//IE
1535
+ //In IE, when the first element is not a text node, say
1536
+ //an <a> tag, when replacing the content of the editing
1537
+ //area, the <a> tag will be around all the content
1538
+ //so for now, use setValue for IE too
1539
+ this.setValue(html);
1540
+ }
1541
+
1542
+ this._set("value", this.getValue(true));
1543
+ },
1544
+
1545
+ _preFilterContent: function(/*String*/ html){
1546
+ // summary:
1547
+ // Filter the input before setting the content of the editing
1548
+ // area. DOM pre-filtering may happen after this
1549
+ // string-based filtering takes place but as of 1.2, this is not
1550
+ // guaranteed for operations such as the inserthtml command.
1551
+ // tags:
1552
+ // private
1553
+
1554
+ var ec = html;
1555
+ array.forEach(this.contentPreFilters, function(ef){ if(ef){ ec = ef(ec); } });
1556
+ return ec;
1557
+ },
1558
+ _preDomFilterContent: function(/*DomNode*/ dom){
1559
+ // summary:
1560
+ // filter the input's live DOM. All filter operations should be
1561
+ // considered to be "live" and operating on the DOM that the user
1562
+ // will be interacting with in their editing session.
1563
+ // tags:
1564
+ // private
1565
+ dom = dom || this.editNode;
1566
+ array.forEach(this.contentDomPreFilters, function(ef){
1567
+ if(ef && lang.isFunction(ef)){
1568
+ ef(dom);
1569
+ }
1570
+ }, this);
1571
+ },
1572
+
1573
+ _postFilterContent: function(
1574
+ /*DomNode|DomNode[]|String?*/ dom,
1575
+ /*Boolean?*/ nonDestructive){
1576
+ // summary:
1577
+ // filter the output after getting the content of the editing area
1578
+ //
1579
+ // description:
1580
+ // post-filtering allows plug-ins and users to specify any number
1581
+ // of transforms over the editor's content, enabling many common
1582
+ // use-cases such as transforming absolute to relative URLs (and
1583
+ // vice-versa), ensuring conformance with a particular DTD, etc.
1584
+ // The filters are registered in the contentDomPostFilters and
1585
+ // contentPostFilters arrays. Each item in the
1586
+ // contentDomPostFilters array is a function which takes a DOM
1587
+ // Node or array of nodes as its only argument and returns the
1588
+ // same. It is then passed down the chain for further filtering.
1589
+ // The contentPostFilters array behaves the same way, except each
1590
+ // member operates on strings. Together, the DOM and string-based
1591
+ // filtering allow the full range of post-processing that should
1592
+ // be necessaray to enable even the most agressive of post-editing
1593
+ // conversions to take place.
1594
+ //
1595
+ // If nonDestructive is set to "true", the nodes are cloned before
1596
+ // filtering proceeds to avoid potentially destructive transforms
1597
+ // to the content which may still needed to be edited further.
1598
+ // Once DOM filtering has taken place, the serialized version of
1599
+ // the DOM which is passed is run through each of the
1600
+ // contentPostFilters functions.
1601
+ //
1602
+ // dom:
1603
+ // a node, set of nodes, which to filter using each of the current
1604
+ // members of the contentDomPostFilters and contentPostFilters arrays.
1605
+ //
1606
+ // nonDestructive:
1607
+ // defaults to "false". If true, ensures that filtering happens on
1608
+ // a clone of the passed-in content and not the actual node
1609
+ // itself.
1610
+ //
1611
+ // tags:
1612
+ // private
1613
+
1614
+ var ec;
1615
+ if(!lang.isString(dom)){
1616
+ dom = dom || this.editNode;
1617
+ if(this.contentDomPostFilters.length){
1618
+ if(nonDestructive){
1619
+ dom = lang.clone(dom);
1620
+ }
1621
+ array.forEach(this.contentDomPostFilters, function(ef){
1622
+ dom = ef(dom);
1623
+ });
1624
+ }
1625
+ ec = htmlapi.getChildrenHtml(dom);
1626
+ }else{
1627
+ ec = dom;
1628
+ }
1629
+
1630
+ if(!lang.trim(ec.replace(/^\xA0\xA0*/, '').replace(/\xA0\xA0*$/, '')).length){
1631
+ ec = "";
1632
+ }
1633
+
1634
+ // if(has("ie")){
1635
+ // //removing appended <P>&nbsp;</P> for IE
1636
+ // ec = ec.replace(/(?:<p>&nbsp;</p>[\n\r]*)+$/i,"");
1637
+ // }
1638
+ array.forEach(this.contentPostFilters, function(ef){
1639
+ ec = ef(ec);
1640
+ });
1641
+
1642
+ return ec;
1643
+ },
1644
+
1645
+ _saveContent: function(){
1646
+ // summary:
1647
+ // Saves the content in an onunload event if the editor has not been closed
1648
+ // tags:
1649
+ // private
1650
+
1651
+ var saveTextarea = dom.byId(dijit._scopeName + "._editor.RichText.value");
1652
+ if(saveTextarea){
1653
+ if(saveTextarea.value){
1654
+ saveTextarea.value += this._SEPARATOR;
1655
+ }
1656
+ saveTextarea.value += this.name + this._NAME_CONTENT_SEP + this.getValue(true);
1657
+ }
1658
+ },
1659
+
1660
+
1661
+ escapeXml: function(/*String*/ str, /*Boolean*/ noSingleQuotes){
1662
+ // summary:
1663
+ // Adds escape sequences for special characters in XML.
1664
+ // Optionally skips escapes for single quotes
1665
+ // tags:
1666
+ // private
1667
+
1668
+ str = str.replace(/&/gm, "&amp;").replace(/</gm, "&lt;").replace(/>/gm, "&gt;").replace(/"/gm, "&quot;");
1669
+ if(!noSingleQuotes){
1670
+ str = str.replace(/'/gm, "&#39;");
1671
+ }
1672
+ return str; // string
1673
+ },
1674
+
1675
+ getNodeHtml: function(/* DomNode */ node){
1676
+ // summary:
1677
+ // Deprecated. Use dijit/_editor/html::_getNodeHtml() instead.
1678
+ // tags:
1679
+ // deprecated
1680
+ kernel.deprecated('dijit.Editor::getNodeHtml is deprecated','use dijit/_editor/html::getNodeHtml instead', 2);
1681
+ return htmlapi.getNodeHtml(node); // String
1682
+ },
1683
+
1684
+ getNodeChildrenHtml: function(/* DomNode */ dom){
1685
+ // summary:
1686
+ // Deprecated. Use dijit/_editor/html::getChildrenHtml() instead.
1687
+ // tags:
1688
+ // deprecated
1689
+ kernel.deprecated('dijit.Editor::getNodeChildrenHtml is deprecated','use dijit/_editor/html::getChildrenHtml instead', 2);
1690
+ return htmlapi.getChildrenHtml(dom);
1691
+ },
1692
+
1693
+ close: function(/*Boolean?*/ save){
1694
+ // summary:
1695
+ // Kills the editor and optionally writes back the modified contents to the
1696
+ // element from which it originated.
1697
+ // save:
1698
+ // Whether or not to save the changes. If false, the changes are discarded.
1699
+ // tags:
1700
+ // private
1701
+
1702
+ if(this.isClosed){ return; }
1703
+
1704
+ if(!arguments.length){ save = true; }
1705
+ if(save){
1706
+ this._set("value", this.getValue(true));
1707
+ }
1708
+
1709
+ // line height is squashed for iframes
1710
+ // FIXME: why was this here? if(this.iframe){ this.domNode.style.lineHeight = null; }
1711
+
1712
+ if(this.interval){ clearInterval(this.interval); }
1713
+
1714
+ if(this._webkitListener){
1715
+ //Cleaup of WebKit fix: #9532
1716
+ this.disconnect(this._webkitListener);
1717
+ delete this._webkitListener;
1718
+ }
1719
+
1720
+ // Guard against memory leaks on IE (see #9268)
1721
+ if(has("ie")){
1722
+ this.iframe.onfocus = null;
1723
+ }
1724
+ this.iframe._loadFunc = null;
1725
+
1726
+ if(this._iframeRegHandle){
1727
+ this._iframeRegHandle.remove();
1728
+ delete this._iframeRegHandle;
1729
+ }
1730
+
1731
+ if(this.textarea){
1732
+ var s = this.textarea.style;
1733
+ s.position = "";
1734
+ s.left = s.top = "";
1735
+ if(has("ie")){
1736
+ s.overflow = this.__overflow;
1737
+ this.__overflow = null;
1738
+ }
1739
+ this.textarea.value = this.value;
1740
+ domConstruct.destroy(this.domNode);
1741
+ this.domNode = this.textarea;
1742
+ }else{
1743
+ // Note that this destroys the iframe
1744
+ this.domNode.innerHTML = this.value;
1745
+ }
1746
+ delete this.iframe;
1747
+
1748
+ domClass.remove(this.domNode, this.baseClass);
1749
+ this.isClosed = true;
1750
+ this.isLoaded = false;
1751
+
1752
+ delete this.editNode;
1753
+ delete this.focusNode;
1754
+
1755
+ if(this.window && this.window._frameElement){
1756
+ this.window._frameElement = null;
1757
+ }
1758
+
1759
+ this.window = null;
1760
+ this.document = null;
1761
+ this.editingArea = null;
1762
+ this.editorObject = null;
1763
+ },
1764
+
1765
+ destroy: function(){
1766
+ if(!this.isClosed){ this.close(false); }
1767
+ if(this._updateTimer){
1768
+ this._updateTimer.remove();
1769
+ }
1770
+ this.inherited(arguments);
1771
+ if(RichText._globalSaveHandler){
1772
+ delete RichText._globalSaveHandler[this.id];
1773
+ }
1774
+ },
1775
+
1776
+ _removeMozBogus: function(/* String */ html){
1777
+ // summary:
1778
+ // Post filter to remove unwanted HTML attributes generated by mozilla
1779
+ // tags:
1780
+ // private
1781
+ return html.replace(/\stype="_moz"/gi, '').replace(/\s_moz_dirty=""/gi, '').replace(/_moz_resizing="(true|false)"/gi,''); // String
1782
+ },
1783
+ _removeWebkitBogus: function(/* String */ html){
1784
+ // summary:
1785
+ // Post filter to remove unwanted HTML attributes generated by webkit
1786
+ // tags:
1787
+ // private
1788
+ html = html.replace(/\sclass="webkit-block-placeholder"/gi, '');
1789
+ html = html.replace(/\sclass="apple-style-span"/gi, '');
1790
+ // For some reason copy/paste sometime adds extra meta tags for charset on
1791
+ // webkit (chrome) on mac.They need to be removed. See: #12007"
1792
+ html = html.replace(/<meta charset=\"utf-8\" \/>/gi, '');
1793
+ return html; // String
1794
+ },
1795
+ _normalizeFontStyle: function(/* String */ html){
1796
+ // summary:
1797
+ // Convert 'strong' and 'em' to 'b' and 'i'.
1798
+ // description:
1799
+ // Moz can not handle strong/em tags correctly, so to help
1800
+ // mozilla and also to normalize output, convert them to 'b' and 'i'.
1801
+ //
1802
+ // Note the IE generates 'strong' and 'em' rather than 'b' and 'i'
1803
+ // tags:
1804
+ // private
1805
+ return html.replace(/<(\/)?strong([ \>])/gi, '<$1b$2')
1806
+ .replace(/<(\/)?em([ \>])/gi, '<$1i$2' ); // String
1807
+ },
1808
+
1809
+ _preFixUrlAttributes: function(/* String */ html){
1810
+ // summary:
1811
+ // Pre-filter to do fixing to href attributes on `<a>` and `<img>` tags
1812
+ // tags:
1813
+ // private
1814
+ return html.replace(/(?:(<a(?=\s).*?\shref=)("|')(.*?)\2)|(?:(<a\s.*?href=)([^"'][^ >]+))/gi,
1815
+ '$1$4$2$3$5$2 _djrealurl=$2$3$5$2')
1816
+ .replace(/(?:(<img(?=\s).*?\ssrc=)("|')(.*?)\2)|(?:(<img\s.*?src=)([^"'][^ >]+))/gi,
1817
+ '$1$4$2$3$5$2 _djrealurl=$2$3$5$2'); // String
1818
+ },
1819
+
1820
+ /*****************************************************************************
1821
+ The following functions implement HTML manipulation commands for various
1822
+ browser/contentEditable implementations. The goal of them is to enforce
1823
+ standard behaviors of them.
1824
+ ******************************************************************************/
1825
+
1826
+ /*** queryCommandEnabled implementations ***/
1827
+
1828
+ _browserQueryCommandEnabled: function(command){
1829
+ // summary:
1830
+ // Implementation to call to the native queryCommandEnabled of the browser.
1831
+ // command:
1832
+ // The command to check.
1833
+ // tags:
1834
+ // protected
1835
+ if(!command) { return false; }
1836
+ var elem = has("ie") ? this.document.selection.createRange() : this.document;
1837
+ try{
1838
+ return elem.queryCommandEnabled(command);
1839
+ }catch(e){
1840
+ return false;
1841
+ }
1842
+ },
1843
+
1844
+ _createlinkEnabledImpl: function(/*===== argument =====*/){
1845
+ // summary:
1846
+ // This function implements the test for if the create link
1847
+ // command should be enabled or not.
1848
+ // argument:
1849
+ // arguments to the exec command, if any.
1850
+ // tags:
1851
+ // protected
1852
+ var enabled = true;
1853
+ if(has("opera")){
1854
+ var sel = this.window.getSelection();
1855
+ if(sel.isCollapsed){
1856
+ enabled = true;
1857
+ }else{
1858
+ enabled = this.document.queryCommandEnabled("createlink");
1859
+ }
1860
+ }else{
1861
+ enabled = this._browserQueryCommandEnabled("createlink");
1862
+ }
1863
+ return enabled;
1864
+ },
1865
+
1866
+ _unlinkEnabledImpl: function(/*===== argument =====*/){
1867
+ // summary:
1868
+ // This function implements the test for if the unlink
1869
+ // command should be enabled or not.
1870
+ // argument:
1871
+ // arguments to the exec command, if any.
1872
+ // tags:
1873
+ // protected
1874
+ var enabled = true;
1875
+ if(has("mozilla") || has("webkit")){
1876
+ enabled = this._sCall("hasAncestorElement", ["a"]);
1877
+ }else{
1878
+ enabled = this._browserQueryCommandEnabled("unlink");
1879
+ }
1880
+ return enabled;
1881
+ },
1882
+
1883
+ _inserttableEnabledImpl: function(/*===== argument =====*/){
1884
+ // summary:
1885
+ // This function implements the test for if the inserttable
1886
+ // command should be enabled or not.
1887
+ // argument:
1888
+ // arguments to the exec command, if any.
1889
+ // tags:
1890
+ // protected
1891
+ var enabled = true;
1892
+ if(has("mozilla") || has("webkit")){
1893
+ enabled = true;
1894
+ }else{
1895
+ enabled = this._browserQueryCommandEnabled("inserttable");
1896
+ }
1897
+ return enabled;
1898
+ },
1899
+
1900
+ _cutEnabledImpl: function(/*===== argument =====*/){
1901
+ // summary:
1902
+ // This function implements the test for if the cut
1903
+ // command should be enabled or not.
1904
+ // argument:
1905
+ // arguments to the exec command, if any.
1906
+ // tags:
1907
+ // protected
1908
+ var enabled = true;
1909
+ if(has("webkit")){
1910
+ // WebKit deems clipboard activity as a security threat and natively would return false
1911
+ var sel = this.window.getSelection();
1912
+ if(sel){ sel = sel.toString(); }
1913
+ enabled = !!sel;
1914
+ }else{
1915
+ enabled = this._browserQueryCommandEnabled("cut");
1916
+ }
1917
+ return enabled;
1918
+ },
1919
+
1920
+ _copyEnabledImpl: function(/*===== argument =====*/){
1921
+ // summary:
1922
+ // This function implements the test for if the copy
1923
+ // command should be enabled or not.
1924
+ // argument:
1925
+ // arguments to the exec command, if any.
1926
+ // tags:
1927
+ // protected
1928
+ var enabled = true;
1929
+ if(has("webkit")){
1930
+ // WebKit deems clipboard activity as a security threat and natively would return false
1931
+ var sel = this.window.getSelection();
1932
+ if(sel){ sel = sel.toString(); }
1933
+ enabled = !!sel;
1934
+ }else{
1935
+ enabled = this._browserQueryCommandEnabled("copy");
1936
+ }
1937
+ return enabled;
1938
+ },
1939
+
1940
+ _pasteEnabledImpl: function(/*===== argument =====*/){
1941
+ // summary:c
1942
+ // This function implements the test for if the paste
1943
+ // command should be enabled or not.
1944
+ // argument:
1945
+ // arguments to the exec command, if any.
1946
+ // tags:
1947
+ // protected
1948
+ var enabled = true;
1949
+ if(has("webkit")){
1950
+ return true;
1951
+ }else{
1952
+ enabled = this._browserQueryCommandEnabled("paste");
1953
+ }
1954
+ return enabled;
1955
+ },
1956
+
1957
+ /*** execCommand implementations ***/
1958
+
1959
+ _inserthorizontalruleImpl: function(argument){
1960
+ // summary:
1961
+ // This function implements the insertion of HTML 'HR' tags.
1962
+ // into a point on the page. IE doesn't to it right, so
1963
+ // we have to use an alternate form
1964
+ // argument:
1965
+ // arguments to the exec command, if any.
1966
+ // tags:
1967
+ // protected
1968
+ if(has("ie")){
1969
+ return this._inserthtmlImpl("<hr>");
1970
+ }
1971
+ return this.document.execCommand("inserthorizontalrule", false, argument);
1972
+ },
1973
+
1974
+ _unlinkImpl: function(argument){
1975
+ // summary:
1976
+ // This function implements the unlink of an 'a' tag.
1977
+ // argument:
1978
+ // arguments to the exec command, if any.
1979
+ // tags:
1980
+ // protected
1981
+ if((this.queryCommandEnabled("unlink")) && (has("mozilla") || has("webkit"))){
1982
+ var a = this._sCall("getAncestorElement", [ "a" ]);
1983
+ this._sCall("selectElement", [ a ]);
1984
+ return this.document.execCommand("unlink", false, null);
1985
+ }
1986
+ return this.document.execCommand("unlink", false, argument);
1987
+ },
1988
+
1989
+ _hilitecolorImpl: function(argument){
1990
+ // summary:
1991
+ // This function implements the hilitecolor command
1992
+ // argument:
1993
+ // arguments to the exec command, if any.
1994
+ // tags:
1995
+ // protected
1996
+ var returnValue;
1997
+ var isApplied = this._handleTextColorOrProperties("hilitecolor", argument);
1998
+ if(!isApplied){
1999
+ if(has("mozilla")){
2000
+ // mozilla doesn't support hilitecolor properly when useCSS is
2001
+ // set to false (bugzilla #279330)
2002
+ this.document.execCommand("styleWithCSS", false, true);
2003
+ console.log("Executing color command.");
2004
+ returnValue = this.document.execCommand("hilitecolor", false, argument);
2005
+ this.document.execCommand("styleWithCSS", false, false);
2006
+ }else{
2007
+ returnValue = this.document.execCommand("hilitecolor", false, argument);
2008
+ }
2009
+ }
2010
+ return returnValue;
2011
+ },
2012
+
2013
+ _backcolorImpl: function(argument){
2014
+ // summary:
2015
+ // This function implements the backcolor command
2016
+ // argument:
2017
+ // arguments to the exec command, if any.
2018
+ // tags:
2019
+ // protected
2020
+ if(has("ie")){
2021
+ // Tested under IE 6 XP2, no problem here, comment out
2022
+ // IE weirdly collapses ranges when we exec these commands, so prevent it
2023
+ // var tr = this.document.selection.createRange();
2024
+ argument = argument ? argument : null;
2025
+ }
2026
+ var isApplied = this._handleTextColorOrProperties("backcolor", argument);
2027
+ if(!isApplied){
2028
+ isApplied = this.document.execCommand("backcolor", false, argument);
2029
+ }
2030
+ return isApplied;
2031
+ },
2032
+
2033
+ _forecolorImpl: function(argument){
2034
+ // summary:
2035
+ // This function implements the forecolor command
2036
+ // argument:
2037
+ // arguments to the exec command, if any.
2038
+ // tags:
2039
+ // protected
2040
+ if(has("ie")){
2041
+ // Tested under IE 6 XP2, no problem here, comment out
2042
+ // IE weirdly collapses ranges when we exec these commands, so prevent it
2043
+ // var tr = this.document.selection.createRange();
2044
+ argument = argument? argument : null;
2045
+ }
2046
+ var isApplied = false;
2047
+ isApplied = this._handleTextColorOrProperties("forecolor", argument);
2048
+ if(!isApplied){
2049
+ isApplied = this.document.execCommand("forecolor", false, argument);
2050
+ }
2051
+ return isApplied;
2052
+ },
2053
+
2054
+ _inserthtmlImpl: function(argument){
2055
+ // summary:
2056
+ // This function implements the insertion of HTML content into
2057
+ // a point on the page.
2058
+ // argument:
2059
+ // The content to insert, if any.
2060
+ // tags:
2061
+ // protected
2062
+ argument = this._preFilterContent(argument);
2063
+ var rv = true;
2064
+ if(has("ie")){
2065
+ var insertRange = this.document.selection.createRange();
2066
+ if(this.document.selection.type.toUpperCase() === 'CONTROL'){
2067
+ var n=insertRange.item(0);
2068
+ while(insertRange.length){
2069
+ insertRange.remove(insertRange.item(0));
2070
+ }
2071
+ n.outerHTML=argument;
2072
+ }else{
2073
+ insertRange.pasteHTML(argument);
2074
+ }
2075
+ insertRange.select();
2076
+ //insertRange.collapse(true);
2077
+ }else if(has("mozilla") && !argument.length){
2078
+ //mozilla can not inserthtml an empty html to delete current selection
2079
+ //so we delete the selection instead in this case
2080
+ this._sCall("remove"); // FIXME
2081
+ }else{
2082
+ rv = this.document.execCommand("inserthtml", false, argument);
2083
+ }
2084
+ return rv;
2085
+ },
2086
+
2087
+ _boldImpl: function(argument){
2088
+ // summary:
2089
+ // This function implements an over-ride of the bold command.
2090
+ // argument:
2091
+ // Not used, operates by selection.
2092
+ // tags:
2093
+ // protected
2094
+ var applied = false;
2095
+ if(has("ie")){
2096
+ this._adaptIESelection();
2097
+ applied = this._adaptIEFormatAreaAndExec("bold");
2098
+ }
2099
+ if(!applied){
2100
+ applied = this.document.execCommand("bold", false, argument);
2101
+ }
2102
+ return applied;
2103
+ },
2104
+
2105
+ _italicImpl: function(argument){
2106
+ // summary:
2107
+ // This function implements an over-ride of the italic command.
2108
+ // argument:
2109
+ // Not used, operates by selection.
2110
+ // tags:
2111
+ // protected
2112
+ var applied = false;
2113
+ if(has("ie")){
2114
+ this._adaptIESelection();
2115
+ applied = this._adaptIEFormatAreaAndExec("italic");
2116
+ }
2117
+ if(!applied){
2118
+ applied = this.document.execCommand("italic", false, argument);
2119
+ }
2120
+ return applied;
2121
+ },
2122
+
2123
+ _underlineImpl: function(argument){
2124
+ // summary:
2125
+ // This function implements an over-ride of the underline command.
2126
+ // argument:
2127
+ // Not used, operates by selection.
2128
+ // tags:
2129
+ // protected
2130
+ var applied = false;
2131
+ if(has("ie")){
2132
+ this._adaptIESelection();
2133
+ applied = this._adaptIEFormatAreaAndExec("underline");
2134
+ }
2135
+ if(!applied){
2136
+ applied = this.document.execCommand("underline", false, argument);
2137
+ }
2138
+ return applied;
2139
+ },
2140
+
2141
+ _strikethroughImpl: function(argument){
2142
+ // summary:
2143
+ // This function implements an over-ride of the strikethrough command.
2144
+ // argument:
2145
+ // Not used, operates by selection.
2146
+ // tags:
2147
+ // protected
2148
+ var applied = false;
2149
+ if(has("ie")){
2150
+ this._adaptIESelection();
2151
+ applied = this._adaptIEFormatAreaAndExec("strikethrough");
2152
+ }
2153
+ if(!applied){
2154
+ applied = this.document.execCommand("strikethrough", false, argument);
2155
+ }
2156
+ return applied;
2157
+ },
2158
+
2159
+ _superscriptImpl: function(argument){
2160
+ // summary:
2161
+ // This function implements an over-ride of the superscript command.
2162
+ // argument:
2163
+ // Not used, operates by selection.
2164
+ // tags:
2165
+ // protected
2166
+ var applied = false;
2167
+ if(has("ie")){
2168
+ this._adaptIESelection();
2169
+ applied = this._adaptIEFormatAreaAndExec("superscript");
2170
+ }
2171
+ if(!applied){
2172
+ applied = this.document.execCommand("superscript", false, argument);
2173
+ }
2174
+ return applied;
2175
+ },
2176
+
2177
+ _subscriptImpl: function(argument){
2178
+ // summary:
2179
+ // This function implements an over-ride of the superscript command.
2180
+ // argument:
2181
+ // Not used, operates by selection.
2182
+ // tags:
2183
+ // protected
2184
+ var applied = false;
2185
+ if(has("ie")){
2186
+ this._adaptIESelection();
2187
+ applied = this._adaptIEFormatAreaAndExec("subscript");
2188
+
2189
+ }
2190
+ if(!applied){
2191
+ applied = this.document.execCommand("subscript", false, argument);
2192
+ }
2193
+ return applied;
2194
+ },
2195
+
2196
+ _fontnameImpl: function(argument){
2197
+ // summary:
2198
+ // This function implements the fontname command
2199
+ // argument:
2200
+ // arguments to the exec command, if any.
2201
+ // tags:
2202
+ // protected
2203
+ var isApplied;
2204
+ if(has("ie")){
2205
+ isApplied = this._handleTextColorOrProperties("fontname", argument);
2206
+ }
2207
+ if(!isApplied){
2208
+ isApplied = this.document.execCommand("fontname", false, argument);
2209
+ }
2210
+ return isApplied;
2211
+ },
2212
+
2213
+ _fontsizeImpl: function(argument){
2214
+ // summary:
2215
+ // This function implements the fontsize command
2216
+ // argument:
2217
+ // arguments to the exec command, if any.
2218
+ // tags:
2219
+ // protected
2220
+ var isApplied;
2221
+ if(has("ie")){
2222
+ isApplied = this._handleTextColorOrProperties("fontsize", argument);
2223
+ }
2224
+ if(!isApplied){
2225
+ isApplied = this.document.execCommand("fontsize", false, argument);
2226
+ }
2227
+ return isApplied;
2228
+ },
2229
+
2230
+ _insertorderedlistImpl: function(argument){
2231
+ // summary:
2232
+ // This function implements the insertorderedlist command
2233
+ // argument:
2234
+ // arguments to the exec command, if any.
2235
+ // tags:
2236
+ // protected
2237
+ var applied = false;
2238
+ if(has("ie")){
2239
+ applied = this._adaptIEList("insertorderedlist", argument);
2240
+ }
2241
+ if(!applied){
2242
+ applied = this.document.execCommand("insertorderedlist", false, argument);
2243
+ }
2244
+ return applied;
2245
+ },
2246
+
2247
+ _insertunorderedlistImpl: function(argument){
2248
+ // summary:
2249
+ // This function implements the insertunorderedlist command
2250
+ // argument:
2251
+ // arguments to the exec command, if any.
2252
+ // tags:
2253
+ // protected
2254
+ var applied = false;
2255
+ if(has("ie")){
2256
+ applied = this._adaptIEList("insertunorderedlist", argument);
2257
+ }
2258
+ if(!applied){
2259
+ applied = this.document.execCommand("insertunorderedlist", false, argument);
2260
+ }
2261
+ return applied;
2262
+ },
2263
+
2264
+ getHeaderHeight: function(){
2265
+ // summary:
2266
+ // A function for obtaining the height of the header node
2267
+ return this._getNodeChildrenHeight(this.header); // Number
2268
+ },
2269
+
2270
+ getFooterHeight: function(){
2271
+ // summary:
2272
+ // A function for obtaining the height of the footer node
2273
+ return this._getNodeChildrenHeight(this.footer); // Number
2274
+ },
2275
+
2276
+ _getNodeChildrenHeight: function(node){
2277
+ // summary:
2278
+ // An internal function for computing the cumulative height of all child nodes of 'node'
2279
+ // node:
2280
+ // The node to process the children of;
2281
+ var h = 0;
2282
+ if(node && node.childNodes){
2283
+ // IE didn't compute it right when position was obtained on the node directly is some cases,
2284
+ // so we have to walk over all the children manually.
2285
+ var i;
2286
+ for(i = 0; i < node.childNodes.length; i++){
2287
+ var size = domGeometry.position(node.childNodes[i]);
2288
+ h += size.h;
2289
+ }
2290
+ }
2291
+ return h; // Number
2292
+ },
2293
+
2294
+ _isNodeEmpty: function(node, startOffset){
2295
+ // summary:
2296
+ // Function to test if a node is devoid of real content.
2297
+ // node:
2298
+ // The node to check.
2299
+ // tags:
2300
+ // private.
2301
+ if(node.nodeType === 1/*element*/){
2302
+ if(node.childNodes.length > 0){
2303
+ return this._isNodeEmpty(node.childNodes[0], startOffset);
2304
+ }
2305
+ return true;
2306
+ }else if(node.nodeType === 3/*text*/){
2307
+ return (node.nodeValue.substring(startOffset) === "");
2308
+ }
2309
+ return false;
2310
+ },
2311
+
2312
+ _removeStartingRangeFromRange: function(node, range){
2313
+ // summary:
2314
+ // Function to adjust selection range by removing the current
2315
+ // start node.
2316
+ // node:
2317
+ // The node to remove from the starting range.
2318
+ // range:
2319
+ // The range to adapt.
2320
+ // tags:
2321
+ // private
2322
+ if(node.nextSibling){
2323
+ range.setStart(node.nextSibling,0);
2324
+ }else{
2325
+ var parent = node.parentNode;
2326
+ while(parent && parent.nextSibling == null){
2327
+ //move up the tree until we find a parent that has another node, that node will be the next node
2328
+ parent = parent.parentNode;
2329
+ }
2330
+ if(parent){
2331
+ range.setStart(parent.nextSibling,0);
2332
+ }
2333
+ }
2334
+ return range;
2335
+ },
2336
+
2337
+ _adaptIESelection: function(){
2338
+ // summary:
2339
+ // Function to adapt the IE range by removing leading 'newlines'
2340
+ // Needed to fix issue with bold/italics/underline not working if
2341
+ // range included leading 'newlines'.
2342
+ // In IE, if a user starts a selection at the very end of a line,
2343
+ // then the native browser commands will fail to execute correctly.
2344
+ // To work around the issue, we can remove all empty nodes from
2345
+ // the start of the range selection.
2346
+ var selection = rangeapi.getSelection(this.window);
2347
+ if(selection && selection.rangeCount && !selection.isCollapsed){
2348
+ var range = selection.getRangeAt(0);
2349
+ var firstNode = range.startContainer;
2350
+ var startOffset = range.startOffset;
2351
+
2352
+ while(firstNode.nodeType === 3/*text*/ && startOffset >= firstNode.length && firstNode.nextSibling){
2353
+ //traverse the text nodes until we get to the one that is actually highlighted
2354
+ startOffset = startOffset - firstNode.length;
2355
+ firstNode = firstNode.nextSibling;
2356
+ }
2357
+
2358
+ //Remove the starting ranges until the range does not start with an empty node.
2359
+ var lastNode=null;
2360
+ while(this._isNodeEmpty(firstNode, startOffset) && firstNode !== lastNode){
2361
+ lastNode =firstNode; //this will break the loop in case we can't find the next sibling
2362
+ range = this._removeStartingRangeFromRange(firstNode, range); //move the start container to the next node in the range
2363
+ firstNode = range.startContainer;
2364
+ startOffset = 0; //start at the beginning of the new starting range
2365
+ }
2366
+ selection.removeAllRanges();// this will work as long as users cannot select multiple ranges. I have not been able to do that in the editor.
2367
+ selection.addRange(range);
2368
+ }
2369
+ },
2370
+
2371
+ _adaptIEFormatAreaAndExec: function(command){
2372
+ // summary:
2373
+ // Function to handle IE's quirkiness regarding how it handles
2374
+ // format commands on a word. This involves a lit of node splitting
2375
+ // and format cloning.
2376
+ // command:
2377
+ // The format command, needed to check if the desired
2378
+ // command is true or not.
2379
+ var selection = rangeapi.getSelection(this.window);
2380
+ var doc = this.document;
2381
+ var rs, ret, range, txt, startNode, endNode, breaker, sNode;
2382
+ if(command && selection && selection.isCollapsed){
2383
+ var isApplied = this.queryCommandValue(command);
2384
+ if(isApplied){
2385
+
2386
+ // We have to split backwards until we hit the format
2387
+ var nNames = this._tagNamesForCommand(command);
2388
+ range = selection.getRangeAt(0);
2389
+ var fs = range.startContainer;
2390
+ if(fs.nodeType === 3){
2391
+ var offset = range.endOffset;
2392
+ if(fs.length < offset){
2393
+ //We are not looking from the right node, try to locate the correct one
2394
+ ret = this._adjustNodeAndOffset(rs, offset);
2395
+ fs = ret.node;
2396
+ offset = ret.offset;
2397
+ }
2398
+ }
2399
+ var topNode;
2400
+ while(fs && fs !== this.editNode){
2401
+ // We have to walk back and see if this is still a format or not.
2402
+ // Hm, how do I do this?
2403
+ var tName = fs.tagName? fs.tagName.toLowerCase() : "";
2404
+ if(array.indexOf(nNames, tName) > -1){
2405
+ topNode = fs;
2406
+ break;
2407
+ }
2408
+ fs = fs.parentNode;
2409
+ }
2410
+
2411
+ // Okay, we have a stopping place, time to split things apart.
2412
+ if(topNode){
2413
+ // Okay, we know how far we have to split backwards, so we have to split now.
2414
+ rs = range.startContainer;
2415
+ var newblock = doc.createElement(topNode.tagName);
2416
+ domConstruct.place(newblock, topNode, "after");
2417
+ if(rs && rs.nodeType === 3){
2418
+ // Text node, we have to split it.
2419
+ var nodeToMove, tNode;
2420
+ var endOffset = range.endOffset;
2421
+ if(rs.length < endOffset){
2422
+ //We are not splitting the right node, try to locate the correct one
2423
+ ret = this._adjustNodeAndOffset(rs, endOffset);
2424
+ rs = ret.node;
2425
+ endOffset = ret.offset;
2426
+ }
2427
+
2428
+ txt = rs.nodeValue;
2429
+ startNode = doc.createTextNode(txt.substring(0, endOffset));
2430
+ var endText = txt.substring(endOffset, txt.length);
2431
+ if(endText){
2432
+ endNode = doc.createTextNode(endText);
2433
+ }
2434
+ // Place the split, then remove original nodes.
2435
+ domConstruct.place(startNode, rs, "before");
2436
+ if(endNode){
2437
+ breaker = doc.createElement("span");
2438
+ breaker.className = "ieFormatBreakerSpan";
2439
+ domConstruct.place(breaker, rs, "after");
2440
+ domConstruct.place(endNode, breaker, "after");
2441
+ endNode = breaker;
2442
+ }
2443
+ domConstruct.destroy(rs);
2444
+
2445
+ // Okay, we split the text. Now we need to see if we're
2446
+ // parented to the block element we're splitting and if
2447
+ // not, we have to split all the way up. Ugh.
2448
+ var parentC = startNode.parentNode;
2449
+ var tagList = [];
2450
+ var tagData;
2451
+ while(parentC !== topNode){
2452
+ var tg = parentC.tagName;
2453
+ tagData = {tagName: tg};
2454
+ tagList.push(tagData);
2455
+
2456
+ var newTg = doc.createElement(tg);
2457
+ // Clone over any 'style' data.
2458
+ if(parentC.style){
2459
+ if(newTg.style){
2460
+ if(parentC.style.cssText){
2461
+ newTg.style.cssText = parentC.style.cssText;
2462
+ tagData.cssText = parentC.style.cssText;
2463
+ }
2464
+ }
2465
+ }
2466
+ // If font also need to clone over any font data.
2467
+ if(parentC.tagName === "FONT"){
2468
+ if(parentC.color){
2469
+ newTg.color = parentC.color;
2470
+ tagData.color = parentC.color;
2471
+ }
2472
+ if(parentC.face){
2473
+ newTg.face = parentC.face;
2474
+ tagData.face = parentC.face;
2475
+ }
2476
+ if(parentC.size){ // this check was necessary on IE
2477
+ newTg.size = parentC.size;
2478
+ tagData.size = parentC.size;
2479
+ }
2480
+ }
2481
+ if(parentC.className){
2482
+ newTg.className = parentC.className;
2483
+ tagData.className = parentC.className;
2484
+ }
2485
+
2486
+ // Now move end node and every sibling
2487
+ // after it over into the new tag.
2488
+ if(endNode){
2489
+ nodeToMove = endNode;
2490
+ while(nodeToMove){
2491
+ tNode = nodeToMove.nextSibling;
2492
+ newTg.appendChild(nodeToMove);
2493
+ nodeToMove = tNode;
2494
+ }
2495
+ }
2496
+ if(newTg.tagName == parentC.tagName){
2497
+ breaker = doc.createElement("span");
2498
+ breaker.className = "ieFormatBreakerSpan";
2499
+ domConstruct.place(breaker, parentC, "after");
2500
+ domConstruct.place(newTg, breaker, "after");
2501
+ }else{
2502
+ domConstruct.place(newTg, parentC, "after");
2503
+ }
2504
+ startNode = parentC;
2505
+ endNode = newTg;
2506
+ parentC = parentC.parentNode;
2507
+ }
2508
+
2509
+ // Lastly, move the split out all the split tags
2510
+ // to the new block as they should now be split properly.
2511
+ if(endNode){
2512
+ nodeToMove = endNode;
2513
+ if(nodeToMove.nodeType === 1 || (nodeToMove.nodeType === 3 && nodeToMove.nodeValue)){
2514
+ // Non-blank text and non-text nodes need to clear out that blank space
2515
+ // before moving the contents.
2516
+ newblock.innerHTML = "";
2517
+ }
2518
+ while(nodeToMove){
2519
+ tNode = nodeToMove.nextSibling;
2520
+ newblock.appendChild(nodeToMove);
2521
+ nodeToMove = tNode;
2522
+ }
2523
+ }
2524
+
2525
+ // We had intermediate tags, we have to now recreate them inbetween the split
2526
+ // and restore what styles, classnames, etc, we can.
2527
+ var newrange;
2528
+ if(tagList.length){
2529
+ tagData = tagList.pop();
2530
+ var newContTag = doc.createElement(tagData.tagName);
2531
+ if(tagData.cssText && newContTag.style){
2532
+ newContTag.style.cssText = tagData.cssText;
2533
+ }
2534
+ if(tagData.className){
2535
+ newContTag.className = tagData.className;
2536
+ }
2537
+ if(tagData.tagName === "FONT"){
2538
+ if(tagData.color){
2539
+ newContTag.color = tagData.color;
2540
+ }
2541
+ if(tagData.face){
2542
+ newContTag.face = tagData.face;
2543
+ }
2544
+ if(tagData.size){
2545
+ newContTag.size = tagData.size;
2546
+ }
2547
+ }
2548
+ domConstruct.place(newContTag, newblock, "before");
2549
+ while(tagList.length){
2550
+ tagData = tagList.pop();
2551
+ var newTgNode = doc.createElement(tagData.tagName);
2552
+ if(tagData.cssText && newTgNode.style){
2553
+ newTgNode.style.cssText = tagData.cssText;
2554
+ }
2555
+ if(tagData.className){
2556
+ newTgNode.className = tagData.className;
2557
+ }
2558
+ if(tagData.tagName === "FONT"){
2559
+ if(tagData.color){
2560
+ newTgNode.color = tagData.color;
2561
+ }
2562
+ if(tagData.face){
2563
+ newTgNode.face = tagData.face;
2564
+ }
2565
+ if(tagData.size){
2566
+ newTgNode.size = tagData.size;
2567
+ }
2568
+ }
2569
+ newContTag.appendChild(newTgNode);
2570
+ newContTag = newTgNode;
2571
+ }
2572
+
2573
+ // Okay, everything is theoretically split apart and removed from the content
2574
+ // so insert the dummy text to select, select it, then
2575
+ // clear to position cursor.
2576
+ sNode = doc.createTextNode(".");
2577
+ breaker.appendChild(sNode);
2578
+ newContTag.appendChild(sNode);
2579
+ newrange = rangeapi.create(this.window);
2580
+ newrange.setStart(sNode, 0);
2581
+ newrange.setEnd(sNode, sNode.length);
2582
+ selection.removeAllRanges();
2583
+ selection.addRange(newrange);
2584
+ this._sCall("collapse", [false]);
2585
+ sNode.parentNode.innerHTML = "";
2586
+ }else{
2587
+ // No extra tags, so we have to insert a breaker point and rely
2588
+ // on filters to remove it later.
2589
+ breaker = doc.createElement("span");
2590
+ breaker.className="ieFormatBreakerSpan";
2591
+ sNode = doc.createTextNode(".");
2592
+ breaker.appendChild(sNode);
2593
+ domConstruct.place(breaker, newblock, "before");
2594
+ newrange = rangeapi.create(this.window);
2595
+ newrange.setStart(sNode, 0);
2596
+ newrange.setEnd(sNode, sNode.length);
2597
+ selection.removeAllRanges();
2598
+ selection.addRange(newrange);
2599
+ this._sCall("collapse", [false]);
2600
+ sNode.parentNode.innerHTML = "";
2601
+ }
2602
+ if(!newblock.firstChild){
2603
+ // Empty, we don't need it. Split was at end or similar
2604
+ // So, remove it.
2605
+ domConstruct.destroy(newblock);
2606
+ }
2607
+ return true;
2608
+ }
2609
+ }
2610
+ return false;
2611
+ }else{
2612
+ range = selection.getRangeAt(0);
2613
+ rs = range.startContainer;
2614
+ if(rs && rs.nodeType === 3){
2615
+ // Text node, we have to split it.
2616
+ var offset = range.startOffset;
2617
+ if(rs.length < offset){
2618
+ //We are not splitting the right node, try to locate the correct one
2619
+ ret = this._adjustNodeAndOffset(rs, offset);
2620
+ rs = ret.node;
2621
+ offset = ret.offset;
2622
+ }
2623
+ txt = rs.nodeValue;
2624
+ startNode = doc.createTextNode(txt.substring(0, offset));
2625
+ var endText = txt.substring(offset);
2626
+ if(endText !== ""){
2627
+ endNode = doc.createTextNode(txt.substring(offset));
2628
+ }
2629
+ // Create a space, we'll select and bold it, so
2630
+ // the whole word doesn't get bolded
2631
+ breaker = doc.createElement("span");
2632
+ sNode = doc.createTextNode(".");
2633
+ breaker.appendChild(sNode);
2634
+ if(startNode.length){
2635
+ domConstruct.place(startNode, rs, "after");
2636
+ }else{
2637
+ startNode = rs;
2638
+ }
2639
+ domConstruct.place(breaker, startNode, "after");
2640
+ if(endNode){
2641
+ domConstruct.place(endNode, breaker, "after");
2642
+ }
2643
+ domConstruct.destroy(rs);
2644
+ var newrange = rangeapi.create(this.window);
2645
+ newrange.setStart(sNode, 0);
2646
+ newrange.setEnd(sNode, sNode.length);
2647
+ selection.removeAllRanges();
2648
+ selection.addRange(newrange);
2649
+ doc.execCommand(command);
2650
+ domConstruct.place(breaker.firstChild, breaker, "before");
2651
+ domConstruct.destroy(breaker);
2652
+ newrange.setStart(sNode, 0);
2653
+ newrange.setEnd(sNode, sNode.length);
2654
+ selection.removeAllRanges();
2655
+ selection.addRange(newrange);
2656
+ this._sCall("collapse", [false]);
2657
+ sNode.parentNode.innerHTML = "";
2658
+ return true;
2659
+ }
2660
+ }
2661
+ }else{
2662
+ return false;
2663
+ }
2664
+ },
2665
+
2666
+ _adaptIEList: function(command /*===== , argument =====*/){
2667
+ // summary:
2668
+ // This function handles normalizing the IE list behavior as
2669
+ // much as possible.
2670
+ // command:
2671
+ // The list command to execute.
2672
+ // argument:
2673
+ // Any additional argument.
2674
+ // tags:
2675
+ // private
2676
+ var selection = rangeapi.getSelection(this.window);
2677
+ if(selection.isCollapsed){
2678
+ // In the case of no selection, lets commonize the behavior and
2679
+ // make sure that it indents if needed.
2680
+ if(selection.rangeCount && !this.queryCommandValue(command)){
2681
+ var range = selection.getRangeAt(0);
2682
+ var sc = range.startContainer;
2683
+ if(sc && sc.nodeType == 3){
2684
+ // text node. Lets see if there is a node before it that isn't
2685
+ // some sort of breaker.
2686
+ if(!range.startOffset){
2687
+ // We're at the beginning of a text area. It may have been br split
2688
+ // Who knows? In any event, we must create the list manually
2689
+ // or IE may shove too much into the list element. It seems to
2690
+ // grab content before the text node too if it's br split.
2691
+ // Why can't IE work like everyone else?
2692
+
2693
+ // Create a space, we'll select and bold it, so
2694
+ // the whole word doesn't get bolded
2695
+ var lType = "ul";
2696
+ if(command === "insertorderedlist"){
2697
+ lType = "ol";
2698
+ }
2699
+ var list = this.document.createElement(lType);
2700
+ var li = domConstruct.create("li", null, list);
2701
+ domConstruct.place(list, sc, "before");
2702
+ // Move in the text node as part of the li.
2703
+ li.appendChild(sc);
2704
+ // We need a br after it or the enter key handler
2705
+ // sometimes throws errors.
2706
+ domConstruct.create("br", null, list, "after");
2707
+ // Okay, now lets move our cursor to the beginning.
2708
+ var newrange = rangeapi.create(this.window);
2709
+ newrange.setStart(sc, 0);
2710
+ newrange.setEnd(sc, sc.length);
2711
+ selection.removeAllRanges();
2712
+ selection.addRange(newrange);
2713
+ this._sCall("collapse", [true]);
2714
+ return true;
2715
+ }
2716
+ }
2717
+ }
2718
+ }
2719
+ return false;
2720
+ },
2721
+
2722
+ _handleTextColorOrProperties: function(command, argument){
2723
+ // summary:
2724
+ // This function handles appplying text color as best it is
2725
+ // able to do so when the selection is collapsed, making the
2726
+ // behavior cross-browser consistent. It also handles the name
2727
+ // and size for IE.
2728
+ // command:
2729
+ // The command.
2730
+ // argument:
2731
+ // Any additional arguments.
2732
+ // tags:
2733
+ // private
2734
+ var selection = rangeapi.getSelection(this.window);
2735
+ var doc = this.document;
2736
+ var rs, ret, range, txt, startNode, endNode, breaker, sNode;
2737
+ argument = argument || null;
2738
+ if(command && selection && selection.isCollapsed){
2739
+ if(selection.rangeCount){
2740
+ range = selection.getRangeAt(0);
2741
+ rs = range.startContainer;
2742
+ if(rs && rs.nodeType === 3){
2743
+ // Text node, we have to split it.
2744
+ var offset = range.startOffset;
2745
+ if(rs.length < offset){
2746
+ //We are not splitting the right node, try to locate the correct one
2747
+ ret = this._adjustNodeAndOffset(rs, offset);
2748
+ rs = ret.node;
2749
+ offset = ret.offset;
2750
+ }
2751
+ txt = rs.nodeValue;
2752
+ startNode = doc.createTextNode(txt.substring(0, offset));
2753
+ var endText = txt.substring(offset);
2754
+ if(endText !== ""){
2755
+ endNode = doc.createTextNode(txt.substring(offset));
2756
+ }
2757
+ // Create a space, we'll select and bold it, so
2758
+ // the whole word doesn't get bolded
2759
+ breaker = doc.createElement("span");
2760
+ sNode = doc.createTextNode(".");
2761
+ breaker.appendChild(sNode);
2762
+ // Create a junk node to avoid it trying to style the breaker.
2763
+ // This will get destroyed later.
2764
+ var extraSpan = doc.createElement("span");
2765
+ breaker.appendChild(extraSpan);
2766
+ if(startNode.length){
2767
+ domConstruct.place(startNode, rs, "after");
2768
+ }else{
2769
+ startNode = rs;
2770
+ }
2771
+ domConstruct.place(breaker, startNode, "after");
2772
+ if(endNode){
2773
+ domConstruct.place(endNode, breaker, "after");
2774
+ }
2775
+ domConstruct.destroy(rs);
2776
+ var newrange = rangeapi.create(this.window);
2777
+ newrange.setStart(sNode, 0);
2778
+ newrange.setEnd(sNode, sNode.length);
2779
+ selection.removeAllRanges();
2780
+ selection.addRange(newrange);
2781
+ if(has("webkit")){
2782
+ // WebKit is frustrating with positioning the cursor.
2783
+ // It stinks to have a selected space, but there really
2784
+ // isn't much choice here.
2785
+ var style = "color";
2786
+ if(command === "hilitecolor" || command === "backcolor"){
2787
+ style = "backgroundColor";
2788
+ }
2789
+ domStyle.set(breaker, style, argument);
2790
+ this._sCall("remove", []);
2791
+ domConstruct.destroy(extraSpan);
2792
+ breaker.innerHTML = "&#160;"; // &nbsp;
2793
+ this._sCall("selectElement", [breaker]);
2794
+ this.focus();
2795
+ }else{
2796
+ this.execCommand(command, argument);
2797
+ domConstruct.place(breaker.firstChild, breaker, "before");
2798
+ domConstruct.destroy(breaker);
2799
+ newrange.setStart(sNode, 0);
2800
+ newrange.setEnd(sNode, sNode.length);
2801
+ selection.removeAllRanges();
2802
+ selection.addRange(newrange);
2803
+ this._sCall("collapse", [false]);
2804
+ sNode.parentNode.removeChild(sNode);
2805
+ }
2806
+ return true;
2807
+ }
2808
+ }
2809
+ }
2810
+ return false;
2811
+ },
2812
+
2813
+ _adjustNodeAndOffset: function(/*DomNode*/node, /*Int*/offset){
2814
+ // summary:
2815
+ // In the case there are multiple text nodes in a row the offset may not be within the node.
2816
+ // If the offset is larger than the node length, it will attempt to find
2817
+ // the next text sibling until it locates the text node in which the offset refers to
2818
+ // node:
2819
+ // The node to check.
2820
+ // offset:
2821
+ // The position to find within the text node
2822
+ // tags:
2823
+ // private.
2824
+ while(node.length < offset && node.nextSibling && node.nextSibling.nodeType === 3){
2825
+ //Adjust the offset and node in the case of multiple text nodes in a row
2826
+ offset = offset - node.length;
2827
+ node = node.nextSibling;
2828
+ }
2829
+ return {"node": node, "offset": offset};
2830
+ },
2831
+
2832
+ _tagNamesForCommand: function(command){
2833
+ // summary:
2834
+ // Function to return the tab names that are associated
2835
+ // with a particular style.
2836
+ // command: String
2837
+ // The command to return tags for.
2838
+ // tags:
2839
+ // private
2840
+ if(command === "bold"){
2841
+ return ["b", "strong"];
2842
+ }else if(command === "italic"){
2843
+ return ["i","em"];
2844
+ }else if(command === "strikethrough"){
2845
+ return ["s", "strike"];
2846
+ }else if(command === "superscript"){
2847
+ return ["sup"];
2848
+ }else if(command === "subscript"){
2849
+ return ["sub"];
2850
+ }else if(command === "underline"){
2851
+ return ["u"];
2852
+ }
2853
+ return [];
2854
+ },
2855
+
2856
+ _stripBreakerNodes: function(/*DOMNode*/ node){
2857
+ // summary:
2858
+ // Function for stripping out the breaker spans inserted by the formatting command.
2859
+ // Registered as a filter for IE, handles the breaker spans needed to fix up
2860
+ // How bold/italic/etc, work when selection is collapsed (single cursor).
2861
+ if(!this.isLoaded){ return; } // this method requires init to be complete
2862
+ query(".ieFormatBreakerSpan", node).forEach(function(b){
2863
+ while(b.firstChild){
2864
+ domConstruct.place(b.firstChild, b, "before");
2865
+ }
2866
+ domConstruct.destroy(b);
2867
+ });
2868
+ return node;
2869
+ }
2870
+ });
2871
+
2872
+ return RichText;
2873
+
2874
+ });