{"version":3,"file":"main.js","mappings":"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","sources":["./src/app/app-routing.module.ts","./src/app/app.component.ts","./src/app/app.component.html","./src/app/app.module.ts","./src/app/auth/auth.service.ts","./src/app/auth/guards/auth.guard.ts","./src/app/auth/request.interceptor.ts","./src/app/auth/reset-password/reset-password.component.ts","./src/app/auth/reset-password/reset-password.component.html","./src/app/core/core-routing.module.ts","./src/app/core/core.component.ts","./src/app/core/core.component.html","./src/app/core/core.module.ts","./src/app/core/header/header.component.ts","./src/app/core/header/header.component.html","./src/app/core/not-found/not-found.component.ts","./src/app/core/not-found/not-found.component.html","./src/app/core/routes.ts","./src/app/core/sidebar/sidebar.component.ts","./src/app/core/sidebar/sidebar.component.html","./src/app/features/admin/parameters-list/manage-parameter-list/manage-parameter-list.component.ts","./src/app/features/admin/parameters-list/manage-parameter-list/manage-parameter-list.component.html","./src/app/features/admin/parameters-list/parameter-list.service.ts","./src/app/features/admin/report-group/manage-report-group/manage-report-group.component.ts","./src/app/features/admin/report-group/manage-report-group/manage-report-group.component.html","./src/app/features/admin/report-group/report-group.service.ts","./src/app/features/admin/report-group/report-list/report-list-headers.ts","./src/app/features/admin/report-group/report-list/report-list.component.ts","./src/app/features/admin/report-group/report-list/report-list.component.html","./src/app/features/data-visualization/boards/board-item/board-item.component.ts","./src/app/features/data-visualization/boards/board-item/board-item.component.html","./src/app/features/data-visualization/boards/boards.service.ts","./src/app/features/data-visualization/reports/models/parametro.ts","./src/app/features/data-visualization/reports/report-data/report-data.component.ts","./src/app/features/data-visualization/reports/report-data/report-data.component.html","./src/app/features/data-visualization/reports/report-item/report-item.component.ts","./src/app/features/data-visualization/reports/report-item/report-item.component.html","./src/app/features/data-visualization/reports/report-parameters/report-parameters.component.ts","./src/app/features/data-visualization/reports/report-parameters/report-parameters.component.html","./src/app/features/data-visualization/reports/reports.service.ts","./src/app/features/tasks/tarea-reporte.ts","./src/app/features/user/edit-profile/change-password/change-password.component.ts","./src/app/features/user/edit-profile/change-password/change-password.component.html","./src/app/features/user/manage-user/manage-user.component.ts","./src/app/features/user/manage-user/manage-user.component.html","./src/app/features/user/report-group-to-user/report-group-to-user.component.ts","./src/app/features/user/report-group-to-user/report-group-to-user.component.html","./src/app/features/user/user.service.ts","./src/app/features/user/user.ts","./src/app/shared/components/card/card.component.ts","./src/app/shared/components/card/card.component.html","./src/app/shared/components/confirmation-modal/confirmation-modal.component.ts","./src/app/shared/components/confirmation-modal/confirmation-modal.component.html","./src/app/shared/components/dinamic-typeahead/dynamic-typeahead.component.ts","./src/app/shared/components/dinamic-typeahead/dynamic-typeahead.component.html","./src/app/shared/components/modal/modal.component.html","./src/app/shared/components/modal/modal.component.ts","./src/app/shared/components/multiple-input/multiple-input.component.ts","./src/app/shared/components/multiple-input/multiple-input.component.html","./src/app/shared/components/paginator/paginator.component.ts","./src/app/shared/components/paginator/paginator.component.html","./src/app/shared/components/password/password.component.ts","./src/app/shared/components/password/password.component.html","./src/app/shared/components/scroll-paginator/scroll-paginator.component.ts","./src/app/shared/components/scroll-paginator/scroll-paginator.component.html","./src/app/shared/components/scrolldown-button/scrolldown-button.component.ts","./src/app/shared/components/scrolldown-button/scrolldown-button.component.html","./src/app/shared/components/table/table.component.ts","./src/app/shared/components/table/table.component.html","./src/app/shared/components/type-input/type-input.component.ts","./src/app/shared/components/type-input/type-input.component.html","./src/app/shared/components/typeahead/typeahead.component.ts","./src/app/shared/components/typeahead/typeahead.component.html","./src/app/shared/services/modal.service.ts","./src/app/shared/services/pageable.service.ts","./src/app/shared/shared.module.ts","./src/app/util/constantes-mensajes.ts","./src/app/util/constantes.ts","./src/app/util/custom-validators.ts","./src/app/util/pageable-functions.ts","./src/app/util/util-functions.ts","./src/environments/environment.ts","./src/main.ts"],"sourcesContent":["import { NgModule } from '@angular/core';\nimport { RouterModule, Routes } from '@angular/router';\nimport { NotFoundComponent } from './core/not-found/not-found.component';\n\nconst routes: Routes = [\n { path: '', loadChildren: () => import('./core/core.module').then(m => m.CoreModule) },\n { path: 'auth', loadChildren: () => import('./auth/auth.module').then(m => m.AuthModule) },\n { path: '404', component: NotFoundComponent },\n { path: '**', redirectTo: '/404' }\n];\n\n@NgModule({\n imports: [RouterModule.forRoot(routes)],\n exports: [RouterModule],\n})\nexport class AppRoutingModule { }\n","import { ModalService } from 'src/app/shared/services/modal.service';\nimport { Component, OnInit } from '@angular/core';\nimport { AuthService } from './auth/auth.service';\nimport { NavigationEnd, Router } from '@angular/router';\n@Component({\n selector: 'app-root',\n templateUrl: './app.component.html'\n})\nexport class AppComponent implements OnInit {\n\n constructor(private router: Router, private authService: AuthService, private modalService: ModalService) { }\n\n ngOnInit() {\n this.authService.autoLogin();\n this.router.events.subscribe(event => {\n if (event instanceof NavigationEnd) {\n this.modalService.dismissAll();\n }\n });\n }\n}\n","","import { registerLocaleData } from '@angular/common';\nimport { HTTP_INTERCEPTORS, HttpClientModule } from '@angular/common/http';\nimport localeEs from '@angular/common/locales/es';\nimport { LOCALE_ID, NgModule } from '@angular/core';\nimport { BrowserModule } from '@angular/platform-browser';\nimport { BrowserAnimationsModule } from '@angular/platform-browser/animations';\nimport { RouterModule } from '@angular/router';\nimport { FontAwesomeModule } from '@fortawesome/angular-fontawesome';\nimport { AppRoutingModule } from './app-routing.module';\nimport { AppComponent } from './app.component';\nimport { CoreModule } from './core/core.module';\nimport { RequestInterceptor } from './auth/request.interceptor';\nregisterLocaleData(localeEs, \"es\");\n@NgModule({\n declarations: [\n AppComponent\n ],\n imports: [\n BrowserModule,\n BrowserAnimationsModule,\n AppRoutingModule,\n CoreModule,\n FontAwesomeModule,\n HttpClientModule,\n RouterModule,\n ],\n providers: [{\n provide: LOCALE_ID, useValue: 'es'\n },\n {\n provide: HTTP_INTERCEPTORS, useClass: RequestInterceptor,\n multi: true\n }],\n bootstrap: [AppComponent]\n})\nexport class AppModule { }\n","import { FIREBASE_MESSAGES, GENERIC_ERROR } from './../util/constantes-mensajes';\nimport { Injectable } from '@angular/core';\nimport { Router } from '@angular/router';\nimport { BehaviorSubject, Observable, catchError, map, tap, throwError } from 'rxjs';\nimport { Roles, User } from '../features/user/user';\nimport { FirebaseAuth, UserLogin, Token } from './user-login';\nimport { environment } from 'src/environments/environment';\nimport { HttpClient, HttpErrorResponse } from '@angular/common/http';\nimport jwt_decode from 'jwt-decode';\nimport { AdminRoutes, Route, Routes, SpecialistRoutes } from '../core/routes';\n\n@Injectable({ providedIn: 'root' })\nexport class AuthService {\n private currentUserSubject: BehaviorSubject;\n public currentUser$: Observable;\n\n constructor(private router: Router, private http: HttpClient) {\n this.currentUserSubject = new BehaviorSubject(null);\n this.currentUser$ = this.currentUserSubject.asObservable();\n }\n\n /**\n * This function gets current user data\n * @returns {User}\n */\n get user(): User | null {\n return this.currentUserSubject.getValue();\n }\n\n /**\n * This function gets user credentials and sets user data in localstorage\n * @param {string} email\n * @param {string} password\n * @returns {Observable}\n */\n login(email: string, password: string): Observable {\n const userLogin: UserLogin = { email, password, returnSecureToken: true }\n const { apiUrl, apiKey } = environment.firebaseConfig;\n return this.http.post(`${apiUrl}/accounts:signInWithPassword?key=${apiKey}`, userLogin)\n .pipe(\n catchError((error) => this.handleError(error, this.isLoggedIn())),\n tap((result) => {\n this.handleAuthentication(result);\n }))\n }\n\n /**\n * This function refreshes token \n * @returns {Observable}\n */\n refreshToken(): Observable {\n const refreshToken = { refresh_token: this.user?.refreshToken, grant_type: \"refresh_token\" }\n const { apiUrl, apiKey } = environment.firebaseConfig;\n return this.http.post(`${apiUrl}/token?key=${apiKey}`, refreshToken)\n .pipe(catchError((error) => {\n this.logout();\n return throwError(() => error);\n }),\n map(result => { return { idToken: result.id_token, expiresIn: result.expires_in, refreshToken: result.refresh_token } }),\n tap((result) => {\n this.handleAuthentication(result);\n }));\n }\n\n /**\n * This function sends an email to reset password\n * @param {string} email \n * @returns {Observable}\n */\n sendEmailResetPassword(email: string): Observable {\n const resetPassword = { email, requestType: \"PASSWORD_RESET\" }\n const { apiUrl, apiKey } = environment.firebaseConfig;\n return this.http.post(`${apiUrl}/accounts:sendOobCode?key=${apiKey}`, resetPassword)\n .pipe(catchError((error) => this.handleError(error)));\n }\n\n /**\n * This function sends an email to reset password\n * @param {string} oobCode\n * @param {string} newPassword\n * @returns {Observable}\n */\n resetPassword(oobCode: string, newPassword: string): Observable {\n const resetPassword = { oobCode, newPassword }\n const { apiUrl, apiKey } = environment.firebaseConfig;\n return this.http.post(`${apiUrl}/accounts:resetPassword?key=${apiKey}`, resetPassword)\n .pipe(catchError((error) => this.handleError(error)));\n }\n\n /**\n * This function sends an email to change password\n * @param {string} password\n * @returns {Observable}\n */\n changePassword(password: string): Observable {\n const request = { idToken: this.user?.token, password, email: this.user?.email, returnSecureToken: true }\n const { apiUrl, apiKey } = environment.firebaseConfig;\n return this.http.post(`${apiUrl}/accounts:update?key=${apiKey}`, request)\n .pipe(catchError((error) => this.handleError(error)),\n tap((result) => {\n this.handleAuthentication(result);\n }));\n }\n\n /**\n * Decodes the JWT token\n * @param {string} token\n * @returns {Token}\n */\n private decodeToken(token: string): Token {\n return jwt_decode(token)\n }\n\n /**\n * This function sets the session user to save in the localStorage\n * @param {FirebaseAuth} login\n * @returns {none}\n */\n private handleAuthentication(login: FirebaseAuth): void {\n const decodedToken: Token = this.decodeToken(login.idToken);\n const user: User = {\n nombre: decodedToken.name,\n apellido: decodedToken.lastName,\n email: decodedToken.email,\n activo: true,\n token: login.idToken,\n refreshToken: login.refreshToken,\n uuid: decodedToken.user_id\n }\n localStorage.setItem('analiticaNovaUser', JSON.stringify(user));\n user.rol = decodedToken.role;\n this.currentUserSubject.next(user);\n }\n\n /**\n * Gets the user routes by role\n * @returns {Route[]}\n */\n getUserRoutes(): Route[] {\n let routes;\n switch (this.user?.rol) {\n case Roles.admin:\n routes = AdminRoutes;\n break;\n case Roles.specialist:\n routes = SpecialistRoutes;\n break;\n default:\n routes = Routes;\n break;\n }\n return routes;\n }\n\n /**\n * This function handles error messages from firebase\n * @param {HttpErrorResponse} errorRes\n * @param {boolean} isLoggedIn\n * @returns {Observable}\n */\n private handleError(errorRes: HttpErrorResponse, isLoggedIn: boolean = false): Observable {\n let errorMessage = GENERIC_ERROR;\n\n switch (errorRes.error.error.message) {\n case 'EMAIL_NOT_FOUND':\n errorMessage = FIREBASE_MESSAGES.ERROR_EMAIL;\n break;\n case 'INVALID_EMAIL':\n errorMessage = FIREBASE_MESSAGES.ERROR_INVALID_EMAIL;\n break;\n case 'INVALID_PASSWORD':\n errorMessage = isLoggedIn ? FIREBASE_MESSAGES.ERROR_PASSWORD : FIREBASE_MESSAGES.ERROR_EMAIL_AND_PASSWORD;\n break;\n case 'USER_DISABLED':\n errorMessage = FIREBASE_MESSAGES.ERROR_USER_DISABLED;\n break;\n case 'INVALID_OOB_CODE':\n errorMessage = FIREBASE_MESSAGES.ERROR_INVALID_OOB_CODE;\n break;\n case 'EXPIRED_OOB_CODE':\n errorMessage = FIREBASE_MESSAGES.ERROR_EXPIRED_OOB_CODE;\n break;\n case 'INVALID_REFRESH_TOKEN':\n errorMessage = FIREBASE_MESSAGES.ERROR_INVALID_REFRESH_TOKEN;\n break;\n }\n return throwError(() => errorMessage);\n }\n\n /**\n * Validates if the user data exists in localStorage to allow auto login\n */\n autoLogin() {\n const user: User = JSON.parse(localStorage.getItem('analiticaNovaUser') as string);\n if (user) {\n const decodedToken: Token = this.decodeToken(user.token!);\n user.rol = decodedToken.role;\n this.currentUserSubject.next(user);\n }\n }\n\n /**\n * Validates if a user is logged in the application\n * @returns {boolean}\n */\n isLoggedIn(): boolean {\n const userData = this.currentUserSubject.getValue();\n return !!userData;\n }\n\n /**\n * Removes user data and redirects to login page\n */\n logout(): void {\n this.currentUserSubject.next(null);\n localStorage.removeItem('analiticaNovaUser');\n this.router.navigate(['auth']);\n }\n}","import { inject } from '@angular/core';\nimport { ActivatedRouteSnapshot, CanActivateChildFn, CanActivateFn, Router, RouterStateSnapshot } from '@angular/router';\nimport { AuthService } from '../auth.service';\n\n/**\n * Allows access if token exists\n */\nexport const AuthGuard: CanActivateFn = (route: ActivatedRouteSnapshot, state: RouterStateSnapshot) => {\n const router = inject(Router);\n const authService = inject(AuthService);\n if (authService.isLoggedIn()) {\n return true;\n } else {\n router.navigate(['/auth']);\n return false;\n }\n}\n\nexport const canActivateChild: CanActivateChildFn = (route: ActivatedRouteSnapshot, state: RouterStateSnapshot) => AuthGuard(route, state); ","import { HttpErrorResponse, HttpEvent, HttpHandler, HttpInterceptor, HttpRequest } from \"@angular/common/http\";\nimport { Injectable } from \"@angular/core\";\nimport { Observable, catchError, switchMap, throwError } from \"rxjs\";\nimport { environment } from \"src/environments/environment\";\nimport { AuthService } from \"./auth.service\";\nimport { GENERIC_ERROR } from \"../util/constantes-mensajes\";\n@Injectable()\nexport class RequestInterceptor implements HttpInterceptor {\n constructor(private authService: AuthService) { }\n intercept(req: HttpRequest, next: HttpHandler): Observable> {\n const user = this.authService.user;\n if (user && !req.url.includes(environment.firebaseConfig.apiUrl)) {\n req = req.clone({ headers: req.headers.set('Authorization', 'Bearer ' + user.token) });\n return next.handle(req).pipe(catchError(err => this.handleRefreshToken(err, req, next)));\n }\n return next.handle(req);\n }\n\n private handleError(err: HttpErrorResponse): Observable {\n const error = {\n error: { message: GENERIC_ERROR }\n }\n return throwError(() => err?.error.message ? err : error);\n }\n\n private handleRefreshToken(err: HttpErrorResponse, req: HttpRequest, next: HttpHandler) {\n if (err.error.statusCode === 401) {\n return this.authService.refreshToken().pipe(\n switchMap((data) => {\n const newReq = req.clone({ headers: req.headers.set('Authorization', 'Bearer ' + data.idToken) });\n return next.handle(newReq);\n }));\n }\n else {\n return this.handleError(err);\n }\n }\n}\n","import { NgbActiveModal } from '@ng-bootstrap/ng-bootstrap';\nimport { FormControl, FormGroup, Validators } from '@angular/forms';\nimport { Component, OnInit } from '@angular/core';\nimport { ModalConfig } from 'src/app/shared/components/modal/modal-config';\nimport { HelperFunctions } from 'src/app/util/util-functions';\nimport { AuthService } from '../auth.service';\nimport { delay, finalize } from 'rxjs';\nimport { RESET_PASSWORD } from 'src/app/util/constantes-mensajes';\n\n@Component({\n selector: 'app-reset-password',\n templateUrl: './reset-password.component.html',\n styleUrls: ['./reset-password.component.scss']\n})\nexport class ResetPasswordComponent implements OnInit {\n\n emailForm: FormGroup;\n // Variable to set modal information\n public modalConfig: ModalConfig;\n // Variable to show/hide spinner\n isLoading: boolean = false;\n\n constructor(private authService: AuthService, private ngbActiveModal: NgbActiveModal) { }\n ngOnInit(): void {\n this.emailForm = new FormGroup({\n email: new FormControl(null, [Validators.required, Validators.email])\n })\n\n this.modalConfig = {\n modalTitle: \"Restablecer contraseña\",\n ...this.modalConfig,\n };\n }\n\n /**\n * A function that checks if the control is invalid\n * @param {string} name\n * @returns {boolean}\n */\n hasErrors(): boolean {\n return HelperFunctions.controlIsInvalid(this.emailForm.get(\"email\") as FormControl);\n }\n\n\n /**\n* A function that submit the parameter list\n* @returns {none}\n*/\n onSubmit(): void {\n if (this.emailForm.valid) {\n this.isLoading = true;\n this.authService.sendEmailResetPassword(this.emailForm.get('email')?.value).pipe(\n delay(500),\n finalize(() => this.isLoading = false))\n .subscribe({\n next: () => this.ngbActiveModal.close({ message: RESET_PASSWORD, confirmTitle: \"Aceptar\" }),\n error: (error) => this.ngbActiveModal.close({ message: error, confirmTitle: \"Cerrar\", isError: true })\n });\n } else {\n this.emailForm.markAllAsTouched();\n }\n }\n}\n","\n
\n
\n
\n Por favor ingresa tu correo para restablecer tu contraseña\n
\n
\n \n \n
\n \n
\n
\n \n \n
","import { NgModule } from '@angular/core';\nimport { RouterModule, Routes } from '@angular/router';\nimport { AuthGuard } from 'src/app/auth/guards/auth.guard';\nimport { CoreComponent } from './core.component';\n\nconst routes: Routes = [\n { path: '', redirectTo: 'home', pathMatch: 'full' },\n {\n path: '', component: CoreComponent, children: [\n { path: 'home', loadChildren: () => import('../features/home/home.module').then(m => m.HomeModule) },\n { path: 'data-visualization', loadChildren: () => import('../features/data-visualization/data-visualization.module').then(m => m.DataVisualizationModule) },\n { path: 'user', loadChildren: () => import('../features/user/user.module').then(m => m.UserModule) },\n { path: 'favorites', loadChildren: () => import('../features/favorites/favorites.module').then(m => m.FavoritesModule) },\n { path: 'tasks', loadChildren: () => import('../features/tasks/tasks.module').then(m => m.TasksModule) },\n { path: 'admin', loadChildren: () => import('../features/admin/admin.module').then(m => m.AdminModule) },\n { path: 'help', loadChildren: () => import('../features/help/help.module').then(m => m.HelpModule) },\n ], canActivate: [AuthGuard]\n },\n];\n\n@NgModule({\n imports: [RouterModule.forChild(routes)],\n exports: [RouterModule],\n})\nexport class CoreRoutingModule { }","import { Location } from '@angular/common';\nimport { Component } from '@angular/core';\nimport { NavigationEnd, Router } from '@angular/router';\nimport { filter } from 'rxjs';\nimport { DefaultRoutes, Route } from './routes';\nimport { AuthService } from '../auth/auth.service';\n\n@Component({\n selector: 'app-core',\n templateUrl: './core.component.html',\n styleUrls: ['./core.component.scss']\n})\nexport class CoreComponent {\n routes: Route[];\n title: string = 'Bienvenid@';\n isSideNavCollapsed: boolean = false;\n screenWidth: number = 0;\n isMobile: boolean = false;\n\n constructor(private router: Router, private location: Location, private authService: AuthService) {\n this.routes = this.authService.getUserRoutes();\n }\n\n ngOnInit() {\n this.setHeaderTitle();\n this.router.events\n .pipe(filter(event => event instanceof NavigationEnd))\n .subscribe(_ => {\n this.setHeaderTitle();\n });\n }\n\n /**\n * Sets the title of the page based on the current path. \n * @returns None \n */\n setHeaderTitle(): void {\n let pathName = this.getPathName(this.routes, this.location.path());\n this.title = pathName ? pathName : this.title;\n }\n\n\n /**\n * Gets the path name of the page based on the routes, there are specific routes for that reason we are using the DefaultRoutes enum \n * @param {Route[]} routes - Available routes \n * @param {string} path - Path to compare \n * @returns {string} \n */\n getPathName(routes: Route[], path: string): string | undefined {\n let pathName = routes.find((route) => route.path === path)?.name;\n if (path.includes(DefaultRoutes.home)) {\n pathName = `Bienvenid@, ${this.authService.user?.nombre}`;\n return pathName;\n }\n if (!pathName) {\n let mainPath = DefaultRoutes.dataVisualization;\n if (path.includes(mainPath)) {\n let subroute = routes.find((route) => route.path === mainPath)?.subroutes?.find((subroute) => path.includes(mainPath + subroute.path));\n pathName = subroute?.name;\n } else {\n pathName = routes.find((route) => path.includes(route.path))?.name;\n }\n }\n return pathName;\n }\n\n /**\n * A function that is called when the side nav is toggled. \n * @param {any} data - the data passed in from the event \n * @returns None \n */\n onToggleSideNav(data: any): void {\n this.screenWidth = data.screenWidth;\n this.isMobile = data.isMobile;\n this.isSideNavCollapsed = data.isCollapsed;\n }\n\n /**\n * Returns the class name for the body element. \n * @returns {string} The class name for the body element. \n */\n getBodyClass(): string {\n let styleClass = '';\n if (this.isSideNavCollapsed) {\n styleClass = 'collapsed';\n } else {\n styleClass = 'not-collapsed'\n }\n return styleClass;\n }\n}\n","\n
\n \n
\n
\n \n
","import { CoreRoutingModule } from './core-routing.module';\nimport { FontAwesomeModule } from '@fortawesome/angular-fontawesome';\nimport { NgModule } from '@angular/core';\nimport { SharedModule } from './../shared/shared.module';\nimport { HeaderComponent } from './header/header.component';\nimport { SidebarComponent } from './sidebar/sidebar.component';\nimport { CoreComponent } from './core.component';\nimport { NotFoundComponent } from './not-found/not-found.component';\n\n@NgModule({\n declarations: [HeaderComponent, SidebarComponent, CoreComponent, NotFoundComponent],\n imports: [SharedModule, FontAwesomeModule, CoreRoutingModule]\n})\nexport class CoreModule { }\n","import { AuthService } from '../../auth/auth.service';\nimport { faCaretDown } from '@fortawesome/free-solid-svg-icons';\nimport { Component, Input } from '@angular/core';\nimport { ModalService } from 'src/app/shared/services/modal.service';\nimport { CLOSE_SESSION } from 'src/app/util/constantes-mensajes';\n\n@Component({\n selector: 'app-header',\n templateUrl: './header.component.html',\n styleUrls: ['./header.component.scss']\n})\nexport class HeaderComponent {\n faCaretDown = faCaretDown;\n @Input() title: string = \"\";\n @Input() isMobile: boolean = false;\n disabledLink = null;\n\n constructor(private authService: AuthService, private modalService: ModalService) { }\n\n logout() {\n this.modalService.getConfirmacionModal({ message: CLOSE_SESSION, confirmTitle: \"Aceptar\" })\n .result.then((result) => {\n if (result)\n this.authService.logout();\n })\n }\n}\n","","import { Component } from '@angular/core';\n\n@Component({\n selector: 'app-not-found',\n templateUrl: './not-found.component.html',\n styleUrls: ['./not-found.component.scss']\n})\nexport class NotFoundComponent {\n\n}\n","
\n

\n ¡La página que estás buscando no fue encontrada!\n

\n Volver al inicio\n
","export interface Route {\n name: string;\n path: string;\n icon?: string;\n subroutes?: Route[]\n}\nexport enum DefaultRoutes {\n home = \"/home\",\n dataVisualization = \"/data-visualization\",\n user = \"/user\",\n favorites = \"/favorites\",\n tasks = \"/tasks\",\n admin = \"/admin\",\n help = \"/help\"\n}\n\nexport enum FeatureRoutes {\n reports = \"/reports\",\n boards = \"/boards\",\n}\n\nexport const Routes: Route[] = [\n {\n name: 'Inicio',\n path: DefaultRoutes.home,\n icon: 'assets/icons/home.svg'\n },\n {\n name: 'Tipos de información',\n path: DefaultRoutes.dataVisualization,\n icon: 'assets/icons/analytics.svg',\n subroutes: [\n {\n name: 'Reportes',\n path: FeatureRoutes.reports,\n },\n {\n name: 'Tableros',\n path: FeatureRoutes.boards,\n },\n ]\n },\n {\n name: 'Favoritos',\n path: DefaultRoutes.favorites,\n icon: 'assets/icons/star.svg',\n subroutes: [\n {\n name: 'Reportes',\n path: FeatureRoutes.reports,\n },\n {\n name: 'Tableros',\n path: FeatureRoutes.boards,\n },\n ]\n },\n {\n name: 'Tareas',\n path: DefaultRoutes.tasks,\n icon: 'assets/icons/list-check.svg'\n },\n];\n\nexport const AdminRoutes: Route[] = [\n ...Routes,\n {\n name: 'Usuarios',\n path: `${DefaultRoutes.user}/registered`,\n icon: 'assets/icons/user.svg'\n },\n {\n name: 'Configuración',\n path: DefaultRoutes.admin,\n icon: 'assets/icons/settings.svg',\n subroutes: [\n {\n name: 'Parámetros lista',\n path: '/parameters',\n },\n {\n name: 'Grupos de reportes',\n path: '/report-groups',\n }\n ]\n },\n]\n\nexport const SpecialistRoutes: Route[] = [\n ...Routes,\n {\n name: 'Usuarios',\n path: `${DefaultRoutes.user}/registered`,\n icon: 'assets/icons/user.svg',\n },\n {\n name: 'Configuración',\n path: DefaultRoutes.admin,\n icon: 'assets/icons/settings.svg',\n subroutes: [\n {\n name: 'Parametros lista',\n path: '/parameters',\n },\n {\n name: 'Grupos de reportes',\n path: '/report-groups',\n }\n ]\n },\n]","import { animate, style, transition, trigger } from '@angular/animations';\nimport { Component, Output, EventEmitter, OnInit, HostListener, ElementRef, Input, Renderer2 } from '@angular/core';\nimport { Route } from '../routes';\nimport { faCaretDown } from '@fortawesome/free-solid-svg-icons';\n\ninterface SideNavToggle {\n screenWidth: number;\n isCollapsed: boolean;\n isMobile: boolean;\n}\n@Component({\n selector: 'app-sidebar',\n templateUrl: './sidebar.component.html',\n styleUrls: ['./sidebar.component.scss'],\n animations: [\n trigger('fadeInOut', [\n transition(':enter', [\n style({ opacity: 0 }),\n animate('150ms',\n style({ opacity: 1 })\n )\n ]),\n transition(':leave', [\n style({ opacity: 1 }),\n animate('150ms',\n style({ opacity: 0 })\n )\n ])\n ]),\n ]\n})\nexport class SidebarComponent implements OnInit {\n @Output() onToggleSideNav: EventEmitter = new EventEmitter();\n @Input() routes: Route[] = [];\n screenWidth: number = 0;\n isCollapsed: boolean = true;\n isMobile: boolean = false;\n faCaretDown = faCaretDown;\n\n constructor(private elementRef: ElementRef, private renderer: Renderer2) {\n }\n\n ngOnInit(): void {\n this.screenWidth = window.innerWidth;\n this.setCollapsed();\n }\n\n /**\n * A function that listens for window resizes and sets the collapsed property accordingly. \n * @returns None \n */\n @HostListener('window:resize', ['$event'])\n onResize() {\n if (this.screenWidth != window.innerWidth) {\n this.screenWidth = window.innerWidth;\n this.setCollapsed();\n }\n }\n\n /**\n * Toggles the collapsed state of the side nav. \n * @returns None \n */\n public toggleCollapsed(): void {\n this.isCollapsed = !this.isCollapsed;\n this.resetCollapse();\n this.onToggleSideNav.emit({ isCollapsed: this.isCollapsed, screenWidth: this.screenWidth, isMobile: this.isMobile });\n }\n\n /**\n * Close the side nav. \n * @returns None \n */\n public closeCollapsed(): void {\n this.isCollapsed = false;\n this.onToggleSideNav.emit({ isCollapsed: this.isCollapsed, screenWidth: this.screenWidth, isMobile: this.isMobile });\n }\n\n /**\n * Sets the isCollapsed property to true if the screen width is less than 768 pixels. \n * @returns None \n */\n public setCollapsed(): void {\n if (this.screenWidth <= 768) {\n this.isCollapsed = true;\n this.isMobile = true;\n this.resetCollapse();\n } else {\n this.isCollapsed = false;\n this.isMobile = false;\n }\n this.onToggleSideNav.emit({ isCollapsed: this.isCollapsed, screenWidth: this.screenWidth, isMobile: this.isMobile });\n }\n\n /**\n * Resets the collapse state of the element.\n * If the element is currently collapsed, it will add the 'collapsed' class from the 'expanded' element\n * and remove the 'show' class from the 'collapse' element.\n * @returns None\n */\n public resetCollapse() {\n let expandedList = this.elementRef.nativeElement.querySelector(\".sidebar-nav\");\n if (this.isCollapsed && expandedList) {\n for (let child of expandedList.children) {\n let collapse = child.querySelector(\".collapse\");\n let expanded = child.querySelector(\".expanded\");\n if (collapse) {\n this.renderer.removeClass(collapse, 'show');\n }\n if (expanded) {\n this.renderer.addClass(expanded, 'collapsed');\n }\n }\n }\n }\n\n /**\n * Removes all spaces from the given string.\n * @param {string} name - The string to remove spaces from.\n * @returns The input string with all spaces removed.\n */\n getTrimmedName(name: string): string {\n return name.replace(/\\s/g, '')\n }\n}\n","
\n
\n \"Menu\"\n \n \"Novaventa\"\n \"Novaventa\"\n \n
\n \n
","import { Component, Input, OnDestroy, OnInit } from '@angular/core';\nimport { FormArray, FormControl, FormGroup, Validators } from '@angular/forms';\nimport { ModalConfig } from 'src/app/shared/components/modal/modal-config';\nimport { ParametroLista, TipoParametro } from '../../../data-visualization/reports/models/parametro';\nimport { TIPO_PARAMETRO_LIST } from 'src/app/util/constantes';\nimport { faCircleXmark } from '@fortawesome/free-solid-svg-icons';\nimport { Observable, delay, finalize, take, takeWhile, tap } from 'rxjs';\nimport { v4 as uuidv4 } from 'uuid';\nimport { NgbActiveModal } from '@ng-bootstrap/ng-bootstrap';\nimport { HelperFunctions } from 'src/app/util/util-functions';\nimport { CustomValidators } from 'src/app/util/custom-validators';\nimport { CustomInput } from 'src/app/shared/components/type-input/custom-input';\nimport { PARAMETERS_LIST_MESSAGES } from 'src/app/util/constantes-mensajes';\nimport { ParameterListService } from '../parameter-list.service';\n\n@Component({\n selector: 'app-manage-parameter-list',\n templateUrl: './manage-parameter-list.component.html',\n styleUrls: ['./manage-parameter-list.component.scss']\n})\nexport class ManageParameterListComponent implements OnInit, OnDestroy {\n // Parameter list to edit\n @Input() parameterList: ParametroLista;\n // Parameter list form group\n parameterListForm: FormGroup;\n // Variable to set modal information\n public modalConfig: ModalConfig;\n // Types of parameters\n parameterType: typeof TipoParametro = TipoParametro;\n // Constant parameter types\n types = TIPO_PARAMETRO_LIST;\n // Source list to be displayed in select\n sources$: Observable;\n // Icons\n faCircleXmark = faCircleXmark;\n // Variable to unsubscribe pending subscriptions\n isAlive: boolean = true;\n // Variable to show/hide spinner\n isLoading: boolean = false;\n\n constructor(private parameterListService: ParameterListService, private ngbActiveModal: NgbActiveModal) { }\n\n ngOnInit(): void {\n this.modalConfig = {\n modalTitle: this.parameterList ? \"Editar parametro lista\" : \"Crear parametro Lista\",\n ...this.modalConfig,\n };\n this.prepareData();\n this.initForm();\n this.updateTypeStatus();\n this.updateSourceStatus();\n }\n\n /**\n * Gets the auxiliar data to show in select lists\n * @returns {none}\n */\n prepareData(): void {\n this.sources$ = this.parameterListService.getParameterSources().pipe(take(1));\n }\n\n /**\n * A function that inits the parameterForm group\n * @returns {none}\n */\n initForm(): void {\n const isSourceType: FormControl = new FormControl(this.parameterList?.origen ? true : false);\n const hasType = this.parameterList?.tipoParametro;\n const values = this.parameterList?.valores || [];\n const source = this.parameterList?.origen;\n this.addSource(source)\n this.parameterListForm = new FormGroup({\n uuid: new FormControl(this.parameterList?.uuid || uuidv4()),\n name: new FormControl(this.parameterList?.nombre || null, [Validators.required, Validators.maxLength(255)]),\n type: new FormControl({ value: hasType || TipoParametro.string, disabled: !!hasType }, Validators.required),\n isSourceType,\n source: new FormControl(source, CustomValidators.otherControlsRequired([\n { referenceControl: isSourceType, comparableValue: true }\n ])),\n options: new FormArray(values.map((option: string) => new FormControl(option)), CustomValidators.otherControlsRequired([\n { referenceControl: isSourceType, comparableValue: false }\n ]))\n });\n }\n\n /**\n* A function that adds a source to the list\n* @returns {none}\n*/\n addSource(source?: string) {\n if (source) {\n this.sources$ = this.sources$.pipe(tap(sources => {\n sources.push(source);\n }));\n }\n }\n\n /**\n * A function that updates the options values and validators\n * @returns {none}\n */\n updateTypeStatus(): void {\n this.getControl(\"type\")!.valueChanges\n .pipe(takeWhile(() => this.isAlive)).subscribe(() => {\n if (this.hasOptions()) {\n HelperFunctions.resetFormArray(this.options);\n }\n });\n }\n\n /**\n * A function that updates the options values and validators\n * @returns {none}\n */\n updateSourceStatus(): void {\n this.getControl(\"isSourceType\")?.valueChanges\n .pipe(takeWhile(() => this.isAlive)).subscribe(() => {\n this.getControl(\"options\")?.updateValueAndValidity();\n this.getControl(\"source\")?.updateValueAndValidity();\n });\n }\n\n /**\n * A function that create a customInput for options\n * @returns {CustomInput}\n */\n getOptionInput(): CustomInput {\n const type: string = this.getControl('type')?.value;\n const customInput: CustomInput = {\n id: type,\n type,\n label: \"Valores\",\n isRow: true,\n required: true,\n style: \"width:100%;\"\n }\n return customInput;\n }\n\n /**\n * A function that gets the control of parameterListGroup\n * @param {string} name\n * @returns {FormControl}\n */\n getControl(name: string): FormControl {\n return this.parameterListForm.get(name) as FormControl;\n }\n\n /**\n * A function that gets the formarray of parameterlist\n * @returns {FormArray}\n */\n get options(): FormArray {\n return this.parameterListForm.get('options') as FormArray;\n }\n\n /**\n * A function that checks if the control has values\n * @returns {boolean}\n */\n hasOptions(): boolean {\n const options = this.options?.value;\n return options.length > 0;\n }\n\n /**\n * A function that checks if the control is invalid\n * @param {string} name\n * @returns {boolean}\n */\n hasErrors(name: string): boolean {\n const control = this.parameterListForm.get(name) as FormControl;\n return HelperFunctions.controlIsInvalid(control);\n }\n\n /**\n * A function that save the parameter list info\n * @param {ParametroLista} parameterList\n * @returns {none}\n */\n saveParameterList(parameterList: ParametroLista): void {\n this.isLoading = true;\n const subscription = this.parameterList ?\n this.parameterListService.updateParameterList(parameterList) :\n this.parameterListService.createParameterList(parameterList);\n subscription\n .pipe(\n delay(500),\n finalize(() => this.isLoading = false))\n .subscribe({\n next: (response: ParametroLista) => {\n this.ngbActiveModal.close({ message: PARAMETERS_LIST_MESSAGES.CREATE.PARAMETER_LIST, data: response, confirmTitle: \"Aceptar\" });\n },\n error: (error) => {\n this.ngbActiveModal.close({ message: error.error.message, confirmTitle: \"Cerrar\", isError: true });\n }\n })\n }\n\n /**\n * A function that submit the parameter list\n * @returns {none}\n */\n onSubmit(): void {\n if (this.parameterListForm.valid) {\n const param = this.parameterListForm.getRawValue();\n const parameterList: ParametroLista = {\n uuid: param.uuid,\n nombre: param.name,\n tipoParametro: param.type,\n origen: param.isSourceType ? param.source : null,\n valores: !param.isSourceType ? param.options : null\n }\n this.saveParameterList(parameterList);\n } else {\n this.parameterListForm.markAllAsTouched();\n }\n }\n\n ngOnDestroy(): void {\n this.isAlive = false;\n }\n}\n","\n
\n
\n
\n \n \n
\n
\n \n \n
\n
\n \n
\n \n
\n
\n
\n \n \n
\n \n \n
\n \n \n
\n
","import { Injectable } from '@angular/core';\nimport { BehaviorSubject, Observable } from 'rxjs';\nimport { ParametroLista } from '../../data-visualization/reports/models/parametro';\nimport { environment } from 'src/environments/environment';\nimport { PageableService } from 'src/app/shared/services/pageable.service';\nimport { Paginator } from 'src/app/shared/models/paginator';\nimport { TableHeader } from 'src/app/shared/models/table';\nimport { HttpClient } from '@angular/common/http';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class ParameterListService {\n\n constructor(private http: HttpClient, private pageableService: PageableService) { }\n /**\n * Gets the list of parameters by page\n * It can get some params in order to filter or sort the data\n * @param {number} page\n * @param {string} header\n * @param {string} filter\n * @param {string} order\n * @returns {Observable}\n */\n getParametersList(page: number, pageQuantity: number, header?: string, filter?: string, order?: string): Observable> {\n return this.pageableService.getData(`${environment.urlBase}/parametro-lista/`, page, pageQuantity, header, filter, order);\n }\n\n /**\n * Gets all the list of parameters by user sending filters\n * @param {BehaviorSubject} search$\n * @param {number} page\n * @returns {Observable>}\n */\n getParamListByFilters(search$: BehaviorSubject, page: number, pageQuantity: number): Observable> {\n return this.pageableService.searchData(search$, page, pageQuantity, `${environment.urlBase}/parametro-lista/`);\n }\n\n /**\n * Gets all parameter list sources\n * @returns { Observable}\n */\n getParameterSources(): Observable {\n return this.http.get(`${environment.urlBase}/parametro-lista/bigquery/origenes`)\n }\n\n /** \n * Creates a parameter list\n * @param {ParametroLista} param\n * @returns {Observable}\n */\n createParameterList(param: ParametroLista): Observable {\n return this.http.post(`${environment.urlBase}/parametro-lista/`, param);\n }\n\n /** \n * Updates a parameter list\n * @param {ParametroLista} param\n * @returns {Observable}\n */\n updateParameterList(param: ParametroLista): Observable {\n return this.http.put(`${environment.urlBase}/parametro-lista/`, param);\n }\n\n}","import { Component, Input, OnDestroy, OnInit } from '@angular/core';\nimport { FormControl, FormGroup, Validators } from '@angular/forms';\nimport { faCircleXmark } from '@fortawesome/free-solid-svg-icons';\nimport { NgbActiveModal } from '@ng-bootstrap/ng-bootstrap';\nimport { BehaviorSubject, delay, finalize } from 'rxjs';\nimport { ModalConfig } from 'src/app/shared/components/modal/modal-config';\nimport { TableHeader } from 'src/app/shared/models/table';\nimport { REPORT_GROUP_MESSAGES } from 'src/app/util/constantes-mensajes';\nimport { HelperFunctions } from 'src/app/util/util-functions';\nimport { v4 as uuidv4 } from 'uuid';\nimport { ReportGroup } from '../report-group';\nimport { ReportGroupService } from '../report-group.service';\n@Component({\n selector: 'app-manage-report-group',\n templateUrl: './manage-report-group.component.html',\n styleUrls: ['./manage-report-group.component.scss']\n})\nexport class ManageReportGroupComponent implements OnInit, OnDestroy {\n // This property gets the report group to edit\n @Input() reportGroup: ReportGroup;\n // Report group information form\n reportGroupForm: FormGroup;\n // Variable to save filter values\n search$ = new BehaviorSubject(undefined);\n // Variable to set modal information\n public modalConfig: ModalConfig;\n // Variable to show/hide spinner\n isLoading: boolean = false;\n // Variable to unsubscribe pending subscriptions\n isAlive: boolean = true;\n // Contains error icon\n faCircleXmark = faCircleXmark;\n\n constructor(\n private reportGroupService: ReportGroupService,\n private ngbActiveModal: NgbActiveModal,\n ) { }\n\n ngOnInit(): void {\n this.modalConfig = {\n modalTitle: this.reportGroup ? \"Editar grupo de reportes\" : \"Crear grupo de reportes\",\n ...this.modalConfig,\n };\n this.initForm();\n }\n\n /**\n * A function that inits the report group form\n * @returns None\n */\n initForm(): void {\n this.reportGroupForm = new FormGroup({\n uuid: new FormControl(this.reportGroup?.uuid || uuidv4()),\n name: new FormControl(this.reportGroup?.nombre || null, [Validators.required, Validators.maxLength(255)]),\n description: new FormControl(this.reportGroup?.descripcion || null, [Validators.required, Validators.maxLength(255)]),\n });\n }\n\n /**\n * This function checks if the form control is invalid\n * @param {string} name\n * @returns {boolean}\n */\n hasErrors(name: string): boolean {\n const control = this.reportGroupForm.get(name) as FormControl;\n return HelperFunctions.controlIsInvalid(control);\n }\n\n /**\n * A function to submit the report group object\n * @returns None\n */\n onSubmit() {\n if (this.reportGroupForm.valid) {\n const groupData = this.reportGroupForm.getRawValue();\n const reportGroup: ReportGroup = {\n uuid: groupData.uuid,\n nombre: groupData.name,\n descripcion: groupData.description\n };\n this.saveReportGroup(reportGroup);\n } else {\n this.reportGroupForm.markAllAsTouched();\n }\n }\n\n /**\n * This function creates or updates a report group\n * @param {ReportGroup} reportGroup\n */\n saveReportGroup(reportGroup: ReportGroup) {\n this.isLoading = true;\n const subscription = this.reportGroup ? this.reportGroupService.updateReportGroup(reportGroup) : this.reportGroupService.createReportGroup(reportGroup);\n subscription.pipe(\n delay(500),\n finalize(() => this.isLoading = false))\n .subscribe({\n next: () => {\n this.ngbActiveModal.close({ message: REPORT_GROUP_MESSAGES.CREATE.REPORT_GROUP, confirmTitle: \"Aceptar\", isError: false });\n },\n error: (error) => {\n this.ngbActiveModal.close({ message: error.error.message, confirmTitle: \"Cerrar\", isError: true });\n }\n });\n }\n\n ngOnDestroy(): void {\n this.isAlive = false;\n }\n}","\n
\n
\n
\n \n \n
\n
\n \n \n
\n \n
\n \n
\n
","import { HttpClient } from '@angular/common/http';\nimport { Injectable } from '@angular/core';\nimport { BehaviorSubject, Observable } from 'rxjs';\nimport { Paginator } from 'src/app/shared/models/paginator';\nimport { TableHeader } from 'src/app/shared/models/table';\nimport { PageableService } from 'src/app/shared/services/pageable.service';\nimport { environment } from 'src/environments/environment';\nimport { GrupoReporte } from '../../data-visualization/reports/models/reporte';\nimport { User } from '../../user/user';\nimport { ReportGroup } from './report-group';\n@Injectable({\n providedIn: 'root'\n})\nexport class ReportGroupService {\n public reportGroupsUrl: string = `${environment.urlBase}/grupo-reporte/`;\n public reportGroupUsersUrl: string = `${environment.urlBase}/usuario-grupo-reporte/`;\n\n constructor(private http: HttpClient, private pageableService: PageableService) { }\n /**\n * This function gets the list of report groups by page\n * It can get some params in order to filter or sort the data\n * @param {number} page\n * @param {number} pageQuantity\n * @param {string} header\n * @param {string} filter\n * @param {string} order\n * @returns {Observable>}\n */\n getReportGroups(page: number, pageQuantity: number, header?: string, filter?: string, order?: string): Observable> {\n return this.pageableService.getData(this.reportGroupsUrl, page, pageQuantity, header, filter, order);\n }\n\n /**\n * Gets all the list of report groups sending filters\n * @param {BehaviorSubject} search$\n * @param {number} page\n * @returns {Observable>}\n */\n getReportGroupListByFilters(search$: BehaviorSubject, page: number, pageQuantity: number): Observable> {\n return this.pageableService.searchData(search$, page, pageQuantity, this.reportGroupsUrl);\n }\n\n /**\n * This function creates a report group\n * @param {ReportGroup} reportGroup\n * @returns {Observable}\n */\n createReportGroup(reportGroup: ReportGroup): Observable {\n return this.http.post(this.reportGroupsUrl, reportGroup);\n }\n\n /**\n * This function updates a report group\n * @param {ReportGroup} reportGroup\n * @returns {Observable}\n */\n updateReportGroup(reportGroup: ReportGroup): Observable {\n return this.http.put(this.reportGroupsUrl, reportGroup);\n }\n\n /**\n * Get all the report group users by page\n * It can get some params in order to filter or sort the data\n * @param {number} page\n * @param {number} pageQuantity\n * @param {string} header\n * @param {string} filter\n * @param {string} order\n * @returns {Observable>}\n */\n getUsers(page: number, pageQuantity: number, header?: string, filter?: string, order?: string): Observable> {\n return this.pageableService.getData(this.reportGroupUsersUrl, page, pageQuantity, header, filter, order);\n }\n\n /**\n * Gets the list of users associated with a report group, sending filters\n * @param {BehaviorSubject} search$\n * @param {number} page\n * @param {number} pageQuantity\n * @param {string} reportGroupId\n * @returns {Observable>}\n */\n getUsersByFilters(search$: BehaviorSubject, page: number, pageQuantity: number, reportGroupId: string): Observable> {\n return this.pageableService.searchData(search$, page, pageQuantity,`${this.reportGroupUsersUrl}${reportGroupId}`);\n }\n\n /**\n * Returns the endpoint to get users not associated to a report group\n * @param {string} reportGroupId\n * @returns {string}\n */\n usersNotAssociatedUrl(reportGroupId: string): string {\n return `${this.reportGroupUsersUrl}no-asociados/${reportGroupId}`;\n }\n\n /**\n * A function to associate the user to a report group\n * @param {reportGroupId} reportGroupId\n * @param {string} userUuid\n * @returns {Observable<{}>}\n */\n addUserToReportGroup(reportGroupId: string, userUuid: string): Observable<{}> {\n return this.http.put(`${this.reportGroupUsersUrl}${reportGroupId}/agregar/${userUuid}`, null);\n }\n\n /**\n * This function removes the user from the current report group\n * @param {string} reportGroupId\n * @param {string} userUuid\n * @returns {Observable<{}>}\n */\n deleteUserFromReportGroup(reportGroupId: string, userUuid: string): Observable<{}> {\n return this.http.delete(`${this.reportGroupUsersUrl}${reportGroupId}/eliminar/${userUuid}`);\n }\n\n /**\n * Gets selected report group\n * @param {string} reportGroupId\n * @returns {Observable}\n */\n getReportGroup(reportGroupId: string): Observable {\n return this.http.get(`${this.reportGroupsUrl}${reportGroupId}`);\n }\n\n /**\n * Add all report groups to the current user\n * @param {string} userUuid\n * @returns {Observable}\n */\n addAllReportGroupsToUser(userUuid: string): Observable {\n return this.http.put(`${this.reportGroupsUrl}asignar-todo/usuario/${userUuid}`, null); \n }\n\n}","import { TableHeader } from \"src/app/shared/models/table\";\n\nexport const REPORT_LIST_HEADERS: TableHeader[] = [\n {\n name: \"Nombre\",\n key: \"nombre\",\n sort: \"\",\n hasFilters: true\n },\n {\n name: \"Tipo\",\n key: \"tipoReporte\",\n sort: \"\",\n hasFilters: true\n },\n {\n name: \"Descripción\",\n key: \"descripcion\",\n sort: \"\",\n hasFilters: true\n },\n {\n name: \"Origen\",\n key: \"origen\",\n sort: \"\",\n hasFilters: true\n },\n]","import { faFilter } from '@fortawesome/free-solid-svg-icons';\nimport { NgbActiveModal } from '@ng-bootstrap/ng-bootstrap';\nimport { Component, Input, OnInit } from '@angular/core';\nimport { BehaviorSubject, delay, finalize, take, takeWhile } from 'rxjs';\nimport { GrupoReporte, Reporte } from 'src/app/features/data-visualization/reports/models/reporte';\nimport { ReportsService } from 'src/app/features/data-visualization/reports/reports.service';\nimport { ModalConfig } from 'src/app/shared/components/modal/modal-config';\nimport { PageableData } from 'src/app/shared/models/paginator';\nimport { TableHeader } from 'src/app/shared/models/table';\nimport { PageableFunctions } from 'src/app/util/pageable-functions';\nimport { REPORT_MESSAGES } from 'src/app/util/constantes-mensajes';\nimport { REPORT_LIST_HEADERS } from './report-list-headers';\n\n@Component({\n selector: 'app-report-list',\n templateUrl: './report-list.component.html',\n styleUrls: ['./report-list.component.scss']\n})\nexport class ReportListComponent implements OnInit {\n\n @Input() reportGroup: GrupoReporte;\n reports: Reporte[] = [];\n public modalConfig: ModalConfig;\n search$ = new BehaviorSubject(undefined);\n pageable: PageableData;\n headers = REPORT_LIST_HEADERS;\n isLoading: boolean = false;\n isAlive: boolean = true;\n enableFilters: boolean = false;\n faFilter = faFilter;\n constructor(private reportService: ReportsService, private ngbActiveModal: NgbActiveModal) {\n this.pageable = {\n content: [],\n currentPage: 0,\n totalPages: 1,\n itemsQuantity: 0,\n totalElements: 0\n }\n }\n\n ngOnInit(): void {\n this.modalConfig = {\n modalTitle: `Lista de reportes - ${this.reportGroup.nombre}`,\n ...this.modalConfig,\n };\n this.isLoading = true;\n this.reportService.getReportsByFilters(this.reportGroup.uuid, this.search$, 0, 10)\n .pipe(takeWhile(() => this.isAlive),)\n .subscribe({\n next: response => {\n this.isLoading = false;\n this.pageable = PageableFunctions.getPageableData(response);\n this.reports = this.pageable.content;\n }\n });\n }\n\n /**\n* This function toggles enableFilters property to show or hide filters\n* @returns None\n*/\n toggleFilters(): void {\n this.enableFilters = !this.enableFilters;\n if (!this.enableFilters) {\n this.search$.next(undefined);\n }\n }\n\n /**\n * Takes the page number and sends a request to get the corresponding data\n * @param {number} page\n */\n changePage(page: number): void {\n this.isLoading = true;\n const header = this.search$.value;\n this.reportService.getReportsByReportGroup(this.reportGroup.uuid, page - 1, 10, header?.key, header?.value, header?.sort)\n .pipe(\n take(1),\n delay(500),\n finalize(() => this.isLoading = false))\n .subscribe({\n next: response => {\n this.pageable = PageableFunctions.getPageableData(response);\n this.reports = this.pageable.content;\n },\n error: () => {\n this.ngbActiveModal.close({ message: REPORT_MESSAGES.GET.ERROR_REPORTS, confirmTitle: \"Cerrar\", isError: true });\n }\n });\n }\n\n}\n","\n
\n
\n \n
\n
\n
\n \n \n {{ report.nombre }}\n {{ report.tipoReporte }}\n \n {{report.descripcion}}\n \n {{ report.origen }}\n \n \n
\n ¡No se encontraron datos!\n
\n
\n 0\" [actualPage]=\"pageable.currentPage\"\n [quantity]=\"pageable.itemsQuantity\" [maxQuantity]=\"pageable.totalElements\" [maxSize]=\"7\"\n (changePageEvent)=\"changePage($event)\">\n \n
\n
\n
\n \n \n
\n\n
","import { Component, EventEmitter, Input, Output } from '@angular/core';\nimport { Router } from '@angular/router';\nimport { DefaultRoutes, FeatureRoutes } from 'src/app/core/routes';\nimport { ModalService } from 'src/app/shared/services/modal.service';\nimport { BOARD_MESSAGES } from 'src/app/util/constantes-mensajes';\nimport { Reporte } from '../../reports/models/reporte';\nimport { BoardsService } from '../boards.service';\nimport { faEllipsis } from '@fortawesome/free-solid-svg-icons';\nimport { AuthService } from 'src/app/auth/auth.service';\nimport { Roles } from 'src/app/features/user/user';\nimport { delay, finalize } from 'rxjs';\n@Component({\n selector: 'app-board-item',\n templateUrl: './board-item.component.html',\n styleUrls: ['./board-item.component.scss']\n})\nexport class BoardItemComponent {\n // Board that user select\n @Input() board: Reporte;\n // This property emits an event when user removes a favorite board\n @Output() removeFavorite = new EventEmitter();\n // Property to verify user role\n canInactivate: boolean = false;\n // Enables or disables loading spinner\n isLoading: boolean = false;\n // Ellipsis icon\n faEllipsis = faEllipsis;\n\n constructor(\n private boardsService: BoardsService,\n private modalService: ModalService,\n private router: Router,\n private authService: AuthService) {\n const { rol } = this.authService.user!;\n this.canInactivate = rol === Roles.admin;\n }\n /**\n * Validates the favorite property on the selected board and emits an event\n * @param {boolean} value\n */\n onFavorite(value: boolean): void {\n this.boardsService.setFavorite(this.board.uuid).subscribe({\n next: () => {\n this.board.favorito = value;\n if (!this.board.favorito) {\n this.removeFavorite.emit();\n }\n },\n error: () => this.modalService.getConfirmacionModal({ message: BOARD_MESSAGES.UPDATE.ERROR_FAVORITE, confirmTitle: \"Cerrar\", isError: true }),\n });\n }\n\n /**\n * This function redirects to board detail page\n * @returns None\n */\n loadEmbeddedBoard() {\n this.router.navigateByUrl(`${DefaultRoutes.dataVisualization}${FeatureRoutes.boards}/${this.board.uuid}`);\n }\n\n /**\n * Deletes current board by uuid\n * @param {Reporte} board\n */\n deleteBoard(board: Reporte) {\n this.modalService.getConfirmacionModal({ message: BOARD_MESSAGES.DELETE.QUESTION, closeTitle: \"Cancelar\", confirmTitle: \"Aceptar\" }).result.then((response: boolean) => {\n if (response) {\n this.boardsService.disableBoard(board.uuid)\n .pipe(\n delay(500),\n finalize(() => this.isLoading = false))\n .subscribe({\n next: () => {\n this.modalService.getConfirmacionModal({ message: BOARD_MESSAGES.DELETE.BOARD, confirmTitle: \"Aceptar\" });\n },\n error: (error) => {\n this.modalService.getConfirmacionModal({ message: error.error.message, confirmTitle: \"Cerrar\", isError: true });\n }\n });\n }\n });\n }\n\n}","\n

{{ board.descripcion }}

\n
\n \n \n
    \n
  • \n
\n
\n
","import { HttpClient } from \"@angular/common/http\";\nimport { Injectable } from \"@angular/core\";\nimport { Observable } from \"rxjs\";\nimport { Paginator } from \"src/app/shared/models/paginator\";\nimport { environment } from \"src/environments/environment\";\nimport { Reporte } from \"../reports/models/reporte\";\nimport { BoardSource, ConfigResponse } from \"./config-response\";\n\n@Injectable({\n providedIn: 'root'\n})\nexport class BoardsService {\n\n constructor(private http: HttpClient) { }\n /**\n * Gets the reports by area\n * @param {string} areaId\n * @param {number} page\n * @param {string} reportType\n * @returns {Observable>}\n */\n getBoardsByArea(areaId: string, reportType: string, page: number = 0): Observable> {\n return this.http.get>(`${environment.urlBase}/report/area/${areaId}?pagina=${page}&tipoReporte=${reportType}`);\n }\n\n /**\n * Returns the object with the information of a specific board\n * @param {string} boardId\n * @returns {Observable}\n */\n getBoard(boardId: string): Observable {\n return this.http.get(`${environment.urlBase}/report/${boardId}`);\n }\n\n /**\n * This method returns the embed configuration for a specific board\n * @param {BoardSource} boardSource\n * @returns {Observable}\n */\n getBoardEmbedConfig(boardSource: BoardSource): Observable {\n return this.http.post(`${environment.urlBase}/report/getembedinfo`, boardSource);\n }\n\n /**\n * Creates a new board\n * @param {Reporte} board\n * @returns {Observable}\n */\n createBoard(board: Reporte): Observable {\n return this.http.post(`${environment.urlBase}/report/`, board);\n }\n\n /**\n * This method disables a specific board\n * @param {string} boardId\n * @returns {Observable}\n */\n disableBoard(boardId: string): Observable {\n return this.http.put(`${environment.urlBase}/report/${boardId}`, null);\n }\n\n /**\n * Updates the favorite property of the board\n * @param {string} boardId\n * @returns {Observable}\n */\n setFavorite(boardId: string): Observable {\n return this.http.put(`${environment.urlBase}/favorite/report/${boardId}`, null);\n }\n}\n","export interface ParametroReporte {\n parametro: Parametro;\n alias: string;\n descripcion: string;\n valorXDefecto?: string;\n valor?: string[];\n orden: number;\n requerido: boolean;\n multipleValor?: boolean;\n parametroLista?: ParametroLista;\n}\nexport interface Parametro {\n uuid: string;\n nombre: string;\n tipoParametro: TipoParametro;\n}\n\nexport interface ParametroLista {\n uuid: string;\n nombre: string;\n origen?: string;\n valores?: string[];\n tipoParametro: TipoParametro;\n}\n\nexport enum TipoParametro {\n string = \"STRING\",\n number = \"INT64\",\n date = \"DATE\",\n boolean = \"BOOL\"\n}","import { Component, Input, OnInit } from '@angular/core';\nimport { faFilter } from '@fortawesome/free-solid-svg-icons';\nimport { finalize, take } from 'rxjs';\nimport { TareaReporte } from 'src/app/features/tasks/tarea-reporte';\nimport { ModalConfig } from 'src/app/shared/components/modal/modal-config';\nimport { ReporteData } from '../models/reporte-data';\nimport { ReportsService } from './../reports.service';\nimport { DynamicTable, TableHeader } from 'src/app/shared/models/table';\n\n@Component({\n selector: 'app-report-data',\n templateUrl: './report-data.component.html',\n styleUrls: ['./report-data.component.scss']\n})\nexport class ReportDataComponent implements OnInit {\n\n @Input() reportTask: TareaReporte;\n public modalConfig!: ModalConfig;\n // It contains the filter icon\n faFilter = faFilter;\n // Contains report data to fill the table\n reportData: ReporteData;\n // Report data filtered\n filteredData: any[];\n // Contains records of report data\n tableData: DynamicTable;\n // Contains the quantity of report data records\n maxQuantity: number = 100;\n // Contains the quantity of records that are being showed\n quantity: number = 0;\n // Contains the minimun quatity of records to be showed per page\n minQuantity: number = 10;\n // Contains the actualPage of the table\n actualPage: number = 1;\n // Contains the quaintity of table pages\n pages: number[] = [];\n // Enable or disable table filters\n enableFilters: boolean = false;\n // This property handles the loader state\n isLoading: boolean = false;\n\n constructor(private reportsService: ReportsService) {\n this.tableData = { headers: [], data: [] }\n }\n\n ngOnInit() {\n this.modalConfig = {\n modalTitle: this.reportTask.nombre,\n ...this.modalConfig\n }\n this.initReportData();\n }\n\n /**\n * A function that initializes report data\n * @returns None\n */\n initReportData(): void {\n this.isLoading = true;\n this.reportsService.getReportTaskData(this.reportTask.uuid)\n .pipe(\n take(1),\n finalize(() => this.isLoading = false)).subscribe(response => {\n if (response && response.data.length > 0) {\n this.reportData = response;\n this.filteredData = response.data;\n this.tableData.headers = this.reportData.headers.map((x, i) => ({ key: x, name: x, index: i, sort: \"\", hasFilters: true } as TableHeader));\n this.setTableData();\n this.setPages(this.reportData.data.length);\n const limit = Math.ceil(this.reportData.data.length / this.minQuantity);\n this.pages = Array.from({ length: limit }, (_, index) => index + 1);\n this.maxQuantity = this.reportData.data.length;\n }\n });\n }\n\n /**\n * A function that sets the table data\n * @returns None\n */\n setTableData(): void {\n this.tableData.data = this.filteredData.slice(0, this.minQuantity);\n this.quantity = this.tableData.data.length;\n }\n\n /**\n * A function that changes the page to show the records available in the page\n * @param {number} page - event\n * @returns None\n */\n changePage(page: number): void {\n let pageQuantity = this.minQuantity * page;\n this.tableData.data = this.filteredData.slice(pageQuantity - this.minQuantity, pageQuantity);\n this.actualPage = page;\n this.quantity = pageQuantity - this.minQuantity + this.tableData.data.length;\n }\n\n /**\n * A function that orders the table data by column\n * @param {TableHeader} header\n * @returns None\n */\n orderData(header: TableHeader): void {\n if (header.sort !== \"\") {\n this.filteredData.sort((a, b) => {\n if (header.sort === \"asc\") {\n return a[header.key] > b[header.key] ? 1 : -1\n } else {\n return a[header.key] < b[header.key] ? 1 : -1\n }\n });\n }\n this.setTableData();\n this.changePage(1);\n }\n\n /**\n * A function that sets the quantity of pages in table data\n * @param {number} length\n * @returns None\n */\n setPages(length: number): void {\n const limit = Math.ceil(length / this.minQuantity);\n this.pages = Array.from({ length: limit }, (_, index) => index + 1);\n }\n\n /**\n * A function that filters the table data by column\n * @param {TableHeader} header\n * @returns None\n */\n filterByColumn(header: TableHeader): void {\n if (header.value && header.value.trim().length > 0) {\n this.filteredData = this.reportData.data.filter((data) => data[header.key]?.toString().toLowerCase().includes(header.value?.toLowerCase()));\n } else {\n this.filteredData = this.reportData.data;\n }\n this.setPages(this.filteredData.length);\n this.setTableData();\n this.changePage(1);\n this.maxQuantity = this.filteredData.length;\n }\n\n /**\n * A function that toggles enableFilters property to show or hide filters\n * @returns None\n */\n toggleFilters(): void {\n this.enableFilters = !this.enableFilters;\n if (!this.enableFilters) {\n this.filteredData = this.reportData.data;\n this.setPages(this.filteredData.length);\n this.setTableData();\n this.changePage(1);\n this.maxQuantity = this.filteredData.length;\n }\n }\n}","\n
\n
0\">\n \n
\n
\n 0\">\n
\n \n \n \n {{row[header.key]}}\n \n \n \n
\n 0\" [quantity]=\"quantity\"\n [maxQuantity]=\"maxQuantity\" [maxSize]=\"7\" (changePageEvent)=\"changePage($event)\">\n \n
\n
\n ¡No se encontraron datos de la tarea en ejecución {{ reportTask.nombre}}!\n
\n
\n
\n
\n \n \n
\n
","import { Component, EventEmitter, Input, Output } from '@angular/core';\nimport { AuthService } from 'src/app/auth/auth.service';\nimport { ModalConfig } from 'src/app/shared/components/modal/modal-config';\nimport { ModalService } from 'src/app/shared/services/modal.service';\nimport { Reporte } from '../models/reporte';\nimport { ReportsService } from '../reports.service';\nimport { delay, take, finalize, concatMap, Observable, catchError, from, throwError } from 'rxjs';\nimport { TareaReporte } from 'src/app/features/tasks/tarea-reporte';\nimport { v4 as uuidv4 } from 'uuid';\nimport { REPORT_MESSAGES } from 'src/app/util/constantes-mensajes';\nimport { faEllipsis } from '@fortawesome/free-solid-svg-icons';\nimport { Router } from '@angular/router';\nimport { DefaultRoutes, FeatureRoutes } from 'src/app/core/routes';\nimport { Roles } from 'src/app/features/user/user';\n@Component({\n selector: 'app-report-item',\n templateUrl: './report-item.component.html',\n styleUrls: ['./report-item.component.scss'],\n})\nexport class ReportItemComponent {\n // Report data that user select\n @Input() report: Reporte;\n // Property to emit an event when user removes a favorite report\n @Output() removeFavorite = new EventEmitter();\n //Config to set modal properties\n public modalConfig: ModalConfig;\n //Variable to show loader\n isLoading: boolean = false;\n hasPermission: boolean = false;\n faEllipsis = faEllipsis;\n\n constructor(private reportService: ReportsService, private modalService: ModalService, private authService: AuthService, private router: Router) {\n const { rol } = this.authService.user!;\n this.hasPermission = rol === Roles.admin || rol === Roles.specialist;\n }\n\n /**\n * A function that open the modal component or generate the report task\n * @returns {void}\n */\n loadData(): void {\n this.isLoading = true;\n this.reportService\n .getReportParameters(this.report.uuid)\n .pipe(\n take(1),\n delay(500),\n finalize(() => (this.isLoading = false)),\n concatMap((parameters) => {\n this.report.parametros = parameters;\n return parameters.length > 0 ? this.openModal() : this.generateTask();\n })\n )\n .subscribe({\n next: (response) => {\n if (response) {\n const message = response.message || REPORT_MESSAGES.GENERATE.REPORT;\n const confirmTitle = response.confirmTitle || \"Aceptar\"\n this.modalService.getConfirmacionModal({ message, confirmTitle, isError: response.isError }).result.then(() => {\n this.router.navigateByUrl(DefaultRoutes.tasks)\n })\n }\n },\n error: (error) => this.modalService.getConfirmacionModal({ message: error.error.message, confirmTitle: \"Cerrar\", isError: true }),\n });\n }\n\n get hasOpenModals(): boolean {\n return this.modalService.hasOpenModals();\n }\n\n /**\n * Validates the favorite property in the selected report and emits an event\n * @param {boolean} value\n */\n onFavorite(value: boolean): void {\n this.reportService.setFavorite(this.report.uuid).subscribe({\n next: () => {\n this.report.favorito = value;\n if (!this.report.favorito) {\n this.removeFavorite.emit();\n }\n },\n error: () => this.modalService.getConfirmacionModal({ message: REPORT_MESSAGES.UPDATE.ERROR_FAVORITE, confirmTitle: \"Cerrar\", isError: true }),\n });\n }\n\n /**\n * A function that open the report parameters modal\n * @returns {Observable}\n */\n openModal(): Observable {\n const modal = this.modalService.getReportParametersModal(this.report).result.then();\n return from(modal).pipe(delay(500));\n }\n\n /**\n * A function that creates the task report\n * @returns {Observable}\n */\n generateTask(): Observable {\n const tareaReporte: TareaReporte = {\n uuid: uuidv4(),\n reporte: this.report.uuid,\n usuario: this.authService.user!.uuid,\n parametros: []\n };\n return this.reportService.generateReportTask(tareaReporte).pipe(\n catchError((error) => throwError(() => error))\n );\n }\n\n editReport() {\n this.router.navigateByUrl(`${DefaultRoutes.dataVisualization}${FeatureRoutes.reports}/edit-report/${this.report.uuid}`);\n }\n}","\n
\n {{ report.auditoria?.fechaCreacion | date: \"shortDate\" }}\n | \n {{ report.auditoria?.nombreUsuarioModificacion }}\n
\n

{{report.descripcion}}

\n
\n \n \n
    \n
  • \n
\n
\n
\n\n\n","import { Component, Input, OnInit } from '@angular/core';\nimport { AbstractControl, FormArray, FormControl, FormGroup, Validators } from '@angular/forms';\nimport { faAngleDown, faCircleXmark } from '@fortawesome/free-solid-svg-icons';\nimport { NgbActiveModal, NgbDate } from '@ng-bootstrap/ng-bootstrap';\nimport { delay, finalize } from 'rxjs';\nimport { AuthService } from 'src/app/auth/auth.service';\nimport { ParametroTarea, TareaReporte } from 'src/app/features/tasks/tarea-reporte';\nimport { ModalConfig } from 'src/app/shared/components/modal/modal-config';\nimport { v4 as uuidv4 } from 'uuid';\nimport { ParametroReporte, TipoParametro } from '../models/parametro';\nimport { Reporte } from '../models/reporte';\nimport { ReportsService } from '../reports.service';\nimport { CustomInput } from 'src/app/shared/components/type-input/custom-input';\nimport { REPORT_MESSAGES } from 'src/app/util/constantes-mensajes';\nimport { HelperFunctions } from 'src/app/util/util-functions';\n\n@Component({\n selector: 'app-report-parameters',\n templateUrl: './report-parameters.component.html',\n styleUrls: ['./report-parameters.component.scss']\n})\nexport class ReportParametersComponent implements OnInit {\n //Report data that user selected\n @Input() report: Reporte;\n //Config to set modal properties\n public modalConfig: ModalConfig;\n //Form group of report Data to save parameters data\n public reportForm: FormGroup;\n //Parameter types to set control inputs\n parameterType: typeof TipoParametro = TipoParametro;\n //Variable to show loader\n isLoading: boolean = false;\n //Font awesome icon faCircleXmark\n faCircleXmark = faCircleXmark;\n //Font awesome icon faAngleDown\n faAngleDown = faAngleDown;\n\n constructor(private reportService: ReportsService, private ngbActiveModal: NgbActiveModal, private authService: AuthService) { }\n\n\n ngOnInit() {\n this.modalConfig = {\n modalTitle: this.report.nombre,\n ...this.modalConfig,\n };\n this.reportForm = new FormGroup({\n id: new FormControl(this.report.uuid),\n parameters: new FormArray([]),\n });\n this.sortReports();\n this.initParametersForm();\n }\n /**\n * A function that sorts reports by order property\n * @returns None\n */\n sortReports(): void {\n this.report.parametros?.sort((a, b) => {\n return a.orden - b.orden;\n });\n }\n\n /**\n * A function that sets the initial data of the parameters form array\n * @returns {void}\n */\n initParametersForm(): void {\n this.report.parametros?.forEach((param) => {\n if (param?.parametro) {\n const paramList = param.parametroLista;\n const isMultiple = param.multipleValor;\n let defaultValue;\n if (paramList?.valores?.find(v => v === param.valorXDefecto) || !paramList) {\n defaultValue = param.valorXDefecto;\n }\n this.parameters.push(\n new FormGroup({\n id: new FormControl(param.parametro.uuid),\n type: new FormControl(param.parametro.tipoParametro),\n name: new FormControl(param.parametro.nombre),\n isMultiple: new FormControl(param.multipleValor),\n hasList: new FormControl(!!param.parametroLista),\n value: this.initParamValue(param, isMultiple, defaultValue),\n })\n );\n }\n });\n }\n\n /**\n * A function that sets the initial parameter value\n * @returns {FormControl | FormArray}\n */\n initParamValue(param: ParametroReporte, isMultiple?: boolean, defaultValue?: string): FormControl | FormArray {\n let value;\n if (isMultiple) {\n value = new FormArray(this.setDefaultValueMultiple(defaultValue), this.setValidator(param));\n } else {\n switch (param.parametro.tipoParametro) {\n case TipoParametro.date:\n value = new FormControl(this.setDefaultValueDate(defaultValue), this.setValidator(param));\n break;\n case TipoParametro.boolean:\n value = new FormControl(this.setDefaultValueBoolean(defaultValue), this.setValidator(param));\n break;\n default:\n const defaultSystemUser = this.validateSystemUser(param.parametro.nombre) ? this.authService.user!.email : defaultValue;\n value = new FormControl(this.setDefaultValue(defaultSystemUser), this.setValidator(param));\n break;\n }\n }\n return value\n }\n\n /**\n* Validates if the parameter is SYSTEM_USER\n* @param {string} paramName\n* @returns {boolean}\n*/\n validateSystemUser(paramName: string): boolean {\n return HelperFunctions.validateSystemUser(paramName);\n }\n\n /**\n * A function that set the validator if the parameter is required\n * @param {ParametroReporte} parameter\n * @returns {Validators | null}\n */\n setValidator(parameter: ParametroReporte): Validators | null {\n return parameter.requerido ? Validators.required : null;\n }\n\n /**\n * A function that set the default value\n * @param {string[]} defaultValue\n * @returns {string | null}\n */\n setDefaultValue(defaultValue?: string): string | null {\n return defaultValue ? defaultValue : null;\n }\n\n setDefaultValueMultiple(defaultValue?: string): FormControl[] {\n return defaultValue ? [new FormControl(defaultValue)] : [];\n }\n\n /**\n * A function that set the default value for a date\n * @param {string[]} defaultValue\n * @returns {NgbDate | null}\n */\n setDefaultValueDate(defaultValue?: string): NgbDate | null {\n return HelperFunctions.getNgDate(defaultValue);\n }\n\n /**\n * A function that set the default value for a boolean\n * @param {string[]} defaultValue\n * @returns {boolean | null}\n */\n setDefaultValueBoolean(defaultValue?: string): boolean | null {\n let value: boolean = false;\n if (defaultValue && defaultValue.toLocaleLowerCase() === \"true\") {\n value = true;\n }\n return value;\n }\n\n /**\n * Get method to obtaiin the parameters form array\n * @returns {FormArray}\n */\n get parameters(): FormArray {\n return this.reportForm.get('parameters') as FormArray;\n }\n\n /**\n * A function that gets the parameters values\n * @param {AbstractControl} parameter\n * @returns {FormArray}\n */\n getParametersValues(parameter: AbstractControl): FormArray {\n return parameter.get('value') as FormArray;\n }\n\n /**\n * A function that get the parameter info by id\n * @param {number} id\n * @returns {Parameter}\n */\n getParamInfo(id: number): ParametroReporte | undefined {\n let parameter = this.parameters.controls[id];\n return this.report.parametros?.find((param) => parameter.get('id')?.value === param.parametro.uuid);\n }\n\n /**\n * A function that gets the parameter value\n * @param {AbstractControl} parameter\n * @returns {FormControl}\n */\n getParameterValue(parameter: AbstractControl): FormControl {\n return parameter.get('value') as FormControl;\n }\n\n /**\n * A function that create TareaReporte object to send to the backend\n * @returns {TareaReporte}\n */\n setReportTask(): TareaReporte {\n const parameters: ParametroTarea[] = this.parameters\n .getRawValue()\n .map((param) => {\n const parametro: ParametroTarea = {\n parametro: param.id,\n multipleValor: param.isMultiple\n };\n\n if (param.value !== null) {\n const value = param.type === TipoParametro.date && !param.hasList ?\n HelperFunctions.getStringOfNgbDate(param.value) :\n param.value.toString();\n\n if (value.trim().length > 0) {\n parametro.valor = value;\n }\n }\n return parametro;\n });\n\n const tareaReporte: TareaReporte = {\n uuid: uuidv4(),\n reporte: this.report.uuid,\n usuario: this.authService.user!.uuid,\n parametros: parameters\n };\n return tareaReporte;\n }\n\n /**\n * A function that create a customInput\n * @returns {CustomInput}\n */\n getCustomInput(index: number) {\n const parametro = this.getParamInfo(index);\n const customInput: CustomInput = {\n id: parametro!.parametro.uuid,\n type: parametro!.parametro.tipoParametro,\n required: parametro!.requerido,\n label: parametro!.alias,\n isList: !!parametro!.parametroLista,\n options: parametro!.parametroLista?.valores,\n style: \"width:100%;\",\n }\n return customInput;\n }\n\n /**\n * A function that set the array of parameters to send the request\n * @returns None\n */\n onSubmit(): void {\n if (this.reportForm.valid) {\n this.isLoading = true;\n this.reportService\n .generateReportTask(this.setReportTask())\n .pipe(\n delay(500),\n finalize(() => (this.isLoading = false)))\n .subscribe({\n next: () => this.ngbActiveModal.close({ message: REPORT_MESSAGES.GENERATE.REPORT, confirmTitle: \"Aceptar\" }),\n error: (error) => this.ngbActiveModal.close({ message: error.error.message, confirmTitle: \"Cerrar\", isError: true }),\n });\n } else {\n this.reportForm.markAllAsTouched();\n }\n }\n}\n","\n 0\">\n
\n
\n \n \n \n \n \n \n
\n
\n
\n \n \n \n
","import { HttpClient } from '@angular/common/http';\nimport { Injectable } from '@angular/core';\nimport { BehaviorSubject, Observable, tap } from 'rxjs';\nimport { Paginator } from 'src/app/shared/models/paginator';\nimport { TableHeader } from 'src/app/shared/models/table';\nimport { environment } from 'src/environments/environment';\nimport { TareaReporte } from '../../tasks/tarea-reporte';\nimport { PageableService } from './../../../shared/services/pageable.service';\nimport { Area } from './models/area';\nimport { ParametroLista, ParametroReporte } from './models/parametro';\nimport { Reporte } from './models/reporte';\nimport { ReporteData } from './models/reporte-data';\n@Injectable({\n providedIn: 'root'\n})\nexport class ReportsService {\n\n constructor(private http: HttpClient, private pageableService: PageableService) { }\n /**\n * Gets the reports by area\n * @param {string} areaId\n * @param {number} page\n * @returns {Observable}\n */\n getReportsByArea(areaId: string, page: number = 0): Observable> {\n return this.http.get>(`${environment.urlBase}/report/area/${areaId}?pagina=${page}`);\n }\n\n /** \n * Gets the parameters by report\n * @param {string} reportId\n * @returns {Observable}\n */\n getReportParameters(reportId: string): Observable {\n return this.http.get(`${environment.urlBase}/param-report/${reportId}`);\n }\n\n /** \n * Creates the report task\n * @param {TareaReporte} reportTask\n * @returns {Observable}\n */\n generateReportTask(reportTask: TareaReporte): Observable {\n return this.http.post(`${environment.urlBase}/report-task/`, reportTask);\n }\n\n /** \n * Gets the task report data\n * @param {string} taskId\n * @returns {Observable}\n */\n getReportTaskData(taskId: string): Observable {\n return this.http.get(`${environment.urlBase}/report-task/result/${taskId}`);\n }\n\n /**\n * Updates the favorite property of the report\n * @param {string} reportId\n * @returns {Observable}\n */\n setFavorite(reportId: string): Observable {\n return this.http.put(`${environment.urlBase}/favorite/report/${reportId}`, null);\n }\n\n /** \n * Gets the list of query report procedures\n * @returns {Observable}\n */\n getQueryReports(): Observable {\n return this.http.get(`${environment.urlBase}/report/bigquery/store-procedures`);\n }\n\n /** \n * Creates a report\n * @param {Reporte} report\n * @returns {Observable}\n */\n createReport(report: Reporte): Observable {\n return this.http.post(`${environment.urlBase}/report/`, report);\n }\n\n /** \n * Updates a report\n * @param {Reporte} report\n * @returns {Observable}\n */\n updateReport(report: Reporte): Observable {\n return this.http.put(`${environment.urlBase}/report/`, report);\n }\n\n /** \n * Gets the list of queryParameters\n * @param {string} query\n * @returns {Observable}\n */\n getQueryParameters(query: string): Observable {\n return this.http.get(`${environment.urlBase}/report/bigquery/parametros/${query}`);\n }\n\n /** \n * Gets the list of Parameters\n * @returns {Observable}\n */\n getParametersList(): Observable {\n return this.http.get(`${environment.urlBase}/parametro-lista/all`);\n }\n\n /** \n * Gets the report information by uuid\n * @param {string} reportId\n * @returns {Observable}\n */\n getReport(reportId: string): Observable {\n return this.http.get(`${environment.urlBase}/report/${reportId}`);\n }\n\n /**\n * Gets the repots by report group\n * @param {string} reportGroup\n * @param {number} page\n * @param {number} pageQuantity\n * @param {string} header\n * @param {string} filter\n * @param {string} order\n * @returns {Observable>}\n */\n getReportsByReportGroup(reportGroup: string, page: number, pageQuantity: number, header?: string, filter?: string, order?: string): Observable> {\n return this.pageableService.getData(`${environment.urlBase}/report/grupo-reporte/${reportGroup}`, page, pageQuantity, header, filter, order);\n }\n\n /**\n * Gets the repots by report group\n * @param {string} reportGroup\n * @param {BehaviorSubject} search$\n * @param {number} page\n * @param {number} pageQuantity\n * @returns {Observable>}\n */\n getReportsByFilters(reportGroup: string, search$: BehaviorSubject, page: number, pageQuantity: number): Observable> {\n return this.pageableService.searchData(search$, page, pageQuantity, `${environment.urlBase}/report/grupo-reporte/${reportGroup}`);\n }\n \n}","export interface TareaReporte {\n uuid: string;\n reporte: string;\n nombre?: string;\n tipo?: string;\n parametros: ParametroTarea[];\n tipoReporte?: TipoReporte;\n fechaEjecucion?: Date;\n usuario: string;\n estado?: string;\n resultado?: string;\n}\n\nexport interface ParametroTarea {\n parametro: string;\n multipleValor: boolean;\n nombre?: string;\n alias?: string;\n valor?: string;\n}\n\nexport enum TipoReporte {\n REPORTE = \"REPORTE\",\n MAPA = \"MAPA\",\n TABLERO = \"TABLERO\",\n BANCO_CONOCIMIENTO = \"BANCO_CONOCIMIENTO\",\n}\n\nexport enum EstadosTareaReporte {\n PEND = \"PEND\",\n ENEJ = \"ENEJ\",\n FINA = \"FINA\",\n CANC = \"CANC\",\n FAIL = \"FAIL\"\n}","import { Component, OnInit } from '@angular/core';\nimport { FormControl, Validators } from '@angular/forms';\nimport { NgbActiveModal } from '@ng-bootstrap/ng-bootstrap';\nimport { delay, finalize, switchMap } from 'rxjs';\nimport { AuthService } from 'src/app/auth/auth.service';\nimport { ModalConfig } from 'src/app/shared/components/modal/modal-config';\nimport { CHANGE_PASSWORD } from 'src/app/util/constantes-mensajes';\nimport { HelperFunctions } from 'src/app/util/util-functions';\n\n@Component({\n selector: 'app-change-password',\n templateUrl: './change-password.component.html',\n styleUrls: ['./change-password.component.scss']\n})\nexport class ChangePasswordComponent implements OnInit {\n public modalConfig: ModalConfig;\n // Variable to show/hide spinner\n isLoading: boolean = false;\n oldPassword: FormControl;\n constructor(private authService: AuthService, private ngbActiveModal: NgbActiveModal) { }\n\n ngOnInit(): void {\n this.oldPassword = new FormControl(null, Validators.required)\n this.modalConfig = {\n modalTitle: \"Cambiar contraseña\",\n ...this.modalConfig,\n };\n }\n\n /**\n* A function that checks if the control is invalid\n* @param {string} name\n* @returns {boolean}\n*/\n hasErrors() {\n return HelperFunctions.controlIsInvalid(this.oldPassword);\n }\n\n\n /**\n* A function that send new password to change it\n* @returns {none}\n*/\n onSubmit(password: string): void {\n if (this.oldPassword.valid) {\n this.isLoading = true;\n this.authService.login(this.authService.user!.email, this.oldPassword.value)\n .pipe(\n delay(500),\n finalize(() => this.isLoading = false),\n switchMap(() => this.authService.changePassword(password)))\n .subscribe({\n next: () => this.ngbActiveModal.close({ message: CHANGE_PASSWORD, confirmTitle: \"Aceptar\" }),\n error: (error) => this.ngbActiveModal.close({ message: error, confirmTitle: \"Cerrar\", isError: true })\n });\n\n } else {\n this.oldPassword.markAsTouched();\n }\n }\n}\n","\n
\n
\n \n \n
\n \n
\n \n \n
","import { Component, Input, OnInit } from '@angular/core';\nimport { FormControl, FormGroup, Validators } from '@angular/forms';\nimport { NgbActiveModal } from '@ng-bootstrap/ng-bootstrap';\nimport { delay, finalize, of, switchMap } from 'rxjs';\nimport { User } from 'src/app/features/user/user';\nimport { ModalConfig } from 'src/app/shared/components/modal/modal-config';\nimport { ROLES } from 'src/app/util/constantes';\nimport { USER_MESSAGES } from 'src/app/util/constantes-mensajes';\nimport { HelperFunctions } from 'src/app/util/util-functions';\nimport { v4 as uuidv4 } from 'uuid';\nimport { UserService } from '../user.service';\nimport { AuthService } from 'src/app/auth/auth.service';\n@Component({\n selector: 'app-manage-user',\n templateUrl: './manage-user.component.html',\n styleUrls: ['./manage-user.component.scss']\n})\nexport class ManageUserComponent implements OnInit {\n // Property to get the selected user\n @Input() user: User;\n // User information form\n userForm: FormGroup;\n // Variable to set modal information\n public modalConfig: ModalConfig;\n // Property to change the modal title\n actionTitle: string = \"Crear usuario\";\n // Property to change the action button string\n actionButton: string = \"Crear\";\n // Variable to show/hide spinner\n isLoading: boolean = false;\n // Maps every possible user roles\n roles = ROLES;\n\n constructor(private userService: UserService, private ngbActiveModal: NgbActiveModal, private authService: AuthService) { }\n\n\n ngOnInit(): void {\n this.initForm();\n this.modalConfig = {\n modalTitle: this.actionTitle,\n ...this.modalConfig,\n };\n }\n\n /**\n * A function that inits the parameterForm group\n * @returns None\n */\n initForm(): void {\n if (this.user != null) {\n this.actionTitle = \"Editar usuario\";\n this.actionButton = \"Guardar\";\n }\n this.userForm = new FormGroup({\n uuid: new FormControl(this.user?.uuid || uuidv4()),\n nombre: new FormControl(this.user?.nombre, [Validators.required, Validators.maxLength(255)]),\n apellido: new FormControl(this.user?.apellido, [Validators.required, Validators.maxLength(255)]),\n email: new FormControl(this.user?.email, [Validators.required, Validators.email, Validators.maxLength(255)]),\n rol: new FormControl(this.user?.rol, [Validators.required])\n });\n }\n\n /**\n * A function that checks if the control is invalid\n * @returns {boolean}\n */\n hasErrors(name: string): boolean {\n const control = this.userForm.get(name) as FormControl;\n return HelperFunctions.controlIsInvalid(control);\n }\n\n /**\n * A function that submit the parameter object\n * @returns None\n */\n onSubmit() {\n if (this.userForm.valid) {\n const user = this.setUserData();\n this.createUpdateUser(user);\n } else {\n this.userForm.markAllAsTouched();\n }\n }\n\n /**\n * Gets the user information from form fields\n * @returns {User}\n */\n setUserData(): User {\n const newUser: User = {\n ...this.userForm.getRawValue()\n };\n return newUser;\n }\n\n /**\n * This function creates or updates an user\n * @param {User} user\n */\n createUpdateUser(user: User) {\n this.isLoading = true;\n const subscription = this.user ? this.userService.updateUser(user) : this.userService.createUser(user);\n subscription.pipe(\n delay(500),\n switchMap((response) => this.user?.email !== user.email ? this.authService.sendEmailResetPassword(user.email) : of(response)),\n finalize(() => this.isLoading = false))\n .subscribe({\n next: () => {\n this.ngbActiveModal.close({ message: USER_MESSAGES.CREATE.USER, confirmTitle: \"Aceptar\" });\n },\n error: (error) => {\n this.ngbActiveModal.close({ message: error.error.message, confirmTitle: \"Cerrar\", isError: true });\n }\n });\n }\n\n}","\n
\n
\n
\n \n \n
\n
\n \n \n
\n
\n \n \n
\n
\n \n \n
\n \n
\n \n \n
\n
","import { ReportGroupService } from 'src/app/features/admin/report-group/report-group.service';\nimport { Component, Input, OnInit } from '@angular/core';\nimport { FormControl } from '@angular/forms';\nimport { faCircleXmark } from '@fortawesome/free-solid-svg-icons';\nimport { NgbActiveModal } from '@ng-bootstrap/ng-bootstrap';\nimport { delay, finalize, take } from 'rxjs';\nimport { ModalConfig } from 'src/app/shared/components/modal/modal-config';\nimport { USER_MESSAGES } from 'src/app/util/constantes-mensajes';\nimport { ReportGroup } from '../../admin/report-group/report-group';\nimport { User } from '../user';\nimport { UserService } from '../user.service';\nimport { AuthService } from 'src/app/auth/auth.service';\n@Component({\n selector: 'app-report-group-to-user',\n templateUrl: './report-group-to-user.component.html',\n styleUrls: ['./report-group-to-user.component.scss']\n})\nexport class ReportGroupToUserComponent implements OnInit {\n // Selected user to add or remove report groups\n @Input() currentUser: User;\n // Form control to query users\n queryControl: FormControl;\n // Object with the selected report groups\n selectedReportGroups: ReportGroup[] = [];\n // Variable to set modal information\n public modalConfig: ModalConfig;\n // Base user url (se debe crear la variable pública en el servicio)\n reportGroupsUrl: string;\n // Handles the spinner status\n isLoading: boolean = false;\n // Contains X mark icon\n faCircleXmark = faCircleXmark;\n\n constructor(\n private userService: UserService,\n private reportGroupService: ReportGroupService,\n private ngbActiveModal: NgbActiveModal,\n private authService: AuthService\n ) {\n this.reportGroupsUrl = this.reportGroupService.reportGroupsUrl\n }\n\n ngOnInit(): void {\n this.modalConfig = {\n modalTitle: \"Grupos de reportes usuario\",\n ...this.modalConfig,\n };\n this.initQueryControl();\n this.getUserReportGroups();\n }\n\n /**\n * Initializes the query control to search users\n * @returns None\n */\n initQueryControl(): void {\n this.queryControl = new FormControl(null);\n }\n\n /**\n * This function returns the list of report groups of the current user\n */\n getUserReportGroups() {\n this.isLoading = true;\n this.userService.getReportGroups(this.currentUser.uuid)\n .pipe(\n take(1),\n delay(500),\n finalize(() => this.isLoading = false))\n .subscribe({\n next: (response: ReportGroup[]) => {\n this.selectedReportGroups = response;\n },\n error: (error) => {\n this.ngbActiveModal.close({ message: error.error.message, confirmTitle: \"Cerrar\", isError: true });\n }\n });\n }\n\n /**\n * This method inserts the selected report group in the list if it is not duplicated\n * @param {ReportGroup} reportGroup\n */\n addReportGroup(reportGroup: ReportGroup) {\n let isDuplicate = this.selectedReportGroups.find((search) => search.uuid === reportGroup.uuid);\n if (!isDuplicate)\n this.selectedReportGroups.push(reportGroup);\n }\n\n /**\n * This method associates all created report groups to the current user\n */\n addAllReportGroups() {\n this.reportGroupService.addAllReportGroupsToUser(this.currentUser.uuid)\n .subscribe({\n next: (response: ReportGroup[]) => {\n this.selectedReportGroups = response;\n },\n error: (error) => {\n this.ngbActiveModal.close({ message: error.error.message, confirmTitle: \"Cerrar\", isError: true });\n }\n });\n }\n\n /**\n * check if the actual role of the logged user is ADMIN\n * @returns {boolean}\n */\n checkAdminRole(): boolean{\n return this.authService.user!.rol === 'ADMIN';\n }\n\n /**\n * A function that removes the selected report group from the list\n * @param {ReportGroup} reportGroup\n * @returns None\n */\n removeReportGroup(reportGroup: ReportGroup): void {\n this.selectedReportGroups = this.selectedReportGroups.filter((element) => element.uuid !== reportGroup.uuid);\n }\n\n /**\n * Associates the list of selected report groups to the current user\n */\n saveReportGroupList() {\n this.isLoading = true;\n this.userService.setReportGroups(this.currentUser.uuid, this.selectedReportGroups)\n .pipe(\n finalize(() => this.isLoading = false))\n .subscribe({\n next: () => {\n this.ngbActiveModal.close({ message: USER_MESSAGES.UPDATE.USER, confirmTitle: \"Aceptar\" });\n },\n error: (error) => {\n this.ngbActiveModal.close({ message: error.error.message, confirmTitle: \"Cerrar\", isError: true });\n }\n });\n }\n}","\n
\n
\n \n
\n \n \n \n
\n
\n
0\">\n \n \n \n \n \n
\n
\n ¡No se han asignado grupos de reportes!\n
\n\n \n {{ value }}\n \n\n \n
\n
\n \n \n
\n
","import { HttpClient } from '@angular/common/http';\nimport { Injectable } from '@angular/core';\nimport { BehaviorSubject, Observable } from 'rxjs';\nimport { User } from 'src/app/features/user/user';\nimport { Paginator } from 'src/app/shared/models/paginator';\nimport { TableHeader } from 'src/app/shared/models/table';\nimport { PageableService } from 'src/app/shared/services/pageable.service';\nimport { environment } from 'src/environments/environment';\nimport { ReportGroup } from '../admin/report-group/report-group';\n@Injectable({\n providedIn: 'root'\n})\nexport class UserService {\n public usersUrl: string = `${environment.urlBase}/user/`;\n\n constructor(private http: HttpClient, private pageableService: PageableService) { }\n\n /**\n * Creates a user\n * @param {User} user\n * @returns {Observable}\n */\n createUser(user: User): Observable {\n return this.http.post(this.usersUrl, user);\n }\n\n /**\n * Updates an already created user\n * @param {User} user\n * @returns {Observable}\n */\n updateUser(user: User): Observable {\n return this.http.put(this.usersUrl, user);\n }\n\n /**\n * Gets all users by page\n * It can get some params in order to filter or sort the data\n * @param {number} page\n * @param {number} pageQuantity\n * @param {string} header\n * @param {string} filter\n * @param {string} order\n * @returns {Observable>}\n */\n getUsers(page: number, pageQuantity: number, header?: string, filter?: string, order?: string): Observable> {\n return this.pageableService.getData(this.usersUrl, page, pageQuantity, header, filter, order);\n }\n\n /**\n * Gets all users by page and filters\n * @param {BehaviorSubject} search$\n * @param {number} page\n * @param {number} pageQuantity\n * @returns { Observable>}\n */\n getUsersByFilters(search$: BehaviorSubject, page: number, pageQuantity: number): Observable> {\n return this.pageableService.searchData(search$, page, pageQuantity, this.usersUrl);\n }\n\n /**\n * Gets the user uuid and changes the value of status property\n * @param {string} uuid\n * @returns {Observable}\n */\n changeUserStatus(uuid: string): Observable {\n return this.http.put(`${this.usersUrl}actualizar/${uuid}`, null);\n }\n\n /**\n * Updates the user info\n * @param {User} user\n * @returns {Observable}\n */\n updateProfile(user: User): Observable {\n return this.http.put(`${this.usersUrl}actualizar-informacion`, user);\n }\n\n /**\n * This function associates a list of report groups to an user\n * @param {string} userUuid\n * @param {ReportGroup[]} reportGroups\n * @returns {Observable}\n */\n setReportGroups(userUuid: string, reportGroups: ReportGroup[]): Observable {\n return this.http.put(`${environment.urlBase}/grupo-reporte/usuario/${userUuid}`, reportGroups);\n }\n\n /**\n * Gets all report groups associated with the current user\n * @param {string} userUuid\n * @returns {Observable}\n */\n getReportGroups(userUuid: string): Observable {\n return this.http.get(`${environment.urlBase}/grupo-reporte/usuario/${userUuid}`);\n }\n\n}","export interface User {\n uuid: string;\n nombre: string;\n apellido: string;\n email: string;\n rol?: string;\n imagen?: string;\n token?: string;\n refreshToken?: string;\n activo: boolean;\n}\n\nexport enum Roles {\n admin = \"ADMIN\",\n user = \"USER\",\n specialist = \"ESPECIALISTA\",\n}","import { Component, EventEmitter, Input, Output } from '@angular/core';\nimport { faStar as faStarRegular } from '@fortawesome/free-regular-svg-icons';\nimport { faStar } from '@fortawesome/free-solid-svg-icons';\n\n@Component({\n selector: 'app-card',\n templateUrl: './card.component.html',\n styleUrls: ['./card.component.scss']\n})\nexport class CardComponent {\n @Input() title: string;\n @Input() icon: string;\n @Input() favorite: boolean = false;\n // Emits an event to notify the parent when value changes\n @Output() favoriteEvent = new EventEmitter();\n\n /**\n * Emits an event when favorite value changes\n * @returns None\n */\n setFavorite() {\n this.favoriteEvent.emit(!this.favorite);\n }\n\n /**\n * Sets a different icon depending on the favorite value\n * @returns None\n */\n setIcon() {\n return this.favorite ? faStar : faStarRegular;\n }\n}","
\n
\n
\n \n

{{title}}

\n
\n \n
\n
\n \n
\n
","import { NgbActiveModal } from '@ng-bootstrap/ng-bootstrap';\nimport { ModalConfig } from './../modal/modal-config';\nimport { Component, Input } from '@angular/core';\nimport { Confirmation } from './confirmation';\nimport { faCircleExclamation } from '@fortawesome/free-solid-svg-icons';\n@Component({\n selector: 'app-confirmation-modal',\n templateUrl: './confirmation-modal.component.html',\n styleUrls: ['./confirmation-modal.component.scss']\n})\nexport class ConfirmationModalComponent {\n\n @Input() body: Confirmation;\n\n faIcon = faCircleExclamation;\n\n constructor(private ngbActiveModal: NgbActiveModal) { }\n\n // Variable to set modal information\n public modalConfig: ModalConfig;\n ngOnInit(): void {\n this.modalConfig = {\n modalTitle: this.body.title,\n ...this.modalConfig,\n };\n }\n close(response: boolean) {\n this.ngbActiveModal.close(response);\n }\n}\n","\n
\n \n
\n
\n

\n {{ body.message }}\n

\n
\n
\n \n\n \n
\n
","import { Component, EventEmitter, Input, OnDestroy, Output, ViewChild } from '@angular/core';\nimport { FormControl } from '@angular/forms';\nimport { FilterOption } from '../typeahead/typeahead.component';\nimport { NgbTypeahead, NgbTypeaheadSelectItemEvent } from '@ng-bootstrap/ng-bootstrap';\nimport { PageableService } from '../../services/pageable.service';\nimport { Observable, Subject, catchError, debounceTime, distinctUntilChanged, filter, map, merge, of, switchMap, takeWhile } from 'rxjs';\nimport { HelperFunctions } from 'src/app/util/util-functions';\nimport { Paginator } from '../../models/paginator';\n\n@Component({\n selector: 'app-dynamic-typeahead',\n templateUrl: './dynamic-typeahead.component.html',\n})\nexport class DynamicTypeaheadComponent implements OnDestroy {\n @Input() resetInput: boolean = false;\n @Input() editable: boolean = true;\n @Input() control: FormControl;\n @Input() method: string;\n @Input() maxQuantity: number;\n @Input() prop: string;\n @Input() classes: string = \"typeahead-relative\";\n @Input() filterOptions: FilterOption;\n @Output() selectEvent = new EventEmitter();\n @ViewChild('instance', { static: true }) instance: NgbTypeahead\n private alive: boolean = true;\n focus$ = new Subject();\n click$ = new Subject();\n formatter = (result: any): string => result[this.prop];\n\n constructor(private pageableService: PageableService) { };\n\n /**\n* A function that search the value in the filtered option list\n* @returns { OperatorFunction}\n*/\n search = (text$: Observable) => {\n const debouncedText$ = text$.pipe(debounceTime(500), distinctUntilChanged());\n const clicksWithClosedPopup$ = this.click$.pipe(filter(() => !this.instance.isPopupOpen()));\n const inputFocus$ = this.focus$;\n\n return merge(debouncedText$, inputFocus$, clicksWithClosedPopup$).pipe(\n takeWhile(() => this.alive),\n switchMap((term) => this.pageableService.getData(this.method, 0, this.maxQuantity, this.prop, term).pipe(\n catchError(() => {\n const paginator: Paginator = {\n content: [],\n numberOfElements: 0,\n totalPages: 1,\n totalElements: 0,\n number: 0\n };\n return of(paginator)\n })\n , map(results => {\n let currentResults = results.content;\n if (this.filterOptions) {\n currentResults = results.content.filter((options: any) => options[this.filterOptions.prop] === this.filterOptions.value)\n }\n return currentResults\n })))\n );\n };\n\n onSelect(event: NgbTypeaheadSelectItemEvent) {\n const item = event.item;\n this.selectEvent.emit(item);\n if (this.resetInput)\n event.preventDefault();\n }\n\n /**\n * A function that checks if the control is invalid\n * @returns {boolean}\n */\n hasErrors(): boolean {\n return HelperFunctions.controlIsInvalid(this.control);\n }\n\n ngOnDestroy(): void {\n this.alive = false;\n }\n}\n","
\n \n
","
\n
\n \"\"\n {{ modalConfig.modalTitle }}\n
\n \n
\n
\n \n
","import { Component, Input } from '@angular/core';\nimport { ModalConfig } from './modal-config';\nimport { NgbModalConfig, NgbActiveModal } from '@ng-bootstrap/ng-bootstrap';\n\n@Component({\n selector: 'app-modal',\n templateUrl: './modal.component.html',\n styleUrls: ['./modal.component.scss']\n})\nexport class ModalComponent {\n @Input() public modalConfig!: ModalConfig;\n\n constructor(config: NgbModalConfig, private ngbActiveModal: NgbActiveModal) {\n config.backdrop = 'static';\n }\n\n close() {\n this.ngbActiveModal.close();\n }\n\n dismiss() {\n this.ngbActiveModal.dismiss();\n }\n\n}\n","import { Component, Input, OnChanges, SimpleChanges } from '@angular/core';\nimport { FormArray, FormControl } from '@angular/forms';\nimport { CustomInput } from '../type-input/custom-input';\nimport { faAngleDown, faCircleXmark } from '@fortawesome/free-solid-svg-icons';\nimport { TipoParametro } from 'src/app/features/data-visualization/reports/models/parametro';\nimport { HelperFunctions } from 'src/app/util/util-functions';\n\n@Component({\n selector: 'app-multiple-input',\n templateUrl: './multiple-input.component.html',\n styleUrls: ['./multiple-input.component.scss']\n})\nexport class MultipleInputComponent implements OnChanges {\n @Input() formArray: FormArray;\n control: FormControl = new FormControl(null);\n @Input() input: CustomInput;\n parameterType: typeof TipoParametro = TipoParametro;\n faCircleXmark = faCircleXmark;\n faAngleDown = faAngleDown;\n\n /**\n * A function that checks if the control is invalid\n * @returns {boolean}\n */\n hasErrors(): boolean {\n return HelperFunctions.controlIsInvalid(this.formArray);\n }\n\n /**\n * A function that add a parameter value to the form array\n * @returns None\n */\n formatValue(): void {\n let value = this.control?.value;\n if (value) {\n value = this.input.type === this.parameterType.date ? HelperFunctions.getStringOfNgbDate(value) : value.toString();\n if (value.trim().length > 0) {\n this.addValue(value);\n }\n }\n }\n\n ngOnChanges(changes: SimpleChanges) {\n const input = changes['input'];\n if (input.currentValue?.type !== input.previousValue?.type) {\n this.control.reset();\n }\n }\n\n /**\n * A function that add a parameter value to the form array\n * @param {any} option\n * @returns None\n */\n addValue(option: string): void {\n let isValid = this.formArray.controls.every((control) => control.value !== option);\n if (isValid) {\n this.formArray.push(new FormControl(option));\n this.control.reset();\n }\n }\n /**\n * A function that remove the parameter value by index\n * @param {number} index\n * @returns None\n */\n removeParameterValue(index: number): void {\n this.formArray.markAllAsTouched();\n this.formArray.removeAt(index);\n }\n}\n","\n
\n \n
\n \n \n \n \n \n \n
\n
\n
\n\n
\n \n
\n \n
    \n
  • \n \n \n
  • \n
\n
\n
\n
\n
\n \n \n \n \n \n
\n\n\n {{ value }}\n\n\n\n {{value | date: \"YYYY-MM-dd\" }}\n","import { Component, EventEmitter, Input, Output } from '@angular/core';\n\n@Component({\n selector: 'app-paginator',\n templateUrl: './paginator.component.html',\n styleUrls: ['./paginator.component.scss']\n})\nexport class PaginatorComponent {\n\n // Number of elements per page\n @Input() quantity: number;\n // This property shows the maximum number of elements to handle\n @Input() maxQuantity: number;\n // Maximum number of pages to display\n @Input() maxSize: number = 5;\n // Emits an event when user changes to another page\n @Output() changePageEvent = new EventEmitter();\n //PAginator actual page \n @Input() actualPage: number = 1;\n\n /**\n * This function gets the current page and emits an event with the actual page\n * @param {number} page\n */\n onChangePage(page: number): void {\n this.actualPage = page;\n this.changePageEvent.emit(this.actualPage);\n }\n}","
\n
\n

Mostrando: {{ quantity }} de {{ maxQuantity }}

\n
\n \n \n
","import { Component, EventEmitter, Input, Output } from '@angular/core';\nimport { FormControl, FormGroup, Validators } from '@angular/forms';\nimport { CustomValidators } from 'src/app/util/custom-validators';\nimport { HelperFunctions } from 'src/app/util/util-functions';\n\n@Component({\n selector: 'app-password',\n templateUrl: './password.component.html',\n styleUrls: ['./password.component.scss']\n})\nexport class PasswordComponent {\n\n passwordForm: FormGroup;\n successImg: string = \"assets/icons/check.svg\";\n errorImg: string = \"assets/icons/unchecked.svg\";\n @Output() passwordEvent = new EventEmitter();\n hasSubmitted: boolean = false;\n @Input() isLoading: boolean = false;\n @Input() title: string;\n\n ngOnInit(): void {\n this.passwordForm = new FormGroup({\n password: new FormControl(null, [\n Validators.required,\n CustomValidators.isValueInRange(8, 20),\n CustomValidators.hasUpperCase(),\n CustomValidators.hasNumber(),\n CustomValidators.notWhiteSpaces(),\n ]),\n confirmPassword: new FormControl(null, [Validators.required])\n },\n CustomValidators.compareValues('password', 'confirmPassword'),\n )\n }\n\n /**\n* A function return if the control has error\n* @returns {boolean}\n*/\n getError(error: string): boolean {\n return this.passwordForm.get('password')?.errors?.[error];\n }\n\n /**\n* A function that checks if the control is invalid\n* @param {string} name\n* @returns {boolean}\n*/\n hasErrors() {\n return HelperFunctions.controlIsInvalid(this.passwordForm);\n }\n\n\n onSubmit(): void {\n if (this.passwordForm.valid) {\n const { password } = this.passwordForm.getRawValue();\n this.passwordEvent.emit(password)\n } else {\n this.hasSubmitted = true;\n this.passwordForm.markAllAsTouched();\n }\n }\n}","
\n
\n {{title}}\n
\n
\n \n \n
\n
\n \n \n
\n
\n \n \"check\"\n La contraseña debe tener entre 8 y 20 caracteres\n \n \n \"check\"\n La contraseña debe tener mínimo una mayúscula\n \n \n \"check\"\n La contraseña debe tener mínimo un número\n \n \n \"check\"\n La contraseña no debe contener espacios\n \n \n \"check\"\n Las contraseñas deben coincidir\n \n
\n \n
","import { Component, EventEmitter, Input, Output } from '@angular/core';\nimport { HelperFunctions } from 'src/app/util/util-functions';\n\n@Component({\n selector: 'app-scroll-paginator',\n templateUrl: './scroll-paginator.component.html',\n styleUrls: ['./scroll-paginator.component.scss']\n})\nexport class ScrollPaginatorComponent {\n\n @Input() itemsQuantity: number = 0;\n @Input() totalElements: number = 0;\n @Input() isLoading: boolean = false;\n @Input() page: number = 0;\n @Input() totalPages: number = 1;\n @Input() selector: string = '#main';\n @Input() fromRoot: boolean = true;\n @Input() isStatic: boolean = false;\n\n\n @Output() loadPageEvent = new EventEmitter();\n\n /**\n * A function that checks if it is a mobile device\n * @returns {boolean}\n */\n isMobile(): boolean {\n return HelperFunctions.isMobile();\n }\n\n /**\n * A function that emmits the load event\n * @returns {boolean}\n */\n onLoadPage(): void {\n this.loadPageEvent.emit();\n }\n}\n","
0 && !isLoading\" class=\"more-reports\">\n

Estas viendo {{itemsQuantity}} de {{totalElements}} reportes

\n \n
\n
\n\n\n","import { Component, Input } from '@angular/core';\nimport { faAngleDown } from '@fortawesome/free-solid-svg-icons';\n\n@Component({\n selector: 'app-scrolldown-button',\n templateUrl: './scrolldown-button.component.html',\n styleUrls: ['./scrolldown-button.component.scss']\n})\nexport class ScrolldownButtonComponent {\n\n @Input() scrollDown: number = 100;\n @Input() section: string = 'main';\n faAngleDown = faAngleDown;\n\n /**\n * Scrolls the page down by the amount of pixels specified in the scrollDown property. \n * @returns None \n */\n setScrollDown() {\n const section = document.getElementById(this.section);\n section.scrollBy({\n top: this.scrollDown,\n left: 0,\n behavior: \"smooth\",\n })\n }\n}\n","","import { Component, EventEmitter, Input, OnChanges, Output, SimpleChanges } from '@angular/core';\nimport { TableHeader } from '../../models/table';\n\nexport type SortDirection = 'asc' | 'desc' | '';\nconst rotate: { [key: string]: SortDirection } = { asc: 'desc', desc: '', '': 'asc' };\n\n@Component({\n selector: 'app-table',\n templateUrl: './table.component.html',\n})\nexport class TableComponent implements OnChanges {\n // Gets an array with all the table headers\n @Input() headers: TableHeader[];\n // Sets a label description for the table\n @Input() tableLabel: string = \"Table list\";\n // Enable or disable table filters\n @Input() enableFilters: boolean = false;\n // Emits the corresponding event for the onSearch function\n @Output() searchEvent: EventEmitter = new EventEmitter();\n // Emits the corresponding event for the onSort function\n @Output() sortEvent: EventEmitter = new EventEmitter();\n // Contains the icon for every sorting status\n orderIcon = \"order-arrow\";\n\n /**\n * Emits an event after the user types in the current input header\n * @param {TableHeader} header\n * @returns None\n */\n onSearch(header: TableHeader, event: any) {\n header.value = event.target.value;\n this.searchEvent.emit(header);\n }\n\n /**\n * Emits an event when the status and sort icon of the current header change\n * @param {TableHeader} header\n * @returns None\n */\n onSort(header: TableHeader) {\n header.sort = rotate[header.sort];\n this.changeSortingIcon(header);\n this.sortEvent.emit(header);\n }\n\n /**\n * Sets the corresponding icon depending on the sorting type\n * @param {TableHeader} header\n * @returns None\n */\n changeSortingIcon(header: TableHeader) {\n switch (header.sort) {\n case 'asc':\n this.orderIcon = \"order-arrow-up\";\n break;\n case 'desc':\n this.orderIcon = \"order-arrow-down\";\n break;\n default:\n this.orderIcon = \"order-arrow\";\n }\n }\n\n ngOnChanges(changes: SimpleChanges): void {\n const filters = changes['enableFilters'];\n if (!filters?.currentValue) {\n this.headers = this.headers.map(header => {\n return { ...header, value: undefined }\n })\n }\n }\n}","\n \n \n \n \n \n \n \n \n \n
\n \n
\n {{ header.name }}\n \"arrow\"\n
\n \n \n
\n \n
\n {{ header.name }}\n
\n
\n
","import { FormControl } from '@angular/forms';\nimport { Component, Input } from '@angular/core';\nimport { TipoParametro } from 'src/app/features/data-visualization/reports/models/parametro';\nimport { CustomInput } from './custom-input';\nimport { HelperFunctions } from 'src/app/util/util-functions';\n\n@Component({\n selector: 'app-type-input',\n templateUrl: './type-input.component.html',\n styleUrls: ['./type-input.component.scss']\n})\nexport class TypeInputComponent {\n @Input() control: FormControl;\n @Input() input: CustomInput;\n parameterType: typeof TipoParametro = TipoParametro;\n\n /**\n * A function that checks if the control is invalid\n * @returns {boolean}\n */\n hasErrors(): boolean {\n return HelperFunctions.controlIsInvalid(this.control);\n }\n}","\n
\n \n \n \n \n
\n \n
\n \n
\n
\n
\n\n
\n \n \n
\n
\n\n\n {{ value }}\n\n\n\n {{value | date: \"YYYY-MM-dd\" }}\n","import { Component, EventEmitter, Input, OnDestroy, OnInit, Output, ViewChild } from '@angular/core';\nimport { FormControl } from '@angular/forms';\nimport { NgbTypeahead, NgbTypeaheadSelectItemEvent } from '@ng-bootstrap/ng-bootstrap';\nimport { Observable, OperatorFunction, Subject, debounceTime, distinctUntilChanged, filter, map, merge, shareReplay, takeWhile } from 'rxjs';\nimport { HelperFunctions } from 'src/app/util/util-functions';\n\nexport interface FilterOption {\n prop: string;\n value: T;\n}\n@Component({\n selector: 'app-typeahead',\n templateUrl: './typeahead.component.html',\n})\nexport class TypeaheadComponent implements OnDestroy, OnInit {\n\n @Input() resetInput: boolean = false;\n @Input() editable: boolean = true;\n @Input() control: FormControl;\n @Input() prop: string;\n @Input() searchOptions: Observable;\n @Input() classes: string = \"typeahead-relative\";\n @Input() filterOptions: FilterOption;\n @Output() selectEvent = new EventEmitter();\n @ViewChild('instance', { static: true }) instance: NgbTypeahead;\n\n private originalSearchOptions: T[];\n private alive: boolean = true;\n focus$ = new Subject();\n click$ = new Subject();\n\n public ngOnInit(): void {\n this.searchOptions.pipe(takeWhile(() => this.alive), shareReplay(1))\n .pipe(takeWhile(() => this.alive))\n .subscribe((results: T[]) => {\n let currentResults = results;\n if (this.filterOptions && this.prop) {\n currentResults = results.filter((options: any) => options[this.filterOptions.prop] === this.filterOptions.value)\n }\n this.originalSearchOptions = currentResults;\n });\n }\n\n public formatter = (result: any): string => this.prop ? result[this.prop] : result;\n /**\n* A function that search the value in the filtered option list\n* @returns { OperatorFunction}\n*/\n search: OperatorFunction = (text$: Observable) => {\n const debouncedText$ = text$.pipe(debounceTime(200), distinctUntilChanged());\n const clicksWithClosedPopup$ = this.click$.pipe(filter(() => !this.instance.isPopupOpen()));\n const inputFocus$ = this.focus$;\n\n return merge(debouncedText$, inputFocus$, clicksWithClosedPopup$).pipe(\n map((term) => (term === '' ? this.originalSearchOptions : this.originalSearchOptions.filter((v: any) => {\n const value: string = this.prop ? v[this.prop] : v;\n return value.toLowerCase().indexOf(term.toLowerCase()) > -1\n }))));\n };\n\n onSelect(event: NgbTypeaheadSelectItemEvent) {\n const item = event.item;\n this.selectEvent.emit(item);\n if (this.resetInput)\n event.preventDefault();\n }\n\n /**\n * A function that checks if the control is invalid\n * @returns {boolean}\n */\n hasErrors(): boolean {\n return HelperFunctions.controlIsInvalid(this.control);\n }\n\n ngOnDestroy(): void {\n this.alive = false;\n }\n}\n","
\n \n
","import { Confirmation } from 'src/app/shared/components/confirmation-modal/confirmation';\nimport { Injectable } from '@angular/core';\nimport { NgbModal, NgbModalOptions, NgbModalRef } from '@ng-bootstrap/ng-bootstrap';\nimport { ManageParameterListComponent } from 'src/app/features/admin/parameters-list/manage-parameter-list/manage-parameter-list.component';\nimport { Reporte } from 'src/app/features/data-visualization/reports/models/reporte';\nimport { ReportDataComponent } from 'src/app/features/data-visualization/reports/report-data/report-data.component';\nimport { ReportParametersComponent } from 'src/app/features/data-visualization/reports/report-parameters/report-parameters.component';\nimport { ConfirmationModalComponent } from '../components/confirmation-modal/confirmation-modal.component';\nimport { TareaReporte } from 'src/app/features/tasks/tarea-reporte';\nimport { ManageUserComponent } from 'src/app/features/user/manage-user/manage-user.component';\nimport { User } from 'src/app/features/user/user';\nimport { ParametroLista } from 'src/app/features/data-visualization/reports/models/parametro';\nimport { ReportGroup } from 'src/app/features/admin/report-group/report-group';\nimport { ManageReportGroupComponent } from 'src/app/features/admin/report-group/manage-report-group/manage-report-group.component';\nimport { ResetPasswordComponent } from 'src/app/auth/reset-password/reset-password.component';\nimport { ChangePasswordComponent } from 'src/app/features/user/edit-profile/change-password/change-password.component';\nimport { ReportGroupToUserComponent } from 'src/app/features/user/report-group-to-user/report-group-to-user.component';\nimport { ReportListComponent } from 'src/app/features/admin/report-group/report-list/report-list.component';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class ModalService {\n\n constructor(private modalService: NgbModal) { }\n\n public open(content: any, options?: NgbModalOptions): NgbModalRef {\n return this.modalService.open(content, options);\n }\n\n public getResetPasswordModal(options?: NgbModalOptions) {\n const ngbModalRef: NgbModalRef = this.modalService\n .open(ResetPasswordComponent, options || { backdrop: 'static', size: 'md', keyboard: false, centered: true });\n return ngbModalRef;\n }\n public getChangePasswordModal(options?: NgbModalOptions) {\n const ngbModalRef: NgbModalRef = this.modalService\n .open(ChangePasswordComponent, options || { backdrop: 'static', size: 'md', keyboard: false, centered: true });\n return ngbModalRef;\n }\n\n public getConfirmacionModal(confirmation: Confirmation, options?: NgbModalOptions) {\n const ngbModalRef: NgbModalRef = this.modalService\n .open(ConfirmationModalComponent, options || { backdrop: 'static', size: 'md', keyboard: false, centered: true });\n (ngbModalRef.componentInstance as ConfirmationModalComponent).body = confirmation;\n return ngbModalRef;\n }\n\n public getReportParametersModal(report: Reporte, options?: NgbModalOptions) {\n const ngbModalRef: NgbModalRef = this.modalService\n .open(ReportParametersComponent, options || { centered: true, size: 'lg' });\n (ngbModalRef.componentInstance as ReportParametersComponent).report = report;\n return ngbModalRef;\n }\n\n public getReportTaskDataModal(reportTask: TareaReporte, options?: NgbModalOptions) {\n const ngbModalRef: NgbModalRef = this.modalService\n .open(ReportDataComponent, options || { centered: true, size: 'xl' });\n (ngbModalRef.componentInstance as ReportDataComponent).reportTask = reportTask;\n return ngbModalRef;\n }\n\n public getManageParameterListModal(parameterList?: ParametroLista, options?: NgbModalOptions) {\n const ngbModalRef: NgbModalRef = this.modalService\n .open(ManageParameterListComponent, options || { centered: true, size: 'lg' });\n if (parameterList)\n (ngbModalRef.componentInstance as ManageParameterListComponent).parameterList = parameterList;\n return ngbModalRef;\n }\n\n public getManageUserModal(user?: User, options?: NgbModalOptions) {\n const ngbModalRef: NgbModalRef = this.modalService\n .open(ManageUserComponent, options || { centered: true, size: 'lg' });\n if (user)\n (ngbModalRef.componentInstance as ManageUserComponent).user = user;\n return ngbModalRef;\n }\n\n public getConfigUserModal(user: User, options?: NgbModalOptions) {\n const ngbModalRef: NgbModalRef = this.modalService\n .open(ReportGroupToUserComponent, options || { centered: true, size: 'lg' });\n (ngbModalRef.componentInstance as ReportGroupToUserComponent).currentUser = user;\n return ngbModalRef;\n }\n\n public getManageReportGroupModal(reportGroup?: ReportGroup, options?: NgbModalOptions) {\n const ngbModalRef: NgbModalRef = this.modalService\n .open(ManageReportGroupComponent, options || { centered: true, size: 'lg' });\n if (reportGroup)\n (ngbModalRef.componentInstance as ManageReportGroupComponent).reportGroup = reportGroup;\n return ngbModalRef;\n }\n\n public getReportListModal(reportGroup?: ReportGroup, options?: NgbModalOptions) {\n const ngbModalRef: NgbModalRef = this.modalService\n .open(ReportListComponent, options || { centered: true, size: 'xl' });\n if (reportGroup)\n (ngbModalRef.componentInstance as ReportListComponent).reportGroup = reportGroup;\n return ngbModalRef;\n }\n\n hasOpenModals = (): boolean => this.modalService.hasOpenModals();\n\n dismissAll() {\n this.modalService.dismissAll();\n }\n}","import { HttpClient } from '@angular/common/http';\nimport { Injectable } from '@angular/core';\nimport { Paginator } from '../models/paginator';\nimport { BehaviorSubject, Observable, catchError, debounceTime, of, switchMap } from 'rxjs';\nimport { TableHeader } from '../models/table';\nimport { ModalService } from './modal.service';\nimport { GENERIC_MESSAGES } from '../../util/constantes-mensajes';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class PageableService {\n\n constructor(private http: HttpClient, private modalService: ModalService) { }\n /**\n * This function returns an observable of paginator calling the method requested by page\n * @param {string} url\n * @param {number} page\n * @param {string} header\n * @param {string} filter\n * @param {string} order\n * @returns {Observable>}\n */\n getData(url: string, page: number, pageQuantity: number, header?: string, filter?: string, order?: string): Observable> {\n const params = {\n column: header ? `&columna=${header}` : '',\n value: filter ? `&valor=${filter}` : '',\n order: order ? `&ordenamiento=${order}` : '',\n }\n return this.http.get>(`${url}?pagina=${page}&tamanoPagina=${pageQuantity}${params.column}${params.value}${params.order}`);\n }\n\n /**\n * This function returns an observable of paginator calling the method requested, it can receive search parameters\n * @param {BehaviorSubject} search$\n * @param {number} page\n * @param {string} method\n * @returns {Observable>}\n */\n searchData(\n search$: BehaviorSubject,\n page: number,\n pageQuantity: number,\n method: string\n ): Observable> {\n return search$.asObservable().pipe(\n debounceTime(500),\n switchMap(result => {\n return this.getData(method, page, pageQuantity, result?.key, result?.value, result?.sort).pipe(\n catchError(() => {\n this.modalService.getConfirmacionModal({ message: GENERIC_MESSAGES.GET.ERROR_SEARCH, confirmTitle: \"Cerrar\", isError: true });\n const paginator: Paginator = {\n content: [],\n numberOfElements: 0,\n totalPages: 1,\n totalElements: 0,\n number: 0\n };\n return of(paginator)\n })\n )\n }));\n }\n}\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { ReactiveFormsModule } from '@angular/forms';\nimport { RouterModule } from '@angular/router';\nimport { FontAwesomeModule } from '@fortawesome/angular-fontawesome';\nimport { NgxLoadingModule } from \"ngx-loading\";\nimport { NgbDatepickerModule, NgbPaginationModule, NgbTooltipModule, NgbTypeaheadModule } from '@ng-bootstrap/ng-bootstrap';\nimport { NgxMaskDirective, NgxMaskPipe, provideNgxMask } from 'ngx-mask';\nimport { ReportDataComponent } from '../features/data-visualization/reports/report-data/report-data.component';\nimport { ReportItemComponent } from '../features/data-visualization/reports/report-item/report-item.component';\nimport { ReportParametersComponent } from '../features/data-visualization/reports/report-parameters/report-parameters.component';\nimport { TypeInputComponent } from './components/type-input/type-input.component';\nimport { TypeaheadComponent } from './components/typeahead/typeahead.component';\nimport { ConfirmationModalComponent } from './components/confirmation-modal/confirmation-modal.component'; import { CardComponent } from './components/card/card.component';\nimport { ModalComponent } from './components/modal/modal.component';\nimport { PaginatorComponent } from './components/paginator/paginator.component';\nimport { ScrollPaginatorComponent } from './components/scroll-paginator/scroll-paginator.component';\nimport { ScrolldownButtonComponent } from './components/scrolldown-button/scrolldown-button.component';\nimport { TableComponent } from './components/table/table.component';\nimport { MultipleInputComponent } from './components/multiple-input/multiple-input.component';\nimport { InfiniteScrollModule } from 'ngx-infinite-scroll';\nimport { DynamicTypeaheadComponent } from './components/dinamic-typeahead/dynamic-typeahead.component';\nimport { PasswordComponent } from './components/password/password.component';\nimport { BoardItemComponent } from '../features/data-visualization/boards/board-item/board-item.component';\n@NgModule({\n declarations: [\n CardComponent,\n ScrolldownButtonComponent,\n ModalComponent,\n ReportItemComponent,\n ReportDataComponent,\n ReportParametersComponent,\n BoardItemComponent,\n ModalComponent,\n TypeInputComponent,\n TypeaheadComponent,\n ConfirmationModalComponent,\n PaginatorComponent,\n ScrollPaginatorComponent,\n TableComponent,\n MultipleInputComponent,\n DynamicTypeaheadComponent,\n PasswordComponent\n ],\n imports: [\n CommonModule,\n RouterModule,\n FontAwesomeModule,\n ReactiveFormsModule,\n NgbDatepickerModule,\n NgxLoadingModule.forRoot({\n primaryColour: \"#ff9500\",\n secondaryColour: \"#ff9500\",\n tertiaryColour: \"#ff9500\",\n backdropBackgroundColour: \"rgba(255,255,255,0.7)\",\n backdropBorderRadius: \"0.5rem\"\n }),\n NgxMaskDirective,\n NgxMaskPipe,\n NgbTypeaheadModule,\n NgbPaginationModule,\n InfiniteScrollModule,\n NgbTooltipModule\n ],\n exports: [\n CommonModule,\n RouterModule,\n FontAwesomeModule,\n CardComponent,\n ScrolldownButtonComponent,\n ModalComponent,\n ReportItemComponent,\n ReportDataComponent,\n ReportParametersComponent,\n BoardItemComponent,\n TypeInputComponent,\n MultipleInputComponent,\n TypeaheadComponent,\n DynamicTypeaheadComponent,\n ConfirmationModalComponent,\n NgxLoadingModule,\n PaginatorComponent,\n ScrollPaginatorComponent,\n TableComponent,\n PasswordComponent\n ],\n providers: [provideNgxMask(),\n ]\n})\nexport class SharedModule { }","export const GENERIC_MESSAGES = {\n GET: {\n ERROR_SEARCH: \"¡Ha ocurrido un error al realizar la búsqueda!\"\n },\n}\n\nexport const REPORT_MESSAGES = {\n GET: {\n ERROR_PARAMETERS: \"¡Ha ocurrido un error cargando los parametros del reporte!\",\n ERROR_QUERY_REPORTS: \"¡Ha ocurrido un error obteniendo las consultas!\",\n ERROR_REPORTS: \"¡Ha ocurrido un error al obtener los reportes!\",\n ERROR_LATEST_REPORTS: \"¡Ha ocurrido un error al obtener los reportes recientes!\",\n },\n CREATE: {\n REPORT: \"¡El reporte ha sido guardado exitosamente!\",\n },\n GENERATE: {\n REPORT: \"¡El reporte se está generando, revisar sección de tareas!\",\n },\n UPDATE: {\n ERROR_FAVORITE: \"¡Ha ocurrido un error al actualizar el reporte!\"\n }\n}\n\nexport const BOARD_MESSAGES = {\n CREATE: {\n BOARD: \"¡El tablero ha sido creado exitosamente!\",\n },\n GET: {\n ERROR_SOURCE_BOARD: \"¡Ha ocurrido un error obteniendo el tablero!\",\n ERROR_BOARDS: \"¡Ha ocurrido un error al obtener los tableros!\",\n ERROR_EMBED_BOARD: \"¡Ha ocurrido un error al obtener la información del tablero!\",\n ERROR_RECENT_BOARDS: \"¡Ha ocurrido un error al obtener los tableros recientes!\"\n },\n UPDATE: {\n ERROR_FAVORITE: \"¡Ha ocurrido un error al actualizar el tablero!\"\n },\n DELETE: {\n QUESTION: \"Desea eliminar el tablero seleccionado?\",\n BOARD: \"¡El tablero ha sido eliminado correctamente!\"\n }\n}\n\nexport const TASK_REPORT_MESSAGES = {\n GET: {\n ERROR_REPORTS: \"¡Ha ocurrido un error al cargar la información de las tareas del reporte!\"\n },\n}\n\nexport const PARAMETERS_LIST_MESSAGES = {\n GET: {\n ERROR_PARAMETERS: \"¡Ha ocurrido un error al obtener los parametros lista!\"\n },\n CREATE: {\n PARAMETER_LIST: \"¡El parametro lista ha sido guardado exitosamente!\",\n },\n}\n\nexport const USER_MESSAGES = {\n GET: {\n ERROR_USER: \"¡Ha ocurrido un error al realizar la búsqueda!\"\n },\n CREATE: {\n USER: \"¡El usuario fue guardado correctamente!\"\n },\n UPDATE: {\n USER: \"¡El usuario fue actualizado correctamente!\",\n PROFILE: \"¡Se ha actualizado correctamente la información del usuario!\"\n },\n}\n\nexport const REPORT_GROUP_MESSAGES = {\n GET: {\n ERROR_REPORT_GROUP: \"¡Ha ocurrido un error al obtener los grupos de reportes!\",\n ERROR_QUERY_USERS: \"¡Ha ocurrido un error obteniendo los usuarios!\"\n },\n CREATE: {\n REPORT_GROUP: \"¡El grupo de reportes ha sido guardado exitosamente!\",\n },\n UPDATE: {\n REPORT_GROUP_USER: \"¡El usuario fue agregado exitosamente!\"\n },\n DELETE: {\n QUESTION: \"¿Desea eliminar el usuario seleccionado?\",\n REPORT_GROUP_USER: \"¡El usuario fue eliminado exitosamente!\"\n }\n}\n\n\nexport const GENERIC_ERROR = \"¡Ha ocurrido un error inesperado!\";\n\nexport const CLOSE_SESSION = \"¿Deseas cerrar la sesión activa?\";\n\nexport const FIREBASE_MESSAGES = {\n ERROR_EMAIL: \"¡El correo ingresado no esta registrado!\",\n ERROR_INVALID_EMAIL: \"¡El correo ingresado no es valido!\",\n ERROR_PASSWORD: \"!La contraseña actual es incorrecta!\",\n ERROR_EMAIL_AND_PASSWORD: \"¡El correo o la contraseña no son válidos!\",\n ERROR_USER_DISABLED: \"¡La cuenta del usuario ingresado ha sido desactivada!\",\n ERROR_EXPIRED_OOB_CODE: \"¡El código para restablecer la contraseña ha expirado!\",\n ERROR_INVALID_OOB_CODE: \"¡El código para restablecer la contraseña es inválido!\",\n ERROR_INVALID_REFRESH_TOKEN: \"¡La sesión actual ha caducado!\",\n}\n\nexport const RESET_PASSWORD = \"¡Se ha enviado el correo para restablecer tu contraseña!\";\nexport const CHANGE_PASSWORD = \"¡Se ha actualizado tu contraseña exitosamente!\";\n","import { TipoParametro } from \"../features/data-visualization/reports/models/parametro\";\nimport { EstadosTareaReporte } from \"../features/tasks/tarea-reporte\";\nimport { Roles } from \"../features/user/user\";\n\nexport const ESTADO_TAREA_REPORTE: Map = new Map([\n [\n EstadosTareaReporte.PEND, 'Pendiente'\n ],\n [\n EstadosTareaReporte.ENEJ, 'En ejecución'\n ],\n [\n EstadosTareaReporte.FINA, 'Finalizado'\n ],\n [\n EstadosTareaReporte.CANC, 'Cancelado'\n ],\n [\n EstadosTareaReporte.FAIL, 'Falló'\n ],\n]);\n\n\nexport const TIPO_PARAMETRO: Map = new Map([\n [\n TipoParametro.string, 'Alfanumérico'\n ],\n [\n TipoParametro.number, 'Numérico'\n ],\n [\n TipoParametro.date, 'Fecha'\n ],\n [\n TipoParametro.boolean, 'Check'\n ],\n]);\n\nexport const TIPO_PARAMETRO_LIST: Map = new Map([\n [\n TipoParametro.string, 'Alfanumérico'\n ],\n [\n TipoParametro.number, 'Numérico'\n ],\n [\n TipoParametro.date, 'Fecha'\n ],\n]);\n\n\nexport const ROLES: Map = new Map([\n [\n Roles.user, 'Usuario'\n ],\n [\n Roles.admin, 'Administrador'\n ],\n [\n Roles.specialist, 'Especialista'\n ]\n]);\n\nexport enum ParameterExceptions {\n SYSTEM_USER = \"SYSTEM_USER\",\n }","import { AbstractControl, ValidatorFn, Validators } from \"@angular/forms\";\n\nexport interface ValidationResult {\n [key: string]: boolean;\n}\n\nexport class ValidationHelper {\n public static createError(name: string): ValidationResult {\n return { [name]: true };\n }\n}\n\nexport interface ReferenceControlAndValues {\n referenceControl: AbstractControl;\n comparableValue: T[] | boolean\n}\nexport class CustomValidators {\n /**\n * Validate if control is required by comparing another control\n */\n public static otherControlsRequired(referenceControls: ReferenceControlAndValues[]): ValidatorFn {\n return (control: AbstractControl) => {\n const validation: boolean = referenceControls.every((r) => {\n let compare = typeof r.comparableValue === 'boolean' ? r.comparableValue === r.referenceControl.value : r.comparableValue.find((v) => v === r.referenceControl.value)\n return !r.referenceControl.invalid && compare;\n });\n return validation ? Validators.required(control) : null;\n };\n }\n\n\n public static hasUpperCase(): ValidatorFn {\n return (control: AbstractControl): ValidationResult | null => {\n if (/[A-Z]/.test(control.value))\n return null;\n\n return ValidationHelper.createError('notUpper');\n };\n }\n\n public static hasNumber(): ValidatorFn {\n return (control: AbstractControl): ValidationResult | null => {\n if (/\\d/.test(control.value))\n return null;\n\n return ValidationHelper.createError('notNumber');\n };\n }\n\n public static isValueInRange(minLength: number, maxLength: number): ValidatorFn {\n return (control: AbstractControl): ValidationResult | null => {\n if (control.value?.length >= minLength && control.value?.length <= maxLength)\n return null;\n\n return ValidationHelper.createError('notValueInRange');\n };\n }\n\n\n public static notWhiteSpaces(): ValidatorFn {\n return (control: AbstractControl): ValidationResult | null => {\n if (/\\s/.test(control.value))\n return ValidationHelper.createError('notWhiteSpaces');\n\n return null;\n };\n }\n\n public static compareValues(leftControl: string, rightControl: string): ValidatorFn {\n return (control: AbstractControl): ValidationResult | null => {\n if (control.get(leftControl)?.value != control.get(rightControl)?.value)\n return ValidationHelper.createError('notEqual');\n\n return null;\n };\n }\n}","import { PageableData, Paginator } from \"../shared/models/paginator\";\n\nexport class PageableFunctions {\n\n /**\n * A function that get the pageable of a paginator ,note: For infinite scroll send previous data\n * @returns {PageableData}\n */\n public static getPageableData(data: Paginator, previousData?: T[]): PageableData {\n const newData = previousData ? previousData.concat(data.content) : data.content;\n const pageable: PageableData = {\n content: newData,\n itemsQuantity: newData.length,\n currentPage: data.number + 1,\n totalPages: data.totalPages,\n totalElements: data.totalElements\n }\n return pageable;\n }\n}","import { NgbDate } from '@ng-bootstrap/ng-bootstrap';\nimport { AbstractControl, FormArray } from \"@angular/forms\";\nimport { ParameterExceptions } from './constantes';\n\nexport class HelperFunctions {\n /**\n * A function that set the error clas if the control is invalid\n * @returns {string}\n */\n public static controlIsInvalid(control: AbstractControl): boolean {\n return (control?.invalid && (control?.dirty || control?.touched))\n }\n\n /**\n * A function that remove all entries in form array\n * @param {FormArray} formArray\n * @returns {void}\n */\n public static resetFormArray(formArray: FormArray): void {\n while (formArray.length !== 0) {\n formArray.removeAt(0);\n }\n }\n\n /**\n * A function that checks if it is a mobile device\n * @returns {boolean}\n */\n public static isMobile(): boolean {\n return window.innerWidth <= 768;\n }\n\n /**\n * Get the map value\n * @param {string} status\n * @param {Map} map\n * @returns {string}\n */\n public static getMapValue(status: string, map: Map): string {\n const newStatus = map.get(status);\n return newStatus ? newStatus : status;\n }\n /** Transform ngbdate to string\n * @param {NgbDate} date\n */\n public static getStringOfNgbDate(date: NgbDate): string {\n const formatDate = new Date(date.year, date.month - 1, date.day);\n const year = formatDate.toLocaleString('default', { year: 'numeric' });\n const month = formatDate.toLocaleString('default', { month: '2-digit' });\n const day = formatDate.toLocaleString('default', { day: '2-digit' });\n\n return [year, month, day].join('-');\n }\n\n public static getNgDate(value?: string) {\n let ngDate = null;\n if (value) {\n const date = new Date(value);\n ngDate = new NgbDate(date.getFullYear(), date.getMonth() + 1, date.getDate() + 1)\n }\n return ngDate;\n }\n\n /**\n * Validates if the parameter is SYSTEM_USER\n * @param {string} paramName\n * @returns {boolean}\n */\n public static validateSystemUser(paramName: string): boolean {\n return paramName === ParameterExceptions.SYSTEM_USER;\n }\n\n /**\n * This method sorts the reports by name property\n * @param {[]} reports\n * @param {string} property\n * @returns {[]}\n */\n public static sortByName(reports: any[], property: string): any[] {\n reports.sort((a, b) => {\n if (a[property] != null && b[property] != null) {\n let reportA = (a[property] as string).toLowerCase();\n let reportB = (b[property] as string).toLowerCase();\n if (reportA < reportB) { return -1; }\n if (reportA > reportB) { return 1; }\n return 0;\n } else {\n return 0;\n }\n });\n return reports;\n }\n\n}","export const environment = {\n production: false,\n urlBase: 'https://aplicacion-analitica-hvhxduzfkq-uc.a.run.app',\n firebaseConfig: {\n apiKey: \"AIzaSyCIEg6YTiVqe9PIHT-psoZfkfx3xl_c-PY\",\n authDomain: \"analitica-nv-pruebas.firebaseapp.com\",\n apiUrl: \"https://identitytoolkit.googleapis.com/v1\"\n }, \n KEY: \"AppAnaliticaKeyG\"\n};","import { enableProdMode } from '@angular/core';\nimport { platformBrowserDynamic } from '@angular/platform-browser-dynamic';\n\nimport { AppModule } from './app/app.module';\nimport { environment } from './environments/environment';\n\nif (environment.production) {\n enableProdMode();\n}\n\nplatformBrowserDynamic().bootstrapModule(AppModule)\n .catch(err => console.error(err));\n"],"names":["RouterModule","NotFoundComponent","routes","path","loadChildren","then","m","CoreModule","AuthModule","component","redirectTo","AppRoutingModule","forRoot","imports","exports","NavigationEnd","AppComponent","constructor","router","authService","modalService","ngOnInit","autoLogin","events","subscribe","event","dismissAll","selectors","decls","vars","template","i0","registerLocaleData","HTTP_INTERCEPTORS","HttpClientModule","localeEs","LOCALE_ID","BrowserModule","BrowserAnimationsModule","FontAwesomeModule","RequestInterceptor","AppModule","bootstrap","provide","useValue","useClass","multi","declarations","FIREBASE_MESSAGES","GENERIC_ERROR","BehaviorSubject","catchError","map","tap","throwError","Roles","environment","jwt_decode","AdminRoutes","Routes","SpecialistRoutes","AuthService","http","currentUserSubject","currentUser$","asObservable","user","getValue","login","email","password","userLogin","returnSecureToken","apiUrl","apiKey","firebaseConfig","post","pipe","error","handleError","isLoggedIn","result","handleAuthentication","refreshToken","refresh_token","grant_type","logout","idToken","id_token","expiresIn","expires_in","sendEmailResetPassword","resetPassword","requestType","oobCode","newPassword","changePassword","request","token","decodeToken","decodedToken","nombre","name","apellido","lastName","activo","uuid","user_id","localStorage","setItem","JSON","stringify","rol","role","next","getUserRoutes","admin","specialist","errorRes","errorMessage","message","ERROR_EMAIL","ERROR_INVALID_EMAIL","ERROR_PASSWORD","ERROR_EMAIL_AND_PASSWORD","ERROR_USER_DISABLED","ERROR_INVALID_OOB_CODE","ERROR_EXPIRED_OOB_CODE","ERROR_INVALID_REFRESH_TOKEN","parse","getItem","userData","removeItem","navigate","factory","providedIn","inject","Router","AuthGuard","route","state","canActivateChild","switchMap","intercept","req","url","includes","clone","headers","set","handle","err","handleRefreshToken","statusCode","data","newReq","FormControl","FormGroup","Validators","HelperFunctions","delay","finalize","RESET_PASSWORD","ResetPasswordComponent","ngbActiveModal","emailForm","required","modalConfig","modalTitle","hasErrors","controlIsInvalid","get","onSubmit","valid","isLoading","value","close","confirmTitle","isError","markAllAsTouched","consts","ctx","CoreComponent","pathMatch","children","HomeModule","DataVisualizationModule","UserModule","FavoritesModule","TasksModule","AdminModule","HelpModule","canActivate","CoreRoutingModule","forChild","filter","DefaultRoutes","location","setHeaderTitle","_","pathName","getPathName","title","find","home","mainPath","dataVisualization","subroute","subroutes","onToggleSideNav","screenWidth","isMobile","isSideNavCollapsed","isCollapsed","getBodyClass","styleClass","SharedModule","HeaderComponent","SidebarComponent","faCaretDown","CLOSE_SESSION","getConfirmacionModal","inputs","FeatureRoutes","icon","reports","boards","favorites","tasks","animate","style","transition","trigger","EventEmitter","elementRef","renderer","window","innerWidth","setCollapsed","onResize","toggleCollapsed","resetCollapse","emit","closeCollapsed","expandedList","nativeElement","querySelector","child","collapse","expanded","removeClass","addClass","getTrimmedName","replace","hostBindings","opacity","FormArray","TipoParametro","TIPO_PARAMETRO_LIST","faCircleXmark","take","takeWhile","v4","uuidv4","CustomValidators","PARAMETERS_LIST_MESSAGES","ManageParameterListComponent","parameterListService","parameterList","prepareData","initForm","updateTypeStatus","updateSourceStatus","sources$","getParameterSources","isSourceType","origen","hasType","tipoParametro","values","valores","source","addSource","parameterListForm","maxLength","type","string","disabled","otherControlsRequired","referenceControl","comparableValue","options","option","sources","push","getControl","valueChanges","isAlive","hasOptions","resetFormArray","updateValueAndValidity","getOptionInput","customInput","id","label","isRow","length","control","saveParameterList","subscription","updateParameterList","createParameterList","response","CREATE","PARAMETER_LIST","param","getRawValue","ngOnDestroy","ParameterListService","pageableService","getParametersList","page","pageQuantity","header","order","getData","urlBase","getParamListByFilters","search$","searchData","put","REPORT_GROUP_MESSAGES","ManageReportGroupComponent","reportGroupService","undefined","reportGroup","reportGroupForm","description","descripcion","groupData","saveReportGroup","updateReportGroup","createReportGroup","REPORT_GROUP","ReportGroupService","getReportGroups","reportGroupsUrl","getReportGroupListByFilters","getUsers","reportGroupUsersUrl","getUsersByFilters","reportGroupId","usersNotAssociatedUrl","addUserToReportGroup","userUuid","deleteUserFromReportGroup","delete","getReportGroup","addAllReportGroupsToUser","REPORT_LIST_HEADERS","key","sort","hasFilters","faFilter","PageableFunctions","REPORT_MESSAGES","ReportListComponent","reportService","pageable","content","currentPage","totalPages","itemsQuantity","totalElements","getReportsByFilters","getPageableData","toggleFilters","enableFilters","changePage","getReportsByReportGroup","GET","ERROR_REPORTS","BOARD_MESSAGES","faEllipsis","BoardItemComponent","boardsService","canInactivate","onFavorite","setFavorite","board","favorito","removeFavorite","UPDATE","ERROR_FAVORITE","loadEmbeddedBoard","navigateByUrl","deleteBoard","DELETE","QUESTION","closeTitle","disableBoard","BOARD","outputs","BoardsService","getBoardsByArea","areaId","reportType","getBoard","boardId","getBoardEmbedConfig","boardSource","createBoard","ReportDataComponent","reportsService","tableData","reportTask","initReportData","getReportTaskData","reportData","filteredData","x","i","index","setTableData","setPages","limit","Math","ceil","minQuantity","pages","Array","from","maxQuantity","slice","quantity","actualPage","orderData","a","b","filterByColumn","trim","toString","toLowerCase","concatMap","ReportItemComponent","hasPermission","loadData","getReportParameters","report","parameters","parametros","openModal","generateTask","GENERATE","REPORT","hasOpenModals","modal","getReportParametersModal","tareaReporte","reporte","usuario","generateReportTask","editReport","faAngleDown","ReportParametersComponent","reportForm","sortReports","initParametersForm","orden","forEach","parametro","paramList","parametroLista","isMultiple","multipleValor","defaultValue","v","valorXDefecto","hasList","initParamValue","setDefaultValueMultiple","setValidator","date","setDefaultValueDate","boolean","setDefaultValueBoolean","defaultSystemUser","validateSystemUser","setDefaultValue","paramName","parameter","requerido","getNgDate","toLocaleLowerCase","getParametersValues","getParamInfo","controls","getParameterValue","setReportTask","getStringOfNgbDate","valor","getCustomInput","alias","isList","ReportsService","getReportsByArea","reportId","taskId","getQueryReports","createReport","updateReport","getQueryParameters","query","getReport","TipoReporte","EstadosTareaReporte","CHANGE_PASSWORD","ChangePasswordComponent","oldPassword","markAsTouched","of","ROLES","USER_MESSAGES","ManageUserComponent","userService","actionTitle","actionButton","userForm","setUserData","createUpdateUser","newUser","updateUser","createUser","USER","ReportGroupToUserComponent","initQueryControl","getUserReportGroups","queryControl","currentUser","selectedReportGroups","addReportGroup","isDuplicate","search","addAllReportGroups","checkAdminRole","removeReportGroup","element","saveReportGroupList","setReportGroups","UserService","usersUrl","changeUserStatus","updateProfile","reportGroups","faStar","faStarRegular","CardComponent","favoriteEvent","favorite","setIcon","ngContentSelectors","faCircleExclamation","ConfirmationModalComponent","body","Subject","debounceTime","distinctUntilChanged","merge","DynamicTypeaheadComponent","prop","text$","debouncedText$","clicksWithClosedPopup$","click$","instance","isPopupOpen","inputFocus$","focus$","alive","term","method","paginator","numberOfElements","number","results","currentResults","filterOptions","onSelect","item","selectEvent","resetInput","preventDefault","viewQuery","ModalComponent","config","backdrop","dismiss","MultipleInputComponent","formArray","formatValue","input","parameterType","addValue","ngOnChanges","changes","currentValue","previousValue","reset","isValid","every","removeParameterValue","removeAt","features","PaginatorComponent","onChangePage","changePageEvent","maxSize","PasswordComponent","passwordForm","isValueInRange","hasUpperCase","hasNumber","notWhiteSpaces","confirmPassword","compareValues","getError","errors","passwordEvent","hasSubmitted","ScrollPaginatorComponent","onLoadPage","loadPageEvent","selector","fromRoot","isStatic","ScrolldownButtonComponent","setScrollDown","section","document","getElementById","scrollBy","top","scrollDown","left","behavior","rotate","asc","desc","TableComponent","onSearch","target","searchEvent","onSort","changeSortingIcon","sortEvent","orderIcon","filters","tableLabel","TypeInputComponent","shareReplay","TypeaheadComponent","originalSearchOptions","indexOf","searchOptions","ModalService","open","getResetPasswordModal","ngbModalRef","size","keyboard","centered","getChangePasswordModal","confirmation","componentInstance","getReportTaskDataModal","getManageParameterListModal","getManageUserModal","getConfigUserModal","getManageReportGroupModal","getReportListModal","GENERIC_MESSAGES","PageableService","params","column","ERROR_SEARCH","CommonModule","ReactiveFormsModule","NgxLoadingModule","NgbDatepickerModule","NgbPaginationModule","NgbTooltipModule","NgbTypeaheadModule","NgxMaskDirective","NgxMaskPipe","provideNgxMask","InfiniteScrollModule","primaryColour","secondaryColour","tertiaryColour","backdropBackgroundColour","backdropBorderRadius","ERROR_PARAMETERS","ERROR_QUERY_REPORTS","ERROR_LATEST_REPORTS","ERROR_SOURCE_BOARD","ERROR_BOARDS","ERROR_EMBED_BOARD","ERROR_RECENT_BOARDS","TASK_REPORT_MESSAGES","ERROR_USER","PROFILE","ERROR_REPORT_GROUP","ERROR_QUERY_USERS","REPORT_GROUP_USER","ESTADO_TAREA_REPORTE","Map","PEND","ENEJ","FINA","CANC","FAIL","TIPO_PARAMETRO","ParameterExceptions","ValidationHelper","createError","referenceControls","validation","r","compare","invalid","test","minLength","leftControl","rightControl","previousData","newData","concat","NgbDate","dirty","touched","getMapValue","status","newStatus","formatDate","Date","year","month","day","toLocaleString","join","ngDate","getFullYear","getMonth","getDate","SYSTEM_USER","sortByName","property","reportA","reportB","production","authDomain","KEY","enableProdMode","__NgCli_bootstrap_1","bootstrapModule","catch","console"],"sourceRoot":"webpack:///","x_google_ignoreList":[]}