@datagrok/helm 2.13.7 → 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 (349) hide show
  1. package/CREDITS.md +164 -0
  2. package/dist/489.js +2 -0
  3. package/dist/489.js.map +1 -0
  4. package/dist/package-test.js +1 -1
  5. package/dist/package-test.js.map +1 -1
  6. package/dist/package.js +1 -1
  7. package/dist/package.js.map +1 -1
  8. package/files/samples/helm-showcase.csv +56 -0
  9. package/package.json +6 -10
  10. package/src/helm-helper.ts +61 -413
  11. package/src/package-api.ts +14 -11
  12. package/src/package-test.ts +0 -2
  13. package/src/package-utils.ts +8 -298
  14. package/src/package.g.ts +2 -8
  15. package/src/package.ts +11 -31
  16. package/src/tests/helm-activity-cliffs.ts +2 -2
  17. package/src/tests/helm-input-tests.ts +83 -0
  18. package/src/tests/parse-helm-tests.ts +7 -57
  19. package/src/tests/properties-widget-tests.ts +21 -11
  20. package/src/utils/helm-grid-cell-renderer.ts +141 -151
  21. package/src/utils/index.ts +3 -7
  22. package/src/widgets/helm-input.ts +42 -12
  23. package/src/widgets/properties-widget.ts +18 -11
  24. package/test-console-output-1.log +103 -706
  25. package/test-record-1.mp4 +0 -0
  26. package/webpack.config.js +1 -12
  27. package/dist/455.js +0 -2
  28. package/dist/455.js.map +0 -1
  29. package/dist/package-dojo.js +0 -2
  30. package/dist/package-dojo.js.map +0 -1
  31. package/helm/JSDraw/Pistoia.HELM-uncompressed.js +0 -9694
  32. package/helm/JSDraw/ReadMe.txt +0 -8
  33. package/helm/JSDraw/Scilligence.JSDraw2.Lite-uncompressed.js +0 -31126
  34. package/helm/dojo/package.ts +0 -41
  35. package/helm/dojo/types.ts +0 -12
  36. package/src/helm-web-editor.ts +0 -68
  37. package/src/tests/get-monomer-tests.ts +0 -214
  38. package/src/tests/helm-service-tests.ts +0 -98
  39. package/src/types/dojo.ts +0 -3
  40. package/src/types/index.ts +0 -5
  41. package/src/utils/get-monomer.ts +0 -90
  42. package/src/utils/helm-service.ts +0 -166
  43. package/vendor/dojo-1.10.10/dijit/BackgroundIframe.js +0 -63
  44. package/vendor/dojo-1.10.10/dijit/BackgroundIframe.js.uncompressed.js +0 -116
  45. package/vendor/dojo-1.10.10/dijit/Destroyable.js +0 -35
  46. package/vendor/dojo-1.10.10/dijit/Destroyable.js.uncompressed.js +0 -83
  47. package/vendor/dojo-1.10.10/dijit/Tooltip.js +0 -240
  48. package/vendor/dojo-1.10.10/dijit/Tooltip.js.uncompressed.js +0 -612
  49. package/vendor/dojo-1.10.10/dijit/Viewport.js +0 -44
  50. package/vendor/dojo-1.10.10/dijit/Viewport.js.uncompressed.js +0 -87
  51. package/vendor/dojo-1.10.10/dijit/WidgetSet.js +0 -76
  52. package/vendor/dojo-1.10.10/dijit/WidgetSet.js.uncompressed.js +0 -247
  53. package/vendor/dojo-1.10.10/dijit/_AttachMixin.js +0 -94
  54. package/vendor/dojo-1.10.10/dijit/_AttachMixin.js.uncompressed.js +0 -238
  55. package/vendor/dojo-1.10.10/dijit/_Contained.js +0 -17
  56. package/vendor/dojo-1.10.10/dijit/_Contained.js.uncompressed.js +0 -56
  57. package/vendor/dojo-1.10.10/dijit/_Container.js +0 -47
  58. package/vendor/dojo-1.10.10/dijit/_Container.js.uncompressed.js +0 -108
  59. package/vendor/dojo-1.10.10/dijit/_CssStateMixin.js +0 -198
  60. package/vendor/dojo-1.10.10/dijit/_CssStateMixin.js.uncompressed.js +0 -372
  61. package/vendor/dojo-1.10.10/dijit/_FocusMixin.js +0 -11
  62. package/vendor/dojo-1.10.10/dijit/_FocusMixin.js.uncompressed.js +0 -66
  63. package/vendor/dojo-1.10.10/dijit/_HasDropDown.js +0 -188
  64. package/vendor/dojo-1.10.10/dijit/_HasDropDown.js.uncompressed.js +0 -472
  65. package/vendor/dojo-1.10.10/dijit/_OnDijitClickMixin.js +0 -8
  66. package/vendor/dojo-1.10.10/dijit/_OnDijitClickMixin.js.uncompressed.js +0 -31
  67. package/vendor/dojo-1.10.10/dijit/_TemplatedMixin.js +0 -90
  68. package/vendor/dojo-1.10.10/dijit/_TemplatedMixin.js.uncompressed.js +0 -205
  69. package/vendor/dojo-1.10.10/dijit/_Widget.js +0 -66
  70. package/vendor/dojo-1.10.10/dijit/_Widget.js.uncompressed.js +0 -352
  71. package/vendor/dojo-1.10.10/dijit/_WidgetBase.js +0 -353
  72. package/vendor/dojo-1.10.10/dijit/_WidgetBase.js.uncompressed.js +0 -1200
  73. package/vendor/dojo-1.10.10/dijit/_base/focus.js +0 -68
  74. package/vendor/dojo-1.10.10/dijit/_base/focus.js.uncompressed.js +0 -207
  75. package/vendor/dojo-1.10.10/dijit/_base/manager.js +0 -10
  76. package/vendor/dojo-1.10.10/dijit/_base/manager.js.uncompressed.js +0 -35
  77. package/vendor/dojo-1.10.10/dijit/_base/place.js +0 -52
  78. package/vendor/dojo-1.10.10/dijit/_base/place.js.uncompressed.js +0 -131
  79. package/vendor/dojo-1.10.10/dijit/_base/popup.js +0 -23
  80. package/vendor/dojo-1.10.10/dijit/_base/popup.js.uncompressed.js +0 -58
  81. package/vendor/dojo-1.10.10/dijit/_base/scroll.js +0 -6
  82. package/vendor/dojo-1.10.10/dijit/_base/scroll.js.uncompressed.js +0 -22
  83. package/vendor/dojo-1.10.10/dijit/_base/sniff.js +0 -3
  84. package/vendor/dojo-1.10.10/dijit/_base/sniff.js.uncompressed.js +0 -12
  85. package/vendor/dojo-1.10.10/dijit/_base/typematic.js +0 -3
  86. package/vendor/dojo-1.10.10/dijit/_base/typematic.js.uncompressed.js +0 -10
  87. package/vendor/dojo-1.10.10/dijit/_base/wai.js +0 -32
  88. package/vendor/dojo-1.10.10/dijit/_base/wai.js.uncompressed.js +0 -109
  89. package/vendor/dojo-1.10.10/dijit/_base/window.js +0 -6
  90. package/vendor/dojo-1.10.10/dijit/_base/window.js.uncompressed.js +0 -18
  91. package/vendor/dojo-1.10.10/dijit/_base.js +0 -4
  92. package/vendor/dojo-1.10.10/dijit/_base.js.uncompressed.js +0 -27
  93. package/vendor/dojo-1.10.10/dijit/a11y.js +0 -109
  94. package/vendor/dojo-1.10.10/dijit/a11y.js.uncompressed.js +0 -191
  95. package/vendor/dojo-1.10.10/dijit/a11yclick.js +0 -66
  96. package/vendor/dojo-1.10.10/dijit/a11yclick.js.uncompressed.js +0 -139
  97. package/vendor/dojo-1.10.10/dijit/focus.js +0 -188
  98. package/vendor/dojo-1.10.10/dijit/focus.js.uncompressed.js +0 -371
  99. package/vendor/dojo-1.10.10/dijit/form/Button.js +0 -49
  100. package/vendor/dojo-1.10.10/dijit/form/Button.js.uncompressed.js +0 -130
  101. package/vendor/dojo-1.10.10/dijit/form/ComboBox.js +0 -4
  102. package/vendor/dojo-1.10.10/dijit/form/ComboBox.js.uncompressed.js +0 -27
  103. package/vendor/dojo-1.10.10/dijit/form/ComboButton.js +0 -21
  104. package/vendor/dojo-1.10.10/dijit/form/ComboButton.js.uncompressed.js +0 -86
  105. package/vendor/dojo-1.10.10/dijit/form/DropDownButton.js +0 -38
  106. package/vendor/dojo-1.10.10/dijit/form/DropDownButton.js.uncompressed.js +0 -102
  107. package/vendor/dojo-1.10.10/dijit/form/ToggleButton.js +0 -7
  108. package/vendor/dojo-1.10.10/dijit/form/ToggleButton.js.uncompressed.js +0 -26
  109. package/vendor/dojo-1.10.10/dijit/form/_ButtonMixin.js +0 -50
  110. package/vendor/dojo-1.10.10/dijit/form/_ButtonMixin.js.uncompressed.js +0 -116
  111. package/vendor/dojo-1.10.10/dijit/form/_FormValueMixin.js +0 -26
  112. package/vendor/dojo-1.10.10/dijit/form/_FormValueMixin.js.uncompressed.js +0 -81
  113. package/vendor/dojo-1.10.10/dijit/form/_FormValueWidget.js +0 -24
  114. package/vendor/dojo-1.10.10/dijit/form/_FormValueWidget.js.uncompressed.js +0 -51
  115. package/vendor/dojo-1.10.10/dijit/form/_FormWidget.js +0 -22
  116. package/vendor/dojo-1.10.10/dijit/form/_FormWidget.js.uncompressed.js +0 -67
  117. package/vendor/dojo-1.10.10/dijit/form/_FormWidgetMixin.js +0 -111
  118. package/vendor/dojo-1.10.10/dijit/form/_FormWidgetMixin.js.uncompressed.js +0 -254
  119. package/vendor/dojo-1.10.10/dijit/form/_ToggleButtonMixin.js +0 -32
  120. package/vendor/dojo-1.10.10/dijit/form/_ToggleButtonMixin.js.uncompressed.js +0 -69
  121. package/vendor/dojo-1.10.10/dijit/hccss.js +0 -9
  122. package/vendor/dojo-1.10.10/dijit/hccss.js.uncompressed.js +0 -21
  123. package/vendor/dojo-1.10.10/dijit/layout/AccordionContainer.js +0 -215
  124. package/vendor/dojo-1.10.10/dijit/layout/AccordionContainer.js.uncompressed.js +0 -550
  125. package/vendor/dojo-1.10.10/dijit/layout/AccordionPane.js +0 -7
  126. package/vendor/dojo-1.10.10/dijit/layout/AccordionPane.js.uncompressed.js +0 -25
  127. package/vendor/dojo-1.10.10/dijit/layout/ContentPane.js +0 -235
  128. package/vendor/dojo-1.10.10/dijit/layout/ContentPane.js.uncompressed.js +0 -653
  129. package/vendor/dojo-1.10.10/dijit/layout/StackContainer.js +0 -171
  130. package/vendor/dojo-1.10.10/dijit/layout/StackContainer.js.uncompressed.js +0 -411
  131. package/vendor/dojo-1.10.10/dijit/layout/StackController.js +0 -194
  132. package/vendor/dojo-1.10.10/dijit/layout/StackController.js.uncompressed.js +0 -410
  133. package/vendor/dojo-1.10.10/dijit/layout/_ContentPaneResizeMixin.js +0 -99
  134. package/vendor/dojo-1.10.10/dijit/layout/_ContentPaneResizeMixin.js.uncompressed.js +0 -236
  135. package/vendor/dojo-1.10.10/dijit/layout/_LayoutWidget.js +0 -47
  136. package/vendor/dojo-1.10.10/dijit/layout/_LayoutWidget.js.uncompressed.js +0 -190
  137. package/vendor/dojo-1.10.10/dijit/layout/utils.js +0 -77
  138. package/vendor/dojo-1.10.10/dijit/layout/utils.js.uncompressed.js +0 -151
  139. package/vendor/dojo-1.10.10/dijit/main.js +0 -4
  140. package/vendor/dojo-1.10.10/dijit/main.js.uncompressed.js +0 -16
  141. package/vendor/dojo-1.10.10/dijit/nls/dijit-all_en-us.js +0 -2
  142. package/vendor/dojo-1.10.10/dijit/nls/dijit-all_en-us.js.uncompressed.js +0 -21
  143. package/vendor/dojo-1.10.10/dijit/nls/loading.js +0 -2
  144. package/vendor/dojo-1.10.10/dijit/nls/loading.js.uncompressed.js +0 -47
  145. package/vendor/dojo-1.10.10/dijit/place.js +0 -142
  146. package/vendor/dojo-1.10.10/dijit/place.js.uncompressed.js +0 -407
  147. package/vendor/dojo-1.10.10/dijit/popup.js +0 -162
  148. package/vendor/dojo-1.10.10/dijit/popup.js.uncompressed.js +0 -441
  149. package/vendor/dojo-1.10.10/dijit/registry.js +0 -79
  150. package/vendor/dojo-1.10.10/dijit/registry.js.uncompressed.js +0 -159
  151. package/vendor/dojo-1.10.10/dijit/selection.js +0 -364
  152. package/vendor/dojo-1.10.10/dijit/selection.js.uncompressed.js +0 -525
  153. package/vendor/dojo-1.10.10/dijit/typematic.js +0 -96
  154. package/vendor/dojo-1.10.10/dijit/typematic.js.uncompressed.js +0 -211
  155. package/vendor/dojo-1.10.10/dojo/NodeList-manipulate.js +0 -195
  156. package/vendor/dojo-1.10.10/dojo/NodeList-manipulate.js.uncompressed.js +0 -761
  157. package/vendor/dojo-1.10.10/dojo/Stateful.js +0 -90
  158. package/vendor/dojo-1.10.10/dojo/Stateful.js.uncompressed.js +0 -218
  159. package/vendor/dojo-1.10.10/dojo/_base/url.js +0 -87
  160. package/vendor/dojo-1.10.10/dojo/_base/url.js.uncompressed.js +0 -109
  161. package/vendor/dojo-1.10.10/dojo/cache.js +0 -9
  162. package/vendor/dojo-1.10.10/dojo/cache.js.uncompressed.js +0 -7
  163. package/vendor/dojo-1.10.10/dojo/colors.js +0 -74
  164. package/vendor/dojo-1.10.10/dojo/colors.js.uncompressed.js +0 -232
  165. package/vendor/dojo-1.10.10/dojo/cookie.js +0 -48
  166. package/vendor/dojo-1.10.10/dojo/cookie.js.uncompressed.js +0 -98
  167. package/vendor/dojo-1.10.10/dojo/date/stamp.js +0 -82
  168. package/vendor/dojo-1.10.10/dojo/date/stamp.js.uncompressed.js +0 -144
  169. package/vendor/dojo-1.10.10/dojo/dojo.js +0 -7
  170. package/vendor/dojo-1.10.10/dojo/dojo.js.uncompressed.js +0 -18680
  171. package/vendor/dojo-1.10.10/dojo/fx/Toggler.js +0 -27
  172. package/vendor/dojo-1.10.10/dojo/fx/Toggler.js.uncompressed.js +0 -101
  173. package/vendor/dojo-1.10.10/dojo/fx/easing.js +0 -165
  174. package/vendor/dojo-1.10.10/dojo/fx/easing.js.uncompressed.js +0 -276
  175. package/vendor/dojo-1.10.10/dojo/fx.js +0 -271
  176. package/vendor/dojo-1.10.10/dojo/fx.js.uncompressed.js +0 -443
  177. package/vendor/dojo-1.10.10/dojo/hccss.js +0 -26
  178. package/vendor/dojo-1.10.10/dojo/hccss.js.uncompressed.js +0 -52
  179. package/vendor/dojo-1.10.10/dojo/html.js +0 -161
  180. package/vendor/dojo-1.10.10/dojo/html.js.uncompressed.js +0 -370
  181. package/vendor/dojo-1.10.10/dojo/io/iframe.js +0 -71
  182. package/vendor/dojo-1.10.10/dojo/io/iframe.js.uncompressed.js +0 -190
  183. package/vendor/dojo-1.10.10/dojo/io/script.js +0 -112
  184. package/vendor/dojo-1.10.10/dojo/io/script.js.uncompressed.js +0 -280
  185. package/vendor/dojo-1.10.10/dojo/parser.js +0 -437
  186. package/vendor/dojo-1.10.10/dojo/parser.js.uncompressed.js +0 -915
  187. package/vendor/dojo-1.10.10/dojo/promise/all.js +0 -59
  188. package/vendor/dojo-1.10.10/dojo/promise/all.js.uncompressed.js +0 -77
  189. package/vendor/dojo-1.10.10/dojo/regexp.js +0 -32
  190. package/vendor/dojo-1.10.10/dojo/regexp.js.uncompressed.js +0 -70
  191. package/vendor/dojo-1.10.10/dojo/request/iframe.js +0 -291
  192. package/vendor/dojo-1.10.10/dojo/request/iframe.js.uncompressed.js +0 -438
  193. package/vendor/dojo-1.10.10/dojo/request/script.js +0 -129
  194. package/vendor/dojo-1.10.10/dojo/request/script.js.uncompressed.js +0 -237
  195. package/vendor/dojo-1.10.10/dojo/require.js +0 -11
  196. package/vendor/dojo-1.10.10/dojo/require.js.uncompressed.js +0 -7
  197. package/vendor/dojo-1.10.10/dojo/resources/blank.gif +0 -0
  198. package/vendor/dojo-1.10.10/dojo/string.js +0 -67
  199. package/vendor/dojo-1.10.10/dojo/string.js.uncompressed.js +0 -181
  200. package/vendor/dojo-1.10.10/dojo/touch.js +0 -191
  201. package/vendor/dojo-1.10.10/dojo/touch.js.uncompressed.js +0 -468
  202. package/vendor/dojo-1.10.10/dojo/uacss.js +0 -36
  203. package/vendor/dojo-1.10.10/dojo/uacss.js.uncompressed.js +0 -85
  204. package/vendor/dojo-1.10.10/dojo/window.js +0 -141
  205. package/vendor/dojo-1.10.10/dojo/window.js.uncompressed.js +0 -241
  206. package/vendor/dojo-1.10.10/dojox/charting/Chart.js +0 -626
  207. package/vendor/dojo-1.10.10/dojox/charting/Chart.js.uncompressed.js +0 -1220
  208. package/vendor/dojo-1.10.10/dojox/charting/Chart2D.js +0 -5
  209. package/vendor/dojo-1.10.10/dojox/charting/Chart2D.js.uncompressed.js +0 -16
  210. package/vendor/dojo-1.10.10/dojox/charting/Element.js +0 -247
  211. package/vendor/dojo-1.10.10/dojox/charting/Element.js.uncompressed.js +0 -402
  212. package/vendor/dojo-1.10.10/dojox/charting/Series.js +0 -24
  213. package/vendor/dojo-1.10.10/dojox/charting/Series.js.uncompressed.js +0 -58
  214. package/vendor/dojo-1.10.10/dojox/charting/SimpleTheme.js +0 -191
  215. package/vendor/dojo-1.10.10/dojox/charting/SimpleTheme.js.uncompressed.js +0 -577
  216. package/vendor/dojo-1.10.10/dojox/charting/Theme.js +0 -42
  217. package/vendor/dojo-1.10.10/dojox/charting/Theme.js.uncompressed.js +0 -120
  218. package/vendor/dojo-1.10.10/dojox/charting/action2d/Base.js +0 -11
  219. package/vendor/dojo-1.10.10/dojox/charting/action2d/Base.js.uncompressed.js +0 -36
  220. package/vendor/dojo-1.10.10/dojox/charting/action2d/Highlight.js +0 -77
  221. package/vendor/dojo-1.10.10/dojox/charting/action2d/Highlight.js.uncompressed.js +0 -144
  222. package/vendor/dojo-1.10.10/dojox/charting/action2d/Magnify.js +0 -58
  223. package/vendor/dojo-1.10.10/dojox/charting/action2d/Magnify.js.uncompressed.js +0 -123
  224. package/vendor/dojo-1.10.10/dojox/charting/action2d/MoveSlice.js +0 -54
  225. package/vendor/dojo-1.10.10/dojox/charting/action2d/MoveSlice.js.uncompressed.js +0 -124
  226. package/vendor/dojo-1.10.10/dojox/charting/action2d/PlotAction.js +0 -28
  227. package/vendor/dojo-1.10.10/dojox/charting/action2d/PlotAction.js.uncompressed.js +0 -74
  228. package/vendor/dojo-1.10.10/dojox/charting/action2d/Tooltip.js +0 -116
  229. package/vendor/dojo-1.10.10/dojox/charting/action2d/Tooltip.js.uncompressed.js +0 -178
  230. package/vendor/dojo-1.10.10/dojox/charting/axis2d/Base.js +0 -24
  231. package/vendor/dojo-1.10.10/dojox/charting/axis2d/Base.js.uncompressed.js +0 -83
  232. package/vendor/dojo-1.10.10/dojox/charting/axis2d/Default.js +0 -557
  233. package/vendor/dojo-1.10.10/dojox/charting/axis2d/Default.js.uncompressed.js +0 -980
  234. package/vendor/dojo-1.10.10/dojox/charting/axis2d/Invisible.js +0 -65
  235. package/vendor/dojo-1.10.10/dojox/charting/axis2d/Invisible.js.uncompressed.js +0 -224
  236. package/vendor/dojo-1.10.10/dojox/charting/axis2d/common.js +0 -91
  237. package/vendor/dojo-1.10.10/dojox/charting/axis2d/common.js.uncompressed.js +0 -164
  238. package/vendor/dojo-1.10.10/dojox/charting/plot2d/Areas.js +0 -7
  239. package/vendor/dojo-1.10.10/dojox/charting/plot2d/Areas.js.uncompressed.js +0 -14
  240. package/vendor/dojo-1.10.10/dojox/charting/plot2d/Bars.js +0 -168
  241. package/vendor/dojo-1.10.10/dojox/charting/plot2d/Bars.js.uncompressed.js +0 -311
  242. package/vendor/dojo-1.10.10/dojox/charting/plot2d/Base.js +0 -61
  243. package/vendor/dojo-1.10.10/dojox/charting/plot2d/Base.js.uncompressed.js +0 -161
  244. package/vendor/dojo-1.10.10/dojox/charting/plot2d/Bubble.js +0 -141
  245. package/vendor/dojo-1.10.10/dojox/charting/plot2d/Bubble.js.uncompressed.js +0 -242
  246. package/vendor/dojo-1.10.10/dojox/charting/plot2d/Candlesticks.js +0 -126
  247. package/vendor/dojo-1.10.10/dojox/charting/plot2d/Candlesticks.js.uncompressed.js +0 -243
  248. package/vendor/dojo-1.10.10/dojox/charting/plot2d/CartesianBase.js +0 -108
  249. package/vendor/dojo-1.10.10/dojox/charting/plot2d/CartesianBase.js.uncompressed.js +0 -290
  250. package/vendor/dojo-1.10.10/dojox/charting/plot2d/ClusteredBars.js +0 -13
  251. package/vendor/dojo-1.10.10/dojox/charting/plot2d/ClusteredBars.js.uncompressed.js +0 -14
  252. package/vendor/dojo-1.10.10/dojox/charting/plot2d/ClusteredColumns.js +0 -13
  253. package/vendor/dojo-1.10.10/dojox/charting/plot2d/ClusteredColumns.js.uncompressed.js +0 -14
  254. package/vendor/dojo-1.10.10/dojox/charting/plot2d/Columns.js +0 -153
  255. package/vendor/dojo-1.10.10/dojox/charting/plot2d/Columns.js.uncompressed.js +0 -249
  256. package/vendor/dojo-1.10.10/dojox/charting/plot2d/Default.js +0 -253
  257. package/vendor/dojo-1.10.10/dojox/charting/plot2d/Default.js.uncompressed.js +0 -472
  258. package/vendor/dojo-1.10.10/dojox/charting/plot2d/Grid.js +0 -182
  259. package/vendor/dojo-1.10.10/dojox/charting/plot2d/Grid.js.uncompressed.js +0 -356
  260. package/vendor/dojo-1.10.10/dojox/charting/plot2d/Lines.js +0 -6
  261. package/vendor/dojo-1.10.10/dojox/charting/plot2d/Lines.js.uncompressed.js +0 -12
  262. package/vendor/dojo-1.10.10/dojox/charting/plot2d/Markers.js +0 -6
  263. package/vendor/dojo-1.10.10/dojox/charting/plot2d/Markers.js.uncompressed.js +0 -12
  264. package/vendor/dojo-1.10.10/dojox/charting/plot2d/MarkersOnly.js +0 -7
  265. package/vendor/dojo-1.10.10/dojox/charting/plot2d/MarkersOnly.js.uncompressed.js +0 -13
  266. package/vendor/dojo-1.10.10/dojox/charting/plot2d/OHLC.js +0 -110
  267. package/vendor/dojo-1.10.10/dojox/charting/plot2d/OHLC.js.uncompressed.js +0 -208
  268. package/vendor/dojo-1.10.10/dojox/charting/plot2d/Pie.js +0 -303
  269. package/vendor/dojo-1.10.10/dojox/charting/plot2d/Pie.js.uncompressed.js +0 -547
  270. package/vendor/dojo-1.10.10/dojox/charting/plot2d/Scatter.js +0 -134
  271. package/vendor/dojo-1.10.10/dojox/charting/plot2d/Scatter.js.uncompressed.js +0 -207
  272. package/vendor/dojo-1.10.10/dojox/charting/plot2d/Spider.js +0 -299
  273. package/vendor/dojo-1.10.10/dojox/charting/plot2d/Spider.js.uncompressed.js +0 -537
  274. package/vendor/dojo-1.10.10/dojox/charting/plot2d/Stacked.js +0 -24
  275. package/vendor/dojo-1.10.10/dojox/charting/plot2d/Stacked.js.uncompressed.js +0 -44
  276. package/vendor/dojo-1.10.10/dojox/charting/plot2d/StackedAreas.js +0 -7
  277. package/vendor/dojo-1.10.10/dojox/charting/plot2d/StackedAreas.js.uncompressed.js +0 -14
  278. package/vendor/dojo-1.10.10/dojox/charting/plot2d/StackedBars.js +0 -22
  279. package/vendor/dojo-1.10.10/dojox/charting/plot2d/StackedBars.js.uncompressed.js +0 -33
  280. package/vendor/dojo-1.10.10/dojox/charting/plot2d/StackedColumns.js +0 -20
  281. package/vendor/dojo-1.10.10/dojox/charting/plot2d/StackedColumns.js.uncompressed.js +0 -31
  282. package/vendor/dojo-1.10.10/dojox/charting/plot2d/StackedLines.js +0 -6
  283. package/vendor/dojo-1.10.10/dojox/charting/plot2d/StackedLines.js.uncompressed.js +0 -12
  284. package/vendor/dojo-1.10.10/dojox/charting/plot2d/_PlotEvents.js +0 -68
  285. package/vendor/dojo-1.10.10/dojox/charting/plot2d/_PlotEvents.js.uncompressed.js +0 -120
  286. package/vendor/dojo-1.10.10/dojox/charting/plot2d/common.js +0 -209
  287. package/vendor/dojo-1.10.10/dojox/charting/plot2d/common.js.uncompressed.js +0 -214
  288. package/vendor/dojo-1.10.10/dojox/charting/plot2d/commonStacked.js +0 -76
  289. package/vendor/dojo-1.10.10/dojox/charting/plot2d/commonStacked.js.uncompressed.js +0 -77
  290. package/vendor/dojo-1.10.10/dojox/charting/scaler/common.js +0 -59
  291. package/vendor/dojo-1.10.10/dojox/charting/scaler/common.js.uncompressed.js +0 -70
  292. package/vendor/dojo-1.10.10/dojox/charting/scaler/linear.js +0 -220
  293. package/vendor/dojo-1.10.10/dojox/charting/scaler/linear.js.uncompressed.js +0 -262
  294. package/vendor/dojo-1.10.10/dojox/charting/scaler/primitive.js +0 -23
  295. package/vendor/dojo-1.10.10/dojox/charting/scaler/primitive.js.uncompressed.js +0 -36
  296. package/vendor/dojo-1.10.10/dojox/charting/themes/Claro.js +0 -39
  297. package/vendor/dojo-1.10.10/dojox/charting/themes/Claro.js.uncompressed.js +0 -106
  298. package/vendor/dojo-1.10.10/dojox/charting/themes/Wetland.js +0 -5
  299. package/vendor/dojo-1.10.10/dojox/charting/themes/Wetland.js.uncompressed.js +0 -12
  300. package/vendor/dojo-1.10.10/dojox/charting/themes/common.js +0 -4
  301. package/vendor/dojo-1.10.10/dojox/charting/themes/common.js.uncompressed.js +0 -3
  302. package/vendor/dojo-1.10.10/dojox/charting/widget/Legend.js +0 -102
  303. package/vendor/dojo-1.10.10/dojox/charting/widget/Legend.js.uncompressed.js +0 -165
  304. package/vendor/dojo-1.10.10/dojox/color/Palette.js +0 -163
  305. package/vendor/dojo-1.10.10/dojox/color/Palette.js.uncompressed.js +0 -460
  306. package/vendor/dojo-1.10.10/dojox/color/_base.js +0 -174
  307. package/vendor/dojo-1.10.10/dojox/color/_base.js.uncompressed.js +0 -196
  308. package/vendor/dojo-1.10.10/dojox/gfx/_base.js +0 -253
  309. package/vendor/dojo-1.10.10/dojox/gfx/_base.js.uncompressed.js +0 -1024
  310. package/vendor/dojo-1.10.10/dojox/gfx/fx.js +0 -297
  311. package/vendor/dojo-1.10.10/dojox/gfx/fx.js.uncompressed.js +0 -350
  312. package/vendor/dojo-1.10.10/dojox/gfx/gradutils.js +0 -63
  313. package/vendor/dojo-1.10.10/dojox/gfx/gradutils.js.uncompressed.js +0 -91
  314. package/vendor/dojo-1.10.10/dojox/gfx/matrix.js +0 -170
  315. package/vendor/dojo-1.10.10/dojox/gfx/matrix.js.uncompressed.js +0 -501
  316. package/vendor/dojo-1.10.10/dojox/gfx/path.js +0 -319
  317. package/vendor/dojo-1.10.10/dojox/gfx/path.js.uncompressed.js +0 -478
  318. package/vendor/dojo-1.10.10/dojox/gfx/shape.js +0 -459
  319. package/vendor/dojo-1.10.10/dojox/gfx/shape.js.uncompressed.js +0 -1091
  320. package/vendor/dojo-1.10.10/dojox/gfx/svg.js +0 -662
  321. package/vendor/dojo-1.10.10/dojox/gfx/svg.js.uncompressed.js +0 -1023
  322. package/vendor/dojo-1.10.10/dojox/gfx/utils.js +0 -199
  323. package/vendor/dojo-1.10.10/dojox/gfx/utils.js.uncompressed.js +0 -322
  324. package/vendor/dojo-1.10.10/dojox/gfx.js +0 -2
  325. package/vendor/dojo-1.10.10/dojox/gfx.js.uncompressed.js +0 -1136
  326. package/vendor/dojo-1.10.10/dojox/lang/functional/array.js +0 -151
  327. package/vendor/dojo-1.10.10/dojox/lang/functional/array.js.uncompressed.js +0 -169
  328. package/vendor/dojo-1.10.10/dojox/lang/functional/fold.js +0 -93
  329. package/vendor/dojo-1.10.10/dojox/lang/functional/fold.js.uncompressed.js +0 -125
  330. package/vendor/dojo-1.10.10/dojox/lang/functional/lambda.js +0 -81
  331. package/vendor/dojo-1.10.10/dojox/lang/functional/lambda.js.uncompressed.js +0 -132
  332. package/vendor/dojo-1.10.10/dojox/lang/functional/object.js +0 -54
  333. package/vendor/dojo-1.10.10/dojox/lang/functional/object.js.uncompressed.js +0 -78
  334. package/vendor/dojo-1.10.10/dojox/lang/functional/reversed.js +0 -61
  335. package/vendor/dojo-1.10.10/dojox/lang/functional/reversed.js.uncompressed.js +0 -77
  336. package/vendor/dojo-1.10.10/dojox/lang/functional/scan.js +0 -87
  337. package/vendor/dojo-1.10.10/dojox/lang/functional/scan.js.uncompressed.js +0 -107
  338. package/vendor/dojo-1.10.10/dojox/lang/functional.js +0 -4
  339. package/vendor/dojo-1.10.10/dojox/lang/functional.js.uncompressed.js +0 -3
  340. package/vendor/dojo-1.10.10/dojox/lang/utils.js +0 -86
  341. package/vendor/dojo-1.10.10/dojox/lang/utils.js.uncompressed.js +0 -121
  342. package/vendor/dojo-1.10.10/dojox/main.js +0 -4
  343. package/vendor/dojo-1.10.10/dojox/main.js.uncompressed.js +0 -14
  344. package/vendor/dojo-1.10.10/dojox/storage/LocalStorageProvider.js +0 -112
  345. package/vendor/dojo-1.10.10/dojox/storage/LocalStorageProvider.js.uncompressed.js +0 -208
  346. package/vendor/dojo-1.10.10/dojox/storage/Provider.js +0 -62
  347. package/vendor/dojo-1.10.10/dojox/storage/Provider.js.uncompressed.js +0 -344
  348. package/vendor/dojo-1.10.10/dojox/storage/manager.js +0 -110
  349. 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
- });