LP#520632 Fix for-loop over orgArraySearcher to preserve order
authorMichael Peters <mrpeters@library.in.gov>
Thu, 29 Mar 2012 18:59:20 +0000 (14:59 -0400)
committerMike Rylander <mrylander@gmail.com>
Thu, 29 Mar 2012 19:16:53 +0000 (15:16 -0400)
Authored by Remington Steed

This commit fixes the sort order in IE, Google Chrome of the
org unit's when choosing a search depth.

Signed-off-by: Remington Steed <rjs7@calvin.edu>
Signed-off-by: Michael Peters <mrpeters@library.in.gov>
Signed-off-by: Mike Rylander <mrylander@gmail.com>
Open-ILS/web/opac/common/js/opac_utils.js
Open-ILS/web/opac/common/js/org_utils.js

index aae4746..78557b6 100644 (file)
@@ -881,8 +881,8 @@ function buildOrgSelector(node) {
        var tree = new SlimTree(node,'orgTreeSelector');
        orgTreeSelector = tree;
        var orgHiding = checkOrgHiding();
-       for( var i in orgArraySearcher ) { 
-               var node = orgArraySearcher[i];
+       for (var i = 0; i < orgArraySearcherOrder.length; i++) {
+               var node = orgArraySearcher[orgArraySearcherOrder[i]];
                if( node == null ) continue;
                if(!isXUL() && !isTrue(node.opac_visible())) continue; 
                if (orgHiding) {
index 091d277..3a12a49 100644 (file)
@@ -128,6 +128,7 @@ function orgIsMineFromSet(meList, org) {
 }
 
 var orgArraySearcher = {};
+var orgArraySearcherOrder = [];
 var globalOrgTree;
 for (var i = 0; i < _l.length; i++) {
        var x = new aou();
@@ -135,12 +136,13 @@ for (var i = 0; i < _l.length; i++) {
        x.ou_type(_l[i][1]);
        x.parent_ou(_l[i][2]);
        x.name(_l[i][3]);
-    x.opac_visible(_l[i][4]);
-    x.shortname(_l[i][5]);
+       x.opac_visible(_l[i][4]);
+       x.shortname(_l[i][5]);
        orgArraySearcher[x.id()] = x;
+       orgArraySearcherOrder.push(x.id());
 }
-for (var i in orgArraySearcher) {
-       var x = orgArraySearcher[i];
+for (var i = 0; i < orgArraySearcherOrder.length; i++) {
+       var x = orgArraySearcher[orgArraySearcherOrder[i]];
        if (x.parent_ou() == null || x.parent_ou() == '') {
                globalOrgTree = x;
                continue;