dijit-rails 0.9.0 → 0.10.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (1369) hide show
  1. data/.gitignore +17 -0
  2. data/dijit-rails.gemspec +17 -0
  3. data/lib/dijit/rails/version.rb +8 -0
  4. data/lib/dijit/rails.rb +1 -0
  5. data/lib/dijit/version.rb +6 -0
  6. data/lib/dijit-rails.rb +1 -0
  7. data/vendor/assets/images/a11y/colors3x4.png +0 -0
  8. data/vendor/assets/images/a11y/colors7x10.png +0 -0
  9. data/vendor/assets/images/a11y/indeterminate_progress.gif +0 -0
  10. data/vendor/assets/images/claro/activeGradient.png +0 -0
  11. data/vendor/assets/images/claro/activeGradient.svg +19 -0
  12. data/vendor/assets/images/claro/calendar.png +0 -0
  13. data/vendor/assets/images/claro/calendarArrows.png +0 -0
  14. data/vendor/assets/images/claro/calendarArrows8bit.png +0 -0
  15. data/vendor/assets/images/claro/checkmarkNoBorder.gif +0 -0
  16. data/vendor/assets/images/claro/checkmarkNoBorder.png +0 -0
  17. data/vendor/assets/images/claro/dialogCloseIcon.png +0 -0
  18. data/vendor/assets/images/claro/dialogCloseIcon8bit.png +0 -0
  19. data/vendor/assets/images/claro/dnd.png +0 -0
  20. data/vendor/assets/images/claro/form/images/buttonArrows.png +0 -0
  21. data/vendor/assets/images/claro/form/images/buttonDisabled.png +0 -0
  22. data/vendor/assets/images/claro/form/images/buttonDisabled.svg +23 -0
  23. data/vendor/assets/images/claro/form/images/buttonEnabled.png +0 -0
  24. data/vendor/assets/images/claro/form/images/buttonEnabled.svg +24 -0
  25. data/vendor/assets/images/claro/form/images/checkboxAndRadioButtons_IE6.png +0 -0
  26. data/vendor/assets/images/claro/form/images/checkboxRadioButtonStates.png +0 -0
  27. data/vendor/assets/images/claro/form/images/commonFormArrows.png +0 -0
  28. data/vendor/assets/images/claro/form/images/error.png +0 -0
  29. data/vendor/assets/images/claro/form/images/sliderThumbs.png +0 -0
  30. data/vendor/assets/images/claro/loadingAnimation.gif +0 -0
  31. data/vendor/assets/images/claro/progressBarAnim.gif +0 -0
  32. data/vendor/assets/images/claro/progressBarFull.png +0 -0
  33. data/vendor/assets/images/claro/spriteArrows.png +0 -0
  34. data/vendor/assets/images/claro/standardGradient.png +0 -0
  35. data/vendor/assets/images/claro/standardGradient.svg +18 -0
  36. data/vendor/assets/images/claro/tooltip.png +0 -0
  37. data/vendor/assets/images/claro/tooltip8bit.png +0 -0
  38. data/vendor/assets/images/claro/treeExpandImages.png +0 -0
  39. data/vendor/assets/images/claro/treeExpandImages8bit.png +0 -0
  40. data/vendor/assets/images/nihilo/accordionItemActive.png +0 -0
  41. data/vendor/assets/images/nihilo/buttonActive.png +0 -0
  42. data/vendor/assets/images/nihilo/buttonDisabled.png +0 -0
  43. data/vendor/assets/images/nihilo/buttonEnabled.png +0 -0
  44. data/vendor/assets/images/nihilo/buttonHover.png +0 -0
  45. data/vendor/assets/images/nihilo/dndCopy.png +0 -0
  46. data/vendor/assets/images/nihilo/dndMove.png +0 -0
  47. data/vendor/assets/images/nihilo/dndNoCopy.png +0 -0
  48. data/vendor/assets/images/nihilo/dndNoMove.png +0 -0
  49. data/vendor/assets/images/nihilo/no.gif +0 -0
  50. data/vendor/assets/images/nihilo/preciseSliderThumb.gif +0 -0
  51. data/vendor/assets/images/nihilo/preciseSliderThumb.png +0 -0
  52. data/vendor/assets/images/nihilo/preciseSliderThumbFocus.gif +0 -0
  53. data/vendor/assets/images/nihilo/preciseSliderThumbFocus.png +0 -0
  54. data/vendor/assets/images/nihilo/progressBarAnim.gif +0 -0
  55. data/vendor/assets/images/nihilo/progressBarEmpty.png +0 -0
  56. data/vendor/assets/images/nihilo/progressBarFull.png +0 -0
  57. data/vendor/assets/images/nihilo/sliderEmpty.png +0 -0
  58. data/vendor/assets/images/nihilo/sliderEmptyVertical.png +0 -0
  59. data/vendor/assets/images/nihilo/sliderFull.png +0 -0
  60. data/vendor/assets/images/nihilo/sliderFullFocus.png +0 -0
  61. data/vendor/assets/images/nihilo/sliderFullVertical.png +0 -0
  62. data/vendor/assets/images/nihilo/sliderFullVerticalFocus.png +0 -0
  63. data/vendor/assets/images/nihilo/sliderThumb.gif +0 -0
  64. data/vendor/assets/images/nihilo/sliderThumb.png +0 -0
  65. data/vendor/assets/images/nihilo/sliderThumbFocus.gif +0 -0
  66. data/vendor/assets/images/nihilo/sliderThumbFocus.png +0 -0
  67. data/vendor/assets/images/nihilo/splitContainerSizerH-thumb.png +0 -0
  68. data/vendor/assets/images/nihilo/splitContainerSizerH.png +0 -0
  69. data/vendor/assets/images/nihilo/splitContainerSizerV-thumb.png +0 -0
  70. data/vendor/assets/images/nihilo/splitContainerSizerV.png +0 -0
  71. data/vendor/assets/images/nihilo/spriteArrows.gif +0 -0
  72. data/vendor/assets/images/nihilo/spriteArrows.png +0 -0
  73. data/vendor/assets/images/nihilo/spriteCheckbox.gif +0 -0
  74. data/vendor/assets/images/nihilo/spriteCheckbox.png +0 -0
  75. data/vendor/assets/images/nihilo/spriteDivIcons.gif +0 -0
  76. data/vendor/assets/images/nihilo/spriteDivIcons.png +0 -0
  77. data/vendor/assets/images/nihilo/spriteRadio.gif +0 -0
  78. data/vendor/assets/images/nihilo/spriteRadio.png +0 -0
  79. data/vendor/assets/images/nihilo/spriteRoundedIconsSmall.gif +0 -0
  80. data/vendor/assets/images/nihilo/spriteRoundedIconsSmall.png +0 -0
  81. data/vendor/assets/images/nihilo/spriteTree.gif +0 -0
  82. data/vendor/assets/images/nihilo/spriteTree.png +0 -0
  83. data/vendor/assets/images/nihilo/spriteTree_rtl.gif +0 -0
  84. data/vendor/assets/images/nihilo/spriteTree_rtl.png +0 -0
  85. data/vendor/assets/images/nihilo/tabBottomActiveC.gif +0 -0
  86. data/vendor/assets/images/nihilo/tabBottomEnabledC.gif +0 -0
  87. data/vendor/assets/images/nihilo/tabBottomHoverC.gif +0 -0
  88. data/vendor/assets/images/nihilo/tabContainerSprite.gif +0 -0
  89. data/vendor/assets/images/nihilo/titleBar.png +0 -0
  90. data/vendor/assets/images/nihilo/titleBarActive.png +0 -0
  91. data/vendor/assets/images/nihilo/tooltipConnectorDown.gif +0 -0
  92. data/vendor/assets/images/nihilo/tooltipConnectorDown.png +0 -0
  93. data/vendor/assets/images/nihilo/tooltipConnectorLeft.gif +0 -0
  94. data/vendor/assets/images/nihilo/tooltipConnectorLeft.png +0 -0
  95. data/vendor/assets/images/nihilo/tooltipConnectorRight.gif +0 -0
  96. data/vendor/assets/images/nihilo/tooltipConnectorRight.png +0 -0
  97. data/vendor/assets/images/nihilo/tooltipConnectorUp.gif +0 -0
  98. data/vendor/assets/images/nihilo/tooltipConnectorUp.png +0 -0
  99. data/vendor/assets/images/nihilo/treeExpand_loading.gif +0 -0
  100. data/vendor/assets/images/nihilo/treeHover.png +0 -0
  101. data/vendor/assets/images/nihilo/treeI.gif +0 -0
  102. data/vendor/assets/images/nihilo/treeI_half.gif +0 -0
  103. data/vendor/assets/images/nihilo/treeI_half_rtl.gif +0 -0
  104. data/vendor/assets/images/nihilo/treeI_rtl.gif +0 -0
  105. data/vendor/assets/images/nihilo/validationInputBg.gif +0 -0
  106. data/vendor/assets/images/nihilo/validationInputBg.png +0 -0
  107. data/vendor/assets/images/nihilo/warning.png +0 -0
  108. data/vendor/assets/images/soria/accordionItemActive.gif +0 -0
  109. data/vendor/assets/images/soria/accordionItemActive.png +0 -0
  110. data/vendor/assets/images/soria/buttonActive.png +0 -0
  111. data/vendor/assets/images/soria/buttonDisabled.png +0 -0
  112. data/vendor/assets/images/soria/buttonEnabled.png +0 -0
  113. data/vendor/assets/images/soria/buttonHover.png +0 -0
  114. data/vendor/assets/images/soria/dndCopy.png +0 -0
  115. data/vendor/assets/images/soria/dndMove.png +0 -0
  116. data/vendor/assets/images/soria/dndNoCopy.png +0 -0
  117. data/vendor/assets/images/soria/dndNoMove.png +0 -0
  118. data/vendor/assets/images/soria/preciseSliderThumb.gif +0 -0
  119. data/vendor/assets/images/soria/preciseSliderThumb.png +0 -0
  120. data/vendor/assets/images/soria/preciseSliderThumbFocus.gif +0 -0
  121. data/vendor/assets/images/soria/preciseSliderThumbFocus.png +0 -0
  122. data/vendor/assets/images/soria/progressBarAnim.gif +0 -0
  123. data/vendor/assets/images/soria/progressBarEmpty.png +0 -0
  124. data/vendor/assets/images/soria/progressBarFull.png +0 -0
  125. data/vendor/assets/images/soria/sliderEmpty.png +0 -0
  126. data/vendor/assets/images/soria/sliderEmptyVertical.png +0 -0
  127. data/vendor/assets/images/soria/sliderFull.png +0 -0
  128. data/vendor/assets/images/soria/sliderFullFocus.png +0 -0
  129. data/vendor/assets/images/soria/sliderFullVertical.png +0 -0
  130. data/vendor/assets/images/soria/sliderFullVerticalFocus.png +0 -0
  131. data/vendor/assets/images/soria/sliderThumb.gif +0 -0
  132. data/vendor/assets/images/soria/sliderThumb.png +0 -0
  133. data/vendor/assets/images/soria/sliderThumbFocus.gif +0 -0
  134. data/vendor/assets/images/soria/sliderThumbFocus.png +0 -0
  135. data/vendor/assets/images/soria/splitContainerSizerH-thumb.png +0 -0
  136. data/vendor/assets/images/soria/splitContainerSizerH.png +0 -0
  137. data/vendor/assets/images/soria/splitContainerSizerV-thumb.png +0 -0
  138. data/vendor/assets/images/soria/splitContainerSizerV.png +0 -0
  139. data/vendor/assets/images/soria/spriteArrows.gif +0 -0
  140. data/vendor/assets/images/soria/spriteArrows.png +0 -0
  141. data/vendor/assets/images/soria/spriteCheckbox.gif +0 -0
  142. data/vendor/assets/images/soria/spriteCheckbox.png +0 -0
  143. data/vendor/assets/images/soria/spriteDivIcons.gif +0 -0
  144. data/vendor/assets/images/soria/spriteDivIcons.png +0 -0
  145. data/vendor/assets/images/soria/spriteRadio.gif +0 -0
  146. data/vendor/assets/images/soria/spriteRadio.png +0 -0
  147. data/vendor/assets/images/soria/spriteRoundedIconsSmall.gif +0 -0
  148. data/vendor/assets/images/soria/spriteRoundedIconsSmall.png +0 -0
  149. data/vendor/assets/images/soria/spriteRoundedIconsSmallBl.gif +0 -0
  150. data/vendor/assets/images/soria/spriteRoundedIconsSmallBl.png +0 -0
  151. data/vendor/assets/images/soria/spriteTree.gif +0 -0
  152. data/vendor/assets/images/soria/spriteTree.png +0 -0
  153. data/vendor/assets/images/soria/spriteTree_rtl.gif +0 -0
  154. data/vendor/assets/images/soria/spriteTree_rtl.png +0 -0
  155. data/vendor/assets/images/soria/tabBottomActiveC.gif +0 -0
  156. data/vendor/assets/images/soria/tabBottomEnabledC.gif +0 -0
  157. data/vendor/assets/images/soria/tabBottomEnabledSpriteLR.gif +0 -0
  158. data/vendor/assets/images/soria/tabBottomHoverC.gif +0 -0
  159. data/vendor/assets/images/soria/tabContainerSprite.gif +0 -0
  160. data/vendor/assets/images/soria/tabLeftChecked.gif +0 -0
  161. data/vendor/assets/images/soria/tabRightChecked.gif +0 -0
  162. data/vendor/assets/images/soria/titleBar.png +0 -0
  163. data/vendor/assets/images/soria/titleBarActive.png +0 -0
  164. data/vendor/assets/images/soria/tooltipConnectorDown.gif +0 -0
  165. data/vendor/assets/images/soria/tooltipConnectorDown.png +0 -0
  166. data/vendor/assets/images/soria/tooltipConnectorLeft.gif +0 -0
  167. data/vendor/assets/images/soria/tooltipConnectorLeft.png +0 -0
  168. data/vendor/assets/images/soria/tooltipConnectorRight.gif +0 -0
  169. data/vendor/assets/images/soria/tooltipConnectorRight.png +0 -0
  170. data/vendor/assets/images/soria/tooltipConnectorUp.gif +0 -0
  171. data/vendor/assets/images/soria/tooltipConnectorUp.png +0 -0
  172. data/vendor/assets/images/soria/treeExpand_loading.gif +0 -0
  173. data/vendor/assets/images/soria/treeHover.png +0 -0
  174. data/vendor/assets/images/soria/treeI.gif +0 -0
  175. data/vendor/assets/images/soria/treeI_half.gif +0 -0
  176. data/vendor/assets/images/soria/treeI_half_rtl.gif +0 -0
  177. data/vendor/assets/images/soria/treeI_rtl.gif +0 -0
  178. data/vendor/assets/images/soria/validationInputBg.gif +0 -0
  179. data/vendor/assets/images/soria/validationInputBg.png +0 -0
  180. data/vendor/assets/images/soria/warning.png +0 -0
  181. data/vendor/assets/images/tundra/accordionItemActive.gif +0 -0
  182. data/vendor/assets/images/tundra/accordionItemHover.gif +0 -0
  183. data/vendor/assets/images/tundra/buttonActive.png +0 -0
  184. data/vendor/assets/images/tundra/buttonDisabled.png +0 -0
  185. data/vendor/assets/images/tundra/buttonEnabled.png +0 -0
  186. data/vendor/assets/images/tundra/buttonHover.png +0 -0
  187. data/vendor/assets/images/tundra/calendarDayLabel.png +0 -0
  188. data/vendor/assets/images/tundra/calendarMonthLabel.png +0 -0
  189. data/vendor/assets/images/tundra/calendarYearLabel.png +0 -0
  190. data/vendor/assets/images/tundra/checkmark.gif +0 -0
  191. data/vendor/assets/images/tundra/checkmark.png +0 -0
  192. data/vendor/assets/images/tundra/checkmarkNoBorder.gif +0 -0
  193. data/vendor/assets/images/tundra/checkmarkNoBorder.png +0 -0
  194. data/vendor/assets/images/tundra/circleIcon.gif +0 -0
  195. data/vendor/assets/images/tundra/circleIcon.png +0 -0
  196. data/vendor/assets/images/tundra/comboArrowDown.gif +0 -0
  197. data/vendor/assets/images/tundra/dijitProgressBarAnim.gif +0 -0
  198. data/vendor/assets/images/tundra/dijitProgressBarAnim.psd +0 -0
  199. data/vendor/assets/images/tundra/dndCopy.png +0 -0
  200. data/vendor/assets/images/tundra/dndMove.png +0 -0
  201. data/vendor/assets/images/tundra/dndNoCopy.png +0 -0
  202. data/vendor/assets/images/tundra/dndNoMove.png +0 -0
  203. data/vendor/assets/images/tundra/dojoTundraGradientBg.gif +0 -0
  204. data/vendor/assets/images/tundra/dojoTundraGradientBg.png +0 -0
  205. data/vendor/assets/images/tundra/doubleArrowDown.png +0 -0
  206. data/vendor/assets/images/tundra/doubleArrowUp.png +0 -0
  207. data/vendor/assets/images/tundra/folderClosed.gif +0 -0
  208. data/vendor/assets/images/tundra/folderOpened.gif +0 -0
  209. data/vendor/assets/images/tundra/i.gif +0 -0
  210. data/vendor/assets/images/tundra/i_half.gif +0 -0
  211. data/vendor/assets/images/tundra/i_half_rtl.gif +0 -0
  212. data/vendor/assets/images/tundra/i_rtl.gif +0 -0
  213. data/vendor/assets/images/tundra/leaf.gif +0 -0
  214. data/vendor/assets/images/tundra/loading.gif +0 -0
  215. data/vendor/assets/images/tundra/menu.png +0 -0
  216. data/vendor/assets/images/tundra/minusButton.gif +0 -0
  217. data/vendor/assets/images/tundra/no.gif +0 -0
  218. data/vendor/assets/images/tundra/noX.gif +0 -0
  219. data/vendor/assets/images/tundra/plusButton.gif +0 -0
  220. data/vendor/assets/images/tundra/popupMenuBg.gif +0 -0
  221. data/vendor/assets/images/tundra/preciseSliderThumb.gif +0 -0
  222. data/vendor/assets/images/tundra/preciseSliderThumb.png +0 -0
  223. data/vendor/assets/images/tundra/preciseSliderThumbFocus.gif +0 -0
  224. data/vendor/assets/images/tundra/preciseSliderThumbFocus.png +0 -0
  225. data/vendor/assets/images/tundra/progressBarAnim-1.png +0 -0
  226. data/vendor/assets/images/tundra/progressBarAnim-2.png +0 -0
  227. data/vendor/assets/images/tundra/progressBarAnim-3.png +0 -0
  228. data/vendor/assets/images/tundra/progressBarAnim-4.png +0 -0
  229. data/vendor/assets/images/tundra/progressBarAnim-5.png +0 -0
  230. data/vendor/assets/images/tundra/progressBarAnim-6.png +0 -0
  231. data/vendor/assets/images/tundra/progressBarAnim-7.png +0 -0
  232. data/vendor/assets/images/tundra/progressBarAnim-8.png +0 -0
  233. data/vendor/assets/images/tundra/progressBarAnim-9.png +0 -0
  234. data/vendor/assets/images/tundra/progressBarAnim.gif +0 -0
  235. data/vendor/assets/images/tundra/progressBarAnim.psd +0 -0
  236. data/vendor/assets/images/tundra/progressBarEmpty.png +0 -0
  237. data/vendor/assets/images/tundra/progressBarFull.png +0 -0
  238. data/vendor/assets/images/tundra/radioButtonActive.png +0 -0
  239. data/vendor/assets/images/tundra/radioButtonActiveDisabled.png +0 -0
  240. data/vendor/assets/images/tundra/radioButtonActiveHover.png +0 -0
  241. data/vendor/assets/images/tundra/radioButtonDisabled.png +0 -0
  242. data/vendor/assets/images/tundra/radioButtonEnabled.png +0 -0
  243. data/vendor/assets/images/tundra/radioButtonHover.png +0 -0
  244. data/vendor/assets/images/tundra/sliderEmpty.png +0 -0
  245. data/vendor/assets/images/tundra/sliderEmptyVertical.png +0 -0
  246. data/vendor/assets/images/tundra/sliderFull.png +0 -0
  247. data/vendor/assets/images/tundra/sliderFullFocus.png +0 -0
  248. data/vendor/assets/images/tundra/sliderFullVertical.png +0 -0
  249. data/vendor/assets/images/tundra/sliderFullVerticalFocus.png +0 -0
  250. data/vendor/assets/images/tundra/sliderThumb.png +0 -0
  251. data/vendor/assets/images/tundra/sliderThumbFocus.gif +0 -0
  252. data/vendor/assets/images/tundra/sliderThumbFocus.png +0 -0
  253. data/vendor/assets/images/tundra/smallArrowDown.png +0 -0
  254. data/vendor/assets/images/tundra/smallArrowUp.png +0 -0
  255. data/vendor/assets/images/tundra/splitContainerSizerH-thumb.png +0 -0
  256. data/vendor/assets/images/tundra/splitContainerSizerH.png +0 -0
  257. data/vendor/assets/images/tundra/splitContainerSizerV-thumb.png +0 -0
  258. data/vendor/assets/images/tundra/splitContainerSizerV.png +0 -0
  259. data/vendor/assets/images/tundra/spriteArrows.gif +0 -0
  260. data/vendor/assets/images/tundra/spriteArrows.png +0 -0
  261. data/vendor/assets/images/tundra/spriteRoundedIconsSmall.gif +0 -0
  262. data/vendor/assets/images/tundra/spriteRoundedIconsSmall.png +0 -0
  263. data/vendor/assets/images/tundra/tabActive.png +0 -0
  264. data/vendor/assets/images/tundra/tabClose.gif +0 -0
  265. data/vendor/assets/images/tundra/tabClose.png +0 -0
  266. data/vendor/assets/images/tundra/tabCloseHover.gif +0 -0
  267. data/vendor/assets/images/tundra/tabCloseHover.png +0 -0
  268. data/vendor/assets/images/tundra/tabDisabled.png +0 -0
  269. data/vendor/assets/images/tundra/tabEnabled.png +0 -0
  270. data/vendor/assets/images/tundra/tabHover.gif +0 -0
  271. data/vendor/assets/images/tundra/tabHover.png +0 -0
  272. data/vendor/assets/images/tundra/titleBar.png +0 -0
  273. data/vendor/assets/images/tundra/titleBarBg.gif +0 -0
  274. data/vendor/assets/images/tundra/tooltipConnectorDown.gif +0 -0
  275. data/vendor/assets/images/tundra/tooltipConnectorDown.png +0 -0
  276. data/vendor/assets/images/tundra/tooltipConnectorLeft.gif +0 -0
  277. data/vendor/assets/images/tundra/tooltipConnectorLeft.png +0 -0
  278. data/vendor/assets/images/tundra/tooltipConnectorRight.gif +0 -0
  279. data/vendor/assets/images/tundra/tooltipConnectorRight.png +0 -0
  280. data/vendor/assets/images/tundra/tooltipConnectorUp.gif +0 -0
  281. data/vendor/assets/images/tundra/tooltipConnectorUp.png +0 -0
  282. data/vendor/assets/images/tundra/treeExpand_leaf.gif +0 -0
  283. data/vendor/assets/images/tundra/treeExpand_leaf_rtl.gif +0 -0
  284. data/vendor/assets/images/tundra/treeExpand_loading.gif +0 -0
  285. data/vendor/assets/images/tundra/treeExpand_minus.gif +0 -0
  286. data/vendor/assets/images/tundra/treeExpand_minus_rtl.gif +0 -0
  287. data/vendor/assets/images/tundra/treeExpand_mius.gif +0 -0
  288. data/vendor/assets/images/tundra/treeExpand_plus.gif +0 -0
  289. data/vendor/assets/images/tundra/treeExpand_plus_rtl.gif +0 -0
  290. data/vendor/assets/images/tundra/treeHover.png +0 -0
  291. data/vendor/assets/images/tundra/validationInputBg.gif +0 -0
  292. data/vendor/assets/images/tundra/validationInputBg.png +0 -0
  293. data/vendor/assets/images/tundra/warning.png +0 -0
  294. data/vendor/assets/javascripts/dijit/BackgroundIframe.js +63 -0
  295. data/vendor/assets/javascripts/dijit/BackgroundIframe.js.uncompressed.js +110 -0
  296. data/vendor/assets/javascripts/dijit/Calendar.js +122 -0
  297. data/vendor/assets/javascripts/dijit/Calendar.js.uncompressed.js +312 -0
  298. data/vendor/assets/javascripts/dijit/CalendarLite.js +193 -0
  299. data/vendor/assets/javascripts/dijit/CalendarLite.js.uncompressed.js +500 -0
  300. data/vendor/assets/javascripts/dijit/CheckedMenuItem.js +16 -0
  301. data/vendor/assets/javascripts/dijit/CheckedMenuItem.js.uncompressed.js +53 -0
  302. data/vendor/assets/javascripts/dijit/ColorPalette.js +23 -0
  303. data/vendor/assets/javascripts/dijit/ColorPalette.js.uncompressed.js +161 -0
  304. data/vendor/assets/javascripts/dijit/Declaration.js +29 -0
  305. data/vendor/assets/javascripts/dijit/Declaration.js.uncompressed.js +105 -0
  306. data/vendor/assets/javascripts/dijit/Destroyable.js +18 -0
  307. data/vendor/assets/javascripts/dijit/Destroyable.js.uncompressed.js +59 -0
  308. data/vendor/assets/javascripts/dijit/Dialog.js +274 -0
  309. data/vendor/assets/javascripts/dijit/Dialog.js.uncompressed.js +640 -0
  310. data/vendor/assets/javascripts/dijit/DialogUnderlay.js +29 -0
  311. data/vendor/assets/javascripts/dijit/DialogUnderlay.js.uncompressed.js +102 -0
  312. data/vendor/assets/javascripts/dijit/DropDownMenu.js +32 -0
  313. data/vendor/assets/javascripts/dijit/DropDownMenu.js.uncompressed.js +58 -0
  314. data/vendor/assets/javascripts/dijit/Editor.js +462 -0
  315. data/vendor/assets/javascripts/dijit/Editor.js.uncompressed.js +864 -0
  316. data/vendor/assets/javascripts/dijit/InlineEditBox.js +248 -0
  317. data/vendor/assets/javascripts/dijit/InlineEditBox.js.uncompressed.js +656 -0
  318. data/vendor/assets/javascripts/dijit/LICENSE +195 -0
  319. data/vendor/assets/javascripts/dijit/Menu.js +133 -0
  320. data/vendor/assets/javascripts/dijit/Menu.js.uncompressed.js +348 -0
  321. data/vendor/assets/javascripts/dijit/MenuBar.js +35 -0
  322. data/vendor/assets/javascripts/dijit/MenuBar.js.uncompressed.js +92 -0
  323. data/vendor/assets/javascripts/dijit/MenuBarItem.js +8 -0
  324. data/vendor/assets/javascripts/dijit/MenuBarItem.js.uncompressed.js +28 -0
  325. data/vendor/assets/javascripts/dijit/MenuItem.js +60 -0
  326. data/vendor/assets/javascripts/dijit/MenuItem.js.uncompressed.js +187 -0
  327. data/vendor/assets/javascripts/dijit/MenuSeparator.js +10 -0
  328. data/vendor/assets/javascripts/dijit/MenuSeparator.js.uncompressed.js +35 -0
  329. data/vendor/assets/javascripts/dijit/PopupMenuBarItem.js +5 -0
  330. data/vendor/assets/javascripts/dijit/PopupMenuBarItem.js.uncompressed.js +16 -0
  331. data/vendor/assets/javascripts/dijit/PopupMenuItem.js +34 -0
  332. data/vendor/assets/javascripts/dijit/PopupMenuItem.js.uncompressed.js +73 -0
  333. data/vendor/assets/javascripts/dijit/ProgressBar.js +55 -0
  334. data/vendor/assets/javascripts/dijit/ProgressBar.js.uncompressed.js +171 -0
  335. data/vendor/assets/javascripts/dijit/TitlePane.js +95 -0
  336. data/vendor/assets/javascripts/dijit/TitlePane.js.uncompressed.js +266 -0
  337. data/vendor/assets/javascripts/dijit/Toolbar.js +13 -0
  338. data/vendor/assets/javascripts/dijit/Toolbar.js.uncompressed.js +43 -0
  339. data/vendor/assets/javascripts/dijit/ToolbarSeparator.js +9 -0
  340. data/vendor/assets/javascripts/dijit/ToolbarSeparator.js.uncompressed.js +31 -0
  341. data/vendor/assets/javascripts/dijit/Tooltip.js +208 -0
  342. data/vendor/assets/javascripts/dijit/Tooltip.js.uncompressed.js +542 -0
  343. data/vendor/assets/javascripts/dijit/TooltipDialog.js +60 -0
  344. data/vendor/assets/javascripts/dijit/TooltipDialog.js.uncompressed.js +174 -0
  345. data/vendor/assets/javascripts/dijit/Tree.js +791 -0
  346. data/vendor/assets/javascripts/dijit/Tree.js.uncompressed.js +1909 -0
  347. data/vendor/assets/javascripts/dijit/Viewport.js +25 -0
  348. data/vendor/assets/javascripts/dijit/Viewport.js.uncompressed.js +50 -0
  349. data/vendor/assets/javascripts/dijit/WidgetSet.js +76 -0
  350. data/vendor/assets/javascripts/dijit/WidgetSet.js.uncompressed.js +247 -0
  351. data/vendor/assets/javascripts/dijit/_BidiSupport.js +29 -0
  352. data/vendor/assets/javascripts/dijit/_BidiSupport.js.uncompressed.js +113 -0
  353. data/vendor/assets/javascripts/dijit/_Calendar.js +5 -0
  354. data/vendor/assets/javascripts/dijit/_Calendar.js.uncompressed.js +22 -0
  355. data/vendor/assets/javascripts/dijit/_Contained.js +20 -0
  356. data/vendor/assets/javascripts/dijit/_Contained.js.uncompressed.js +60 -0
  357. data/vendor/assets/javascripts/dijit/_Container.js +39 -0
  358. data/vendor/assets/javascripts/dijit/_Container.js.uncompressed.js +94 -0
  359. data/vendor/assets/javascripts/dijit/_CssStateMixin.js +172 -0
  360. data/vendor/assets/javascripts/dijit/_CssStateMixin.js.uncompressed.js +320 -0
  361. data/vendor/assets/javascripts/dijit/_DialogMixin.js +14 -0
  362. data/vendor/assets/javascripts/dijit/_DialogMixin.js.uncompressed.js +70 -0
  363. data/vendor/assets/javascripts/dijit/_FocusMixin.js +11 -0
  364. data/vendor/assets/javascripts/dijit/_FocusMixin.js.uncompressed.js +66 -0
  365. data/vendor/assets/javascripts/dijit/_HasDropDown.js +222 -0
  366. data/vendor/assets/javascripts/dijit/_HasDropDown.js.uncompressed.js +508 -0
  367. data/vendor/assets/javascripts/dijit/_KeyNavContainer.js +95 -0
  368. data/vendor/assets/javascripts/dijit/_KeyNavContainer.js.uncompressed.js +257 -0
  369. data/vendor/assets/javascripts/dijit/_MenuBase.js +174 -0
  370. data/vendor/assets/javascripts/dijit/_MenuBase.js.uncompressed.js +418 -0
  371. data/vendor/assets/javascripts/dijit/_OnDijitClickMixin.js +8 -0
  372. data/vendor/assets/javascripts/dijit/_OnDijitClickMixin.js.uncompressed.js +50 -0
  373. data/vendor/assets/javascripts/dijit/_PaletteMixin.js +92 -0
  374. data/vendor/assets/javascripts/dijit/_PaletteMixin.js.uncompressed.js +340 -0
  375. data/vendor/assets/javascripts/dijit/_Templated.js +27 -0
  376. data/vendor/assets/javascripts/dijit/_Templated.js.uncompressed.js +64 -0
  377. data/vendor/assets/javascripts/dijit/_TemplatedMixin.js +140 -0
  378. data/vendor/assets/javascripts/dijit/_TemplatedMixin.js.uncompressed.js +308 -0
  379. data/vendor/assets/javascripts/dijit/_TimePicker.js +229 -0
  380. data/vendor/assets/javascripts/dijit/_TimePicker.js.uncompressed.js +519 -0
  381. data/vendor/assets/javascripts/dijit/_Widget.js +73 -0
  382. data/vendor/assets/javascripts/dijit/_Widget.js.uncompressed.js +362 -0
  383. data/vendor/assets/javascripts/dijit/_WidgetBase.js +338 -0
  384. data/vendor/assets/javascripts/dijit/_WidgetBase.js.uncompressed.js +1123 -0
  385. data/vendor/assets/javascripts/dijit/_WidgetsInTemplateMixin.js +22 -0
  386. data/vendor/assets/javascripts/dijit/_WidgetsInTemplateMixin.js.uncompressed.js +65 -0
  387. data/vendor/assets/javascripts/dijit/_base/focus.js +162 -0
  388. data/vendor/assets/javascripts/dijit/_base/focus.js.uncompressed.js +323 -0
  389. data/vendor/assets/javascripts/dijit/_base/manager.js +10 -0
  390. data/vendor/assets/javascripts/dijit/_base/manager.js.uncompressed.js +35 -0
  391. data/vendor/assets/javascripts/dijit/_base/place.js +52 -0
  392. data/vendor/assets/javascripts/dijit/_base/place.js.uncompressed.js +131 -0
  393. data/vendor/assets/javascripts/dijit/_base/popup.js +23 -0
  394. data/vendor/assets/javascripts/dijit/_base/popup.js.uncompressed.js +58 -0
  395. data/vendor/assets/javascripts/dijit/_base/scroll.js +6 -0
  396. data/vendor/assets/javascripts/dijit/_base/scroll.js.uncompressed.js +22 -0
  397. data/vendor/assets/javascripts/dijit/_base/sniff.js +3 -0
  398. data/vendor/assets/javascripts/dijit/_base/sniff.js.uncompressed.js +12 -0
  399. data/vendor/assets/javascripts/dijit/_base/typematic.js +3 -0
  400. data/vendor/assets/javascripts/dijit/_base/typematic.js.uncompressed.js +10 -0
  401. data/vendor/assets/javascripts/dijit/_base/wai.js +32 -0
  402. data/vendor/assets/javascripts/dijit/_base/wai.js.uncompressed.js +109 -0
  403. data/vendor/assets/javascripts/dijit/_base/window.js +6 -0
  404. data/vendor/assets/javascripts/dijit/_base/window.js.uncompressed.js +18 -0
  405. data/vendor/assets/javascripts/dijit/_base.js +4 -0
  406. data/vendor/assets/javascripts/dijit/_base.js.uncompressed.js +27 -0
  407. data/vendor/assets/javascripts/dijit/_editor/RichText.js +1666 -0
  408. data/vendor/assets/javascripts/dijit/_editor/RichText.js.uncompressed.js +2874 -0
  409. data/vendor/assets/javascripts/dijit/_editor/_Plugin.js +104 -0
  410. data/vendor/assets/javascripts/dijit/_editor/_Plugin.js.uncompressed.js +302 -0
  411. data/vendor/assets/javascripts/dijit/_editor/html.js +157 -0
  412. data/vendor/assets/javascripts/dijit/_editor/html.js.uncompressed.js +223 -0
  413. data/vendor/assets/javascripts/dijit/_editor/nls/FontChoice.js +2 -0
  414. data/vendor/assets/javascripts/dijit/_editor/nls/FontChoice.js.uncompressed.js +62 -0
  415. data/vendor/assets/javascripts/dijit/_editor/nls/LinkDialog.js +2 -0
  416. data/vendor/assets/javascripts/dijit/_editor/nls/LinkDialog.js.uncompressed.js +48 -0
  417. data/vendor/assets/javascripts/dijit/_editor/nls/ar/FontChoice.js +2 -0
  418. data/vendor/assets/javascripts/dijit/_editor/nls/ar/FontChoice.js.uncompressed.js +25 -0
  419. data/vendor/assets/javascripts/dijit/_editor/nls/ar/LinkDialog.js +2 -0
  420. data/vendor/assets/javascripts/dijit/_editor/nls/ar/LinkDialog.js.uncompressed.js +14 -0
  421. data/vendor/assets/javascripts/dijit/_editor/nls/ar/commands.js +2 -0
  422. data/vendor/assets/javascripts/dijit/_editor/nls/ar/commands.js.uncompressed.js +51 -0
  423. data/vendor/assets/javascripts/dijit/_editor/nls/az/FontChoice.js +2 -0
  424. data/vendor/assets/javascripts/dijit/_editor/nls/az/FontChoice.js.uncompressed.js +25 -0
  425. data/vendor/assets/javascripts/dijit/_editor/nls/az/LinkDialog.js +2 -0
  426. data/vendor/assets/javascripts/dijit/_editor/nls/az/LinkDialog.js.uncompressed.js +14 -0
  427. data/vendor/assets/javascripts/dijit/_editor/nls/az/commands.js +2 -0
  428. data/vendor/assets/javascripts/dijit/_editor/nls/az/commands.js.uncompressed.js +50 -0
  429. data/vendor/assets/javascripts/dijit/_editor/nls/ca/FontChoice.js +2 -0
  430. data/vendor/assets/javascripts/dijit/_editor/nls/ca/FontChoice.js.uncompressed.js +25 -0
  431. data/vendor/assets/javascripts/dijit/_editor/nls/ca/LinkDialog.js +2 -0
  432. data/vendor/assets/javascripts/dijit/_editor/nls/ca/LinkDialog.js.uncompressed.js +14 -0
  433. data/vendor/assets/javascripts/dijit/_editor/nls/ca/commands.js +2 -0
  434. data/vendor/assets/javascripts/dijit/_editor/nls/ca/commands.js.uncompressed.js +51 -0
  435. data/vendor/assets/javascripts/dijit/_editor/nls/commands.js +2 -0
  436. data/vendor/assets/javascripts/dijit/_editor/nls/commands.js.uncompressed.js +85 -0
  437. data/vendor/assets/javascripts/dijit/_editor/nls/cs/FontChoice.js +2 -0
  438. data/vendor/assets/javascripts/dijit/_editor/nls/cs/FontChoice.js.uncompressed.js +25 -0
  439. data/vendor/assets/javascripts/dijit/_editor/nls/cs/LinkDialog.js +2 -0
  440. data/vendor/assets/javascripts/dijit/_editor/nls/cs/LinkDialog.js.uncompressed.js +14 -0
  441. data/vendor/assets/javascripts/dijit/_editor/nls/cs/commands.js +2 -0
  442. data/vendor/assets/javascripts/dijit/_editor/nls/cs/commands.js.uncompressed.js +51 -0
  443. data/vendor/assets/javascripts/dijit/_editor/nls/da/FontChoice.js +2 -0
  444. data/vendor/assets/javascripts/dijit/_editor/nls/da/FontChoice.js.uncompressed.js +25 -0
  445. data/vendor/assets/javascripts/dijit/_editor/nls/da/LinkDialog.js +2 -0
  446. data/vendor/assets/javascripts/dijit/_editor/nls/da/LinkDialog.js.uncompressed.js +14 -0
  447. data/vendor/assets/javascripts/dijit/_editor/nls/da/commands.js +2 -0
  448. data/vendor/assets/javascripts/dijit/_editor/nls/da/commands.js.uncompressed.js +51 -0
  449. data/vendor/assets/javascripts/dijit/_editor/nls/de/FontChoice.js +2 -0
  450. data/vendor/assets/javascripts/dijit/_editor/nls/de/FontChoice.js.uncompressed.js +25 -0
  451. data/vendor/assets/javascripts/dijit/_editor/nls/de/LinkDialog.js +2 -0
  452. data/vendor/assets/javascripts/dijit/_editor/nls/de/LinkDialog.js.uncompressed.js +14 -0
  453. data/vendor/assets/javascripts/dijit/_editor/nls/de/commands.js +2 -0
  454. data/vendor/assets/javascripts/dijit/_editor/nls/de/commands.js.uncompressed.js +51 -0
  455. data/vendor/assets/javascripts/dijit/_editor/nls/el/FontChoice.js +2 -0
  456. data/vendor/assets/javascripts/dijit/_editor/nls/el/FontChoice.js.uncompressed.js +25 -0
  457. data/vendor/assets/javascripts/dijit/_editor/nls/el/LinkDialog.js +2 -0
  458. data/vendor/assets/javascripts/dijit/_editor/nls/el/LinkDialog.js.uncompressed.js +14 -0
  459. data/vendor/assets/javascripts/dijit/_editor/nls/el/commands.js +2 -0
  460. data/vendor/assets/javascripts/dijit/_editor/nls/el/commands.js.uncompressed.js +51 -0
  461. data/vendor/assets/javascripts/dijit/_editor/nls/es/FontChoice.js +2 -0
  462. data/vendor/assets/javascripts/dijit/_editor/nls/es/FontChoice.js.uncompressed.js +25 -0
  463. data/vendor/assets/javascripts/dijit/_editor/nls/es/LinkDialog.js +2 -0
  464. data/vendor/assets/javascripts/dijit/_editor/nls/es/LinkDialog.js.uncompressed.js +14 -0
  465. data/vendor/assets/javascripts/dijit/_editor/nls/es/commands.js +2 -0
  466. data/vendor/assets/javascripts/dijit/_editor/nls/es/commands.js.uncompressed.js +51 -0
  467. data/vendor/assets/javascripts/dijit/_editor/nls/fi/FontChoice.js +2 -0
  468. data/vendor/assets/javascripts/dijit/_editor/nls/fi/FontChoice.js.uncompressed.js +25 -0
  469. data/vendor/assets/javascripts/dijit/_editor/nls/fi/LinkDialog.js +2 -0
  470. data/vendor/assets/javascripts/dijit/_editor/nls/fi/LinkDialog.js.uncompressed.js +14 -0
  471. data/vendor/assets/javascripts/dijit/_editor/nls/fi/commands.js +2 -0
  472. data/vendor/assets/javascripts/dijit/_editor/nls/fi/commands.js.uncompressed.js +51 -0
  473. data/vendor/assets/javascripts/dijit/_editor/nls/fr/FontChoice.js +2 -0
  474. data/vendor/assets/javascripts/dijit/_editor/nls/fr/FontChoice.js.uncompressed.js +25 -0
  475. data/vendor/assets/javascripts/dijit/_editor/nls/fr/LinkDialog.js +2 -0
  476. data/vendor/assets/javascripts/dijit/_editor/nls/fr/LinkDialog.js.uncompressed.js +14 -0
  477. data/vendor/assets/javascripts/dijit/_editor/nls/fr/commands.js +2 -0
  478. data/vendor/assets/javascripts/dijit/_editor/nls/fr/commands.js.uncompressed.js +51 -0
  479. data/vendor/assets/javascripts/dijit/_editor/nls/he/FontChoice.js +2 -0
  480. data/vendor/assets/javascripts/dijit/_editor/nls/he/FontChoice.js.uncompressed.js +25 -0
  481. data/vendor/assets/javascripts/dijit/_editor/nls/he/LinkDialog.js +2 -0
  482. data/vendor/assets/javascripts/dijit/_editor/nls/he/LinkDialog.js.uncompressed.js +14 -0
  483. data/vendor/assets/javascripts/dijit/_editor/nls/he/commands.js +2 -0
  484. data/vendor/assets/javascripts/dijit/_editor/nls/he/commands.js.uncompressed.js +51 -0
  485. data/vendor/assets/javascripts/dijit/_editor/nls/hr/FontChoice.js +2 -0
  486. data/vendor/assets/javascripts/dijit/_editor/nls/hr/FontChoice.js.uncompressed.js +25 -0
  487. data/vendor/assets/javascripts/dijit/_editor/nls/hr/LinkDialog.js +2 -0
  488. data/vendor/assets/javascripts/dijit/_editor/nls/hr/LinkDialog.js.uncompressed.js +14 -0
  489. data/vendor/assets/javascripts/dijit/_editor/nls/hr/commands.js +2 -0
  490. data/vendor/assets/javascripts/dijit/_editor/nls/hr/commands.js.uncompressed.js +51 -0
  491. data/vendor/assets/javascripts/dijit/_editor/nls/hu/FontChoice.js +2 -0
  492. data/vendor/assets/javascripts/dijit/_editor/nls/hu/FontChoice.js.uncompressed.js +25 -0
  493. data/vendor/assets/javascripts/dijit/_editor/nls/hu/LinkDialog.js +2 -0
  494. data/vendor/assets/javascripts/dijit/_editor/nls/hu/LinkDialog.js.uncompressed.js +14 -0
  495. data/vendor/assets/javascripts/dijit/_editor/nls/hu/commands.js +2 -0
  496. data/vendor/assets/javascripts/dijit/_editor/nls/hu/commands.js.uncompressed.js +51 -0
  497. data/vendor/assets/javascripts/dijit/_editor/nls/it/FontChoice.js +2 -0
  498. data/vendor/assets/javascripts/dijit/_editor/nls/it/FontChoice.js.uncompressed.js +25 -0
  499. data/vendor/assets/javascripts/dijit/_editor/nls/it/LinkDialog.js +2 -0
  500. data/vendor/assets/javascripts/dijit/_editor/nls/it/LinkDialog.js.uncompressed.js +14 -0
  501. data/vendor/assets/javascripts/dijit/_editor/nls/it/commands.js +2 -0
  502. data/vendor/assets/javascripts/dijit/_editor/nls/it/commands.js.uncompressed.js +51 -0
  503. data/vendor/assets/javascripts/dijit/_editor/nls/ja/FontChoice.js +2 -0
  504. data/vendor/assets/javascripts/dijit/_editor/nls/ja/FontChoice.js.uncompressed.js +25 -0
  505. data/vendor/assets/javascripts/dijit/_editor/nls/ja/LinkDialog.js +2 -0
  506. data/vendor/assets/javascripts/dijit/_editor/nls/ja/LinkDialog.js.uncompressed.js +14 -0
  507. data/vendor/assets/javascripts/dijit/_editor/nls/ja/commands.js +2 -0
  508. data/vendor/assets/javascripts/dijit/_editor/nls/ja/commands.js.uncompressed.js +51 -0
  509. data/vendor/assets/javascripts/dijit/_editor/nls/kk/FontChoice.js +2 -0
  510. data/vendor/assets/javascripts/dijit/_editor/nls/kk/FontChoice.js.uncompressed.js +25 -0
  511. data/vendor/assets/javascripts/dijit/_editor/nls/kk/LinkDialog.js +2 -0
  512. data/vendor/assets/javascripts/dijit/_editor/nls/kk/LinkDialog.js.uncompressed.js +14 -0
  513. data/vendor/assets/javascripts/dijit/_editor/nls/kk/commands.js +2 -0
  514. data/vendor/assets/javascripts/dijit/_editor/nls/kk/commands.js.uncompressed.js +51 -0
  515. data/vendor/assets/javascripts/dijit/_editor/nls/ko/FontChoice.js +2 -0
  516. data/vendor/assets/javascripts/dijit/_editor/nls/ko/FontChoice.js.uncompressed.js +25 -0
  517. data/vendor/assets/javascripts/dijit/_editor/nls/ko/LinkDialog.js +2 -0
  518. data/vendor/assets/javascripts/dijit/_editor/nls/ko/LinkDialog.js.uncompressed.js +14 -0
  519. data/vendor/assets/javascripts/dijit/_editor/nls/ko/commands.js +2 -0
  520. data/vendor/assets/javascripts/dijit/_editor/nls/ko/commands.js.uncompressed.js +51 -0
  521. data/vendor/assets/javascripts/dijit/_editor/nls/nb/FontChoice.js +2 -0
  522. data/vendor/assets/javascripts/dijit/_editor/nls/nb/FontChoice.js.uncompressed.js +25 -0
  523. data/vendor/assets/javascripts/dijit/_editor/nls/nb/LinkDialog.js +2 -0
  524. data/vendor/assets/javascripts/dijit/_editor/nls/nb/LinkDialog.js.uncompressed.js +14 -0
  525. data/vendor/assets/javascripts/dijit/_editor/nls/nb/commands.js +2 -0
  526. data/vendor/assets/javascripts/dijit/_editor/nls/nb/commands.js.uncompressed.js +51 -0
  527. data/vendor/assets/javascripts/dijit/_editor/nls/nl/FontChoice.js +2 -0
  528. data/vendor/assets/javascripts/dijit/_editor/nls/nl/FontChoice.js.uncompressed.js +25 -0
  529. data/vendor/assets/javascripts/dijit/_editor/nls/nl/LinkDialog.js +2 -0
  530. data/vendor/assets/javascripts/dijit/_editor/nls/nl/LinkDialog.js.uncompressed.js +14 -0
  531. data/vendor/assets/javascripts/dijit/_editor/nls/nl/commands.js +2 -0
  532. data/vendor/assets/javascripts/dijit/_editor/nls/nl/commands.js.uncompressed.js +51 -0
  533. data/vendor/assets/javascripts/dijit/_editor/nls/pl/FontChoice.js +2 -0
  534. data/vendor/assets/javascripts/dijit/_editor/nls/pl/FontChoice.js.uncompressed.js +25 -0
  535. data/vendor/assets/javascripts/dijit/_editor/nls/pl/LinkDialog.js +2 -0
  536. data/vendor/assets/javascripts/dijit/_editor/nls/pl/LinkDialog.js.uncompressed.js +14 -0
  537. data/vendor/assets/javascripts/dijit/_editor/nls/pl/commands.js +2 -0
  538. data/vendor/assets/javascripts/dijit/_editor/nls/pl/commands.js.uncompressed.js +51 -0
  539. data/vendor/assets/javascripts/dijit/_editor/nls/pt/FontChoice.js +2 -0
  540. data/vendor/assets/javascripts/dijit/_editor/nls/pt/FontChoice.js.uncompressed.js +25 -0
  541. data/vendor/assets/javascripts/dijit/_editor/nls/pt/LinkDialog.js +2 -0
  542. data/vendor/assets/javascripts/dijit/_editor/nls/pt/LinkDialog.js.uncompressed.js +14 -0
  543. data/vendor/assets/javascripts/dijit/_editor/nls/pt/commands.js +2 -0
  544. data/vendor/assets/javascripts/dijit/_editor/nls/pt/commands.js.uncompressed.js +51 -0
  545. data/vendor/assets/javascripts/dijit/_editor/nls/pt-pt/FontChoice.js +2 -0
  546. data/vendor/assets/javascripts/dijit/_editor/nls/pt-pt/FontChoice.js.uncompressed.js +25 -0
  547. data/vendor/assets/javascripts/dijit/_editor/nls/pt-pt/LinkDialog.js +2 -0
  548. data/vendor/assets/javascripts/dijit/_editor/nls/pt-pt/LinkDialog.js.uncompressed.js +14 -0
  549. data/vendor/assets/javascripts/dijit/_editor/nls/pt-pt/commands.js +2 -0
  550. data/vendor/assets/javascripts/dijit/_editor/nls/pt-pt/commands.js.uncompressed.js +49 -0
  551. data/vendor/assets/javascripts/dijit/_editor/nls/ro/FontChoice.js +2 -0
  552. data/vendor/assets/javascripts/dijit/_editor/nls/ro/FontChoice.js.uncompressed.js +25 -0
  553. data/vendor/assets/javascripts/dijit/_editor/nls/ro/LinkDialog.js +2 -0
  554. data/vendor/assets/javascripts/dijit/_editor/nls/ro/LinkDialog.js.uncompressed.js +14 -0
  555. data/vendor/assets/javascripts/dijit/_editor/nls/ro/commands.js +2 -0
  556. data/vendor/assets/javascripts/dijit/_editor/nls/ro/commands.js.uncompressed.js +51 -0
  557. data/vendor/assets/javascripts/dijit/_editor/nls/ru/FontChoice.js +2 -0
  558. data/vendor/assets/javascripts/dijit/_editor/nls/ru/FontChoice.js.uncompressed.js +25 -0
  559. data/vendor/assets/javascripts/dijit/_editor/nls/ru/LinkDialog.js +2 -0
  560. data/vendor/assets/javascripts/dijit/_editor/nls/ru/LinkDialog.js.uncompressed.js +14 -0
  561. data/vendor/assets/javascripts/dijit/_editor/nls/ru/commands.js +2 -0
  562. data/vendor/assets/javascripts/dijit/_editor/nls/ru/commands.js.uncompressed.js +51 -0
  563. data/vendor/assets/javascripts/dijit/_editor/nls/sk/FontChoice.js +2 -0
  564. data/vendor/assets/javascripts/dijit/_editor/nls/sk/FontChoice.js.uncompressed.js +25 -0
  565. data/vendor/assets/javascripts/dijit/_editor/nls/sk/LinkDialog.js +2 -0
  566. data/vendor/assets/javascripts/dijit/_editor/nls/sk/LinkDialog.js.uncompressed.js +14 -0
  567. data/vendor/assets/javascripts/dijit/_editor/nls/sk/commands.js +2 -0
  568. data/vendor/assets/javascripts/dijit/_editor/nls/sk/commands.js.uncompressed.js +51 -0
  569. data/vendor/assets/javascripts/dijit/_editor/nls/sl/FontChoice.js +2 -0
  570. data/vendor/assets/javascripts/dijit/_editor/nls/sl/FontChoice.js.uncompressed.js +25 -0
  571. data/vendor/assets/javascripts/dijit/_editor/nls/sl/LinkDialog.js +2 -0
  572. data/vendor/assets/javascripts/dijit/_editor/nls/sl/LinkDialog.js.uncompressed.js +14 -0
  573. data/vendor/assets/javascripts/dijit/_editor/nls/sl/commands.js +2 -0
  574. data/vendor/assets/javascripts/dijit/_editor/nls/sl/commands.js.uncompressed.js +49 -0
  575. data/vendor/assets/javascripts/dijit/_editor/nls/sv/FontChoice.js +2 -0
  576. data/vendor/assets/javascripts/dijit/_editor/nls/sv/FontChoice.js.uncompressed.js +25 -0
  577. data/vendor/assets/javascripts/dijit/_editor/nls/sv/LinkDialog.js +2 -0
  578. data/vendor/assets/javascripts/dijit/_editor/nls/sv/LinkDialog.js.uncompressed.js +14 -0
  579. data/vendor/assets/javascripts/dijit/_editor/nls/sv/commands.js +2 -0
  580. data/vendor/assets/javascripts/dijit/_editor/nls/sv/commands.js.uncompressed.js +51 -0
  581. data/vendor/assets/javascripts/dijit/_editor/nls/th/FontChoice.js +2 -0
  582. data/vendor/assets/javascripts/dijit/_editor/nls/th/FontChoice.js.uncompressed.js +25 -0
  583. data/vendor/assets/javascripts/dijit/_editor/nls/th/LinkDialog.js +2 -0
  584. data/vendor/assets/javascripts/dijit/_editor/nls/th/LinkDialog.js.uncompressed.js +14 -0
  585. data/vendor/assets/javascripts/dijit/_editor/nls/th/commands.js +2 -0
  586. data/vendor/assets/javascripts/dijit/_editor/nls/th/commands.js.uncompressed.js +51 -0
  587. data/vendor/assets/javascripts/dijit/_editor/nls/tr/FontChoice.js +2 -0
  588. data/vendor/assets/javascripts/dijit/_editor/nls/tr/FontChoice.js.uncompressed.js +25 -0
  589. data/vendor/assets/javascripts/dijit/_editor/nls/tr/LinkDialog.js +2 -0
  590. data/vendor/assets/javascripts/dijit/_editor/nls/tr/LinkDialog.js.uncompressed.js +14 -0
  591. data/vendor/assets/javascripts/dijit/_editor/nls/tr/commands.js +2 -0
  592. data/vendor/assets/javascripts/dijit/_editor/nls/tr/commands.js.uncompressed.js +51 -0
  593. data/vendor/assets/javascripts/dijit/_editor/nls/zh/FontChoice.js +2 -0
  594. data/vendor/assets/javascripts/dijit/_editor/nls/zh/FontChoice.js.uncompressed.js +25 -0
  595. data/vendor/assets/javascripts/dijit/_editor/nls/zh/LinkDialog.js +2 -0
  596. data/vendor/assets/javascripts/dijit/_editor/nls/zh/LinkDialog.js.uncompressed.js +14 -0
  597. data/vendor/assets/javascripts/dijit/_editor/nls/zh/commands.js +2 -0
  598. data/vendor/assets/javascripts/dijit/_editor/nls/zh/commands.js.uncompressed.js +51 -0
  599. data/vendor/assets/javascripts/dijit/_editor/nls/zh-tw/FontChoice.js +2 -0
  600. data/vendor/assets/javascripts/dijit/_editor/nls/zh-tw/FontChoice.js.uncompressed.js +25 -0
  601. data/vendor/assets/javascripts/dijit/_editor/nls/zh-tw/LinkDialog.js +2 -0
  602. data/vendor/assets/javascripts/dijit/_editor/nls/zh-tw/LinkDialog.js.uncompressed.js +14 -0
  603. data/vendor/assets/javascripts/dijit/_editor/nls/zh-tw/commands.js +2 -0
  604. data/vendor/assets/javascripts/dijit/_editor/nls/zh-tw/commands.js.uncompressed.js +51 -0
  605. data/vendor/assets/javascripts/dijit/_editor/plugins/AlwaysShowToolbar.js +110 -0
  606. data/vendor/assets/javascripts/dijit/_editor/plugins/AlwaysShowToolbar.js.uncompressed.js +191 -0
  607. data/vendor/assets/javascripts/dijit/_editor/plugins/EnterKeyHandling.js +428 -0
  608. data/vendor/assets/javascripts/dijit/_editor/plugins/EnterKeyHandling.js.uncompressed.js +622 -0
  609. data/vendor/assets/javascripts/dijit/_editor/plugins/FontChoice.js +252 -0
  610. data/vendor/assets/javascripts/dijit/_editor/plugins/FontChoice.js.uncompressed.js +583 -0
  611. data/vendor/assets/javascripts/dijit/_editor/plugins/FullScreen.js +216 -0
  612. data/vendor/assets/javascripts/dijit/_editor/plugins/FullScreen.js.uncompressed.js +450 -0
  613. data/vendor/assets/javascripts/dijit/_editor/plugins/LinkDialog.js +266 -0
  614. data/vendor/assets/javascripts/dijit/_editor/plugins/LinkDialog.js.uncompressed.js +607 -0
  615. data/vendor/assets/javascripts/dijit/_editor/plugins/NewPage.js +21 -0
  616. data/vendor/assets/javascripts/dijit/_editor/plugins/NewPage.js.uncompressed.js +77 -0
  617. data/vendor/assets/javascripts/dijit/_editor/plugins/Print.js +53 -0
  618. data/vendor/assets/javascripts/dijit/_editor/plugins/Print.js.uncompressed.js +123 -0
  619. data/vendor/assets/javascripts/dijit/_editor/plugins/TabIndent.js +23 -0
  620. data/vendor/assets/javascripts/dijit/_editor/plugins/TabIndent.js.uncompressed.js +60 -0
  621. data/vendor/assets/javascripts/dijit/_editor/plugins/TextColor.js +62 -0
  622. data/vendor/assets/javascripts/dijit/_editor/plugins/TextColor.js.uncompressed.js +114 -0
  623. data/vendor/assets/javascripts/dijit/_editor/plugins/ToggleDir.js +28 -0
  624. data/vendor/assets/javascripts/dijit/_editor/plugins/ToggleDir.js.uncompressed.js +69 -0
  625. data/vendor/assets/javascripts/dijit/_editor/plugins/ViewSource.js +294 -0
  626. data/vendor/assets/javascripts/dijit/_editor/plugins/ViewSource.js.uncompressed.js +577 -0
  627. data/vendor/assets/javascripts/dijit/_editor/range.js +453 -0
  628. data/vendor/assets/javascripts/dijit/_editor/range.js.uncompressed.js +559 -0
  629. data/vendor/assets/javascripts/dijit/_editor/selection.js +254 -0
  630. data/vendor/assets/javascripts/dijit/_editor/selection.js.uncompressed.js +383 -0
  631. data/vendor/assets/javascripts/dijit/_tree/dndSource.js +5 -0
  632. data/vendor/assets/javascripts/dijit/_tree/dndSource.js.uncompressed.js +15 -0
  633. data/vendor/assets/javascripts/dijit/a11y.js +107 -0
  634. data/vendor/assets/javascripts/dijit/a11y.js.uncompressed.js +177 -0
  635. data/vendor/assets/javascripts/dijit/a11yclick.js +65 -0
  636. data/vendor/assets/javascripts/dijit/a11yclick.js.uncompressed.js +131 -0
  637. data/vendor/assets/javascripts/dijit/dijit-all.js +15 -0
  638. data/vendor/assets/javascripts/dijit/dijit-all.js.uncompressed.js +33581 -0
  639. data/vendor/assets/javascripts/dijit/dijit.js +15 -0
  640. data/vendor/assets/javascripts/dijit/dijit.js.uncompressed.js +8131 -0
  641. data/vendor/assets/javascripts/dijit/dijit.profile.js +35 -0
  642. data/vendor/assets/javascripts/dijit/focus.js +202 -0
  643. data/vendor/assets/javascripts/dijit/focus.js.uncompressed.js +364 -0
  644. data/vendor/assets/javascripts/dijit/form/Button.js +41 -0
  645. data/vendor/assets/javascripts/dijit/form/Button.js.uncompressed.js +121 -0
  646. data/vendor/assets/javascripts/dijit/form/CheckBox.js +35 -0
  647. data/vendor/assets/javascripts/dijit/form/CheckBox.js.uncompressed.js +116 -0
  648. data/vendor/assets/javascripts/dijit/form/ComboBox.js +4 -0
  649. data/vendor/assets/javascripts/dijit/form/ComboBox.js.uncompressed.js +27 -0
  650. data/vendor/assets/javascripts/dijit/form/ComboBoxMixin.js +59 -0
  651. data/vendor/assets/javascripts/dijit/form/ComboBoxMixin.js.uncompressed.js +143 -0
  652. data/vendor/assets/javascripts/dijit/form/ComboButton.js +19 -0
  653. data/vendor/assets/javascripts/dijit/form/ComboButton.js.uncompressed.js +85 -0
  654. data/vendor/assets/javascripts/dijit/form/CurrencyTextBox.js +17 -0
  655. data/vendor/assets/javascripts/dijit/form/CurrencyTextBox.js.uncompressed.js +85 -0
  656. data/vendor/assets/javascripts/dijit/form/DataList.js +20 -0
  657. data/vendor/assets/javascripts/dijit/form/DataList.js.uncompressed.js +69 -0
  658. data/vendor/assets/javascripts/dijit/form/DateTextBox.js +4 -0
  659. data/vendor/assets/javascripts/dijit/form/DateTextBox.js.uncompressed.js +28 -0
  660. data/vendor/assets/javascripts/dijit/form/DropDownButton.js +36 -0
  661. data/vendor/assets/javascripts/dijit/form/DropDownButton.js.uncompressed.js +99 -0
  662. data/vendor/assets/javascripts/dijit/form/FilteringSelect.js +101 -0
  663. data/vendor/assets/javascripts/dijit/form/FilteringSelect.js.uncompressed.js +234 -0
  664. data/vendor/assets/javascripts/dijit/form/Form.js +45 -0
  665. data/vendor/assets/javascripts/dijit/form/Form.js.uncompressed.js +163 -0
  666. data/vendor/assets/javascripts/dijit/form/HorizontalRule.js +29 -0
  667. data/vendor/assets/javascripts/dijit/form/HorizontalRule.js.uncompressed.js +69 -0
  668. data/vendor/assets/javascripts/dijit/form/HorizontalRuleLabels.js +28 -0
  669. data/vendor/assets/javascripts/dijit/form/HorizontalRuleLabels.js.uncompressed.js +92 -0
  670. data/vendor/assets/javascripts/dijit/form/HorizontalSlider.js +200 -0
  671. data/vendor/assets/javascripts/dijit/form/HorizontalSlider.js.uncompressed.js +349 -0
  672. data/vendor/assets/javascripts/dijit/form/MappedTextBox.js +21 -0
  673. data/vendor/assets/javascripts/dijit/form/MappedTextBox.js.uncompressed.js +81 -0
  674. data/vendor/assets/javascripts/dijit/form/MultiSelect.js +56 -0
  675. data/vendor/assets/javascripts/dijit/form/MultiSelect.js.uncompressed.js +134 -0
  676. data/vendor/assets/javascripts/dijit/form/NumberSpinner.js +28 -0
  677. data/vendor/assets/javascripts/dijit/form/NumberSpinner.js.uncompressed.js +67 -0
  678. data/vendor/assets/javascripts/dijit/form/NumberTextBox.js +116 -0
  679. data/vendor/assets/javascripts/dijit/form/NumberTextBox.js.uncompressed.js +275 -0
  680. data/vendor/assets/javascripts/dijit/form/RadioButton.js +4 -0
  681. data/vendor/assets/javascripts/dijit/form/RadioButton.js.uncompressed.js +16 -0
  682. data/vendor/assets/javascripts/dijit/form/RangeBoundTextBox.js +58 -0
  683. data/vendor/assets/javascripts/dijit/form/RangeBoundTextBox.js.uncompressed.js +134 -0
  684. data/vendor/assets/javascripts/dijit/form/Select.js +192 -0
  685. data/vendor/assets/javascripts/dijit/form/Select.js.uncompressed.js +406 -0
  686. data/vendor/assets/javascripts/dijit/form/SimpleTextarea.js +46 -0
  687. data/vendor/assets/javascripts/dijit/form/SimpleTextarea.js.uncompressed.js +92 -0
  688. data/vendor/assets/javascripts/dijit/form/Slider.js +4 -0
  689. data/vendor/assets/javascripts/dijit/form/Slider.js.uncompressed.js +23 -0
  690. data/vendor/assets/javascripts/dijit/form/TextBox.js +97 -0
  691. data/vendor/assets/javascripts/dijit/form/TextBox.js.uncompressed.js +157 -0
  692. data/vendor/assets/javascripts/dijit/form/Textarea.js +7 -0
  693. data/vendor/assets/javascripts/dijit/form/Textarea.js.uncompressed.js +42 -0
  694. data/vendor/assets/javascripts/dijit/form/TimeTextBox.js +26 -0
  695. data/vendor/assets/javascripts/dijit/form/TimeTextBox.js.uncompressed.js +79 -0
  696. data/vendor/assets/javascripts/dijit/form/ToggleButton.js +7 -0
  697. data/vendor/assets/javascripts/dijit/form/ToggleButton.js.uncompressed.js +26 -0
  698. data/vendor/assets/javascripts/dijit/form/ValidationTextBox.js +143 -0
  699. data/vendor/assets/javascripts/dijit/form/ValidationTextBox.js.uncompressed.js +327 -0
  700. data/vendor/assets/javascripts/dijit/form/VerticalRule.js +4 -0
  701. data/vendor/assets/javascripts/dijit/form/VerticalRule.js.uncompressed.js +28 -0
  702. data/vendor/assets/javascripts/dijit/form/VerticalRuleLabels.js +6 -0
  703. data/vendor/assets/javascripts/dijit/form/VerticalRuleLabels.js.uncompressed.js +26 -0
  704. data/vendor/assets/javascripts/dijit/form/VerticalSlider.js +7 -0
  705. data/vendor/assets/javascripts/dijit/form/VerticalSlider.js.uncompressed.js +35 -0
  706. data/vendor/assets/javascripts/dijit/form/_AutoCompleterMixin.js +266 -0
  707. data/vendor/assets/javascripts/dijit/form/_AutoCompleterMixin.js.uncompressed.js +581 -0
  708. data/vendor/assets/javascripts/dijit/form/_ButtonMixin.js +32 -0
  709. data/vendor/assets/javascripts/dijit/form/_ButtonMixin.js.uncompressed.js +84 -0
  710. data/vendor/assets/javascripts/dijit/form/_CheckBoxMixin.js +24 -0
  711. data/vendor/assets/javascripts/dijit/form/_CheckBoxMixin.js.uncompressed.js +78 -0
  712. data/vendor/assets/javascripts/dijit/form/_ComboBoxMenu.js +64 -0
  713. data/vendor/assets/javascripts/dijit/form/_ComboBoxMenu.js.uncompressed.js +131 -0
  714. data/vendor/assets/javascripts/dijit/form/_ComboBoxMenuMixin.js +91 -0
  715. data/vendor/assets/javascripts/dijit/form/_ComboBoxMenuMixin.js.uncompressed.js +189 -0
  716. data/vendor/assets/javascripts/dijit/form/_DateTimeTextBox.js +98 -0
  717. data/vendor/assets/javascripts/dijit/form/_DateTimeTextBox.js.uncompressed.js +259 -0
  718. data/vendor/assets/javascripts/dijit/form/_ExpandingTextAreaMixin.js +89 -0
  719. data/vendor/assets/javascripts/dijit/form/_ExpandingTextAreaMixin.js.uncompressed.js +136 -0
  720. data/vendor/assets/javascripts/dijit/form/_FormMixin.js +165 -0
  721. data/vendor/assets/javascripts/dijit/form/_FormMixin.js.uncompressed.js +456 -0
  722. data/vendor/assets/javascripts/dijit/form/_FormSelectWidget.js +352 -0
  723. data/vendor/assets/javascripts/dijit/form/_FormSelectWidget.js.uncompressed.js +706 -0
  724. data/vendor/assets/javascripts/dijit/form/_FormValueMixin.js +36 -0
  725. data/vendor/assets/javascripts/dijit/form/_FormValueMixin.js.uncompressed.js +90 -0
  726. data/vendor/assets/javascripts/dijit/form/_FormValueWidget.js +24 -0
  727. data/vendor/assets/javascripts/dijit/form/_FormValueWidget.js.uncompressed.js +51 -0
  728. data/vendor/assets/javascripts/dijit/form/_FormWidget.js +22 -0
  729. data/vendor/assets/javascripts/dijit/form/_FormWidget.js.uncompressed.js +71 -0
  730. data/vendor/assets/javascripts/dijit/form/_FormWidgetMixin.js +100 -0
  731. data/vendor/assets/javascripts/dijit/form/_FormWidgetMixin.js.uncompressed.js +223 -0
  732. data/vendor/assets/javascripts/dijit/form/_ListBase.js +71 -0
  733. data/vendor/assets/javascripts/dijit/form/_ListBase.js.uncompressed.js +135 -0
  734. data/vendor/assets/javascripts/dijit/form/_ListMouseMixin.js +53 -0
  735. data/vendor/assets/javascripts/dijit/form/_ListMouseMixin.js.uncompressed.js +79 -0
  736. data/vendor/assets/javascripts/dijit/form/_RadioButtonMixin.js +42 -0
  737. data/vendor/assets/javascripts/dijit/form/_RadioButtonMixin.js.uncompressed.js +71 -0
  738. data/vendor/assets/javascripts/dijit/form/_SearchMixin.js +124 -0
  739. data/vendor/assets/javascripts/dijit/form/_SearchMixin.js.uncompressed.js +264 -0
  740. data/vendor/assets/javascripts/dijit/form/_Spinner.js +48 -0
  741. data/vendor/assets/javascripts/dijit/form/_Spinner.js.uncompressed.js +137 -0
  742. data/vendor/assets/javascripts/dijit/form/_TextBoxMixin.js +242 -0
  743. data/vendor/assets/javascripts/dijit/form/_TextBoxMixin.js.uncompressed.js +474 -0
  744. data/vendor/assets/javascripts/dijit/form/_ToggleButtonMixin.js +18 -0
  745. data/vendor/assets/javascripts/dijit/form/_ToggleButtonMixin.js.uncompressed.js +49 -0
  746. data/vendor/assets/javascripts/dijit/form/nls/ComboBox.js +2 -0
  747. data/vendor/assets/javascripts/dijit/form/nls/ComboBox.js.uncompressed.js +40 -0
  748. data/vendor/assets/javascripts/dijit/form/nls/Textarea.js +2 -0
  749. data/vendor/assets/javascripts/dijit/form/nls/Textarea.js.uncompressed.js +43 -0
  750. data/vendor/assets/javascripts/dijit/form/nls/ar/ComboBox.js +2 -0
  751. data/vendor/assets/javascripts/dijit/form/nls/ar/ComboBox.js.uncompressed.js +6 -0
  752. data/vendor/assets/javascripts/dijit/form/nls/ar/Textarea.js +2 -0
  753. data/vendor/assets/javascripts/dijit/form/nls/ar/Textarea.js.uncompressed.js +9 -0
  754. data/vendor/assets/javascripts/dijit/form/nls/ar/validate.js +2 -0
  755. data/vendor/assets/javascripts/dijit/form/nls/ar/validate.js.uncompressed.js +7 -0
  756. data/vendor/assets/javascripts/dijit/form/nls/az/ComboBox.js +2 -0
  757. data/vendor/assets/javascripts/dijit/form/nls/az/ComboBox.js.uncompressed.js +6 -0
  758. data/vendor/assets/javascripts/dijit/form/nls/az/Textarea.js +2 -0
  759. data/vendor/assets/javascripts/dijit/form/nls/az/Textarea.js.uncompressed.js +7 -0
  760. data/vendor/assets/javascripts/dijit/form/nls/az/validate.js +2 -0
  761. data/vendor/assets/javascripts/dijit/form/nls/az/validate.js.uncompressed.js +7 -0
  762. data/vendor/assets/javascripts/dijit/form/nls/ca/ComboBox.js +2 -0
  763. data/vendor/assets/javascripts/dijit/form/nls/ca/ComboBox.js.uncompressed.js +6 -0
  764. data/vendor/assets/javascripts/dijit/form/nls/ca/Textarea.js +2 -0
  765. data/vendor/assets/javascripts/dijit/form/nls/ca/Textarea.js.uncompressed.js +9 -0
  766. data/vendor/assets/javascripts/dijit/form/nls/ca/validate.js +2 -0
  767. data/vendor/assets/javascripts/dijit/form/nls/ca/validate.js.uncompressed.js +7 -0
  768. data/vendor/assets/javascripts/dijit/form/nls/cs/ComboBox.js +2 -0
  769. data/vendor/assets/javascripts/dijit/form/nls/cs/ComboBox.js.uncompressed.js +6 -0
  770. data/vendor/assets/javascripts/dijit/form/nls/cs/Textarea.js +2 -0
  771. data/vendor/assets/javascripts/dijit/form/nls/cs/Textarea.js.uncompressed.js +9 -0
  772. data/vendor/assets/javascripts/dijit/form/nls/cs/validate.js +2 -0
  773. data/vendor/assets/javascripts/dijit/form/nls/cs/validate.js.uncompressed.js +7 -0
  774. data/vendor/assets/javascripts/dijit/form/nls/da/ComboBox.js +2 -0
  775. data/vendor/assets/javascripts/dijit/form/nls/da/ComboBox.js.uncompressed.js +6 -0
  776. data/vendor/assets/javascripts/dijit/form/nls/da/Textarea.js +2 -0
  777. data/vendor/assets/javascripts/dijit/form/nls/da/Textarea.js.uncompressed.js +9 -0
  778. data/vendor/assets/javascripts/dijit/form/nls/da/validate.js +2 -0
  779. data/vendor/assets/javascripts/dijit/form/nls/da/validate.js.uncompressed.js +7 -0
  780. data/vendor/assets/javascripts/dijit/form/nls/de/ComboBox.js +2 -0
  781. data/vendor/assets/javascripts/dijit/form/nls/de/ComboBox.js.uncompressed.js +6 -0
  782. data/vendor/assets/javascripts/dijit/form/nls/de/Textarea.js +2 -0
  783. data/vendor/assets/javascripts/dijit/form/nls/de/Textarea.js.uncompressed.js +9 -0
  784. data/vendor/assets/javascripts/dijit/form/nls/de/validate.js +2 -0
  785. data/vendor/assets/javascripts/dijit/form/nls/de/validate.js.uncompressed.js +7 -0
  786. data/vendor/assets/javascripts/dijit/form/nls/el/ComboBox.js +2 -0
  787. data/vendor/assets/javascripts/dijit/form/nls/el/ComboBox.js.uncompressed.js +6 -0
  788. data/vendor/assets/javascripts/dijit/form/nls/el/Textarea.js +2 -0
  789. data/vendor/assets/javascripts/dijit/form/nls/el/Textarea.js.uncompressed.js +9 -0
  790. data/vendor/assets/javascripts/dijit/form/nls/el/validate.js +2 -0
  791. data/vendor/assets/javascripts/dijit/form/nls/el/validate.js.uncompressed.js +7 -0
  792. data/vendor/assets/javascripts/dijit/form/nls/es/ComboBox.js +2 -0
  793. data/vendor/assets/javascripts/dijit/form/nls/es/ComboBox.js.uncompressed.js +6 -0
  794. data/vendor/assets/javascripts/dijit/form/nls/es/Textarea.js +2 -0
  795. data/vendor/assets/javascripts/dijit/form/nls/es/Textarea.js.uncompressed.js +9 -0
  796. data/vendor/assets/javascripts/dijit/form/nls/es/validate.js +2 -0
  797. data/vendor/assets/javascripts/dijit/form/nls/es/validate.js.uncompressed.js +7 -0
  798. data/vendor/assets/javascripts/dijit/form/nls/fi/ComboBox.js +2 -0
  799. data/vendor/assets/javascripts/dijit/form/nls/fi/ComboBox.js.uncompressed.js +6 -0
  800. data/vendor/assets/javascripts/dijit/form/nls/fi/Textarea.js +2 -0
  801. data/vendor/assets/javascripts/dijit/form/nls/fi/Textarea.js.uncompressed.js +9 -0
  802. data/vendor/assets/javascripts/dijit/form/nls/fi/validate.js +2 -0
  803. data/vendor/assets/javascripts/dijit/form/nls/fi/validate.js.uncompressed.js +7 -0
  804. data/vendor/assets/javascripts/dijit/form/nls/fr/ComboBox.js +2 -0
  805. data/vendor/assets/javascripts/dijit/form/nls/fr/ComboBox.js.uncompressed.js +6 -0
  806. data/vendor/assets/javascripts/dijit/form/nls/fr/Textarea.js +2 -0
  807. data/vendor/assets/javascripts/dijit/form/nls/fr/Textarea.js.uncompressed.js +9 -0
  808. data/vendor/assets/javascripts/dijit/form/nls/fr/validate.js +2 -0
  809. data/vendor/assets/javascripts/dijit/form/nls/fr/validate.js.uncompressed.js +7 -0
  810. data/vendor/assets/javascripts/dijit/form/nls/he/ComboBox.js +2 -0
  811. data/vendor/assets/javascripts/dijit/form/nls/he/ComboBox.js.uncompressed.js +6 -0
  812. data/vendor/assets/javascripts/dijit/form/nls/he/Textarea.js +2 -0
  813. data/vendor/assets/javascripts/dijit/form/nls/he/Textarea.js.uncompressed.js +9 -0
  814. data/vendor/assets/javascripts/dijit/form/nls/he/validate.js +2 -0
  815. data/vendor/assets/javascripts/dijit/form/nls/he/validate.js.uncompressed.js +7 -0
  816. data/vendor/assets/javascripts/dijit/form/nls/hr/ComboBox.js +2 -0
  817. data/vendor/assets/javascripts/dijit/form/nls/hr/ComboBox.js.uncompressed.js +6 -0
  818. data/vendor/assets/javascripts/dijit/form/nls/hr/Textarea.js +2 -0
  819. data/vendor/assets/javascripts/dijit/form/nls/hr/Textarea.js.uncompressed.js +9 -0
  820. data/vendor/assets/javascripts/dijit/form/nls/hr/validate.js +2 -0
  821. data/vendor/assets/javascripts/dijit/form/nls/hr/validate.js.uncompressed.js +7 -0
  822. data/vendor/assets/javascripts/dijit/form/nls/hu/ComboBox.js +2 -0
  823. data/vendor/assets/javascripts/dijit/form/nls/hu/ComboBox.js.uncompressed.js +6 -0
  824. data/vendor/assets/javascripts/dijit/form/nls/hu/Textarea.js +2 -0
  825. data/vendor/assets/javascripts/dijit/form/nls/hu/Textarea.js.uncompressed.js +9 -0
  826. data/vendor/assets/javascripts/dijit/form/nls/hu/validate.js +2 -0
  827. data/vendor/assets/javascripts/dijit/form/nls/hu/validate.js.uncompressed.js +7 -0
  828. data/vendor/assets/javascripts/dijit/form/nls/it/ComboBox.js +2 -0
  829. data/vendor/assets/javascripts/dijit/form/nls/it/ComboBox.js.uncompressed.js +6 -0
  830. data/vendor/assets/javascripts/dijit/form/nls/it/Textarea.js +2 -0
  831. data/vendor/assets/javascripts/dijit/form/nls/it/Textarea.js.uncompressed.js +9 -0
  832. data/vendor/assets/javascripts/dijit/form/nls/it/validate.js +2 -0
  833. data/vendor/assets/javascripts/dijit/form/nls/it/validate.js.uncompressed.js +7 -0
  834. data/vendor/assets/javascripts/dijit/form/nls/ja/ComboBox.js +2 -0
  835. data/vendor/assets/javascripts/dijit/form/nls/ja/ComboBox.js.uncompressed.js +6 -0
  836. data/vendor/assets/javascripts/dijit/form/nls/ja/Textarea.js +2 -0
  837. data/vendor/assets/javascripts/dijit/form/nls/ja/Textarea.js.uncompressed.js +9 -0
  838. data/vendor/assets/javascripts/dijit/form/nls/ja/validate.js +2 -0
  839. data/vendor/assets/javascripts/dijit/form/nls/ja/validate.js.uncompressed.js +7 -0
  840. data/vendor/assets/javascripts/dijit/form/nls/kk/ComboBox.js +2 -0
  841. data/vendor/assets/javascripts/dijit/form/nls/kk/ComboBox.js.uncompressed.js +6 -0
  842. data/vendor/assets/javascripts/dijit/form/nls/kk/Textarea.js +2 -0
  843. data/vendor/assets/javascripts/dijit/form/nls/kk/Textarea.js.uncompressed.js +9 -0
  844. data/vendor/assets/javascripts/dijit/form/nls/kk/validate.js +2 -0
  845. data/vendor/assets/javascripts/dijit/form/nls/kk/validate.js.uncompressed.js +7 -0
  846. data/vendor/assets/javascripts/dijit/form/nls/ko/ComboBox.js +2 -0
  847. data/vendor/assets/javascripts/dijit/form/nls/ko/ComboBox.js.uncompressed.js +6 -0
  848. data/vendor/assets/javascripts/dijit/form/nls/ko/Textarea.js +2 -0
  849. data/vendor/assets/javascripts/dijit/form/nls/ko/Textarea.js.uncompressed.js +9 -0
  850. data/vendor/assets/javascripts/dijit/form/nls/ko/validate.js +2 -0
  851. data/vendor/assets/javascripts/dijit/form/nls/ko/validate.js.uncompressed.js +7 -0
  852. data/vendor/assets/javascripts/dijit/form/nls/nb/ComboBox.js +2 -0
  853. data/vendor/assets/javascripts/dijit/form/nls/nb/ComboBox.js.uncompressed.js +6 -0
  854. data/vendor/assets/javascripts/dijit/form/nls/nb/Textarea.js +2 -0
  855. data/vendor/assets/javascripts/dijit/form/nls/nb/Textarea.js.uncompressed.js +9 -0
  856. data/vendor/assets/javascripts/dijit/form/nls/nb/validate.js +2 -0
  857. data/vendor/assets/javascripts/dijit/form/nls/nb/validate.js.uncompressed.js +7 -0
  858. data/vendor/assets/javascripts/dijit/form/nls/nl/ComboBox.js +2 -0
  859. data/vendor/assets/javascripts/dijit/form/nls/nl/ComboBox.js.uncompressed.js +6 -0
  860. data/vendor/assets/javascripts/dijit/form/nls/nl/Textarea.js +2 -0
  861. data/vendor/assets/javascripts/dijit/form/nls/nl/Textarea.js.uncompressed.js +9 -0
  862. data/vendor/assets/javascripts/dijit/form/nls/nl/validate.js +2 -0
  863. data/vendor/assets/javascripts/dijit/form/nls/nl/validate.js.uncompressed.js +7 -0
  864. data/vendor/assets/javascripts/dijit/form/nls/pl/ComboBox.js +2 -0
  865. data/vendor/assets/javascripts/dijit/form/nls/pl/ComboBox.js.uncompressed.js +6 -0
  866. data/vendor/assets/javascripts/dijit/form/nls/pl/Textarea.js +2 -0
  867. data/vendor/assets/javascripts/dijit/form/nls/pl/Textarea.js.uncompressed.js +9 -0
  868. data/vendor/assets/javascripts/dijit/form/nls/pl/validate.js +2 -0
  869. data/vendor/assets/javascripts/dijit/form/nls/pl/validate.js.uncompressed.js +7 -0
  870. data/vendor/assets/javascripts/dijit/form/nls/pt/ComboBox.js +2 -0
  871. data/vendor/assets/javascripts/dijit/form/nls/pt/ComboBox.js.uncompressed.js +6 -0
  872. data/vendor/assets/javascripts/dijit/form/nls/pt/Textarea.js +2 -0
  873. data/vendor/assets/javascripts/dijit/form/nls/pt/Textarea.js.uncompressed.js +9 -0
  874. data/vendor/assets/javascripts/dijit/form/nls/pt/validate.js +2 -0
  875. data/vendor/assets/javascripts/dijit/form/nls/pt/validate.js.uncompressed.js +7 -0
  876. data/vendor/assets/javascripts/dijit/form/nls/pt-pt/ComboBox.js +2 -0
  877. data/vendor/assets/javascripts/dijit/form/nls/pt-pt/ComboBox.js.uncompressed.js +6 -0
  878. data/vendor/assets/javascripts/dijit/form/nls/pt-pt/Textarea.js +2 -0
  879. data/vendor/assets/javascripts/dijit/form/nls/pt-pt/Textarea.js.uncompressed.js +9 -0
  880. data/vendor/assets/javascripts/dijit/form/nls/pt-pt/validate.js +2 -0
  881. data/vendor/assets/javascripts/dijit/form/nls/pt-pt/validate.js.uncompressed.js +7 -0
  882. data/vendor/assets/javascripts/dijit/form/nls/ro/ComboBox.js +2 -0
  883. data/vendor/assets/javascripts/dijit/form/nls/ro/ComboBox.js.uncompressed.js +6 -0
  884. data/vendor/assets/javascripts/dijit/form/nls/ro/Textarea.js +2 -0
  885. data/vendor/assets/javascripts/dijit/form/nls/ro/Textarea.js.uncompressed.js +9 -0
  886. data/vendor/assets/javascripts/dijit/form/nls/ro/validate.js +2 -0
  887. data/vendor/assets/javascripts/dijit/form/nls/ro/validate.js.uncompressed.js +7 -0
  888. data/vendor/assets/javascripts/dijit/form/nls/ru/ComboBox.js +2 -0
  889. data/vendor/assets/javascripts/dijit/form/nls/ru/ComboBox.js.uncompressed.js +6 -0
  890. data/vendor/assets/javascripts/dijit/form/nls/ru/Textarea.js +2 -0
  891. data/vendor/assets/javascripts/dijit/form/nls/ru/Textarea.js.uncompressed.js +9 -0
  892. data/vendor/assets/javascripts/dijit/form/nls/ru/validate.js +2 -0
  893. data/vendor/assets/javascripts/dijit/form/nls/ru/validate.js.uncompressed.js +7 -0
  894. data/vendor/assets/javascripts/dijit/form/nls/sk/ComboBox.js +2 -0
  895. data/vendor/assets/javascripts/dijit/form/nls/sk/ComboBox.js.uncompressed.js +6 -0
  896. data/vendor/assets/javascripts/dijit/form/nls/sk/Textarea.js +2 -0
  897. data/vendor/assets/javascripts/dijit/form/nls/sk/Textarea.js.uncompressed.js +9 -0
  898. data/vendor/assets/javascripts/dijit/form/nls/sk/validate.js +2 -0
  899. data/vendor/assets/javascripts/dijit/form/nls/sk/validate.js.uncompressed.js +7 -0
  900. data/vendor/assets/javascripts/dijit/form/nls/sl/ComboBox.js +2 -0
  901. data/vendor/assets/javascripts/dijit/form/nls/sl/ComboBox.js.uncompressed.js +6 -0
  902. data/vendor/assets/javascripts/dijit/form/nls/sl/Textarea.js +2 -0
  903. data/vendor/assets/javascripts/dijit/form/nls/sl/Textarea.js.uncompressed.js +9 -0
  904. data/vendor/assets/javascripts/dijit/form/nls/sl/validate.js +2 -0
  905. data/vendor/assets/javascripts/dijit/form/nls/sl/validate.js.uncompressed.js +7 -0
  906. data/vendor/assets/javascripts/dijit/form/nls/sv/ComboBox.js +2 -0
  907. data/vendor/assets/javascripts/dijit/form/nls/sv/ComboBox.js.uncompressed.js +6 -0
  908. data/vendor/assets/javascripts/dijit/form/nls/sv/Textarea.js +2 -0
  909. data/vendor/assets/javascripts/dijit/form/nls/sv/Textarea.js.uncompressed.js +9 -0
  910. data/vendor/assets/javascripts/dijit/form/nls/sv/validate.js +2 -0
  911. data/vendor/assets/javascripts/dijit/form/nls/sv/validate.js.uncompressed.js +7 -0
  912. data/vendor/assets/javascripts/dijit/form/nls/th/ComboBox.js +2 -0
  913. data/vendor/assets/javascripts/dijit/form/nls/th/ComboBox.js.uncompressed.js +6 -0
  914. data/vendor/assets/javascripts/dijit/form/nls/th/Textarea.js +2 -0
  915. data/vendor/assets/javascripts/dijit/form/nls/th/Textarea.js.uncompressed.js +9 -0
  916. data/vendor/assets/javascripts/dijit/form/nls/th/validate.js +2 -0
  917. data/vendor/assets/javascripts/dijit/form/nls/th/validate.js.uncompressed.js +7 -0
  918. data/vendor/assets/javascripts/dijit/form/nls/tr/ComboBox.js +2 -0
  919. data/vendor/assets/javascripts/dijit/form/nls/tr/ComboBox.js.uncompressed.js +6 -0
  920. data/vendor/assets/javascripts/dijit/form/nls/tr/Textarea.js +2 -0
  921. data/vendor/assets/javascripts/dijit/form/nls/tr/Textarea.js.uncompressed.js +9 -0
  922. data/vendor/assets/javascripts/dijit/form/nls/tr/validate.js +2 -0
  923. data/vendor/assets/javascripts/dijit/form/nls/tr/validate.js.uncompressed.js +7 -0
  924. data/vendor/assets/javascripts/dijit/form/nls/validate.js +2 -0
  925. data/vendor/assets/javascripts/dijit/form/nls/validate.js.uncompressed.js +41 -0
  926. data/vendor/assets/javascripts/dijit/form/nls/zh/ComboBox.js +2 -0
  927. data/vendor/assets/javascripts/dijit/form/nls/zh/ComboBox.js.uncompressed.js +6 -0
  928. data/vendor/assets/javascripts/dijit/form/nls/zh/Textarea.js +2 -0
  929. data/vendor/assets/javascripts/dijit/form/nls/zh/Textarea.js.uncompressed.js +9 -0
  930. data/vendor/assets/javascripts/dijit/form/nls/zh/validate.js +2 -0
  931. data/vendor/assets/javascripts/dijit/form/nls/zh/validate.js.uncompressed.js +7 -0
  932. data/vendor/assets/javascripts/dijit/form/nls/zh-tw/ComboBox.js +2 -0
  933. data/vendor/assets/javascripts/dijit/form/nls/zh-tw/ComboBox.js.uncompressed.js +6 -0
  934. data/vendor/assets/javascripts/dijit/form/nls/zh-tw/Textarea.js +2 -0
  935. data/vendor/assets/javascripts/dijit/form/nls/zh-tw/Textarea.js.uncompressed.js +9 -0
  936. data/vendor/assets/javascripts/dijit/form/nls/zh-tw/validate.js +2 -0
  937. data/vendor/assets/javascripts/dijit/form/nls/zh-tw/validate.js.uncompressed.js +7 -0
  938. data/vendor/assets/javascripts/dijit/hccss.js +9 -0
  939. data/vendor/assets/javascripts/dijit/hccss.js.uncompressed.js +23 -0
  940. data/vendor/assets/javascripts/dijit/icons/commonIcons.css +151 -0
  941. data/vendor/assets/javascripts/dijit/icons/commonIcons_rtl.css +114 -0
  942. data/vendor/assets/javascripts/dijit/icons/editorIcons.css +57 -0
  943. data/vendor/assets/javascripts/dijit/icons/editorIcons_rtl.css +10 -0
  944. data/vendor/assets/javascripts/dijit/icons/images/commonIconsObjActDisabled.png +0 -0
  945. data/vendor/assets/javascripts/dijit/icons/images/commonIconsObjActDisabled_rtl.png +0 -0
  946. data/vendor/assets/javascripts/dijit/icons/images/commonIconsObjActEnabled.png +0 -0
  947. data/vendor/assets/javascripts/dijit/icons/images/commonIconsObjActEnabled8bit.png +0 -0
  948. data/vendor/assets/javascripts/dijit/icons/images/commonIconsObjActEnabled8bit_rtl.png +0 -0
  949. data/vendor/assets/javascripts/dijit/icons/images/commonIconsObjActEnabled_rtl.png +0 -0
  950. data/vendor/assets/javascripts/dijit/icons/images/editorIconsDisabled.png +0 -0
  951. data/vendor/assets/javascripts/dijit/icons/images/editorIconsDisabled_rtl.png +0 -0
  952. data/vendor/assets/javascripts/dijit/icons/images/editorIconsEnabled.png +0 -0
  953. data/vendor/assets/javascripts/dijit/icons/images/editorIconsEnabled_rtl.png +0 -0
  954. data/vendor/assets/javascripts/dijit/icons/images/loadingAnimation_rtl.gif +0 -0
  955. data/vendor/assets/javascripts/dijit/layout/AccordionContainer.js +214 -0
  956. data/vendor/assets/javascripts/dijit/layout/AccordionContainer.js.uncompressed.js +540 -0
  957. data/vendor/assets/javascripts/dijit/layout/AccordionPane.js +7 -0
  958. data/vendor/assets/javascripts/dijit/layout/AccordionPane.js.uncompressed.js +25 -0
  959. data/vendor/assets/javascripts/dijit/layout/BorderContainer.js +224 -0
  960. data/vendor/assets/javascripts/dijit/layout/BorderContainer.js.uncompressed.js +547 -0
  961. data/vendor/assets/javascripts/dijit/layout/ContentPane.js +233 -0
  962. data/vendor/assets/javascripts/dijit/layout/ContentPane.js.uncompressed.js +645 -0
  963. data/vendor/assets/javascripts/dijit/layout/LayoutContainer.js +21 -0
  964. data/vendor/assets/javascripts/dijit/layout/LayoutContainer.js.uncompressed.js +91 -0
  965. data/vendor/assets/javascripts/dijit/layout/LinkPane.js +10 -0
  966. data/vendor/assets/javascripts/dijit/layout/LinkPane.js.uncompressed.js +44 -0
  967. data/vendor/assets/javascripts/dijit/layout/ScrollingTabController.js +184 -0
  968. data/vendor/assets/javascripts/dijit/layout/ScrollingTabController.js.uncompressed.js +500 -0
  969. data/vendor/assets/javascripts/dijit/layout/SplitContainer.js +317 -0
  970. data/vendor/assets/javascripts/dijit/layout/SplitContainer.js.uncompressed.js +584 -0
  971. data/vendor/assets/javascripts/dijit/layout/StackContainer.js +156 -0
  972. data/vendor/assets/javascripts/dijit/layout/StackContainer.js.uncompressed.js +374 -0
  973. data/vendor/assets/javascripts/dijit/layout/StackController.js +200 -0
  974. data/vendor/assets/javascripts/dijit/layout/StackController.js.uncompressed.js +389 -0
  975. data/vendor/assets/javascripts/dijit/layout/TabContainer.js +12 -0
  976. data/vendor/assets/javascripts/dijit/layout/TabContainer.js.uncompressed.js +77 -0
  977. data/vendor/assets/javascripts/dijit/layout/TabController.js +53 -0
  978. data/vendor/assets/javascripts/dijit/layout/TabController.js.uncompressed.js +171 -0
  979. data/vendor/assets/javascripts/dijit/layout/_ContentPaneResizeMixin.js +97 -0
  980. data/vendor/assets/javascripts/dijit/layout/_ContentPaneResizeMixin.js.uncompressed.js +234 -0
  981. data/vendor/assets/javascripts/dijit/layout/_LayoutWidget.js +47 -0
  982. data/vendor/assets/javascripts/dijit/layout/_LayoutWidget.js.uncompressed.js +185 -0
  983. data/vendor/assets/javascripts/dijit/layout/_TabContainerBase.js +63 -0
  984. data/vendor/assets/javascripts/dijit/layout/_TabContainerBase.js.uncompressed.js +146 -0
  985. data/vendor/assets/javascripts/dijit/layout/utils.js +72 -0
  986. data/vendor/assets/javascripts/dijit/layout/utils.js.uncompressed.js +145 -0
  987. data/vendor/assets/javascripts/dijit/main.js +4 -0
  988. data/vendor/assets/javascripts/dijit/main.js.uncompressed.js +16 -0
  989. data/vendor/assets/javascripts/dijit/nls/ar/common.js +2 -0
  990. data/vendor/assets/javascripts/dijit/nls/ar/common.js.uncompressed.js +8 -0
  991. data/vendor/assets/javascripts/dijit/nls/ar/loading.js +2 -0
  992. data/vendor/assets/javascripts/dijit/nls/ar/loading.js.uncompressed.js +6 -0
  993. data/vendor/assets/javascripts/dijit/nls/az/common.js +2 -0
  994. data/vendor/assets/javascripts/dijit/nls/az/common.js.uncompressed.js +8 -0
  995. data/vendor/assets/javascripts/dijit/nls/az/loading.js +2 -0
  996. data/vendor/assets/javascripts/dijit/nls/az/loading.js.uncompressed.js +6 -0
  997. data/vendor/assets/javascripts/dijit/nls/ca/common.js +2 -0
  998. data/vendor/assets/javascripts/dijit/nls/ca/common.js.uncompressed.js +8 -0
  999. data/vendor/assets/javascripts/dijit/nls/ca/loading.js +2 -0
  1000. data/vendor/assets/javascripts/dijit/nls/ca/loading.js.uncompressed.js +6 -0
  1001. data/vendor/assets/javascripts/dijit/nls/common.js +2 -0
  1002. data/vendor/assets/javascripts/dijit/nls/common.js.uncompressed.js +42 -0
  1003. data/vendor/assets/javascripts/dijit/nls/cs/common.js +2 -0
  1004. data/vendor/assets/javascripts/dijit/nls/cs/common.js.uncompressed.js +8 -0
  1005. data/vendor/assets/javascripts/dijit/nls/cs/loading.js +2 -0
  1006. data/vendor/assets/javascripts/dijit/nls/cs/loading.js.uncompressed.js +6 -0
  1007. data/vendor/assets/javascripts/dijit/nls/da/common.js +2 -0
  1008. data/vendor/assets/javascripts/dijit/nls/da/common.js.uncompressed.js +8 -0
  1009. data/vendor/assets/javascripts/dijit/nls/da/loading.js +2 -0
  1010. data/vendor/assets/javascripts/dijit/nls/da/loading.js.uncompressed.js +6 -0
  1011. data/vendor/assets/javascripts/dijit/nls/de/common.js +2 -0
  1012. data/vendor/assets/javascripts/dijit/nls/de/common.js.uncompressed.js +8 -0
  1013. data/vendor/assets/javascripts/dijit/nls/de/loading.js +2 -0
  1014. data/vendor/assets/javascripts/dijit/nls/de/loading.js.uncompressed.js +6 -0
  1015. data/vendor/assets/javascripts/dijit/nls/dijit-all_ROOT.js +2 -0
  1016. data/vendor/assets/javascripts/dijit/nls/dijit-all_ROOT.js.uncompressed.js +21 -0
  1017. data/vendor/assets/javascripts/dijit/nls/dijit-all_ar.js +2 -0
  1018. data/vendor/assets/javascripts/dijit/nls/dijit-all_ar.js.uncompressed.js +21 -0
  1019. data/vendor/assets/javascripts/dijit/nls/dijit-all_ca.js +2 -0
  1020. data/vendor/assets/javascripts/dijit/nls/dijit-all_ca.js.uncompressed.js +21 -0
  1021. data/vendor/assets/javascripts/dijit/nls/dijit-all_cs.js +2 -0
  1022. data/vendor/assets/javascripts/dijit/nls/dijit-all_cs.js.uncompressed.js +21 -0
  1023. data/vendor/assets/javascripts/dijit/nls/dijit-all_da.js +2 -0
  1024. data/vendor/assets/javascripts/dijit/nls/dijit-all_da.js.uncompressed.js +21 -0
  1025. data/vendor/assets/javascripts/dijit/nls/dijit-all_de.js +2 -0
  1026. data/vendor/assets/javascripts/dijit/nls/dijit-all_de.js.uncompressed.js +21 -0
  1027. data/vendor/assets/javascripts/dijit/nls/dijit-all_el.js +2 -0
  1028. data/vendor/assets/javascripts/dijit/nls/dijit-all_el.js.uncompressed.js +21 -0
  1029. data/vendor/assets/javascripts/dijit/nls/dijit-all_en-gb.js +2 -0
  1030. data/vendor/assets/javascripts/dijit/nls/dijit-all_en-gb.js.uncompressed.js +21 -0
  1031. data/vendor/assets/javascripts/dijit/nls/dijit-all_en-us.js +2 -0
  1032. data/vendor/assets/javascripts/dijit/nls/dijit-all_en-us.js.uncompressed.js +21 -0
  1033. data/vendor/assets/javascripts/dijit/nls/dijit-all_es-es.js +2 -0
  1034. data/vendor/assets/javascripts/dijit/nls/dijit-all_es-es.js.uncompressed.js +21 -0
  1035. data/vendor/assets/javascripts/dijit/nls/dijit-all_fi-fi.js +2 -0
  1036. data/vendor/assets/javascripts/dijit/nls/dijit-all_fi-fi.js.uncompressed.js +21 -0
  1037. data/vendor/assets/javascripts/dijit/nls/dijit-all_fr-fr.js +2 -0
  1038. data/vendor/assets/javascripts/dijit/nls/dijit-all_fr-fr.js.uncompressed.js +21 -0
  1039. data/vendor/assets/javascripts/dijit/nls/dijit-all_he-il.js +2 -0
  1040. data/vendor/assets/javascripts/dijit/nls/dijit-all_he-il.js.uncompressed.js +21 -0
  1041. data/vendor/assets/javascripts/dijit/nls/dijit-all_hu.js +2 -0
  1042. data/vendor/assets/javascripts/dijit/nls/dijit-all_hu.js.uncompressed.js +21 -0
  1043. data/vendor/assets/javascripts/dijit/nls/dijit-all_it-it.js +2 -0
  1044. data/vendor/assets/javascripts/dijit/nls/dijit-all_it-it.js.uncompressed.js +21 -0
  1045. data/vendor/assets/javascripts/dijit/nls/dijit-all_ja-jp.js +2 -0
  1046. data/vendor/assets/javascripts/dijit/nls/dijit-all_ja-jp.js.uncompressed.js +21 -0
  1047. data/vendor/assets/javascripts/dijit/nls/dijit-all_ko-kr.js +2 -0
  1048. data/vendor/assets/javascripts/dijit/nls/dijit-all_ko-kr.js.uncompressed.js +21 -0
  1049. data/vendor/assets/javascripts/dijit/nls/dijit-all_nb.js +2 -0
  1050. data/vendor/assets/javascripts/dijit/nls/dijit-all_nb.js.uncompressed.js +21 -0
  1051. data/vendor/assets/javascripts/dijit/nls/dijit-all_nl-nl.js +2 -0
  1052. data/vendor/assets/javascripts/dijit/nls/dijit-all_nl-nl.js.uncompressed.js +21 -0
  1053. data/vendor/assets/javascripts/dijit/nls/dijit-all_pl.js +2 -0
  1054. data/vendor/assets/javascripts/dijit/nls/dijit-all_pl.js.uncompressed.js +21 -0
  1055. data/vendor/assets/javascripts/dijit/nls/dijit-all_pt-br.js +2 -0
  1056. data/vendor/assets/javascripts/dijit/nls/dijit-all_pt-br.js.uncompressed.js +21 -0
  1057. data/vendor/assets/javascripts/dijit/nls/dijit-all_pt-pt.js +2 -0
  1058. data/vendor/assets/javascripts/dijit/nls/dijit-all_pt-pt.js.uncompressed.js +21 -0
  1059. data/vendor/assets/javascripts/dijit/nls/dijit-all_ru.js +2 -0
  1060. data/vendor/assets/javascripts/dijit/nls/dijit-all_ru.js.uncompressed.js +21 -0
  1061. data/vendor/assets/javascripts/dijit/nls/dijit-all_sk.js +2 -0
  1062. data/vendor/assets/javascripts/dijit/nls/dijit-all_sk.js.uncompressed.js +21 -0
  1063. data/vendor/assets/javascripts/dijit/nls/dijit-all_sl.js +2 -0
  1064. data/vendor/assets/javascripts/dijit/nls/dijit-all_sl.js.uncompressed.js +21 -0
  1065. data/vendor/assets/javascripts/dijit/nls/dijit-all_sv.js +2 -0
  1066. data/vendor/assets/javascripts/dijit/nls/dijit-all_sv.js.uncompressed.js +21 -0
  1067. data/vendor/assets/javascripts/dijit/nls/dijit-all_th.js +2 -0
  1068. data/vendor/assets/javascripts/dijit/nls/dijit-all_th.js.uncompressed.js +21 -0
  1069. data/vendor/assets/javascripts/dijit/nls/dijit-all_tr.js +2 -0
  1070. data/vendor/assets/javascripts/dijit/nls/dijit-all_tr.js.uncompressed.js +21 -0
  1071. data/vendor/assets/javascripts/dijit/nls/dijit-all_zh-cn.js +2 -0
  1072. data/vendor/assets/javascripts/dijit/nls/dijit-all_zh-cn.js.uncompressed.js +21 -0
  1073. data/vendor/assets/javascripts/dijit/nls/dijit-all_zh-tw.js +2 -0
  1074. data/vendor/assets/javascripts/dijit/nls/dijit-all_zh-tw.js.uncompressed.js +21 -0
  1075. data/vendor/assets/javascripts/dijit/nls/el/common.js +2 -0
  1076. data/vendor/assets/javascripts/dijit/nls/el/common.js.uncompressed.js +8 -0
  1077. data/vendor/assets/javascripts/dijit/nls/el/loading.js +2 -0
  1078. data/vendor/assets/javascripts/dijit/nls/el/loading.js.uncompressed.js +6 -0
  1079. data/vendor/assets/javascripts/dijit/nls/es/common.js +2 -0
  1080. data/vendor/assets/javascripts/dijit/nls/es/common.js.uncompressed.js +8 -0
  1081. data/vendor/assets/javascripts/dijit/nls/es/loading.js +2 -0
  1082. data/vendor/assets/javascripts/dijit/nls/es/loading.js.uncompressed.js +6 -0
  1083. data/vendor/assets/javascripts/dijit/nls/fi/common.js +2 -0
  1084. data/vendor/assets/javascripts/dijit/nls/fi/common.js.uncompressed.js +8 -0
  1085. data/vendor/assets/javascripts/dijit/nls/fi/loading.js +2 -0
  1086. data/vendor/assets/javascripts/dijit/nls/fi/loading.js.uncompressed.js +6 -0
  1087. data/vendor/assets/javascripts/dijit/nls/fr/common.js +2 -0
  1088. data/vendor/assets/javascripts/dijit/nls/fr/common.js.uncompressed.js +8 -0
  1089. data/vendor/assets/javascripts/dijit/nls/fr/loading.js +2 -0
  1090. data/vendor/assets/javascripts/dijit/nls/fr/loading.js.uncompressed.js +6 -0
  1091. data/vendor/assets/javascripts/dijit/nls/he/common.js +2 -0
  1092. data/vendor/assets/javascripts/dijit/nls/he/common.js.uncompressed.js +8 -0
  1093. data/vendor/assets/javascripts/dijit/nls/he/loading.js +2 -0
  1094. data/vendor/assets/javascripts/dijit/nls/he/loading.js.uncompressed.js +6 -0
  1095. data/vendor/assets/javascripts/dijit/nls/hr/common.js +2 -0
  1096. data/vendor/assets/javascripts/dijit/nls/hr/common.js.uncompressed.js +8 -0
  1097. data/vendor/assets/javascripts/dijit/nls/hr/loading.js +2 -0
  1098. data/vendor/assets/javascripts/dijit/nls/hr/loading.js.uncompressed.js +6 -0
  1099. data/vendor/assets/javascripts/dijit/nls/hu/common.js +2 -0
  1100. data/vendor/assets/javascripts/dijit/nls/hu/common.js.uncompressed.js +8 -0
  1101. data/vendor/assets/javascripts/dijit/nls/hu/loading.js +2 -0
  1102. data/vendor/assets/javascripts/dijit/nls/hu/loading.js.uncompressed.js +6 -0
  1103. data/vendor/assets/javascripts/dijit/nls/it/common.js +2 -0
  1104. data/vendor/assets/javascripts/dijit/nls/it/common.js.uncompressed.js +8 -0
  1105. data/vendor/assets/javascripts/dijit/nls/it/loading.js +2 -0
  1106. data/vendor/assets/javascripts/dijit/nls/it/loading.js.uncompressed.js +6 -0
  1107. data/vendor/assets/javascripts/dijit/nls/ja/common.js +2 -0
  1108. data/vendor/assets/javascripts/dijit/nls/ja/common.js.uncompressed.js +8 -0
  1109. data/vendor/assets/javascripts/dijit/nls/ja/loading.js +2 -0
  1110. data/vendor/assets/javascripts/dijit/nls/ja/loading.js.uncompressed.js +6 -0
  1111. data/vendor/assets/javascripts/dijit/nls/kk/common.js +2 -0
  1112. data/vendor/assets/javascripts/dijit/nls/kk/common.js.uncompressed.js +8 -0
  1113. data/vendor/assets/javascripts/dijit/nls/kk/loading.js +2 -0
  1114. data/vendor/assets/javascripts/dijit/nls/kk/loading.js.uncompressed.js +6 -0
  1115. data/vendor/assets/javascripts/dijit/nls/ko/common.js +2 -0
  1116. data/vendor/assets/javascripts/dijit/nls/ko/common.js.uncompressed.js +8 -0
  1117. data/vendor/assets/javascripts/dijit/nls/ko/loading.js +2 -0
  1118. data/vendor/assets/javascripts/dijit/nls/ko/loading.js.uncompressed.js +6 -0
  1119. data/vendor/assets/javascripts/dijit/nls/loading.js +2 -0
  1120. data/vendor/assets/javascripts/dijit/nls/loading.js.uncompressed.js +40 -0
  1121. data/vendor/assets/javascripts/dijit/nls/nb/common.js +2 -0
  1122. data/vendor/assets/javascripts/dijit/nls/nb/common.js.uncompressed.js +8 -0
  1123. data/vendor/assets/javascripts/dijit/nls/nb/loading.js +2 -0
  1124. data/vendor/assets/javascripts/dijit/nls/nb/loading.js.uncompressed.js +6 -0
  1125. data/vendor/assets/javascripts/dijit/nls/nl/common.js +2 -0
  1126. data/vendor/assets/javascripts/dijit/nls/nl/common.js.uncompressed.js +8 -0
  1127. data/vendor/assets/javascripts/dijit/nls/nl/loading.js +2 -0
  1128. data/vendor/assets/javascripts/dijit/nls/nl/loading.js.uncompressed.js +6 -0
  1129. data/vendor/assets/javascripts/dijit/nls/pl/common.js +2 -0
  1130. data/vendor/assets/javascripts/dijit/nls/pl/common.js.uncompressed.js +8 -0
  1131. data/vendor/assets/javascripts/dijit/nls/pl/loading.js +2 -0
  1132. data/vendor/assets/javascripts/dijit/nls/pl/loading.js.uncompressed.js +6 -0
  1133. data/vendor/assets/javascripts/dijit/nls/pt/common.js +2 -0
  1134. data/vendor/assets/javascripts/dijit/nls/pt/common.js.uncompressed.js +8 -0
  1135. data/vendor/assets/javascripts/dijit/nls/pt/loading.js +2 -0
  1136. data/vendor/assets/javascripts/dijit/nls/pt/loading.js.uncompressed.js +6 -0
  1137. data/vendor/assets/javascripts/dijit/nls/pt-pt/common.js +2 -0
  1138. data/vendor/assets/javascripts/dijit/nls/pt-pt/common.js.uncompressed.js +8 -0
  1139. data/vendor/assets/javascripts/dijit/nls/pt-pt/loading.js +2 -0
  1140. data/vendor/assets/javascripts/dijit/nls/pt-pt/loading.js.uncompressed.js +6 -0
  1141. data/vendor/assets/javascripts/dijit/nls/ro/common.js +2 -0
  1142. data/vendor/assets/javascripts/dijit/nls/ro/common.js.uncompressed.js +8 -0
  1143. data/vendor/assets/javascripts/dijit/nls/ro/loading.js +2 -0
  1144. data/vendor/assets/javascripts/dijit/nls/ro/loading.js.uncompressed.js +6 -0
  1145. data/vendor/assets/javascripts/dijit/nls/ru/common.js +2 -0
  1146. data/vendor/assets/javascripts/dijit/nls/ru/common.js.uncompressed.js +8 -0
  1147. data/vendor/assets/javascripts/dijit/nls/ru/loading.js +2 -0
  1148. data/vendor/assets/javascripts/dijit/nls/ru/loading.js.uncompressed.js +6 -0
  1149. data/vendor/assets/javascripts/dijit/nls/sk/common.js +2 -0
  1150. data/vendor/assets/javascripts/dijit/nls/sk/common.js.uncompressed.js +8 -0
  1151. data/vendor/assets/javascripts/dijit/nls/sk/loading.js +2 -0
  1152. data/vendor/assets/javascripts/dijit/nls/sk/loading.js.uncompressed.js +6 -0
  1153. data/vendor/assets/javascripts/dijit/nls/sl/common.js +2 -0
  1154. data/vendor/assets/javascripts/dijit/nls/sl/common.js.uncompressed.js +8 -0
  1155. data/vendor/assets/javascripts/dijit/nls/sl/loading.js +2 -0
  1156. data/vendor/assets/javascripts/dijit/nls/sl/loading.js.uncompressed.js +6 -0
  1157. data/vendor/assets/javascripts/dijit/nls/sv/common.js +2 -0
  1158. data/vendor/assets/javascripts/dijit/nls/sv/common.js.uncompressed.js +8 -0
  1159. data/vendor/assets/javascripts/dijit/nls/sv/loading.js +2 -0
  1160. data/vendor/assets/javascripts/dijit/nls/sv/loading.js.uncompressed.js +6 -0
  1161. data/vendor/assets/javascripts/dijit/nls/th/common.js +2 -0
  1162. data/vendor/assets/javascripts/dijit/nls/th/common.js.uncompressed.js +8 -0
  1163. data/vendor/assets/javascripts/dijit/nls/th/loading.js +2 -0
  1164. data/vendor/assets/javascripts/dijit/nls/th/loading.js.uncompressed.js +6 -0
  1165. data/vendor/assets/javascripts/dijit/nls/tr/common.js +2 -0
  1166. data/vendor/assets/javascripts/dijit/nls/tr/common.js.uncompressed.js +8 -0
  1167. data/vendor/assets/javascripts/dijit/nls/tr/loading.js +2 -0
  1168. data/vendor/assets/javascripts/dijit/nls/tr/loading.js.uncompressed.js +6 -0
  1169. data/vendor/assets/javascripts/dijit/nls/zh/common.js +2 -0
  1170. data/vendor/assets/javascripts/dijit/nls/zh/common.js.uncompressed.js +8 -0
  1171. data/vendor/assets/javascripts/dijit/nls/zh/loading.js +2 -0
  1172. data/vendor/assets/javascripts/dijit/nls/zh/loading.js.uncompressed.js +6 -0
  1173. data/vendor/assets/javascripts/dijit/nls/zh-tw/common.js +2 -0
  1174. data/vendor/assets/javascripts/dijit/nls/zh-tw/common.js.uncompressed.js +8 -0
  1175. data/vendor/assets/javascripts/dijit/nls/zh-tw/loading.js +2 -0
  1176. data/vendor/assets/javascripts/dijit/nls/zh-tw/loading.js.uncompressed.js +6 -0
  1177. data/vendor/assets/javascripts/dijit/package.json +26 -0
  1178. data/vendor/assets/javascripts/dijit/place.js +126 -0
  1179. data/vendor/assets/javascripts/dijit/place.js.uncompressed.js +367 -0
  1180. data/vendor/assets/javascripts/dijit/popup.js +101 -0
  1181. data/vendor/assets/javascripts/dijit/popup.js.uncompressed.js +318 -0
  1182. data/vendor/assets/javascripts/dijit/registry.js +79 -0
  1183. data/vendor/assets/javascripts/dijit/registry.js.uncompressed.js +161 -0
  1184. data/vendor/assets/javascripts/dijit/tree/ForestStoreModel.js +77 -0
  1185. data/vendor/assets/javascripts/dijit/tree/ForestStoreModel.js.uncompressed.js +279 -0
  1186. data/vendor/assets/javascripts/dijit/tree/ObjectStoreModel.js +68 -0
  1187. data/vendor/assets/javascripts/dijit/tree/ObjectStoreModel.js.uncompressed.js +252 -0
  1188. data/vendor/assets/javascripts/dijit/tree/TreeStoreModel.js +146 -0
  1189. data/vendor/assets/javascripts/dijit/tree/TreeStoreModel.js.uncompressed.js +379 -0
  1190. data/vendor/assets/javascripts/dijit/tree/_dndContainer.js +35 -0
  1191. data/vendor/assets/javascripts/dijit/tree/_dndContainer.js.uncompressed.js +165 -0
  1192. data/vendor/assets/javascripts/dijit/tree/_dndSelector.js +186 -0
  1193. data/vendor/assets/javascripts/dijit/tree/_dndSelector.js.uncompressed.js +352 -0
  1194. data/vendor/assets/javascripts/dijit/tree/dndSource.js +256 -0
  1195. data/vendor/assets/javascripts/dijit/tree/dndSource.js.uncompressed.js +564 -0
  1196. data/vendor/assets/javascripts/dijit/tree/model.js +16 -0
  1197. data/vendor/assets/javascripts/dijit/tree/model.js.uncompressed.js +150 -0
  1198. data/vendor/assets/javascripts/dijit/typematic.js +103 -0
  1199. data/vendor/assets/javascripts/dijit/typematic.js.uncompressed.js +201 -0
  1200. data/vendor/assets/stylesheets/css/claro/Calendar.css +230 -0
  1201. data/vendor/assets/stylesheets/css/claro/Calendar_rtl.css +18 -0
  1202. data/vendor/assets/stylesheets/css/claro/ColorPalette.css +17 -0
  1203. data/vendor/assets/stylesheets/css/claro/Common.css +93 -0
  1204. data/vendor/assets/stylesheets/css/claro/Dialog.css +170 -0
  1205. data/vendor/assets/stylesheets/css/claro/Dialog_rtl.css +9 -0
  1206. data/vendor/assets/stylesheets/css/claro/Editor.css +34 -0
  1207. data/vendor/assets/stylesheets/css/claro/Editor_rtl.css +4 -0
  1208. data/vendor/assets/stylesheets/css/claro/Editor_rtl.less +9 -0
  1209. data/vendor/assets/stylesheets/css/claro/InlineEditBox.css +11 -0
  1210. data/vendor/assets/stylesheets/css/claro/Menu.css +144 -0
  1211. data/vendor/assets/stylesheets/css/claro/Menu_rtl.css +8 -0
  1212. data/vendor/assets/stylesheets/css/claro/ProgressBar.css +40 -0
  1213. data/vendor/assets/stylesheets/css/claro/README +11 -0
  1214. data/vendor/assets/stylesheets/css/claro/TimePicker.css +104 -0
  1215. data/vendor/assets/stylesheets/css/claro/TimePicker_rtl.css +9 -0
  1216. data/vendor/assets/stylesheets/css/claro/TitlePane.css +61 -0
  1217. data/vendor/assets/stylesheets/css/claro/TitlePane_rtl.css +4 -0
  1218. data/vendor/assets/stylesheets/css/claro/Toolbar.css +167 -0
  1219. data/vendor/assets/stylesheets/css/claro/Toolbar_rtl.css +26 -0
  1220. data/vendor/assets/stylesheets/css/claro/Tree.css +107 -0
  1221. data/vendor/assets/stylesheets/css/claro/claro.css +4838 -0
  1222. data/vendor/assets/stylesheets/css/claro/claro_rtl.css +354 -0
  1223. data/vendor/assets/stylesheets/css/claro/document.css +133 -0
  1224. data/vendor/assets/stylesheets/css/claro/form/Button.css +133 -0
  1225. data/vendor/assets/stylesheets/css/claro/form/Button_rtl.css +12 -0
  1226. data/vendor/assets/stylesheets/css/claro/form/Checkbox.css +44 -0
  1227. data/vendor/assets/stylesheets/css/claro/form/Common.css +181 -0
  1228. data/vendor/assets/stylesheets/css/claro/form/Common_rtl.css +5 -0
  1229. data/vendor/assets/stylesheets/css/claro/form/NumberSpinner.css +115 -0
  1230. data/vendor/assets/stylesheets/css/claro/form/RadioButton.css +51 -0
  1231. data/vendor/assets/stylesheets/css/claro/form/Select.css +72 -0
  1232. data/vendor/assets/stylesheets/css/claro/form/Slider.css +266 -0
  1233. data/vendor/assets/stylesheets/css/claro/form/Slider_rtl.css +24 -0
  1234. data/vendor/assets/stylesheets/css/claro/layout/AccordionContainer.css +94 -0
  1235. data/vendor/assets/stylesheets/css/claro/layout/AccordionContainer.less +109 -0
  1236. data/vendor/assets/stylesheets/css/claro/layout/BorderContainer.css +70 -0
  1237. data/vendor/assets/stylesheets/css/claro/layout/BorderContainer.less +124 -0
  1238. data/vendor/assets/stylesheets/css/claro/layout/ContentPane.css +16 -0
  1239. data/vendor/assets/stylesheets/css/claro/layout/ContentPane.less +43 -0
  1240. data/vendor/assets/stylesheets/css/claro/layout/TabContainer.css +322 -0
  1241. data/vendor/assets/stylesheets/css/claro/layout/TabContainer.less +366 -0
  1242. data/vendor/assets/stylesheets/css/claro/layout/TabContainer_rtl.css +4 -0
  1243. data/vendor/assets/stylesheets/css/claro/layout/TabContainer_rtl.less +7 -0
  1244. data/vendor/assets/stylesheets/css/claro/layout/images/tabBottomSelected.png +0 -0
  1245. data/vendor/assets/stylesheets/css/claro/layout/images/tabBottomSelected.svg +18 -0
  1246. data/vendor/assets/stylesheets/css/claro/layout/images/tabBottomUnselected.png +0 -0
  1247. data/vendor/assets/stylesheets/css/claro/layout/images/tabBottomUnselected.svg +19 -0
  1248. data/vendor/assets/stylesheets/css/claro/layout/images/tabClose.png +0 -0
  1249. data/vendor/assets/stylesheets/css/claro/layout/images/tabLeftSelected.png +0 -0
  1250. data/vendor/assets/stylesheets/css/claro/layout/images/tabLeftSelected.svg +17 -0
  1251. data/vendor/assets/stylesheets/css/claro/layout/images/tabLeftUnselected.png +0 -0
  1252. data/vendor/assets/stylesheets/css/claro/layout/images/tabLeftUnselected.svg +16 -0
  1253. data/vendor/assets/stylesheets/css/claro/layout/images/tabNested.png +0 -0
  1254. data/vendor/assets/stylesheets/css/claro/layout/images/tabRightSelected.png +0 -0
  1255. data/vendor/assets/stylesheets/css/claro/layout/images/tabRightSelected.svg +17 -0
  1256. data/vendor/assets/stylesheets/css/claro/layout/images/tabRightUnselected.png +0 -0
  1257. data/vendor/assets/stylesheets/css/claro/layout/images/tabRightUnselected.svg +16 -0
  1258. data/vendor/assets/stylesheets/css/claro/layout/images/tabTopSelected.png +0 -0
  1259. data/vendor/assets/stylesheets/css/claro/layout/images/tabTopSelected.svg +18 -0
  1260. data/vendor/assets/stylesheets/css/claro/layout/images/tabTopUnselected.png +0 -0
  1261. data/vendor/assets/stylesheets/css/claro/layout/images/tabTopUnselected.svg +19 -0
  1262. data/vendor/assets/stylesheets/css/dijit.css +1758 -0
  1263. data/vendor/assets/stylesheets/css/dijit_rtl.css +115 -0
  1264. data/vendor/assets/stylesheets/css/nihilo/Calendar.css +135 -0
  1265. data/vendor/assets/stylesheets/css/nihilo/Calendar_rtl.css +7 -0
  1266. data/vendor/assets/stylesheets/css/nihilo/ColorPalette.css +5 -0
  1267. data/vendor/assets/stylesheets/css/nihilo/Common.css +12 -0
  1268. data/vendor/assets/stylesheets/css/nihilo/Dialog.css +123 -0
  1269. data/vendor/assets/stylesheets/css/nihilo/Dialog_rtl.css +5 -0
  1270. data/vendor/assets/stylesheets/css/nihilo/Editor.css +13 -0
  1271. data/vendor/assets/stylesheets/css/nihilo/Editor_rtl.css +7 -0
  1272. data/vendor/assets/stylesheets/css/nihilo/Menu.css +63 -0
  1273. data/vendor/assets/stylesheets/css/nihilo/Menu_rtl.css +8 -0
  1274. data/vendor/assets/stylesheets/css/nihilo/ProgressBar.css +24 -0
  1275. data/vendor/assets/stylesheets/css/nihilo/TimePicker.css +42 -0
  1276. data/vendor/assets/stylesheets/css/nihilo/TimePicker_rtl.css +4 -0
  1277. data/vendor/assets/stylesheets/css/nihilo/TitlePane.css +45 -0
  1278. data/vendor/assets/stylesheets/css/nihilo/TitlePane_rtl.css +6 -0
  1279. data/vendor/assets/stylesheets/css/nihilo/Toolbar.css +56 -0
  1280. data/vendor/assets/stylesheets/css/nihilo/Tree.css +75 -0
  1281. data/vendor/assets/stylesheets/css/nihilo/Tree_rtl.css +18 -0
  1282. data/vendor/assets/stylesheets/css/nihilo/form/Button.css +108 -0
  1283. data/vendor/assets/stylesheets/css/nihilo/form/Button_rtl.css +3 -0
  1284. data/vendor/assets/stylesheets/css/nihilo/form/Checkbox.css +40 -0
  1285. data/vendor/assets/stylesheets/css/nihilo/form/Common.css +60 -0
  1286. data/vendor/assets/stylesheets/css/nihilo/form/RadioButton.css +40 -0
  1287. data/vendor/assets/stylesheets/css/nihilo/form/Select.css +39 -0
  1288. data/vendor/assets/stylesheets/css/nihilo/form/Slider.css +120 -0
  1289. data/vendor/assets/stylesheets/css/nihilo/form/Slider_rtl.css +29 -0
  1290. data/vendor/assets/stylesheets/css/nihilo/form/TimeTextBox.css +1 -0
  1291. data/vendor/assets/stylesheets/css/nihilo/layout/AccordionContainer.css +35 -0
  1292. data/vendor/assets/stylesheets/css/nihilo/layout/AccordionContainer_rtl.css +7 -0
  1293. data/vendor/assets/stylesheets/css/nihilo/layout/BorderContainer.css +59 -0
  1294. data/vendor/assets/stylesheets/css/nihilo/layout/ContentPane.css +17 -0
  1295. data/vendor/assets/stylesheets/css/nihilo/layout/SplitContainer.css +27 -0
  1296. data/vendor/assets/stylesheets/css/nihilo/layout/TabContainer.css +364 -0
  1297. data/vendor/assets/stylesheets/css/nihilo/layout/TabContainer_rtl.css +34 -0
  1298. data/vendor/assets/stylesheets/css/nihilo/nihilo.css +3450 -0
  1299. data/vendor/assets/stylesheets/css/nihilo/nihilo_rtl.css +247 -0
  1300. data/vendor/assets/stylesheets/css/soria/Calendar.css +135 -0
  1301. data/vendor/assets/stylesheets/css/soria/Calendar_rtl.css +7 -0
  1302. data/vendor/assets/stylesheets/css/soria/ColorPalette.css +5 -0
  1303. data/vendor/assets/stylesheets/css/soria/Common.css +17 -0
  1304. data/vendor/assets/stylesheets/css/soria/Dialog.css +126 -0
  1305. data/vendor/assets/stylesheets/css/soria/Dialog_rtl.css +5 -0
  1306. data/vendor/assets/stylesheets/css/soria/Editor.css +13 -0
  1307. data/vendor/assets/stylesheets/css/soria/Editor_rtl.css +7 -0
  1308. data/vendor/assets/stylesheets/css/soria/Menu.css +63 -0
  1309. data/vendor/assets/stylesheets/css/soria/Menu_rtl.css +8 -0
  1310. data/vendor/assets/stylesheets/css/soria/ProgressBar.css +24 -0
  1311. data/vendor/assets/stylesheets/css/soria/TimePicker.css +42 -0
  1312. data/vendor/assets/stylesheets/css/soria/TimePicker_rtl.css +4 -0
  1313. data/vendor/assets/stylesheets/css/soria/TitlePane.css +48 -0
  1314. data/vendor/assets/stylesheets/css/soria/TitlePane_rtl.css +6 -0
  1315. data/vendor/assets/stylesheets/css/soria/Toolbar.css +56 -0
  1316. data/vendor/assets/stylesheets/css/soria/Tree.css +78 -0
  1317. data/vendor/assets/stylesheets/css/soria/Tree_rtl.css +18 -0
  1318. data/vendor/assets/stylesheets/css/soria/form/Button.css +105 -0
  1319. data/vendor/assets/stylesheets/css/soria/form/Button_rtl.css +3 -0
  1320. data/vendor/assets/stylesheets/css/soria/form/Checkbox.css +40 -0
  1321. data/vendor/assets/stylesheets/css/soria/form/Common.css +60 -0
  1322. data/vendor/assets/stylesheets/css/soria/form/RadioButton.css +40 -0
  1323. data/vendor/assets/stylesheets/css/soria/form/Select.css +41 -0
  1324. data/vendor/assets/stylesheets/css/soria/form/Slider.css +122 -0
  1325. data/vendor/assets/stylesheets/css/soria/form/Slider_rtl.css +29 -0
  1326. data/vendor/assets/stylesheets/css/soria/form/TimeTextBox.css +1 -0
  1327. data/vendor/assets/stylesheets/css/soria/layout/AccordionContainer.css +35 -0
  1328. data/vendor/assets/stylesheets/css/soria/layout/AccordionContainer_rtl.css +7 -0
  1329. data/vendor/assets/stylesheets/css/soria/layout/BorderContainer.css +59 -0
  1330. data/vendor/assets/stylesheets/css/soria/layout/ContentPane.css +17 -0
  1331. data/vendor/assets/stylesheets/css/soria/layout/SplitContainer.css +27 -0
  1332. data/vendor/assets/stylesheets/css/soria/layout/TabContainer.css +297 -0
  1333. data/vendor/assets/stylesheets/css/soria/layout/TabContainer_rtl.css +34 -0
  1334. data/vendor/assets/stylesheets/css/soria/soria.css +3396 -0
  1335. data/vendor/assets/stylesheets/css/soria/soria_rtl.css +248 -0
  1336. data/vendor/assets/stylesheets/css/tundra/Calendar.css +136 -0
  1337. data/vendor/assets/stylesheets/css/tundra/Calendar_rtl.css +7 -0
  1338. data/vendor/assets/stylesheets/css/tundra/ColorPalette.css +5 -0
  1339. data/vendor/assets/stylesheets/css/tundra/Common.css +27 -0
  1340. data/vendor/assets/stylesheets/css/tundra/Dialog.css +129 -0
  1341. data/vendor/assets/stylesheets/css/tundra/Dialog_rtl.css +5 -0
  1342. data/vendor/assets/stylesheets/css/tundra/Editor.css +14 -0
  1343. data/vendor/assets/stylesheets/css/tundra/Editor_rtl.css +7 -0
  1344. data/vendor/assets/stylesheets/css/tundra/Menu.css +62 -0
  1345. data/vendor/assets/stylesheets/css/tundra/Menu_rtl.css +3 -0
  1346. data/vendor/assets/stylesheets/css/tundra/ProgressBar.css +23 -0
  1347. data/vendor/assets/stylesheets/css/tundra/TimePicker.css +42 -0
  1348. data/vendor/assets/stylesheets/css/tundra/TimePicker_rtl.css +4 -0
  1349. data/vendor/assets/stylesheets/css/tundra/TitlePane.css +34 -0
  1350. data/vendor/assets/stylesheets/css/tundra/TitlePane_rtl.css +3 -0
  1351. data/vendor/assets/stylesheets/css/tundra/Toolbar.css +64 -0
  1352. data/vendor/assets/stylesheets/css/tundra/Tree.css +72 -0
  1353. data/vendor/assets/stylesheets/css/tundra/Tree_rtl.css +13 -0
  1354. data/vendor/assets/stylesheets/css/tundra/form/Button.css +120 -0
  1355. data/vendor/assets/stylesheets/css/tundra/form/Checkbox.css +45 -0
  1356. data/vendor/assets/stylesheets/css/tundra/form/Common.css +56 -0
  1357. data/vendor/assets/stylesheets/css/tundra/form/RadioButton.css +44 -0
  1358. data/vendor/assets/stylesheets/css/tundra/form/Select.css +41 -0
  1359. data/vendor/assets/stylesheets/css/tundra/form/Slider.css +129 -0
  1360. data/vendor/assets/stylesheets/css/tundra/form/Slider_rtl.css +26 -0
  1361. data/vendor/assets/stylesheets/css/tundra/layout/AccordionContainer.css +20 -0
  1362. data/vendor/assets/stylesheets/css/tundra/layout/BorderContainer.css +55 -0
  1363. data/vendor/assets/stylesheets/css/tundra/layout/ContentPane.css +17 -0
  1364. data/vendor/assets/stylesheets/css/tundra/layout/SplitContainer.css +28 -0
  1365. data/vendor/assets/stylesheets/css/tundra/layout/TabContainer.css +234 -0
  1366. data/vendor/assets/stylesheets/css/tundra/layout/TabContainer_rtl.css +3 -0
  1367. data/vendor/assets/stylesheets/css/tundra/tundra.css +3540 -0
  1368. data/vendor/assets/stylesheets/css/tundra/tundra_rtl.css +192 -0
  1369. metadata +1371 -3
