Replaces some of the xul labels with xul descriptions, which we've made selectable...
authorphasefx <phasefx@dcc99617-32d9-48b4-a31d-7c20da2025e4>
Thu, 24 Sep 2009 01:54:51 +0000 (01:54 +0000)
committerphasefx <phasefx@dcc99617-32d9-48b4-a31d-7c20da2025e4>
Thu, 24 Sep 2009 01:54:51 +0000 (01:54 +0000)
summary with an HTML-based interface for printability; you can not easily print a XUL interface.

git-svn-id: svn://svn.open-ils.org/ILS/trunk@14138 dcc99617-32d9-48b4-a31d-7c20da2025e4

Open-ILS/xul/staff_client/server/patron/summary.js
Open-ILS/xul/staff_client/server/patron/summary_overlay.xul

index 16eaa00..ccfb7c0 100644 (file)
@@ -9,6 +9,7 @@ patron.summary = function (params) {
        JSAN.use('util.error'); this.error = new util.error();
        JSAN.use('util.window'); this.window = new util.window();
        JSAN.use('util.network'); this.network = new util.network();
+    JSAN.use('util.widgets');
        this.w = window;
 }
 
@@ -40,14 +41,8 @@ patron.summary.prototype = {
                                                ['render'],
                                                function(e) {
                                                        return function() {
-                                                               JSAN.use('util.widgets');
-                                                               util.widgets.remove_children( e );
+                                                               util.widgets.set_text( e, obj.patron.alert_message() || '' );
                                                                if (obj.patron.alert_message()) {
-                                                                       e.appendChild(
-                                                                               document.createTextNode(
-                                                                                       obj.patron.alert_message()
-                                                                               )
-                                                                       );
                                                                        e.parentNode.hidden = false;
                                                                } else {
                                                                        e.parentNode.hidden = true;
@@ -59,7 +54,7 @@ patron.summary.prototype = {
                                                ['render'],
                                                function(e) {
                                                        return function() {
-                                                               e.setAttribute('value',obj.patron.usrname());
+                                                               util.widgets.set_text(e,obj.patron.usrname());
                                                        };
                                                }
                                        ],
@@ -67,7 +62,7 @@ patron.summary.prototype = {
                                                ['render'],
                                                function(e) {
                                                        return function() { 
-                                                               e.setAttribute('value',
+                                                               util.widgets.set_text(e,
                                                                        obj.OpenILS.data.hash.pgt[
                                                                                obj.patron.profile()
                                                                        ].name()
@@ -79,7 +74,7 @@ patron.summary.prototype = {
                                                ['render'],
                                                function(e) {
                                                        return function() { 
-                                                               e.setAttribute('value',
+                                                               util.widgets.set_text(e,
                                                                        patronStrings.getString('staff.patron.summary.patron_net_access') + 
                                                                        ' ' + obj.OpenILS.data.hash.cnal[
                                                                                obj.patron.net_access_level()
@@ -92,13 +87,12 @@ patron.summary.prototype = {
                                                ['render'],
                                                function(e) {
                                                        return function() {
-                                                               JSAN.use('util.widgets');
                                                                util.widgets.remove_children(e);
                                                                var penalties = obj.patron.standing_penalties();
                                 if (penalties.length == 0) {
                                                                        var row = document.createElement('row');
                                                                        var label = document.createElement('label');
-                                    label.setAttribute('value',patronStrings.getString('staff.patron.summary.standing_penalty.none'));
+                                    util.widgets.set_text(label,patronStrings.getString('staff.patron.summary.standing_penalty.none'));
                                     addCSSClass(label,'NO_PENALTY');
                                                                        row.appendChild(label);
                                                                        e.appendChild(row);
@@ -108,8 +102,8 @@ patron.summary.prototype = {
                                                                        var row = document.createElement('row');
                                                                        var label = document.createElement('label');
 
-                                                                       //x.setAttribute('value',penalties[i].penalty_type());
-                                                                       label.setAttribute('value',penalties[i].standing_penalty().label());
+                                                                       //util.widgets.set_text(e,penalties[i].penalty_type());
+                                                                       util.widgets.set_text(label,penalties[i].standing_penalty().label());
                                                                        row.appendChild(label);
 
                                                                var button = document.createElement('button');
@@ -174,7 +168,7 @@ patron.summary.prototype = {
                                                function(e) {
                                                        return function() { 
                                                                JSAN.use('util.money');
-                                                               e.setAttribute('value',
+                                                               util.widgets.set_text(e,
                                                                        '$' + 
                                                                        util.money.sanitize(
                                                                                obj.patron.credit_forward_balance()
@@ -187,12 +181,12 @@ patron.summary.prototype = {
                                                ['render'],
                                                function(e) {
                                                        return function() { 
-                                                               e.setAttribute('value','...');
+                                                               util.widgets.set_text(e,'...');
                                 var under_btn; 
                                 if (xulG) {
                                     if (xulG.display_window) {
                                         under_btn = xulG.display_window.document.getElementById('under_bills');
-                                        if (under_btn) under_btn.setAttribute('value','...');
+                                        if (under_btn) util.widgets.set_text(under_btn,'...');
                                     }
                                 }
                                                                obj.network.simple_request(
@@ -201,8 +195,8 @@ patron.summary.prototype = {
                                                                        function(req) {
                                                                                JSAN.use('util.money');
                                                                                var robj = req.getResultObject();
-                                                                               e.setAttribute('value', patronStrings.getFormattedString('staff.patron.summary.patron_bill.money', [util.money.sanitize( robj.balance_owed() )]));
-                                                                               if (under_btn) under_btn.setAttribute('value'
+                                                                               util.widgets.set_text(e, patronStrings.getFormattedString('staff.patron.summary.patron_bill.money', [util.money.sanitize( robj.balance_owed() )]));
+                                                                               if (under_btn) util.widgets.set_text(under_btn
                                             patronStrings.getFormattedString('staff.patron.summary.patron_bill.money', [util.money.sanitize( robj.balance_owed() )]));
                                                                        }
                                                                );
@@ -214,7 +208,7 @@ patron.summary.prototype = {
                                                                                JSAN.use('util.money');
                                                                                var list = req.getResultObject();
                                                                                if (typeof list.ilsevent != 'undefined') {
-                                                                                       e.setAttribute('value', '??? See Bills');
+                                                                                       util.widgets.set_text(e, '??? See Bills');
                                                                                        return;
                                                                                }
                                                                                var sum = 0;
@@ -224,7 +218,7 @@ patron.summary.prototype = {
                                                                                } 
                                                                                if (sum > 0) addCSSClass(document.documentElement,'PATRON_HAS_BILLS');
                                                                                JSAN.use('util.money');
-                                                                               e.setAttribute('value', '$' + util.money.sanitize( util.money.cents_as_dollars( sum ) ));
+                                                                               util.widgets.set_text(e, '$' + util.money.sanitize( util.money.cents_as_dollars( sum ) ));
                                                                        }
                                                                );
                                                                */
@@ -235,17 +229,17 @@ patron.summary.prototype = {
                                                ['render'],
                                                function(e) {
                                                        return function() { 
-                                                               e.setAttribute('value','...');
-                                                               var e2 = document.getElementById( 'patron_overdue' ); if (e2) e2.setAttribute('value','...');
-                                                               var e3 = document.getElementById( 'patron_claimed_returned' ); if (e3) e3.setAttribute('value','...');
-                                                               var e4 = document.getElementById( 'patron_long_overdue' ); if (e4) e4.setAttribute('value','...');
-                                                               var e5 = document.getElementById( 'patron_lost' ); if (e5) e5.setAttribute('value','...');
-                                                               var e6 = document.getElementById( 'patron_noncat' ); if (e6) e6.setAttribute('value','...');
+                                                               util.widgets.set_text(e,'...');
+                                                               var e2 = document.getElementById( 'patron_overdue' ); if (e2) util.widgets.set_text(e2,'...');
+                                                               var e3 = document.getElementById( 'patron_claimed_returned' ); if (e3) util.widgets.set_text(e3,'...');
+                                                               var e4 = document.getElementById( 'patron_long_overdue' ); if (e4) util.widgets.set_text(e4,'...');
+                                                               var e5 = document.getElementById( 'patron_lost' ); if (e5) util.widgets.set_text(e5,'...');
+                                                               var e6 = document.getElementById( 'patron_noncat' ); if (e6) util.widgets.set_text(e6,'...');
                                 var under_btn; 
                                 if (xulG) {
                                     if (xulG.display_window) {
                                         under_btn = xulG.display_window.document.getElementById('under_items');
-                                        if (under_btn) under_btn.setAttribute('value','...');
+                                        if (under_btn) util.widgets.set_text(under_btn,'...');
                                     }
                                 }
                                                                obj.network.simple_request(
@@ -254,12 +248,12 @@ patron.summary.prototype = {
                                                                        function(req) {
                                                                                try {
                                                                                        var robj = req.getResultObject();
-                                                                                       e.setAttribute('value', robj.out + robj.overdue + robj.claims_returned + robj.long_overdue );
-                                                                                       if (e2) e2.setAttribute('value', robj.overdue   );
-                                                                                       if (e3) e3.setAttribute('value', robj.claims_returned   );
-                                                                                       if (e4) e4.setAttribute('value', robj.long_overdue      );
-                                                                                       if (e5) e5.setAttribute('value', robj.lost      );
-                                            if (under_btn) under_btn.setAttribute('value'
+                                                                                       util.widgets.set_text(e, robj.out + robj.overdue + robj.claims_returned + robj.long_overdue );
+                                                                                       if (e2) util.widgets.set_text(e2, robj.overdue  );
+                                                                                       if (e3) util.widgets.set_text(e3, robj.claims_returned  );
+                                                                                       if (e4) util.widgets.set_text(e4, robj.long_overdue     );
+                                                                                       if (e5) util.widgets.set_text(e5, robj.lost     );
+                                            if (under_btn) util.widgets.set_text(under_btn
                                                 String( robj.out + robj.overdue + robj.claims_returned + robj.long_overdue) + 
                                                 ( robj.overdue > 0 ? '*' : '' )
                                             );
@@ -273,7 +267,7 @@ patron.summary.prototype = {
                                                                        [ ses(), obj.patron.id() ],
                                                                        function(req) {
                                                                                var robj = req.getResultObject();
-                                                                               if (e6) e6.setAttribute('value',robj.length);
+                                                                               if (e6) util.widgets.set_text(e6,robj.length);
                                                                        }
                                                                );
                                                        };
@@ -291,27 +285,27 @@ patron.summary.prototype = {
                                                ['render'],
                                                function(e) {
                                                        return function() { 
-                                                               e.setAttribute('value','...');
+                                                               util.widgets.set_text(e,'...');
                                                                var e2 = document.getElementById('patron_holds_available');
-                                                               if (e2) e2.setAttribute('value','...');
+                                                               if (e2) util.widgets.set_text(e2,'...');
                                 var under_btn; 
                                 if (xulG) {
                                     if (xulG.display_window) {
                                         under_btn = xulG.display_window.document.getElementById('under_holds');
-                                        if (under_btn) under_btn.setAttribute('value','...');
+                                        if (under_btn) util.widgets.set_text(under_btn,'...');
                                     }
                                 }
                                                                obj.network.simple_request(
                                                                        'FM_AHR_COUNT_RETRIEVE.authoritative',
                                                                        [ ses(), obj.patron.id() ],
                                                                        function(req) {
-                                                                               e.setAttribute('value',
+                                                                               util.widgets.set_text(e,
                                                                                        req.getResultObject().total
                                                                                );
-                                                                               if (e2) e2.setAttribute('value',
+                                                                               if (e2) util.widgets.set_text(e2,
                                                                                        req.getResultObject().ready
                                                                                );
-                                        if (under_btn) under_btn.setAttribute( 'value', req.getResultObject().ready + '/' + req.getResultObject().total );
+                                        if (under_btn) util.widgets.set_text(under_btn, req.getResultObject().ready + '/' + req.getResultObject().total );
                                                                        }
                                                                );
                                                        };
@@ -329,7 +323,7 @@ patron.summary.prototype = {
                                                ['render'],
                                                function(e) {
                                                        return function() { 
-                                                               e.setAttribute('value',
+                                                               util.widgets.set_text(e,
                                                                        obj.patron.card().barcode()
                                                                );
                                                        };
@@ -344,7 +338,7 @@ patron.summary.prototype = {
                                                                        obj.patron.ident_type()
                                                                ];
                                                                if (ident) ident_string = ident.name()
-                                                               e.setAttribute('value',
+                                                               util.widgets.set_text(e,
                                                                        ident_string
                                                                );
                                                        };
@@ -356,7 +350,7 @@ patron.summary.prototype = {
                                                        return function() { 
                                                                var val = obj.patron.ident_value();
                                                                val = val.replace(/.+(\d\d\d\d)$/,'xxxx$1');
-                                                               e.setAttribute('value', val);
+                                                               util.widgets.set_text(e, val);
                                                        };
                                                }
                                        ],
@@ -369,7 +363,7 @@ patron.summary.prototype = {
                                                                        obj.patron.ident_type2()
                                                                ];
                                                                if (ident) ident_string = ident.name()
-                                                               e.setAttribute('value',
+                                                               util.widgets.set_text(e,
                                                                        ident_string
                                                                );
                                                        };
@@ -381,7 +375,7 @@ patron.summary.prototype = {
                                                        return function() { 
                                                                var val = obj.patron.ident_value2();
                                                                val = val.replace(/.+(\d\d\d\d)$/,'xxxx$1');
-                                                               e.setAttribute('value', val);
+                                                               util.widgets.set_text(e, val);
                                                        };
                                                }
                                        ],
@@ -389,7 +383,7 @@ patron.summary.prototype = {
                                                ['render'],
                                                function(e) {
                                                        return function() { 
-                                                               e.setAttribute('value',
+                                                               util.widgets.set_text(e,
                                                                        patronStrings.getString('staff.patron.summary.expires_on') + ' ' + (
                                                                                obj.patron.expire_date() ?
                                                                                obj.patron.expire_date().substr(0,10) :
@@ -404,14 +398,25 @@ patron.summary.prototype = {
                                                function(e) {
                                                        return function() { 
                                 var hide_value = e.getAttribute('hide_value');
-                                                               e.setAttribute( hide_value == 'true' ? 'hidden_value' : 'value',
-                                                                       obj.patron.dob() ?
-                                                                       obj.patron.dob().substr(0,10) :
-                                    patronStrings.getString('staff.patron.field.unset') 
-                                                               );
-                                e.setAttribute( hide_value == 'false' ? 'hidden_value' : 'value',
-                                    patronStrings.getString('staff.patron.field.hidden') 
-                                );
+                                if ( hide_value == 'true' ) {
+                                    e.setAttribute( 'hidden_value',
+                                        obj.patron.dob() ?
+                                        obj.patron.dob().substr(0,10) :
+                                        patronStrings.getString('staff.patron.field.unset') 
+                                    );
+                                    util.widgets.set_text(e,
+                                        patronStrings.getString('staff.patron.field.hidden') 
+                                    );
+                                } else {
+                                    util.widgets.set_text(e,
+                                        obj.patron.dob() ?
+                                        obj.patron.dob().substr(0,10) :
+                                        patronStrings.getString('staff.patron.field.unset') 
+                                    );
+                                    e.setAttribute( 'hidden_value',
+                                        patronStrings.getString('staff.patron.field.hidden') 
+                                    );
+                                }
                                 var x = document.getElementById('PatronSummaryContact_date_of_birth_label');
                                 if (x) {
                                     var click_to_hide_dob = x.getAttribute('click_to_hide_dob');
@@ -419,9 +424,9 @@ patron.summary.prototype = {
                                         x.onclick = function() {
                                             hide_value = e.getAttribute('hide_value');
                                             e.setAttribute('hide_value', hide_value == 'true' ? 'false' : 'true'); 
-                                            var value = e.getAttribute('value');
+                                            var value = util.widgets.get_text(e);
                                             var hidden_value = e.getAttribute('hidden_value');
-                                            e.setAttribute('value',hidden_value);
+                                            util.widgets.set_text(e,hidden_value);
                                             e.setAttribute('hidden_value',value);
                                         }
                                     }
@@ -433,7 +438,7 @@ patron.summary.prototype = {
                                                ['render'],
                                                function(e) {
                                                        return function() { 
-                                                               e.setAttribute('value',
+                                                               util.widgets.set_text(e,
                                                                        obj.patron.day_phone()
                                                                );
                                                        };
@@ -443,7 +448,7 @@ patron.summary.prototype = {
                                                ['render'],
                                                function(e) {
                                                        return function() { 
-                                                               e.setAttribute('value',
+                                                               util.widgets.set_text(e,
                                                                        obj.patron.evening_phone()
                                                                );
                                                        };
@@ -453,7 +458,7 @@ patron.summary.prototype = {
                                                ['render'],
                                                function(e) {
                                                        return function() { 
-                                                               e.setAttribute('value',
+                                                               util.widgets.set_text(e,
                                                                        obj.patron.other_phone()
                                                                );
                                                        };
@@ -463,7 +468,7 @@ patron.summary.prototype = {
                                                ['render'],
                                                function(e) {
                                                        return function() { 
-                                                               e.setAttribute('value',
+                                                               util.widgets.set_text(e,
                                                                        obj.patron.email()
                                                                );
                                                        };
@@ -473,7 +478,7 @@ patron.summary.prototype = {
                                                ['render'],
                                                function(e) {
                                                        return function() { 
-                                                               e.setAttribute('value',
+                                                               util.widgets.set_text(e,
                                                                        obj.patron.alias()
                                                                );
                                                        };
@@ -493,7 +498,7 @@ patron.summary.prototype = {
                                                ['render'],
                                                function(e) {
                                                        return function() { 
-                                                               e.setAttribute('value',
+                                                               util.widgets.set_text(e,
                                                                        obj.OpenILS.data.hash.aou[
                                                                                obj.patron.home_ou()
                                                                        ].shortname()
@@ -510,7 +515,7 @@ patron.summary.prototype = {
                                                ['render'],
                                                function(e) {
                                                        return function() { 
-                                                               e.setAttribute('value',
+                                                               util.widgets.set_text(e,
                                                                        obj.OpenILS.data.hash.aou[
                                                                                obj.patron.home_ou()
                                                                        ].shortname()
@@ -527,7 +532,7 @@ patron.summary.prototype = {
                                                ['render'],
                                                function(e) {
                                                        return function() { 
-                                                               e.setAttribute('value',
+                                                               util.widgets.set_text(e,
                                                                        obj.patron.mailing_address().street1()
                                                                );
                                                                if (!get_bool(obj.patron.mailing_address().valid())){e.setAttribute('style','color: red');}
@@ -538,7 +543,7 @@ patron.summary.prototype = {
                                                ['render'],
                                                function(e) {
                                                        return function() { 
-                                                               e.setAttribute('value',
+                                                               util.widgets.set_text(e,
                                                                        obj.patron.mailing_address().street2()
                                                                );
                                                                if (!get_bool(obj.patron.mailing_address().valid())){e.setAttribute('style','color: red');}
@@ -549,7 +554,7 @@ patron.summary.prototype = {
                                                ['render'],
                                                function(e) {
                                                        return function() { 
-                                                               e.setAttribute('value',
+                                                               util.widgets.set_text(e,
                                                                        obj.patron.mailing_address().city()
                                                                );
                                                                if (!get_bool(obj.patron.mailing_address().valid())){e.setAttribute('style','color: red');}
@@ -560,7 +565,7 @@ patron.summary.prototype = {
                                                ['render'],
                                                function(e) {
                                                        return function() { 
-                                                               e.setAttribute('value',
+                                                               util.widgets.set_text(e,
                                                                        obj.patron.mailing_address().state()
                                                                );
                                                                if (!get_bool(obj.patron.mailing_address().valid())){e.setAttribute('style','color: red');}
@@ -571,7 +576,7 @@ patron.summary.prototype = {
                                                ['render'],
                                                function(e) {
                                                        return function() { 
-                                                               e.setAttribute('value',
+                                                               util.widgets.set_text(e,
                                                                        obj.patron.mailing_address().post_code()
                                                                );
                                                                if (!get_bool(obj.patron.mailing_address().valid())){e.setAttribute('style','color: red');}
@@ -582,7 +587,7 @@ patron.summary.prototype = {
                                                ['render'],
                                                function(e) {
                                                        return function() { 
-                                                               e.setAttribute('value',
+                                                               util.widgets.set_text(e,
                                                                        obj.patron.billing_address().street1()
                                                                );
                                                                if (!get_bool(obj.patron.billing_address().valid())){e.setAttribute('style','color: red');}
@@ -593,7 +598,7 @@ patron.summary.prototype = {
                                                ['render'],
                                                function(e) {
                                                        return function() { 
-                                                               e.setAttribute('value',
+                                                               util.widgets.set_text(e,
                                                                        obj.patron.billing_address().street2()
                                                                );
                                                                if (!get_bool(obj.patron.billing_address().valid())){e.setAttribute('style','color: red');}
@@ -604,7 +609,7 @@ patron.summary.prototype = {
                                                ['render'],
                                                function(e) {
                                                        return function() { 
-                                                               e.setAttribute('value',
+                                                               util.widgets.set_text(e,
                                                                        obj.patron.billing_address().city()
                                                                );
                                                                if (!get_bool(obj.patron.billing_address().valid())){e.setAttribute('style','color: red');}
@@ -615,7 +620,7 @@ patron.summary.prototype = {
                                                ['render'],
                                                function(e) {
                                                        return function() { 
-                                                               e.setAttribute('value',
+                                                               util.widgets.set_text(e,
                                                                        obj.patron.billing_address().state()
                                                                );
                                                                if (!get_bool(obj.patron.billing_address().valid())){e.setAttribute('style','color: red');}
@@ -626,7 +631,7 @@ patron.summary.prototype = {
                                                ['render'],
                                                function(e) {
                                                        return function() { 
-                                                               e.setAttribute('value',
+                                                               util.widgets.set_text(e,
                                                                        obj.patron.billing_address().post_code()
                                                                );
                                                                if (!get_bool(obj.patron.billing_address().valid())){e.setAttribute('style','color: red');}
@@ -666,7 +671,6 @@ patron.summary.prototype = {
                        }
                        //alert('shrink_state retrieved as ' + shrink_state);
                        if (shrink_state != 'false' && shrink_state) {
-                               JSAN.use('util.widgets');
                                //alert('clicking the widget');
                                util.widgets.click( arrow );
                        }
@@ -706,7 +710,7 @@ patron.summary.prototype = {
 
                                                                obj.patron = robj;
                                                                JSAN.use('patron.util');
-                                                               document.getElementById('patron_name').setAttribute('value',
+                                                               util.widgets.set_text('patron_name',
                                                                        ( obj.patron.prefix() ? obj.patron.prefix() + ' ' : '') + 
                                                                        obj.patron.family_name() + ', ' + 
                                                                        obj.patron.first_given_name() + ' ' +
index 914a5c3..caaeda5 100644 (file)
@@ -14,7 +14,7 @@
 </box>
 
 <vbox id="patron_info_sidebar" flex="1">
-       <label id="patron_name" hidden="true" class="patronNameLarge"/>
+       <description id="patron_name" hidden="true" class="patronNameLarge"/>
        <groupbox id="PatronSummaryAlert_groupbox" flex="0" hidden="true" class="alert">
                <caption id="psagbc" label="&staff.patron.summary_overlay.psagbc.alert.label;" class="shrinkable_groupbox"/>
                <description id="patron_alert"/>
        <caption label="&staff.patron_display.status.caption;" class="shrinkable_groupbox" />
        <grid style="border: solid thin"><columns><column/></columns><rows>
                <row hidden="true">
-                       <label id="patron_standing" />
+                       <description id="patron_standing" />
                </row>
                <row id="pdsgr1">
-                       <label id="patron_profile" class="profile value"/>
+                       <description id="patron_profile" class="profile value"/>
                </row>
                <row id="pdsgr5">
-                       <label id="patron_library" class="homelib value"/>
+                       <description id="patron_library" class="homelib value"/>
                </row>
                <row id="pdsgr5a">
-                       <label id="patron_net_access" class="net_access value"/>
+                       <description id="patron_net_access" class="net_access value"/>
                </row>
                <row id="pdsgr5aa">
-                       <label id="patron_date_of_exp" class="expire_date value"/>
+                       <description id="patron_date_of_exp" class="expire_date value"/>
                </row>
        </rows></grid>
        <grid id="PatronSummaryStatus_grid" flex="1"/>
                <row id="pdsgr4">
                        <label id="PatronSummaryStatus_holds_label" class="text_left holds label"
                                value="&staff.patron_display.holds.label;" />
-                       <label id="patron_holds" class="holds value"/>
+                       <description id="patron_holds" class="holds value"/>
                </row><row>
                        <label id="PatronSummaryStatus_holds_available_label" class="text_right holds_ready label"
                                value="&staff.patron_display.holds_available.label;"  style="background: grey"/>
-                       <label id="patron_holds_available" class="holds_ready label" style="background: grey"/>
+                       <description id="patron_holds_available" class="holds_ready label value" style="background: grey"/>
                </row>
                <row id="pdsgr2" class="hide_patron_credit" hidden="true">
                        <label id="PatronSummaryStatus_credit_label" class="text_left credit label"
                                value="&staff.patron_display.credit.label;" />
-                       <label id="patron_credit" class="credit value"/>
+                       <description id="patron_credit" class="credit value"/>
                </row><row>
                        <label id="PatronSummaryStatus_bills_label" class="text_left bill label"
                                value="&staff.patron_display.bills.label;" />
-                       <label id="patron_bill" class="bill value"/>
+                       <description id="patron_bill" class="bill value"/>
                </row>
                <row id="pdsgr3">
                        <label id="PatronSummaryStatus_checkouts_label" class="text_left items_out label"
                                value="&staff.patron_display.checkouts.label;" />
-                       <label id="patron_checkouts" class="items_out value"/>
+                       <description id="patron_checkouts" class="items_out value"/>
                </row>
                <row>
                        <label id="PatronSummaryStatus_checkouts_overdue_label" class="text_right items_overdue label"
                                value="&staff.patron_display.checkouts_overdue.label;" style="background: grey"/>
-                       <label id="patron_overdue" class="items_overdue value" style="background: grey"/>
+                       <description id="patron_overdue" class="items_overdue value" style="background: grey"/>
                </row>
                <row id="pdsgr5">
                        <label id="PatronSummaryStatus_long_overdue_label" value="&staff.patron.summary_overlay.overdue.value;" class="text_right items_long_overdue label" style="background: grey"/>
-                       <label id="patron_long_overdue" class="items_long_overdue value" style="background: grey"/>
+                       <description id="patron_long_overdue" class="items_long_overdue value" style="background: grey"/>
                </row>
                <row id="pdsgr7">
                        <label id="PatronSummaryStatus_claimed_returned_label" value="&staff.patron.summary_overlay.claimed_returned.value;" class="text_right items_long_overdue label" style="background: grey"/>
-                       <label id="patron_claimed_returned" class="items_claimed_returned value" style="background: grey"/>
+                       <description id="patron_claimed_returned" class="items_claimed_returned value" style="background: grey"/>
                </row>
                <row id="pdsgr6">
                        <label id="PatronSummaryStatus_lost_label" value="&staff.patron.summary_overlay.lost_label.value;" class="text_left items_lost label"/>
-                       <label id="patron_lost" class="items_lost value"/>
+                       <description id="patron_lost" class="items_lost value"/>
                </row>
                <row id="pdsgr6a">
                        <label id="PatronSummaryStatus_noncat_label" value="&staff.patron.summary_overlay.noncat_label.value;" class="text_left items_noncat label"/>
-                       <label id="patron_noncat" class="items_noncat value"/>
+                       <description id="patron_noncat" class="items_noncat value"/>
                </row>
        </rows>
 </grid>
                <row id="pdsgr0">
                        <label id="PatronSummaryContact_library_card_label" class="text_left card label"
                                value="&staff.patron_display.library_card.label;"/>
-                       <label id="patron_card" class="card value click_link" onclick="try { copy_to_clipboard(event); } catch(E) { alert(E); }"/>
+                       <description id="patron_card" class="card value click_link" onclick="try { copy_to_clipboard(event); } catch(E) { alert(E); }"/>
                </row>
                <row id="pdsgr1">
                        <label id="PatronSummaryContact_ident_label" class="text_left"
                                value="&staff.patron_display.ident1.label;"/>
                        <vbox id="pdsgr0h">
-                               <label id="patron_ident_type_1" class="ident ident_type ident1 value"/>
-                               <label id="patron_ident_value_1" class="ident ident_value ident1 value"/>
+                               <description id="patron_ident_type_1" class="ident ident_type ident1 value"/>
+                               <description id="patron_ident_value_1" class="ident ident_value ident1 value"/>
                        </vbox>
                </row>
                <row id="pdsgr2">
                        <label id="PatronSummaryContact_ident_label2" class="text_left"
                                value="&staff.patron_display.ident2.label;"/>
                        <vbox id="pdsgr0ah">
-                               <label id="patron_ident_type_2" class="ident ident_type ident2 value"/>
-                               <label id="patron_ident_value_2" class="ident ident_value ident2 value"/>
+                               <description id="patron_ident_type_2" class="ident ident_type ident2 value"/>
+                               <description id="patron_ident_value_2" class="ident ident_value ident2 value"/>
                        </vbox>
                </row>
                <row id="pdsgr3">
             <label id="PatronSummaryContact_date_of_birth_label" click_to_hide_dob="true" class="text_left dob label click_link" value="&staff.patron_display.date_of_birth.label;"/>
-            <label id="patron_date_of_birth" class="dob value" hide_value="true" oils_persist="hide_value"/>
+            <description id="patron_date_of_birth" class="dob value" hide_value="true" oils_persist="hide_value"/>
                </row>
                <row id="pdsgr4"><label id="pdsgr4l" value=" "/></row>
        </rows>
                <row id="pdcgpr1">
                        <label id="PatronSummaryContact_day_phone_label" class="text_left phone label day_phone"
                                value="&staff.patron_display.day_phone.label;" />
-                       <label id="patron_day_phone" class="phone value day_phone"/> 
+                       <description id="patron_day_phone" class="phone value day_phone"/> 
                </row>
                <row id="pdcgpr2">
                        <label id="PatronSummaryContact_evening_phone_label" class="text_left phone label evening_phone"
                                value="&staff.patron_display.evening_phone.label;" />
-                       <label id="patron_evening_phone" class="phone value evening_phone"/>
+                       <description id="patron_evening_phone" class="phone value evening_phone"/>
                </row>
                <row id="pdcgpr3">
                        <label id="PatronSummaryContact_other_phone_label" class="text_left phone label other_phone"
                                value="&staff.patron_display.other_phone.label;" />
-                       <label id="patron_other_phone" class="phone value other_phone"/> 
+                       <description id="patron_other_phone" class="phone value other_phone"/> 
                </row>
                <row id="pdsgpr4"><label id="pdsgpr4l" value=" "/></row>
                <row id="pdsgpr4a">
                        <label id="PatronSummaryContact_usrname_label" class="text_left usrname label"
                                value="&staff.patron.summary_overlay.opac_login.value;" />
-                       <label id="patron_usrname" class="usrname value"/>
+                       <description id="patron_usrname" class="usrname value"/>
                </row>
                <row id="pdcgpr5">
                        <label id="PatronSummaryContact_email_label" class="text_left email label"
                                value="&staff.patron_display.email.label;" />
-                       <label id="patron_email" class="email value" style="text-decoration: underline; color: blue; -moz-user-focus: normal;" onclick="copy_to_clipboard(event)"/>
+                       <description id="patron_email" class="email value" style="text-decoration: underline; color: blue; -moz-user-focus: normal;" onclick="copy_to_clipboard(event)"/>
                </row>
                <row id="pdsgpr6"><label id="pdsgpr6l" value=" "/></row>
 
 
 <groupbox id="PatronSummaryContact_mailing_address" orient="vertical">
        <caption id="pdcmac" label="&staff.patron_display.mailing_address;" class="shrinkable_groupbox"/>
-       <label id="patron_mailing_address_street1" tooltiptext="&staff.patron_display.mailing.street1.label;" class="address street street1 mailing"/>
-       <label id="patron_mailing_address_street2" tooltiptext="&staff.patron_display.mailing.street2.label;" class="address street street2 mailing"/>
+       <description id="patron_mailing_address_street1" tooltiptext="&staff.patron_display.mailing.street1.label;" class="address street street1 mailing value"/>
+       <description id="patron_mailing_address_street2" tooltiptext="&staff.patron_display.mailing.street2.label;" class="address street street2 mailing value"/>
        <hbox id="pdcmah">
-               <label id="patron_mailing_address_city" tooltiptext="&staff.patron_display.mailing.city.label;" class="address city mailing"/>
-               <label id="patron_mailing_address_state" tooltiptext="&staff.patron_display.mailing.state.label;" class="address state mailing"/>
-               <label id="patron_mailing_address_post_code" tooltiptext="&staff.patron_display.mailing.post_code.label;" class="address post_code mailing"/>
+               <description id="patron_mailing_address_city" tooltiptext="&staff.patron_display.mailing.city.label;" class="address city mailing value"/>
+               <description id="patron_mailing_address_state" tooltiptext="&staff.patron_display.mailing.state.label;" class="address state mailing value"/>
+               <description id="patron_mailing_address_post_code" tooltiptext="&staff.patron_display.mailing.post_code.label;" class="address post_code mailing value"/>
        </hbox>
     <hbox>
         <spacer flex="1" />
 
 <groupbox id="PatronSummaryContact_physical_address" orient="vertical">
        <caption id="pdcpac" label="&staff.patron_display.physical_address;" class="shrinkable_groupbox"/>
-       <label id="patron_physical_address_street1" tooltiptext="&staff.patron_display.physical.street1.label;" class="address street street1 physical" />
-       <label id="patron_physical_address_street2" tooltiptext="&staff.patron_display.physical.street2.label;"  class="address street street2 physical"/>
+       <description id="patron_physical_address_street1" tooltiptext="&staff.patron_display.physical.street1.label;" class="address street street1 physical value" />
+       <description id="patron_physical_address_street2" tooltiptext="&staff.patron_display.physical.street2.label;"  class="address street street2 physical value"/>
        <hbox id="pdcpah">
-               <label id="patron_physical_address_city" tooltiptext="&staff.patron_display.physical.city.label;" class="address city physical"/>
-               <label id="patron_physical_address_state" tooltiptext="&staff.patron_display.physical.state.label;" class="address state physical"/>
-               <label id="patron_physical_address_post_code" tooltiptext="&staff.patron_display.physical.post_code.label;" class="address post_code physical"/>
+               <description id="patron_physical_address_city" tooltiptext="&staff.patron_display.physical.city.label;" class="address city physical value"/>
+               <description id="patron_physical_address_state" tooltiptext="&staff.patron_display.physical.state.label;" class="address state physical value"/>
+               <description id="patron_physical_address_post_code" tooltiptext="&staff.patron_display.physical.post_code.label;" class="address post_code physical value"/>
        </hbox>
     <hbox>
         <spacer flex="1" />