jquery-ui-rails 4.2.1 → 7.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.
- checksums.yaml +7 -0
- data/.gitmodules +1 -1
- data/.travis.yml +1 -1
- data/History.md +41 -2
- data/README.md +100 -83
- data/Rakefile +82 -49
- data/VERSIONS.md +9 -0
- data/app/assets/images/jquery-ui/ui-bg_flat_0_aaaaaa_40x100.png +0 -0
- data/app/assets/images/jquery-ui/ui-icons_444444_256x240.png +0 -0
- data/app/assets/images/jquery-ui/ui-icons_555555_256x240.png +0 -0
- data/app/assets/images/jquery-ui/ui-icons_777620_256x240.png +0 -0
- data/app/assets/images/jquery-ui/ui-icons_777777_256x240.png +0 -0
- data/app/assets/images/jquery-ui/ui-icons_cc0000_256x240.png +0 -0
- data/app/assets/images/jquery-ui/ui-icons_ffffff_256x240.png +0 -0
- data/app/assets/javascripts/jquery-ui/core.js +15 -0
- data/app/assets/javascripts/jquery-ui/data.js +45 -0
- data/app/assets/javascripts/jquery-ui/disable-selection.js +51 -0
- data/app/assets/javascripts/jquery-ui/effect.all.js +15 -0
- data/app/assets/javascripts/jquery-ui/effect.js +975 -0
- data/app/assets/javascripts/jquery-ui/effects/effect-blind.js +76 -0
- data/app/assets/javascripts/jquery-ui/effects/effect-bounce.js +116 -0
- data/app/assets/javascripts/jquery-ui/effects/effect-clip.js +71 -0
- data/app/assets/javascripts/jquery-ui/effects/effect-drop.js +75 -0
- data/app/assets/javascripts/jquery-ui/effects/effect-explode.js +117 -0
- data/app/assets/javascripts/jquery-ui/effects/effect-fade.js +53 -0
- data/app/assets/javascripts/jquery-ui/effects/effect-fold.js +95 -0
- data/app/assets/javascripts/jquery-ui/effects/effect-highlight.js +63 -0
- data/app/assets/javascripts/jquery-ui/effects/effect-puff.js +49 -0
- data/app/assets/javascripts/jquery-ui/effects/effect-pulsate.js +70 -0
- data/app/assets/javascripts/jquery-ui/effects/effect-scale.js +63 -0
- data/app/assets/javascripts/jquery-ui/effects/effect-shake.js +80 -0
- data/app/assets/javascripts/jquery-ui/effects/effect-size.js +199 -0
- data/app/assets/javascripts/jquery-ui/effects/effect-slide.js +82 -0
- data/app/assets/javascripts/jquery-ui/effects/effect-transfer.js +46 -0
- data/app/assets/javascripts/jquery-ui/focusable.js +89 -0
- data/app/assets/javascripts/jquery-ui/form-reset-mixin.js +83 -0
- data/app/assets/javascripts/jquery-ui/form.js +25 -0
- data/app/assets/javascripts/jquery-ui/i18n/datepicker-af.js +40 -0
- data/app/assets/javascripts/jquery-ui/i18n/datepicker-ar-DZ.js +42 -0
- data/app/assets/javascripts/jquery-ui/i18n/datepicker-ar.js +42 -0
- data/app/assets/javascripts/jquery-ui/i18n/datepicker-az.js +40 -0
- data/app/assets/javascripts/jquery-ui/i18n/datepicker-be.js +40 -0
- data/app/assets/javascripts/jquery-ui/i18n/datepicker-bg.js +41 -0
- data/app/assets/javascripts/jquery-ui/i18n/datepicker-bs.js +40 -0
- data/app/assets/javascripts/jquery-ui/i18n/datepicker-ca.js +40 -0
- data/app/assets/javascripts/jquery-ui/i18n/datepicker-cs.js +40 -0
- data/app/assets/javascripts/jquery-ui/i18n/datepicker-cy-GB.js +48 -0
- data/app/assets/javascripts/jquery-ui/i18n/datepicker-da.js +40 -0
- data/app/assets/javascripts/jquery-ui/i18n/datepicker-de-AT.js +41 -0
- data/app/assets/javascripts/jquery-ui/i18n/datepicker-de.js +40 -0
- data/app/assets/javascripts/jquery-ui/i18n/datepicker-el.js +40 -0
- data/app/assets/javascripts/jquery-ui/i18n/datepicker-en-AU.js +40 -0
- data/app/assets/javascripts/jquery-ui/i18n/datepicker-en-GB.js +40 -0
- data/app/assets/javascripts/jquery-ui/i18n/datepicker-en-NZ.js +40 -0
- data/app/assets/javascripts/jquery-ui/i18n/datepicker-eo.js +40 -0
- data/app/assets/javascripts/jquery-ui/i18n/datepicker-es.js +40 -0
- data/app/assets/javascripts/jquery-ui/i18n/datepicker-et.js +48 -0
- data/app/assets/javascripts/jquery-ui/i18n/datepicker-eu.js +39 -0
- data/app/assets/javascripts/jquery-ui/i18n/datepicker-fa.js +76 -0
- data/app/assets/javascripts/jquery-ui/i18n/datepicker-fi.js +40 -0
- data/app/assets/javascripts/jquery-ui/i18n/datepicker-fo.js +48 -0
- data/app/assets/javascripts/jquery-ui/i18n/datepicker-fr-CA.js +40 -0
- data/app/assets/javascripts/jquery-ui/i18n/datepicker-fr-CH.js +40 -0
- data/app/assets/javascripts/jquery-ui/i18n/datepicker-fr.js +42 -0
- data/app/assets/javascripts/jquery-ui/i18n/datepicker-gl.js +40 -0
- data/app/assets/javascripts/jquery-ui/i18n/datepicker-he.js +40 -0
- data/app/assets/javascripts/jquery-ui/i18n/datepicker-hi.js +40 -0
- data/app/assets/javascripts/jquery-ui/i18n/datepicker-hr.js +40 -0
- data/app/assets/javascripts/jquery-ui/i18n/datepicker-hu.js +39 -0
- data/app/assets/javascripts/jquery-ui/i18n/datepicker-hy.js +40 -0
- data/app/assets/javascripts/jquery-ui/i18n/datepicker-id.js +40 -0
- data/app/assets/javascripts/jquery-ui/i18n/datepicker-is.js +48 -0
- data/app/assets/javascripts/jquery-ui/i18n/datepicker-it-CH.js +40 -0
- data/app/assets/javascripts/jquery-ui/i18n/datepicker-it.js +40 -0
- data/app/assets/javascripts/jquery-ui/i18n/datepicker-ja.js +40 -0
- data/app/assets/javascripts/jquery-ui/i18n/datepicker-ka.js +51 -0
- data/app/assets/javascripts/jquery-ui/i18n/datepicker-kk.js +40 -0
- data/app/assets/javascripts/jquery-ui/i18n/datepicker-km.js +40 -0
- data/app/assets/javascripts/jquery-ui/i18n/datepicker-ko.js +40 -0
- data/app/assets/javascripts/jquery-ui/i18n/datepicker-ky.js +41 -0
- data/app/assets/javascripts/jquery-ui/i18n/datepicker-lb.js +48 -0
- data/app/assets/javascripts/jquery-ui/i18n/datepicker-lt.js +48 -0
- data/app/assets/javascripts/jquery-ui/i18n/datepicker-lv.js +48 -0
- data/app/assets/javascripts/jquery-ui/i18n/datepicker-mk.js +40 -0
- data/app/assets/javascripts/jquery-ui/i18n/datepicker-ml.js +40 -0
- data/app/assets/javascripts/jquery-ui/i18n/datepicker-ms.js +40 -0
- data/app/assets/javascripts/jquery-ui/i18n/datepicker-nb.js +52 -0
- data/app/assets/javascripts/jquery-ui/i18n/datepicker-nl-BE.js +40 -0
- data/app/assets/javascripts/jquery-ui/i18n/datepicker-nl.js +40 -0
- data/app/assets/javascripts/jquery-ui/i18n/datepicker-nn.js +52 -0
- data/app/assets/javascripts/jquery-ui/i18n/datepicker-no.js +53 -0
- data/app/assets/javascripts/jquery-ui/i18n/datepicker-pl.js +40 -0
- data/app/assets/javascripts/jquery-ui/i18n/datepicker-pt-BR.js +48 -0
- data/app/assets/javascripts/jquery-ui/i18n/datepicker-pt.js +47 -0
- data/app/assets/javascripts/jquery-ui/i18n/datepicker-rm.js +64 -0
- data/app/assets/javascripts/jquery-ui/i18n/datepicker-ro.js +43 -0
- data/app/assets/javascripts/jquery-ui/i18n/datepicker-ru.js +40 -0
- data/app/assets/javascripts/jquery-ui/i18n/datepicker-sk.js +40 -0
- data/app/assets/javascripts/jquery-ui/i18n/datepicker-sl.js +41 -0
- data/app/assets/javascripts/jquery-ui/i18n/datepicker-sq.js +40 -0
- data/app/assets/javascripts/jquery-ui/i18n/datepicker-sr-SR.js +40 -0
- data/app/assets/javascripts/jquery-ui/i18n/datepicker-sr.js +40 -0
- data/app/assets/javascripts/jquery-ui/i18n/datepicker-sv.js +40 -0
- data/app/assets/javascripts/jquery-ui/i18n/datepicker-ta.js +56 -0
- data/app/assets/javascripts/jquery-ui/i18n/datepicker-th.js +40 -0
- data/app/assets/javascripts/jquery-ui/i18n/datepicker-tj.js +40 -0
- data/app/assets/javascripts/jquery-ui/i18n/datepicker-tr.js +40 -0
- data/app/assets/javascripts/jquery-ui/i18n/datepicker-uk.js +41 -0
- data/app/assets/javascripts/jquery-ui/i18n/datepicker-vi.js +40 -0
- data/app/assets/javascripts/jquery-ui/i18n/datepicker-zh-CN.js +40 -0
- data/app/assets/javascripts/jquery-ui/i18n/datepicker-zh-HK.js +40 -0
- data/app/assets/javascripts/jquery-ui/i18n/datepicker-zh-TW.js +40 -0
- data/app/assets/javascripts/jquery-ui/ie.js +20 -0
- data/app/assets/javascripts/jquery-ui/jquery-patch.js +91 -0
- data/app/assets/javascripts/jquery-ui/jquery-var-for-color.js +24 -0
- data/app/assets/javascripts/jquery-ui/keycode.js +51 -0
- data/app/assets/javascripts/jquery-ui/labels.js +71 -0
- data/app/assets/javascripts/jquery-ui/plugin.js +49 -0
- data/app/assets/javascripts/{jquery.ui.position.js → jquery-ui/position.js} +120 -108
- data/app/assets/javascripts/jquery-ui/safe-active-element.js +46 -0
- data/app/assets/javascripts/jquery-ui/safe-blur.js +27 -0
- data/app/assets/javascripts/jquery-ui/scroll-parent.js +50 -0
- data/app/assets/javascripts/jquery-ui/tabbable.js +41 -0
- data/app/assets/javascripts/jquery-ui/unique-id.js +54 -0
- data/app/assets/javascripts/jquery-ui/vendor/jquery-color/jquery.color.js +722 -0
- data/app/assets/javascripts/jquery-ui/version.js +20 -0
- data/app/assets/javascripts/jquery-ui/widget.js +754 -0
- data/app/assets/javascripts/{jquery.ui.accordion.js → jquery-ui/widgets/accordion.js} +257 -203
- data/app/assets/javascripts/{jquery.ui.autocomplete.js → jquery-ui/widgets/autocomplete.js} +202 -133
- data/app/assets/javascripts/jquery-ui/widgets/button.js +454 -0
- data/app/assets/javascripts/jquery-ui/widgets/checkboxradio.js +289 -0
- data/app/assets/javascripts/jquery-ui/widgets/controlgroup.js +304 -0
- data/app/assets/javascripts/jquery-ui/widgets/datepicker.js +2243 -0
- data/app/assets/javascripts/jquery-ui/widgets/dialog.js +968 -0
- data/app/assets/javascripts/jquery-ui/widgets/draggable.js +1268 -0
- data/app/assets/javascripts/jquery-ui/widgets/droppable.js +508 -0
- data/app/assets/javascripts/{jquery.ui.menu.js → jquery-ui/widgets/menu.js} +276 -187
- data/app/assets/javascripts/jquery-ui/widgets/mouse.js +241 -0
- data/app/assets/javascripts/jquery-ui/widgets/progressbar.js +184 -0
- data/app/assets/javascripts/jquery-ui/widgets/resizable.js +1225 -0
- data/app/assets/javascripts/jquery-ui/widgets/selectable.js +321 -0
- data/app/assets/javascripts/jquery-ui/widgets/selectmenu.js +702 -0
- data/app/assets/javascripts/{jquery.ui.slider.js → jquery-ui/widgets/slider.js} +254 -174
- data/app/assets/javascripts/jquery-ui/widgets/sortable.js +1623 -0
- data/app/assets/javascripts/{jquery.ui.spinner.js → jquery-ui/widgets/spinner.js} +206 -119
- data/app/assets/javascripts/{jquery.ui.tabs.js → jquery-ui/widgets/tabs.js} +334 -255
- data/app/assets/javascripts/jquery-ui/widgets/tooltip.js +530 -0
- data/app/assets/javascripts/jquery-ui.js +57 -0
- data/app/assets/stylesheets/jquery-ui/accordion.css +26 -0
- data/app/assets/stylesheets/{jquery.ui.all.css.erb → jquery-ui/all.css} +4 -4
- data/app/assets/stylesheets/{jquery.ui.autocomplete.css.erb → jquery-ui/autocomplete.css} +3 -5
- data/app/assets/stylesheets/jquery-ui/base.css +32 -0
- data/app/assets/stylesheets/jquery-ui/button.css +85 -0
- data/app/assets/stylesheets/jquery-ui/checkboxradio.css +37 -0
- data/app/assets/stylesheets/jquery-ui/controlgroup.css +68 -0
- data/app/assets/stylesheets/{jquery.ui.core.css.erb → jquery-ui/core.css} +16 -9
- data/app/assets/stylesheets/{jquery.ui.datepicker.css.erb → jquery-ui/datepicker.css} +14 -5
- data/app/assets/stylesheets/{jquery.ui.dialog.css.erb → jquery-ui/dialog.css} +40 -12
- data/app/assets/stylesheets/jquery-ui/draggable.css +15 -0
- data/app/assets/stylesheets/jquery-ui/menu.css +67 -0
- data/app/assets/stylesheets/jquery-ui/progressbar.css +31 -0
- data/app/assets/stylesheets/{jquery.ui.resizable.css.erb → jquery-ui/resizable.css} +5 -4
- data/app/assets/stylesheets/{jquery.ui.selectable.css.erb → jquery-ui/selectable.css} +7 -4
- data/app/assets/stylesheets/jquery-ui/selectmenu.css +53 -0
- data/app/assets/stylesheets/{jquery.ui.slider.css.erb → jquery-ui/slider.css} +7 -6
- data/app/assets/stylesheets/jquery-ui/sortable.css +15 -0
- data/app/assets/stylesheets/{jquery.ui.spinner.css.erb → jquery-ui/spinner.css} +9 -24
- data/app/assets/stylesheets/{jquery.ui.tabs.css.erb → jquery-ui/tabs.css} +3 -4
- data/app/assets/stylesheets/{jquery.ui.theme.css.erb → jquery-ui/theme.css.erb} +122 -96
- data/app/assets/stylesheets/{jquery.ui.tooltip.css.erb → jquery-ui/tooltip.css} +3 -6
- data/app/assets/stylesheets/jquery-ui.css +1 -0
- data/lib/jquery/ui/rails/version.rb +2 -2
- metadata +180 -166
- data/app/assets/images/jquery-ui/animated-overlay.gif +0 -0
- data/app/assets/images/jquery-ui/ui-bg_flat_75_ffffff_40x100.png +0 -0
- data/app/assets/images/jquery-ui/ui-bg_glass_55_fbf9ee_1x400.png +0 -0
- data/app/assets/images/jquery-ui/ui-bg_glass_65_ffffff_1x400.png +0 -0
- data/app/assets/images/jquery-ui/ui-bg_glass_75_dadada_1x400.png +0 -0
- data/app/assets/images/jquery-ui/ui-bg_glass_75_e6e6e6_1x400.png +0 -0
- data/app/assets/images/jquery-ui/ui-bg_glass_95_fef1ec_1x400.png +0 -0
- data/app/assets/images/jquery-ui/ui-bg_highlight-soft_75_cccccc_1x100.png +0 -0
- data/app/assets/images/jquery-ui/ui-icons_222222_256x240.png +0 -0
- data/app/assets/images/jquery-ui/ui-icons_2e83ff_256x240.png +0 -0
- data/app/assets/images/jquery-ui/ui-icons_454545_256x240.png +0 -0
- data/app/assets/images/jquery-ui/ui-icons_888888_256x240.png +0 -0
- data/app/assets/images/jquery-ui/ui-icons_cd0a0a_256x240.png +0 -0
- data/app/assets/javascripts/jquery.ui.all.js +0 -34
- data/app/assets/javascripts/jquery.ui.button.js +0 -398
- data/app/assets/javascripts/jquery.ui.core.js +0 -320
- data/app/assets/javascripts/jquery.ui.datepicker-af.js +0 -23
- data/app/assets/javascripts/jquery.ui.datepicker-ar-DZ.js +0 -23
- data/app/assets/javascripts/jquery.ui.datepicker-ar.js +0 -23
- data/app/assets/javascripts/jquery.ui.datepicker-az.js +0 -23
- data/app/assets/javascripts/jquery.ui.datepicker-be.js +0 -23
- data/app/assets/javascripts/jquery.ui.datepicker-bg.js +0 -24
- data/app/assets/javascripts/jquery.ui.datepicker-bs.js +0 -23
- data/app/assets/javascripts/jquery.ui.datepicker-ca.js +0 -23
- data/app/assets/javascripts/jquery.ui.datepicker-cs.js +0 -23
- data/app/assets/javascripts/jquery.ui.datepicker-cy-GB.js +0 -23
- data/app/assets/javascripts/jquery.ui.datepicker-da.js +0 -23
- data/app/assets/javascripts/jquery.ui.datepicker-de.js +0 -23
- data/app/assets/javascripts/jquery.ui.datepicker-el.js +0 -23
- data/app/assets/javascripts/jquery.ui.datepicker-en-AU.js +0 -23
- data/app/assets/javascripts/jquery.ui.datepicker-en-GB.js +0 -23
- data/app/assets/javascripts/jquery.ui.datepicker-en-NZ.js +0 -23
- data/app/assets/javascripts/jquery.ui.datepicker-eo.js +0 -23
- data/app/assets/javascripts/jquery.ui.datepicker-es.js +0 -23
- data/app/assets/javascripts/jquery.ui.datepicker-et.js +0 -23
- data/app/assets/javascripts/jquery.ui.datepicker-eu.js +0 -23
- data/app/assets/javascripts/jquery.ui.datepicker-fa.js +0 -59
- data/app/assets/javascripts/jquery.ui.datepicker-fi.js +0 -23
- data/app/assets/javascripts/jquery.ui.datepicker-fo.js +0 -23
- data/app/assets/javascripts/jquery.ui.datepicker-fr-CA.js +0 -23
- data/app/assets/javascripts/jquery.ui.datepicker-fr-CH.js +0 -23
- data/app/assets/javascripts/jquery.ui.datepicker-fr.js +0 -25
- data/app/assets/javascripts/jquery.ui.datepicker-gl.js +0 -23
- data/app/assets/javascripts/jquery.ui.datepicker-he.js +0 -23
- data/app/assets/javascripts/jquery.ui.datepicker-hi.js +0 -23
- data/app/assets/javascripts/jquery.ui.datepicker-hr.js +0 -23
- data/app/assets/javascripts/jquery.ui.datepicker-hu.js +0 -23
- data/app/assets/javascripts/jquery.ui.datepicker-hy.js +0 -23
- data/app/assets/javascripts/jquery.ui.datepicker-id.js +0 -23
- data/app/assets/javascripts/jquery.ui.datepicker-is.js +0 -23
- data/app/assets/javascripts/jquery.ui.datepicker-it.js +0 -23
- data/app/assets/javascripts/jquery.ui.datepicker-ja.js +0 -23
- data/app/assets/javascripts/jquery.ui.datepicker-ka.js +0 -21
- data/app/assets/javascripts/jquery.ui.datepicker-kk.js +0 -23
- data/app/assets/javascripts/jquery.ui.datepicker-km.js +0 -23
- data/app/assets/javascripts/jquery.ui.datepicker-ko.js +0 -23
- data/app/assets/javascripts/jquery.ui.datepicker-ky.js +0 -24
- data/app/assets/javascripts/jquery.ui.datepicker-lb.js +0 -23
- data/app/assets/javascripts/jquery.ui.datepicker-lt.js +0 -23
- data/app/assets/javascripts/jquery.ui.datepicker-lv.js +0 -23
- data/app/assets/javascripts/jquery.ui.datepicker-mk.js +0 -23
- data/app/assets/javascripts/jquery.ui.datepicker-ml.js +0 -23
- data/app/assets/javascripts/jquery.ui.datepicker-ms.js +0 -23
- data/app/assets/javascripts/jquery.ui.datepicker-nb.js +0 -22
- data/app/assets/javascripts/jquery.ui.datepicker-nl-BE.js +0 -23
- data/app/assets/javascripts/jquery.ui.datepicker-nl.js +0 -23
- data/app/assets/javascripts/jquery.ui.datepicker-nn.js +0 -22
- data/app/assets/javascripts/jquery.ui.datepicker-no.js +0 -23
- data/app/assets/javascripts/jquery.ui.datepicker-pl.js +0 -23
- data/app/assets/javascripts/jquery.ui.datepicker-pt-BR.js +0 -23
- data/app/assets/javascripts/jquery.ui.datepicker-pt.js +0 -22
- data/app/assets/javascripts/jquery.ui.datepicker-rm.js +0 -21
- data/app/assets/javascripts/jquery.ui.datepicker-ro.js +0 -26
- data/app/assets/javascripts/jquery.ui.datepicker-ru.js +0 -23
- data/app/assets/javascripts/jquery.ui.datepicker-sk.js +0 -23
- data/app/assets/javascripts/jquery.ui.datepicker-sl.js +0 -24
- data/app/assets/javascripts/jquery.ui.datepicker-sq.js +0 -23
- data/app/assets/javascripts/jquery.ui.datepicker-sr-SR.js +0 -23
- data/app/assets/javascripts/jquery.ui.datepicker-sr.js +0 -23
- data/app/assets/javascripts/jquery.ui.datepicker-sv.js +0 -23
- data/app/assets/javascripts/jquery.ui.datepicker-ta.js +0 -23
- data/app/assets/javascripts/jquery.ui.datepicker-th.js +0 -23
- data/app/assets/javascripts/jquery.ui.datepicker-tj.js +0 -23
- data/app/assets/javascripts/jquery.ui.datepicker-tr.js +0 -23
- data/app/assets/javascripts/jquery.ui.datepicker-uk.js +0 -24
- data/app/assets/javascripts/jquery.ui.datepicker-vi.js +0 -23
- data/app/assets/javascripts/jquery.ui.datepicker-zh-CN.js +0 -23
- data/app/assets/javascripts/jquery.ui.datepicker-zh-HK.js +0 -23
- data/app/assets/javascripts/jquery.ui.datepicker-zh-TW.js +0 -23
- data/app/assets/javascripts/jquery.ui.datepicker.js +0 -2040
- data/app/assets/javascripts/jquery.ui.dialog.js +0 -830
- data/app/assets/javascripts/jquery.ui.draggable.js +0 -962
- data/app/assets/javascripts/jquery.ui.droppable.js +0 -394
- data/app/assets/javascripts/jquery.ui.effect-blind.js +0 -84
- data/app/assets/javascripts/jquery.ui.effect-bounce.js +0 -115
- data/app/assets/javascripts/jquery.ui.effect-clip.js +0 -69
- data/app/assets/javascripts/jquery.ui.effect-drop.js +0 -67
- data/app/assets/javascripts/jquery.ui.effect-explode.js +0 -99
- data/app/assets/javascripts/jquery.ui.effect-fade.js +0 -32
- data/app/assets/javascripts/jquery.ui.effect-fold.js +0 -78
- data/app/assets/javascripts/jquery.ui.effect-highlight.js +0 -52
- data/app/assets/javascripts/jquery.ui.effect-pulsate.js +0 -65
- data/app/assets/javascripts/jquery.ui.effect-scale.js +0 -320
- data/app/assets/javascripts/jquery.ui.effect-shake.js +0 -76
- data/app/assets/javascripts/jquery.ui.effect-slide.js +0 -66
- data/app/assets/javascripts/jquery.ui.effect-transfer.js +0 -49
- data/app/assets/javascripts/jquery.ui.effect.all.js +0 -14
- data/app/assets/javascripts/jquery.ui.effect.js +0 -1289
- data/app/assets/javascripts/jquery.ui.mouse.js +0 -172
- data/app/assets/javascripts/jquery.ui.progressbar.js +0 -148
- data/app/assets/javascripts/jquery.ui.resizable.js +0 -982
- data/app/assets/javascripts/jquery.ui.selectable.js +0 -281
- data/app/assets/javascripts/jquery.ui.sortable.js +0 -1293
- data/app/assets/javascripts/jquery.ui.tooltip.js +0 -406
- data/app/assets/javascripts/jquery.ui.widget.js +0 -521
- data/app/assets/stylesheets/jquery.ui.accordion.css.erb +0 -42
- data/app/assets/stylesheets/jquery.ui.base.css.erb +0 -27
- data/app/assets/stylesheets/jquery.ui.button.css.erb +0 -118
- data/app/assets/stylesheets/jquery.ui.menu.css.erb +0 -83
- data/app/assets/stylesheets/jquery.ui.progressbar.css.erb +0 -37
@@ -1,32 +1,60 @@
|
|
1
|
-
//= require jquery
|
2
|
-
//= require jquery
|
3
|
-
//= require jquery
|
1
|
+
//= require jquery-ui/keycode
|
2
|
+
//= require jquery-ui/position
|
3
|
+
//= require jquery-ui/safe-active-element
|
4
|
+
//= require jquery-ui/unique-id
|
5
|
+
//= require jquery-ui/version
|
6
|
+
//= require jquery-ui/widget
|
4
7
|
|
5
8
|
/*!
|
6
|
-
* jQuery UI Menu 1.
|
9
|
+
* jQuery UI Menu 1.13.0
|
7
10
|
* http://jqueryui.com
|
8
11
|
*
|
9
|
-
* Copyright
|
12
|
+
* Copyright jQuery Foundation and other contributors
|
10
13
|
* Released under the MIT license.
|
11
14
|
* http://jquery.org/license
|
12
|
-
*
|
13
|
-
* http://api.jqueryui.com/menu/
|
14
|
-
*
|
15
|
-
* Depends:
|
16
|
-
* jquery.ui.core.js
|
17
|
-
* jquery.ui.widget.js
|
18
|
-
* jquery.ui.position.js
|
19
15
|
*/
|
20
|
-
(function( $, undefined ) {
|
21
16
|
|
22
|
-
|
23
|
-
|
17
|
+
//>>label: Menu
|
18
|
+
//>>group: Widgets
|
19
|
+
//>>description: Creates nestable menus.
|
20
|
+
//>>docs: http://api.jqueryui.com/menu/
|
21
|
+
//>>demos: http://jqueryui.com/menu/
|
22
|
+
//>>css.structure: ../../themes/base/core.css
|
23
|
+
//>>css.structure: ../../themes/base/menu.css
|
24
|
+
//>>css.theme: ../../themes/base/theme.css
|
25
|
+
|
26
|
+
( function( factory ) {
|
27
|
+
"use strict";
|
28
|
+
|
29
|
+
if ( typeof define === "function" && define.amd ) {
|
30
|
+
|
31
|
+
// AMD. Register as an anonymous module.
|
32
|
+
define( [
|
33
|
+
"jquery",
|
34
|
+
"../keycode",
|
35
|
+
"../position",
|
36
|
+
"../safe-active-element",
|
37
|
+
"../unique-id",
|
38
|
+
"../version",
|
39
|
+
"../widget"
|
40
|
+
], factory );
|
41
|
+
} else {
|
42
|
+
|
43
|
+
// Browser globals
|
44
|
+
factory( jQuery );
|
45
|
+
}
|
46
|
+
} )( function( $ ) {
|
47
|
+
"use strict";
|
48
|
+
|
49
|
+
return $.widget( "ui.menu", {
|
50
|
+
version: "1.13.0",
|
24
51
|
defaultElement: "<ul>",
|
25
52
|
delay: 300,
|
26
53
|
options: {
|
27
54
|
icons: {
|
28
|
-
submenu: "ui-icon-
|
55
|
+
submenu: "ui-icon-caret-1-e"
|
29
56
|
},
|
57
|
+
items: "> *",
|
30
58
|
menus: "ul",
|
31
59
|
position: {
|
32
60
|
my: "left top",
|
@@ -34,7 +62,7 @@ $.widget( "ui.menu", {
|
|
34
62
|
},
|
35
63
|
role: "menu",
|
36
64
|
|
37
|
-
//
|
65
|
+
// Callbacks
|
38
66
|
blur: null,
|
39
67
|
focus: null,
|
40
68
|
select: null
|
@@ -42,42 +70,31 @@ $.widget( "ui.menu", {
|
|
42
70
|
|
43
71
|
_create: function() {
|
44
72
|
this.activeMenu = this.element;
|
45
|
-
|
73
|
+
|
74
|
+
// Flag used to prevent firing of the click handler
|
46
75
|
// as the event bubbles up through nested menus
|
47
76
|
this.mouseHandled = false;
|
77
|
+
this.lastMousePosition = { x: null, y: null };
|
48
78
|
this.element
|
49
79
|
.uniqueId()
|
50
|
-
.
|
51
|
-
.toggleClass( "ui-menu-icons", !!this.element.find( ".ui-icon" ).length )
|
52
|
-
.attr({
|
80
|
+
.attr( {
|
53
81
|
role: this.options.role,
|
54
82
|
tabIndex: 0
|
55
|
-
})
|
56
|
-
// need to catch all clicks on disabled menu
|
57
|
-
// not possible through _on
|
58
|
-
.bind( "click" + this.eventNamespace, $.proxy(function( event ) {
|
59
|
-
if ( this.options.disabled ) {
|
60
|
-
event.preventDefault();
|
61
|
-
}
|
62
|
-
}, this ));
|
83
|
+
} );
|
63
84
|
|
64
|
-
|
65
|
-
|
66
|
-
.addClass( "ui-state-disabled" )
|
67
|
-
.attr( "aria-disabled", "true" );
|
68
|
-
}
|
85
|
+
this._addClass( "ui-menu", "ui-widget ui-widget-content" );
|
86
|
+
this._on( {
|
69
87
|
|
70
|
-
this._on({
|
71
88
|
// Prevent focus from sticking to links inside menu after clicking
|
72
89
|
// them (focus should always stay on UL during navigation).
|
73
|
-
"mousedown .ui-menu-item
|
74
|
-
event.preventDefault();
|
75
|
-
},
|
76
|
-
"click .ui-state-disabled > a": function( event ) {
|
90
|
+
"mousedown .ui-menu-item": function( event ) {
|
77
91
|
event.preventDefault();
|
92
|
+
|
93
|
+
this._activateItem( event );
|
78
94
|
},
|
79
|
-
"click .ui-menu-item
|
80
|
-
var target = $( event.target )
|
95
|
+
"click .ui-menu-item": function( event ) {
|
96
|
+
var target = $( event.target );
|
97
|
+
var active = $( $.ui.safeActiveElement( this.document[ 0 ] ) );
|
81
98
|
if ( !this.mouseHandled && target.not( ".ui-state-disabled" ).length ) {
|
82
99
|
this.select( event );
|
83
100
|
|
@@ -89,7 +106,8 @@ $.widget( "ui.menu", {
|
|
89
106
|
// Open submenu on click
|
90
107
|
if ( target.has( ".ui-menu" ).length ) {
|
91
108
|
this.expand( event );
|
92
|
-
} else if ( !this.element.is( ":focus" ) &&
|
109
|
+
} else if ( !this.element.is( ":focus" ) &&
|
110
|
+
active.closest( ".ui-menu" ).length ) {
|
93
111
|
|
94
112
|
// Redirect focus to the menu
|
95
113
|
this.element.trigger( "focus", [ true ] );
|
@@ -102,94 +120,117 @@ $.widget( "ui.menu", {
|
|
102
120
|
}
|
103
121
|
}
|
104
122
|
},
|
105
|
-
"mouseenter .ui-menu-item":
|
106
|
-
|
107
|
-
// Remove ui-state-active class from siblings of the newly focused menu item
|
108
|
-
// to avoid a jump caused by adjacent elements both having a class with a border
|
109
|
-
target.siblings().children( ".ui-state-active" ).removeClass( "ui-state-active" );
|
110
|
-
this.focus( event, target );
|
111
|
-
},
|
123
|
+
"mouseenter .ui-menu-item": "_activateItem",
|
124
|
+
"mousemove .ui-menu-item": "_activateItem",
|
112
125
|
mouseleave: "collapseAll",
|
113
126
|
"mouseleave .ui-menu": "collapseAll",
|
114
127
|
focus: function( event, keepActiveItem ) {
|
128
|
+
|
115
129
|
// If there's already an active item, keep it active
|
116
130
|
// If not, activate the first item
|
117
|
-
var item = this.active || this.
|
131
|
+
var item = this.active || this._menuItems().first();
|
118
132
|
|
119
133
|
if ( !keepActiveItem ) {
|
120
134
|
this.focus( event, item );
|
121
135
|
}
|
122
136
|
},
|
123
137
|
blur: function( event ) {
|
124
|
-
this._delay(function() {
|
125
|
-
|
138
|
+
this._delay( function() {
|
139
|
+
var notContained = !$.contains(
|
140
|
+
this.element[ 0 ],
|
141
|
+
$.ui.safeActiveElement( this.document[ 0 ] )
|
142
|
+
);
|
143
|
+
if ( notContained ) {
|
126
144
|
this.collapseAll( event );
|
127
145
|
}
|
128
|
-
});
|
146
|
+
} );
|
129
147
|
},
|
130
148
|
keydown: "_keydown"
|
131
|
-
});
|
149
|
+
} );
|
132
150
|
|
133
151
|
this.refresh();
|
134
152
|
|
135
153
|
// Clicks outside of a menu collapse any open menus
|
136
154
|
this._on( this.document, {
|
137
155
|
click: function( event ) {
|
138
|
-
if (
|
139
|
-
this.collapseAll( event );
|
156
|
+
if ( this._closeOnDocumentClick( event ) ) {
|
157
|
+
this.collapseAll( event, true );
|
140
158
|
}
|
141
159
|
|
142
160
|
// Reset the mouseHandled flag
|
143
161
|
this.mouseHandled = false;
|
144
162
|
}
|
145
|
-
});
|
163
|
+
} );
|
164
|
+
},
|
165
|
+
|
166
|
+
_activateItem: function( event ) {
|
167
|
+
|
168
|
+
// Ignore mouse events while typeahead is active, see #10458.
|
169
|
+
// Prevents focusing the wrong item when typeahead causes a scroll while the mouse
|
170
|
+
// is over an item in the menu
|
171
|
+
if ( this.previousFilter ) {
|
172
|
+
return;
|
173
|
+
}
|
174
|
+
|
175
|
+
// If the mouse didn't actually move, but the page was scrolled, ignore the event (#9356)
|
176
|
+
if ( event.clientX === this.lastMousePosition.x &&
|
177
|
+
event.clientY === this.lastMousePosition.y ) {
|
178
|
+
return;
|
179
|
+
}
|
180
|
+
|
181
|
+
this.lastMousePosition = {
|
182
|
+
x: event.clientX,
|
183
|
+
y: event.clientY
|
184
|
+
};
|
185
|
+
|
186
|
+
var actualTarget = $( event.target ).closest( ".ui-menu-item" ),
|
187
|
+
target = $( event.currentTarget );
|
188
|
+
|
189
|
+
// Ignore bubbled events on parent items, see #11641
|
190
|
+
if ( actualTarget[ 0 ] !== target[ 0 ] ) {
|
191
|
+
return;
|
192
|
+
}
|
193
|
+
|
194
|
+
// If the item is already active, there's nothing to do
|
195
|
+
if ( target.is( ".ui-state-active" ) ) {
|
196
|
+
return;
|
197
|
+
}
|
198
|
+
|
199
|
+
// Remove ui-state-active class from siblings of the newly focused menu item
|
200
|
+
// to avoid a jump caused by adjacent elements both having a class with a border
|
201
|
+
this._removeClass( target.siblings().children( ".ui-state-active" ),
|
202
|
+
null, "ui-state-active" );
|
203
|
+
this.focus( event, target );
|
146
204
|
},
|
147
205
|
|
148
206
|
_destroy: function() {
|
207
|
+
var items = this.element.find( ".ui-menu-item" )
|
208
|
+
.removeAttr( "role aria-disabled" ),
|
209
|
+
submenus = items.children( ".ui-menu-item-wrapper" )
|
210
|
+
.removeUniqueId()
|
211
|
+
.removeAttr( "tabIndex role aria-haspopup" );
|
212
|
+
|
149
213
|
// Destroy (sub)menus
|
150
214
|
this.element
|
151
215
|
.removeAttr( "aria-activedescendant" )
|
152
216
|
.find( ".ui-menu" ).addBack()
|
153
|
-
.
|
154
|
-
|
155
|
-
.removeAttr( "tabIndex" )
|
156
|
-
.removeAttr( "aria-labelledby" )
|
157
|
-
.removeAttr( "aria-expanded" )
|
158
|
-
.removeAttr( "aria-hidden" )
|
159
|
-
.removeAttr( "aria-disabled" )
|
217
|
+
.removeAttr( "role aria-labelledby aria-expanded aria-hidden aria-disabled " +
|
218
|
+
"tabIndex" )
|
160
219
|
.removeUniqueId()
|
161
220
|
.show();
|
162
221
|
|
163
|
-
|
164
|
-
|
165
|
-
.
|
166
|
-
|
167
|
-
|
168
|
-
|
169
|
-
.removeUniqueId()
|
170
|
-
.removeClass( "ui-corner-all ui-state-hover" )
|
171
|
-
.removeAttr( "tabIndex" )
|
172
|
-
.removeAttr( "role" )
|
173
|
-
.removeAttr( "aria-haspopup" )
|
174
|
-
.children().each( function() {
|
175
|
-
var elem = $( this );
|
176
|
-
if ( elem.data( "ui-menu-submenu-carat" ) ) {
|
177
|
-
elem.remove();
|
178
|
-
}
|
179
|
-
});
|
180
|
-
|
181
|
-
// Destroy menu dividers
|
182
|
-
this.element.find( ".ui-menu-divider" ).removeClass( "ui-menu-divider ui-widget-content" );
|
222
|
+
submenus.children().each( function() {
|
223
|
+
var elem = $( this );
|
224
|
+
if ( elem.data( "ui-menu-submenu-caret" ) ) {
|
225
|
+
elem.remove();
|
226
|
+
}
|
227
|
+
} );
|
183
228
|
},
|
184
229
|
|
185
230
|
_keydown: function( event ) {
|
186
|
-
var match, prev, character, skip,
|
231
|
+
var match, prev, character, skip,
|
187
232
|
preventDefault = true;
|
188
233
|
|
189
|
-
function escape( value ) {
|
190
|
-
return value.replace( /[\-\[\]{}()*+?.,\\\^$|#\s]/g, "\\$&" );
|
191
|
-
}
|
192
|
-
|
193
234
|
switch ( event.keyCode ) {
|
194
235
|
case $.ui.keyCode.PAGE_UP:
|
195
236
|
this.previousPage( event );
|
@@ -227,9 +268,12 @@ $.widget( "ui.menu", {
|
|
227
268
|
default:
|
228
269
|
preventDefault = false;
|
229
270
|
prev = this.previousFilter || "";
|
230
|
-
character = String.fromCharCode( event.keyCode );
|
231
271
|
skip = false;
|
232
272
|
|
273
|
+
// Support number pad values
|
274
|
+
character = event.keyCode >= 96 && event.keyCode <= 105 ?
|
275
|
+
( event.keyCode - 96 ).toString() : String.fromCharCode( event.keyCode );
|
276
|
+
|
233
277
|
clearTimeout( this.filterTimer );
|
234
278
|
|
235
279
|
if ( character === prev ) {
|
@@ -238,10 +282,7 @@ $.widget( "ui.menu", {
|
|
238
282
|
character = prev + character;
|
239
283
|
}
|
240
284
|
|
241
|
-
|
242
|
-
match = this.activeMenu.children( ".ui-menu-item" ).filter(function() {
|
243
|
-
return regex.test( $( this ).children( "a" ).text() );
|
244
|
-
});
|
285
|
+
match = this._filterMenuItems( character );
|
245
286
|
match = skip && match.index( this.active.next() ) !== -1 ?
|
246
287
|
this.active.nextAll( ".ui-menu-item" ) :
|
247
288
|
match;
|
@@ -250,22 +291,15 @@ $.widget( "ui.menu", {
|
|
250
291
|
// to move down the menu to the first item that starts with that character
|
251
292
|
if ( !match.length ) {
|
252
293
|
character = String.fromCharCode( event.keyCode );
|
253
|
-
|
254
|
-
match = this.activeMenu.children( ".ui-menu-item" ).filter(function() {
|
255
|
-
return regex.test( $( this ).children( "a" ).text() );
|
256
|
-
});
|
294
|
+
match = this._filterMenuItems( character );
|
257
295
|
}
|
258
296
|
|
259
297
|
if ( match.length ) {
|
260
298
|
this.focus( event, match );
|
261
|
-
|
262
|
-
|
263
|
-
this.filterTimer = this._delay(function() {
|
264
|
-
delete this.previousFilter;
|
265
|
-
}, 1000 );
|
266
|
-
} else {
|
299
|
+
this.previousFilter = character;
|
300
|
+
this.filterTimer = this._delay( function() {
|
267
301
|
delete this.previousFilter;
|
268
|
-
}
|
302
|
+
}, 1000 );
|
269
303
|
} else {
|
270
304
|
delete this.previousFilter;
|
271
305
|
}
|
@@ -277,8 +311,8 @@ $.widget( "ui.menu", {
|
|
277
311
|
},
|
278
312
|
|
279
313
|
_activate: function( event ) {
|
280
|
-
if ( !this.active.is( ".ui-state-disabled" ) ) {
|
281
|
-
if ( this.active.children( "
|
314
|
+
if ( this.active && !this.active.is( ".ui-state-disabled" ) ) {
|
315
|
+
if ( this.active.children( "[aria-haspopup='true']" ).length ) {
|
282
316
|
this.expand( event );
|
283
317
|
} else {
|
284
318
|
this.select( event );
|
@@ -287,59 +321,60 @@ $.widget( "ui.menu", {
|
|
287
321
|
},
|
288
322
|
|
289
323
|
refresh: function() {
|
290
|
-
var menus,
|
324
|
+
var menus, items, newSubmenus, newItems, newWrappers,
|
325
|
+
that = this,
|
291
326
|
icon = this.options.icons.submenu,
|
292
327
|
submenus = this.element.find( this.options.menus );
|
293
328
|
|
294
|
-
this.
|
329
|
+
this._toggleClass( "ui-menu-icons", null, !!this.element.find( ".ui-icon" ).length );
|
295
330
|
|
296
331
|
// Initialize nested menus
|
297
|
-
submenus.filter( ":not(.ui-menu)" )
|
298
|
-
.addClass( "ui-menu ui-widget ui-widget-content ui-corner-all" )
|
332
|
+
newSubmenus = submenus.filter( ":not(.ui-menu)" )
|
299
333
|
.hide()
|
300
|
-
.attr({
|
334
|
+
.attr( {
|
301
335
|
role: this.options.role,
|
302
336
|
"aria-hidden": "true",
|
303
337
|
"aria-expanded": "false"
|
304
|
-
})
|
305
|
-
.each(function() {
|
338
|
+
} )
|
339
|
+
.each( function() {
|
306
340
|
var menu = $( this ),
|
307
|
-
item = menu.prev(
|
308
|
-
|
309
|
-
.addClass( "ui-menu-icon ui-icon " + icon )
|
310
|
-
.data( "ui-menu-submenu-carat", true );
|
341
|
+
item = menu.prev(),
|
342
|
+
submenuCaret = $( "<span>" ).data( "ui-menu-submenu-caret", true );
|
311
343
|
|
344
|
+
that._addClass( submenuCaret, "ui-menu-icon", "ui-icon " + icon );
|
312
345
|
item
|
313
346
|
.attr( "aria-haspopup", "true" )
|
314
|
-
.prepend(
|
347
|
+
.prepend( submenuCaret );
|
315
348
|
menu.attr( "aria-labelledby", item.attr( "id" ) );
|
316
|
-
});
|
349
|
+
} );
|
350
|
+
|
351
|
+
this._addClass( newSubmenus, "ui-menu", "ui-widget ui-widget-content ui-front" );
|
317
352
|
|
318
353
|
menus = submenus.add( this.element );
|
354
|
+
items = menus.find( this.options.items );
|
355
|
+
|
356
|
+
// Initialize menu-items containing spaces and/or dashes only as dividers
|
357
|
+
items.not( ".ui-menu-item" ).each( function() {
|
358
|
+
var item = $( this );
|
359
|
+
if ( that._isDivider( item ) ) {
|
360
|
+
that._addClass( item, "ui-menu-divider", "ui-widget-content" );
|
361
|
+
}
|
362
|
+
} );
|
319
363
|
|
320
364
|
// Don't refresh list items that are already adapted
|
321
|
-
|
322
|
-
|
323
|
-
.
|
324
|
-
.children( "a" )
|
365
|
+
newItems = items.not( ".ui-menu-item, .ui-menu-divider" );
|
366
|
+
newWrappers = newItems.children()
|
367
|
+
.not( ".ui-menu" )
|
325
368
|
.uniqueId()
|
326
|
-
.
|
327
|
-
.attr({
|
369
|
+
.attr( {
|
328
370
|
tabIndex: -1,
|
329
371
|
role: this._itemRole()
|
330
|
-
});
|
331
|
-
|
332
|
-
|
333
|
-
menus.children( ":not(.ui-menu-item)" ).each(function() {
|
334
|
-
var item = $( this );
|
335
|
-
// hyphen, em dash, en dash
|
336
|
-
if ( !/[^\-\u2014\u2013\s]/.test( item.text() ) ) {
|
337
|
-
item.addClass( "ui-widget-content ui-menu-divider" );
|
338
|
-
}
|
339
|
-
});
|
372
|
+
} );
|
373
|
+
this._addClass( newItems, "ui-menu-item" )
|
374
|
+
._addClass( newWrappers, "ui-menu-item-wrapper" );
|
340
375
|
|
341
376
|
// Add aria-disabled attribute to any disabled menu item
|
342
|
-
|
377
|
+
items.filter( ".ui-state-disabled" ).attr( "aria-disabled", "true" );
|
343
378
|
|
344
379
|
// If the active item has been removed, blur the menu
|
345
380
|
if ( this.active && !$.contains( this.element[ 0 ], this.active[ 0 ] ) ) {
|
@@ -356,21 +391,31 @@ $.widget( "ui.menu", {
|
|
356
391
|
|
357
392
|
_setOption: function( key, value ) {
|
358
393
|
if ( key === "icons" ) {
|
359
|
-
this.element.find( ".ui-menu-icon" )
|
360
|
-
|
361
|
-
.
|
394
|
+
var icons = this.element.find( ".ui-menu-icon" );
|
395
|
+
this._removeClass( icons, null, this.options.icons.submenu )
|
396
|
+
._addClass( icons, null, value.submenu );
|
362
397
|
}
|
363
398
|
this._super( key, value );
|
364
399
|
},
|
365
400
|
|
401
|
+
_setOptionDisabled: function( value ) {
|
402
|
+
this._super( value );
|
403
|
+
|
404
|
+
this.element.attr( "aria-disabled", String( value ) );
|
405
|
+
this._toggleClass( null, "ui-state-disabled", !!value );
|
406
|
+
},
|
407
|
+
|
366
408
|
focus: function( event, item ) {
|
367
|
-
var nested, focused;
|
409
|
+
var nested, focused, activeParent;
|
368
410
|
this.blur( event, event && event.type === "focus" );
|
369
411
|
|
370
412
|
this._scrollIntoView( item );
|
371
413
|
|
372
414
|
this.active = item.first();
|
373
|
-
|
415
|
+
|
416
|
+
focused = this.active.children( ".ui-menu-item-wrapper" );
|
417
|
+
this._addClass( focused, null, "ui-state-active" );
|
418
|
+
|
374
419
|
// Only update aria-activedescendant if there's a role
|
375
420
|
// otherwise we assume focus is managed elsewhere
|
376
421
|
if ( this.options.role ) {
|
@@ -378,23 +423,23 @@ $.widget( "ui.menu", {
|
|
378
423
|
}
|
379
424
|
|
380
425
|
// Highlight active parent menu item, if any
|
381
|
-
this.active
|
426
|
+
activeParent = this.active
|
382
427
|
.parent()
|
383
|
-
|
384
|
-
|
385
|
-
|
428
|
+
.closest( ".ui-menu-item" )
|
429
|
+
.children( ".ui-menu-item-wrapper" );
|
430
|
+
this._addClass( activeParent, null, "ui-state-active" );
|
386
431
|
|
387
432
|
if ( event && event.type === "keydown" ) {
|
388
433
|
this._close();
|
389
434
|
} else {
|
390
|
-
this.timer = this._delay(function() {
|
435
|
+
this.timer = this._delay( function() {
|
391
436
|
this._close();
|
392
437
|
}, this.delay );
|
393
438
|
}
|
394
439
|
|
395
440
|
nested = item.children( ".ui-menu" );
|
396
441
|
if ( nested.length && event && ( /^mouse/.test( event.type ) ) ) {
|
397
|
-
this._startOpening(nested);
|
442
|
+
this._startOpening( nested );
|
398
443
|
}
|
399
444
|
this.activeMenu = item.parent();
|
400
445
|
|
@@ -404,12 +449,12 @@ $.widget( "ui.menu", {
|
|
404
449
|
_scrollIntoView: function( item ) {
|
405
450
|
var borderTop, paddingTop, offset, scroll, elementHeight, itemHeight;
|
406
451
|
if ( this._hasScroll() ) {
|
407
|
-
borderTop = parseFloat( $.css( this.activeMenu[0], "borderTopWidth" ) ) || 0;
|
408
|
-
paddingTop = parseFloat( $.css( this.activeMenu[0], "paddingTop" ) ) || 0;
|
452
|
+
borderTop = parseFloat( $.css( this.activeMenu[ 0 ], "borderTopWidth" ) ) || 0;
|
453
|
+
paddingTop = parseFloat( $.css( this.activeMenu[ 0 ], "paddingTop" ) ) || 0;
|
409
454
|
offset = item.offset().top - this.activeMenu.offset().top - borderTop - paddingTop;
|
410
455
|
scroll = this.activeMenu.scrollTop();
|
411
456
|
elementHeight = this.activeMenu.height();
|
412
|
-
itemHeight = item.
|
457
|
+
itemHeight = item.outerHeight();
|
413
458
|
|
414
459
|
if ( offset < 0 ) {
|
415
460
|
this.activeMenu.scrollTop( scroll + offset );
|
@@ -428,29 +473,30 @@ $.widget( "ui.menu", {
|
|
428
473
|
return;
|
429
474
|
}
|
430
475
|
|
431
|
-
this.active.children( "
|
432
|
-
|
476
|
+
this._removeClass( this.active.children( ".ui-menu-item-wrapper" ),
|
477
|
+
null, "ui-state-active" );
|
433
478
|
|
434
479
|
this._trigger( "blur", event, { item: this.active } );
|
480
|
+
this.active = null;
|
435
481
|
},
|
436
482
|
|
437
483
|
_startOpening: function( submenu ) {
|
438
484
|
clearTimeout( this.timer );
|
439
485
|
|
440
486
|
// Don't open if already open fixes a Firefox bug that caused a .5 pixel
|
441
|
-
// shift in the submenu position when mousing over the
|
487
|
+
// shift in the submenu position when mousing over the caret icon
|
442
488
|
if ( submenu.attr( "aria-hidden" ) !== "true" ) {
|
443
489
|
return;
|
444
490
|
}
|
445
491
|
|
446
|
-
this.timer = this._delay(function() {
|
492
|
+
this.timer = this._delay( function() {
|
447
493
|
this._close();
|
448
494
|
this._open( submenu );
|
449
495
|
}, this.delay );
|
450
496
|
},
|
451
497
|
|
452
498
|
_open: function( submenu ) {
|
453
|
-
var position = $.extend({
|
499
|
+
var position = $.extend( {
|
454
500
|
of: this.active
|
455
501
|
}, this.options.position );
|
456
502
|
|
@@ -468,12 +514,14 @@ $.widget( "ui.menu", {
|
|
468
514
|
|
469
515
|
collapseAll: function( event, all ) {
|
470
516
|
clearTimeout( this.timer );
|
471
|
-
this.timer = this._delay(function() {
|
517
|
+
this.timer = this._delay( function() {
|
518
|
+
|
472
519
|
// If we were passed an event, look for the submenu that contains the event
|
473
520
|
var currentMenu = all ? this.element :
|
474
521
|
$( event && event.target ).closest( this.element.find( ".ui-menu" ) );
|
475
522
|
|
476
|
-
// If we found no valid submenu ancestor, use the main menu to close all
|
523
|
+
// If we found no valid submenu ancestor, use the main menu to close all
|
524
|
+
// sub menus anyway
|
477
525
|
if ( !currentMenu.length ) {
|
478
526
|
currentMenu = this.element;
|
479
527
|
}
|
@@ -481,8 +529,12 @@ $.widget( "ui.menu", {
|
|
481
529
|
this._close( currentMenu );
|
482
530
|
|
483
531
|
this.blur( event );
|
532
|
+
|
533
|
+
// Work around active item staying active after menu is blurred
|
534
|
+
this._removeClass( currentMenu.find( ".ui-state-active" ), null, "ui-state-active" );
|
535
|
+
|
484
536
|
this.activeMenu = currentMenu;
|
485
|
-
}, this.delay );
|
537
|
+
}, all ? 0 : this.delay );
|
486
538
|
},
|
487
539
|
|
488
540
|
// With no arguments, closes the currently active menu - if nothing is active
|
@@ -492,14 +544,20 @@ $.widget( "ui.menu", {
|
|
492
544
|
startMenu = this.active ? this.active.parent() : this.element;
|
493
545
|
}
|
494
546
|
|
495
|
-
startMenu
|
496
|
-
.
|
497
|
-
|
498
|
-
|
499
|
-
|
500
|
-
|
501
|
-
|
502
|
-
|
547
|
+
startMenu.find( ".ui-menu" )
|
548
|
+
.hide()
|
549
|
+
.attr( "aria-hidden", "true" )
|
550
|
+
.attr( "aria-expanded", "false" );
|
551
|
+
},
|
552
|
+
|
553
|
+
_closeOnDocumentClick: function( event ) {
|
554
|
+
return !$( event.target ).closest( ".ui-menu" ).length;
|
555
|
+
},
|
556
|
+
|
557
|
+
_isDivider: function( item ) {
|
558
|
+
|
559
|
+
// Match hyphen, em dash, en dash
|
560
|
+
return !/[^\-\u2014\u2013\s]/.test( item.text() );
|
503
561
|
},
|
504
562
|
|
505
563
|
collapse: function( event ) {
|
@@ -512,19 +570,15 @@ $.widget( "ui.menu", {
|
|
512
570
|
},
|
513
571
|
|
514
572
|
expand: function( event ) {
|
515
|
-
var newItem = this.active &&
|
516
|
-
this.active
|
517
|
-
.children( ".ui-menu " )
|
518
|
-
.children( ".ui-menu-item" )
|
519
|
-
.first();
|
573
|
+
var newItem = this.active && this._menuItems( this.active.children( ".ui-menu" ) ).first();
|
520
574
|
|
521
575
|
if ( newItem && newItem.length ) {
|
522
576
|
this._open( newItem.parent() );
|
523
577
|
|
524
578
|
// Delay so Firefox will not hide activedescendant change in expanding submenu from AT
|
525
|
-
this._delay(function() {
|
579
|
+
this._delay( function() {
|
526
580
|
this.focus( event, newItem );
|
527
|
-
});
|
581
|
+
} );
|
528
582
|
}
|
529
583
|
},
|
530
584
|
|
@@ -544,21 +598,27 @@ $.widget( "ui.menu", {
|
|
544
598
|
return this.active && !this.active.nextAll( ".ui-menu-item" ).length;
|
545
599
|
},
|
546
600
|
|
601
|
+
_menuItems: function( menu ) {
|
602
|
+
return ( menu || this.element )
|
603
|
+
.find( this.options.items )
|
604
|
+
.filter( ".ui-menu-item" );
|
605
|
+
},
|
606
|
+
|
547
607
|
_move: function( direction, filter, event ) {
|
548
608
|
var next;
|
549
609
|
if ( this.active ) {
|
550
610
|
if ( direction === "first" || direction === "last" ) {
|
551
611
|
next = this.active
|
552
612
|
[ direction === "first" ? "prevAll" : "nextAll" ]( ".ui-menu-item" )
|
553
|
-
.
|
613
|
+
.last();
|
554
614
|
} else {
|
555
615
|
next = this.active
|
556
616
|
[ direction + "All" ]( ".ui-menu-item" )
|
557
|
-
.
|
617
|
+
.first();
|
558
618
|
}
|
559
619
|
}
|
560
620
|
if ( !next || !next.length || !this.active ) {
|
561
|
-
next = this.
|
621
|
+
next = this._menuItems( this.activeMenu )[ filter ]();
|
562
622
|
}
|
563
623
|
|
564
624
|
this.focus( event, next );
|
@@ -576,15 +636,21 @@ $.widget( "ui.menu", {
|
|
576
636
|
}
|
577
637
|
if ( this._hasScroll() ) {
|
578
638
|
base = this.active.offset().top;
|
579
|
-
height = this.element.
|
580
|
-
|
639
|
+
height = this.element.innerHeight();
|
640
|
+
|
641
|
+
// jQuery 3.2 doesn't include scrollbars in innerHeight, add it back.
|
642
|
+
if ( $.fn.jquery.indexOf( "3.2." ) === 0 ) {
|
643
|
+
height += this.element[ 0 ].offsetHeight - this.element.outerHeight();
|
644
|
+
}
|
645
|
+
|
646
|
+
this.active.nextAll( ".ui-menu-item" ).each( function() {
|
581
647
|
item = $( this );
|
582
648
|
return item.offset().top - base - height < 0;
|
583
|
-
});
|
649
|
+
} );
|
584
650
|
|
585
651
|
this.focus( event, item );
|
586
652
|
} else {
|
587
|
-
this.focus( event, this.
|
653
|
+
this.focus( event, this._menuItems( this.activeMenu )
|
588
654
|
[ !this.active ? "first" : "last" ]() );
|
589
655
|
}
|
590
656
|
},
|
@@ -600,15 +666,21 @@ $.widget( "ui.menu", {
|
|
600
666
|
}
|
601
667
|
if ( this._hasScroll() ) {
|
602
668
|
base = this.active.offset().top;
|
603
|
-
height = this.element.
|
604
|
-
|
669
|
+
height = this.element.innerHeight();
|
670
|
+
|
671
|
+
// jQuery 3.2 doesn't include scrollbars in innerHeight, add it back.
|
672
|
+
if ( $.fn.jquery.indexOf( "3.2." ) === 0 ) {
|
673
|
+
height += this.element[ 0 ].offsetHeight - this.element.outerHeight();
|
674
|
+
}
|
675
|
+
|
676
|
+
this.active.prevAll( ".ui-menu-item" ).each( function() {
|
605
677
|
item = $( this );
|
606
678
|
return item.offset().top - base + height > 0;
|
607
|
-
});
|
679
|
+
} );
|
608
680
|
|
609
681
|
this.focus( event, item );
|
610
682
|
} else {
|
611
|
-
this.focus( event, this.
|
683
|
+
this.focus( event, this._menuItems( this.activeMenu ).first() );
|
612
684
|
}
|
613
685
|
},
|
614
686
|
|
@@ -617,6 +689,7 @@ $.widget( "ui.menu", {
|
|
617
689
|
},
|
618
690
|
|
619
691
|
select: function( event ) {
|
692
|
+
|
620
693
|
// TODO: It should never be possible to not have an active item at this
|
621
694
|
// point, but the tests don't trigger mouseenter before click.
|
622
695
|
this.active = this.active || $( event.target ).closest( ".ui-menu-item" );
|
@@ -625,7 +698,23 @@ $.widget( "ui.menu", {
|
|
625
698
|
this.collapseAll( event, true );
|
626
699
|
}
|
627
700
|
this._trigger( "select", event, ui );
|
701
|
+
},
|
702
|
+
|
703
|
+
_filterMenuItems: function( character ) {
|
704
|
+
var escapedCharacter = character.replace( /[\-\[\]{}()*+?.,\\\^$|#\s]/g, "\\$&" ),
|
705
|
+
regex = new RegExp( "^" + escapedCharacter, "i" );
|
706
|
+
|
707
|
+
return this.activeMenu
|
708
|
+
.find( this.options.items )
|
709
|
+
|
710
|
+
// Only match on items, not dividers or other content (#10571)
|
711
|
+
.filter( ".ui-menu-item" )
|
712
|
+
.filter( function() {
|
713
|
+
return regex.test(
|
714
|
+
String.prototype.trim.call(
|
715
|
+
$( this ).children( ".ui-menu-item-wrapper" ).text() ) );
|
716
|
+
} );
|
628
717
|
}
|
629
|
-
});
|
718
|
+
} );
|
630
719
|
|
631
|
-
}
|
720
|
+
} );
|