jquery-rails 4.1.1 → 4.3.4
Sign up to get free protection for your applications and to get access to all the features.
Potentially problematic release.
This version of jquery-rails might be problematic. Click here for more details.
- checksums.yaml +5 -5
- data/.travis.yml +6 -3
- data/CHANGELOG.md +38 -0
- data/Gemfile +17 -1
- data/README.md +21 -2
- data/Rakefile +5 -3
- data/VERSIONS.md +8 -0
- data/jquery-rails.gemspec +1 -1
- data/lib/jquery/assert_select.rb +24 -6
- data/lib/jquery/rails/version.rb +5 -4
- data/test/assert_select_jquery_test.rb +22 -0
- data/vendor/assets/javascripts/jquery.js +32 -50
- data/vendor/assets/javascripts/jquery.min.js +5 -5
- data/vendor/assets/javascripts/jquery.min.map +1 -1
- data/vendor/assets/javascripts/jquery2.js +47 -64
- data/vendor/assets/javascripts/jquery2.min.js +4 -4
- data/vendor/assets/javascripts/jquery2.min.map +1 -1
- data/vendor/assets/javascripts/jquery3.js +10588 -0
- data/vendor/assets/javascripts/jquery3.min.js +2 -0
- data/vendor/assets/javascripts/jquery3.min.map +1 -0
- data/vendor/assets/javascripts/jquery_ujs.js +10 -10
- metadata +7 -5
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
|
-
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
2
|
+
SHA256:
|
3
|
+
metadata.gz: 8b52a193e419a4e8a0da353faf40d8d66705bdf64171fb6c800b637119541ac9
|
4
|
+
data.tar.gz: f44fd79c6c3ce8d0b40892f71bd9ec5f570ed56c01c9396281d4909f8ce48d60
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: b7c4027d93c8fba8669eadf6b469d83f85252e225b2d1d9ccbd6f254785b8c44fdc31bf67ad278305e776df0868149324bd2745df26396d48e74260992630493
|
7
|
+
data.tar.gz: ea65dae08a0209aa928eb0196768d7a8811b5be9757dda5289c9505420f6b7cfb8795f1e0da2090198c2bd0be54c3b019561ed775d0f9b6848cb43d8c8f6e835
|
data/.travis.yml
CHANGED
@@ -4,15 +4,18 @@ language: ruby
|
|
4
4
|
rvm:
|
5
5
|
- 1.9.3
|
6
6
|
- 2.0.0
|
7
|
-
- 2.1
|
8
|
-
- 2.2
|
9
|
-
- 2.3.
|
7
|
+
- 2.1.10
|
8
|
+
- 2.2.9
|
9
|
+
- 2.3.6
|
10
|
+
- 2.4.3
|
11
|
+
- 2.5.0
|
10
12
|
- jruby
|
11
13
|
- ruby-head
|
12
14
|
matrix:
|
13
15
|
fast_finish: true
|
14
16
|
allow_failures:
|
15
17
|
- rvm: jruby
|
18
|
+
- rvm: ruby-head
|
16
19
|
notifications:
|
17
20
|
email: false
|
18
21
|
irc:
|
data/CHANGELOG.md
CHANGED
@@ -1,3 +1,41 @@
|
|
1
|
+
## 4.3.4
|
2
|
+
|
3
|
+
- update jquery to 3.4.0
|
4
|
+
|
5
|
+
## 4.3.3
|
6
|
+
|
7
|
+
- update jquery to 3.3.1
|
8
|
+
|
9
|
+
## 4.3.2
|
10
|
+
|
11
|
+
- update jquery to 3.3.0
|
12
|
+
- Add possibility to test HTML: all, attribute prefix, attribute contains,
|
13
|
+
attribute ends with, child, and class selectors
|
14
|
+
- Fix matching mutiple calls for the same selector/function exception
|
15
|
+
|
16
|
+
## 4.3.1
|
17
|
+
|
18
|
+
- update jquery to 3.2.1
|
19
|
+
|
20
|
+
## 4.3.0
|
21
|
+
|
22
|
+
- update jquery to 3.2.0
|
23
|
+
- Add possibility to test HTML attribute selectors
|
24
|
+
|
25
|
+
## 4.2.2
|
26
|
+
|
27
|
+
- update jquery to 3.1.1
|
28
|
+
|
29
|
+
## 4.2.1
|
30
|
+
|
31
|
+
- update jquery to 3.1.0
|
32
|
+
|
33
|
+
## 4.2.0
|
34
|
+
|
35
|
+
- Support jQuery 3.x
|
36
|
+
- Update jquery-ujs to 1.2.2
|
37
|
+
- Update jQuery to 1.12.4 and 2.2.4
|
38
|
+
|
1
39
|
## 4.1.1
|
2
40
|
|
3
41
|
- Update jQuery to 1.12.1 and 2.2.1
|
data/Gemfile
CHANGED
@@ -1,6 +1,22 @@
|
|
1
1
|
source 'https://rubygems.org'
|
2
2
|
|
3
|
-
gem
|
3
|
+
gem "mime-types", "< 3", group: :test
|
4
|
+
|
5
|
+
if RUBY_VERSION >= '2.2.2'
|
6
|
+
gem 'rails'
|
7
|
+
gem 'rack'
|
8
|
+
gem 'json', '>= 2'
|
9
|
+
else
|
10
|
+
gem 'rails', '~> 4.2.0'
|
11
|
+
gem 'rack', '~>1.6'
|
12
|
+
gem 'json', '~> 1.8.0'
|
13
|
+
end
|
14
|
+
|
15
|
+
if RUBY_VERSION >= '2.1'
|
16
|
+
gem 'nokogiri'
|
17
|
+
else
|
18
|
+
gem 'nokogiri', '~> 1.6.0'
|
19
|
+
end
|
4
20
|
|
5
21
|
# Specify your gem's dependencies in jquery-rails.gemspec
|
6
22
|
gemspec
|
data/README.md
CHANGED
@@ -4,7 +4,7 @@ jQuery! For Rails! So great.
|
|
4
4
|
|
5
5
|
This gem provides:
|
6
6
|
|
7
|
-
* jQuery 1 and
|
7
|
+
* jQuery 1, 2 and 3
|
8
8
|
* the jQuery UJS adapter
|
9
9
|
* assert_select_jquery to test jQuery responses in Ruby tests
|
10
10
|
|
@@ -24,6 +24,12 @@ versions of jQuery.
|
|
24
24
|
|
25
25
|
## Installation
|
26
26
|
|
27
|
+
Add
|
28
|
+
```
|
29
|
+
gem 'jquery-rails'
|
30
|
+
```
|
31
|
+
to your Gemfile.
|
32
|
+
|
27
33
|
The jquery and jquery-ujs files will be added to the asset pipeline and available for you to use. If they're not already in `app/assets/javascripts/application.js` by default, add these lines:
|
28
34
|
|
29
35
|
```js
|
@@ -31,6 +37,12 @@ The jquery and jquery-ujs files will be added to the asset pipeline and availabl
|
|
31
37
|
//= require jquery_ujs
|
32
38
|
```
|
33
39
|
|
40
|
+
If you are running Rails 5.1 and up, and if you have included `//= require rails-ujs`, then `jquery_ujs` is not needed anymore. You can just add:
|
41
|
+
|
42
|
+
```js
|
43
|
+
//= require jquery
|
44
|
+
```
|
45
|
+
|
34
46
|
If you want to use jQuery 2, you can require `jquery2` instead:
|
35
47
|
|
36
48
|
```js
|
@@ -38,6 +50,13 @@ If you want to use jQuery 2, you can require `jquery2` instead:
|
|
38
50
|
//= require jquery_ujs
|
39
51
|
```
|
40
52
|
|
53
|
+
And if you want to use jQuery 3, you can require `jquery3`:
|
54
|
+
|
55
|
+
```js
|
56
|
+
//= require jquery3
|
57
|
+
//= require jquery_ujs
|
58
|
+
```
|
59
|
+
|
41
60
|
For jQuery UI, we recommend the [jquery-ui-rails](https://github.com/joliss/jquery-ui-rails) gem, as it includes the jquery-ui css and allows easier customization.
|
42
61
|
|
43
62
|
*As of v3.0, jquery-rails no longer includes jQuery UI. Use the
|
@@ -59,4 +78,4 @@ jquery-rails is released under the [MIT License](MIT-LICENSE).
|
|
59
78
|
|
60
79
|
## Acknowledgements
|
61
80
|
|
62
|
-
Many thanks are due to all of [the jquery-rails contributors](https://github.com/rails/jquery-rails/graphs/contributors). Special thanks to [JangoSteve](http://github.com/JangoSteve) for tirelessly answering questions and accepting patches, and the [Rails Core Team](https://github.com/
|
81
|
+
Many thanks are due to all of [the jquery-rails contributors](https://github.com/rails/jquery-rails/graphs/contributors). Special thanks to [JangoSteve](http://github.com/JangoSteve) for tirelessly answering questions and accepting patches, and the [Rails Core Team](https://github.com/orgs/rails/people) for making jquery-rails an official part of Rails 3.1.
|
data/Rakefile
CHANGED
@@ -29,6 +29,7 @@ task :guard_version do
|
|
29
29
|
|
30
30
|
check_version('jquery.js', /jQuery JavaScript Library v([\S]+)/, 'JQUERY_VERSION')
|
31
31
|
check_version('jquery2.js', /jQuery JavaScript Library v([\S]+)/, 'JQUERY_2_VERSION')
|
32
|
+
check_version('jquery3.js', /jQuery JavaScript Library v([\S]+)/, 'JQUERY_3_VERSION')
|
32
33
|
end
|
33
34
|
|
34
35
|
desc "Update jQuery versions"
|
@@ -37,15 +38,16 @@ task :update_jquery do
|
|
37
38
|
suffix = "-#{version}"
|
38
39
|
|
39
40
|
puts "Downloading #{filename}.js"
|
40
|
-
puts `curl -o vendor/assets/javascripts/#{filename}.js
|
41
|
+
puts `curl -o vendor/assets/javascripts/#{filename}.js https://code.jquery.com/jquery#{suffix}.js`
|
41
42
|
puts "Downloading #{filename}.min.js"
|
42
|
-
puts `curl -o vendor/assets/javascripts/#{filename}.min.js
|
43
|
+
puts `curl -o vendor/assets/javascripts/#{filename}.min.js https://code.jquery.com/jquery#{suffix}.min.js`
|
43
44
|
puts "Downloading #{filename}.min.map"
|
44
|
-
puts `curl -o vendor/assets/javascripts/#{filename}.min.map
|
45
|
+
puts `curl -o vendor/assets/javascripts/#{filename}.min.map https://code.jquery.com/jquery#{suffix}.min.map`
|
45
46
|
end
|
46
47
|
|
47
48
|
download_jquery('jquery', Jquery::Rails::JQUERY_VERSION)
|
48
49
|
download_jquery('jquery2', Jquery::Rails::JQUERY_2_VERSION)
|
50
|
+
download_jquery('jquery3', Jquery::Rails::JQUERY_3_VERSION)
|
49
51
|
puts "\e[32mDone!\e[0m"
|
50
52
|
end
|
51
53
|
|
data/VERSIONS.md
CHANGED
@@ -2,6 +2,14 @@
|
|
2
2
|
|
3
3
|
| Gem | jQuery | jQuery UJS | jQuery UI |
|
4
4
|
|--------|--------|------------| ----------|
|
5
|
+
| 4.3.4 | 1.12.4 & 2.2.4 & 3.4.0 | 1.2.2 | - |
|
6
|
+
| 4.3.3 | 1.12.4 & 2.2.4 & 3.3.1 | 1.2.2 | - |
|
7
|
+
| 4.3.2 | 1.12.4 & 2.2.4 & 3.3.0 | 1.2.2 | - |
|
8
|
+
| 4.3.1 | 1.12.4 & 2.2.4 & 3.2.1 | 1.2.2 | - |
|
9
|
+
| 4.3.0 | 1.12.4 & 2.2.4 & 3.2.0 | 1.2.2 | - |
|
10
|
+
| 4.2.2 | 1.12.4 & 2.2.4 & 3.1.1 | 1.2.2 | - |
|
11
|
+
| 4.2.1 | 1.12.4 & 2.2.4 & 3.1.0 | 1.2.2 | - |
|
12
|
+
| 4.2.0 | 1.12.4 & 2.2.4 & 3.0.0 | 1.2.2 | - |
|
5
13
|
| 4.1.1 | 1.12.1 & 2.2.1 | 1.2.1 | - |
|
6
14
|
| 4.1.0 | 1.12.0 & 2.2.0 | 1.2.0 | - |
|
7
15
|
| 4.0.5 | 1.11.3 & 2.1.4 | 1.1.0 | - |
|
data/jquery-rails.gemspec
CHANGED
@@ -7,7 +7,7 @@ Gem::Specification.new do |s|
|
|
7
7
|
s.platform = Gem::Platform::RUBY
|
8
8
|
s.authors = ["André Arko"]
|
9
9
|
s.email = ["andre@arko.net"]
|
10
|
-
s.homepage = "
|
10
|
+
s.homepage = "https://github.com/rails/jquery-rails"
|
11
11
|
s.summary = "Use jQuery with Rails 4+"
|
12
12
|
s.description = "This gem provides jQuery and the jQuery-ujs driver for your Rails 4+ application."
|
13
13
|
s.license = "MIT"
|
data/lib/jquery/assert_select.rb
CHANGED
@@ -47,14 +47,14 @@ module Rails::Dom::Testing::Assertions::SelectorAssertions
|
|
47
47
|
# assert_select '.product'
|
48
48
|
# end
|
49
49
|
|
50
|
-
PATTERN_HTML = "['\"]((\\\\\"|[^\"])*)['\"]"
|
50
|
+
PATTERN_HTML = "['\"]((\\\\\"|\\\\'|[^\"'])*)['\"]"
|
51
51
|
PATTERN_UNICODE_ESCAPED_CHAR = /\\u([0-9a-zA-Z]{4})/
|
52
|
-
SKELETAL_PATTERN = "(?:jQuery|\\$)\\(%s\\)\\.%s\\(%s\\);"
|
52
|
+
SKELETAL_PATTERN = "(?:jQuery|\\$)\\(%s\\)\\.%s\\(%s\\)[;]?"
|
53
53
|
|
54
54
|
def assert_select_jquery(*args, &block)
|
55
55
|
jquery_method = args.first.is_a?(Symbol) ? args.shift : nil
|
56
56
|
jquery_opt = args.first.is_a?(Symbol) ? args.shift : nil
|
57
|
-
id = args.first.is_a?(String) ? args.shift : nil
|
57
|
+
id = args.first.is_a?(String) ? escape_id(args.shift) : nil
|
58
58
|
|
59
59
|
target_pattern = "['\"]#{id || '.*'}['\"]"
|
60
60
|
method_pattern = "#{jquery_method || '\\w+'}"
|
@@ -91,14 +91,14 @@ module Rails::Dom::Testing::Assertions::SelectorAssertions
|
|
91
91
|
|
92
92
|
if block_given?
|
93
93
|
@selected ||= nil
|
94
|
-
fragments = Nokogiri::HTML::Document.new
|
94
|
+
fragments = Nokogiri::HTML::Document.new.fragment
|
95
95
|
|
96
96
|
if matched_pattern
|
97
97
|
response.body.scan(Regexp.new(matched_pattern)).each do |match|
|
98
98
|
flunk 'This function can\'t have HTML argument' if match.is_a?(String)
|
99
99
|
|
100
|
-
doc = Nokogiri::HTML::
|
101
|
-
doc.
|
100
|
+
doc = Nokogiri::HTML::DocumentFragment.parse(unescape_js(match.first))
|
101
|
+
doc.children.each do |child|
|
102
102
|
fragments << child if child.element?
|
103
103
|
end
|
104
104
|
end
|
@@ -128,4 +128,22 @@ module Rails::Dom::Testing::Assertions::SelectorAssertions
|
|
128
128
|
unescaped.gsub!(PATTERN_UNICODE_ESCAPED_CHAR) {|u| [$1.hex].pack('U*')}
|
129
129
|
unescaped
|
130
130
|
end
|
131
|
+
|
132
|
+
def escape_id(selector)
|
133
|
+
return unless selector
|
134
|
+
|
135
|
+
id = selector.gsub('[', '\[')
|
136
|
+
id.gsub!(']', '\]')
|
137
|
+
id.gsub!('*', '\*')
|
138
|
+
id.gsub!('(', '\(')
|
139
|
+
id.gsub!(')', '\)')
|
140
|
+
id.gsub!('.', '\.')
|
141
|
+
id.gsub!('|', '\|')
|
142
|
+
id.gsub!('^', '\^')
|
143
|
+
id.gsub!('$', '\$')
|
144
|
+
id.gsub!('+', "\\\\+")
|
145
|
+
id.gsub!(',', '\,')
|
146
|
+
|
147
|
+
id
|
148
|
+
end
|
131
149
|
end
|
data/lib/jquery/rails/version.rb
CHANGED
@@ -1,8 +1,9 @@
|
|
1
1
|
module Jquery
|
2
2
|
module Rails
|
3
|
-
VERSION = "4.
|
4
|
-
JQUERY_VERSION = "1.12.
|
5
|
-
JQUERY_2_VERSION = "2.2.
|
6
|
-
|
3
|
+
VERSION = "4.3.4"
|
4
|
+
JQUERY_VERSION = "1.12.4"
|
5
|
+
JQUERY_2_VERSION = "2.2.4"
|
6
|
+
JQUERY_3_VERSION = "3.4.0"
|
7
|
+
JQUERY_UJS_VERSION = "1.2.2"
|
7
8
|
end
|
8
9
|
end
|
@@ -1,3 +1,4 @@
|
|
1
|
+
require 'ostruct'
|
1
2
|
require_relative 'test_helper'
|
2
3
|
require_relative '../lib/jquery/assert_select'
|
3
4
|
|
@@ -8,11 +9,20 @@ class AssertSelectJQueryTest < ActiveSupport::TestCase
|
|
8
9
|
JAVASCRIPT_TEST_OUTPUT = <<-JS
|
9
10
|
$("#card").show("blind", 1000);
|
10
11
|
$("#id").html('<div><p>something</p></div>');
|
12
|
+
$('#card').html('<div><p>something else</p></div>');
|
11
13
|
jQuery("#id").replaceWith("<div><p>something</p></div>");
|
12
14
|
$("<div><p>something</p></div>").appendTo("#id");
|
15
|
+
$("<div><p>something else</p></div>").appendTo("#id");
|
13
16
|
jQuery("<div><p>something</p></div>").prependTo("#id");
|
14
17
|
$('#id').remove();
|
15
18
|
jQuery("#id").hide();
|
19
|
+
$("[data-placeholder~=name]").remove();
|
20
|
+
$("#cart tr:not(.total_line) > *").remove();
|
21
|
+
$("[href|=\"val\"][href$=\"val\"][href^=\"val\"]").remove();
|
22
|
+
$("tr + td, li").remove();
|
23
|
+
|
24
|
+
// without semicolon
|
25
|
+
$("#browser_cart").hide("blind", 1000)
|
16
26
|
JS
|
17
27
|
|
18
28
|
setup do
|
@@ -22,23 +32,35 @@ class AssertSelectJQueryTest < ActiveSupport::TestCase
|
|
22
32
|
def test_target_as_receiver
|
23
33
|
assert_nothing_raised do
|
24
34
|
assert_select_jquery :show, :blind, '#card'
|
35
|
+
assert_select_jquery :hide, :blind, '#browser_cart'
|
25
36
|
assert_select_jquery :html, '#id' do
|
26
37
|
assert_select 'p', 'something'
|
27
38
|
end
|
28
39
|
assert_select_jquery :replaceWith, '#id' do
|
29
40
|
assert_select 'p', 'something'
|
30
41
|
end
|
42
|
+
assert_select_jquery :remove, "[data-placeholder~=name]"
|
43
|
+
assert_select_jquery :remove, "#cart tr:not(.total_line) > *"
|
44
|
+
assert_select_jquery :remove, "[href|=\"val\"][href$=\"val\"][href^=\"val\"]"
|
45
|
+
assert_select_jquery :remove, "tr + td, li"
|
31
46
|
end
|
32
47
|
|
33
48
|
assert_raise Minitest::Assertion, "No JQuery call matches [:show, :some_wrong]" do
|
34
49
|
assert_select_jquery :show, :some_wrong
|
35
50
|
end
|
51
|
+
|
52
|
+
assert_raise Minitest::Assertion, "<something else> was expected but was <something>" do
|
53
|
+
assert_select_jquery :html, '#id' do
|
54
|
+
assert_select 'p', 'something else'
|
55
|
+
end
|
56
|
+
end
|
36
57
|
end
|
37
58
|
|
38
59
|
def test_target_as_argument
|
39
60
|
assert_nothing_raised do
|
40
61
|
assert_select_jquery :appendTo, '#id' do
|
41
62
|
assert_select 'p', 'something'
|
63
|
+
assert_select 'p', 'something else'
|
42
64
|
end
|
43
65
|
assert_select_jquery :prependTo, '#id' do
|
44
66
|
assert_select 'p', 'something'
|
@@ -1,5 +1,5 @@
|
|
1
1
|
/*!
|
2
|
-
* jQuery JavaScript Library v1.12.
|
2
|
+
* jQuery JavaScript Library v1.12.4
|
3
3
|
* http://jquery.com/
|
4
4
|
*
|
5
5
|
* Includes Sizzle.js
|
@@ -9,7 +9,7 @@
|
|
9
9
|
* Released under the MIT license
|
10
10
|
* http://jquery.org/license
|
11
11
|
*
|
12
|
-
* Date: 2016-
|
12
|
+
* Date: 2016-05-20T17:17Z
|
13
13
|
*/
|
14
14
|
|
15
15
|
(function( global, factory ) {
|
@@ -65,7 +65,7 @@ var support = {};
|
|
65
65
|
|
66
66
|
|
67
67
|
var
|
68
|
-
version = "1.12.
|
68
|
+
version = "1.12.4",
|
69
69
|
|
70
70
|
// Define a local copy of jQuery
|
71
71
|
jQuery = function( selector, context ) {
|
@@ -6672,6 +6672,7 @@ var documentElement = document.documentElement;
|
|
6672
6672
|
if ( reliableHiddenOffsetsVal ) {
|
6673
6673
|
div.style.display = "";
|
6674
6674
|
div.innerHTML = "<table><tr><td></td><td>t</td></tr></table>";
|
6675
|
+
div.childNodes[ 0 ].style.borderCollapse = "separate";
|
6675
6676
|
contents = div.getElementsByTagName( "td" );
|
6676
6677
|
contents[ 0 ].style.cssText = "margin:0;border:0;padding:0;display:none";
|
6677
6678
|
reliableHiddenOffsetsVal = contents[ 0 ].offsetHeight === 0;
|
@@ -6996,19 +6997,6 @@ function getWidthOrHeight( elem, name, extra ) {
|
|
6996
6997
|
isBorderBox = support.boxSizing &&
|
6997
6998
|
jQuery.css( elem, "boxSizing", false, styles ) === "border-box";
|
6998
6999
|
|
6999
|
-
// Support: IE11 only
|
7000
|
-
// In IE 11 fullscreen elements inside of an iframe have
|
7001
|
-
// 100x too small dimensions (gh-1764).
|
7002
|
-
if ( document.msFullscreenElement && window.top !== window ) {
|
7003
|
-
|
7004
|
-
// Support: IE11 only
|
7005
|
-
// Running getBoundingClientRect on a disconnected node
|
7006
|
-
// in IE throws an error.
|
7007
|
-
if ( elem.getClientRects().length ) {
|
7008
|
-
val = Math.round( elem.getBoundingClientRect()[ name ] * 100 );
|
7009
|
-
}
|
7010
|
-
}
|
7011
|
-
|
7012
7000
|
// some non-html elements return undefined for offsetWidth, so check for null/undefined
|
7013
7001
|
// svg - https://bugzilla.mozilla.org/show_bug.cgi?id=649285
|
7014
7002
|
// MathML - https://bugzilla.mozilla.org/show_bug.cgi?id=491668
|
@@ -8198,7 +8186,8 @@ jQuery.fn.delay = function( time, type ) {
|
|
8198
8186
|
} )();
|
8199
8187
|
|
8200
8188
|
|
8201
|
-
var rreturn = /\r/g
|
8189
|
+
var rreturn = /\r/g,
|
8190
|
+
rspaces = /[\x20\t\r\n\f]+/g;
|
8202
8191
|
|
8203
8192
|
jQuery.fn.extend( {
|
8204
8193
|
val: function( value ) {
|
@@ -8278,7 +8267,9 @@ jQuery.extend( {
|
|
8278
8267
|
|
8279
8268
|
// Support: IE10-11+
|
8280
8269
|
// option.text throws exceptions (#14686, #14858)
|
8281
|
-
|
8270
|
+
// Strip and collapse whitespace
|
8271
|
+
// https://html.spec.whatwg.org/#strip-and-collapse-whitespace
|
8272
|
+
jQuery.trim( jQuery.text( elem ) ).replace( rspaces, " " );
|
8282
8273
|
}
|
8283
8274
|
},
|
8284
8275
|
select: {
|
@@ -8332,7 +8323,7 @@ jQuery.extend( {
|
|
8332
8323
|
while ( i-- ) {
|
8333
8324
|
option = options[ i ];
|
8334
8325
|
|
8335
|
-
if ( jQuery.inArray( jQuery.valHooks.option.get( option ), values )
|
8326
|
+
if ( jQuery.inArray( jQuery.valHooks.option.get( option ), values ) > -1 ) {
|
8336
8327
|
|
8337
8328
|
// Support: IE6
|
8338
8329
|
// When new option element is added to select box we need to
|
@@ -8751,8 +8742,11 @@ if ( !support.hrefNormalized ) {
|
|
8751
8742
|
}
|
8752
8743
|
|
8753
8744
|
// Support: Safari, IE9+
|
8754
|
-
//
|
8755
|
-
//
|
8745
|
+
// Accessing the selectedIndex property
|
8746
|
+
// forces the browser to respect setting selected
|
8747
|
+
// on the option
|
8748
|
+
// The getter ensures a default option is selected
|
8749
|
+
// when in an optgroup
|
8756
8750
|
if ( !support.optSelected ) {
|
8757
8751
|
jQuery.propHooks.selected = {
|
8758
8752
|
get: function( elem ) {
|
@@ -8767,6 +8761,16 @@ if ( !support.optSelected ) {
|
|
8767
8761
|
}
|
8768
8762
|
}
|
8769
8763
|
return null;
|
8764
|
+
},
|
8765
|
+
set: function( elem ) {
|
8766
|
+
var parent = elem.parentNode;
|
8767
|
+
if ( parent ) {
|
8768
|
+
parent.selectedIndex;
|
8769
|
+
|
8770
|
+
if ( parent.parentNode ) {
|
8771
|
+
parent.parentNode.selectedIndex;
|
8772
|
+
}
|
8773
|
+
}
|
8770
8774
|
}
|
8771
8775
|
};
|
8772
8776
|
}
|
@@ -9983,6 +9987,11 @@ function getDisplay( elem ) {
|
|
9983
9987
|
}
|
9984
9988
|
|
9985
9989
|
function filterHidden( elem ) {
|
9990
|
+
|
9991
|
+
// Disconnected elements are considered hidden
|
9992
|
+
if ( !jQuery.contains( elem.ownerDocument || document, elem ) ) {
|
9993
|
+
return true;
|
9994
|
+
}
|
9986
9995
|
while ( elem && elem.nodeType === 1 ) {
|
9987
9996
|
if ( getDisplay( elem ) === "none" || elem.type === "hidden" ) {
|
9988
9997
|
return true;
|
@@ -10349,13 +10358,6 @@ function createActiveXHR() {
|
|
10349
10358
|
|
10350
10359
|
|
10351
10360
|
|
10352
|
-
// Prevent auto-execution of scripts when no explicit dataType was provided (See gh-2432)
|
10353
|
-
jQuery.ajaxPrefilter( function( s ) {
|
10354
|
-
if ( s.crossDomain ) {
|
10355
|
-
s.contents.script = false;
|
10356
|
-
}
|
10357
|
-
} );
|
10358
|
-
|
10359
10361
|
// Install script dataType
|
10360
10362
|
jQuery.ajaxSetup( {
|
10361
10363
|
accepts: {
|
@@ -10542,21 +10544,6 @@ jQuery.ajaxPrefilter( "json jsonp", function( s, originalSettings, jqXHR ) {
|
|
10542
10544
|
|
10543
10545
|
|
10544
10546
|
|
10545
|
-
// Support: Safari 8+
|
10546
|
-
// In Safari 8 documents created via document.implementation.createHTMLDocument
|
10547
|
-
// collapse sibling forms: the second one becomes a child of the first one.
|
10548
|
-
// Because of that, this security measure has to be disabled in Safari 8.
|
10549
|
-
// https://bugs.webkit.org/show_bug.cgi?id=137337
|
10550
|
-
support.createHTMLDocument = ( function() {
|
10551
|
-
if ( !document.implementation.createHTMLDocument ) {
|
10552
|
-
return false;
|
10553
|
-
}
|
10554
|
-
var doc = document.implementation.createHTMLDocument( "" );
|
10555
|
-
doc.body.innerHTML = "<form></form><form></form>";
|
10556
|
-
return doc.body.childNodes.length === 2;
|
10557
|
-
} )();
|
10558
|
-
|
10559
|
-
|
10560
10547
|
// data: string of html
|
10561
10548
|
// context (optional): If specified, the fragment will be created in this context,
|
10562
10549
|
// defaults to document
|
@@ -10569,12 +10556,7 @@ jQuery.parseHTML = function( data, context, keepScripts ) {
|
|
10569
10556
|
keepScripts = context;
|
10570
10557
|
context = false;
|
10571
10558
|
}
|
10572
|
-
|
10573
|
-
// document.implementation stops scripts or inline event handlers from
|
10574
|
-
// being executed immediately
|
10575
|
-
context = context || ( support.createHTMLDocument ?
|
10576
|
-
document.implementation.createHTMLDocument( "" ) :
|
10577
|
-
document );
|
10559
|
+
context = context || document;
|
10578
10560
|
|
10579
10561
|
var parsed = rsingleTag.exec( data ),
|
10580
10562
|
scripts = !keepScripts && [];
|
@@ -10656,7 +10638,7 @@ jQuery.fn.load = function( url, params, callback ) {
|
|
10656
10638
|
// If it fails, this function gets "jqXHR", "status", "error"
|
10657
10639
|
} ).always( callback && function( jqXHR, status ) {
|
10658
10640
|
self.each( function() {
|
10659
|
-
callback.apply(
|
10641
|
+
callback.apply( this, response || [ jqXHR.responseText, status, jqXHR ] );
|
10660
10642
|
} );
|
10661
10643
|
} );
|
10662
10644
|
}
|