client/app/app.js
changeset 42 926f0426ce78
parent 36 5d392dea4f49
child 44 76f2fa4eb4f7
--- a/client/app/app.js	Fri Oct 17 17:54:06 2014 +0200
+++ b/client/app/app.js	Sun Oct 19 12:52:38 2014 +0200
@@ -18,23 +18,26 @@
             //console.log('dataApi',$resource, context);
             this.dataResource = $resource(context.urls.dataUrl);
         })
-        .service('dataModel', function(dataApi) {
+        .service('dataModel', function(dataApi, context, $q) {
             //console.log('dataModel',this,dataApi);
-            this.data = dataApi.dataResource.get();
+            if(typeof context.categories_json !== 'undefined' && context.categories_json) {
+                this.data = JSON.parse(context.categories_json);
+            }
+            else {
+                this.data = dataApi.dataResource.get();
+            }
         })
         .controller('homeCtrl', function($scope, $location, dataModel, context, $interval){
-            
+
             function getURLParameter(name) {
                 return decodeURI(
                     (new RegExp(name + '=' + '(.+?)(&|$)').exec(location.search)||[,null])[1]
                 );
             }
-            
-            //console.log('homeCtrl 1', $scope, $location, context);
-            //console.log('homeCtrl 2', context);
+
             $scope.data = dataModel.data;
 
-            dataModel.data.$promise.then(function(data) {
+            var process_categories = function(data) {
                 if(typeof data.categories!=='undefined' && data.categories.length>0){
                     var cats = [];
                     var nbCat = data.categories.length;
@@ -49,7 +52,14 @@
                     }
                     $scope.allCatLabels = cats;
                 }
-            });
+            };
+
+            if (typeof dataModel.data.$promise !== 'undefined') {
+                dataModel.data.$promise.then(process_categories);
+            }
+            else {
+                process_categories(dataModel.data);
+            }
 
             $scope.selectedlevel = false;