Z3950 Batch : initial xul dialog for finding matches
authorBill Erickson <berick@esilibrary.com>
Mon, 18 Feb 2013 15:41:01 +0000 (10:41 -0500)
committerBill Erickson <berick@esilibrary.com>
Mon, 18 Feb 2013 15:41:01 +0000 (10:41 -0500)
Signed-off-by: Bill Erickson <berick@esilibrary.com>
Open-ILS/xul/staff_client/server/cat/bucketz39_dialog.js [new file with mode: 0644]
Open-ILS/xul/staff_client/server/cat/bucketz39_dialog.xul [new file with mode: 0644]
Open-ILS/xul/staff_client/server/cat/bucketz39_dialog_overlay.xul [new file with mode: 0644]
Open-ILS/xul/staff_client/server/cat/record_buckets.js
Open-ILS/xul/staff_client/server/cat/record_buckets_overlay.xul

diff --git a/Open-ILS/xul/staff_client/server/cat/bucketz39_dialog.js b/Open-ILS/xul/staff_client/server/cat/bucketz39_dialog.js
new file mode 100644 (file)
index 0000000..d619e6f
--- /dev/null
@@ -0,0 +1,40 @@
+var dialog;
+var user_id;
+var authtoken;
+var bucket_id;
+
+function Bucketz39Dialog() {
+
+    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}],
+            oncomplete : function(r) {
+                var resp = r.recv();
+                if (!resp) return;
+                self.queue_list = resp.content();
+                if (--loadCount == 0) 
+                    self.drawDialog();
+            }
+        }).send();
+
+        loadCount--; // TODO
+    }
+
+    this.drawDialog = function() {
+    }
+}
+
+function my_init() {
+    user_id = window.arguments[0];
+    authtoken = window.arguments[1];
+    bucket_id = window.arguments[2];
+    dialog = new Bucketz39Dialog();
+    dialog.load();
+}
diff --git a/Open-ILS/xul/staff_client/server/cat/bucketz39_dialog.xul b/Open-ILS/xul/staff_client/server/cat/bucketz39_dialog.xul
new file mode 100644 (file)
index 0000000..3d1411a
--- /dev/null
@@ -0,0 +1,34 @@
+<?xml version="1.0"?>
+<?xml-stylesheet href="chrome://global/skin/" type="text/css"?>
+<?xml-stylesheet href="/xul/server/skin/global.css" type="text/css"?>
+<!-- borrow heavily from the serials css -->
+<?xml-stylesheet href="/xul/server/skin/serial.css" type="text/css"?>
+<!DOCTYPE window PUBLIC "" ""[
+    <!--#include virtual="/opac/locale/${locale}/lang.dtd"-->
+]>
+<?xul-overlay href="/xul/server/OpenILS/util_overlay.xul"?>
+<?xul-overlay href="/xul/server/cat/bucketz39_dialog_overlay.xul"?>
+
+<window id="bucketz39_dialog_win"
+    title="Bucket Z39.50 Search Dialog"
+    onload="try{my_init();font_helper();persist_helper();}catch(E){alert(E);}"
+    xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul">
+
+    <script type="text/javascript">
+        var myPackageDir = "open_ils_staff_client";
+        var IAMXUL = true;
+        var g = {};
+    </script>
+
+    <scripts id="openils_util_scripts" />
+
+    <!-- JSAN is still needed for font_helper stuff, but I'm going to try
+        not to use it otherwise.  -->
+    <script type="text/javascript" src="/xul/server/main/JSAN.js" />
+
+    <messagecatalog id="catStrings"
+        src="/xul/server/locale/<!--#echo var='locale'-->/cat.properties" />
+
+    <commandset />
+    <box id="bucketz39_dialog_main" />
+</window>
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
new file mode 100644 (file)
index 0000000..a74dc67
--- /dev/null
@@ -0,0 +1,20 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE overlay PUBLIC "" ""[
+    <!--#include virtual="/opac/locale/${locale}/lang.dtd"-->
+]>
+<overlay id="bucketz39_dialog_overlay"
+    xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul">
+
+    <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>
+        </vbox>
+    </box>
+</overlay>
index 1f40446..c437387 100644 (file)
@@ -331,6 +331,7 @@ cat.record_buckets.prototype = {
                                     if (x) x.setAttribute('label','');
                                     obj.controller.view.cmd_record_buckets_delete_bucket.setAttribute('disabled','true');
                                     obj.controller.view.cmd_record_buckets_refresh.setAttribute('disabled','true');
+                                    obj.controller.view.cmd_record_buckets_zsearch.setAttribute('disabled','true');
                                     obj.controller.view.record_buckets_export_records.disabled = true;
                                     obj.controller.view.cmd_merge_records.setAttribute('disabled','true');
                                     obj.controller.view.cmd_delete_records.setAttribute('disabled','true');
@@ -353,6 +354,7 @@ cat.record_buckets.prototype = {
                                     try {
                                         obj.controller.view.cmd_record_buckets_delete_bucket.setAttribute('disabled','false');
                                         obj.controller.view.cmd_record_buckets_refresh.setAttribute('disabled','false');
+                                        obj.controller.view.cmd_record_buckets_zsearch.setAttribute('disabled','false');
                                         obj.controller.view.record_buckets_export_records.disabled = false;
                                         obj.controller.view.cmd_merge_records.setAttribute('disabled','false');
                                         obj.controller.view.cmd_delete_records.setAttribute('disabled','false');
@@ -544,6 +546,7 @@ cat.record_buckets.prototype = {
                                 x.setAttribute('hidden','true');
                                 obj.controller.view.cmd_record_buckets_delete_bucket.setAttribute('disabled','true');
                                 obj.controller.view.cmd_record_buckets_refresh.setAttribute('disabled','true');
+                                obj.controller.view.cmd_record_buckets_zsearch.setAttribute('disabled','true');
                                 obj.controller.view.record_buckets_export_records.disabled = true;
                                 obj.controller.view.cmd_merge_records.setAttribute('disabled','true');
                                 obj.controller.view.cmd_delete_records.setAttribute('disabled','true');
@@ -832,6 +835,26 @@ cat.record_buckets.prototype = {
                             }
                         }
                     ],
+                    'cmd_record_buckets_zsearch' : [
+                        ['command'],
+                        function() {
+                            try {
+                                var bucket_id = obj.controller.view.bucket_menulist.value;
+
+                                window.openDialog(
+                                    // TODO: constants.js
+                                    xulG.url_prefix("oils://remote/xul/server/cat/bucketz39_dialog.xul"),
+                                    "bucketz39_dialog",
+                                    "width=800,height=400",
+                                    obj.data.list.au[0].id(),
+                                    ses(), 
+                                    bucket_id
+                                );
+                            } catch(E) {
+                                alert('Error in record_buckets.js, cmd_record_buckets_zsearch: ' + E);
+                            }
+                        }
+                    ],
 
                     'record_buckets_export_records' : [ ['render'], function(){} ],
                     'record_buckets_list_actions' : [ ['render'], function(){} ]
index 2ea4cdb..0f9215e 100644 (file)
@@ -29,6 +29,7 @@
     <command id="cmd_record_buckets_new_bucket" />
     <command id="cmd_record_buckets_delete_bucket" disabled="true"/>
     <command id="cmd_record_buckets_refresh" disabled="true"/>
+    <command id="cmd_record_buckets_zsearch" disabled="true"/>
 
     <command id="cmd_record_buckets_delete_item" />
     <command id="cmd_record_buckets_to_pending_buckets" />
                                 <menuitem command="cmd_record_buckets_new_bucket" label="&staff.cat.record_buckets_overlay.new_bucket.label;"/>
                                 <menuitem command="cmd_record_buckets_delete_bucket" label="&staff.cat.record_buckets_overlay.delete_bucket.label;"/>
                                 <menuitem command="cmd_record_buckets_refresh" label="&staff.cat.record_buckets_overlay.refresh_bucket.label;"/>
+                                <!-- TODO: label -->
+                                <menuitem command="cmd_record_buckets_zsearch" label="Locate Z39.50 Matches"/>
                             </menupopup>
                         </button>
                         <label id="bucket_item_count" />