Module 'ngGrid' is not available! What's wrong?


#1

This message keeps poping up, cant figure out what may be wrong: Module ‘ngGrid’ is not available! You either misspelled the module name or forgot to load it. If registering a module ensure that you specify the dependencies as the second argument.

This is my code:
app.controllers I’m using gridOptions in TimeSheetController

angular.module('app.controllers', ['ngGrid'])
    .controller('LoginController', function ($scope, $state, $http) {
        $scope.login = function (user) {
            $http.get('http://10.1.25.88/INSIX.DINSIX.WAP/SVCTimeSheetJson.svc/ConsultarProfissionalPorLoginJSON?param0=D033E22AE348AEB5660FC2140AEC35850C4DA997&param1=fcampinho').then(function (resp) {
                localStorage.setItem('profissional', JSON.stringify(resp.data));
                //$state.go('tabs.cliente');
                $state.go('tabs.timesheet');
            }, function (err) {
                console.error('Erro', err);
                $scope.status = 'Não foi possível obter os dados: ' + error.message;
            })
        }
        //if (user.$valid){
        //s
        //}
    })
.controller('ClienteController', function ($scope, $http) {
    var profissional = JSON.parse(localStorage.getItem('profissional'));
    $scope.profissional = profissional;
    $http.get('http://10.1.25.88/INSIX.DINSIX.WAP/SVCTimeSheetJson.svc/ListarClienteTimeSheetJSON?param0=D033E22AE348AEB5660FC2140AEC35850C4DA997').then(function (resp) {
        console.log('Success', resp);
        $scope.clientes = resp.data;
       // localStorage.setItem('cliente', JSON.stringify(resp.data));
    }, function (err) {
        console.error('Erro', err);
        $scope.status = 'Não foi possível obter os dados:  ' + error.message;
    })
})
.controller('ServicoController', function ($scope, $http, $stateParams) {
    //var cliente = JSON.parse(localStorage.getItem('clientes'));
    var codigoCliente = $stateParams.clienteCodigo;
    var nomeCliente = $stateParams.clienteNomeFantasia;
    $scope.nomeFantasia = nomeCliente;
    $http.get('http://10.1.25.88/INSIX.DINSIX.WAP/SVCTimeSheetJson.svc/ListarServicoClienteTimeSheetJSON?param0=D033E22AE348AEB5660FC2140AEC35850C4DA997&param1=309').then(function (resp) {
        console.log('Success', resp);
        $scope.servicos = resp.data;
    }, function (err) {
        console.error('Erro', err);
        $scope.status = 'Não foi possível obter os dados:  ' + error.message;
    })
})
.controller('TimeSheetController', function ($scope, $http, $stateParams, $filter) {
    $scope.date = $filter("date")(Date.now(), 'yyyy-MM-dd');
    $http.get('http://10.1.25.88/INSIX.DINSIX.WAP/SVCTimeSheetJson.svc/ListarTimetrackerPorDataJSON?param0=D033E22AE348AEB5660FC2140AEC35850C4DA997&param1=10/10/2010&param2=1').then(function (resp) {
        console.log('Success', resp);
        $scope.atividades = resp.data;
        //preenchar a grade aqui

    }, function (err) {
        console.error('Erro', err);
        $scope.status = 'Não foi possível obter os dados:  ' + error.message;
    });
    $scope.gridOptions = {
        data: 'atividades',
        columnDefs: [
        { field: 'dataInicio', displayName: 'Início' },
        { field: 'dataFim', displayName: 'Fim' },
        { field: 'nomeCliente', displayName: 'Cliente' },
        { field: 'descricaoAtividade', displayName: 'Atividade' }
        ]
    };
})

.controller('IncluirAtividadeController', function ($scope, $http, $stateParams) {
    $scope.incluir = function (atividade) {
        $http.post('http://10.1.25.88/INSIX.DINSIX.WAP/SVCTimeSheetJson.svc/IncluirTimetrackerJSON?param0={chTimeTracker}&param1={dsRegistroJSON}').then(function (resp) {
            console.log('Success', resp);
            $state.go('tabs.timesheet'); //volta para a tela inicial do timesheet
        }, function (err) {
            console.error('Erro', err);
            $scope.status = 'Não foi possível obter os dados:  ' + error.message;
        })
    }
})

app

angular.module('app', ['ionic', 'app.controllers'])
.config(function ($stateProvider, $urlRouterProvider) {
    $stateProvider
      .state('signin', {
          url: '/sign-in',
          templateUrl: 'templates/autenticacao.html',
          controller: 'LoginController'
      })
      .state('tabs', {
          url: '/tab',
          abstract: true,
          templateUrl: 'templates/tabs.html'
      })
                .state('tabs.timesheet', {
                    url: '/timesheet',
                    views: {
                        'timesheet-tab': {
                            templateUrl: 'templates/timesheet.html',
                            controller: 'TimeSheetController'
                        }
                    }
                })
      .state('tabs.cliente', {
          url: '/cliente',
          views: {
              'timesheet-tab': {
                  templateUrl: 'templates/cliente.html',
                  controller: 'ClienteController'
              }
          }
      })
            .state('tabs.servico', {
                url: '/servico/:clienteCodigo/:clienteNomeFantasia',
                views: {
                    'timesheet-tab': {
                        templateUrl: 'templates/servico.html',
                        controller: 'ServicoController'
                    }
                }
            })
                    .state('tabs.incluirAtividade', {
                        url: '/atividade/',
                        views: {
                            'timesheet-tab': {
                                templateUrl: 'templates/incluirAtividade.html'
                                //controller: 'IncluirAtividadeController'
                            }
                        }
                    })
      .state('tabs.about', {
          url: '/about',
          views: {
              'about-tab': {
                  templateUrl: 'templates/about.html'
              }
          }
      })
        .state('tabs.ponto', {
            url: '/ponto',
            views: {
                'ponto-tab': {
                    templateUrl: 'templates/ponto.html'
                }
            }
        })
      .state('tabs.contact', {
          url: '/contact',
          views: {
              'contact-tab': {
                  templateUrl: 'templates/contact.html'
              }
          }
      })
    $urlRouterProvider.otherwise('/sign-in');
    //$urlRouterProvider.otherwise('index.html');
})