Source: components/modulos/popupmapa.controller.js

/**
 * @ngdoc controller
 * @name PopUpMapaCtrl
 * @module s4c.components.modulos.PopUpMapaCtrl
 *
 * @description Controller do módulo de Pop up do Mapa
 * 
 * 
 */
(function () {
    'use strict';


    angular.module('s4c.controllers.PopUpMapaCtrl', [
        's4c.components.busca',
        's4c.components.rotas',
        's4c.components.rotas-unificadas',
        's4c.components.baseConhecimento',
        's4c.components.camadas',
        's4c.components.cameras',
        's4c.components.telegram',
        's4c.components.detalhamento',
        's4c.components.deteccaoImpacto',
        's4c.components.collaboration',
        's4c.components.mapa',
        's4c.components.incidentes',
        's4c.components.tarefas',
        's4c.components.zonaObservacao',
        's4c.components.planejamento',
        's4c.components.msi',
        's4c.components.briefingOperacional',
        's4c.components.timeline',
        's4c.components.briefingOperacional',
        's4c.components.terminal',
        's4c.components.detalhamentoRotasOlimpicas',
        's4c.directives.escolhaZona',
        's4c.directives.scroller',
        's4c.directives.twitterArea',
        's4c.directives.timepicker',
        's4c.services.PresetService',
        's4c.services.ParametrosS4C',
        's4c.services.PermissoesService',
        's4c.services.CommService',
        's4c.services.MainState',
        's4c.managers',
        'ng-dropdown',
        'datePicker',
        'angular-toasty',
        'color.picker',
        's4c.components.regiao',
        's4c.components.areaAtuacao',
        's4c.services.AuthService',
        's4c.components.rastreamento',
        's4c.components.pontoMovel',
        's4c.components.webview',
        's4c.controllers.MainCtrl'
    ])
        .controller('PopUpMapaCtrl', PopUpMapaCtrl);

        /**
         * @method PopUpMapaCtrl
         * 
         * @param {*} $scope 
         * @param {*} $state 
         * @param {*} $http 
         * @param {*} API_ENDPOINT 
         * @param {*} UserInfo 
         * @param {*} $mdDialog 
         * @param {*} $stateParams 
         * @param {*} MainState 
         * @param {*} MainManager 
         * @param {*} ModuloTwitterManager 
         * @param {*} CamerasManager 
         * @param {*} BuscaManager 
         * @param {*} MensageriaManager 
         * @param {*} RotasManager 
         * @param {*} RotasUnificadasManager 
         * @param {*} IncidentesManager 
         * @param {*} BaseConhecimentoManager 
         * @param {*} FacebookManager 
         * @param {*} EmailManager 
         * @param {*} TwitterManager 
         * @param {*} MSIManager 
         * @param {*} SubDetalhamentoManager 
         * @param {*} DetalhamentoManager 
         * @param {*} ZonaDeObservacaoManager 
         * @param {*} PlanejamentoManager 
         * @param {*} DeteccaoImpactoManager 
         * @param {*} MinhasTarefasManager 
         * @param {*} TarefaManager 
         * @param {*} BriefingOperacionalManager 
         * @param {*} MapaManager 
         * @param {*} BotoesManager 
         * @param {*} IncidenteEnterManager 
         * @param {*} AlarmeDisparadoManager 
         * @param {*} EditPTarefaManager 
         * @param {*} TerminalManager 
         * @param {*} BuscaUsuariosTelegramManager 
         * @param {*} DetalhamentoRotasOlimpicasManager 
         * @param {*} HabilitarCamadasManager 
         * @param {*} AreaAtuacaoManager 
         * @param {*} RastreamentoManager 
         * @param {*} PontoMovelManager 
         * @param {*} PoiManager 
         * @param {*} AuthService 
         * @param {*} Preset 
         */
    function PopUpMapaCtrl($scope,
        $state,
        $http,
        API_ENDPOINT,
        UserInfo,
        $mdDialog,
        $stateParams,
        MainState,
        MainManager,
        ModuloTwitterManager,
        CamerasManager,
        BuscaManager,
        MensageriaManager,
        RotasManager,
        RotasUnificadasManager,
        IncidentesManager,
        BaseConhecimentoManager,
        FacebookManager,
        EmailManager,
        TwitterManager,
        MSIManager,
        SubDetalhamentoManager,
        DetalhamentoManager,
        ZonaDeObservacaoManager,
        PlanejamentoManager,
        DeteccaoImpactoManager,
        MinhasTarefasManager,
        TarefaManager,
        BriefingOperacionalManager,
        MapaManager,
        BotoesManager,
        IncidenteEnterManager,
        AlarmeDisparadoManager,
        EditPTarefaManager,
        TerminalManager,
        BuscaUsuariosTelegramManager,
        DetalhamentoRotasOlimpicasManager,
        HabilitarCamadasManager,
        AreaAtuacaoManager,
        RastreamentoManager,
        PontoMovelManager,
        PoiManager,
        AuthService,
        Preset) {

        $scope.res = $scope.$root.res;
        $scope.DetalhamentoManager = DetalhamentoManager;
        $scope.ZonaDeObservacaoManager = ZonaDeObservacaoManager;
        $scope.PlanejamentoManager = PlanejamentoManager;
        $scope.ModuloTwitterManager = ModuloTwitterManager;
        $scope.CamerasManager = CamerasManager;
        $scope.BuscaManager = BuscaManager;
        $scope.MensageriaManager = MensageriaManager;
        $scope.RotasManager = RotasManager;
        $scope.RotasUnificadasManager = RotasUnificadasManager;
        $scope.IncidentesManager = IncidentesManager;
        $scope.BaseConhecimentoManager = BaseConhecimentoManager;
        $scope.FacebookManager = FacebookManager;
        $scope.EmailManager = EmailManager;
        $scope.TwitterManager = TwitterManager;
        $scope.MSIManager = MSIManager;
        $scope.SubDetalhamentoManager = SubDetalhamentoManager;
        $scope.DeteccaoImpactoManager = DeteccaoImpactoManager;
        $scope.MinhasTarefasManager = MinhasTarefasManager;
        $scope.TarefaManager = TarefaManager;
        $scope.BriefingOperacionalManager = BriefingOperacionalManager;
        $scope.MapaManager = MapaManager;
        $scope.BotoesManager = BotoesManager;
        $scope.IncidenteEnterManager = IncidenteEnterManager;
        $scope.AlarmeDisparadoManager = AlarmeDisparadoManager;
        $scope.EditPTarefaManager = EditPTarefaManager;
        $scope.TerminalManager = TerminalManager;
        $scope.BuscaUsuariosTelegramManager = BuscaUsuariosTelegramManager;
        $scope.DetalhamentoRotasOlimpicasManager = DetalhamentoRotasOlimpicasManager;
        $scope.HabilitarCamadasManager = HabilitarCamadasManager;
        $scope.AreaAtuacaoManager = AreaAtuacaoManager;
        $scope.RastreamentoManager = RastreamentoManager;
        $scope.PontoMovelManager = PontoMovelManager;
        $scope.PoiManager = PoiManager;

        $scope.moduleActive = function () {

            for (var index in Preset.config.preset.PresetModulos) {

                var name = Preset.config.preset.PresetModulos[index].Face ? Preset.config.preset.PresetModulos[index].Face.name : '';
                if (Preset.config.preset.PresetModulos[index].name == 'MODULO_DETALHAMENTO' ||
                    Preset.config.preset.PresetModulos[index].name == $scope.res('MODULO_DETALHAMENTO') ||
                    name == 'MODULO_DETALHAMENTO' ||
                    name == $scope.res('MODULO_DETALHAMENTO')
                ) {
                    return true;
                }
            }

            return false;
        }

        var managersList = [
            'MainManager',
            'ModuloTwitterManager',
            'CamerasManager',
            'BuscaManager',
            'MensageriaManager',
            'TelegramManager',
            'RotasManager',
            'RotasUnificadasManager',
            'IncidentesManager',
            'BaseConhecimentoManager',
            'FacebookManager',
            'EmailManager',
            'TwitterManager',
            'MSIManager',
            'SubDetalhamentoManager',
            'DetalhamentoManager',
            'ZonaDeObservacaoManager',
            'PlanejamentoManager',
            'DeteccaoImpactoManager',
            'MinhasTarefasManager',
            'TarefaManager',
            'BriefingOperacionalManager',
            'MapaManager',
            'BotoesManager',
            'IncidenteEnterManager',
            'AlarmeDisparadoManager',
            'EditPTarefaManager',
            'TerminalManager',
            'BuscaUsuariosTelegramManager',
            'DetalhamentoRotasOlimpicasManager',
            'HabilitarCamadasManager',
            'AreaAtuacaoManager',
            'RastreamentoManager',
            'PontoMovelManager',
            'PoiManager'
        ];

        var managers = [];
        managersList.forEach(function (manager) {
            if ($scope.hasOwnProperty(manager)) {
                MainState.registerManager(manager, $scope[manager]);
                managers.push($scope[manager]);
            }
        });

        DetalhamentoManager.setManagers(managers);

        if ($stateParams.token) {
            sessionStorage.s4cToken = $stateParams.token;
        }

        setTimeout(function () {
            $("#masterUI").addClass("overflow-hidden");
        }, 500);

        angular.extend($scope, {
            moduleActive: $scope.moduleActive,
            logout: function () {
                if (MainState.getDirective('voip') != null) {
                    MainState.getDirective('voip').deslogar();
                }

                AuthService.logout();
                $state.go('inicio');
            }
        });
    }

    PopUpMapaCtrl.$inject = [
        '$scope',
        '$state',
        '$http',
        'API_ENDPOINT',
        'UserInfo',
        '$mdDialog',
        '$stateParams',
        'MainState',
        'MainManager',
        'ModuloTwitterManager',
        'CamerasManager',
        'BuscaManager',
        'MensageriaManager',
        'RotasManager',
        'RotasUnificadasManager',
        'IncidentesManager',
        'BaseConhecimentoManager',
        'FacebookManager',
        'EmailManager',
        'TwitterManager',
        'MSIManager',
        'SubDetalhamentoManager',
        'DetalhamentoManager',
        'ZonaDeObservacaoManager',
        'PlanejamentoManager',
        'DeteccaoImpactoManager',
        'MinhasTarefasManager',
        'TarefaManager',
        'BriefingOperacionalManager',
        'MapaManager',
        'BotoesManager',
        'IncidenteEnterManager',
        'AlarmeDisparadoManager',
        'EditPTarefaManager',
        'TerminalManager',
        'BuscaUsuariosTelegramManager',
        'DetalhamentoRotasOlimpicasManager',
        'HabilitarCamadasManager',
        'AreaAtuacaoManager',
        'RastreamentoManager',
        'PontoMovelManager',
        'PoiManager',
        'AuthService',
        'Preset'
    ];

}());