@@ -0,0 +1,1909 @@
1
+ require({cache:{
2
+ 'url:dijit/templates/TreeNode.html':"<div class=\"dijitTreeNode\" role=\"presentation\"\n\t><div data-dojo-attach-point=\"rowNode\" class=\"dijitTreeRow dijitInline\" role=\"presentation\"\n\t\t><div data-dojo-attach-point=\"indentNode\" class=\"dijitInline\"></div\n\t\t><img src=\"${_blankGif}\" alt=\"\" data-dojo-attach-point=\"expandoNode\" class=\"dijitTreeExpando\" role=\"presentation\"\n\t\t/><span data-dojo-attach-point=\"expandoNodeText\" class=\"dijitExpandoText\" role=\"presentation\"\n\t\t></span\n\t\t><span data-dojo-attach-point=\"contentNode\"\n\t\t\tclass=\"dijitTreeContent\" role=\"presentation\">\n\t\t\t<img src=\"${_blankGif}\" alt=\"\" data-dojo-attach-point=\"iconNode\" class=\"dijitIcon dijitTreeIcon\" role=\"presentation\"\n\t\t\t/><span data-dojo-attach-point=\"labelNode\" class=\"dijitTreeLabel\" role=\"treeitem\" tabindex=\"-1\" aria-selected=\"false\"></span>\n\t\t</span\n\t></div>\n\t<div data-dojo-attach-point=\"containerNode\" class=\"dijitTreeContainer\" role=\"presentation\" style=\"display: none;\"></div>\n</div>\n",
3
+ 'url:dijit/templates/Tree.html':"<div class=\"dijitTree dijitTreeContainer\" role=\"tree\">\n\t<div class=\"dijitInline dijitTreeIndent\" style=\"position: absolute; top: -9999px\" data-dojo-attach-point=\"indentDetector\"></div>\n</div>\n"}});
4
+ define("dijit/Tree", [
5
+ "dojo/_base/array", // array.filter array.forEach array.map
6
+ "dojo/_base/connect", // connect.isCopyKey()
7
+ "dojo/cookie", // cookie
8
+ "dojo/_base/declare", // declare
9
+ "dojo/Deferred", // Deferred
10
+ "dojo/DeferredList", // DeferredList
11
+ "dojo/dom", // dom.isDescendant
12
+ "dojo/dom-class", // domClass.add domClass.remove domClass.replace domClass.toggle
13
+ "dojo/dom-geometry", // domGeometry.setMarginBox domGeometry.position
14
+ "dojo/dom-style",// domStyle.set
15
+ "dojo/_base/event", // event.stop
16
+ "dojo/errors/create", // createError
17
+ "dojo/fx", // fxUtils.wipeIn fxUtils.wipeOut
18
+ "dojo/_base/kernel", // kernel.deprecated
19
+ "dojo/keys", // arrows etc.
20
+ "dojo/_base/lang", // lang.getObject lang.mixin lang.hitch
21
+ "dojo/on", // on(), on.selector()
22
+ "dojo/topic",
23
+ "dojo/touch",
24
+ "dojo/when",
25
+ "./focus",
26
+ "./registry", // registry.byNode(), registry.getEnclosingWidget()
27
+ "./_base/manager", // manager.defaultDuration
28
+ "./_Widget",
29
+ "./_TemplatedMixin",
30
+ "./_Container",
31
+ "./_Contained",
32
+ "./_CssStateMixin",
33
+ "dojo/text!./templates/TreeNode.html",
34
+ "dojo/text!./templates/Tree.html",
35
+ "./tree/TreeStoreModel",
36
+ "./tree/ForestStoreModel",
37
+ "./tree/_dndSelector"
38
+ ], function(array, connect, cookie, declare, Deferred, DeferredList,
39
+ dom, domClass, domGeometry, domStyle, event, createError, fxUtils, kernel, keys, lang, on, topic, touch, when,
40
+ focus, registry, manager, _Widget, _TemplatedMixin, _Container, _Contained, _CssStateMixin,
41
+ treeNodeTemplate, treeTemplate, TreeStoreModel, ForestStoreModel, _dndSelector){
42
+
43
+ // module:
44
+ // dijit/Tree
45
+
46
+ // Back-compat shim
47
+ Deferred = declare(Deferred, {
48
+ addCallback: function(callback){ this.then(callback); },
49
+ addErrback: function(errback){ this.then(null, errback); }
50
+ });
51
+
52
+ var TreeNode = declare(
53
+ "dijit._TreeNode",
54
+ [_Widget, _TemplatedMixin, _Container, _Contained, _CssStateMixin],
55
+ {
56
+ // summary:
57
+ // Single node within a tree. This class is used internally
58
+ // by Tree and should not be accessed directly.
59
+ // tags:
60
+ // private
61
+
62
+ // item: [const] Item
63
+ // the dojo.data entry this tree represents
64
+ item: null,
65
+
66
+ // isTreeNode: [protected] Boolean
67
+ // Indicates that this is a TreeNode. Used by `dijit.Tree` only,
68
+ // should not be accessed directly.
69
+ isTreeNode: true,
70
+
71
+ // label: String
72
+ // Text of this tree node
73
+ label: "",
74
+ _setLabelAttr: {node: "labelNode", type: "innerText"},
75
+
76
+ // isExpandable: [private] Boolean
77
+ // This node has children, so show the expando node (+ sign)
78
+ isExpandable: null,
79
+
80
+ // isExpanded: [readonly] Boolean
81
+ // This node is currently expanded (ie, opened)
82
+ isExpanded: false,
83
+
84
+ // state: [private] String
85
+ // Dynamic loading-related stuff.
86
+ // When an empty folder node appears, it is "UNCHECKED" first,
87
+ // then after dojo.data query it becomes "LOADING" and, finally "LOADED"
88
+ state: "UNCHECKED",
89
+
90
+ templateString: treeNodeTemplate,
91
+
92
+ baseClass: "dijitTreeNode",
93
+
94
+ // For hover effect for tree node, and focus effect for label
95
+ cssStateNodes: {
96
+ rowNode: "dijitTreeRow"
97
+ },
98
+
99
+ // Tooltip is defined in _WidgetBase but we need to handle the mapping to DOM here
100
+ _setTooltipAttr: {node: "rowNode", type: "attribute", attribute: "title"},
101
+
102
+ buildRendering: function(){
103
+ this.inherited(arguments);
104
+
105
+ // set expand icon for leaf
106
+ this._setExpando();
107
+
108
+ // set icon and label class based on item
109
+ this._updateItemClasses(this.item);
110
+
111
+ if(this.isExpandable){
112
+ this.labelNode.setAttribute("aria-expanded", this.isExpanded);
113
+ }
114
+
115
+ //aria-selected should be false on all selectable elements.
116
+ this.setSelected(false);
117
+ },
118
+
119
+ _setIndentAttr: function(indent){
120
+ // summary:
121
+ // Tell this node how many levels it should be indented
122
+ // description:
123
+ // 0 for top level nodes, 1 for their children, 2 for their
124
+ // grandchildren, etc.
125
+
126
+ // Math.max() is to prevent negative padding on hidden root node (when indent == -1)
127
+ var pixels = (Math.max(indent, 0) * this.tree._nodePixelIndent) + "px";
128
+
129
+ domStyle.set(this.domNode, "backgroundPosition", pixels + " 0px"); // TODOC: what is this for???
130
+ domStyle.set(this.indentNode, this.isLeftToRight() ? "paddingLeft" : "paddingRight", pixels);
131
+
132
+ array.forEach(this.getChildren(), function(child){
133
+ child.set("indent", indent+1);
134
+ });
135
+
136
+ this._set("indent", indent);
137
+ },
138
+
139
+ markProcessing: function(){
140
+ // summary:
141
+ // Visually denote that tree is loading data, etc.
142
+ // tags:
143
+ // private
144
+ this.state = "LOADING";
145
+ this._setExpando(true);
146
+ },
147
+
148
+ unmarkProcessing: function(){
149
+ // summary:
150
+ // Clear markup from markProcessing() call
151
+ // tags:
152
+ // private
153
+ this._setExpando(false);
154
+ },
155
+
156
+ _updateItemClasses: function(item){
157
+ // summary:
158
+ // Set appropriate CSS classes for icon and label dom node
159
+ // (used to allow for item updates to change respective CSS)
160
+ // tags:
161
+ // private
162
+ var tree = this.tree, model = tree.model;
163
+ if(tree._v10Compat && item === model.root){
164
+ // For back-compat with 1.0, need to use null to specify root item (TODO: remove in 2.0)
165
+ item = null;
166
+ }
167
+ this._applyClassAndStyle(item, "icon", "Icon");
168
+ this._applyClassAndStyle(item, "label", "Label");
169
+ this._applyClassAndStyle(item, "row", "Row");
170
+
171
+ this.tree._startPaint(true); // signifies paint started and finished (synchronously)
172
+ },
173
+
174
+ _applyClassAndStyle: function(item, lower, upper){
175
+ // summary:
176
+ // Set the appropriate CSS classes and styles for labels, icons and rows.
177
+ //
178
+ // item:
179
+ // The data item.
180
+ //
181
+ // lower:
182
+ // The lower case attribute to use, e.g. 'icon', 'label' or 'row'.
183
+ //
184
+ // upper:
185
+ // The upper case attribute to use, e.g. 'Icon', 'Label' or 'Row'.
186
+ //
187
+ // tags:
188
+ // private
189
+
190
+ var clsName = "_" + lower + "Class";
191
+ var nodeName = lower + "Node";
192
+ var oldCls = this[clsName];
193
+
194
+ this[clsName] = this.tree["get" + upper + "Class"](item, this.isExpanded);
195
+ domClass.replace(this[nodeName], this[clsName] || "", oldCls || "");
196
+
197
+ domStyle.set(this[nodeName], this.tree["get" + upper + "Style"](item, this.isExpanded) || {});
198
+ },
199
+
200
+ _updateLayout: function(){
201
+ // summary:
202
+ // Set appropriate CSS classes for this.domNode
203
+ // tags:
204
+ // private
205
+ var parent = this.getParent();
206
+ if(!parent || !parent.rowNode || parent.rowNode.style.display == "none"){
207
+ /* if we are hiding the root node then make every first level child look like a root node */
208
+ domClass.add(this.domNode, "dijitTreeIsRoot");
209
+ }else{
210
+ domClass.toggle(this.domNode, "dijitTreeIsLast", !this.getNextSibling());
211
+ }
212
+ },
213
+
214
+ _setExpando: function(/*Boolean*/ processing){
215
+ // summary:
216
+ // Set the right image for the expando node
217
+ // tags:
218
+ // private
219
+
220
+ var styles = ["dijitTreeExpandoLoading", "dijitTreeExpandoOpened",
221
+ "dijitTreeExpandoClosed", "dijitTreeExpandoLeaf"],
222
+ _a11yStates = ["*","-","+","*"],
223
+ idx = processing ? 0 : (this.isExpandable ? (this.isExpanded ? 1 : 2) : 3);
224
+
225
+ // apply the appropriate class to the expando node
226
+ domClass.replace(this.expandoNode, styles[idx], styles);
227
+
228
+ // provide a non-image based indicator for images-off mode
229
+ this.expandoNodeText.innerHTML = _a11yStates[idx];
230
+
231
+ },
232
+
233
+ expand: function(){
234
+ // summary:
235
+ // Show my children
236
+ // returns:
237
+ // Deferred that fires when expansion is complete
238
+
239
+ // If there's already an expand in progress or we are already expanded, just return
240
+ if(this._expandDeferred){
241
+ return this._expandDeferred; // dojo/_base/Deferred
242
+ }
243
+
244
+ // cancel in progress collapse operation
245
+ if(this._collapseDeferred){
246
+ this._collapseDeferred.cancel();
247
+ delete this._collapseDeferred;
248
+ }
249
+
250
+ // All the state information for when a node is expanded, maybe this should be
251
+ // set when the animation completes instead
252
+ this.isExpanded = true;
253
+ this.labelNode.setAttribute("aria-expanded", "true");
254
+ if(this.tree.showRoot || this !== this.tree.rootNode){
255
+ this.containerNode.setAttribute("role", "group");
256
+ }
257
+ domClass.add(this.contentNode,'dijitTreeContentExpanded');
258
+ this._setExpando();
259
+ this._updateItemClasses(this.item);
260
+
261
+ if(this == this.tree.rootNode && this.tree.showRoot){
262
+ this.tree.domNode.setAttribute("aria-expanded", "true");
263
+ }
264
+
265
+ var def,
266
+ wipeIn = fxUtils.wipeIn({
267
+ node: this.containerNode,
268
+ duration: manager.defaultDuration,
269
+ onEnd: function(){
270
+ def.resolve(true);
271
+ }
272
+ });
273
+
274
+ // Deferred that fires when expand is complete
275
+ def = (this._expandDeferred = new Deferred(function(){
276
+ // Canceller
277
+ wipeIn.stop();
278
+ }));
279
+
280
+ wipeIn.play();
281
+
282
+ return def; // dojo/_base/Deferred
283
+ },
284
+
285
+ collapse: function(){
286
+ // summary:
287
+ // Collapse this node (if it's expanded)
288
+
289
+ if(this._collapseDeferred){
290
+ // Node is already collapsed, or there's a collapse in progress, just return that Deferred
291
+ return this._collapseDeferred;
292
+ }
293
+
294
+ // cancel in progress expand operation
295
+ if(this._expandDeferred){
296
+ this._expandDeferred.cancel();
297
+ delete this._expandDeferred;
298
+ }
299
+
300
+ this.isExpanded = false;
301
+ this.labelNode.setAttribute("aria-expanded", "false");
302
+ if(this == this.tree.rootNode && this.tree.showRoot){
303
+ this.tree.domNode.setAttribute("aria-expanded", "false");
304
+ }
305
+ domClass.remove(this.contentNode,'dijitTreeContentExpanded');
306
+ this._setExpando();
307
+ this._updateItemClasses(this.item);
308
+
309
+ var def,
310
+ wipeOut = fxUtils.wipeOut({
311
+ node: this.containerNode,
312
+ duration: manager.defaultDuration,
313
+ onEnd: function(){
314
+ def.resolve(true);
315
+ }
316
+ });
317
+
318
+ // Deferred that fires when expand is complete
319
+ def = (this._collapseDeferred = new Deferred(function(){
320
+ // Canceller
321
+ wipeOut.stop();
322
+ }));
323
+
324
+ wipeOut.play();
325
+
326
+ return def; // dojo/_base/Deferred
327
+ },
328
+
329
+ // indent: Integer
330
+ // Levels from this node to the root node
331
+ indent: 0,
332
+
333
+ setChildItems: function(/* Object[] */ items){
334
+ // summary:
335
+ // Sets the child items of this node, removing/adding nodes
336
+ // from current children to match specified items[] array.
337
+ // Also, if this.persist == true, expands any children that were previously
338
+ // opened.
339
+ // returns:
340
+ // Deferred object that fires after all previously opened children
341
+ // have been expanded again (or fires instantly if there are no such children).
342
+
343
+ var tree = this.tree,
344
+ model = tree.model,
345
+ defs = []; // list of deferreds that need to fire before I am complete
346
+
347
+
348
+ // Orphan all my existing children.
349
+ // If items contains some of the same items as before then we will reattach them.
350
+ // Don't call this.removeChild() because that will collapse the tree etc.
351
+ var oldChildren = this.getChildren();
352
+ array.forEach(oldChildren, function(child){
353
+ _Container.prototype.removeChild.call(this, child);
354
+ }, this);
355
+
356
+ // All the old children of this TreeNode are subject for destruction if
357
+ // 1) they aren't listed in the new children array (items)
358
+ // 2) they aren't immediately adopted by another node (DnD)
359
+ this.defer(function(){
360
+ array.forEach(oldChildren, function(node){
361
+ if(!node._destroyed && !node.getParent()){
362
+ // If node is in selection then remove it.
363
+ tree.dndController.removeTreeNode(node);
364
+
365
+ // Deregister mapping from item id --> this node
366
+ var id = model.getIdentity(node.item),
367
+ ary = tree._itemNodesMap[id];
368
+ if(ary.length == 1){
369
+ delete tree._itemNodesMap[id];
370
+ }else{
371
+ var index = array.indexOf(ary, node);
372
+ if(index != -1){
373
+ ary.splice(index, 1);
374
+ }
375
+ }
376
+
377
+ // And finally we can destroy the node
378
+ node.destroyRecursive();
379
+ }
380
+ });
381
+ });
382
+
383
+ this.state = "LOADED";
384
+
385
+ if(items && items.length > 0){
386
+ this.isExpandable = true;
387
+
388
+ // Create _TreeNode widget for each specified tree node, unless one already
389
+ // exists and isn't being used (presumably it's from a DnD move and was recently
390
+ // released
391
+ array.forEach(items, function(item){ // MARKER: REUSE NODE
392
+ var id = model.getIdentity(item),
393
+ existingNodes = tree._itemNodesMap[id],
394
+ node;
395
+ if(existingNodes){
396
+ for(var i=0;i<existingNodes.length;i++){
397
+ if(existingNodes[i] && !existingNodes[i].getParent()){
398
+ node = existingNodes[i];
399
+ node.set('indent', this.indent+1);
400
+ break;
401
+ }
402
+ }
403
+ }
404
+ if(!node){
405
+ node = this.tree._createTreeNode({
406
+ item: item,
407
+ tree: tree,
408
+ isExpandable: model.mayHaveChildren(item),
409
+ label: tree.getLabel(item),
410
+ tooltip: tree.getTooltip(item),
411
+ ownerDocument: tree.ownerDocument,
412
+ dir: tree.dir,
413
+ lang: tree.lang,
414
+ textDir: tree.textDir,
415
+ indent: this.indent + 1
416
+ });
417
+ if(existingNodes){
418
+ existingNodes.push(node);
419
+ }else{
420
+ tree._itemNodesMap[id] = [node];
421
+ }
422
+ }
423
+ this.addChild(node);
424
+
425
+ // If node was previously opened then open it again now (this may trigger
426
+ // more data store accesses, recursively)
427
+ if(this.tree.autoExpand || this.tree._state(node)){
428
+ defs.push(tree._expandNode(node));
429
+ }
430
+ }, this);
431
+
432
+ // note that updateLayout() needs to be called on each child after
433
+ // _all_ the children exist
434
+ array.forEach(this.getChildren(), function(child){
435
+ child._updateLayout();
436
+ });
437
+ }else{
438
+ this.isExpandable=false;
439
+ }
440
+
441
+ if(this._setExpando){
442
+ // change expando to/from dot or + icon, as appropriate
443
+ this._setExpando(false);
444
+ }
445
+
446
+ // Set leaf icon or folder icon, as appropriate
447
+ this._updateItemClasses(this.item);
448
+
449
+ // On initial tree show, make the selected TreeNode as either the root node of the tree,
450
+ // or the first child, if the root node is hidden
451
+ if(this == tree.rootNode){
452
+ var fc = this.tree.showRoot ? this : this.getChildren()[0];
453
+ if(fc){
454
+ fc.setFocusable(true);
455
+ tree.lastFocused = fc;
456
+ }else{
457
+ // fallback: no nodes in tree so focus on Tree <div> itself
458
+ tree.domNode.setAttribute("tabIndex", "0");
459
+ }
460
+ }
461
+
462
+ var def = new DeferredList(defs);
463
+ this.tree._startPaint(def); // to reset TreeNode widths after an item is added/removed from the Tree
464
+ return def; // dojo/_base/Deferred
465
+ },
466
+
467
+ getTreePath: function(){
468
+ var node = this;
469
+ var path = [];
470
+ while(node && node !== this.tree.rootNode){
471
+ path.unshift(node.item);
472
+ node = node.getParent();
473
+ }
474
+ path.unshift(this.tree.rootNode.item);
475
+
476
+ return path;
477
+ },
478
+
479
+ getIdentity: function(){
480
+ return this.tree.model.getIdentity(this.item);
481
+ },
482
+
483
+ removeChild: function(/* treeNode */ node){
484
+ this.inherited(arguments);
485
+
486
+ var children = this.getChildren();
487
+ if(children.length == 0){
488
+ this.isExpandable = false;
489
+ this.collapse();
490
+ }
491
+
492
+ array.forEach(children, function(child){
493
+ child._updateLayout();
494
+ });
495
+ },
496
+
497
+ makeExpandable: function(){
498
+ // summary:
499
+ // if this node wasn't already showing the expando node,
500
+ // turn it into one and call _setExpando()
501
+
502
+ // TODO: hmm this isn't called from anywhere, maybe should remove it for 2.0
503
+
504
+ this.isExpandable = true;
505
+ this._setExpando(false);
506
+ },
507
+
508
+ setSelected: function(/*Boolean*/ selected){
509
+ // summary:
510
+ // A Tree has a (single) currently selected node.
511
+ // Mark that this node is/isn't that currently selected node.
512
+ // description:
513
+ // In particular, setting a node as selected involves setting tabIndex
514
+ // so that when user tabs to the tree, focus will go to that node (only).
515
+ this.labelNode.setAttribute("aria-selected", selected ? "true" : "false");
516
+ domClass.toggle(this.rowNode, "dijitTreeRowSelected", selected);
517
+ },
518
+
519
+ setFocusable: function(/*Boolean*/ selected){
520
+ // summary:
521
+ // A Tree has a (single) node that's focusable.
522
+ // Mark that this node is/isn't that currently focsuable node.
523
+ // description:
524
+ // In particular, setting a node as selected involves setting tabIndex
525
+ // so that when user tabs to the tree, focus will go to that node (only).
526
+
527
+ this.labelNode.setAttribute("tabIndex", selected ? "0" : "-1");
528
+ },
529
+
530
+
531
+ _setTextDirAttr: function(textDir){
532
+ if(textDir &&((this.textDir != textDir) || !this._created)){
533
+ this._set("textDir", textDir);
534
+ this.applyTextDir(this.labelNode, this.labelNode.innerText || this.labelNode.textContent || "");
535
+ array.forEach(this.getChildren(), function(childNode){
536
+ childNode.set("textDir", textDir);
537
+ }, this);
538
+ }
539
+ }
540
+ });
541
+
542
+ var Tree = declare("dijit.Tree", [_Widget, _TemplatedMixin], {
543
+ // summary:
544
+ // This widget displays hierarchical data from a store.
545
+
546
+ // store: [deprecated] String|dojo/data/Store
547
+ // Deprecated. Use "model" parameter instead.
548
+ // The store to get data to display in the tree.
549
+ store: null,
550
+
551
+ // model: dijit/tree/model
552
+ // Interface to read tree data, get notifications of changes to tree data,
553
+ // and for handling drop operations (i.e drag and drop onto the tree)
554
+ model: null,
555
+
556
+ // query: [deprecated] anything
557
+ // Deprecated. User should specify query to the model directly instead.
558
+ // Specifies datastore query to return the root item or top items for the tree.
559
+ query: null,
560
+
561
+ // label: [deprecated] String
562
+ // Deprecated. Use dijit/tree/ForestStoreModel directly instead.
563
+ // Used in conjunction with query parameter.
564
+ // If a query is specified (rather than a root node id), and a label is also specified,
565
+ // then a fake root node is created and displayed, with this label.
566
+ label: "",
567
+
568
+ // showRoot: [const] Boolean
569
+ // Should the root node be displayed, or hidden?
570
+ showRoot: true,
571
+
572
+ // childrenAttr: [deprecated] String[]
573
+ // Deprecated. This information should be specified in the model.
574
+ // One ore more attributes that holds children of a tree node
575
+ childrenAttr: ["children"],
576
+
577
+ // paths: String[][] or Item[][]
578
+ // Full paths from rootNode to selected nodes expressed as array of items or array of ids.
579
+ // Since setting the paths may be asynchronous (because of waiting on dojo.data), set("paths", ...)
580
+ // returns a Deferred to indicate when the set is complete.
581
+ paths: [],
582
+
583
+ // path: String[] or Item[]
584
+ // Backward compatible singular variant of paths.
585
+ path: [],
586
+
587
+ // selectedItems: [readonly] Item[]
588
+ // The currently selected items in this tree.
589
+ // This property can only be set (via set('selectedItems', ...)) when that item is already
590
+ // visible in the tree. (I.e. the tree has already been expanded to show that node.)
591
+ // Should generally use `paths` attribute to set the selected items instead.
592
+ selectedItems: null,
593
+
594
+ // selectedItem: [readonly] Item
595
+ // Backward compatible singular variant of selectedItems.
596
+ selectedItem: null,
597
+
598
+ // openOnClick: Boolean
599
+ // If true, clicking a folder node's label will open it, rather than calling onClick()
600
+ openOnClick: false,
601
+
602
+ // openOnDblClick: Boolean
603
+ // If true, double-clicking a folder node's label will open it, rather than calling onDblClick()
604
+ openOnDblClick: false,
605
+
606
+ templateString: treeTemplate,
607
+
608
+ // persist: Boolean
609
+ // Enables/disables use of cookies for state saving.
610
+ persist: true,
611
+
612
+ // autoExpand: Boolean
613
+ // Fully expand the tree on load. Overrides `persist`.
614
+ autoExpand: false,
615
+
616
+ // dndController: [protected] Function|String
617
+ // Class to use as as the dnd controller. Specifying this class enables DnD.
618
+ // Generally you should specify this as dijit/tree/dndSource.
619
+ // Setting of dijit/tree/_dndSelector handles selection only (no actual DnD).
620
+ dndController: _dndSelector,
621
+
622
+ // parameters to pull off of the tree and pass on to the dndController as its params
623
+ dndParams: ["onDndDrop","itemCreator","onDndCancel","checkAcceptance", "checkItemAcceptance", "dragThreshold", "betweenThreshold"],
624
+
625
+ //declare the above items so they can be pulled from the tree's markup
626
+
627
+ // onDndDrop: [protected] Function
628
+ // Parameter to dndController, see `dijit/tree/dndSource.onDndDrop()`.
629
+ // Generally this doesn't need to be set.
630
+ onDndDrop: null,
631
+
632
+ itemCreator: null,
633
+ /*=====
634
+ itemCreator: function(nodes, target, source){
635
+ // summary:
636
+ // Returns objects passed to `Tree.model.newItem()` based on DnD nodes
637
+ // dropped onto the tree. Developer must override this method to enable
638
+ // dropping from external sources onto this Tree, unless the Tree.model's items
639
+ // happen to look like {id: 123, name: "Apple" } with no other attributes.
640
+ //
641
+ // For each node in nodes[], which came from source, create a hash of name/value
642
+ // pairs to be passed to Tree.model.newItem(). Returns array of those hashes.
643
+ // nodes: DomNode[]
644
+ // The DOMNodes dragged from the source container
645
+ // target: DomNode
646
+ // The target TreeNode.rowNode
647
+ // source: dojo/dnd/Source
648
+ // The source container the nodes were dragged from, perhaps another Tree or a plain dojo/dnd/Source
649
+ // returns: Object[]
650
+ // Array of name/value hashes for each new item to be added to the Tree, like:
651
+ // | [
652
+ // | { id: 123, label: "apple", foo: "bar" },
653
+ // | { id: 456, label: "pear", zaz: "bam" }
654
+ // | ]
655
+ // tags:
656
+ // extension
657
+ return [{}];
658
+ },
659
+ =====*/
660
+
661
+ // onDndCancel: [protected] Function
662
+ // Parameter to dndController, see `dijit/tree/dndSource.onDndCancel()`.
663
+ // Generally this doesn't need to be set.
664
+ onDndCancel: null,
665
+
666
+ /*=====
667
+ checkAcceptance: function(source, nodes){
668
+ // summary:
669
+ // Checks if the Tree itself can accept nodes from this source
670
+ // source: dijit/tree/dndSource
671
+ // The source which provides items
672
+ // nodes: DOMNode[]
673
+ // Array of DOM nodes corresponding to nodes being dropped, dijitTreeRow nodes if
674
+ // source is a dijit/Tree.
675
+ // tags:
676
+ // extension
677
+ return true; // Boolean
678
+ },
679
+ =====*/
680
+ checkAcceptance: null,
681
+
682
+ /*=====
683
+ checkItemAcceptance: function(target, source, position){
684
+ // summary:
685
+ // Stub function to be overridden if one wants to check for the ability to drop at the node/item level
686
+ // description:
687
+ // In the base case, this is called to check if target can become a child of source.
688
+ // When betweenThreshold is set, position="before" or "after" means that we
689
+ // are asking if the source node can be dropped before/after the target node.
690
+ // target: DOMNode
691
+ // The dijitTreeRoot DOM node inside of the TreeNode that we are dropping on to
692
+ // Use registry.getEnclosingWidget(target) to get the TreeNode.
693
+ // source: dijit/tree/dndSource
694
+ // The (set of) nodes we are dropping
695
+ // position: String
696
+ // "over", "before", or "after"
697
+ // tags:
698
+ // extension
699
+ return true; // Boolean
700
+ },
701
+ =====*/
702
+ checkItemAcceptance: null,
703
+
704
+ // dragThreshold: Integer
705
+ // Number of pixels mouse moves before it's considered the start of a drag operation
706
+ dragThreshold: 5,
707
+
708
+ // betweenThreshold: Integer
709
+ // Set to a positive value to allow drag and drop "between" nodes.
710
+ //
711
+ // If during DnD mouse is over a (target) node but less than betweenThreshold
712
+ // pixels from the bottom edge, dropping the the dragged node will make it
713
+ // the next sibling of the target node, rather than the child.
714
+ //
715
+ // Similarly, if mouse is over a target node but less that betweenThreshold
716
+ // pixels from the top edge, dropping the dragged node will make it
717
+ // the target node's previous sibling rather than the target node's child.
718
+ betweenThreshold: 0,
719
+
720
+ // _nodePixelIndent: Integer
721
+ // Number of pixels to indent tree nodes (relative to parent node).
722
+ // Default is 19 but can be overridden by setting CSS class dijitTreeIndent
723
+ // and calling resize() or startup() on tree after it's in the DOM.
724
+ _nodePixelIndent: 19,
725
+
726
+ _publish: function(/*String*/ topicName, /*Object*/ message){
727
+ // summary:
728
+ // Publish a message for this widget/topic
729
+ topic.publish(this.id, lang.mixin({tree: this, event: topicName}, message || {})); // publish
730
+ },
731
+
732
+ postMixInProperties: function(){
733
+ this.tree = this;
734
+
735
+ if(this.autoExpand){
736
+ // There's little point in saving opened/closed state of nodes for a Tree
737
+ // that initially opens all it's nodes.
738
+ this.persist = false;
739
+ }
740
+
741
+ this._itemNodesMap = {};
742
+
743
+ if(!this.cookieName && this.id){
744
+ this.cookieName = this.id + "SaveStateCookie";
745
+ }
746
+
747
+ // Deferred that fires when all the children have loaded.
748
+ this.expandChildrenDeferred = new Deferred();
749
+
750
+ // Deferred that fires when all pending operations complete.
751
+ this.pendingCommandsDeferred = this.expandChildrenDeferred;
752
+
753
+ this.inherited(arguments);
754
+ },
755
+
756
+ postCreate: function(){
757
+ this._initState();
758
+
759
+ // Catch events on TreeNodes
760
+ var self = this;
761
+ this.own(
762
+ on(this.domNode, on.selector(".dijitTreeNode", touch.enter), function(evt){
763
+ self._onNodeMouseEnter(registry.byNode(this), evt);
764
+ }),
765
+ on(this.domNode, on.selector(".dijitTreeNode", touch.leave), function(evt){
766
+ self._onNodeMouseLeave(registry.byNode(this), evt);
767
+ }),
768
+ on(this.domNode, on.selector(".dijitTreeNode", "click"), function(evt){
769
+ self._onClick(registry.byNode(this), evt);
770
+ }),
771
+ on(this.domNode, on.selector(".dijitTreeNode", "dblclick"), function(evt){
772
+ self._onDblClick(registry.byNode(this), evt);
773
+ }),
774
+ on(this.domNode, on.selector(".dijitTreeNode", "keypress"), function(evt){
775
+ self._onKeyPress(registry.byNode(this), evt);
776
+ }),
777
+ on(this.domNode, on.selector(".dijitTreeNode", "keydown"), function(evt){
778
+ self._onKeyDown(registry.byNode(this), evt);
779
+ }),
780
+ on(this.domNode, on.selector(".dijitTreeRow", "focusin"), function(evt){
781
+ self._onNodeFocus(registry.getEnclosingWidget(this), evt);
782
+ })
783
+ );
784
+
785
+ // Create glue between store and Tree, if not specified directly by user
786
+ if(!this.model){
787
+ this._store2model();
788
+ }
789
+
790
+ // monitor changes to items
791
+ this.connect(this.model, "onChange", "_onItemChange");
792
+ this.connect(this.model, "onChildrenChange", "_onItemChildrenChange");
793
+ this.connect(this.model, "onDelete", "_onItemDelete");
794
+
795
+ this.inherited(arguments);
796
+
797
+ if(this.dndController){
798
+ if(lang.isString(this.dndController)){
799
+ this.dndController = lang.getObject(this.dndController);
800
+ }
801
+ var params={};
802
+ for(var i=0; i<this.dndParams.length;i++){
803
+ if(this[this.dndParams[i]]){
804
+ params[this.dndParams[i]] = this[this.dndParams[i]];
805
+ }
806
+ }
807
+ this.dndController = new this.dndController(this, params);
808
+ }
809
+
810
+ this._load();
811
+
812
+ // If no path was specified to the constructor, use path saved in cookie
813
+ if(!this.params.path && !this.params.paths && this.persist){
814
+ this.set("paths", this.dndController._getSavedPaths());
815
+ }
816
+
817
+ // onLoadDeferred should fire when all commands that are part of initialization have completed.
818
+ // It will include all the set("paths", ...) commands that happen during initialization.
819
+ this.onLoadDeferred = this.pendingCommandsDeferred;
820
+
821
+ this.onLoadDeferred.then(lang.hitch(this, "onLoad"));
822
+ },
823
+
824
+ _store2model: function(){
825
+ // summary:
826
+ // User specified a store&query rather than model, so create model from store/query
827
+ this._v10Compat = true;
828
+ kernel.deprecated("Tree: from version 2.0, should specify a model object rather than a store/query");
829
+
830
+ var modelParams = {
831
+ id: this.id + "_ForestStoreModel",
832
+ store: this.store,
833
+ query: this.query,
834
+ childrenAttrs: this.childrenAttr
835
+ };
836
+
837
+ // Only override the model's mayHaveChildren() method if the user has specified an override
838
+ if(this.params.mayHaveChildren){
839
+ modelParams.mayHaveChildren = lang.hitch(this, "mayHaveChildren");
840
+ }
841
+
842
+ if(this.params.getItemChildren){
843
+ modelParams.getChildren = lang.hitch(this, function(item, onComplete, onError){
844
+ this.getItemChildren((this._v10Compat && item === this.model.root) ? null : item, onComplete, onError);
845
+ });
846
+ }
847
+ this.model = new ForestStoreModel(modelParams);
848
+
849
+ // For backwards compatibility, the visibility of the root node is controlled by
850
+ // whether or not the user has specified a label
851
+ this.showRoot = Boolean(this.label);
852
+ },
853
+
854
+ onLoad: function(){
855
+ // summary:
856
+ // Called when tree finishes loading and expanding.
857
+ // description:
858
+ // If persist == true the loading may encompass many levels of fetches
859
+ // from the data store, each asynchronous. Waits for all to finish.
860
+ // tags:
861
+ // callback
862
+ },
863
+
864
+ _load: function(){
865
+ // summary:
866
+ // Initial load of the tree.
867
+ // Load root node (possibly hidden) and it's children.
868
+ this.model.getRoot(
869
+ lang.hitch(this, function(item){
870
+ var rn = (this.rootNode = this.tree._createTreeNode({
871
+ item: item,
872
+ tree: this,
873
+ isExpandable: true,
874
+ label: this.label || this.getLabel(item),
875
+ textDir: this.textDir,
876
+ indent: this.showRoot ? 0 : -1
877
+ }));
878
+
879
+ if(!this.showRoot){
880
+ rn.rowNode.style.display="none";
881
+ // if root is not visible, move tree role to the invisible
882
+ // root node's containerNode, see #12135
883
+ this.domNode.setAttribute("role", "presentation");
884
+ this.domNode.removeAttribute("aria-expanded");
885
+ this.domNode.removeAttribute("aria-multiselectable");
886
+
887
+ rn.labelNode.setAttribute("role", "presentation");
888
+ rn.containerNode.setAttribute("role", "tree");
889
+ rn.containerNode.setAttribute("aria-expanded","true");
890
+ rn.containerNode.setAttribute("aria-multiselectable", !this.dndController.singular);
891
+ }else{
892
+ this.domNode.setAttribute("aria-multiselectable", !this.dndController.singular);
893
+ }
894
+
895
+ this.domNode.appendChild(rn.domNode);
896
+ var identity = this.model.getIdentity(item);
897
+ if(this._itemNodesMap[identity]){
898
+ this._itemNodesMap[identity].push(rn);
899
+ }else{
900
+ this._itemNodesMap[identity] = [rn];
901
+ }
902
+
903
+ rn._updateLayout(); // sets "dijitTreeIsRoot" CSS classname
904
+
905
+ // Load top level children, and if persist==true, all nodes that were previously opened
906
+ this._expandNode(rn).then(lang.hitch(this, function(){
907
+ // Then, select the nodes that were selected last time, or
908
+ // the ones specified by params.paths[].
909
+
910
+ this.expandChildrenDeferred.resolve(true);
911
+ }));
912
+ }),
913
+ lang.hitch(this, function(err){
914
+ console.error(this, ": error loading root: ", err);
915
+ })
916
+ );
917
+ },
918
+
919
+ getNodesByItem: function(/*Item or id*/ item){
920
+ // summary:
921
+ // Returns all tree nodes that refer to an item
922
+ // returns:
923
+ // Array of tree nodes that refer to passed item
924
+
925
+ if(!item){ return []; }
926
+ var identity = lang.isString(item) ? item : this.model.getIdentity(item);
927
+ // return a copy so widget don't get messed up by changes to returned array
928
+ return [].concat(this._itemNodesMap[identity]);
929
+ },
930
+
931
+ _setSelectedItemAttr: function(/*Item or id*/ item){
932
+ this.set('selectedItems', [item]);
933
+ },
934
+
935
+ _setSelectedItemsAttr: function(/*Items or ids*/ items){
936
+ // summary:
937
+ // Select tree nodes related to passed items.
938
+ // WARNING: if model use multi-parented items or desired tree node isn't already loaded
939
+ // behavior is undefined. Use set('paths', ...) instead.
940
+ var tree = this;
941
+ return this.pendingCommandsDeferred = this.pendingCommandsDeferred.then( lang.hitch(this, function(){
942
+ var identities = array.map(items, function(item){
943
+ return (!item || lang.isString(item)) ? item : tree.model.getIdentity(item);
944
+ });
945
+ var nodes = [];
946
+ array.forEach(identities, function(id){
947
+ nodes = nodes.concat(tree._itemNodesMap[id] || []);
948
+ });
949
+ this.set('selectedNodes', nodes);
950
+ }));
951
+ },
952
+
953
+ _setPathAttr: function(/*Item[]|String[]*/ path){
954
+ // summary:
955
+ // Singular variant of _setPathsAttr
956
+ if(path.length){
957
+ return this.set("paths", [path]);
958
+ }else{
959
+ // Empty list is interpreted as "select nothing"
960
+ return this.set("paths", []);
961
+ }
962
+ },
963
+
964
+ _setPathsAttr: function(/*Item[][]|String[][]*/ paths){
965
+ // summary:
966
+ // Select the tree nodes identified by passed paths.
967
+ // paths:
968
+ // Array of arrays of items or item id's
969
+ // returns:
970
+ // Deferred to indicate when the set is complete
971
+
972
+ var tree = this;
973
+
974
+ // Let any previous set("path", ...) commands complete before this one starts.
975
+ return this.pendingCommandsDeferred = this.pendingCommandsDeferred.then(function(){
976
+ // We may need to wait for some nodes to expand, so setting
977
+ // each path will involve a Deferred. We bring those deferreds
978
+ // together with a DeferredList.
979
+ return new DeferredList(array.map(paths, function(path){
980
+ var d = new Deferred();
981
+
982
+ // normalize path to use identity
983
+ path = array.map(path, function(item){
984
+ return lang.isString(item) ? item : tree.model.getIdentity(item);
985
+ });
986
+
987
+ if(path.length){
988
+ // Wait for the tree to load, if it hasn't already.
989
+ selectPath(path, [tree.rootNode], d);
990
+ }else{
991
+ d.reject(new Tree.PathError("Empty path"));
992
+ }
993
+ return d;
994
+ }));
995
+ }).then(setNodes);
996
+
997
+ function selectPath(path, nodes, def){
998
+ // Traverse path; the next path component should be among "nodes".
999
+ var nextPath = path.shift();
1000
+ var nextNode = array.filter(nodes, function(node){
1001
+ return node.getIdentity() == nextPath;
1002
+ })[0];
1003
+ if(!!nextNode){
1004
+ if(path.length){
1005
+ tree._expandNode(nextNode).then(function(){ selectPath(path, nextNode.getChildren(), def); });
1006
+ }else{
1007
+ // Successfully reached the end of this path
1008
+ def.resolve(nextNode);
1009
+ }
1010
+ }else{
1011
+ def.reject(new Tree.PathError("Could not expand path at " + nextPath));
1012
+ }
1013
+ }
1014
+
1015
+ function setNodes(newNodes){
1016
+ // After all expansion is finished, set the selection to
1017
+ // the set of nodes successfully found.
1018
+ tree.set("selectedNodes", array.map(
1019
+ array.filter(newNodes,function(x){return x[0];}),
1020
+ function(x){return x[1];}));
1021
+ }
1022
+ },
1023
+
1024
+ _setSelectedNodeAttr: function(node){
1025
+ this.set('selectedNodes', [node]);
1026
+ },
1027
+ _setSelectedNodesAttr: function(nodes){
1028
+ // summary:
1029
+ // Marks the specified TreeNodes as selected.
1030
+ // nodes: TreeNode[]
1031
+ // TreeNodes to mark.
1032
+ this.dndController.setSelection(nodes);
1033
+ },
1034
+
1035
+
1036
+ expandAll: function(){
1037
+ // summary:
1038
+ // Expand all nodes in the tree
1039
+ // returns:
1040
+ // Deferred that fires when all nodes have expanded
1041
+
1042
+ var _this = this;
1043
+
1044
+ function expand(node){
1045
+ var def = new dojo.Deferred();
1046
+
1047
+ // Expand the node
1048
+ _this._expandNode(node).then(function(){
1049
+ // When node has expanded, call expand() recursively on each non-leaf child
1050
+ var childBranches = array.filter(node.getChildren() || [], function(node){
1051
+ return node.isExpandable;
1052
+ }),
1053
+ defs = array.map(childBranches, expand);
1054
+
1055
+ // And when all those recursive calls finish, signal that I'm finished
1056
+ new dojo.DeferredList(defs).then(function(){
1057
+ def.resolve(true);
1058
+ });
1059
+ });
1060
+
1061
+ return def;
1062
+ }
1063
+
1064
+ return expand(this.rootNode);
1065
+ },
1066
+
1067
+ collapseAll: function(){
1068
+ // summary:
1069
+ // Collapse all nodes in the tree
1070
+ // returns:
1071
+ // Deferred that fires when all nodes have collapsed
1072
+
1073
+ var _this = this;
1074
+
1075
+ function collapse(node){
1076
+ var def = new dojo.Deferred();
1077
+ def.label = "collapseAllDeferred";
1078
+
1079
+ // Collapse children first
1080
+ var childBranches = array.filter(node.getChildren() || [], function(node){
1081
+ return node.isExpandable;
1082
+ }),
1083
+ defs = array.map(childBranches, collapse);
1084
+
1085
+ // And when all those recursive calls finish, collapse myself, unless I'm the invisible root node,
1086
+ // in which case collapseAll() is finished
1087
+ new dojo.DeferredList(defs).then(function(){
1088
+ if(!node.isExpanded || (node == _this.rootNode && !_this.showRoot)){
1089
+ def.resolve(true);
1090
+ }else{
1091
+ _this._collapseNode(node).then(function(){
1092
+ // When node has collapsed, signal that call is finished
1093
+ def.resolve(true);
1094
+ });
1095
+ }
1096
+ });
1097
+
1098
+
1099
+ return def;
1100
+ }
1101
+
1102
+ return collapse(this.rootNode);
1103
+ },
1104
+
1105
+ ////////////// Data store related functions //////////////////////
1106
+ // These just get passed to the model; they are here for back-compat
1107
+
1108
+ mayHaveChildren: function(/*dojo/data/Item*/ /*===== item =====*/){
1109
+ // summary:
1110
+ // Deprecated. This should be specified on the model itself.
1111
+ //
1112
+ // Overridable function to tell if an item has or may have children.
1113
+ // Controls whether or not +/- expando icon is shown.
1114
+ // (For efficiency reasons we may not want to check if an element actually
1115
+ // has children until user clicks the expando node)
1116
+ // tags:
1117
+ // deprecated
1118
+ },
1119
+
1120
+ getItemChildren: function(/*===== parentItem, onComplete =====*/){
1121
+ // summary:
1122
+ // Deprecated. This should be specified on the model itself.
1123
+ //
1124
+ // Overridable function that return array of child items of given parent item,
1125
+ // or if parentItem==null then return top items in tree
1126
+ // tags:
1127
+ // deprecated
1128
+ },
1129
+
1130
+ ///////////////////////////////////////////////////////
1131
+ // Functions for converting an item to a TreeNode
1132
+ getLabel: function(/*dojo/data/Item*/ item){
1133
+ // summary:
1134
+ // Overridable function to get the label for a tree node (given the item)
1135
+ // tags:
1136
+ // extension
1137
+ return this.model.getLabel(item); // String
1138
+ },
1139
+
1140
+ getIconClass: function(/*dojo/data/Item*/ item, /*Boolean*/ opened){
1141
+ // summary:
1142
+ // Overridable function to return CSS class name to display icon
1143
+ // tags:
1144
+ // extension
1145
+ return (!item || this.model.mayHaveChildren(item)) ? (opened ? "dijitFolderOpened" : "dijitFolderClosed") : "dijitLeaf"
1146
+ },
1147
+
1148
+ getLabelClass: function(/*===== item, opened =====*/){
1149
+ // summary:
1150
+ // Overridable function to return CSS class name to display label
1151
+ // item: dojo/data/Item
1152
+ // opened: Boolean
1153
+ // returns: String
1154
+ // CSS class name
1155
+ // tags:
1156
+ // extension
1157
+ },
1158
+
1159
+ getRowClass: function(/*===== item, opened =====*/){
1160
+ // summary:
1161
+ // Overridable function to return CSS class name to display row
1162
+ // item: dojo/data/Item
1163
+ // opened: Boolean
1164
+ // returns: String
1165
+ // CSS class name
1166
+ // tags:
1167
+ // extension
1168
+ },
1169
+
1170
+ getIconStyle: function(/*===== item, opened =====*/){
1171
+ // summary:
1172
+ // Overridable function to return CSS styles to display icon
1173
+ // item: dojo/data/Item
1174
+ // opened: Boolean
1175
+ // returns: Object
1176
+ // Object suitable for input to dojo.style() like {backgroundImage: "url(...)"}
1177
+ // tags:
1178
+ // extension
1179
+ },
1180
+
1181
+ getLabelStyle: function(/*===== item, opened =====*/){
1182
+ // summary:
1183
+ // Overridable function to return CSS styles to display label
1184
+ // item: dojo/data/Item
1185
+ // opened: Boolean
1186
+ // returns:
1187
+ // Object suitable for input to dojo.style() like {color: "red", background: "green"}
1188
+ // tags:
1189
+ // extension
1190
+ },
1191
+
1192
+ getRowStyle: function(/*===== item, opened =====*/){
1193
+ // summary:
1194
+ // Overridable function to return CSS styles to display row
1195
+ // item: dojo/data/Item
1196
+ // opened: Boolean
1197
+ // returns:
1198
+ // Object suitable for input to dojo.style() like {background-color: "#bbb"}
1199
+ // tags:
1200
+ // extension
1201
+ },
1202
+
1203
+ getTooltip: function(/*dojo/data/Item*/ /*===== item =====*/){
1204
+ // summary:
1205
+ // Overridable function to get the tooltip for a tree node (given the item)
1206
+ // tags:
1207
+ // extension
1208
+ return ""; // String
1209
+ },
1210
+
1211
+ /////////// Keyboard and Mouse handlers ////////////////////
1212
+
1213
+ _onKeyPress: function(/*TreeNode*/ treeNode, /*Event*/ e){
1214
+ // summary:
1215
+ // Handles keystrokes for printable keys, doing search navigation
1216
+
1217
+ if(e.charCode <= 32){
1218
+ // Avoid duplicate events on firefox (this is an arrow key that will be handled by keydown handler)
1219
+ return;
1220
+ }
1221
+
1222
+ if(!e.altKey && !e.ctrlKey && !e.shiftKey && !e.metaKey){
1223
+ var c = String.fromCharCode(e.charCode);
1224
+ this._onLetterKeyNav( { node: treeNode, key: c.toLowerCase() } );
1225
+ event.stop(e);
1226
+ }
1227
+ },
1228
+
1229
+ _onKeyDown: function(/*TreeNode*/ treeNode, /*Event*/ e){
1230
+ // summary:
1231
+ // Handles arrow, space, and enter keys
1232
+
1233
+ var key = e.keyCode;
1234
+
1235
+ var map = this._keyHandlerMap;
1236
+ if(!map){
1237
+ // Setup table mapping keys to events.
1238
+ // On WebKit based browsers, the combination ctrl-enter does not get passed through. To allow accessible
1239
+ // multi-select on those browsers, the space key is also used for selection.
1240
+ // Therefore, also allow space key for keyboard "click" operation.
1241
+ map = {};
1242
+ map[keys.ENTER] = map[keys.SPACE] = map[" "] = "_onEnterKey";
1243
+ map[this.isLeftToRight() ? keys.LEFT_ARROW : keys.RIGHT_ARROW] = "_onLeftArrow";
1244
+ map[this.isLeftToRight() ? keys.RIGHT_ARROW : keys.LEFT_ARROW] = "_onRightArrow";
1245
+ map[keys.UP_ARROW] = "_onUpArrow";
1246
+ map[keys.DOWN_ARROW] = "_onDownArrow";
1247
+ map[keys.HOME] = "_onHomeKey";
1248
+ map[keys.END] = "_onEndKey";
1249
+ this._keyHandlerMap = map;
1250
+ }
1251
+
1252
+ if(this._keyHandlerMap[key]){
1253
+ // clear record of recent printables (being saved for multi-char letter navigation),
1254
+ // because "a", down-arrow, "b" shouldn't search for "ab"
1255
+ if(this._curSearch){
1256
+ this._curSearch.timer.remove();
1257
+ delete this._curSearch;
1258
+ }
1259
+
1260
+ this[this._keyHandlerMap[key]]( { node: treeNode, item: treeNode.item, evt: e } );
1261
+ event.stop(e);
1262
+ }
1263
+ },
1264
+
1265
+ _onEnterKey: function(/*Object*/ message){
1266
+ this._publish("execute", { item: message.item, node: message.node } );
1267
+ this.dndController.userSelect(message.node, connect.isCopyKey( message.evt ), message.evt.shiftKey);
1268
+ this.onClick(message.item, message.node, message.evt);
1269
+ },
1270
+
1271
+ _onDownArrow: function(/*Object*/ message){
1272
+ // summary:
1273
+ // down arrow pressed; get next visible node, set focus there
1274
+ var node = this._getNextNode(message.node);
1275
+ if(node && node.isTreeNode){
1276
+ this.focusNode(node);
1277
+ }
1278
+ },
1279
+
1280
+ _onUpArrow: function(/*Object*/ message){
1281
+ // summary:
1282
+ // Up arrow pressed; move to previous visible node
1283
+
1284
+ var node = message.node;
1285
+
1286
+ // if younger siblings
1287
+ var previousSibling = node.getPreviousSibling();
1288
+ if(previousSibling){
1289
+ node = previousSibling;
1290
+ // if the previous node is expanded, dive in deep
1291
+ while(node.isExpandable && node.isExpanded && node.hasChildren()){
1292
+ // move to the last child
1293
+ var children = node.getChildren();
1294
+ node = children[children.length-1];
1295
+ }
1296
+ }else{
1297
+ // if this is the first child, return the parent
1298
+ // unless the parent is the root of a tree with a hidden root
1299
+ var parent = node.getParent();
1300
+ if(!(!this.showRoot && parent === this.rootNode)){
1301
+ node = parent;
1302
+ }
1303
+ }
1304
+
1305
+ if(node && node.isTreeNode){
1306
+ this.focusNode(node);
1307
+ }
1308
+ },
1309
+
1310
+ _onRightArrow: function(/*Object*/ message){
1311
+ // summary:
1312
+ // Right arrow pressed; go to child node
1313
+ var node = message.node;
1314
+
1315
+ // if not expanded, expand, else move to 1st child
1316
+ if(node.isExpandable && !node.isExpanded){
1317
+ this._expandNode(node);
1318
+ }else if(node.hasChildren()){
1319
+ node = node.getChildren()[0];
1320
+ if(node && node.isTreeNode){
1321
+ this.focusNode(node);
1322
+ }
1323
+ }
1324
+ },
1325
+
1326
+ _onLeftArrow: function(/*Object*/ message){
1327
+ // summary:
1328
+ // Left arrow pressed.
1329
+ // If not collapsed, collapse, else move to parent.
1330
+
1331
+ var node = message.node;
1332
+
1333
+ if(node.isExpandable && node.isExpanded){
1334
+ this._collapseNode(node);
1335
+ }else{
1336
+ var parent = node.getParent();
1337
+ if(parent && parent.isTreeNode && !(!this.showRoot && parent === this.rootNode)){
1338
+ this.focusNode(parent);
1339
+ }
1340
+ }
1341
+ },
1342
+
1343
+ _onHomeKey: function(){
1344
+ // summary:
1345
+ // Home key pressed; get first visible node, and set focus there
1346
+ var node = this._getRootOrFirstNode();
1347
+ if(node){
1348
+ this.focusNode(node);
1349
+ }
1350
+ },
1351
+
1352
+ _onEndKey: function(){
1353
+ // summary:
1354
+ // End key pressed; go to last visible node.
1355
+
1356
+ var node = this.rootNode;
1357
+ while(node.isExpanded){
1358
+ var c = node.getChildren();
1359
+ node = c[c.length - 1];
1360
+ }
1361
+
1362
+ if(node && node.isTreeNode){
1363
+ this.focusNode(node);
1364
+ }
1365
+ },
1366
+
1367
+ // multiCharSearchDuration: Number
1368
+ // If multiple characters are typed where each keystroke happens within
1369
+ // multiCharSearchDuration of the previous keystroke,
1370
+ // search for nodes matching all the keystrokes.
1371
+ //
1372
+ // For example, typing "ab" will search for entries starting with
1373
+ // "ab" unless the delay between "a" and "b" is greater than multiCharSearchDuration.
1374
+ multiCharSearchDuration: 250,
1375
+
1376
+ _onLetterKeyNav: function(message){
1377
+ // summary:
1378
+ // Called when user presses a prinatable key; search for node starting with recently typed letters.
1379
+ // message: Object
1380
+ // Like { node: TreeNode, key: 'a' } where key is the key the user pressed.
1381
+
1382
+ // Branch depending on whether this key starts a new search, or modifies an existing search
1383
+ var cs = this._curSearch;
1384
+ if(cs){
1385
+ // We are continuing a search. Ex: user has pressed 'a', and now has pressed
1386
+ // 'b', so we want to search for nodes starting w/"ab".
1387
+ cs.pattern = cs.pattern + message.key;
1388
+ cs.timer.remove();
1389
+ }else{
1390
+ // We are starting a new search
1391
+ cs = this._curSearch = {
1392
+ pattern: message.key,
1393
+ startNode: message.node
1394
+ };
1395
+ }
1396
+
1397
+ // set/reset timer to forget recent keystrokes
1398
+ cs.timer = this.defer(function(){
1399
+ delete this._curSearch;
1400
+ }, this.multiCharSearchDuration);
1401
+
1402
+ // Navigate to TreeNode matching keystrokes [entered so far].
1403
+ var node = cs.startNode;
1404
+ do{
1405
+ node = this._getNextNode(node);
1406
+ //check for last node, jump to first node if necessary
1407
+ if(!node){
1408
+ node = this._getRootOrFirstNode();
1409
+ }
1410
+ }while(node !== cs.startNode && (node.label.toLowerCase().substr(0, cs.pattern.length) != cs.pattern));
1411
+ if(node && node.isTreeNode){
1412
+ // no need to set focus if back where we started
1413
+ if(node !== cs.startNode){
1414
+ this.focusNode(node);
1415
+ }
1416
+ }
1417
+ },
1418
+
1419
+ isExpandoNode: function(node, widget){
1420
+ // summary:
1421
+ // check whether a dom node is the expandoNode for a particular TreeNode widget
1422
+ return dom.isDescendant(node, widget.expandoNode);
1423
+ },
1424
+ _onClick: function(/*TreeNode*/ nodeWidget, /*Event*/ e){
1425
+ // summary:
1426
+ // Translates click events into commands for the controller to process
1427
+
1428
+ var domElement = e.target,
1429
+ isExpandoClick = this.isExpandoNode(domElement, nodeWidget);
1430
+
1431
+ if( (this.openOnClick && nodeWidget.isExpandable) || isExpandoClick ){
1432
+ // expando node was clicked, or label of a folder node was clicked; open it
1433
+ if(nodeWidget.isExpandable){
1434
+ this._onExpandoClick({node:nodeWidget});
1435
+ }
1436
+ }else{
1437
+ this._publish("execute", { item: nodeWidget.item, node: nodeWidget, evt: e } );
1438
+ this.onClick(nodeWidget.item, nodeWidget, e);
1439
+ this.focusNode(nodeWidget);
1440
+ }
1441
+ event.stop(e);
1442
+ },
1443
+ _onDblClick: function(/*TreeNode*/ nodeWidget, /*Event*/ e){
1444
+ // summary:
1445
+ // Translates double-click events into commands for the controller to process
1446
+
1447
+ var domElement = e.target,
1448
+ isExpandoClick = (domElement == nodeWidget.expandoNode || domElement == nodeWidget.expandoNodeText);
1449
+
1450
+ if( (this.openOnDblClick && nodeWidget.isExpandable) ||isExpandoClick ){
1451
+ // expando node was clicked, or label of a folder node was clicked; open it
1452
+ if(nodeWidget.isExpandable){
1453
+ this._onExpandoClick({node:nodeWidget});
1454
+ }
1455
+ }else{
1456
+ this._publish("execute", { item: nodeWidget.item, node: nodeWidget, evt: e } );
1457
+ this.onDblClick(nodeWidget.item, nodeWidget, e);
1458
+ this.focusNode(nodeWidget);
1459
+ }
1460
+ event.stop(e);
1461
+ },
1462
+
1463
+ _onExpandoClick: function(/*Object*/ message){
1464
+ // summary:
1465
+ // User clicked the +/- icon; expand or collapse my children.
1466
+ var node = message.node;
1467
+
1468
+ // If we are collapsing, we might be hiding the currently focused node.
1469
+ // Also, clicking the expando node might have erased focus from the current node.
1470
+ // For simplicity's sake just focus on the node with the expando.
1471
+ this.focusNode(node);
1472
+
1473
+ if(node.isExpanded){
1474
+ this._collapseNode(node);
1475
+ }else{
1476
+ this._expandNode(node);
1477
+ }
1478
+ },
1479
+
1480
+ onClick: function(/*===== item, node, evt =====*/){
1481
+ // summary:
1482
+ // Callback when a tree node is clicked
1483
+ // item: Object
1484
+ // Object from the dojo/store corresponding to this TreeNode
1485
+ // node: TreeNode
1486
+ // The TreeNode itself
1487
+ // evt: Event
1488
+ // The event
1489
+ // tags:
1490
+ // callback
1491
+ },
1492
+ onDblClick: function(/*===== item, node, evt =====*/){
1493
+ // summary:
1494
+ // Callback when a tree node is double-clicked
1495
+ // item: Object
1496
+ // Object from the dojo/store corresponding to this TreeNode
1497
+ // node: TreeNode
1498
+ // The TreeNode itself
1499
+ // evt: Event
1500
+ // The event
1501
+ // tags:
1502
+ // callback
1503
+ },
1504
+ onOpen: function(/*===== item, node =====*/){
1505
+ // summary:
1506
+ // Callback when a node is opened
1507
+ // item: dojo/data/Item
1508
+ // node: TreeNode
1509
+ // tags:
1510
+ // callback
1511
+ },
1512
+ onClose: function(/*===== item, node =====*/){
1513
+ // summary:
1514
+ // Callback when a node is closed
1515
+ // item: Object
1516
+ // Object from the dojo/store corresponding to this TreeNode
1517
+ // node: TreeNode
1518
+ // The TreeNode itself
1519
+ // tags:
1520
+ // callback
1521
+ },
1522
+
1523
+ _getNextNode: function(node){
1524
+ // summary:
1525
+ // Get next visible node
1526
+
1527
+ if(node.isExpandable && node.isExpanded && node.hasChildren()){
1528
+ // if this is an expanded node, get the first child
1529
+ return node.getChildren()[0]; // TreeNode
1530
+ }else{
1531
+ // find a parent node with a sibling
1532
+ while(node && node.isTreeNode){
1533
+ var returnNode = node.getNextSibling();
1534
+ if(returnNode){
1535
+ return returnNode; // TreeNode
1536
+ }
1537
+ node = node.getParent();
1538
+ }
1539
+ return null;
1540
+ }
1541
+ },
1542
+
1543
+ _getRootOrFirstNode: function(){
1544
+ // summary:
1545
+ // Get first visible node
1546
+ return this.showRoot ? this.rootNode : this.rootNode.getChildren()[0];
1547
+ },
1548
+
1549
+ _collapseNode: function(/*TreeNode*/ node){
1550
+ // summary:
1551
+ // Called when the user has requested to collapse the node
1552
+ // returns:
1553
+ // Deferred that fires when the node is closed
1554
+
1555
+ if(node._expandNodeDeferred){
1556
+ delete node._expandNodeDeferred;
1557
+ }
1558
+
1559
+ if(node.state == "LOADING"){
1560
+ // ignore clicks while we are in the process of loading data
1561
+ return;
1562
+ }
1563
+
1564
+ if(node.isExpanded){
1565
+ var ret = node.collapse();
1566
+
1567
+ this.onClose(node.item, node);
1568
+ this._state(node, false);
1569
+
1570
+ this._startPaint(ret); // after this finishes, need to reset widths of TreeNodes
1571
+
1572
+ return ret;
1573
+ }
1574
+ },
1575
+
1576
+ _expandNode: function(/*TreeNode*/ node){
1577
+ // summary:
1578
+ // Called when the user has requested to expand the node
1579
+ // returns:
1580
+ // Deferred that fires when the node is loaded and opened and (if persist=true) all it's descendants
1581
+ // that were previously opened too
1582
+
1583
+ // Signal that this call is complete
1584
+ var def = new Deferred();
1585
+
1586
+ if(node._expandNodeDeferred){
1587
+ // there's already an expand in progress, or completed, so just return
1588
+ return node._expandNodeDeferred; // dojo/_base/Deferred
1589
+ }
1590
+
1591
+ var model = this.model,
1592
+ item = node.item,
1593
+ _this = this;
1594
+
1595
+ // Load data if it's not already loaded
1596
+ if(!node._loadDeferred){
1597
+ // need to load all the children before expanding
1598
+ node.markProcessing();
1599
+
1600
+ // Setup deferred to signal when the load and expand are finished.
1601
+ // Save that deferred in this._expandDeferred as a flag that operation is in progress.
1602
+ node._loadDeferred = new Deferred();
1603
+
1604
+ // Get the children
1605
+ model.getChildren(
1606
+ item,
1607
+ function(items){
1608
+ node.unmarkProcessing();
1609
+
1610
+ // Display the children and also start expanding any children that were previously expanded
1611
+ // (if this.persist == true). The returned Deferred will fire when those expansions finish.
1612
+ node.setChildItems(items).then(function(){
1613
+ node._loadDeferred.resolve(items);
1614
+ });
1615
+ },
1616
+ function(err){
1617
+ console.error(_this, ": error loading " + node.label + " children: ", err);
1618
+ node._loadDeferred.reject(err);
1619
+ }
1620
+ );
1621
+ }
1622
+
1623
+ // Expand the node after data has loaded
1624
+ node._loadDeferred.then(lang.hitch(this, function(){
1625
+ node.expand().then(function(){
1626
+ def.resolve(true); // signal that this _expandNode() call is complete
1627
+ });
1628
+
1629
+ // seems like these should be inside of then(), but left here for back-compat about
1630
+ // when this.isOpen flag gets set (ie, at the beginning of the animation)
1631
+ this.onOpen(node.item, node);
1632
+ this._state(node, true);
1633
+ }));
1634
+
1635
+ this._startPaint(def); // after this finishes, need to reset widths of TreeNodes
1636
+
1637
+ return def; // dojo/_base/Deferred
1638
+ },
1639
+
1640
+ ////////////////// Miscellaneous functions ////////////////
1641
+
1642
+ focusNode: function(/* _tree.Node */ node){
1643
+ // summary:
1644
+ // Focus on the specified node (which must be visible)
1645
+ // tags:
1646
+ // protected
1647
+
1648
+ // set focus so that the label will be voiced using screen readers
1649
+ focus.focus(node.labelNode);
1650
+ },
1651
+
1652
+ _onNodeFocus: function(/*dijit/_WidgetBase*/ node){
1653
+ // summary:
1654
+ // Called when a TreeNode gets focus, either by user clicking
1655
+ // it, or programatically by arrow key handling code.
1656
+ // description:
1657
+ // It marks that the current node is the selected one, and the previously
1658
+ // selected node no longer is.
1659
+
1660
+ if(node && node != this.lastFocused){
1661
+ if(this.lastFocused && !this.lastFocused._destroyed){
1662
+ // mark that the previously focsable node is no longer focusable
1663
+ this.lastFocused.setFocusable(false);
1664
+ }
1665
+
1666
+ // mark that the new node is the currently selected one
1667
+ node.setFocusable(true);
1668
+ this.lastFocused = node;
1669
+ }
1670
+ },
1671
+
1672
+ _onNodeMouseEnter: function(/*dijit/_WidgetBase*/ /*===== node =====*/){
1673
+ // summary:
1674
+ // Called when mouse is over a node (onmouseenter event),
1675
+ // this is monitored by the DND code
1676
+ },
1677
+
1678
+ _onNodeMouseLeave: function(/*dijit/_WidgetBase*/ /*===== node =====*/){
1679
+ // summary:
1680
+ // Called when mouse leaves a node (onmouseleave event),
1681
+ // this is monitored by the DND code
1682
+ },
1683
+
1684
+ //////////////// Events from the model //////////////////////////
1685
+
1686
+ _onItemChange: function(/*Item*/ item){
1687
+ // summary:
1688
+ // Processes notification of a change to an item's scalar values like label
1689
+ var model = this.model,
1690
+ identity = model.getIdentity(item),
1691
+ nodes = this._itemNodesMap[identity];
1692
+
1693
+ if(nodes){
1694
+ var label = this.getLabel(item),
1695
+ tooltip = this.getTooltip(item);
1696
+ array.forEach(nodes, function(node){
1697
+ node.set({
1698
+ item: item, // theoretically could be new JS Object representing same item
1699
+ label: label,
1700
+ tooltip: tooltip
1701
+ });
1702
+ node._updateItemClasses(item);
1703
+ });
1704
+ }
1705
+ },
1706
+
1707
+ _onItemChildrenChange: function(/*dojo/data/Item*/ parent, /*dojo/data/Item[]*/ newChildrenList){
1708
+ // summary:
1709
+ // Processes notification of a change to an item's children
1710
+ var model = this.model,
1711
+ identity = model.getIdentity(parent),
1712
+ parentNodes = this._itemNodesMap[identity];
1713
+
1714
+ if(parentNodes){
1715
+ array.forEach(parentNodes,function(parentNode){
1716
+ parentNode.setChildItems(newChildrenList);
1717
+ });
1718
+ }
1719
+ },
1720
+
1721
+ _onItemDelete: function(/*Item*/ item){
1722
+ // summary:
1723
+ // Processes notification of a deletion of an item.
1724
+ // Not called from new dojo.store interface but there's cleanup code in setChildItems() instead.
1725
+
1726
+ var model = this.model,
1727
+ identity = model.getIdentity(item),
1728
+ nodes = this._itemNodesMap[identity];
1729
+
1730
+ if(nodes){
1731
+ array.forEach(nodes,function(node){
1732
+ // Remove node from set of selected nodes (if it's selected)
1733
+ this.dndController.removeTreeNode(node);
1734
+
1735
+ var parent = node.getParent();
1736
+ if(parent){
1737
+ // if node has not already been orphaned from a _onSetItem(parent, "children", ..) call...
1738
+ parent.removeChild(node);
1739
+ }
1740
+ node.destroyRecursive();
1741
+ }, this);
1742
+ delete this._itemNodesMap[identity];
1743
+ }
1744
+ },
1745
+
1746
+ /////////////// Miscellaneous funcs
1747
+
1748
+ _initState: function(){
1749
+ // summary:
1750
+ // Load in which nodes should be opened automatically
1751
+ this._openedNodes = {};
1752
+ if(this.persist && this.cookieName){
1753
+ var oreo = cookie(this.cookieName);
1754
+ if(oreo){
1755
+ array.forEach(oreo.split(','), function(item){
1756
+ this._openedNodes[item] = true;
1757
+ }, this);
1758
+ }
1759
+ }
1760
+ },
1761
+ _state: function(node, expanded){
1762
+ // summary:
1763
+ // Query or set expanded state for an node
1764
+ if(!this.persist){
1765
+ return false;
1766
+ }
1767
+ var path = array.map(node.getTreePath(), function(item){
1768
+ return this.model.getIdentity(item);
1769
+ }, this).join("/");
1770
+ if(arguments.length === 1){
1771
+ return this._openedNodes[path];
1772
+ }else{
1773
+ if(expanded){
1774
+ this._openedNodes[path] = true;
1775
+ }else{
1776
+ delete this._openedNodes[path];
1777
+ }
1778
+ if(this.persist && this.cookieName){
1779
+ var ary = [];
1780
+ for(var id in this._openedNodes){
1781
+ ary.push(id);
1782
+ }
1783
+ cookie(this.cookieName, ary.join(","), {expires:365});
1784
+ }
1785
+ }
1786
+ },
1787
+
1788
+ destroy: function(){
1789
+ if(this._curSearch){
1790
+ this._curSearch.timer.remove();
1791
+ delete this._curSearch;
1792
+ }
1793
+ if(this.rootNode){
1794
+ this.rootNode.destroyRecursive();
1795
+ }
1796
+ if(this.dndController && !lang.isString(this.dndController)){
1797
+ this.dndController.destroy();
1798
+ }
1799
+ this.rootNode = null;
1800
+ this.inherited(arguments);
1801
+ },
1802
+
1803
+ destroyRecursive: function(){
1804
+ // A tree is treated as a leaf, not as a node with children (like a grid),
1805
+ // but defining destroyRecursive for back-compat.
1806
+ this.destroy();
1807
+ },
1808
+
1809
+ resize: function(changeSize){
1810
+ if(changeSize){
1811
+ domGeometry.setMarginBox(this.domNode, changeSize);
1812
+ }
1813
+
1814
+ // The main JS sizing involved w/tree is the indentation, which is specified
1815
+ // in CSS and read in through this dummy indentDetector node (tree must be
1816
+ // visible and attached to the DOM to read this).
1817
+ // If the Tree is hidden domGeometry.position(this.tree.indentDetector).w will return 0, in which case just
1818
+ // keep the default value.
1819
+ this._nodePixelIndent = domGeometry.position(this.tree.indentDetector).w || this._nodePixelIndent;
1820
+
1821
+ // resize() may be called before this.rootNode is created, so wait until it's available
1822
+ this.expandChildrenDeferred.then(lang.hitch(this, function(){
1823
+ // If tree has already loaded, then reset indent for all the nodes
1824
+ this.rootNode.set('indent', this.showRoot ? 0 : -1);
1825
+
1826
+ // Also, adjust widths of all rows to match width of Tree
1827
+ this._adjustWidths();
1828
+ }));
1829
+ },
1830
+
1831
+ _outstandingPaintOperations: 0,
1832
+ _startPaint: function(/*Promise|Boolean*/ p){
1833
+ // summary:
1834
+ // Called at the start of an operation that will change what's displayed.
1835
+ // p:
1836
+ // Promise that tells when the operation will complete. Alternately, if it's just a Boolean, it signifies
1837
+ // that the operation was synchronous, and already completed.
1838
+
1839
+ this._outstandingPaintOperations++;
1840
+ if(this._adjustWidthsTimer){
1841
+ this._adjustWidthsTimer.remove();
1842
+ delete this._adjustWidthsTimer;
1843
+ }
1844
+
1845
+ var oc = lang.hitch(this, function(){
1846
+ this._outstandingPaintOperations--;
1847
+
1848
+ if(this._outstandingPaintOperations <= 0 && !this._adjustWidthsTimer && this._started){
1849
+ // Use defer() to avoid a width adjustment when another operation will immediately follow,
1850
+ // such as a sequence of opening a node, then it's children, then it's grandchildren, etc.
1851
+ this._adjustWidthsTimer = this.defer("_adjustWidths");
1852
+ }
1853
+ });
1854
+ when(p, oc, oc);
1855
+ },
1856
+
1857
+ _adjustWidths: function(){
1858
+ // summary:
1859
+ // Get width of widest TreeNode, or the width of the Tree itself, whichever is greater,
1860
+ // and then set all TreeNodes to that width, so that selection/hover highlighting
1861
+ // extends to the edge of the Tree (#13141)
1862
+
1863
+ if(this._adjustWidthsTimer){
1864
+ this._adjustWidthsTimer.remove();
1865
+ delete this._adjustWidthsTimer;
1866
+ }
1867
+
1868
+ var maxWidth = 0,
1869
+ nodes = [];
1870
+ function collect(/*TreeNode*/ parent){
1871
+ var node = parent.rowNode;
1872
+ node.style.width = "auto"; // erase setting from previous run
1873
+ maxWidth = Math.max(maxWidth, node.clientWidth);
1874
+ nodes.push(node);
1875
+ if(parent.isExpanded){
1876
+ array.forEach(parent.getChildren(), collect);
1877
+ }
1878
+ }
1879
+ collect(this.rootNode);
1880
+ maxWidth = Math.max(maxWidth, domGeometry.getContentBox(this.domNode).w); // do after node.style.width="auto"
1881
+ array.forEach(nodes, function(node){
1882
+ node.style.width = maxWidth + "px"; // assumes no horizontal padding, border, or margin on rowNode
1883
+ });
1884
+ },
1885
+
1886
+ _createTreeNode: function(/*Object*/ args){
1887
+ // summary:
1888
+ // creates a TreeNode
1889
+ // description:
1890
+ // Developers can override this method to define their own TreeNode class;
1891
+ // However it will probably be removed in a future release in favor of a way
1892
+ // of just specifying a widget for the label, rather than one that contains
1893
+ // the children too.
1894
+ return new TreeNode(args);
1895
+ },
1896
+
1897
+ _setTextDirAttr: function(textDir){
1898
+ if(textDir && this.textDir!= textDir){
1899
+ this._set("textDir",textDir);
1900
+ this.rootNode.set("textDir", textDir);
1901
+ }
1902
+ }
1903
+ });
1904
+
1905
+ Tree.PathError = createError("TreePathError");
1906
+ Tree._TreeNode = TreeNode; // for monkey patching or creating subclasses of TreeNode
1907
+
1908
+ return Tree;
1909
+ });