Re: AutoCompleteTextField and change AjaxFormComponentUpdatingBehavior
I'm not sure we understand each other. Such a behavior is already there using AjaxFormComponentUpdatingBehavior ("change"). This way ajax is triggered ONLY when value is selected from choices (either by mouse or by keyboard). = exactly what I want. I tested this in small prototype and it works just fine. My issue is that this doesn't work in our business app so I am trying to find why this works in prototype app but not in business app (as I mentioned both use wicket-core and wicket-extensions 7.0.0). What I found out is that in both cases (prototype and business app) the event in line 178 in wicket-autocomplete.js is invoked as expected. The issue is that business app does no ajax call after that. To summarize all I would like is some help with JS debugging since I am java-dev and js-noob :( On Thu, Jan 21, 2016 at 10:35 AM, Martin Grigorovwrote: > OK. I understand now. > Looking at wicket-autocomplete.js I see that it triggers "change" event > after click on an entry. > To support use cases like yours it has to trigger some custom event too, > e.g. "itemselected.wa" ("wa" is a sample namespace for > wicket-autocomplete). The you can use > AjaxFormComponentUpdatingBehavior("itemselected.wa"). > Please create a ticket in our JIRA! > > Martin Grigorov > Wicket Training and Consulting > https://twitter.com/mtgrigorov > > On Thu, Jan 21, 2016 at 10:27 AM, Zbynek Vavros > wrote: > > > What I mean by final value is value selected from list of options. > > The OnChangeAjaxBehavior you suggested will do ajax on every key stroke. > > So lets say my autocomplete display list of cities. > > I want the method called when user selects a value "London" from list. > > Not on each stoke "L", "Lo", "Lon"... > > > > As I said, this is because I need to use the selected value for > additional > > processing. > > > > On Thu, Jan 21, 2016 at 9:56 AM, Martin Grigorov > > wrote: > > > > > Hi, > > > > > > How do you decide when "final" value is entered ? > > > You can use Ajax throttling to avoid sending requests on every typed > > > character but only after N ms after the last typed character. See > > > AjaxRequestAttributes#setThrottling() for this option. > > > There is no magic that will read your users' mind to tell whether an > > > entered value is final or not. > > > > > > Martin Grigorov > > > Wicket Training and Consulting > > > https://twitter.com/mtgrigorov > > > > > > On Thu, Jan 21, 2016 at 9:48 AM, Zbynek Vavros > > > > wrote: > > > > > > > Hey, > > > > > > > > sorry for not explaining properly... > > > > I already tried that and in this case the the ajax call is triggered > > > > on "inputchange" as well, meaning on every key stroke. > > > > > > > > This is not desirable because we use the value of this autocomplete > > field > > > > to calculate value of another fields in form. This calculation should > > > > happen only > > > > when "final" value is selected. > > > > > > > > Zbynek > > > > > > > > On Thu, Jan 21, 2016 at 9:27 AM, Martin Grigorov < > mgrigo...@apache.org > > > > > > > wrote: > > > > > > > > > Hi, > > > > > > > > > > It is not very clear what exactly is the issue. > > > > > As far as I understand the problem is that the Ajax call is > triggered > > > > only > > > > > when you navigate to another form field. If this is the issue then > > try > > > by > > > > > using OnChangeAjaxBehavior instead of > > > AjaxFormComponentUpdatingBehavior. > > > > > > > > > > Martin Grigorov > > > > > Wicket Training and Consulting > > > > > https://twitter.com/mtgrigorov > > > > > > > > > > On Wed, Jan 20, 2016 at 2:44 PM, Zbynek Vavros < > > zbynekvav...@gmail.com > > > > > > > > > wrote: > > > > > > > > > > > Hi, > > > > > > > > > > > > in our project we have an AutoCompleteTextField with > > > > > > AjaxFormComponentUpdatingBehavior ("change" event) attached. > > > > > > > > > > > > Small prototype I did proves that HTTP POST is done when an item > is > > > > > > selected from choices (either by mouse or keyboard). But for some > > > > reason > > > > > > the same code doesn't work in our project. It is required to move > > > focus > > > > > to > > > > > > another component for the POST to be send. The behavior works > like > > if > > > > > > "blur" type of event is set but there is "change". > > > > > > > > > > > > I'm quite new to Wicket so I tried to compare all HTML & JS files > > but > > > > > they > > > > > > all seem to be the same. > > > > > > Is there some other debug I can use to find what is going on (I > > > suspect > > > > > > something in JS but JS isn't my specialty) ? > > > > > > > > > > > > > > > > > > Oh and both wicket-core and wicket-extension is 7.0.0. > > > > > > > > > > > > Thanks, > > > > > > Zbynek > > > > > > > > > > > > > > > > > > > > >
Re: AutoCompleteTextField and change AjaxFormComponentUpdatingBehavior
At the moment wicket-autocomplete.js triggers event with name "change": https://github.com/apache/wicket/blob/580d92ddf068040214669c085f54d2faa702a921/wicket-extensions/src/main/java/org/apache/wicket/extensions/ajax/markup/html/autocomplete/wicket-autocomplete.js#L446 This makes it hard for the application to know whether this is a normal change event for the or the manually triggered from selection from the dropdown. I am not sure how it works for the simple app. I have to try it to see what happens. Martin Grigorov Wicket Training and Consulting https://twitter.com/mtgrigorov On Thu, Jan 21, 2016 at 11:47 AM, Zbynek Vavroswrote: > I'm not sure we understand each other. > Such a behavior is already there using AjaxFormComponentUpdatingBehavior > ("change"). > This way ajax is triggered ONLY when value is selected from choices (either > by mouse or by keyboard). > = exactly what I want. > > I tested this in small prototype and it works just fine. > > My issue is that this doesn't work in our business app so I am trying to > find why this works in prototype app > but not in business app (as I mentioned both use wicket-core and > wicket-extensions 7.0.0). > > What I found out is that in both cases (prototype and business app) > the event in line 178 in wicket-autocomplete.js is invoked as expected. The > issue is that business app does no ajax call after that. > > To summarize all I would like is some help with JS debugging since I am > java-dev and js-noob :( > > On Thu, Jan 21, 2016 at 10:35 AM, Martin Grigorov > wrote: > > > OK. I understand now. > > Looking at wicket-autocomplete.js I see that it triggers "change" event > > after click on an entry. > > To support use cases like yours it has to trigger some custom event too, > > e.g. "itemselected.wa" ("wa" is a sample namespace for > > wicket-autocomplete). The you can use > > AjaxFormComponentUpdatingBehavior("itemselected.wa"). > > Please create a ticket in our JIRA! > > > > Martin Grigorov > > Wicket Training and Consulting > > https://twitter.com/mtgrigorov > > > > On Thu, Jan 21, 2016 at 10:27 AM, Zbynek Vavros > > wrote: > > > > > What I mean by final value is value selected from list of options. > > > The OnChangeAjaxBehavior you suggested will do ajax on every key > stroke. > > > So lets say my autocomplete display list of cities. > > > I want the method called when user selects a value "London" from list. > > > Not on each stoke "L", "Lo", "Lon"... > > > > > > As I said, this is because I need to use the selected value for > > additional > > > processing. > > > > > > On Thu, Jan 21, 2016 at 9:56 AM, Martin Grigorov > > > > wrote: > > > > > > > Hi, > > > > > > > > How do you decide when "final" value is entered ? > > > > You can use Ajax throttling to avoid sending requests on every typed > > > > character but only after N ms after the last typed character. See > > > > AjaxRequestAttributes#setThrottling() for this option. > > > > There is no magic that will read your users' mind to tell whether an > > > > entered value is final or not. > > > > > > > > Martin Grigorov > > > > Wicket Training and Consulting > > > > https://twitter.com/mtgrigorov > > > > > > > > On Thu, Jan 21, 2016 at 9:48 AM, Zbynek Vavros < > zbynekvav...@gmail.com > > > > > > > wrote: > > > > > > > > > Hey, > > > > > > > > > > sorry for not explaining properly... > > > > > I already tried that and in this case the the ajax call is > triggered > > > > > on "inputchange" as well, meaning on every key stroke. > > > > > > > > > > This is not desirable because we use the value of this autocomplete > > > field > > > > > to calculate value of another fields in form. This calculation > should > > > > > happen only > > > > > when "final" value is selected. > > > > > > > > > > Zbynek > > > > > > > > > > On Thu, Jan 21, 2016 at 9:27 AM, Martin Grigorov < > > mgrigo...@apache.org > > > > > > > > > wrote: > > > > > > > > > > > Hi, > > > > > > > > > > > > It is not very clear what exactly is the issue. > > > > > > As far as I understand the problem is that the Ajax call is > > triggered > > > > > only > > > > > > when you navigate to another form field. If this is the issue > then > > > try > > > > by > > > > > > using OnChangeAjaxBehavior instead of > > > > AjaxFormComponentUpdatingBehavior. > > > > > > > > > > > > Martin Grigorov > > > > > > Wicket Training and Consulting > > > > > > https://twitter.com/mtgrigorov > > > > > > > > > > > > On Wed, Jan 20, 2016 at 2:44 PM, Zbynek Vavros < > > > zbynekvav...@gmail.com > > > > > > > > > > > wrote: > > > > > > > > > > > > > Hi, > > > > > > > > > > > > > > in our project we have an AutoCompleteTextField with > > > > > > > AjaxFormComponentUpdatingBehavior ("change" event) attached. > > > > > > > > > > > > > > Small prototype I did proves that HTTP POST is done when an > item > > is > > > > > > > selected from choices (either by mouse or
Re: AutoCompleteTextField and change AjaxFormComponentUpdatingBehavior
Hi, wicket-autocomplete.js surpresses the "change" event while you operate on the drop down. When it decides that your selection has finished (e.g. the drop down is hidden), the "change" event is triggered subsequently. The AjaxFormComponentUpdatingBehavior will pick up the "change" event and do an Ajax request as usual. Hope this helps Sven On 21.01.2016 12:00, Zbynek Vavros wrote: I was s afraid of that :D Just out of curiosity, I see in wicket-autocomplete.js that the onchange event sets "triggerChangeOnHide" to true. How is this handled afterwards ? I mean how does it get from here to calling the ajax ? Thanks! On Thu, Jan 21, 2016 at 11:50 AM, Sven Meierwrote: Hi, well, it seems you'll have to strip down your business app until it works as expected :P Have fun Sven On 21.01.2016 11:47, Zbynek Vavros wrote: I'm not sure we understand each other. Such a behavior is already there using AjaxFormComponentUpdatingBehavior ("change"). This way ajax is triggered ONLY when value is selected from choices (either by mouse or by keyboard). = exactly what I want. I tested this in small prototype and it works just fine. My issue is that this doesn't work in our business app so I am trying to find why this works in prototype app but not in business app (as I mentioned both use wicket-core and wicket-extensions 7.0.0). What I found out is that in both cases (prototype and business app) the event in line 178 in wicket-autocomplete.js is invoked as expected. The issue is that business app does no ajax call after that. To summarize all I would like is some help with JS debugging since I am java-dev and js-noob :( On Thu, Jan 21, 2016 at 10:35 AM, Martin Grigorov wrote: OK. I understand now. Looking at wicket-autocomplete.js I see that it triggers "change" event after click on an entry. To support use cases like yours it has to trigger some custom event too, e.g. "itemselected.wa" ("wa" is a sample namespace for wicket-autocomplete). The you can use AjaxFormComponentUpdatingBehavior("itemselected.wa"). Please create a ticket in our JIRA! Martin Grigorov Wicket Training and Consulting https://twitter.com/mtgrigorov On Thu, Jan 21, 2016 at 10:27 AM, Zbynek Vavros wrote: What I mean by final value is value selected from list of options. The OnChangeAjaxBehavior you suggested will do ajax on every key stroke. So lets say my autocomplete display list of cities. I want the method called when user selects a value "London" from list. Not on each stoke "L", "Lo", "Lon"... As I said, this is because I need to use the selected value for additional processing. On Thu, Jan 21, 2016 at 9:56 AM, Martin Grigorov wrote: Hi, How do you decide when "final" value is entered ? You can use Ajax throttling to avoid sending requests on every typed character but only after N ms after the last typed character. See AjaxRequestAttributes#setThrottling() for this option. There is no magic that will read your users' mind to tell whether an entered value is final or not. Martin Grigorov Wicket Training and Consulting https://twitter.com/mtgrigorov On Thu, Jan 21, 2016 at 9:48 AM, Zbynek Vavros
Re: AutoCompleteTextField and change AjaxFormComponentUpdatingBehavior
I was s afraid of that :D Just out of curiosity, I see in wicket-autocomplete.js that the onchange event sets "triggerChangeOnHide" to true. How is this handled afterwards ? I mean how does it get from here to calling the ajax ? Thanks! On Thu, Jan 21, 2016 at 11:50 AM, Sven Meierwrote: > Hi, > > well, it seems you'll have to strip down your business app until it works > as expected :P > > Have fun > Sven > > > On 21.01.2016 11:47, Zbynek Vavros wrote: > >> I'm not sure we understand each other. >> Such a behavior is already there using AjaxFormComponentUpdatingBehavior >> ("change"). >> This way ajax is triggered ONLY when value is selected from choices >> (either >> by mouse or by keyboard). >> = exactly what I want. >> >> I tested this in small prototype and it works just fine. >> >> My issue is that this doesn't work in our business app so I am trying to >> find why this works in prototype app >> but not in business app (as I mentioned both use wicket-core and >> wicket-extensions 7.0.0). >> >> What I found out is that in both cases (prototype and business app) >> the event in line 178 in wicket-autocomplete.js is invoked as expected. >> The >> issue is that business app does no ajax call after that. >> >> To summarize all I would like is some help with JS debugging since I am >> java-dev and js-noob :( >> >> On Thu, Jan 21, 2016 at 10:35 AM, Martin Grigorov >> wrote: >> >> OK. I understand now. >>> Looking at wicket-autocomplete.js I see that it triggers "change" event >>> after click on an entry. >>> To support use cases like yours it has to trigger some custom event too, >>> e.g. "itemselected.wa" ("wa" is a sample namespace for >>> wicket-autocomplete). The you can use >>> AjaxFormComponentUpdatingBehavior("itemselected.wa"). >>> Please create a ticket in our JIRA! >>> >>> Martin Grigorov >>> Wicket Training and Consulting >>> https://twitter.com/mtgrigorov >>> >>> On Thu, Jan 21, 2016 at 10:27 AM, Zbynek Vavros >>> wrote: >>> >>> What I mean by final value is value selected from list of options. The OnChangeAjaxBehavior you suggested will do ajax on every key stroke. So lets say my autocomplete display list of cities. I want the method called when user selects a value "London" from list. Not on each stoke "L", "Lo", "Lon"... As I said, this is because I need to use the selected value for >>> additional >>> processing. On Thu, Jan 21, 2016 at 9:56 AM, Martin Grigorov wrote: Hi, > > How do you decide when "final" value is entered ? > You can use Ajax throttling to avoid sending requests on every typed > character but only after N ms after the last typed character. See > AjaxRequestAttributes#setThrottling() for this option. > There is no magic that will read your users' mind to tell whether an > entered value is final or not. > > Martin Grigorov > Wicket Training and Consulting > https://twitter.com/mtgrigorov > > On Thu, Jan 21, 2016 at 9:48 AM, Zbynek Vavros wrote: > > Hey, >> >> sorry for not explaining properly... >> I already tried that and in this case the the ajax call is triggered >> on "inputchange" as well, meaning on every key stroke. >> >> This is not desirable because we use the value of this autocomplete >> > field > to calculate value of another fields in form. This calculation should >> happen only >> when "final" value is selected. >> >> Zbynek >> >> On Thu, Jan 21, 2016 at 9:27 AM, Martin Grigorov < >> > mgrigo...@apache.org >>> wrote: >> >> Hi, >>> >>> It is not very clear what exactly is the issue. >>> As far as I understand the problem is that the Ajax call is >>> >> triggered >>> only >> >>> when you navigate to another form field. If this is the issue then >>> >> try > by > >> using OnChangeAjaxBehavior instead of >>> >> AjaxFormComponentUpdatingBehavior. > >> Martin Grigorov >>> Wicket Training and Consulting >>> https://twitter.com/mtgrigorov >>> >>> On Wed, Jan 20, 2016 at 2:44 PM, Zbynek Vavros < >>> >> zbynekvav...@gmail.com > wrote: >>> >>> Hi, in our project we have an AutoCompleteTextField with AjaxFormComponentUpdatingBehavior ("change" event) attached. Small prototype I did proves that HTTP POST is done when an item >>> is >>> selected from choices (either by mouse or keyboard). But for some >>> reason >> >>> the same code doesn't work in our project. It is required to move >>> focus > >> to >>> another component for the POST to be send. The behavior works >>> like >>> if >
Re: AutoCompleteTextField and change AjaxFormComponentUpdatingBehavior
Hi, well, it seems you'll have to strip down your business app until it works as expected :P Have fun Sven On 21.01.2016 11:47, Zbynek Vavros wrote: I'm not sure we understand each other. Such a behavior is already there using AjaxFormComponentUpdatingBehavior ("change"). This way ajax is triggered ONLY when value is selected from choices (either by mouse or by keyboard). = exactly what I want. I tested this in small prototype and it works just fine. My issue is that this doesn't work in our business app so I am trying to find why this works in prototype app but not in business app (as I mentioned both use wicket-core and wicket-extensions 7.0.0). What I found out is that in both cases (prototype and business app) the event in line 178 in wicket-autocomplete.js is invoked as expected. The issue is that business app does no ajax call after that. To summarize all I would like is some help with JS debugging since I am java-dev and js-noob :( On Thu, Jan 21, 2016 at 10:35 AM, Martin Grigorovwrote: OK. I understand now. Looking at wicket-autocomplete.js I see that it triggers "change" event after click on an entry. To support use cases like yours it has to trigger some custom event too, e.g. "itemselected.wa" ("wa" is a sample namespace for wicket-autocomplete). The you can use AjaxFormComponentUpdatingBehavior("itemselected.wa"). Please create a ticket in our JIRA! Martin Grigorov Wicket Training and Consulting https://twitter.com/mtgrigorov On Thu, Jan 21, 2016 at 10:27 AM, Zbynek Vavros wrote: What I mean by final value is value selected from list of options. The OnChangeAjaxBehavior you suggested will do ajax on every key stroke. So lets say my autocomplete display list of cities. I want the method called when user selects a value "London" from list. Not on each stoke "L", "Lo", "Lon"... As I said, this is because I need to use the selected value for additional processing. On Thu, Jan 21, 2016 at 9:56 AM, Martin Grigorov wrote: Hi, How do you decide when "final" value is entered ? You can use Ajax throttling to avoid sending requests on every typed character but only after N ms after the last typed character. See AjaxRequestAttributes#setThrottling() for this option. There is no magic that will read your users' mind to tell whether an entered value is final or not. Martin Grigorov Wicket Training and Consulting https://twitter.com/mtgrigorov On Thu, Jan 21, 2016 at 9:48 AM, Zbynek Vavros
Re: AutoCompleteTextField and change AjaxFormComponentUpdatingBehavior
What I mean by final value is value selected from list of options. The OnChangeAjaxBehavior you suggested will do ajax on every key stroke. So lets say my autocomplete display list of cities. I want the method called when user selects a value "London" from list. Not on each stoke "L", "Lo", "Lon"... As I said, this is because I need to use the selected value for additional processing. On Thu, Jan 21, 2016 at 9:56 AM, Martin Grigorovwrote: > Hi, > > How do you decide when "final" value is entered ? > You can use Ajax throttling to avoid sending requests on every typed > character but only after N ms after the last typed character. See > AjaxRequestAttributes#setThrottling() for this option. > There is no magic that will read your users' mind to tell whether an > entered value is final or not. > > Martin Grigorov > Wicket Training and Consulting > https://twitter.com/mtgrigorov > > On Thu, Jan 21, 2016 at 9:48 AM, Zbynek Vavros > wrote: > > > Hey, > > > > sorry for not explaining properly... > > I already tried that and in this case the the ajax call is triggered > > on "inputchange" as well, meaning on every key stroke. > > > > This is not desirable because we use the value of this autocomplete field > > to calculate value of another fields in form. This calculation should > > happen only > > when "final" value is selected. > > > > Zbynek > > > > On Thu, Jan 21, 2016 at 9:27 AM, Martin Grigorov > > wrote: > > > > > Hi, > > > > > > It is not very clear what exactly is the issue. > > > As far as I understand the problem is that the Ajax call is triggered > > only > > > when you navigate to another form field. If this is the issue then try > by > > > using OnChangeAjaxBehavior instead of > AjaxFormComponentUpdatingBehavior. > > > > > > Martin Grigorov > > > Wicket Training and Consulting > > > https://twitter.com/mtgrigorov > > > > > > On Wed, Jan 20, 2016 at 2:44 PM, Zbynek Vavros > > > > wrote: > > > > > > > Hi, > > > > > > > > in our project we have an AutoCompleteTextField with > > > > AjaxFormComponentUpdatingBehavior ("change" event) attached. > > > > > > > > Small prototype I did proves that HTTP POST is done when an item is > > > > selected from choices (either by mouse or keyboard). But for some > > reason > > > > the same code doesn't work in our project. It is required to move > focus > > > to > > > > another component for the POST to be send. The behavior works like if > > > > "blur" type of event is set but there is "change". > > > > > > > > I'm quite new to Wicket so I tried to compare all HTML & JS files but > > > they > > > > all seem to be the same. > > > > Is there some other debug I can use to find what is going on (I > suspect > > > > something in JS but JS isn't my specialty) ? > > > > > > > > > > > > Oh and both wicket-core and wicket-extension is 7.0.0. > > > > > > > > Thanks, > > > > Zbynek > > > > > > > > > >
Re: AutoCompleteTextField and change AjaxFormComponentUpdatingBehavior
Hi, How do you decide when "final" value is entered ? You can use Ajax throttling to avoid sending requests on every typed character but only after N ms after the last typed character. See AjaxRequestAttributes#setThrottling() for this option. There is no magic that will read your users' mind to tell whether an entered value is final or not. Martin Grigorov Wicket Training and Consulting https://twitter.com/mtgrigorov On Thu, Jan 21, 2016 at 9:48 AM, Zbynek Vavroswrote: > Hey, > > sorry for not explaining properly... > I already tried that and in this case the the ajax call is triggered > on "inputchange" as well, meaning on every key stroke. > > This is not desirable because we use the value of this autocomplete field > to calculate value of another fields in form. This calculation should > happen only > when "final" value is selected. > > Zbynek > > On Thu, Jan 21, 2016 at 9:27 AM, Martin Grigorov > wrote: > > > Hi, > > > > It is not very clear what exactly is the issue. > > As far as I understand the problem is that the Ajax call is triggered > only > > when you navigate to another form field. If this is the issue then try by > > using OnChangeAjaxBehavior instead of AjaxFormComponentUpdatingBehavior. > > > > Martin Grigorov > > Wicket Training and Consulting > > https://twitter.com/mtgrigorov > > > > On Wed, Jan 20, 2016 at 2:44 PM, Zbynek Vavros > > wrote: > > > > > Hi, > > > > > > in our project we have an AutoCompleteTextField with > > > AjaxFormComponentUpdatingBehavior ("change" event) attached. > > > > > > Small prototype I did proves that HTTP POST is done when an item is > > > selected from choices (either by mouse or keyboard). But for some > reason > > > the same code doesn't work in our project. It is required to move focus > > to > > > another component for the POST to be send. The behavior works like if > > > "blur" type of event is set but there is "change". > > > > > > I'm quite new to Wicket so I tried to compare all HTML & JS files but > > they > > > all seem to be the same. > > > Is there some other debug I can use to find what is going on (I suspect > > > something in JS but JS isn't my specialty) ? > > > > > > > > > Oh and both wicket-core and wicket-extension is 7.0.0. > > > > > > Thanks, > > > Zbynek > > > > > >
Re: AutoCompleteTextField and change AjaxFormComponentUpdatingBehavior
OK. I understand now. Looking at wicket-autocomplete.js I see that it triggers "change" event after click on an entry. To support use cases like yours it has to trigger some custom event too, e.g. "itemselected.wa" ("wa" is a sample namespace for wicket-autocomplete). The you can use AjaxFormComponentUpdatingBehavior("itemselected.wa"). Please create a ticket in our JIRA! Martin Grigorov Wicket Training and Consulting https://twitter.com/mtgrigorov On Thu, Jan 21, 2016 at 10:27 AM, Zbynek Vavroswrote: > What I mean by final value is value selected from list of options. > The OnChangeAjaxBehavior you suggested will do ajax on every key stroke. > So lets say my autocomplete display list of cities. > I want the method called when user selects a value "London" from list. > Not on each stoke "L", "Lo", "Lon"... > > As I said, this is because I need to use the selected value for additional > processing. > > On Thu, Jan 21, 2016 at 9:56 AM, Martin Grigorov > wrote: > > > Hi, > > > > How do you decide when "final" value is entered ? > > You can use Ajax throttling to avoid sending requests on every typed > > character but only after N ms after the last typed character. See > > AjaxRequestAttributes#setThrottling() for this option. > > There is no magic that will read your users' mind to tell whether an > > entered value is final or not. > > > > Martin Grigorov > > Wicket Training and Consulting > > https://twitter.com/mtgrigorov > > > > On Thu, Jan 21, 2016 at 9:48 AM, Zbynek Vavros > > wrote: > > > > > Hey, > > > > > > sorry for not explaining properly... > > > I already tried that and in this case the the ajax call is triggered > > > on "inputchange" as well, meaning on every key stroke. > > > > > > This is not desirable because we use the value of this autocomplete > field > > > to calculate value of another fields in form. This calculation should > > > happen only > > > when "final" value is selected. > > > > > > Zbynek > > > > > > On Thu, Jan 21, 2016 at 9:27 AM, Martin Grigorov > > > > wrote: > > > > > > > Hi, > > > > > > > > It is not very clear what exactly is the issue. > > > > As far as I understand the problem is that the Ajax call is triggered > > > only > > > > when you navigate to another form field. If this is the issue then > try > > by > > > > using OnChangeAjaxBehavior instead of > > AjaxFormComponentUpdatingBehavior. > > > > > > > > Martin Grigorov > > > > Wicket Training and Consulting > > > > https://twitter.com/mtgrigorov > > > > > > > > On Wed, Jan 20, 2016 at 2:44 PM, Zbynek Vavros < > zbynekvav...@gmail.com > > > > > > > wrote: > > > > > > > > > Hi, > > > > > > > > > > in our project we have an AutoCompleteTextField with > > > > > AjaxFormComponentUpdatingBehavior ("change" event) attached. > > > > > > > > > > Small prototype I did proves that HTTP POST is done when an item is > > > > > selected from choices (either by mouse or keyboard). But for some > > > reason > > > > > the same code doesn't work in our project. It is required to move > > focus > > > > to > > > > > another component for the POST to be send. The behavior works like > if > > > > > "blur" type of event is set but there is "change". > > > > > > > > > > I'm quite new to Wicket so I tried to compare all HTML & JS files > but > > > > they > > > > > all seem to be the same. > > > > > Is there some other debug I can use to find what is going on (I > > suspect > > > > > something in JS but JS isn't my specialty) ? > > > > > > > > > > > > > > > Oh and both wicket-core and wicket-extension is 7.0.0. > > > > > > > > > > Thanks, > > > > > Zbynek > > > > > > > > > > > > > > >
Re: AutoCompleteTextField and change AjaxFormComponentUpdatingBehavior
Hey, sorry for not explaining properly... I already tried that and in this case the the ajax call is triggered on "inputchange" as well, meaning on every key stroke. This is not desirable because we use the value of this autocomplete field to calculate value of another fields in form. This calculation should happen only when "final" value is selected. Zbynek On Thu, Jan 21, 2016 at 9:27 AM, Martin Grigorovwrote: > Hi, > > It is not very clear what exactly is the issue. > As far as I understand the problem is that the Ajax call is triggered only > when you navigate to another form field. If this is the issue then try by > using OnChangeAjaxBehavior instead of AjaxFormComponentUpdatingBehavior. > > Martin Grigorov > Wicket Training and Consulting > https://twitter.com/mtgrigorov > > On Wed, Jan 20, 2016 at 2:44 PM, Zbynek Vavros > wrote: > > > Hi, > > > > in our project we have an AutoCompleteTextField with > > AjaxFormComponentUpdatingBehavior ("change" event) attached. > > > > Small prototype I did proves that HTTP POST is done when an item is > > selected from choices (either by mouse or keyboard). But for some reason > > the same code doesn't work in our project. It is required to move focus > to > > another component for the POST to be send. The behavior works like if > > "blur" type of event is set but there is "change". > > > > I'm quite new to Wicket so I tried to compare all HTML & JS files but > they > > all seem to be the same. > > Is there some other debug I can use to find what is going on (I suspect > > something in JS but JS isn't my specialty) ? > > > > > > Oh and both wicket-core and wicket-extension is 7.0.0. > > > > Thanks, > > Zbynek > > >
Re: AutoCompleteTextField and change AjaxFormComponentUpdatingBehavior
Hi, It is not very clear what exactly is the issue. As far as I understand the problem is that the Ajax call is triggered only when you navigate to another form field. If this is the issue then try by using OnChangeAjaxBehavior instead of AjaxFormComponentUpdatingBehavior. Martin Grigorov Wicket Training and Consulting https://twitter.com/mtgrigorov On Wed, Jan 20, 2016 at 2:44 PM, Zbynek Vavroswrote: > Hi, > > in our project we have an AutoCompleteTextField with > AjaxFormComponentUpdatingBehavior ("change" event) attached. > > Small prototype I did proves that HTTP POST is done when an item is > selected from choices (either by mouse or keyboard). But for some reason > the same code doesn't work in our project. It is required to move focus to > another component for the POST to be send. The behavior works like if > "blur" type of event is set but there is "change". > > I'm quite new to Wicket so I tried to compare all HTML & JS files but they > all seem to be the same. > Is there some other debug I can use to find what is going on (I suspect > something in JS but JS isn't my specialty) ? > > > Oh and both wicket-core and wicket-extension is 7.0.0. > > Thanks, > Zbynek >