When typing "test" pretty fast into textfield id=nameFilter the result is 
wrong. I am typical getting "DEBUG nameFilter: te" (sometimes just "t"). The 
grid data corresponds to the nameFilter output.

The output from  getNamefilterDebug() is always:
getNamefilterDebug: t
getNamefilterDebug: te
getNamefilterDebug: tes
getNamefilterDebug: test



<t:form t:id="nameFilterForm" id="nameFilterForm" async="true" autofocus="true" 
style="display:flex;align-items: center;">
    <t:label for="nameFilter">Name:</t:label>
    <t:textfield t:id="nameFilter" oninput="$(this).closest('form').submit()" 
style="vertical-align: top" value="nameFilter" autocomplete="off"/>
    <t:zone t:id="destinationCountZone">${destinationBeans.size()}</t:zone>
</t:form>

<t:zone t:id="destinationTableZone">
    DEBUG nameFilter: ${namefilterDebug}

    <t:grid renderTableIfEmpty="true" style="width:auto" 
source="destinationBeans" rowClass="prop:rowClass" class="table table-hover 
table-bordered" t:row="destinationBean" model="model" rowsPerPage="1000" 
t:pagerPosition="top">


void onSubmitFromNameFilterForm() {
    applyFilter();
    ajaxResponseRenderer.addRender(destinationTableZone);
}


public String getNamefilterDebug() {
    System.err.format("getNamefilterDebug: %s%n",nameFilter);
    return nameFilter;
}


When using JavaScript/React I just call XMLHttpRequest.abort() for all ongoing 
XHR's.


I cannot figure out how to do this in Tapestry 5.4.4. I was looking for 
AjaxResponseRenderer addRender(ClientBodyElement zone, abortPrevious);

S-E



Reply via email to