stub out the callnumber class, prefix, and suffix columns
authorJason Etheridge <jason@esilibrary.com>
Mon, 7 Mar 2011 11:21:57 +0000 (06:21 -0500)
committerJason Etheridge <jason@esilibrary.com>
Mon, 7 Mar 2011 11:21:57 +0000 (06:21 -0500)
Open-ILS/xul/staff_client/server/cat/volume_copy_creator.js
Open-ILS/xul/staff_client/server/locale/en-US/cat.properties

index 2433f1e..1d8db50 100644 (file)
@@ -1,4 +1,12 @@
 const g_max_copies_that_can_be_added_at_a_time_per_volume = 999;
+const rel_vert_pos_volume_count = 1;
+const rel_vert_pos_call_number_classification = 2;
+const rel_vert_pos_call_number_prefix = 3;
+const rel_vert_pos_call_number = 4;
+const rel_vert_pos_call_number_suffix = 5;
+const rel_vert_pos_copy_count = 6;
+const rel_vert_pos_barcode = 7;
+const rel_vert_pos_part = 8;
 var g = {};
 g.use_defaults = true;
 
@@ -173,7 +181,7 @@ g.render_volume_count_entry = function(row,ou_id) {
         tb.select();
     }
     tb.setAttribute('ou_id',ou_id); tb.setAttribute('size','3'); tb.setAttribute('cols','3');
