=== 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 = [];