Set a sane initial MFHD Editor size
authorDan Scott <dscott@laurentian.ca>
Thu, 9 Aug 2012 20:31:44 +0000 (16:31 -0400)
committerMike Rylander <mrylander@gmail.com>
Fri, 10 Aug 2012 12:43:01 +0000 (08:43 -0400)
For most MFHD records, the size of the MARC Editor window when spawned
fits into the confines of a normal desktop. However, for MFHD records
with dozens or more rows, the window chrome can be inaccessible because
it is bumped off the top of the Windows desktop. This makes it
impossible for users to close the window without a workaround like
hitting ALT+F4

This branch sets the window to an initial height of 40 pixels less than
the height of the entire staff client window. This should be enough to
enable the chrome on top to be visible. In addition, we have to set the
width to something reasonable because XUL seems to otherwise set the
window to be extremely skinny once an explicit height is set, so we set
that to be half the width of the staff client window.

Finally, we allow the new window to be resizable according to the user's
preference.

Signed-off-by: Dan Scott <dscott@laurentian.ca>
Signed-off-by: Mike Rylander <mrylander@gmail.com>

Open-ILS/xul/staff_client/chrome/content/cat/opac.js

index 9151ab1..807f2f0 100644 (file)
@@ -736,7 +736,11 @@ function open_mfhd_editor(sre_id) {
 }
 
 function open_marc_editor(rec, label) {
-    win = window.open( xulG.url_prefix('XUL_MARC_EDIT'), '', 'chrome' );
+    /* Prevent the spawned MARC editor from making its title bar inaccessible */
+    var initHeight = self.outerHeight - 40;
+    /* Setting an explicit height results in a super skinny window, so fix that up */
+    var initWidth = self.outerWidth / 2;
+    win = window.open( xulG.url_prefix('XUL_MARC_EDIT'), '', 'chrome,resizable,height=' + initHeight + ',width=' + initWidth );
 
     win.xulG = {
         record : {marc : rec.marc()},