@datagrok/helm 2.3.2 → 2.3.3
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.
- package/CHANGELOG.md +12 -0
- package/dist/package-test.js +1 -1
- package/dist/package-test.js.map +1 -1
- package/dist/package.js +1 -1
- package/dist/package.js.map +1 -1
- package/package.json +4 -4
- package/src/cell-renderer.ts +5 -4
- package/src/helm-helper.ts +6 -6
- package/src/helm-monomer-placer.ts +1 -1
- package/src/helm-web-editor.ts +5 -5
- package/src/package-test.ts +0 -1
- package/src/package-utils.ts +228 -69
- package/src/package.ts +7 -69
- package/src/tests/findMonomers-tests.ts +2 -1
- package/src/tests/get-monomer-tests.ts +1 -49
- package/src/utils/get-monomer.ts +49 -1
- package/src/utils/helm-grid-cell-renderer.ts +8 -9
- package/src/utils/index.ts +2 -3
- package/src/widgets/helm-input.ts +4 -4
- package/vendor/dojo-1.10.10/dijit/BackgroundIframe.js +63 -0
- package/vendor/dojo-1.10.10/dijit/BackgroundIframe.js.uncompressed.js +116 -0
- package/vendor/dojo-1.10.10/dijit/Destroyable.js +35 -0
- package/vendor/dojo-1.10.10/dijit/Destroyable.js.uncompressed.js +83 -0
- package/vendor/dojo-1.10.10/dijit/Tooltip.js +240 -0
- package/vendor/dojo-1.10.10/dijit/Tooltip.js.uncompressed.js +612 -0
- package/vendor/dojo-1.10.10/dijit/Viewport.js +44 -0
- package/vendor/dojo-1.10.10/dijit/Viewport.js.uncompressed.js +87 -0
- package/vendor/dojo-1.10.10/dijit/WidgetSet.js +76 -0
- package/vendor/dojo-1.10.10/dijit/WidgetSet.js.uncompressed.js +247 -0
- package/vendor/dojo-1.10.10/dijit/_AttachMixin.js +94 -0
- package/vendor/dojo-1.10.10/dijit/_AttachMixin.js.uncompressed.js +238 -0
- package/vendor/dojo-1.10.10/dijit/_Contained.js +17 -0
- package/vendor/dojo-1.10.10/dijit/_Contained.js.uncompressed.js +56 -0
- package/vendor/dojo-1.10.10/dijit/_Container.js +47 -0
- package/vendor/dojo-1.10.10/dijit/_Container.js.uncompressed.js +108 -0
- package/vendor/dojo-1.10.10/dijit/_CssStateMixin.js +198 -0
- package/vendor/dojo-1.10.10/dijit/_CssStateMixin.js.uncompressed.js +372 -0
- package/vendor/dojo-1.10.10/dijit/_FocusMixin.js +11 -0
- package/vendor/dojo-1.10.10/dijit/_FocusMixin.js.uncompressed.js +66 -0
- package/vendor/dojo-1.10.10/dijit/_HasDropDown.js +188 -0
- package/vendor/dojo-1.10.10/dijit/_HasDropDown.js.uncompressed.js +472 -0
- package/vendor/dojo-1.10.10/dijit/_OnDijitClickMixin.js +8 -0
- package/vendor/dojo-1.10.10/dijit/_OnDijitClickMixin.js.uncompressed.js +31 -0
- package/vendor/dojo-1.10.10/dijit/_TemplatedMixin.js +90 -0
- package/vendor/dojo-1.10.10/dijit/_TemplatedMixin.js.uncompressed.js +205 -0
- package/vendor/dojo-1.10.10/dijit/_Widget.js +66 -0
- package/vendor/dojo-1.10.10/dijit/_Widget.js.uncompressed.js +352 -0
- package/vendor/dojo-1.10.10/dijit/_WidgetBase.js +353 -0
- package/vendor/dojo-1.10.10/dijit/_WidgetBase.js.uncompressed.js +1200 -0
- package/vendor/dojo-1.10.10/dijit/_base/focus.js +68 -0
- package/vendor/dojo-1.10.10/dijit/_base/focus.js.uncompressed.js +207 -0
- package/vendor/dojo-1.10.10/dijit/_base/manager.js +10 -0
- package/vendor/dojo-1.10.10/dijit/_base/manager.js.uncompressed.js +35 -0
- package/vendor/dojo-1.10.10/dijit/_base/place.js +52 -0
- package/vendor/dojo-1.10.10/dijit/_base/place.js.uncompressed.js +131 -0
- package/vendor/dojo-1.10.10/dijit/_base/popup.js +23 -0
- package/vendor/dojo-1.10.10/dijit/_base/popup.js.uncompressed.js +58 -0
- package/vendor/dojo-1.10.10/dijit/_base/scroll.js +6 -0
- package/vendor/dojo-1.10.10/dijit/_base/scroll.js.uncompressed.js +22 -0
- package/vendor/dojo-1.10.10/dijit/_base/sniff.js +3 -0
- package/vendor/dojo-1.10.10/dijit/_base/sniff.js.uncompressed.js +12 -0
- package/vendor/dojo-1.10.10/dijit/_base/typematic.js +3 -0
- package/vendor/dojo-1.10.10/dijit/_base/typematic.js.uncompressed.js +10 -0
- package/vendor/dojo-1.10.10/dijit/_base/wai.js +32 -0
- package/vendor/dojo-1.10.10/dijit/_base/wai.js.uncompressed.js +109 -0
- package/vendor/dojo-1.10.10/dijit/_base/window.js +6 -0
- package/vendor/dojo-1.10.10/dijit/_base/window.js.uncompressed.js +18 -0
- package/vendor/dojo-1.10.10/dijit/_base.js +4 -0
- package/vendor/dojo-1.10.10/dijit/a11y.js +109 -0
- package/vendor/dojo-1.10.10/dijit/a11y.js.uncompressed.js +191 -0
- package/vendor/dojo-1.10.10/dijit/a11yclick.js +66 -0
- package/vendor/dojo-1.10.10/dijit/a11yclick.js.uncompressed.js +139 -0
- package/vendor/dojo-1.10.10/dijit/focus.js +188 -0
- package/vendor/dojo-1.10.10/dijit/focus.js.uncompressed.js +371 -0
- package/vendor/dojo-1.10.10/dijit/form/Button.js +49 -0
- package/vendor/dojo-1.10.10/dijit/form/Button.js.uncompressed.js +130 -0
- package/vendor/dojo-1.10.10/dijit/form/ComboBox.js +4 -0
- package/vendor/dojo-1.10.10/dijit/form/ComboBox.js.uncompressed.js +27 -0
- package/vendor/dojo-1.10.10/dijit/form/ComboButton.js +21 -0
- package/vendor/dojo-1.10.10/dijit/form/ComboButton.js.uncompressed.js +86 -0
- package/vendor/dojo-1.10.10/dijit/form/DropDownButton.js +38 -0
- package/vendor/dojo-1.10.10/dijit/form/DropDownButton.js.uncompressed.js +102 -0
- package/vendor/dojo-1.10.10/dijit/form/ToggleButton.js +7 -0
- package/vendor/dojo-1.10.10/dijit/form/ToggleButton.js.uncompressed.js +26 -0
- package/vendor/dojo-1.10.10/dijit/form/_ButtonMixin.js +50 -0
- package/vendor/dojo-1.10.10/dijit/form/_ButtonMixin.js.uncompressed.js +116 -0
- package/vendor/dojo-1.10.10/dijit/form/_FormValueMixin.js +26 -0
- package/vendor/dojo-1.10.10/dijit/form/_FormValueMixin.js.uncompressed.js +81 -0
- package/vendor/dojo-1.10.10/dijit/form/_FormValueWidget.js +24 -0
- package/vendor/dojo-1.10.10/dijit/form/_FormValueWidget.js.uncompressed.js +51 -0
- package/vendor/dojo-1.10.10/dijit/form/_FormWidget.js +22 -0
- package/vendor/dojo-1.10.10/dijit/form/_FormWidget.js.uncompressed.js +67 -0
- package/vendor/dojo-1.10.10/dijit/form/_FormWidgetMixin.js +111 -0
- package/vendor/dojo-1.10.10/dijit/form/_FormWidgetMixin.js.uncompressed.js +254 -0
- package/vendor/dojo-1.10.10/dijit/form/_ToggleButtonMixin.js +32 -0
- package/vendor/dojo-1.10.10/dijit/form/_ToggleButtonMixin.js.uncompressed.js +69 -0
- package/vendor/dojo-1.10.10/dijit/hccss.js +9 -0
- package/vendor/dojo-1.10.10/dijit/hccss.js.uncompressed.js +21 -0
- package/vendor/dojo-1.10.10/dijit/layout/AccordionContainer.js +215 -0
- package/vendor/dojo-1.10.10/dijit/layout/AccordionContainer.js.uncompressed.js +550 -0
- package/vendor/dojo-1.10.10/dijit/layout/AccordionPane.js +7 -0
- package/vendor/dojo-1.10.10/dijit/layout/AccordionPane.js.uncompressed.js +25 -0
- package/vendor/dojo-1.10.10/dijit/layout/ContentPane.js +235 -0
- package/vendor/dojo-1.10.10/dijit/layout/ContentPane.js.uncompressed.js +653 -0
- package/vendor/dojo-1.10.10/dijit/layout/StackContainer.js +171 -0
- package/vendor/dojo-1.10.10/dijit/layout/StackContainer.js.uncompressed.js +411 -0
- package/vendor/dojo-1.10.10/dijit/layout/StackController.js +194 -0
- package/vendor/dojo-1.10.10/dijit/layout/StackController.js.uncompressed.js +410 -0
- package/vendor/dojo-1.10.10/dijit/layout/_ContentPaneResizeMixin.js +99 -0
- package/vendor/dojo-1.10.10/dijit/layout/_ContentPaneResizeMixin.js.uncompressed.js +236 -0
- package/vendor/dojo-1.10.10/dijit/layout/_LayoutWidget.js +47 -0
- package/vendor/dojo-1.10.10/dijit/layout/_LayoutWidget.js.uncompressed.js +190 -0
- package/vendor/dojo-1.10.10/dijit/layout/utils.js +77 -0
- package/vendor/dojo-1.10.10/dijit/layout/utils.js.uncompressed.js +151 -0
- package/vendor/dojo-1.10.10/dijit/main.js +4 -0
- package/vendor/dojo-1.10.10/dijit/main.js.uncompressed.js +16 -0
- package/vendor/dojo-1.10.10/dijit/nls/dijit-all_en-us.js +2 -0
- package/vendor/dojo-1.10.10/dijit/nls/dijit-all_en-us.js.uncompressed.js +21 -0
- package/vendor/dojo-1.10.10/dijit/nls/loading.js +2 -0
- package/vendor/dojo-1.10.10/dijit/nls/loading.js.uncompressed.js +47 -0
- package/vendor/dojo-1.10.10/dijit/place.js +142 -0
- package/vendor/dojo-1.10.10/dijit/place.js.uncompressed.js +407 -0
- package/vendor/dojo-1.10.10/dijit/popup.js +162 -0
- package/vendor/dojo-1.10.10/dijit/popup.js.uncompressed.js +441 -0
- package/vendor/dojo-1.10.10/dijit/registry.js +79 -0
- package/vendor/dojo-1.10.10/dijit/registry.js.uncompressed.js +159 -0
- package/vendor/dojo-1.10.10/dijit/selection.js +364 -0
- package/vendor/dojo-1.10.10/dijit/selection.js.uncompressed.js +525 -0
- package/vendor/dojo-1.10.10/dijit/typematic.js +96 -0
- package/vendor/dojo-1.10.10/dijit/typematic.js.uncompressed.js +211 -0
- package/vendor/dojo-1.10.10/dojo/NodeList-manipulate.js +195 -0
- package/vendor/dojo-1.10.10/dojo/NodeList-manipulate.js.uncompressed.js +761 -0
- package/vendor/dojo-1.10.10/dojo/Stateful.js +90 -0
- package/vendor/dojo-1.10.10/dojo/Stateful.js.uncompressed.js +218 -0
- package/vendor/dojo-1.10.10/dojo/_base/url.js +87 -0
- package/vendor/dojo-1.10.10/dojo/_base/url.js.uncompressed.js +109 -0
- package/vendor/dojo-1.10.10/dojo/cache.js +9 -0
- package/vendor/dojo-1.10.10/dojo/cache.js.uncompressed.js +7 -0
- package/vendor/dojo-1.10.10/dojo/colors.js +74 -0
- package/vendor/dojo-1.10.10/dojo/colors.js.uncompressed.js +232 -0
- package/vendor/dojo-1.10.10/dojo/cookie.js +48 -0
- package/vendor/dojo-1.10.10/dojo/cookie.js.uncompressed.js +98 -0
- package/vendor/dojo-1.10.10/dojo/date/stamp.js +82 -0
- package/vendor/dojo-1.10.10/dojo/date/stamp.js.uncompressed.js +144 -0
- package/vendor/dojo-1.10.10/dojo/dojo.js +7 -0
- package/vendor/dojo-1.10.10/dojo/dojo.js.uncompressed.js +18680 -0
- package/vendor/dojo-1.10.10/dojo/fx/Toggler.js +27 -0
- package/vendor/dojo-1.10.10/dojo/fx/Toggler.js.uncompressed.js +101 -0
- package/vendor/dojo-1.10.10/dojo/fx/easing.js +165 -0
- package/vendor/dojo-1.10.10/dojo/fx/easing.js.uncompressed.js +276 -0
- package/vendor/dojo-1.10.10/dojo/fx.js +271 -0
- package/vendor/dojo-1.10.10/dojo/fx.js.uncompressed.js +443 -0
- package/vendor/dojo-1.10.10/dojo/hccss.js +26 -0
- package/vendor/dojo-1.10.10/dojo/hccss.js.uncompressed.js +52 -0
- package/vendor/dojo-1.10.10/dojo/html.js +161 -0
- package/vendor/dojo-1.10.10/dojo/html.js.uncompressed.js +370 -0
- package/vendor/dojo-1.10.10/dojo/io/iframe.js +71 -0
- package/vendor/dojo-1.10.10/dojo/io/iframe.js.uncompressed.js +190 -0
- package/vendor/dojo-1.10.10/dojo/io/script.js +112 -0
- package/vendor/dojo-1.10.10/dojo/io/script.js.uncompressed.js +280 -0
- package/vendor/dojo-1.10.10/dojo/parser.js +437 -0
- package/vendor/dojo-1.10.10/dojo/parser.js.uncompressed.js +915 -0
- package/vendor/dojo-1.10.10/dojo/promise/all.js +59 -0
- package/vendor/dojo-1.10.10/dojo/promise/all.js.uncompressed.js +77 -0
- package/vendor/dojo-1.10.10/dojo/regexp.js +32 -0
- package/vendor/dojo-1.10.10/dojo/regexp.js.uncompressed.js +70 -0
- package/vendor/dojo-1.10.10/dojo/request/iframe.js +291 -0
- package/vendor/dojo-1.10.10/dojo/request/iframe.js.uncompressed.js +438 -0
- package/vendor/dojo-1.10.10/dojo/request/script.js +129 -0
- package/vendor/dojo-1.10.10/dojo/request/script.js.uncompressed.js +237 -0
- package/vendor/dojo-1.10.10/dojo/require.js +11 -0
- package/vendor/dojo-1.10.10/dojo/require.js.uncompressed.js +7 -0
- package/vendor/dojo-1.10.10/dojo/resources/blank.gif +0 -0
- package/vendor/dojo-1.10.10/dojo/string.js +67 -0
- package/vendor/dojo-1.10.10/dojo/string.js.uncompressed.js +181 -0
- package/vendor/dojo-1.10.10/dojo/touch.js +191 -0
- package/vendor/dojo-1.10.10/dojo/touch.js.uncompressed.js +468 -0
- package/vendor/dojo-1.10.10/dojo/uacss.js +36 -0
- package/vendor/dojo-1.10.10/dojo/uacss.js.uncompressed.js +85 -0
- package/vendor/dojo-1.10.10/dojo/window.js +141 -0
- package/vendor/dojo-1.10.10/dojo/window.js.uncompressed.js +241 -0
- package/vendor/dojo-1.10.10/dojox/charting/Chart.js +626 -0
- package/vendor/dojo-1.10.10/dojox/charting/Chart.js.uncompressed.js +1220 -0
- package/vendor/dojo-1.10.10/dojox/charting/Chart2D.js +5 -0
- package/vendor/dojo-1.10.10/dojox/charting/Chart2D.js.uncompressed.js +16 -0
- package/vendor/dojo-1.10.10/dojox/charting/Element.js +247 -0
- package/vendor/dojo-1.10.10/dojox/charting/Element.js.uncompressed.js +402 -0
- package/vendor/dojo-1.10.10/dojox/charting/Series.js +24 -0
- package/vendor/dojo-1.10.10/dojox/charting/Series.js.uncompressed.js +58 -0
- package/vendor/dojo-1.10.10/dojox/charting/SimpleTheme.js +191 -0
- package/vendor/dojo-1.10.10/dojox/charting/SimpleTheme.js.uncompressed.js +577 -0
- package/vendor/dojo-1.10.10/dojox/charting/Theme.js +42 -0
- package/vendor/dojo-1.10.10/dojox/charting/Theme.js.uncompressed.js +120 -0
- package/vendor/dojo-1.10.10/dojox/charting/action2d/Base.js +11 -0
- package/vendor/dojo-1.10.10/dojox/charting/action2d/Base.js.uncompressed.js +36 -0
- package/vendor/dojo-1.10.10/dojox/charting/action2d/Highlight.js +77 -0
- package/vendor/dojo-1.10.10/dojox/charting/action2d/Highlight.js.uncompressed.js +144 -0
- package/vendor/dojo-1.10.10/dojox/charting/action2d/Magnify.js +58 -0
- package/vendor/dojo-1.10.10/dojox/charting/action2d/Magnify.js.uncompressed.js +123 -0
- package/vendor/dojo-1.10.10/dojox/charting/action2d/MoveSlice.js +54 -0
- package/vendor/dojo-1.10.10/dojox/charting/action2d/MoveSlice.js.uncompressed.js +124 -0
- package/vendor/dojo-1.10.10/dojox/charting/action2d/PlotAction.js +28 -0
- package/vendor/dojo-1.10.10/dojox/charting/action2d/PlotAction.js.uncompressed.js +74 -0
- package/vendor/dojo-1.10.10/dojox/charting/action2d/Tooltip.js +116 -0
- package/vendor/dojo-1.10.10/dojox/charting/action2d/Tooltip.js.uncompressed.js +178 -0
- package/vendor/dojo-1.10.10/dojox/charting/axis2d/Base.js +24 -0
- package/vendor/dojo-1.10.10/dojox/charting/axis2d/Base.js.uncompressed.js +83 -0
- package/vendor/dojo-1.10.10/dojox/charting/axis2d/Default.js +557 -0
- package/vendor/dojo-1.10.10/dojox/charting/axis2d/Default.js.uncompressed.js +980 -0
- package/vendor/dojo-1.10.10/dojox/charting/axis2d/Invisible.js +65 -0
- package/vendor/dojo-1.10.10/dojox/charting/axis2d/Invisible.js.uncompressed.js +224 -0
- package/vendor/dojo-1.10.10/dojox/charting/axis2d/common.js +91 -0
- package/vendor/dojo-1.10.10/dojox/charting/axis2d/common.js.uncompressed.js +164 -0
- package/vendor/dojo-1.10.10/dojox/charting/plot2d/Areas.js +7 -0
- package/vendor/dojo-1.10.10/dojox/charting/plot2d/Areas.js.uncompressed.js +14 -0
- package/vendor/dojo-1.10.10/dojox/charting/plot2d/Bars.js +168 -0
- package/vendor/dojo-1.10.10/dojox/charting/plot2d/Bars.js.uncompressed.js +311 -0
- package/vendor/dojo-1.10.10/dojox/charting/plot2d/Base.js +61 -0
- package/vendor/dojo-1.10.10/dojox/charting/plot2d/Base.js.uncompressed.js +161 -0
- package/vendor/dojo-1.10.10/dojox/charting/plot2d/Bubble.js +141 -0
- package/vendor/dojo-1.10.10/dojox/charting/plot2d/Bubble.js.uncompressed.js +242 -0
- package/vendor/dojo-1.10.10/dojox/charting/plot2d/Candlesticks.js +126 -0
- package/vendor/dojo-1.10.10/dojox/charting/plot2d/Candlesticks.js.uncompressed.js +243 -0
- package/vendor/dojo-1.10.10/dojox/charting/plot2d/CartesianBase.js +108 -0
- package/vendor/dojo-1.10.10/dojox/charting/plot2d/CartesianBase.js.uncompressed.js +290 -0
- package/vendor/dojo-1.10.10/dojox/charting/plot2d/ClusteredBars.js +13 -0
- package/vendor/dojo-1.10.10/dojox/charting/plot2d/ClusteredBars.js.uncompressed.js +14 -0
- package/vendor/dojo-1.10.10/dojox/charting/plot2d/ClusteredColumns.js +13 -0
- package/vendor/dojo-1.10.10/dojox/charting/plot2d/ClusteredColumns.js.uncompressed.js +14 -0
- package/vendor/dojo-1.10.10/dojox/charting/plot2d/Columns.js +153 -0
- package/vendor/dojo-1.10.10/dojox/charting/plot2d/Columns.js.uncompressed.js +249 -0
- package/vendor/dojo-1.10.10/dojox/charting/plot2d/Default.js +253 -0
- package/vendor/dojo-1.10.10/dojox/charting/plot2d/Default.js.uncompressed.js +472 -0
- package/vendor/dojo-1.10.10/dojox/charting/plot2d/Grid.js +182 -0
- package/vendor/dojo-1.10.10/dojox/charting/plot2d/Grid.js.uncompressed.js +356 -0
- package/vendor/dojo-1.10.10/dojox/charting/plot2d/Lines.js +6 -0
- package/vendor/dojo-1.10.10/dojox/charting/plot2d/Lines.js.uncompressed.js +12 -0
- package/vendor/dojo-1.10.10/dojox/charting/plot2d/Markers.js +6 -0
- package/vendor/dojo-1.10.10/dojox/charting/plot2d/Markers.js.uncompressed.js +12 -0
- package/vendor/dojo-1.10.10/dojox/charting/plot2d/MarkersOnly.js +7 -0
- package/vendor/dojo-1.10.10/dojox/charting/plot2d/MarkersOnly.js.uncompressed.js +13 -0
- package/vendor/dojo-1.10.10/dojox/charting/plot2d/OHLC.js +110 -0
- package/vendor/dojo-1.10.10/dojox/charting/plot2d/OHLC.js.uncompressed.js +208 -0
- package/vendor/dojo-1.10.10/dojox/charting/plot2d/Pie.js +303 -0
- package/vendor/dojo-1.10.10/dojox/charting/plot2d/Pie.js.uncompressed.js +547 -0
- package/vendor/dojo-1.10.10/dojox/charting/plot2d/Scatter.js +134 -0
- package/vendor/dojo-1.10.10/dojox/charting/plot2d/Scatter.js.uncompressed.js +207 -0
- package/vendor/dojo-1.10.10/dojox/charting/plot2d/Spider.js +299 -0
- package/vendor/dojo-1.10.10/dojox/charting/plot2d/Spider.js.uncompressed.js +537 -0
- package/vendor/dojo-1.10.10/dojox/charting/plot2d/Stacked.js +24 -0
- package/vendor/dojo-1.10.10/dojox/charting/plot2d/Stacked.js.uncompressed.js +44 -0
- package/vendor/dojo-1.10.10/dojox/charting/plot2d/StackedAreas.js +7 -0
- package/vendor/dojo-1.10.10/dojox/charting/plot2d/StackedAreas.js.uncompressed.js +14 -0
- package/vendor/dojo-1.10.10/dojox/charting/plot2d/StackedBars.js +22 -0
- package/vendor/dojo-1.10.10/dojox/charting/plot2d/StackedBars.js.uncompressed.js +33 -0
- package/vendor/dojo-1.10.10/dojox/charting/plot2d/StackedColumns.js +20 -0
- package/vendor/dojo-1.10.10/dojox/charting/plot2d/StackedColumns.js.uncompressed.js +31 -0
- package/vendor/dojo-1.10.10/dojox/charting/plot2d/StackedLines.js +6 -0
- package/vendor/dojo-1.10.10/dojox/charting/plot2d/StackedLines.js.uncompressed.js +12 -0
- package/vendor/dojo-1.10.10/dojox/charting/plot2d/_PlotEvents.js +68 -0
- package/vendor/dojo-1.10.10/dojox/charting/plot2d/_PlotEvents.js.uncompressed.js +120 -0
- package/vendor/dojo-1.10.10/dojox/charting/plot2d/common.js +209 -0
- package/vendor/dojo-1.10.10/dojox/charting/plot2d/common.js.uncompressed.js +214 -0
- package/vendor/dojo-1.10.10/dojox/charting/plot2d/commonStacked.js +76 -0
- package/vendor/dojo-1.10.10/dojox/charting/plot2d/commonStacked.js.uncompressed.js +77 -0
- package/vendor/dojo-1.10.10/dojox/charting/scaler/common.js +59 -0
- package/vendor/dojo-1.10.10/dojox/charting/scaler/common.js.uncompressed.js +70 -0
- package/vendor/dojo-1.10.10/dojox/charting/scaler/linear.js +220 -0
- package/vendor/dojo-1.10.10/dojox/charting/scaler/linear.js.uncompressed.js +262 -0
- package/vendor/dojo-1.10.10/dojox/charting/scaler/primitive.js +23 -0
- package/vendor/dojo-1.10.10/dojox/charting/scaler/primitive.js.uncompressed.js +36 -0
- package/vendor/dojo-1.10.10/dojox/charting/themes/Claro.js +39 -0
- package/vendor/dojo-1.10.10/dojox/charting/themes/Claro.js.uncompressed.js +106 -0
- package/vendor/dojo-1.10.10/dojox/charting/themes/Wetland.js +5 -0
- package/vendor/dojo-1.10.10/dojox/charting/themes/Wetland.js.uncompressed.js +12 -0
- package/vendor/dojo-1.10.10/dojox/charting/themes/common.js +4 -0
- package/vendor/dojo-1.10.10/dojox/charting/themes/common.js.uncompressed.js +3 -0
- package/vendor/dojo-1.10.10/dojox/charting/widget/Legend.js +102 -0
- package/vendor/dojo-1.10.10/dojox/charting/widget/Legend.js.uncompressed.js +165 -0
- package/vendor/dojo-1.10.10/dojox/color/Palette.js +163 -0
- package/vendor/dojo-1.10.10/dojox/color/Palette.js.uncompressed.js +460 -0
- package/vendor/dojo-1.10.10/dojox/color/_base.js +174 -0
- package/vendor/dojo-1.10.10/dojox/color/_base.js.uncompressed.js +196 -0
- package/vendor/dojo-1.10.10/dojox/gfx/fx.js +297 -0
- package/vendor/dojo-1.10.10/dojox/gfx/fx.js.uncompressed.js +350 -0
- package/vendor/dojo-1.10.10/dojox/gfx/gradutils.js +63 -0
- package/vendor/dojo-1.10.10/dojox/gfx/gradutils.js.uncompressed.js +91 -0
- package/vendor/dojo-1.10.10/dojox/gfx/matrix.js +170 -0
- package/vendor/dojo-1.10.10/dojox/gfx/matrix.js.uncompressed.js +501 -0
- package/vendor/dojo-1.10.10/dojox/gfx/path.js +319 -0
- package/vendor/dojo-1.10.10/dojox/gfx/path.js.uncompressed.js +478 -0
- package/vendor/dojo-1.10.10/dojox/gfx/shape.js +459 -0
- package/vendor/dojo-1.10.10/dojox/gfx/shape.js.uncompressed.js +1091 -0
- package/vendor/dojo-1.10.10/dojox/gfx/svg.js +662 -0
- package/vendor/dojo-1.10.10/dojox/gfx/svg.js.uncompressed.js +1023 -0
- package/vendor/dojo-1.10.10/dojox/gfx/utils.js +199 -0
- package/vendor/dojo-1.10.10/dojox/gfx/utils.js.uncompressed.js +322 -0
- package/vendor/dojo-1.10.10/dojox/gfx.js +2 -0
- package/vendor/dojo-1.10.10/dojox/gfx.js.uncompressed.js +1136 -0
- package/vendor/dojo-1.10.10/dojox/lang/functional/array.js +151 -0
- package/vendor/dojo-1.10.10/dojox/lang/functional/array.js.uncompressed.js +169 -0
- package/vendor/dojo-1.10.10/dojox/lang/functional/fold.js +93 -0
- package/vendor/dojo-1.10.10/dojox/lang/functional/fold.js.uncompressed.js +125 -0
- package/vendor/dojo-1.10.10/dojox/lang/functional/lambda.js +81 -0
- package/vendor/dojo-1.10.10/dojox/lang/functional/lambda.js.uncompressed.js +132 -0
- package/vendor/dojo-1.10.10/dojox/lang/functional/object.js +54 -0
- package/vendor/dojo-1.10.10/dojox/lang/functional/object.js.uncompressed.js +78 -0
- package/vendor/dojo-1.10.10/dojox/lang/functional/reversed.js +61 -0
- package/vendor/dojo-1.10.10/dojox/lang/functional/reversed.js.uncompressed.js +77 -0
- package/vendor/dojo-1.10.10/dojox/lang/functional/scan.js +87 -0
- package/vendor/dojo-1.10.10/dojox/lang/functional/scan.js.uncompressed.js +107 -0
- package/vendor/dojo-1.10.10/dojox/lang/functional.js +4 -0
- package/vendor/dojo-1.10.10/dojox/lang/functional.js.uncompressed.js +3 -0
- package/vendor/dojo-1.10.10/dojox/lang/utils.js +86 -0
- package/vendor/dojo-1.10.10/dojox/lang/utils.js.uncompressed.js +121 -0
- package/vendor/dojo-1.10.10/dojox/main.js +4 -0
- package/vendor/dojo-1.10.10/dojox/main.js.uncompressed.js +14 -0
- package/vendor/dojo-1.10.10/dojox/storage/LocalStorageProvider.js +112 -0
- package/vendor/dojo-1.10.10/dojox/storage/LocalStorageProvider.js.uncompressed.js +208 -0
- package/vendor/dojo-1.10.10/dojox/storage/Provider.js +62 -0
- package/vendor/dojo-1.10.10/dojox/storage/Provider.js.uncompressed.js +344 -0
- package/vendor/dojo-1.10.10/dojox/storage/manager.js +110 -0
- package/vendor/dojo-1.10.10/dojox/storage/manager.js.uncompressed.js +263 -0
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
//>>built
|
|
2
|
+
define("dijit/_base/wai",["dojo/dom-attr","dojo/_base/lang","../main","../hccss"],function(_1,_2,_3){
|
|
3
|
+
var _4={hasWaiRole:function(_5,_6){
|
|
4
|
+
var _7=this.getWaiRole(_5);
|
|
5
|
+
return _6?(_7.indexOf(_6)>-1):(_7.length>0);
|
|
6
|
+
},getWaiRole:function(_8){
|
|
7
|
+
return _2.trim((_1.get(_8,"role")||"").replace("wairole:",""));
|
|
8
|
+
},setWaiRole:function(_9,_a){
|
|
9
|
+
_1.set(_9,"role",_a);
|
|
10
|
+
},removeWaiRole:function(_b,_c){
|
|
11
|
+
var _d=_1.get(_b,"role");
|
|
12
|
+
if(!_d){
|
|
13
|
+
return;
|
|
14
|
+
}
|
|
15
|
+
if(_c){
|
|
16
|
+
var t=_2.trim((" "+_d+" ").replace(" "+_c+" "," "));
|
|
17
|
+
_1.set(_b,"role",t);
|
|
18
|
+
}else{
|
|
19
|
+
_b.removeAttribute("role");
|
|
20
|
+
}
|
|
21
|
+
},hasWaiState:function(_e,_f){
|
|
22
|
+
return _e.hasAttribute?_e.hasAttribute("aria-"+_f):!!_e.getAttribute("aria-"+_f);
|
|
23
|
+
},getWaiState:function(_10,_11){
|
|
24
|
+
return _10.getAttribute("aria-"+_11)||"";
|
|
25
|
+
},setWaiState:function(_12,_13,_14){
|
|
26
|
+
_12.setAttribute("aria-"+_13,_14);
|
|
27
|
+
},removeWaiState:function(_15,_16){
|
|
28
|
+
_15.removeAttribute("aria-"+_16);
|
|
29
|
+
}};
|
|
30
|
+
_2.mixin(_3,_4);
|
|
31
|
+
return _3;
|
|
32
|
+
});
|
|
@@ -0,0 +1,109 @@
|
|
|
1
|
+
define("dijit/_base/wai", [
|
|
2
|
+
"dojo/dom-attr", // domAttr.attr
|
|
3
|
+
"dojo/_base/lang", // lang.mixin
|
|
4
|
+
"../main", // export symbols to dijit
|
|
5
|
+
"../hccss" // not using this module directly, but loading it sets CSS flag on <html>
|
|
6
|
+
], function(domAttr, lang, dijit){
|
|
7
|
+
|
|
8
|
+
// module:
|
|
9
|
+
// dijit/_base/wai
|
|
10
|
+
|
|
11
|
+
var exports = {
|
|
12
|
+
// summary:
|
|
13
|
+
// Deprecated methods for setting/getting wai roles and states.
|
|
14
|
+
// New code should call setAttribute()/getAttribute() directly.
|
|
15
|
+
//
|
|
16
|
+
// Also loads hccss to apply dj_a11y class to root node if machine is in high-contrast mode.
|
|
17
|
+
|
|
18
|
+
hasWaiRole: function(/*Element*/ elem, /*String?*/ role){
|
|
19
|
+
// summary:
|
|
20
|
+
// Determines if an element has a particular role.
|
|
21
|
+
// returns:
|
|
22
|
+
// True if elem has the specific role attribute and false if not.
|
|
23
|
+
// For backwards compatibility if role parameter not provided,
|
|
24
|
+
// returns true if has a role
|
|
25
|
+
var waiRole = this.getWaiRole(elem);
|
|
26
|
+
return role ? (waiRole.indexOf(role) > -1) : (waiRole.length > 0);
|
|
27
|
+
},
|
|
28
|
+
|
|
29
|
+
getWaiRole: function(/*Element*/ elem){
|
|
30
|
+
// summary:
|
|
31
|
+
// Gets the role for an element (which should be a wai role).
|
|
32
|
+
// returns:
|
|
33
|
+
// The role of elem or an empty string if elem
|
|
34
|
+
// does not have a role.
|
|
35
|
+
return lang.trim((domAttr.get(elem, "role") || "").replace("wairole:",""));
|
|
36
|
+
},
|
|
37
|
+
|
|
38
|
+
setWaiRole: function(/*Element*/ elem, /*String*/ role){
|
|
39
|
+
// summary:
|
|
40
|
+
// Sets the role on an element.
|
|
41
|
+
// description:
|
|
42
|
+
// Replace existing role attribute with new role.
|
|
43
|
+
|
|
44
|
+
domAttr.set(elem, "role", role);
|
|
45
|
+
},
|
|
46
|
+
|
|
47
|
+
removeWaiRole: function(/*Element*/ elem, /*String*/ role){
|
|
48
|
+
// summary:
|
|
49
|
+
// Removes the specified role from an element.
|
|
50
|
+
// Removes role attribute if no specific role provided (for backwards compat.)
|
|
51
|
+
|
|
52
|
+
var roleValue = domAttr.get(elem, "role");
|
|
53
|
+
if(!roleValue){ return; }
|
|
54
|
+
if(role){
|
|
55
|
+
var t = lang.trim((" " + roleValue + " ").replace(" " + role + " ", " "));
|
|
56
|
+
domAttr.set(elem, "role", t);
|
|
57
|
+
}else{
|
|
58
|
+
elem.removeAttribute("role");
|
|
59
|
+
}
|
|
60
|
+
},
|
|
61
|
+
|
|
62
|
+
hasWaiState: function(/*Element*/ elem, /*String*/ state){
|
|
63
|
+
// summary:
|
|
64
|
+
// Determines if an element has a given state.
|
|
65
|
+
// description:
|
|
66
|
+
// Checks for an attribute called "aria-"+state.
|
|
67
|
+
// returns:
|
|
68
|
+
// true if elem has a value for the given state and
|
|
69
|
+
// false if it does not.
|
|
70
|
+
|
|
71
|
+
return elem.hasAttribute ? elem.hasAttribute("aria-"+state) : !!elem.getAttribute("aria-"+state);
|
|
72
|
+
},
|
|
73
|
+
|
|
74
|
+
getWaiState: function(/*Element*/ elem, /*String*/ state){
|
|
75
|
+
// summary:
|
|
76
|
+
// Gets the value of a state on an element.
|
|
77
|
+
// description:
|
|
78
|
+
// Checks for an attribute called "aria-"+state.
|
|
79
|
+
// returns:
|
|
80
|
+
// The value of the requested state on elem
|
|
81
|
+
// or an empty string if elem has no value for state.
|
|
82
|
+
|
|
83
|
+
return elem.getAttribute("aria-"+state) || "";
|
|
84
|
+
},
|
|
85
|
+
|
|
86
|
+
setWaiState: function(/*Element*/ elem, /*String*/ state, /*String*/ value){
|
|
87
|
+
// summary:
|
|
88
|
+
// Sets a state on an element.
|
|
89
|
+
// description:
|
|
90
|
+
// Sets an attribute called "aria-"+state.
|
|
91
|
+
|
|
92
|
+
elem.setAttribute("aria-"+state, value);
|
|
93
|
+
},
|
|
94
|
+
|
|
95
|
+
removeWaiState: function(/*Element*/ elem, /*String*/ state){
|
|
96
|
+
// summary:
|
|
97
|
+
// Removes a state from an element.
|
|
98
|
+
// description:
|
|
99
|
+
// Sets an attribute called "aria-"+state.
|
|
100
|
+
|
|
101
|
+
elem.removeAttribute("aria-"+state);
|
|
102
|
+
}
|
|
103
|
+
};
|
|
104
|
+
|
|
105
|
+
lang.mixin(dijit, exports);
|
|
106
|
+
|
|
107
|
+
/*===== return exports; =====*/
|
|
108
|
+
return dijit; // for back compat :-(
|
|
109
|
+
});
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
define("dijit/_base/window", [
|
|
2
|
+
"dojo/window", // windowUtils.get
|
|
3
|
+
"../main" // export symbol to dijit
|
|
4
|
+
], function(windowUtils, dijit){
|
|
5
|
+
// module:
|
|
6
|
+
// dijit/_base/window
|
|
7
|
+
|
|
8
|
+
/*=====
|
|
9
|
+
return {
|
|
10
|
+
// summary:
|
|
11
|
+
// Back compatibility module, new code should use windowUtils directly instead of using this module.
|
|
12
|
+
};
|
|
13
|
+
=====*/
|
|
14
|
+
|
|
15
|
+
dijit.getDocumentWindow = function(doc){
|
|
16
|
+
return windowUtils.get(doc);
|
|
17
|
+
};
|
|
18
|
+
});
|
|
@@ -0,0 +1,109 @@
|
|
|
1
|
+
//>>built
|
|
2
|
+
define("dijit/a11y",["dojo/_base/array","dojo/dom","dojo/dom-attr","dojo/dom-style","dojo/_base/lang","dojo/sniff","./main"],function(_1,_2,_3,_4,_5,_6,_7){
|
|
3
|
+
var _8;
|
|
4
|
+
var _9={_isElementShown:function(_a){
|
|
5
|
+
var s=_4.get(_a);
|
|
6
|
+
return (s.visibility!="hidden")&&(s.visibility!="collapsed")&&(s.display!="none")&&(_3.get(_a,"type")!="hidden");
|
|
7
|
+
},hasDefaultTabStop:function(_b){
|
|
8
|
+
switch(_b.nodeName.toLowerCase()){
|
|
9
|
+
case "a":
|
|
10
|
+
return _3.has(_b,"href");
|
|
11
|
+
case "area":
|
|
12
|
+
case "button":
|
|
13
|
+
case "input":
|
|
14
|
+
case "object":
|
|
15
|
+
case "select":
|
|
16
|
+
case "textarea":
|
|
17
|
+
return true;
|
|
18
|
+
case "iframe":
|
|
19
|
+
var _c;
|
|
20
|
+
try{
|
|
21
|
+
var _d=_b.contentDocument;
|
|
22
|
+
if("designMode" in _d&&_d.designMode=="on"){
|
|
23
|
+
return true;
|
|
24
|
+
}
|
|
25
|
+
_c=_d.body;
|
|
26
|
+
}
|
|
27
|
+
catch(e1){
|
|
28
|
+
try{
|
|
29
|
+
_c=_b.contentWindow.document.body;
|
|
30
|
+
}
|
|
31
|
+
catch(e2){
|
|
32
|
+
return false;
|
|
33
|
+
}
|
|
34
|
+
}
|
|
35
|
+
return _c&&(_c.contentEditable=="true"||(_c.firstChild&&_c.firstChild.contentEditable=="true"));
|
|
36
|
+
default:
|
|
37
|
+
return _b.contentEditable=="true";
|
|
38
|
+
}
|
|
39
|
+
},effectiveTabIndex:function(_e){
|
|
40
|
+
if(_3.get(_e,"disabled")){
|
|
41
|
+
return _8;
|
|
42
|
+
}else{
|
|
43
|
+
if(_3.has(_e,"tabIndex")){
|
|
44
|
+
return +_3.get(_e,"tabIndex");
|
|
45
|
+
}else{
|
|
46
|
+
return _9.hasDefaultTabStop(_e)?0:_8;
|
|
47
|
+
}
|
|
48
|
+
}
|
|
49
|
+
},isTabNavigable:function(_f){
|
|
50
|
+
return _9.effectiveTabIndex(_f)>=0;
|
|
51
|
+
},isFocusable:function(_10){
|
|
52
|
+
return _9.effectiveTabIndex(_10)>=-1;
|
|
53
|
+
},_getTabNavigable:function(_11){
|
|
54
|
+
var _12,_13,_14,_15,_16,_17,_18={};
|
|
55
|
+
function _19(_1a){
|
|
56
|
+
return _1a&&_1a.tagName.toLowerCase()=="input"&&_1a.type&&_1a.type.toLowerCase()=="radio"&&_1a.name&&_1a.name.toLowerCase();
|
|
57
|
+
};
|
|
58
|
+
var _1b=_9._isElementShown,_1c=_9.effectiveTabIndex;
|
|
59
|
+
var _1d=function(_1e){
|
|
60
|
+
for(var _1f=_1e.firstChild;_1f;_1f=_1f.nextSibling){
|
|
61
|
+
if(_1f.nodeType!=1||(_6("ie")<=9&&_1f.scopeName!=="HTML")||!_1b(_1f)){
|
|
62
|
+
continue;
|
|
63
|
+
}
|
|
64
|
+
var _20=_1c(_1f);
|
|
65
|
+
if(_20>=0){
|
|
66
|
+
if(_20==0){
|
|
67
|
+
if(!_12){
|
|
68
|
+
_12=_1f;
|
|
69
|
+
}
|
|
70
|
+
_13=_1f;
|
|
71
|
+
}else{
|
|
72
|
+
if(_20>0){
|
|
73
|
+
if(!_14||_20<_15){
|
|
74
|
+
_15=_20;
|
|
75
|
+
_14=_1f;
|
|
76
|
+
}
|
|
77
|
+
if(!_16||_20>=_17){
|
|
78
|
+
_17=_20;
|
|
79
|
+
_16=_1f;
|
|
80
|
+
}
|
|
81
|
+
}
|
|
82
|
+
}
|
|
83
|
+
var rn=_19(_1f);
|
|
84
|
+
if(_3.get(_1f,"checked")&&rn){
|
|
85
|
+
_18[rn]=_1f;
|
|
86
|
+
}
|
|
87
|
+
}
|
|
88
|
+
if(_1f.nodeName.toUpperCase()!="SELECT"){
|
|
89
|
+
_1d(_1f);
|
|
90
|
+
}
|
|
91
|
+
}
|
|
92
|
+
};
|
|
93
|
+
if(_1b(_11)){
|
|
94
|
+
_1d(_11);
|
|
95
|
+
}
|
|
96
|
+
function rs(_21){
|
|
97
|
+
return _18[_19(_21)]||_21;
|
|
98
|
+
};
|
|
99
|
+
return {first:rs(_12),last:rs(_13),lowest:rs(_14),highest:rs(_16)};
|
|
100
|
+
},getFirstInTabbingOrder:function(_22,doc){
|
|
101
|
+
var _23=_9._getTabNavigable(_2.byId(_22,doc));
|
|
102
|
+
return _23.lowest?_23.lowest:_23.first;
|
|
103
|
+
},getLastInTabbingOrder:function(_24,doc){
|
|
104
|
+
var _25=_9._getTabNavigable(_2.byId(_24,doc));
|
|
105
|
+
return _25.last?_25.last:_25.highest;
|
|
106
|
+
}};
|
|
107
|
+
1&&_5.mixin(_7,_9);
|
|
108
|
+
return _9;
|
|
109
|
+
});
|
|
@@ -0,0 +1,191 @@
|
|
|
1
|
+
define("dijit/a11y", [
|
|
2
|
+
"dojo/_base/array", // array.forEach array.map
|
|
3
|
+
"dojo/dom", // dom.byId
|
|
4
|
+
"dojo/dom-attr", // domAttr.attr domAttr.has
|
|
5
|
+
"dojo/dom-style", // domStyle.style
|
|
6
|
+
"dojo/_base/lang", // lang.mixin()
|
|
7
|
+
"dojo/sniff", // has("ie") 1
|
|
8
|
+
"./main" // for exporting methods to dijit namespace
|
|
9
|
+
], function(array, dom, domAttr, domStyle, lang, has, dijit){
|
|
10
|
+
|
|
11
|
+
// module:
|
|
12
|
+
// dijit/a11y
|
|
13
|
+
|
|
14
|
+
var undefined;
|
|
15
|
+
|
|
16
|
+
var a11y = {
|
|
17
|
+
// summary:
|
|
18
|
+
// Accessibility utility functions (keyboard, tab stops, etc.)
|
|
19
|
+
|
|
20
|
+
_isElementShown: function(/*Element*/ elem){
|
|
21
|
+
var s = domStyle.get(elem);
|
|
22
|
+
return (s.visibility != "hidden")
|
|
23
|
+
&& (s.visibility != "collapsed")
|
|
24
|
+
&& (s.display != "none")
|
|
25
|
+
&& (domAttr.get(elem, "type") != "hidden");
|
|
26
|
+
},
|
|
27
|
+
|
|
28
|
+
hasDefaultTabStop: function(/*Element*/ elem){
|
|
29
|
+
// summary:
|
|
30
|
+
// Tests if element is tab-navigable even without an explicit tabIndex setting
|
|
31
|
+
|
|
32
|
+
// No explicit tabIndex setting, need to investigate node type
|
|
33
|
+
switch(elem.nodeName.toLowerCase()){
|
|
34
|
+
case "a":
|
|
35
|
+
// An <a> w/out a tabindex is only navigable if it has an href
|
|
36
|
+
return domAttr.has(elem, "href");
|
|
37
|
+
case "area":
|
|
38
|
+
case "button":
|
|
39
|
+
case "input":
|
|
40
|
+
case "object":
|
|
41
|
+
case "select":
|
|
42
|
+
case "textarea":
|
|
43
|
+
// These are navigable by default
|
|
44
|
+
return true;
|
|
45
|
+
case "iframe":
|
|
46
|
+
// If it's an editor <iframe> then it's tab navigable.
|
|
47
|
+
var body;
|
|
48
|
+
try{
|
|
49
|
+
// non-IE
|
|
50
|
+
var contentDocument = elem.contentDocument;
|
|
51
|
+
if("designMode" in contentDocument && contentDocument.designMode == "on"){
|
|
52
|
+
return true;
|
|
53
|
+
}
|
|
54
|
+
body = contentDocument.body;
|
|
55
|
+
}catch(e1){
|
|
56
|
+
// contentWindow.document isn't accessible within IE7/8
|
|
57
|
+
// if the iframe.src points to a foreign url and this
|
|
58
|
+
// page contains an element, that could get focus
|
|
59
|
+
try{
|
|
60
|
+
body = elem.contentWindow.document.body;
|
|
61
|
+
}catch(e2){
|
|
62
|
+
return false;
|
|
63
|
+
}
|
|
64
|
+
}
|
|
65
|
+
return body && (body.contentEditable == 'true' ||
|
|
66
|
+
(body.firstChild && body.firstChild.contentEditable == 'true'));
|
|
67
|
+
default:
|
|
68
|
+
return elem.contentEditable == 'true';
|
|
69
|
+
}
|
|
70
|
+
},
|
|
71
|
+
|
|
72
|
+
effectiveTabIndex: function(/*Element*/ elem){
|
|
73
|
+
// summary:
|
|
74
|
+
// Returns effective tabIndex of an element, either a number, or undefined if element isn't focusable.
|
|
75
|
+
|
|
76
|
+
if(domAttr.get(elem, "disabled")){
|
|
77
|
+
return undefined;
|
|
78
|
+
}else if(domAttr.has(elem, "tabIndex")){
|
|
79
|
+
// Explicit tab index setting
|
|
80
|
+
return +domAttr.get(elem, "tabIndex");// + to convert string --> number
|
|
81
|
+
}else{
|
|
82
|
+
// No explicit tabIndex setting, so depends on node type
|
|
83
|
+
return a11y.hasDefaultTabStop(elem) ? 0 : undefined;
|
|
84
|
+
}
|
|
85
|
+
},
|
|
86
|
+
|
|
87
|
+
isTabNavigable: function(/*Element*/ elem){
|
|
88
|
+
// summary:
|
|
89
|
+
// Tests if an element is tab-navigable
|
|
90
|
+
|
|
91
|
+
return a11y.effectiveTabIndex(elem) >= 0;
|
|
92
|
+
},
|
|
93
|
+
|
|
94
|
+
isFocusable: function(/*Element*/ elem){
|
|
95
|
+
// summary:
|
|
96
|
+
// Tests if an element is focusable by tabbing to it, or clicking it with the mouse.
|
|
97
|
+
|
|
98
|
+
return a11y.effectiveTabIndex(elem) >= -1;
|
|
99
|
+
},
|
|
100
|
+
|
|
101
|
+
_getTabNavigable: function(/*DOMNode*/ root){
|
|
102
|
+
// summary:
|
|
103
|
+
// Finds descendants of the specified root node.
|
|
104
|
+
// description:
|
|
105
|
+
// Finds the following descendants of the specified root node:
|
|
106
|
+
//
|
|
107
|
+
// - the first tab-navigable element in document order
|
|
108
|
+
// without a tabIndex or with tabIndex="0"
|
|
109
|
+
// - the last tab-navigable element in document order
|
|
110
|
+
// without a tabIndex or with tabIndex="0"
|
|
111
|
+
// - the first element in document order with the lowest
|
|
112
|
+
// positive tabIndex value
|
|
113
|
+
// - the last element in document order with the highest
|
|
114
|
+
// positive tabIndex value
|
|
115
|
+
var first, last, lowest, lowestTabindex, highest, highestTabindex, radioSelected = {};
|
|
116
|
+
|
|
117
|
+
function radioName(node){
|
|
118
|
+
// If this element is part of a radio button group, return the name for that group.
|
|
119
|
+
return node && node.tagName.toLowerCase() == "input" &&
|
|
120
|
+
node.type && node.type.toLowerCase() == "radio" &&
|
|
121
|
+
node.name && node.name.toLowerCase();
|
|
122
|
+
}
|
|
123
|
+
|
|
124
|
+
var shown = a11y._isElementShown, effectiveTabIndex = a11y.effectiveTabIndex;
|
|
125
|
+
var walkTree = function(/*DOMNode*/ parent){
|
|
126
|
+
for(var child = parent.firstChild; child; child = child.nextSibling){
|
|
127
|
+
// Skip text elements, hidden elements, and also non-HTML elements (those in custom namespaces) in IE,
|
|
128
|
+
// since show() invokes getAttribute("type"), which crash on VML nodes in IE.
|
|
129
|
+
if(child.nodeType != 1 || (has("ie") <= 9 && child.scopeName !== "HTML") || !shown(child)){
|
|
130
|
+
continue;
|
|
131
|
+
}
|
|
132
|
+
|
|
133
|
+
var tabindex = effectiveTabIndex(child);
|
|
134
|
+
if(tabindex >= 0){
|
|
135
|
+
if(tabindex == 0){
|
|
136
|
+
if(!first){
|
|
137
|
+
first = child;
|
|
138
|
+
}
|
|
139
|
+
last = child;
|
|
140
|
+
}else if(tabindex > 0){
|
|
141
|
+
if(!lowest || tabindex < lowestTabindex){
|
|
142
|
+
lowestTabindex = tabindex;
|
|
143
|
+
lowest = child;
|
|
144
|
+
}
|
|
145
|
+
if(!highest || tabindex >= highestTabindex){
|
|
146
|
+
highestTabindex = tabindex;
|
|
147
|
+
highest = child;
|
|
148
|
+
}
|
|
149
|
+
}
|
|
150
|
+
var rn = radioName(child);
|
|
151
|
+
if(domAttr.get(child, "checked") && rn){
|
|
152
|
+
radioSelected[rn] = child;
|
|
153
|
+
}
|
|
154
|
+
}
|
|
155
|
+
if(child.nodeName.toUpperCase() != 'SELECT'){
|
|
156
|
+
walkTree(child);
|
|
157
|
+
}
|
|
158
|
+
}
|
|
159
|
+
};
|
|
160
|
+
if(shown(root)){
|
|
161
|
+
walkTree(root);
|
|
162
|
+
}
|
|
163
|
+
function rs(node){
|
|
164
|
+
// substitute checked radio button for unchecked one, if there is a checked one with the same name.
|
|
165
|
+
return radioSelected[radioName(node)] || node;
|
|
166
|
+
}
|
|
167
|
+
|
|
168
|
+
return { first: rs(first), last: rs(last), lowest: rs(lowest), highest: rs(highest) };
|
|
169
|
+
},
|
|
170
|
+
|
|
171
|
+
getFirstInTabbingOrder: function(/*String|DOMNode*/ root, /*Document?*/ doc){
|
|
172
|
+
// summary:
|
|
173
|
+
// Finds the descendant of the specified root node
|
|
174
|
+
// that is first in the tabbing order
|
|
175
|
+
var elems = a11y._getTabNavigable(dom.byId(root, doc));
|
|
176
|
+
return elems.lowest ? elems.lowest : elems.first; // DomNode
|
|
177
|
+
},
|
|
178
|
+
|
|
179
|
+
getLastInTabbingOrder: function(/*String|DOMNode*/ root, /*Document?*/ doc){
|
|
180
|
+
// summary:
|
|
181
|
+
// Finds the descendant of the specified root node
|
|
182
|
+
// that is last in the tabbing order
|
|
183
|
+
var elems = a11y._getTabNavigable(dom.byId(root, doc));
|
|
184
|
+
return elems.last ? elems.last : elems.highest; // DomNode
|
|
185
|
+
}
|
|
186
|
+
};
|
|
187
|
+
|
|
188
|
+
1 && lang.mixin(dijit, a11y);
|
|
189
|
+
|
|
190
|
+
return a11y;
|
|
191
|
+
});
|
|
@@ -0,0 +1,66 @@
|
|
|
1
|
+
//>>built
|
|
2
|
+
define("dijit/a11yclick",["dojo/keys","dojo/mouse","dojo/on","dojo/touch"],function(_1,_2,on,_3){
|
|
3
|
+
function _4(e){
|
|
4
|
+
if((e.keyCode===_1.ENTER||e.keyCode===_1.SPACE)&&!/input|button|textarea/i.test(e.target.nodeName)){
|
|
5
|
+
for(var _5=e.target;_5;_5=_5.parentNode){
|
|
6
|
+
if(_5.dojoClick){
|
|
7
|
+
return true;
|
|
8
|
+
}
|
|
9
|
+
}
|
|
10
|
+
}
|
|
11
|
+
};
|
|
12
|
+
var _6;
|
|
13
|
+
on(document,"keydown",function(e){
|
|
14
|
+
if(_4(e)){
|
|
15
|
+
_6=e.target;
|
|
16
|
+
e.preventDefault();
|
|
17
|
+
}else{
|
|
18
|
+
_6=null;
|
|
19
|
+
}
|
|
20
|
+
});
|
|
21
|
+
on(document,"keyup",function(e){
|
|
22
|
+
if(_4(e)&&e.target==_6){
|
|
23
|
+
_6=null;
|
|
24
|
+
on.emit(e.target,"click",{cancelable:true,bubbles:true,ctrlKey:e.ctrlKey,shiftKey:e.shiftKey,metaKey:e.metaKey,altKey:e.altKey,_origType:e.type});
|
|
25
|
+
}
|
|
26
|
+
});
|
|
27
|
+
var _7=function(_8,_9){
|
|
28
|
+
_8.dojoClick=true;
|
|
29
|
+
return on(_8,"click",_9);
|
|
30
|
+
};
|
|
31
|
+
_7.click=_7;
|
|
32
|
+
_7.press=function(_a,_b){
|
|
33
|
+
var _c=on(_a,_3.press,function(_d){
|
|
34
|
+
if(_d.type=="mousedown"&&!_2.isLeft(_d)){
|
|
35
|
+
return;
|
|
36
|
+
}
|
|
37
|
+
_b(_d);
|
|
38
|
+
}),_e=on(_a,"keydown",function(_f){
|
|
39
|
+
if(_f.keyCode===_1.ENTER||_f.keyCode===_1.SPACE){
|
|
40
|
+
_b(_f);
|
|
41
|
+
}
|
|
42
|
+
});
|
|
43
|
+
return {remove:function(){
|
|
44
|
+
_c.remove();
|
|
45
|
+
_e.remove();
|
|
46
|
+
}};
|
|
47
|
+
};
|
|
48
|
+
_7.release=function(_10,_11){
|
|
49
|
+
var _12=on(_10,_3.release,function(evt){
|
|
50
|
+
if(evt.type=="mouseup"&&!_2.isLeft(evt)){
|
|
51
|
+
return;
|
|
52
|
+
}
|
|
53
|
+
_11(evt);
|
|
54
|
+
}),_13=on(_10,"keyup",function(evt){
|
|
55
|
+
if(evt.keyCode===_1.ENTER||evt.keyCode===_1.SPACE){
|
|
56
|
+
_11(evt);
|
|
57
|
+
}
|
|
58
|
+
});
|
|
59
|
+
return {remove:function(){
|
|
60
|
+
_12.remove();
|
|
61
|
+
_13.remove();
|
|
62
|
+
}};
|
|
63
|
+
};
|
|
64
|
+
_7.move=_3.move;
|
|
65
|
+
return _7;
|
|
66
|
+
});
|
|
@@ -0,0 +1,139 @@
|
|
|
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
|
+
});
|