From: Mike Rylander Date: Fri, 18 May 2012 12:30:08 +0000 (-0400) Subject: Bring back automatic padding of short fixed fields in the GUI MARC editor X-Git-Url: https://old-git.evergreen-ils.org/?a=commitdiff_plain;h=03f253a56f5a48cb6859480ab7022ccf6accbb31;p=working%2FEvergreen.git Bring back automatic padding of short fixed fields in the GUI MARC editor Also, use onblur instead of oninput, so that we've already lost focus and don't care if that happens again. Signed-off-by: Mike Rylander --- diff --git a/Open-ILS/web/js/dojo/MARC/FixedFields.js b/Open-ILS/web/js/dojo/MARC/FixedFields.js index 4653ca80bc..8a01367c1e 100644 --- a/Open-ILS/web/js/dojo/MARC/FixedFields.js +++ b/Open-ILS/web/js/dojo/MARC/FixedFields.js @@ -1634,6 +1634,9 @@ if(!dojo._hasResource["MARC.FixedFields"]) { if (MARC.Record._ff_pos[field].ldr && _l) { if (MARC.Record._ff_pos[field].ldr[rtype]) { // It's in the leader val = value.substr(0, MARC.Record._ff_pos[field].ldr[rtype].len); + if (val.length < MARC.Record._ff_pos[field].ldr[rtype].len) { + val += Array(MARC.Record._ff_pos[field].ldr[rtype].len - val.length + 1).join(MARC.Record._ff_pos[field].ldr[rtype].def); + } this.leader = _l.substring(0, MARC.Record._ff_pos[field].ldr[rtype].start) + val + @@ -1645,6 +1648,9 @@ if(!dojo._hasResource["MARC.FixedFields"]) { } else if (MARC.Record._ff_pos[field]._8 && _8) { if (MARC.Record._ff_pos[field]._8[rtype]) { // Nope, it's in the 008 val = value.substr(0, MARC.Record._ff_pos[field]._8[rtype].len); + if (val.length < MARC.Record._ff_pos[field]._8[rtype].len) { + val += Array(MARC.Record._ff_pos[field]._8[rtype].len - val.length + 1).join(MARC.Record._ff_pos[field]._8[rtype].def); + } this.field('008').update( _8.substring(0, MARC.Record._ff_pos[field]._8[rtype].start) + val + @@ -1659,6 +1665,9 @@ if(!dojo._hasResource["MARC.FixedFields"]) { if (!val && MARC.Record._ff_pos[field]._6 && _6) { if (MARC.Record._ff_pos[field]._6[rtype]) { // ok, maybe the 006? val = value.substr(0, MARC.Record._ff_pos[field]._6[rtype].len); + if (val.length < MARC.Record._ff_pos[field]._6[rtype].len) { + val += Array(MARC.Record._ff_pos[field]._6[rtype].len - val.length + 1).join(MARC.Record._ff_pos[field]._6[rtype].def); + } this.field('006').update( _6.substring(0, MARC.Record._ff_pos[field]._6[rtype].start) + val + diff --git a/Open-ILS/xul/staff_client/server/cat/marcedit.js b/Open-ILS/xul/staff_client/server/cat/marcedit.js index 418d0eedc2..877a3e1c7f 100644 --- a/Open-ILS/xul/staff_client/server/cat/marcedit.js +++ b/Open-ILS/xul/staff_client/server/cat/marcedit.js @@ -816,12 +816,7 @@ function fillFixedFields () { } function updateFixedFields (element) { - var grid = document.getElementById('leaderGrid'); - var recGrid = document.getElementById('recGrid'); var new_value = element.value; - // Don't take focus away/adjust the record on partial changes - var length = element.getAttribute('maxlength'); - if(new_value.length < length) return true; var marc_rec = new MARC.Record ({ delimiter : '$', marcxml : xml_record.toXMLString() }); marc_rec.setFixedField(element.getAttribute('name'), new_value); diff --git a/Open-ILS/xul/staff_client/server/cat/marcedit.xul b/Open-ILS/xul/staff_client/server/cat/marcedit.xul index 7204883616..a2f38d7498 100644 --- a/Open-ILS/xul/staff_client/server/cat/marcedit.xul +++ b/Open-ILS/xul/staff_client/server/cat/marcedit.xul @@ -80,157 +80,157 @@