@datagrok/helm 2.13.8 → 3.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (348) hide show
  1. package/dist/489.js +2 -0
  2. package/dist/489.js.map +1 -0
  3. package/dist/package-test.js +1 -1
  4. package/dist/package-test.js.map +1 -1
  5. package/dist/package.js +1 -1
  6. package/dist/package.js.map +1 -1
  7. package/files/samples/helm-showcase.csv +56 -0
  8. package/package.json +6 -10
  9. package/src/helm-helper.ts +61 -413
  10. package/src/package-api.ts +14 -11
  11. package/src/package-test.ts +0 -2
  12. package/src/package-utils.ts +8 -298
  13. package/src/package.g.ts +2 -8
  14. package/src/package.ts +11 -31
  15. package/src/tests/helm-activity-cliffs.ts +2 -2
  16. package/src/tests/helm-input-tests.ts +83 -0
  17. package/src/tests/parse-helm-tests.ts +7 -57
  18. package/src/tests/properties-widget-tests.ts +21 -11
  19. package/src/utils/helm-grid-cell-renderer.ts +141 -151
  20. package/src/utils/index.ts +3 -7
  21. package/src/widgets/helm-input.ts +42 -12
  22. package/src/widgets/properties-widget.ts +18 -11
  23. package/test-console-output-1.log +105 -714
  24. package/test-record-1.mp4 +0 -0
  25. package/webpack.config.js +1 -12
  26. package/dist/455.js +0 -2
  27. package/dist/455.js.map +0 -1
  28. package/dist/package-dojo.js +0 -2
  29. package/dist/package-dojo.js.map +0 -1
  30. package/helm/JSDraw/Pistoia.HELM-uncompressed.js +0 -9694
  31. package/helm/JSDraw/ReadMe.txt +0 -8
  32. package/helm/JSDraw/Scilligence.JSDraw2.Lite-uncompressed.js +0 -31126
  33. package/helm/dojo/package.ts +0 -41
  34. package/helm/dojo/types.ts +0 -12
  35. package/src/helm-web-editor.ts +0 -68
  36. package/src/tests/get-monomer-tests.ts +0 -214
  37. package/src/tests/helm-service-tests.ts +0 -98
  38. package/src/types/dojo.ts +0 -3
  39. package/src/types/index.ts +0 -5
  40. package/src/utils/get-monomer.ts +0 -90
  41. package/src/utils/helm-service.ts +0 -166
  42. package/vendor/dojo-1.10.10/dijit/BackgroundIframe.js +0 -63
  43. package/vendor/dojo-1.10.10/dijit/BackgroundIframe.js.uncompressed.js +0 -116
  44. package/vendor/dojo-1.10.10/dijit/Destroyable.js +0 -35
  45. package/vendor/dojo-1.10.10/dijit/Destroyable.js.uncompressed.js +0 -83
  46. package/vendor/dojo-1.10.10/dijit/Tooltip.js +0 -240
  47. package/vendor/dojo-1.10.10/dijit/Tooltip.js.uncompressed.js +0 -612
  48. package/vendor/dojo-1.10.10/dijit/Viewport.js +0 -44
  49. package/vendor/dojo-1.10.10/dijit/Viewport.js.uncompressed.js +0 -87
  50. package/vendor/dojo-1.10.10/dijit/WidgetSet.js +0 -76
  51. package/vendor/dojo-1.10.10/dijit/WidgetSet.js.uncompressed.js +0 -247
  52. package/vendor/dojo-1.10.10/dijit/_AttachMixin.js +0 -94
  53. package/vendor/dojo-1.10.10/dijit/_AttachMixin.js.uncompressed.js +0 -238
  54. package/vendor/dojo-1.10.10/dijit/_Contained.js +0 -17
  55. package/vendor/dojo-1.10.10/dijit/_Contained.js.uncompressed.js +0 -56
  56. package/vendor/dojo-1.10.10/dijit/_Container.js +0 -47
  57. package/vendor/dojo-1.10.10/dijit/_Container.js.uncompressed.js +0 -108
  58. package/vendor/dojo-1.10.10/dijit/_CssStateMixin.js +0 -198
  59. package/vendor/dojo-1.10.10/dijit/_CssStateMixin.js.uncompressed.js +0 -372
  60. package/vendor/dojo-1.10.10/dijit/_FocusMixin.js +0 -11
  61. package/vendor/dojo-1.10.10/dijit/_FocusMixin.js.uncompressed.js +0 -66
  62. package/vendor/dojo-1.10.10/dijit/_HasDropDown.js +0 -188
  63. package/vendor/dojo-1.10.10/dijit/_HasDropDown.js.uncompressed.js +0 -472
  64. package/vendor/dojo-1.10.10/dijit/_OnDijitClickMixin.js +0 -8
  65. package/vendor/dojo-1.10.10/dijit/_OnDijitClickMixin.js.uncompressed.js +0 -31
  66. package/vendor/dojo-1.10.10/dijit/_TemplatedMixin.js +0 -90
  67. package/vendor/dojo-1.10.10/dijit/_TemplatedMixin.js.uncompressed.js +0 -205
  68. package/vendor/dojo-1.10.10/dijit/_Widget.js +0 -66
  69. package/vendor/dojo-1.10.10/dijit/_Widget.js.uncompressed.js +0 -352
  70. package/vendor/dojo-1.10.10/dijit/_WidgetBase.js +0 -353
  71. package/vendor/dojo-1.10.10/dijit/_WidgetBase.js.uncompressed.js +0 -1200
  72. package/vendor/dojo-1.10.10/dijit/_base/focus.js +0 -68
  73. package/vendor/dojo-1.10.10/dijit/_base/focus.js.uncompressed.js +0 -207
  74. package/vendor/dojo-1.10.10/dijit/_base/manager.js +0 -10
  75. package/vendor/dojo-1.10.10/dijit/_base/manager.js.uncompressed.js +0 -35
  76. package/vendor/dojo-1.10.10/dijit/_base/place.js +0 -52
  77. package/vendor/dojo-1.10.10/dijit/_base/place.js.uncompressed.js +0 -131
  78. package/vendor/dojo-1.10.10/dijit/_base/popup.js +0 -23
  79. package/vendor/dojo-1.10.10/dijit/_base/popup.js.uncompressed.js +0 -58
  80. package/vendor/dojo-1.10.10/dijit/_base/scroll.js +0 -6
  81. package/vendor/dojo-1.10.10/dijit/_base/scroll.js.uncompressed.js +0 -22
  82. package/vendor/dojo-1.10.10/dijit/_base/sniff.js +0 -3
  83. package/vendor/dojo-1.10.10/dijit/_base/sniff.js.uncompressed.js +0 -12
  84. package/vendor/dojo-1.10.10/dijit/_base/typematic.js +0 -3
  85. package/vendor/dojo-1.10.10/dijit/_base/typematic.js.uncompressed.js +0 -10
  86. package/vendor/dojo-1.10.10/dijit/_base/wai.js +0 -32
  87. package/vendor/dojo-1.10.10/dijit/_base/wai.js.uncompressed.js +0 -109
  88. package/vendor/dojo-1.10.10/dijit/_base/window.js +0 -6
  89. package/vendor/dojo-1.10.10/dijit/_base/window.js.uncompressed.js +0 -18
  90. package/vendor/dojo-1.10.10/dijit/_base.js +0 -4
  91. package/vendor/dojo-1.10.10/dijit/_base.js.uncompressed.js +0 -27
  92. package/vendor/dojo-1.10.10/dijit/a11y.js +0 -109
  93. package/vendor/dojo-1.10.10/dijit/a11y.js.uncompressed.js +0 -191
  94. package/vendor/dojo-1.10.10/dijit/a11yclick.js +0 -66
  95. package/vendor/dojo-1.10.10/dijit/a11yclick.js.uncompressed.js +0 -139
  96. package/vendor/dojo-1.10.10/dijit/focus.js +0 -188
  97. package/vendor/dojo-1.10.10/dijit/focus.js.uncompressed.js +0 -371
  98. package/vendor/dojo-1.10.10/dijit/form/Button.js +0 -49
  99. package/vendor/dojo-1.10.10/dijit/form/Button.js.uncompressed.js +0 -130
  100. package/vendor/dojo-1.10.10/dijit/form/ComboBox.js +0 -4
  101. package/vendor/dojo-1.10.10/dijit/form/ComboBox.js.uncompressed.js +0 -27
  102. package/vendor/dojo-1.10.10/dijit/form/ComboButton.js +0 -21
  103. package/vendor/dojo-1.10.10/dijit/form/ComboButton.js.uncompressed.js +0 -86
  104. package/vendor/dojo-1.10.10/dijit/form/DropDownButton.js +0 -38
  105. package/vendor/dojo-1.10.10/dijit/form/DropDownButton.js.uncompressed.js +0 -102
  106. package/vendor/dojo-1.10.10/dijit/form/ToggleButton.js +0 -7
  107. package/vendor/dojo-1.10.10/dijit/form/ToggleButton.js.uncompressed.js +0 -26
  108. package/vendor/dojo-1.10.10/dijit/form/_ButtonMixin.js +0 -50
  109. package/vendor/dojo-1.10.10/dijit/form/_ButtonMixin.js.uncompressed.js +0 -116
  110. package/vendor/dojo-1.10.10/dijit/form/_FormValueMixin.js +0 -26
  111. package/vendor/dojo-1.10.10/dijit/form/_FormValueMixin.js.uncompressed.js +0 -81
  112. package/vendor/dojo-1.10.10/dijit/form/_FormValueWidget.js +0 -24
  113. package/vendor/dojo-1.10.10/dijit/form/_FormValueWidget.js.uncompressed.js +0 -51
  114. package/vendor/dojo-1.10.10/dijit/form/_FormWidget.js +0 -22
  115. package/vendor/dojo-1.10.10/dijit/form/_FormWidget.js.uncompressed.js +0 -67
  116. package/vendor/dojo-1.10.10/dijit/form/_FormWidgetMixin.js +0 -111
  117. package/vendor/dojo-1.10.10/dijit/form/_FormWidgetMixin.js.uncompressed.js +0 -254
  118. package/vendor/dojo-1.10.10/dijit/form/_ToggleButtonMixin.js +0 -32
  119. package/vendor/dojo-1.10.10/dijit/form/_ToggleButtonMixin.js.uncompressed.js +0 -69
  120. package/vendor/dojo-1.10.10/dijit/hccss.js +0 -9
  121. package/vendor/dojo-1.10.10/dijit/hccss.js.uncompressed.js +0 -21
  122. package/vendor/dojo-1.10.10/dijit/layout/AccordionContainer.js +0 -215
  123. package/vendor/dojo-1.10.10/dijit/layout/AccordionContainer.js.uncompressed.js +0 -550
  124. package/vendor/dojo-1.10.10/dijit/layout/AccordionPane.js +0 -7
  125. package/vendor/dojo-1.10.10/dijit/layout/AccordionPane.js.uncompressed.js +0 -25
  126. package/vendor/dojo-1.10.10/dijit/layout/ContentPane.js +0 -235
  127. package/vendor/dojo-1.10.10/dijit/layout/ContentPane.js.uncompressed.js +0 -653
  128. package/vendor/dojo-1.10.10/dijit/layout/StackContainer.js +0 -171
  129. package/vendor/dojo-1.10.10/dijit/layout/StackContainer.js.uncompressed.js +0 -411
  130. package/vendor/dojo-1.10.10/dijit/layout/StackController.js +0 -194
  131. package/vendor/dojo-1.10.10/dijit/layout/StackController.js.uncompressed.js +0 -410
  132. package/vendor/dojo-1.10.10/dijit/layout/_ContentPaneResizeMixin.js +0 -99
  133. package/vendor/dojo-1.10.10/dijit/layout/_ContentPaneResizeMixin.js.uncompressed.js +0 -236
  134. package/vendor/dojo-1.10.10/dijit/layout/_LayoutWidget.js +0 -47
  135. package/vendor/dojo-1.10.10/dijit/layout/_LayoutWidget.js.uncompressed.js +0 -190
  136. package/vendor/dojo-1.10.10/dijit/layout/utils.js +0 -77
  137. package/vendor/dojo-1.10.10/dijit/layout/utils.js.uncompressed.js +0 -151
  138. package/vendor/dojo-1.10.10/dijit/main.js +0 -4
  139. package/vendor/dojo-1.10.10/dijit/main.js.uncompressed.js +0 -16
  140. package/vendor/dojo-1.10.10/dijit/nls/dijit-all_en-us.js +0 -2
  141. package/vendor/dojo-1.10.10/dijit/nls/dijit-all_en-us.js.uncompressed.js +0 -21
  142. package/vendor/dojo-1.10.10/dijit/nls/loading.js +0 -2
  143. package/vendor/dojo-1.10.10/dijit/nls/loading.js.uncompressed.js +0 -47
  144. package/vendor/dojo-1.10.10/dijit/place.js +0 -142
  145. package/vendor/dojo-1.10.10/dijit/place.js.uncompressed.js +0 -407
  146. package/vendor/dojo-1.10.10/dijit/popup.js +0 -162
  147. package/vendor/dojo-1.10.10/dijit/popup.js.uncompressed.js +0 -441
  148. package/vendor/dojo-1.10.10/dijit/registry.js +0 -79
  149. package/vendor/dojo-1.10.10/dijit/registry.js.uncompressed.js +0 -159
  150. package/vendor/dojo-1.10.10/dijit/selection.js +0 -364
  151. package/vendor/dojo-1.10.10/dijit/selection.js.uncompressed.js +0 -525
  152. package/vendor/dojo-1.10.10/dijit/typematic.js +0 -96
  153. package/vendor/dojo-1.10.10/dijit/typematic.js.uncompressed.js +0 -211
  154. package/vendor/dojo-1.10.10/dojo/NodeList-manipulate.js +0 -195
  155. package/vendor/dojo-1.10.10/dojo/NodeList-manipulate.js.uncompressed.js +0 -761
  156. package/vendor/dojo-1.10.10/dojo/Stateful.js +0 -90
  157. package/vendor/dojo-1.10.10/dojo/Stateful.js.uncompressed.js +0 -218
  158. package/vendor/dojo-1.10.10/dojo/_base/url.js +0 -87
  159. package/vendor/dojo-1.10.10/dojo/_base/url.js.uncompressed.js +0 -109
  160. package/vendor/dojo-1.10.10/dojo/cache.js +0 -9
  161. package/vendor/dojo-1.10.10/dojo/cache.js.uncompressed.js +0 -7
  162. package/vendor/dojo-1.10.10/dojo/colors.js +0 -74
  163. package/vendor/dojo-1.10.10/dojo/colors.js.uncompressed.js +0 -232
  164. package/vendor/dojo-1.10.10/dojo/cookie.js +0 -48
  165. package/vendor/dojo-1.10.10/dojo/cookie.js.uncompressed.js +0 -98
  166. package/vendor/dojo-1.10.10/dojo/date/stamp.js +0 -82
  167. package/vendor/dojo-1.10.10/dojo/date/stamp.js.uncompressed.js +0 -144
  168. package/vendor/dojo-1.10.10/dojo/dojo.js +0 -7
  169. package/vendor/dojo-1.10.10/dojo/dojo.js.uncompressed.js +0 -18680
  170. package/vendor/dojo-1.10.10/dojo/fx/Toggler.js +0 -27
  171. package/vendor/dojo-1.10.10/dojo/fx/Toggler.js.uncompressed.js +0 -101
  172. package/vendor/dojo-1.10.10/dojo/fx/easing.js +0 -165
  173. package/vendor/dojo-1.10.10/dojo/fx/easing.js.uncompressed.js +0 -276
  174. package/vendor/dojo-1.10.10/dojo/fx.js +0 -271
  175. package/vendor/dojo-1.10.10/dojo/fx.js.uncompressed.js +0 -443
  176. package/vendor/dojo-1.10.10/dojo/hccss.js +0 -26
  177. package/vendor/dojo-1.10.10/dojo/hccss.js.uncompressed.js +0 -52
  178. package/vendor/dojo-1.10.10/dojo/html.js +0 -161
  179. package/vendor/dojo-1.10.10/dojo/html.js.uncompressed.js +0 -370
  180. package/vendor/dojo-1.10.10/dojo/io/iframe.js +0 -71
  181. package/vendor/dojo-1.10.10/dojo/io/iframe.js.uncompressed.js +0 -190
  182. package/vendor/dojo-1.10.10/dojo/io/script.js +0 -112
  183. package/vendor/dojo-1.10.10/dojo/io/script.js.uncompressed.js +0 -280
  184. package/vendor/dojo-1.10.10/dojo/parser.js +0 -437
  185. package/vendor/dojo-1.10.10/dojo/parser.js.uncompressed.js +0 -915
  186. package/vendor/dojo-1.10.10/dojo/promise/all.js +0 -59
  187. package/vendor/dojo-1.10.10/dojo/promise/all.js.uncompressed.js +0 -77
  188. package/vendor/dojo-1.10.10/dojo/regexp.js +0 -32
  189. package/vendor/dojo-1.10.10/dojo/regexp.js.uncompressed.js +0 -70
  190. package/vendor/dojo-1.10.10/dojo/request/iframe.js +0 -291
  191. package/vendor/dojo-1.10.10/dojo/request/iframe.js.uncompressed.js +0 -438
  192. package/vendor/dojo-1.10.10/dojo/request/script.js +0 -129
  193. package/vendor/dojo-1.10.10/dojo/request/script.js.uncompressed.js +0 -237
  194. package/vendor/dojo-1.10.10/dojo/require.js +0 -11
  195. package/vendor/dojo-1.10.10/dojo/require.js.uncompressed.js +0 -7
  196. package/vendor/dojo-1.10.10/dojo/resources/blank.gif +0 -0
  197. package/vendor/dojo-1.10.10/dojo/string.js +0 -67
  198. package/vendor/dojo-1.10.10/dojo/string.js.uncompressed.js +0 -181
  199. package/vendor/dojo-1.10.10/dojo/touch.js +0 -191
  200. package/vendor/dojo-1.10.10/dojo/touch.js.uncompressed.js +0 -468
  201. package/vendor/dojo-1.10.10/dojo/uacss.js +0 -36
  202. package/vendor/dojo-1.10.10/dojo/uacss.js.uncompressed.js +0 -85
  203. package/vendor/dojo-1.10.10/dojo/window.js +0 -141
  204. package/vendor/dojo-1.10.10/dojo/window.js.uncompressed.js +0 -241
  205. package/vendor/dojo-1.10.10/dojox/charting/Chart.js +0 -626
  206. package/vendor/dojo-1.10.10/dojox/charting/Chart.js.uncompressed.js +0 -1220
  207. package/vendor/dojo-1.10.10/dojox/charting/Chart2D.js +0 -5
  208. package/vendor/dojo-1.10.10/dojox/charting/Chart2D.js.uncompressed.js +0 -16
  209. package/vendor/dojo-1.10.10/dojox/charting/Element.js +0 -247
  210. package/vendor/dojo-1.10.10/dojox/charting/Element.js.uncompressed.js +0 -402
  211. package/vendor/dojo-1.10.10/dojox/charting/Series.js +0 -24
  212. package/vendor/dojo-1.10.10/dojox/charting/Series.js.uncompressed.js +0 -58
  213. package/vendor/dojo-1.10.10/dojox/charting/SimpleTheme.js +0 -191
  214. package/vendor/dojo-1.10.10/dojox/charting/SimpleTheme.js.uncompressed.js +0 -577
  215. package/vendor/dojo-1.10.10/dojox/charting/Theme.js +0 -42
  216. package/vendor/dojo-1.10.10/dojox/charting/Theme.js.uncompressed.js +0 -120
  217. package/vendor/dojo-1.10.10/dojox/charting/action2d/Base.js +0 -11
  218. package/vendor/dojo-1.10.10/dojox/charting/action2d/Base.js.uncompressed.js +0 -36
  219. package/vendor/dojo-1.10.10/dojox/charting/action2d/Highlight.js +0 -77
  220. package/vendor/dojo-1.10.10/dojox/charting/action2d/Highlight.js.uncompressed.js +0 -144
  221. package/vendor/dojo-1.10.10/dojox/charting/action2d/Magnify.js +0 -58
  222. package/vendor/dojo-1.10.10/dojox/charting/action2d/Magnify.js.uncompressed.js +0 -123
  223. package/vendor/dojo-1.10.10/dojox/charting/action2d/MoveSlice.js +0 -54
  224. package/vendor/dojo-1.10.10/dojox/charting/action2d/MoveSlice.js.uncompressed.js +0 -124
  225. package/vendor/dojo-1.10.10/dojox/charting/action2d/PlotAction.js +0 -28
  226. package/vendor/dojo-1.10.10/dojox/charting/action2d/PlotAction.js.uncompressed.js +0 -74
  227. package/vendor/dojo-1.10.10/dojox/charting/action2d/Tooltip.js +0 -116
  228. package/vendor/dojo-1.10.10/dojox/charting/action2d/Tooltip.js.uncompressed.js +0 -178
  229. package/vendor/dojo-1.10.10/dojox/charting/axis2d/Base.js +0 -24
  230. package/vendor/dojo-1.10.10/dojox/charting/axis2d/Base.js.uncompressed.js +0 -83
  231. package/vendor/dojo-1.10.10/dojox/charting/axis2d/Default.js +0 -557
  232. package/vendor/dojo-1.10.10/dojox/charting/axis2d/Default.js.uncompressed.js +0 -980
  233. package/vendor/dojo-1.10.10/dojox/charting/axis2d/Invisible.js +0 -65
  234. package/vendor/dojo-1.10.10/dojox/charting/axis2d/Invisible.js.uncompressed.js +0 -224
  235. package/vendor/dojo-1.10.10/dojox/charting/axis2d/common.js +0 -91
  236. package/vendor/dojo-1.10.10/dojox/charting/axis2d/common.js.uncompressed.js +0 -164
  237. package/vendor/dojo-1.10.10/dojox/charting/plot2d/Areas.js +0 -7
  238. package/vendor/dojo-1.10.10/dojox/charting/plot2d/Areas.js.uncompressed.js +0 -14
  239. package/vendor/dojo-1.10.10/dojox/charting/plot2d/Bars.js +0 -168
  240. package/vendor/dojo-1.10.10/dojox/charting/plot2d/Bars.js.uncompressed.js +0 -311
  241. package/vendor/dojo-1.10.10/dojox/charting/plot2d/Base.js +0 -61
  242. package/vendor/dojo-1.10.10/dojox/charting/plot2d/Base.js.uncompressed.js +0 -161
  243. package/vendor/dojo-1.10.10/dojox/charting/plot2d/Bubble.js +0 -141
  244. package/vendor/dojo-1.10.10/dojox/charting/plot2d/Bubble.js.uncompressed.js +0 -242
  245. package/vendor/dojo-1.10.10/dojox/charting/plot2d/Candlesticks.js +0 -126
  246. package/vendor/dojo-1.10.10/dojox/charting/plot2d/Candlesticks.js.uncompressed.js +0 -243
  247. package/vendor/dojo-1.10.10/dojox/charting/plot2d/CartesianBase.js +0 -108
  248. package/vendor/dojo-1.10.10/dojox/charting/plot2d/CartesianBase.js.uncompressed.js +0 -290
  249. package/vendor/dojo-1.10.10/dojox/charting/plot2d/ClusteredBars.js +0 -13
  250. package/vendor/dojo-1.10.10/dojox/charting/plot2d/ClusteredBars.js.uncompressed.js +0 -14
  251. package/vendor/dojo-1.10.10/dojox/charting/plot2d/ClusteredColumns.js +0 -13
  252. package/vendor/dojo-1.10.10/dojox/charting/plot2d/ClusteredColumns.js.uncompressed.js +0 -14
  253. package/vendor/dojo-1.10.10/dojox/charting/plot2d/Columns.js +0 -153
  254. package/vendor/dojo-1.10.10/dojox/charting/plot2d/Columns.js.uncompressed.js +0 -249
  255. package/vendor/dojo-1.10.10/dojox/charting/plot2d/Default.js +0 -253
  256. package/vendor/dojo-1.10.10/dojox/charting/plot2d/Default.js.uncompressed.js +0 -472
  257. package/vendor/dojo-1.10.10/dojox/charting/plot2d/Grid.js +0 -182
  258. package/vendor/dojo-1.10.10/dojox/charting/plot2d/Grid.js.uncompressed.js +0 -356
  259. package/vendor/dojo-1.10.10/dojox/charting/plot2d/Lines.js +0 -6
  260. package/vendor/dojo-1.10.10/dojox/charting/plot2d/Lines.js.uncompressed.js +0 -12
  261. package/vendor/dojo-1.10.10/dojox/charting/plot2d/Markers.js +0 -6
  262. package/vendor/dojo-1.10.10/dojox/charting/plot2d/Markers.js.uncompressed.js +0 -12
  263. package/vendor/dojo-1.10.10/dojox/charting/plot2d/MarkersOnly.js +0 -7
  264. package/vendor/dojo-1.10.10/dojox/charting/plot2d/MarkersOnly.js.uncompressed.js +0 -13
  265. package/vendor/dojo-1.10.10/dojox/charting/plot2d/OHLC.js +0 -110
  266. package/vendor/dojo-1.10.10/dojox/charting/plot2d/OHLC.js.uncompressed.js +0 -208
  267. package/vendor/dojo-1.10.10/dojox/charting/plot2d/Pie.js +0 -303
  268. package/vendor/dojo-1.10.10/dojox/charting/plot2d/Pie.js.uncompressed.js +0 -547
  269. package/vendor/dojo-1.10.10/dojox/charting/plot2d/Scatter.js +0 -134
  270. package/vendor/dojo-1.10.10/dojox/charting/plot2d/Scatter.js.uncompressed.js +0 -207
  271. package/vendor/dojo-1.10.10/dojox/charting/plot2d/Spider.js +0 -299
  272. package/vendor/dojo-1.10.10/dojox/charting/plot2d/Spider.js.uncompressed.js +0 -537
  273. package/vendor/dojo-1.10.10/dojox/charting/plot2d/Stacked.js +0 -24
  274. package/vendor/dojo-1.10.10/dojox/charting/plot2d/Stacked.js.uncompressed.js +0 -44
  275. package/vendor/dojo-1.10.10/dojox/charting/plot2d/StackedAreas.js +0 -7
  276. package/vendor/dojo-1.10.10/dojox/charting/plot2d/StackedAreas.js.uncompressed.js +0 -14
  277. package/vendor/dojo-1.10.10/dojox/charting/plot2d/StackedBars.js +0 -22
  278. package/vendor/dojo-1.10.10/dojox/charting/plot2d/StackedBars.js.uncompressed.js +0 -33
  279. package/vendor/dojo-1.10.10/dojox/charting/plot2d/StackedColumns.js +0 -20
  280. package/vendor/dojo-1.10.10/dojox/charting/plot2d/StackedColumns.js.uncompressed.js +0 -31
  281. package/vendor/dojo-1.10.10/dojox/charting/plot2d/StackedLines.js +0 -6
  282. package/vendor/dojo-1.10.10/dojox/charting/plot2d/StackedLines.js.uncompressed.js +0 -12
  283. package/vendor/dojo-1.10.10/dojox/charting/plot2d/_PlotEvents.js +0 -68
  284. package/vendor/dojo-1.10.10/dojox/charting/plot2d/_PlotEvents.js.uncompressed.js +0 -120
  285. package/vendor/dojo-1.10.10/dojox/charting/plot2d/common.js +0 -209
  286. package/vendor/dojo-1.10.10/dojox/charting/plot2d/common.js.uncompressed.js +0 -214
  287. package/vendor/dojo-1.10.10/dojox/charting/plot2d/commonStacked.js +0 -76
  288. package/vendor/dojo-1.10.10/dojox/charting/plot2d/commonStacked.js.uncompressed.js +0 -77
  289. package/vendor/dojo-1.10.10/dojox/charting/scaler/common.js +0 -59
  290. package/vendor/dojo-1.10.10/dojox/charting/scaler/common.js.uncompressed.js +0 -70
  291. package/vendor/dojo-1.10.10/dojox/charting/scaler/linear.js +0 -220
  292. package/vendor/dojo-1.10.10/dojox/charting/scaler/linear.js.uncompressed.js +0 -262
  293. package/vendor/dojo-1.10.10/dojox/charting/scaler/primitive.js +0 -23
  294. package/vendor/dojo-1.10.10/dojox/charting/scaler/primitive.js.uncompressed.js +0 -36
  295. package/vendor/dojo-1.10.10/dojox/charting/themes/Claro.js +0 -39
  296. package/vendor/dojo-1.10.10/dojox/charting/themes/Claro.js.uncompressed.js +0 -106
  297. package/vendor/dojo-1.10.10/dojox/charting/themes/Wetland.js +0 -5
  298. package/vendor/dojo-1.10.10/dojox/charting/themes/Wetland.js.uncompressed.js +0 -12
  299. package/vendor/dojo-1.10.10/dojox/charting/themes/common.js +0 -4
  300. package/vendor/dojo-1.10.10/dojox/charting/themes/common.js.uncompressed.js +0 -3
  301. package/vendor/dojo-1.10.10/dojox/charting/widget/Legend.js +0 -102
  302. package/vendor/dojo-1.10.10/dojox/charting/widget/Legend.js.uncompressed.js +0 -165
  303. package/vendor/dojo-1.10.10/dojox/color/Palette.js +0 -163
  304. package/vendor/dojo-1.10.10/dojox/color/Palette.js.uncompressed.js +0 -460
  305. package/vendor/dojo-1.10.10/dojox/color/_base.js +0 -174
  306. package/vendor/dojo-1.10.10/dojox/color/_base.js.uncompressed.js +0 -196
  307. package/vendor/dojo-1.10.10/dojox/gfx/_base.js +0 -253
  308. package/vendor/dojo-1.10.10/dojox/gfx/_base.js.uncompressed.js +0 -1024
  309. package/vendor/dojo-1.10.10/dojox/gfx/fx.js +0 -297
  310. package/vendor/dojo-1.10.10/dojox/gfx/fx.js.uncompressed.js +0 -350
  311. package/vendor/dojo-1.10.10/dojox/gfx/gradutils.js +0 -63
  312. package/vendor/dojo-1.10.10/dojox/gfx/gradutils.js.uncompressed.js +0 -91
  313. package/vendor/dojo-1.10.10/dojox/gfx/matrix.js +0 -170
  314. package/vendor/dojo-1.10.10/dojox/gfx/matrix.js.uncompressed.js +0 -501
  315. package/vendor/dojo-1.10.10/dojox/gfx/path.js +0 -319
  316. package/vendor/dojo-1.10.10/dojox/gfx/path.js.uncompressed.js +0 -478
  317. package/vendor/dojo-1.10.10/dojox/gfx/shape.js +0 -459
  318. package/vendor/dojo-1.10.10/dojox/gfx/shape.js.uncompressed.js +0 -1091
  319. package/vendor/dojo-1.10.10/dojox/gfx/svg.js +0 -662
  320. package/vendor/dojo-1.10.10/dojox/gfx/svg.js.uncompressed.js +0 -1023
  321. package/vendor/dojo-1.10.10/dojox/gfx/utils.js +0 -199
  322. package/vendor/dojo-1.10.10/dojox/gfx/utils.js.uncompressed.js +0 -322
  323. package/vendor/dojo-1.10.10/dojox/gfx.js +0 -2
  324. package/vendor/dojo-1.10.10/dojox/gfx.js.uncompressed.js +0 -1136
  325. package/vendor/dojo-1.10.10/dojox/lang/functional/array.js +0 -151
  326. package/vendor/dojo-1.10.10/dojox/lang/functional/array.js.uncompressed.js +0 -169
  327. package/vendor/dojo-1.10.10/dojox/lang/functional/fold.js +0 -93
  328. package/vendor/dojo-1.10.10/dojox/lang/functional/fold.js.uncompressed.js +0 -125
  329. package/vendor/dojo-1.10.10/dojox/lang/functional/lambda.js +0 -81
  330. package/vendor/dojo-1.10.10/dojox/lang/functional/lambda.js.uncompressed.js +0 -132
  331. package/vendor/dojo-1.10.10/dojox/lang/functional/object.js +0 -54
  332. package/vendor/dojo-1.10.10/dojox/lang/functional/object.js.uncompressed.js +0 -78
  333. package/vendor/dojo-1.10.10/dojox/lang/functional/reversed.js +0 -61
  334. package/vendor/dojo-1.10.10/dojox/lang/functional/reversed.js.uncompressed.js +0 -77
  335. package/vendor/dojo-1.10.10/dojox/lang/functional/scan.js +0 -87
  336. package/vendor/dojo-1.10.10/dojox/lang/functional/scan.js.uncompressed.js +0 -107
  337. package/vendor/dojo-1.10.10/dojox/lang/functional.js +0 -4
  338. package/vendor/dojo-1.10.10/dojox/lang/functional.js.uncompressed.js +0 -3
  339. package/vendor/dojo-1.10.10/dojox/lang/utils.js +0 -86
  340. package/vendor/dojo-1.10.10/dojox/lang/utils.js.uncompressed.js +0 -121
  341. package/vendor/dojo-1.10.10/dojox/main.js +0 -4
  342. package/vendor/dojo-1.10.10/dojox/main.js.uncompressed.js +0 -14
  343. package/vendor/dojo-1.10.10/dojox/storage/LocalStorageProvider.js +0 -112
  344. package/vendor/dojo-1.10.10/dojox/storage/LocalStorageProvider.js.uncompressed.js +0 -208
  345. package/vendor/dojo-1.10.10/dojox/storage/Provider.js +0 -62
  346. package/vendor/dojo-1.10.10/dojox/storage/Provider.js.uncompressed.js +0 -344
  347. package/vendor/dojo-1.10.10/dojox/storage/manager.js +0 -110
  348. package/vendor/dojo-1.10.10/dojox/storage/manager.js.uncompressed.js +0 -263
