activeadmin 3.3.0 → 3.5.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (35) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +20 -0
  3. data/app/assets/javascripts/active_admin/base.js +8 -11
  4. data/app/javascript/active_admin/initializers/datepicker.js +3 -0
  5. data/lib/active_admin/dependency.rb +1 -1
  6. data/lib/active_admin/resource.rb +8 -2
  7. data/lib/active_admin/router.rb +5 -5
  8. data/lib/active_admin/version.rb +1 -1
  9. data/vendor/assets/javascripts/jquery-ui/data.js +6 -12
  10. data/vendor/assets/javascripts/jquery-ui/disable-selection.js +1 -1
  11. data/vendor/assets/javascripts/jquery-ui/focusable.js +3 -13
  12. data/vendor/assets/javascripts/jquery-ui/form-reset-mixin.js +2 -4
  13. data/vendor/assets/javascripts/jquery-ui/keycode.js +1 -1
  14. data/vendor/assets/javascripts/jquery-ui/labels.js +4 -5
  15. data/vendor/assets/javascripts/jquery-ui/position.js +1 -1
  16. data/vendor/assets/javascripts/jquery-ui/scroll-parent.js +1 -1
  17. data/vendor/assets/javascripts/jquery-ui/tabbable.js +1 -1
  18. data/vendor/assets/javascripts/jquery-ui/unique-id.js +1 -1
  19. data/vendor/assets/javascripts/jquery-ui/version.js +1 -1
  20. data/vendor/assets/javascripts/jquery-ui/widget.js +4 -1
  21. data/vendor/assets/javascripts/jquery-ui/widgets/button.js +6 -6
  22. data/vendor/assets/javascripts/jquery-ui/widgets/checkboxradio.js +4 -4
  23. data/vendor/assets/javascripts/jquery-ui/widgets/controlgroup.js +2 -2
  24. data/vendor/assets/javascripts/jquery-ui/widgets/datepicker.js +11 -14
  25. data/vendor/assets/javascripts/jquery-ui/widgets/dialog.js +20 -34
  26. data/vendor/assets/javascripts/jquery-ui/widgets/draggable.js +4 -8
  27. data/vendor/assets/javascripts/jquery-ui/widgets/mouse.js +16 -31
  28. data/vendor/assets/javascripts/jquery-ui/widgets/resizable.js +73 -20
  29. data/vendor/assets/javascripts/jquery-ui/widgets/sortable.js +9 -17
  30. data/vendor/assets/javascripts/jquery-ui/widgets/tabs.js +53 -66
  31. metadata +4 -11
  32. data/vendor/assets/javascripts/jquery-ui/form.js +0 -25
  33. data/vendor/assets/javascripts/jquery-ui/ie.js +0 -20
  34. data/vendor/assets/javascripts/jquery-ui/safe-active-element.js +0 -46
  35. data/vendor/assets/javascripts/jquery-ui/safe-blur.js +0 -27
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: e080845beb483b8364c49bb199ac8b4ba61975854316d053df39b39208d863bf
4
- data.tar.gz: c30bcfde594fb30c2a8796741451f245b77ddeaa66c6a66ecbfbcbec3064918a
3
+ metadata.gz: afa1c1c32021e663fdfbf9f57274716deb64f84ac184453bc2b73b6073053303
4
+ data.tar.gz: 183d57d9d1d7bf90399aaeb8e46ba97077ec30f3028ead82d34d976de1cd295c
5
5
  SHA512:
6
- metadata.gz: fe64d783c2ac39dbbc74df16985dabcbee5e300039f8b703df6ccedf7dee24dcda09dd59b154383ba0dc593310f163dd6ca51af5f59d26b11646683158eeae4a
7
- data.tar.gz: f4e988b7bf89e2cb291822c62d891d958ec48400e3ccee31fc2480b47ee1c8ab80608c939abb80733378c2f27a245044d1f89c68fe04c8fd850264df072ae8d1
6
+ metadata.gz: 6bb9e12a1b4efcf8ed33044499cffb92019ca3e5b9b81b02aa94586f142fb8f22f68e7659c01551c07d2a37fecea912cf7ac61e28c05c2e4a531b5ea74f262e2
7
+ data.tar.gz: 6de75bee7cec2b1241ce989d55186a19801d272ccc4d2b06e73e022043f20e16c1781ae9ca00906681d6a2f5db22f1f6f6baa3f67b05703e2b7dacefd863f896
data/CHANGELOG.md CHANGED
@@ -2,6 +2,21 @@
2
2
 
