some defaults for the most common case/workflow
authorJason Etheridge <jason@esilibrary.com>
Fri, 4 Mar 2011 05:19:26 +0000 (00:19 -0500)
committerJason Etheridge <jason@esilibrary.com>
Fri, 4 Mar 2011 17:23:04 +0000 (12:23 -0500)
Open-ILS/xul/staff_client/server/cat/volume_copy_creator.js

index 14c9def..5ba0e77 100644 (file)
@@ -1,5 +1,6 @@
 const g_max_copies_that_can_be_added_at_a_time_per_volume = 999;
 var g = {};
+g.use_defaults = true;
 
 function my_init() {
     try {
@@ -164,6 +165,10 @@ g.render_library_label = function(row,ou_id) {
 g.render_volume_count_entry = function(row,ou_id) {
     var hb = document.createElement('vbox'); row.appendChild(hb);
     var tb = document.createElement('textbox'); hb.appendChild(tb);
+    if (g.use_defaults) {
+        tb.value = 1; // default to 1 volume per org
+        tb.select();
+    }
     tb.setAttribute('ou_id',ou_id); tb.setAttribute('size','3'); tb.setAttribute('cols','3');
     tb.setAttribute('rel_vert_pos','1'); 
     if ( (!g.copy_shortcut) && (!g.last_focus) ) { tb.focus(); g.last_focus = tb; }
@@ -201,6 +206,14 @@ g.render_volume_count_entry = function(row,ou_id) {
                     ).length;
                     render_copy_count_entry({'target':tb});
                     tb.disabled = true;
+                } else if (tb.value) {
+                    // since we're now supplying a default
+                    render_copy_count_entry({'target':tb});
+                    setTimeout(
+                        function() {
+                            util.widgets.vertical_tab(tb);
+                        }, 0
+                    );
                 }
             } catch(E) {
                 alert(E);
@@ -274,6 +287,11 @@ g.render_callnumber_copy_count_entry = function(row,ou_id,count) {
         var number_of_copies_column_box = document.createElement('vbox'); r.appendChild(number_of_copies_column_box);
         var barcode_column_box = document.createElement('vbox'); r.appendChild(barcode_column_box);
         var call_number_column_textbox = document.createElement('textbox'); call_number_column_box.appendChild(call_number_column_textbox);
+        if (g.use_defaults) {
+            // default to first value from batch callnumber menu
+            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('ou_id',ou_id);
         util.widgets.apply_vertical_tab_on_enter_handler( 
@@ -281,6 +299,11 @@ g.render_callnumber_copy_count_entry = function(row,ou_id,count) {
             function() { handle_change_call_number_column_textbox({'target':call_number_column_textbox}); setTimeout(function(){util.widgets.vertical_tab(call_number_column_textbox);},0); }
         );
         var number_of_copies_column_textbox = document.createElement('textbox'); number_of_copies_column_box.appendChild(number_of_copies_column_textbox);
+        if (g.use_defaults) {
+            // default to one copy per call number
+            number_of_copies_column_textbox.value = 1;
+            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('ou_id',ou_id);
@@ -319,6 +342,15 @@ g.render_callnumber_copy_count_entry = function(row,ou_id,count) {
                             if (g.existing_copies.length < 1) {
                                 call_number_column_textbox.disabled = true;
                             }
+                        } else {
+
+                            // if we're providing defaults, keep on rendering
+                            if (call_number_column_textbox.value) {
+                                util.widgets.dispatch('change',call_number_column_textbox);
+                            }
+                            if (number_of_copies_column_textbox.value) {
+                                util.widgets.dispatch('change',number_of_copies_column_textbox);
+                            }
                         }
                     } catch(E) {
                         alert(E);