client/app/app.js
changeset 1 1cdebfeb77f9
child 5 90a7c431b979
equal deleted inserted replaced
0:e1d4d7a8255a 1:1cdebfeb77f9
       
     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 })();