|
1 (function(){ |
|
2 'use strict'; |
|
3 |
|
4 angular.module('mons', [ 'ngResource', 'ngRoute', 'autocomplete' ]) |
|
5 .config(function($routeProvider) { |
|
6 $routeProvider. |
|
7 when('/', { |
|
8 controller: 'homeCtrl' |
|
9 }). |
|
10 otherwise({ |
|
11 redirectTo: '/' |
|
12 }); |
|
13 }) |
|
14 .config(function($logProvider){ |
|
15 $logProvider.debugEnabled(true); |
|
16 }) |
|
17 .service('dataApi', function($resource, context) { |
|
18 console.log('dataApi',$resource, context); |
|
19 this.dataResource = $resource(context.urls.dataUrl); |
|
20 }) |
|
21 .service('dataModel', function(dataApi) { |
|
22 //console.log('dataModel',this,dataApi); |
|
23 this.data = dataApi.dataResource.get(); |
|
24 }) |
|
25 .controller('homeCtrl', function($scope, $location, dataModel){ |
|
26 console.log('homeCtrl 1', $scope, $location); |
|
27 $scope.data = dataModel.data; |
|
28 |
|
29 dataModel.data.$promise.then(function(data) { |
|
30 if(typeof data.categories!=='undefined' && data.categories.length>0){ |
|
31 console.log(' JE RENTRE'); |
|
32 var cats = []; |
|
33 var nbCat = data.categories.length; |
|
34 for(var i=0;i<nbCat;i++){ |
|
35 cats.push(data.categories[i].label); |
|
36 if(typeof data.categories[i].subcategories!=='undefined' && data.categories[i].subcategories.length>0){ |
|
37 var nbSubCat = data.categories[i].subcategories.length; |
|
38 for(var j=0;j<nbSubCat;j++){ |
|
39 cats.push(data.categories[i].subcategories[j].label); |
|
40 } |
|
41 } |
|
42 } |
|
43 $scope.allCatLabels = cats; |
|
44 } |
|
45 }); |
|
46 |
|
47 $scope.selectedlevel = false; |
|
48 |
|
49 //console.log('homeCtrl 1-3', dataModel.data.categories); |
|
50 //$scope.selectedlevel = $scope.data.categories; |
|
51 //console.log('homeCtrl 2', $scope.selectedLevel, $scope.data); |
|
52 |
|
53 $scope.sendAnnotation = function(eventCode){ |
|
54 console.log('ntm', $scope.username); |
|
55 if($scope.username==='' || typeof $scope.username==='undefined'){ |
|
56 alert('Vous devez indiquer un nom d\'utilisateur.'); |
|
57 return; |
|
58 } |
|
59 if(eventCode==='' || typeof eventCode==='undefined'){ |
|
60 alert('Vous devez indiquer un nom de catégorie.'); |
|
61 return; |
|
62 } |
|
63 // Send query |
|
64 alert('annotation envoyée ! eventCode = ' + eventCode); |
|
65 }; |
|
66 |
|
67 $scope.selectLevel = function(i, eventCode){ |
|
68 if(i===false){ |
|
69 $scope.returnVisStyle = {visibility:'hidden'}; |
|
70 $scope.selectedlevel = false; |
|
71 return; |
|
72 } |
|
73 if(typeof $scope.data.categories[i].subcategories!=='undefined' && $scope.data.categories[i].subcategories.length>0){ |
|
74 $scope.selectedlevel = $scope.data.categories[i].subcategories; |
|
75 $scope.returnVisStyle = {visibility:'show'}; |
|
76 } |
|
77 else{ |
|
78 // Send query |
|
79 $scope.sendAnnotation(eventCode); |
|
80 } |
|
81 }; |
|
82 |
|
83 $scope.onSelect = function(suggestion){ |
|
84 console.log('ON SELECT',suggestion); |
|
85 }; |
|
86 |
|
87 $scope.onAutocompleteType = function(){ |
|
88 console.log('onAutocompleteType'); |
|
89 }; |
|
90 }); |
|
91 |
|
92 })(); |