Source: managers/EditPTarefaManager.js

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

    function EditPTarefaManager(MainState, MapaService) {
        return {
            'ativo': false,
            'zindex': 35,
            /**
             * @method abrirTarefa
             * @param {*} tarefa 
             * @param {*} readonly 
             */
            'abrirTarefa': function (tarefa, readonly) {
                this.ativo = true;

                var pTarefa = MainState.getDirective('pTarefa');
                pTarefa.abrirTarefa(tarefa, readonly);
            },
            /**
             * @method fechar
             */
            'fechar': function () {
                this.ativo = false;

                var tarefa = MainState.getDirective('pTarefa');
                var desenhando = tarefa.fecharTarefa();

                if (desenhando) {
                    MapaService.removerControleDesenho();
                    MapaService.removerPontosPlanejamento();
                }
            },
            /**
             * @method iniciarEditorDesenho
             */
            'iniciarEditorDesenho': function () {
                var EditPTarefaManager = MainState.getManager('EditPTarefaManager');
                MapaService.planejar(EditPTarefaManager.salvarDesenho);
            },
            /**
             * @method salvarDesenho
             */
            'salvarDesenho': function () {
                var tarefa = MainState.getDirective('pTarefa');
                tarefa.salvarDesenho(function () {
                    MapaService.removerControleDesenho();
                    MapaService.removerPontosPlanejamento();
                });
            },
            /**
             * @method ativarDesenho
             * @param {*} obj 
             * @param {*} cb 
             */
            'ativarDesenho': function (obj, cb) {
                MapaService.ativarCamada(obj, cb);
            }
        };
    }

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

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