3
3
  ## Unreleased
4
4
 
5
+ ## 3.5.0 [☰](https://github.com/activeadmin/activeadmin/compare/v3.4.0..v3.5.0)
6
+
7
+ ### Enhancements
8
+
9
+ * Backport Devise 5 support [#8964] by @tagliala
10
+ * Backport Drop legacy connection support [#8965] by @tagliala
11
+
12
+ ### Dependency Changes
13
+
14
+ * Update vendored jQuery UI to 1.14.2 [#8670] by @tagliala (thanks to @tobischo)
15
+
16
+ ## 3.4.0 [☰](https://github.com/activeadmin/activeadmin/compare/v3.3.0..v3.4.0)
17
+
18
+ * Add Rails 8.1 compatibility and drop Ruby < 3.0 support [#8837] by [@tagliala]
19
+
5
20
  ## 3.3.0 [☰](https://github.com/activeadmin/activeadmin/compare/v3.2.5..v3.3.0)
6
21
 
7
22
  ### Enhancements
@@ -984,6 +999,10 @@ Please check [0-6-stable] for previous changes.
984
999
  [#8614]: https://github.com/activeadmin/activeadmin/pull/8614
985
1000
  [#8650]: https://github.com/activeadmin/activeadmin/pull/8650
986
1001
  [#8652]: https://github.com/activeadmin/activeadmin/pull/8652
1002
+ [#8670]: https://github.com/activeadmin/activeadmin/pull/8670
1003
+ [#8837]: https://github.com/activeadmin/activeadmin/pull/8837
1004
+ [#8964]: https://github.com/activeadmin/activeadmin/pull/8964
1005
+ [#8965]: https://github.com/activeadmin/activeadmin/pull/8965
987
1006
 
988
1007
  [@1000ship]: https://github.com/1000ship
989
1008
  [@5t111111]: https://github.com/5t111111
@@ -1108,6 +1127,7 @@ Please check [0-6-stable] for previous changes.
1108
1127
  [@timoschilling]: https://github.com/timoschilling
1109
1128
  [@TimPetricola]: https://github.com/TimPetricola
1110
1129
  [@timwis]: https://github.com/timwis
1130
+ [@tobischo]: https://github.com/tobischo
1111
1131
  [@tomgilligan]: https://github.com/tomgilligan
1112
1132
  [@TonyArra]: https://github.com/TonyArra
1113
1133
  [@tordans]: https://github.com/tordans
@@ -187,6 +187,7 @@
187
187
  };
188
188
  var options = input.data("datepicker-options");
189
189
  input.datepicker($.extend(defaults, options));
190
+ input.datepicker("show");
190
191
  });
191
192
  })(jQuery);
192
193
  var DropdownMenu = function() {
@@ -468,23 +469,19 @@
468
469
  $.fn["perPage"] = PerPage._jQueryInterface;
469
470
  $.fn["perPage"].Constructor = PerPage;
470
471
  })(jQuery);
471
- function _inheritsLoose(subClass, superClass) {
472
- subClass.prototype = Object.create(superClass.prototype);
473
- subClass.prototype.constructor = subClass;
474
- _setPrototypeOf(subClass, superClass);
472
+ function _inheritsLoose(t, o) {
473
+ t.prototype = Object.create(o.prototype), t.prototype.constructor = t, _setPrototypeOf(t, o);
475
474
  }
476
- function _setPrototypeOf(o, p) {
477
- _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function _setPrototypeOf(o, p) {
478
- o.__proto__ = p;
479
- return o;
480
- };
481
- return _setPrototypeOf(o, p);
475
+ function _setPrototypeOf(t, e) {
476
+ return _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function(t, e) {
477
+ return t.__proto__ = e, t;
478
+ }, _setPrototypeOf(t, e);
482
479
  }
483
480
  var TableCheckboxToggler = function(_CheckboxToggler) {
484
- _inheritsLoose(TableCheckboxToggler, _CheckboxToggler);
485
481
  function TableCheckboxToggler() {
486
482
  return _CheckboxToggler.apply(this, arguments) || this;
487
483
  }
484
+ _inheritsLoose(TableCheckboxToggler, _CheckboxToggler);
488
485
  var _proto = TableCheckboxToggler.prototype;
489
486
  _proto._bind = function _bind() {
490
487
  var _this = this;
@@ -11,6 +11,9 @@
11
11
  const options = input.data('datepicker-options');
12
12
 
13
13
  input.datepicker($.extend(defaults, options));
14
+
15
+ // See https://github.com/jquery/jquery-ui/issues/2385
16
+ input.datepicker('show');
14
17
  });
15
18
 
16
19
  })(jQuery);
@@ -2,7 +2,7 @@
2
2
  module ActiveAdmin
3
3
  module Dependency
4
4
  module Requirements
5
- DEVISE = ">= 4.0", "< 5"
5
+ DEVISE = ">= 4.0", "< 6"
6
6
  end
7
7
 
8
8
  # Provides a clean interface to check for gem dependencies at runtime.
@@ -70,7 +70,7 @@ module ActiveAdmin
70
70
  module Base
71
71
  def initialize(namespace, resource_class, options = {})
72
72
  @namespace = namespace
73
- @resource_class_name = "::#{resource_class.name}"
73
+ @resource_class_name = resource_class.respond_to?(:name) ? "::#{resource_class.name}" : resource_class.to_s
74
74
  @options = options
75
75
  @sort_order = options[:sort_order]
76
76
  @member_actions = []
@@ -119,7 +119,13 @@ module ActiveAdmin
119
119
  end
120
120
 
121
121
  def resource_quoted_column_name(column)
122
- resource_class.connection.quote_column_name(column)
122
+ if resource_class.respond_to?(:with_connection)
123
+ resource_class.with_connection do |connection|
124
+ connection.quote_column_name(column)
125
+ end
126
+ else
127
+ resource_class.connection.quote_column_name(column)
128
+ end
123
129
  end
124
130
 
125
131
  # Clears all the member actions this resource knows about
@@ -21,7 +21,7 @@ module ActiveAdmin
21
21
  if namespace.root?
22
22
  router.root namespace.root_to_options.merge(to: namespace.root_to)
23
23
  else
24
- router.namespace namespace.name, namespace.route_options.dup do
24
+ router.namespace namespace.name, **namespace.route_options.dup do
25
25
  router.root namespace.root_to_options.merge(to: namespace.root_to, as: :root)
26
26
  end
27
27
  end
@@ -65,7 +65,7 @@ module ActiveAdmin
65
65
 
66
66
  def page_routes(config)
67
67
  page = config.underscored_resource_name
68
- router.get "/#{page}" => "#{page}#index"
68
+ router.get "/#{page}", to: "#{page}#index"
69
69
  config.page_actions.each do |action|
70
70
  Array.wrap(action.http_verb).each do |verb|
71
71
  build_route(verb, "/#{page}/#{action.name}" => "#{page}##{action.name}")
@@ -91,8 +91,8 @@ module ActiveAdmin
91
91
  build_route(action.http_verb, action.name)
92
92
  end
93
93
 
94
- def build_route(verbs, *args)
95
- Array.wrap(verbs).each { |verb| router.send(verb, *args) }
94
+ def build_route(verbs, ...)
95
+ Array.wrap(verbs).each { |verb| router.send(verb, ...) }
96
96
  end
97
97
 
98
98
  def define_belongs_to_routes(config)
@@ -107,7 +107,7 @@ module ActiveAdmin
107
107
  end
108
108
 
109
109
  def define_namespace(config)
110
- router.namespace config.namespace.name, config.namespace.route_options.dup do
110
+ router.namespace config.namespace.name, **config.namespace.route_options.dup do
111
111
  define_routes(config)
112
112
  end
113
113
  end
@@ -1,4 +1,4 @@
1
1
  # frozen_string_literal: true
2
2
  module ActiveAdmin
3
- VERSION = "3.3.0"
3
+ VERSION = "3.5.0"
4
4
  end
@@ -1,7 +1,7 @@
1
1
  //= require jquery-ui/version
2
2
 
3
3
  /*!
4
- * jQuery UI :data 1.13.3
4
+ * jQuery UI :data 1.14.2
5
5
  * https://jqueryui.com
6
6
  *
7
7
  * Copyright OpenJS Foundation and other contributors
@@ -30,16 +30,10 @@
30
30
  "use strict";
31
31
 
32
32
  return $.extend( $.expr.pseudos, {
33
- data: $.expr.createPseudo ?
34
- $.expr.createPseudo( function( dataName ) {
35
- return function( elem ) {
36
- return !!$.data( elem, dataName );
37
- };
38
- } ) :
39
-
40
- // Support: jQuery <1.8
41
- function( elem, i, match ) {
42
- return !!$.data( elem, match[ 3 ] );
43
- }
33
+ data: $.expr.createPseudo( function( dataName ) {
34
+ return function( elem ) {
35
+ return !!$.data( elem, dataName );
36
+ };
37
+ } )
44
38
  } );
45
39
  } );
@@ -1,7 +1,7 @@
1
1
  //= require jquery-ui/version
2
2
 
3
3
  /*!
4
- * jQuery UI Disable Selection 1.13.3
4
+ * jQuery UI Disable Selection 1.14.2
5
5
  * https://jqueryui.com
6
6
  *
7
7
  * Copyright OpenJS Foundation and other contributors
@@ -1,7 +1,7 @@
1
1
  //= require jquery-ui/version
2
2
 
3
3
  /*!
4
- * jQuery UI Focusable 1.13.3
4
+ * jQuery UI Focusable 1.14.2
5
5
  * https://jqueryui.com
6
6
  *
7
7
  * Copyright OpenJS Foundation and other contributors
@@ -64,20 +64,10 @@ $.ui.focusable = function( element, hasTabindex ) {
64
64
  focusableIfVisible = hasTabindex;
65
65
  }
66
66
 
67
- return focusableIfVisible && $( element ).is( ":visible" ) && visible( $( element ) );
67
+ return focusableIfVisible && $( element ).is( ":visible" ) &&
68
+ $( element ).css( "visibility" ) === "visible";
68
69
  };
69
70
 
70
- // Support: IE 8 only
71
- // IE 8 doesn't resolve inherit to visible/hidden for computed values
72
- function visible( element ) {
73
- var visibility = element.css( "visibility" );
74
- while ( visibility === "inherit" ) {
75
- element = element.parent();
76
- visibility = element.css( "visibility" );
77
- }
78
- return visibility === "visible";
79
- }
80
-
81
71
  $.extend( $.expr.pseudos, {
82
72
  focusable: function( element ) {
83
73
  return $.ui.focusable( element, $.attr( element, "tabindex" ) != null );
@@ -1,8 +1,7 @@
1
- //= require jquery-ui/form
2
1
  //= require jquery-ui/version
3
2
 
4
3
  /*!
5
- * jQuery UI Form Reset Mixin 1.13.3
4
+ * jQuery UI Form Reset Mixin 1.14.2
6
5
  * https://jqueryui.com
7
6
  *
8
7
  * Copyright OpenJS Foundation and other contributors
@@ -23,7 +22,6 @@
23
22
  // AMD. Register as an anonymous module.
24
23
  define( [
25
24
  "jquery",
26
- "./form",
27
25
  "./version"
28
26
  ], factory );
29
27
  } else {
@@ -48,7 +46,7 @@ return $.ui.formResetMixin = {
48
46
  },
49
47
 
50
48
  _bindFormResetHandler: function() {
51
- this.form = this.element._form();
49
+ this.form = $( this.element.prop( "form" ) );
52
50
  if ( !this.form.length ) {
53
51
  return;
54
52
  }
@@ -1,7 +1,7 @@
1
1
  //= require jquery-ui/version
2
2
 
3
3
  /*!
4
- * jQuery UI Keycode 1.13.3
4
+ * jQuery UI Keycode 1.14.2
5
5
  * https://jqueryui.com
6
6
  *
7
7
  * Copyright OpenJS Foundation and other contributors
@@ -1,7 +1,7 @@
1
1
  //= require jquery-ui/version
2
2
 
3
3
  /*!
4
- * jQuery UI Labels 1.13.3
4
+ * jQuery UI Labels 1.14.2
5
5
  * https://jqueryui.com
6
6
  *
7
7
  * Copyright OpenJS Foundation and other contributors
@@ -41,9 +41,8 @@ return $.fn.labels = function() {
41
41
  return this.pushStack( this[ 0 ].labels );
42
42
  }
43
43
 
44
- // Support: IE <= 11, FF <= 37, Android <= 2.3 only
45
- // Above browsers do not support control.labels. Everything below is to support them
46
- // as well as document fragments. control.labels does not work on document fragments
44
+ // If `control.labels` is empty - e.g. inside of document fragments - find
45
+ // the labels manually
47
46
  labels = this.eq( 0 ).parents( "label" );
48
47
 
49
48
  // Look for the label based on the id
@@ -58,7 +57,7 @@ return $.fn.labels = function() {
58
57
  ancestors = ancestor.add( ancestor.length ? ancestor.siblings() : this.siblings() );
59
58
 
60
59
  // Create a selector for the label based on the id
61
- selector = "label[for='" + $.escapeSelector( id ) + "']";
60
+ selector = "label[for='" + CSS.escape( id ) + "']";
62
61
 
63
62
  labels = labels.add( ancestors.find( selector ).addBack( selector ) );
64
63
 
@@ -1,7 +1,7 @@
1
1
  //= require jquery-ui/version
2
2
 
3
3
  /*!
4
- * jQuery UI Position 1.13.3
4
+ * jQuery UI Position 1.14.2
5
5
  * https://jqueryui.com
6
6
  *
7
7
  * Copyright OpenJS Foundation and other contributors
@@ -1,7 +1,7 @@
1
1
  //= require jquery-ui/version
2
2
 
3
3
  /*!
4
- * jQuery UI Scroll Parent 1.13.3
4
+ * jQuery UI Scroll Parent 1.14.2
5
5
  * https://jqueryui.com
6
6
  *
7
7
  * Copyright OpenJS Foundation and other contributors
@@ -2,7 +2,7 @@
2
2
  //= require jquery-ui/focusable
3
3
 
4
4
  /*!
5
- * jQuery UI Tabbable 1.13.3
5
+ * jQuery UI Tabbable 1.14.2
6
6
  * https://jqueryui.com
7
7
  *
8
8
  * Copyright OpenJS Foundation and other contributors
@@ -1,7 +1,7 @@
1
1
  //= require jquery-ui/version
2
2
 
3
3
  /*!
4
- * jQuery UI Unique ID 1.13.3
4
+ * jQuery UI Unique ID 1.14.2
5
5
  * https://jqueryui.com
6
6
  *
7
7
  * Copyright OpenJS Foundation and other contributors
@@ -15,6 +15,6 @@
15
15
 
16
16
  $.ui = $.ui || {};
17
17
 
18
- return $.ui.version = "1.13.3";
18
+ return $.ui.version = "1.14.2";
19
19
 
20
20
  } );
@@ -1,7 +1,7 @@
1
1
  //= require jquery-ui/version
2
2
 
3
3
  /*!
4
- * jQuery UI Widget 1.13.3
4
+ * jQuery UI Widget 1.14.2
5
5
  * https://jqueryui.com
6
6
  *
7
7
  * Copyright OpenJS Foundation and other contributors
@@ -58,6 +58,9 @@ $.widget = function( name, base, prototype ) {
58
58
 
59
59
  var namespace = name.split( "." )[ 0 ];
60
60
  name = name.split( "." )[ 1 ];
61
+ if ( name === "__proto__" || name === "constructor" ) {
62
+ return $.error( "Invalid widget name: " + name );
63
+ }
61
64
  var fullName = namespace + "-" + name;
62
65
 
63
66
  if ( !prototype ) {
@@ -4,7 +4,7 @@
4
4
  //= require jquery-ui/widget
5
5
 
6
6
  /*!
7
- * jQuery UI Button 1.13.3
7
+ * jQuery UI Button 1.14.2
8
8
  * https://jqueryui.com
9
9
  *
10
10
  * Copyright OpenJS Foundation and other contributors
@@ -47,7 +47,7 @@
47
47
  "use strict";
48
48
 
49
49
  $.widget( "ui.button", {
50
- version: "1.13.3",
50
+ version: "1.14.2",
51
51
  defaultElement: "<button>",
52
52
  options: {
53
53
  classes: {
@@ -114,9 +114,9 @@ $.widget( "ui.button", {
114
114
  if ( event.keyCode === $.ui.keyCode.SPACE ) {
115
115
  event.preventDefault();
116
116
 
117
- // Support: PhantomJS <= 1.9, IE 8 Only
118
- // If a native click is available use it so we actually cause navigation
119
- // otherwise just trigger a click event
117
+ // If a native click is available use it, so we
118
+ // actually cause navigation. Otherwise, just trigger
119
+ // a click event.
120
120
  if ( this.element[ 0 ].click ) {
121
121
  this.element[ 0 ].click();
122
122
  } else {
@@ -292,7 +292,7 @@ $.widget( "ui.button", {
292
292
  } );
293
293
 
294
294
  // DEPRECATED
295
- if ( $.uiBackCompat !== false ) {
295
+ if ( $.uiBackCompat === true ) {
296
296
 
297
297
  // Text and Icons options
298
298
  $.widget( "ui.button", $.ui.button, {
@@ -3,7 +3,7 @@
3
3
  //= require jquery-ui/widget
4
4
 
5
5
  /*!
6
- * jQuery UI Checkboxradio 1.13.3
6
+ * jQuery UI Checkboxradio 1.14.2
7
7
  * https://jqueryui.com
8
8
  *
9
9
  * Copyright OpenJS Foundation and other contributors
@@ -42,7 +42,7 @@
42
42
  "use strict";
43
43
 
44
44
  $.widget( "ui.checkboxradio", [ $.ui.formResetMixin, {
45
- version: "1.13.3",
45
+ version: "1.14.2",
46
46
  options: {
47
47
  disabled: null,
48
48
  label: null,
@@ -160,7 +160,7 @@ $.widget( "ui.checkboxradio", [ $.ui.formResetMixin, {
160
160
  _getRadioGroup: function() {
161
161
  var group;
162
162
  var name = this.element[ 0 ].name;
163
- var nameSelector = "input[name='" + $.escapeSelector( name ) + "']";
163
+ var nameSelector = "input[name='" + CSS.escape( name ) + "']";
164
164
 
165
165
  if ( !name ) {
166
166
  return $( [] );
@@ -172,7 +172,7 @@ $.widget( "ui.checkboxradio", [ $.ui.formResetMixin, {
172
172
 
173
173
  // Not inside a form, check all inputs that also are not inside a form
174
174
  group = $( nameSelector ).filter( function() {
175
- return $( this )._form().length === 0;
175
+ return $( $( this ).prop( "form" ) ).length === 0;
176
176
  } );
177
177
  }
178
178
 
@@ -1,7 +1,7 @@
1
1
  //= require jquery-ui/widget
2
2
 
3
3
  /*!
4
- * jQuery UI Controlgroup 1.13.3
4
+ * jQuery UI Controlgroup 1.14.2
5
5
  * https://jqueryui.com
6
6
  *
7
7
  * Copyright OpenJS Foundation and other contributors
@@ -39,7 +39,7 @@
39
39
  var controlgroupCornerRegex = /ui-corner-([a-z]){2,6}/g;
40
40
 
41
41
  return $.widget( "ui.controlgroup", {
42
- version: "1.13.3",
42
+ version: "1.14.2",
43
43
  defaultElement: "<div>",
44
44
  options: {
45
45
  direction: "horizontal",
@@ -1,9 +1,9 @@
1
1
  //= require jquery-ui/version
2
2
  //= require jquery-ui/keycode
3
3
 
4
- /* eslint-disable max-len, camelcase */
4
+ /* eslint-disable max-len */
5
5
  /*!
6
- * jQuery UI Datepicker 1.13.3
6
+ * jQuery UI Datepicker 1.14.2
7
7
  * https://jqueryui.com
8
8
  *
9
9
  * Copyright OpenJS Foundation and other contributors
@@ -39,7 +39,7 @@
39
39
  } )( function( $ ) {
40
40
  "use strict";
41
41
 
42
- $.extend( $.ui, { datepicker: { version: "1.13.3" } } );
42
+ $.extend( $.ui, { datepicker: { version: "1.14.2" } } );
43
43
 
44
44
  var datepicker_instActive;
45
45
 
@@ -438,6 +438,7 @@ $.extend( Datepicker.prototype, {
438
438
  $target.removeClass( this.markerClassName ).empty();
439
439
  }
440
440
 
441
+ $.datepicker._hideDatepicker();
441
442
  if ( datepicker_instActive === inst ) {
442
443
  datepicker_instActive = null;
443
444
  this._curInst = null;
@@ -537,7 +538,7 @@ $.extend( Datepicker.prototype, {
537
538
  _getInst: function( target ) {
538
539
  try {
539
540
  return $.data( target, "datepicker" );
540
- } catch ( err ) {
541
+ } catch ( _err ) {
541
542
  throw "Missing instance data for this datepicker";
542
543
  }
543
544
  },
@@ -770,7 +771,7 @@ $.extend( Datepicker.prototype, {
770
771
  $.datepicker._updateAlternate( inst );
771
772
  $.datepicker._updateDatepicker( inst );
772
773
  }
773
- } catch ( err ) {
774
+ } catch ( _err ) {
774
775
  }
775
776
  }
776
777
  return true;
@@ -913,11 +914,8 @@ $.extend( Datepicker.prototype, {
913
914
  }
914
915
  },
915
916
 
916
- // #6694 - don't focus the input if it's already focused
917
- // this breaks the change event in IE
918
- // Support: IE and jQuery <1.9
919
917
  _shouldFocusInput: function( inst ) {
920
- return inst.input && inst.input.is( ":visible" ) && !inst.input.is( ":disabled" ) && !inst.input.is( ":focus" );
918
+ return inst.input && inst.input.is( ":visible" ) && !inst.input.is( ":disabled" );
921
919
  },
922
920
 
923
921
  /* Check positioning to remain on screen. */
@@ -974,8 +972,7 @@ $.extend( Datepicker.prototype, {
974
972
  $.datepicker._tidyDialog( inst );
975
973
  };
976
974
 
977
- // DEPRECATED: after BC for 1.8.x $.effects[ showAnim ] is not needed
978
- if ( $.effects && ( $.effects.effect[ showAnim ] || $.effects[ showAnim ] ) ) {
975
+ if ( $.effects && ( $.effects.effect[ showAnim ] ) ) {
979
976
  inst.dpDiv.hide( showAnim, $.datepicker._get( inst, "showOptions" ), duration, postProcess );
980
977
  } else {
981
978
  inst.dpDiv[ ( showAnim === "slideDown" ? "slideUp" :
@@ -1546,7 +1543,7 @@ $.extend( Datepicker.prototype, {
1546
1543
 
1547
1544
  try {
1548
1545
  date = this.parseDate( dateFormat, dates, settings ) || defaultDate;
1549
- } catch ( event ) {
1546
+ } catch ( _err ) {
1550
1547
  dates = ( noDefault ? "" : dates );
1551
1548
  }
1552
1549
  inst.selectedDay = date.getDate();
@@ -1575,7 +1572,7 @@ $.extend( Datepicker.prototype, {
1575
1572
  try {
1576
1573
  return $.datepicker.parseDate( $.datepicker._get( inst, "dateFormat" ),
1577
1574
  offset, $.datepicker._getFormatConfig( inst ) );
1578
- } catch ( e ) {
1575
+ } catch ( _e ) {
1579
1576
 
1580
1577
  // Ignore
1581
1578
  }
@@ -2236,7 +2233,7 @@ $.fn.datepicker = function( options ) {
2236
2233
  $.datepicker = new Datepicker(); // singleton instance
2237
2234
  $.datepicker.initialized = false;
2238
2235
  $.datepicker.uuid = new Date().getTime();
2239
- $.datepicker.version = "1.13.3";
2236
+ $.datepicker.version = "1.14.2";
2240
2237
 
2241
2238
  return $.datepicker;
2242
2239