Source: managers/DetalhamentoRotasOlimpicasManager.js

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

    function DetalhamentoRotasOlimpicasManager(MainState, MapaService) {
        var service = {
            'ativo': false,
            'top': 10,
            'right': 10,
            'titulo': 'Detalhamento Rotas',
            'data': {},
            /**
             * @method voarParaObjeto
             * @param {*} obj 
             */
            'voarParaObjeto': function (obj) {
                var coords;
                if (typeof obj.geojson === 'string') {
                    coords = JSON.parse(obj.geojson);
                } else {
                    coords = obj.geojson;
                }
                MapaService.flyTo(coords);
            },
            /**
             * @method fechar
             * @param {*} force
             */
            'fechar': function (force) {
                console.log('fechando', {
                    service: service
                });
                service.ativo = false;
            },
            /**
             * @method abrir
             * @param {*} id 
             */
            'abrir': function (id) {
                var detalhamento = MainState.getDirective('detalhamentoRotasOlimpicas');
                if (detalhamento) {
                    detalhamento.abrir(id);
                    service.ativo = true;
                }
            }
        };

        return service;
    }

    DetalhamentoRotasOlimpicasManager.$inject = [
        'MainState', 'MapaService'
    ];

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