From: Jason Etheridge <jason@esilibrary.com> Date: Thu, 11 Aug 2011 18:16:24 +0000 (-0400) Subject: in lieu of Ready Item Editor X-Git-Url: https://old-git.evergreen-ils.org/?a=commitdiff_plain;h=92b2d3ec7ce4d847461dcbd43771845215ccf166;p=evergreen%2Fmasslnc.git in lieu of Ready Item Editor We're trying to prevent folks from using the item attribute editor in the unified interface when the volume pane is still updating its information (i.e. building the copies to feed to the attribute editor), so that a given editing widget isn't ripped out from under staff while its being used. This change removes the heavy-handed Ready Item Editor button and instead tries to more gracefully manage the editor state based on change and keypress events. Also change the color scheme for a disabled editor from red to light pink. Signed-off-by: Jason Etheridge <jason@esilibrary.com> Signed-off-by: Mike Rylander <mrylander@gmail.com> --- diff --git a/Open-ILS/web/opac/locale/en-US/lang.dtd b/Open-ILS/web/opac/locale/en-US/lang.dtd index 6dd1e96a45..b0e907f56f 100644 --- a/Open-ILS/web/opac/locale/en-US/lang.dtd +++ b/Open-ILS/web/opac/locale/en-US/lang.dtd @@ -2875,8 +2875,6 @@ <!ENTITY staff.cat.volume_copy_creator.batch_bar.call_number.label.label "Call Number:"> <!ENTITY staff.cat.volume_copy_creator.batch_bar.call_number.label.accesskey "L"> <!ENTITY staff.cat.volume_copy_creator.batch_bar.call_number.suffix "Suffix:"> -<!ENTITY staff.cat.volume_copy_creator.ready_item_editor.label "Ready Item Editor"> -<!ENTITY staff.cat.volume_copy_creator.ready_item_editor.accesskey "R"> <!ENTITY staff.cat.volume_editor.title "Volumes"> <!ENTITY staff.cat.volume_editor.caption.label "Volume Editor"> <!ENTITY staff.cat.volume_editor.modify.label "Modify"> diff --git a/Open-ILS/xul/staff_client/server/cat/copy_editor.js b/Open-ILS/xul/staff_client/server/cat/copy_editor.js index a279359479..b6b5d93ae9 100644 --- a/Open-ILS/xul/staff_client/server/cat/copy_editor.js +++ b/Open-ILS/xul/staff_client/server/cat/copy_editor.js @@ -165,17 +165,17 @@ function my_init() { if (xulG.unified_interface) { xulG.disable_copy_editor = function(c) { - addCSSClass(document.documentElement,'red_bg'); + addCSSClass(document.documentElement,'disabled_copy_editor'); g.disabled = true; } xulG.enable_copy_editor = function(c) { - removeCSSClass(document.documentElement,'red_bg'); + removeCSSClass(document.documentElement,'disabled_copy_editor'); g.disabled = false; xulG.refresh_copy_editor(); } xulG.refresh_copy_editor = function() { dump('refresh_copy_editor\n'); - addCSSClass(document.documentElement,'blue_bg'); + addCSSClass(document.documentElement,'enabling_copy_editor'); try { xulG.clear_update_copy_editor_timeout(); g.copies = xulG.copies; @@ -198,7 +198,7 @@ function my_init() { g.check_for_unmet_required_fields(); setTimeout( function() { - removeCSSClass(document.documentElement,'blue_bg'); + removeCSSClass(document.documentElement,'enabling_copy_editor'); }, 1000 ); } catch(E) { diff --git a/Open-ILS/xul/staff_client/server/cat/volume_copy_creator.js b/Open-ILS/xul/staff_client/server/cat/volume_copy_creator.js index aae4edce1b..127d5c4814 100644 --- a/Open-ILS/xul/staff_client/server/cat/volume_copy_creator.js +++ b/Open-ILS/xul/staff_client/server/cat/volume_copy_creator.js @@ -68,23 +68,8 @@ function my_init() { g.gather_copies(); } } - $('Sync').addEventListener( - 'command', - function() { - // give gather_copies_soon fired off directly/indirectly by - // onchange a chance to go first - setTimeout( - function() { - xulG.enable_copy_editor(); - }, - 0 - ); - }, - false - ); } else { $('Create').hidden = true; - $('Sync').hidden = true; } /***********************************************************************************************************/ @@ -249,7 +234,7 @@ function my_init() { g.load_prefs(); if (g.existing_copies.length > 0) { - g.gather_copies_soon(); + g.gather_copies_soon(true); } try { @@ -305,10 +290,10 @@ g.render_volume_count_entry = function(row,ou_id) { util.widgets.apply_vertical_tab_on_enter_handler( tb, function() { render_copy_count_entry({'target':tb}); setTimeout(function(){util.widgets.vertical_tab(tb);},0); } - ,function() { $('Sync').disabled = true; } + ,function() { g.delay_gather_copies_soon(false); } ); tb.addEventListener( 'change', render_copy_count_entry, false); - tb.addEventListener( 'change', g.gather_copies_soon, false); + //tb.addEventListener( 'change', g.gather_copies_soon, false); tb.addEventListener( 'focus', function(ev) { g.last_focus = ev.target; }, false ); setTimeout( function() { @@ -497,7 +482,7 @@ g.render_callnumber_copy_count_entry = function(row,ou_id,count) { },0 ); } - ,function() { $('Sync').disabled = true; } + ,function() { g.delay_gather_copies_soon(false); } ); call_number_column_textbox.addEventListener( 'change', handle_change_to_callnumber_data, false); //call_number_column_textbox.addEventListener( 'change', g.gather_copies_soon, false); @@ -565,10 +550,10 @@ g.render_callnumber_copy_count_entry = function(row,ou_id,count) { },0 ); } - ,function() { $('Sync').disabled = true; } + ,function() { g.delay_gather_copies_soon(false); } ); 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); + //number_of_copies_column_textbox.addEventListener( 'change', g.gather_copies_soon, false); number_of_copies_column_textbox.addEventListener( 'focus', function(ev) { g.last_focus = ev.target; }, false ); if ( !g.last_focus ) { number_of_copies_column_textbox.focus(); g.last_focus = number_of_copies_column_textbox; } @@ -661,7 +646,7 @@ g.render_part_menu = function(barcode_tb) { barcode_tb.setAttribute('bmp_id',menulist.selectedItem.value); button.hidden = true; } - g.gather_copies_soon(); + g.gather_copies_soon(true); } }); }, @@ -677,7 +662,7 @@ g.render_part_menu = function(barcode_tb) { }, false ); - menulist.addEventListener('change',g.gather_copies_soon,false); + menulist.addEventListener('change',function() { g.gather_copies_soon(true); },false); menulist.addEventListener( 'command', function(ev) { @@ -686,7 +671,7 @@ g.render_part_menu = function(barcode_tb) { }, false ); - menulist.addEventListener('command',g.gather_copies_soon,false); + menulist.addEventListener('command',function() { g.gather_copies_soon(true); },false); return hbox; } @@ -770,12 +755,12 @@ g.render_barcode_entry = function(node,callnumber_composite_key,count,ou_id) { util.widgets.apply_vertical_tab_on_enter_handler( tb, function() { ready_to_create({'target':tb}); setTimeout(function(){util.widgets.vertical_tab(tb);},0); }, - g.delay_gather_copies_soon + function() { g.delay_gather_copies_soon(true); } ); util.widgets.apply_vertical_tab_on_enter_handler( part_menu.firstChild, function() { setTimeout(function(){util.widgets.vertical_tab(part_menu.firstChild);},0); }, - g.delay_gather_copies_soon + function() { g.delay_gather_copies_soon(true); } ); tb.addEventListener('change', function(ev) { var barcode = String( ev.target.value ).replace(/\s/g,''); @@ -793,7 +778,7 @@ g.render_barcode_entry = function(node,callnumber_composite_key,count,ou_id) { } } - g.gather_copies_soon(); + g.gather_copies_soon(true); setTimeout( function() { if (g.first_focus) { g.first_focus.focus(); } }, 0 ); } catch(E) { @@ -831,7 +816,7 @@ g.generate_barcodes = function() { setTimeout( function() { - g.gather_copies_soon(); + g.gather_copies_soon(true); },0 ); @@ -840,21 +825,20 @@ g.generate_barcodes = function() { } } -g.delay_gather_copies_soon = function() { +g.delay_gather_copies_soon = function(enable_copy_editor) { if (xulG.unified_interface) { dump('g.delay_gather_copies_soon()\n'); - g.gather_copies_soon(); + g.gather_copies_soon(enable_copy_editor); } } -g.gather_copies_soon = function(ev) { +g.gather_copies_soon = function(enable_copy_editor) { try { if (!xulG.unified_interface) { return; } dump('g.gather_copies_soon()\n'); if (typeof xulG.disable_copy_editor == 'function') { xulG.disable_copy_editor(); } - $('Sync').disabled = true; if (g.update_copy_editor_timeoutID) { clearTimeout(g.update_copy_editor_timeoutID); } @@ -864,8 +848,9 @@ g.gather_copies_soon = function(ev) { function() { try { g.gather_copies(); - //xulG.enable_copy_editor(); - $('Sync').disabled = false; + if (enable_copy_editor) { + xulG.enable_copy_editor(); + } xulG.refresh_copy_editor(); } catch(E) { dump('Error in volume_copy_editor.js with g.gather_copies_soon setTimeout func(): ' + E + '\n'); @@ -1447,7 +1432,7 @@ g.render_batch_button = function() { } setTimeout( function() { - g.gather_copies_soon(); + g.gather_copies_soon(true); },0 ); if (g.last_focus) setTimeout( function() { g.last_focus.focus(); }, 0 ); diff --git a/Open-ILS/xul/staff_client/server/cat/volume_copy_creator.xul b/Open-ILS/xul/staff_client/server/cat/volume_copy_creator.xul index 00a846f576..5cfc111c9b 100644 --- a/Open-ILS/xul/staff_client/server/cat/volume_copy_creator.xul +++ b/Open-ILS/xul/staff_client/server/cat/volume_copy_creator.xul @@ -121,11 +121,6 @@ <button id="CreateWithDefaults" disabled="true" oncommand="g.stash_and_close('noedit');"/> <button id="EditThenCreate" disabled="true" oncommand="g.stash_and_close('edit');"/> </hbox> - <button id="Sync" - label="&staff.cat.volume_copy_creator.ready_item_editor.label;" - accesskey="&staff.cat.volume_copy_creator.ready_item_editor.accesskey;" - disabled="true" - image="/xul/server/skin/media/images/down_arrow.gif"/> <button id="Create" disabled="true" oncommand="g.stash_and_close('unified_interface');"/> </hbox> </vbox> diff --git a/Open-ILS/xul/staff_client/server/skin/cat.css b/Open-ILS/xul/staff_client/server/skin/cat.css index 3fc7a30449..27d055a3e8 100644 --- a/Open-ILS/xul/staff_client/server/skin/cat.css +++ b/Open-ILS/xul/staff_client/server/skin/cat.css @@ -17,3 +17,6 @@ row#batch_bar { background-color: gray; } .cn_suffix { display: none; } .part_column { display: none; } */ + +.disabled_copy_editor { background-color: LightPink; } +.enabling_copy_editor { background-color: LightPink; } diff --git a/Open-ILS/xul/staff_client/server/skin/global.css b/Open-ILS/xul/staff_client/server/skin/global.css index 29112e2dda..1c9da3e3a8 100644 --- a/Open-ILS/xul/staff_client/server/skin/global.css +++ b/Open-ILS/xul/staff_client/server/skin/global.css @@ -145,5 +145,3 @@ listitem { border-bottom: solid thin black; } .oils_event { color: red; } -.blue_bg { background-color: blue; } -.red_bg { background-color: red; }