This is an automated email from the ASF dual-hosted git repository.

svenmeier pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/wicket.git

commit 022e5f31da9c62cc6e3f8c99d87d3dc7cb36b5aa
Author: Sven Meier <[email protected]>
AuthorDate: Tue May 7 07:47:38 2019 +0200

    WICKET-6667 JS removed Wicket.Browser.isIE..()
    
    was used for special event "inputchange" only, which seems to work fine
    in IE >=11
---
 .../wicket/ajax/form/OnChangeAjaxBehavior.java     |  13 +--
 .../wicket/ajax/res/js/wicket-ajax-jquery.js       | 118 ---------------------
 .../wicket/ajax/form/OnChangeAjaxBehaviorTest.java |   2 +-
 .../OnChangeAjaxBehaviorTestPage_expected.html     |   2 +-
 wicket-core/src/test/js/all.html                   |   2 -
 wicket-core/src/test/js/event.js                   |  18 ----
 6 files changed, 7 insertions(+), 148 deletions(-)

diff --git 
a/wicket-core/src/main/java/org/apache/wicket/ajax/form/OnChangeAjaxBehavior.java
 
b/wicket-core/src/main/java/org/apache/wicket/ajax/form/OnChangeAjaxBehavior.java
index f960d29..a730455 100644
--- 
a/wicket-core/src/main/java/org/apache/wicket/ajax/form/OnChangeAjaxBehavior.java
+++ 
b/wicket-core/src/main/java/org/apache/wicket/ajax/form/OnChangeAjaxBehavior.java
@@ -30,9 +30,8 @@ import 
org.danekja.java.util.function.serializable.SerializableConsumer;
  * changed.
  * <p>
  * This behavior uses best available method to track changes on different 
types of form components.
- * To accomplish this for text input form components it uses a custom event, 
named 'inputchange',
- * that is handled in the best way for the specific browser. For other form 
component types the
- * 'change' event is used.
+ * For text input form components it uses event 'input', for other form 
component types the 'change'
+ * event is used.
  * </p>
  * 
  * @author Janne Hietam&auml;ki (janne)
@@ -46,11 +45,9 @@ public abstract class OnChangeAjaxBehavior extends 
AjaxFormComponentUpdatingBeha
        private static final long serialVersionUID = 1L;
 
        /**
-        * 'inputchange' event delegates to 'input', 'keyup', 'cut' and 'paste' 
events
-        * for text input form component depending on the browser.
-        * 'change' is used as a fallback for all other form component types.
+        * 'input' and 'change' used as a fallback for all other form component 
types.
         */
