=== modified file 'dhis-2/dhis-web/dhis-web-visualizer/src/main/webapp/dhis-web-visualizer/app/index.html' --- dhis-2/dhis-web/dhis-web-visualizer/src/main/webapp/dhis-web-visualizer/app/index.html 2012-07-04 13:49:13 +0000 +++ dhis-2/dhis-web/dhis-web-visualizer/src/main/webapp/dhis-web-visualizer/app/index.html 2012-07-17 09:40:47 +0000 @@ -16,7 +16,7 @@ - - + + === added directory 'dhis-2/dhis-web/dhis-web-visualizer/src/main/webapp/dhis-web-visualizer/app/scripts' === renamed file 'dhis-2/dhis-web/dhis-web-visualizer/src/main/webapp/dhis-web-visualizer/app/app.js' => 'dhis-2/dhis-web/dhis-web-visualizer/src/main/webapp/dhis-web-visualizer/app/scripts/app.js' --- dhis-2/dhis-web/dhis-web-visualizer/src/main/webapp/dhis-web-visualizer/app/app.js 2012-07-16 15:58:33 +0000 +++ dhis-2/dhis-web/dhis-web-visualizer/src/main/webapp/dhis-web-visualizer/app/scripts/app.js 2012-07-17 10:28:16 +0000 @@ -409,13 +409,14 @@ }, filterAvailable: function(a, s) { a.store.filterBy( function(r) { - var filter = true; + var keep = true; s.store.each( function(r2) { - if (r.data.id === r2.data.id) { - filter = false; + if (r.data.id == r2.data.id) { + keep = false; } + }); - return filter; + return keep; }); a.store.sortStore(); }, @@ -3302,29 +3303,64 @@ hideCollapseTool: true, items: [ { - xtype: 'combobox', - cls: 'dv-combo', - style: 'margin-bottom:8px', - width: DV.conf.layout.west_fieldset_width - DV.conf.layout.west_width_subtractor, - valueField: 'id', - displayField: 'name', - fieldLabel: DV.i18n.select_type, - labelStyle: 'padding-left:7px;', - labelWidth: 90, - editable: false, - queryMode: 'remote', - store: DV.store.periodtype, - listeners: { - select: function(cb) { - var pt = new PeriodType(); - var periods = pt.reverse( pt.filterFuturePeriods( pt.get(cb.getValue()).generatePeriods(0) ) ); - DV.store.fixedperiod.available.setIndex(periods); - DV.store.fixedperiod.available.loadData(periods); - DV.util.multiselect.filterAvailable(DV.cmp.dimension.fixedperiod.available, DV.cmp.dimension.fixedperiod.selected); + xtype: 'panel', + layout: 'column', + bodyStyle: 'border-style:none', + items: [ + { + xtype: 'combobox', + cls: 'dv-combo', + style: 'margin-bottom:8px', + width: 253, + valueField: 'id', + displayField: 'name', + fieldLabel: DV.i18n.select_type, + labelStyle: 'padding-left:7px;', + labelWidth: 90, + editable: false, + queryMode: 'remote', + store: DV.store.periodtype, + periodOffset: 0, + listeners: { + select: function() { + var pt = new PeriodType(); + var periods = pt.reverse( pt.filterFuturePeriods( pt.get(this.getValue()).generatePeriods(this.periodOffset) ) ); + DV.store.fixedperiod.available.setIndex(periods); + DV.store.fixedperiod.available.loadData(periods); + DV.util.multiselect.filterAvailable(DV.cmp.dimension.fixedperiod.available, DV.cmp.dimension.fixedperiod.selected); + } + } + }, + { + xtype: 'button', + text: 'Prev year', + style: 'margin-left:4px', + height: 24, + handler: function() { + var cb = this.up('panel').down('combobox'); + if (cb.getValue()) { + cb.periodOffset--; + cb.fireEvent('select'); + } + } + }, + { + xtype: 'button', + text: 'Next year', + style: 'margin-left:3px', + height: 24, + handler: function() { + var cb = this.up('panel').down('combobox'); + if (cb.getValue() && cb.periodOffset < 0) { + cb.periodOffset++; + cb.fireEvent('select'); + } + } } - } + ] }, { + xtype: 'panel', layout: 'column', bodyStyle: 'border-style:none', === renamed file 'dhis-2/dhis-web/dhis-web-visualizer/src/main/webapp/dhis-web-visualizer/app/pt.js' => 'dhis-2/dhis-web/dhis-web-visualizer/src/main/webapp/dhis-web-visualizer/app/scripts/periodtype.js' --- dhis-2/dhis-web/dhis-web-visualizer/src/main/webapp/dhis-web-visualizer/app/pt.js 2012-07-09 13:13:31 +0000 +++ dhis-2/dhis-web/dhis-web-visualizer/src/main/webapp/dhis-web-visualizer/app/scripts/periodtype.js 2012-07-17 10:05:44 +0000 @@ -101,9 +101,9 @@ else { date.setDate( date.getDate() + ( 8 - day ) ); - } + } - while ( date.getFullYear() === year ) + while ( date.getFullYear() <= year ) { var period = {}; period['startDate'] = format_yyyymmdd( date );