dhis2-devs team mailing list archive
-
dhis2-devs team
-
Mailing list archive
-
Message #36559
[Branch ~dhis2-devs-core/dhis2/trunk] Rev 18702: ER period sorting.
Merge authors:
Jan Henrik Øverland (janhenrik-overland)
------------------------------------------------------------
revno: 18702 [merge]
committer: Jan Henrik Overland <janhenrik.overland@xxxxxxxxx>
branch nick: dhis2
timestamp: Fri 2015-03-27 00:37:27 +0100
message:
ER period sorting.
modified:
dhis-2/dhis-web/dhis-web-apps/src/main/webapp/dhis-web-event-reports/scripts/app.js
dhis-2/dhis-web/dhis-web-apps/src/main/webapp/dhis-web-event-reports/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-apps/src/main/webapp/dhis-web-event-reports/scripts/app.js'
--- dhis-2/dhis-web/dhis-web-apps/src/main/webapp/dhis-web-event-reports/scripts/app.js 2015-03-24 17:21:46 +0000
+++ dhis-2/dhis-web/dhis-web-apps/src/main/webapp/dhis-web-event-reports/scripts/app.js 2015-03-26 23:35:39 +0000
@@ -3832,8 +3832,10 @@
baseWidth = 446,
toolWidth = 36,
+ accBaseWidth = baseWidth - 2,
- accBaseWidth = baseWidth - 2;
+ conf = ns.core.conf,
+ rp = conf.period.relativePeriods;
// stores
@@ -4756,22 +4758,22 @@
},
{
xtype: 'checkbox',
- relativePeriodId: 'LAST_WEEK',
+ relativePeriodId: rp[rp.push('LAST_WEEK') - 1],
boxLabel: NS.i18n.last_week
},
{
xtype: 'checkbox',
- relativePeriodId: 'LAST_4_WEEKS',
+ relativePeriodId: rp[rp.push('LAST_4_WEEKS') - 1],
boxLabel: NS.i18n.last_4_weeks
},
{
xtype: 'checkbox',
- relativePeriodId: 'LAST_12_WEEKS',
+ relativePeriodId: rp[rp.push('LAST_12_WEEKS') - 1],
boxLabel: NS.i18n.last_12_weeks
},
{
xtype: 'checkbox',
- relativePeriodId: 'LAST_52_WEEKS',
+ relativePeriodId: rp[rp.push('LAST_52_WEEKS') - 1],
boxLabel: NS.i18n.last_52_weeks
}
]
@@ -4791,22 +4793,22 @@
},
{
xtype: 'checkbox',
- relativePeriodId: 'LAST_MONTH',
+ relativePeriodId: rp[rp.push('LAST_MONTH') - 1],
boxLabel: NS.i18n.last_month
},
{
xtype: 'checkbox',
- relativePeriodId: 'LAST_3_MONTHS',
+ relativePeriodId: rp[rp.push('LAST_3_MONTHS') - 1],
boxLabel: NS.i18n.last_3_months
},
{
xtype: 'checkbox',
- relativePeriodId: 'LAST_6_MONTHS',
+ relativePeriodId: rp[rp.push('LAST_6_MONTHS') - 1],
boxLabel: NS.i18n.last_6_months
},
{
xtype: 'checkbox',
- relativePeriodId: 'LAST_12_MONTHS',
+ relativePeriodId: rp[rp.push('LAST_12_MONTHS') - 1],
boxLabel: NS.i18n.last_12_months,
checked: true
}
@@ -4827,12 +4829,12 @@
},
{
xtype: 'checkbox',
- relativePeriodId: 'LAST_BIMONTH',
+ relativePeriodId: rp[rp.push('LAST_BIMONTH') - 1],
boxLabel: NS.i18n.last_bimonth
},
{
xtype: 'checkbox',
- relativePeriodId: 'LAST_6_BIMONTHS',
+ relativePeriodId: rp[rp.push('LAST_6_BIMONTHS') - 1],
boxLabel: NS.i18n.last_6_bimonths
}
]
@@ -4852,12 +4854,12 @@
},
{
xtype: 'checkbox',
- relativePeriodId: 'LAST_QUARTER',
+ relativePeriodId: rp[rp.push('LAST_QUARTER') - 1],
boxLabel: NS.i18n.last_quarter
},
{
xtype: 'checkbox',
- relativePeriodId: 'LAST_4_QUARTERS',
+ relativePeriodId: rp[rp.push('LAST_4_QUARTERS') - 1],
boxLabel: NS.i18n.last_4_quarters
}
]
@@ -4877,12 +4879,12 @@
},
{
xtype: 'checkbox',
- relativePeriodId: 'LAST_SIX_MONTH',
+ relativePeriodId: rp[rp.push('LAST_SIX_MONTH') - 1],
boxLabel: NS.i18n.last_sixmonth
},
{
xtype: 'checkbox',
- relativePeriodId: 'LAST_2_SIXMONTHS',
+ relativePeriodId: rp[rp.push('LAST_2_SIXMONTHS') - 1],
boxLabel: NS.i18n.last_2_sixmonths
}
]
@@ -4903,17 +4905,17 @@
},
{
xtype: 'checkbox',
- relativePeriodId: 'THIS_FINANCIAL_YEAR',
+ relativePeriodId: rp[rp.push('THIS_FINANCIAL_YEAR') - 1],
boxLabel: NS.i18n.this_financial_year
},
{
xtype: 'checkbox',
- relativePeriodId: 'LAST_FINANCIAL_YEAR',
+ relativePeriodId: rp[rp.push('LAST_FINANCIAL_YEAR') - 1],
boxLabel: NS.i18n.last_financial_year
},
{
xtype: 'checkbox',
- relativePeriodId: 'LAST_5_FINANCIAL_YEARS',
+ relativePeriodId: rp[rp.push('LAST_5_FINANCIAL_YEARS') - 1],
boxLabel: NS.i18n.last_5_financial_years
}
]
@@ -4933,17 +4935,17 @@
},
{
xtype: 'checkbox',
- relativePeriodId: 'THIS_YEAR',
+ relativePeriodId: rp[rp.push('THIS_YEAR') - 1],
boxLabel: NS.i18n.this_year
},
{
xtype: 'checkbox',
- relativePeriodId: 'LAST_YEAR',
+ relativePeriodId: rp[rp.push('LAST_YEAR') - 1],
boxLabel: NS.i18n.last_year
},
{
xtype: 'checkbox',
- relativePeriodId: 'LAST_5_YEARS',
+ relativePeriodId: rp[rp.push('LAST_5_YEARS') - 1],
boxLabel: NS.i18n.last_5_years
}
]
=== modified file 'dhis-2/dhis-web/dhis-web-apps/src/main/webapp/dhis-web-event-reports/scripts/core.js'
--- dhis-2/dhis-web/dhis-web-apps/src/main/webapp/dhis-web-event-reports/scripts/core.js 2015-03-24 08:59:35 +0000
+++ dhis-2/dhis-web/dhis-web-apps/src/main/webapp/dhis-web-event-reports/scripts/core.js 2015-03-26 23:35:39 +0000
@@ -128,7 +128,8 @@
{id: 'FinancialOct', name: NS.i18n.financial_oct},
{id: 'FinancialJuly', name: NS.i18n.financial_july},
{id: 'FinancialApril', name: NS.i18n.financial_april}
- ]
+ ],
+ relativePeriods: []
};
conf.layout = {
@@ -675,6 +676,32 @@
return array;
};
+ support.prototype.array.sortArrayByArray = function(array, reference, isNotDistinct) {
+ var tmp = [];
+
+ // copy and clear
+ for (var i = 0; i < array.length; i++) {
+ tmp[tmp.length] = array[i];
+ }
+
+ array.length = 0;
+
+ // sort
+ for (var i = 0; i < reference.length; i++) {
+ for (var j = 0; j < tmp.length; j++) {
+ if (tmp[j] === reference[i]) {
+ array.push(tmp[j]);
+
+ if (!isNotDistinct) {
+ break;
+ }
+ }
+ }
+ }
+
+ return array;
+ };
+
support.prototype.array.uniqueByProperty = function(array, property) {
var names = [],
uniqueItems = [];
@@ -1841,6 +1868,7 @@
var emptyId = '[N/A]',
meta = ['ou', 'pe'],
ouHierarchy,
+ md,
names,
headers,
booleanNameMap = {
@@ -1849,13 +1877,15 @@
};
response = Ext.clone(response);
+ md = response.metaData;
headers = response.headers;
- ouHierarchy = response.metaData.ouHierarchy,
- names = response.metaData.names;
+ ouHierarchy = md.ouHierarchy,
+ names = md.names;
names[emptyId] = emptyId;
- response.metaData.optionNames = {};
- response.metaData.booleanNames = {};
+ md.optionNames = {};
+ md.booleanNames = {};
+
response.nameHeaderMap = {};
response.idValueMap = {};
@@ -1894,6 +1924,23 @@
support.prototype.array.sort(objects, 'ASC', 'sortingId');
header.ids = Ext.Array.pluck(objects, 'id');
}
+ else if (header.name === 'pe') {
+ var selectedItems = xLayout.dimensionNameIdsMap['pe'],
+ isRelative = false;
+
+ for (var j = 0; j < selectedItems.length; j++) {
+ if (Ext.Array.contains(conf.period.relativePeriods, selectedItems[j])) {
+ isRelative = true;
+ break;
+ }
+ }
+
+ header.ids = Ext.clone(md[header.name]);
+
+ if (!isRelative) {
+ support.prototype.array.sortArrayByArray(header.ids, xLayout.dimensionNameIdsMap['pe'])
+ }
+ }
else {
var objects = [];