general-library-union 2.7.21 → 2.7.23

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (649) hide show
  1. package/.browserslistrc +15 -0
  2. package/.editorconfig +16 -0
  3. package/.vscode/extensions.json +4 -0
  4. package/.vscode/launch.json +20 -0
  5. package/.vscode/tasks.json +42 -0
  6. package/angular.json +143 -0
  7. package/karma.conf.js +44 -0
  8. package/ng-package.json +21 -0
  9. package/package.json +73 -62
  10. package/{public-api.d.ts → public-api.ts} +201 -161
  11. package/src/app/app.component.html +12 -0
  12. package/src/app/app.component.scss +0 -0
  13. package/src/app/app.component.spec.ts +29 -0
  14. package/src/app/app.component.ts +34 -0
  15. package/src/app/app.config.ts +43 -0
  16. package/src/app/app.module.ts +10 -0
  17. package/src/app/app.routes.ts +88 -0
  18. package/src/app/core/componentes/breadcrumb/breadcrumb.component.html +6 -0
  19. package/src/app/core/componentes/breadcrumb/breadcrumb.component.scss +0 -0
  20. package/src/app/core/componentes/breadcrumb/breadcrumb.component.ts +39 -0
  21. package/src/app/core/componentes/carga-breadcrumb/carga-breadcrumb.component.html +1 -0
  22. package/src/app/core/componentes/carga-breadcrumb/carga-breadcrumb.component.scss +0 -0
  23. package/src/app/core/componentes/carga-breadcrumb/carga-breadcrumb.component.ts +31 -0
  24. package/src/app/core/componentes/carga-pantalla-completa/carga-pantalla-completa.component.html +9 -0
  25. package/src/app/core/componentes/carga-pantalla-completa/carga-pantalla-completa.component.scss +28 -0
  26. package/src/app/core/componentes/carga-pantalla-completa/carga-pantalla-completa.component.ts +32 -0
  27. package/src/app/core/componentes/filtro-general/filtro-general.component.html +34 -0
  28. package/src/app/core/componentes/filtro-general/filtro-general.component.scss +3 -0
  29. package/src/app/core/componentes/filtro-general/filtro-general.component.ts +200 -0
  30. package/src/app/core/componentes/footer/footer.component.html +13 -0
  31. package/src/app/core/componentes/footer/footer.component.scss +3 -0
  32. package/src/app/core/componentes/footer/footer.component.ts +20 -0
  33. package/src/app/core/componentes/formulariodinamico/formulariodinamico.component.html +267 -0
  34. package/src/app/core/componentes/formulariodinamico/formulariodinamico.component.scss +21 -0
  35. package/src/app/core/componentes/formulariodinamico/formulariodinamico.component.ts +275 -0
  36. package/src/app/core/componentes/formulariodinamico/objetosformulario/{Cambio.d.ts → Cambio.ts} +13 -7
  37. package/src/app/core/componentes/formulariodinamico/objetosformulario/CampoFormulario.ts +118 -0
  38. package/src/app/core/componentes/formulariodinamico/objetosformulario/CampoFormularioCons.ts +76 -0
  39. package/src/app/core/componentes/formulariodinamico/objetosformulario/CampoFormularioNuevo.ts +67 -0
  40. package/src/app/core/componentes/formulariodinamico/objetosformulario/HashDirective.ts +11 -0
  41. package/src/app/core/componentes/inicio-component/inicio-component.component.html +29 -0
  42. package/src/app/core/componentes/inicio-component/inicio-component.component.scss +69 -0
  43. package/src/app/core/componentes/inicio-component/inicio-component.component.ts +65 -0
  44. package/src/app/core/componentes/menu/menu.component.html +13 -0
  45. package/src/app/core/componentes/menu/menu.component.scss +36 -0
  46. package/src/app/core/componentes/menu/menu.component.ts +35 -0
  47. package/src/app/core/componentes/tabla-general/tabla-general.component.html +90 -0
  48. package/src/app/core/componentes/tabla-general/tabla-general.component.scss +0 -0
  49. package/src/app/core/componentes/tabla-general/tabla-general.component.ts +96 -0
  50. package/src/app/core/core.module.ts +22 -0
  51. package/src/app/core/errores/authentication.error.ts +6 -0
  52. package/src/app/core/modelos/error-response.model.ts +9 -0
  53. package/src/app/core/modelos/table-column.model.ts +10 -0
  54. package/src/app/core/modelos/user.model.ts +6 -0
  55. package/src/app/core/plantilla-general/plantilla-general.template.html +139 -0
  56. package/src/app/core/plantilla-general/plantilla-general.template.scss +37 -0
  57. package/src/app/core/plantilla-general/plantilla-general.template.ts +233 -0
  58. package/src/app/core/servicios/auth.service.ts +189 -0
  59. package/src/app/core/servicios/cargar-control-funcionalidad.service.ts +49 -0
  60. package/src/app/core/servicios/data-exporter-table.utils.ts +78 -0
  61. package/src/app/core/servicios/error-interceptor.service.ts +208 -0
  62. package/src/app/core/servicios/guardias/auth.guard.ts +51 -0
  63. package/src/app/core/servicios/guardias/publico.guard.ts +26 -0
  64. package/src/app/core/servicios/interceptores/loading-interceptor.ts +37 -0
  65. package/src/app/core/servicios/interceptores/token-interceptor.service.ts +110 -0
  66. package/src/app/core/servicios/loading.service.ts +48 -0
  67. package/src/app/core/servicios/menu.service.ts +153 -0
  68. package/src/app/core/servicios/spinner-service.ts +18 -0
  69. package/src/app/core/servicios/storage.service.ts +68 -0
  70. package/src/app/core/servicios/template.service.ts +91 -0
  71. package/src/app/core/servicios/toast.service.ts +114 -0
  72. package/src/app/core/servicios/utils.service.ts +362 -0
  73. package/src/app/core/sharedlib.module.ts +11 -0
  74. package/src/app/core/utilidades/color.util.ts +197 -0
  75. package/src/app/layout/api/{menuchangeevent.d.ts → menuchangeevent.ts} +4 -4
  76. package/src/app/layout/app.breadcrumb.component.html +20 -0
  77. package/src/app/layout/app.breadcrumb.component.ts +78 -0
  78. package/src/app/layout/app.footer.component.html +18 -0
  79. package/src/app/layout/app.footer.component.ts +15 -0
  80. package/src/app/layout/app.layout.component.html +20 -0
  81. package/src/app/layout/app.layout.component.ts +201 -0
  82. package/src/app/layout/app.layout.module.ts +9 -0
  83. package/src/app/layout/app.menu.component.html +6 -0
  84. package/src/app/layout/app.menu.component.ts +51 -0
  85. package/src/app/layout/app.menu.service.ts +23 -0
  86. package/src/app/layout/app.menuitem.component.ts +252 -0
  87. package/src/app/layout/app.menuprofile.component.html +35 -0
  88. package/src/app/layout/app.menuprofile.component.ts +60 -0
  89. package/src/app/layout/app.rightmenu.component.html +72 -0
  90. package/src/app/layout/app.rightmenu.component.ts +24 -0
  91. package/src/app/layout/app.sidebar.component.html +40 -0
  92. package/src/app/layout/app.sidebar.component.ts +81 -0
  93. package/src/app/layout/app.topbar.component.html +214 -0
  94. package/src/app/layout/app.topbar.component.ts +335 -0
  95. package/src/app/layout/config/app.config.component.html +125 -0
  96. package/src/app/layout/config/app.config.component.ts +206 -0
  97. package/src/app/layout/config/app.config.module.ts +11 -0
  98. package/src/app/layout/service/app.layout.service.ts +191 -0
  99. package/src/app/publico/pages/login/login.page.html +53 -0
  100. package/src/app/publico/pages/login/login.page.scss +166 -0
  101. package/src/app/publico/pages/login/login.page.ts +128 -0
  102. package/src/app/publico/pages/not-found/not-found.page.html +35 -0
  103. package/src/app/publico/pages/not-found/not-found.page.scss +2 -0
  104. package/src/app/publico/pages/not-found/not-found.page.ts +46 -0
  105. package/src/app/publico/pages/seleccion-rol/seleccion-rol.component.html +58 -0
  106. package/src/app/publico/pages/seleccion-rol/seleccion-rol.component.scss +49 -0
  107. package/src/app/publico/pages/seleccion-rol/seleccion-rol.component.ts +176 -0
  108. package/src/app/publico/pages/timeout/timeout.page.html +24 -0
  109. package/src/app/publico/pages/timeout/timeout.page.scss +2 -0
  110. package/src/app/publico/pages/timeout/timeout.page.ts +18 -0
  111. package/src/app/seguridad/constantes/ConstantesGenerales.ts +30 -0
  112. package/src/app/seguridad/constantes/ReporteEntradaConstantes.ts +18 -0
  113. package/src/app/seguridad/constantes/ReporteFuenteConstantes.ts +13 -0
  114. package/src/app/seguridad/modelos/AplicacionModel.ts +11 -0
  115. package/src/app/seguridad/modelos/ArchivoPortalModel.ts +16 -0
  116. package/src/app/seguridad/modelos/AtributoPuntoModel.ts +9 -0
  117. package/src/app/seguridad/modelos/AtributoSSOportalModel.ts +22 -0
  118. package/src/app/seguridad/modelos/{AuditoriaArchivoModel.d.ts → AuditoriaArchivoModel.ts} +13 -10
  119. package/src/app/seguridad/modelos/CargueLineaModel.ts +17 -0
  120. package/src/app/seguridad/modelos/ColoresRGB.ts +17 -0
  121. package/src/app/seguridad/modelos/ColumnaFuenteModel.ts +9 -0
  122. package/src/app/seguridad/modelos/{ColumnaWraperModel.d.ts → ColumnaWraperModel.ts} +7 -6
  123. package/src/app/seguridad/modelos/ComplementoModel.ts +10 -0
  124. package/src/app/seguridad/modelos/ComponentePaginaModel.ts +22 -0
  125. package/src/app/seguridad/modelos/ConexionModel.ts +15 -0
  126. package/src/app/seguridad/modelos/{ContenidoHtmlPortalModel.d.ts → ContenidoHtmlPortalModel.ts} +25 -20
  127. package/src/app/seguridad/modelos/ControlFuncionModel.ts +10 -0
  128. package/src/app/seguridad/modelos/CorreoModel.ts +45 -0
  129. package/src/app/seguridad/modelos/CorreoWSModel.ts +49 -0
  130. package/src/app/seguridad/modelos/CruceRecursoPuntoModel.ts +14 -0
  131. package/src/app/seguridad/modelos/{DatoInicioModel.d.ts → DatoInicioModel.ts} +7 -6
  132. package/src/app/seguridad/modelos/{EjecucionReporteDataModel.d.ts → EjecucionReporteDataModel.ts} +21 -20
  133. package/src/app/seguridad/modelos/EmpresaModel.ts +25 -0
  134. package/src/app/seguridad/modelos/EmpresaSeguridadModel.ts +19 -0
  135. package/src/app/seguridad/modelos/{EntradaComplementoModel.d.ts → EntradaComplementoModel.ts} +9 -6
  136. package/src/app/seguridad/modelos/EtiquetaModel.ts +4 -0
  137. package/src/app/seguridad/modelos/Etiquetas.ts +14 -0
  138. package/src/app/seguridad/modelos/{ForeingWraperModel.d.ts → ForeingWraperModel.ts} +9 -6
  139. package/src/app/seguridad/modelos/FuenteCampoAtributoModel.ts +21 -0
  140. package/src/app/seguridad/modelos/{FuenteCampoModel.d.ts → FuenteCampoModel.ts} +20 -16
  141. package/src/app/seguridad/modelos/FuenteDato.ts +19 -0
  142. package/src/app/seguridad/modelos/FuenteEntradaModel.ts +9 -0
  143. package/src/app/seguridad/modelos/{FuenteGeneralModel.d.ts → FuenteGeneralModel.ts} +55 -36
  144. package/src/app/seguridad/modelos/FuenteLineaServicioModel.ts +19 -0
  145. package/src/app/seguridad/modelos/FuenteProcesoGeneralModel.ts +14 -0
  146. package/src/app/seguridad/modelos/{FuenteServicioModel.d.ts → FuenteServicioModel.ts} +61 -47
  147. package/src/app/seguridad/modelos/FuncionalidadModel.ts +12 -0
  148. package/src/app/seguridad/modelos/GeneralModel.ts +16 -0
  149. package/src/app/seguridad/modelos/{GrupoAccesoModel.d.ts → GrupoAccesoModel.ts} +9 -6
  150. package/src/app/seguridad/modelos/GrupoControlFuncionModel.ts +12 -0
  151. package/src/app/seguridad/modelos/GrupoFuenteModel.ts +17 -0
  152. package/src/app/seguridad/modelos/GrupoPermisoModel.ts +16 -0
  153. package/src/app/seguridad/modelos/{JoinFromModel.d.ts → JoinFromModel.ts} +4 -4
  154. package/src/app/seguridad/modelos/ListaServicioModel.ts +18 -0
  155. package/src/app/seguridad/modelos/LlaveForaneaModel.ts +6 -0
  156. package/src/app/seguridad/modelos/LoginModel.ts +19 -0
  157. package/src/app/seguridad/modelos/MensajeSistemaModel.ts +10 -0
  158. package/src/app/seguridad/modelos/{MenuPortalModel.d.ts → MenuPortalModel.ts} +5 -4
  159. package/src/app/seguridad/modelos/ModulosModel.ts +17 -0
  160. package/src/app/seguridad/modelos/{ObjetoReporteModel.d.ts → ObjetoReporteModel.ts} +6 -5
  161. package/src/app/seguridad/modelos/PaginaPortalModel.ts +23 -0
  162. package/src/app/seguridad/modelos/ParametroComponenteModel.ts +9 -0
  163. package/src/app/seguridad/modelos/ParametrosGeneralModel.ts +16 -0
  164. package/src/app/seguridad/modelos/PermisoFuncionModel.ts +11 -0
  165. package/src/app/seguridad/modelos/PermisocontenidoModel.ts +20 -0
  166. package/src/app/seguridad/modelos/{PeticionModel.d.ts → PeticionModel.ts} +20 -15
  167. package/src/app/seguridad/modelos/PreguntaSeguridadModel.ts +9 -0
  168. package/src/app/seguridad/modelos/PropiedadModel.ts +12 -0
  169. package/src/app/seguridad/modelos/PublicacionWebModel.ts +29 -0
  170. package/src/app/seguridad/modelos/PuntoProcesoModel.ts +7 -0
  171. package/src/app/seguridad/modelos/RecursoPunto.ts +13 -0
  172. package/src/app/seguridad/modelos/RecursoPuntoModel.ts +13 -0
  173. package/src/app/seguridad/modelos/ReporteBanda.ts +9 -0
  174. package/src/app/seguridad/modelos/ReporteColumna.ts +33 -0
  175. package/src/app/seguridad/modelos/ReporteColumnario.ts +82 -0
  176. package/src/app/seguridad/modelos/ReporteColumnarioMarcador.ts +31 -0
  177. package/src/app/seguridad/modelos/{ReporteEntradaModel.d.ts → ReporteEntradaModel.ts} +21 -19
  178. package/src/app/seguridad/modelos/{ReporteFuenteModel.d.ts → ReporteFuenteModel.ts} +141 -87
  179. package/src/app/seguridad/modelos/ReporteMarcador.ts +40 -0
  180. package/src/app/seguridad/modelos/ReporteSoporte.ts +10 -0
  181. package/src/app/seguridad/modelos/ReporteTabla.ts +14 -0
  182. package/src/app/seguridad/modelos/RespuestaModel.ts +10 -0
  183. package/src/app/seguridad/modelos/{RolModel.d.ts → RolModel.ts} +41 -37
  184. package/src/app/seguridad/modelos/ServidorCorreoModel.ts +31 -0
  185. package/src/app/seguridad/modelos/SistemaMensajeModel.ts +11 -0
  186. package/src/app/seguridad/modelos/SitioPortalModel.ts +29 -0
  187. package/src/app/seguridad/modelos/TablaFromModel.ts +5 -0
  188. package/src/app/seguridad/modelos/TareasModel.ts +54 -0
  189. package/src/app/seguridad/modelos/TextoModel.ts +11 -0
  190. package/src/app/seguridad/modelos/TipoEtiqueta.ts +8 -0
  191. package/src/app/seguridad/modelos/UnionModel.ts +14 -0
  192. package/src/app/seguridad/modelos/{UsuarioModel.d.ts → UsuarioModel.ts} +60 -49
  193. package/src/app/seguridad/modelos/UsuariogrupoModel.ts +27 -0
  194. package/src/app/seguridad/modelos/aplicacion-propiedad-model.ts +16 -0
  195. package/src/app/seguridad/modelos/contenidoCorreoModel.ts +13 -0
  196. package/src/app/shared/componentes/input-helper-seleccion-plantilla/input-helper-seleccion-plantilla.component.html +47 -0
  197. package/src/app/shared/componentes/input-helper-seleccion-plantilla/input-helper-seleccion-plantilla.component.scss +8 -0
  198. package/src/app/shared/componentes/input-helper-seleccion-plantilla/input-helper-seleccion-plantilla.component.ts +141 -0
  199. package/src/app/shared/servicios/cargar-archivos.service.ts +51 -0
  200. package/src/app/shared/servicios/cargar-mapas.service.ts +43 -0
  201. package/src/app/shared/servicios/encriptado-basico.service.ts +54 -0
  202. package/src/app/shared/servicios/encriptador-simetrico.service.ts +29 -0
  203. package/src/app/shared/servicios/general.service.ts +124 -0
  204. package/src/app/shared/servicios/parametros-navegacion.service.ts +20 -0
  205. package/src/app/shared/servicios/plantillas.service.ts +22 -0
  206. package/src/app/shared/servicios/tarea.service.ts +71 -0
  207. package/src/app/shared/utilidades/translate-loader.util.ts +44 -0
  208. package/src/app/webcommon/pages/cargue-plantilla/cargue-plantilla-general/cargue-plantilla-general.component.html +167 -0
  209. package/src/app/webcommon/pages/cargue-plantilla/cargue-plantilla-general/cargue-plantilla-general.component.scss +11 -0
  210. package/src/app/webcommon/pages/cargue-plantilla/cargue-plantilla-general/cargue-plantilla-general.component.ts +425 -0
  211. package/src/app/webcommon/pages/ejecucion-reporte/detalle-campo-reporte/detalle-campo-reporte.component.html +87 -0
  212. package/src/app/webcommon/pages/ejecucion-reporte/detalle-campo-reporte/detalle-campo-reporte.component.scss +0 -0
  213. package/src/app/webcommon/pages/ejecucion-reporte/detalle-campo-reporte/detalle-campo-reporte.component.ts +189 -0
  214. package/src/app/webcommon/pages/ejecucion-reporte/detalle-distribucion-reporte/detalle-distribucion-reporte.component.html +117 -0
  215. package/src/app/webcommon/pages/ejecucion-reporte/detalle-distribucion-reporte/detalle-distribucion-reporte.component.scss +0 -0
  216. package/src/app/webcommon/pages/ejecucion-reporte/detalle-distribucion-reporte/detalle-distribucion-reporte.component.ts +87 -0
  217. package/src/app/webcommon/pages/ejecucion-reporte/detalle-ejecucion-reporte/detalle-ejecucion-reporte.page.html +158 -0
  218. package/src/app/webcommon/pages/ejecucion-reporte/detalle-ejecucion-reporte/detalle-ejecucion-reporte.page.scss +6 -0
  219. package/src/app/webcommon/pages/ejecucion-reporte/detalle-ejecucion-reporte/detalle-ejecucion-reporte.page.ts +345 -0
  220. package/src/app/webcommon/pages/ejecucion-reporte/detalle-entrada-reporte/detalle-entrada-reporte.component.html +131 -0
  221. package/src/app/webcommon/pages/ejecucion-reporte/detalle-entrada-reporte/detalle-entrada-reporte.component.scss +0 -0
  222. package/src/app/webcommon/pages/ejecucion-reporte/detalle-entrada-reporte/detalle-entrada-reporte.component.ts +198 -0
  223. package/src/app/webcommon/pages/ejecucion-reporte/detalle-punto-proceso-reporte/detalle-punto-proceso-reporte.component.html +206 -0
  224. package/src/app/webcommon/pages/ejecucion-reporte/detalle-punto-proceso-reporte/detalle-punto-proceso-reporte.component.scss +3 -0
  225. package/src/app/webcommon/pages/ejecucion-reporte/detalle-punto-proceso-reporte/detalle-punto-proceso-reporte.component.ts +329 -0
  226. package/src/app/webcommon/pages/ejecucion-reporte/detalle-tipo-reporte/detalle-tipo-reporte.component.html +2114 -0
  227. package/src/app/webcommon/pages/ejecucion-reporte/detalle-tipo-reporte/detalle-tipo-reporte.component.scss +241 -0
  228. package/src/app/webcommon/pages/ejecucion-reporte/detalle-tipo-reporte/detalle-tipo-reporte.component.ts +1677 -0
  229. package/src/app/webcommon/pages/ejecucion-reporte/listado-ejecucion-reporte/listado-ejecucion-reporte.page.html +33 -0
  230. package/src/app/webcommon/pages/ejecucion-reporte/listado-ejecucion-reporte/listado-ejecucion-reporte.page.scss +0 -0
  231. package/src/app/webcommon/pages/ejecucion-reporte/listado-ejecucion-reporte/listado-ejecucion-reporte.page.ts +96 -0
  232. package/src/app/webcommon/pages/ejecucion-reporte-externo/listado-ejecucion-reporte-externo/listado-ejecucion-reporte-externo.component.html +54 -0
  233. package/src/app/webcommon/pages/ejecucion-reporte-externo/listado-ejecucion-reporte-externo/listado-ejecucion-reporte-externo.component.scss +0 -0
  234. package/src/app/webcommon/pages/ejecucion-reporte-externo/listado-ejecucion-reporte-externo/listado-ejecucion-reporte-externo.component.ts +111 -0
  235. package/src/app/webcommon/pages/fuente/importar-fuente-con/importar-fuente-con.component.html +394 -0
  236. package/src/app/webcommon/pages/fuente/importar-fuente-con/importar-fuente-con.component.scss +10 -0
  237. package/src/app/webcommon/pages/fuente/importar-fuente-con/importar-fuente-con.component.ts +599 -0
  238. package/src/app/webcommon/pages/fuente/importar-fuente-general/importar-fuente-general.component.html +130 -0
  239. package/src/app/webcommon/pages/fuente/importar-fuente-general/importar-fuente-general.component.scss +0 -0
  240. package/src/app/webcommon/pages/fuente/importar-fuente-general/importar-fuente-general.component.ts +172 -0
  241. package/src/app/webcommon/pages/fuente-reporte/fuente-reporte.component.html +376 -0
  242. package/src/app/webcommon/pages/fuente-reporte/fuente-reporte.component.scss +5 -0
  243. package/src/app/webcommon/pages/fuente-reporte/fuente-reporte.component.ts +749 -0
  244. package/src/app/webcommon/pages/fuenteGeneral/fuente-general-servicio/fuente-general-servicio.component.html +145 -0
  245. package/src/app/webcommon/pages/fuenteGeneral/fuente-general-servicio/fuente-general-servicio.component.scss +0 -0
  246. package/src/app/webcommon/pages/fuenteGeneral/fuente-general-servicio/fuente-general-servicio.component.ts +302 -0
  247. package/src/app/webcommon/pages/fuenteGeneral/listado-fuente-general/listado-fuente-general.page.html +19 -0
  248. package/src/app/webcommon/pages/fuenteGeneral/listado-fuente-general/listado-fuente-general.page.scss +0 -0
  249. package/src/app/webcommon/pages/fuenteGeneral/listado-fuente-general/listado-fuente-general.page.ts +89 -0
  250. package/src/app/webcommon/pages/fuenteGeneral/mantenimiento-fuente-general/mantenimiento-fuente-general.page.html +714 -0
  251. package/src/app/webcommon/pages/fuenteGeneral/mantenimiento-fuente-general/mantenimiento-fuente-general.page.scss +0 -0
  252. package/src/app/webcommon/pages/fuenteGeneral/mantenimiento-fuente-general/mantenimiento-fuente-general.page.ts +688 -0
  253. package/src/app/webcommon/pipes/dashboard.pipe.ts +79 -0
  254. package/src/app/webcommon/pipes/fuente.pipe.ts +207 -0
  255. package/src/app/webcommon/pipes/general.pipe.ts +1043 -0
  256. package/src/app/webcommon/pipes/reporte-columnario.pipe.ts +101 -0
  257. package/src/app/webcommon/pipes/reporte-fuente.pipe.ts +306 -0
  258. package/src/app/webcommon/pipes/sara-general.pipe.ts +289 -0
  259. package/src/app/webcommon/popups/popup-campos-fuente-general/popup-campos-fuente-general.component.html +90 -0
  260. package/src/app/webcommon/popups/popup-campos-fuente-general/popup-campos-fuente-general.component.scss +0 -0
  261. package/src/app/webcommon/popups/popup-campos-fuente-general/popup-campos-fuente-general.component.ts +262 -0
  262. package/src/app/webcommon/popups/popup-convertir-plantillas/popup-convertir-plantillas.component.html +50 -0
  263. package/src/app/webcommon/popups/popup-convertir-plantillas/popup-convertir-plantillas.component.scss +0 -0
  264. package/src/app/webcommon/popups/popup-convertir-plantillas/popup-convertir-plantillas.component.ts +135 -0
  265. package/src/app/webcommon/popups/popup-punto-proceso/popup-punto-proceso.component.html +41 -0
  266. package/src/app/webcommon/popups/popup-punto-proceso/popup-punto-proceso.component.scss +0 -0
  267. package/src/app/webcommon/popups/popup-punto-proceso/popup-punto-proceso.component.ts +283 -0
  268. package/src/app/webcommon/popups/popup-recurso/popup-recurso.component.html +179 -0
  269. package/src/app/webcommon/popups/popup-recurso/popup-recurso.component.scss +3 -0
  270. package/src/app/webcommon/popups/popup-recurso/popup-recurso.component.ts +266 -0
  271. package/src/app/webcommon/popups/popup-reporte/popup-reporte.component.html +261 -0
  272. package/src/app/webcommon/popups/popup-reporte/popup-reporte.component.scss +13 -0
  273. package/src/app/webcommon/popups/popup-reporte/popup-reporte.component.ts +519 -0
  274. package/src/app/webcommon/popups/popup-sentencia/popup-sentencia.component.html +10 -0
  275. package/src/app/webcommon/popups/popup-sentencia/popup-sentencia.component.scss +5 -0
  276. package/src/app/webcommon/popups/popup-sentencia/popup-sentencia.component.ts +58 -0
  277. package/src/app/webcommon/popups/popup-tablas-fuente/popup-tablas-fuente.component.html +71 -0
  278. package/src/app/webcommon/popups/popup-tablas-fuente/popup-tablas-fuente.component.scss +0 -0
  279. package/src/app/webcommon/popups/popup-tablas-fuente/popup-tablas-fuente.component.ts +151 -0
  280. package/src/app/webcommon/popups/punto-proceso-comp/punto-proceso-comp.component.html +11 -0
  281. package/src/app/webcommon/popups/punto-proceso-comp/punto-proceso-comp.component.scss +0 -0
  282. package/src/app/webcommon/popups/punto-proceso-comp/punto-proceso-comp.component.ts +82 -0
  283. package/src/app/webcommon/services/carguelinea.service.ts +72 -0
  284. package/src/app/webcommon/services/dashboard.service.ts +258 -0
  285. package/src/app/webcommon/services/ejecucionreporte.service.ts +160 -0
  286. package/src/app/webcommon/services/fechaUtils.service.ts +117 -0
  287. package/src/app/webcommon/services/fuentegeneral.service.ts +74 -0
  288. package/src/app/webcommon/services/homologacion.service.ts +49 -0
  289. package/src/app/webcommon/services/plantillas.service.ts +165 -0
  290. package/src/app/webcommon/services/reportes.service.ts +133 -0
  291. package/src/app/webcommon/webcommon.module.ts +11 -0
  292. package/src/environments/environment.prod.ts +3 -0
  293. package/src/environments/environment.ts +25 -0
  294. package/src/favicon.ico +0 -0
  295. package/src/index.html +14 -0
  296. package/src/main.ts +12 -0
  297. package/src/polyfills.ts +53 -0
  298. package/src/styles/primeng/sass/overrides/_theme_styles.scss +2 -2
  299. package/src/styles/primeng/sass/overrides/_theme_styles_dark.scss +2 -2
  300. package/src/test.ts +14 -0
  301. package/tsconfig.app.json +15 -0
  302. package/tsconfig.json +35 -0
  303. package/tsconfig.spec.json +18 -0
  304. package/esm2022/general-library-union.mjs +0 -5
  305. package/esm2022/public-api.mjs +0 -180
  306. package/esm2022/src/app/core/componentes/breadcrumb/breadcrumb.component.mjs +0 -40
  307. package/esm2022/src/app/core/componentes/carga-pantalla-completa/carga-pantalla-completa.component.mjs +0 -28
  308. package/esm2022/src/app/core/componentes/filtro-general/filtro-general.component.mjs +0 -192
  309. package/esm2022/src/app/core/componentes/footer/footer.component.mjs +0 -16
  310. package/esm2022/src/app/core/componentes/formulariodinamico/formulariodinamico.component.mjs +0 -272
  311. package/esm2022/src/app/core/componentes/formulariodinamico/objetosformulario/Cambio.mjs +0 -11
  312. package/esm2022/src/app/core/componentes/formulariodinamico/objetosformulario/CampoFormulario.mjs +0 -124
  313. package/esm2022/src/app/core/componentes/formulariodinamico/objetosformulario/CampoFormularioCons.mjs +0 -73
  314. package/esm2022/src/app/core/componentes/formulariodinamico/objetosformulario/CampoFormularioNuevo.mjs +0 -59
  315. package/esm2022/src/app/core/componentes/formulariodinamico/objetosformulario/HashDirective.mjs +0 -21
  316. package/esm2022/src/app/core/componentes/inicio-component/inicio-component.component.mjs +0 -67
  317. package/esm2022/src/app/core/componentes/menu/menu.component.mjs +0 -37
  318. package/esm2022/src/app/core/componentes/tabla-general/tabla-general.component.mjs +0 -93
  319. package/esm2022/src/app/core/core.module.mjs +0 -23
  320. package/esm2022/src/app/core/errores/authentication.error.mjs +0 -7
  321. package/esm2022/src/app/core/modelos/error-response.model.mjs +0 -2
  322. package/esm2022/src/app/core/modelos/table-column.model.mjs +0 -2
  323. package/esm2022/src/app/core/modelos/user.model.mjs +0 -7
  324. package/esm2022/src/app/core/plantilla-general/plantilla-general.template.mjs +0 -230
  325. package/esm2022/src/app/core/servicios/auth.service.mjs +0 -185
  326. package/esm2022/src/app/core/servicios/cargar-control-funcionalidad.service.mjs +0 -57
  327. package/esm2022/src/app/core/servicios/data-exporter-table.utils.mjs +0 -64
  328. package/esm2022/src/app/core/servicios/error-interceptor.service.mjs +0 -214
  329. package/esm2022/src/app/core/servicios/guardias/auth.guard.mjs +0 -66
  330. package/esm2022/src/app/core/servicios/guardias/publico.guard.mjs +0 -35
  331. package/esm2022/src/app/core/servicios/interceptores/loading-interceptor.mjs +0 -37
  332. package/esm2022/src/app/core/servicios/interceptores/token-interceptor.service.mjs +0 -120
  333. package/esm2022/src/app/core/servicios/loading.service.mjs +0 -43
  334. package/esm2022/src/app/core/servicios/menu.service.mjs +0 -146
  335. package/esm2022/src/app/core/servicios/spinner-service.mjs +0 -22
  336. package/esm2022/src/app/core/servicios/storage.service.mjs +0 -68
  337. package/esm2022/src/app/core/servicios/template.service.mjs +0 -99
  338. package/esm2022/src/app/core/servicios/toast.service.mjs +0 -120
  339. package/esm2022/src/app/core/servicios/utils.service.mjs +0 -335
  340. package/esm2022/src/app/core/sharedlib.module.mjs +0 -16
  341. package/esm2022/src/app/core/utilidades/color.util.mjs +0 -177
  342. package/esm2022/src/app/layout/api/menuchangeevent.mjs +0 -2
  343. package/esm2022/src/app/layout/app.breadcrumb.component.mjs +0 -71
  344. package/esm2022/src/app/layout/app.footer.component.mjs +0 -18
  345. package/esm2022/src/app/layout/app.layout.component.mjs +0 -188
  346. package/esm2022/src/app/layout/app.layout.module.mjs +0 -15
  347. package/esm2022/src/app/layout/app.menu.component.mjs +0 -51
  348. package/esm2022/src/app/layout/app.menu.service.mjs +0 -24
  349. package/esm2022/src/app/layout/app.menuitem.component.mjs +0 -296
  350. package/esm2022/src/app/layout/app.menuprofile.component.mjs +0 -78
  351. package/esm2022/src/app/layout/app.rightmenu.component.mjs +0 -24
  352. package/esm2022/src/app/layout/app.sidebar.component.mjs +0 -92
  353. package/esm2022/src/app/layout/app.topbar.component.mjs +0 -345
  354. package/esm2022/src/app/layout/service/app.layout.service.mjs +0 -134
  355. package/esm2022/src/app/publico/pages/login/login.page.mjs +0 -129
  356. package/esm2022/src/app/publico/pages/not-found/not-found.page.mjs +0 -51
  357. package/esm2022/src/app/publico/pages/seleccion-rol/seleccion-rol.component.mjs +0 -167
  358. package/esm2022/src/app/publico/pages/timeout/timeout.page.mjs +0 -20
  359. package/esm2022/src/app/seguridad/constantes/ConstantesGenerales.mjs +0 -30
  360. package/esm2022/src/app/seguridad/constantes/ReporteEntradaConstantes.mjs +0 -19
  361. package/esm2022/src/app/seguridad/modelos/AplicacionModel.mjs +0 -8
  362. package/esm2022/src/app/seguridad/modelos/ArchivoPortalModel.mjs +0 -14
  363. package/esm2022/src/app/seguridad/modelos/AtributoPuntoModel.mjs +0 -9
  364. package/esm2022/src/app/seguridad/modelos/AtributoSSOportalModel.mjs +0 -17
  365. package/esm2022/src/app/seguridad/modelos/AuditoriaArchivoModel.mjs +0 -11
  366. package/esm2022/src/app/seguridad/modelos/CargueLineaModel.mjs +0 -13
  367. package/esm2022/src/app/seguridad/modelos/ColoresRGB.mjs +0 -18
  368. package/esm2022/src/app/seguridad/modelos/ColumnaFuenteModel.mjs +0 -9
  369. package/esm2022/src/app/seguridad/modelos/ColumnaWraperModel.mjs +0 -6
  370. package/esm2022/src/app/seguridad/modelos/ComplementoModel.mjs +0 -7
  371. package/esm2022/src/app/seguridad/modelos/ComponentePaginaModel.mjs +0 -21
  372. package/esm2022/src/app/seguridad/modelos/ConexionModel.mjs +0 -14
  373. package/esm2022/src/app/seguridad/modelos/ContenidoHtmlPortalModel.mjs +0 -21
  374. package/esm2022/src/app/seguridad/modelos/ControlFuncionModel.mjs +0 -8
  375. package/esm2022/src/app/seguridad/modelos/CorreoModel.mjs +0 -35
  376. package/esm2022/src/app/seguridad/modelos/CorreoWSModel.mjs +0 -37
  377. package/esm2022/src/app/seguridad/modelos/CruceRecursoPuntoModel.mjs +0 -14
  378. package/esm2022/src/app/seguridad/modelos/DatoInicioModel.mjs +0 -6
  379. package/esm2022/src/app/seguridad/modelos/EjecucionReporteDataModel.mjs +0 -14
  380. package/esm2022/src/app/seguridad/modelos/EmpresaModel.mjs +0 -25
  381. package/esm2022/src/app/seguridad/modelos/EmpresaSeguridadModel.mjs +0 -19
  382. package/esm2022/src/app/seguridad/modelos/EntradaComplementoModel.mjs +0 -7
  383. package/esm2022/src/app/seguridad/modelos/EtiquetaModel.mjs +0 -5
  384. package/esm2022/src/app/seguridad/modelos/Etiquetas.mjs +0 -12
  385. package/esm2022/src/app/seguridad/modelos/ForeingWraperModel.mjs +0 -6
  386. package/esm2022/src/app/seguridad/modelos/FuenteCampoAtributoModel.mjs +0 -16
  387. package/esm2022/src/app/seguridad/modelos/FuenteCampoModel.mjs +0 -17
  388. package/esm2022/src/app/seguridad/modelos/FuenteDato.mjs +0 -19
  389. package/esm2022/src/app/seguridad/modelos/FuenteEntradaModel.mjs +0 -9
  390. package/esm2022/src/app/seguridad/modelos/FuenteGeneralModel.mjs +0 -37
  391. package/esm2022/src/app/seguridad/modelos/FuenteLineaServicioModel.mjs +0 -16
  392. package/esm2022/src/app/seguridad/modelos/FuenteProcesoGeneralModel.mjs +0 -11
  393. package/esm2022/src/app/seguridad/modelos/FuenteServicioModel.mjs +0 -51
  394. package/esm2022/src/app/seguridad/modelos/FuncionalidadModel.mjs +0 -10
  395. package/esm2022/src/app/seguridad/modelos/GeneralModel.mjs +0 -15
  396. package/esm2022/src/app/seguridad/modelos/GrupoAccesoModel.mjs +0 -7
  397. package/esm2022/src/app/seguridad/modelos/GrupoControlFuncionModel.mjs +0 -10
  398. package/esm2022/src/app/seguridad/modelos/GrupoFuenteModel.mjs +0 -13
  399. package/esm2022/src/app/seguridad/modelos/GrupoPermisoModel.mjs +0 -14
  400. package/esm2022/src/app/seguridad/modelos/JoinFromModel.mjs +0 -5
  401. package/esm2022/src/app/seguridad/modelos/ListaServicioModel.mjs +0 -17
  402. package/esm2022/src/app/seguridad/modelos/LlaveForaneaModel.mjs +0 -7
  403. package/esm2022/src/app/seguridad/modelos/LoginModel.mjs +0 -15
  404. package/esm2022/src/app/seguridad/modelos/MensajeSistemaModel.mjs +0 -8
  405. package/esm2022/src/app/seguridad/modelos/MenuPortalModel.mjs +0 -5
  406. package/esm2022/src/app/seguridad/modelos/ModulosModel.mjs +0 -18
  407. package/esm2022/src/app/seguridad/modelos/ObjetoReporteModel.mjs +0 -6
  408. package/esm2022/src/app/seguridad/modelos/PaginaPortalModel.mjs +0 -20
  409. package/esm2022/src/app/seguridad/modelos/ParametroComponenteModel.mjs +0 -9
  410. package/esm2022/src/app/seguridad/modelos/ParametrosGeneralModel.mjs +0 -15
  411. package/esm2022/src/app/seguridad/modelos/PermisoFuncionModel.mjs +0 -9
  412. package/esm2022/src/app/seguridad/modelos/PermisocontenidoModel.mjs +0 -20
  413. package/esm2022/src/app/seguridad/modelos/PeticionModel.mjs +0 -16
  414. package/esm2022/src/app/seguridad/modelos/PreguntaSeguridadModel.mjs +0 -7
  415. package/esm2022/src/app/seguridad/modelos/PropiedadModel.mjs +0 -10
  416. package/esm2022/src/app/seguridad/modelos/PublicacionWebModel.mjs +0 -27
  417. package/esm2022/src/app/seguridad/modelos/PuntoProcesoModel.mjs +0 -7
  418. package/esm2022/src/app/seguridad/modelos/RecursoPunto.mjs +0 -13
  419. package/esm2022/src/app/seguridad/modelos/RecursoPuntoModel.mjs +0 -13
  420. package/esm2022/src/app/seguridad/modelos/ReporteBanda.mjs +0 -8
  421. package/esm2022/src/app/seguridad/modelos/ReporteColumna.mjs +0 -33
  422. package/esm2022/src/app/seguridad/modelos/ReporteColumnario.mjs +0 -69
  423. package/esm2022/src/app/seguridad/modelos/ReporteColumnarioMarcador.mjs +0 -24
  424. package/esm2022/src/app/seguridad/modelos/ReporteEntradaModel.mjs +0 -20
  425. package/esm2022/src/app/seguridad/modelos/ReporteFuenteModel.mjs +0 -124
  426. package/esm2022/src/app/seguridad/modelos/ReporteMarcador.mjs +0 -40
  427. package/esm2022/src/app/seguridad/modelos/ReporteSoporte.mjs +0 -10
  428. package/esm2022/src/app/seguridad/modelos/ReporteTabla.mjs +0 -13
  429. package/esm2022/src/app/seguridad/modelos/RespuestaModel.mjs +0 -9
  430. package/esm2022/src/app/seguridad/modelos/RolModel.mjs +0 -39
  431. package/esm2022/src/app/seguridad/modelos/ServidorCorreoModel.mjs +0 -28
  432. package/esm2022/src/app/seguridad/modelos/SistemaMensajeModel.mjs +0 -9
  433. package/esm2022/src/app/seguridad/modelos/SitioPortalModel.mjs +0 -25
  434. package/esm2022/src/app/seguridad/modelos/TablaFromModel.mjs +0 -5
  435. package/esm2022/src/app/seguridad/modelos/TareasModel.mjs +0 -54
  436. package/esm2022/src/app/seguridad/modelos/TextoModel.mjs +0 -9
  437. package/esm2022/src/app/seguridad/modelos/TipoEtiqueta.mjs +0 -8
  438. package/esm2022/src/app/seguridad/modelos/UnionModel.mjs +0 -12
  439. package/esm2022/src/app/seguridad/modelos/UsuarioModel.mjs +0 -53
  440. package/esm2022/src/app/seguridad/modelos/UsuariogrupoModel.mjs +0 -24
  441. package/esm2022/src/app/seguridad/modelos/aplicacion-propiedad-model.mjs +0 -15
  442. package/esm2022/src/app/seguridad/modelos/contenidoCorreoModel.mjs +0 -10
  443. package/esm2022/src/app/shared/componentes/input-helper-seleccion-plantilla/input-helper-seleccion-plantilla.component.mjs +0 -151
  444. package/esm2022/src/app/shared/servicios/cargar-archivos.service.mjs +0 -54
  445. package/esm2022/src/app/shared/servicios/cargar-mapas.service.mjs +0 -46
  446. package/esm2022/src/app/shared/servicios/encriptado-basico.service.mjs +0 -53
  447. package/esm2022/src/app/shared/servicios/general.service.mjs +0 -104
  448. package/esm2022/src/app/shared/servicios/parametros-navegacion.service.mjs +0 -21
  449. package/esm2022/src/app/webcommon/pages/cargue-plantilla/cargue-plantilla-general/cargue-plantilla-general.component.mjs +0 -370
  450. package/esm2022/src/app/webcommon/pages/ejecucion-reporte/detalle-campo-reporte/detalle-campo-reporte.component.mjs +0 -187
  451. package/esm2022/src/app/webcommon/pages/ejecucion-reporte/detalle-distribucion-reporte/detalle-distribucion-reporte.component.mjs +0 -85
  452. package/esm2022/src/app/webcommon/pages/ejecucion-reporte/detalle-ejecucion-reporte/detalle-ejecucion-reporte.page.mjs +0 -347
  453. package/esm2022/src/app/webcommon/pages/ejecucion-reporte/detalle-entrada-reporte/detalle-entrada-reporte.component.mjs +0 -206
  454. package/esm2022/src/app/webcommon/pages/ejecucion-reporte/detalle-punto-proceso-reporte/detalle-punto-proceso-reporte.component.mjs +0 -328
  455. package/esm2022/src/app/webcommon/pages/ejecucion-reporte/detalle-tipo-reporte/detalle-tipo-reporte.component.mjs +0 -1569
  456. package/esm2022/src/app/webcommon/pages/ejecucion-reporte/listado-ejecucion-reporte/listado-ejecucion-reporte.page.mjs +0 -105
  457. package/esm2022/src/app/webcommon/pages/ejecucion-reporte-externo/listado-ejecucion-reporte-externo/listado-ejecucion-reporte-externo.component.mjs +0 -114
  458. package/esm2022/src/app/webcommon/pages/fuente/importar-fuente-con/importar-fuente-con.component.mjs +0 -588
  459. package/esm2022/src/app/webcommon/pages/fuente/importar-fuente-general/importar-fuente-general.component.mjs +0 -177
  460. package/esm2022/src/app/webcommon/pages/fuente-reporte/fuente-reporte.component.mjs +0 -749
  461. package/esm2022/src/app/webcommon/pages/fuenteGeneral/fuente-general-servicio/fuente-general-servicio.component.mjs +0 -331
  462. package/esm2022/src/app/webcommon/pages/fuenteGeneral/listado-fuente-general/listado-fuente-general.page.mjs +0 -96
  463. package/esm2022/src/app/webcommon/pages/fuenteGeneral/mantenimiento-fuente-general/mantenimiento-fuente-general.page.mjs +0 -675
  464. package/esm2022/src/app/webcommon/pipes/dashboard.pipe.mjs +0 -86
  465. package/esm2022/src/app/webcommon/pipes/fuente.pipe.mjs +0 -201
  466. package/esm2022/src/app/webcommon/pipes/general.pipe.mjs +0 -916
  467. package/esm2022/src/app/webcommon/pipes/reporte-columnario.pipe.mjs +0 -115
  468. package/esm2022/src/app/webcommon/pipes/reporte-fuente.pipe.mjs +0 -301
  469. package/esm2022/src/app/webcommon/popups/popup-campos-fuente-general/popup-campos-fuente-general.component.mjs +0 -267
  470. package/esm2022/src/app/webcommon/popups/popup-convertir-plantillas/popup-convertir-plantillas.component.mjs +0 -128
  471. package/esm2022/src/app/webcommon/popups/popup-punto-proceso/popup-punto-proceso.component.mjs +0 -293
  472. package/esm2022/src/app/webcommon/popups/popup-recurso/popup-recurso.component.mjs +0 -269
  473. package/esm2022/src/app/webcommon/popups/popup-reporte/popup-reporte.component.mjs +0 -515
  474. package/esm2022/src/app/webcommon/popups/popup-sentencia/popup-sentencia.component.mjs +0 -64
  475. package/esm2022/src/app/webcommon/popups/popup-tablas-fuente/popup-tablas-fuente.component.mjs +0 -159
  476. package/esm2022/src/app/webcommon/popups/punto-proceso-comp/punto-proceso-comp.component.mjs +0 -89
  477. package/esm2022/src/app/webcommon/services/carguelinea.service.mjs +0 -69
  478. package/esm2022/src/app/webcommon/services/dashboard.service.mjs +0 -253
  479. package/esm2022/src/app/webcommon/services/ejecucionreporte.service.mjs +0 -114
  480. package/esm2022/src/app/webcommon/services/fechaUtils.service.mjs +0 -88
  481. package/esm2022/src/app/webcommon/services/fuentegeneral.service.mjs +0 -68
  482. package/esm2022/src/app/webcommon/services/homologacion.service.mjs +0 -50
  483. package/esm2022/src/app/webcommon/services/plantillas.service.mjs +0 -129
  484. package/esm2022/src/app/webcommon/services/reportes.service.mjs +0 -95
  485. package/esm2022/src/app/webcommon/webcommon.module.mjs +0 -15
  486. package/esm2022/src/environments/environment.mjs +0 -24
  487. package/fesm2022/general-library-union.mjs +0 -15820
  488. package/fesm2022/general-library-union.mjs.map +0 -1
  489. package/index.d.ts +0 -5
  490. package/src/app/core/componentes/breadcrumb/breadcrumb.component.d.ts +0 -18
  491. package/src/app/core/componentes/carga-pantalla-completa/carga-pantalla-completa.component.d.ts +0 -14
  492. package/src/app/core/componentes/filtro-general/filtro-general.component.d.ts +0 -34
  493. package/src/app/core/componentes/footer/footer.component.d.ts +0 -9
  494. package/src/app/core/componentes/formulariodinamico/formulariodinamico.component.d.ts +0 -46
  495. package/src/app/core/componentes/formulariodinamico/objetosformulario/CampoFormulario.d.ts +0 -44
  496. package/src/app/core/componentes/formulariodinamico/objetosformulario/CampoFormularioCons.d.ts +0 -45
  497. package/src/app/core/componentes/formulariodinamico/objetosformulario/CampoFormularioNuevo.d.ts +0 -33
  498. package/src/app/core/componentes/formulariodinamico/objetosformulario/HashDirective.d.ts +0 -9
  499. package/src/app/core/componentes/inicio-component/inicio-component.component.d.ts +0 -24
  500. package/src/app/core/componentes/menu/menu.component.d.ts +0 -16
  501. package/src/app/core/componentes/tabla-general/tabla-general.component.d.ts +0 -32
  502. package/src/app/core/core.module.d.ts +0 -8
  503. package/src/app/core/errores/authentication.error.d.ts +0 -3
  504. package/src/app/core/modelos/error-response.model.d.ts +0 -9
  505. package/src/app/core/modelos/table-column.model.d.ts +0 -12
  506. package/src/app/core/modelos/user.model.d.ts +0 -6
  507. package/src/app/core/plantilla-general/plantilla-general.template.d.ts +0 -89
  508. package/src/app/core/servicios/auth.service.d.ts +0 -52
  509. package/src/app/core/servicios/cargar-control-funcionalidad.service.d.ts +0 -19
  510. package/src/app/core/servicios/data-exporter-table.utils.d.ts +0 -11
  511. package/src/app/core/servicios/error-interceptor.service.d.ts +0 -41
  512. package/src/app/core/servicios/guardias/auth.guard.d.ts +0 -17
  513. package/src/app/core/servicios/guardias/publico.guard.d.ts +0 -13
  514. package/src/app/core/servicios/interceptores/loading-interceptor.d.ts +0 -11
  515. package/src/app/core/servicios/interceptores/token-interceptor.service.d.ts +0 -21
  516. package/src/app/core/servicios/loading.service.d.ts +0 -22
  517. package/src/app/core/servicios/menu.service.d.ts +0 -35
  518. package/src/app/core/servicios/spinner-service.d.ts +0 -9
  519. package/src/app/core/servicios/storage.service.d.ts +0 -37
  520. package/src/app/core/servicios/template.service.d.ts +0 -20
  521. package/src/app/core/servicios/toast.service.d.ts +0 -48
  522. package/src/app/core/servicios/utils.service.d.ts +0 -42
  523. package/src/app/core/sharedlib.module.d.ts +0 -6
  524. package/src/app/core/utilidades/color.util.d.ts +0 -70
  525. package/src/app/layout/app.breadcrumb.component.d.ts +0 -28
  526. package/src/app/layout/app.footer.component.d.ts +0 -8
  527. package/src/app/layout/app.layout.component.d.ts +0 -39
  528. package/src/app/layout/app.layout.module.d.ts +0 -6
  529. package/src/app/layout/app.menu.component.d.ts +0 -19
  530. package/src/app/layout/app.menu.service.d.ts +0 -12
  531. package/src/app/layout/app.menuitem.component.d.ts +0 -41
  532. package/src/app/layout/app.menuprofile.component.d.ts +0 -18
  533. package/src/app/layout/app.rightmenu.component.d.ts +0 -10
  534. package/src/app/layout/app.sidebar.component.d.ts +0 -34
  535. package/src/app/layout/app.topbar.component.d.ts +0 -79
  536. package/src/app/layout/service/app.layout.service.d.ts +0 -57
  537. package/src/app/publico/pages/login/login.page.d.ts +0 -40
  538. package/src/app/publico/pages/not-found/not-found.page.d.ts +0 -17
  539. package/src/app/publico/pages/seleccion-rol/seleccion-rol.component.d.ts +0 -41
  540. package/src/app/publico/pages/timeout/timeout.page.d.ts +0 -10
  541. package/src/app/seguridad/constantes/ConstantesGenerales.d.ts +0 -25
  542. package/src/app/seguridad/constantes/ReporteEntradaConstantes.d.ts +0 -7
  543. package/src/app/seguridad/modelos/AplicacionModel.d.ts +0 -7
  544. package/src/app/seguridad/modelos/ArchivoPortalModel.d.ts +0 -13
  545. package/src/app/seguridad/modelos/AtributoPuntoModel.d.ts +0 -8
  546. package/src/app/seguridad/modelos/AtributoSSOportalModel.d.ts +0 -16
  547. package/src/app/seguridad/modelos/CargueLineaModel.d.ts +0 -12
  548. package/src/app/seguridad/modelos/ColoresRGB.d.ts +0 -17
  549. package/src/app/seguridad/modelos/ColumnaFuenteModel.d.ts +0 -8
  550. package/src/app/seguridad/modelos/ComplementoModel.d.ts +0 -6
  551. package/src/app/seguridad/modelos/ComponentePaginaModel.d.ts +0 -20
  552. package/src/app/seguridad/modelos/ConexionModel.d.ts +0 -13
  553. package/src/app/seguridad/modelos/ControlFuncionModel.d.ts +0 -7
  554. package/src/app/seguridad/modelos/CorreoModel.d.ts +0 -31
  555. package/src/app/seguridad/modelos/CorreoWSModel.d.ts +0 -33
  556. package/src/app/seguridad/modelos/CruceRecursoPuntoModel.d.ts +0 -13
  557. package/src/app/seguridad/modelos/EmpresaModel.d.ts +0 -23
  558. package/src/app/seguridad/modelos/EmpresaSeguridadModel.d.ts +0 -18
  559. package/src/app/seguridad/modelos/EtiquetaModel.d.ts +0 -4
  560. package/src/app/seguridad/modelos/Etiquetas.d.ts +0 -10
  561. package/src/app/seguridad/modelos/FuenteCampoAtributoModel.d.ts +0 -15
  562. package/src/app/seguridad/modelos/FuenteDato.d.ts +0 -18
  563. package/src/app/seguridad/modelos/FuenteEntradaModel.d.ts +0 -8
  564. package/src/app/seguridad/modelos/FuenteLineaServicioModel.d.ts +0 -16
  565. package/src/app/seguridad/modelos/FuenteProcesoGeneralModel.d.ts +0 -10
  566. package/src/app/seguridad/modelos/FuncionalidadModel.d.ts +0 -8
  567. package/src/app/seguridad/modelos/GeneralModel.d.ts +0 -8
  568. package/src/app/seguridad/modelos/GrupoControlFuncionModel.d.ts +0 -9
  569. package/src/app/seguridad/modelos/GrupoFuenteModel.d.ts +0 -13
  570. package/src/app/seguridad/modelos/GrupoPermisoModel.d.ts +0 -13
  571. package/src/app/seguridad/modelos/ListaServicioModel.d.ts +0 -16
  572. package/src/app/seguridad/modelos/LlaveForaneaModel.d.ts +0 -6
  573. package/src/app/seguridad/modelos/LoginModel.d.ts +0 -17
  574. package/src/app/seguridad/modelos/MensajeSistemaModel.d.ts +0 -7
  575. package/src/app/seguridad/modelos/ModulosModel.d.ts +0 -14
  576. package/src/app/seguridad/modelos/PaginaPortalModel.d.ts +0 -19
  577. package/src/app/seguridad/modelos/ParametroComponenteModel.d.ts +0 -8
  578. package/src/app/seguridad/modelos/ParametrosGeneralModel.d.ts +0 -8
  579. package/src/app/seguridad/modelos/PermisoFuncionModel.d.ts +0 -8
  580. package/src/app/seguridad/modelos/PermisocontenidoModel.d.ts +0 -18
  581. package/src/app/seguridad/modelos/PreguntaSeguridadModel.d.ts +0 -6
  582. package/src/app/seguridad/modelos/PropiedadModel.d.ts +0 -9
  583. package/src/app/seguridad/modelos/PublicacionWebModel.d.ts +0 -25
  584. package/src/app/seguridad/modelos/PuntoProcesoModel.d.ts +0 -6
  585. package/src/app/seguridad/modelos/RecursoPunto.d.ts +0 -12
  586. package/src/app/seguridad/modelos/RecursoPuntoModel.d.ts +0 -12
  587. package/src/app/seguridad/modelos/ReporteBanda.d.ts +0 -7
  588. package/src/app/seguridad/modelos/ReporteColumna.d.ts +0 -32
  589. package/src/app/seguridad/modelos/ReporteColumnario.d.ts +0 -68
  590. package/src/app/seguridad/modelos/ReporteColumnarioMarcador.d.ts +0 -23
  591. package/src/app/seguridad/modelos/ReporteMarcador.d.ts +0 -39
  592. package/src/app/seguridad/modelos/ReporteSoporte.d.ts +0 -9
  593. package/src/app/seguridad/modelos/ReporteTabla.d.ts +0 -12
  594. package/src/app/seguridad/modelos/RespuestaModel.d.ts +0 -8
  595. package/src/app/seguridad/modelos/ServidorCorreoModel.d.ts +0 -25
  596. package/src/app/seguridad/modelos/SistemaMensajeModel.d.ts +0 -8
  597. package/src/app/seguridad/modelos/SitioPortalModel.d.ts +0 -24
  598. package/src/app/seguridad/modelos/TablaFromModel.d.ts +0 -4
  599. package/src/app/seguridad/modelos/TareasModel.d.ts +0 -49
  600. package/src/app/seguridad/modelos/TextoModel.d.ts +0 -8
  601. package/src/app/seguridad/modelos/TipoEtiqueta.d.ts +0 -7
  602. package/src/app/seguridad/modelos/UnionModel.d.ts +0 -11
  603. package/src/app/seguridad/modelos/UsuariogrupoModel.d.ts +0 -22
  604. package/src/app/seguridad/modelos/aplicacion-propiedad-model.d.ts +0 -13
  605. package/src/app/seguridad/modelos/contenidoCorreoModel.d.ts +0 -9
  606. package/src/app/shared/componentes/input-helper-seleccion-plantilla/input-helper-seleccion-plantilla.component.d.ts +0 -47
  607. package/src/app/shared/servicios/cargar-archivos.service.d.ts +0 -15
  608. package/src/app/shared/servicios/cargar-mapas.service.d.ts +0 -18
  609. package/src/app/shared/servicios/encriptado-basico.service.d.ts +0 -10
  610. package/src/app/shared/servicios/general.service.d.ts +0 -24
  611. package/src/app/shared/servicios/parametros-navegacion.service.d.ts +0 -9
  612. package/src/app/webcommon/pages/cargue-plantilla/cargue-plantilla-general/cargue-plantilla-general.component.d.ts +0 -78
  613. package/src/app/webcommon/pages/ejecucion-reporte/detalle-campo-reporte/detalle-campo-reporte.component.d.ts +0 -79
  614. package/src/app/webcommon/pages/ejecucion-reporte/detalle-distribucion-reporte/detalle-distribucion-reporte.component.d.ts +0 -29
  615. package/src/app/webcommon/pages/ejecucion-reporte/detalle-ejecucion-reporte/detalle-ejecucion-reporte.page.d.ts +0 -69
  616. package/src/app/webcommon/pages/ejecucion-reporte/detalle-entrada-reporte/detalle-entrada-reporte.component.d.ts +0 -51
  617. package/src/app/webcommon/pages/ejecucion-reporte/detalle-punto-proceso-reporte/detalle-punto-proceso-reporte.component.d.ts +0 -77
  618. package/src/app/webcommon/pages/ejecucion-reporte/detalle-tipo-reporte/detalle-tipo-reporte.component.d.ts +0 -275
  619. package/src/app/webcommon/pages/ejecucion-reporte/listado-ejecucion-reporte/listado-ejecucion-reporte.page.d.ts +0 -42
  620. package/src/app/webcommon/pages/ejecucion-reporte-externo/listado-ejecucion-reporte-externo/listado-ejecucion-reporte-externo.component.d.ts +0 -35
  621. package/src/app/webcommon/pages/fuente/importar-fuente-con/importar-fuente-con.component.d.ts +0 -143
  622. package/src/app/webcommon/pages/fuente/importar-fuente-general/importar-fuente-general.component.d.ts +0 -49
  623. package/src/app/webcommon/pages/fuente-reporte/fuente-reporte.component.d.ts +0 -128
  624. package/src/app/webcommon/pages/fuenteGeneral/fuente-general-servicio/fuente-general-servicio.component.d.ts +0 -64
  625. package/src/app/webcommon/pages/fuenteGeneral/listado-fuente-general/listado-fuente-general.page.d.ts +0 -33
  626. package/src/app/webcommon/pages/fuenteGeneral/mantenimiento-fuente-general/mantenimiento-fuente-general.page.d.ts +0 -149
  627. package/src/app/webcommon/pipes/dashboard.pipe.d.ts +0 -48
  628. package/src/app/webcommon/pipes/fuente.pipe.d.ts +0 -136
  629. package/src/app/webcommon/pipes/general.pipe.d.ts +0 -646
  630. package/src/app/webcommon/pipes/reporte-columnario.pipe.d.ts +0 -59
  631. package/src/app/webcommon/pipes/reporte-fuente.pipe.d.ts +0 -193
  632. package/src/app/webcommon/popups/popup-campos-fuente-general/popup-campos-fuente-general.component.d.ts +0 -59
  633. package/src/app/webcommon/popups/popup-convertir-plantillas/popup-convertir-plantillas.component.d.ts +0 -27
  634. package/src/app/webcommon/popups/popup-punto-proceso/popup-punto-proceso.component.d.ts +0 -64
  635. package/src/app/webcommon/popups/popup-recurso/popup-recurso.component.d.ts +0 -63
  636. package/src/app/webcommon/popups/popup-reporte/popup-reporte.component.d.ts +0 -97
  637. package/src/app/webcommon/popups/popup-sentencia/popup-sentencia.component.d.ts +0 -21
  638. package/src/app/webcommon/popups/popup-tablas-fuente/popup-tablas-fuente.component.d.ts +0 -42
  639. package/src/app/webcommon/popups/punto-proceso-comp/punto-proceso-comp.component.d.ts +0 -30
  640. package/src/app/webcommon/services/carguelinea.service.d.ts +0 -19
  641. package/src/app/webcommon/services/dashboard.service.d.ts +0 -27
  642. package/src/app/webcommon/services/ejecucionreporte.service.d.ts +0 -34
  643. package/src/app/webcommon/services/fechaUtils.service.d.ts +0 -29
  644. package/src/app/webcommon/services/fuentegeneral.service.d.ts +0 -24
  645. package/src/app/webcommon/services/homologacion.service.d.ts +0 -17
  646. package/src/app/webcommon/services/plantillas.service.d.ts +0 -26
  647. package/src/app/webcommon/services/reportes.service.d.ts +0 -35
  648. package/src/app/webcommon/webcommon.module.d.ts +0 -6
  649. package/src/environments/environment.d.ts +0 -7
