dhis2-devs team mailing list archive
-
dhis2-devs team
-
Mailing list archive
-
Message #34156
[Branch ~dhis2-devs-core/dhis2/trunk] Rev 17537: PT 'select all' now selects all from server instead of those currently visible in the client.
Merge authors:
Jan Henrik Øverland (janhenrik-overland)
------------------------------------------------------------
revno: 17537 [merge]
committer: Jan Henrik Overland <janhenrik.overland@xxxxxxxxx>
branch nick: dhis2
timestamp: Wed 2014-11-19 15:37:56 +0100
message:
PT 'select all' now selects all from server instead of those currently visible in the client.
modified:
dhis-2/dhis-web/dhis-web-apps/src/main/webapp/dhis-web-pivot/scripts/app.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-pivot/scripts/app.js'
--- dhis-2/dhis-web/dhis-web-apps/src/main/webapp/dhis-web-pivot/scripts/app.js 2014-11-18 15:12:03 +0000
+++ dhis-2/dhis-web/dhis-web-apps/src/main/webapp/dhis-web-pivot/scripts/app.js 2014-11-19 14:36:03 +0000
@@ -2830,7 +2830,7 @@
this.isPending = false;
dataElementSearch.hideFilter();
},
- loadPage: function(uid, filter, append) {
+ loadPage: function(uid, filter, append, noPaging, fn) {
uid = (Ext.isString(uid) || Ext.isNumber(uid)) ? uid : dataElementGroup.getValue();
filter = filter || dataElementFilter.getValue() || null;
@@ -2840,14 +2840,15 @@
}
if (dataElementDetailLevel.getValue() === dimConf.dataElement.objectName) {
- this.loadTotalsPage(uid, filter, append);
+ this.loadTotalsPage(uid, filter, append, noPaging, fn);
}
else if (dataElementDetailLevel.getValue() === dimConf.operand.objectName) {
- this.loadDetailsPage(uid, filter, append);
+ this.loadDetailsPage(uid, filter, append, noPaging, fn);
}
},
- loadTotalsPage: function(uid, filter, append) {
+ loadTotalsPage: function(uid, filter, append, noPaging, fn) {
var store = this,
+ params = {},
path;
if (store.nextPage === store.lastPage) {
@@ -2866,21 +2867,26 @@
return;
}
+ if (noPaging) {
+ params.paging = false;
+ }
+ else {
+ params.page = store.nextPage;
+ params.pageSize = 50;
+ }
+
store.isPending = true;
ns.core.web.mask.show(dataElementAvailable.boundList);
Ext.Ajax.request({
url: ns.core.init.contextPath + '/api' + path,
- params: {
- page: store.nextPage,
- pageSize: 50
- },
+ params: params,
success: function(r) {
var response = Ext.decode(r.responseText),
data = response.dataElements || [],
pager = response.pager;
- store.loadStore(data, pager, append);
+ store.loadStore(data, pager, append, fn);
},
callback: function() {
store.isPending = false;
@@ -2888,8 +2894,9 @@
}
});
},
- loadDetailsPage: function(uid, filter, append) {
+ loadDetailsPage: function(uid, filter, append, noPaging, fn) {
var store = this,
+ params = {},
path;
if (store.nextPage === store.lastPage) {
@@ -2908,15 +2915,20 @@
return;
}
+ if (noPaging) {
+ params.paging = false;
+ }
+ else {
+ params.page = store.nextPage;
+ params.pageSize = 50;
+ }
+
store.isPending = true;
ns.core.web.mask.show(dataElementAvailable.boundList);
Ext.Ajax.request({
url: ns.core.init.contextPath + '/api' + path,
- params: {
- page: store.nextPage,
- pageSize: 50
- },
+ params: params,
success: function(r) {
var response = Ext.decode(r.responseText),
data = response.objects || response.dataElementOperands || [],
@@ -2926,7 +2938,7 @@
data[i].id = data[i].id.split('.').join('#');
}
- store.loadStore(data, pager, append);
+ store.loadStore(data, pager, append, fn);
},
callback: function() {
store.isPending = false;
@@ -2934,7 +2946,9 @@
}
});
},
- loadStore: function(data, pager, append) {
+ loadStore: function(data, pager, append, fn) {
+ pager = pager || {};
+
this.loadData(data, append);
this.sortStore();
@@ -2945,7 +2959,13 @@
}
this.isPending = false;
- ns.core.web.multiSelect.filterAvailable({store: dataElementAvailableStore}, {store: dataElementSelectedStore});
+
+ if (fn) {
+ fn();
+ }
+ else {
+ ns.core.web.multiSelect.filterAvailable({store: dataElementAvailableStore}, {store: dataElementSelectedStore});
+ }
},
sortStore: function() {
this.sort('name', 'ASC');
@@ -3001,9 +3021,10 @@
this.isPending = false;
dataSetSearch.hideFilter();
},
- loadPage: function(filter, append) {
+ loadPage: function(filter, append, noPaging, fn) {
var store = this,
- path = '/dataSets.json?fields=id,' + ns.core.init.namePropertyUrl + '' + (filter ? '&filter=name:like:' + filter : '');
+ params = {},
+ path;
filter = filter || dataSetFilter.getValue() || null;
@@ -3016,21 +3037,28 @@
return;
}
+ path = '/dataSets.json?fields=id,' + ns.core.init.namePropertyUrl + '' + (filter ? '&filter=name:like:' + filter : '');
+
+ if (noPaging) {
+ params.paging = false;
+ }
+ else {
+ params.page = store.nextPage;
+ params.pageSize = 50;
+ }
+
store.isPending = true;
ns.core.web.mask.show(dataSetAvailable.boundList);
Ext.Ajax.request({
url: ns.core.init.contextPath + '/api' + path,
- params: {
- page: store.nextPage,
- pageSize: 50
- },
+ params: params,
success: function(r) {
var response = Ext.decode(r.responseText),
data = response.dataSets || [],
pager = response.pager;
- store.loadStore(data, pager, append);
+ store.loadStore(data, pager, append, fn);
},
callback: function() {
store.isPending = false;
@@ -3038,7 +3066,9 @@
}
});
},
- loadStore: function(data, pager, append) {
+ loadStore: function(data, pager, append, fn) {
+ pager = pager || {};
+
this.loadData(data, append);
this.sortStore();
@@ -3049,7 +3079,13 @@
}
this.isPending = false;
- ns.core.web.multiSelect.filterAvailable({store: dataSetAvailableStore}, {store: dataSetSelectedStore});
+
+ if (fn) {
+ fn();
+ }
+ else {
+ ns.core.web.multiSelect.filterAvailable({store: dataSetAvailableStore}, {store: dataSetSelectedStore});
+ }
},
storage: {},
parent: null,
@@ -3516,7 +3552,9 @@
icon: 'images/arrowrightdouble.png',
width: 22,
handler: function() {
- ns.core.web.multiSelect.selectAll(dataElementAvailable, dataElementSelected);
+ dataElementAvailableStore.loadPage(null, null, null, true, function() {
+ ns.core.web.multiSelect.selectAll(dataElementAvailable, dataElementSelected);
+ });
}
}
],
@@ -3779,7 +3817,9 @@
icon: 'images/arrowrightdouble.png',
width: 22,
handler: function() {
- ns.core.web.multiSelect.selectAll(dataSetAvailable, dataSetSelected);
+ dataSetAvailableStore.loadPage(null, null, true, function() {
+ ns.core.web.multiSelect.selectAll(dataSetAvailable, dataSetSelected);
+ });
}
}
],
@@ -4871,9 +4911,9 @@
this.isPending = false;
//indicatorSearch.hideFilter();
},
- loadPage: function(filter, append) {
+ loadPage: function(filter, append, noPaging, fn) {
var store = this,
- filterPath = filter ? '/query/' + filter : '',
+ params = {},
path;
filter = filter || indicatorFilter.getValue() || null;
@@ -4887,23 +4927,28 @@
return;
}
- path = '/dimensions/' + dimension.id + '/items' + filterPath + '.json';
+ path = '/dimensions/' + dimension.id + '/items' + (filter ? '/query/' + filter : '') + '.json';
+
+ if (noPaging) {
+ params.paging = false;
+ }
+ else {
+ params.page = store.nextPage;
+ params.pageSize = 50;
+ }
store.isPending = true;
ns.core.web.mask.show(available.boundList);
Ext.Ajax.request({
url: ns.core.init.contextPath + '/api' + path,
- params: {
- page: store.nextPage,
- pageSize: 50
- },
+ params: params,
success: function(r) {
var response = Ext.decode(r.responseText),
data = response.items || [],
pager = response.pager;
- store.loadStore(data, pager, append);
+ store.loadStore(data, pager, append, fn);
},
callback: function() {
store.isPending = false;
@@ -4911,7 +4956,9 @@
}
});
},
- loadStore: function(data, pager, append) {
+ loadStore: function(data, pager, append, fn) {
+ pager = pager || {};
+
this.loadData(data, append);
this.lastPage = this.nextPage;
@@ -4920,7 +4967,13 @@
}
this.isPending = false;
- ns.core.web.multiSelect.filterAvailable({store: availableStore}, {store: selectedStore});
+
+ if (fn) {
+ fn();
+ }
+ else {
+ ns.core.web.multiSelect.filterAvailable({store: availableStore}, {store: selectedStore});
+ }
},
sortStore: function() {
this.sort('name', 'ASC');
@@ -5032,8 +5085,10 @@
xtype: 'button',
icon: 'images/arrowrightdouble.png',
width: 22,
- handler: function() {
- ns.core.web.multiSelect.selectAll(available, selected);
+ handler: function() {
+ availableStore.loadPage(null, null, true, function() {
+ ns.core.web.multiSelect.selectAll(available, selected);
+ });
}
}
],