Mercurial > p > roundup > code
view share/roundup/templates/devel/html/query.js @ 8040:19cef1e285b0
fix: remove delay when using csv export actions.
The CSV file is written incrementally, so we can't determine the
Content-Length. When using HTTP/1.1, this causes a delay while the
browser waits for a timeout. Forcing the connection to close after
the CSV file is written removes the delay.
Ideally we should shift to chunked transfer encoding for these two
actions, but that is much more invasive and when posting a request for
CSV, it is unlikely that another request will be sent over the same
socket.
| author | John Rouillard <rouilj@ieee.org> |
|---|---|
| date | Tue, 18 Jun 2024 00:48:06 -0400 |
| parents | 04264349c483 |
| children |
line wrap: on
line source
var action; function display(data) { var list = $("div.list"); list.empty(); list.append(data); } // Run a query with a specific starting point and size function query_start(start, size) { var inputs = $(":input"); var data = {} if (start > 0) data['@startwith'] = start if (size > -1) data['@pagesize'] = size for (var i = 0; i < inputs.length; i++) data[inputs[i].name] = inputs[i].value; jQuery.get(action, data, display); return false; } // Run a query, starting at the first element function query() { return query_start(0, -1) } // Deactivate the form's submit action, and instead // invoke the action as part of (inline) query. function replace_submit() { var form = $("form"); action = form.attr("action"); form.attr("action",""); // reset form.submit(query); } $(document).ready(replace_submit);
