]> source.dussan.org Git - jquery.git/commitdiff
Ajax: Deprecate AJAX event aliases, inline event/alias into deprecated
authorMichał Gołębiowski-Owczarek <m.goleb@gmail.com>
Tue, 21 Jan 2020 13:12:35 +0000 (14:12 +0100)
committerGitHub <noreply@github.com>
Tue, 21 Jan 2020 13:12:35 +0000 (14:12 +0100)
A new `src/deprecated` directory makes it possible to exclude some deprecated
APIs from a custom build when their respective "parent" module is excluded
without keeping that module outside of the `src/deprecated` directory or
the `src/deprecated.js` file.

Closes gh-4572

Gruntfile.js
README.md
src/deprecated.js
src/deprecated/ajax-event-alias.js [new file with mode: 0644]
src/deprecated/event.js [new file with mode: 0644]
src/event/ajax.js [deleted file]
src/event/alias.js [deleted file]
src/jquery.js

index 562d286f62082e0f38db288e349bb34510ed4848..51f8bc64333b4349360c44f1c940353a0f8d7268 100644 (file)
@@ -58,14 +58,15 @@ module.exports = function( grunt ) {
 
                                // Exclude specified modules if the module matching the key is removed
                                removeWith: {
-                                       ajax: [ "manipulation/_evalUrl", "event/ajax" ],
+                                       ajax: [ "manipulation/_evalUrl", "deprecated/ajax-event-alias" ],
                                        callbacks: [ "deferred" ],
                                        css: [ "effects", "dimensions", "offset" ],
                                        "css/showHide": [ "effects" ],
                                        deferred: {
                                                remove: [ "ajax", "effects", "queue", "core/ready" ],
                                                include: [ "core/ready-no-deferred" ]
-                                       }
+                                       },
+                                       event: [ "deprecated/ajax-event-alias", "deprecated/event" ]
                                }
                        }
                },
index 9302b2f141a166bc2fad6921128edae117eaaeeb..865383a87904d6fd3dd4352c4f53d0705641d17c 100644 (file)
--- a/README.md
+++ b/README.md
@@ -86,8 +86,7 @@ Some example modules that can be excluded are:
 - **deprecated**: Methods documented as deprecated but not yet removed.
 - **dimensions**: The `.width()` and `.height()` methods, including `inner-` and `outer-` variations.
 - **effects**: The `.animate()` method and its shorthands such as `.slideUp()` or `.hide("slow")`.
-- **event**: The `.on()` and `.off()` methods and all event functionality. Also removes `event/alias`.
-- **event/alias**: All event attaching/triggering shorthands like `.click()` or `.mouseover()`.
+- **event**: The `.on()` and `.off()` methods and all event functionality.
 - **event/trigger**: The `.trigger()` and `.triggerHandler()` methods. Used by the **alias** module.
 - **offset**: The `.offset()`, `.position()`, `.offsetParent()`, `.scrollLeft()`, and `.scrollTop()` methods.
 - **wrap**: The `.wrap()`, `.wrapAll()`, `.wrapInner()`, and `.unwrap()` methods.
@@ -143,7 +142,7 @@ grunt custom:-css
 Exclude a bunch of modules:
 
 ```bash
-grunt custom:-ajax,-css,-deprecated,-dimensions,-effects,-event/alias,-offset,-wrap
+grunt custom:-ajax/jsonp,-css,-deprecated,-dimensions,-effects,-offset,-wrap
 ```
 
 There is also a special alias to generate a build with the same configuration as the official jQuery Slim build is generated:
index b7879c208543526648603141fb4d88a9b0ef36ff..be19973216b7fde7dc5b158b69e32dab48a717e2 100644 (file)
@@ -2,28 +2,8 @@ import jQuery from "./core.js";
 import slice from "./var/slice.js";
 import trim from "./var/trim.js";
 
-import "./event/alias.js";
-
-jQuery.fn.extend( {
-
-       bind: function( types, data, fn ) {
-               return this.on( types, null, data, fn );
-       },
-       unbind: function( types, fn ) {
-               return this.off( types, null, fn );
-       },
-
-       delegate: function( selector, types, data, fn ) {
-               return this.on( types, selector, data, fn );
-       },
-       undelegate: function( selector, types, fn ) {
-
-               // ( namespace ) or ( selector, types [, fn] )
-               return arguments.length === 1 ?
-                       this.off( selector, "**" ) :
-                       this.off( types, selector || "**", fn );
-       }
-} );
+import "./deprecated/ajax-event-alias.js";
+import "./deprecated/event.js";
 
 // Bind a function to a context, optionally partially applying any
 // arguments.
