utn-cli 2.1.53 → 2.1.55

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 (40) hide show
  1. package/package.json +1 -1
  2. package/templates/backend/package.json +3 -3
  3. package/templates/backend/rutas/DatosMiscelaneos.js +50 -0
  4. package/templates/backend/rutas/misc.js +177 -5
  5. package/templates/backend/rutas/rutas.js +2 -0
  6. package/templates/backend/servicios/Nucleo/DatosMiscelaneos.js +36 -0
  7. package/templates/backend/servicios/Nucleo/Miscelaneas.js +192 -25
  8. package/templates/frontend/Dockerfile +1 -0
  9. package/templates/frontend/src/app/Componentes/Nucleo/boton-ayuda/boton-ayuda.component.css +7 -0
  10. package/templates/frontend/src/app/Componentes/Nucleo/boton-ayuda/boton-ayuda.component.html +28 -0
  11. package/templates/frontend/src/app/Componentes/Nucleo/boton-ayuda/boton-ayuda.component.ts +78 -0
  12. package/templates/frontend/src/app/Componentes/Nucleo/estadisticas-del-modulo/estadisticas-del-modulo.component.html +43 -8
  13. package/templates/frontend/src/app/Componentes/Nucleo/estadisticas-del-modulo/estadisticas-del-modulo.component.ts +5 -4
  14. package/templates/frontend/src/app/Componentes/Nucleo/gestion-actividad/gestion-actividad.component.ts +1 -0
  15. package/templates/frontend/src/app/Componentes/Nucleo/mensaje-confirmacion/mensaje-confirmacion.component.css +4 -2
  16. package/templates/frontend/src/app/Componentes/Nucleo/mensaje-institucional/mensaje-institucional.component.html +3 -3
  17. package/templates/frontend/src/app/Componentes/Nucleo/mensaje-institucional/mensaje-institucional.component.ts +1 -1
  18. package/templates/frontend/src/app/Componentes/Nucleo/subir-archivo/subir-archivo.component.ts +1 -1
  19. package/templates/frontend/src/app/Paginas/Nucleo/accesibilidad/accesibilidad.component.css +25 -0
  20. package/templates/frontend/src/app/Paginas/Nucleo/accesibilidad/accesibilidad.component.html +2 -0
  21. package/templates/frontend/src/app/Paginas/Nucleo/accesibilidad/accesibilidad.component.ts +31 -2
  22. package/templates/frontend/src/app/Paginas/Nucleo/acercade/acercade.component.css +67 -18
  23. package/templates/frontend/src/app/Paginas/Nucleo/acercade/acercade.component.html +56 -46
  24. package/templates/frontend/src/app/Paginas/Nucleo/acercade/acercade.component.ts +21 -1
  25. package/templates/frontend/src/app/Paginas/Nucleo/conozcanos/conozcanos.component.css +190 -375
  26. package/templates/frontend/src/app/Paginas/Nucleo/conozcanos/conozcanos.component.html +92 -91
  27. package/templates/frontend/src/app/Paginas/Nucleo/conozcanos/conozcanos.component.ts +19 -2
  28. package/templates/frontend/src/app/Paginas/Nucleo/contenedor-componentes/contenedor-componentes.component.ts +26 -1
  29. package/templates/frontend/src/app/Paginas/Nucleo/declaracion-ia/declaracion-ia.component.css +25 -0
  30. package/templates/frontend/src/app/Paginas/Nucleo/declaracion-ia/declaracion-ia.component.html +2 -0
  31. package/templates/frontend/src/app/Paginas/Nucleo/declaracion-ia/declaracion-ia.component.ts +33 -3
  32. package/templates/frontend/src/app/Paginas/Nucleo/politicas/politicas.component.css +69 -15
  33. package/templates/frontend/src/app/Paginas/Nucleo/politicas/politicas.component.html +129 -107
  34. package/templates/frontend/src/app/Paginas/Nucleo/politicas/politicas.component.ts +51 -9
  35. package/templates/frontend/src/app/Paginas/Nucleo/preguntasFrecuentes/preguntasFrecuentes.component.css +68 -15
  36. package/templates/frontend/src/app/Paginas/Nucleo/preguntasFrecuentes/preguntasFrecuentes.component.html +161 -88
  37. package/templates/frontend/src/app/Paginas/Nucleo/preguntasFrecuentes/preguntasFrecuentes.component.ts +63 -10
  38. package/templates/frontend/src/app/Paginas/Nucleo/sabiasque/sabiasque.component.css +100 -24
  39. package/templates/frontend/src/app/Paginas/Nucleo/sabiasque/sabiasque.component.html +269 -339
  40. package/templates/frontend/src/app/Paginas/Nucleo/sabiasque/sabiasque.component.ts +94 -6
@@ -1,5 +1,6 @@
1
1
  import { Component, OnInit } from '@angular/core';
2
2
  import { MatIconModule } from '@angular/material/icon';
3
+ import { CommonModule } from '@angular/common';
3
4
  import { DatosGlobalesService } from '../../../datos-globales.service';
4
5
  import { HttpClient } from '@angular/common/http';
5
6
  import { takeUntil } from 'rxjs/operators';
@@ -7,16 +8,40 @@ import { Subject } from 'rxjs';
7
8
  @Component({
8
9
  selector: 'app-sabiasque',
9
10
  standalone: true,
10
- imports: [MatIconModule],
11
+ imports: [CommonModule, MatIconModule],
11
12
  templateUrl: './sabiasque.component.html',
12
13
  styleUrl: './sabiasque.component.css'
13
14
  })
