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,98 +1,117 @@
|
|
1
|
-
//= require jquery
|
2
|
-
//= require jquery
|
1
|
+
//= require jquery-ui/keycode
|
2
|
+
//= require jquery-ui/safe-active-element
|
3
|
+
//= require jquery-ui/unique-id
|
4
|
+
//= require jquery-ui/version
|
5
|
+
//= require jquery-ui/widget
|
3
6
|
|
4
7
|
/*!
|
5
|
-
* jQuery UI Tabs 1.
|
8
|
+
* jQuery UI Tabs 1.13.0
|
6
9
|
* http://jqueryui.com
|
7
10
|
*
|
8
|
-
* Copyright
|
11
|
+
* Copyright jQuery Foundation and other contributors
|
9
12
|
* Released under the MIT license.
|
10
13
|
* http://jquery.org/license
|
11
|
-
*
|
12
|
-
* http://api.jqueryui.com/tabs/
|
13
|
-
*
|
14
|
-
* Depends:
|
15
|
-
* jquery.ui.core.js
|
16
|
-
* jquery.ui.widget.js
|
17
14
|
*/
|
18
|
-
(function( $, undefined ) {
|
19
|
-
|
20
|
-
var tabId = 0,
|
21
|
-
rhash = /#.*$/;
|
22
|
-
|
23
|
-
function getNextTabId() {
|
24
|
-
return ++tabId;
|
25
|
-
}
|
26
|
-
|
27
|
-
function isLocal( anchor ) {
|
28
|
-
// support: IE7
|
29
|
-
// IE7 doesn't normalize the href property when set via script (#9317)
|
30
|
-
anchor = anchor.cloneNode( false );
|
31
15
|
|
32
|
-
|
33
|
-
|
34
|
-
|
35
|
-
|
16
|
+
//>>label: Tabs
|
17
|
+
//>>group: Widgets
|
18
|
+
//>>description: Transforms a set of container elements into a tab structure.
|
19
|
+
//>>docs: http://api.jqueryui.com/tabs/
|
20
|
+
//>>demos: http://jqueryui.com/tabs/
|
21
|
+
//>>css.structure: ../../themes/base/core.css
|
22
|
+
//>>css.structure: ../../themes/base/tabs.css
|
23
|
+
//>>css.theme: ../../themes/base/theme.css
|
24
|
+
|
25
|
+
( function( factory ) {
|
26
|
+
"use strict";
|
27
|
+
|
28
|
+
if ( typeof define === "function" && define.amd ) {
|
29
|
+
|
30
|
+
// AMD. Register as an anonymous module.
|
31
|
+
define( [
|
32
|
+
"jquery",
|
33
|
+
"../keycode",
|
34
|
+
"../safe-active-element",
|
35
|
+
"../unique-id",
|
36
|
+
"../version",
|
37
|
+
"../widget"
|
38
|
+
], factory );
|
39
|
+
} else {
|
40
|
+
|
41
|
+
// Browser globals
|
42
|
+
factory( jQuery );
|
43
|
+
}
|
44
|
+
} )( function( $ ) {
|
45
|
+
"use strict";
|
36
46
|
|
37
47
|
$.widget( "ui.tabs", {
|
38
|
-
version: "1.
|
48
|
+
version: "1.13.0",
|
39
49
|
delay: 300,
|
40
50
|
options: {
|
41
51
|
active: null,
|
52
|
+
classes: {
|
53
|
+
"ui-tabs": "ui-corner-all",
|
54
|
+
"ui-tabs-nav": "ui-corner-all",
|
55
|
+
"ui-tabs-panel": "ui-corner-bottom",
|
56
|
+
"ui-tabs-tab": "ui-corner-top"
|
57
|
+
},
|
42
58
|
collapsible: false,
|
43
59
|
event: "click",
|
44
60
|
heightStyle: "content",
|
45
61
|
hide: null,
|
46
62
|
show: null,
|
47
63
|
|
48
|
-
//
|
64
|
+
// Callbacks
|
49
65
|
activate: null,
|
50
66
|
beforeActivate: null,
|
51
67
|
beforeLoad: null,
|
52
68
|
load: null
|
53
69
|
},
|
54
70
|
|
71
|
+
_isLocal: ( function() {
|
72
|
+
var rhash = /#.*$/;
|
73
|
+
|
74
|
+
return function( anchor ) {
|
75
|
+
var anchorUrl, locationUrl;
|
76
|
+
|
77
|
+
anchorUrl = anchor.href.replace( rhash, "" );
|
78
|
+
locationUrl = location.href.replace( rhash, "" );
|
79
|
+
|
80
|
+
// Decoding may throw an error if the URL isn't UTF-8 (#9518)
|
81
|
+
try {
|
82
|
+
anchorUrl = decodeURIComponent( anchorUrl );
|
83
|
+
} catch ( error ) {}
|
84
|
+
try {
|
85
|
+
locationUrl = decodeURIComponent( locationUrl );
|
86
|
+
} catch ( error ) {}
|
87
|
+
|
88
|
+
return anchor.hash.length > 1 && anchorUrl === locationUrl;
|
89
|
+
};
|
90
|
+
} )(),
|
91
|
+
|
55
92
|
_create: function() {
|
56
93
|
var that = this,
|
57
94
|
options = this.options;
|
58
95
|
|
59
96
|
this.running = false;
|
60
97
|
|
61
|
-
this.
|
62
|
-
|
63
|
-
.toggleClass( "ui-tabs-collapsible", options.collapsible )
|
64
|
-
// Prevent users from focusing disabled tabs via click
|
65
|
-
.delegate( ".ui-tabs-nav > li", "mousedown" + this.eventNamespace, function( event ) {
|
66
|
-
if ( $( this ).is( ".ui-state-disabled" ) ) {
|
67
|
-
event.preventDefault();
|
68
|
-
}
|
69
|
-
})
|
70
|
-
// support: IE <9
|
71
|
-
// Preventing the default action in mousedown doesn't prevent IE
|
72
|
-
// from focusing the element, so if the anchor gets focused, blur.
|
73
|
-
// We don't have to worry about focusing the previously focused
|
74
|
-
// element since clicking on a non-focusable element should focus
|
75
|
-
// the body anyway.
|
76
|
-
.delegate( ".ui-tabs-anchor", "focus" + this.eventNamespace, function() {
|
77
|
-
if ( $( this ).closest( "li" ).is( ".ui-state-disabled" ) ) {
|
78
|
-
this.blur();
|
79
|
-
}
|
80
|
-
});
|
98
|
+
this._addClass( "ui-tabs", "ui-widget ui-widget-content" );
|
99
|
+
this._toggleClass( "ui-tabs-collapsible", null, options.collapsible );
|
81
100
|
|
82
101
|
this._processTabs();
|
83
102
|
options.active = this._initialActive();
|
84
103
|
|
85
104
|
// Take disabling tabs via class attribute from HTML
|
86
105
|
// into account and update option properly.
|
87
|
-
if (
|
88
|
-
options.disabled = $.
|
106
|
+
if ( Array.isArray( options.disabled ) ) {
|
107
|
+
options.disabled = $.uniqueSort( options.disabled.concat(
|
89
108
|
$.map( this.tabs.filter( ".ui-state-disabled" ), function( li ) {
|
90
109
|
return that.tabs.index( li );
|
91
|
-
})
|
110
|
+
} )
|
92
111
|
) ).sort();
|
93
112
|
}
|
94
113
|
|
95
|
-
//
|
114
|
+
// Check for length avoids error when initializing empty list
|
96
115
|
if ( this.options.active !== false && this.anchors.length ) {
|
97
116
|
this.active = this._findActive( options.active );
|
98
117
|
} else {
|
@@ -112,28 +131,29 @@ $.widget( "ui.tabs", {
|
|
112
131
|
locationHash = location.hash.substring( 1 );
|
113
132
|
|
114
133
|
if ( active === null ) {
|
134
|
+
|
115
135
|
// check the fragment identifier in the URL
|
116
136
|
if ( locationHash ) {
|
117
|
-
this.tabs.each(function( i, tab ) {
|
137
|
+
this.tabs.each( function( i, tab ) {
|
118
138
|
if ( $( tab ).attr( "aria-controls" ) === locationHash ) {
|
119
139
|
active = i;
|
120
140
|
return false;
|
121
141
|
}
|
122
|
-
});
|
142
|
+
} );
|
123
143
|
}
|
124
144
|
|
125
|
-
//
|
145
|
+
// Check for a tab marked active via a class
|
126
146
|
if ( active === null ) {
|
127
147
|
active = this.tabs.index( this.tabs.filter( ".ui-tabs-active" ) );
|
128
148
|
}
|
129
149
|
|
130
|
-
//
|
150
|
+
// No active tab, set to false
|
131
151
|
if ( active === null || active === -1 ) {
|
132
152
|
active = this.tabs.length ? 0 : false;
|
133
153
|
}
|
134
154
|
}
|
135
155
|
|
136
|
-
//
|
156
|
+
// Handle numbers: negative, out of range
|
137
157
|
if ( active !== false ) {
|
138
158
|
active = this.tabs.index( this.tabs.eq( active ) );
|
139
159
|
if ( active === -1 ) {
|
@@ -141,7 +161,7 @@ $.widget( "ui.tabs", {
|
|
141
161
|
}
|
142
162
|
}
|
143
163
|
|
144
|
-
//
|
164
|
+
// Don't allow collapsible: false and active: false
|
145
165
|
if ( !collapsible && active === false && this.anchors.length ) {
|
146
166
|
active = 0;
|
147
167
|
}
|
@@ -157,7 +177,7 @@ $.widget( "ui.tabs", {
|
|
157
177
|
},
|
158
178
|
|
159
179
|
_tabKeydown: function( event ) {
|
160
|
-
var focusedTab = $( this.document[0]
|
180
|
+
var focusedTab = $( $.ui.safeActiveElement( this.document[ 0 ] ) ).closest( "li" ),
|
161
181
|
selectedIndex = this.tabs.index( focusedTab ),
|
162
182
|
goingForward = true;
|
163
183
|
|
@@ -166,36 +186,39 @@ $.widget( "ui.tabs", {
|
|
166
186
|
}
|
167
187
|
|
168
188
|
switch ( event.keyCode ) {
|
169
|
-
|
170
|
-
|
171
|
-
|
172
|
-
|
173
|
-
|
174
|
-
|
175
|
-
|
176
|
-
|
177
|
-
|
178
|
-
|
179
|
-
|
180
|
-
|
181
|
-
|
182
|
-
|
183
|
-
|
184
|
-
|
185
|
-
|
186
|
-
|
187
|
-
|
188
|
-
|
189
|
-
|
190
|
-
|
191
|
-
|
192
|
-
|
193
|
-
|
194
|
-
|
195
|
-
|
196
|
-
|
197
|
-
|
198
|
-
|
189
|
+
case $.ui.keyCode.RIGHT:
|
190
|
+
case $.ui.keyCode.DOWN:
|
191
|
+
selectedIndex++;
|
192
|
+
break;
|
193
|
+
case $.ui.keyCode.UP:
|
194
|
+
case $.ui.keyCode.LEFT:
|
195
|
+
goingForward = false;
|
196
|
+
selectedIndex--;
|
197
|
+
break;
|
198
|
+
case $.ui.keyCode.END:
|
199
|
+
selectedIndex = this.anchors.length - 1;
|
200
|
+
break;
|
201
|
+
case $.ui.keyCode.HOME:
|
202
|
+
selectedIndex = 0;
|
203
|
+
break;
|
204
|
+
case $.ui.keyCode.SPACE:
|
205
|
+
|
206
|
+
// Activate only, no collapsing
|
207
|
+
event.preventDefault();
|
208
|
+
clearTimeout( this.activating );
|
209
|
+
this._activate( selectedIndex );
|
210
|
+
return;
|
211
|
+
case $.ui.keyCode.ENTER:
|
212
|
+
|
213
|
+
// Toggle (cancel delayed activation, allow collapsing)
|
214
|
+
event.preventDefault();
|
215
|
+
clearTimeout( this.activating );
|
216
|
+
|
217
|
+
// Determine if we should collapse or activate
|
218
|
+
this._activate( selectedIndex === this.options.active ? false : selectedIndex );
|
219
|
+
return;
|
220
|
+
default:
|
221
|
+
return;
|
199
222
|
}
|
200
223
|
|
201
224
|
// Focus the appropriate tab, based on which key was pressed
|
@@ -203,15 +226,16 @@ $.widget( "ui.tabs", {
|
|
203
226
|
clearTimeout( this.activating );
|
204
227
|
selectedIndex = this._focusNextTab( selectedIndex, goingForward );
|
205
228
|
|
206
|
-
// Navigating with control key will prevent automatic activation
|
207
|
-
if ( !event.ctrlKey ) {
|
229
|
+
// Navigating with control/command key will prevent automatic activation
|
230
|
+
if ( !event.ctrlKey && !event.metaKey ) {
|
231
|
+
|
208
232
|
// Update aria-selected immediately so that AT think the tab is already selected.
|
209
233
|
// Otherwise AT may confuse the user by stating that they need to activate the tab,
|
210
234
|
// but the tab will already be activated by the time the announcement finishes.
|
211
235
|
focusedTab.attr( "aria-selected", "false" );
|
212
236
|
this.tabs.eq( selectedIndex ).attr( "aria-selected", "true" );
|
213
237
|
|
214
|
-
this.activating = this._delay(function() {
|
238
|
+
this.activating = this._delay( function() {
|
215
239
|
this.option( "active", selectedIndex );
|
216
240
|
}, this.delay );
|
217
241
|
}
|
@@ -225,7 +249,7 @@ $.widget( "ui.tabs", {
|
|
225
249
|
// Ctrl+up moves focus to the current tab
|
226
250
|
if ( event.ctrlKey && event.keyCode === $.ui.keyCode.UP ) {
|
227
251
|
event.preventDefault();
|
228
|
-
this.active.focus
|
252
|
+
this.active.trigger( "focus" );
|
229
253
|
}
|
230
254
|
},
|
231
255
|
|
@@ -263,27 +287,23 @@ $.widget( "ui.tabs", {
|
|
263
287
|
|
264
288
|
_focusNextTab: function( index, goingForward ) {
|
265
289
|
index = this._findNextTab( index, goingForward );
|
266
|
-
this.tabs.eq( index ).focus
|
290
|
+
this.tabs.eq( index ).trigger( "focus" );
|
267
291
|
return index;
|
268
292
|
},
|
269
293
|
|
270
294
|
_setOption: function( key, value ) {
|
271
295
|
if ( key === "active" ) {
|
296
|
+
|
272
297
|
// _activate() will handle invalid values and update this.options
|
273
298
|
this._activate( value );
|
274
299
|
return;
|
275
300
|
}
|
276
301
|
|
277
|
-
|
278
|
-
// don't use the widget factory's disabled handling
|
279
|
-
this._setupDisabled( value );
|
280
|
-
return;
|
281
|
-
}
|
282
|
-
|
283
|
-
this._super( key, value);
|
302
|
+
this._super( key, value );
|
284
303
|
|
285
304
|
if ( key === "collapsible" ) {
|
286
|
-
this.
|
305
|
+
this._toggleClass( "ui-tabs-collapsible", null, value );
|
306
|
+
|
287
307
|
// Setting collapsible: false while collapsed; open first panel
|
288
308
|
if ( !value && this.options.active === false ) {
|
289
309
|
this._activate( 0 );
|
@@ -299,10 +319,6 @@ $.widget( "ui.tabs", {
|
|
299
319
|
}
|
300
320
|
},
|
301
321
|
|
302
|
-
_tabId: function( tab ) {
|
303
|
-
return tab.attr( "aria-controls" ) || "ui-tabs-" + getNextTabId();
|
304
|
-
},
|
305
|
-
|
306
322
|
_sanitizeSelector: function( hash ) {
|
307
323
|
return hash ? hash.replace( /[!"$%&'()*+,.\/:;<=>?@\[\]\^`{|}~]/g, "\\$&" ) : "";
|
308
324
|
},
|
@@ -311,30 +327,35 @@ $.widget( "ui.tabs", {
|
|
311
327
|
var options = this.options,
|
312
328
|
lis = this.tablist.children( ":has(a[href])" );
|
313
329
|
|
314
|
-
//
|
330
|
+
// Get disabled tabs from class attribute from HTML
|
315
331
|
// this will get converted to a boolean if needed in _refresh()
|
316
332
|
options.disabled = $.map( lis.filter( ".ui-state-disabled" ), function( tab ) {
|
317
333
|
return lis.index( tab );
|
318
|
-
});
|
334
|
+
} );
|
319
335
|
|
320
336
|
this._processTabs();
|
321
337
|
|
322
|
-
//
|
338
|
+
// Was collapsed or no tabs
|
323
339
|
if ( options.active === false || !this.anchors.length ) {
|
324
340
|
options.active = false;
|
325
341
|
this.active = $();
|
342
|
+
|
326
343
|
// was active, but active tab is gone
|
327
344
|
} else if ( this.active.length && !$.contains( this.tablist[ 0 ], this.active[ 0 ] ) ) {
|
345
|
+
|
328
346
|
// all remaining tabs are disabled
|
329
347
|
if ( this.tabs.length === options.disabled.length ) {
|
330
348
|
options.active = false;
|
331
349
|
this.active = $();
|
350
|
+
|
332
351
|
// activate previous tab
|
333
352
|
} else {
|
334
353
|
this._activate( this._findNextTab( Math.max( 0, options.active - 1 ), false ) );
|
335
354
|
}
|
355
|
+
|
336
356
|
// was active, active tab still exists
|
337
357
|
} else {
|
358
|
+
|
338
359
|
// make sure active index is correct
|
339
360
|
options.active = this.tabs.index( this.active );
|
340
361
|
}
|
@@ -343,78 +364,105 @@ $.widget( "ui.tabs", {
|
|
343
364
|
},
|
344
365
|
|
345
366
|
_refresh: function() {
|
346
|
-
this.
|
367
|
+
this._setOptionDisabled( this.options.disabled );
|
347
368
|
this._setupEvents( this.options.event );
|
348
369
|
this._setupHeightStyle( this.options.heightStyle );
|
349
370
|
|
350
|
-
this.tabs.not( this.active ).attr({
|
371
|
+
this.tabs.not( this.active ).attr( {
|
351
372
|
"aria-selected": "false",
|
373
|
+
"aria-expanded": "false",
|
352
374
|
tabIndex: -1
|
353
|
-
});
|
375
|
+
} );
|
354
376
|
this.panels.not( this._getPanelForTab( this.active ) )
|
355
377
|
.hide()
|
356
|
-
.attr({
|
357
|
-
"aria-expanded": "false",
|
378
|
+
.attr( {
|
358
379
|
"aria-hidden": "true"
|
359
|
-
});
|
380
|
+
} );
|
360
381
|
|
361
382
|
// Make sure one tab is in the tab order
|
362
383
|
if ( !this.active.length ) {
|
363
384
|
this.tabs.eq( 0 ).attr( "tabIndex", 0 );
|
364
385
|
} else {
|
365
386
|
this.active
|
366
|
-
.
|
367
|
-
.attr({
|
387
|
+
.attr( {
|
368
388
|
"aria-selected": "true",
|
389
|
+
"aria-expanded": "true",
|
369
390
|
tabIndex: 0
|
370
|
-
});
|
391
|
+
} );
|
392
|
+
this._addClass( this.active, "ui-tabs-active", "ui-state-active" );
|
371
393
|
this._getPanelForTab( this.active )
|
372
394
|
.show()
|
373
|
-
.attr({
|
374
|
-
"aria-expanded": "true",
|
395
|
+
.attr( {
|
375
396
|
"aria-hidden": "false"
|
376
|
-
});
|
397
|
+
} );
|
377
398
|
}
|
378
399
|
},
|
379
400
|
|
380
401
|
_processTabs: function() {
|
381
|
-
var that = this
|
402
|
+
var that = this,
|
403
|
+
prevTabs = this.tabs,
|
404
|
+
prevAnchors = this.anchors,
|
405
|
+
prevPanels = this.panels;
|
382
406
|
|
383
|
-
this.tablist = this._getList()
|
384
|
-
|
385
|
-
|
407
|
+
this.tablist = this._getList().attr( "role", "tablist" );
|
408
|
+
this._addClass( this.tablist, "ui-tabs-nav",
|
409
|
+
"ui-helper-reset ui-helper-clearfix ui-widget-header" );
|
410
|
+
|
411
|
+
// Prevent users from focusing disabled tabs via click
|
412
|
+
this.tablist
|
413
|
+
.on( "mousedown" + this.eventNamespace, "> li", function( event ) {
|
414
|
+
if ( $( this ).is( ".ui-state-disabled" ) ) {
|
415
|
+
event.preventDefault();
|
416
|
+
}
|
417
|
+
} )
|
418
|
+
|
419
|
+
// Support: IE <9
|
420
|
+
// Preventing the default action in mousedown doesn't prevent IE
|
421
|
+
// from focusing the element, so if the anchor gets focused, blur.
|
422
|
+
// We don't have to worry about focusing the previously focused
|
423
|
+
// element since clicking on a non-focusable element should focus
|
424
|
+
// the body anyway.
|
425
|
+
.on( "focus" + this.eventNamespace, ".ui-tabs-anchor", function() {
|
426
|
+
if ( $( this ).closest( "li" ).is( ".ui-state-disabled" ) ) {
|
427
|
+
this.blur();
|
428
|
+
}
|
429
|
+
} );
|
386
430
|
|
387
431
|
this.tabs = this.tablist.find( "> li:has(a[href])" )
|
388
|
-
.
|
389
|
-
.attr({
|
432
|
+
.attr( {
|
390
433
|
role: "tab",
|
391
434
|
tabIndex: -1
|
392
|
-
});
|
393
|
-
|
394
|
-
|
395
|
-
|
396
|
-
|
397
|
-
|
398
|
-
.attr({
|
399
|
-
role: "presentation",
|
435
|
+
} );
|
436
|
+
this._addClass( this.tabs, "ui-tabs-tab", "ui-state-default" );
|
437
|
+
|
438
|
+
this.anchors = this.tabs.map( function() {
|
439
|
+
return $( "a", this )[ 0 ];
|
440
|
+
} )
|
441
|
+
.attr( {
|
400
442
|
tabIndex: -1
|
401
|
-
});
|
443
|
+
} );
|
444
|
+
this._addClass( this.anchors, "ui-tabs-anchor" );
|
402
445
|
|
403
446
|
this.panels = $();
|
404
447
|
|
405
|
-
this.anchors.each(function( i, anchor ) {
|
448
|
+
this.anchors.each( function( i, anchor ) {
|
406
449
|
var selector, panel, panelId,
|
407
450
|
anchorId = $( anchor ).uniqueId().attr( "id" ),
|
408
451
|
tab = $( anchor ).closest( "li" ),
|
409
452
|
originalAriaControls = tab.attr( "aria-controls" );
|
410
453
|
|
411
|
-
//
|
412
|
-
if (
|
454
|
+
// Inline tab
|
455
|
+
if ( that._isLocal( anchor ) ) {
|
413
456
|
selector = anchor.hash;
|
457
|
+
panelId = selector.substring( 1 );
|
414
458
|
panel = that.element.find( that._sanitizeSelector( selector ) );
|
459
|
+
|
415
460
|
// remote tab
|
416
461
|
} else {
|
417
|
-
|
462
|
+
|
463
|
+
// If the tab doesn't already have aria-controls,
|
464
|
+
// generate an id by using a throw-away element
|
465
|
+
panelId = tab.attr( "aria-controls" ) || $( {} ).uniqueId()[ 0 ].id;
|
418
466
|
selector = "#" + panelId;
|
419
467
|
panel = that.element.find( selector );
|
420
468
|
if ( !panel.length ) {
|
@@ -424,38 +472,45 @@ $.widget( "ui.tabs", {
|
|
424
472
|
panel.attr( "aria-live", "polite" );
|
425
473
|
}
|
426
474
|
|
427
|
-
if ( panel.length) {
|
475
|
+
if ( panel.length ) {
|
428
476
|
that.panels = that.panels.add( panel );
|
429
477
|
}
|
430
478
|
if ( originalAriaControls ) {
|
431
479
|
tab.data( "ui-tabs-aria-controls", originalAriaControls );
|
432
480
|
}
|
433
|
-
tab.attr({
|
434
|
-
"aria-controls":
|
481
|
+
tab.attr( {
|
482
|
+
"aria-controls": panelId,
|
435
483
|
"aria-labelledby": anchorId
|
436
|
-
});
|
484
|
+
} );
|
437
485
|
panel.attr( "aria-labelledby", anchorId );
|
438
|
-
});
|
486
|
+
} );
|
439
487
|
|
440
|
-
this.panels
|
441
|
-
|
442
|
-
|
488
|
+
this.panels.attr( "role", "tabpanel" );
|
489
|
+
this._addClass( this.panels, "ui-tabs-panel", "ui-widget-content" );
|
490
|
+
|
491
|
+
// Avoid memory leaks (#10056)
|
492
|
+
if ( prevTabs ) {
|
493
|
+
this._off( prevTabs.not( this.tabs ) );
|
494
|
+
this._off( prevAnchors.not( this.anchors ) );
|
495
|
+
this._off( prevPanels.not( this.panels ) );
|
496
|
+
}
|
443
497
|
},
|
444
498
|
|
445
|
-
//
|
499
|
+
// Allow overriding how to find the list for rare usage scenarios (#7715)
|
446
500
|
_getList: function() {
|
447
|
-
return this.tablist || this.element.find( "ol,ul" ).eq( 0 );
|
501
|
+
return this.tablist || this.element.find( "ol, ul" ).eq( 0 );
|
448
502
|
},
|
449
503
|
|
450
504
|
_createPanel: function( id ) {
|
451
505
|
return $( "<div>" )
|
452
506
|
.attr( "id", id )
|
453
|
-
.addClass( "ui-tabs-panel ui-widget-content ui-corner-bottom" )
|
454
507
|
.data( "ui-tabs-destroy", true );
|
455
508
|
},
|
456
509
|
|
457
|
-
|
458
|
-
|
510
|
+
_setOptionDisabled: function( disabled ) {
|
511
|
+
var currentItem, li, i;
|
512
|
+
|
513
|
+
if ( Array.isArray( disabled ) ) {
|
459
514
|
if ( !disabled.length ) {
|
460
515
|
disabled = false;
|
461
516
|
} else if ( disabled.length === this.anchors.length ) {
|
@@ -463,35 +518,40 @@ $.widget( "ui.tabs", {
|
|
463
518
|
}
|
464
519
|
}
|
465
520
|
|
466
|
-
//
|
467
|
-
for (
|
521
|
+
// Disable tabs
|
522
|
+
for ( i = 0; ( li = this.tabs[ i ] ); i++ ) {
|
523
|
+
currentItem = $( li );
|
468
524
|
if ( disabled === true || $.inArray( i, disabled ) !== -1 ) {
|
469
|
-
|
470
|
-
|
471
|
-
.attr( "aria-disabled", "true" );
|
525
|
+
currentItem.attr( "aria-disabled", "true" );
|
526
|
+
this._addClass( currentItem, null, "ui-state-disabled" );
|
472
527
|
} else {
|
473
|
-
|
474
|
-
|
475
|
-
.removeAttr( "aria-disabled" );
|
528
|
+
currentItem.removeAttr( "aria-disabled" );
|
529
|
+
this._removeClass( currentItem, null, "ui-state-disabled" );
|
476
530
|
}
|
477
531
|
}
|
478
532
|
|
479
533
|
this.options.disabled = disabled;
|
534
|
+
|
535
|
+
this._toggleClass( this.widget(), this.widgetFullName + "-disabled", null,
|
536
|
+
disabled === true );
|
480
537
|
},
|
481
538
|
|
482
539
|
_setupEvents: function( event ) {
|
483
|
-
var events = {
|
484
|
-
click: function( event ) {
|
485
|
-
event.preventDefault();
|
486
|
-
}
|
487
|
-
};
|
540
|
+
var events = {};
|
488
541
|
if ( event ) {
|
489
|
-
$.each( event.split(" "), function( index, eventName ) {
|
542
|
+
$.each( event.split( " " ), function( index, eventName ) {
|
490
543
|
events[ eventName ] = "_eventHandler";
|
491
|
-
});
|
544
|
+
} );
|
492
545
|
}
|
493
546
|
|
494
547
|
this._off( this.anchors.add( this.tabs ).add( this.panels ) );
|
548
|
+
|
549
|
+
// Always prevent the default action, even when disabled
|
550
|
+
this._on( true, this.anchors, {
|
551
|
+
click: function( event ) {
|
552
|
+
event.preventDefault();
|
553
|
+
}
|
554
|
+
} );
|
495
555
|
this._on( this.anchors, events );
|
496
556
|
this._on( this.tabs, { keydown: "_tabKeydown" } );
|
497
557
|
this._on( this.panels, { keydown: "_panelKeydown" } );
|
@@ -508,7 +568,7 @@ $.widget( "ui.tabs", {
|
|
508
568
|
maxHeight = parent.height();
|
509
569
|
maxHeight -= this.element.outerHeight() - this.element.height();
|
510
570
|
|
511
|
-
this.element.siblings( ":visible" ).each(function() {
|
571
|
+
this.element.siblings( ":visible" ).each( function() {
|
512
572
|
var elem = $( this ),
|
513
573
|
position = elem.css( "position" );
|
514
574
|
|
@@ -516,22 +576,22 @@ $.widget( "ui.tabs", {
|
|
516
576
|
return;
|
517
577
|
}
|
518
578
|
maxHeight -= elem.outerHeight( true );
|
519
|
-
});
|
579
|
+
} );
|
520
580
|
|
521
|
-
this.element.children().not( this.panels ).each(function() {
|
581
|
+
this.element.children().not( this.panels ).each( function() {
|
522
582
|
maxHeight -= $( this ).outerHeight( true );
|
523
|
-
});
|
583
|
+
} );
|
524
584
|
|
525
|
-
this.panels.each(function() {
|
585
|
+
this.panels.each( function() {
|
526
586
|
$( this ).height( Math.max( 0, maxHeight -
|
527
587
|
$( this ).innerHeight() + $( this ).height() ) );
|
528
|
-
})
|
529
|
-
|
588
|
+
} )
|
589
|
+
.css( "overflow", "auto" );
|
530
590
|
} else if ( heightStyle === "auto" ) {
|
531
591
|
maxHeight = 0;
|
532
|
-
this.panels.each(function() {
|
592
|
+
this.panels.each( function() {
|
533
593
|
maxHeight = Math.max( maxHeight, $( this ).height( "" ).height() );
|
534
|
-
}).height( maxHeight );
|
594
|
+
} ).height( maxHeight );
|
535
595
|
}
|
536
596
|
},
|
537
597
|
|
@@ -554,12 +614,16 @@ $.widget( "ui.tabs", {
|
|
554
614
|
event.preventDefault();
|
555
615
|
|
556
616
|
if ( tab.hasClass( "ui-state-disabled" ) ||
|
617
|
+
|
557
618
|
// tab is already loading
|
558
619
|
tab.hasClass( "ui-tabs-loading" ) ||
|
620
|
+
|
559
621
|
// can't switch durning an animation
|
560
622
|
this.running ||
|
623
|
+
|
561
624
|
// click on active header, but not collapsible
|
562
625
|
( clickedIsActive && !options.collapsible ) ||
|
626
|
+
|
563
627
|
// allow canceling activation
|
564
628
|
( this._trigger( "beforeActivate", event, eventData ) === false ) ) {
|
565
629
|
return;
|
@@ -582,7 +646,7 @@ $.widget( "ui.tabs", {
|
|
582
646
|
this._toggle( event, eventData );
|
583
647
|
},
|
584
648
|
|
585
|
-
//
|
649
|
+
// Handles show/hide for selecting tabs
|
586
650
|
_toggle: function( event, eventData ) {
|
587
651
|
var that = this,
|
588
652
|
toShow = eventData.newPanel,
|
@@ -596,7 +660,7 @@ $.widget( "ui.tabs", {
|
|
596
660
|
}
|
597
661
|
|
598
662
|
function show() {
|
599
|
-
eventData.newTab.closest( "li" )
|
663
|
+
that._addClass( eventData.newTab.closest( "li" ), "ui-tabs-active", "ui-state-active" );
|
600
664
|
|
601
665
|
if ( toShow.length && that.options.show ) {
|
602
666
|
that._show( toShow, that.options.show, complete );
|
@@ -606,65 +670,66 @@ $.widget( "ui.tabs", {
|
|
606
670
|
}
|
607
671
|
}
|
608
672
|
|
609
|
-
//
|
673
|
+
// Start out by hiding, then showing, then completing
|
610
674
|
if ( toHide.length && this.options.hide ) {
|
611
675
|
this._hide( toHide, this.options.hide, function() {
|
612
|
-
eventData.oldTab.closest( "li" )
|
676
|
+
that._removeClass( eventData.oldTab.closest( "li" ),
|
677
|
+
"ui-tabs-active", "ui-state-active" );
|
613
678
|
show();
|
614
|
-
});
|
679
|
+
} );
|
615
680
|
} else {
|
616
|
-
eventData.oldTab.closest( "li" )
|
681
|
+
this._removeClass( eventData.oldTab.closest( "li" ),
|
682
|
+
"ui-tabs-active", "ui-state-active" );
|
617
683
|
toHide.hide();
|
618
684
|
show();
|
619
685
|
}
|
620
686
|
|
621
|
-
toHide.attr(
|
622
|
-
|
623
|
-
"aria-
|
624
|
-
|
625
|
-
|
687
|
+
toHide.attr( "aria-hidden", "true" );
|
688
|
+
eventData.oldTab.attr( {
|
689
|
+
"aria-selected": "false",
|
690
|
+
"aria-expanded": "false"
|
691
|
+
} );
|
692
|
+
|
626
693
|
// If we're switching tabs, remove the old tab from the tab order.
|
627
694
|
// If we're opening from collapsed state, remove the previous tab from the tab order.
|
628
695
|
// If we're collapsing, then keep the collapsing tab in the tab order.
|
629
696
|
if ( toShow.length && toHide.length ) {
|
630
697
|
eventData.oldTab.attr( "tabIndex", -1 );
|
631
698
|
} else if ( toShow.length ) {
|
632
|
-
this.tabs.filter(function() {
|
699
|
+
this.tabs.filter( function() {
|
633
700
|
return $( this ).attr( "tabIndex" ) === 0;
|
634
|
-
})
|
635
|
-
|
701
|
+
} )
|
702
|
+
.attr( "tabIndex", -1 );
|
636
703
|
}
|
637
704
|
|
638
|
-
toShow.attr(
|
639
|
-
|
640
|
-
"aria-hidden": "false"
|
641
|
-
});
|
642
|
-
eventData.newTab.attr({
|
705
|
+
toShow.attr( "aria-hidden", "false" );
|
706
|
+
eventData.newTab.attr( {
|
643
707
|
"aria-selected": "true",
|
708
|
+
"aria-expanded": "true",
|
644
709
|
tabIndex: 0
|
645
|
-
});
|
710
|
+
} );
|
646
711
|
},
|
647
712
|
|
648
713
|
_activate: function( index ) {
|
649
714
|
var anchor,
|
650
715
|
active = this._findActive( index );
|
651
716
|
|
652
|
-
//
|
717
|
+
// Trying to activate the already active panel
|
653
718
|
if ( active[ 0 ] === this.active[ 0 ] ) {
|
654
719
|
return;
|
655
720
|
}
|
656
721
|
|
657
|
-
//
|
722
|
+
// Trying to collapse, simulate a click on the current active header
|
658
723
|
if ( !active.length ) {
|
659
724
|
active = this.active;
|
660
725
|
}
|
661
726
|
|
662
727
|
anchor = active.find( ".ui-tabs-anchor" )[ 0 ];
|
663
|
-
this._eventHandler({
|
728
|
+
this._eventHandler( {
|
664
729
|
target: anchor,
|
665
730
|
currentTarget: anchor,
|
666
731
|
preventDefault: $.noop
|
667
|
-
});
|
732
|
+
} );
|
668
733
|
},
|
669
734
|
|
670
735
|
_findActive: function( index ) {
|
@@ -672,9 +737,11 @@ $.widget( "ui.tabs", {
|
|
672
737
|
},
|
673
738
|
|
674
739
|
_getIndex: function( index ) {
|
740
|
+
|
675
741
|
// meta-function to give users option to provide a href string instead of a numerical index.
|
676
742
|
if ( typeof index === "string" ) {
|
677
|
-
index = this.anchors.index( this.anchors.filter( "[href$='" +
|
743
|
+
index = this.anchors.index( this.anchors.filter( "[href$='" +
|
744
|
+
$.escapeSelector( index ) + "']" ) );
|
678
745
|
}
|
679
746
|
|
680
747
|
return index;
|
@@ -685,37 +752,24 @@ $.widget( "ui.tabs", {
|
|
685
752
|
this.xhr.abort();
|
686
753
|
}
|
687
754
|
|
688
|
-
this.element.removeClass( "ui-tabs ui-widget ui-widget-content ui-corner-all ui-tabs-collapsible" );
|
689
|
-
|
690
755
|
this.tablist
|
691
|
-
.
|
692
|
-
.
|
756
|
+
.removeAttr( "role" )
|
757
|
+
.off( this.eventNamespace );
|
693
758
|
|
694
759
|
this.anchors
|
695
|
-
.
|
696
|
-
.removeAttr( "role" )
|
697
|
-
.removeAttr( "tabIndex" )
|
760
|
+
.removeAttr( "role tabIndex" )
|
698
761
|
.removeUniqueId();
|
699
762
|
|
700
|
-
this.tabs.add( this.panels ).each(function() {
|
763
|
+
this.tabs.add( this.panels ).each( function() {
|
701
764
|
if ( $.data( this, "ui-tabs-destroy" ) ) {
|
702
765
|
$( this ).remove();
|
703
766
|
} else {
|
704
|
-
$( this )
|
705
|
-
|
706
|
-
"ui-corner-top ui-corner-bottom ui-widget-content ui-tabs-active ui-tabs-panel" )
|
707
|
-
.removeAttr( "tabIndex" )
|
708
|
-
.removeAttr( "aria-live" )
|
709
|
-
.removeAttr( "aria-busy" )
|
710
|
-
.removeAttr( "aria-selected" )
|
711
|
-
.removeAttr( "aria-labelledby" )
|
712
|
-
.removeAttr( "aria-hidden" )
|
713
|
-
.removeAttr( "aria-expanded" )
|
714
|
-
.removeAttr( "role" );
|
767
|
+
$( this ).removeAttr( "role tabIndex " +
|
768
|
+
"aria-live aria-busy aria-selected aria-labelledby aria-hidden aria-expanded" );
|
715
769
|
}
|
716
|
-
});
|
770
|
+
} );
|
717
771
|
|
718
|
-
this.tabs.each(function() {
|
772
|
+
this.tabs.each( function() {
|
719
773
|
var li = $( this ),
|
720
774
|
prev = li.data( "ui-tabs-aria-controls" );
|
721
775
|
if ( prev ) {
|
@@ -725,7 +779,7 @@ $.widget( "ui.tabs", {
|
|
725
779
|
} else {
|
726
780
|
li.removeAttr( "aria-controls" );
|
727
781
|
}
|
728
|
-
});
|
782
|
+
} );
|
729
783
|
|
730
784
|
this.panels.show();
|
731
785
|
|
@@ -744,17 +798,17 @@ $.widget( "ui.tabs", {
|
|
744
798
|
disabled = false;
|
745
799
|
} else {
|
746
800
|
index = this._getIndex( index );
|
747
|
-
if (
|
801
|
+
if ( Array.isArray( disabled ) ) {
|
748
802
|
disabled = $.map( disabled, function( num ) {
|
749
803
|
return num !== index ? num : null;
|
750
|
-
});
|
804
|
+
} );
|
751
805
|
} else {
|
752
806
|
disabled = $.map( this.tabs, function( li, num ) {
|
753
807
|
return num !== index ? num : null;
|
754
|
-
});
|
808
|
+
} );
|
755
809
|
}
|
756
810
|
}
|
757
|
-
this.
|
811
|
+
this._setOptionDisabled( disabled );
|
758
812
|
},
|
759
813
|
|
760
814
|
disable: function( index ) {
|
@@ -770,13 +824,13 @@ $.widget( "ui.tabs", {
|
|
770
824
|
if ( $.inArray( index, disabled ) !== -1 ) {
|
771
825
|
return;
|
772
826
|
}
|
773
|
-
if (
|
827
|
+
if ( Array.isArray( disabled ) ) {
|
774
828
|
disabled = $.merge( [ index ], disabled ).sort();
|
775
829
|
} else {
|
776
830
|
disabled = [ index ];
|
777
831
|
}
|
778
832
|
}
|
779
|
-
this.
|
833
|
+
this._setOptionDisabled( disabled );
|
780
834
|
},
|
781
835
|
|
782
836
|
load: function( index, event ) {
|
@@ -788,57 +842,67 @@ $.widget( "ui.tabs", {
|
|
788
842
|
eventData = {
|
789
843
|
tab: tab,
|
790
844
|
panel: panel
|
845
|
+
},
|
846
|
+
complete = function( jqXHR, status ) {
|
847
|
+
if ( status === "abort" ) {
|
848
|
+
that.panels.stop( false, true );
|
849
|
+
}
|
850
|
+
|
851
|
+
that._removeClass( tab, "ui-tabs-loading" );
|
852
|
+
panel.removeAttr( "aria-busy" );
|
853
|
+
|
854
|
+
if ( jqXHR === that.xhr ) {
|
855
|
+
delete that.xhr;
|
856
|
+
}
|
791
857
|
};
|
792
858
|
|
793
|
-
//
|
794
|
-
if (
|
859
|
+
// Not remote
|
860
|
+
if ( this._isLocal( anchor[ 0 ] ) ) {
|
795
861
|
return;
|
796
862
|
}
|
797
863
|
|
798
864
|
this.xhr = $.ajax( this._ajaxSettings( anchor, event, eventData ) );
|
799
865
|
|
800
|
-
//
|
866
|
+
// Support: jQuery <1.8
|
801
867
|
// jQuery <1.8 returns false if the request is canceled in beforeSend,
|
802
868
|
// but as of 1.8, $.ajax() always returns a jqXHR object.
|
803
869
|
if ( this.xhr && this.xhr.statusText !== "canceled" ) {
|
804
|
-
|
870
|
+
this._addClass( tab, "ui-tabs-loading" );
|
805
871
|
panel.attr( "aria-busy", "true" );
|
806
872
|
|
807
873
|
this.xhr
|
808
|
-
.
|
874
|
+
.done( function( response, status, jqXHR ) {
|
875
|
+
|
809
876
|
// support: jQuery <1.8
|
810
877
|
// http://bugs.jquery.com/ticket/11778
|
811
|
-
setTimeout(function() {
|
878
|
+
setTimeout( function() {
|
812
879
|
panel.html( response );
|
813
880
|
that._trigger( "load", event, eventData );
|
881
|
+
|
882
|
+
complete( jqXHR, status );
|
814
883
|
}, 1 );
|
815
|
-
})
|
816
|
-
.
|
884
|
+
} )
|
885
|
+
.fail( function( jqXHR, status ) {
|
886
|
+
|
817
887
|
// support: jQuery <1.8
|
818
888
|
// http://bugs.jquery.com/ticket/11778
|
819
|
-
setTimeout(function() {
|
820
|
-
|
821
|
-
that.panels.stop( false, true );
|
822
|
-
}
|
823
|
-
|
824
|
-
tab.removeClass( "ui-tabs-loading" );
|
825
|
-
panel.removeAttr( "aria-busy" );
|
826
|
-
|
827
|
-
if ( jqXHR === that.xhr ) {
|
828
|
-
delete that.xhr;
|
829
|
-
}
|
889
|
+
setTimeout( function() {
|
890
|
+
complete( jqXHR, status );
|
830
891
|
}, 1 );
|
831
|
-
});
|
892
|
+
} );
|
832
893
|
}
|
833
894
|
},
|
834
895
|
|
835
896
|
_ajaxSettings: function( anchor, event, eventData ) {
|
836
897
|
var that = this;
|
837
898
|
return {
|
838
|
-
|
899
|
+
|
900
|
+
// Support: IE <11 only
|
901
|
+
// Strip any hash that exists to prevent errors with the Ajax request
|
902
|
+
url: anchor.attr( "href" ).replace( /#.*$/, "" ),
|
839
903
|
beforeSend: function( jqXHR, settings ) {
|
840
904
|
return that._trigger( "beforeLoad", event,
|
841
|
-
$.extend( { jqXHR
|
905
|
+
$.extend( { jqXHR: jqXHR, ajaxSettings: settings }, eventData ) );
|
842
906
|
}
|
843
907
|
};
|
844
908
|
},
|
@@ -847,6 +911,21 @@ $.widget( "ui.tabs", {
|
|
847
911
|
var id = $( tab ).attr( "aria-controls" );
|
848
912
|
return this.element.find( this._sanitizeSelector( "#" + id ) );
|
849
913
|
}
|
850
|
-
});
|
914
|
+
} );
|
915
|
+
|
916
|
+
// DEPRECATED
|
917
|
+
// TODO: Switch return back to widget declaration at top of file when this is removed
|
918
|
+
if ( $.uiBackCompat !== false ) {
|
919
|
+
|
920
|
+
// Backcompat for ui-tab class (now ui-tabs-tab)
|
921
|
+
$.widget( "ui.tabs", $.ui.tabs, {
|
922
|
+
_processTabs: function() {
|
923
|
+
this._superApply( arguments );
|
924
|
+
this._addClass( this.tabs, "ui-tab" );
|
925
|
+
}
|
926
|
+
} );
|
927
|
+
}
|
928
|
+
|
929
|
+
return $.ui.tabs;
|
851
930
|
|
852
|
-
}
|
931
|
+
} );
|