Source: managers/IncidenteEnterManager.js

  1. /**
  2. * @ngdoc managers
  3. * @name IncidenteEnterManager
  4. * @module s4c.managers.IncidenteEnterManager
  5. *
  6. * @description
  7. * `IncidenteEnterManager` Componente para comunicação entre uma página html qualquer e o controller da diretiva
  8. *
  9. *
  10. */
  11. (function () {
  12. 'use strict';
  13. function IncidenteEnterManager(MainState, CamadasService, MapaService) {
  14. var service = {
  15. ativo: false,
  16. latlng: null,
  17. /**
  18. * @method abrir
  19. * @param {*} e
  20. */
  21. abrir: function (e) {
  22. service.latlng = e.latlng;
  23. service.ativo = true;
  24. var incidenteEnter = MainState.getDirective('incidenteEnter');
  25. incidenteEnter.abrir(service.latlng);
  26. incidenteEnter.updateNow();
  27. },
  28. /**
  29. * @method abrirAlfinete
  30. * @param {*} marker
  31. * @param {*} chavePoi
  32. */
  33. abrirAlfinete: function (marker, chavePoi) {
  34. service.latlng = marker.getLatLng();
  35. service.ativo = true;
  36. var incidenteEnter = MainState.getDirective('incidenteEnter');
  37. incidenteEnter.abrirAlfinete(marker, chavePoi);
  38. },
  39. /**
  40. * @method abrirCentro
  41. */
  42. abrirCentro: function () {
  43. MapaService.obterPontoCentral()
  44. .then(function (center) {
  45. this.abrir({
  46. latlng: center
  47. });
  48. }.bind(this));
  49. },
  50. /**
  51. * @method fechar
  52. */
  53. fechar: function () {
  54. service.ativo = false;
  55. var incidenteEnter = MainState.getDirective('incidenteEnter');
  56. incidenteEnter.onClose();
  57. }
  58. };
  59. return service;
  60. }
  61. IncidenteEnterManager.$inject = [
  62. 'MainState',
  63. 'CamadasService',
  64. 'MapaService'
  65. ];
  66. angular.module('s4c.managers')
  67. .service('IncidenteEnterManager', IncidenteEnterManager);
  68. })();