title sorting and default upper case string sorting
authorpines <pines@dcc99617-32d9-48b4-a31d-7c20da2025e4>
Sat, 26 Aug 2006 07:34:06 +0000 (07:34 +0000)
committerpines <pines@dcc99617-32d9-48b4-a31d-7c20da2025e4>
Sat, 26 Aug 2006 07:34:06 +0000 (07:34 +0000)
git-svn-id: svn://svn.open-ils.org/ILS/trunk@5705 dcc99617-32d9-48b4-a31d-7c20da2025e4

Open-ILS/xul/staff_client/chrome/content/util/list.js
Open-ILS/xul/staff_client/server/circ/util.js

index 4fc1b82..11a1eae 100644 (file)
@@ -843,9 +843,7 @@ util.list.prototype = {
                                                        var treeitem = treeitems[i];
                                                        var treerow = treeitem.firstChild;
                                                        var treecell = treerow.childNodes[ col_pos ];
-                                                       //alert('treeitem = ' + treeitem.nodeName + ' treeitem.childNodes.length = ' + treeitem.childNodes.length + ' treerow = ' + treerow.nodeName + ' treerow.childNodes.length = ' + treerow.childNodes.length + ' col_pos = ' + col_pos + ' treecell = ' + treecell);
                                                        value = ( { 'value' : treecell ? treecell.getAttribute('label') : '', 'node' : treeitem } );
-                                                       //alert('value = ' + value.value + ' node = ' + value.node);
                                                        rows.push( value );
                                                }
                                                rows = rows.sort( function(a,b) { 
@@ -859,6 +857,14 @@ util.list.prototype = {
                                                                                a = util.money.dollars_float_to_cents_integer(a);
                                                                                b = util.money.dollars_float_to_cents_integer(b);
                                                                        break;
+                                                                       case 'title' : /* special case for "a" and "the".  doesn't use marc 245 indicator */
+                                                                               a = String( a ).toUpperCase().replace( /^(THE|A)\s+/, '' );
+                                                                               b = String( b ).toUpperCase().replace( /^(THE|A)\s+/, '' );
+                                                                       break;
+                                                                       default:
+                                                                               a = String( a ).toUpperCase();
+                                                                               b = String( a ).toUpperCase();
+                                                                       break;
                                                                }
                                                        }
                                                        if (a < b) return -1; 
index 333980d..8f67104 100644 (file)
@@ -469,7 +469,7 @@ circ.util.columns = function(modify,params) {
                        'primary' : false, 'hidden' : true, 'render' : 'my.acp.edit_date().substr(0,10)'
                },
                {
-                       'persist' : 'hidden width ordinal', 'id' : 'title', 'label' : getString('staff.mvr_label_title'), 'flex' : 2,
+                       'persist' : 'hidden width ordinal', 'id' : 'title', 'label' : getString('staff.mvr_label_title'), 'flex' : 2, 'sort_type' : 'title',
                        'primary' : false, 'hidden' : true, 'render' : 'try { my.mvr.title(); } catch(E) { my.acp.dummy_title(); }'
                },
                {
@@ -700,7 +700,7 @@ circ.util.hold_columns = function(modify,params) {
                        'primary' : false, 'hidden' : true,  'render' : 'my.ahr.usr()'
                },
                {
-                       'persist' : 'hidden width ordinal', 'id' : 'title', 'label' : getString('staff.mvr_label_title'), 'flex' : 1,
+                       'persist' : 'hidden width ordinal', 'id' : 'title', 'label' : getString('staff.mvr_label_title'), 'flex' : 1, 'sort_type' : 'title',
                        'primary' : false, 'hidden' : true, 'render' : 'my.mvr ? my.mvr.title() : "No Title?"'
                },
                {