dhis2-devs team mailing list archive
-
dhis2-devs team
-
Mailing list archive
-
Message #38091
[Branch ~dhis2-devs-core/dhis2/trunk] Rev 19448: event-capture: program indicators - WIP; some refactoring in meta-data fetching factory
------------------------------------------------------------
revno: 19448
committer: Abyot Asalefew Gizaw <abyota@xxxxxxxxx>
branch nick: dhis2
timestamp: Thu 2015-06-18 12:33:59 +0200
message:
event-capture: program indicators - WIP; some refactoring in meta-data fetching factory
modified:
dhis-2/dhis-web/dhis-web-apps/src/main/webapp/dhis-web-event-capture/scripts/controllers.js
dhis-2/dhis-web/dhis-web-apps/src/main/webapp/dhis-web-event-capture/scripts/event-capture.js
dhis-2/dhis-web/dhis-web-apps/src/main/webapp/dhis-web-event-capture/scripts/services.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-capture/scripts/controllers.js'
--- dhis-2/dhis-web/dhis-web-apps/src/main/webapp/dhis-web-event-capture/scripts/controllers.js 2015-06-18 07:48:19 +0000
+++ dhis-2/dhis-web/dhis-web-apps/src/main/webapp/dhis-web-event-capture/scripts/controllers.js 2015-06-18 10:33:59 +0000
@@ -16,9 +16,8 @@
SessionStorageService,
Paginator,
OptionSetService,
- ProgramValidationService,
- ProgramFactory,
- ProgramStageFactory,
+ MetaDataFactory,
+ ProgramFactory,
DHIS2EventFactory,
DHIS2EventService,
ContextMenuSelectedItem,
@@ -87,7 +86,7 @@
if($scope.optionSets.length < 1){
$scope.optionSets = [];
- OptionSetService.getAll().then(function(optionSets){
+ MetaDataFactory.getAll('optionSets').then(function(optionSets){
angular.forEach(optionSets, function(optionSet){
$scope.optionSets[optionSet.id] = optionSet;
});
@@ -145,7 +144,7 @@
$scope.selectedProgram.programStages[0].id){
//because this is single event, take the first program stage
- ProgramStageFactory.get($scope.selectedProgram.programStages[0].id).then(function (programStage){
+ MetaDataFactory.get('programStages', $scope.selectedProgram.programStages[0].id).then(function (programStage){
$scope.selectedProgramStage = programStage;
@@ -193,7 +192,7 @@
}
$scope.newDhis2Event.eventDate = '';
- ProgramValidationService.getByProgram($scope.selectedProgram.id).then(function(pvs){
+ MetaDataFactory.getByProgram('programValidations', $scope.selectedProgram.id).then(function(pvs){
$scope.programValidations = pvs;
$scope.loadEvents();
});
=== modified file 'dhis-2/dhis-web/dhis-web-apps/src/main/webapp/dhis-web-event-capture/scripts/event-capture.js'
--- dhis-2/dhis-web/dhis-web-apps/src/main/webapp/dhis-web-event-capture/scripts/event-capture.js 2015-06-17 11:50:16 +0000
+++ dhis-2/dhis-web/dhis-web-apps/src/main/webapp/dhis-web-event-capture/scripts/event-capture.js 2015-06-18 10:33:59 +0000
@@ -32,7 +32,7 @@
dhis2.ec.store = new dhis2.storage.Store({
name: 'dhis2ec',
adapters: [dhis2.storage.IndexedDBAdapter, dhis2.storage.DomSessionStorageAdapter, dhis2.storage.InMemoryAdapter],
- objectStores: ['programs', 'programStages', 'geoJsons', 'optionSets', 'events', 'programValidations', 'programRules', 'programRuleVariables', 'ouLevels']
+ objectStores: ['programs', 'programStages', 'geoJsons', 'optionSets', 'events', 'programValidations', 'programRules', 'programRuleVariables', 'programIndicators', 'ouLevels']
});
(function($) {
@@ -152,6 +152,8 @@
promise = promise.then( getProgramStages );
promise = promise.then( getMetaProgramValidations );
promise = promise.then( getProgramValidations );
+ promise = promise.then( getMetaProgramIndicators );
+ promise = promise.then( getProgramIndicators );
promise = promise.then( getMetaProgramRules );
promise = promise.then( getProgramRules );
promise = promise.then( getMetaProgramRuleVariables );
@@ -480,6 +482,16 @@
return getD2Objects( programValidations, 'programValidations', '../api/programValidations', 'fields=id,name,displayName,operator,rightSide[expression,description],leftSide[expression,description],program[id]');
}
+function getMetaProgramIndicators( programs )
+{
+ return getD2MetaObject(programs, 'programIndicators', '../api/programIndicators.json', 'paging=false&fields=id,program[id]');
+}
+
+function getProgramIndicators( programIndicators )
+{
+ return getD2Objects( programIndicators, 'programIndicators', '../api/programIndicators', 'fields=id,name,code,shortName,expression,displayDescription,rootDate,description,valueType,DisplayName,program[id,name]');
+}
+
function getMetaProgramRules( programs )
{
return getD2MetaObject(programs, 'programRules', '../api/programRules.json', 'paging=false&fields=id,program[id]');
=== modified file 'dhis-2/dhis-web/dhis-web-apps/src/main/webapp/dhis-web-event-capture/scripts/services.js'
--- dhis-2/dhis-web/dhis-web-apps/src/main/webapp/dhis-web-event-capture/scripts/services.js 2015-06-17 11:50:16 +0000
+++ dhis-2/dhis-web/dhis-web-apps/src/main/webapp/dhis-web-event-capture/scripts/services.js 2015-06-18 10:33:59 +0000
@@ -1,4 +1,4 @@
-/* global angular */
+/* global angular, dhis2 */
'use strict';
@@ -10,7 +10,7 @@
var store = new dhis2.storage.Store({
name: 'dhis2ec',
adapters: [dhis2.storage.IndexedDBAdapter, dhis2.storage.DomSessionStorageAdapter, dhis2.storage.InMemoryAdapter],
- objectStores: ['programs', 'programStages', 'geoJsons', 'optionSets', 'events', 'programValidations', 'programRules', 'programRuleVariables', 'ouLevels']
+ objectStores: ['programs', 'programStages', 'geoJsons', 'optionSets', 'events', 'programValidations', 'programRules', 'programRuleVariables', 'programIndicators', 'ouLevels']
});
return{
currentStore: store
@@ -82,35 +82,8 @@
})
/* Factory to fetch optionSets */
-.factory('OptionSetService', function($q, $rootScope, ECStorageService) {
+.factory('OptionSetService', function() {
return {
- getAll: function(){
-
- var def = $q.defer();
-
- ECStorageService.currentStore.open().done(function(){
- ECStorageService.currentStore.getAll('optionSets').done(function(optionSets){
- $rootScope.$apply(function(){
- def.resolve(optionSets);
- });
- });
- });
-
- return def.promise;
- },
- get: function(uid){
-
- var def = $q.defer();
-
- ECStorageService.currentStore.open().done(function(){
- ECStorageService.currentStore.get('optionSets', uid).done(function(optionSet){
- $rootScope.$apply(function(){
- def.resolve(optionSet);
- });
- });
- });
- return def.promise;
- },
getCode: function(options, key){
if(options){
for(var i=0; i<options.length; i++){
@@ -135,39 +108,6 @@
};
})
-/* Factory to fetch geojsons */
-.factory('GeoJsonFactory', function($q, $rootScope, ECStorageService) {
- return {
- getAll: function(){
-
- var def = $q.defer();
-
- ECStorageService.currentStore.open().done(function(){
- ECStorageService.currentStore.getAll('geoJsons').done(function(geoJsons){
- $rootScope.$apply(function(){
- def.resolve(geoJsons);
- });
- });
- });
-
- return def.promise;
- },
- get: function(level){
-
- var def = $q.defer();
-
- ECStorageService.currentStore.open().done(function(){
- ECStorageService.currentStore.get('geoJsons', level).done(function(geoJson){
- $rootScope.$apply(function(){
- def.resolve(geoJson);
- });
- });
- });
- return def.promise;
- }
- };
-})
-
/* Factory to fetch programs */
.factory('ProgramFactory', function($q, $rootScope, SessionStorageService, ECStorageService) {
@@ -234,36 +174,16 @@
};
})
-/* Factory to fetch programStages */
-.factory('ProgramStageFactory', function($q, $rootScope, ECStorageService) {
-
- return {
- get: function(uid){
-
- var def = $q.defer();
-
- ECStorageService.currentStore.open().done(function(){
- ECStorageService.currentStore.get('programStages', uid).done(function(pst){
- $rootScope.$apply(function(){
- def.resolve(pst);
- });
- });
- });
- return def.promise;
- }
- };
-})
-
-/* Service to fetch and process programValidations */
-.service('ProgramValidationService', function($q, $rootScope, ECStorageService) {
-
- return {
- get: function(uid){
-
- var def = $q.defer();
-
- ECStorageService.currentStore.open().done(function(){
- ECStorageService.currentStore.get('programValidations', uid).done(function(pv){
+/* factory to fetch and process programValidations */
+.factory('MetaDataFactory', function($q, $rootScope, ECStorageService) {
+
+ return {
+ get: function(store, uid){
+
+ var def = $q.defer();
+
+ ECStorageService.currentStore.open().done(function(){
+ ECStorageService.currentStore.get(store, uid).done(function(pv){
$rootScope.$apply(function(){
def.resolve(pv);
});
@@ -271,34 +191,34 @@
});
return def.promise;
},
- getByProgram: function(program){
+ getByProgram: function(store, program){
var def = $q.defer();
- var programValidations = [];
+ var obj = [];
ECStorageService.currentStore.open().done(function(){
- ECStorageService.currentStore.getAll('programValidations').done(function(pvs){
+ ECStorageService.currentStore.getAll(store, program).done(function(pvs){
angular.forEach(pvs, function(pv){
if(pv.program.id === program){
- programValidations.push(pv);
+ obj.push(pv);
}
});
$rootScope.$apply(function(){
- def.resolve(programValidations);
+ def.resolve(obj);
});
});
});
return def.promise;
},
- getExpression: function(str){
- if( !str ){
- return null;
- }
-
- var expression = str.substring(1, str.length-1);
-
- if(expression){
-
- }
+ getAll: function(store){
+ var def = $q.defer();
+ ECStorageService.currentStore.open().done(function(){
+ ECStorageService.currentStore.getAll(store).done(function(pvs){
+ $rootScope.$apply(function(){
+ def.resolve(pvs);
+ });
+ });
+ });
+ return def.promise;
}
};
})