compass-jquery-plugin 0.3.0.0 → 0.3.1.beta.2
Sign up to get free protection for your applications and to get access to all the features.
- data/README.textile +69 -13
- data/Rakefile +1 -1
- data/VERSION.yml +2 -2
- data/gem_tasks/jqgrid.rake +119 -0
- data/gem_tasks/jrails.rake +78 -77
- data/gem_tasks/mobile.rake +156 -0
- data/gem_tasks/rubygems.rake +5 -1
- data/gem_tasks/secret_sauce.rake +64 -0
- data/lib/jquery/gridify.rb +42 -0
- data/lib/jquery/gridify/assertions.rb +37 -0
- data/lib/jquery/gridify/grid.rb +210 -0
- data/lib/jquery/gridify/grid_column.rb +134 -0
- data/lib/jquery/gridify/grid_finder.rb +223 -0
- data/lib/jquery/gridify/grid_options.rb +279 -0
- data/lib/jquery/gridify/grid_view.rb +435 -0
- data/lib/jquery/jqgrid.rb +5 -0
- data/lib/jquery/jqgrid/jqgrid.rb +438 -0
- data/lib/jquery/mobile.rb +3 -0
- data/lib/jquery/secret_sauce.rb +9 -0
- data/lib/jquery/secret_sauce/controller/ui_dialog_controls.rb +14 -0
- data/lib/jquery/secret_sauce/controller/ui_grid_controls.rb +18 -0
- data/lib/jquery/secret_sauce/helpers/ui_dialog_helper.rb +6 -0
- data/lib/jquery/secret_sauce/helpers/ui_form_helper.rb +118 -0
- data/lib/jquery/secret_sauce/helpers/ui_grid_helper.rb +226 -0
- data/lib/jquery/secret_sauce/model/find_for_grid.rb +42 -0
- data/templates/dynatree/jquery.dynatree.js +258 -147
- data/templates/dynatree/jquery.dynatree.min.js +81 -79
- data/templates/dynatree/jquery/dynatree/aero.scss +35 -18
- data/templates/dynatree/jquery/dynatree/aero/drop_sibling_here.png +0 -0
- data/templates/dynatree/jquery/dynatree/aqua.scss +36 -19
- data/templates/dynatree/jquery/dynatree/aqua/drop_sibling_here.png +0 -0
- data/templates/dynatree/jquery/dynatree/crystal.scss +38 -21
- data/templates/dynatree/jquery/dynatree/crystal/drop_sibling_here.png +0 -0
- data/templates/dynatree/jquery/dynatree/xp.scss +59 -42
- data/templates/dynatree/jquery/dynatree/xp/drop_sibling_here.png +0 -0
- data/templates/dynatree/manifest.rb +4 -0
- data/templates/jqgrid/config/initializers/jqgrid.rb +4 -0
- data/templates/jqgrid/config/locales/jquery/jqgrid/de.yml +7 -0
- data/templates/jqgrid/config/locales/jquery/jqgrid/en.yml +7 -0
- data/templates/jqgrid/i18n/jqgrid/locale-bg.js +132 -0
- data/templates/jqgrid/i18n/jqgrid/locale-bg.min.js +6 -0
- data/templates/jqgrid/i18n/jqgrid/locale-bg1251.js +132 -0
- data/templates/jqgrid/i18n/jqgrid/locale-bg1251.min.js +6 -0
- data/templates/jqgrid/i18n/jqgrid/locale-cat.js +128 -0
- data/templates/jqgrid/i18n/jqgrid/locale-cat.min.js +6 -0
- data/templates/jqgrid/i18n/jqgrid/locale-cn.js +132 -0
- data/templates/jqgrid/i18n/jqgrid/locale-cn.min.js +5 -0
- data/templates/jqgrid/i18n/jqgrid/locale-cs.js +128 -0
- data/templates/jqgrid/i18n/jqgrid/locale-cs.min.js +6 -0
- data/templates/jqgrid/i18n/jqgrid/locale-da.js +128 -0
- data/templates/jqgrid/i18n/jqgrid/locale-da.min.js +6 -0
- data/templates/jqgrid/i18n/jqgrid/locale-de.js +133 -0
- data/templates/jqgrid/i18n/jqgrid/locale-de.min.js +7 -0
- data/templates/jqgrid/i18n/jqgrid/locale-el.js +126 -0
- data/templates/jqgrid/i18n/jqgrid/locale-el.min.js +7 -0
- data/templates/jqgrid/i18n/jqgrid/locale-en.js +128 -0
- data/templates/jqgrid/i18n/jqgrid/locale-en.min.js +6 -0
- data/templates/jqgrid/i18n/jqgrid/locale-es.js +128 -0
- data/templates/jqgrid/i18n/jqgrid/locale-es.min.js +7 -0
- data/templates/jqgrid/i18n/jqgrid/locale-fa.js +125 -0
- data/templates/jqgrid/i18n/jqgrid/locale-fa.min.js +6 -0
- data/templates/jqgrid/i18n/jqgrid/locale-fi.js +130 -0
- data/templates/jqgrid/i18n/jqgrid/locale-fi.min.js +6 -0
- data/templates/jqgrid/i18n/jqgrid/locale-fr.js +126 -0
- data/templates/jqgrid/i18n/jqgrid/locale-fr.min.js +7 -0
- data/templates/jqgrid/i18n/jqgrid/locale-gl.js +126 -0
- data/templates/jqgrid/i18n/jqgrid/locale-gl.min.js +7 -0
- data/templates/jqgrid/i18n/jqgrid/locale-he.js +127 -0
- data/templates/jqgrid/i18n/jqgrid/locale-he.min.js +6 -0
- data/templates/jqgrid/i18n/jqgrid/locale-hu.js +129 -0
- data/templates/jqgrid/i18n/jqgrid/locale-hu.min.js +6 -0
- data/templates/jqgrid/i18n/jqgrid/locale-is.js +126 -0
- data/templates/jqgrid/i18n/jqgrid/locale-is.min.js +6 -0
- data/templates/jqgrid/i18n/jqgrid/locale-it.js +1 -0
- data/templates/jqgrid/i18n/jqgrid/locale-it.min.js +7 -0
- data/templates/jqgrid/i18n/jqgrid/locale-ja.js +155 -0
- data/templates/jqgrid/i18n/jqgrid/locale-ja.min.js +5 -0
- data/templates/jqgrid/i18n/jqgrid/locale-nl.js +149 -0
- data/templates/jqgrid/i18n/jqgrid/locale-nl.min.js +6 -0
- data/templates/jqgrid/i18n/jqgrid/locale-no.js +1 -0
- data/templates/jqgrid/i18n/jqgrid/locale-no.min.js +6 -0
- data/templates/jqgrid/i18n/jqgrid/locale-pl.js +127 -0
- data/templates/jqgrid/i18n/jqgrid/locale-pl.min.js +6 -0
- data/templates/jqgrid/i18n/jqgrid/locale-pt-br.js +127 -0
- data/templates/jqgrid/i18n/jqgrid/locale-pt-br.min.js +6 -0
- data/templates/jqgrid/i18n/jqgrid/locale-pt.js +125 -0
- data/templates/jqgrid/i18n/jqgrid/locale-pt.min.js +6 -0
- data/templates/jqgrid/i18n/jqgrid/locale-ro.js +139 -0
- data/templates/jqgrid/i18n/jqgrid/locale-ro.min.js +7 -0
- data/templates/jqgrid/i18n/jqgrid/locale-ru.js +127 -0
- data/templates/jqgrid/i18n/jqgrid/locale-ru.min.js +7 -0
- data/templates/jqgrid/i18n/jqgrid/locale-sk.js +127 -0
- data/templates/jqgrid/i18n/jqgrid/locale-sk.min.js +6 -0
- data/templates/jqgrid/i18n/jqgrid/locale-sr.js +128 -0
- data/templates/jqgrid/i18n/jqgrid/locale-sr.min.js +6 -0
- data/templates/jqgrid/i18n/jqgrid/locale-sv.js +127 -0
- data/templates/jqgrid/i18n/jqgrid/locale-sv.min.js +6 -0
- data/templates/jqgrid/i18n/jqgrid/locale-tr.js +126 -0
- data/templates/jqgrid/i18n/jqgrid/locale-tr.min.js +6 -0
- data/templates/jqgrid/i18n/jqgrid/locale-ua.js +127 -0
- data/templates/jqgrid/i18n/jqgrid/locale-ua.min.js +7 -0
- data/templates/jqgrid/jquery.jqGrid.js +11604 -0
- data/templates/jqgrid/jquery.jqGrid.min.js +472 -0
- data/templates/jqgrid/jquery/jqGrid.scss +692 -0
- data/templates/jqgrid/manifest.rb +72 -0
- data/templates/jqgrid/public/stylesheets/ellipsis-xbl.xml +13 -0
- data/templates/jqtouch/jquery/touch/apple.scss +5 -5
- data/templates/jqtouch/jquery/touch/default.scss +5 -5
- data/templates/jqtouch/jquery/touch/jqt.scss +5 -5
- data/templates/jrails/config/initializers/jrails.rb +3 -0
- data/templates/jrails/jquery-ui.js +45 -62
- data/templates/jrails/jquery-ui.min.js +22 -22
- data/templates/jrails/jquery.js +340 -206
- data/templates/jrails/jquery.min.js +152 -151
- data/templates/jrails/jquery.tmpl.js +489 -0
- data/templates/jrails/jquery.tmpl.min.js +12 -0
- data/templates/jrails/jquery.tmplPlus.js +98 -0
- data/templates/jrails/jquery.tmplPlus.min.js +3 -0
- data/templates/jrails/jquery/ui/_theme.scss +3 -1
- data/templates/jrails/manifest.rb +4 -0
- data/templates/jstree/jquery.jstree.js +4479 -4468
- data/templates/jstree/jquery.jstree.min.js +4 -3
- data/templates/mobile/config/initializers/mobile.rb +6 -0
- data/templates/mobile/glyphish/Read me first - license.txt +14 -0
- data/templates/mobile/glyphish/icons-black/01-refresh.png +0 -0
- data/templates/mobile/glyphish/icons-black/02-redo.png +0 -0
- data/templates/mobile/glyphish/icons-black/03-loopback.png +0 -0
- data/templates/mobile/glyphish/icons-black/04-squiggle.png +0 -0
- data/templates/mobile/glyphish/icons-black/05-shuffle.png +0 -0
- data/templates/mobile/glyphish/icons-black/06-magnifying-glass.png +0 -0
- data/templates/mobile/glyphish/icons-black/07-map-marker.png +0 -0
- data/templates/mobile/glyphish/icons-black/08-chat.png +0 -0
- data/templates/mobile/glyphish/icons-black/09-chat2.png +0 -0
- data/templates/mobile/glyphish/icons-black/10-medical.png +0 -0
- data/templates/mobile/glyphish/icons-black/100-coffee.png +0 -0
- data/templates/mobile/glyphish/icons-black/101-gameplan.png +0 -0
- data/templates/mobile/glyphish/icons-black/102-walk.png +0 -0
- data/templates/mobile/glyphish/icons-black/103-map.png +0 -0
- data/templates/mobile/glyphish/icons-black/104-index-cards.png +0 -0
- data/templates/mobile/glyphish/icons-black/105-piano.png +0 -0
- data/templates/mobile/glyphish/icons-black/106-sliders.png +0 -0
- data/templates/mobile/glyphish/icons-black/107-widescreen.png +0 -0
- data/templates/mobile/glyphish/icons-black/108-badge.png +0 -0
- data/templates/mobile/glyphish/icons-black/109-chicken.png +0 -0
- data/templates/mobile/glyphish/icons-black/11-clock.png +0 -0
- data/templates/mobile/glyphish/icons-black/110-bug.png +0 -0
- data/templates/mobile/glyphish/icons-black/111-user.png +0 -0
- data/templates/mobile/glyphish/icons-black/112-group.png +0 -0
- data/templates/mobile/glyphish/icons-black/113-navigation.png +0 -0
- data/templates/mobile/glyphish/icons-black/114-balloon.png +0 -0
- data/templates/mobile/glyphish/icons-black/115-bow-and-arrow.png +0 -0
- data/templates/mobile/glyphish/icons-black/116-controller.png +0 -0
- data/templates/mobile/glyphish/icons-black/117-todo.png +0 -0
- data/templates/mobile/glyphish/icons-black/118-coathanger.png +0 -0
- data/templates/mobile/glyphish/icons-black/119-piggybank.png +0 -0
- data/templates/mobile/glyphish/icons-black/12-eye.png +0 -0
- data/templates/mobile/glyphish/icons-black/120-headphones.png +0 -0
- data/templates/mobile/glyphish/icons-black/121-lanscape.png +0 -0
- data/templates/mobile/glyphish/icons-black/122-stats.png +0 -0
- data/templates/mobile/glyphish/icons-black/123-id-card.png +0 -0
- data/templates/mobile/glyphish/icons-black/124-bullhorn.png +0 -0
- data/templates/mobile/glyphish/icons-black/125-food.png +0 -0
- data/templates/mobile/glyphish/icons-black/126-moon.png +0 -0
- data/templates/mobile/glyphish/icons-black/127-sock.png +0 -0
- data/templates/mobile/glyphish/icons-black/128-bone.png +0 -0
- data/templates/mobile/glyphish/icons-black/129-golf.png +0 -0
- data/templates/mobile/glyphish/icons-black/13-target.png +0 -0
- data/templates/mobile/glyphish/icons-black/130-dice.png +0 -0
- data/templates/mobile/glyphish/icons-black/14-tag.png +0 -0
- data/templates/mobile/glyphish/icons-black/15-tags.png +0 -0
- data/templates/mobile/glyphish/icons-black/16-line-chart.png +0 -0
- data/templates/mobile/glyphish/icons-black/17-bar-chart.png +0 -0
- data/templates/mobile/glyphish/icons-black/18-envelope.png +0 -0
- data/templates/mobile/glyphish/icons-black/19-gear.png +0 -0
- data/templates/mobile/glyphish/icons-black/20-gear2.png +0 -0
- data/templates/mobile/glyphish/icons-black/21-skull.png +0 -0
- data/templates/mobile/glyphish/icons-black/22-skull-n-crossbones.png +0 -0
- data/templates/mobile/glyphish/icons-black/23-bird.png +0 -0
- data/templates/mobile/glyphish/icons-black/24-gift.png +0 -0
- data/templates/mobile/glyphish/icons-black/25-weather.png +0 -0
- data/templates/mobile/glyphish/icons-black/26-bandaid.png +0 -0
- data/templates/mobile/glyphish/icons-black/27-planet.png +0 -0
- data/templates/mobile/glyphish/icons-black/28-star.png +0 -0
- data/templates/mobile/glyphish/icons-black/29-heart.png +0 -0
- data/templates/mobile/glyphish/icons-black/30-key.png +0 -0
- data/templates/mobile/glyphish/icons-black/31-ipod.png +0 -0
- data/templates/mobile/glyphish/icons-black/32-iphone.png +0 -0
- data/templates/mobile/glyphish/icons-black/33-cabinet.png +0 -0
- data/templates/mobile/glyphish/icons-black/34-coffee.png +0 -0
- data/templates/mobile/glyphish/icons-black/35-shopping-bag.png +0 -0
- data/templates/mobile/glyphish/icons-black/36-toolbox.png +0 -0
- data/templates/mobile/glyphish/icons-black/37-suitcase.png +0 -0
- data/templates/mobile/glyphish/icons-black/38-airplane.png +0 -0
- data/templates/mobile/glyphish/icons-black/39-spraycan.png +0 -0
- data/templates/mobile/glyphish/icons-black/40-inbox.png +0 -0
- data/templates/mobile/glyphish/icons-black/41-picture-frame.png +0 -0
- data/templates/mobile/glyphish/icons-black/42-photos.png +0 -0
- data/templates/mobile/glyphish/icons-black/43-film-roll.png +0 -0
- data/templates/mobile/glyphish/icons-black/44-shoebox.png +0 -0
- data/templates/mobile/glyphish/icons-black/45-movie1.png +0 -0
- data/templates/mobile/glyphish/icons-black/46-movie2.png +0 -0
- data/templates/mobile/glyphish/icons-black/47-fuel.png +0 -0
- data/templates/mobile/glyphish/icons-black/48-fork-and-knife.png +0 -0
- data/templates/mobile/glyphish/icons-black/49-battery.png +0 -0
- data/templates/mobile/glyphish/icons-black/50-beaker.png +0 -0
- data/templates/mobile/glyphish/icons-black/51-outlet.png +0 -0
- data/templates/mobile/glyphish/icons-black/52-pinetree.png +0 -0
- data/templates/mobile/glyphish/icons-black/53-house.png +0 -0
- data/templates/mobile/glyphish/icons-black/54-lock.png +0 -0
- data/templates/mobile/glyphish/icons-black/55-network.png +0 -0
- data/templates/mobile/glyphish/icons-black/56-cloud.png +0 -0
- data/templates/mobile/glyphish/icons-black/57-download.png +0 -0
- data/templates/mobile/glyphish/icons-black/58-bookmark.png +0 -0
- data/templates/mobile/glyphish/icons-black/59-flag.png +0 -0
- data/templates/mobile/glyphish/icons-black/60-signpost.png +0 -0
- data/templates/mobile/glyphish/icons-black/61-brightness.png +0 -0
- data/templates/mobile/glyphish/icons-black/62-contrast.png +0 -0
- data/templates/mobile/glyphish/icons-black/63-runner.png +0 -0
- data/templates/mobile/glyphish/icons-black/64-zap.png +0 -0
- data/templates/mobile/glyphish/icons-black/65-note.png +0 -0
- data/templates/mobile/glyphish/icons-black/66-microphone.png +0 -0
- data/templates/mobile/glyphish/icons-black/67-tshirt.png +0 -0
- data/templates/mobile/glyphish/icons-black/68-paperclip.png +0 -0
- data/templates/mobile/glyphish/icons-black/69-display.png +0 -0
- data/templates/mobile/glyphish/icons-black/70-tv.png +0 -0
- data/templates/mobile/glyphish/icons-black/71-compass.png +0 -0
- data/templates/mobile/glyphish/icons-black/72-pin.png +0 -0
- data/templates/mobile/glyphish/icons-black/73-radar.png +0 -0
- data/templates/mobile/glyphish/icons-black/74-location.png +0 -0
- data/templates/mobile/glyphish/icons-black/75-phone.png +0 -0
- data/templates/mobile/glyphish/icons-black/76-baby.png +0 -0
- data/templates/mobile/glyphish/icons-black/77-ekg.png +0 -0
- data/templates/mobile/glyphish/icons-black/78-stopwatch.png +0 -0
- data/templates/mobile/glyphish/icons-black/79-medical-bag.png +0 -0
- data/templates/mobile/glyphish/icons-black/80-shopping-cart.png +0 -0
- data/templates/mobile/glyphish/icons-black/81-dashboard.png +0 -0
- data/templates/mobile/glyphish/icons-black/82-dogpaw.png +0 -0
- data/templates/mobile/glyphish/icons-black/83-calendar.png +0 -0
- data/templates/mobile/glyphish/icons-black/84-lightbulb.png +0 -0
- data/templates/mobile/glyphish/icons-black/85-trophy.png +0 -0
- data/templates/mobile/glyphish/icons-black/86-camera.png +0 -0
- data/templates/mobile/glyphish/icons-black/87-wineglass.png +0 -0
- data/templates/mobile/glyphish/icons-black/88-beermug.png +0 -0
- data/templates/mobile/glyphish/icons-black/89-dumbbell.png +0 -0
- data/templates/mobile/glyphish/icons-black/90-lifebuoy.png +0 -0
- data/templates/mobile/glyphish/icons-black/91-beaker2.png +0 -0
- data/templates/mobile/glyphish/icons-black/92-testtube.png +0 -0
- data/templates/mobile/glyphish/icons-black/93-thermometer.png +0 -0
- data/templates/mobile/glyphish/icons-black/94-pill.png +0 -0
- data/templates/mobile/glyphish/icons-black/95-equalizer.png +0 -0
- data/templates/mobile/glyphish/icons-black/96-book.png +0 -0
- data/templates/mobile/glyphish/icons-black/97-puzzle.png +0 -0
- data/templates/mobile/glyphish/icons-black/98-palette.png +0 -0
- data/templates/mobile/glyphish/icons-black/99-umbrella.png +0 -0
- data/templates/mobile/glyphish/icons-white/09-chat2.png +0 -0
- data/templates/mobile/glyphish/icons-white/100-coffee.png +0 -0
- data/templates/mobile/glyphish/icons-white/18-envelope.png +0 -0
- data/templates/mobile/glyphish/icons-white/19-gear.png +0 -0
- data/templates/mobile/glyphish/icons-white/21-skull.png +0 -0
- data/templates/mobile/glyphish/icons-white/30-key.png +0 -0
- data/templates/mobile/glyphish/icons-white/34-coffee.png +0 -0
- data/templates/mobile/glyphish/icons-white/88-beermug.png +0 -0
- data/templates/mobile/glyphish/mini-icons-black/band-aid.png +0 -0
- data/templates/mobile/glyphish/mini-icons-black/chat.png +0 -0
- data/templates/mobile/glyphish/mini-icons-black/clock.png +0 -0
- data/templates/mobile/glyphish/mini-icons-black/eye.png +0 -0
- data/templates/mobile/glyphish/mini-icons-black/flag.png +0 -0
- data/templates/mobile/glyphish/mini-icons-black/fork-and-knife.png +0 -0
- data/templates/mobile/glyphish/mini-icons-black/gear.png +0 -0
- data/templates/mobile/glyphish/mini-icons-black/heart.png +0 -0
- data/templates/mobile/glyphish/mini-icons-black/lightning-bolt.png +0 -0
- data/templates/mobile/glyphish/mini-icons-black/magnifying-glass.png +0 -0
- data/templates/mobile/glyphish/mini-icons-black/map-marker.png +0 -0
- data/templates/mobile/glyphish/mini-icons-black/map-pin.png +0 -0
- data/templates/mobile/glyphish/mini-icons-black/microphone.png +0 -0
- data/templates/mobile/glyphish/mini-icons-black/music-note.png +0 -0
- data/templates/mobile/glyphish/mini-icons-black/paw.png +0 -0
- data/templates/mobile/glyphish/mini-icons-black/plus.png +0 -0
- data/templates/mobile/glyphish/mini-icons-black/puzzle.png +0 -0
- data/templates/mobile/glyphish/mini-icons-black/star.png +0 -0
- data/templates/mobile/glyphish/mini-icons-black/tag.png +0 -0
- data/templates/mobile/glyphish/mini-icons-black/tshirt.png +0 -0
- data/templates/mobile/jquery.mobile.js +3995 -0
- data/templates/mobile/jquery.mobile.min.js +28 -0
- data/templates/mobile/jquery/mobile/_base.scss +1344 -0
- data/templates/mobile/jquery/mobile/default.scss +745 -0
- data/templates/mobile/jquery/mobile/default/ajax-loader.png +0 -0
- data/templates/mobile/jquery/mobile/default/form-check-off.png +0 -0
- data/templates/mobile/jquery/mobile/default/form-check-on.png +0 -0
- data/templates/mobile/jquery/mobile/default/form-radio-off.png +0 -0
- data/templates/mobile/jquery/mobile/default/form-radio-on.png +0 -0
- data/templates/mobile/jquery/mobile/default/icon-search-black.png +0 -0
- data/templates/mobile/jquery/mobile/default/icons-18-black.png +0 -0
- data/templates/mobile/jquery/mobile/default/icons-18-white.png +0 -0
- data/templates/mobile/jquery/mobile/default/icons-36-black.png +0 -0
- data/templates/mobile/jquery/mobile/default/icons-36-white.png +0 -0
- data/templates/mobile/jquery/mobile/valencia.scss +807 -0
- data/templates/mobile/jquery/mobile/valencia/ajax-loader.png +0 -0
- data/templates/mobile/jquery/mobile/valencia/form-check-off.png +0 -0
- data/templates/mobile/jquery/mobile/valencia/form-check-on.png +0 -0
- data/templates/mobile/jquery/mobile/valencia/form-radio-off.png +0 -0
- data/templates/mobile/jquery/mobile/valencia/form-radio-on.png +0 -0
- data/templates/mobile/jquery/mobile/valencia/icon-search-black.png +0 -0
- data/templates/mobile/jquery/mobile/valencia/icons-18-black.png +0 -0
- data/templates/mobile/jquery/mobile/valencia/icons-18-white.png +0 -0
- data/templates/mobile/jquery/mobile/valencia/icons-36-black.png +0 -0
- data/templates/mobile/jquery/mobile/valencia/icons-36-white.png +0 -0
- data/templates/mobile/jquery/mobile/valencia/texture_05.png +0 -0
- data/templates/mobile/jquery/mobile/valencia/texture_075.png +0 -0
- data/templates/mobile/lib/tasks/jquery.mobile.rake +106 -0
- data/templates/mobile/manifest.rb +191 -0
- data/templates/secret_sauce/app/views/shared/_ui_form_error_messages.html.haml +6 -0
- data/templates/secret_sauce/app/views/shared/_ui_grid_for_without_block.js.haml +144 -0
- data/templates/secret_sauce/app/views/shared/_ui_static_dialog.html.haml +6 -0
- data/templates/secret_sauce/config/initializers/secret_sauce.rb +8 -0
- data/templates/secret_sauce/jquery/secret_sauce.scss +33 -0
- data/templates/secret_sauce/manifest.rb +10 -0
- data/templates/secret_sauce/secret_sauce.js +12 -0
- data/templates/secret_sauce/secret_sauce.min.js +1 -0
- metadata +313 -17
- data/.gitignore +0 -22
- data/compass-jquery-plugin.gemspec +0 -1064
@@ -0,0 +1,72 @@
|
|
1
|
+
# Generated by compass-jquery-plugin/gem-tasks/jqgrid.rake
|
2
|
+
# Install with: compass install jquery/jqgrid
|
3
|
+
|
4
|
+
file 'config/initializers/jqgrid.rb'
|
5
|
+
file 'config/locales/jquery/jqgrid/de.yml'
|
6
|
+
file 'config/locales/jquery/jqgrid/en.yml'
|
7
|
+
javascript 'jquery.jqGrid.js'
|
8
|
+
javascript 'jquery.jqGrid.min.js'
|
9
|
+
javascript 'i18n/jqgrid/locale-bg.js'
|
10
|
+
javascript 'i18n/jqgrid/locale-bg.min.js'
|
11
|
+
javascript 'i18n/jqgrid/locale-bg1251.js'
|
12
|
+
javascript 'i18n/jqgrid/locale-bg1251.min.js'
|
13
|
+
javascript 'i18n/jqgrid/locale-cat.js'
|
14
|
+
javascript 'i18n/jqgrid/locale-cat.min.js'
|
15
|
+
javascript 'i18n/jqgrid/locale-cn.js'
|
16
|
+
javascript 'i18n/jqgrid/locale-cn.min.js'
|
17
|
+
javascript 'i18n/jqgrid/locale-cs.js'
|
18
|
+
javascript 'i18n/jqgrid/locale-cs.min.js'
|
19
|
+
javascript 'i18n/jqgrid/locale-da.js'
|
20
|
+
javascript 'i18n/jqgrid/locale-da.min.js'
|
21
|
+
javascript 'i18n/jqgrid/locale-de.js'
|
22
|
+
javascript 'i18n/jqgrid/locale-de.min.js'
|
23
|
+
javascript 'i18n/jqgrid/locale-el.js'
|
24
|
+
javascript 'i18n/jqgrid/locale-el.min.js'
|
25
|
+
javascript 'i18n/jqgrid/locale-en.js'
|
26
|
+
javascript 'i18n/jqgrid/locale-en.min.js'
|
27
|
+
javascript 'i18n/jqgrid/locale-es.js'
|
28
|
+
javascript 'i18n/jqgrid/locale-es.min.js'
|
29
|
+
javascript 'i18n/jqgrid/locale-fa.js'
|
30
|
+
javascript 'i18n/jqgrid/locale-fa.min.js'
|
31
|
+
javascript 'i18n/jqgrid/locale-fi.js'
|
32
|
+
javascript 'i18n/jqgrid/locale-fi.min.js'
|
33
|
+
javascript 'i18n/jqgrid/locale-fr.js'
|
34
|
+
javascript 'i18n/jqgrid/locale-fr.min.js'
|
35
|
+
javascript 'i18n/jqgrid/locale-gl.js'
|
36
|
+
javascript 'i18n/jqgrid/locale-gl.min.js'
|
37
|
+
javascript 'i18n/jqgrid/locale-he.js'
|
38
|
+
javascript 'i18n/jqgrid/locale-he.min.js'
|
39
|
+
javascript 'i18n/jqgrid/locale-hu.js'
|
40
|
+
javascript 'i18n/jqgrid/locale-hu.min.js'
|
41
|
+
javascript 'i18n/jqgrid/locale-is.js'
|
42
|
+
javascript 'i18n/jqgrid/locale-is.min.js'
|
43
|
+
javascript 'i18n/jqgrid/locale-it.js'
|
44
|
+
javascript 'i18n/jqgrid/locale-it.min.js'
|
45
|
+
javascript 'i18n/jqgrid/locale-ja.js'
|
46
|
+
javascript 'i18n/jqgrid/locale-ja.min.js'
|
47
|
+
javascript 'i18n/jqgrid/locale-nl.js'
|
48
|
+
javascript 'i18n/jqgrid/locale-nl.min.js'
|
49
|
+
javascript 'i18n/jqgrid/locale-no.js'
|
50
|
+
javascript 'i18n/jqgrid/locale-no.min.js'
|
51
|
+
javascript 'i18n/jqgrid/locale-pl.js'
|
52
|
+
javascript 'i18n/jqgrid/locale-pl.min.js'
|
53
|
+
javascript 'i18n/jqgrid/locale-pt-br.js'
|
54
|
+
javascript 'i18n/jqgrid/locale-pt-br.min.js'
|
55
|
+
javascript 'i18n/jqgrid/locale-pt.js'
|
56
|
+
javascript 'i18n/jqgrid/locale-pt.min.js'
|
57
|
+
javascript 'i18n/jqgrid/locale-ro.js'
|
58
|
+
javascript 'i18n/jqgrid/locale-ro.min.js'
|
59
|
+
javascript 'i18n/jqgrid/locale-ru.js'
|
60
|
+
javascript 'i18n/jqgrid/locale-ru.min.js'
|
61
|
+
javascript 'i18n/jqgrid/locale-sk.js'
|
62
|
+
javascript 'i18n/jqgrid/locale-sk.min.js'
|
63
|
+
javascript 'i18n/jqgrid/locale-sr.js'
|
64
|
+
javascript 'i18n/jqgrid/locale-sr.min.js'
|
65
|
+
javascript 'i18n/jqgrid/locale-sv.js'
|
66
|
+
javascript 'i18n/jqgrid/locale-sv.min.js'
|
67
|
+
javascript 'i18n/jqgrid/locale-tr.js'
|
68
|
+
javascript 'i18n/jqgrid/locale-tr.min.js'
|
69
|
+
javascript 'i18n/jqgrid/locale-ua.js'
|
70
|
+
javascript 'i18n/jqgrid/locale-ua.min.js'
|
71
|
+
stylesheet 'jquery/jqGrid.scss'
|
72
|
+
file 'public/stylesheets/ellipsis-xbl.xml'
|
@@ -0,0 +1,13 @@
|
|
1
|
+
<?xml version="1.0"?>
|
2
|
+
<bindings
|
3
|
+
xmlns="http://www.mozilla.org/xbl"
|
4
|
+
xmlns:xbl="http://www.mozilla.org/xbl"
|
5
|
+
xmlns:xul="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul">
|
6
|
+
<binding id="ellipsis">
|
7
|
+
<content>
|
8
|
+
<xul:window><!-- xul:window tag required for FF2 -->
|
9
|
+
<xul:description crop="end" xbl:inherits="value=xbl:text"><children/></xul:description>
|
10
|
+
</xul:window>
|
11
|
+
</content>
|
12
|
+
</binding>
|
13
|
+
</bindings>
|
@@ -39,7 +39,7 @@ body {
|
|
39
39
|
&.landscape .toolbar > h1 {
|
40
40
|
margin-left: -125px;
|
41
41
|
width: 250px; }
|
42
|
-
.button, .back, .cancel, .add {
|
42
|
+
.button, .back, .cancel, .add, .backRemote {
|
43
43
|
position: absolute;
|
44
44
|
overflow: hidden;
|
45
45
|
top: 8px;
|
@@ -65,15 +65,15 @@ body {
|
|
65
65
|
.blueButton {
|
66
66
|
-webkit-border-image: image_url("jquery/touch/apple/activeButton.png") 0 5 0 5;
|
67
67
|
border-width: 0 5px; }
|
68
|
-
.back {
|
68
|
+
.back, .backRemote {
|
69
69
|
left: 6px;
|
70
70
|
right: auto;
|
71
71
|
padding: 0;
|
72
72
|
max-width: 55px;
|
73
73
|
border-width: 0 8px 0 14px;
|
74
|
-
-webkit-border-image: image_url("jquery/touch/apple/backButton.png") 0 8 0 14;
|
75
|
-
|
76
|
-
|
74
|
+
-webkit-border-image: image_url("jquery/touch/apple/backButton.png") 0 8 0 14; }
|
75
|
+
.back.active, .backRemote.active {
|
76
|
+
-webkit-border-image: image_url("jquery/touch/apple/backButton.png") 0 8 0 14; }
|
77
77
|
.leftButton, .cancel {
|
78
78
|
left: 6px;
|
79
79
|
right: auto; }
|
@@ -40,7 +40,7 @@ body {
|
|
40
40
|
&.landscape .toolbar > h1 {
|
41
41
|
margin-left: -125px;
|
42
42
|
width: 250px; }
|
43
|
-
.button, .back, .cancel, .add {
|
43
|
+
.button, .back, .cancel, .add, .backRemote {
|
44
44
|
position: absolute;
|
45
45
|
overflow: hidden;
|
46
46
|
top: 8px;
|
@@ -63,15 +63,15 @@ body {
|
|
63
63
|
-webkit-border-image: image_url("jquery/touch/default/button.png") 0 5 0 5; }
|
64
64
|
.button.active, .cancel.active, .add.active {
|
65
65
|
-webkit-border-image: image_url("jquery/touch/default/buttonActive.png") 0 5 0 5; }
|
66
|
-
.back {
|
66
|
+
.back, .backRemote {
|
67
67
|
left: 6px;
|
68
68
|
right: auto;
|
69
69
|
padding: 0;
|
70
70
|
max-width: 55px;
|
71
71
|
border-width: 0 8px 0 14px;
|
72
|
-
-webkit-border-image: image_url("jquery/touch/default/backButton.png") 0 8 0 14;
|
73
|
-
|
74
|
-
|
72
|
+
-webkit-border-image: image_url("jquery/touch/default/backButton.png") 0 8 0 14; }
|
73
|
+
.back.active, .backRemote.active {
|
74
|
+
-webkit-border-image: image_url("jquery/touch/default/backButtonActive.png") 0 8 0 14; }
|
75
75
|
.leftButton, .cancel {
|
76
76
|
left: 6px;
|
77
77
|
right: auto; }
|
@@ -40,7 +40,7 @@ body {
|
|
40
40
|
&.landscape .toolbar > h1 {
|
41
41
|
margin-left: -125px;
|
42
42
|
width: 250px; }
|
43
|
-
.button, .back, .cancel, .add {
|
43
|
+
.button, .back, .cancel, .add, .backRemote {
|
44
44
|
position: absolute;
|
45
45
|
overflow: hidden;
|
46
46
|
top: 8px;
|
@@ -67,15 +67,15 @@ body {
|
|
67
67
|
.blueButton {
|
68
68
|
-webkit-border-image: image_url("jquery/touch/jqt/blueButton.png") 0 5 0 5;
|
69
69
|
border-width: 0 5px; }
|
70
|
-
.back {
|
70
|
+
.back, .backRemote {
|
71
71
|
left: 6px;
|
72
72
|
right: auto;
|
73
73
|
padding: 0;
|
74
74
|
max-width: 55px;
|
75
75
|
border-width: 0 8px 0 14px;
|
76
|
-
-webkit-border-image: image_url("jquery/touch/jqt/back_button.png") 0 8 0 14;
|
77
|
-
|
78
|
-
|
76
|
+
-webkit-border-image: image_url("jquery/touch/jqt/back_button.png") 0 8 0 14; }
|
77
|
+
.back.active, .backRemote.active {
|
78
|
+
-webkit-border-image: image_url("jquery/touch/jqt/back_button_clicked.png") 0 8 0 14; }
|
79
79
|
.leftButton, .cancel {
|
80
80
|
left: 6px;
|
81
81
|
right: auto; }
|
@@ -33,8 +33,11 @@ ActionView::Helpers::AssetTagHelper.register_javascript_expansion :layout => ['j
|
|
33
33
|
ActionView::Helpers::AssetTagHelper.register_javascript_expansion :pngFix => ['jquery.pngFix.min']
|
34
34
|
ActionView::Helpers::AssetTagHelper.register_javascript_expansion :sparklines => ['jquery.sparkline.min']
|
35
35
|
ActionView::Helpers::AssetTagHelper.register_javascript_expansion :themeSwitcher => ['jquery.themeswitchertool.min']
|
36
|
+
ActionView::Helpers::AssetTagHelper.register_javascript_expansion :tmpl => ['jquery.tmpl.min']
|
37
|
+
ActionView::Helpers::AssetTagHelper.register_javascript_expansion :tmpl_plus => ['jquery.tmplPlus.min']
|
36
38
|
|
37
39
|
require 'jquery/jrails'
|
40
|
+
require 'handle_attributes'
|
38
41
|
require 'jquery/jquery_selector_assertions' if RAILS_ENV == 'test'
|
39
42
|
require 'jquery/jquery_auto_complete'
|
40
43
|
require 'jquery/flash_messages'
|
@@ -20587,13 +20587,19 @@ $.widget("ui.selectmenu", {
|
|
20587
20587
|
eventPrefix: "selectmenu",
|
20588
20588
|
options: {
|
20589
20589
|
transferClasses: true,
|
20590
|
-
style: '
|
20590
|
+
style: 'dropdown',
|
20591
|
+
positionOptions: {
|
20592
|
+
my: "left top",
|
20593
|
+
at: "left bottom",
|
20594
|
+
offset: null
|
20595
|
+
},
|
20591
20596
|
width: null,
|
20592
20597
|
menuWidth: null,
|
20593
20598
|
handleWidth: 26,
|
20594
20599
|
maxHeight: null,
|
20595
20600
|
icons: null,
|
20596
|
-
format: null
|
20601
|
+
format: null,
|
20602
|
+
bgImage: function() {}
|
20597
20603
|
},
|
20598
20604
|
|
20599
20605
|
_create: function() {
|
@@ -20671,17 +20677,17 @@ $.widget("ui.selectmenu", {
|
|
20671
20677
|
ret = true;
|
20672
20678
|
break;
|
20673
20679
|
default:
|
20674
|
-
ret =
|
20680
|
+
ret = true;
|
20675
20681
|
self._typeAhead(event.keyCode, 'mouseup');
|
20676
20682
|
break;
|
20677
20683
|
}
|
20678
20684
|
return ret;
|
20679
20685
|
})
|
20680
20686
|
.bind('mouseover focus', function(){
|
20681
|
-
$(this).addClass(self.widgetBaseClass+'-focus ui-state-hover');
|
20687
|
+
if (!o.disabled) $(this).addClass(self.widgetBaseClass+'-focus ui-state-hover');
|
20682
20688
|
})
|
20683
20689
|
.bind('mouseout blur', function(){
|
20684
|
-
$(this).removeClass(self.widgetBaseClass+'-focus ui-state-hover');
|
20690
|
+
if (!o.disabled) $(this).removeClass(self.widgetBaseClass+'-focus ui-state-hover');
|
20685
20691
|
});
|
20686
20692
|
|
20687
20693
|
//document click closes menu
|
@@ -20709,7 +20715,8 @@ $.widget("ui.selectmenu", {
|
|
20709
20715
|
text: self._formatText(jQuery(this).text()),
|
20710
20716
|
selected: $(this).attr('selected'),
|
20711
20717
|
classes: $(this).attr('class'),
|
20712
|
-
parentOptGroup: $(this).parent('optgroup').attr('label')
|
20718
|
+
parentOptGroup: $(this).parent('optgroup').attr('label'),
|
20719
|
+
bgImage: o.bgImage.call($(this))
|
20713
20720
|
});
|
20714
20721
|
});
|
20715
20722
|
|
@@ -20741,7 +20748,7 @@ $.widget("ui.selectmenu", {
|
|
20741
20748
|
$(this).removeClass('ui-state-active').addClass(self.widgetBaseClass + '-item-focus ui-state-hover');
|
20742
20749
|
})
|
20743
20750
|
.bind('mouseout blur', function(){
|
20744
|
-
if($(this).is( self._selectedOptionLi() )){ $(this).addClass(activeClass); }
|
20751
|
+
if ($(this).is( self._selectedOptionLi().selector )){ $(this).addClass(activeClass); }
|
20745
20752
|
$(this).removeClass(self.widgetBaseClass + '-item-focus ui-state-hover');
|
20746
20753
|
});
|
20747
20754
|
|
@@ -20773,11 +20780,13 @@ $.widget("ui.selectmenu", {
|
|
20773
20780
|
thisLi
|
20774
20781
|
.data('optionClasses', selectOptionData[i].classes + ' ' + self.widgetBaseClass + '-hasIcon')
|
20775
20782
|
.addClass(self.widgetBaseClass + '-hasIcon');
|
20776
|
-
var iconClass = o.icons[j].icon || "";
|
20777
|
-
|
20783
|
+
var iconClass = o.icons[j].icon || "";
|
20778
20784
|
thisLi
|
20779
20785
|
.find('a:eq(0)')
|
20780
|
-
.prepend('<span class="'+self.widgetBaseClass+'-item-icon ui-icon '+iconClass + '"></span>');
|
20786
|
+
.prepend('<span class="'+self.widgetBaseClass+'-item-icon ui-icon ' +iconClass + '"></span>');
|
20787
|
+
if (selectOptionData[i].bgImage) {
|
20788
|
+
thisLi.find('span').css('background-image', selectOptionData[i].bgImage);
|
20789
|
+
}
|
20781
20790
|
}
|
20782
20791
|
}
|
20783
20792
|
}
|
@@ -20803,9 +20812,16 @@ $.widget("ui.selectmenu", {
|
|
20803
20812
|
if(o.style == 'dropdown'){ this.list.width( (o.menuWidth) ? o.menuWidth : ((o.width) ? o.width : selectWidth)); }
|
20804
20813
|
else { this.list.width( (o.menuWidth) ? o.menuWidth : ((o.width) ? o.width - o.handleWidth : selectWidth - o.handleWidth)); }
|
20805
20814
|
|
20806
|
-
//
|
20807
|
-
if(o.maxHeight
|
20808
|
-
|
20815
|
+
// calculate default max height
|
20816
|
+
if(o.maxHeight) {
|
20817
|
+
//set max height from option
|
20818
|
+
if (o.maxHeight < this.list.height()){ this.list.height(o.maxHeight); }
|
20819
|
+
} else {
|
20820
|
+
if (!o.format && ($(window).height() / 3) < this.list.height()) {
|
20821
|
+
o.maxHeight = $(window).height() / 3;
|
20822
|
+
this.list.height(o.maxHeight);
|
20823
|
+
}
|
20824
|
+
}
|
20809
20825
|
//save reference to actionable li's (not group label li's)
|
20810
20826
|
this._optionLis = this.list.find('li:not(.'+ self.widgetBaseClass +'-group)');
|
20811
20827
|
|
@@ -20814,8 +20830,6 @@ $.widget("ui.selectmenu", {
|
|
20814
20830
|
.keydown(function(event){
|
20815
20831
|
var ret = true;
|
20816
20832
|
switch (event.keyCode) {
|
20817
|
-
// this needs to be fixed as _moveFocus doesnt work correctly
|
20818
|
-
/*
|
20819
20833
|
case $.ui.keyCode.UP:
|
20820
20834
|
case $.ui.keyCode.LEFT:
|
20821
20835
|
ret = false;
|
@@ -20826,7 +20840,6 @@ $.widget("ui.selectmenu", {
|
|
20826
20840
|
ret = false;
|
20827
20841
|
self._moveFocus(1);
|
20828
20842
|
break;
|
20829
|
-
*/
|
20830
20843
|
case $.ui.keyCode.HOME:
|
20831
20844
|
ret = false;
|
20832
20845
|
self._moveFocus(':first');
|
@@ -20856,11 +20869,7 @@ $.widget("ui.selectmenu", {
|
|
20856
20869
|
case $.ui.keyCode.ESCAPE:
|
20857
20870
|
ret = false;
|
20858
20871
|
self.close(event,true);
|
20859
|
-
break;
|
20860
|
-
default:
|
20861
|
-
ret = false;
|
20862
|
-
self._typeAhead(event.keyCode,'focus');
|
20863
|
-
break;
|
20872
|
+
break;
|
20864
20873
|
}
|
20865
20874
|
return ret;
|
20866
20875
|
});
|
@@ -21013,7 +21022,7 @@ $.widget("ui.selectmenu", {
|
|
21013
21022
|
},
|
21014
21023
|
_moveFocus: function(amt){
|
21015
21024
|
if(!isNaN(amt)){
|
21016
|
-
var currIndex = parseInt(this._focusedOptionLi().data('index'), 10);
|
21025
|
+
var currIndex = parseInt(this._focusedOptionLi().data('index') || 0, 10);
|
21017
21026
|
var newIndex = currIndex + amt;
|
21018
21027
|
}
|
21019
21028
|
else { var newIndex = parseInt(this._optionLis.filter(amt).data('index'), 10); }
|
@@ -21025,7 +21034,7 @@ $.widget("ui.selectmenu", {
|
|
21025
21034
|
var activeID = this.widgetBaseClass + '-item-' + Math.round(Math.random() * 1000);
|
21026
21035
|
|
21027
21036
|
this._focusedOptionLi().find('a:eq(0)').attr('id','');
|
21028
|
-
this._optionLis.eq(newIndex).find('a:eq(0)').attr('id',activeID)
|
21037
|
+
this._optionLis.eq(newIndex).find('a:eq(0)').attr('id',activeID).focus();
|
21029
21038
|
this.list.attr('aria-activedescendant', activeID);
|
21030
21039
|
},
|
21031
21040
|
_scrollPage: function(direction){
|
@@ -21088,46 +21097,20 @@ $.widget("ui.selectmenu", {
|
|
21088
21097
|
this.list.attr('aria-activedescendant', activeID);
|
21089
21098
|
},
|
21090
21099
|
_refreshPosition: function(){
|
21091
|
-
var
|
21092
|
-
|
21093
|
-
|
21094
|
-
|
21095
|
-
|
21096
|
-
|
21097
|
-
|
21098
|
-
|
21099
|
-
|
21100
|
-
|
21101
|
-
|
21102
|
-
|
21103
|
-
|
21104
|
-
var scrolledAmt = this.list[0].scrollTop;
|
21105
|
-
this.list.find('li:lt('+this._selectedIndex()+')').each(function() {
|
21106
|
-
scrolledAmt -= $(this).outerHeight();
|
21107
|
-
});
|
21108
|
-
menuTop+=scrolledAmt;
|
21109
|
-
} else {
|
21110
|
-
menuTop += this.newelement.height();
|
21111
|
-
}
|
21112
|
-
}
|
21113
|
-
// set values
|
21114
|
-
this.list.css({
|
21115
|
-
top: menuTop,
|
21116
|
-
left: this.newelement.offset().left
|
21100
|
+
var o = this.options;
|
21101
|
+
// if its a native pop-up we need to calculate the position of the selected li
|
21102
|
+
if (o.style == "popup" && !o.positionOptions.offset) {
|
21103
|
+
var selected = this.list.find('li:not(.ui-selectmenu-group):eq('+this._selectedIndex()+')');
|
21104
|
+
// var _offset = "0 -" + (selected.outerHeight() + selected.offset().top - this.list.offset().top);
|
21105
|
+
var _offset = "0 -" + (selected.outerHeight() + selected.offset().top - this.list.offset().top);
|
21106
|
+
}
|
21107
|
+
this.list.position({
|
21108
|
+
// set options for position plugin
|
21109
|
+
of: o.positionOptions.of || this.newelement,
|
21110
|
+
my: o.positionOptions.my,
|
21111
|
+
at: o.positionOptions.at,
|
21112
|
+
offset: o.positionOptions.offset || _offset
|
21117
21113
|
});
|
21118
|
-
},
|
21119
|
-
_pageScroll: function() {
|
21120
|
-
var yScroll;
|
21121
|
-
if (self.pageYOffset) {
|
21122
|
-
yScroll = self.pageYOffset;
|
21123
|
-
// Explorer 6 Strict
|
21124
|
-
} else if (document.documentElement && document.documentElement.scrollTop) {
|
21125
|
-
yScroll = document.documentElement.scrollTop;
|
21126
|
-
// all other Explorers
|
21127
|
-
} else if (document.body) {
|
21128
|
-
yScroll = document.body.scrollTop;
|
21129
|
-
}
|
21130
|
-
return yScroll;
|
21131
21114
|
}
|
21132
21115
|
});
|
21133
21116
|
})(jQuery);
|
@@ -708,28 +708,28 @@ this.options,e=this.opos[0],a=this.opos[1],f=d.pageX,i=d.pageY;if(e>f){var k=f;f
|
|
708
708
|
l.unselecting=false}if(!l.selecting){l.$element.addClass("ui-selecting");l.selecting=true;h._trigger("selecting",d,{selecting:l.element})}}else{if(l.selecting)if(d.metaKey&&l.startselected){l.$element.removeClass("ui-selecting");l.selecting=false;l.$element.addClass("ui-selected");l.selected=true}else{l.$element.removeClass("ui-selecting");l.selecting=false;if(l.startselected){l.$element.addClass("ui-unselecting");l.unselecting=true}h._trigger("unselecting",d,{unselecting:l.element})}if(l.selected)if(!d.metaKey&&
|
709
709
|
!l.startselected){l.$element.removeClass("ui-selected");l.selected=false;l.$element.addClass("ui-unselecting");l.unselecting=true;h._trigger("unselecting",d,{unselecting:l.element})}}}});return false}},_mouseStop:function(d){var h=this;this.dragged=false;b(".ui-unselecting",this.element[0]).each(function(){var g=b.data(this,"selectable-item");g.$element.removeClass("ui-unselecting");g.unselecting=false;g.startselected=false;h._trigger("unselected",d,{unselected:g.element})});b(".ui-selecting",this.element[0]).each(function(){var g=
|
710
710
|
b.data(this,"selectable-item");g.$element.removeClass("ui-selecting").addClass("ui-selected");g.selecting=false;g.selected=true;g.startselected=true;h._trigger("selected",d,{selected:g.element})});this._trigger("stop",d);this.helper.remove();return false}});b.extend(b.ui.selectable,{version:"1.8.6"})})(jQuery);
|
711
|
-
(function(b){b.widget("ui.selectmenu",{getter:"value",version:"1.8",eventPrefix:"selectmenu",options:{transferClasses:true,style:"
|
712
|
-
this.ids[0]+'" role="button" href="#" aria-haspopup="true" aria-owns="'+this.ids[1]+'"></a>').insertAfter(this.element);(g=this.element.attr("tabindex"))&&this.newelement.attr("tabindex",g);this.newelement.data("selectelement",this.element);this.selectmenuIcon=b('<span class="'+this.widgetBaseClass+'-icon ui-icon"></span>').prependTo(this.newelement).addClass(h.style=="popup"?"ui-icon-triangle-2-n-s":"ui-icon-triangle-1-s");
|
713
|
-
function(){d.newelement[0].focus();return false});this.newelement.bind("mousedown",function(l){d._toggle(l);if(h.style=="popup"){d._safemouseup=false;setTimeout(function(){d._safemouseup=true},300)}return false}).bind("click",function(){return false}).keydown(function(l){var o=true;switch(l.keyCode){case b.ui.keyCode.ENTER:o=true;break;case b.ui.keyCode.SPACE:o=false;d._toggle(l);break;case b.ui.keyCode.UP:case b.ui.keyCode.LEFT:o=
|
714
|
-
false;d._moveSelection(1);break;case b.ui.keyCode.TAB:o=true;break;default:o=
|
715
|
-
d.widgetBaseClass+"-menu ui-widget ui-widget-content"+(h.style=="dropdown"?" ui-corner-bottom":" ui-corner-all")+'" aria-hidden="true" role="listbox" aria-labelledby="'+this.ids[0]+'" id="'+this.ids[1]+'"></ul>').appendTo("body");var e=[];this.element.find("option").each(function(){e.push({value:b(this).attr("value"),text:d._formatText(jQuery(this).text()),selected:b(this).attr("selected"),classes:b(this).attr("class"),parentOptGroup:b(this).parent("optgroup").attr("label")
|
716
|
-
"popup"?" ui-state-active":"";for(g=0;g<e.length;g++){var f=b('<li role="presentation"><a href="#" tabindex="-1" role="option" aria-selected="false">'+e[g].text+"</a></li>").data("index",g).addClass(e[g].classes).data("optionClasses",e[g].classes||"").mouseup(function(l){if(d._safemouseup){var o=b(this).data("index")!=d._selectedIndex();d.value(b(this).data("index"));d.select(l);o&&d.change(l);d.close(l,true)}return false}).click(function(){return false}).bind("mouseover focus",
|
717
|
-
d._focusedOptionLi().removeClass(d.widgetBaseClass+"-item-focus ui-state-hover");b(this).removeClass("ui-state-active").addClass(d.widgetBaseClass+"-item-focus ui-state-hover")}).bind("mouseout blur",function(){b(this).is(d._selectedOptionLi())&&b(this).addClass(a);b(this).removeClass(d.widgetBaseClass+"-item-focus ui-state-hover")});if(e[g].parentOptGroup){var i=d.widgetBaseClass+"-group-"+e[g].parentOptGroup.replace(/[^a-zA-Z0-9]/g,"");this.list.find("li."+
|
718
|
-
b('<li role="presentation" class="'+d.widgetBaseClass+"-group "+i+'"><span class="'+d.widgetBaseClass+'-group-label">'+e[g].parentOptGroup+"</span><ul></ul></li>").appendTo(this.list).find("ul").append(f)}else f.appendTo(this.list);this.list.bind("mousedown mouseup",function(){return false});if(h.icons)for(var k in h.icons)if(f.is(h.icons[k].find)){f.data("optionClasses",e[g].classes+" "+d.widgetBaseClass+"-hasIcon").addClass(d.widgetBaseClass+
|
719
|
-
d.widgetBaseClass+"-item-icon ui-icon "+i+'"></span>')}}this.list.find("li:last").addClass("ui-corner-bottom");h.style=="popup"&&this.list.find("li:first").addClass("ui-corner-top");if(h.transferClasses){k=this.element.attr("class")||"";this.newelement.add(this.list).addClass(k)}k=this.element.width();this.newelement.width(h.width?h.width:k);h.style=="dropdown"?
|
720
|
-
h.maxHeight
|
721
|
-
d.
|
722
|
-
d.
|
723
|
-
this.
|
724
|
-
|
725
|
-
this._refreshPosition();this.
|
726
|
-
this.
|
727
|
-
|
728
|
-
1;var h=this.widgetBaseClass+"-item-"+Math.round(Math.random()*1E3);this._focusedOptionLi().find("a:eq(0)").attr("id","");this._optionLis.eq(d).find("a:eq(0)").attr("id",h)
|
729
|
-
"removeClass"](this.widgetBaseClass+"-disabled "+this.namespace+"-state-disabled").attr("aria-disabled",h)}},value:function(d){if(arguments.length){this.element[0].selectedIndex=d;this._refreshValue();this._refreshPosition()}return this.element[0].selectedIndex},_refreshValue:function(){var d=
|
730
|
-
d).find("a").attr("aria-selected","false").attr("id","");this._selectedOptionLi().addClass(this.widgetBaseClass+"-item-selected"+d).find("a").attr("aria-selected","true").attr("id",h);d=this.newelement.data("optionClasses")?this.newelement.data("optionClasses"):"";var g=this._selectedOptionLi().data("optionClasses")?
|
731
|
-
this.
|
732
|
-
|
711
|
+
(function(b){b.widget("ui.selectmenu",{getter:"value",version:"1.8",eventPrefix:"selectmenu",options:{transferClasses:true,style:"dropdown",positionOptions:{my:"left top",at:"left bottom",offset:null},width:null,menuWidth:null,handleWidth:26,maxHeight:null,icons:null,format:null,bgImage:function(){}},_create:function(){var d=this,h=this.options,g=this.element.attr("id")||"ui-selectmenu-"+Math.random().toString(16).slice(2,10);this.ids=[g+"-button",g+"-menu"];this._safemouseup=true;this.newelement=
|
712
|
+
b('<a class="'+this.widgetBaseClass+' ui-widget ui-state-default ui-corner-all" id="'+this.ids[0]+'" role="button" href="#" aria-haspopup="true" aria-owns="'+this.ids[1]+'"></a>').insertAfter(this.element);(g=this.element.attr("tabindex"))&&this.newelement.attr("tabindex",g);this.newelement.data("selectelement",this.element);this.selectmenuIcon=b('<span class="'+this.widgetBaseClass+'-icon ui-icon"></span>').prependTo(this.newelement).addClass(h.style=="popup"?"ui-icon-triangle-2-n-s":"ui-icon-triangle-1-s");
|
713
|
+
b("label[for="+this.element.attr("id")+"]").attr("for",this.ids[0]).bind("click",function(){d.newelement[0].focus();return false});this.newelement.bind("mousedown",function(l){d._toggle(l);if(h.style=="popup"){d._safemouseup=false;setTimeout(function(){d._safemouseup=true},300)}return false}).bind("click",function(){return false}).keydown(function(l){var o=true;switch(l.keyCode){case b.ui.keyCode.ENTER:o=true;break;case b.ui.keyCode.SPACE:o=false;d._toggle(l);break;case b.ui.keyCode.UP:case b.ui.keyCode.LEFT:o=
|
714
|
+
false;d._moveSelection(-1);break;case b.ui.keyCode.DOWN:case b.ui.keyCode.RIGHT:o=false;d._moveSelection(1);break;case b.ui.keyCode.TAB:o=true;break;default:o=true;d._typeAhead(l.keyCode,"mouseup")}return o}).bind("mouseover focus",function(){h.disabled||b(this).addClass(d.widgetBaseClass+"-focus ui-state-hover")}).bind("mouseout blur",function(){h.disabled||b(this).removeClass(d.widgetBaseClass+"-focus ui-state-hover")});b(document).mousedown(function(l){d.close(l)});this.element.click(function(){this._refreshValue()}).focus(function(){this.newelement&&
|
715
|
+
this.newelement[0].focus()});this.list=b('<ul class="'+d.widgetBaseClass+"-menu ui-widget ui-widget-content"+(h.style=="dropdown"?" ui-corner-bottom":" ui-corner-all")+'" aria-hidden="true" role="listbox" aria-labelledby="'+this.ids[0]+'" id="'+this.ids[1]+'"></ul>').appendTo("body");var e=[];this.element.find("option").each(function(){e.push({value:b(this).attr("value"),text:d._formatText(jQuery(this).text()),selected:b(this).attr("selected"),classes:b(this).attr("class"),parentOptGroup:b(this).parent("optgroup").attr("label"),
|
716
|
+
bgImage:h.bgImage.call(b(this))})});var a=d.options.style=="popup"?" ui-state-active":"";for(g=0;g<e.length;g++){var f=b('<li role="presentation"><a href="#" tabindex="-1" role="option" aria-selected="false">'+e[g].text+"</a></li>").data("index",g).addClass(e[g].classes).data("optionClasses",e[g].classes||"").mouseup(function(l){if(d._safemouseup){var o=b(this).data("index")!=d._selectedIndex();d.value(b(this).data("index"));d.select(l);o&&d.change(l);d.close(l,true)}return false}).click(function(){return false}).bind("mouseover focus",
|
717
|
+
function(){d._selectedOptionLi().addClass(a);d._focusedOptionLi().removeClass(d.widgetBaseClass+"-item-focus ui-state-hover");b(this).removeClass("ui-state-active").addClass(d.widgetBaseClass+"-item-focus ui-state-hover")}).bind("mouseout blur",function(){b(this).is(d._selectedOptionLi().selector)&&b(this).addClass(a);b(this).removeClass(d.widgetBaseClass+"-item-focus ui-state-hover")});if(e[g].parentOptGroup){var i=d.widgetBaseClass+"-group-"+e[g].parentOptGroup.replace(/[^a-zA-Z0-9]/g,"");this.list.find("li."+
|
718
|
+
i).size()?this.list.find("li."+i+":last ul").append(f):b('<li role="presentation" class="'+d.widgetBaseClass+"-group "+i+'"><span class="'+d.widgetBaseClass+'-group-label">'+e[g].parentOptGroup+"</span><ul></ul></li>").appendTo(this.list).find("ul").append(f)}else f.appendTo(this.list);this.list.bind("mousedown mouseup",function(){return false});if(h.icons)for(var k in h.icons)if(f.is(h.icons[k].find)){f.data("optionClasses",e[g].classes+" "+d.widgetBaseClass+"-hasIcon").addClass(d.widgetBaseClass+
|
719
|
+
"-hasIcon");i=h.icons[k].icon||"";f.find("a:eq(0)").prepend('<span class="'+d.widgetBaseClass+"-item-icon ui-icon "+i+'"></span>');e[g].bgImage&&f.find("span").css("background-image",e[g].bgImage)}}this.list.find("li:last").addClass("ui-corner-bottom");h.style=="popup"&&this.list.find("li:first").addClass("ui-corner-top");if(h.transferClasses){k=this.element.attr("class")||"";this.newelement.add(this.list).addClass(k)}k=this.element.width();this.newelement.width(h.width?h.width:k);h.style=="dropdown"?
|
720
|
+
this.list.width(h.menuWidth?h.menuWidth:h.width?h.width:k):this.list.width(h.menuWidth?h.menuWidth:h.width?h.width-h.handleWidth:k-h.handleWidth);if(h.maxHeight)h.maxHeight<this.list.height()&&this.list.height(h.maxHeight);else if(!h.format&&b(window).height()/3<this.list.height()){h.maxHeight=b(window).height()/3;this.list.height(h.maxHeight)}this._optionLis=this.list.find("li:not(."+d.widgetBaseClass+"-group)");this.list.keydown(function(l){var o=true;switch(l.keyCode){case b.ui.keyCode.UP:case b.ui.keyCode.LEFT:o=
|
721
|
+
false;d._moveFocus(-1);break;case b.ui.keyCode.DOWN:case b.ui.keyCode.RIGHT:o=false;d._moveFocus(1);break;case b.ui.keyCode.HOME:o=false;d._moveFocus(":first");break;case b.ui.keyCode.PAGE_UP:o=false;d._scrollPage("up");break;case b.ui.keyCode.PAGE_DOWN:o=false;d._scrollPage("down");break;case b.ui.keyCode.END:o=false;d._moveFocus(":last");break;case b.ui.keyCode.ENTER:case b.ui.keyCode.SPACE:o=false;d.close(l,true);b(l.target).parents("li:eq(0)").trigger("mouseup");break;case b.ui.keyCode.TAB:o=
|
722
|
+
true;d.close(l,true);break;case b.ui.keyCode.ESCAPE:o=false;d.close(l,true)}return o});if(h.style=="dropdown"){this.newelement.addClass(d.widgetBaseClass+"-dropdown");this.list.addClass(d.widgetBaseClass+"-menu-dropdown")}else{this.newelement.addClass(d.widgetBaseClass+"-popup");this.list.addClass(d.widgetBaseClass+"-menu-popup")}this.newelement.prepend('<span class="'+d.widgetBaseClass+'-status">'+e[this._selectedIndex()].text+"</span>");this.element.hide();this.element.attr("disabled")==true&&this.disable();
|
723
|
+
this.value(this._selectedIndex());b(window).resize(function(){d._refreshPosition()})},destroy:function(){this.element.removeData(this.widgetName).removeClass(this.widgetBaseClass+"-disabled "+this.namespace+"-state-disabled").removeAttr("aria-disabled").unbind("click");b("label[for="+this.newelement.attr("id")+"]").attr("for",this.element.attr("id")).unbind("click");this.newelement.remove();this.list.remove();this.element.show();b.Widget.prototype.destroy.apply(this,arguments)},_typeAhead:function(d,
|
724
|
+
h){var g=this;if(!g._prevChar)g._prevChar=["",0];var e=String.fromCharCode(d);c=e.toLowerCase();var a=false;this.list.find("li a").each(function(f){if(!a){var i=b(this).text();if(i.indexOf(e)==0||i.indexOf(c)==0)if(g._prevChar[0]==e){if(g._prevChar[1]<f){a=true;b(this).trigger(h);g._prevChar[1]=f}}else{a=true;b(this).trigger(h);g._prevChar[1]=f}}});this._prevChar[0]=e},_uiHash:function(){var d=this.value();return{index:d,option:b("option",this.element).get(d),value:this.element[0].value}},open:function(d){if(this.newelement.attr("aria-disabled")!=
|
725
|
+
"true"){this._refreshPosition();this._closeOthers(d);this.newelement.addClass("ui-state-active");this.list.appendTo("body").addClass(this.widgetBaseClass+"-open").attr("aria-hidden",false).find("li:not(."+this.widgetBaseClass+"-group):eq("+this._selectedIndex()+") a")[0].focus();this.options.style=="dropdown"&&this.newelement.removeClass("ui-corner-all").addClass("ui-corner-top");this._refreshPosition();this._trigger("open",d,this._uiHash())}},close:function(d,h){if(this.newelement.is(".ui-state-active")){this.newelement.removeClass("ui-state-active");
|
726
|
+
this.list.attr("aria-hidden",true).removeClass(this.widgetBaseClass+"-open");this.options.style=="dropdown"&&this.newelement.removeClass("ui-corner-top").addClass("ui-corner-all");h&&this.newelement[0].focus();this._trigger("close",d,this._uiHash())}},change:function(d){this.element.trigger("change");this._trigger("change",d,this._uiHash())},select:function(d){this._trigger("select",d,this._uiHash())},_closeOthers:function(d){b("."+this.widgetBaseClass+".ui-state-active").not(this.newelement).each(function(){b(this).data("selectelement").selectmenu("close",
|
727
|
+
d)});b("."+this.widgetBaseClass+".ui-state-hover").trigger("mouseout")},_toggle:function(d,h){this.list.is("."+this.widgetBaseClass+"-open")?this.close(d,h):this.open(d)},_formatText:function(d){return this.options.format?this.options.format(d):d},_selectedIndex:function(){return this.element[0].selectedIndex},_selectedOptionLi:function(){return this._optionLis.eq(this._selectedIndex())},_focusedOptionLi:function(){return this.list.find("."+this.widgetBaseClass+"-item-focus")},_moveSelection:function(d){return this._optionLis.eq(parseInt(this._selectedOptionLi().data("index"),
|
728
|
+
10)+d).trigger("mouseup")},_moveFocus:function(d){d=isNaN(d)?parseInt(this._optionLis.filter(d).data("index"),10):parseInt(this._focusedOptionLi().data("index")||0,10)+d;if(d<0)d=0;if(d>this._optionLis.size()-1)d=this._optionLis.size()-1;var h=this.widgetBaseClass+"-item-"+Math.round(Math.random()*1E3);this._focusedOptionLi().find("a:eq(0)").attr("id","");this._optionLis.eq(d).find("a:eq(0)").attr("id",h).focus();this.list.attr("aria-activedescendant",h)},_scrollPage:function(d){var h=Math.floor(this.list.outerHeight()/
|
729
|
+
this.list.find("li:first").outerHeight());h=d=="up"?-h:h;this._moveFocus(h)},_setOption:function(d,h){this.options[d]=h;if(d=="disabled"){this.close();this.element.add(this.newelement).add(this.list)[h?"addClass":"removeClass"](this.widgetBaseClass+"-disabled "+this.namespace+"-state-disabled").attr("aria-disabled",h)}},value:function(d){if(arguments.length){this.element[0].selectedIndex=d;this._refreshValue();this._refreshPosition()}return this.element[0].selectedIndex},_refreshValue:function(){var d=
|
730
|
+
this.options.style=="popup"?" ui-state-active":"",h=this.widgetBaseClass+"-item-"+Math.round(Math.random()*1E3);this.list.find("."+this.widgetBaseClass+"-item-selected").removeClass(this.widgetBaseClass+"-item-selected"+d).find("a").attr("aria-selected","false").attr("id","");this._selectedOptionLi().addClass(this.widgetBaseClass+"-item-selected"+d).find("a").attr("aria-selected","true").attr("id",h);d=this.newelement.data("optionClasses")?this.newelement.data("optionClasses"):"";var g=this._selectedOptionLi().data("optionClasses")?
|
731
|
+
this._selectedOptionLi().data("optionClasses"):"";this.newelement.removeClass(d).data("optionClasses",g).addClass(g).find("."+this.widgetBaseClass+"-status").html(this._selectedOptionLi().find("a:eq(0)").html());this.list.attr("aria-activedescendant",h)},_refreshPosition:function(){var d=this.options;if(d.style=="popup"&&!d.positionOptions.offset){var h=this.list.find("li:not(.ui-selectmenu-group):eq("+this._selectedIndex()+")");h="0 -"+(h.outerHeight()+h.offset().top-this.list.offset().top)}this.list.position({of:d.positionOptions.of||
|
732
|
+
this.newelement,my:d.positionOptions.my,at:d.positionOptions.at,offset:d.positionOptions.offset||h})}})})(jQuery);
|
733
733
|
(function(b){b.widget("ui.slider",b.ui.mouse,{widgetEventPrefix:"slide",options:{animate:false,distance:0,max:100,min:0,orientation:"horizontal",range:false,step:1,value:0,values:null},_create:function(){var d=this,h=this.options;this._mouseSliding=this._keySliding=false;this._animateOff=true;this._handleIndex=null;this._detectOrientation();this._mouseInit();this.element.addClass("ui-slider ui-slider-"+this.orientation+" ui-widget ui-widget-content ui-corner-all");h.disabled&&this.element.addClass("ui-slider-disabled ui-disabled");
|
734
734
|
this.range=b([]);if(h.range){if(h.range===true){this.range=b("<div></div>");if(!h.values)h.values=[this._valueMin(),this._valueMin()];if(h.values.length&&h.values.length!==2)h.values=[h.values[0],h.values[0]]}else this.range=b("<div></div>");this.range.appendTo(this.element).addClass("ui-slider-range");if(h.range==="min"||h.range==="max")this.range.addClass("ui-slider-range-"+h.range);this.range.addClass("ui-widget-header")}b(".ui-slider-handle",this.element).length===0&&b("<a href='#'></a>").appendTo(this.element).addClass("ui-slider-handle");
|
735
735
|
if(h.values&&h.values.length)for(;b(".ui-slider-handle",this.element).length<h.values.length;)b("<a href='#'></a>").appendTo(this.element).addClass("ui-slider-handle");this.handles=b(".ui-slider-handle",this.element).addClass("ui-state-default ui-corner-all");this.handle=this.handles.eq(0);this.handles.add(this.range).filter("a").click(function(g){g.preventDefault()}).hover(function(){h.disabled||b(this).addClass("ui-state-hover")},function(){b(this).removeClass("ui-state-hover")}).focus(function(){if(h.disabled)b(this).blur();
|
data/templates/jrails/jquery.js
CHANGED
@@ -332,8 +332,11 @@ jQuery.fn = jQuery.prototype = {
|
|
332
332
|
jQuery.fn.init.prototype = jQuery.fn;
|
333
333
|
|
334
334
|
jQuery.extend = jQuery.fn.extend = function() {
|
335
|
-
|
336
|
-
|
335
|
+
var options, name, src, copy, copyIsArray, clone,
|
336
|
+
target = arguments[0] || {},
|
337
|
+
i = 1,
|
338
|
+
length = arguments.length,
|
339
|
+
deep = false;
|
337
340
|
|
338
341
|
// Handle a deep copy situation
|
339
342
|
if ( typeof target === "boolean" ) {
|
@@ -435,18 +438,21 @@ jQuery.extend({
|
|
435
438
|
// If there are functions bound, to execute
|
436
439
|
if ( readyList ) {
|
437
440
|
// Execute all of them
|
438
|
-
var fn,
|
439
|
-
|
440
|
-
|
441
|
-
}
|
441
|
+
var fn,
|
442
|
+
i = 0,
|
443
|
+
ready = readyList;
|
442
444
|
|
443
445
|
// Reset the list of functions
|
444
446
|
readyList = null;
|
445
|
-
}
|
446
447
|
|
447
|
-
|
448
|
-
|
449
|
-
|
448
|
+
while ( (fn = ready[ i++ ]) ) {
|
449
|
+
fn.call( document, jQuery );
|
450
|
+
}
|
451
|
+
|
452
|
+
// Trigger any bound ready events
|
453
|
+
if ( jQuery.fn.trigger ) {
|
454
|
+
jQuery( document ).trigger( "ready" ).unbind( "ready" );
|
455
|
+
}
|
450
456
|
}
|
451
457
|
}
|
452
458
|
},
|
@@ -699,7 +705,8 @@ jQuery.extend({
|
|
699
705
|
},
|
700
706
|
|
701
707
|
merge: function( first, second ) {
|
702
|
-
var i = first.length,
|
708
|
+
var i = first.length,
|
709
|
+
j = 0;
|
703
710
|
|
704
711
|
if ( typeof second.length === "number" ) {
|
705
712
|
for ( var l = second.length; j < l; j++ ) {
|
@@ -968,6 +975,7 @@ return (window.jQuery = window.$ = jQuery);
|
|
968
975
|
optSelected: opt.selected,
|
969
976
|
|
970
977
|
// Will be defined later
|
978
|
+
deleteExpando: true,
|
971
979
|
optDisabled: false,
|
972
980
|
checkClone: false,
|
973
981
|
scriptEval: false,
|
@@ -998,6 +1006,15 @@ return (window.jQuery = window.$ = jQuery);
|
|
998
1006
|
delete window[ id ];
|
999
1007
|
}
|
1000
1008
|
|
1009
|
+
// Test to see if it's possible to delete an expando from an element
|
1010
|
+
// Fails in Internet Explorer
|
1011
|
+
try {
|
1012
|
+
delete script.test;
|
1013
|
+
|
1014
|
+
} catch(e) {
|
1015
|
+
jQuery.support.deleteExpando = false;
|
1016
|
+
}
|
1017
|
+
|
1001
1018
|
root.removeChild( script );
|
1002
1019
|
|
1003
1020
|
if ( div.attachEvent && div.fireEvent ) {
|
@@ -1090,20 +1107,6 @@ return (window.jQuery = window.$ = jQuery);
|
|
1090
1107
|
// release memory in IE
|
1091
1108
|
root = script = div = all = a = null;
|
1092
1109
|
})();
|
1093
|
-
|
1094
|
-
jQuery.props = {
|
1095
|
-
"for": "htmlFor",
|
1096
|
-
"class": "className",
|
1097
|
-
readonly: "readOnly",
|
1098
|
-
maxlength: "maxLength",
|
1099
|
-
cellspacing: "cellSpacing",
|
1100
|
-
rowspan: "rowSpan",
|
1101
|
-
colspan: "colSpan",
|
1102
|
-
tabindex: "tabIndex",
|
1103
|
-
usemap: "useMap",
|
1104
|
-
frameborder: "frameBorder"
|
1105
|
-
};
|
1106
|
-
|
1107
1110
|
})( jQuery );
|
1108
1111
|
|
1109
1112
|
|
@@ -1243,8 +1246,24 @@ jQuery.extend({
|
|
1243
1246
|
|
1244
1247
|
jQuery.fn.extend({
|
1245
1248
|
data: function( key, value ) {
|
1249
|
+
var data = null;
|
1250
|
+
|
1246
1251
|
if ( typeof key === "undefined" ) {
|
1247
|
-
|
1252
|
+
if ( this.length ) {
|
1253
|
+
var attr = this[0].attributes, name;
|
1254
|
+
data = jQuery.data( this[0] );
|
1255
|
+
|
1256
|
+
for ( var i = 0, l = attr.length; i < l; i++ ) {
|
1257
|
+
name = attr[i].name;
|
1258
|
+
|
1259
|
+
if ( name.indexOf( "data-" ) === 0 ) {
|
1260
|
+
name = name.substr( 5 );
|
1261
|
+
dataAttr( this[0], name, data[ name ] );
|
1262
|
+
}
|
1263
|
+
}
|
1264
|
+
}
|
1265
|
+
|
1266
|
+
return data;
|
1248
1267
|
|
1249
1268
|
} else if ( typeof key === "object" ) {
|
1250
1269
|
return this.each(function() {
|
@@ -1256,31 +1275,12 @@ jQuery.fn.extend({
|
|
1256
1275
|
parts[1] = parts[1] ? "." + parts[1] : "";
|
1257
1276
|
|
1258
1277
|
if ( value === undefined ) {
|
1259
|
-
|
1278
|
+
data = this.triggerHandler("getData" + parts[1] + "!", [parts[0]]);
|
1260
1279
|
|
1261
1280
|
// Try to fetch any internally stored data first
|
1262
1281
|
if ( data === undefined && this.length ) {
|
1263
1282
|
data = jQuery.data( this[0], key );
|
1264
|
-
|
1265
|
-
// If nothing was found internally, try to fetch any
|
1266
|
-
// data from the HTML5 data-* attribute
|
1267
|
-
if ( data === undefined && this[0].nodeType === 1 ) {
|
1268
|
-
data = this[0].getAttribute( "data-" + key );
|
1269
|
-
|
1270
|
-
if ( typeof data === "string" ) {
|
1271
|
-
try {
|
1272
|
-
data = data === "true" ? true :
|
1273
|
-
data === "false" ? false :
|
1274
|
-
data === "null" ? null :
|
1275
|
-
!jQuery.isNaN( data ) ? parseFloat( data ) :
|
1276
|
-
rbrace.test( data ) ? jQuery.parseJSON( data ) :
|
1277
|
-
data;
|
1278
|
-
} catch( e ) {}
|
1279
|
-
|
1280
|
-
} else {
|
1281
|
-
data = undefined;
|
1282
|
-
}
|
1283
|
-
}
|
1283
|
+
data = dataAttr( this[0], key, data );
|
1284
1284
|
}
|
1285
1285
|
|
1286
1286
|
return data === undefined && parts[1] ?
|
@@ -1289,7 +1289,8 @@ jQuery.fn.extend({
|
|
1289
1289
|
|
1290
1290
|
} else {
|
1291
1291
|
return this.each(function() {
|
1292
|
-
var $this = jQuery( this ),
|
1292
|
+
var $this = jQuery( this ),
|
1293
|
+
args = [ parts[0], value ];
|
1293
1294
|
|
1294
1295
|
$this.triggerHandler( "setData" + parts[1] + "!", args );
|
1295
1296
|
jQuery.data( this, key, value );
|
@@ -1305,6 +1306,33 @@ jQuery.fn.extend({
|
|
1305
1306
|
}
|
1306
1307
|
});
|
1307
1308
|
|
1309
|
+
function dataAttr( elem, key, data ) {
|
1310
|
+
// If nothing was found internally, try to fetch any
|
1311
|
+
// data from the HTML5 data-* attribute
|
1312
|
+
if ( data === undefined && elem.nodeType === 1 ) {
|
1313
|
+
data = elem.getAttribute( "data-" + key );
|
1314
|
+
|
1315
|
+
if ( typeof data === "string" ) {
|
1316
|
+
try {
|
1317
|
+
data = data === "true" ? true :
|
1318
|
+
data === "false" ? false :
|
1319
|
+
data === "null" ? null :
|
1320
|
+
!jQuery.isNaN( data ) ? parseFloat( data ) :
|
1321
|
+
rbrace.test( data ) ? jQuery.parseJSON( data ) :
|
1322
|
+
data;
|
1323
|
+
} catch( e ) {}
|
1324
|
+
|
1325
|
+
// Make sure we set the data so it isn't changed later
|
1326
|
+
jQuery.data( elem, key, data );
|
1327
|
+
|
1328
|
+
} else {
|
1329
|
+
data = undefined;
|
1330
|
+
}
|
1331
|
+
}
|
1332
|
+
|
1333
|
+
return data;
|
1334
|
+
}
|
1335
|
+
|
1308
1336
|
})( jQuery );
|
1309
1337
|
|
1310
1338
|
|
@@ -1337,7 +1365,8 @@ jQuery.extend({
|
|
1337
1365
|
dequeue: function( elem, type ) {
|
1338
1366
|
type = type || "fx";
|
1339
1367
|
|
1340
|
-
var queue = jQuery.queue( elem, type ),
|
1368
|
+
var queue = jQuery.queue( elem, type ),
|
1369
|
+
fn = queue.shift();
|
1341
1370
|
|
1342
1371
|
// If the fx queue is dequeued, always remove the progress sentinel
|
1343
1372
|
if ( fn === "inprogress" ) {
|
@@ -1415,6 +1444,19 @@ var rclass = /[\n\t]/g,
|
|
1415
1444
|
rclickable = /^a(?:rea)?$/i,
|
1416
1445
|
rradiocheck = /^(?:radio|checkbox)$/i;
|
1417
1446
|
|
1447
|
+
jQuery.props = {
|
1448
|
+
"for": "htmlFor",
|
1449
|
+
"class": "className",
|
1450
|
+
readonly: "readOnly",
|
1451
|
+
maxlength: "maxLength",
|
1452
|
+
cellspacing: "cellSpacing",
|
1453
|
+
rowspan: "rowSpan",
|
1454
|
+
colspan: "colSpan",
|
1455
|
+
tabindex: "tabIndex",
|
1456
|
+
usemap: "useMap",
|
1457
|
+
frameborder: "frameBorder"
|
1458
|
+
};
|
1459
|
+
|
1418
1460
|
jQuery.fn.extend({
|
1419
1461
|
attr: function( name, value ) {
|
1420
1462
|
return jQuery.access( this, name, value, true, jQuery.attr );
|
@@ -1448,7 +1490,9 @@ jQuery.fn.extend({
|
|
1448
1490
|
elem.className = value;
|
1449
1491
|
|
1450
1492
|
} else {
|
1451
|
-
var className = " " + elem.className + " ",
|
1493
|
+
var className = " " + elem.className + " ",
|
1494
|
+
setClass = elem.className;
|
1495
|
+
|
1452
1496
|
for ( var c = 0, cl = classNames.length; c < cl; c++ ) {
|
1453
1497
|
if ( className.indexOf( " " + classNames[c] + " " ) < 0 ) {
|
1454
1498
|
setClass += " " + classNames[c];
|
@@ -1496,7 +1540,8 @@ jQuery.fn.extend({
|
|
1496
1540
|
},
|
1497
1541
|
|
1498
1542
|
toggleClass: function( value, stateVal ) {
|
1499
|
-
var type = typeof value,
|
1543
|
+
var type = typeof value,
|
1544
|
+
isBool = typeof stateVal === "boolean";
|
1500
1545
|
|
1501
1546
|
if ( jQuery.isFunction( value ) ) {
|
1502
1547
|
return this.each(function(i) {
|
@@ -1508,7 +1553,9 @@ jQuery.fn.extend({
|
|
1508
1553
|
return this.each(function() {
|
1509
1554
|
if ( type === "string" ) {
|
1510
1555
|
// toggle individual class names
|
1511
|
-
var className,
|
1556
|
+
var className,
|
1557
|
+
i = 0,
|
1558
|
+
self = jQuery( this ),
|
1512
1559
|
state = stateVal,
|
1513
1560
|
classNames = value.split( rspaces );
|
1514
1561
|
|
@@ -1677,91 +1724,88 @@ jQuery.extend({
|
|
1677
1724
|
// Try to normalize/fix the name
|
1678
1725
|
name = notxml && jQuery.props[ name ] || name;
|
1679
1726
|
|
1680
|
-
//
|
1681
|
-
|
1682
|
-
// These attributes require special treatment
|
1683
|
-
var special = rspecialurl.test( name );
|
1684
|
-
|
1685
|
-
// Safari mis-reports the default selected property of an option
|
1686
|
-
// Accessing the parent's selectedIndex property fixes it
|
1687
|
-
if ( name === "selected" && !jQuery.support.optSelected ) {
|
1688
|
-
var parent = elem.parentNode;
|
1689
|
-
if ( parent ) {
|
1690
|
-
parent.selectedIndex;
|
1691
|
-
|
1692
|
-
// Make sure that it also works with optgroups, see #5701
|
1693
|
-
if ( parent.parentNode ) {
|
1694
|
-
parent.parentNode.selectedIndex;
|
1695
|
-
}
|
1696
|
-
}
|
1697
|
-
}
|
1727
|
+
// These attributes require special treatment
|
1728
|
+
var special = rspecialurl.test( name );
|
1698
1729
|
|
1699
|
-
|
1700
|
-
|
1701
|
-
|
1702
|
-
|
1703
|
-
|
1704
|
-
|
1705
|
-
jQuery.error( "type property can't be changed" );
|
1706
|
-
}
|
1730
|
+
// Safari mis-reports the default selected property of an option
|
1731
|
+
// Accessing the parent's selectedIndex property fixes it
|
1732
|
+
if ( name === "selected" && !jQuery.support.optSelected ) {
|
1733
|
+
var parent = elem.parentNode;
|
1734
|
+
if ( parent ) {
|
1735
|
+
parent.selectedIndex;
|
1707
1736
|
|
1708
|
-
|
1709
|
-
|
1710
|
-
|
1711
|
-
}
|
1712
|
-
|
1713
|
-
} else {
|
1714
|
-
elem[ name ] = value;
|
1715
|
-
}
|
1737
|
+
// Make sure that it also works with optgroups, see #5701
|
1738
|
+
if ( parent.parentNode ) {
|
1739
|
+
parent.parentNode.selectedIndex;
|
1716
1740
|
}
|
1741
|
+
}
|
1742
|
+
}
|
1717
1743
|
|
1718
|
-
|
1719
|
-
|
1720
|
-
|
1744
|
+
// If applicable, access the attribute via the DOM 0 way
|
1745
|
+
// 'in' checks fail in Blackberry 4.7 #6931
|
1746
|
+
if ( (name in elem || elem[ name ] !== undefined) && notxml && !special ) {
|
1747
|
+
if ( set ) {
|
1748
|
+
// We can't allow the type property to be changed (since it causes problems in IE)
|
1749
|
+
if ( name === "type" && rtype.test( elem.nodeName ) && elem.parentNode ) {
|
1750
|
+
jQuery.error( "type property can't be changed" );
|
1721
1751
|
}
|
1722
1752
|
|
1723
|
-
|
1724
|
-
|
1725
|
-
|
1726
|
-
|
1753
|
+
if ( value === null ) {
|
1754
|
+
if ( elem.nodeType === 1 ) {
|
1755
|
+
elem.removeAttribute( name );
|
1756
|
+
}
|
1727
1757
|
|
1728
|
-
|
1729
|
-
|
1730
|
-
rfocusable.test( elem.nodeName ) || rclickable.test( elem.nodeName ) && elem.href ?
|
1731
|
-
0 :
|
1732
|
-
undefined;
|
1758
|
+
} else {
|
1759
|
+
elem[ name ] = value;
|
1733
1760
|
}
|
1761
|
+
}
|
1734
1762
|
|
1735
|
-
|
1763
|
+
// browsers index elements by id/name on forms, give priority to attributes.
|
1764
|
+
if ( jQuery.nodeName( elem, "form" ) && elem.getAttributeNode(name) ) {
|
1765
|
+
return elem.getAttributeNode( name ).nodeValue;
|
1736
1766
|
}
|
1737
1767
|
|
1738
|
-
|
1739
|
-
|
1740
|
-
|
1741
|
-
|
1768
|
+
// elem.tabIndex doesn't always return the correct value when it hasn't been explicitly set
|
1769
|
+
// http://fluidproject.org/blog/2008/01/09/getting-setting-and-removing-tabindex-values-with-javascript/
|
1770
|
+
if ( name === "tabIndex" ) {
|
1771
|
+
var attributeNode = elem.getAttributeNode( "tabIndex" );
|
1742
1772
|
|
1743
|
-
return
|
1773
|
+
return attributeNode && attributeNode.specified ?
|
1774
|
+
attributeNode.value :
|
1775
|
+
rfocusable.test( elem.nodeName ) || rclickable.test( elem.nodeName ) && elem.href ?
|
1776
|
+
0 :
|
1777
|
+
undefined;
|
1744
1778
|
}
|
1745
1779
|
|
1780
|
+
return elem[ name ];
|
1781
|
+
}
|
1782
|
+
|
1783
|
+
if ( !jQuery.support.style && notxml && name === "style" ) {
|
1746
1784
|
if ( set ) {
|
1747
|
-
|
1748
|
-
elem.setAttribute( name, "" + value );
|
1785
|
+
elem.style.cssText = "" + value;
|
1749
1786
|
}
|
1750
1787
|
|
1751
|
-
|
1752
|
-
|
1753
|
-
if ( !elem.attributes[ name ] && (elem.hasAttribute && !elem.hasAttribute( name )) ) {
|
1754
|
-
return undefined;
|
1755
|
-
}
|
1788
|
+
return elem.style.cssText;
|
1789
|
+
}
|
1756
1790
|
|
1757
|
-
|
1758
|
-
|
1759
|
-
|
1760
|
-
|
1791
|
+
if ( set ) {
|
1792
|
+
// convert the value to a string (all browsers do this but IE) see #1070
|
1793
|
+
elem.setAttribute( name, "" + value );
|
1794
|
+
}
|
1761
1795
|
|
1762
|
-
|
1763
|
-
|
1796
|
+
// Ensure that missing attributes return undefined
|
1797
|
+
// Blackberry 4.7 returns "" from getAttribute #6938
|
1798
|
+
if ( !elem.attributes[ name ] && (elem.hasAttribute && !elem.hasAttribute( name )) ) {
|
1799
|
+
return undefined;
|
1764
1800
|
}
|
1801
|
+
|
1802
|
+
var attr = !jQuery.support.hrefNormalized && notxml && special ?
|
1803
|
+
// Some attributes require a special call on IE
|
1804
|
+
elem.getAttribute( name, 2 ) :
|
1805
|
+
elem.getAttribute( name );
|
1806
|
+
|
1807
|
+
// Non-existent attributes return null, we normalize to undefined
|
1808
|
+
return attr === null ? undefined : attr;
|
1765
1809
|
}
|
1766
1810
|
});
|
1767
1811
|
|
@@ -1802,6 +1846,9 @@ jQuery.event = {
|
|
1802
1846
|
|
1803
1847
|
if ( handler === false ) {
|
1804
1848
|
handler = returnFalse;
|
1849
|
+
} else if ( !handler ) {
|
1850
|
+
// Fixes bug #7229. Fix recommended by jdalton
|
1851
|
+
return;
|
1805
1852
|
}
|
1806
1853
|
|
1807
1854
|
var handleObjIn, handleObj;
|
@@ -2145,8 +2192,10 @@ jQuery.event = {
|
|
2145
2192
|
jQuery.event.trigger( event, data, parent, true );
|
2146
2193
|
|
2147
2194
|
} else if ( !event.isDefaultPrevented() ) {
|
2148
|
-
var
|
2149
|
-
|
2195
|
+
var old,
|
2196
|
+
target = event.target,
|
2197
|
+
targetType = type.replace( rnamespaces, "" ),
|
2198
|
+
isClick = jQuery.nodeName( target, "a" ) && targetType === "click",
|
2150
2199
|
special = jQuery.event.special[ targetType ] || {};
|
2151
2200
|
|
2152
2201
|
if ( (!special._default || special._default.call( elem, event ) === false) &&
|
@@ -2178,7 +2227,9 @@ jQuery.event = {
|
|
2178
2227
|
},
|
2179
2228
|
|
2180
2229
|
handle: function( event ) {
|
2181
|
-
var all, handlers, namespaces,
|
2230
|
+
var all, handlers, namespaces, namespace_re, events,
|
2231
|
+
namespace_sort = [],
|
2232
|
+
args = jQuery.makeArray( arguments );
|
2182
2233
|
|
2183
2234
|
event = args[0] = jQuery.event.fix( event || window.event );
|
2184
2235
|
event.currentTarget = this;
|
@@ -2257,7 +2308,8 @@ jQuery.event = {
|
|
2257
2308
|
|
2258
2309
|
// Fix target property, if necessary
|
2259
2310
|
if ( !event.target ) {
|
2260
|
-
|
2311
|
+
// Fixes #1925 where srcElement might not be defined either
|
2312
|
+
event.target = event.srcElement || document;
|
2261
2313
|
}
|
2262
2314
|
|
2263
2315
|
// check if target is a textnode (safari)
|
@@ -2272,7 +2324,9 @@ jQuery.event = {
|
|
2272
2324
|
|
2273
2325
|
// Calculate pageX/Y if missing and clientX/Y available
|
2274
2326
|
if ( event.pageX == null && event.clientX != null ) {
|
2275
|
-
var doc = document.documentElement,
|
2327
|
+
var doc = document.documentElement,
|
2328
|
+
body = document.body;
|
2329
|
+
|
2276
2330
|
event.pageX = event.clientX + (doc && doc.scrollLeft || body && body.scrollLeft || 0) - (doc && doc.clientLeft || body && body.clientLeft || 0);
|
2277
2331
|
event.pageY = event.clientY + (doc && doc.scrollTop || body && body.scrollTop || 0) - (doc && doc.clientTop || body && body.clientTop || 0);
|
2278
2332
|
}
|
@@ -2478,7 +2532,8 @@ if ( !jQuery.support.submitBubbles ) {
|
|
2478
2532
|
setup: function( data, namespaces ) {
|
2479
2533
|
if ( this.nodeName.toLowerCase() !== "form" ) {
|
2480
2534
|
jQuery.event.add(this, "click.specialSubmit", function( e ) {
|
2481
|
-
var elem = e.target,
|
2535
|
+
var elem = e.target,
|
2536
|
+
type = elem.type;
|
2482
2537
|
|
2483
2538
|
if ( (type === "submit" || type === "image") && jQuery( elem ).closest("form").length ) {
|
2484
2539
|
e.liveFired = undefined;
|
@@ -2487,7 +2542,8 @@ if ( !jQuery.support.submitBubbles ) {
|
|
2487
2542
|
});
|
2488
2543
|
|
2489
2544
|
jQuery.event.add(this, "keypress.specialSubmit", function( e ) {
|
2490
|
-
var elem = e.target,
|
2545
|
+
var elem = e.target,
|
2546
|
+
type = elem.type;
|
2491
2547
|
|
2492
2548
|
if ( (type === "text" || type === "password") && jQuery( elem ).closest("form").length && e.keyCode === 13 ) {
|
2493
2549
|
e.liveFired = undefined;
|
@@ -2728,7 +2784,8 @@ jQuery.fn.extend({
|
|
2728
2784
|
|
2729
2785
|
toggle: function( fn ) {
|
2730
2786
|
// Save reference to arguments for access in closure
|
2731
|
-
var args = arguments,
|
2787
|
+
var args = arguments,
|
2788
|
+
i = 1;
|
2732
2789
|
|
2733
2790
|
// link all the functions, so any of them can unbind this click handler
|
2734
2791
|
while ( i < args.length ) {
|
@@ -2823,8 +2880,9 @@ jQuery.each(["live", "die"], function( i, name ) {
|
|
2823
2880
|
});
|
2824
2881
|
|
2825
2882
|
function liveHandler( event ) {
|
2826
|
-
var stop, maxLevel,
|
2827
|
-
|
2883
|
+
var stop, maxLevel, related, match, handleObj, elem, j, i, l, data, close, namespace, ret,
|
2884
|
+
elems = [],
|
2885
|
+
selectors = [],
|
2828
2886
|
events = jQuery.data( this, this.nodeType ? "events" : "__events__" );
|
2829
2887
|
|
2830
2888
|
if ( typeof events === "function" ) {
|
@@ -2835,7 +2893,7 @@ function liveHandler( event ) {
|
|
2835
2893
|
if ( event.liveFired === this || !events || !events.live || event.button && event.type === "click" ) {
|
2836
2894
|
return;
|
2837
2895
|
}
|
2838
|
-
|
2896
|
+
|
2839
2897
|
if ( event.namespace ) {
|
2840
2898
|
namespace = new RegExp("(^|\\.)" + event.namespace.split(".").join("\\.(?:.*\\.)?") + "(\\.|$)");
|
2841
2899
|
}
|
@@ -2899,6 +2957,9 @@ function liveHandler( event ) {
|
|
2899
2957
|
if ( ret === false ) {
|
2900
2958
|
stop = false;
|
2901
2959
|
}
|
2960
|
+
if ( event.isImmediatePropagationStopped() ) {
|
2961
|
+
break;
|
2962
|
+
}
|
2902
2963
|
}
|
2903
2964
|
}
|
2904
2965
|
|
@@ -4287,7 +4348,8 @@ var runtil = /Until$/,
|
|
4287
4348
|
|
4288
4349
|
jQuery.fn.extend({
|
4289
4350
|
find: function( selector ) {
|
4290
|
-
var ret = this.pushStack( "", "find", selector ),
|
4351
|
+
var ret = this.pushStack( "", "find", selector ),
|
4352
|
+
length = 0;
|
4291
4353
|
|
4292
4354
|
for ( var i = 0, l = this.length; i < l; i++ ) {
|
4293
4355
|
length = ret.length;
|
@@ -4336,7 +4398,9 @@ jQuery.fn.extend({
|
|
4336
4398
|
var ret = [], i, l, cur = this[0];
|
4337
4399
|
|
4338
4400
|
if ( jQuery.isArray( selectors ) ) {
|
4339
|
-
var match,
|
4401
|
+
var match, selector,
|
4402
|
+
matches = {},
|
4403
|
+
level = 1;
|
4340
4404
|
|
4341
4405
|
if ( cur && selectors.length ) {
|
4342
4406
|
for ( i = 0, l = selectors.length; i < l; i++ ) {
|
@@ -4502,7 +4566,9 @@ jQuery.extend({
|
|
4502
4566
|
},
|
4503
4567
|
|
4504
4568
|
dir: function( elem, dir, until ) {
|
4505
|
-
var matched = [],
|
4569
|
+
var matched = [],
|
4570
|
+
cur = elem[ dir ];
|
4571
|
+
|
4506
4572
|
while ( cur && cur.nodeType !== 9 && (until === undefined || cur.nodeType !== 1 || !jQuery( cur ).is( until )) ) {
|
4507
4573
|
if ( cur.nodeType === 1 ) {
|
4508
4574
|
matched.push( cur );
|
@@ -4580,7 +4646,8 @@ var rinlinejQuery = / jQuery\d+="(?:\d+|null)"/g,
|
|
4580
4646
|
rtbody = /<tbody/i,
|
4581
4647
|
rhtml = /<|&#?\w+;/,
|
4582
4648
|
rnocache = /<(?:script|object|embed|option|style)/i,
|
4583
|
-
|
4649
|
+
// checked="checked" or checked (html5)
|
4650
|
+
rchecked = /checked\s*(?:[^=]|=\s*.checked.)/i,
|
4584
4651
|
raction = /\=([^="'>\s]+\/)>/g,
|
4585
4652
|
wrapMap = {
|
4586
4653
|
option: [ 1, "<select multiple='multiple'>", "</select>" ],
|
@@ -4606,7 +4673,8 @@ jQuery.fn.extend({
|
|
4606
4673
|
text: function( text ) {
|
4607
4674
|
if ( jQuery.isFunction(text) ) {
|
4608
4675
|
return this.each(function(i) {
|
4609
|
-
var self = jQuery(this);
|
4676
|
+
var self = jQuery( this );
|
4677
|
+
|
4610
4678
|
self.text( text.call(this, i, self.text()) );
|
4611
4679
|
});
|
4612
4680
|
}
|
@@ -4655,7 +4723,8 @@ jQuery.fn.extend({
|
|
4655
4723
|
}
|
4656
4724
|
|
4657
4725
|
return this.each(function() {
|
4658
|
-
var self = jQuery( this ),
|
4726
|
+
var self = jQuery( this ),
|
4727
|
+
contents = self.contents();
|
4659
4728
|
|
4660
4729
|
if ( contents.length ) {
|
4661
4730
|
contents.wrapAll( html );
|
@@ -4766,7 +4835,9 @@ jQuery.fn.extend({
|
|
4766
4835
|
// attributes in IE that are actually only stored
|
4767
4836
|
// as properties will not be copied (such as the
|
4768
4837
|
// the name attribute on an input).
|
4769
|
-
var html = this.outerHTML,
|
4838
|
+
var html = this.outerHTML,
|
4839
|
+
ownerDocument = this.ownerDocument;
|
4840
|
+
|
4770
4841
|
if ( !html ) {
|
4771
4842
|
var div = ownerDocument.createElement("div");
|
4772
4843
|
div.appendChild( this.cloneNode(true) );
|
@@ -4821,7 +4892,8 @@ jQuery.fn.extend({
|
|
4821
4892
|
|
4822
4893
|
} else if ( jQuery.isFunction( value ) ) {
|
4823
4894
|
this.each(function(i){
|
4824
|
-
var self = jQuery(this);
|
4895
|
+
var self = jQuery( this );
|
4896
|
+
|
4825
4897
|
self.html( value.call(this, i, self.html()) );
|
4826
4898
|
});
|
4827
4899
|
|
@@ -4844,13 +4916,14 @@ jQuery.fn.extend({
|
|
4844
4916
|
}
|
4845
4917
|
|
4846
4918
|
if ( typeof value !== "string" ) {
|
4847
|
-
value = jQuery(value).detach();
|
4919
|
+
value = jQuery( value ).detach();
|
4848
4920
|
}
|
4849
4921
|
|
4850
4922
|
return this.each(function() {
|
4851
|
-
var next = this.nextSibling,
|
4923
|
+
var next = this.nextSibling,
|
4924
|
+
parent = this.parentNode;
|
4852
4925
|
|
4853
|
-
jQuery(this).remove();
|
4926
|
+
jQuery( this ).remove();
|
4854
4927
|
|
4855
4928
|
if ( next ) {
|
4856
4929
|
jQuery(next).before( value );
|
@@ -4868,7 +4941,9 @@ jQuery.fn.extend({
|
|
4868
4941
|
},
|
4869
4942
|
|
4870
4943
|
domManip: function( args, table, callback ) {
|
4871
|
-
var results, first,
|
4944
|
+
var results, first, fragment, parent,
|
4945
|
+
value = args[0],
|
4946
|
+
scripts = [];
|
4872
4947
|
|
4873
4948
|
// We can't cloneNode fragments that contain checked, in WebKit
|
4874
4949
|
if ( !jQuery.support.checkClone && arguments.length === 3 && typeof value === "string" && rchecked.test( value ) ) {
|
@@ -4943,7 +5018,9 @@ function cloneCopyEvent(orig, ret) {
|
|
4943
5018
|
return;
|
4944
5019
|
}
|
4945
5020
|
|
4946
|
-
var oldData = jQuery.data( orig[i++] ),
|
5021
|
+
var oldData = jQuery.data( orig[i++] ),
|
5022
|
+
curData = jQuery.data( this, oldData ),
|
5023
|
+
events = oldData && oldData.events;
|
4947
5024
|
|
4948
5025
|
if ( events ) {
|
4949
5026
|
delete curData.handle;
|
@@ -5000,7 +5077,8 @@ jQuery.each({
|
|
5000
5077
|
replaceAll: "replaceWith"
|
5001
5078
|
}, function( name, original ) {
|
5002
5079
|
jQuery.fn[ name ] = function( selector ) {
|
5003
|
-
var ret = [],
|
5080
|
+
var ret = [],
|
5081
|
+
insert = jQuery( selector ),
|
5004
5082
|
parent = this.length === 1 && this[0].parentNode;
|
5005
5083
|
|
5006
5084
|
if ( parent && parent.nodeType === 11 && parent.childNodes.length === 1 && insert.length === 1 ) {
|
@@ -5186,8 +5264,8 @@ var ralpha = /alpha\([^)]*\)/i,
|
|
5186
5264
|
cssHeight = [ "Top", "Bottom" ],
|
5187
5265
|
curCSS,
|
5188
5266
|
|
5189
|
-
|
5190
|
-
|
5267
|
+
getComputedStyle,
|
5268
|
+
currentStyle,
|
5191
5269
|
|
5192
5270
|
fcamelCase = function( all, letter ) {
|
5193
5271
|
return letter.toUpperCase();
|
@@ -5343,7 +5421,29 @@ jQuery.each(["height", "width"], function( i, name ) {
|
|
5343
5421
|
});
|
5344
5422
|
}
|
5345
5423
|
|
5346
|
-
|
5424
|
+
if ( val <= 0 ) {
|
5425
|
+
val = curCSS( elem, name, name );
|
5426
|
+
|
5427
|
+
if ( val === "0px" && currentStyle ) {
|
5428
|
+
val = currentStyle( elem, name, name );
|
5429
|
+
}
|
5430
|
+
|
5431
|
+
if ( val != null ) {
|
5432
|
+
// Should return "auto" instead of 0, use 0 for
|
5433
|
+
// temporary backwards-compat
|
5434
|
+
return val === "" || val === "auto" ? "0px" : val;
|
5435
|
+
}
|
5436
|
+
}
|
5437
|
+
|
5438
|
+
if ( val < 0 || val == null ) {
|
5439
|
+
val = elem.style[ name ];
|
5440
|
+
|
5441
|
+
// Should return "auto" instead of 0, use 0 for
|
5442
|
+
// temporary backwards-compat
|
5443
|
+
return val === "" || val === "auto" ? "0px" : val;
|
5444
|
+
}
|
5445
|
+
|
5446
|
+
return typeof val === "string" ? val : val + "px";
|
5347
5447
|
}
|
5348
5448
|
},
|
5349
5449
|
|
@@ -5392,8 +5492,8 @@ if ( !jQuery.support.opacity ) {
|
|
5392
5492
|
};
|
5393
5493
|
}
|
5394
5494
|
|
5395
|
-
if ( getComputedStyle ) {
|
5396
|
-
|
5495
|
+
if ( document.defaultView && document.defaultView.getComputedStyle ) {
|
5496
|
+
getComputedStyle = function( elem, newName, name ) {
|
5397
5497
|
var ret, defaultView, computedStyle;
|
5398
5498
|
|
5399
5499
|
name = name.replace( rupper, "-$1" ).toLowerCase();
|
@@ -5411,10 +5511,13 @@ if ( getComputedStyle ) {
|
|
5411
5511
|
|
5412
5512
|
return ret;
|
5413
5513
|
};
|
5514
|
+
}
|
5414
5515
|
|
5415
|
-
|
5416
|
-
|
5417
|
-
var left, rsLeft,
|
5516
|
+
if ( document.documentElement.currentStyle ) {
|
5517
|
+
currentStyle = function( elem, name ) {
|
5518
|
+
var left, rsLeft,
|
5519
|
+
ret = elem.currentStyle && elem.currentStyle[ name ],
|
5520
|
+
style = elem.style;
|
5418
5521
|
|
5419
5522
|
// From the awesome hack by Dean Edwards
|
5420
5523
|
// http://erik.eae.net/archives/2007/07/27/18.54.15/#comment-102291
|
@@ -5436,10 +5539,12 @@ if ( getComputedStyle ) {
|
|
5436
5539
|
elem.runtimeStyle.left = rsLeft;
|
5437
5540
|
}
|
5438
5541
|
|
5439
|
-
return ret;
|
5542
|
+
return ret === "" ? "auto" : ret;
|
5440
5543
|
};
|
5441
5544
|
}
|
5442
5545
|
|
5546
|
+
curCSS = getComputedStyle || currentStyle;
|
5547
|
+
|
5443
5548
|
function getWH( elem, name, extra ) {
|
5444
5549
|
var which = name === "width" ? cssWidth : cssHeight,
|
5445
5550
|
val = name === "width" ? elem.offsetWidth : elem.offsetHeight;
|
@@ -5466,7 +5571,8 @@ function getWH( elem, name, extra ) {
|
|
5466
5571
|
|
5467
5572
|
if ( jQuery.expr && jQuery.expr.filters ) {
|
5468
5573
|
jQuery.expr.filters.hidden = function( elem ) {
|
5469
|
-
var width = elem.offsetWidth,
|
5574
|
+
var width = elem.offsetWidth,
|
5575
|
+
height = elem.offsetHeight;
|
5470
5576
|
|
5471
5577
|
return (width === 0 && height === 0) || (!jQuery.support.reliableHiddenOffsets && (elem.style.display || jQuery.css( elem, "display" )) === "none");
|
5472
5578
|
};
|
@@ -5485,7 +5591,7 @@ var jsc = jQuery.now(),
|
|
5485
5591
|
rscript = /<script\b[^<]*(?:(?!<\/script>)<[^<]*)*<\/script>/gi,
|
5486
5592
|
rselectTextarea = /^(?:select|textarea)/i,
|
5487
5593
|
rinput = /^(?:color|date|datetime|email|hidden|month|number|password|range|search|tel|text|time|url|week)$/i,
|
5488
|
-
rnoContent = /^(?:GET|HEAD
|
5594
|
+
rnoContent = /^(?:GET|HEAD)$/,
|
5489
5595
|
rbracket = /\[\]$/,
|
5490
5596
|
jsre = /\=\?(&|$)/,
|
5491
5597
|
rquery = /\?/,
|
@@ -5720,10 +5826,6 @@ jQuery.extend({
|
|
5720
5826
|
var customJsonp = window[ jsonp ];
|
5721
5827
|
|
5722
5828
|
window[ jsonp ] = function( tmp ) {
|
5723
|
-
data = tmp;
|
5724
|
-
jQuery.handleSuccess( s, xhr, status, data );
|
5725
|
-
jQuery.handleComplete( s, xhr, status, data );
|
5726
|
-
|
5727
5829
|
if ( jQuery.isFunction( customJsonp ) ) {
|
5728
5830
|
customJsonp( tmp );
|
5729
5831
|
|
@@ -5735,6 +5837,10 @@ jQuery.extend({
|
|
5735
5837
|
delete window[ jsonp ];
|
5736
5838
|
} catch( jsonpError ) {}
|
5737
5839
|
}
|
5840
|
+
|
5841
|
+
data = tmp;
|
5842
|
+
jQuery.handleSuccess( s, xhr, status, data );
|
5843
|
+
jQuery.handleComplete( s, xhr, status, data );
|
5738
5844
|
|
5739
5845
|
if ( head ) {
|
5740
5846
|
head.removeChild( script );
|
@@ -5746,7 +5852,7 @@ jQuery.extend({
|
|
5746
5852
|
s.cache = false;
|
5747
5853
|
}
|
5748
5854
|
|
5749
|
-
if ( s.cache === false &&
|
5855
|
+
if ( s.cache === false && noContent ) {
|
5750
5856
|
var ts = jQuery.now();
|
5751
5857
|
|
5752
5858
|
// try replacing _= if it is there
|
@@ -5756,8 +5862,8 @@ jQuery.extend({
|
|
5756
5862
|
s.url = ret + ((ret === s.url) ? (rquery.test(s.url) ? "&" : "?") + "_=" + ts : "");
|
5757
5863
|
}
|
5758
5864
|
|
5759
|
-
// If data is available, append data to url for
|
5760
|
-
if ( s.data &&
|
5865
|
+
// If data is available, append data to url for GET/HEAD requests
|
5866
|
+
if ( s.data && noContent ) {
|
5761
5867
|
s.url += (rquery.test(s.url) ? "&" : "?") + s.data;
|
5762
5868
|
}
|
5763
5869
|
|
@@ -5768,7 +5874,7 @@ jQuery.extend({
|
|
5768
5874
|
|
5769
5875
|
// Matches an absolute URL, and saves the domain
|
5770
5876
|
var parts = rurl.exec( s.url ),
|
5771
|
-
remote = parts && (parts[1] && parts[1] !== location.protocol || parts[2] !== location.host);
|
5877
|
+
remote = parts && (parts[1] && parts[1].toLowerCase() !== location.protocol || parts[2].toLowerCase() !== location.host);
|
5772
5878
|
|
5773
5879
|
// If we're requesting a remote document
|
5774
5880
|
// and trying to load JSON or Script with a GET
|
@@ -5944,10 +6050,11 @@ jQuery.extend({
|
|
5944
6050
|
try {
|
5945
6051
|
var oldAbort = xhr.abort;
|
5946
6052
|
xhr.abort = function() {
|
5947
|
-
|
5948
|
-
|
5949
|
-
|
5950
|
-
|
6053
|
+
if ( xhr ) {
|
6054
|
+
// oldAbort has no call property in IE7 so
|
6055
|
+
// just do it this way, which works in all
|
6056
|
+
// browsers
|
6057
|
+
Function.prototype.call.call( oldAbort, xhr );
|
5951
6058
|
}
|
5952
6059
|
|
5953
6060
|
onreadystatechange( "abort" );
|
@@ -5987,11 +6094,12 @@ jQuery.extend({
|
|
5987
6094
|
// Serialize an array of form elements or a set of
|
5988
6095
|
// key/values into a query string
|
5989
6096
|
param: function( a, traditional ) {
|
5990
|
-
var s = [],
|
5991
|
-
|
5992
|
-
|
5993
|
-
|
5994
|
-
|
6097
|
+
var s = [],
|
6098
|
+
add = function( key, value ) {
|
6099
|
+
// If value is a function, invoke it and return its value
|
6100
|
+
value = jQuery.isFunction(value) ? value() : value;
|
6101
|
+
s[ s.length ] = encodeURIComponent(key) + "=" + encodeURIComponent(value);
|
6102
|
+
};
|
5995
6103
|
|
5996
6104
|
// Set traditional to true for jQuery <= 1.3.2 behavior.
|
5997
6105
|
if ( traditional === undefined ) {
|
@@ -6215,28 +6323,39 @@ var elemdisplay = {},
|
|
6215
6323
|
|
6216
6324
|
jQuery.fn.extend({
|
6217
6325
|
show: function( speed, easing, callback ) {
|
6326
|
+
var elem, display;
|
6327
|
+
|
6218
6328
|
if ( speed || speed === 0 ) {
|
6219
6329
|
return this.animate( genFx("show", 3), speed, easing, callback);
|
6330
|
+
|
6220
6331
|
} else {
|
6221
6332
|
for ( var i = 0, j = this.length; i < j; i++ ) {
|
6333
|
+
elem = this[i];
|
6334
|
+
display = elem.style.display;
|
6335
|
+
|
6222
6336
|
// Reset the inline display of this element to learn if it is
|
6223
6337
|
// being hidden by cascaded rules or not
|
6224
|
-
if ( !jQuery.data(
|
6225
|
-
|
6338
|
+
if ( !jQuery.data(elem, "olddisplay") && display === "none" ) {
|
6339
|
+
display = elem.style.display = "";
|
6226
6340
|
}
|
6227
6341
|
|
6228
6342
|
// Set elements which have been overridden with display: none
|
6229
6343
|
// in a stylesheet to whatever the default browser style is
|
6230
6344
|
// for such an element
|
6231
|
-
if (
|
6232
|
-
jQuery.data(
|
6345
|
+
if ( display === "" && jQuery.css( elem, "display" ) === "none" ) {
|
6346
|
+
jQuery.data(elem, "olddisplay", defaultDisplay(elem.nodeName));
|
6233
6347
|
}
|
6234
6348
|
}
|
6235
6349
|
|
6236
6350
|
// Set the display of most of the elements in a second loop
|
6237
6351
|
// to avoid the constant reflow
|
6238
6352
|
for ( i = 0; i < j; i++ ) {
|
6239
|
-
|
6353
|
+
elem = this[i];
|
6354
|
+
display = elem.style.display;
|
6355
|
+
|
6356
|
+
if ( display === "" || display === "none" ) {
|
6357
|
+
elem.style.display = jQuery.data(elem, "olddisplay") || "";
|
6358
|
+
}
|
6240
6359
|
}
|
6241
6360
|
|
6242
6361
|
return this;
|
@@ -6301,7 +6420,7 @@ jQuery.fn.extend({
|
|
6301
6420
|
}
|
6302
6421
|
|
6303
6422
|
return this[ optall.queue === false ? "each" : "queue" ](function() {
|
6304
|
-
// XXX
|
6423
|
+
// XXX 'this' does not always have a nodeName when running the
|
6305
6424
|
// test suite
|
6306
6425
|
|
6307
6426
|
var opt = jQuery.extend({}, optall), p,
|
@@ -6374,7 +6493,7 @@ jQuery.fn.extend({
|
|
6374
6493
|
|
6375
6494
|
} else {
|
6376
6495
|
var parts = rfxnum.exec(val),
|
6377
|
-
start = e.cur(
|
6496
|
+
start = e.cur() || 0;
|
6378
6497
|
|
6379
6498
|
if ( parts ) {
|
6380
6499
|
var end = parseFloat( parts[2] ),
|
@@ -6383,7 +6502,7 @@ jQuery.fn.extend({
|
|
6383
6502
|
// We need to compute starting value
|
6384
6503
|
if ( unit !== "px" ) {
|
6385
6504
|
jQuery.style( self, name, (end || 1) + unit);
|
6386
|
-
start = ((end || 1) / e.cur(
|
6505
|
+
start = ((end || 1) / e.cur()) * start;
|
6387
6506
|
jQuery.style( self, name, start + unit);
|
6388
6507
|
}
|
6389
6508
|
|
@@ -6452,7 +6571,8 @@ jQuery.each({
|
|
6452
6571
|
slideUp: genFx("hide", 1),
|
6453
6572
|
slideToggle: genFx("toggle", 1),
|
6454
6573
|
fadeIn: { opacity: "show" },
|
6455
|
-
fadeOut: { opacity: "hide" }
|
6574
|
+
fadeOut: { opacity: "hide" },
|
6575
|
+
fadeToggle: { opacity: "toggle" }
|
6456
6576
|
}, function( name, props ) {
|
6457
6577
|
jQuery.fn[ name ] = function( speed, easing, callback ) {
|
6458
6578
|
return this.animate( props, speed, easing, callback );
|
@@ -6530,6 +6650,9 @@ jQuery.fx.prototype = {
|
|
6530
6650
|
|
6531
6651
|
// Start an animation from one number to another
|
6532
6652
|
custom: function( from, to, unit ) {
|
6653
|
+
var self = this,
|
6654
|
+
fx = jQuery.fx;
|
6655
|
+
|
6533
6656
|
this.startTime = jQuery.now();
|
6534
6657
|
this.start = from;
|
6535
6658
|
this.end = to;
|
@@ -6537,7 +6660,6 @@ jQuery.fx.prototype = {
|
|
6537
6660
|
this.now = this.start;
|
6538
6661
|
this.pos = this.state = 0;
|
6539
6662
|
|
6540
|
-
var self = this, fx = jQuery.fx;
|
6541
6663
|
function t( gotoEnd ) {
|
6542
6664
|
return self.step(gotoEnd);
|
6543
6665
|
}
|
@@ -6594,7 +6716,9 @@ jQuery.fx.prototype = {
|
|
6594
6716
|
if ( done ) {
|
6595
6717
|
// Reset the overflow
|
6596
6718
|
if ( this.options.overflow != null && !jQuery.support.shrinkWrapBlocks ) {
|
6597
|
-
var elem = this.elem,
|
6719
|
+
var elem = this.elem,
|
6720
|
+
options = this.options;
|
6721
|
+
|
6598
6722
|
jQuery.each( [ "", "X", "Y" ], function (index, value) {
|
6599
6723
|
elem.style[ "overflow" + value ] = options.overflow[index];
|
6600
6724
|
} );
|
@@ -6775,11 +6899,16 @@ if ( "getBoundingClientRect" in document.documentElement ) {
|
|
6775
6899
|
|
6776
6900
|
jQuery.offset.initialize();
|
6777
6901
|
|
6778
|
-
var
|
6779
|
-
|
6780
|
-
|
6902
|
+
var computedStyle,
|
6903
|
+
offsetParent = elem.offsetParent,
|
6904
|
+
prevOffsetParent = elem,
|
6905
|
+
doc = elem.ownerDocument,
|
6906
|
+
docElem = doc.documentElement,
|
6907
|
+
body = doc.body,
|
6908
|
+
defaultView = doc.defaultView,
|
6781
6909
|
prevComputedStyle = defaultView ? defaultView.getComputedStyle( elem, null ) : elem.currentStyle,
|
6782
|
-
top = elem.offsetTop,
|
6910
|
+
top = elem.offsetTop,
|
6911
|
+
left = elem.offsetLeft;
|
6783
6912
|
|
6784
6913
|
while ( (elem = elem.parentNode) && elem !== body && elem !== docElem ) {
|
6785
6914
|
if ( jQuery.offset.supportsFixedPosition && prevComputedStyle.position === "fixed" ) {
|
@@ -6861,7 +6990,8 @@ jQuery.offset = {
|
|
6861
6990
|
},
|
6862
6991
|
|
6863
6992
|
bodyOffset: function( body ) {
|
6864
|
-
var top = body.offsetTop,
|
6993
|
+
var top = body.offsetTop,
|
6994
|
+
left = body.offsetLeft;
|
6865
6995
|
|
6866
6996
|
jQuery.offset.initialize();
|
6867
6997
|
|
@@ -7044,27 +7174,31 @@ jQuery.each([ "Height", "Width" ], function( i, name ) {
|
|
7044
7174
|
});
|
7045
7175
|
}
|
7046
7176
|
|
7047
|
-
|
7177
|
+
if ( jQuery.isWindow( elem ) ) {
|
7048
7178
|
// Everyone else use document.documentElement or document.body depending on Quirks vs Standards mode
|
7049
|
-
elem.document.compatMode === "CSS1Compat" && elem.document.documentElement[ "client" + name ] ||
|
7050
|
-
|
7051
|
-
|
7052
|
-
|
7053
|
-
|
7054
|
-
|
7055
|
-
|
7056
|
-
|
7057
|
-
|
7058
|
-
|
7059
|
-
|
7060
|
-
|
7061
|
-
|
7062
|
-
|
7063
|
-
|
7064
|
-
|
7065
|
-
|
7066
|
-
|
7067
|
-
|
7179
|
+
return elem.document.compatMode === "CSS1Compat" && elem.document.documentElement[ "client" + name ] ||
|
7180
|
+
elem.document.body[ "client" + name ];
|
7181
|
+
|
7182
|
+
// Get document width or height
|
7183
|
+
} else if ( elem.nodeType === 9 ) {
|
7184
|
+
// Either scroll[Width/Height] or offset[Width/Height], whichever is greater
|
7185
|
+
return Math.max(
|
7186
|
+
elem.documentElement["client" + name],
|
7187
|
+
elem.body["scroll" + name], elem.documentElement["scroll" + name],
|
7188
|
+
elem.body["offset" + name], elem.documentElement["offset" + name]
|
7189
|
+
);
|
7190
|
+
|
7191
|
+
// Get or set width or height on the element
|
7192
|
+
} else if ( size === undefined ) {
|
7193
|
+
var orig = jQuery.css( elem, type ),
|
7194
|
+
ret = parseFloat( orig );
|
7195
|
+
|
7196
|
+
return jQuery.isNaN( ret ) ? orig : ret;
|
7197
|
+
|
7198
|
+
// Set the width or height on the element (default to pixels if value is unitless)
|
7199
|
+
} else {
|
7200
|
+
return this.css( type, typeof size === "string" ? size : size + "px" );
|
7201
|
+
}
|
7068
7202
|
};
|
7069
7203
|
|
7070
7204
|
});
|