-       public static final String EVENT_NAME = "inputchange change";
+       public static final String EVENT_NAME = "input change";
 
        /**
         * the change event
@@ -72,7 +69,7 @@ public abstract class OnChangeAjaxBehavior extends 
AjaxFormComponentUpdatingBeha
 
                Component component = getComponent();
 
-               // textfiels and textareas will trigger this behavior with 
either 'inputchange' or 'change' events
+               // textfiels and textareas will trigger this behavior with 
either 'input' or 'change' events
                // all the other components will use just 'change'
                if (!(component instanceof TextField || component instanceof 
TextArea))
                {
diff --git 
a/wicket-core/src/main/java/org/apache/wicket/ajax/res/js/wicket-ajax-jquery.js 
b/wicket-core/src/main/java/org/apache/wicket/ajax/res/js/wicket-ajax-jquery.js
index dab6b21..66319bf 100644
--- 
a/wicket-core/src/main/java/org/apache/wicket/ajax/res/js/wicket-ajax-jquery.js
+++ 
b/wicket-core/src/main/java/org/apache/wicket/ajax/res/js/wicket-ajax-jquery.js
@@ -2432,39 +2432,6 @@
 
        jQuery.extend(true, Wicket, {
 
-               Browser: {
-                       _isIE: null,
-                       isIE: function () {
-                               var wb = Wicket.Browser;
-                               if (wb._isIE === null) {
-                                       wb._isIE = (typeof(document.all) !== 
"undefined" || window.navigator.userAgent.indexOf("Trident/")>-1) && 
typeof(window.opera) === "undefined";
-                               }
-                               return wb._isIE;
-                       },
-
-                       _isIEQuirks: null,
-                       isIEQuirks: function () {
-                               var wb = Wicket.Browser;
-                               if (wb._isIEQuirks === null) {
-                                       // is the browser internet explorer in 
quirks mode (we could use document.compatMode too)
-                                       wb._isIEQuirks = Wicket.Browser.isIE() 
&& window.document.documentElement.clientHeight === 0;
-                               }
-                               return wb._isIEQuirks;
-                       },
-
-                       _isIE11: null,
-                       isIE11: function () {
-                               var wb = Wicket.Browser;
-                               if (wb._isIE11 === null) {
-                                       var userAgent = 
window.navigator.userAgent;
-                                       var isTrident = 
userAgent.indexOf("Trident") > -1;
-                                       var is11 = userAgent.indexOf("rv:11") > 
-1;
-                                       wb._isIE11 = isTrident && is11;
-                               }
-                               return wb._isIE11;
-                       }
-               },
-
                /**
                 * Events related code
                 * Based on code from Mootools (http://mootools.net)
@@ -2634,91 +2601,6 @@
                        }
                }
        });
-       /**
-        * A special event that is used to listen for immediate changes in 
input fields.
-        */
-       jQuery.event.special.inputchange = {
-
-               keys : {
-                       BACKSPACE       : 8,
-                       TAB                     : 9,
-                       ENTER           : 13,
-                       ESC                     : 27,
-                       LEFT            : 37,
-                       UP                      : 38,
-                       RIGHT           : 39,
-                       DOWN            : 40,
-                       SHIFT           : 16,
-                       CTRL            : 17,
-                       ALT                     : 18,
-                       END                     : 35,
-                       HOME            : 36
-               },
-
-               keyDownPressed : false,
-
-               setup: function () {
-
-                       if (Wicket.Browser.isIE()) {
-                               // WICKET-5959: IE >= 11 supports "input" 
events, but triggers too often
-                               // to be reliable
-
-                               jQuery(this).on('keydown', function (event) {
-                                       
jQuery.event.special.inputchange.keyDownPressed = true;
-                               });
-
-                               jQuery(this).on("cut paste", function (evt) {
-
-                                       var self = this;
-
-                                       if (false === 
jQuery.event.special.inputchange.keyDownPressed) {
-                                               window.setTimeout(function() {
-                                                       
jQuery.event.special.inputchange.handler.call(self, evt);
-                                               }, 10);
-                                       }
-                               });
-
-                               jQuery(this).on("keyup", function (evt) {
-                                       
jQuery.event.special.inputchange.keyDownPressed = false; // reset
-                                       
jQuery.event.special.inputchange.handler.call(this, evt);
-                               });
-
-                       } else {
-
-                               jQuery(this).on("input", 
jQuery.event.special.inputchange.handler);
-                       }
-               },
-
-               teardown: function() {
-                       jQuery(this).off("input keyup cut paste", 
jQuery.event.special.inputchange.handler);
-               },
-
-               handler: function( evt ) {
-                       var WE = Wicket.Event;
-                       var k = jQuery.event.special.inputchange.keys;
-
-                       var kc = WE.keyCode(WE.fix(evt));
-                       switch (kc) {
-                               case k.ENTER:
-                               case k.UP:
-                               case k.DOWN:
-                               case k.ESC:
-                               case k.TAB:
-                               case k.RIGHT:
-                               case k.LEFT:
-                               case k.SHIFT:
-                               case k.ALT:
-                               case k.CTRL:
-                               case k.HOME:
-                               case k.END:
-                                       return WE.stop(evt);
-                               default:
-                                       evt.type = "inputchange";
-                                       var args = Array.prototype.slice.call( 
arguments, 0 );
-                                       return jQuery(this).trigger(evt.type, 
args);
-                       }
-               }
-       };
 
        // MISC FUNCTIONS
 
