unpoly-rails 0.32.0 → 0.33.0
Sign up to get free protection for your applications and to get access to all the features.
Potentially problematic release.
This version of unpoly-rails might be problematic. Click here for more details.
- checksums.yaml +4 -4
- data/CHANGELOG.md +106 -76
- data/README.md +8 -5
- data/README_RAILS.md +1 -1
- data/design/test_rejected_promise.txt +5 -0
- data/dist/unpoly-bootstrap3.js +1 -1
- data/dist/unpoly-bootstrap3.min.js +1 -1
- data/dist/unpoly.js +814 -417
- data/dist/unpoly.min.js +3 -3
- data/lib/assets/javascripts/unpoly/{browser.js.coffee → browser.coffee} +15 -6
- data/lib/assets/javascripts/unpoly/{bus.js.coffee → bus.coffee} +13 -13
- data/lib/assets/javascripts/unpoly/dom/extract_cascade.coffee +73 -0
- data/lib/assets/javascripts/unpoly/dom/extract_plan.coffee +65 -0
- data/lib/assets/javascripts/unpoly/{flow.js.coffee → dom.coffee} +109 -114
- data/lib/assets/javascripts/unpoly/{navigation.js.coffee → feedback.coffee} +11 -11
- data/lib/assets/javascripts/unpoly/{form.js.coffee → form.coffee} +35 -24
- data/lib/assets/javascripts/unpoly/{history.js.coffee → history.coffee} +9 -10
- data/lib/assets/javascripts/unpoly/{layout.js.coffee → layout.coffee} +53 -21
- data/lib/assets/javascripts/unpoly/{link.js.coffee → link.coffee} +46 -40
- data/lib/assets/javascripts/unpoly/{log.js.coffee → log.coffee} +2 -2
- data/lib/assets/javascripts/unpoly/{modal.js.coffee → modal.coffee} +17 -14
- data/lib/assets/javascripts/unpoly/{motion.js.coffee → motion.coffee} +28 -31
- data/lib/assets/javascripts/unpoly/namespace.coffee.erb +10 -0
- data/lib/assets/javascripts/unpoly/{popup.js.coffee → popup.coffee} +22 -10
- data/lib/assets/javascripts/unpoly/{proxy.js.coffee → proxy.coffee} +34 -12
- data/lib/assets/javascripts/unpoly/{rails.js.coffee → rails.coffee} +0 -0
- data/lib/assets/javascripts/unpoly/{syntax.js.coffee → syntax.coffee} +32 -21
- data/lib/assets/javascripts/unpoly/{toast.js.coffee → toast.coffee} +0 -0
- data/lib/assets/javascripts/unpoly/{tooltip.js.coffee → tooltip.coffee} +2 -2
- data/lib/assets/javascripts/unpoly/{util.js.coffee → util.coffee} +122 -35
- data/lib/assets/javascripts/unpoly-bootstrap3/{form-ext.js.coffee → form-ext.coffee} +0 -0
- data/lib/assets/javascripts/unpoly-bootstrap3/{layout-ext.js.coffee → layout-ext.coffee} +0 -0
- data/lib/assets/javascripts/unpoly-bootstrap3/{modal-ext.js.coffee → modal-ext.coffee} +0 -0
- data/lib/assets/javascripts/unpoly-bootstrap3/{navigation-ext.js.coffee → navigation-ext.coffee} +1 -1
- data/lib/assets/javascripts/{unpoly-bootstrap3.js.coffee → unpoly-bootstrap3.coffee} +0 -0
- data/lib/assets/javascripts/unpoly.coffee +22 -0
- data/lib/assets/stylesheets/unpoly/{close.css.sass → close.sass} +0 -0
- data/lib/assets/stylesheets/unpoly/{flow.css.sass → flow.sass} +0 -0
- data/lib/assets/stylesheets/unpoly/{link.css.sass → link.sass} +0 -0
- data/lib/assets/stylesheets/unpoly/{modal.css.sass → modal.sass} +0 -0
- data/lib/assets/stylesheets/unpoly/{popup.css.sass → popup.sass} +0 -0
- data/lib/assets/stylesheets/unpoly/{toast.css.sass → toast.sass} +0 -0
- data/lib/assets/stylesheets/unpoly/{tooltip.css.sass → tooltip.sass} +0 -0
- data/lib/assets/stylesheets/unpoly-bootstrap3/{modal-ext.css.sass → modal-ext.sass} +0 -0
- data/lib/assets/stylesheets/{unpoly-bootstrap3.css.sass → unpoly-bootstrap3.sass} +0 -0
- data/lib/assets/stylesheets/{unpoly.css.sass → unpoly.sass} +0 -0
- data/lib/unpoly/rails/version.rb +1 -1
- data/package.json +1 -1
- data/spec_app/Gemfile.lock +11 -13
- data/spec_app/app/assets/javascripts/jasmine_specs.coffee +1 -1
- data/spec_app/app/assets/stylesheets/_helpers.sass +1 -1
- data/spec_app/config/initializers/assets.rb +1 -5
- data/spec_app/spec/javascripts/up/{flow_spec.js.coffee → dom_spec.js.coffee} +294 -44
- data/spec_app/spec/javascripts/up/{navigation_spec.js.coffee → feedback_spec.js.coffee} +2 -2
- data/spec_app/spec/javascripts/up/form_spec.js.coffee +1 -0
- data/spec_app/spec/javascripts/up/layout_spec.js.coffee +10 -0
- data/spec_app/spec/javascripts/up/link_spec.js.coffee +28 -0
- data/spec_app/spec/javascripts/up/modal_spec.js.coffee +46 -9
- data/spec_app/spec/javascripts/up/motion_spec.js.coffee +32 -2
- data/spec_app/spec/javascripts/up/popup_spec.js.coffee +5 -4
- data/spec_app/spec/javascripts/up/util_spec.js.coffee +75 -0
- data/spec_app/vendor/{assets/bower_components/jasmine-ajax → asset-libs/jasmine-ajax-3.3.1}/.bower.json +0 -0
- data/spec_app/vendor/asset-libs/jasmine-ajax-3.3.1/.gitignore +6 -0
- data/spec_app/vendor/asset-libs/jasmine-ajax-3.3.1/.npmignore +10 -0
- data/spec_app/vendor/asset-libs/jasmine-ajax-3.3.1/.pairs +6 -0
- data/spec_app/vendor/asset-libs/jasmine-ajax-3.3.1/.travis.yml +56 -0
- data/spec_app/vendor/{assets/bower_components/jasmine-ajax/lib/mock-ajax.js → asset-libs/jasmine-ajax-3.3.1/jasmine-ajax.js} +83 -26
- data/spec_app/vendor/{assets/bower_components/jasmine-fixture/dist → asset-libs/jasmine-fixture-1.3.4}/jasmine-fixture.js +13 -13
- data/spec_app/vendor/{assets/bower_components/jasmine-jquery → asset-libs/jasmine-jquery-2.1.1}/.bower.json +0 -0
- data/spec_app/vendor/{assets/bower_components/jasmine-jquery/lib → asset-libs/jasmine-jquery-2.1.1}/jasmine-jquery.js +0 -0
- data/spec_app/vendor/assets/{javascripts/.keep → .keep} +0 -0
- metadata +52 -203
- data/lib/assets/javascripts/unpoly/module.js.coffee.erb +0 -8
- data/lib/assets/javascripts/unpoly.js.coffee +0 -21
- data/spec_app/Bowerfile +0 -3
- data/spec_app/vendor/assets/.bowerrc +0 -3
- data/spec_app/vendor/assets/bower.json +0 -8
- data/spec_app/vendor/assets/bower_components/jasmine/.bower.json +0 -50
- data/spec_app/vendor/assets/bower_components/jasmine/CONTRIBUTING.md +0 -130
- data/spec_app/vendor/assets/bower_components/jasmine/GOALS_2.0.md +0 -64
- data/spec_app/vendor/assets/bower_components/jasmine/MANIFEST.in +0 -5
- data/spec_app/vendor/assets/bower_components/jasmine/MIT.LICENSE +0 -20
- data/spec_app/vendor/assets/bower_components/jasmine/README.md +0 -73
- data/spec_app/vendor/assets/bower_components/jasmine/RELEASE.md +0 -73
- data/spec_app/vendor/assets/bower_components/jasmine/bower.json +0 -41
- data/spec_app/vendor/assets/bower_components/jasmine/images/jasmine-horizontal.png +0 -0
- data/spec_app/vendor/assets/bower_components/jasmine/images/jasmine-horizontal.svg +0 -102
- data/spec_app/vendor/assets/bower_components/jasmine/images/jasmine_favicon.png +0 -0
- data/spec_app/vendor/assets/bower_components/jasmine/lib/console/console.js +0 -190
- data/spec_app/vendor/assets/bower_components/jasmine/lib/jasmine-core/boot.js +0 -143
- data/spec_app/vendor/assets/bower_components/jasmine/lib/jasmine-core/example/node_example/lib/jasmine_examples/Player.js +0 -24
- data/spec_app/vendor/assets/bower_components/jasmine/lib/jasmine-core/example/node_example/lib/jasmine_examples/Song.js +0 -9
- data/spec_app/vendor/assets/bower_components/jasmine/lib/jasmine-core/jasmine-html.js +0 -446
- data/spec_app/vendor/assets/bower_components/jasmine/lib/jasmine-core/jasmine.css +0 -58
- data/spec_app/vendor/assets/bower_components/jasmine/lib/jasmine-core/jasmine.js +0 -3298
- data/spec_app/vendor/assets/bower_components/jasmine/lib/jasmine-core/json2.js +0 -489
- data/spec_app/vendor/assets/bower_components/jasmine/lib/jasmine-core/node_boot.js +0 -41
- data/spec_app/vendor/assets/bower_components/jasmine/lib/jasmine-core.js +0 -37
- data/spec_app/vendor/assets/bower_components/jasmine/package.json +0 -34
- data/spec_app/vendor/assets/bower_components/jasmine/requirements.txt +0 -1
- data/spec_app/vendor/assets/bower_components/jasmine-ajax/MIT.LICENSE +0 -20
- data/spec_app/vendor/assets/bower_components/jasmine-ajax/README.markdown +0 -289
- data/spec_app/vendor/assets/bower_components/jasmine-ajax/bower.json +0 -35
- data/spec_app/vendor/assets/bower_components/jasmine-ajax/package.json +0 -26
- data/spec_app/vendor/assets/bower_components/jasmine-ajax/release_notes/2.0.2.md +0 -50
- data/spec_app/vendor/assets/bower_components/jasmine-ajax/release_notes/2.99.md +0 -14
- data/spec_app/vendor/assets/bower_components/jasmine-ajax/release_notes/3.0.md +0 -28
- data/spec_app/vendor/assets/bower_components/jasmine-ajax/release_notes/3.1.0.md +0 -24
- data/spec_app/vendor/assets/bower_components/jasmine-ajax/release_notes/3.1.1.md +0 -23
- data/spec_app/vendor/assets/bower_components/jasmine-ajax/release_notes/3.2.0.md +0 -20
- data/spec_app/vendor/assets/bower_components/jasmine-fixture/.bower.json +0 -27
- data/spec_app/vendor/assets/bower_components/jasmine-fixture/.gitignore +0 -8
- data/spec_app/vendor/assets/bower_components/jasmine-fixture/.npmignore +0 -8
- data/spec_app/vendor/assets/bower_components/jasmine-fixture/LICENSE.txt +0 -24
- data/spec_app/vendor/assets/bower_components/jasmine-fixture/README.md +0 -118
- data/spec_app/vendor/assets/bower_components/jasmine-fixture/bower.json +0 -17
- data/spec_app/vendor/assets/bower_components/jasmine-fixture/dist/jasmine-fixture.min.js +0 -5
- data/spec_app/vendor/assets/bower_components/jasmine-fixture/spec-e2e/basic-usage-spec.coffee +0 -14
- data/spec_app/vendor/assets/bower_components/jasmine-fixture/spec-e2e/helpers/invariants.coffee +0 -17
- data/spec_app/vendor/assets/bower_components/jasmine-fixture/spec-e2e/helpers/spec-within-a-spec.coffee +0 -24
- data/spec_app/vendor/assets/bower_components/jasmine-fixture/spec-e2e/helpers/tmp-files.coffee +0 -8
- data/spec_app/vendor/assets/bower_components/jasmine-fixture/spec-e2e/support/jasmine1-testem-config.json +0 -11
- data/spec_app/vendor/assets/bower_components/jasmine-fixture/spec-e2e/support/jasmine2-testem-config.json +0 -11
- data/spec_app/vendor/assets/bower_components/jasmine-fixture/vendor/js/jquery-1.11.0.js +0 -10337
- data/spec_app/vendor/assets/bower_components/jasmine-fixture/vendor/js/jquery-1.8.3.js +0 -9472
- data/spec_app/vendor/assets/bower_components/jasmine-fixture/vendor/js/jquery-2.1.0.js +0 -9111
- data/spec_app/vendor/assets/bower_components/jasmine-jquery/CONTRIBUTING.md +0 -28
- data/spec_app/vendor/assets/bower_components/jasmine-jquery/Gruntfile.js +0 -49
- data/spec_app/vendor/assets/bower_components/jasmine-jquery/LICENSE +0 -20
- data/spec_app/vendor/assets/bower_components/jasmine-jquery/README.md +0 -367
- data/spec_app/vendor/assets/bower_components/jasmine-jquery/bower.json +0 -15
- data/spec_app/vendor/assets/bower_components/jasmine-jquery/package.json +0 -35
- data/spec_app/vendor/assets/bower_components/jasmine-jquery/spec/fixtures/fixture_with_checkbox_with_checked.html +0 -6
- data/spec_app/vendor/assets/bower_components/jasmine-jquery/spec/fixtures/fixture_with_javascript.html +0 -1
- data/spec_app/vendor/assets/bower_components/jasmine-jquery/spec/fixtures/fixture_with_javascript_block.html +0 -1
- data/spec_app/vendor/assets/bower_components/jasmine-jquery/spec/fixtures/javascripts/jasmine_javascript_click.js +0 -1
- data/spec_app/vendor/assets/bower_components/jasmine-jquery/spec/fixtures/javascripts/jasmine_javascript_hover.js +0 -1
- data/spec_app/vendor/assets/bower_components/jasmine-jquery/spec/fixtures/json/jasmine_json_test.json +0 -1
- data/spec_app/vendor/assets/bower_components/jasmine-jquery/spec/fixtures/real_non_mocked_fixture.html +0 -1
- data/spec_app/vendor/assets/bower_components/jasmine-jquery/spec/fixtures/real_non_mocked_fixture_style.css +0 -1
- data/spec_app/vendor/assets/bower_components/jasmine-jquery/spec/suites/jasmine-jquery-spec.js +0 -1842
- data/spec_app/vendor/assets/bower_components/jquery/.bower.json +0 -38
- data/spec_app/vendor/assets/bower_components/jquery/MIT-LICENSE.txt +0 -21
- data/spec_app/vendor/assets/bower_components/jquery/bower.json +0 -28
- data/spec_app/vendor/assets/bower_components/jquery/dist/jquery.js +0 -9210
- data/spec_app/vendor/assets/bower_components/jquery/dist/jquery.min.js +0 -5
- data/spec_app/vendor/assets/bower_components/jquery/dist/jquery.min.map +0 -1
- data/spec_app/vendor/assets/bower_components/jquery/src/ajax/jsonp.js +0 -89
- data/spec_app/vendor/assets/bower_components/jquery/src/ajax/load.js +0 -75
- data/spec_app/vendor/assets/bower_components/jquery/src/ajax/parseJSON.js +0 -13
- data/spec_app/vendor/assets/bower_components/jquery/src/ajax/parseXML.js +0 -28
- data/spec_app/vendor/assets/bower_components/jquery/src/ajax/script.js +0 -64
- data/spec_app/vendor/assets/bower_components/jquery/src/ajax/var/nonce.js +0 -5
- data/spec_app/vendor/assets/bower_components/jquery/src/ajax/var/rquery.js +0 -3
- data/spec_app/vendor/assets/bower_components/jquery/src/ajax/xhr.js +0 -136
- data/spec_app/vendor/assets/bower_components/jquery/src/ajax.js +0 -786
- data/spec_app/vendor/assets/bower_components/jquery/src/attributes/attr.js +0 -141
- data/spec_app/vendor/assets/bower_components/jquery/src/attributes/classes.js +0 -158
- data/spec_app/vendor/assets/bower_components/jquery/src/attributes/prop.js +0 -94
- data/spec_app/vendor/assets/bower_components/jquery/src/attributes/support.js +0 -35
- data/spec_app/vendor/assets/bower_components/jquery/src/attributes/val.js +0 -161
- data/spec_app/vendor/assets/bower_components/jquery/src/attributes.js +0 -11
- data/spec_app/vendor/assets/bower_components/jquery/src/callbacks.js +0 -205
- data/spec_app/vendor/assets/bower_components/jquery/src/core/access.js +0 -60
- data/spec_app/vendor/assets/bower_components/jquery/src/core/init.js +0 -123
- data/spec_app/vendor/assets/bower_components/jquery/src/core/parseHTML.js +0 -39
- data/spec_app/vendor/assets/bower_components/jquery/src/core/ready.js +0 -97
- data/spec_app/vendor/assets/bower_components/jquery/src/core/var/rsingleTag.js +0 -4
- data/spec_app/vendor/assets/bower_components/jquery/src/core.js +0 -502
- data/spec_app/vendor/assets/bower_components/jquery/src/css/addGetHookIf.js +0 -22
- data/spec_app/vendor/assets/bower_components/jquery/src/css/curCSS.js +0 -57
- data/spec_app/vendor/assets/bower_components/jquery/src/css/defaultDisplay.js +0 -70
- data/spec_app/vendor/assets/bower_components/jquery/src/css/hiddenVisibleSelectors.js +0 -15
- data/spec_app/vendor/assets/bower_components/jquery/src/css/support.js +0 -96
- data/spec_app/vendor/assets/bower_components/jquery/src/css/swap.js +0 -28
- data/spec_app/vendor/assets/bower_components/jquery/src/css/var/cssExpand.js +0 -3
- data/spec_app/vendor/assets/bower_components/jquery/src/css/var/getStyles.js +0 -12
- data/spec_app/vendor/assets/bower_components/jquery/src/css/var/isHidden.js +0 -13
- data/spec_app/vendor/assets/bower_components/jquery/src/css/var/rmargin.js +0 -3
- data/spec_app/vendor/assets/bower_components/jquery/src/css/var/rnumnonpx.js +0 -5
- data/spec_app/vendor/assets/bower_components/jquery/src/css.js +0 -450
- data/spec_app/vendor/assets/bower_components/jquery/src/data/Data.js +0 -181
- data/spec_app/vendor/assets/bower_components/jquery/src/data/accepts.js +0 -20
- data/spec_app/vendor/assets/bower_components/jquery/src/data/var/data_priv.js +0 -5
- data/spec_app/vendor/assets/bower_components/jquery/src/data/var/data_user.js +0 -5
- data/spec_app/vendor/assets/bower_components/jquery/src/data.js +0 -178
- data/spec_app/vendor/assets/bower_components/jquery/src/deferred.js +0 -149
- data/spec_app/vendor/assets/bower_components/jquery/src/deprecated.js +0 -13
- data/spec_app/vendor/assets/bower_components/jquery/src/dimensions.js +0 -50
- data/spec_app/vendor/assets/bower_components/jquery/src/effects/Tween.js +0 -114
- data/spec_app/vendor/assets/bower_components/jquery/src/effects/animatedSelector.js +0 -13
- data/spec_app/vendor/assets/bower_components/jquery/src/effects.js +0 -648
- data/spec_app/vendor/assets/bower_components/jquery/src/event/ajax.js +0 -13
- data/spec_app/vendor/assets/bower_components/jquery/src/event/alias.js +0 -39
- data/spec_app/vendor/assets/bower_components/jquery/src/event/support.js +0 -9
- data/spec_app/vendor/assets/bower_components/jquery/src/event.js +0 -868
- data/spec_app/vendor/assets/bower_components/jquery/src/exports/amd.js +0 -24
- data/spec_app/vendor/assets/bower_components/jquery/src/exports/global.js +0 -32
- data/spec_app/vendor/assets/bower_components/jquery/src/intro.js +0 -44
- data/spec_app/vendor/assets/bower_components/jquery/src/jquery.js +0 -37
- data/spec_app/vendor/assets/bower_components/jquery/src/manipulation/_evalUrl.js +0 -18
- data/spec_app/vendor/assets/bower_components/jquery/src/manipulation/support.js +0 -32
- data/spec_app/vendor/assets/bower_components/jquery/src/manipulation/var/rcheckableType.js +0 -3
- data/spec_app/vendor/assets/bower_components/jquery/src/manipulation.js +0 -580
- data/spec_app/vendor/assets/bower_components/jquery/src/offset.js +0 -207
- data/spec_app/vendor/assets/bower_components/jquery/src/outro.js +0 -1
- data/spec_app/vendor/assets/bower_components/jquery/src/queue/delay.js +0 -22
- data/spec_app/vendor/assets/bower_components/jquery/src/queue.js +0 -142
- data/spec_app/vendor/assets/bower_components/jquery/src/selector-native.js +0 -172
- data/spec_app/vendor/assets/bower_components/jquery/src/selector-sizzle.js +0 -14
- data/spec_app/vendor/assets/bower_components/jquery/src/selector.js +0 -1
- data/spec_app/vendor/assets/bower_components/jquery/src/serialize.js +0 -111
- data/spec_app/vendor/assets/bower_components/jquery/src/sizzle/dist/sizzle.js +0 -2067
- data/spec_app/vendor/assets/bower_components/jquery/src/sizzle/dist/sizzle.min.js +0 -3
- data/spec_app/vendor/assets/bower_components/jquery/src/sizzle/dist/sizzle.min.map +0 -1
- data/spec_app/vendor/assets/bower_components/jquery/src/traversing/findFilter.js +0 -100
- data/spec_app/vendor/assets/bower_components/jquery/src/traversing/var/rneedsContext.js +0 -6
- data/spec_app/vendor/assets/bower_components/jquery/src/traversing.js +0 -199
- data/spec_app/vendor/assets/bower_components/jquery/src/var/arr.js +0 -3
- data/spec_app/vendor/assets/bower_components/jquery/src/var/class2type.js +0 -4
- data/spec_app/vendor/assets/bower_components/jquery/src/var/concat.js +0 -5
- data/spec_app/vendor/assets/bower_components/jquery/src/var/hasOwn.js +0 -5
- data/spec_app/vendor/assets/bower_components/jquery/src/var/indexOf.js +0 -5
- data/spec_app/vendor/assets/bower_components/jquery/src/var/pnum.js +0 -3
- data/spec_app/vendor/assets/bower_components/jquery/src/var/push.js +0 -5
- data/spec_app/vendor/assets/bower_components/jquery/src/var/rnotwhite.js +0 -3
- data/spec_app/vendor/assets/bower_components/jquery/src/var/slice.js +0 -5
- data/spec_app/vendor/assets/bower_components/jquery/src/var/strundefined.js +0 -3
- data/spec_app/vendor/assets/bower_components/jquery/src/var/support.js +0 -4
- data/spec_app/vendor/assets/bower_components/jquery/src/var/toString.js +0 -5
- data/spec_app/vendor/assets/bower_components/jquery/src/wrap.js +0 -79
- data/spec_app/vendor/assets/stylesheets/.keep +0 -0
@@ -1,207 +0,0 @@
|
|
1
|
-
define([
|
2
|
-
"./core",
|
3
|
-
"./var/strundefined",
|
4
|
-
"./core/access",
|
5
|
-
"./css/var/rnumnonpx",
|
6
|
-
"./css/curCSS",
|
7
|
-
"./css/addGetHookIf",
|
8
|
-
"./css/support",
|
9
|
-
|
10
|
-
"./core/init",
|
11
|
-
"./css",
|
12
|
-
"./selector" // contains
|
13
|
-
], function( jQuery, strundefined, access, rnumnonpx, curCSS, addGetHookIf, support ) {
|
14
|
-
|
15
|
-
var docElem = window.document.documentElement;
|
16
|
-
|
17
|
-
/**
|
18
|
-
* Gets a window from an element
|
19
|
-
*/
|
20
|
-
function getWindow( elem ) {
|
21
|
-
return jQuery.isWindow( elem ) ? elem : elem.nodeType === 9 && elem.defaultView;
|
22
|
-
}
|
23
|
-
|
24
|
-
jQuery.offset = {
|
25
|
-
setOffset: function( elem, options, i ) {
|
26
|
-
var curPosition, curLeft, curCSSTop, curTop, curOffset, curCSSLeft, calculatePosition,
|
27
|
-
position = jQuery.css( elem, "position" ),
|
28
|
-
curElem = jQuery( elem ),
|
29
|
-
props = {};
|
30
|
-
|
31
|
-
// Set position first, in-case top/left are set even on static elem
|
32
|
-
if ( position === "static" ) {
|
33
|
-
elem.style.position = "relative";
|
34
|
-
}
|
35
|
-
|
36
|
-
curOffset = curElem.offset();
|
37
|
-
curCSSTop = jQuery.css( elem, "top" );
|
38
|
-
curCSSLeft = jQuery.css( elem, "left" );
|
39
|
-
calculatePosition = ( position === "absolute" || position === "fixed" ) &&
|
40
|
-
( curCSSTop + curCSSLeft ).indexOf("auto") > -1;
|
41
|
-
|
42
|
-
// Need to be able to calculate position if either
|
43
|
-
// top or left is auto and position is either absolute or fixed
|
44
|
-
if ( calculatePosition ) {
|
45
|
-
curPosition = curElem.position();
|
46
|
-
curTop = curPosition.top;
|
47
|
-
curLeft = curPosition.left;
|
48
|
-
|
49
|
-
} else {
|
50
|
-
curTop = parseFloat( curCSSTop ) || 0;
|
51
|
-
curLeft = parseFloat( curCSSLeft ) || 0;
|
52
|
-
}
|
53
|
-
|
54
|
-
if ( jQuery.isFunction( options ) ) {
|
55
|
-
options = options.call( elem, i, curOffset );
|
56
|
-
}
|
57
|
-
|
58
|
-
if ( options.top != null ) {
|
59
|
-
props.top = ( options.top - curOffset.top ) + curTop;
|
60
|
-
}
|
61
|
-
if ( options.left != null ) {
|
62
|
-
props.left = ( options.left - curOffset.left ) + curLeft;
|
63
|
-
}
|
64
|
-
|
65
|
-
if ( "using" in options ) {
|
66
|
-
options.using.call( elem, props );
|
67
|
-
|
68
|
-
} else {
|
69
|
-
curElem.css( props );
|
70
|
-
}
|
71
|
-
}
|
72
|
-
};
|
73
|
-
|
74
|
-
jQuery.fn.extend({
|
75
|
-
offset: function( options ) {
|
76
|
-
if ( arguments.length ) {
|
77
|
-
return options === undefined ?
|
78
|
-
this :
|
79
|
-
this.each(function( i ) {
|
80
|
-
jQuery.offset.setOffset( this, options, i );
|
81
|
-
});
|
82
|
-
}
|
83
|
-
|
84
|
-
var docElem, win,
|
85
|
-
elem = this[ 0 ],
|
86
|
-
box = { top: 0, left: 0 },
|
87
|
-
doc = elem && elem.ownerDocument;
|
88
|
-
|
89
|
-
if ( !doc ) {
|
90
|
-
return;
|
91
|
-
}
|
92
|
-
|
93
|
-
docElem = doc.documentElement;
|
94
|
-
|
95
|
-
// Make sure it's not a disconnected DOM node
|
96
|
-
if ( !jQuery.contains( docElem, elem ) ) {
|
97
|
-
return box;
|
98
|
-
}
|
99
|
-
|
100
|
-
// Support: BlackBerry 5, iOS 3 (original iPhone)
|
101
|
-
// If we don't have gBCR, just use 0,0 rather than error
|
102
|
-
if ( typeof elem.getBoundingClientRect !== strundefined ) {
|
103
|
-
box = elem.getBoundingClientRect();
|
104
|
-
}
|
105
|
-
win = getWindow( doc );
|
106
|
-
return {
|
107
|
-
top: box.top + win.pageYOffset - docElem.clientTop,
|
108
|
-
left: box.left + win.pageXOffset - docElem.clientLeft
|
109
|
-
};
|
110
|
-
},
|
111
|
-
|
112
|
-
position: function() {
|
113
|
-
if ( !this[ 0 ] ) {
|
114
|
-
return;
|
115
|
-
}
|
116
|
-
|
117
|
-
var offsetParent, offset,
|
118
|
-
elem = this[ 0 ],
|
119
|
-
parentOffset = { top: 0, left: 0 };
|
120
|
-
|
121
|
-
// Fixed elements are offset from window (parentOffset = {top:0, left: 0}, because it is its only offset parent
|
122
|
-
if ( jQuery.css( elem, "position" ) === "fixed" ) {
|
123
|
-
// Assume getBoundingClientRect is there when computed position is fixed
|
124
|
-
offset = elem.getBoundingClientRect();
|
125
|
-
|
126
|
-
} else {
|
127
|
-
// Get *real* offsetParent
|
128
|
-
offsetParent = this.offsetParent();
|
129
|
-
|
130
|
-
// Get correct offsets
|
131
|
-
offset = this.offset();
|
132
|
-
if ( !jQuery.nodeName( offsetParent[ 0 ], "html" ) ) {
|
133
|
-
parentOffset = offsetParent.offset();
|
134
|
-
}
|
135
|
-
|
136
|
-
// Add offsetParent borders
|
137
|
-
parentOffset.top += jQuery.css( offsetParent[ 0 ], "borderTopWidth", true );
|
138
|
-
parentOffset.left += jQuery.css( offsetParent[ 0 ], "borderLeftWidth", true );
|
139
|
-
}
|
140
|
-
|
141
|
-
// Subtract parent offsets and element margins
|
142
|
-
return {
|
143
|
-
top: offset.top - parentOffset.top - jQuery.css( elem, "marginTop", true ),
|
144
|
-
left: offset.left - parentOffset.left - jQuery.css( elem, "marginLeft", true )
|
145
|
-
};
|
146
|
-
},
|
147
|
-
|
148
|
-
offsetParent: function() {
|
149
|
-
return this.map(function() {
|
150
|
-
var offsetParent = this.offsetParent || docElem;
|
151
|
-
|
152
|
-
while ( offsetParent && ( !jQuery.nodeName( offsetParent, "html" ) && jQuery.css( offsetParent, "position" ) === "static" ) ) {
|
153
|
-
offsetParent = offsetParent.offsetParent;
|
154
|
-
}
|
155
|
-
|
156
|
-
return offsetParent || docElem;
|
157
|
-
});
|
158
|
-
}
|
159
|
-
});
|
160
|
-
|
161
|
-
// Create scrollLeft and scrollTop methods
|
162
|
-
jQuery.each( { scrollLeft: "pageXOffset", scrollTop: "pageYOffset" }, function( method, prop ) {
|
163
|
-
var top = "pageYOffset" === prop;
|
164
|
-
|
165
|
-
jQuery.fn[ method ] = function( val ) {
|
166
|
-
return access( this, function( elem, method, val ) {
|
167
|
-
var win = getWindow( elem );
|
168
|
-
|
169
|
-
if ( val === undefined ) {
|
170
|
-
return win ? win[ prop ] : elem[ method ];
|
171
|
-
}
|
172
|
-
|
173
|
-
if ( win ) {
|
174
|
-
win.scrollTo(
|
175
|
-
!top ? val : window.pageXOffset,
|
176
|
-
top ? val : window.pageYOffset
|
177
|
-
);
|
178
|
-
|
179
|
-
} else {
|
180
|
-
elem[ method ] = val;
|
181
|
-
}
|
182
|
-
}, method, val, arguments.length, null );
|
183
|
-
};
|
184
|
-
});
|
185
|
-
|
186
|
-
// Support: Safari<7+, Chrome<37+
|
187
|
-
// Add the top/left cssHooks using jQuery.fn.position
|
188
|
-
// Webkit bug: https://bugs.webkit.org/show_bug.cgi?id=29084
|
189
|
-
// Blink bug: https://code.google.com/p/chromium/issues/detail?id=229280
|
190
|
-
// getComputedStyle returns percent when specified for top/left/bottom/right;
|
191
|
-
// rather than make the css module depend on the offset module, just check for it here
|
192
|
-
jQuery.each( [ "top", "left" ], function( i, prop ) {
|
193
|
-
jQuery.cssHooks[ prop ] = addGetHookIf( support.pixelPosition,
|
194
|
-
function( elem, computed ) {
|
195
|
-
if ( computed ) {
|
196
|
-
computed = curCSS( elem, prop );
|
197
|
-
// If curCSS returns percentage, fallback to offset
|
198
|
-
return rnumnonpx.test( computed ) ?
|
199
|
-
jQuery( elem ).position()[ prop ] + "px" :
|
200
|
-
computed;
|
201
|
-
}
|
202
|
-
}
|
203
|
-
);
|
204
|
-
});
|
205
|
-
|
206
|
-
return jQuery;
|
207
|
-
});
|
@@ -1 +0,0 @@
|
|
1
|
-
}));
|
@@ -1,22 +0,0 @@
|
|
1
|
-
define([
|
2
|
-
"../core",
|
3
|
-
"../queue",
|
4
|
-
"../effects" // Delay is optional because of this dependency
|
5
|
-
], function( jQuery ) {
|
6
|
-
|
7
|
-
// Based off of the plugin by Clint Helfers, with permission.
|
8
|
-
// http://blindsignals.com/index.php/2009/07/jquery-delay/
|
9
|
-
jQuery.fn.delay = function( time, type ) {
|
10
|
-
time = jQuery.fx ? jQuery.fx.speeds[ time ] || time : time;
|
11
|
-
type = type || "fx";
|
12
|
-
|
13
|
-
return this.queue( type, function( next, hooks ) {
|
14
|
-
var timeout = setTimeout( next, time );
|
15
|
-
hooks.stop = function() {
|
16
|
-
clearTimeout( timeout );
|
17
|
-
};
|
18
|
-
});
|
19
|
-
};
|
20
|
-
|
21
|
-
return jQuery.fn.delay;
|
22
|
-
});
|
@@ -1,142 +0,0 @@
|
|
1
|
-
define([
|
2
|
-
"./core",
|
3
|
-
"./data/var/data_priv",
|
4
|
-
"./deferred",
|
5
|
-
"./callbacks"
|
6
|
-
], function( jQuery, data_priv ) {
|
7
|
-
|
8
|
-
jQuery.extend({
|
9
|
-
queue: function( elem, type, data ) {
|
10
|
-
var queue;
|
11
|
-
|
12
|
-
if ( elem ) {
|
13
|
-
type = ( type || "fx" ) + "queue";
|
14
|
-
queue = data_priv.get( elem, type );
|
15
|
-
|
16
|
-
// Speed up dequeue by getting out quickly if this is just a lookup
|
17
|
-
if ( data ) {
|
18
|
-
if ( !queue || jQuery.isArray( data ) ) {
|
19
|
-
queue = data_priv.access( elem, type, jQuery.makeArray(data) );
|
20
|
-
} else {
|
21
|
-
queue.push( data );
|
22
|
-
}
|
23
|
-
}
|
24
|
-
return queue || [];
|
25
|
-
}
|
26
|
-
},
|
27
|
-
|
28
|
-
dequeue: function( elem, type ) {
|
29
|
-
type = type || "fx";
|
30
|
-
|
31
|
-
var queue = jQuery.queue( elem, type ),
|
32
|
-
startLength = queue.length,
|
33
|
-
fn = queue.shift(),
|
34
|
-
hooks = jQuery._queueHooks( elem, type ),
|
35
|
-
next = function() {
|
36
|
-
jQuery.dequeue( elem, type );
|
37
|
-
};
|
38
|
-
|
39
|
-
// If the fx queue is dequeued, always remove the progress sentinel
|
40
|
-
if ( fn === "inprogress" ) {
|
41
|
-
fn = queue.shift();
|
42
|
-
startLength--;
|
43
|
-
}
|
44
|
-
|
45
|
-
if ( fn ) {
|
46
|
-
|
47
|
-
// Add a progress sentinel to prevent the fx queue from being
|
48
|
-
// automatically dequeued
|
49
|
-
if ( type === "fx" ) {
|
50
|
-
queue.unshift( "inprogress" );
|
51
|
-
}
|
52
|
-
|
53
|
-
// Clear up the last queue stop function
|
54
|
-
delete hooks.stop;
|
55
|
-
fn.call( elem, next, hooks );
|
56
|
-
}
|
57
|
-
|
58
|
-
if ( !startLength && hooks ) {
|
59
|
-
hooks.empty.fire();
|
60
|
-
}
|
61
|
-
},
|
62
|
-
|
63
|
-
// Not public - generate a queueHooks object, or return the current one
|
64
|
-
_queueHooks: function( elem, type ) {
|
65
|
-
var key = type + "queueHooks";
|
66
|
-
return data_priv.get( elem, key ) || data_priv.access( elem, key, {
|
67
|
-
empty: jQuery.Callbacks("once memory").add(function() {
|
68
|
-
data_priv.remove( elem, [ type + "queue", key ] );
|
69
|
-
})
|
70
|
-
});
|
71
|
-
}
|
72
|
-
});
|
73
|
-
|
74
|
-
jQuery.fn.extend({
|
75
|
-
queue: function( type, data ) {
|
76
|
-
var setter = 2;
|
77
|
-
|
78
|
-
if ( typeof type !== "string" ) {
|
79
|
-
data = type;
|
80
|
-
type = "fx";
|
81
|
-
setter--;
|
82
|
-
}
|
83
|
-
|
84
|
-
if ( arguments.length < setter ) {
|
85
|
-
return jQuery.queue( this[0], type );
|
86
|
-
}
|
87
|
-
|
88
|
-
return data === undefined ?
|
89
|
-
this :
|
90
|
-
this.each(function() {
|
91
|
-
var queue = jQuery.queue( this, type, data );
|
92
|
-
|
93
|
-
// Ensure a hooks for this queue
|
94
|
-
jQuery._queueHooks( this, type );
|
95
|
-
|
96
|
-
if ( type === "fx" && queue[0] !== "inprogress" ) {
|
97
|
-
jQuery.dequeue( this, type );
|
98
|
-
}
|
99
|
-
});
|
100
|
-
},
|
101
|
-
dequeue: function( type ) {
|
102
|
-
return this.each(function() {
|
103
|
-
jQuery.dequeue( this, type );
|
104
|
-
});
|
105
|
-
},
|
106
|
-
clearQueue: function( type ) {
|
107
|
-
return this.queue( type || "fx", [] );
|
108
|
-
},
|
109
|
-
// Get a promise resolved when queues of a certain type
|
110
|
-
// are emptied (fx is the type by default)
|
111
|
-
promise: function( type, obj ) {
|
112
|
-
var tmp,
|
113
|
-
count = 1,
|
114
|
-
defer = jQuery.Deferred(),
|
115
|
-
elements = this,
|
116
|
-
i = this.length,
|
117
|
-
resolve = function() {
|
118
|
-
if ( !( --count ) ) {
|
119
|
-
defer.resolveWith( elements, [ elements ] );
|
120
|
-
}
|
121
|
-
};
|
122
|
-
|
123
|
-
if ( typeof type !== "string" ) {
|
124
|
-
obj = type;
|
125
|
-
type = undefined;
|
126
|
-
}
|
127
|
-
type = type || "fx";
|
128
|
-
|
129
|
-
while ( i-- ) {
|
130
|
-
tmp = data_priv.get( elements[ i ], type + "queueHooks" );
|
131
|
-
if ( tmp && tmp.empty ) {
|
132
|
-
count++;
|
133
|
-
tmp.empty.add( resolve );
|
134
|
-
}
|
135
|
-
}
|
136
|
-
resolve();
|
137
|
-
return defer.promise( obj );
|
138
|
-
}
|
139
|
-
});
|
140
|
-
|
141
|
-
return jQuery;
|
142
|
-
});
|
@@ -1,172 +0,0 @@
|
|
1
|
-
define([
|
2
|
-
"./core"
|
3
|
-
], function( jQuery ) {
|
4
|
-
|
5
|
-
/*
|
6
|
-
* Optional (non-Sizzle) selector module for custom builds.
|
7
|
-
*
|
8
|
-
* Note that this DOES NOT SUPPORT many documented jQuery
|
9
|
-
* features in exchange for its smaller size:
|
10
|
-
*
|
11
|
-
* Attribute not equal selector
|
12
|
-
* Positional selectors (:first; :eq(n); :odd; etc.)
|
13
|
-
* Type selectors (:input; :checkbox; :button; etc.)
|
14
|
-
* State-based selectors (:animated; :visible; :hidden; etc.)
|
15
|
-
* :has(selector)
|
16
|
-
* :not(complex selector)
|
17
|
-
* custom selectors via Sizzle extensions
|
18
|
-
* Leading combinators (e.g., $collection.find("> *"))
|
19
|
-
* Reliable functionality on XML fragments
|
20
|
-
* Requiring all parts of a selector to match elements under context
|
21
|
-
* (e.g., $div.find("div > *") now matches children of $div)
|
22
|
-
* Matching against non-elements
|
23
|
-
* Reliable sorting of disconnected nodes
|
24
|
-
* querySelectorAll bug fixes (e.g., unreliable :focus on WebKit)
|
25
|
-
*
|
26
|
-
* If any of these are unacceptable tradeoffs, either use Sizzle or
|
27
|
-
* customize this stub for the project's specific needs.
|
28
|
-
*/
|
29
|
-
|
30
|
-
var docElem = window.document.documentElement,
|
31
|
-
selector_hasDuplicate,
|
32
|
-
matches = docElem.matches ||
|
33
|
-
docElem.webkitMatchesSelector ||
|
34
|
-
docElem.mozMatchesSelector ||
|
35
|
-
docElem.oMatchesSelector ||
|
36
|
-
docElem.msMatchesSelector,
|
37
|
-
selector_sortOrder = function( a, b ) {
|
38
|
-
// Flag for duplicate removal
|
39
|
-
if ( a === b ) {
|
40
|
-
selector_hasDuplicate = true;
|
41
|
-
return 0;
|
42
|
-
}
|
43
|
-
|
44
|
-
var compare = b.compareDocumentPosition && a.compareDocumentPosition && a.compareDocumentPosition( b );
|
45
|
-
|
46
|
-
if ( compare ) {
|
47
|
-
// Disconnected nodes
|
48
|
-
if ( compare & 1 ) {
|
49
|
-
|
50
|
-
// Choose the first element that is related to our document
|
51
|
-
if ( a === document || jQuery.contains(document, a) ) {
|
52
|
-
return -1;
|
53
|
-
}
|
54
|
-
if ( b === document || jQuery.contains(document, b) ) {
|
55
|
-
return 1;
|
56
|
-
}
|
57
|
-
|
58
|
-
// Maintain original order
|
59
|
-
return 0;
|
60
|
-
}
|
61
|
-
|
62
|
-
return compare & 4 ? -1 : 1;
|
63
|
-
}
|
64
|
-
|
65
|
-
// Not directly comparable, sort on existence of method
|
66
|
-
return a.compareDocumentPosition ? -1 : 1;
|
67
|
-
};
|
68
|
-
|
69
|
-
jQuery.extend({
|
70
|
-
find: function( selector, context, results, seed ) {
|
71
|
-
var elem, nodeType,
|
72
|
-
i = 0;
|
73
|
-
|
74
|
-
results = results || [];
|
75
|
-
context = context || document;
|
76
|
-
|
77
|
-
// Same basic safeguard as Sizzle
|
78
|
-
if ( !selector || typeof selector !== "string" ) {
|
79
|
-
return results;
|
80
|
-
}
|
81
|
-
|
82
|
-
// Early return if context is not an element or document
|
83
|
-
if ( (nodeType = context.nodeType) !== 1 && nodeType !== 9 ) {
|
84
|
-
return [];
|
85
|
-
}
|
86
|
-
|
87
|
-
if ( seed ) {
|
88
|
-
while ( (elem = seed[i++]) ) {
|
89
|
-
if ( jQuery.find.matchesSelector(elem, selector) ) {
|
90
|
-
results.push( elem );
|
91
|
-
}
|
92
|
-
}
|
93
|
-
} else {
|
94
|
-
jQuery.merge( results, context.querySelectorAll(selector) );
|
95
|
-
}
|
96
|
-
|
97
|
-
return results;
|
98
|
-
},
|
99
|
-
unique: function( results ) {
|
100
|
-
var elem,
|
101
|
-
duplicates = [],
|
102
|
-
i = 0,
|
103
|
-
j = 0;
|
104
|
-
|
105
|
-
selector_hasDuplicate = false;
|
106
|
-
results.sort( selector_sortOrder );
|
107
|
-
|
108
|
-
if ( selector_hasDuplicate ) {
|
109
|
-
while ( (elem = results[i++]) ) {
|
110
|
-
if ( elem === results[ i ] ) {
|
111
|
-
j = duplicates.push( i );
|
112
|
-
}
|
113
|
-
}
|
114
|
-
while ( j-- ) {
|
115
|
-
results.splice( duplicates[ j ], 1 );
|
116
|
-
}
|
117
|
-
}
|
118
|
-
|
119
|
-
return results;
|
120
|
-
},
|
121
|
-
text: function( elem ) {
|
122
|
-
var node,
|
123
|
-
ret = "",
|
124
|
-
i = 0,
|
125
|
-
nodeType = elem.nodeType;
|
126
|
-
|
127
|
-
if ( !nodeType ) {
|
128
|
-
// If no nodeType, this is expected to be an array
|
129
|
-
while ( (node = elem[i++]) ) {
|
130
|
-
// Do not traverse comment nodes
|
131
|
-
ret += jQuery.text( node );
|
132
|
-
}
|
133
|
-
} else if ( nodeType === 1 || nodeType === 9 || nodeType === 11 ) {
|
134
|
-
// Use textContent for elements
|
135
|
-
return elem.textContent;
|
136
|
-
} else if ( nodeType === 3 || nodeType === 4 ) {
|
137
|
-
return elem.nodeValue;
|
138
|
-
}
|
139
|
-
// Do not include comment or processing instruction nodes
|
140
|
-
|
141
|
-
return ret;
|
142
|
-
},
|
143
|
-
contains: function( a, b ) {
|
144
|
-
var adown = a.nodeType === 9 ? a.documentElement : a,
|
145
|
-
bup = b && b.parentNode;
|
146
|
-
return a === bup || !!( bup && bup.nodeType === 1 && adown.contains(bup) );
|
147
|
-
},
|
148
|
-
isXMLDoc: function( elem ) {
|
149
|
-
return (elem.ownerDocument || elem).documentElement.nodeName !== "HTML";
|
150
|
-
},
|
151
|
-
expr: {
|
152
|
-
attrHandle: {},
|
153
|
-
match: {
|
154
|
-
bool: /^(?:checked|selected|async|autofocus|autoplay|controls|defer|disabled|hidden|ismap|loop|multiple|open|readonly|required|scoped)$/i,
|
155
|
-
needsContext: /^[\x20\t\r\n\f]*[>+~]/
|
156
|
-
}
|
157
|
-
}
|
158
|
-
});
|
159
|
-
|
160
|
-
jQuery.extend( jQuery.find, {
|
161
|
-
matches: function( expr, elements ) {
|
162
|
-
return jQuery.find( expr, null, null, elements );
|
163
|
-
},
|
164
|
-
matchesSelector: function( elem, expr ) {
|
165
|
-
return matches.call( elem, expr );
|
166
|
-
},
|
167
|
-
attr: function( elem, name ) {
|
168
|
-
return elem.getAttribute( name );
|
169
|
-
}
|
170
|
-
});
|
171
|
-
|
172
|
-
});
|
@@ -1,14 +0,0 @@
|
|
1
|
-
define([
|
2
|
-
"./core",
|
3
|
-
"sizzle"
|
4
|
-
], function( jQuery, Sizzle ) {
|
5
|
-
|
6
|
-
jQuery.find = Sizzle;
|
7
|
-
jQuery.expr = Sizzle.selectors;
|
8
|
-
jQuery.expr[":"] = jQuery.expr.pseudos;
|
9
|
-
jQuery.unique = Sizzle.uniqueSort;
|
10
|
-
jQuery.text = Sizzle.getText;
|
11
|
-
jQuery.isXMLDoc = Sizzle.isXML;
|
12
|
-
jQuery.contains = Sizzle.contains;
|
13
|
-
|
14
|
-
});
|
@@ -1 +0,0 @@
|
|
1
|
-
define([ "./selector-sizzle" ]);
|
@@ -1,111 +0,0 @@
|
|
1
|
-
define([
|
2
|
-
"./core",
|
3
|
-
"./manipulation/var/rcheckableType",
|
4
|
-
"./core/init",
|
5
|
-
"./traversing", // filter
|
6
|
-
"./attributes/prop"
|
7
|
-
], function( jQuery, rcheckableType ) {
|
8
|
-
|
9
|
-
var r20 = /%20/g,
|
10
|
-
rbracket = /\[\]$/,
|
11
|
-
rCRLF = /\r?\n/g,
|
12
|
-
rsubmitterTypes = /^(?:submit|button|image|reset|file)$/i,
|
13
|
-
rsubmittable = /^(?:input|select|textarea|keygen)/i;
|
14
|
-
|
15
|
-
function buildParams( prefix, obj, traditional, add ) {
|
16
|
-
var name;
|
17
|
-
|
18
|
-
if ( jQuery.isArray( obj ) ) {
|
19
|
-
// Serialize array item.
|
20
|
-
jQuery.each( obj, function( i, v ) {
|
21
|
-
if ( traditional || rbracket.test( prefix ) ) {
|
22
|
-
// Treat each array item as a scalar.
|
23
|
-
add( prefix, v );
|
24
|
-
|
25
|
-
} else {
|
26
|
-
// Item is non-scalar (array or object), encode its numeric index.
|
27
|
-
buildParams( prefix + "[" + ( typeof v === "object" ? i : "" ) + "]", v, traditional, add );
|
28
|
-
}
|
29
|
-
});
|
30
|
-
|
31
|
-
} else if ( !traditional && jQuery.type( obj ) === "object" ) {
|
32
|
-
// Serialize object item.
|
33
|
-
for ( name in obj ) {
|
34
|
-
buildParams( prefix + "[" + name + "]", obj[ name ], traditional, add );
|
35
|
-
}
|
36
|
-
|
37
|
-
} else {
|
38
|
-
// Serialize scalar item.
|
39
|
-
add( prefix, obj );
|
40
|
-
}
|
41
|
-
}
|
42
|
-
|
43
|
-
// Serialize an array of form elements or a set of
|
44
|
-
// key/values into a query string
|
45
|
-
jQuery.param = function( a, traditional ) {
|
46
|
-
var prefix,
|
47
|
-
s = [],
|
48
|
-
add = function( key, value ) {
|
49
|
-
// If value is a function, invoke it and return its value
|
50
|
-
value = jQuery.isFunction( value ) ? value() : ( value == null ? "" : value );
|
51
|
-
s[ s.length ] = encodeURIComponent( key ) + "=" + encodeURIComponent( value );
|
52
|
-
};
|
53
|
-
|
54
|
-
// Set traditional to true for jQuery <= 1.3.2 behavior.
|
55
|
-
if ( traditional === undefined ) {
|
56
|
-
traditional = jQuery.ajaxSettings && jQuery.ajaxSettings.traditional;
|
57
|
-
}
|
58
|
-
|
59
|
-
// If an array was passed in, assume that it is an array of form elements.
|
60
|
-
if ( jQuery.isArray( a ) || ( a.jquery && !jQuery.isPlainObject( a ) ) ) {
|
61
|
-
// Serialize the form elements
|
62
|
-
jQuery.each( a, function() {
|
63
|
-
add( this.name, this.value );
|
64
|
-
});
|
65
|
-
|
66
|
-
} else {
|
67
|
-
// If traditional, encode the "old" way (the way 1.3.2 or older
|
68
|
-
// did it), otherwise encode params recursively.
|
69
|
-
for ( prefix in a ) {
|
70
|
-
buildParams( prefix, a[ prefix ], traditional, add );
|
71
|
-
}
|
72
|
-
}
|
73
|
-
|
74
|
-
// Return the resulting serialization
|
75
|
-
return s.join( "&" ).replace( r20, "+" );
|
76
|
-
};
|
77
|
-
|
78
|
-
jQuery.fn.extend({
|
79
|
-
serialize: function() {
|
80
|
-
return jQuery.param( this.serializeArray() );
|
81
|
-
},
|
82
|
-
serializeArray: function() {
|
83
|
-
return this.map(function() {
|
84
|
-
// Can add propHook for "elements" to filter or add form elements
|
85
|
-
var elements = jQuery.prop( this, "elements" );
|
86
|
-
return elements ? jQuery.makeArray( elements ) : this;
|
87
|
-
})
|
88
|
-
.filter(function() {
|
89
|
-
var type = this.type;
|
90
|
-
|
91
|
-
// Use .is( ":disabled" ) so that fieldset[disabled] works
|
92
|
-
return this.name && !jQuery( this ).is( ":disabled" ) &&
|
93
|
-
rsubmittable.test( this.nodeName ) && !rsubmitterTypes.test( type ) &&
|
94
|
-
( this.checked || !rcheckableType.test( type ) );
|
95
|
-
})
|
96
|
-
.map(function( i, elem ) {
|
97
|
-
var val = jQuery( this ).val();
|
98
|
-
|
99
|
-
return val == null ?
|
100
|
-
null :
|
101
|
-
jQuery.isArray( val ) ?
|
102
|
-
jQuery.map( val, function( val ) {
|
103
|
-
return { name: elem.name, value: val.replace( rCRLF, "\r\n" ) };
|
104
|
-
}) :
|
105
|
-
{ name: elem.name, value: val.replace( rCRLF, "\r\n" ) };
|
106
|
-
}).get();
|
107
|
-
}
|
108
|
-
});
|
109
|
-
|
110
|
-
return jQuery;
|
111
|
-
});
|