Backport Warren Layton's patch for sorting Z39.50 servers from rel_1_6 (r14015)
authordbs <dbs@dcc99617-32d9-48b4-a31d-7c20da2025e4>
Fri, 5 Mar 2010 15:49:39 +0000 (15:49 +0000)
committerdbs <dbs@dcc99617-32d9-48b4-a31d-7c20da2025e4>
Fri, 5 Mar 2010 15:49:39 +0000 (15:49 +0000)
git-svn-id: svn://svn.open-ils.org/ILS/branches/rel_1_6_0@15709 dcc99617-32d9-48b4-a31d-7c20da2025e4

Open-ILS/xul/staff_client/server/cat/z3950.js

index d3d7fce..0ef2079 100644 (file)
@@ -345,18 +345,28 @@ cat.z3950.prototype = {
                                                                                if (typeof robj.ilsevent != 'undefined') throw(robj);
                                                                                obj.services = robj;
                                         var x = document.getElementById('service_rows');
+                                        var services = new Array();
                                                                                for (var i in obj.services) {
+                                            var label;
+                                            if (obj.services[i].label) {
+                                                label = obj.services[i].label;
+                                            } else if (obj.services[i].name) {
+                                                label = obj.services[i].name;
+                                            } else {
+                                                label = i;
+                                            }
+                                            var j = [label, i];
+                                            services.push(j);
+                                        }
+                                        services.sort();
+                                        for (var j=0; j < services.length; j++) {
+                                            var i = services[j][1];
+
                                             try {
                                                 if (i == 'native-evergreen-catalog') continue;
                                                 var r = document.createElement('row'); x.appendChild(r);
                                                 var cb = document.createElement('checkbox'); 
-                                                    if (obj.services[i].label) {
-                                                        cb.setAttribute('label',obj.services[i].label);
-                                                    } else if (obj.services[i].name) {
-                                                        cb.setAttribute('label',obj.services[i].name);
-                                                    } else {
-                                                        cb.setAttribute('label',i);
-                                                    }
+                                                cb.setAttribute('label',services[j][0]);
                                                     cb.setAttribute('tooltiptext',i + ' : ' + obj.services[i].db + '@' + obj.services[i].host + ':' + obj.services[i].port); 
                                                     cb.setAttribute('mytype','service_class'); cb.setAttribute('service',i);
                                                     cb.setAttribute('id',i+'_service'); r.appendChild(cb);