Z3950 Batch : initial xul dialog for finding matches
authorBill Erickson <berick@esilibrary.com>
Mon, 18 Feb 2013 19:35:10 +0000 (14:35 -0500)
committerBill Erickson <berick@esilibrary.com>
Mon, 18 Feb 2013 19:35:10 +0000 (14:35 -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 3569b71..df29687 100644 (file)
@@ -1,7 +1,5 @@
 var dialog;
 
-_dump_level = 4; // TODO 
-
 function Bucketz39Dialog() {
     dump('here....');
 
@@ -9,8 +7,8 @@ function Bucketz39Dialog() {
     this.loadCount = 3;
 
     this.item_loaded = function() {
-        if (--this.loadCount == 0) 
-            this.draw_dialog();
+        if (--this.loadCount > 0) return;
+        // anything to do?
     }
 
     this.load = function() {
@@ -27,9 +25,11 @@ function Bucketz39Dialog() {
             ],
             oncomplete : function(r) {
                 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());
+                    var qlist = resp.content();
+                    dojo.forEach(qlist, function(q) {
+                        var attrs = {value : q.id(), label : q.name()};
+                        var item = dojo.create('menuitem', attrs);
+                        dojo.byId('queue_selector').appendChild(item);
                     });
                     self.item_loaded();
                 }
@@ -46,7 +46,16 @@ function Bucketz39Dialog() {
             ],
             oncomplete : function(r) {
                 if (resp = r.recv()) {
-                    self.index_maps = resp.content();
+                    var maps = resp.content();
+                    dojo.forEach(maps, function(map) {
+                        var attrs = {
+                            value : map.id(), 
+                            label : map.label(),
+                            index_selector : '1',
+                        };
+                        var cbox = dojo.create('checkbox', attrs);
+                        dojo.byId('index_selector').appendChild(cbox);
+                    });
                     self.item_loaded();
                 }
             }
@@ -62,18 +71,21 @@ function Bucketz39Dialog() {
             ],
             oncomplete : function(r) {
                 if (resp = r.recv()) {
-                    self.z39_sources = resp.content();
+                    var sources = resp.content();
+                    dojo.forEach(sources, function(src) {
+                        var attrs = {
+                            value : src.name(), 
+                            label : src.label(),
+                            source_selector : '1',
+                        };
+                        var item = dojo.create('checkbox', attrs);
+                        dojo.byId('source_selector').appendChild(item);
+                    });
                     self.item_loaded();
                 }
             }
         }).send();
     }
-
-    this.draw_dialog = function() {
-        alert(this.queue_list.length + '\n' + 
-            this.index_maps.length + '\n' + 
-            this.z39_sources.length);
-    }
 }
 
 function my_init() {
index 6d2fd8a..d70d326 100644 (file)
@@ -5,23 +5,39 @@
 <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">
         <caption class="top" label="Locate Z39.59 Matches" />
         <vbox flex="1">
-            <hbox align="center" class="padded_bottom">
-                <button id="foo" icon="add" label="Foo"
-                    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>
+            <grid>                                                     
+                <columns><column /><column /></columns>
+                <rows>      
+                    <row>
+                        <label value="Search These Z39.50 Servers:"/>
+                        <vbox id='source_selector'>
+                        </vbox>
+                    </row>
+                    <row id='index_selector_row'>
+                        <label value="Use These Match Points:"/>
+                        <vbox id='index_selector'>
+                        </vbox>
+                    </row>
+                    <row>
+                        <label value="Add Results to Queue:"/>
+                        <menulist editable='true'>
+                            <menupopup id='queue_selector'>
+                                <menuitem value='' label="-- Select Queue -->"/>
+                            </menupopup>
+                        </menulist>
+                    </row>
+                </rows>
+            </grid>
+            <hbox pack='center'>
+                <button oncommand="window.close();" 
+                    icon="remove" accesskey="C" label="Cancel" />  
+                <button oncommand="dialog.submit();" 
+                    icon="accept" accesskey="P" label="Perform Search" />  
             </hbox>
         </vbox>
     </box>