Z3950 Batch : initial xul dialog for finding matches
authorBill Erickson <berick@esilibrary.com>
Mon, 18 Feb 2013 17:12:26 +0000 (12:12 -0500)
committerBill Erickson <berick@esilibrary.com>
Mon, 18 Feb 2013 17:12:26 +0000 (12:12 -0500)
Signed-off-by: Bill Erickson <berick@esilibrary.com>
Open-ILS/xul/staff_client/server/cat/bucketz39_dialog.js
Open-ILS/xul/staff_client/server/cat/bucketz39_dialog_overlay.xul

index d619e6f..3569b71 100644 (file)
@@ -1,40 +1,85 @@
 var dialog;
-var user_id;
-var authtoken;
-var bucket_id;
+
+_dump_level = 4; // TODO 
 
 function Bucketz39Dialog() {
+    dump('here....');
+
+    // number of data sets to fetch on page load
+    this.loadCount = 3;
+
+    this.item_loaded = function() {
+        if (--this.loadCount == 0) 
+            this.draw_dialog();
+    }
 
     this.load = function() {
         var self = this;
-        var loadCount = 2;
         var pcrud = new OpenSRF.ClientSession('open-ils.pcrud');
 
         // vandelay queues
         pcrud.request({
-            async : true,
             method : 'open-ils.pcrud.search.vbq.atomic',
-            params : [authtoken, {owner : user_id}],
+            params : [
+                this.authtoken, 
+                {owner : this.user_id}, 
+                {order_by : {vbq : 'name'}}
+            ],
             oncomplete : function(r) {
-                var resp = r.recv();
-                if (!resp) return;
-                self.queue_list = resp.content();
-                if (--loadCount == 0) 
-                    self.drawDialog();
+                if (resp = r.recv()) {
+                    self.queue_list = resp.content();
+                    dojo.forEach(self.queue_list, function(q) {
+                        dojo.by('queue_selector').appendItem(q.name(), q.id());
+                    });
+                    self.item_loaded();
+                }
             }
         }).send();
 
-        loadCount--; // TODO
+        // z39 index maps
+        pcrud.request({
+            method : 'open-ils.pcrud.search.czifm.atomic',
+            params : [
+                this.authtoken, 
+                {id : {'!=' : null}}, 
+                {order_by : {czifm : 'label'}}
+            ],
+            oncomplete : function(r) {
+                if (resp = r.recv()) {
+                    self.index_maps = resp.content();
+                    self.item_loaded();
+                }
+            }
+        }).send();
+
+        // z39 sources
+        pcrud.request({
+            method : 'open-ils.pcrud.search.czs.atomic',
+            params : [
+                this.authtoken, 
+                {name : {'!=' : null}},
+                {order_by : {czs : 'name'}}
+            ],
+            oncomplete : function(r) {
+                if (resp = r.recv()) {
+                    self.z39_sources = resp.content();
+                    self.item_loaded();
+                }
+            }
+        }).send();
     }
 
-    this.drawDialog = function() {
+    this.draw_dialog = function() {
+        alert(this.queue_list.length + '\n' + 
+            this.index_maps.length + '\n' + 
+            this.z39_sources.length);
     }
 }
 
 function my_init() {
-    user_id = window.arguments[0];
-    authtoken = window.arguments[1];
-    bucket_id = window.arguments[2];
     dialog = new Bucketz39Dialog();
+    dialog.user_id = window.arguments[0];
+    dialog.authtoken = window.arguments[1];
+    dialog.bucket_id = window.arguments[2];
     dialog.load();
 }
index a74dc67..6d2fd8a 100644 (file)
@@ -5,6 +5,7 @@
 <overlay id="bucketz39_dialog_overlay"
     xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul">
 
+    <script>alert('here')</script>
     <script type="text/javascript" src="/xul/server/cat/bucketz39_dialog.js" />
 
     <box orient="vertical" id="bucketz39_dialog_main" flex="1">
                     oncommand="alert(321);" />
                 <spacer flex="1" />
             </hbox>
+            <hbox align='left' class='padded_bottom'>
+                <label value="Add to Queue"/>
+                <menulist id="queue_selector" editable='true'>
+                    <menupopup>
+                    </menupopup>
+                </menulist>
+            </hbox>
         </vbox>
     </box>
 </overlay>