From 0f6ec1ea2c6d7aba2bf790de87bf8f187921b994 Mon Sep 17 00:00:00 2001 From: Jason Etheridge Date: Mon, 2 Apr 2012 17:07:55 -0400 Subject: [PATCH] don't let function keys lock the MARC editor lock = put the interface into a state where it prompts with an unsaved data warning before closing the interface Signed-off-by: Jason Etheridge Conflicts: Open-ILS/xul/staff_client/server/cat/marcedit.js Open-ILS/xul/staff_client/server/cat/marcedit.xul Signed-off-by: Pasi Kallinen Signed-off-by: Dan Wells --- .../xul/staff_client/server/cat/marcedit.js | 44 +++++- .../xul/staff_client/server/cat/marcedit.xul | 136 +++++++++--------- 2 files changed, 111 insertions(+), 69 deletions(-) diff --git a/Open-ILS/xul/staff_client/server/cat/marcedit.js b/Open-ILS/xul/staff_client/server/cat/marcedit.js index 614061f835..e91d40fa4e 100644 --- a/Open-ILS/xul/staff_client/server/cat/marcedit.js +++ b/Open-ILS/xul/staff_client/server/cat/marcedit.js @@ -489,11 +489,53 @@ function setFocusToNextTag (row, direction) { return true; } +function set_lock_on_keypress(ev) { + try { + //dump('keypress: isChar = ' + ev.isChar + ' char = ' + ev.char + ' charCode = ' + ev.charCode + ' key = ' + ev.key + ' keyCode = ' + ev.keyCode + '\n'); + if (! /* NOT */( + ev.altKey + || ev.ctrlKey + || ev.metaKey + || ev.keyCode == ev.DOM_VK_F1 + || ev.keyCode == ev.DOM_VK_F2 + || ev.keyCode == ev.DOM_VK_F3 + || ev.keyCode == ev.DOM_VK_F4 + || ev.keyCode == ev.DOM_VK_F5 + || ev.keyCode == ev.DOM_VK_F6 + || ev.keyCode == ev.DOM_VK_F7 + || ev.keyCode == ev.DOM_VK_F8 + || ev.keyCode == ev.DOM_VK_F9 + || ev.keyCode == ev.DOM_VK_F10 + || ev.keyCode == ev.DOM_VK_F11 + || ev.keyCode == ev.DOM_VK_F12 + || ev.keyCode == ev.DOM_VK_F13 + || ev.keyCode == ev.DOM_VK_F14 + || ev.keyCode == ev.DOM_VK_F15 + || ev.keyCode == ev.DOM_VK_F16 + || ev.keyCode == ev.DOM_VK_F17 + || ev.keyCode == ev.DOM_VK_F18 + || ev.keyCode == ev.DOM_VK_F19 + || ev.keyCode == ev.DOM_VK_F20 + || ev.keyCode == ev.DOM_VK_F21 + || ev.keyCode == ev.DOM_VK_F22 + || ev.keyCode == ev.DOM_VK_F23 + || ev.keyCode == ev.DOM_VK_F24 + )) { + oils_lock_page(); + } + } catch(E) { + alert(E); + } +} function createMARCTextbox (element,attrs) { var box = createComplexXULElement('textbox', attrs, Array.prototype.slice.apply(arguments, [2]) ); - box.addEventListener('keypress',function(ev) { if (!(ev.altKey || ev.ctrlKey || ev.metaKey)) { oils_lock_page(); } },false); + box.addEventListener( + 'keypress', + set_lock_on_keypress, + false + ); box.onkeypress = function (event) { var root_node; var node = element; diff --git a/Open-ILS/xul/staff_client/server/cat/marcedit.xul b/Open-ILS/xul/staff_client/server/cat/marcedit.xul index 2d74ec2051..4a1c7eaae9 100644 --- a/Open-ILS/xul/staff_client/server/cat/marcedit.xul +++ b/Open-ILS/xul/staff_client/server/cat/marcedit.xul @@ -46,9 +46,9 @@ @@ -80,157 +80,157 @@ @@ -258,7 +258,7 @@