14
15
  export class SabiasQueComponent implements OnInit {
15
16
 
16
17
  private _destroy$ = new Subject<void>();
18
+ mostrarBotonInicio = false;
19
+ private _scrollListener?: EventListener;
20
+
17
21
  constructor(private http: HttpClient, private datosGlobalesService: DatosGlobalesService) { }
18
22
  ngOnInit(): void {
19
23
  this.http.get(`${this.datosGlobalesService.ObtenerURL()}misc/VistaDeSabiasQue`).pipe(takeUntil(this._destroy$)).subscribe({ error: () => { } });
24
+
25
+ this.http.get<any>(`${this.datosGlobalesService.ObtenerURL()}misc/obtenerRankingDeItemsDeSabiasQue`).pipe(takeUntil(this._destroy$)).subscribe({
26
+ next: (respuesta) => {
27
+ const ranking = respuesta.body ?? {};
28
+ this.preguntas.sort(
29
+ (a, b) =>
30
+ (ranking[b.id] ?? 0) - (ranking[a.id] ?? 0));
31
+ }
32
+ });
33
+ setTimeout(() => {
34
+ const c = document.querySelector('.zona-scrollable');
35
+ if (c) {
36
+ this._scrollListener = () => { this.mostrarBotonInicio = (c as HTMLElement).scrollTop > 200; };
37
+ c.addEventListener('scroll', this._scrollListener);
38
+ }
39
+ }, 0);
40
+ }
41
+
42
+ ngOnDestroy(): void {
43
+ this._destroy$.next(); this._destroy$.complete();
44
+ if (this._scrollListener) { document.querySelector('.zona-scrollable')?.removeEventListener('scroll', this._scrollListener); }
20
45
  }
21
46
  // items expandidos
22
47
  expandedItems: { [key: string]: boolean } = {
@@ -28,10 +53,72 @@ export class SabiasQueComponent implements OnInit {
28
53
  item6: false
29
54
  };
30
55
 
56
+ preguntas = [
57
+ {
58
+ id: 'item1',
59
+ titulo: 'Gestión de módulos',
60
+ subitems: [
61
+ 'Anclar módulos',
62
+ 'Búsqueda de módulos',
63
+ 'Submódulos'
64
+ ]
65
+ },
66
+ {
67
+ id: 'item2',
68
+ titulo: 'Gestión de tarjetas',
69
+ subitems: [
70
+ 'Ordenar tarjetas'
71
+ ]
72
+ },
73
+ {
74
+ id: 'item3',
75
+ titulo: 'Gestión de aplicaciones',
76
+ subitems: [
77
+ 'Envío de sugerencias',
78
+ 'Actividad de la cuenta',
79
+ 'Reordenar el menú de aplicaciones'
80
+ ]
81
+ },
82
+ {
83
+ id: 'item4',
84
+ titulo: 'Gestión del calendario institucional',
85
+ subitems: [
86
+ 'Consulta del calendario institucional'
87
+ ]
88
+ },
89
+ {
90
+ id: 'item5',
91
+ titulo: 'Gestión de procesos en tablas',
92
+ subitems: [
93
+ 'Ocultar columnas',
94
+ 'Descargar información en excel',
95
+ 'Filtrar información'
96
+ ]
97
+ },
98
+ {
99
+ id: 'item6',
100
+ titulo: 'Inicio de sesión',
101
+ subitems: [
102
+ 'Inicio de sesión con google']
103
+ },
104
+ ];
105
+
31
106
  toggleItem(itemId: string) {
32
- this.expandedItems[itemId] = !this.expandedItems[itemId];
33
- }
107
+ const estabaAbierto = this.expandedItems[itemId];
108
+ this.expandedItems[itemId] = !estabaAbierto;
109
+ if (!estabaAbierto) {this.http.post(`${this.datosGlobalesService.ObtenerURL()}misc/registrarVistaDeItemsDeSabiasQue`,{ itemId }).subscribe({error: (error) => console.error(error)});}
110
+ }
111
+ toggleSubItem(subItemId: string) {
112
+ this.expandedSubItems[subItemId] = !this.expandedSubItems[subItemId];
113
+ }
114
+
115
+ obtenerNumeroItem(itemId: string): number {
116
+ return this.preguntas.findIndex(x => x.id === itemId) + 1;
117
+ }
34
118
 
119
+ obtenerNumeroSubItem(itemId: string, indiceSubItem: number): string {
120
+ return `${this.obtenerNumeroItem(itemId)}.${indiceSubItem}`;
121
+ }
35
122
  expandedSubItems: { [key: string]: boolean } = {
36
123
  subitem1_1: false,
37
124
  subitem1_2: false,
@@ -44,8 +131,9 @@ export class SabiasQueComponent implements OnInit {
44
131
  subitem5_2: false,
45
132
  subitem5_3: false,
46
133
  };
47
-
48
- toggleSubItem(subItemId: string) {
49
- this.expandedSubItems[subItemId] = !this.expandedSubItems[subItemId];
134
+ irAlInicio(): void {
135
+ const contenedor = document.querySelector('.zona-scrollable');
136
+ if (contenedor) { contenedor.scrollTo({ top: 0, behavior: 'smooth' }); this.mostrarBotonInicio = false; }
137
+ else { window.scrollTo({ top: 0, behavior: 'smooth' }); }
50
138
  }
51
139
  }