@@ -1,139 +0,0 @@
1
- define("dijit/a11yclick", [
2
- "dojo/keys", // keys.ENTER keys.SPACE
3
- "dojo/mouse",
4
- "dojo/on",
5
- "dojo/touch" // touch support for click is now there
6
- ], function(keys, mouse, on, touch){
7
-
8
- // module:
9
- // dijit/a11yclick
10
-
11
- /*=====
12
- return {
13
- // summary:
14
- // Custom press, release, and click synthetic events
15
- // which trigger on a left mouse click, touch, or space/enter keyup.
16
-
17
- click: function(node, listener){
18
- // summary:
19
- // Logical click operation for mouse, touch, or keyboard (space/enter key)
20
- },
21
- press: function(node, listener){
22
- // summary:
23
- // Mousedown (left button), touchstart, or keydown (space or enter) corresponding to logical click operation.
24
- },
25
- release: function(node, listener){
26
- // summary:
27
- // Mouseup (left button), touchend, or keyup (space or enter) corresponding to logical click operation.
28
- },
29
- move: function(node, listener){
30
- // summary:
31
- // Mouse cursor or a finger is dragged over the given node.
32
- }
33
- };
34
- =====*/
35
-
36
- function clickKey(/*Event*/ e){
37
- // Test if this keyboard event should be tracked as the start (if keydown) or end (if keyup) of a click event.
38
- // Only track for nodes marked to be tracked, and not for buttons or inputs,
39
- // since buttons handle keyboard click natively, and text inputs should not
40
- // prevent typing spaces or newlines.
41
- if((e.keyCode === keys.ENTER || e.keyCode === keys.SPACE) && !/input|button|textarea/i.test(e.target.nodeName)){
42
-
43
- // Test if a node or its ancestor has been marked with the dojoClick property to indicate special processing
44
- for(var node = e.target; node; node = node.parentNode){
45
- if(node.dojoClick){ return true; }
46
- }
47
- }
48
- }
49
-
50
- var lastKeyDownNode;
51
-
52
- on(document, "keydown", function(e){
53
- //console.log("a11yclick: onkeydown, e.target = ", e.target, ", lastKeyDownNode was ", lastKeyDownNode, ", equality is ", (e.target === lastKeyDownNode));
54
- if(clickKey(e)){
55
- // needed on IE for when focus changes between keydown and keyup - otherwise dropdown menus do not work
56
- lastKeyDownNode = e.target;
57
-
58
- // Prevent viewport scrolling on space key in IE<9.
59
- // (Reproducible on test_Button.html on any of the first dijit/form/Button examples)
60
- e.preventDefault();
61
- }else{
62
- lastKeyDownNode = null;
63
- }
64
- });
65
-
66
- on(document, "keyup", function(e){
67
- //console.log("a11yclick: onkeyup, e.target = ", e.target, ", lastKeyDownNode was ", lastKeyDownNode, ", equality is ", (e.target === lastKeyDownNode));
68
- if(clickKey(e) && e.target == lastKeyDownNode){ // === breaks greasemonkey
69
- //need reset here or have problems in FF when focus returns to trigger element after closing popup/alert
70
- lastKeyDownNode = null;
71
-
72
- on.emit(e.target, "click", {
73
- cancelable: true,
74
- bubbles: true,
75
- ctrlKey: e.ctrlKey,
76
- shiftKey: e.shiftKey,
77
- metaKey: e.metaKey,
78
- altKey: e.altKey,
79
- _origType: e.type
80
- });
81
- }
82
- });
83
-
84
- // I want to return a hash of the synthetic events, but for backwards compatibility the main return value
85
- // needs to be the click event. Change for 2.0.
86
-
87
- var click = function(node, listener){
88
- // Set flag on node so that keydown/keyup above emits click event.
89
- // Also enables fast click processing from dojo/touch.
90
- node.dojoClick = true;
91
-
92
- return on(node, "click", listener);
93
- };
94
- click.click = click; // forward compatibility with 2.0
95
-
96
- click.press = function(node, listener){
97
- var touchListener = on(node, touch.press, function(evt){
98
- if(evt.type == "mousedown" && !mouse.isLeft(evt)){
99
- // Ignore right click
100
- return;
101
- }
102
- listener(evt);
103
- }), keyListener = on(node, "keydown", function(evt){
104
- if(evt.keyCode === keys.ENTER || evt.keyCode === keys.SPACE){
105
- listener(evt);
106
- }
107
- });
108
- return {
109
- remove: function(){
110
- touchListener.remove();
111
- keyListener.remove();
112
- }
113
- };
114
- };
115
-
116
- click.release = function(node, listener){
117
- var touchListener = on(node, touch.release, function(evt){
118
- if(evt.type == "mouseup" && !mouse.isLeft(evt)){
119
- // Ignore right click
120
- return;
121
- }
122
- listener(evt);
123
- }), keyListener = on(node, "keyup", function(evt){
124
- if(evt.keyCode === keys.ENTER || evt.keyCode === keys.SPACE){
125
- listener(evt);
126
- }
127
- });
128
- return {
129
- remove: function(){
130
- touchListener.remove();
131
- keyListener.remove();
132
- }
133
- };
134
- };
135
-
136
- click.move = touch.move; // just for convenience
137
-
138
- return click;
139
- });
@@ -1,188 +0,0 @@
1
- //>>built
2
- define("dijit/focus",["dojo/aspect","dojo/_base/declare","dojo/dom","dojo/dom-attr","dojo/dom-class","dojo/dom-construct","dojo/Evented","dojo/_base/lang","dojo/on","dojo/domReady","dojo/sniff","dojo/Stateful","dojo/_base/window","dojo/window","./a11y","./registry","./main"],function(_1,_2,_3,_4,_5,_6,_7,_8,on,_9,_a,_b,_c,_d,_e,_f,_10){
3
- var _11;
4
- var _12;
5
- var _13=_2([_b,_7],{curNode:null,activeStack:[],constructor:function(){
6
- var _14=_8.hitch(this,function(_15){
7
- if(_3.isDescendant(this.curNode,_15)){
8
- this.set("curNode",null);
9
- }
10
- if(_3.isDescendant(this.prevNode,_15)){
11
- this.set("prevNode",null);
12
- }
13
- });
14
- _1.before(_6,"empty",_14);
15
- _1.before(_6,"destroy",_14);
16
- },registerIframe:function(_16){
17
- return this.registerWin(_16.contentWindow,_16);
18
- },registerWin:function(_17,_18){
19
- var _19=this,_1a=_17.document&&_17.document.body;
20
- if(_1a){
21
- var _1b=_a("pointer-events")?"pointerdown":_a("MSPointer")?"MSPointerDown":_a("touch-events")?"mousedown, touchstart":"mousedown";
22
- var mdh=on(_17.document,_1b,function(evt){
23
- if(evt&&evt.target&&evt.target.parentNode==null){
24
- return;
25
- }
26
- _19._onTouchNode(_18||evt.target,"mouse");
27
- });
28
- var fih=on(_1a,"focusin",function(evt){
29
- if(!evt.target.tagName){
30
- return;
31
- }
32
- var tag=evt.target.tagName.toLowerCase();
33
- if(tag=="#document"||tag=="body"){
34
- return;
35
- }
36
- if(_e.isFocusable(evt.target)){
37
- _19._onFocusNode(_18||evt.target);
38
- }else{
39
- _19._onTouchNode(_18||evt.target);
40
- }
41
- });
42
- var foh=on(_1a,"focusout",function(evt){
43
- _19._onBlurNode(_18||evt.target);
44
- });
45
- return {remove:function(){
46
- mdh.remove();
47
- fih.remove();
48
- foh.remove();
49
- mdh=fih=foh=null;
50
- _1a=null;
51
- }};
52
- }
53
- },_onBlurNode:function(_1c){
54
- var now=(new Date()).getTime();
55
- if(now<_11+100){
56
- return;
57
- }
58
- if(this._clearFocusTimer){
59
- clearTimeout(this._clearFocusTimer);
60
- }
61
- this._clearFocusTimer=setTimeout(_8.hitch(this,function(){
62
- this.set("prevNode",this.curNode);
63
- this.set("curNode",null);
64
- }),0);
65
- if(this._clearActiveWidgetsTimer){
66
- clearTimeout(this._clearActiveWidgetsTimer);
67
- }
68
- if(now<_12+100){
69
- return;
70
- }
71
- this._clearActiveWidgetsTimer=setTimeout(_8.hitch(this,function(){
72
- delete this._clearActiveWidgetsTimer;
73
- this._setStack([]);
74
- }),0);
75
- },_onTouchNode:function(_1d,by){
76
- _12=(new Date()).getTime();
77
- if(this._clearActiveWidgetsTimer){
78
- clearTimeout(this._clearActiveWidgetsTimer);
79
- delete this._clearActiveWidgetsTimer;
80
- }
81
- if(_5.contains(_1d,"dijitPopup")){
82
- _1d=_1d.firstChild;
83
- }
84
- var _1e=[];
85
- try{
86
- while(_1d){
87
- var _1f=_4.get(_1d,"dijitPopupParent");
88
- if(_1f){
89
- _1d=_f.byId(_1f).domNode;
90
- }else{
91
- if(_1d.tagName&&_1d.tagName.toLowerCase()=="body"){
92
- if(_1d===_c.body()){
93
- break;
94
- }
95
- _1d=_d.get(_1d.ownerDocument).frameElement;
96
- }else{
97
- var id=_1d.getAttribute&&_1d.getAttribute("widgetId"),_20=id&&_f.byId(id);
98
- if(_20&&!(by=="mouse"&&_20.get("disabled"))){
99
- _1e.unshift(id);
100
- }
101
- _1d=_1d.parentNode;
102
- }
103
- }
104
- }
105
- }
106
- catch(e){
107
- }
108
- this._setStack(_1e,by);
109
- },_onFocusNode:function(_21){
110
- if(!_21){
111
- return;
112
- }
113
- if(_21.nodeType==9){
114
- return;
115
- }
116
- _11=(new Date()).getTime();
117
- if(this._clearFocusTimer){
118
- clearTimeout(this._clearFocusTimer);
119
- delete this._clearFocusTimer;
120
- }
121
- this._onTouchNode(_21);
122
- if(_21==this.curNode){
123
- return;
124
- }
125
- this.set("prevNode",this.curNode);
126
- this.set("curNode",_21);
127
- },_setStack:function(_22,by){
128
- var _23=this.activeStack,_24=_23.length-1,_25=_22.length-1;
129
- if(_22[_25]==_23[_24]){
130
- return;
131
- }
132
- this.set("activeStack",_22);
133
- var _26,i;
134
- for(i=_24;i>=0&&_23[i]!=_22[i];i--){
135
- _26=_f.byId(_23[i]);
136
- if(_26){
137
- _26._hasBeenBlurred=true;
138
- _26.set("focused",false);
139
- if(_26._focusManager==this){
140
- _26._onBlur(by);
141
- }
142
- this.emit("widget-blur",_26,by);
143
- }
144
- }
145
- for(i++;i<=_25;i++){
146
- _26=_f.byId(_22[i]);
147
- if(_26){
148
- _26.set("focused",true);
149
- if(_26._focusManager==this){
150
- _26._onFocus(by);
151
- }
152
- this.emit("widget-focus",_26,by);
153
- }
154
- }
155
- },focus:function(_27){
156
- if(_27){
157
- try{
158
- _27.focus();
159
- }
160
- catch(e){
161
- }
162
- }
163
- }});
164
- var _28=new _13();
165
- _9(function(){
166
- var _29=_28.registerWin(_d.get(document));
167
- if(_a("ie")){
168
- on(window,"unload",function(){
169
- if(_29){
170
- _29.remove();
171
- _29=null;
172
- }
173
- });
174
- }
175
- });
176
- _10.focus=function(_2a){
177
- _28.focus(_2a);
178
- };
179
- for(var _2b in _28){
180
- if(!/^_/.test(_2b)){
181
- _10.focus[_2b]=typeof _28[_2b]=="function"?_8.hitch(_28,_2b):_28[_2b];
182
- }
183
- }
184
- _28.watch(function(_2c,_2d,_2e){
185
- _10.focus[_2c]=_2e;
186
- });
187
- return _28;
188
- });
@@ -1,371 +0,0 @@
1
- define("dijit/focus", [
2
- "dojo/aspect",
3
- "dojo/_base/declare", // declare
4
- "dojo/dom", // domAttr.get dom.isDescendant
5
- "dojo/dom-attr", // domAttr.get dom.isDescendant
6
- "dojo/dom-class",
7
- "dojo/dom-construct", // connect to domConstruct.empty, domConstruct.destroy
8
- "dojo/Evented",
9
- "dojo/_base/lang", // lang.hitch
10
- "dojo/on",
11
- "dojo/domReady",
12
- "dojo/sniff", // has("ie")
13
- "dojo/Stateful",
14
- "dojo/_base/window", // win.body
15
- "dojo/window", // winUtils.get
16
- "./a11y", // a11y.isTabNavigable
17
- "./registry", // registry.byId
18
- "./main" // to set dijit.focus
19
- ], function(aspect, declare, dom, domAttr, domClass, domConstruct, Evented, lang, on, domReady, has, Stateful, win, winUtils,
20
- a11y, registry, dijit){
21
-
22
- // module:
23
- // dijit/focus
24
-
25
- // Time of the last focusin event
26
- var lastFocusin;
27
-
28
- // Time of the last touch/mousedown or focusin event
29
- var lastTouchOrFocusin;
30
-
31
- var FocusManager = declare([Stateful, Evented], {
32
- // summary:
33
- // Tracks the currently focused node, and which widgets are currently "active".
34
- // Access via require(["dijit/focus"], function(focus){ ... }).
35
- //
36
- // A widget is considered active if it or a descendant widget has focus,
37
- // or if a non-focusable node of this widget or a descendant was recently clicked.
38
- //
39
- // Call focus.watch("curNode", callback) to track the current focused DOMNode,
40
- // or focus.watch("activeStack", callback) to track the currently focused stack of widgets.
41
- //
42
- // Call focus.on("widget-blur", func) or focus.on("widget-focus", ...) to monitor when
43
- // when widgets become active/inactive
44
- //
45
- // Finally, focus(node) will focus a node, suppressing errors if the node doesn't exist.
46
-
47
- // curNode: DomNode
48
- // Currently focused item on screen
49
- curNode: null,
50
-
51
- // activeStack: dijit/_WidgetBase[]
52
- // List of currently active widgets (focused widget and it's ancestors)
53
- activeStack: [],
54
-
55
- constructor: function(){
56
- // Don't leave curNode/prevNode pointing to bogus elements
57
- var check = lang.hitch(this, function(node){
58
- if(dom.isDescendant(this.curNode, node)){
59
- this.set("curNode", null);
60
- }
61
- if(dom.isDescendant(this.prevNode, node)){
62
- this.set("prevNode", null);
63
- }
64
- });
65
- aspect.before(domConstruct, "empty", check);
66
- aspect.before(domConstruct, "destroy", check);
67
- },
68
-
69
- registerIframe: function(/*DomNode*/ iframe){
70
- // summary:
71
- // Registers listeners on the specified iframe so that any click
72
- // or focus event on that iframe (or anything in it) is reported
73
- // as a focus/click event on the `<iframe>` itself.
74
- // description:
75
- // Currently only used by editor.
76
- // returns:
77
- // Handle with remove() method to deregister.
78
- return this.registerWin(iframe.contentWindow, iframe);
79
- },
80
-
81
- registerWin: function(/*Window?*/targetWindow, /*DomNode?*/ effectiveNode){
82
- // summary:
83
- // Registers listeners on the specified window (either the main
84
- // window or an iframe's window) to detect when the user has clicked somewhere
85
- // or focused somewhere.
86
- // description:
87
- // Users should call registerIframe() instead of this method.
88
- // targetWindow:
89
- // If specified this is the window associated with the iframe,
90
- // i.e. iframe.contentWindow.
91
- // effectiveNode:
92
- // If specified, report any focus events inside targetWindow as
93
- // an event on effectiveNode, rather than on evt.target.
94
- // returns:
95
- // Handle with remove() method to deregister.
96
-
97
- // TODO: make this function private in 2.0; Editor/users should call registerIframe(),
98
-
99
- // Listen for blur and focus events on targetWindow's document.
100
- var _this = this,
101
- body = targetWindow.document && targetWindow.document.body;
102
-
103
- if(body){
104
- // Listen for touches or mousedowns... could also use dojo/touch.press here.
105
- var event = has("pointer-events") ? "pointerdown" : has("MSPointer") ? "MSPointerDown" :
106
- has("touch-events") ? "mousedown, touchstart" : "mousedown";
107
- var mdh = on(targetWindow.document, event, function(evt){
108
- // workaround weird IE bug where the click is on an orphaned node
109
- // (first time clicking a Select/DropDownButton inside a TooltipDialog).
110
- // actually, strangely this is happening on latest chrome too.
111
- if(evt && evt.target && evt.target.parentNode == null){
112
- return;
113
- }
114
-
115
- _this._onTouchNode(effectiveNode || evt.target, "mouse");
116
- });
117
-
118
- var fih = on(body, 'focusin', function(evt){
119
- // When you refocus the browser window, IE gives an event with an empty srcElement
120
- if(!evt.target.tagName) { return; }
121
-
122
- // IE reports that nodes like <body> have gotten focus, even though they have tabIndex=-1,
123
- // ignore those events
124
- var tag = evt.target.tagName.toLowerCase();
125
- if(tag == "#document" || tag == "body"){ return; }
126
-
127
- if(a11y.isFocusable(evt.target)){
128
- _this._onFocusNode(effectiveNode || evt.target);
129
- }else{
130
- // Previous code called _onTouchNode() for any activate event on a non-focusable node. Can
131
- // probably just ignore such an event as it will be handled by onmousedown handler above, but
132
- // leaving the code for now.
133
- _this._onTouchNode(effectiveNode || evt.target);
134
- }
135
- });
136
-
137
- var foh = on(body, 'focusout', function(evt){
138
- _this._onBlurNode(effectiveNode || evt.target);
139
- });
140
-
141
- return {
142
- remove: function(){
143
- mdh.remove();
144
- fih.remove();
145
- foh.remove();
146
- mdh = fih = foh = null;
147
- body = null; // prevent memory leak (apparent circular reference via closure)
148
- }
149
- };
150
- }
151
- },
152
-
153
- _onBlurNode: function(/*DomNode*/ node){
154
- // summary:
155
- // Called when focus leaves a node.
156
- // Usually ignored, _unless_ it *isn't* followed by touching another node,
157
- // which indicates that we tabbed off the last field on the page,
158
- // in which case every widget is marked inactive
159
-
160
- var now = (new Date()).getTime();
161
-
162
- // IE9+ and chrome have a problem where focusout events come after the corresponding focusin event.
163
- // For chrome problem see https://bugs.dojotoolkit.org/ticket/17668.
164
- // IE problem happens when moving focus from the Editor's <iframe> to a normal DOMNode.
165
- if(now < lastFocusin + 100){
166
- return;
167
- }
168
-
169
- // If the blur event isn't followed by a focus event, it means the user clicked on something unfocusable,
170
- // so clear focus.
171
- if(this._clearFocusTimer){
172
- clearTimeout(this._clearFocusTimer);
173
- }
174
- this._clearFocusTimer = setTimeout(lang.hitch(this, function(){
175
- this.set("prevNode", this.curNode);
176
- this.set("curNode", null);
177
- }), 0);
178
-
179
- // Unset timer to zero-out widget stack; we'll reset it below if appropriate.
180
- if(this._clearActiveWidgetsTimer){
181
- clearTimeout(this._clearActiveWidgetsTimer);
182
- }
183
-
184
- if(now < lastTouchOrFocusin + 100){
185
- // This blur event is coming late (after the call to _onTouchNode() rather than before.
186
- // So let _onTouchNode() handle setting the widget stack.
187
- // See https://bugs.dojotoolkit.org/ticket/17668
188
- return;
189
- }
190
-
191
- // If the blur event isn't followed (or preceded) by a focus or touch event then mark all widgets as inactive.
192
- this._clearActiveWidgetsTimer = setTimeout(lang.hitch(this, function(){
193
- delete this._clearActiveWidgetsTimer;
194
- this._setStack([]);
195
- }), 0);
196
- },
197
-
198
- _onTouchNode: function(/*DomNode*/ node, /*String*/ by){
199
- // summary:
200
- // Callback when node is focused or touched.
201
- // Note that _onFocusNode() calls _onTouchNode().
202
- // node:
203
- // The node that was touched.
204
- // by:
205
- // "mouse" if the focus/touch was caused by a mouse down event
206
-
207
- // Keep track of time of last focusin or touch event.
208
- lastTouchOrFocusin = (new Date()).getTime();
209
-
210
- if(this._clearActiveWidgetsTimer){
211
- // forget the recent blur event
212
- clearTimeout(this._clearActiveWidgetsTimer);
213
- delete this._clearActiveWidgetsTimer;
214
- }
215
-
216
- // if the click occurred on the scrollbar of a dropdown, treat it as a click on the dropdown,
217
- // even though the scrollbar is technically on the popup wrapper (see #10631)
218
- if(domClass.contains(node, "dijitPopup")){
219
- node = node.firstChild;
220
- }
221
-
222
- // compute stack of active widgets (ex: ComboButton --> Menu --> MenuItem)
223
- var newStack=[];
224
- try{
225
- while(node){
226
- var popupParent = domAttr.get(node, "dijitPopupParent");
227
- if(popupParent){
228
- node=registry.byId(popupParent).domNode;
229
- }else if(node.tagName && node.tagName.toLowerCase() == "body"){
230
- // is this the root of the document or just the root of an iframe?
231
- if(node === win.body()){
232
- // node is the root of the main document
233
- break;
234
- }
235
- // otherwise, find the iframe this node refers to (can't access it via parentNode,
236
- // need to do this trick instead). window.frameElement is supported in IE/FF/Webkit
237
- node=winUtils.get(node.ownerDocument).frameElement;
238
- }else{
239
- // if this node is the root node of a widget, then add widget id to stack,
240
- // except ignore clicks on disabled widgets (actually focusing a disabled widget still works,
241
- // to support MenuItem)
242
- var id = node.getAttribute && node.getAttribute("widgetId"),
243
- widget = id && registry.byId(id);
244
- if(widget && !(by == "mouse" && widget.get("disabled"))){
245
- newStack.unshift(id);
246
- }
247
- node=node.parentNode;
248
- }
249
- }
250
- }catch(e){ /* squelch */ }
251
-
252
- this._setStack(newStack, by);
253
- },
254
-
255
- _onFocusNode: function(/*DomNode*/ node){
256
- // summary:
257
- // Callback when node is focused
258
-
259
- if(!node){
260
- return;
261
- }
262
-
263
- if(node.nodeType == 9){
264
- // Ignore focus events on the document itself. This is here so that
265
- // (for example) clicking the up/down arrows of a spinner
266
- // (which don't get focus) won't cause that widget to blur. (FF issue)
267
- return;
268
- }
269
-
270
- // Keep track of time of last focusin event.
271
- lastFocusin = (new Date()).getTime();
272
-
273
- // There was probably a blur event right before this event, but since we have a new focus,
274
- // forget about the blur
275
- if(this._clearFocusTimer){
276
- clearTimeout(this._clearFocusTimer);
277
- delete this._clearFocusTimer;
278
- }
279
-
280
- this._onTouchNode(node);
281
-
282
- if(node == this.curNode){ return; }
283
- this.set("prevNode", this.curNode);
284
- this.set("curNode", node);
285
- },
286
-
287
- _setStack: function(/*String[]*/ newStack, /*String*/ by){
288
- // summary:
289
- // The stack of active widgets has changed. Send out appropriate events and records new stack.
290
- // newStack:
291
- // array of widget id's, starting from the top (outermost) widget
292
- // by:
293
- // "mouse" if the focus/touch was caused by a mouse down event
294
-
295
- var oldStack = this.activeStack, lastOldIdx = oldStack.length - 1, lastNewIdx = newStack.length - 1;
296
-
297
- if(newStack[lastNewIdx] == oldStack[lastOldIdx]){
298
- // no changes, return now to avoid spurious notifications about changes to activeStack
299
- return;
300
- }
301
-
302
- this.set("activeStack", newStack);
303
-
304
- var widget, i;
305
-
306
- // for all elements that have gone out of focus, set focused=false
307
- for(i = lastOldIdx; i >= 0 && oldStack[i] != newStack[i]; i--){
308
- widget = registry.byId(oldStack[i]);
309
- if(widget){
310
- widget._hasBeenBlurred = true; // TODO: used by form widgets, should be moved there
311
- widget.set("focused", false);
312
- if(widget._focusManager == this){
313
- widget._onBlur(by);
314
- }
315
- this.emit("widget-blur", widget, by);
316
- }
317
- }
318
-
319
- // for all element that have come into focus, set focused=true
320
- for(i++; i <= lastNewIdx; i++){
321
- widget = registry.byId(newStack[i]);
322
- if(widget){
323
- widget.set("focused", true);
324
- if(widget._focusManager == this){
325
- widget._onFocus(by);
326
- }
327
- this.emit("widget-focus", widget, by);
328
- }
329
- }
330
- },
331
-
332
- focus: function(node){
333
- // summary:
334
- // Focus the specified node, suppressing errors if they occur
335
- if(node){
336
- try{ node.focus(); }catch(e){/*quiet*/}
337
- }
338
- }
339
- });
340
-
341
- var singleton = new FocusManager();
342
-
343
- // register top window and all the iframes it contains
344
- domReady(function(){
345
- var handle = singleton.registerWin(winUtils.get(document));
346
- if(has("ie")){
347
- on(window, "unload", function(){
348
- if(handle){ // because this gets called twice when doh.robot is running
349
- handle.remove();
350
- handle = null;
351
- }
352
- });
353
- }
354
- });
355
-
356
- // Setup dijit.focus as a pointer to the singleton but also (for backwards compatibility)
357
- // as a function to set focus. Remove for 2.0.
358
- dijit.focus = function(node){
359
- singleton.focus(node); // indirection here allows dijit/_base/focus.js to override behavior
360
- };
361
- for(var attr in singleton){
362
- if(!/^_/.test(attr)){
363
- dijit.focus[attr] = typeof singleton[attr] == "function" ? lang.hitch(singleton, attr) : singleton[attr];
364
- }
365
- }
366
- singleton.watch(function(attr, oldVal, newVal){
367
- dijit.focus[attr] = newVal;
368
- });
369
-
370
- return singleton;
371
- });