From 00b6701d08d409ee0e8e9c3b8e6eca5959b78800 Mon Sep 17 00:00:00 2001 From: Bill Erickson Date: Mon, 18 Feb 2013 17:00:33 -0500 Subject: [PATCH] Z3950 Batch : xul dialog cont. Signed-off-by: Bill Erickson --- .../staff_client/server/cat/bucketz39_dialog.js | 56 ++++++++++++++++++---- .../server/cat/bucketz39_dialog_overlay.xul | 26 ++++++++-- 2 files changed, 70 insertions(+), 12 deletions(-) diff --git a/Open-ILS/xul/staff_client/server/cat/bucketz39_dialog.js b/Open-ILS/xul/staff_client/server/cat/bucketz39_dialog.js index b540278f0e..5845811dc9 100644 --- a/Open-ILS/xul/staff_client/server/cat/bucketz39_dialog.js +++ b/Open-ILS/xul/staff_client/server/cat/bucketz39_dialog.js @@ -82,8 +82,25 @@ function Bucketz39Dialog() { } this.submit = function() { + var self = this; + + // progress labels + this.search_bib_count = dojo.byId('search-bib-count'); + this.search_queue_count = dojo.byId('search-queue-count'); + this.search_progress = dojo.byId('search-progress'); + + // hide submit row + dojo.addClass(dojo.byId('search-submit-row'), 'hideme'); + + // show progress rows + dojo.forEach( + dojo.query('.search_result_row'), + function(row) { dojo.removeClass(row, 'hideme') } + ); + - var params = [this.authtoken, this.user_id]; + // request params + var params = [this.authtoken, this.bucket_id]; // Z39 sources params.push(dojo.query('[source_selector]').filter( @@ -95,21 +112,42 @@ function Bucketz39Dialog() { function(cbox) { return cbox.checked }).map( function(cbox) { return cbox.getAttribute('value') })); - params.push({queue_name : dojo.byId('queue_selector').parentNode.value}); + // queue name + params.push({queue_name : + dojo.byId('queue_selector').parentNode.value}); + + dump('Submitting z39 search with: ' + js2JSON(params) + '\n'); - dump('submitting z39 search with: ' + js2JSON(params) + '\n'); + var ses = new OpenSRF.ClientSession('open-ils.search'); + ses.request({ + method : 'open-ils.search.z3950.bucket_search_queue', + params : params, + onresponse : function(r) { + var resp = r.recv(); + if (!resp) return; - /* - open-ils.search - open-ils.search.z3950.bucket_search_queue - "fcb49802e337036baf7225c7044f04e4", 1, ["biblios", "loc"], [3], {"queue_name":"zq1"} - */ + var stat = resp.content(); + dump('Z39 Batch Response: ' + js2JSON(stat) + '\n'); + + dojo.attr(self.search_bib_count, 'value', ''+stat.bre_count); + dojo.attr(self.search_queue_count, 'value', ''+stat.queue_count); + + var scount = Number(stat.search_count); + if (scount) { + dojo.attr(self.search_progress, 'value', ''+Math.floor( + (Number(stat.search_complete) / scount) * 100 + )); + } + }, + oncomplete : function() { + } + }).send(); } } function my_init() { dialog = new Bucketz39Dialog(); - dialog.user_id = window.arguments[0]; + dialog.user_id = window.arguments[0]; dialog.authtoken = window.arguments[1]; dialog.bucket_id = window.arguments[2]; dialog.init(); diff --git a/Open-ILS/xul/staff_client/server/cat/bucketz39_dialog_overlay.xul b/Open-ILS/xul/staff_client/server/cat/bucketz39_dialog_overlay.xul index c19648a1ed..734e39736f 100644 --- a/Open-ILS/xul/staff_client/server/cat/bucketz39_dialog_overlay.xul +++ b/Open-ILS/xul/staff_client/server/cat/bucketz39_dialog_overlay.xul @@ -14,7 +14,7 @@ - - + + + - +