From df8b09f2f54238e2d308a7fa66b947bf3a76ff14 Mon Sep 17 00:00:00 2001 From: Bill Erickson Date: Mon, 4 Feb 2013 14:19:30 -0500 Subject: [PATCH] selfcheck checkin: throbber Signed-off-by: Bill Erickson --- .../src/templates/circ/selfcheck/checkin_page.tt2 | 2 +- .../web/js/ui/default/circ/selfcheck/selfcheck.js | 29 +++++++++++++--------- 2 files changed, 18 insertions(+), 13 deletions(-) diff --git a/Open-ILS/src/templates/circ/selfcheck/checkin_page.tt2 b/Open-ILS/src/templates/circ/selfcheck/checkin_page.tt2 index 151e6a17cf..5afbae4e05 100644 --- a/Open-ILS/src/templates/circ/selfcheck/checkin_page.tt2 +++ b/Open-ILS/src/templates/circ/selfcheck/checkin_page.tt2 @@ -34,7 +34,7 @@ - + diff --git a/Open-ILS/web/js/ui/default/circ/selfcheck/selfcheck.js b/Open-ILS/web/js/ui/default/circ/selfcheck/selfcheck.js index 73840a1b04..674232c44e 100644 --- a/Open-ILS/web/js/ui/default/circ/selfcheck/selfcheck.js +++ b/Open-ILS/web/js/ui/default/circ/selfcheck/selfcheck.js @@ -644,6 +644,11 @@ SelfCheckManager.prototype.checkin = function(barcode) { var backdate = checkinBackdateInput.attr('value') || null; if (backdate) backdate = dojo.date.stamp.toISOString(backdate); + var row = this.checkinTemplate.cloneNode(true); + // put new circs at the top of the list + var tbody = this.checkinTbody; + tbody.insertBefore(row, tbody.getElementsByTagName('tr')[0]); + this.checkinCopy({ barcode : barcode, void_overdues : dojo.byId('oils-selfchk-amnesty-mode').checked, @@ -652,7 +657,7 @@ SelfCheckManager.prototype.checkin = function(barcode) { if (!evts.length) evts = [evts]; dojo.forEach(evts, function(evt) { - self.handleCheckinResult(barcode, evt); + self.handleCheckinResult(row, barcode, evt); } ); } @@ -1153,13 +1158,12 @@ SelfCheckManager.prototype.failPartMessage = function(result) { } } -SelfCheckManager.prototype.displayCheckin = function(result, outcomeText) { +SelfCheckManager.prototype.displayCheckin = function(row, result, outcomeText) { console.log('display checkin results ' + result); var copy = result.payload.copy; var record = result.payload.record; var circ = result.payload.circ; - var row = this.checkinTemplate.cloneNode(true); if(record.isbn()) { this.byName(row, 'jacket').setAttribute('src', @@ -1182,14 +1186,9 @@ SelfCheckManager.prototype.displayCheckin = function(result, outcomeText) { if (this.patron && this.patron.id() == circ.usr()) this.updateCircSummary(-1); } - - - // put new circs at the top of the list - var tbody = this.checkinTbody; - tbody.insertBefore(row, tbody.getElementsByTagName('tr')[0]); } -SelfCheckManager.prototype.handleCheckinResult = function(item, result) { +SelfCheckManager.prototype.handleCheckinResult = function(row, item, result) { var displayText = ''; var popup = false; var sound = ''; // sound file reference @@ -1206,13 +1205,13 @@ SelfCheckManager.prototype.handleCheckinResult = function(item, result) { displayText = dojo.string.substitute( localeStrings.CHECKIN_SUCCESS, [item]); - this.displayCheckin(result); + this.displayCheckin(row, result); } else if (tc == 'NO_CHANGE') { displayText = dojo.string.substitute( localeStrings.CHECKIN_NO_CHANGE, [item]); - this.displayCheckin(result); + this.displayCheckin(row, result); } else if (tc == 'ROUTE_ITEM') { @@ -1224,15 +1223,21 @@ SelfCheckManager.prototype.handleCheckinResult = function(item, result) { outcomeText = tc + ' => ' + sn; } - this.displayCheckin(result, outcomeText); + this.displayCheckin(row, result, outcomeText); } else if (tc == 'ASSET_COPY_NOT_FOUND') { + // remove the in-progress row + row.parentNode.removeChild(row); + displayText = dojo.string.substitute( localeStrings.ITEM_NOT_CATALOGED, [item]); } else { + // remove the in-progress row + row.parentNode.removeChild(row); + displayText = dojo.string.substitute( localeStrings.UNKNOWN_ERROR, [tc]); } -- 2.11.0