Bug 41058: Assign timeout id when delaying issues table load
When AlwaysLoadCheckoutsTable is enabled and a delay is configured,
we were calling setTimeout without capturing the returned id, despite a
`loadIssuesTableDelayTimeoutId` variable already being declared and targetted
by clearTimeout. This prevented the "Load now" button from properly clearing
the pending timeout.
Test plan:
1. Configure a delay (LoadCheckoutsTableDelay > 0) so checkouts table
loads after N seconds.
2. Go to a patron’s checkouts page.
3. Before the delay completes, click "Load now".
- Without this patch: an alert window will display a "Something went wrong
when loading the table" error once the timeout triggers.
- With this patch: the pending timeout is cleared; the table loads
immediately only once.
4. Reload the page with the delay set; wait for the timeout to elapse
and confirm the table loads normally.
Signed-off-by: Mike Grgurev <mike.grgurev@mainlib.org>
Signed-off-by: David Nind <david@davidnind.com>
Signed-off-by: Lucas Gass <lucas@bywatersolutions.com>
This commit is contained in:
parent
ea16d2288d
commit
c8800512ab
|
|
@ -751,7 +751,7 @@ var barcodefield = $("#barcode");
|
|||
|
||||
if (AlwaysLoadCheckoutsTable) {
|
||||
if (LoadCheckoutsTableDelay) {
|
||||
setTimeout(function () {
|
||||
loadIssuesTableDelayTimeoutId = setTimeout(function () {
|
||||
LoadIssuesTable();
|
||||
}, LoadCheckoutsTableDelay * 1000);
|
||||
} else {
|
||||
|
|
@ -774,7 +774,7 @@ if (AlwaysLoadCheckoutsTable) {
|
|||
|
||||
if (Cookies.get("issues-table-load-immediately-" + script) == "true") {
|
||||
if (LoadCheckoutsTableDelay) {
|
||||
setTimeout(function () {
|
||||
loadIssuesTableDelayTimeoutId = setTimeout(function () {
|
||||
LoadIssuesTable();
|
||||
}, LoadCheckoutsTableDelay * 1000);
|
||||
} else {
|
||||
|
|
|
|||
Loading…
Reference in New Issue