dojo_rails 0.0.1

Sign up to get free protection for your applications and to get access to all the features.
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,3188 @@
1
+ // FIXME: this test assumes the existence of the global object "tests"
2
+ define(["dojo/main", "doh/main", "require", "dojo/data/api/Read", "dojo/data/api/Identity", "dojo/date", "dojo/date/stamp"], function(dojo, doh, require){
3
+
4
+ dojo.getObject("data.readOnlyItemFileTestTemplates", true, tests);
5
+
6
+ dojo.declare("tests.data.Wrapper", null, {
7
+ // summary:
8
+ // Simple class to use for typeMap in order to test out
9
+ // 'falsy' values for _value.
10
+ _wrapped: null,
11
+
12
+ constructor: function(obj){
13
+ this._wrapped = obj;
14
+ },
15
+
16
+ getValue: function(){
17
+ return this._wrapped;
18
+ },
19
+
20
+ setValue: function(obj){
21
+ this._wrapped = obj;
22
+ },
23
+
24
+ toString: function(){
25
+ return "WRAPPER: [" + this._wrapped + "]";
26
+ }
27
+ });
28
+
29
+
30
+ tests.data.readOnlyItemFileTestTemplates.registerTestsForDatastore = function(/* String */ datastoreClassName){
31
+ // summary:
32
+ // Given the name of a datastore class to use, this function creates
33
+ // a set of unit tests for that datastore, and registers the new test
34
+ // group with the doh test framework. The new unit tests are based
35
+ // on a set of "template" unit tests.
36
+ var datastoreClass = dojo.getObject(datastoreClassName);
37
+ var testTemplates = tests.data.readOnlyItemFileTestTemplates.testTemplates;
38
+ var testsForDatastore = [];
39
+ var makeNewTestFunction = function(template){
40
+ return function(t){return template.runTest(datastoreClass, t);};
41
+ };
42
+ for(var i = 0; i < testTemplates.length; ++i){
43
+ var testTemplate = testTemplates[i];
44
+ var test = {};
45
+ test.name = testTemplate.name;
46
+ test.runTest = makeNewTestFunction(testTemplate);
47
+ testsForDatastore.push(test);
48
+ }
49
+ var testGroupName = "IFSCommonTests: " + datastoreClassName;
50
+ doh.register(testGroupName, testsForDatastore);
51
+ };
52
+
53
+
54
+ //-----------------------------------------------------
55
+ // testFile data-sets
56
+ tests.data.readOnlyItemFileTestTemplates.getTestData = function(name){
57
+ var data = null;
58
+ if(name === "countries"){
59
+ if(dojo.isBrowser){
60
+ data = {url: require.toUrl("./countries.json")};
61
+ }else{
62
+ data = {data: {
63
+ identifier:"abbr",
64
+ label:"name",
65
+ items:[
66
+ {abbr:"ec", name:"Ecuador", capital:"Quito"},
67
+ {abbr:'eg', name:'Egypt', capital:'Cairo'},
68
+ {abbr:'sv', name:'El Salvador', capital:'San Salvador'},
69
+ {abbr:'gq', name:'Equatorial Guinea', capital:'Malabo'},
70
+ {abbr:'er', name:'Eritrea', capital:'Asmara'},
71
+ {abbr:'ee', name:'Estonia', capital:'Tallinn'},
72
+ {abbr:'et', name:'Ethiopia', capital:'Addis Ababa'}
73
+ ]
74
+ } };
75
+ }
76
+ }else if(name === "countries_withNull"){
77
+ if(dojo.isBrowser){
78
+ data = {url: require.toUrl("./countries_withNull.json")};
79
+ }else{
80
+ data = {data: {
81
+ identifier:"abbr",
82
+ items:[
83
+ {abbr:"ec", name:null, capital:"Quito"},
84
+ {abbr:'eg', name:null, capital:'Cairo'},
85
+ {abbr:'sv', name:'El Salvador', capital:'San Salvador'},
86
+ {abbr:'gq', name:'Equatorial Guinea', capital:'Malabo'},
87
+ {abbr:'er', name:'Eritrea', capital:'Asmara'},
88
+ {abbr:'ee', name:null, capital:'Tallinn'},
89
+ {abbr:'et', name:'Ethiopia', capital:'Addis Ababa'}
90
+ ]
91
+ } };
92
+ }
93
+ }else if(name === "countries_withoutid"){
94
+ if(dojo.isBrowser){
95
+ data = {url: require.toUrl("./countries_withoutid.json")};
96
+ }else{
97
+ data = {data: {
98
+ label: "name",
99
+ items:[
100
+ {abbr:"ec", name:null, capital:"Quito"},
101
+ {abbr:'eg', name:null, capital:'Cairo'},
102
+ {abbr:'sv', name:'El Salvador', capital:'San Salvador'},
103
+ {abbr:'gq', name:'Equatorial Guinea', capital:'Malabo'},
104
+ {abbr:'er', name:'Eritrea', capital:'Asmara'},
105
+ {abbr:'ee', name:null, capital:'Tallinn'},
106
+ {abbr:'et', name:'Ethiopia', capital:'Addis Ababa'}
107
+ ]
108
+ } };
109
+ }
110
+ }else if (name === "countries_withBoolean"){
111
+ if(dojo.isBrowser){
112
+ data = {url: require.toUrl("./countries_withBoolean.json")};
113
+ }else{
114
+ data = {data: {
115
+ identifier:"abbr",
116
+ items:[
117
+ {abbr:"ec", name:"Ecuador", capital:"Quito", real:true},
118
+ {abbr:'eg', name:'Egypt', capital:'Cairo', real:true},
119
+ {abbr:'sv', name:'El Salvador', capital:'San Salvador', real:true},
120
+ {abbr:'gq', name:'Equatorial Guinea', capital:'Malabo', real:true},
121
+ {abbr:'er', name:'Eritrea', capital:'Asmara', real:true},
122
+ {abbr:'ee', name:'Estonia', capital:'Tallinn', real:true},
123
+ {abbr:'et', name:'Ethiopia', capital:'Addis Ababa', real:true},
124
+ {abbr:'ut', name:'Utopia', capital:'Paradise', real:false}
125
+ ]
126
+ } };
127
+ }
128
+ }else if (name === "countries_withDates"){
129
+ if(dojo.isBrowser){
130
+ data = {url: require.toUrl("./countries_withDates.json")};
131
+ }else{
132
+ data = {data: {
133
+ identifier:"abbr",
134
+ items:[
135
+ {abbr:"ec", name:"Ecuador", capital:"Quito"},
136
+ {abbr:'eg', name:'Egypt', capital:'Cairo'},
137
+ {abbr:'sv', name:'El Salvador', capital:'San Salvador'},
138
+ {abbr:'gq', name:'Equatorial Guinea', capital:'Malabo'},
139
+ {abbr:'er', name:'Eritrea', capital:'Asmara', independence:{_type:'Date', _value:"1993-05-24T00:00:00Z"}}, // May 24, 1993,
140
+ {abbr:'ee', name:'Estonia', capital:'Tallinn', independence:{_type:'Date', _value:"1991-08-20T00:00:00Z"}}, // August 20, 1991
141
+ {abbr:'et', name:'Ethiopia', capital:'Addis Ababa'}
142
+ ]
143
+ } };
144
+ }
145
+ }else if (name === "geography_hierarchy_small"){
146
+ if(dojo.isBrowser){
147
+ data = {url: require.toUrl("./geography_hierarchy_small.json")};
148
+ }else{
149
+ data = {data: {
150
+ items:[
151
+ { name:'Africa', countries:[
152
+ { name:'Egypt', capital:'Cairo' },
153
+ { name:'Kenya', capital:'Nairobi' },
154
+ { name:'Sudan', capital:'Khartoum' }]},
155
+ { name:'Australia', capital:'Canberra' },
156
+ { name:'North America', countries:[
157
+ { name:'Canada', population:'33 million', cities:[
158
+ { name:'Toronto', population:'2.5 million' },
159
+ { name:'Alberta', population:'1 million' }
160
+ ]},
161
+ { name: 'United States of America', capital: 'Washington DC', states:[
162
+ { name: 'Missouri'},
163
+ { name: 'Arkansas'}
164
+ ]}
165
+ ]}
166
+ ]
167
+ }};
168
+ }
169
+ }else if (name === "data_multitype"){
170
+ if(dojo.isBrowser){
171
+ data = {url: require.toUrl("./data_multitype.json")};
172
+ }else{
173
+ data = {data: {
174
+ "identifier": "count",
175
+ "label": "count",
176
+ items: [
177
+ { count: 1, value: "true" },
178
+ { count: 2, value: true },
179
+ { count: 3, value: "false"},
180
+ { count: 4, value: false },
181
+ { count: 5, value: true },
182
+ { count: 6, value: true },
183
+ { count: 7, value: "true" },
184
+ { count: 8, value: "true" },
185
+ { count: 9, value: "false"},
186
+ { count: 10, value: false },
187
+ { count: 11, value: [false, false]},
188
+ { count: "12", value: [false, "true"]}
189
+ ]
190
+ }
191
+ };
192
+ }
193
+ }else if (name === "countries_references"){
194
+ if(dojo.isBrowser){
195
+ data = {url: require.toUrl("./countries_references.json")};
196
+ }else{
197
+ data = {data: { identifier: 'name',
198
+ label: 'name',
199
+ items: [
200
+ { name:'Africa', type:'continent',
201
+ children:[{_reference:'Egypt'}, {_reference:'Kenya'}, {_reference:'Sudan'}] },
202
+ { name:'Egypt', type:'country' },
203
+ { name:'Kenya', type:'country',
204
+ children:[{_reference:'Nairobi'}, {_reference:'Mombasa'}] },
205
+ { name:'Nairobi', type:'city' },
206
+ { name:'Mombasa', type:'city' },
207
+ { name:'Sudan', type:'country',
208
+ children:{_reference:'Khartoum'} },
209
+ { name:'Khartoum', type:'city' },
210
+ { name:'Asia', type:'continent',
211
+ children:[{_reference:'China'}, {_reference:'India'}, {_reference:'Russia'}, {_reference:'Mongolia'}] },
212
+ { name:'China', type:'country' },
213
+ { name:'India', type:'country' },
214
+ { name:'Russia', type:'country' },
215
+ { name:'Mongolia', type:'country' },
216
+ { name:'Australia', type:'continent', population:'21 million',
217
+ children:{_reference:'Commonwealth of Australia'}},
218
+ { name:'Commonwealth of Australia', type:'country', population:'21 million'},
219
+ { name:'Europe', type:'continent',
220
+ children:[{_reference:'Germany'}, {_reference:'France'}, {_reference:'Spain'}, {_reference:'Italy'}] },
221
+ { name:'Germany', type:'country' },
222
+ { name:'France', type:'country' },
223
+ { name:'Spain', type:'country' },
224
+ { name:'Italy', type:'country' },
225
+ { name:'North America', type:'continent',
226
+ children:[{_reference:'Mexico'}, {_reference:'Canada'}, {_reference:'United States of America'}] },
227
+ { name:'Mexico', type:'country', population:'108 million', area:'1,972,550 sq km',
228
+ children:[{_reference:'Mexico City'}, {_reference:'Guadalajara'}] },
229
+ { name:'Mexico City', type:'city', population:'19 million', timezone:'-6 UTC'},
230
+ { name:'Guadalajara', type:'city', population:'4 million', timezone:'-6 UTC' },
231
+ { name:'Canada', type:'country', population:'33 million', area:'9,984,670 sq km',
232
+ children:[{_reference:'Ottawa'}, {_reference:'Toronto'}] },
233
+ { name:'Ottawa', type:'city', population:'0.9 million', timezone:'-5 UTC'},
234
+ { name:'Toronto', type:'city', population:'2.5 million', timezone:'-5 UTC' },
235
+ { name:'United States of America', type:'country' },
236
+ { name:'South America', type:'continent',
237
+ children:[{_reference:'Brazil'}, {_reference:'Argentina'}] },
238
+ { name:'Brazil', type:'country', population:'186 million' },
239
+ { name:'Argentina', type:'country', population:'40 million' }
240
+ ]
241
+ }
242
+ };
243
+ }
244
+ }
245
+ return data;
246
+ };
247
+
248
+ //-----------------------------------------------------
249
+ // testTemplates
250
+ tests.data.readOnlyItemFileTestTemplates.testTemplates = [
251
+ {
252
+ name: "Identity API: fetchItemByIdentity()",
253
+ runTest: function(datastore, t){
254
+ // summary:
255
+ // Simple test of the fetchItemByIdentity function of the store.
256
+ var store = new datastore(tests.data.readOnlyItemFileTestTemplates.getTestData("countries"));
257
+
258
+ var d = new doh.Deferred();
259
+ function onItem(item){
260
+ t.assertTrue(item !== null);
261
+ if(item !== null){
262
+ var name = store.getValue(item,"name");
263
+ t.assertEqual(name, "El Salvador");
264
+ }
265
+ d.callback(true);
266
+ }
267
+ function onError(errData){
268
+ t.assertTrue(false);
269
+ d.errback(errData);
270
+ }
271
+ store.fetchItemByIdentity({identity: "sv", onItem: onItem, onError: onError});
272
+ return d; // Deferred
273
+ }
274
+ },
275
+ {
276
+ name: "Identity API: fetchItemByIdentity() preventCache",
277
+ runTest: function(datastore, t){
278
+ // summary:
279
+ // Simple test of the fetchItemByIdentity function of the store.
280
+ var args = tests.data.readOnlyItemFileTestTemplates.getTestData("countries");
281
+ args.urlPreventCache = true;
282
+ var store = new datastore(args);
283
+
284
+ var d = new doh.Deferred();
285
+ function onItem(item){
286
+ t.assertTrue(item !== null);
287
+ if(item !== null){
288
+ var name = store.getValue(item,"name");
289
+ t.assertEqual(name, "El Salvador");
290
+ }
291
+ d.callback(true);
292
+ }
293
+ function onError(errData){
294
+ t.assertTrue(false);
295
+ d.errback(errData);
296
+ }
297
+ store.fetchItemByIdentity({identity: "sv", onItem: onItem, onError: onError});
298
+ return d; // Deferred
299
+ }
300
+ },
301
+ {
302
+ name: "Identity API: fetchItemByIdentity() notFound",
303
+ runTest: function(datastore, t){
304
+ // summary:
305
+ // Simple test of the fetchItemByIdentity function of the store.
306
+ // description:
307
+ // Simple test of the fetchItemByIdentity function of the store.
308
+ var store = new datastore(tests.data.readOnlyItemFileTestTemplates.getTestData("countries"));
309
+
310
+ var d = new doh.Deferred();
311
+ function onItem(item){
312
+ t.assertTrue(item === null);
313
+ d.callback(true);
314
+ }
315
+ function onError(errData){
316
+ t.assertTrue(false);
317
+ d.errback(errData);
318
+ }
319
+ store.fetchItemByIdentity({identity: "sv_not", onItem: onItem, onError: onError});
320
+ return d; // Deferred
321
+ }
322
+ },
323
+ {
324
+ name: "Identity API: getIdentityAttributes()",
325
+ runTest: function(datastore, t){
326
+ // summary:
327
+ // Simple test of the getIdentityAttributes function.
328
+ // description:
329
+ // Simple test of the getIdentityAttributes function.
330
+ var store = new datastore(tests.data.readOnlyItemFileTestTemplates.getTestData("countries"));
331
+
332
+ var d = new doh.Deferred();
333
+ function onItem(item){
334
+ t.assertTrue(item !== null);
335
+ var identifiers = store.getIdentityAttributes(item);
336
+ t.assertTrue(dojo.isArray(identifiers));
337
+ t.assertEqual(1, identifiers.length);
338
+ t.assertEqual("abbr", identifiers[0]);
339
+ d.callback(true);
340
+ }
341
+ function onError(errData){
342
+ t.assertTrue(false);
343
+ d.errback(errData);
344
+ }
345
+ store.fetchItemByIdentity({identity: "sv", onItem: onItem, onError: onError});
346
+ return d; // Deferred
347
+ }
348
+ },
349
+ {
350
+ name: "Identity API: fetchItemByIdentity() commentFilteredJson",
351
+ runTest: function(datastore, t){
352
+ // summary:
353
+ // Simple test of the fetchItemByIdentity function of the store.
354
+ // description:
355
+ // Simple test of the fetchItemByIdentity function of the store.
356
+ // This tests loading a comment-filtered json file so that people using secure
357
+ // data with this store can bypass the JavaSceipt hijack noted in Fortify's
358
+ // paper.
359
+
360
+ if(dojo.isBrowser){
361
+ var store = new datastore({url: require.toUrl("./countries_commentFiltered.json")});
362
+
363
+ var d = new doh.Deferred();
364
+ function onItem(item){
365
+ t.assertTrue(item !== null);
366
+ var name = store.getValue(item,"name");
367
+ t.assertEqual(name, "El Salvador");
368
+ d.callback(true);
369
+ }
370
+ function onError(errData){
371
+ t.assertTrue(false);
372
+ d.errback(errData);
373
+ }
374
+ store.fetchItemByIdentity({identity: "sv", onItem: onItem, onError: onError});
375
+ return d; // Deferred
376
+ }
377
+ }
378
+ },
379
+ {
380
+ name: "Identity API: fetchItemByIdentity() nullValue",
381
+ runTest: function(datastore, t){
382
+ // summary:
383
+ // Simple test of the fetchItemByIdentity function of the store, checling a null value.
384
+ // description:
385
+ // Simple test of the fetchItemByIdentity function of the store, checking a null value.
386
+ // This tests handling attributes in json that were defined as null properly.
387
+ // Introduced because of tracker: #3153
388
+ var store = new datastore(tests.data.readOnlyItemFileTestTemplates.getTestData("countries_withNull"));
389
+
390
+ var d = new doh.Deferred();
391
+ function onItem(item){
392
+ t.assertTrue(item !== null);
393
+ var name = store.getValue(item,"name");
394
+ t.assertEqual(name, null);
395
+ d.callback(true);
396
+ }
397
+ function onError(errData){
398
+ t.assertTrue(false);
399
+ d.errback(errData);
400
+ }
401
+ store.fetchItemByIdentity({identity: "ec", onItem: onItem, onError: onError});
402
+ return d; // Deferred
403
+ }
404
+ },
405
+ {
406
+ name: "Identity API: fetchItemByIdentity() booleanValue",
407
+ runTest: function(datastore, t){
408
+ // summary:
409
+ // Simple test of the fetchItemByIdentity function of the store, checking a boolean value.
410
+ // description:
411
+ // Simple test of the fetchItemByIdentity function of the store, checking a boolean value.
412
+ var store = new datastore(tests.data.readOnlyItemFileTestTemplates.getTestData("countries_withBoolean"));
413
+
414
+ var d = new doh.Deferred();
415
+ function onItem(item){
416
+ t.assertTrue(item !== null);
417
+ var name = store.getValue(item,"name");
418
+ t.assertEqual(name, "Utopia");
419
+ var real = store.getValue(item,"real");
420
+ t.assertEqual(real, false);
421
+ d.callback(true);
422
+ }
423
+ function onError(errData){
424
+ t.assertTrue(false);
425
+ d.errback(errData);
426
+ }
427
+ store.fetchItemByIdentity({identity: "ut", onItem: onItem, onError: onError});
428
+ return d; // Deferred
429
+ }
430
+ },
431
+ {
432
+ name: "Identity API: fetchItemByIdentity() withoutSpecifiedIdInData",
433
+ runTest: function(datastore, t){
434
+ // summary:
435
+ // Simple test of bug #4691, looking up something by assigned id, not one specified in the JSON data.
436
+ // description:
437
+ // Simple test of bug #4691, looking up something by assigned id, not one specified in the JSON data.
438
+ var store = new datastore(tests.data.readOnlyItemFileTestTemplates.getTestData("countries_withoutid"));
439
+
440
+ var d = new doh.Deferred();
441
+ function onItem(item){
442
+ t.assertTrue(item !== null);
443
+ var name = store.getValue(item,"name");
444
+ t.assertEqual(name, "El Salvador");
445
+ d.callback(true);
446
+ }
447
+ function onError(errData){
448
+ t.assertTrue(false);
449
+ d.errback(errData);
450
+ }
451
+ store.fetchItemByIdentity({identity: "2", onItem: onItem, onError: onError});
452
+ return d; // Deferred
453
+ }
454
+ },
455
+ {
456
+ name: "Identity API: fetchItemByIdentity() Object.prototype item identifier",
457
+ runTest: function(datastore, t){
458
+ // summary:
459
+ // Simple test of bug where store would raise an error
460
+ // if the item identifier was the same as an Object property name.
461
+ var data = {identifier: 'id', items: [{id: 'toString', value: 'aha'}]};
462
+ var store = new datastore({data: data});
463
+ var d = new doh.Deferred();
464
+ function onitem(item){
465
+ t.assertTrue(item.value == 'aha');
466
+ d.callback(true);
467
+ }
468
+ function onError(errData){
469
+ t.assertTrue(false);
470
+ d.errback(errData);
471
+ }
472
+ store.fetchItemByIdentity({identity: 'toString', onItem: onitem, onError: onError});
473
+ return d; // Deferred
474
+ }
475
+ },
476
+ {
477
+ name: "Identity API: fetchItemByIdentity() Object.prototype item identifier 2",
478
+ runTest: function(datastore, t){
479
+ // summary:
480
+ // Simple test of bug where store would raise an error
481
+ // if the item identifier was the same as an Object property name.
482
+ var data = {identifier: 'id', items: [{id: 'hasOwnProperty', value: 'yep'}]};
483
+ var store = new datastore({data: data});
484
+ var d = new doh.Deferred();
485
+ function onitem(item){
486
+ t.assertTrue(item.value == 'yep');
487
+ d.callback(true);
488
+ }
489
+ function onError(errData){
490
+ t.assertTrue(false);
491
+ d.errback(errData);
492
+ }
493
+ store.fetchItemByIdentity({identity: 'hasOwnProperty', onItem: onitem, onError: onError});
494
+ return d; // Deferred
495
+ }
496
+ },
497
+ {
498
+ name: "Identity API: fetchItemByIdentity() Object.prototype identity",
499
+ runTest: function(datastore, t){
500
+ // summary:
501
+ // Simple test of bug where fetchItemByIdentity would return
502
+ // an object property.
503
+ var store = new datastore(tests.data.readOnlyItemFileTestTemplates.getTestData("countries_withoutid"));
504
+ var d = new doh.Deferred();
505
+ function onItem(item){
506
+ t.assertTrue(item === null);
507
+ d.callback(true);
508
+ }
509
+ function onError(errData){
510
+ t.assertTrue(false);
511
+ d.errback(errData);
512
+ }
513
+ store.fetchItemByIdentity({identity: 'toString', onItem: onItem, onError: onError});
514
+ return d; // Deferred
515
+ }
516
+ },
517
+ {
518
+ name: "Identity API: fetchItemByIdentity() Object.prototype identity 2",
519
+ runTest: function(datastore, t){
520
+ // summary:
521
+ // Simple test of bug where fetchItemByIdentity would return
522
+ // an object property.
523
+ var store = new datastore(tests.data.readOnlyItemFileTestTemplates.getTestData("countries_withoutid"));
524
+ var d = new doh.Deferred();
525
+ function onItem(item){
526
+ t.assertTrue(item === null);
527
+ d.callback(true);
528
+ }
529
+ function onError(errData){
530
+ t.assertTrue(false);
531
+ d.errback(errData);
532
+ }
533
+ store.fetchItemByIdentity({identity: 'hasOwnProperty', onItem: onItem, onError: onError});
534
+ return d; // Deferred
535
+ }
536
+ },
537
+ {
538
+ name: "Identity API: getIdentity()",
539
+ runTest: function(datastore, t){
540
+ // summary:
541
+ // Simple test of the getIdentity function of the store.
542
+ // description:
543
+ // Simple test of the getIdentity function of the store.
544
+ var store = new datastore(tests.data.readOnlyItemFileTestTemplates.getTestData("countries"));
545
+
546
+ var d = new doh.Deferred();
547
+ function onItem(item){
548
+ t.assertTrue(item !== null);
549
+ t.assertTrue(store.getIdentity(item) === "sv");
550
+ d.callback(true);
551
+ }
552
+ function onError(errData){
553
+ t.assertTrue(false);
554
+ d.errback(errData);
555
+ }
556
+ store.fetchItemByIdentity({identity: "sv", onItem: onItem, onError: onError});
557
+ return d; // Deferred
558
+ }
559
+ },
560
+ {
561
+ name: "Identity API: getIdentity() withoutSpecifiedId",
562
+ runTest: function(datastore, t){
563
+ // summary:
564
+ // Simple test of the #4691 bug
565
+ // description:
566
+ // Simple test of the #4691 bug
567
+ var store = new datastore(tests.data.readOnlyItemFileTestTemplates.getTestData("countries_withoutid"));
568
+
569
+ var d = new doh.Deferred();
570
+ function onItem(item, request){
571
+ t.assertTrue(item !== null);
572
+ t.assertTrue(store.getIdentity(item) === 2);
573
+ d.callback(true);
574
+ }
575
+ function onError(errData, request){
576
+ t.assertTrue(false);
577
+ d.errback(errData);
578
+ }
579
+ store.fetch({ query:{abbr: "sv"}, onItem: onItem, onError: onError});
580
+ return d; // Deferred
581
+ }
582
+ },
583
+ {
584
+ name: "Read API: fetch() all",
585
+ runTest: function(datastore, t){
586
+ // summary:
587
+ // Simple test of a basic fetch on ItemFileReadStore.
588
+ // description:
589
+ // Simple test of a basic fetch on ItemFileReadStore.
590
+ var store = new datastore(tests.data.readOnlyItemFileTestTemplates.getTestData("countries"));
591
+
592
+ var d = new doh.Deferred();
593
+ function completedAll(items, request){
594
+ t.is(7, items.length);
595
+ d.callback(true);
596
+ }
597
+ function error(errData, request){
598
+ t.assertTrue(false);
599
+ d.errback(errData);
600
+ }
601
+
602
+ //Get everything...
603
+ store.fetch({ onComplete: completedAll, onError: error});
604
+ return d;
605
+ }
606
+ },
607
+ {
608
+ name: "Read API: fetch() all failOk",
609
+ runTest: function(datastore, t){
610
+ // summary:
611
+ // Simple test of a basic fetch on ItemFileReadStore that fails quietly.
612
+ // description:
613
+ // Simple test of a basic fetch on ItemFileReadStore that fails quietly.
614
+ if(dojo.isBrowser){
615
+ var storeParams = {
616
+ url: "noSuchUrl",
617
+ failOk: true
618
+ };
619
+ var store = new datastore(storeParams);
620
+ console.log(store);
621
+
622
+ var d = new doh.Deferred();
623
+ var completedAll = function(items, request){
624
+ d.errback(new Error("Should not be here, should have failed load."));
625
+ };
626
+ var error = function(errData, request){
627
+ d.callback(true);
628
+ };
629
+
630
+ //Get everything...
631
+ store.fetch({ onComplete: completedAll, onError: error});
632
+ return d;
633
+ }
634
+ }
635
+ },
636
+ {
637
+ name: "Read API: fetch() abort",
638
+ runTest: function(datastore, t){
639
+ // summary:
640
+ // Simple test of a basic fetch abort on ItemFileReadStore.
641
+ // description:
642
+ // Simple test of a basic fetch abort on ItemFileReadStore.
643
+ //Can only async abort in a browser, so disable this test from rhino
644
+ if(dojo.isBrowser){
645
+ var store = new datastore(tests.data.readOnlyItemFileTestTemplates.getTestData("countries"));
646
+
647
+ var d = new doh.Deferred();
648
+ var abortCalled = false;
649
+ function completedAll(items, request){
650
+ t.is(7, items.length);
651
+ if(abortCalled){
652
+ console.log("Made it to complete callback and abort was called. Problem.");
653
+ d.errback(new Error("Should not be here."));
654
+ }else{
655
+ //We beat out calling abort, so this is okay. Timing.
656
+ console.log("in onComplete and abort has not been called. Timing. This is okay.");
657
+ d.callback(true);
658
+ }
659
+ }
660
+ function error(errData, request){
661
+ //An abort should throw a cancel error, so we should
662
+ //reach this.
663
+ t.assertTrue(true);
664
+ d.callback(true);
665
+ }
666
+
667
+ //Get everything...
668
+ var req = store.fetch({ onComplete: completedAll, onError: error});
669
+ abortCalled=true;
670
+ console.log("Calling abort.");
671
+ req.abort();
672
+ return d;
673
+ }
674
+ }
675
+ },
676
+ {
677
+ name: "Read API: fetch() all (count === Infinity)",
678
+ runTest: function(datastore, t){
679
+ // summary:
680
+ // Simple test of a basic fetch on ItemFileReadStore and with a count of Infinity.
681
+ // description:
682
+ // Simple test of a basic fetch on ItemFileReadStore and with a count of Infinity.
683
+ var store = new datastore(tests.data.readOnlyItemFileTestTemplates.getTestData("countries"));
684
+
685
+ var d = new doh.Deferred();
686
+ function completedAll(items, request){
687
+ t.is(7, items.length);
688
+ d.callback(true);
689
+ }
690
+ function error(errData, request){
691
+ t.assertTrue(false);
692
+ d.errback(errData);
693
+ }
694
+
695
+ //Get everything...
696
+ store.fetch({ onComplete: completedAll, onError: error, start: 0, count: Infinity});
697
+ return d;
698
+ }
699
+ },
700
+ {
701
+ name: "Read API: fetch() all PreventCache",
702
+ runTest: function(datastore, t){
703
+ // summary:
704
+ // Simple test of a basic fetch on ItemFileReadStore.
705
+ // description:
706
+ // Simple test of a basic fetch on ItemFileReadStore.
707
+ var args = tests.data.readOnlyItemFileTestTemplates.getTestData("countries");
708
+ args.urlPreventCache = true;
709
+ var store = new datastore(args);
710
+
711
+ var d = new doh.Deferred();
712
+ function completedAll(items, request){
713
+ t.is(7, items.length);
714
+ d.callback(true);
715
+ }
716
+ function error(errData, request){
717
+ t.assertTrue(false);
718
+ d.errback(errData);
719
+ }
720
+
721
+ //Get everything...
722
+ store.fetch({ onComplete: completedAll, onError: error});
723
+ return d;
724
+ }
725
+ },
726
+ {
727
+ name: "Read API: fetch() one",
728
+ runTest: function(datastore, t){
729
+ // summary:
730
+ // Simple test of a basic fetch on ItemFileReadStore of a single item.
731
+ // description:
732
+ // Simple test of a basic fetch on ItemFileReadStore of a single item.
733
+ var store = new datastore(tests.data.readOnlyItemFileTestTemplates.getTestData("countries"));
734
+
735
+ var d = new doh.Deferred();
736
+ function onComplete(items, request){
737
+ t.assertEqual(items.length, 1);
738
+ d.callback(true);
739
+ }
740
+ function onError(errData, request){
741
+ t.assertTrue(false);
742
+ d.errback(errData);
743
+ }
744
+ store.fetch({ query: {abbr: "ec"},
745
+ onComplete: onComplete,
746
+ onError: onError
747
+ });
748
+ return d;
749
+ }
750
+ },
751
+ {
752
+ name: "Read API: fetch() shallow",
753
+ runTest: function(datastore, t){
754
+ // summary:
755
+ // Simple test of a basic fetch on ItemFileReadStore of only toplevel items
756
+ // description:
757
+ // Simple test of a basic fetch on ItemFileReadStore of only toplevel items.
758
+ var store = new datastore(tests.data.readOnlyItemFileTestTemplates.getTestData("geography_hierarchy_small"));
759
+
760
+ var d = new doh.Deferred();
761
+ function onComplete(items, request){
762
+ t.assertEqual(items.length, 2);
763
+ d.callback(true);
764
+ }
765
+ function onError(errData, request){
766
+ t.assertTrue(false);
767
+ d.errback(errData);
768
+ }
769
+ //Find all items starting with A, only toplevel (root) items.
770
+ store.fetch({ query: {name: "A*"},
771
+ onComplete: onComplete,
772
+ onError: onError
773
+ });
774
+ return d;
775
+ }
776
+ },
777
+ {
778
+ name: "Read API: fetch() Multiple",
779
+ runTest: function(datastore, t){
780
+ // summary:
781
+ // Tests that multiple fetches at the same time queue up properly and do not clobber each other on initial load.
782
+ // description:
783
+ // Tests that multiple fetches at the same time queue up properly and do not clobber each other on initial load.
784
+ var store = new datastore(tests.data.readOnlyItemFileTestTemplates.getTestData("geography_hierarchy_small"));
785
+
786
+ var d = new doh.Deferred();
787
+ var done = [false, false];
788
+
789
+ function onCompleteOne(items, request){
790
+ done[0] = true;
791
+ t.assertEqual(items.length, 2);
792
+ if(done[0] && done[1]){
793
+ d.callback(true);
794
+ }
795
+ }
796
+ function onCompleteTwo(items, request){
797
+ done[1] = true;
798
+ if(done[0] && done[1]){
799
+ d.callback(true);
800
+ }
801
+ }
802
+ function onError(errData, request){
803
+ t.assertTrue(false);
804
+ d.errback(errData);
805
+ }
806
+ //Find all items starting with A, only toplevel (root) items.
807
+ store.fetch({ query: {name: "A*"},
808
+ onComplete: onCompleteOne,
809
+ onError: onError
810
+ });
811
+
812
+ //Find all items starting with A, only toplevel (root) items.
813
+ store.fetch({ query: {name: "N*"},
814
+ onComplete: onCompleteTwo,
815
+ onError: onError
816
+ });
817
+
818
+ return d;
819
+ }
820
+ },
821
+ {
822
+ name: "Read API: fetch() MultipleMixedFetch",
823
+ runTest: function(datastore, t){
824
+ // summary:
825
+ // Tests that multiple fetches at the same time queue up properly and do not clobber each other on initial load.
826
+ // description:
827
+ // Tests that multiple fetches at the same time queue up properly and do not clobber each other on initial load.
828
+ // Tests an item fetch and an identity fetch.
829
+ var store = new datastore(tests.data.readOnlyItemFileTestTemplates.getTestData("countries"));
830
+
831
+ var d = new doh.Deferred();
832
+ var done = [false, false];
833
+
834
+ function onComplete(items, request){
835
+ done[0] = true;
836
+ t.assertEqual(items.length, 1);
837
+ if(done[0] && done[1]){
838
+ d.callback(true);
839
+ }
840
+ }
841
+ function onItem(item){
842
+ done[1] = true;
843
+ t.assertTrue(item !== null);
844
+ var name = store.getValue(item,"name");
845
+ t.assertEqual(name, "El Salvador");
846
+
847
+ if(done[0] && done[1]){
848
+ d.callback(true);
849
+ }
850
+ }
851
+ function onError(errData){
852
+ t.assertTrue(false);
853
+ d.errback(errData);
854
+ }
855
+
856
+ //Find all items starting with A, only toplevel (root) items.
857
+ store.fetch({ query: {name: "El*"},
858
+ onComplete: onComplete,
859
+ onError: onError
860
+ });
861
+
862
+ store.fetchItemByIdentity({identity: "sv", onItem: onItem, onError: onError});
863
+ return d;
864
+ }
865
+ },
866
+ {
867
+ name: "Read API: fetch() deep",
868
+ runTest: function(datastore, t){
869
+ // summary:
870
+ // Simple test of a basic fetch on ItemFileReadStore of all items (including children (nested))
871
+ // description:
872
+ // Simple test of a basic fetch on ItemFileReadStore of all items (including children (nested))
873
+ var store = new datastore(tests.data.readOnlyItemFileTestTemplates.getTestData("geography_hierarchy_small"));
874
+
875
+ var d = new doh.Deferred();
876
+ function onComplete(items, request){
877
+ t.assertEqual(items.length, 4);
878
+ d.callback(true);
879
+ }
880
+ function onError(errData, request){
881
+ t.assertTrue(false);
882
+ d.errback(errData);
883
+ }
884
+ //Find all items starting with A, including child (nested) items.
885
+ store.fetch({ query: {name: "A*"},
886
+ onComplete: onComplete,
887
+ onError: onError,
888
+ queryOptions: {deep:true}
889
+ });
890
+ return d;
891
+ }
892
+ },
893
+ {
894
+ name: "Read API: fetch() hierarchy off",
895
+ runTest: function(datastore, t){
896
+ // summary:
897
+ // Simple test of a basic fetch on ItemFileReadStore of all items with hierarchy disabled
898
+ // This should turn off processing child objects as data store items. It will still process
899
+ // references and type maps.
900
+ // description:
901
+ // Simple test of a basic fetch on ItemFileReadStore of all items with hierarchy disabled
902
+ // This should turn off processing child objects as data store items. It will still process
903
+ // references and type maps.
904
+ var store = new datastore(tests.data.readOnlyItemFileTestTemplates.getTestData("geography_hierarchy_small"));
905
+
906
+ //Set this as hierarchy off before fetch to make sure it traps and configs right.
907
+ store.hierarchical = false;
908
+
909
+ var d = new doh.Deferred();
910
+ function onComplete(items, request){
911
+ //With hierarchy off, this should only match 2, as only two data store items
912
+ //will be quertied
913
+ t.assertEqual(items.length, 2);
914
+ var i;
915
+ var passed = true;
916
+ for(i = 0; i < items.length; i++){
917
+ var countries = store.getValues(items[i], "countries");
918
+ if(countries){
919
+ var j;
920
+ //Make sure none of the child objects were processed into items.
921
+ for(j = 0; j<countries.length; j++){
922
+ passed = !store.isItem(countries[j]);
923
+ if(!passed){
924
+ break;
925
+ }
926
+ }
927
+ }
928
+ if(!passed){
929
+ break;
930
+ }
931
+ }
932
+ if(!passed){
933
+ d.errback(new Error("Located a child item with hierarchy off and no references in the data. Error."));
934
+ }else{
935
+ d.callback(true);
936
+ }
937
+ }
938
+ function onError(errData, request){
939
+ t.assertTrue(false);
940
+ d.errback(errData);
941
+ }
942
+ //Find all items starting with A, including child (nested) items.
943
+ store.fetch({ query: {name: "A*"},
944
+ onComplete: onComplete,
945
+ onError: onError,
946
+ queryOptions: {deep:true}
947
+ });
948
+ return d;
949
+ }
950
+ },
951
+ {
952
+ name: "Read API: fetch() hierarchy off refs still parse",
953
+ runTest: function(datastore, t){
954
+ // summary:
955
+ // Simple test of a basic fetch on ItemFileReadStore of all items with hierarchy disabled
956
+ // This should turn off processing child objects as data store items. It will still process
957
+ // references and type maps.
958
+ // description:
959
+ // Simple test of a basic fetch on ItemFileReadStore of all items with hierarchy disabled
960
+ // This should turn off processing child objects as data store items. It will still process
961
+ // references and type maps.
962
+ var store = new datastore(tests.data.readOnlyItemFileTestTemplates.getTestData("countries_references"));
963
+
964
+ //Set this as hierarchy off before fetch to make sure it traps and configs right.
965
+ store.hierarchical = false;
966
+
967
+ var d = new doh.Deferred();
968
+ function onComplete(items, request){
969
+ //With hierarchy off, this should only match 2, as only two data store items
970
+ //will be quertied
971
+ t.assertEqual(items.length, 4);
972
+ var i;
973
+ var passed = true;
974
+ for(i = 0; i < items.length; i++){
975
+ var countries = store.getValues(items[i], "children");
976
+ if(countries){
977
+ var j;
978
+ //Make sure none of the child objects were processed into items.
979
+ for(j = 0; j<countries.length; j++){
980
+ passed = store.isItem(countries[j]);
981
+ if(!passed){
982
+ break;
983
+ }
984
+ }
985
+ }
986
+ if(!passed){
987
+ break;
988
+ }
989
+ }
990
+ if(!passed){
991
+ d.errback(new Error("Found a non-child item in a reference list in a references based input. Error."));
992
+ }else{
993
+ d.callback(true);
994
+ }
995
+ }
996
+ function onError(errData, request){
997
+ t.assertTrue(false);
998
+ d.errback(errData);
999
+ }
1000
+ //Find all items starting with A, including child (nested) items.
1001
+ store.fetch({ query: {name: "A*"},
1002
+ onComplete: onComplete,
1003
+ onError: onError,
1004
+ queryOptions: {deep:true}
1005
+ });
1006
+ return d;
1007
+ }
1008
+ },
1009
+ {
1010
+ name: "Read API: fetch() one_commentFilteredJson",
1011
+ runTest: function(datastore, t){
1012
+ // summary:
1013
+ // Simple test of a basic fetch on ItemFileReadStore of a single item.
1014
+ // description:
1015
+ // Simple test of a basic fetch on ItemFileReadStore of a single item.
1016
+ // This tests loading a comment-filtered json file so that people using secure
1017
+ // data with this store can bypass the JavaSceipt hijack noted in Fortify's
1018
+ // paper.
1019
+ if(dojo.isBrowser){
1020
+ var store = new datastore({url: require.toUrl("./countries_commentFiltered.json")});
1021
+
1022
+ var d = new doh.Deferred();
1023
+ function onComplete(items, request){
1024
+ t.assertEqual(items.length, 1);
1025
+ d.callback(true);
1026
+ }
1027
+ function onError(errData, request){
1028
+ t.assertTrue(false);
1029
+ d.errback(errData);
1030
+ }
1031
+ store.fetch({ query: {abbr: "ec"},
1032
+ onComplete: onComplete,
1033
+ onError: onError
1034
+ });
1035
+ return d;
1036
+ }
1037
+ }
1038
+ },
1039
+ {
1040
+ name: "Read API: fetch() withNull",
1041
+ runTest: function(datastore, t){
1042
+ // summary:
1043
+ // Simple test of a basic fetch on ItemFileReadStore of a single item where some attributes are null.
1044
+ // description:
1045
+ // Simple test of a basic fetch on ItemFileReadStore of a single item where some attributes are null.
1046
+ // Introduced because of tracker: #3153
1047
+ var store = new datastore(tests.data.readOnlyItemFileTestTemplates.getTestData("countries_withNull"));
1048
+
1049
+ var d = new doh.Deferred();
1050
+ function onComplete(items, request){
1051
+ t.assertEqual(4, items.length);
1052
+ d.callback(true);
1053
+ }
1054
+ function onError(errData, request){
1055
+ t.assertTrue(false);
1056
+ d.errback(errData);
1057
+ }
1058
+ store.fetch({ query: {name: "E*"},
1059
+ onComplete: onComplete,
1060
+ onError: onError
1061
+ });
1062
+ return d;
1063
+ }
1064
+ },
1065
+ {
1066
+ name: "Read API: fetch() all_streaming",
1067
+ runTest: function(datastore, t){
1068
+ // summary:
1069
+ // Simple test of a basic fetch on ItemFileReadStore.
1070
+ // description:
1071
+ // Simple test of a basic fetch on ItemFileReadStore.
1072
+ var store = new datastore(tests.data.readOnlyItemFileTestTemplates.getTestData("countries"));
1073
+
1074
+ var d = new doh.Deferred();
1075
+ count = 0;
1076
+
1077
+ function onBegin(size, requestObj){
1078
+ t.assertEqual(size, 7);
1079
+ }
1080
+ function onItem(item, requestObj){
1081
+ t.assertTrue(store.isItem(item));
1082
+ count++;
1083
+ }
1084
+ function onComplete(items, request){
1085
+ t.assertEqual(count, 7);
1086
+ t.assertTrue(items === null);
1087
+ d.callback(true);
1088
+ }
1089
+ function onError(errData, request){
1090
+ t.assertTrue(false);
1091
+ d.errback(errData);
1092
+ }
1093
+
1094
+ //Get everything...
1095
+ store.fetch({ onBegin: onBegin,
1096
+ onItem: onItem,
1097
+ onComplete: onComplete,
1098
+ onError: onError
1099
+ });
1100
+ return d;
1101
+ }
1102
+ },
1103
+ {
1104
+ name: "Read API: fetch() paging",
1105
+ runTest: function(datastore, t){
1106
+ // summary:
1107
+ // Test of multiple fetches on a single result. Paging, if you will.
1108
+ // description:
1109
+ // Test of multiple fetches on a single result. Paging, if you will.
1110
+ var store = new datastore(tests.data.readOnlyItemFileTestTemplates.getTestData("countries"));
1111
+
1112
+ var d = new doh.Deferred();
1113
+ function dumpFirstFetch(items, request){
1114
+ t.assertEqual(items.length, 5);
1115
+ request.start = 3;
1116
+ request.count = 1;
1117
+ request.onComplete = dumpSecondFetch;
1118
+ store.fetch(request);
1119
+ }
1120
+
1121
+ function dumpSecondFetch(items, request){
1122
+ t.assertEqual(items.length, 1);
1123
+ request.start = 0;
1124
+ request.count = 5;
1125
+ request.onComplete = dumpThirdFetch;
1126
+ store.fetch(request);
1127
+ }
1128
+
1129
+ function dumpThirdFetch(items, request){
1130
+ t.assertEqual(items.length, 5);
1131
+ request.start = 2;
1132
+ request.count = 20;
1133
+ request.onComplete = dumpFourthFetch;
1134
+ store.fetch(request);
1135
+ }
1136
+
1137
+ function dumpFourthFetch(items, request){
1138
+ t.assertEqual(items.length, 5);
1139
+ request.start = 9;
1140
+ request.count = 100;
1141
+ request.onComplete = dumpFifthFetch;
1142
+ store.fetch(request);
1143
+ }
1144
+
1145
+ function dumpFifthFetch(items, request){
1146
+ t.assertEqual(items.length, 0);
1147
+ request.start = 2;
1148
+ request.count = 20;
1149
+ request.onComplete = dumpSixthFetch;
1150
+ store.fetch(request);
1151
+ }
1152
+
1153
+ function dumpSixthFetch(items, request){
1154
+ t.assertEqual(items.length, 5);
1155
+ d.callback(true);
1156
+ }
1157
+
1158
+ function completed(items, request){
1159
+ t.assertEqual(items.length, 7);
1160
+ request.start = 1;
1161
+ request.count = 5;
1162
+ request.onComplete = dumpFirstFetch;
1163
+ store.fetch(request);
1164
+ }
1165
+
1166
+ function error(errData, request){
1167
+ t.assertTrue(false);
1168
+ d.errback(errData);
1169
+ }
1170
+ store.fetch({onComplete: completed, onError: error});
1171
+ return d;
1172
+ }
1173
+ },
1174
+ {
1175
+ name: "Read API: fetch() with MultiType Match",
1176
+ runTest: function(datastore, t){
1177
+ // summary:
1178
+ // Simple test of a basic fetch againct an attribute that has different types for the value across items
1179
+ // description:
1180
+ // Simple test of a basic fetch againct an attribute that has different types for the value across items
1181
+ // Introduced because of tracker: #4931
1182
+ var store = new datastore(tests.data.readOnlyItemFileTestTemplates.getTestData("data_multitype"));
1183
+
1184
+ var d = new doh.Deferred();
1185
+ function onComplete(items, request){
1186
+ t.assertEqual(4, items.length);
1187
+ d.callback(true);
1188
+ }
1189
+ function onError(errData, request){
1190
+ t.assertTrue(false);
1191
+ d.errback(errData);
1192
+ }
1193
+ store.fetch({ query: {count: "1*"},
1194
+ onComplete: onComplete,
1195
+ onError: onError
1196
+ });
1197
+ return d;
1198
+ }
1199
+ },
1200
+ {
1201
+ name: "Read API: fetch() with RegExp Match",
1202
+ runTest: function(datastore, t){
1203
+ // summary:
1204
+ // Simple test of a basic fetch using a RegExp works with IFRS
1205
+ // description:
1206
+ // Simple test of a basic fetch using a RegExp works with IFRS
1207
+ var store = new datastore(tests.data.readOnlyItemFileTestTemplates.getTestData("data_multitype"));
1208
+
1209
+ var d = new doh.Deferred();
1210
+ function onComplete(items, request){
1211
+ t.assertEqual(4, items.length);
1212
+ d.callback(true);
1213
+ }
1214
+ function onError(errData, request){
1215
+ t.assertTrue(false);
1216
+ d.errback(errData);
1217
+ }
1218
+ store.fetch({ query: {count: new RegExp("^1.*$", "gi")},
1219
+ onComplete: onComplete,
1220
+ onError: onError
1221
+ });
1222
+ return d;
1223
+ }
1224
+ },
1225
+ {
1226
+ name: "Read API: fetch() with RegExp Match Inline",
1227
+ runTest: function(datastore, t){
1228
+ // summary:
1229
+ // Simple test of a basic fetch using a RegExp works with IFRS
1230
+ // description:
1231
+ // Simple test of a basic fetch using a RegExp works with IFRS
1232
+ var store = new datastore(tests.data.readOnlyItemFileTestTemplates.getTestData("data_multitype"));
1233
+
1234
+ var d = new doh.Deferred();
1235
+ function onComplete(items, request){
1236
+ t.assertEqual(4, items.length);
1237
+ d.callback(true);
1238
+ }
1239
+ function onError(errData, request){
1240
+ t.assertTrue(false);
1241
+ d.errback(errData);
1242
+ }
1243
+ store.fetch({ query: {count: /^1.*$/gi},
1244
+ onComplete: onComplete,
1245
+ onError: onError
1246
+ });
1247
+ return d;
1248
+ }
1249
+ },
1250
+ {
1251
+ name: "Read API: fetch() with MultiType, MultiValue Match",
1252
+ runTest: function(datastore, t){
1253
+ // summary:
1254
+ // Simple test of a basic fetch againct an attribute that has different types for the value across items
1255
+ // description:
1256
+ // Simple test of a basic fetch againct an attribute that has different types for the value across items
1257
+ // Introduced because of tracker: #4931
1258
+ var store = new datastore(tests.data.readOnlyItemFileTestTemplates.getTestData("data_multitype"));
1259
+
1260
+ var d = new doh.Deferred();
1261
+ function onComplete(items, request){
1262
+ t.assertEqual(7, items.length);
1263
+ d.callback(true);
1264
+ }
1265
+ function onError(errData, request){
1266
+ t.assertTrue(false);
1267
+ d.errback(errData);
1268
+ }
1269
+ store.fetch({ query: {value: "true"},
1270
+ onComplete: onComplete,
1271
+ onError: onError
1272
+ });
1273
+ return d;
1274
+ }
1275
+ },
1276
+ {
1277
+ name: "Read API: getLabel()",
1278
+ runTest: function(datastore, t){
1279
+ // summary:
1280
+ // Simple test of the getLabel function against a store set that has a label defined.
1281
+ // description:
1282
+ // Simple test of the getLabel function against a store set that has a label defined.
1283
+ var store = new datastore(tests.data.readOnlyItemFileTestTemplates.getTestData("countries"));
1284
+
1285
+ var d = new doh.Deferred();
1286
+ function onComplete(items, request){
1287
+ t.assertEqual(items.length, 1);
1288
+ var label = store.getLabel(items[0]);
1289
+ t.assertTrue(label !== null);
1290
+ t.assertEqual("Ecuador", label);
1291
+ d.callback(true);
1292
+ }
1293
+ function onError(errData, request){
1294
+ t.assertTrue(false);
1295
+ d.errback(errData);
1296
+ }
1297
+ store.fetch({ query: {abbr: "ec"},
1298
+ onComplete: onComplete,
1299
+ onError: onError
1300
+ });
1301
+ return d;
1302
+ }
1303
+ },
1304
+ {
1305
+ name: "Read API: getLabelAttributes()",
1306
+ runTest: function(datastore, t){
1307
+ // summary:
1308
+ // Simple test of the getLabelAttributes function against a store set that has a label defined.
1309
+ // description:
1310
+ // Simple test of the getLabelAttributes function against a store set that has a label defined.
1311
+ var store = new datastore(tests.data.readOnlyItemFileTestTemplates.getTestData("countries"));
1312
+
1313
+ var d = new doh.Deferred();
1314
+ function onComplete(items, request){
1315
+ t.assertEqual(items.length, 1);
1316
+ var labelList = store.getLabelAttributes(items[0]);
1317
+ t.assertTrue(dojo.isArray(labelList));
1318
+ t.assertEqual("name", labelList[0]);
1319
+ d.callback(true);
1320
+ }
1321
+ function onError(errData, request){
1322
+ t.assertTrue(false);
1323
+ d.errback(errData);
1324
+ }
1325
+ store.fetch({ query: {abbr: "ec"},
1326
+ onComplete: onComplete,
1327
+ onError: onError
1328
+ });
1329
+ return d;
1330
+ }
1331
+ },
1332
+ {
1333
+ name: "Read API: getValue()",
1334
+ runTest: function(datastore, t){
1335
+ // summary:
1336
+ // Simple test of the getValue function of the store.
1337
+ // description:
1338
+ // Simple test of the getValue function of the store.
1339
+ var store = new datastore(tests.data.readOnlyItemFileTestTemplates.getTestData("countries"));
1340
+
1341
+ var d = new doh.Deferred();
1342
+ function onItem(item){
1343
+ t.assertTrue(item !== null);
1344
+ var name = store.getValue(item,"name");
1345
+ t.assertTrue(name === "El Salvador");
1346
+ d.callback(true);
1347
+ }
1348
+ function onError(errData){
1349
+ t.assertTrue(false);
1350
+ d.errback(errData);
1351
+ }
1352
+ store.fetchItemByIdentity({identity: "sv", onItem: onItem, onError: onError});
1353
+ return d; // Deferred
1354
+ }
1355
+ },
1356
+ {
1357
+ name: "Read API: getValues()",
1358
+ runTest: function(datastore, t){
1359
+ // summary:
1360
+ // Simple test of the getValues function of the store.
1361
+ // description:
1362
+ // Simple test of the getValues function of the store.
1363
+ var store = new datastore(tests.data.readOnlyItemFileTestTemplates.getTestData("countries"));
1364
+
1365
+ var d = new doh.Deferred();
1366
+ function onItem(item){
1367
+ t.assertTrue(item !== null);
1368
+ var names = store.getValues(item,"name");
1369
+ t.assertTrue(dojo.isArray(names));
1370
+ t.assertEqual(names.length, 1);
1371
+ t.assertEqual(names[0], "El Salvador");
1372
+ d.callback(true);
1373
+ }
1374
+ function onError(errData){
1375
+ t.assertTrue(false);
1376
+ d.errback(errData);
1377
+ }
1378
+ store.fetchItemByIdentity({identity: "sv", onItem: onItem, onError: onError});
1379
+ return d; // Deferred
1380
+ }
1381
+ },
1382
+ {
1383
+ name: "Read API: isItem()",
1384
+ runTest: function(datastore, t){
1385
+ // summary:
1386
+ // Simple test of the isItem function of the store
1387
+ // description:
1388
+ // Simple test of the isItem function of the store
1389
+ var store = new datastore(tests.data.readOnlyItemFileTestTemplates.getTestData("countries"));
1390
+
1391
+ var d = new doh.Deferred();
1392
+ function onItem(item){
1393
+ t.assertTrue(item !== null);
1394
+ t.assertTrue(store.isItem(item));
1395
+ t.assertTrue(!store.isItem({}));
1396
+ d.callback(true);
1397
+ }
1398
+ function onError(errData){
1399
+ t.assertTrue(false);
1400
+ d.errback(errData);
1401
+ }
1402
+ store.fetchItemByIdentity({identity: "sv", onItem: onItem, onError: onError});
1403
+ return d; // Deferred
1404
+ }
1405
+ },
1406
+ {
1407
+ name: "Read API: isItem() multistore",
1408
+ runTest: function(datastore, t){
1409
+ // summary:
1410
+ // Simple test of the isItem function of the store
1411
+ // to verify two different store instances do not accept
1412
+ // items from each other.
1413
+ // description:
1414
+ // Simple test of the isItem function of the store
1415
+ // to verify two different store instances do not accept
1416
+ // items from each other.
1417
+
1418
+ // Two different instances, even if they read from the same URL
1419
+ // should not accept items between each other!
1420
+ var store1 = new datastore(tests.data.readOnlyItemFileTestTemplates.getTestData("countries"));
1421
+ var store2 = new datastore(tests.data.readOnlyItemFileTestTemplates.getTestData("countries"));
1422
+
1423
+ var d = new doh.Deferred();
1424
+ function onItem1(item1){
1425
+ t.assertTrue(item1 !== null);
1426
+
1427
+ function onItem2(item2){
1428
+ t.assertTrue(item1 !== null);
1429
+ t.assertTrue(item2 !== null);
1430
+ t.assertTrue(store1.isItem(item1));
1431
+ t.assertTrue(store2.isItem(item2));
1432
+ t.assertTrue(!store1.isItem(item2));
1433
+ t.assertTrue(!store2.isItem(item1));
1434
+ d.callback(true);
1435
+ }
1436
+ store2.fetchItemByIdentity({identity: "sv", onItem: onItem2, onError: onError});
1437
+
1438
+ }
1439
+ function onError(errData){
1440
+ t.assertTrue(false);
1441
+ d.errback(errData);
1442
+ }
1443
+ store1.fetchItemByIdentity({identity: "sv", onItem: onItem1, onError: onError});
1444
+ return d; // Deferred
1445
+ }
1446
+ },
1447
+ {
1448
+ name: "Read API: hasAttribute()",
1449
+ runTest: function(datastore, t){
1450
+ // summary:
1451
+ // Simple test of the hasAttribute function of the store
1452
+ // description:
1453
+ // Simple test of the hasAttribute function of the store
1454
+ var store = new datastore(tests.data.readOnlyItemFileTestTemplates.getTestData("countries"));
1455
+
1456
+ var d = new doh.Deferred();
1457
+ function onItem(item){
1458
+ try{
1459
+ t.assertTrue(item !== null);
1460
+
1461
+ t.assertTrue(store.hasAttribute(item, "abbr"));
1462
+ t.assertTrue(!store.hasAttribute(item, "abbr_not"));
1463
+
1464
+ //Test that null attributes throw an exception
1465
+ var passed = false;
1466
+ try{
1467
+ store.hasAttribute(item, null);
1468
+ }catch (e){
1469
+ passed = true;
1470
+ }
1471
+ t.assertTrue(passed);
1472
+ d.callback(true);
1473
+ }catch(e){
1474
+ d.errback(e);
1475
+ }
1476
+ }
1477
+ function onError(errData){
1478
+ t.assertTrue(false);
1479
+ d.errback(errData);
1480
+ }
1481
+ store.fetchItemByIdentity({identity: "sv", onItem: onItem, onError: onError});
1482
+ return d; // Deferred
1483
+ }
1484
+ },
1485
+ {
1486
+ name: "Read API: containsValue()",
1487
+ runTest: function(datastore, t){
1488
+ // summary:
1489
+ // Simple test of the containsValue function of the store
1490
+ // description:
1491
+ // Simple test of the containsValue function of the store
1492
+ var store = new datastore(tests.data.readOnlyItemFileTestTemplates.getTestData("countries"));
1493
+
1494
+ var d = new doh.Deferred();
1495
+ function onItem(item){
1496
+ t.assertTrue(item !== null);
1497
+ t.assertTrue(store.containsValue(item, "abbr", "sv"));
1498
+ t.assertTrue(!store.containsValue(item, "abbr", "sv1"));
1499
+ t.assertTrue(!store.containsValue(item, "abbr", null));
1500
+
1501
+ //Test that null attributes throw an exception
1502
+ var passed = false;
1503
+ try{
1504
+ store.containsValue(item, null, "foo");
1505
+ }catch (e){
1506
+ passed = true;
1507
+ }
1508
+ t.assertTrue(passed);
1509
+ d.callback(true);
1510
+ }
1511
+ function onError(errData){
1512
+ t.assertTrue(false);
1513
+ d.errback(errData);
1514
+ }
1515
+ store.fetchItemByIdentity({identity: "sv", onItem: onItem, onError: onError});
1516
+ return d; // Deferred
1517
+ }
1518
+ },
1519
+ {
1520
+ name: "Read API: getAttributes()",
1521
+ runTest: function(datastore, t){
1522
+ // summary:
1523
+ // Simple test of the getAttributes function of the store
1524
+ // description:
1525
+ // Simple test of the getAttributes function of the store
1526
+ var store = new datastore(tests.data.readOnlyItemFileTestTemplates.getTestData("countries"));
1527
+
1528
+ var d = new doh.Deferred();
1529
+ function onItem(item){
1530
+ t.assertTrue(item !== null);
1531
+ t.assertTrue(store.isItem(item));
1532
+
1533
+ var attributes = store.getAttributes(item);
1534
+ t.assertEqual(attributes.length, 3);
1535
+ for(var i = 0; i < attributes.length; i++){
1536
+ t.assertTrue((attributes[i] === "name" || attributes[i] === "abbr" || attributes[i] === "capital"));
1537
+ }
1538
+ d.callback(true);
1539
+ }
1540
+ function onError(errData){
1541
+ t.assertTrue(false);
1542
+ d.errback(errData);
1543
+ }
1544
+ store.fetchItemByIdentity({identity: "sv", onItem: onItem, onError: onError});
1545
+ return d; // Deferred
1546
+ }
1547
+ },
1548
+ {
1549
+ name: "Read API: getFeatures()",
1550
+ runTest: function(datastore, t){
1551
+ // summary:
1552
+ // Simple test of the getFeatures function of the store
1553
+ // description:
1554
+ // Simple test of the getFeatures function of the store
1555
+ var store = new datastore(tests.data.readOnlyItemFileTestTemplates.getTestData("countries"));
1556
+
1557
+ var features = store.getFeatures();
1558
+ t.assertTrue(features["dojo.data.api.Read"] != null);
1559
+ t.assertTrue(features["dojo.data.api.Identity"] != null);
1560
+ }
1561
+ },
1562
+ {
1563
+ name: "Read API: fetch() patternMatch0",
1564
+ runTest: function(datastore, t){
1565
+ // summary:
1566
+ // Function to test pattern matching of everything starting with lowercase e
1567
+ // description:
1568
+ // Function to test pattern matching of everything starting with lowercase e
1569
+ var store = new datastore(tests.data.readOnlyItemFileTestTemplates.getTestData("countries"));
1570
+
1571
+ var d = new doh.Deferred();
1572
+ function completed(items, request){
1573
+ t.assertEqual(items.length, 5);
1574
+ var passed = true;
1575
+ for(var i = 0; i < items.length; i++){
1576
+ var value = store.getValue(items[i], "abbr");
1577
+ if(!(value === "ec" || value === "eg" || value === "er" || value === "ee" || value === "et")){
1578
+ passed=false;
1579
+ break;
1580
+ }
1581
+ }
1582
+ t.assertTrue(passed);
1583
+ if (passed){
1584
+ d.callback(true);
1585
+ }else{
1586
+ d.errback(new Error("Unexpected abbreviation found, match failure."));
1587
+ }
1588
+ }
1589
+ function error(error, request){
1590
+ t.assertTrue(false);
1591
+ d.errback(error);
1592
+ }
1593
+ store.fetch({query: {abbr: "e*"}, onComplete: completed, onError: error});
1594
+ return d;
1595
+ }
1596
+ },
1597
+ {
1598
+ name: "Read API: fetch() patternMatch1",
1599
+ runTest: function(datastore, t){
1600
+ // summary:
1601
+ // Function to test pattern matching of everything with $ in it.
1602
+ // description:
1603
+ // Function to test pattern matching of everything with $ in it.
1604
+
1605
+ var store = new datastore({data: { identifier: "uniqueId",
1606
+ items: [ {uniqueId: 1, value:"foo*bar"},
1607
+ {uniqueId: 2, value:"bar*foo"},
1608
+ {uniqueId: 3, value:"boomBam"},
1609
+ {uniqueId: 4, value:"bit$Bite"},
1610
+ {uniqueId: 5, value:"ouagadogou"},
1611
+ {uniqueId: 6, value:"BaBaMaSaRa***Foo"},
1612
+ {uniqueId: 7, value:"squawl"},
1613
+ {uniqueId: 8, value:"seaweed"},
1614
+ {uniqueId: 9, value:"jfq4@#!$!@Rf14r14i5u"}
1615
+ ]
1616
+ }
1617
+ });
1618
+
1619
+ var d = new doh.Deferred();
1620
+ function completed(items, request){
1621
+ t.assertEqual(items.length, 2);
1622
+ var passed = true;
1623
+ for(var i = 0; i < items.length; i++){
1624
+ var value = store.getValue(items[i], "value");
1625
+ if(!(value === "bit$Bite" || value === "jfq4@#!$!@Rf14r14i5u")){
1626
+ passed=false;
1627
+ break;
1628
+ }
1629
+ }
1630
+ t.assertTrue(passed);
1631
+ if (passed){
1632
+ d.callback(true);
1633
+ }else{
1634
+ d.errback(new Error("Unexpected pattern matched. Filter failure."));
1635
+ }
1636
+ }
1637
+ function error(error, request){
1638
+ t.assertTrue(false);
1639
+ d.errback(error);
1640
+ }
1641
+ store.fetch({query: {value: "*$*"}, onComplete: completed, onError: error});
1642
+ return d;
1643
+ }
1644
+ },
1645
+ {
1646
+ name: "Read API: fetch() patternMatch2",
1647
+ runTest: function(datastore, t){
1648
+ // summary:
1649
+ // Function to test exact pattern match
1650
+ // description:
1651
+ // Function to test exact pattern match
1652
+
1653
+ var store = new datastore({data: { identifier: "uniqueId",
1654
+ items: [ {uniqueId: 1, value:"foo*bar"},
1655
+ {uniqueId: 2, value:"bar*foo"},
1656
+ {uniqueId: 3, value:"boomBam"},
1657
+ {uniqueId: 4, value:"bit$Bite"},
1658
+ {uniqueId: 5, value:"ouagadogou"},
1659
+ {uniqueId: 6, value:"BaBaMaSaRa***Foo"},
1660
+ {uniqueId: 7, value:"squawl"},
1661
+ {uniqueId: 8, value:"seaweed"},
1662
+ {uniqueId: 9, value:"jfq4@#!$!@Rf14r14i5u"}
1663
+ ]
1664
+ }
1665
+ });
1666
+
1667
+ var d = new doh.Deferred();
1668
+ function completed(items, request){
1669
+ t.assertEqual(items.length, 1);
1670
+ var passed = true;
1671
+ for(var i = 0; i < items.length; i++){
1672
+ var value = store.getValue(items[i], "value");
1673
+ if(!(value === "bar*foo")){
1674
+ passed=false;
1675
+ break;
1676
+ }
1677
+ }
1678
+ t.assertTrue(passed);
1679
+ if (passed){
1680
+ d.callback(true);
1681
+ }else{
1682
+ d.errback(new Error("Unexpected abbreviation found, match failure."));
1683
+ }
1684
+ }
1685
+ function error(error, request){
1686
+ t.assertTrue(false);
1687
+ d.errback(error);
1688
+ }
1689
+ store.fetch({query: {value: "bar\*foo"}, onComplete: completed, onError: error});
1690
+ return d;
1691
+ }
1692
+ },
1693
+ {
1694
+ name: "Read API: fetch() patternMatch_caseSensitive",
1695
+ runTest: function(datastore, t){
1696
+ // summary:
1697
+ // Function to test pattern matching of a pattern case-sensitively
1698
+ // description:
1699
+ // Function to test pattern matching of a pattern case-sensitively
1700
+
1701
+ var store = new datastore({data: { identifier: "uniqueId",
1702
+ items: [ {uniqueId: 1, value:"foo*bar"},
1703
+ {uniqueId: 2, value:"bar*foo"},
1704
+ {uniqueId: 3, value:"BAR*foo"},
1705
+ {uniqueId: 4, value:"BARBananafoo"}
1706
+ ]
1707
+ }
1708
+ });
1709
+
1710
+ var d = new doh.Deferred();
1711
+ function completed(items, request){
1712
+ t.assertEqual(1, items.length);
1713
+ var passed = true;
1714
+ for(var i = 0; i < items.length; i++){
1715
+ var value = store.getValue(items[i], "value");
1716
+ if(!(value === "bar*foo")){
1717
+ passed=false;
1718
+ break;
1719
+ }
1720
+ }
1721
+ t.assertTrue(passed);
1722
+ if (passed){
1723
+ d.callback(true);
1724
+ }else{
1725
+ d.errback(new Error("Unexpected pattern matched. Filter failure."));
1726
+ }
1727
+ }
1728
+ function error(error, request){
1729
+ t.assertTrue(false);
1730
+ d.errback(error);
1731
+ }
1732
+ store.fetch({query: {value: "bar\\*foo"}, queryOptions: {ignoreCase: false} , onComplete: completed, onError: error});
1733
+ return d;
1734
+ }
1735
+ },
1736
+ {
1737
+ name: "Read API: fetch() patternMatch_caseInsensitive",
1738
+ runTest: function(datastore, t){
1739
+ // summary:
1740
+ // Function to test pattern matching of a pattern case-insensitively
1741
+ // description:
1742
+ // Function to test pattern matching of a pattern case-insensitively
1743
+
1744
+ var store = new datastore({data: { identifier: "uniqueId",
1745
+ items: [ {uniqueId: 1, value:"foo*bar"},
1746
+ {uniqueId: 2, value:"bar*foo"},
1747
+ {uniqueId: 3, value:"BAR*foo"},
1748
+ {uniqueId: 4, value:"BARBananafoo"}
1749
+ ]
1750
+ }
1751
+ });
1752
+
1753
+ var d = new doh.Deferred();
1754
+ function completed(items, request){
1755
+ t.assertEqual(items.length, 2);
1756
+ var passed = true;
1757
+ for(var i = 0; i < items.length; i++){
1758
+ var value = store.getValue(items[i], "value");
1759
+ if(!(value === "BAR*foo" || value === "bar*foo")){
1760
+ passed=false;
1761
+ break;
1762
+ }
1763
+ }
1764
+ t.assertTrue(passed);
1765
+ if (passed){
1766
+ d.callback(true);
1767
+ }else{
1768
+ d.errback(new Error("Unexpected pattern matched. Filter failure."));
1769
+ }
1770
+ }
1771
+ function error(error, request){
1772
+ t.assertTrue(false);
1773
+ d.errback(error);
1774
+ }
1775
+ store.fetch({query: {value: "bar\\*foo"}, queryOptions: {ignoreCase: true}, onComplete: completed, onError: error});
1776
+ return d;
1777
+ }
1778
+ },
1779
+ {
1780
+ name: "Read API: fetch() sortNumeric",
1781
+ runTest: function(datastore, t){
1782
+ // summary:
1783
+ // Function to test sorting numerically.
1784
+ // description:
1785
+ // Function to test sorting numerically.
1786
+
1787
+ var store = new datastore({data: { identifier: "uniqueId",
1788
+ items: [ {uniqueId: 0, value:"fo|o*b.ar"},
1789
+ {uniqueId: 1, value:"ba|r*foo"},
1790
+ {uniqueId: 2, value:"boomBam"},
1791
+ {uniqueId: 3, value:"bit$Bite"},
1792
+ {uniqueId: 4, value:"ouagadogou"},
1793
+ {uniqueId: 5, value:"jfq4@#!$!@|f1.$4r14i5u"},
1794
+ {uniqueId: 6, value:"BaB{aMa|SaRa***F}oo"},
1795
+ {uniqueId: 7, value:"squawl"},
1796
+ {uniqueId: 9, value:"seaweed"},
1797
+ {uniqueId: 10, value:"zulu"},
1798
+ {uniqueId: 8, value:"seaweed"}
1799
+ ]
1800
+ }
1801
+ });
1802
+
1803
+ var d = new doh.Deferred();
1804
+ function completed(items, request){
1805
+ t.assertEqual(items.length, 11);
1806
+ var passed = true;
1807
+ for(var i = 0; i < items.length; i++){
1808
+ var value = store.getValue(items[i], "value");
1809
+ if(!(store.getValue(items[i], "uniqueId") === i)){
1810
+ passed=false;
1811
+ break;
1812
+ }
1813
+ }
1814
+ t.assertTrue(passed);
1815
+ if (passed){
1816
+ d.callback(true);
1817
+ }else{
1818
+ d.errback(new Error("Unexpected sorting order found, sort failure."));
1819
+ }
1820
+ }
1821
+
1822
+ function error(error, request){
1823
+ t.assertTrue(false);
1824
+ d.errback(error);
1825
+ }
1826
+
1827
+ var sortAttributes = [{attribute: "uniqueId"}];
1828
+ store.fetch({onComplete: completed, onError: error, sort: sortAttributes});
1829
+ return d;
1830
+ }
1831
+ },
1832
+ {
1833
+ name: "Read API: fetch() sortNumericDescending",
1834
+ runTest: function(datastore, t){
1835
+ // summary:
1836
+ // Function to test sorting numerically.
1837
+ // description:
1838
+ // Function to test sorting numerically.
1839
+
1840
+ var store = new datastore({data: { identifier: "uniqueId",
1841
+ items: [ {uniqueId: 0, value:"fo|o*b.ar"},
1842
+ {uniqueId: 1, value:"ba|r*foo"},
1843
+ {uniqueId: 2, value:"boomBam"},
1844
+ {uniqueId: 3, value:"bit$Bite"},
1845
+ {uniqueId: 4, value:"ouagadogou"},
1846
+ {uniqueId: 5, value:"jfq4@#!$!@|f1.$4r14i5u"},
1847
+ {uniqueId: 6, value:"BaB{aMa|SaRa***F}oo"},
1848
+ {uniqueId: 7, value:"squawl"},
1849
+ {uniqueId: 9, value:"seaweed"},
1850
+ {uniqueId: 10, value:"zulu"},
1851
+ {uniqueId: 8, value:"seaweed"}
1852
+ ]
1853
+ }
1854
+ });
1855
+ var d = new doh.Deferred();
1856
+ function completed(items, request){
1857
+ t.assertEqual(items.length, 11);
1858
+ var passed = true;
1859
+ for(var i = 0; i < items.length; i++){
1860
+ var value = store.getValue(items[i], "value");
1861
+ if(!((items.length - (store.getValue(items[i], "uniqueId") + 1)) === i)){
1862
+ passed=false;
1863
+ break;
1864
+ }
1865
+ }
1866
+ t.assertTrue(passed);
1867
+ if (passed){
1868
+ d.callback(true);
1869
+ }else{
1870
+ d.errback(new Error("Unexpected sorting order found, sort failure."));
1871
+ }
1872
+ }
1873
+
1874
+ function error(error, request){
1875
+ t.assertTrue(false);
1876
+ d.errback(error);
1877
+ }
1878
+
1879
+ var sortAttributes = [{attribute: "uniqueId", descending: true}];
1880
+ store.fetch({onComplete: completed, onError: error, sort: sortAttributes});
1881
+ return d;
1882
+ }
1883
+ },
1884
+ {
1885
+ name: "Read API: fetch() sortNumericWithCount",
1886
+ runTest: function(datastore, t){
1887
+ // summary:
1888
+ // Function to test sorting numerically in descending order, returning only a specified number of them.
1889
+ // description:
1890
+ // Function to test sorting numerically in descending order, returning only a specified number of them.
1891
+
1892
+ var store = new datastore({data: { identifier: "uniqueId",
1893
+ items: [ {uniqueId: 0, value:"fo|o*b.ar"},
1894
+ {uniqueId: 1, value:"ba|r*foo"},
1895
+ {uniqueId: 2, value:"boomBam"},
1896
+ {uniqueId: 3, value:"bit$Bite"},
1897
+ {uniqueId: 4, value:"ouagadogou"},
1898
+ {uniqueId: 5, value:"jfq4@#!$!@|f1.$4r14i5u"},
1899
+ {uniqueId: 6, value:"BaB{aMa|SaRa***F}oo"},
1900
+ {uniqueId: 7, value:"squawl"},
1901
+ {uniqueId: 9, value:"seaweed"},
1902
+ {uniqueId: 10, value:"zulu"},
1903
+ {uniqueId: 8, value:"seaweed"}
1904
+ ]
1905
+ }
1906
+ });
1907
+
1908
+ var d = new doh.Deferred();
1909
+ function completed(items, request){
1910
+ t.assertEqual(items.length, 5);
1911
+ var itemId = 10;
1912
+ var passed = true;
1913
+ for(var i = 0; i < items.length; i++){
1914
+ var value = store.getValue(items[i], "value");
1915
+ if(!(store.getValue(items[i], "uniqueId") === itemId)){
1916
+ passed=false;
1917
+ break;
1918
+ }
1919
+ itemId--; // Decrement the item id. We are descending sorted, so it should go 10, 9, 8, etc.
1920
+ }
1921
+ t.assertTrue(passed);
1922
+ if (passed){
1923
+ d.callback(true);
1924
+ }else{
1925
+ d.errback(new Error("Unexpected sorting order found, sort failure."));
1926
+ }
1927
+ }
1928
+
1929
+ function error(error, request){
1930
+ t.assertTrue(false);
1931
+ d.errback(error);
1932
+ }
1933
+
1934
+ var sortAttributes = [{attribute: "uniqueId", descending: true}];
1935
+ store.fetch({onComplete: completed, onError: error, sort: sortAttributes, count: 5});
1936
+ return d;
1937
+ }
1938
+ },
1939
+ {
1940
+ name: "Read API: fetch() sortAlphabetic",
1941
+ runTest: function(datastore, t){
1942
+ // summary:
1943
+ // Function to test sorting alphabetic ordering.
1944
+ // description:
1945
+ // Function to test sorting alphabetic ordering.
1946
+
1947
+ var store = new datastore({data: { identifier: "uniqueId",
1948
+ items: [ {uniqueId: 0, value:"abc"},
1949
+ {uniqueId: 1, value:"bca"},
1950
+ {uniqueId: 2, value:"abcd"},
1951
+ {uniqueId: 3, value:"abcdefg"},
1952
+ {uniqueId: 4, value:"lmnop"},
1953
+ {uniqueId: 5, value:"foghorn"},
1954
+ {uniqueId: 6, value:"qberty"},
1955
+ {uniqueId: 7, value:"qwerty"},
1956
+ {uniqueId: 8, value:""},
1957
+ {uniqueId: 9, value:"seaweed"},
1958
+ {uniqueId: 10, value:"123abc"}
1959
+
1960
+ ]
1961
+ }
1962
+ });
1963
+
1964
+ var d = new doh.Deferred();
1965
+ function completed(items, request){
1966
+ //Output should be in this order...
1967
+ var orderedArray = [ "",
1968
+ "123abc",
1969
+ "abc",
1970
+ "abcd",
1971
+ "abcdefg",
1972
+ "bca",
1973
+ "foghorn",
1974
+ "lmnop",
1975
+ "qberty",
1976
+ "qwerty",
1977
+ "seaweed"
1978
+ ];
1979
+ t.assertEqual(items.length, 11);
1980
+ var passed = true;
1981
+ for(var i = 0; i < items.length; i++){
1982
+ var value = store.getValue(items[i], "value");
1983
+ if(!(store.getValue(items[i], "value") === orderedArray[i])){
1984
+ passed=false;
1985
+ break;
1986
+ }
1987
+ }
1988
+ t.assertTrue(passed);
1989
+ if (passed){
1990
+ d.callback(true);
1991
+ }else{
1992
+ d.errback(new Error("Unexpected sorting order found, sort failure."));
1993
+ }
1994
+ }
1995
+
1996
+ function error(error, request){
1997
+ t.assertTrue(false);
1998
+ d.errback(error);
1999
+ }
2000
+
2001
+ var sortAttributes = [{attribute: "value"}];
2002
+ store.fetch({onComplete: completed, onError: error, sort: sortAttributes});
2003
+ return d;
2004
+ }
2005
+ },
2006
+ {
2007
+ name: "Read API: fetch() sortAlphabeticDescending",
2008
+ runTest: function(datastore, t){
2009
+ // summary:
2010
+ // Function to test sorting alphabetic ordering in descending mode.
2011
+ // description:
2012
+ // Function to test sorting alphabetic ordering in descending mode.
2013
+
2014
+ var store = new datastore({data: { identifier: "uniqueId",
2015
+ items: [ {uniqueId: 0, value:"abc"},
2016
+ {uniqueId: 1, value:"bca"},
2017
+ {uniqueId: 2, value:"abcd"},
2018
+ {uniqueId: 3, value:"abcdefg"},
2019
+ {uniqueId: 4, value:"lmnop"},
2020
+ {uniqueId: 5, value:"foghorn"},
2021
+ {uniqueId: 6, value:"qberty"},
2022
+ {uniqueId: 7, value:"qwerty"},
2023
+ {uniqueId: 8, value:""},
2024
+ {uniqueId: 9, value:"seaweed"},
2025
+ {uniqueId: 10, value:"123abc"}
2026
+
2027
+ ]
2028
+ }
2029
+ });
2030
+ var d = new doh.Deferred();
2031
+ function completed(items, request){
2032
+ //Output should be in this order...
2033
+ var orderedArray = [ "",
2034
+ "123abc",
2035
+ "abc",
2036
+ "abcd",
2037
+ "abcdefg",
2038
+ "bca",
2039
+ "foghorn",
2040
+ "lmnop",
2041
+ "qberty",
2042
+ "qwerty",
2043
+ "seaweed"
2044
+ ];
2045
+ orderedArray = orderedArray.reverse();
2046
+ t.assertEqual(items.length, 11);
2047
+
2048
+ var passed = true;
2049
+ for(var i = 0; i < items.length; i++){
2050
+ var value = store.getValue(items[i], "value");
2051
+ if(!(store.getValue(items[i], "value") === orderedArray[i])){
2052
+ passed=false;
2053
+ break;
2054
+ }
2055
+ }
2056
+ t.assertTrue(passed);
2057
+ if (passed){
2058
+ d.callback(true);
2059
+ }else{
2060
+ d.errback(new Error("Unexpected sorting order found, sort failure."));
2061
+ }
2062
+ }
2063
+
2064
+ function error(error, request){
2065
+ t.assertTrue(false);
2066
+ d.errback(error);
2067
+ }
2068
+
2069
+ var sortAttributes = [{attribute: "value", descending: true}];
2070
+ store.fetch({onComplete: completed, onError: error, sort: sortAttributes});
2071
+ return d;
2072
+ }
2073
+ },
2074
+ {
2075
+ name: "Read API: fetch() sortDate",
2076
+ runTest: function(datastore, t){
2077
+ // summary:
2078
+ // Function to test sorting date.
2079
+ // description:
2080
+ // Function to test sorting date.
2081
+
2082
+ var store = new datastore({data: { identifier: "uniqueId",
2083
+ items: [ {uniqueId: 0, value: new Date(0)},
2084
+ {uniqueId: 1, value: new Date(100)},
2085
+ {uniqueId: 2, value:new Date(1000)},
2086
+ {uniqueId: 3, value:new Date(2000)},
2087
+ {uniqueId: 4, value:new Date(3000)},
2088
+ {uniqueId: 5, value:new Date(4000)},
2089
+ {uniqueId: 6, value:new Date(5000)},
2090
+ {uniqueId: 7, value:new Date(6000)},
2091
+ {uniqueId: 8, value:new Date(7000)},
2092
+ {uniqueId: 9, value:new Date(8000)},
2093
+ {uniqueId: 10, value:new Date(9000)}
2094
+
2095
+ ]
2096
+ }
2097
+ });
2098
+
2099
+ var d = new doh.Deferred();
2100
+ function completed(items,request){
2101
+ var orderedArray = [0,100,1000,2000,3000,4000,5000,6000,7000,8000,9000];
2102
+ t.assertEqual(items.length, 11);
2103
+ var passed = true;
2104
+ for(var i = 0; i < items.length; i++){
2105
+ var value = store.getValue(items[i], "value");
2106
+ if(!(store.getValue(items[i], "value").getTime() === orderedArray[i])){
2107
+ passed=false;
2108
+ break;
2109
+ }
2110
+ }
2111
+ t.assertTrue(passed);
2112
+ if (passed){
2113
+ d.callback(true);
2114
+ }else{
2115
+ d.errback(new Error("Unexpected sorting order found, sort failure."));
2116
+ }
2117
+ }
2118
+
2119
+ function error(error, request){
2120
+ t.assertTrue(false);
2121
+ d.errback(error);
2122
+ }
2123
+
2124
+ var sortAttributes = [{attribute: "value"}];
2125
+ store.fetch({onComplete: completed, onError: error, sort: sortAttributes});
2126
+ return d;
2127
+ }
2128
+ },
2129
+ {
2130
+ name: "Read API: fetch() sortDateDescending",
2131
+ runTest: function(datastore, t){
2132
+ // summary:
2133
+ // Function to test sorting date in descending order.
2134
+ // description:
2135
+ // Function to test sorting date in descending order.
2136
+
2137
+ var store = new datastore({data: { identifier: "uniqueId",
2138
+ items: [ {uniqueId: 0, value: new Date(0)},
2139
+ {uniqueId: 1, value: new Date(100)},
2140
+ {uniqueId: 2, value:new Date(1000)},
2141
+ {uniqueId: 3, value:new Date(2000)},
2142
+ {uniqueId: 4, value:new Date(3000)},
2143
+ {uniqueId: 5, value:new Date(4000)},
2144
+ {uniqueId: 6, value:new Date(5000)},
2145
+ {uniqueId: 7, value:new Date(6000)},
2146
+ {uniqueId: 8, value:new Date(7000)},
2147
+ {uniqueId: 9, value:new Date(8000)},
2148
+ {uniqueId: 10, value:new Date(9000)}
2149
+
2150
+ ]
2151
+ }
2152
+ });
2153
+
2154
+ var d = new doh.Deferred();
2155
+ function completed(items,request){
2156
+ var orderedArray = [0,100,1000,2000,3000,4000,5000,6000,7000,8000,9000];
2157
+ orderedArray = orderedArray.reverse();
2158
+ t.assertEqual(items.length, 11);
2159
+ var passed = true;
2160
+ for(var i = 0; i < items.length; i++){
2161
+ var value = store.getValue(items[i], "value");
2162
+ if(!(store.getValue(items[i], "value").getTime() === orderedArray[i])){
2163
+ passed=false;
2164
+ break;
2165
+ }
2166
+ }
2167
+ t.assertTrue(passed);
2168
+ if (passed){
2169
+ d.callback(true);
2170
+ }else{
2171
+ d.errback(new Error("Unexpected sorting order found, sort failure."));
2172
+ }
2173
+ }
2174
+
2175
+ function error(error, request){
2176
+ t.assertTrue(false);
2177
+ d.errback(error);
2178
+ }
2179
+
2180
+ var sortAttributes = [{attribute: "value", descending: true}];
2181
+ store.fetch({onComplete: completed, onError: error, sort: sortAttributes});
2182
+ return d;
2183
+ }
2184
+ },
2185
+ {
2186
+ name: "Read API: fetch() sortMultiple",
2187
+ runTest: function(datastore, t){
2188
+ // summary:
2189
+ // Function to test sorting on multiple attributes.
2190
+ // description:
2191
+ // Function to test sorting on multiple attributes.
2192
+
2193
+ var store = new datastore({data: { identifier: "uniqueId",
2194
+ items: [ {uniqueId: 1, value:"fo|o*b.ar"},
2195
+ {uniqueId: 2, value:"ba|r*foo"},
2196
+ {uniqueId: 3, value:"boomBam"},
2197
+ {uniqueId: 4, value:"bit$Bite"},
2198
+ {uniqueId: 5, value:"ouagadogou"},
2199
+ {uniqueId: 6, value:"jfq4@#!$!@|f1.$4r14i5u"},
2200
+ {uniqueId: 7, value:"BaB{aMa|SaRa***F}oo"},
2201
+ {uniqueId: 8, value:"squawl"},
2202
+ {uniqueId: 10, value:"seaweed"},
2203
+ {uniqueId: 12, value:"seaweed"},
2204
+ {uniqueId: 11, value:"zulu"},
2205
+ {uniqueId: 9, value:"seaweed"}
2206
+ ]
2207
+ }
2208
+ });
2209
+
2210
+ var d = new doh.Deferred();
2211
+ function completed(items, request){
2212
+ var orderedArray0 = [7,2,4,3,1,6,5,12,10,9,8,11];
2213
+ var orderedArray1 = [ "BaB{aMa|SaRa***F}oo",
2214
+ "ba|r*foo",
2215
+ "bit$Bite",
2216
+ "boomBam",
2217
+ "fo|o*b.ar",
2218
+ "jfq4@#!$!@|f1.$4r14i5u",
2219
+ "ouagadogou",
2220
+ "seaweed",
2221
+ "seaweed",
2222
+ "seaweed",
2223
+ "squawl",
2224
+ "zulu"
2225
+ ];
2226
+ var passed = true;
2227
+ for(var i = 0; i < items.length; i++){
2228
+ var value = store.getValue(items[i], "value");
2229
+ if(!( (store.getValue(items[i], "uniqueId") === orderedArray0[i])&&
2230
+ (store.getValue(items[i], "value") === orderedArray1[i]))
2231
+ ){
2232
+ passed=false;
2233
+ break;
2234
+ }
2235
+ }
2236
+ t.assertTrue(passed);
2237
+ if (passed){
2238
+ d.callback(true);
2239
+ }else{
2240
+ d.errback(new Error("Unexpected sorting order found, sort failure."));
2241
+ }
2242
+ }
2243
+
2244
+ function error(error, request){
2245
+ t.assertTrue(false);
2246
+ d.errback(error);
2247
+ }
2248
+
2249
+ var sortAttributes = [{ attribute: "value"}, { attribute: "uniqueId", descending: true}];
2250
+ store.fetch({onComplete: completed, onError: error, sort: sortAttributes});
2251
+ return d;
2252
+ }
2253
+ },
2254
+ {
2255
+ name: "Read API: fetch() sortMultipleSpecialComparator",
2256
+ runTest: function(datastore, t){
2257
+ // summary:
2258
+ // Function to test sorting on multiple attributes with a custom comparator.
2259
+ // description:
2260
+ // Function to test sorting on multiple attributes with a custom comparator.
2261
+
2262
+ var store = new datastore({data: { identifier: "uniqueId",
2263
+ items: [ {uniqueId: 1, status:"CLOSED"},
2264
+ {uniqueId: 2, status:"OPEN"},
2265
+ {uniqueId: 3, status:"PENDING"},
2266
+ {uniqueId: 4, status:"BLOCKED"},
2267
+ {uniqueId: 5, status:"CLOSED"},
2268
+ {uniqueId: 6, status:"OPEN"},
2269
+ {uniqueId: 7, status:"PENDING"},
2270
+ {uniqueId: 8, status:"PENDING"},
2271
+ {uniqueId: 10, status:"BLOCKED"},
2272
+ {uniqueId: 12, status:"BLOCKED"},
2273
+ {uniqueId: 11, status:"OPEN"},
2274
+ {uniqueId: 9, status:"CLOSED"}
2275
+ ]
2276
+ }
2277
+ });
2278
+
2279
+
2280
+ store.comparatorMap = {};
2281
+ store.comparatorMap["status"] = function(a,b){
2282
+ var ret = 0;
2283
+ // We want to map these by what the priority of these items are, not by alphabetical.
2284
+ // So, custom comparator.
2285
+ var enumMap = { OPEN: 3, BLOCKED: 2, PENDING: 1, CLOSED: 0};
2286
+ if (enumMap[a] > enumMap[b]){
2287
+ ret = 1;
2288
+ }
2289
+ if (enumMap[a] < enumMap[b]){
2290
+ ret = -1;
2291
+ }
2292
+ return ret;
2293
+ };
2294
+
2295
+ var sortAttributes = [{attribute: "status", descending: true}, { attribute: "uniqueId", descending: true}];
2296
+
2297
+ var d = new doh.Deferred();
2298
+ function completed(items, findResult){
2299
+ var orderedArray = [11,6,2,12,10,4,8,7,3,9,5,1];
2300
+ var passed = true;
2301
+ for(var i = 0; i < items.length; i++){
2302
+ var value = store.getValue(items[i], "value");
2303
+ if(!(store.getValue(items[i], "uniqueId") === orderedArray[i])){
2304
+ passed=false;
2305
+ break;
2306
+ }
2307
+ }
2308
+ t.assertTrue(passed);
2309
+ if (passed){
2310
+ d.callback(true);
2311
+ }else{
2312
+ d.errback(new Error("Unexpected sorting order found, sort failure."));
2313
+ }
2314
+ }
2315
+
2316
+ function error(errData, request){
2317
+ t.assertTrue(false);
2318
+ d.errback(errData);
2319
+ }
2320
+ store.fetch({onComplete: completed, onError: error, sort: sortAttributes});
2321
+ return d;
2322
+ }
2323
+ },
2324
+ {
2325
+ name: "Read API: fetch() sortAlphabeticWithUndefined",
2326
+ runTest: function(datastore, t){
2327
+ // summary:
2328
+ // Function to test sorting alphabetic ordering.
2329
+ // description:
2330
+ // Function to test sorting alphabetic ordering.
2331
+
2332
+ var store = new datastore({data: { identifier: "uniqueId",
2333
+ items: [ {uniqueId: 0, value:"abc"},
2334
+ {uniqueId: 1, value:"bca"},
2335
+ {uniqueId: 2, value:"abcd"},
2336
+ {uniqueId: 3, value:"abcdefg"},
2337
+ {uniqueId: 4, value:"lmnop"},
2338
+ {uniqueId: 5, value:"foghorn"},
2339
+ {uniqueId: 6, value:"qberty"},
2340
+ {uniqueId: 7, value:"qwerty"},
2341
+ {uniqueId: 8 }, //Deliberate undefined value
2342
+ {uniqueId: 9, value:"seaweed"},
2343
+ {uniqueId: 10, value:"123abc"}
2344
+
2345
+ ]
2346
+ }
2347
+ });
2348
+
2349
+ var d = new doh.Deferred();
2350
+ function completed(items, request){
2351
+ //Output should be in this order...
2352
+ var orderedArray = [10,0,2,3,1,5,4,6,7,9,8];
2353
+ t.assertEqual(items.length, 11);
2354
+ var passed = true;
2355
+ for(var i = 0; i < items.length; i++){
2356
+ if(!(store.getValue(items[i], "uniqueId") === orderedArray[i])){
2357
+ passed=false;
2358
+ break;
2359
+ }
2360
+ }
2361
+ t.assertTrue(passed);
2362
+ if (passed){
2363
+ d.callback(true);
2364
+ }else{
2365
+ d.errback(new Error("Unexpected sorting order found, sort failure."));
2366
+ }
2367
+ }
2368
+
2369
+ function error(error, request){
2370
+ t.assertTrue(false);
2371
+ d.errback(error);
2372
+ }
2373
+
2374
+ var sortAttributes = [{attribute: "value"}];
2375
+ store.fetch({onComplete: completed, onError: error, sort: sortAttributes});
2376
+ return d;
2377
+ }
2378
+ },
2379
+ {
2380
+ name: "Read API: errorCondition_idCollision_inMemory",
2381
+ runTest: function(datastore, t){
2382
+ // summary:
2383
+ // Simple test of the errors thrown when there is an id collision in the data.
2384
+ // Added because of tracker: #2546
2385
+ // description:
2386
+ // Simple test of the errors thrown when there is an id collision in the data.
2387
+ // Added because of tracker: #2546
2388
+
2389
+ var store = new datastore({ data: { identifier: "uniqueId",
2390
+ items: [{uniqueId: 12345, value:"foo"},
2391
+ {uniqueId: 123456, value:"bar"},
2392
+ {uniqueId: 12345, value:"boom"},
2393
+ {uniqueId: 123457, value:"bit"}
2394
+ ]
2395
+ }
2396
+ });
2397
+ var d = new doh.Deferred();
2398
+ function onComplete(items, request){
2399
+ //This is bad if this fires, this case should fail and not call onComplete.
2400
+ t.assertTrue(false);
2401
+ d.callback(false);
2402
+ }
2403
+
2404
+ function reportError(errData, request){
2405
+ //This is good if this fires, it is expected.
2406
+ t.assertTrue(true);
2407
+ d.callback(true);
2408
+ }
2409
+ store.fetch({onComplete: onComplete, onError: reportError});
2410
+ return d;
2411
+ }
2412
+ },
2413
+ {
2414
+ name: "Read API: errorCondition_idCollision_xhr",
2415
+ runTest: function(datastore, t){
2416
+ // summary:
2417
+ // Simple test of the errors thrown when there is an id collision in the data.
2418
+ // Added because of tracker: #2546
2419
+ // description:
2420
+ // Simple test of the errors thrown when there is an id collision in the data.
2421
+ // Added because of tracker: #2546
2422
+
2423
+ if(dojo.isBrowser){
2424
+ var store = new datastore({url: require.toUrl("./countries_idcollision.json")});
2425
+ var d = new doh.Deferred();
2426
+ function onComplete(items, request){
2427
+ //This is bad if this fires, this case should fail and not call onComplete.
2428
+ t.assertTrue(false);
2429
+ d.callback(false);
2430
+ }
2431
+
2432
+ function reportError(errData, request){
2433
+ //This is good if this fires, it is expected.
2434
+ t.assertTrue(true);
2435
+ d.callback(true);
2436
+ }
2437
+ store.fetch({onComplete: onComplete, onError: reportError});
2438
+ return d;
2439
+ }
2440
+ }
2441
+ },
2442
+ {
2443
+ name: "Read API: Date_datatype",
2444
+ runTest: function(datastore, t){
2445
+ //var store = new datastore(tests.data.readOnlyItemFileTestTemplates.testFile["countries_withDates"]);
2446
+ var store = new datastore(tests.data.readOnlyItemFileTestTemplates.getTestData("countries_withDates"));
2447
+
2448
+ var d = new doh.Deferred();
2449
+ function onItem(item){
2450
+ t.assertTrue(item !== null);
2451
+ var independenceDate = store.getValue(item, "independence");
2452
+ t.assertTrue(independenceDate instanceof Date);
2453
+ //Check to see if the value was deserialized properly. Since the store stores in UTC/GMT, it
2454
+ //should also be compared in the UTC/GMT mode
2455
+ t.assertTrue(dojo.date.stamp.toISOString(independenceDate, {zulu:true}) === "1993-05-24T00:00:00Z");
2456
+ d.callback(true);
2457
+ }
2458
+ function onError(errData){
2459
+ t.assertTrue(false);
2460
+ d.errback(errData);
2461
+ }
2462
+ store.fetchItemByIdentity({identity:"er", onItem:onItem, onError:onError});
2463
+ return d; // Deferred
2464
+ }
2465
+ },
2466
+ {
2467
+ name: "Read API: custom_datatype_Color_SimpleMapping",
2468
+ runTest: function(datastore, t){
2469
+ // summary:
2470
+ // Function to test using literal values with custom datatypes
2471
+ var dataset = {
2472
+ identifier:'name',
2473
+ items: [
2474
+ { name:'Kermit', species:'frog', color:{_type:'Color', _value:'green'} },
2475
+ { name:'Beaker', hairColor:{_type:'Color', _value:'red'} }
2476
+ ]
2477
+ };
2478
+ var store = new datastore({
2479
+ data:dataset,
2480
+ typeMap:{'Color': dojo.Color}
2481
+ });
2482
+ var d = new doh.Deferred();
2483
+ function onItem(item){
2484
+ t.assertTrue(item !== null);
2485
+ var beaker = item;
2486
+ var hairColor = store.getValue(beaker, "hairColor");
2487
+ t.assertTrue(hairColor instanceof dojo.Color);
2488
+ t.assertTrue(hairColor.toHex() == "#ff0000");
2489
+ d.callback(true);
2490
+ }
2491
+ function onError(errData){
2492
+ d.errback(errData);
2493
+ }
2494
+ store.fetchItemByIdentity({identity:"Beaker", onItem:onItem, onError:onError});
2495
+ return d; // Deferred
2496
+ }
2497
+ },
2498
+ {
2499
+ name: "Read API: custom_datatype_Color_GeneralMapping",
2500
+ runTest: function(datastore, t){
2501
+ // summary:
2502
+ // Function to test using literal values with custom datatypes
2503
+ var dataset = {
2504
+ identifier:'name',
2505
+ items: [
2506
+ { name:'Kermit', species:'frog', color:{_type:'Color', _value:'green'} },
2507
+ { name:'Beaker', hairColor:{_type:'Color', _value:'red'} }
2508
+ ]
2509
+ };
2510
+ var store = new datastore({
2511
+ data:dataset,
2512
+ typeMap:{'Color': {
2513
+ type: dojo.Color,
2514
+ deserialize: function(value){
2515
+ return new dojo.Color(value);
2516
+ }
2517
+ }
2518
+ }
2519
+ });
2520
+ var d = new doh.Deferred();
2521
+ function onItem(item){
2522
+ t.assertTrue(item !== null);
2523
+ var beaker = item;
2524
+ var hairColor = store.getValue(beaker, "hairColor");
2525
+ t.assertTrue(hairColor instanceof dojo.Color);
2526
+ t.assertTrue(hairColor.toHex() == "#ff0000");
2527
+ d.callback(true);
2528
+ }
2529
+ function onError(errData){
2530
+ d.errback(errData);
2531
+ }
2532
+ store.fetchItemByIdentity({identity:"Beaker", onItem:onItem, onError:onError});
2533
+ return d; // Deferred
2534
+ }
2535
+ },
2536
+ {
2537
+ name: "Read API: custom_datatype_CustomObject 0 (False) value",
2538
+ runTest: function(datastore, t){
2539
+ // summary:
2540
+ // Function to test type mapping and _values that are false-like
2541
+ var dataset = {
2542
+ identifier:'name',
2543
+ items: [
2544
+ { name:'Bob', species:'human', age: {_type:'tests.data.Wrapper', _value:0} },
2545
+ { name:'Nancy', species:'human', age: {_type:'tests.data.Wrapper', _value:32} }
2546
+ ]
2547
+ };
2548
+ var store = new datastore({
2549
+ data:dataset,
2550
+ typeMap:{'tests.data.Wrapper': {
2551
+ type: tests.data.Wrapper,
2552
+ deserialize: function(value){
2553
+ return new tests.data.Wrapper(value);
2554
+ }
2555
+ }
2556
+ }
2557
+ });
2558
+ var d = new doh.Deferred();
2559
+ function onItem(item){
2560
+ t.assertTrue(item !== null);
2561
+ var bob = item;
2562
+ var age = store.getValue(item, "age");
2563
+ t.assertTrue(age instanceof tests.data.Wrapper);
2564
+ t.assertTrue(age.toString() == "WRAPPER: [0]");
2565
+ d.callback(true);
2566
+ }
2567
+ function onError(errData){
2568
+ d.errback(errData);
2569
+ }
2570
+ store.fetchItemByIdentity({identity:"Bob", onItem:onItem, onError:onError});
2571
+ return d; // Deferred
2572
+ }
2573
+ },
2574
+ {
2575
+ name: "Read API: custom_datatype_CustomObject Boolean False values",
2576
+ runTest: function(datastore, t){
2577
+ // summary:
2578
+ // Function to test type mapping and _values that are false-like
2579
+ var dataset = {
2580
+ identifier:'name',
2581
+ items: [
2582
+ { name:'Bob', isHuman: {_type:'tests.data.Wrapper', _value:false} },
2583
+ { name:'Nancy', isHuman: {_type:'tests.data.Wrapper', _value: true} }
2584
+ ]
2585
+ };
2586
+ var store = new datastore({
2587
+ data:dataset,
2588
+ typeMap:{'tests.data.Wrapper': {
2589
+ type: tests.data.Wrapper,
2590
+ deserialize: function(value){
2591
+ return new tests.data.Wrapper(value);
2592
+ }
2593
+ }
2594
+ }
2595
+ });
2596
+ var d = new doh.Deferred();
2597
+ function onItem(item){
2598
+ t.assertTrue(item !== null);
2599
+ var bob = item;
2600
+ var isHuman = store.getValue(item, "isHuman");
2601
+ t.assertTrue(isHuman instanceof tests.data.Wrapper);
2602
+ t.assertTrue(isHuman.toString() == "WRAPPER: [false]");
2603
+ d.callback(true);
2604
+ }
2605
+ function onError(errData){
2606
+ d.errback(errData);
2607
+ }
2608
+ store.fetchItemByIdentity({identity:"Bob", onItem:onItem, onError:onError});
2609
+ return d; // Deferred
2610
+ }
2611
+ },
2612
+ {
2613
+ name: "Read API: custom_datatype_CustomObject Empty String values",
2614
+ runTest: function(datastore, t){
2615
+ // summary:
2616
+ // Function to test type mapping and _values that are false-like
2617
+ var dataset = {
2618
+ identifier:'name',
2619
+ items: [
2620
+ { name:'Bob', lastName: {_type:'tests.data.Wrapper', _value:""} },
2621
+ { name:'Nancy', lastName: {_type:'tests.data.Wrapper', _value: "Doe"} }
2622
+ ]
2623
+ };
2624
+ var store = new datastore({
2625
+ data:dataset,
2626
+ typeMap:{'tests.data.Wrapper': {
2627
+ type: tests.data.Wrapper,
2628
+ deserialize: function(value){
2629
+ return new tests.data.Wrapper(value);
2630
+ }
2631
+ }
2632
+ }
2633
+ });
2634
+ var d = new doh.Deferred();
2635
+ function onItem(item){
2636
+ t.assertTrue(item !== null);
2637
+ var bob = item;
2638
+ var lastName = store.getValue(item, "lastName");
2639
+ t.assertTrue(lastName instanceof tests.data.Wrapper);
2640
+ t.assertTrue(lastName.toString() == "WRAPPER: []");
2641
+ d.callback(true);
2642
+ }
2643
+ function onError(errData){
2644
+ d.errback(errData);
2645
+ }
2646
+ store.fetchItemByIdentity({identity:"Bob", onItem:onItem, onError:onError});
2647
+ return d; // Deferred
2648
+ }
2649
+ },
2650
+ {
2651
+ name: "Read API: custom_datatype_CustomObject explicit null values",
2652
+ runTest: function(datastore, t){
2653
+ // summary:
2654
+ // Function to test type mapping and _values that are false-like
2655
+ var dataset = {
2656
+ identifier:'name',
2657
+ items: [
2658
+ { name:'Bob', lastName: {_type:'tests.data.Wrapper', _value:null} },
2659
+ { name:'Nancy', lastName: {_type:'tests.data.Wrapper', _value: "Doe"} }
2660
+ ]
2661
+ };
2662
+ var store = new datastore({
2663
+ data:dataset,
2664
+ typeMap:{'tests.data.Wrapper': {
2665
+ type: tests.data.Wrapper,
2666
+ deserialize: function(value){
2667
+ return new tests.data.Wrapper(value);
2668
+ }
2669
+ }
2670
+ }
2671
+ });
2672
+ var d = new doh.Deferred();
2673
+ function onItem(item){
2674
+ t.assertTrue(item !== null);
2675
+ var bob = item;
2676
+ var lastName = store.getValue(item, "lastName");
2677
+ t.assertTrue(lastName instanceof tests.data.Wrapper);
2678
+ t.assertTrue(lastName.toString() == "WRAPPER: [null]");
2679
+ d.callback(true);
2680
+ }
2681
+ function onError(errData){
2682
+ d.errback(errData);
2683
+ }
2684
+ store.fetchItemByIdentity({identity:"Bob", onItem:onItem, onError:onError});
2685
+ return d; // Deferred
2686
+ }
2687
+ },
2688
+ {
2689
+ name: "Read API: custom_datatype_CustomObject explicit undefined value",
2690
+ runTest: function(datastore, t){
2691
+ // summary:
2692
+ // Function to test type mapping and _values that are false-like
2693
+ var dataset = {
2694
+ identifier:'name',
2695
+ items: [
2696
+ { name:'Bob', lastName: {_type:'tests.data.Wrapper', _value: undefined} },
2697
+ { name:'Nancy', lastName: {_type:'tests.data.Wrapper', _value: "Doe"} }
2698
+ ]
2699
+ };
2700
+ var store = new datastore({
2701
+ data:dataset,
2702
+ typeMap:{'tests.data.Wrapper': {
2703
+ type: tests.data.Wrapper,
2704
+ deserialize: function(value){
2705
+ return new tests.data.Wrapper(value);
2706
+ }
2707
+ }
2708
+ }
2709
+ });
2710
+ var d = new doh.Deferred();
2711
+ function onItem(item){
2712
+ t.assertTrue(item !== null);
2713
+ var bob = item;
2714
+ var lastName = store.getValue(item, "lastName");
2715
+ t.assertTrue(lastName instanceof tests.data.Wrapper);
2716
+ t.assertTrue(lastName.toString() == "WRAPPER: [undefined]");
2717
+ d.callback(true);
2718
+ }
2719
+ function onError(errData){
2720
+ d.errback(errData);
2721
+ }
2722
+ store.fetchItemByIdentity({identity:"Bob", onItem:onItem, onError:onError});
2723
+ return d; // Deferred
2724
+ }
2725
+ },
2726
+ {
2727
+ name: "Read API: hierarchical_data",
2728
+ runTest: function(datastore, t){
2729
+ //var store = new datastore(tests.data.readOnlyItemFileTestTemplates.testFile["geography_hierarchy_small"]);
2730
+ var store = new datastore(tests.data.readOnlyItemFileTestTemplates.getTestData("geography_hierarchy_small"));
2731
+ var d = new doh.Deferred();
2732
+ function onComplete(items, request){
2733
+ t.assertEqual(items.length, 1);
2734
+ var northAmerica = items[0];
2735
+ var canada = store.getValue(northAmerica, "countries");
2736
+ var toronto = store.getValue(canada, "cities");
2737
+ t.assertEqual(store.getValue(canada, "name"), "Canada");
2738
+ t.assertEqual(store.getValue(toronto, "name"), "Toronto");
2739
+ d.callback(true);
2740
+ }
2741
+ function onError(errData){
2742
+ d.errback(errData);
2743
+ }
2744
+ store.fetch({
2745
+ query: {name: "North America"},
2746
+ onComplete: onComplete,
2747
+ onError: onError
2748
+ });
2749
+
2750
+ return d; // Deferred
2751
+ }
2752
+ },
2753
+ {
2754
+ name: "Read API: close (clearOnClose: true)",
2755
+ runTest: function(datastore, t){
2756
+ // summary:
2757
+ // Function to test the close api properly clears the store for reload when clearOnClose is set.
2758
+ if (dojo.isBrowser){
2759
+ var params = tests.data.readOnlyItemFileTestTemplates.getTestData("countries");
2760
+ params.clearOnClose = true;
2761
+ params.urlPreventCache = true;
2762
+ var store = new datastore(params);
2763
+
2764
+ var d = new doh.Deferred();
2765
+ function onItem(item){
2766
+ var error = null;
2767
+ try {
2768
+ t.assertTrue(item !== null);
2769
+ var ec = item;
2770
+ var val = store.getValue(ec, "name");
2771
+ t.assertEqual("Ecuador", val);
2772
+
2773
+ store.close();
2774
+ //Check some internals here. Do not normally access these!
2775
+ t.assertTrue(store._arrayOfAllItems.length === 0);
2776
+ t.assertTrue(store._loadFinished === false);
2777
+ }catch (e){
2778
+ error = e;
2779
+ }
2780
+ if (error){
2781
+ d.errback(error);
2782
+ }else{
2783
+ d.callback(true);
2784
+ }
2785
+ }
2786
+ function onError(errData){
2787
+ d.errback(errData);
2788
+ }
2789
+ store.fetchItemByIdentity({identity:"ec", onItem:onItem, onError:onError});
2790
+ return d; // Deferred
2791
+ }
2792
+ }
2793
+ },
2794
+ {
2795
+ name: "Read API: close (clearOnClose: true, reset url.)",
2796
+ runTest: function(datastore, t){
2797
+ // summary:
2798
+ // Function to test the close api properly clears the store for reload when clearOnClose is set.
2799
+ if (dojo.isBrowser){
2800
+ var params = tests.data.readOnlyItemFileTestTemplates.getTestData("countries");
2801
+ params.clearOnClose = true;
2802
+ params.urlPreventCache = true;
2803
+ var store = new datastore(params);
2804
+
2805
+ var d = new doh.Deferred();
2806
+ function onItem(item){
2807
+ var error = null;
2808
+ try {
2809
+ t.assertTrue(item !== null);
2810
+ var ec = item;
2811
+ var val = store.getValue(ec, "name");
2812
+ t.assertEqual("Ecuador", val);
2813
+
2814
+ store.close();
2815
+ //Check some internals here. Do not normally access these!
2816
+ t.assertTrue(store._arrayOfAllItems.length === 0);
2817
+ t.assertTrue(store._loadFinished === false);
2818
+
2819
+ store.url = require.toUrl("./countries_withNull.json");
2820
+ function onItem2 (item){
2821
+ var err;
2822
+ try{
2823
+ t.assertTrue(item !== null);
2824
+ var val = store.getValue(item, "name");
2825
+ t.assertEqual(null, val);
2826
+ }catch(e){
2827
+ err = e;
2828
+ }
2829
+ if(err){
2830
+ d.errback(err);
2831
+ }else{
2832
+ d.callback(true);
2833
+ }
2834
+ }
2835
+ store.fetchItemByIdentity({identity:"ec", onItem:onItem2, onError:onError});
2836
+ }catch (e){
2837
+ error = e;
2838
+ }
2839
+ if (error){
2840
+ d.errback(error);
2841
+ }
2842
+ }
2843
+ function onError(errData){
2844
+ d.errback(errData);
2845
+ }
2846
+ store.fetchItemByIdentity({identity:"ec", onItem:onItem, onError:onError});
2847
+ return d; // Deferred
2848
+ }
2849
+ }
2850
+ },
2851
+ {
2852
+ name: "Read API: fetch, close (clearOnClose: true, reset url.)",
2853
+ runTest: function(datastore, t){
2854
+ // summary:
2855
+ // Function to test the close api properly clears the store for reload when clearOnClose is set.
2856
+ if (dojo.isBrowser){
2857
+ var params = tests.data.readOnlyItemFileTestTemplates.getTestData("countries");
2858
+ params.clearOnClose = true;
2859
+ params.urlPreventCache = true;
2860
+ var store = new datastore(params);
2861
+
2862
+ var d = new doh.Deferred();
2863
+ function onItem(item){
2864
+ var error = null;
2865
+ try {
2866
+ t.assertTrue(item !== null);
2867
+ var ec = item;
2868
+ var val = store.getValue(ec, "name");
2869
+ t.assertEqual("Ecuador", val);
2870
+
2871
+ store.close();
2872
+ //Check some internals here. Do not normally access these!
2873
+ t.assertTrue(store._arrayOfAllItems.length === 0);
2874
+ t.assertTrue(store._loadFinished === false);
2875
+
2876
+ store.url = require.toUrl("./countries_withNull.json");
2877
+ function onComplete (items){
2878
+ var err;
2879
+ try{
2880
+ t.assertEqual(1, items.length);
2881
+ var item = items[0];
2882
+ t.assertTrue(item !== null);
2883
+ var val = store.getValue(item, "name");
2884
+ t.assertEqual(null, val);
2885
+ }catch(e){
2886
+ err = e;
2887
+ }
2888
+ if(err){
2889
+ d.errback(err);
2890
+ }else{
2891
+ d.callback(true);
2892
+ }
2893
+ }
2894
+ store.fetch({query: {abbr:"ec"}, onComplete:onComplete, onError:onError});
2895
+ }catch (e){
2896
+ error = e;
2897
+ }
2898
+ if (error){
2899
+ d.errback(error);
2900
+ }
2901
+ }
2902
+ function onError(errData){
2903
+ d.errback(errData);
2904
+ }
2905
+ store.fetchItemByIdentity({identity:"ec", onItem:onItem, onError:onError});
2906
+ return d; // Deferred
2907
+ }
2908
+ }
2909
+ },
2910
+ {
2911
+ name: "Read API: close (clearOnClose: true, reset _jsonFileUrl.)",
2912
+ runTest: function(datastore, t){
2913
+ // summary:
2914
+ // Function to test the close api properly clears the store for reload when clearOnClose is set.
2915
+ if (dojo.isBrowser){
2916
+ var params = tests.data.readOnlyItemFileTestTemplates.getTestData("countries");
2917
+ params.clearOnClose = true;
2918
+ params.urlPreventCache = true;
2919
+ var store = new datastore(params);
2920
+
2921
+ var d = new doh.Deferred();
2922
+ function onItem(item){
2923
+ var error = null;
2924
+ try {
2925
+ t.assertTrue(item !== null);
2926
+ var ec = item;
2927
+ var val = store.getValue(ec, "name");
2928
+ t.assertEqual("Ecuador", val);
2929
+
2930
+ store.close();
2931
+ //Check some internals here. Do not normally access these!
2932
+ t.assertTrue(store._arrayOfAllItems.length === 0);
2933
+ t.assertTrue(store._loadFinished === false);
2934
+
2935
+ store._jsonFileUrl = require.toUrl("./countries_withNull.json");
2936
+ function onItem2 (item){
2937
+ var err;
2938
+ try{
2939
+ t.assertTrue(item !== null);
2940
+ var val = store.getValue(item, "name");
2941
+ t.assertEqual(null, val);
2942
+ }catch(e){
2943
+ err = e;
2944
+ }
2945
+ if(err){
2946
+ d.errback(err);
2947
+ }else{
2948
+ d.callback(true);
2949
+ }
2950
+ }
2951
+ store.fetchItemByIdentity({identity:"ec", onItem:onItem2, onError:onError});
2952
+ }catch (e){
2953
+ error = e;
2954
+ }
2955
+ if (error){
2956
+ d.errback(error);
2957
+ }
2958
+ }
2959
+ function onError(errData){
2960
+ d.errback(errData);
2961
+ }
2962
+ store.fetchItemByIdentity({identity:"ec", onItem:onItem, onError:onError});
2963
+ return d; // Deferred
2964
+ }
2965
+ }
2966
+ },
2967
+ {
2968
+ name: "Read API: close (clearOnClose: false)",
2969
+ runTest: function(datastore, t){
2970
+ // summary:
2971
+ // Function to test the close api properly clears the store for reload when clearOnClose is set.
2972
+ if (dojo.isBrowser){
2973
+ var params = tests.data.readOnlyItemFileTestTemplates.getTestData("countries");
2974
+ params.urlPreventCache = true;
2975
+ var store = new datastore(params);
2976
+
2977
+ var d = new doh.Deferred();
2978
+ function onItem(item){
2979
+ var error = null;
2980
+ try {
2981
+ t.assertTrue(item !== null);
2982
+ var ec = item;
2983
+ var val = store.getValue(ec, "name");
2984
+ t.assertEqual("Ecuador", val);
2985
+
2986
+ store.close();
2987
+ //Check some internals here. Do not normally access these!
2988
+ t.assertTrue(store._arrayOfAllItems.length !== 0);
2989
+ t.assertTrue(store._loadFinished === true);
2990
+ }catch (e){
2991
+ error = e;
2992
+ }
2993
+ if (error){
2994
+ d.errback(error);
2995
+ }else{
2996
+ d.callback(true);
2997
+ }
2998
+ }
2999
+ function onError(errData){
3000
+ d.errback(errData);
3001
+ }
3002
+ store.fetchItemByIdentity({identity:"ec", onItem:onItem, onError:onError});
3003
+ return d; // Deferred
3004
+ }
3005
+ }
3006
+ },
3007
+ {
3008
+ name: "Read API: close (clearOnClose: true, reset data.)",
3009
+ runTest: function(datastore, t){
3010
+ // summary:
3011
+ // Function to test that clear on close and reset of data works.
3012
+ // description:
3013
+ // Function to test that clear on close and reset of data works.
3014
+ var store = new datastore({data: { identifier: "uniqueId",
3015
+ items: [ {uniqueId: 1, value:"foo*bar"},
3016
+ {uniqueId: 2, value:"bar*foo"},
3017
+ {uniqueId: 3, value:"boomBam"},
3018
+ {uniqueId: 4, value:"bit$Bite"},
3019
+ {uniqueId: 5, value:"ouagadogou"},
3020
+ {uniqueId: 6, value:"BaBaMaSaRa***Foo"},
3021
+ {uniqueId: 7, value:"squawl"},
3022
+ {uniqueId: 8, value:"seaweed"},
3023
+ {uniqueId: 9, value:"jfq4@#!$!@Rf14r14i5u"}
3024
+ ]
3025
+ }
3026
+ });
3027
+
3028
+ var d = new doh.Deferred();
3029
+ var firstComplete = function(items, request){
3030
+ t.assertEqual(items.length, 1);
3031
+ var firstItem = items[0];
3032
+
3033
+ //Set the store clearing options and the new data
3034
+ store.clearOnClose = true;
3035
+ store.data = { identifier: "uniqueId",
3036
+ items: [
3037
+ {uniqueId: 1, value:"foo*bar"},
3038
+ {uniqueId: 2, value:"bar*foo"},
3039
+ {uniqueId: 3, value:"boomBam"},
3040
+ {uniqueId: 4, value:"bit$Bite"},
3041
+ {uniqueId: 5, value:"ouagadogou"},
3042
+ {uniqueId: 6, value:"BaBaMaSaRa***Foo"},
3043
+ {uniqueId: 7, value:"squawl"},
3044
+ {uniqueId: 8, value:"seaweed"},
3045
+ {uniqueId: 9, value:"jfq4@#!$!@Rf14r14i5u"}
3046
+ ]
3047
+ };
3048
+ store.close();
3049
+
3050
+ //Do the next fetch and verify that the next item you get is not
3051
+ //a reference to the same item (data cleared and reloaded.
3052
+ var secondComplete = function(items, request){
3053
+ try{
3054
+ t.assertEqual(items.length, 1);
3055
+ var secondItem = items[0];
3056
+ t.assertTrue(firstItem != null);
3057
+ t.assertTrue(secondItem != null);
3058
+ t.assertTrue(firstItem != secondItem);
3059
+ d.callback(true);
3060
+ }catch(e){
3061
+ d.errback(e);
3062
+ }
3063
+ };
3064
+ store.fetch({query: {value: "bar\*foo"}, onComplete: secondComplete, onError: error});
3065
+ };
3066
+ function error(error, request){
3067
+ t.assertTrue(false);
3068
+ d.errback(error);
3069
+ }
3070
+ store.fetch({query: {value: "bar\*foo"}, onComplete: firstComplete, onError: error});
3071
+ return d;
3072
+ }
3073
+ },
3074
+ {
3075
+ name: "Identity API: no_identifier_specified",
3076
+ runTest: function(datastore, t){
3077
+ var arrayOfItems = [
3078
+ {name:"Kermit", color:"green"},
3079
+ {name:"Miss Piggy", likes:"Kermit"},
3080
+ {name:"Beaker", hairColor:"red"}
3081
+ ];
3082
+ var store = new datastore({data:{items:arrayOfItems}});
3083
+ var d = new doh.Deferred();
3084
+ function onComplete(items, request){
3085
+ var features = store.getFeatures();
3086
+ var hasIdentityFeature = Boolean(features['dojo.data.api.Identity']);
3087
+ t.assertTrue(hasIdentityFeature);
3088
+ for(var i = 0; i < items.length; ++i){
3089
+ var item = items[i];
3090
+ var identifier = store.getIdentityAttributes(item);
3091
+ t.assertTrue(identifier === null);
3092
+ var identity = store.getIdentity(item);
3093
+ t.assertTrue(typeof identity == "number");
3094
+ }
3095
+ d.callback(true);
3096
+ }
3097
+ function reportError(errData, request){
3098
+ d.errback(true);
3099
+ }
3100
+ store.fetch({onComplete: onComplete, onError: reportError});
3101
+ return d; // Deferred
3102
+ }
3103
+ },
3104
+ {
3105
+ name: "Identity API: hierarchical_data",
3106
+ runTest: function(datastore, t){
3107
+ var store = new datastore(tests.data.readOnlyItemFileTestTemplates.getTestData("geography_hierarchy_small"));
3108
+ var d = new doh.Deferred();
3109
+ function onComplete(items, request){
3110
+ var features = store.getFeatures();
3111
+ var hasIdentityFeature = Boolean(features['dojo.data.api.Identity']);
3112
+ t.assertTrue(hasIdentityFeature);
3113
+ for(var i = 0; i < items.length; ++i){
3114
+ var item = items[i];
3115
+ var identifier = store.getIdentityAttributes(item);
3116
+ t.assertTrue(identifier === null);
3117
+ var identity = store.getIdentity(item);
3118
+ t.assertTrue(typeof identity == "number");
3119
+ }
3120
+ d.callback(true);
3121
+ }
3122
+ function reportError(errData, request){
3123
+ d.errback(true);
3124
+ }
3125
+ store.fetch({onComplete: onComplete, onError: reportError});
3126
+ return d; // Deferred
3127
+ }
3128
+ },
3129
+ {
3130
+ name: "Read API: functionConformance",
3131
+ runTest: function(datastore, t){
3132
+ // summary:
3133
+ // Simple test read API conformance. Checks to see all declared functions are actual functions on the instances.
3134
+ // description:
3135
+ // Simple test read API conformance. Checks to see all declared functions are actual functions on the instances.
3136
+ var testStore = new datastore(tests.data.readOnlyItemFileTestTemplates.getTestData("countries"));
3137
+ var readApi = new dojo.data.api.Read();
3138
+ var passed = true;
3139
+
3140
+ for(i in readApi){
3141
+ if(i.toString().charAt(0) !== '_')
3142
+ {
3143
+ var member = readApi[i];
3144
+ //Check that all the 'Read' defined functions exist on the test store.
3145
+ if(typeof member === "function"){
3146
+ var testStoreMember = testStore[i];
3147
+ if(!(typeof testStoreMember === "function")){
3148
+ passed = false;
3149
+ break;
3150
+ }
3151
+ }
3152
+ }
3153
+ }
3154
+ t.assertTrue(passed);
3155
+ }
3156
+ },
3157
+ {
3158
+ name: "Identity API: functionConformance",
3159
+ runTest: function(datastore, t){
3160
+ // summary:
3161
+ // Simple test identity API conformance. Checks to see all declared functions are actual functions on the instances.
3162
+ // description:
3163
+ // Simple test identity API conformance. Checks to see all declared functions are actual functions on the instances.
3164
+ var testStore = new datastore(tests.data.readOnlyItemFileTestTemplates.getTestData("countries"));
3165
+ var identityApi = new dojo.data.api.Identity();
3166
+ var passed = true;
3167
+
3168
+ for(i in identityApi){
3169
+
3170
+ if(i.toString().charAt(0) !== '_')
3171
+ {
3172
+ var member = identityApi[i];
3173
+ //Check that all the 'Read' defined functions exist on the test store.
3174
+ if(typeof member === "function"){
3175
+ var testStoreMember = testStore[i];
3176
+ if(!(typeof testStoreMember === "function")){
3177
+ passed = false;
3178
+ break;
3179
+ }
3180
+ }
3181
+ }
3182
+ }
3183
+ t.assertTrue(passed);
3184
+ }
3185
+ }
3186
+ ];
3187
+
3188
+ });