Only update MARC on full entry of fixed fields
authorThomas Berezansky <tsbere@mvlc.org>
Thu, 28 Jul 2011 15:04:36 +0000 (11:04 -0400)
committerMike Rylander <mrylander@gmail.com>
Thu, 4 Aug 2011 18:46:59 +0000 (14:46 -0400)
AKA:
Lang is 3 characters long. Entering 1 character would cause focus to leave.
MARC would also update incorrectly.

This only triggers the update when the full 3 characters are entered.

This not only prevents issues with catalogers editing multi-character fixed
fields but also makes it less likely they accidentally corrupt the records.

Signed-off-by: Thomas Berezansky <tsbere@mvlc.org>
Signed-off-by: Mike Rylander <mrylander@gmail.com>
Open-ILS/xul/staff_client/server/cat/marcedit.js

index 3925acb..7ea4e04 100644 (file)
@@ -816,6 +816,9 @@ 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);