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