diff --git a/src/deprecated/ajax-event-alias.js b/src/deprecated/ajax-event-alias.js
new file mode 100644 (file)
index 0000000..e4fe115
--- /dev/null
@@ -0,0 +1,17 @@
+import jQuery from "../core.js";
+
+import "../ajax.js";
+import "../event.js";
+
+jQuery.each( [
+       "ajaxStart",
+       "ajaxStop",
+       "ajaxComplete",
+       "ajaxError",
+       "ajaxSuccess",
+       "ajaxSend"
+], function( _i, type ) {
+       jQuery.fn[ type ] = function( fn ) {
+               return this.on( type, fn );
+       };
+} );
diff --git a/src/deprecated/event.js b/src/deprecated/event.js
new file mode 100644 (file)
index 0000000..7ad4492
--- /dev/null
@@ -0,0 +1,42 @@
+import jQuery from "../core.js";
+
+import "../event.js";
+import "../event/trigger.js";
+
+jQuery.fn.extend( {
+
+       bind: function( types, data, fn ) {
+               return this.on( types, null, data, fn );
+       },
+       unbind: function( types, fn ) {
+               return this.off( types, null, fn );
+       },
+
+       delegate: function( selector, types, data, fn ) {
+               return this.on( types, selector, data, fn );
+       },
+       undelegate: function( selector, types, fn ) {
+
+               // ( namespace ) or ( selector, types [, fn] )
+               return arguments.length === 1 ?
+                       this.off( selector, "**" ) :
+                       this.off( types, selector || "**", fn );
+       },
+
+       hover: function( fnOver, fnOut ) {
+               return this.mouseenter( fnOver ).mouseleave( fnOut || fnOver );
+       }
+} );
+
+jQuery.each( ( "blur focus focusin focusout resize scroll click dblclick " +
+       "mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave " +
+       "change select submit keydown keypress keyup contextmenu" ).split( " " ),
+       function( _i, name ) {
+
+               // Handle event binding
+               jQuery.fn[ name ] = function( data, fn ) {
+                       return arguments.length > 0 ?
+                               this.on( name, null, data, fn ) :
+                               this.trigger( name );
+               };
+       } );
diff --git a/src/event/ajax.js b/src/event/ajax.js
deleted file mode 100644 (file)
index 8c64d9b..0000000
+++ /dev/null
@@ -1,17 +0,0 @@
-import jQuery from "../core.js";
-
-import "../event.js";
-
-// Attach a bunch of functions for handling common AJAX events
-jQuery.each( [
-       "ajaxStart",
-       "ajaxStop",
-       "ajaxComplete",
-       "ajaxError",
-       "ajaxSuccess",
-       "ajaxSend"
-], function( _i, type ) {
-       jQuery.fn[ type ] = function( fn ) {
-               return this.on( type, fn );
-       };
-} );
diff --git a/src/event/alias.js b/src/event/alias.js
deleted file mode 100644 (file)
index 346951b..0000000
+++ /dev/null
@@ -1,23 +0,0 @@
-import jQuery from "../core.js";
-
-import "../event.js";
-import "./trigger.js";
-
-jQuery.each( ( "blur focus focusin focusout resize scroll click dblclick " +
-       "mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave " +
-       "change select submit keydown keypress keyup contextmenu" ).split( " " ),
-       function( _i, name ) {
-
-       // Handle event binding
-       jQuery.fn[ name ] = function( data, fn ) {
-               return arguments.length > 0 ?
-                       this.on( name, null, data, fn ) :
-                       this.trigger( name );
-       };
-} );
-
-jQuery.fn.extend( {
-       hover: function( fnOver, fnOut ) {
-               return this.mouseenter( fnOver ).mouseleave( fnOut || fnOver );
-       }
-} );
index 53515267bff384a59fd5303f25ee0704349ef221..3a27fe3ff94ce6e0b34fe1dc27a6b9486ea5fca6 100644 (file)
@@ -24,7 +24,6 @@ import "./ajax/jsonp.js";
 import "./ajax/load.js";
 import "./core/parseXML.js";
 import "./core/parseHTML.js";
-import "./event/ajax.js";
 import "./effects.js";
 import "./effects/animatedSelector.js";
 import "./offset.js";