Source: managers/IncidentesManager.js

/**
 * @ngdoc managers
 * @name IncidentesManager
 * @module s4c.managers.IncidentesManager
 *
 * @description
 * `IncidentesManager` Componente para comunicação entre uma página html qualquer e o controller da diretiva
 * 
 * 
 */
(function () {
    'use strict';

    function IncidentesManager(MainState, CamadasService, MapaService) {
        return {
            'zindex': 30,
            'incidenteAtivo': {},
            /**
             * @method reloadIncidentes
             */
            'reloadIncidentes': function () {
                CamadasService.reloadIncidentes();
            },
            /**
             * @method voarParaIncidente
             * @param {*} incidente 
             */
            'voarParaIncidente': function (incidente) {
                var MSIManager = MainState.getManager('MSIManager');
                MSIManager.gotoIncidente(incidente.id);
            },
            /**
             * @method abrirMosaicoCameras
             * @param {*} ponto 
             * @param {*} cameras 
             */
            'abrirMosaicoCameras': function (ponto, cameras) {

                MapaService.removerLinhas();
                MapaService.drawCameraLines(ponto, cameras);

                _.chain(cameras)
                    .map('CategoriaCameraId')
                    .uniq()
                    .each(function (categoriaCameraId) {
                        CamadasService.ativarMenuCategoriaCamera(categoriaCameraId);
                    })
                    .value();
            }
        };
    }

    IncidentesManager.$inject = ['MainState', 'CamadasService', 'MapaService'];

    angular.module('s4c.managers')
        .service('IncidentesManager', IncidentesManager);
})();