diff --git 
a/wicket-core/src/test/java/org/apache/wicket/ajax/form/OnChangeAjaxBehaviorTest.java
 
b/wicket-core/src/test/java/org/apache/wicket/ajax/form/OnChangeAjaxBehaviorTest.java
index 61ac5cb..b3bc3c1 100644
--- 
a/wicket-core/src/test/java/org/apache/wicket/ajax/form/OnChangeAjaxBehaviorTest.java
+++ 
b/wicket-core/src/test/java/org/apache/wicket/ajax/form/OnChangeAjaxBehaviorTest.java
@@ -54,7 +54,7 @@ class OnChangeAjaxBehaviorTest extends WicketTestCase
                tester.assertLabel("message",
                        "If you see this message wicket is properly configured 
and running");
 
-               tester.executeAjaxEvent("form:select", "inputchange change");
+               tester.executeAjaxEvent("form:select", "input change");
 
                // assert rendered page class
                tester.assertRenderedPage(ThirdPage.class);
diff --git 
a/wicket-core/src/test/java/org/apache/wicket/ajax/form/OnChangeAjaxBehaviorTestPage_expected.html
 
b/wicket-core/src/test/java/org/apache/wicket/ajax/form/OnChangeAjaxBehaviorTestPage_expected.html
index e5ced2e..dd634cd 100644
--- 
a/wicket-core/src/test/java/org/apache/wicket/ajax/form/OnChangeAjaxBehaviorTestPage_expected.html
+++ 
b/wicket-core/src/test/java/org/apache/wicket/ajax/form/OnChangeAjaxBehaviorTestPage_expected.html
@@ -14,7 +14,7 @@ 
Wicket.Ajax.baseUrl="wicket/bookmarkable/org.apache.wicket.ajax.form.OnChangeAja
 <script type="text/javascript" >
 /*<![CDATA[*/
 Wicket.Event.add(window, "domready", function(event) { 
-Wicket.Ajax.ajax({"u":"./org.apache.wicket.ajax.form.OnChangeAjaxBehaviorTestPage?0-1.0-form-field","m":"POST","c":"field1","e":"inputchange
 change"});;
+Wicket.Ajax.ajax({"u":"./org.apache.wicket.ajax.form.OnChangeAjaxBehaviorTestPage?0-1.0-form-field","m":"POST","c":"field1","e":"input
 change"});;
 
Wicket.Ajax.ajax({"u":"./org.apache.wicket.ajax.form.OnChangeAjaxBehaviorTestPage?0-1.0-form-dropDown","m":"POST","c":"dropDown2","e":"change"});;
 Wicket.Event.publish(Wicket.Event.Topic.AJAX_HANDLERS_BOUND);
 ;});
diff --git a/wicket-core/src/test/js/all.html b/wicket-core/src/test/js/all.html
index f80bf89..d22e5a9 100644
--- a/wicket-core/src/test/js/all.html
+++ b/wicket-core/src/test/js/all.html
@@ -181,8 +181,6 @@
 
                <div id="usedAsContextWicket5025"></div>
 
-               <input type="text" id="inputChangeInput">
-
                <div id="ajaxIndicator"></div>
        </div>
 </body>
diff --git a/wicket-core/src/test/js/event.js b/wicket-core/src/test/js/event.js
index 25bb050..f611310 100644
--- a/wicket-core/src/test/js/event.js
+++ b/wicket-core/src/test/js/event.js
@@ -322,22 +322,4 @@ jQuery(document).ready(function() {
                Wicket.Event.publish('topicName1', "arg1", "arg2");
                Wicket.Event.publish('topicName2', "arg1", "arg2");
        });
-
-       module("Custom events");
-
-       test('inputchange', function() {
-
-               stop();
-
-               expect(1);
-
-               var $input = jQuery("#inputChangeInput");
-               $input.on("inputchange", function() {
-                       ok(true, "inputchange event is triggered!");
-               });
-
-               $input.trigger("input");
-               
-               start();
-       });
 });

Reply via email to