@@ -1,120 +0,0 @@
1
- import { Injectable } from '@angular/core';
2
- import { HttpErrorResponse } from '@angular/common/http';
3
- import { catchError, EMPTY, from, throwError, TimeoutError } from 'rxjs';
4
- import * as i0 from "@angular/core";
5
- import * as i1 from "@angular/router";
6
- import * as i2 from "../auth.service";
7
- import * as i3 from "../../servicios/storage.service";
8
- import * as i4 from "../error-interceptor.service";
9
- import * as i5 from "../utils.service";
10
- export class TokenInterceptorService {
11
- router;
12
- authService;
13
- storage;
14
- errorInterceptor;
15
- utilsService;
16
- constructor(router, authService, storage, errorInterceptor, utilsService) {
17
- this.router = router;
18
- this.authService = authService;
19
- this.storage = storage;
20
- this.errorInterceptor = errorInterceptor;
21
- this.utilsService = utilsService;
22
- }
23
- intercept(request, next) {
24
- return from(this.interceptDetalle(request, next)).pipe(catchError((error) => {
25
- if (error instanceof TimeoutError) {
26
- this.errorInterceptor.showError(JSON.stringify({ tipo: 'ERR', traza: '.', mensaje: 'El servicio no está disponible. Por favor, inténtelo más tarde.' }).toString());
27
- }
28
- else if (error instanceof HttpErrorResponse) {
29
- if (error.error instanceof ErrorEvent) {
30
- // A client-side or network error occurred
31
- if (error.error.message.includes('ERR_CONNECTION_REFUSED')) {
32
- this.errorInterceptor.showError(JSON.stringify({ tipo: 'ERR', traza: '.', mensaje: 'El servicio no está disponible. Por favor, inténtelo más tarde.' }).toString());
33
- }
34
- else {
35
- this.errorInterceptor.showError(JSON.stringify({ tipo: 'ERR', traza: '.', mensaje: 'Se produjo un error de red. Por favor, inténtelo más tarde.' }).toString());
36
- }
37
- }
38
- else {
39
- if (error.status == 0) {
40
- this.errorInterceptor.showError(JSON.stringify({ tipo: 'ERR', traza: '.', mensaje: 'Se produjo un error de red. Por favor, inténtelo más tarde.' }).toString());
41
- }
42
- else {
43
- console.error(`Error HTTP: ${error.status} - ${error.message}`);
44
- }
45
- }
46
- }
47
- return throwError(error);
48
- }));
49
- }
50
- async interceptDetalle(request, next) {
51
- if (request.url.includes('/requieretoken') && !request.url.includes('/portalPublico')) {
52
- let token = this.authService.getToken();
53
- if (token) {
54
- let fechaActual = new Date();
55
- let fechaExpTokenIni = new Date(this.storage.getDecodedJWT().exp * 1000);
56
- let fechaExpTokenFin = new Date(this.storage.getDecodedJWT().exp * 1000);
57
- fechaExpTokenIni.setMinutes(fechaExpTokenIni.getMinutes() - 10);
58
- if (fechaActual >= fechaExpTokenIni && fechaActual <= fechaExpTokenFin) {
59
- var tokenPublico = await this.authService.generarTokenPublico().toPromise();
60
- var tokenRefrescar = await this.authService.refrescarToken({ token: token }, tokenPublico?.token).toPromise();
61
- token = tokenRefrescar?.token;
62
- this.authService.deleteToken();
63
- this.storage.setItem('token', token);
64
- }
65
- }
66
- }
67
- return await this.setearTokenRequest(request, next).toPromise();
68
- }
69
- setearTokenRequest(request, next) {
70
- var basePortal = this.utilsService.obtenerBase();
71
- let token = this.authService.getToken();
72
- if (request.url.includes('/requieretoken') && !request.url.includes('/portalPublico')) {
73
- request = request.clone({
74
- headers: request.headers.set('Authorization', `Bearer ${token}`),
75
- });
76
- }
77
- request = request.clone({
78
- headers: request.headers.set('Base', basePortal),
79
- });
80
- return next.handle(request).pipe(catchError((error) => {
81
- if (error.status === 401) {
82
- this.authService.deleteToken();
83
- this.router.navigateByUrl(this.utilsService.obtenerBase() + '/login');
84
- return EMPTY;
85
- }
86
- if (error instanceof TimeoutError) {
87
- this.errorInterceptor.showError(JSON.stringify({ tipo: 'ERR', traza: '.', mensaje: 'El servicio no está disponible. Por favor, inténtelo más tarde.' }).toString());
88
- }
89
- else if (error instanceof HttpErrorResponse) {
90
- if (error.error instanceof ErrorEvent) {
91
- // A client-side or network error occurred
92
- if (error.error.message.includes('ERR_CONNECTION_REFUSED')) {
93
- this.errorInterceptor.showError(JSON.stringify({ tipo: 'ERR', traza: '.', mensaje: 'El servicio no está disponible. Por favor, inténtelo más tarde.' }).toString());
94
- }
95
- else {
96
- this.errorInterceptor.showError(JSON.stringify({ tipo: 'ERR', traza: '.', mensaje: 'Se produjo un error de red. Por favor, inténtelo más tarde.' }).toString());
97
- }
98
- }
99
- else {
100
- if (error.status == 0) {
101
- this.errorInterceptor.showError(JSON.stringify({ tipo: 'ERR', traza: '.', mensaje: 'Se produjo un error de red. Por favor, inténtelo más tarde.' }).toString());
102
- }
103
- else {
104
- console.error(`Error HTTP: ${error.status} - ${error.message}`);
105
- }
106
- }
107
- }
108
- return throwError(() => error);
109
- }));
110
- }
111
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.4", ngImport: i0, type: TokenInterceptorService, deps: [{ token: i1.Router }, { token: i2.AuthService }, { token: i3.StorageService }, { token: i4.ErrorIntecertorService }, { token: i5.UtilsService }], target: i0.ɵɵFactoryTarget.Injectable });
112
- static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.0.4", ngImport: i0, type: TokenInterceptorService, providedIn: 'root' });
113
- }
114
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.4", ngImport: i0, type: TokenInterceptorService, decorators: [{
115
- type: Injectable,
116
- args: [{
117
- providedIn: 'root',
118
- }]
119
- }], ctorParameters: () => [{ type: i1.Router }, { type: i2.AuthService }, { type: i3.StorageService }, { type: i4.ErrorIntecertorService }, { type: i5.UtilsService }] });
120
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9rZW4taW50ZXJjZXB0b3Iuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3NyYy9hcHAvY29yZS9zZXJ2aWNpb3MvaW50ZXJjZXB0b3Jlcy90b2tlbi1pbnRlcmNlcHRvci5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFM0MsT0FBTyxFQUF3RCxpQkFBaUIsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQy9HLE9BQU8sRUFBRSxVQUFVLEVBQUUsS0FBSyxFQUFFLElBQUksRUFBYyxVQUFVLEVBQVcsWUFBWSxFQUFFLE1BQU0sTUFBTSxDQUFDOzs7Ozs7O0FBVzlGLE1BQU0sT0FBTyx1QkFBdUI7SUFDZDtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBSnBCLFlBQW9CLE1BQWMsRUFDZCxXQUF3QixFQUN4QixPQUF1QixFQUN2QixnQkFBd0MsRUFDeEMsWUFBMEI7UUFKMUIsV0FBTSxHQUFOLE1BQU0sQ0FBUTtRQUNkLGdCQUFXLEdBQVgsV0FBVyxDQUFhO1FBQ3hCLFlBQU8sR0FBUCxPQUFPLENBQWdCO1FBQ3ZCLHFCQUFnQixHQUFoQixnQkFBZ0IsQ0FBd0I7UUFDeEMsaUJBQVksR0FBWixZQUFZLENBQWM7SUFBRyxDQUFDO0lBRWxELFNBQVMsQ0FBQyxPQUF5QixFQUFFLElBQWlCO1FBQ3BELE9BQVEsSUFBSSxDQUFDLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxPQUFPLEVBQUUsSUFBSSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQ3JELFVBQVUsQ0FBQyxDQUFDLEtBQVUsRUFBRSxFQUFFO1lBQ3hCLElBQUksS0FBSyxZQUFZLFlBQVksRUFBRSxDQUFDO2dCQUNsQyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsRUFBQyxJQUFJLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFB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LENBQUMsUUFBUSxFQUFFLENBQUMsQ0FBQztvQkFDaEssQ0FBQztnQkFDSCxDQUFDO3FCQUFNLENBQUM7b0JBQ04sSUFBSSxLQUFLLENBQUMsTUFBTSxJQUFJLENBQUMsRUFBRSxDQUFDO3dCQUN0QixJQUFJLENBQUMsZ0JBQWdCLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsRUFBQyxJQUFJLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRSxHQUFHLEVBQUUsT0FBTyxFQUFFLDZEQUE2RCxFQUFDLENBQUMsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxDQUFDO29CQUNoSyxDQUFDO3lCQUFNLENBQUM7d0JBQ04sT0FBTyxDQUFDLEtBQUssQ0FBQyxlQUFlLEtBQUssQ0FBQyxNQUFNLE1BQU0sS0FBSyxDQUFDLE9BQU8sRUFBRSxDQUFDLENBQUM7b0JBQ2xFLENBQUM7Z0JBQ0gsQ0FBQztZQUNILENBQUM7WUFDRCxPQUFPLFVBQVUsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUNqQyxDQUFDLENBQUMsQ0FDSCxDQUFDO0lBQ0osQ0FBQzt1R0E5RlUsdUJBQXVCOzJHQUF2Qix1QkFBdUIsY0FGdEIsTUFBTTs7MkZBRVAsdUJBQXVCO2tCQUhuQyxVQUFVO21CQUFDO29CQUNWLFVBQVUsRUFBRSxNQUFNO2lCQUNuQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgUm91dGVyIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcclxuaW1wb3J0IHsgSHR0cFJlcXVlc3QsIEh0dHBIYW5kbGVyLCBIdHRwRXZlbnQsIEh0dHBJbnRlcmNlcHRvciwgSHR0cEVycm9yUmVzcG9uc2UgfSBmcm9tICdAYW5ndWxhci9jb21tb24vaHR0cCc7XHJcbmltcG9ydCB7IGNhdGNoRXJyb3IsIEVNUFRZLCBmcm9tLCBPYnNlcnZhYmxlLCB0aHJvd0Vycm9yLCB0aW1lb3V0LCBUaW1lb3V0RXJyb3IgfSBmcm9tICdyeGpzJztcclxuaW1wb3J0IHsgQXV0aFNlcnZpY2UgfSBmcm9tICcuLi9hdXRoLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBTdG9yYWdlU2VydmljZSB9IGZyb20gJy4uLy4uL3NlcnZpY2lvcy9zdG9yYWdlLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBVdGlsc1NlcnZpY2UgfSBmcm9tICcuLi91dGlscy5zZXJ2aWNlJztcclxuaW1wb3J0IHsgVG9hc3RTZXJ2aWNlIH0gZnJvbSAnLi4vdG9hc3Quc2VydmljZSc7XHJcbmltcG9ydCB7IEVycm9ySW50ZWNlcnRvclNlcnZpY2UgfSBmcm9tICcuLi9lcnJvci1pbnRlcmNlcHRvci5zZXJ2aWNlJztcclxuXHJcblxyXG5ASW5qZWN0YWJsZSh7XHJcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgVG9rZW5JbnRlcmNlcHRvclNlcnZpY2UgaW1wbGVtZW50cyBIdHRwSW50ZXJjZXB0b3Ige1xyXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgcm91dGVyOiBSb3V0ZXIsIFxyXG4gICAgICAgICAgICAgIHByaXZhdGUgYXV0aFNlcnZpY2U6IEF1dGhTZXJ2aWNlLCBcclxuICAgICAgICAgICAgICBwcml2YXRlIHN0b3JhZ2U6IFN0b3JhZ2VTZXJ2aWNlLCBcclxuICAgICAgICAgICAgICBwcml2YXRlIGVycm9ySW50ZXJjZXB0b3I6IEVycm9ySW50ZWNlcnRvclNlcnZpY2UsXHJcbiAgICAgICAgICAgICAgcHJpdmF0ZSB1dGlsc1NlcnZpY2U6IFV0aWxzU2VydmljZSkge31cclxuICBcclxuICBpbnRlcmNlcHQocmVxdWVzdDogSHR0cFJlcXVlc3Q8YW55PiwgbmV4dDogSHR0cEhhbmRsZXIpOiBPYnNlcnZhYmxlPEh0dHBFdmVudDxhbnk+PntcclxuICAgIHJldHVybiAgZnJvbSh0aGlzLmludGVyY2VwdERldGFsbGUocmVxdWVzdCwgbmV4dCkpLnBpcGUoXHJcbiAgICAgIGNhdGNoRXJyb3IoKGVycm9yOiBhbnkpID0+IHtcclxuICAgICAgICBpZiAoZXJyb3IgaW5zdGFuY2VvZiBUaW1lb3V0RXJyb3IpIHtcclxuICAgICAgICAgIHRoaXMuZXJyb3JJbnRlcmNlcHRvci5zaG93RXJyb3IoSlNPTi5zdHJpbmdpZnkoe3RpcG86ICdFUlInLCB0cmF6YTogJy4nLCBtZW5zYWplOiAnRWwgc2VydmljaW8gbm8gZXN0w6EgZGlzcG9uaWJsZS4gUG9yIGZhdm9yLCBpbnTDqW50ZWxvIG3DoXMgdGFyZGUuJ30pLnRvU3RyaW5nKCkpO1xyXG4gICAgICAgIH0gZWxzZSBpZiAoZXJyb3IgaW5zdGFuY2VvZiBIdHRwRXJyb3JSZXNwb25zZSkge1xyXG4gICAgICAgICAgaWYgKGVycm9yLmVycm9yIGluc3RhbmNlb2YgRXJyb3JFdmVudCkge1xyXG4gICAgICAgICAgICAvLyBBIGNsaWVudC1zaWRlIG9yIG5ldHdvcmsgZXJyb3Igb2NjdXJyZWRcclxuICAgICAgICAgICAgaWYgKGVycm9yLmVycm9yLm1lc3NhZ2UuaW5jbHVkZXMoJ0VSUl9DT05ORUNUSU9OX1JFRlVTRUQnKSkge1xyXG4gICAgICAgICAgICAgIHRoaXMuZXJyb3JJbnRlcmNlcHRvci5zaG93RXJyb3IoSlNPTi5zdHJpbmdpZnkoe3RpcG86ICdFUlInLCB0cmF6YTogJy4nLCBtZW5zYWplOiAnRWwgc2VydmljaW8gbm8gZXN0w6EgZGlzcG9uaWJsZS4gUG9yIGZhdm9yLCBpbnTDqW50ZWxvIG3DoXMgdGFyZGUuJ30pLnRvU3RyaW5nKCkpO1xyXG4gICAgICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICAgIHRoaXMuZXJyb3JJbnRlcmNlcHRvci5zaG93RXJyb3IoSlNPTi5zdHJpbmdpZnkoe3RpcG86ICdFUlInLCB0cmF6YTogJy4nLCBtZW5zYWplOiAnU2UgcHJvZHVqbyB1biBlcnJvciBkZSByZWQuIFBvciBmYXZvciwgaW50w6ludGVsbyBtw6FzIHRhcmRlLid9KS50b1N0cmluZygpKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgaWYgKGVycm9yLnN0YXR1cyA9PSAwKSB7XHJcbiAgICAgICAgICAgICAgdGhpcy5lcnJvckludGVyY2VwdG9yLnNob3dFcnJvcihKU09OLnN0cmluZ2lmeSh7dGlwbzogJ0VSUicsIHRyYXphOiAnLicsIG1lbnNhamU6ICdTZSBwcm9kdWpvIHVuIGVycm9yIGRlIHJlZC4gUG9yIGZhdm9yLCBpbnTDqW50ZWxvIG3DoXMgdGFyZGUuJ30pLnRvU3RyaW5nKCkpO1xyXG4gICAgICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICAgIGNvbnNvbGUuZXJyb3IoYEVycm9yIEhUVFA6ICR7ZXJyb3Iuc3RhdHVzfSAtICR7ZXJyb3IubWVzc2FnZX1gKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICByZXR1cm4gdGhyb3dFcnJvcihlcnJvcik7XHJcbiAgICAgIH0pXHJcbiAgICApO1xyXG4gIH1cclxuXHJcbiAgYXN5bmMgaW50ZXJjZXB0RGV0YWxsZShyZXF1ZXN0OiBIdHRwUmVxdWVzdDxhbnk+LCBuZXh0OiBIdHRwSGFuZGxlcik6IFByb21pc2U8SHR0cEV2ZW50PGFueT4+ICB7XHJcbiAgICBpZiAocmVxdWVzdC51cmwuaW5jbHVkZXMoJy9yZXF1aWVyZXRva2VuJykgJiYgIXJlcXVlc3QudXJsLmluY2x1ZGVzKCcvcG9ydGFsUHVibGljbycpKSB7XHJcbiAgICAgIGxldCB0b2tlbiA9IHRoaXMuYXV0aFNlcnZpY2UuZ2V0VG9rZW4oKTtcclxuICAgICAgaWYgKHRva2VuKXtcclxuICAgICAgICBsZXQgZmVjaGFBY3R1YWwgPSBuZXcgRGF0ZSgpO1xyXG4gICAgICAgIGxldCBmZWNoYUV4cFRva2VuSW5pID0gbmV3IERhdGUodGhpcy5zdG9yYWdlLmdldERlY29kZWRKV1QoKS5leHAgKiAxMDAwKVxyXG4gICAgICAgIGxldCBmZWNoYUV4cFRva2VuRmluID0gbmV3IERhdGUodGhpcy5zdG9yYWdlLmdldERlY29kZWRKV1QoKS5leHAgKiAxMDAwKVxyXG4gICAgICAgIGZlY2hhRXhwVG9rZW5Jbmkuc2V0TWludXRlcyhmZWNoYUV4cFRva2VuSW5pLmdldE1pbnV0ZXMoKSAtIDEwKTtcclxuICAgICAgICBpZiAoZmVjaGFBY3R1YWwgPj0gZmVjaGFFeHBUb2tlbkluaSAmJiBmZWNoYUFjdHVhbDw9ZmVjaGFFeHBUb2tlbkZpbil7XHJcbiAgICAgICAgICB2YXIgdG9rZW5QdWJsaWNvID0gYXdhaXQgdGhpcy5hdXRoU2VydmljZS5nZW5lcmFyVG9rZW5QdWJsaWNvKCkudG9Qcm9taXNlKClcclxuICAgICAgICAgIHZhciB0b2tlblJlZnJlc2NhciA9IGF3YWl0IHRoaXMuYXV0aFNlcnZpY2UucmVmcmVzY2FyVG9rZW4oe3Rva2VuOiB0b2tlbiB9LCAodG9rZW5QdWJsaWNvIGFzIGFueSk/LnRva2VuIGFzIHN0cmluZykudG9Qcm9taXNlKCk7XHJcbiAgICAgICAgICB0b2tlbiA9ICh0b2tlblJlZnJlc2NhciBhcyBhbnkpPy50b2tlbiBhcyBzdHJpbmc7XHJcbiAgICAgICAgICB0aGlzLmF1dGhTZXJ2aWNlLmRlbGV0ZVRva2VuKClcclxuICAgICAgICAgIHRoaXMuc3RvcmFnZS5zZXRJdGVtKCd0b2tlbicsIHRva2VuKTtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIH1cclxuICAgIHJldHVybiBhd2FpdCB0aGlzLnNldGVhclRva2VuUmVxdWVzdChyZXF1ZXN0LCBuZXh0KS50b1Byb21pc2UoKTtcclxuICB9IFxyXG5cclxuICBzZXRlYXJUb2tlblJlcXVlc3QocmVxdWVzdDogSHR0cFJlcXVlc3Q8YW55PiwgbmV4dDogSHR0cEhhbmRsZXIpOiBPYnNlcnZhYmxlPEh0dHBFdmVudDxhbnk+PntcclxuICAgIHZhciBiYXNlUG9ydGFsOiBzdHJpbmcgPSB0aGlzLnV0aWxzU2VydmljZS5vYnRlbmVyQmFzZSgpO1xyXG4gICAgbGV0IHRva2VuID0gdGhpcy5hdXRoU2VydmljZS5nZXRUb2tlbigpO1xyXG4gICAgaWYgKHJlcXVlc3QudXJsLmluY2x1ZGVzKCcvcmVxdWllcmV0b2tlbicpICYmICFyZXF1ZXN0LnVybC5pbmNsdWRlcygnL3BvcnRhbFB1YmxpY28nKSkge1xyXG4gICAgICByZXF1ZXN0ID0gcmVxdWVzdC5jbG9uZSh7XHJcbiAgICAgICAgaGVhZGVyczogcmVxdWVzdC5oZWFkZXJzLnNldCgnQXV0aG9yaXphdGlvbicsIGBCZWFyZXIgJHt0b2tlbn1gKSxcclxuICAgICAgfSk7XHJcbiAgICB9XHJcblxyXG4gICAgcmVxdWVzdCA9IHJlcXVlc3QuY2xvbmUoe1xyXG4gICAgICBoZWFkZXJzOiByZXF1ZXN0LmhlYWRlcnMuc2V0KCdCYXNlJywgYmFzZVBvcnRhbCksXHJcbiAgICB9KTtcclxuXHJcbiAgICByZXR1cm4gbmV4dC5oYW5kbGUocmVxdWVzdCkucGlwZShcclxuICAgICAgY2F0Y2hFcnJvcigoZXJyb3IpID0+IHtcclxuICAgICAgICBpZiAoZXJyb3Iuc3RhdHVzID09PSA0MDEpIHtcclxuICAgICAgICAgIHRoaXMuYXV0aFNlcnZpY2UuZGVsZXRlVG9rZW4oKTtcclxuICAgICAgICAgIHRoaXMucm91dGVyLm5hdmlnYXRlQnlVcmwodGhpcy51dGlsc1NlcnZpY2Uub2J0ZW5lckJhc2UoKSArICcvbG9naW4nKTtcclxuICAgICAgICAgIHJldHVybiBFTVBUWTtcclxuICAgICAgICB9XHJcbiAgICAgICAgaWYgKGVycm9yIGluc3RhbmNlb2YgVGltZW91dEVycm9yKSB7XHJcbiAgICAgICAgICB0aGlzLmVycm9ySW50ZXJjZXB0b3Iuc2hvd0Vycm9yKEpTT04uc3RyaW5naWZ5KHt0aXBvOiAnRVJSJywgdHJhemE6ICcuJywgbWVuc2FqZTogJ0VsIHNlcnZpY2lvIG5vIGVzdMOhIGRpc3BvbmlibGUuIFBvciBmYXZvciwgaW50w6ludGVsbyBtw6FzIHRhcmRlLid9KS50b1N0cmluZygpKTtcclxuICAgICAgICB9IGVsc2UgaWYgKGVycm9yIGluc3RhbmNlb2YgSHR0cEVycm9yUmVzcG9uc2UpIHtcclxuICAgICAgICAgIGlmIChlcnJvci5lcnJvciBpbnN0YW5jZW9mIEVycm9yRXZlbnQpIHtcclxuICAgICAgICAgICAgLy8gQSBjbGllbnQtc2lkZSBvciBuZXR3b3JrIGVycm9yIG9jY3VycmVkXHJcbiAgICAgICAgICAgIGlmIChlcnJvci5lcnJvci5tZXNzYWdlLmluY2x1ZGVzKCdFUlJfQ09OTkVDVElPTl9SRUZVU0VEJykpIHtcclxuICAgICAgICAgICAgICB0aGlzLmVycm9ySW50ZXJjZXB0b3Iuc2hvd0Vycm9yKEpTT04uc3RyaW5naWZ5KHt0aXBvOiAnRVJSJywgdHJhemE6ICcuJywgbWVuc2FqZTogJ0VsIHNlcnZpY2lvIG5vIGVzdMOhIGRpc3BvbmlibGUuIFBvciBmYXZvciwgaW50w6ludGVsbyBtw6FzIHRhcmRlLid9KS50b1N0cmluZygpKTtcclxuICAgICAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgICB0aGlzLmVycm9ySW50ZXJjZXB0b3Iuc2hvd0Vycm9yKEpTT04uc3RyaW5naWZ5KHt0aXBvOiAnRVJSJywgdHJhemE6ICcuJywgbWVuc2FqZTogJ1NlIHByb2R1am8gdW4gZXJyb3IgZGUgcmVkLiBQb3IgZmF2b3IsIGludMOpbnRlbG8gbcOhcyB0YXJkZS4nfSkudG9TdHJpbmcoKSk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgIGlmIChlcnJvci5zdGF0dXMgPT0gMCkge1xyXG4gICAgICAgICAgICAgIHRoaXMuZXJyb3JJbnRlcmNlcHRvci5zaG93RXJyb3IoSlNPTi5zdHJpbmdpZnkoe3RpcG86ICdFUlInLCB0cmF6YTogJy4nLCBtZW5zYWplOiAnU2UgcHJvZHVqbyB1biBlcnJvciBkZSByZWQuIFBvciBmYXZvciwgaW50w6ludGVsbyBtw6FzIHRhcmRlLid9KS50b1N0cmluZygpKTtcclxuICAgICAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgICBjb25zb2xlLmVycm9yKGBFcnJvciBIVFRQOiAke2Vycm9yLnN0YXR1c30gLSAke2Vycm9yLm1lc3NhZ2V9YCk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgcmV0dXJuIHRocm93RXJyb3IoKCkgPT4gZXJyb3IpO1xyXG4gICAgICB9KVxyXG4gICAgKTtcclxuICB9XHJcbn1cclxuIl19
@@ -1,43 +0,0 @@
1
- import { Injectable } from '@angular/core';
2
- import { BehaviorSubject } from 'rxjs';
3
- import * as i0 from "@angular/core";
4
- export class LoadingService {
5
- _loadingFullScreen = new BehaviorSubject(false);
6
- _loadingFullScreenObservable$ = this._loadingFullScreen.asObservable();
7
- _loadingBreadCrumb = new BehaviorSubject(false);
8
- _loadingBreadCrumbObservable$ = this._loadingBreadCrumb.asObservable();
9
- constructor() { }
10
- /**
11
- * Observable del loading full screen
12
- */
13
- get loadingFullScreen() {
14
- return this._loadingFullScreenObservable$;
15
- }
16
- /**
17
- * Observable del loading en el breadcrumb
18
- */
19
- get loadingBreadCrumb() {
20
- return this._loadingBreadCrumbObservable$;
21
- }
22
- startFullScreenLoading() {
23
- this._loadingFullScreen.next(true);
24
- }
25
- endFullScreenLoading() {
26
- this._loadingFullScreen.next(false);
27
- }
28
- startBreadCrumLoading() {
29
- this._loadingBreadCrumb.next(true);
30
- }
31
- endBreadCrumLoading() {
32
- this._loadingBreadCrumb.next(false);
33
- }
34
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.4", ngImport: i0, type: LoadingService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
35
- static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.0.4", ngImport: i0, type: LoadingService, providedIn: 'root' });
36
- }
37
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.4", ngImport: i0, type: LoadingService, decorators: [{
38
- type: Injectable,
39
- args: [{
40
- providedIn: 'root'
41
- }]
42
- }], ctorParameters: () => [] });
43
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9hZGluZy5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2FwcC9jb3JlL3NlcnZpY2lvcy9sb2FkaW5nLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzQyxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sTUFBTSxDQUFDOztBQUt2QyxNQUFNLE9BQU8sY0FBYztJQUVqQixrQkFBa0IsR0FBNkIsSUFBSSxlQUFlLENBQVUsS0FBSyxDQUFDLENBQUM7SUFDbkYsNkJBQTZCLEdBQUcsSUFBSSxDQUFDLGtCQUFrQixDQUFDLFlBQVksRUFBRSxDQUFDO0lBRXZFLGtCQUFrQixHQUE2QixJQUFJLGVBQWUsQ0FBVSxLQUFLLENBQUMsQ0FBQztJQUNuRiw2QkFBNkIsR0FBRyxJQUFJLENBQUMsa0JBQWtCLENBQUMsWUFBWSxFQUFFLENBQUM7SUFFL0UsZ0JBQWdCLENBQUM7SUFFakI7O09BRUc7SUFDSCxJQUFJLGlCQUFpQjtRQUNuQixPQUFPLElBQUksQ0FBQyw2QkFBNkIsQ0FBQztJQUM1QyxDQUFDO0lBRUQ7O09BRUc7SUFFSCxJQUFJLGlCQUFpQjtRQUNuQixPQUFPLElBQUksQ0FBQyw2QkFBNkIsQ0FBQztJQUM1QyxDQUFDO0lBRU0sc0JBQXNCO1FBQzNCLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDckMsQ0FBQztJQUVNLG9CQUFvQjtRQUN6QixJQUFJLENBQUMsa0JBQWtCLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ3RDLENBQUM7SUFFTSxxQkFBcUI7UUFDMUIsSUFBSSxDQUFDLGtCQUFrQixDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUNyQyxDQUFDO0lBRU0sbUJBQW1CO1FBQ3hCLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDdEMsQ0FBQzt1R0F2Q1UsY0FBYzsyR0FBZCxjQUFjLGNBRmIsTUFBTTs7MkZBRVAsY0FBYztrQkFIMUIsVUFBVTttQkFBQztvQkFDVixVQUFVLEVBQUUsTUFBTTtpQkFDbkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IEJlaGF2aW9yU3ViamVjdCB9IGZyb20gJ3J4anMnO1xyXG5cclxuQEluamVjdGFibGUoe1xyXG4gIHByb3ZpZGVkSW46ICdyb290J1xyXG59KVxyXG5leHBvcnQgY2xhc3MgTG9hZGluZ1NlcnZpY2Uge1xyXG5cclxuICBwcml2YXRlIF9sb2FkaW5nRnVsbFNjcmVlbjogQmVoYXZpb3JTdWJqZWN0PGJvb2xlYW4+ID0gbmV3IEJlaGF2aW9yU3ViamVjdDxib29sZWFuPihmYWxzZSk7XHJcbiAgcHJpdmF0ZSBfbG9hZGluZ0Z1bGxTY3JlZW5PYnNlcnZhYmxlJCA9IHRoaXMuX2xvYWRpbmdGdWxsU2NyZWVuLmFzT2JzZXJ2YWJsZSgpO1xyXG5cclxuICBwcml2YXRlIF9sb2FkaW5nQnJlYWRDcnVtYjogQmVoYXZpb3JTdWJqZWN0PGJvb2xlYW4+ID0gbmV3IEJlaGF2aW9yU3ViamVjdDxib29sZWFuPihmYWxzZSk7XHJcbiAgcHJpdmF0ZSBfbG9hZGluZ0JyZWFkQ3J1bWJPYnNlcnZhYmxlJCA9IHRoaXMuX2xvYWRpbmdCcmVhZENydW1iLmFzT2JzZXJ2YWJsZSgpO1xyXG5cclxuICBjb25zdHJ1Y3RvcigpIHsgfVxyXG5cclxuICAvKipcclxuICAgKiBPYnNlcnZhYmxlIGRlbCBsb2FkaW5nIGZ1bGwgc2NyZWVuXHJcbiAgICovXHJcbiAgZ2V0IGxvYWRpbmdGdWxsU2NyZWVuKCkge1xyXG4gICAgcmV0dXJuIHRoaXMuX2xvYWRpbmdGdWxsU2NyZWVuT2JzZXJ2YWJsZSQ7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBPYnNlcnZhYmxlIGRlbCBsb2FkaW5nIGVuIGVsIGJyZWFkY3J1bWJcclxuICAgKi9cclxuXHJcbiAgZ2V0IGxvYWRpbmdCcmVhZENydW1iKCkge1xyXG4gICAgcmV0dXJuIHRoaXMuX2xvYWRpbmdCcmVhZENydW1iT2JzZXJ2YWJsZSQ7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgc3RhcnRGdWxsU2NyZWVuTG9hZGluZygpOiB2b2lke1xyXG4gICAgdGhpcy5fbG9hZGluZ0Z1bGxTY3JlZW4ubmV4dCh0cnVlKTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBlbmRGdWxsU2NyZWVuTG9hZGluZygpOiB2b2lkIHtcclxuICAgIHRoaXMuX2xvYWRpbmdGdWxsU2NyZWVuLm5leHQoZmFsc2UpO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIHN0YXJ0QnJlYWRDcnVtTG9hZGluZygpOiB2b2lkIHtcclxuICAgIHRoaXMuX2xvYWRpbmdCcmVhZENydW1iLm5leHQodHJ1ZSk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgZW5kQnJlYWRDcnVtTG9hZGluZygpOiB2b2lkIHtcclxuICAgIHRoaXMuX2xvYWRpbmdCcmVhZENydW1iLm5leHQoZmFsc2UpO1xyXG4gIH1cclxuXHJcbn1cclxuIl19
@@ -1,146 +0,0 @@
1
- import { Injectable } from '@angular/core';
2
- import { map, of, Subject } from 'rxjs';
3
- import * as i0 from "@angular/core";
4
- import * as i1 from "./storage.service";
5
- export class MenuService {
6
- storageService;
7
- _menu = {};
8
- _menuSource = new Subject();
9
- _breadcrumbSource = new Subject();
10
- _menuObservable$ = this._menuSource.asObservable();
11
- _breadcrumbObservable$ = this._breadcrumbSource.asObservable();
12
- constructor(storageService) {
13
- this.storageService = storageService;
14
- }
15
- /**
16
- * Observable para los eventos del breadcrumb
17
- */
18
- get breadcrumb() {
19
- return this._breadcrumbObservable$;
20
- }
21
- /**
22
- * Observable para el menu principal
23
- */
24
- get menu() {
25
- return this._menuObservable$;
26
- }
27
- /**
28
- * Agrega items al breadcrumb
29
- * @param items
30
- */
31
- setBreadcrumb(items) {
32
- this._breadcrumbSource.next(items);
33
- }
34
- /**
35
- * Consulta la lista de tareas del usuario para cargar el menú
36
- * @returns
37
- */
38
- loadTareas() {
39
- /********************************************************/
40
- /* Se debe cambiar con el request al servicio de tareas */
41
- this._menu = {};
42
- return of(JSON.parse(this.storageService.getItem('__tareas'))).pipe(map((tareas) => {
43
- const arbolTareas = [];
44
- let nodoBase = null;
45
- let nodoHijo = null;
46
- for (const unaTarea of tareas) {
47
- const modulo = unaTarea.modulo + '';
48
- if (!(modulo in this._menu)) {
49
- this._menu[modulo] = { label: unaTarea.nombreModulo, items: [] };
50
- }
51
- if (!unaTarea.nombrePadre) {
52
- arbolTareas.push(unaTarea);
53
- continue;
54
- }
55
- nodoBase = null;
56
- // Buscar en el primer nivel
57
- for (const unNodo of arbolTareas) {
58
- if (unNodo.tipo !== "M") {
59
- continue;
60
- }
61
- if (unaTarea.nombreAbuelo && unNodo.descripcion === unaTarea.nombreAbuelo && unNodo.modulo === unaTarea.modulo) {
62
- // Buscar en el segundo nivel
63
- for (const unNodo2 of unNodo.listaTareas || []) {
64
- if (unNodo2.tipo !== "M") {
65
- continue;
66
- }
67
- if (unNodo2.descripcion === unaTarea.nombrePadre && unNodo2.modulo === unaTarea.modulo) {
68
- nodoBase = unNodo2;
69
- break;
70
- }
71
- }
72
- if (!nodoBase) {
73
- nodoHijo = {
74
- descripcion: unaTarea.nombrePadre,
75
- gif: unaTarea.gifPadre,
76
- tipo: "M",
77
- listaTareas: [],
78
- modulo: unaTarea.modulo,
79
- };
80
- unNodo.listaTareas.push(nodoHijo);
81
- nodoBase = nodoHijo;
82
- }
83
- break;
84
- }
85
- if (unNodo.descripcion === unaTarea.nombrePadre && unNodo.modulo === unaTarea.modulo) {
86
- nodoBase = unNodo;
87
- break;
88
- }
89
- }
90
- if (!nodoBase) {
91
- nodoBase = {
92
- descripcion: unaTarea.nombreAbuelo || unaTarea.nombrePadre,
93
- gif: unaTarea.nombreAbuelo ? unaTarea.gifAbuelo : unaTarea.gifPadre,
94
- orden: unaTarea.nombreAbuelo ? unaTarea.ordenAbuelo : unaTarea.ordenPadre,
95
- tipo: "M",
96
- listaTareas: [],
97
- modulo: unaTarea.modulo,
98
- };
99
- arbolTareas.push(nodoBase);
100
- if (unaTarea.nombreAbuelo) {
101
- nodoHijo = {
102
- descripcion: unaTarea.nombrePadre,
103
- gif: unaTarea.gifPadre,
104
- tipo: "M",
105
- listaTareas: [],
106
- modulo: unaTarea.modulo,
107
- };
108
- nodoBase.listaTareas.push(nodoHijo);
109
- nodoBase = nodoHijo;
110
- }
111
- }
112
- nodoBase.listaTareas.push(unaTarea);
113
- }
114
- let respuesta = this.convertToMenuItems(arbolTareas);
115
- respuesta.forEach(dato => {
116
- const modulo = dato.tabindex;
117
- this._menu[modulo].items.push(dato);
118
- });
119
- }));
120
- /********************************************************/
121
- }
122
- convertToMenuItems(tareas) {
123
- return tareas.map(tarea => {
124
- const menuItem = {
125
- label: tarea.descripcion,
126
- icon: tarea.gif ? 'glyphicons ' + tarea.gif : undefined,
127
- routerLink: tarea.urlprincipal ? tarea.urlprincipal.replace(/.jsf/, '') : undefined,
128
- tabindex: tarea.modulo,
129
- items: tarea.listaTareas ? this.convertToMenuItems(tarea.listaTareas) : undefined
130
- };
131
- return menuItem;
132
- });
133
- }
134
- setTareasDelModulo(modulo) {
135
- this._menuSource.next(this._menu[modulo]);
136
- }
137
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.4", ngImport: i0, type: MenuService, deps: [{ token: i1.StorageService }], target: i0.ɵɵFactoryTarget.Injectable });
138
- static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.0.4", ngImport: i0, type: MenuService, providedIn: 'root' });
139
- }
140
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.4", ngImport: i0, type: MenuService, decorators: [{
141
- type: Injectable,
142
- args: [{
143
- providedIn: 'root',
144
- }]
145
- }], ctorParameters: () => [{ type: i1.StorageService }] });
146
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWVudS5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2FwcC9jb3JlL3NlcnZpY2lvcy9tZW51LnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUUzQyxPQUFPLEVBQUUsR0FBRyxFQUFjLEVBQUUsRUFBaUIsT0FBTyxFQUFFLE1BQU0sTUFBTSxDQUFDOzs7QUFNbkUsTUFBTSxPQUFPLFdBQVc7SUFPRjtJQU5aLEtBQUssR0FBZ0MsRUFBRSxDQUFDO0lBQ3hDLFdBQVcsR0FBRyxJQUFJLE9BQU8sRUFBWSxDQUFDO0lBQ3RDLGlCQUFpQixHQUFHLElBQUksT0FBTyxFQUFjLENBQUM7SUFDOUMsZ0JBQWdCLEdBQUcsSUFBSSxDQUFDLFdBQVcsQ0FBQyxZQUFZLEVBQUUsQ0FBQztJQUNuRCxzQkFBc0IsR0FBRyxJQUFJLENBQUMsaUJBQWlCLENBQUMsWUFBWSxFQUFFLENBQUM7SUFFdkUsWUFBb0IsY0FBOEI7UUFBOUIsbUJBQWMsR0FBZCxjQUFjLENBQWdCO0lBQUcsQ0FBQztJQUV0RDs7T0FFRztJQUNILElBQUksVUFBVTtRQUNaLE9BQU8sSUFBSSxDQUFDLHNCQUFzQixDQUFDO0lBQ3JDLENBQUM7SUFFRDs7T0FFRztJQUNILElBQUksSUFBSTtRQUNOLE9BQU8sSUFBSSxDQUFDLGdCQUFnQixDQUFDO0lBQy9CLENBQUM7SUFFRDs7O09BR0c7SUFDSCxhQUFhLENBQUMsS0FBaUI7UUFDN0IsSUFBSSxDQUFDLGlCQUFpQixDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUNyQyxDQUFDO0lBRUQ7OztPQUdHO0lBQ0gsVUFBVTtRQUNSLDBEQUEwRDtRQUMxRCwwREFBMEQ7UUFDMUQsSUFBSSxDQUFDLEtBQUssR0FBRyxFQUFFLENBQUE7UUFDZixPQUFPLEVBQUUsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFD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Q0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLEVBQUU7WUFDeEIsTUFBTSxRQUFRLEdBQWE7Z0JBQ3pCLEtBQUssRUFBRSxLQUFLLENBQUMsV0FBVztnQkFDeEIsSUFBSSxFQUFFLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLGFBQWEsR0FBRyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxTQUFTO2dCQUN2RCxVQUFVLEVBQUUsS0FBSyxDQUFDLFlBQVksQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLFlBQVksQ0FBQyxPQUFPLENBQUMsTUFBTSxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTO2dCQUNuRixRQUFRLEVBQUUsS0FBSyxDQUFDLE1BQU07Z0JBQ3RCLEtBQUssRUFBRSxLQUFLLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsa0JBQWtCLENBQUMsS0FBSyxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTO2FBQ2xGLENBQUM7WUFDRixPQUFPLFFBQVEsQ0FBQztRQUNsQixDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFRCxrQkFBa0IsQ0FBQyxNQUFjO1FBQy9CLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQztJQUM1QyxDQUFDO3VHQS9JVSxXQUFXOzJHQUFYLFdBQVcsY0FGVixNQUFNOzsyRkFFUCxXQUFXO2tCQUh2QixVQUFVO21CQUFDO29CQUNWLFVBQVUsRUFBRSxNQUFNO2lCQUNuQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgTWVudUl0ZW0gfSBmcm9tICdwcmltZW5nL2FwaS9tZW51aXRlbSc7XHJcbmltcG9ydCB7IG1hcCwgT2JzZXJ2YWJsZSwgb2YsIFJlcGxheVN1YmplY3QsIFN1YmplY3QgfSBmcm9tICdyeGpzJztcclxuaW1wb3J0IHsgU3RvcmFnZVNlcnZpY2UgfSBmcm9tICcuL3N0b3JhZ2Uuc2VydmljZSc7XHJcblxyXG5ASW5qZWN0YWJsZSh7XHJcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgTWVudVNlcnZpY2Uge1xyXG4gIHByaXZhdGUgX21lbnU6IHsgW2tleTogc3RyaW5nXTogTWVudUl0ZW0gfSA9IHt9O1xyXG4gIHByaXZhdGUgX21lbnVTb3VyY2UgPSBuZXcgU3ViamVjdDxNZW51SXRlbT4oKTtcclxuICBwcml2YXRlIF9icmVhZGNydW1iU291cmNlID0gbmV3IFN1YmplY3Q8TWVudUl0ZW1bXT4oKTtcclxuICBwcml2YXRlIF9tZW51T2JzZXJ2YWJsZSQgPSB0aGlzLl9tZW51U291cmNlLmFzT2JzZXJ2YWJsZSgpO1xyXG4gIHByaXZhdGUgX2JyZWFkY3J1bWJPYnNlcnZhYmxlJCA9IHRoaXMuX2JyZWFkY3J1bWJTb3VyY2UuYXNPYnNlcnZhYmxlKCk7XHJcblxyXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgc3RvcmFnZVNlcnZpY2U6IFN0b3JhZ2VTZXJ2aWNlKSB7fVxyXG5cclxuICAvKipcclxuICAgKiBPYnNlcnZhYmxlIHBhcmEgbG9zIGV2ZW50b3MgZGVsIGJyZWFkY3J1bWJcclxuICAgKi9cclxuICBnZXQgYnJlYWRjcnVtYigpIHtcclxuICAgIHJldHVybiB0aGlzLl9icmVhZGNydW1iT2JzZXJ2YWJsZSQ7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBPYnNlcnZhYmxlIHBhcmEgZWwgbWVudSBwcmluY2lwYWxcclxuICAgKi9cclxuICBnZXQgbWVudSgpIHtcclxuICAgIHJldHVybiB0aGlzLl9tZW51T2JzZXJ2YWJsZSQ7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBBZ3JlZ2EgaXRlbXMgYWwgYnJlYWRjcnVtYlxyXG4gICAqIEBwYXJhbSBpdGVtc1xyXG4gICAqL1xyXG4gIHNldEJyZWFkY3J1bWIoaXRlbXM6IE1lbnVJdGVtW10pOiB2b2lkIHtcclxuICAgIHRoaXMuX2JyZWFkY3J1bWJTb3VyY2UubmV4dChpdGVtcyk7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBDb25zdWx0YSBsYSBsaXN0YSBkZSB0YXJlYXMgZGVsIHVzdWFyaW8gcGFyYSBjYXJnYXIgZWwgbWVuw7pcclxuICAgKiBAcmV0dXJuc1xyXG4gICAqL1xyXG4gIGxvYWRUYXJlYXMoKTogT2JzZXJ2YWJsZTx2b2lkPiB7XHJcbiAgICAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXHJcbiAgICAvKiBTZSBkZWJlIGNhbWJpYXIgY29uIGVsIHJlcXVlc3QgYWwgc2VydmljaW8gZGUgdGFyZWFzICovXHJcbiAgICB0aGlzLl9tZW51ID0ge31cclxuICAgIHJldHVybiBvZihKU09OLnBhcnNlKHRoaXMuc3RvcmFnZVNlcnZpY2UuZ2V0SXRlbSgnX190YXJlYXMnKSkpLnBpcGUoXHJcbiAgICAgIG1hcCgodGFyZWFzOiBhbnlbXSkgPT4ge1xyXG4gICAgICAgIGNvbnN0IGFyYm9sVGFyZWFzOiBhbnlbXSA9IFtdO1xyXG5cclxuICAgICBsZXQgbm9kb0Jhc2UgPSBudWxsO1xyXG4gICAgIGxldCBub2RvSGlqbyA9IG51bGw7XHJcbiAgIFxyXG4gICAgIGZvciAoY29uc3QgdW5hVGFyZWEgb2YgdGFyZWFzKSB7XHJcbiAgICAgIGNvbnN0IG1vZHVsbyA9IHVuYVRhcmVhLm1vZHVsbysnJztcclxuICAgICAgICBpZiAoIShtb2R1bG8gaW4gdGhpcy5fbWVudSkpIHtcclxuICAgICAgICAgIHRoaXMuX21lbnVbbW9kdWxvXSA9IHsgbGFiZWw6IHVuYVRhcmVhLm5vbWJyZU1vZHVsbywgaXRlbXM6IFtdIH07XHJcbiAgICAgICAgfVxyXG4gICAgICAgaWYgKCF1bmFUYXJlYS5ub21icmVQYWRyZSkge1xyXG4gICAgICAgICBhcmJvbFRhcmVhcy5wdXNoKHVuYVRhcmVhKTtcclxuICAgICAgICAgY29udGludWU7XHJcbiAgICAgICB9XHJcbiAgIFxyXG4gICAgICAgbm9kb0Jhc2UgPSBudWxsO1xyXG4gICBcclxuICAgICAgIC8vIEJ1c2NhciBlbiBlbCBwcmltZXIgbml2ZWxcclxuICAgICAgIGZvciAoY29uc3QgdW5Ob2RvIG9mIGFyYm9sVGFyZWFzKSB7XHJcbiAgICAgICAgaWYgKHVuTm9kby50aXBvICE9PSBcIk1cIikge1xyXG4gICAgICAgICAgY29udGludWU7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGlmICh1bmFUYXJlYS5ub21icmVBYnVlbG8gJiYgdW5Ob2RvLmRlc2NyaXBjaW9uID09PSB1bmFUYXJlYS5ub21icmVBYnVlbG8gJiYgdW5Ob2RvLm1vZHVsbyA9PT0gdW5hVGFyZWEubW9kdWxvKSB7XHJcbiAgICAgICAgICAvLyBCdXNjYXIgZW4gZWwgc2VndW5kbyBuaXZlbFxyXG4gICAgICAgICAgZm9yIChjb25zdCB1bk5vZG8yIG9mIHVuTm9kby5saXN0YVRhcmVhcyB8fCBbXSkge1xyXG4gICAgICAgICAgICBpZiAodW5Ob2RvMi50aXBvICE9PSBcIk1cIikge1xyXG4gICAgICAgICAgICAgIGNvbnRpbnVlO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIGlmICh1bk5vZG8yLmRlc2NyaXBjaW9uID09PSB1bmFUYXJlYS5ub21icmVQYWRyZSAmJiB1bk5vZG8yLm1vZHVsbyA9PT0gdW5hVGFyZWEubW9kdWxvKSAge1xyXG4gICAgICAgICAgICAgIG5vZG9CYXNlID0gdW5Ob2RvMjtcclxuICAgICAgICAgICAgICBicmVhaztcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgfVxyXG4gICAgICAgICAgaWYgKCFub2RvQmFzZSkge1xyXG4gICAgICAgICAgICBub2RvSGlqbyA9IHtcclxuICAgICAgICAgICAgICBkZXNjcmlwY2lvbjogdW5hVGFyZWEubm9tYnJlUGFkcmUsXHJcbiAgICAgICAgICAgICAgZ2lmOiB1bmFUYXJlYS5naWZQYWRyZSxcclxuICAgICAgICAgICAgICB0aXBvOiBcIk1cIixcclxuICAgICAgICAgICAgICBsaXN0YVRhcmVhczogW10sXHJcbiAgICAgICAgICAgICAgbW9kdWxvOiB1bmFUYXJlYS5tb2R1bG8sXHJcbiAgICAgICAgICAgIH07XHJcbiAgICAgICAgICAgIHVuTm9kby5saXN0YVRhcmVhcyEucHVzaChub2RvSGlqbyk7XHJcbiAgICAgICAgICAgIG5vZG9CYXNlID0gbm9kb0hpam87XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgICBicmVhaztcclxuICAgICAgICB9XHJcbiAgICAgICAgaWYgKHVuTm9kby5kZXNjcmlwY2lvbiA9PT0gdW5hVGFyZWEubm9tYnJlUGFkcmUgJiYgdW5Ob2RvLm1vZHVsbyA9PT0gdW5hVGFyZWEubW9kdWxvKSB7XHJcbiAgICAgICAgICBub2RvQmFzZSA9IHVuTm9kbztcclxuICAgICAgICAgIGJyZWFrO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gIFxyXG4gICAgICBpZiAoIW5vZG9CYXNlKSB7XHJcbiAgICAgICAgbm9kb0Jhc2UgPSB7XHJcbiAgICAgICAgICBkZXNjcmlwY2lvbjogdW5hVGFyZWEubm9tYnJlQWJ1ZWxvIHx8IHVuYVRhcmVhLm5vbWJyZVBhZHJlLFxyXG4gICAgICAgICAgZ2lmOiB1bmFUYXJlYS5ub21icmVBYnVlbG8gPyB1bmFUYXJlYS5naWZBYnVlbG8gOiB1bmFUYXJlYS5naWZQYWRyZSxcclxuICAgICAgICAgIG9yZGVuOiB1bmFUYXJlYS5ub21icmVBYnVlbG8gPyB1bmFUYXJlYS5vcmRlbkFidWVsbyA6IHVuYVRhcmVhLm9yZGVuUGFkcmUsXHJcbiAgICAgICAgICB0aXBvOiBcIk1cIixcclxuICAgICAgICAgIGxpc3RhVGFyZWFzOiBbXSxcclxuICAgICAgICAgIG1vZHVsbzogdW5hVGFyZWEubW9kdWxvLFxyXG4gICAgICAgIH07XHJcbiAgICAgICAgYXJib2xUYXJlYXMucHVzaChub2RvQmFzZSk7XHJcbiAgXHJcbiAgICAgICAgaWYgKHVuYVRhcmVhLm5vbWJyZUFidWVsbykge1xyXG4gICAgICAgICAgbm9kb0hpam8gPSB7XHJcbiAgICAgICAgICAgIGRlc2NyaXBjaW9uOiB1bmFUYXJlYS5ub21icmVQYWRyZSxcclxuICAgICAgICAgICAgZ2lmOiB1bmFUYXJlYS5naWZQYWRyZSxcclxuICAgICAgICAgICAgdGlwbzogXCJNXCIsXHJcbiAgICAgICAgICAgIGxpc3RhVGFyZWFzOiBbXSwgXHJcbiAgICAgICAgICAgIG1vZHVsbzogdW5hVGFyZWEubW9kdWxvLFxyXG4gICAgICAgICAgfTtcclxuICAgICAgICAgIG5vZG9CYXNlLmxpc3RhVGFyZWFzIS5wdXNoKG5vZG9IaWpvKTtcclxuICAgICAgICAgIG5vZG9CYXNlID0gbm9kb0hpam87XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICAgIG5vZG9CYXNlLmxpc3RhVGFyZWFzIS5wdXNoKHVuYVRhcmVhKTtcclxuICAgIH1cclxuICAgICBsZXQgcmVzcHVlc3RhID0gdGhpcy5jb252ZXJ0VG9NZW51SXRlbXMoYXJib2xUYXJlYXMpO1xyXG4gICAgIHJlc3B1ZXN0YS5mb3JFYWNoKGRhdG8gPT4ge1xyXG4gICAgICBjb25zdCBtb2R1bG8gPSBkYXRvLnRhYmluZGV4O1xyXG4gICAgICB0aGlzLl9tZW51W21vZHVsb10uaXRlbXMucHVzaChkYXRvKTtcclxuICAgICB9KSBcclxuICAgICAgfSlcclxuICAgICk7XHJcbiAgICAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXHJcbiAgfVxyXG5cclxuICBjb252ZXJ0VG9NZW51SXRlbXModGFyZWFzOiBhbnlbXSk6IE1lbnVJdGVtW10ge1xyXG4gICAgcmV0dXJuIHRhcmVhcy5tYXAodGFyZWEgPT4ge1xyXG4gICAgICBjb25zdCBtZW51SXRlbTogTWVudUl0ZW0gPSB7XHJcbiAgICAgICAgbGFiZWw6IHRhcmVhLmRlc2NyaXBjaW9uLFxyXG4gICAgICAgIGljb246IHRhcmVhLmdpZiA/ICdnbHlwaGljb25zICcgKyB0YXJlYS5naWYgOiB1bmRlZmluZWQsXHJcbiAgICAgICAgcm91dGVyTGluazogdGFyZWEudXJscHJpbmNpcGFsID8gdGFyZWEudXJscHJpbmNpcGFsLnJlcGxhY2UoLy5qc2YvLCAnJykgOiB1bmRlZmluZWQsXHJcbiAgICAgICAgdGFiaW5kZXg6IHRhcmVhLm1vZHVsbyxcclxuICAgICAgICBpdGVtczogdGFyZWEubGlzdGFUYXJlYXMgPyB0aGlzLmNvbnZlcnRUb01lbnVJdGVtcyh0YXJlYS5saXN0YVRhcmVhcykgOiB1bmRlZmluZWRcclxuICAgICAgfTtcclxuICAgICAgcmV0dXJuIG1lbnVJdGVtO1xyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICBzZXRUYXJlYXNEZWxNb2R1bG8obW9kdWxvOiBzdHJpbmcpOiB2b2lkIHtcclxuICAgIHRoaXMuX21lbnVTb3VyY2UubmV4dCh0aGlzLl9tZW51W21vZHVsb10pO1xyXG4gIH1cclxufVxyXG4iXX0=
@@ -1,22 +0,0 @@
1
- import { Injectable } from '@angular/core';
2
- import { BehaviorSubject } from 'rxjs';
3
- import * as i0 from "@angular/core";
4
- export class SpinnerService {
5
- spinnerSubject = new BehaviorSubject(false);
6
- spinner$ = this.spinnerSubject.asObservable();
7
- show() {
8
- this.spinnerSubject.next(true);
9
- }
10
- hide() {
11
- this.spinnerSubject.next(false);
12
- }
13
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.4", ngImport: i0, type: SpinnerService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
14
- static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.0.4", ngImport: i0, type: SpinnerService, providedIn: 'root' });
15
- }
16
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.4", ngImport: i0, type: SpinnerService, decorators: [{
17
- type: Injectable,
18
- args: [{
19
- providedIn: 'root'
20
- }]
21
- }] });
22
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3Bpbm5lci1zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2FwcC9jb3JlL3NlcnZpY2lvcy9zcGlubmVyLXNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzQyxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sTUFBTSxDQUFDOztBQUt2QyxNQUFNLE9BQU8sY0FBYztJQUNqQixjQUFjLEdBQUcsSUFBSSxlQUFlLENBQVUsS0FBSyxDQUFDLENBQUM7SUFDN0QsUUFBUSxHQUFHLElBQUksQ0FBQyxjQUFjLENBQUMsWUFBWSxFQUFFLENBQUM7SUFFOUMsSUFBSTtRQUNGLElBQUksQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQ2pDLENBQUM7SUFFRCxJQUFJO1FBQ0YsSUFBSSxDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDbEMsQ0FBQzt1R0FWVSxjQUFjOzJHQUFkLGNBQWMsY0FGYixNQUFNOzsyRkFFUCxjQUFjO2tCQUgxQixVQUFVO21CQUFDO29CQUNWLFVBQVUsRUFBRSxNQUFNO2lCQUNuQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgQmVoYXZpb3JTdWJqZWN0IH0gZnJvbSAncnhqcyc7XHJcblxyXG5ASW5qZWN0YWJsZSh7XHJcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBTcGlubmVyU2VydmljZSB7XHJcbiAgcHJpdmF0ZSBzcGlubmVyU3ViamVjdCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8Ym9vbGVhbj4oZmFsc2UpO1xyXG4gIHNwaW5uZXIkID0gdGhpcy5zcGlubmVyU3ViamVjdC5hc09ic2VydmFibGUoKTtcclxuXHJcbiAgc2hvdygpOiB2b2lkIHtcclxuICAgIHRoaXMuc3Bpbm5lclN1YmplY3QubmV4dCh0cnVlKTtcclxuICB9XHJcblxyXG4gIGhpZGUoKTogdm9pZCB7XHJcbiAgICB0aGlzLnNwaW5uZXJTdWJqZWN0Lm5leHQoZmFsc2UpO1xyXG4gIH1cclxufVxyXG4iXX0=
@@ -1,68 +0,0 @@
1
- import { Injectable } from '@angular/core';
2
- import { jwtDecode } from "jwt-decode";
3
- import * as i0 from "@angular/core";
4
- import * as i1 from "./utils.service";
5
- export class StorageService {
6
- utilsService;
7
- constructor(utilsService) {
8
- this.utilsService = utilsService;
9
- }
10
- rolSeleccionado;
11
- setRolSeleccionado(rolSeleccionado) {
12
- this.rolSeleccionado = rolSeleccionado;
13
- }
14
- /**
15
- * Guarda un valor string en la clave dada dentro del localStorage
16
- * @param key Clave
17
- * @param value Valor en formato texto
18
- */
19
- setItem(key, value) {
20
- localStorage.setItem(this.utilsService.obtenerBase() + '_' + key, value);
21
- }
22
- /**
23
- * Retorna el valor almacenado en el localStorage bajo la clave dada.
24
- * Si no existe y se específica un valor por defecto se retorna el valor
25
- * por defecto. En caso que no se especifique ningun valor, se retorna
26
- * undefined.
27
- * @param key clave
28
- * @param defaultValue Valor opcional por defecto
29
- * @returns string | undefined
30
- */
31
- getItem(key, defaultValue) {
32
- return localStorage.getItem(this.utilsService.obtenerBase() + '_' + key) ?? defaultValue;
33
- }
34
- /**
35
- * Borra del localStorage la clave/valor de la clave dada.
36
- * @param key Clave
37
- */
38
- removeItem(key) {
39
- localStorage.removeItem(this.utilsService.obtenerBase() + '_' + key);
40
- }
41
- /**
42
- * Borra todos los datos del localStorage
43
- */
44
- clear() {
45
- localStorage.clear();
46
- }
47
- getSessionToken() {
48
- let tokenEncriptado = localStorage.getItem(this.utilsService.obtenerBase() + '_' + 'token');
49
- /*let tokenDecrypt = CryptoJS.AES.decrypt(tokenEncriptado, environment.crypto_secret_key);
50
- let tokenDecryptString = tokenDecrypt.toString(CryptoJS.enc.Utf8);
51
- let token = JSON.parse(tokenDecryptString);*/
52
- return tokenEncriptado;
53
- }
54
- getDecodedJWT() {
55
- let jwt = this.getSessionToken();
56
- let tokenDecoded = JSON.parse(JSON.stringify(jwtDecode(jwt)));
57
- return tokenDecoded;
58
- }
59
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.4", ngImport: i0, type: StorageService, deps: [{ token: i1.UtilsService }], target: i0.ɵɵFactoryTarget.Injectable });
60
- static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.0.4", ngImport: i0, type: StorageService, providedIn: 'root' });
61
- }
62
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.4", ngImport: i0, type: StorageService, decorators: [{
63
- type: Injectable,
64
- args: [{
65
- providedIn: 'root',
66
- }]
67
- }], ctorParameters: () => [{ type: i1.UtilsService }] });
68
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RvcmFnZS5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2FwcC9jb3JlL3NlcnZpY2lvcy9zdG9yYWdlLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUUzQyxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sWUFBWSxDQUFDOzs7QUFLdkMsTUFBTSxPQUFPLGNBQWM7SUFDTDtJQUFwQixZQUFvQixZQUEwQjtRQUExQixpQkFBWSxHQUFaLFlBQVksQ0FBYztJQUFHLENBQUM7SUFFMUMsZUFBZSxDQUFDO0lBRXhCLGtCQUFrQixDQUFDLGVBQWU7UUFDaEMsSUFBSSxDQUFDLGVBQWUsR0FBRyxlQUFlLENBQUM7SUFDekMsQ0FBQztJQUdEOzs7O09BSUc7SUFDSCxPQUFPLENBQUMsR0FBVyxFQUFFLEtBQWE7UUFDaEMsWUFBWSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLFdBQVcsRUFBRSxHQUFHLEdBQUcsR0FBRyxHQUFHLEVBQUUsS0FBSyxDQUFDLENBQUM7SUFDM0UsQ0FBQztJQUVEOzs7Ozs7OztPQVFHO0lBQ0gsT0FBTyxDQUFDLEdBQVcsRUFBRSxZQUFxQjtRQUN4QyxPQUFPLFlBQVksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxXQUFXLEVBQUUsR0FBRyxHQUFHLEdBQUksR0FBRyxDQUFDLElBQUksWUFBWSxDQUFDO0lBQzVGLENBQUM7SUFFRDs7O09BR0c7SUFDSCxVQUFVLENBQUMsR0FBVztRQUNwQixZQUFZLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsV0FBVyxFQUFFLEdBQUcsR0FBRyxHQUFHLEdBQUcsQ0FBQyxDQUFDO0lBQ3ZFLENBQUM7SUFFRDs7T0FFRztJQUNILEtBQUs7UUFDSCxZQUFZLENBQUMsS0FBSyxFQUFFLENBQUM7SUFDdkIsQ0FBQztJQUVELGVBQWU7UUFDYixJQUFJLGVBQWUsR0FBUSxZQUFZLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsV0FBVyxFQUFFLEdBQUcsR0FBRyxHQUFHLE9BQU8sQ0FBQyxDQUFDO1FBQ2pHOztxREFFNkM7UUFDN0MsT0FBTyxlQUFlLENBQUM7SUFDekIsQ0FBQztJQUVELGFBQWE7UUFDWCxJQUFJLEdBQUcsR0FBRyxJQUFJLENBQUMsZUFBZSxFQUFFLENBQUM7UUFDakMsSUFBSSxZQUFZLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLFNBQVMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDOUQsT0FBTyxZQUFZLENBQUM7SUFDdEIsQ0FBQzt1R0EzRFUsY0FBYzsyR0FBZCxjQUFjLGNBRmIsTUFBTTs7MkZBRVAsY0FBYztrQkFIMUIsVUFBVTttQkFBQztvQkFDVixVQUFVLEVBQUUsTUFBTTtpQkFDbkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IFV0aWxzU2VydmljZSB9IGZyb20gJy4vdXRpbHMuc2VydmljZSc7XHJcbmltcG9ydCB7IGp3dERlY29kZSB9IGZyb20gXCJqd3QtZGVjb2RlXCI7XHJcblxyXG5ASW5qZWN0YWJsZSh7XHJcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgU3RvcmFnZVNlcnZpY2Uge1xyXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgdXRpbHNTZXJ2aWNlOiBVdGlsc1NlcnZpY2UpIHt9XHJcblxyXG4gIHByaXZhdGUgcm9sU2VsZWNjaW9uYWRvO1xyXG5cclxuICBzZXRSb2xTZWxlY2Npb25hZG8ocm9sU2VsZWNjaW9uYWRvKSB7XHJcbiAgICB0aGlzLnJvbFNlbGVjY2lvbmFkbyA9IHJvbFNlbGVjY2lvbmFkbztcclxuICB9XHJcblxyXG5cclxuICAvKipcclxuICAgKiBHdWFyZGEgdW4gdmFsb3Igc3RyaW5nIGVuIGxhIGNsYXZlIGRhZGEgZGVudHJvIGRlbCBsb2NhbFN0b3JhZ2VcclxuICAgKiBAcGFyYW0ga2V5IENsYXZlXHJcbiAgICogQHBhcmFtIHZhbHVlIFZhbG9yIGVuIGZvcm1hdG8gdGV4dG9cclxuICAgKi9cclxuICBzZXRJdGVtKGtleTogc3RyaW5nLCB2YWx1ZTogc3RyaW5nKTogdm9pZCB7XHJcbiAgICBsb2NhbFN0b3JhZ2Uuc2V0SXRlbSh0aGlzLnV0aWxzU2VydmljZS5vYnRlbmVyQmFzZSgpICsgJ18nICsga2V5LCB2YWx1ZSk7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBSZXRvcm5hIGVsIHZhbG9yIGFsbWFjZW5hZG8gZW4gZWwgbG9jYWxTdG9yYWdlIGJham8gbGEgY2xhdmUgZGFkYS5cclxuICAgKiBTaSBubyBleGlzdGUgeSBzZSBlc3BlY8OtZmljYSB1biB2YWxvciBwb3IgZGVmZWN0byBzZSByZXRvcm5hIGVsIHZhbG9yXHJcbiAgICogcG9yIGRlZmVjdG8uIEVuIGNhc28gcXVlIG5vIHNlIGVzcGVjaWZpcXVlIG5pbmd1biB2YWxvciwgc2UgcmV0b3JuYVxyXG4gICAqIHVuZGVmaW5lZC5cclxuICAgKiBAcGFyYW0ga2V5IGNsYXZlXHJcbiAgICogQHBhcmFtIGRlZmF1bHRWYWx1ZSBWYWxvciBvcGNpb25hbCBwb3IgZGVmZWN0b1xyXG4gICAqIEByZXR1cm5zIHN0cmluZyB8IHVuZGVmaW5lZFxyXG4gICAqL1xyXG4gIGdldEl0ZW0oa2V5OiBzdHJpbmcsIGRlZmF1bHRWYWx1ZT86IHN0cmluZyk6IHN0cmluZyB8IHVuZGVmaW5lZCB7XHJcbiAgICByZXR1cm4gbG9jYWxTdG9yYWdlLmdldEl0ZW0odGhpcy51dGlsc1NlcnZpY2Uub2J0ZW5lckJhc2UoKSArICdfJyArICBrZXkpID8/IGRlZmF1bHRWYWx1ZTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIEJvcnJhIGRlbCBsb2NhbFN0b3JhZ2UgbGEgY2xhdmUvdmFsb3IgZGUgbGEgY2xhdmUgZGFkYS5cclxuICAgKiBAcGFyYW0ga2V5IENsYXZlXHJcbiAgICovXHJcbiAgcmVtb3ZlSXRlbShrZXk6IHN0cmluZyk6IHZvaWQge1xyXG4gICAgbG9jYWxTdG9yYWdlLnJlbW92ZUl0ZW0odGhpcy51dGlsc1NlcnZpY2Uub2J0ZW5lckJhc2UoKSArICdfJyArIGtleSk7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBCb3JyYSB0b2RvcyBsb3MgZGF0b3MgZGVsIGxvY2FsU3RvcmFnZVxyXG4gICAqL1xyXG4gIGNsZWFyKCk6IHZvaWQge1xyXG4gICAgbG9jYWxTdG9yYWdlLmNsZWFyKCk7XHJcbiAgfVxyXG5cclxuICBnZXRTZXNzaW9uVG9rZW4oKSB7XHJcbiAgICBsZXQgdG9rZW5FbmNyaXB0YWRvOiBhbnkgPSBsb2NhbFN0b3JhZ2UuZ2V0SXRlbSh0aGlzLnV0aWxzU2VydmljZS5vYnRlbmVyQmFzZSgpICsgJ18nICsgJ3Rva2VuJyk7XHJcbiAgICAvKmxldCB0b2tlbkRlY3J5cHQgPSBDcnlwdG9KUy5BRVMuZGVjcnlwdCh0b2tlbkVuY3JpcHRhZG8sIGVudmlyb25tZW50LmNyeXB0b19zZWNyZXRfa2V5KTtcclxuICAgIGxldCB0b2tlbkRlY3J5cHRTdHJpbmcgPSB0b2tlbkRlY3J5cHQudG9TdHJpbmcoQ3J5cHRvSlMuZW5jLlV0ZjgpO1xyXG4gICAgbGV0IHRva2VuID0gSlNPTi5wYXJzZSh0b2tlbkRlY3J5cHRTdHJpbmcpOyovXHJcbiAgICByZXR1cm4gdG9rZW5FbmNyaXB0YWRvO1xyXG4gIH1cclxuXHJcbiAgZ2V0RGVjb2RlZEpXVCgpe1xyXG4gICAgbGV0IGp3dCA9IHRoaXMuZ2V0U2Vzc2lvblRva2VuKCk7XHJcbiAgICBsZXQgdG9rZW5EZWNvZGVkID0gSlNPTi5wYXJzZShKU09OLnN0cmluZ2lmeShqd3REZWNvZGUoand0KSkpO1xyXG4gICAgcmV0dXJuIHRva2VuRGVjb2RlZDtcclxuICB9XHJcbn1cclxuIl19
@@ -1,99 +0,0 @@
1
- import { HttpErrorResponse, HttpHeaders, HttpParams } from '@angular/common/http';
2
- import { Injectable } from '@angular/core';
3
- import { TimeoutError, catchError, throwError } from 'rxjs';
4
- import * as i0 from "@angular/core";
5
- import * as i1 from "./storage.service";
6
- import * as i2 from "ngx-cookie-service";
7
- import * as i3 from "./auth.service";
8
- import * as i4 from "./utils.service";
9
- import * as i5 from "./error-interceptor.service";
10
- import * as i6 from "@angular/common/http";
11
- export class TemplateService {
12
- storageService;
13
- cookieService;
14
- authService;
15
- utilsService;
16
- errorInterceptor;
17
- http;
18
- constructor(storageService, cookieService, authService, utilsService, errorInterceptor, http) {
19
- this.storageService = storageService;
20
- this.cookieService = cookieService;
21
- this.authService = authService;
22
- this.utilsService = utilsService;
23
- this.errorInterceptor = errorInterceptor;
24
- this.http = http;
25
- this.handleError = this.handleError.bind(this);
26
- }
27
- handleError(error) {
28
- if (error instanceof TimeoutError) {
29
- this.errorInterceptor.showError(JSON.stringify({ tipo: 'ERR', traza: '.', mensaje: 'El servicio no está disponible. Por favor, inténtelo más tarde.' }));
30
- }
31
- else if (error instanceof HttpErrorResponse) {
32
- if (error.error instanceof ErrorEvent) {
33
- // A client-side or network error occurreda
34
- if (error.error.message.includes('ERR_CONNECTION_REFUSED')) {
35
- this.errorInterceptor.showError(JSON.stringify({ tipo: 'ERR', traza: '.', mensaje: 'El servicio no está disponible. Por favor, inténtelo más tarde.' }));
36
- }
37
- else {
38
- this.errorInterceptor.showError(JSON.stringify({ tipo: 'ERR', traza: '.', mensaje: 'Se produjo un error de red. Por favor, inténtelo más tarde.' }));
39
- }
40
- }
41
- else {
42
- if (error.status == 0) {
43
- this.errorInterceptor.showError(JSON.stringify({ tipo: 'ERR', traza: '.', mensaje: 'Se produjo un error de red. Por favor, inténtelo más tarde.' }));
44
- }
45
- else {
46
- console.error(`Error HTTP: ${error.status} - ${error.message}`);
47
- }
48
- }
49
- }
50
- if (error.status === 500) {
51
- //Llamado a interceptor
52
- this.errorInterceptor.showError(JSON.stringify(error.error));
53
- // A client-side or network error occurred. Handle it accordingly.
54
- console.error('An error occurred:', error.error);
55
- }
56
- else {
57
- // The backend returned an unsuccessful response code.
58
- // The response body may contain clues as to what went wrong.
59
- console.error(`Backend returned code ${error.status}, body was: `, error.error);
60
- }
61
- // Return an observable with a user-facing error message.
62
- return throwError(() => new Error('Something bad happened; please try again later.'));
63
- }
64
- async getTemplateColor(urlapinucleo, codigoAplicacion, nombreAplicacion) {
65
- if (!this.cookieService.get('urlnucleo')) {
66
- this.cookieService.set('urlnucleo', urlapinucleo);
67
- }
68
- const color = this.storageService.getItem('color');
69
- var basePortal = this.utilsService.obtenerBase();
70
- if (window.location.href.endsWith('not-found')) {
71
- return "#F1710C";
72
- }
73
- let data = await this.authService.generarTokenPublico(urlapinucleo).toPromise();
74
- var headers = new HttpHeaders().set('Authorization', `Bearer ${data.token}`).set('Base', basePortal);
75
- if (!color) {
76
- const url = `${urlapinucleo}/authentication/inicio`;
77
- let params = new HttpParams();
78
- params = params.set('numeroAplicacion', codigoAplicacion);
79
- params = params.set('tipo', 'color');
80
- const response = await this.http.get(url, { params: params, headers: headers }).pipe(catchError(this.handleError)).toPromise();
81
- const newColor = response?.colores?.color1;
82
- if (newColor) {
83
- this.storageService.setItem('color', newColor);
84
- return newColor;
85
- }
86
- return '#ffffff';
87
- }
88
- return color;
89
- }
90
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.4", ngImport: i0, type: TemplateService, deps: [{ token: i1.StorageService }, { token: i2.CookieService }, { token: i3.AuthService }, { token: i4.UtilsService }, { token: i5.ErrorIntecertorService }, { token: i6.HttpClient }], target: i0.ɵɵFactoryTarget.Injectable });
91
- static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.0.4", ngImport: i0, type: TemplateService, providedIn: 'root' });
92
- }
93
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.4", ngImport: i0, type: TemplateService, decorators: [{
94
- type: Injectable,
95
- args: [{
96
- providedIn: 'root',
97
- }]
98
- }], ctorParameters: () => [{ type: i1.StorageService }, { type: i2.CookieService }, { type: i3.AuthService }, { type: i4.UtilsService }, { type: i5.ErrorIntecertorService }, { type: i6.HttpClient }] });
99
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGVtcGxhdGUuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3NyYy9hcHAvY29yZS9zZXJ2aWNpb3MvdGVtcGxhdGUuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQWMsaUJBQWlCLEVBQUUsV0FBVyxFQUFFLFVBQVUsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQzlGLE9BQU8sRUFBRSxVQUFVLEVBQVUsTUFBTSxlQUFlLENBQUM7QUFDbkQsT0FBTyxFQUFFLFlBQVksRUFBRSxVQUFVLEVBQWtCLFVBQVUsRUFBRSxNQUFNLE1BQU0sQ0FBQzs7Ozs7Ozs7QUFXNUUsTUFBTSxPQUFPLGVBQWU7SUFFaEI7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBTlYsWUFDVSxjQUE4QixFQUM5QixhQUE0QixFQUM1QixXQUF3QixFQUN4QixZQUEwQixFQUMxQixnQkFBeUMsRUFDekMsSUFBZ0I7UUFMaEIsbUJBQWMsR0FBZCxjQUFjLENBQWdCO1FBQzlCLGtCQUFhLEdBQWIsYUFBYSxDQUFlO1FBQzVCLGdCQUFXLEdBQVgsV0FBVyxDQUFhO1FBQ3hCLGlCQUFZLEdBQVosWUFBWSxDQUFjO1FBQzFCLHFCQUFnQixHQUFoQixnQkFBZ0IsQ0FBeUI7UUFDekMsU0FBSSxHQUFKLElBQUksQ0FBWTtRQUN0QixJQUFJLENBQUMsV0FBVyxHQUFHLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQ2pELENBQUM7SUFFTyxXQUFXLENBQUMsS0FBd0I7UUFDMUMsSUFBSSxLQUFLLFlBQVksWUFBWSxFQUFFLENBQUM7WUFDbEMsSUFBSSxDQUFDLGdCQUFnQixDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLEVBQUMsSUFBSSxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsR0FBRyxFQUFFLE9BQU8sRUFBRSxpRUFBaUUsRUFBQyxDQUFDLENBQUMs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c0NvbnRlbnQiOlsiaW1wb3J0IHsgSHR0cENsaWVudCwgSHR0cEVycm9yUmVzcG9uc2UsIEh0dHBIZWFkZXJzLCBIdHRwUGFyYW1zIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnO1xyXG5pbXBvcnQgeyBJbmplY3RhYmxlLCBJbmplY3QgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgVGltZW91dEVycm9yLCBjYXRjaEVycm9yLCBmaXJzdFZhbHVlRnJvbSwgdGhyb3dFcnJvciB9IGZyb20gJ3J4anMnO1xyXG5pbXBvcnQgeyBTdG9yYWdlU2VydmljZSB9IGZyb20gJy4vc3RvcmFnZS5zZXJ2aWNlJztcclxuaW1wb3J0IHsgQXV0aFNlcnZpY2UgfSBmcm9tICcuL2F1dGguc2VydmljZSc7XHJcbmltcG9ydCB7IENvb2tpZVNlcnZpY2UgfSBmcm9tICduZ3gtY29va2llLXNlcnZpY2UnO1xyXG5pbXBvcnQgeyBVdGlsc1NlcnZpY2UgfSBmcm9tICcuL3V0aWxzLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBFcnJvckludGVjZXJ0b3JTZXJ2aWNlIH0gZnJvbSAnLi9lcnJvci1pbnRlcmNlcHRvci5zZXJ2aWNlJztcclxuaW1wb3J0IHsgVG9hc3RTZXJ2aWNlIH0gZnJvbSAnLi90b2FzdC5zZXJ2aWNlJztcclxuXHJcbkBJbmplY3RhYmxlKHtcclxuICBwcm92aWRlZEluOiAncm9vdCcsXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBUZW1wbGF0ZVNlcnZpY2Uge1xyXG4gIGNvbnN0cnVjdG9yKFxyXG4gICAgcHJpdmF0ZSBzdG9yYWdlU2VydmljZTogU3RvcmFnZVNlcnZpY2UsXHJcbiAgICBwcml2YXRlIGNvb2tpZVNlcnZpY2U6IENvb2tpZVNlcnZpY2UsXHJcbiAgICBwcml2YXRlIGF1dGhTZXJ2aWNlOiBBdXRoU2VydmljZSxcclxuICAgIHByaXZhdGUgdXRpbHNTZXJ2aWNlOiBVdGlsc1NlcnZpY2UsXHJcbiAgICBwcml2YXRlIGVycm9ySW50ZXJjZXB0b3IgOiBFcnJvckludGVjZXJ0b3JTZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSBodHRwOiBIdHRwQ2xpZW50KSB7XHJcbiAgICAgIHRoaXMuaGFuZGxlRXJyb3IgPSB0aGlzLmhhbmRsZUVycm9yLmJpbmQodGhpcyk7XHJcbiAgICB9XHJcblxyXG4gICAgcHJpdmF0ZSBoYW5kbGVFcnJvcihlcnJvcjogSHR0cEVycm9yUmVzcG9uc2UpIHtcclxuICAgICAgaWYgKGVycm9yIGluc3RhbmNlb2YgVGltZW91dEVycm9yKSB7XHJcbiAgICAgICAgdGhpcy5lcnJvckludGVyY2VwdG9yLnNob3dFcnJvcihKU09OLnN0cmluZ2lmeSh7dGlwbzogJ0VSUicsIHRyYXphOiAnLicsIG1lbnNhamU6ICdFbCBzZXJ2aWNpbyBubyBlc3TDoSBkaXNwb25pYmxlLiBQb3IgZmF2b3IsIGludMOpbnRlbG8gbcOhcyB0YXJkZS4nfSkpO1xyXG4gICAgICB9IGVsc2UgaWYgKGVycm9yIGluc3RhbmNlb2YgSHR0cEVycm9yUmVzcG9uc2UpIHtcclxuICAgICAgICBpZiAoZXJyb3IuZXJyb3IgaW5zdGFuY2VvZiBFcnJvckV2ZW50KSB7XHJcbiAgICAgICAgICAvLyBBIGNsaWVudC1zaWRlIG9yIG5ldHdvcmsgZXJyb3Igb2NjdXJyZWRhXHJcbiAgICAgICAgICBpZiAoZXJyb3IuZXJyb3IubWVzc2FnZS5pbmNsdWRlcygnRVJSX0NPTk5FQ1RJT05fUkVGVVNFRCcpKSB7XHJcbiAgICAgICAgICAgIHRoaXMuZXJyb3JJbnRlcmNlcHRvci5zaG93RXJyb3IoSlNPTi5zdHJpbmdpZnkoe3RpcG86ICdFUlInLCB0cmF6YTogJy4nLCBtZW5zYWplOiAnRWwgc2VydmljaW8gbm8gZXN0w6EgZGlzcG9uaWJsZS4gUG9yIGZhdm9yLCBpbnTDqW50ZWxvIG3DoXMgdGFyZGUuJ30pKTtcclxuICAgICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgIHRoaXMuZXJyb3JJbnRlcmNlcHRvci5zaG93RXJyb3IoSlNPTi5zdHJpbmdpZnkoe3RpcG86ICdFUlInLCB0cmF6YTogJy4nLCBtZW5zYWplOiAnU2UgcHJvZHVqbyB1biBlcnJvciBkZSByZWQuIFBvciBmYXZvciwgaW50w6ludGVsbyBtw6FzIHRhcmRlLid9KSk7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgIGlmIChlcnJvci5zdGF0dXMgPT0gMCkge1xyXG4gICAgICAgICAgICB0aGlzLmVycm9ySW50ZXJjZXB0b3Iuc2hvd0Vycm9yKEpTT04uc3RyaW5naWZ5KHt0aXBvOiAnRVJSJywgdHJhemE6ICcuJywgbWVuc2FqZTogJ1NlIHByb2R1am8gdW4gZXJyb3IgZGUgcmVkLiBQb3IgZmF2b3IsIGludMOpbnRlbG8gbcOhcyB0YXJkZS4nfSkpO1xyXG4gICAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgY29uc29sZS5lcnJvcihgRXJyb3IgSFRUUDogJHtlcnJvci5zdGF0dXN9IC0gJHtlcnJvci5tZXNzYWdlfWApO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgICBpZiAoZXJyb3Iuc3RhdHVzID09PSA1MDApIHtcclxuICAgICAgICAvL0xsYW1hZG8gYSBpbnRlcmNlcHRvclxyXG4gICAgICAgIHRoaXMuZXJyb3JJbnRlcmNlcHRvci5zaG93RXJyb3IoSlNPTi5zdHJpbmdpZnkoZXJyb3IuZXJyb3IpKTtcclxuICAgICAgICAvLyBBIGNsaWVudC1zaWRlIG9yIG5ldHdvcmsgZXJyb3Igb2NjdXJyZWQuIEhhbmRsZSBpdCBhY2NvcmRpbmdseS5cclxuICAgICAgICBjb25zb2xlLmVycm9yKCdBbiBlcnJvciBvY2N1cnJlZDonLCBlcnJvci5lcnJvcik7XHJcbiAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgLy8gVGhlIGJhY2tlbmQgcmV0dXJuZWQgYW4gdW5zdWNjZXNzZnVsIHJlc3BvbnNlIGNvZGUuXHJcbiAgICAgICAgLy8gVGhlIHJlc3BvbnNlIGJvZHkgbWF5IGNvbnRhaW4gY2x1ZXMgYXMgdG8gd2hhdCB3ZW50IHdyb25nLlxyXG4gICAgICAgIGNvbnNvbGUuZXJyb3IoXHJcbiAgICAgICAgICBgQmFja2VuZCByZXR1cm5lZCBjb2RlICR7ZXJyb3Iuc3RhdHVzfSwgYm9keSB3YXM6IGAsIGVycm9yLmVycm9yKTtcclxuICAgICAgfVxyXG4gICAgICAvLyBSZXR1cm4gYW4gb2JzZXJ2YWJsZSB3aXRoIGEgdXNlci1mYWNpbmcgZXJyb3IgbWVzc2FnZS5cclxuICAgICAgcmV0dXJuIHRocm93RXJyb3IoKCkgPT4gbmV3IEVycm9yKCdTb21ldGhpbmcgYmFkIGhhcHBlbmVkOyBwbGVhc2UgdHJ5IGFnYWluIGxhdGVyLicpKTtcclxuICAgIH1cclxuXHJcblxyXG4gIGFzeW5jIGdldFRlbXBsYXRlQ29sb3IodXJsYXBpbnVjbGVvLCBjb2RpZ29BcGxpY2FjaW9uLCBub21icmVBcGxpY2FjaW9uKTogUHJvbWlzZTxzdHJpbmc+IHtcclxuICAgIGlmICghdGhpcy5jb29raWVTZXJ2aWNlLmdldCgndXJsbnVjbGVvJykpe1xyXG4gICAgICB0aGlzLmNvb2tpZVNlcnZpY2Uuc2V0KCd1cmxudWNsZW8nLCB1cmxhcGludWNsZW8pXHJcbiAgICB9XHJcbiAgICBjb25zdCBjb2xvciA9IHRoaXMuc3RvcmFnZVNlcnZpY2UuZ2V0SXRlbSgnY29sb3InKTtcclxuICAgIHZhciBiYXNlUG9ydGFsOiBzdHJpbmcgPSB0aGlzLnV0aWxzU2VydmljZS5vYnRlbmVyQmFzZSgpO1xyXG4gICAgaWYgKHdpbmRvdy5sb2NhdGlvbi5ocmVmLmVuZHNXaXRoKCdub3QtZm91bmQnKSkge1xyXG4gICAgICByZXR1cm4gXCIjRjE3MTBDXCI7XHJcbiAgICB9XHJcbiAgICBsZXQgZGF0YSA9IGF3YWl0IHRoaXMuYXV0aFNlcnZpY2UuZ2VuZXJhclRva2VuUHVibGljbyh1cmxhcGludWNsZW8pLnRvUHJvbWlzZSgpO1xyXG4gICAgdmFyIGhlYWRlcnMgPSBuZXcgSHR0cEhlYWRlcnMoKS5zZXQoJ0F1dGhvcml6YXRpb24nLCBgQmVhcmVyICR7ZGF0YS50b2tlbn1gKS5zZXQoJ0Jhc2UnLCBiYXNlUG9ydGFsKTtcclxuICAgIGlmICghY29sb3IpIHtcclxuICAgICAgY29uc3QgdXJsID0gYCR7dXJsYXBpbnVjbGVvfS9hdXRoZW50aWNhdGlvbi9pbmljaW9gO1xyXG4gICAgICBsZXQgcGFyYW1zID0gbmV3IEh0dHBQYXJhbXMoKTtcclxuICAgICAgcGFyYW1zID0gcGFyYW1zLnNldCgnbnVtZXJvQXBsaWNhY2lvbicsIGNvZGlnb0FwbGljYWNpb24pO1xyXG4gICAgICBwYXJhbXMgPSBwYXJhbXMuc2V0KCd0aXBvJywgJ2NvbG9yJyk7XHJcbiAgICAgIGNvbnN0IHJlc3BvbnNlID0gYXdhaXQgdGhpcy5odHRwLmdldCh1cmwsIHsgcGFyYW1zOiBwYXJhbXMsIGhlYWRlcnM6IGhlYWRlcnMgfSApLnBpcGUoXHJcbiAgICAgICAgY2F0Y2hFcnJvcih0aGlzLmhhbmRsZUVycm9yKVxyXG4gICAgICApLnRvUHJvbWlzZSgpO1xyXG4gICAgICBjb25zdCBuZXdDb2xvciA9IChyZXNwb25zZSBhcyBhbnkpPy5jb2xvcmVzPy5jb2xvcjE7XHJcblxyXG4gICAgICBpZiAobmV3Q29sb3IpIHtcclxuICAgICAgICB0aGlzLnN0b3JhZ2VTZXJ2aWNlLnNldEl0ZW0oJ2NvbG9yJywgbmV3Q29sb3IpO1xyXG4gICAgICAgIHJldHVybiBuZXdDb2xvcjtcclxuICAgICAgfVxyXG5cclxuICAgICAgcmV0dXJuICcjZmZmZmZmJztcclxuICAgIH1cclxuXHJcbiAgICByZXR1cm4gY29sb3I7XHJcbiAgfVxyXG59XHJcbiJdfQ==