-    tb.setAttribute('rel_vert_pos','1');
+    tb.setAttribute('rel_vert_pos',rel_vert_pos_volume_count);
     if ( (!g.copy_shortcut) && (!g.last_focus) ) { tb.focus(); g.last_focus = tb; }
     var node;
     function render_copy_count_entry(ev) {
@@ -232,9 +240,18 @@ g.render_callnumber_copy_count_entry = function(row,ou_id,count) {
     var rows = grid.lastChild;
     var r = document.createElement('row'); rows.appendChild( r );
     var x = document.createElement('label'); r.appendChild(x);
+        x.setAttribute('value', $("catStrings").getString('staff.cat.volume_copy_creator.render_callnumber_copy_count_entry.classification'));
+        x.setAttribute('style','font-weight: bold');
+    x = document.createElement('label'); r.appendChild(x);
+        x.setAttribute('value', $("catStrings").getString('staff.cat.volume_copy_creator.render_callnumber_copy_count_entry.prefix'));
+        x.setAttribute('style','font-weight: bold');
+    x = document.createElement('label'); r.appendChild(x);
         x.setAttribute('value', $("catStrings").getString('staff.cat.volume_copy_creator.render_callnumber_copy_count_entry.call_nums'));
         x.setAttribute('style','font-weight: bold');
     x = document.createElement('label'); r.appendChild(x);
+        x.setAttribute('value', $("catStrings").getString('staff.cat.volume_copy_creator.render_callnumber_copy_count_entry.suffix'));
+        x.setAttribute('style','font-weight: bold');
+    x = document.createElement('label'); r.appendChild(x);
         x.setAttribute('value',$("catStrings").getString('staff.cat.volume_copy_creator.render_callnumber_copy_count_entry.num_of_copies'));
         x.setAttribute('style','font-weight: bold');
     x = document.createElement('label'); r.appendChild(x);
@@ -272,7 +289,7 @@ g.render_callnumber_copy_count_entry = function(row,ou_id,count) {
     function handle_change_call_number_column_textbox(ev) {
         var _call_number_column_textbox = ev.target;
         var _call_number_column_box = _call_number_column_textbox.parentNode;
-        var _number_of_copies_column_box = _call_number_column_box.nextSibling;
+        var _number_of_copies_column_box = _call_number_column_box.nextSibling.nextSibling; /* two over */
         var _number_of_copies_column_textbox = _number_of_copies_column_box.firstChild;
         var _barcode_column_box = _number_of_copies_column_box.nextSibling;
         handle_change(_call_number_column_textbox,_number_of_copies_column_textbox,_barcode_column_box);
@@ -281,7 +298,7 @@ g.render_callnumber_copy_count_entry = function(row,ou_id,count) {
     function handle_change_number_of_copies_column_textbox(ev) {
         var _number_of_copies_column_textbox = ev.target;
         var _number_of_copies_column_box = _number_of_copies_column_textbox.parentNode;
-        var _call_number_column_box = _number_of_copies_column_box.previousSibling;
+        var _call_number_column_box = _number_of_copies_column_box.previousSibling.previousSibling; /* two over */
         var _call_number_column_textbox = _call_number_column_box.firstChild;
         var _barcode_column_box = _number_of_copies_column_box.nextSibling;
         handle_change(_call_number_column_textbox,_number_of_copies_column_textbox,_barcode_column_box);
@@ -290,6 +307,18 @@ g.render_callnumber_copy_count_entry = function(row,ou_id,count) {
     for (var i = 0; i < count; i++) {
         var r = document.createElement('row'); rows.appendChild(r);
 
+            /**** CLASSIFICATION COLUMN ****/
+            var classification_column_box = document.createElement('vbox');
+            r.appendChild(classification_column_box);
+                var classification_column_menulist = document.createElement('menulist');
+                classification_column_box.appendChild(classification_column_menulist);
+
+            /**** PREFIX COLUMN ****/
+            var prefix_column_box = document.createElement('vbox');
+            r.appendChild(prefix_column_box);
+                var prefix_column_menulist = document.createElement('menulist');
+                prefix_column_box.appendChild(prefix_column_menulist);
+
             /**** CALLNUMBER COLUMN ****/
             var call_number_column_box = document.createElement('vbox');
             r.appendChild(call_number_column_box);
@@ -300,16 +329,29 @@ g.render_callnumber_copy_count_entry = function(row,ou_id,count) {
                         call_number_column_textbox.value = $('marc_cn').firstChild.value;
                         call_number_column_textbox.select();
                     }
-                    call_number_column_textbox.setAttribute('rel_vert_pos','2');
+                    call_number_column_textbox.setAttribute('rel_vert_pos',rel_vert_pos_call_number);
                     call_number_column_textbox.setAttribute('ou_id',ou_id);
                     util.widgets.apply_vertical_tab_on_enter_handler(
                         call_number_column_textbox,
-                        function() { handle_change_call_number_column_textbox({'target':call_number_column_textbox}); setTimeout(function(){util.widgets.vertical_tab(call_number_column_textbox);},0); }
+                        function() {
+                            handle_change_call_number_column_textbox({'target':call_number_column_textbox});
+                            setTimeout(
+                                function(){
+                                    util.widgets.vertical_tab(call_number_column_textbox);
+                                },0
+                            );
+                        }
                     );
                     call_number_column_textbox.addEventListener( 'change', handle_change_call_number_column_textbox, false);
                     call_number_column_textbox.addEventListener( 'change', g.gather_copies_soon, false);
                     call_number_column_textbox.addEventListener( 'focus', function(ev) { g.last_focus = ev.target; }, false );
 
+            /**** SUFFIX COLUMN ****/
+            var suffix_column_box = document.createElement('vbox');
+            r.appendChild(suffix_column_box);
+                var suffix_column_menulist = document.createElement('menulist');
+                suffix_column_box.appendChild(suffix_column_menulist);
+
             /**** NUMBER OF COPIES COLUMN ****/
             var number_of_copies_column_box = document.createElement('vbox');
             r.appendChild(number_of_copies_column_box);
@@ -321,11 +363,18 @@ g.render_callnumber_copy_count_entry = function(row,ou_id,count) {
                         number_of_copies_column_textbox.select();
                     }
                     number_of_copies_column_textbox.setAttribute('size','3'); number_of_copies_column_textbox.setAttribute('cols','3');
-                    number_of_copies_column_textbox.setAttribute('rel_vert_pos','3');
+                    number_of_copies_column_textbox.setAttribute('rel_vert_pos',rel_vert_pos_copy_count);
                     number_of_copies_column_textbox.setAttribute('ou_id',ou_id);
                     util.widgets.apply_vertical_tab_on_enter_handler(
                         number_of_copies_column_textbox,
-                        function() { handle_change_number_of_copies_column_textbox({'target':number_of_copies_column_textbox}); setTimeout(function(){util.widgets.vertical_tab(number_of_copies_column_textbox);},0); }
+                        function() {
+                            handle_change_number_of_copies_column_textbox({'target':number_of_copies_column_textbox});
+                            setTimeout(
+                                function(){
+                                    util.widgets.vertical_tab(number_of_copies_column_textbox);
+                                },0
+                            );
+                        }
                     );
                     number_of_copies_column_textbox.addEventListener( 'change', handle_change_number_of_copies_column_textbox, false);
                     number_of_copies_column_textbox.addEventListener( 'change', g.gather_copies_soon, false);
@@ -488,8 +537,8 @@ g.render_barcode_entry = function(node,callnumber,count,ou_id) {
             }
             tb.setAttribute('ou_id',ou_id);
             tb.setAttribute('callnumber',callnumber);
-            tb.setAttribute('rel_vert_pos','4');
-            part_menu.firstChild.setAttribute('rel_vert_pos','5');
+            tb.setAttribute('rel_vert_pos',rel_vert_pos_barcode);
+            part_menu.firstChild.setAttribute('rel_vert_pos',rel_vert_pos_part);
             if (!tb.value && g.org_label_existing_copy_map[ ou_id ]) {
                 tb.value = g.org_label_existing_copy_map[ ou_id ][ callnumber ][i].barcode();
                 tb.setAttribute('acp_id', g.org_label_existing_copy_map[ ou_id ][ callnumber ][i].id());
@@ -534,7 +583,7 @@ g.render_barcode_entry = function(node,callnumber,count,ou_id) {
 
 g.generate_barcodes = function() {
     try {
-        var nodes = document.getElementsByAttribute('rel_vert_pos','4');
+        var nodes = document.getElementsByAttribute('rel_vert_pos',rel_vert_pos_barcode);
         if (nodes.length < 1) { return; }
         var first_barcode = nodes[0].value;
 
@@ -595,8 +644,8 @@ g.gather_copies = function() {
         var barcodes = [];
 
         for (var i = 0; i < nl.length; i++) {
-            if ( nl[i].getAttribute('rel_vert_pos') == 4 ) barcodes.push( nl[i] );
-            if ( nl[i].getAttribute('rel_vert_pos') == 2 )  {
+            if ( nl[i].getAttribute('rel_vert_pos') == rel_vert_pos_barcode ) barcodes.push( nl[i] );
+            if ( nl[i].getAttribute('rel_vert_pos') == rel_vert_pos_call_number )  {
                 var ou_id = nl[i].getAttribute('ou_id');
                 var callnumber = nl[i].value;
                 if (typeof volumes_hash[ou_id] == 'undefined') { volumes_hash[ou_id] = {} }
@@ -830,7 +879,7 @@ g.list_callnumbers = function(doc_id, label_class) {
         function() {
             var nl = document.getElementsByTagName('textbox');
             for (var i = 0; i < nl.length; i++) {
-                if (nl[i].getAttribute('rel_vert_pos')==2
+                if (nl[i].getAttribute('rel_vert_pos')==rel_vert_pos_call_number
                     && !nl[i].disabled)
                 {
                     nl[i].value = ml.value;
index 5228b6d..061993b 100644 (file)
@@ -406,7 +406,10 @@ staff.cat.volume_copy_creator.rebarcode.btn.accesskey=R
 staff.cat.volume_copy_creator.render_volume_count_entry.message=You may not add more than %1$s items at a time for a given volume in this interface.
 staff.cat.volume_copy_creator.render_volume_count_entry.title=Maximum items exceeded.
 staff.cat.volume_copy_creator.render_volume_count_entry.ok_label=Ok
+staff.cat.volume_copy_creator.render_callnumber_copy_count_entry.classification=Classification
+staff.cat.volume_copy_creator.render_callnumber_copy_count_entry.prefix=Prefix
 staff.cat.volume_copy_creator.render_callnumber_copy_count_entry.call_nums=Call Numbers
+staff.cat.volume_copy_creator.render_callnumber_copy_count_entry.suffix=Suffix
 staff.cat.volume_copy_creator.render_callnumber_copy_count_entry.num_of_copies=# of Copies
 staff.cat.volume_copy_creator.render_callnumber_copy_count_entry.barcodes_and_parts=Barcodes / Part Designation
 staff.cat.volume_copy_creator.render_barcode_entry.alert_message="%1$s" is an invalid barcode.