dhis2-devs team mailing list archive
-
dhis2-devs team
-
Mailing list archive
-
Message #27954
[Branch ~dhis2-devs-core/dhis2/trunk] Rev 13940: GIS, sorting issue fixed.
Merge authors:
Jan Henrik Øverland (janhenrik-overland)
------------------------------------------------------------
revno: 13940 [merge]
committer: Jan Henrik Overland <janhenrik.overland@xxxxxxxxx>
branch nick: dhis2
timestamp: Wed 2014-02-05 13:57:02 +0100
message:
GIS, sorting issue fixed.
modified:
dhis-2/dhis-web/dhis-web-mapping/src/main/webapp/dhis-web-mapping/app/scripts/app.js
dhis-2/dhis-web/dhis-web-mapping/src/main/webapp/dhis-web-mapping/app/scripts/core.js
--
lp:dhis2
https://code.launchpad.net/~dhis2-devs-core/dhis2/trunk
Your team DHIS 2 developers is subscribed to branch lp:dhis2.
To unsubscribe from this branch go to https://code.launchpad.net/~dhis2-devs-core/dhis2/trunk/+edit-subscription
=== modified file 'dhis-2/dhis-web/dhis-web-mapping/src/main/webapp/dhis-web-mapping/app/scripts/app.js'
--- dhis-2/dhis-web/dhis-web-mapping/src/main/webapp/dhis-web-mapping/app/scripts/app.js 2014-02-04 10:07:24 +0000
+++ dhis-2/dhis-web/dhis-web-mapping/src/main/webapp/dhis-web-mapping/app/scripts/app.js 2014-02-05 12:56:09 +0000
@@ -493,11 +493,14 @@
init.rootNodes[i].path = '/root/' + init.rootNodes[i].id;
}
+ // sort organisation unit levels
+ gis.util.array.sort(init.organisationUnitLevels, 'ASC', 'level');
+
// sort indicator groups
- gis.util.object.sortObjectsByString(init.indicatorGroups);
+ gis.util.array.sort(init.indicatorGroups);
// sort data element groups
- gis.util.object.sortObjectsByString(init.dataElementGroups);
+ gis.util.array.sort(init.dataElementGroups);
}());
// store
=== modified file 'dhis-2/dhis-web/dhis-web-mapping/src/main/webapp/dhis-web-mapping/app/scripts/core.js'
--- dhis-2/dhis-web/dhis-web-mapping/src/main/webapp/dhis-web-mapping/app/scripts/core.js 2014-02-04 10:07:24 +0000
+++ dhis-2/dhis-web/dhis-web-mapping/src/main/webapp/dhis-web-mapping/app/scripts/core.js 2014-02-05 12:56:09 +0000
@@ -2379,26 +2379,9 @@
cmpArray[i].queryMode = mode;
}
};
-
+
util.object = {};
-
- util.object.sortObjectsByString = function(array, key) {
- key = key || 'name';
- array.sort( function(a, b) {
- var nameA = a[key].toLowerCase(),
- nameB = b[key].toLowerCase();
-
- if (nameA < nameB) {
- return -1;
- }
- if (nameA > nameB) {
- return 1;
- }
- return 0;
- });
- return array;
- };
-
+
util.object.getLength = function(object) {
var size = 0;
@@ -2410,6 +2393,49 @@
return size;
};
+
+ util.array = {};
+
+ util.array.sort = function(array, direction, key) {
+ // accepts [number], [string], [{prop: number}], [{prop: string}]
+
+ if (!util.object.getLength(array)) {
+ return;
+ }
+
+ key = key || 'name';
+
+ array.sort( function(a, b) {
+
+ // if object, get the property values
+ if (Ext.isObject(a) && Ext.isObject(b) && key) {
+ a = a[key];
+ b = b[key];
+ }
+
+ // string
+ if (Ext.isString(a) && Ext.isString(b)) {
+ a = a.toLowerCase();
+ b = b.toLowerCase();
+
+ if (direction === 'DESC') {
+ return a < b ? 1 : (a > b ? -1 : 0);
+ }
+ else {
+ return a < b ? -1 : (a > b ? 1 : 0);
+ }
+ }
+
+ // number
+ else if (Ext.isNumber(a) && Ext.isNumber(b)) {
+ return direction === 'DESC' ? b - a : a - b;
+ }
+
+ return 0;
+ });
+
+ return array;
+ };
}());
gis.init = init;