{"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/core/base/FormBase.ts","./src/app/core/base/NodeParams.ts","./src/app/core/base/Progress.ts","./src/app/core/constants/FileType.ts","./src/app/core/constants/MaterialIconSvg.ts","./src/app/core/constants/QuestionType.ts","./src/app/core/constants/ResourceType.ts","./src/app/core/constants/RolesHLMRA.ts","./src/app/core/constants/RolesRA.ts","./src/app/core/constants/RolesValladolid.ts","./src/app/core/constants/StorageKeys.ts","./src/app/core/constants/System.ts","./src/app/core/constants/Themes.ts","./src/app/core/guards/authentication.guard.ts","./src/app/core/guards/session.guard.ts","./src/app/core/interceptors/http-error-interceptor.ts","./src/app/core/interceptors/interceptors.ts","./src/app/core/interceptors/jwt-interceptor.ts","./src/app/core/mappers/authentication/login.map.ts","./src/app/core/mappers/catalog/catalog.ts","./src/app/core/route-reuse-strategy/route-reuse-strategy.ts","./src/app/core/services/answer/answer.service.ts","./src/app/core/services/authentication/authentication-configuration.service.ts","./src/app/core/services/authentication/authentication.service.ts","./src/app/core/services/configuration/material-icon-registry.service.ts","./src/app/core/services/configuration/theme.service.ts","./src/app/core/services/node/node.service.ts","./src/app/core/services/notification/alert.service.ts","./src/app/core/services/question-bank/question-bank.service.ts","./src/app/core/services/question-type/question-type.service.ts","./src/app/core/services/question/question.service.ts","./src/app/core/services/resource-type/resource-type.service.ts","./src/app/core/services/resource/resource.service.ts","./src/app/core/services/spinner/spinner.service.ts","./src/app/core/services/storage/local-storage.service.ts","./src/app/core/services/user/user-configuration.service.ts","./src/app/core/utils/file-type.ts","./src/app/core/utils/system.ts","./src/app/core/utils/to-base-64.ts","./src/app/core/utils/url.ts","./src/app/shared/components/answer/answer-base.ts","./src/app/shared/components/answer/image-multiple-answer/image-multiple-answer.component.ts","./src/app/shared/components/answer/image-multiple-answer/image-multiple-answer.component.html","./src/app/shared/components/answer/multiple-answer/multiple-answer.component.ts","./src/app/shared/components/answer/multiple-answer/multiple-answer.component.html","./src/app/shared/components/answer/open-answer/open-answer.component.ts","./src/app/shared/components/answer/open-answer/open-answer.component.html","./src/app/shared/components/answer/relational-answer/relational-answer.component.ts","./src/app/shared/components/answer/relational-answer/relational-answer.component.html","./src/app/shared/components/answer/true-false-answer/true-false-answer.component.ts","./src/app/shared/components/answer/true-false-answer/true-false-answer.component.html","./src/app/shared/components/confirm-dialog/confirm-dialog.component.ts","./src/app/shared/components/confirm-dialog/confirm-dialog.component.html","./src/app/shared/components/container-document-dialog/multimedia-dialog.component.ts","./src/app/shared/components/container-document-dialog/multimedia-dialog.component.html","./src/app/shared/components/content-empty/content-empty.ts","./src/app/shared/components/content-empty/content-empty.html","./src/app/shared/components/content-main-header/content-main-header.ts","./src/app/shared/components/content-main-header/content-main-header.html","./src/app/shared/components/content-main/content-main.ts","./src/app/shared/components/content-main/content-main.html","./src/app/shared/components/header/header.ts","./src/app/shared/components/header/header.html","./src/app/shared/components/main/main.ts","./src/app/shared/components/main/main.html","./src/app/shared/components/menu/menu.ts","./src/app/shared/components/menu/menu.html","./src/app/shared/components/multimedia-dialog/multimedia-dialog.ts","./src/app/shared/components/multimedia-dialog/multimedia-dialog.html","./src/app/shared/components/multimedia/multimedia.component.ts","./src/app/shared/components/multimedia/multimedia.component.html","./src/app/shared/components/reagent/reagent-form-base/reagent-form-base.ts","./src/app/shared/components/reagent/reagent-table-base/reagent-table-base.ts","./src/app/shared/components/reagent/reagent/reagent-base.ts","./src/app/shared/components/sidebar-filter/sidebar-filter.ts","./src/app/shared/components/sidebar-filter/sidebar-filter.html","./src/app/shared/components/sidebar/sidebar.ts","./src/app/shared/components/sidebar/sidebar.html","./src/app/shared/components/success-dialog/success-dialog.component.ts","./src/app/shared/components/success-dialog/success-dialog.component.html","./src/app/shared/directives/auto-focus.directive.ts","./src/app/shared/directives/click-focus-remove.directive.ts","./src/app/shared/directives/filter-node-base.ts","./src/app/shared/directives/filter-node-base_pl.ts","./src/app/shared/directives/number-integer.directive.ts","./src/app/shared/directives/number.directive.ts","./src/app/shared/modules/MatPaginatorIntlSpanish.ts","./src/app/shared/modules/material.module.ts","./src/app/shared/modules/native/card/card/card.component.ts","./src/app/shared/modules/native/card/card/card.component.html","./src/app/shared/modules/native/card/module.ts","./src/app/shared/modules/native/module.ts","./src/app/shared/modules/native/paginator/module.ts","./src/app/shared/modules/native/paginator/paginator-config.ts","./src/app/shared/modules/native/paginator/paginator-intl.ts","./src/app/shared/modules/native/paginator/paginator.ts","./src/app/shared/modules/native/paginator/paginator.html","./src/app/shared/modules/native/tabs/module.ts","./src/app/shared/modules/native/tabs/paginated-tab-header/paginated-tab-header.ts","./src/app/shared/modules/native/tabs/tab-body/tab-body.ts","./src/app/shared/modules/native/tabs/tab-body/tab-body.html","./src/app/shared/modules/native/tabs/tab-content/tab-content.ts","./src/app/shared/modules/native/tabs/tab-group/tab-config.ts","./src/app/shared/modules/native/tabs/tab-group/tab-group.ts","./src/app/shared/modules/native/tabs/tab-group/tab-group.html","./src/app/shared/modules/native/tabs/tab-header/tab-header.ts","./src/app/shared/modules/native/tabs/tab-header/tab-header.html","./src/app/shared/modules/native/tabs/tab-label/tab-label.ts","./src/app/shared/modules/native/tabs/tab/tab.ts","./src/app/shared/modules/native/tabs/tab/tab.html","./src/app/shared/modules/native/tabs/tabs-animations/tabs-animations.ts","./src/app/shared/modules/ngx-select/components/dropdown-treeview/dropdown-treeview.component.ts","./src/app/shared/modules/ngx-select/components/dropdown-treeview/dropdown-treeview.component.html","./src/app/shared/modules/ngx-select/components/treeview-item/treeview-item.component.ts","./src/app/shared/modules/ngx-select/components/treeview-item/treeview-item.component.html","./src/app/shared/modules/ngx-select/components/treeview/treeview.component.ts","./src/app/shared/modules/ngx-select/components/treeview/treeview.component.html","./src/app/shared/modules/ngx-select/directives/dropdown-menu.directive.ts","./src/app/shared/modules/ngx-select/directives/dropdown-toggle.directive.ts","./src/app/shared/modules/ngx-select/directives/dropdown.directive.ts","./src/app/shared/modules/ngx-select/models/treeview-config.ts","./src/app/shared/modules/ngx-select/models/treeview-i18n.ts","./src/app/shared/modules/ngx-select/models/treeview-item.ts","./src/app/shared/modules/ngx-select/pipes/treeview.pipe.ts","./src/app/shared/modules/ngx-select/treeview.module.ts","./src/app/shared/pipes/file-type-icon.pipe.ts","./src/app/shared/pipes/join-plain.pipe.ts","./src/app/shared/pipes/resource-type-icon.pipe.ts","./src/app/shared/pipes/safe.pipe.ts","./src/app/shared/shared.module.ts","./src/environments/environment.ts","./src/main.ts"],"sourcesContent":["import { NgModule } from '@angular/core';\r\nimport { RouterModule, Routes } from '@angular/router';\r\nimport { AuthenticationGuard } from '@guards//authentication.guard';\r\nimport { SessionGuard } from '@guards//session.guard';\r\n\r\n\r\nconst routes: Routes = [\r\n {\r\n path: 'auth',\r\n loadChildren: () => import('./authentication/authentication.module').then((m) => m.AuthenticationModule),\r\n canActivate:[SessionGuard],\r\n },\r\n {\r\n path: 'app',\r\n loadChildren: () => import('./pages/pages.module').then((m) => m.PagesModule),\r\n canLoad:[AuthenticationGuard],\r\n canActivate:[AuthenticationGuard],\r\n },\r\n {\r\n path: '**',\r\n redirectTo: 'auth'\r\n }\r\n];\r\n\r\n@NgModule({\r\n imports: [RouterModule.forRoot(routes)],\r\n exports: [RouterModule]\r\n})\r\nexport class AppRoutingModule { }\r\n","import { Component } from '@angular/core';\r\n// SERVICES\r\nimport { MaterialIconRegistryService } from '@services/configuration/material-icon-registry.service';\r\n\r\n@Component({\r\n selector: 'app-root',\r\n templateUrl: './app.component.html',\r\n styleUrls: ['./app.component.scss']\r\n})\r\nexport class AppComponent {\r\n\r\n constructor(\r\n private matIconRegistryService: MaterialIconRegistryService) {\r\n this.matIconRegistryService.setUp();\r\n }\r\n\r\n}\r\n","\r\n\r\n","// MODULES APP\r\nimport { LOCALE_ID, NgModule } from '@angular/core';\r\nimport { BrowserModule } from '@angular/platform-browser';\r\nimport { RouteReuseStrategy } from '@angular/router';\r\nimport { BrowserAnimationsModule } from '@angular/platform-browser/animations';\r\nimport { registerLocaleData } from '@angular/common';\r\nimport localeMXN from '@angular/common/locales/es-MX';\r\nimport { AppRoutingModule } from './app-routing.module';\r\nimport { HTTP_INTERCEPTORS, HttpClientModule } from '@angular/common/http';\r\nimport { SharedModule } from '@shared/shared.module';\r\n// COMPONENTS\r\nimport { AppComponent } from './app.component';\r\n// INTERCEPTORS\r\nimport { INTERCEPTOR_PROVIDERS_GLOBALS } from '@interceptors/interceptors';\r\nimport { CustomRouteReuseStategy } from './core/route-reuse-strategy/route-reuse-strategy';\r\nimport { FileSaverModule } from 'ngx-filesaver';\r\n\r\nregisterLocaleData(localeMXN, 'es-MX');\r\n\r\nconst MODULES = [\r\n\tBrowserModule,\r\n\tBrowserAnimationsModule,\r\n\tAppRoutingModule,\r\n\tSharedModule,\r\n\tHttpClientModule,\r\n\tFileSaverModule,\r\n];\r\n\r\nconst COMPONENTS = [\r\n AppComponent,\r\n];\r\n\r\n@NgModule({\r\n declarations: [...COMPONENTS],\r\n imports: [...MODULES],\r\n providers: [\r\n ...INTERCEPTOR_PROVIDERS_GLOBALS,\r\n { provide: LOCALE_ID, useValue: 'es-MX' },\r\n { provide: RouteReuseStrategy, useClass: CustomRouteReuseStategy }\r\n ],\r\n bootstrap: [AppComponent]\r\n})\r\nexport class AppModule {}\r\n","import { AbstractControl, FormArray, FormGroup } from '@angular/forms';\r\n\r\nenum TYPE_ERROR {\r\n\trequired = 'required',\r\n\tmaxlength = 'maxlength',\r\n\temail = 'email',\r\n\taceptedTerms = 'isAceptedTerms',\r\n\tvalidPassword = 'isValidPassword',\r\n\tpattern = 'pattern',\r\n\tdateInitInvalid = 'dateInitInvalidRange',\r\n\tdateEndInvalid = 'dateEndInvalidRange',\r\n}\r\nexport abstract class FormBase {\r\n\tabstract form: FormGroup;\r\n\tformSubmitted: boolean = false;\r\n\r\n\tformControl(name: string) {\r\n\t\treturn this.form.controls[name];\r\n\t}\r\n\r\n\tgetErrors(name: string): string[] {\r\n\t\tconst control = this.formControl(name);\r\n\t\treturn Object.keys(control?.errors || {});\r\n\t}\r\n\r\n getKeysForm(key: string){\r\n let errors = this.form.errors || {}\r\n let isExistkey = Object.keys(errors).includes(key);\r\n\r\n return isExistkey ? Object.keys(errors).find(item => item === key) : '';\r\n }\r\n\r\n\thasError(name: string) {\r\n\t\tconst control = this.formControl(name);\r\n\t\tif (control.touched) {\r\n\t\t\treturn this.getErrors(name).length > 0;\r\n\t\t} else {\r\n\t\t\treturn this.getErrors(name).length > 0 && this.formSubmitted;\r\n\t\t}\r\n\t}\r\n\r\n\thasErrorForm(name: string) {\r\n\t\tconst error = this.getKeysForm(name);\r\n return error ? true : false;\r\n\t}\r\n\r\n\tgetErrorMessages(name: string): string[] {\r\n\t\treturn this.getErrors(name).map((x) => {\r\n return this.switchErrors(x);\r\n\t\t});\r\n\t}\r\n\r\n switchErrors(value: string){\r\n switch (value) {\r\n case TYPE_ERROR.required:\r\n return `Campo requerido`;\r\n case TYPE_ERROR.maxlength:\r\n return `Longitud del campo excedida`;\r\n case TYPE_ERROR.email:\r\n return `Correo inválido`;\r\n case TYPE_ERROR.pattern:\r\n return `No cumple con el formato`;\r\n case TYPE_ERROR.aceptedTerms:\r\n return `Debe aceptar los términos y condiciones`;\r\n case TYPE_ERROR.validPassword:\r\n return `Las contraseñas deben ser iguales`;\r\n case TYPE_ERROR.dateInitInvalid:\r\n return `La fecha inicio no es válida`;\r\n case TYPE_ERROR.dateEndInvalid:\r\n return `La fecha final no es válida`;\r\n default:\r\n console.log(value);\r\n return 'Error';\r\n }\r\n }\r\n\r\n\tgetFirstErrorMessage(name: string): string {\r\n\t\treturn this.getErrorMessages(name)[0] || '';\r\n\t}\r\n\r\n\tgetFirstErrorMessageForm(key: string): string {\r\n let keyExist = this.getKeysForm(key);\r\n return keyExist ? this.switchErrors(keyExist || '') : '';\r\n\t}\r\n\r\n\thasRequiredError(name: string) {\r\n\t\tconst control = this.formControl(name);\r\n\t\tif (control.touched) {\r\n\t\t\treturn control.getError('required');\r\n\t\t} else {\r\n\t\t\treturn control.getError('required') && this.formSubmitted;\r\n\t\t}\r\n\t}\r\n\r\n\tgetFile($event: Event): File {\r\n\t\tconst target = $event.target as HTMLInputElement;\r\n\t\tconst files = target.files as FileList;\r\n\t\treturn files[0];\r\n\t}\r\n}\r\n\r\nexport abstract class FormArrayBase {\r\n\tabstract form: FormGroup;\r\n\tformSubmitted: boolean = false;\r\n\r\n\tformControlArray(index: number, nameArray: string, name: string): AbstractControl {\r\n\t\tconst formArray = this.form.controls[nameArray] as FormArray;\r\n\t\tconst form = formArray.controls.at(index) as FormGroup;\r\n\t\treturn form.controls[name];\r\n\t}\r\n\r\n\tgetErrors(index: number, nameArray: string, name: string): string[] {\r\n\t\tconst control = this.formControlArray(index, nameArray, name);\r\n\t\treturn Object.keys(control?.errors || {});\r\n\t}\r\n\r\n\thasError(index: number, nameArray: string, name: string) {\r\n\t\tconst control = this.formControlArray(index, nameArray, name);\r\n\t\tif (control.touched) {\r\n\t\t\treturn this.getErrors(index, nameArray, name).length > 0;\r\n\t\t} else {\r\n\t\t\treturn this.getErrors(index, nameArray, name).length > 0 && this.formSubmitted;\r\n\t\t}\r\n\t}\r\n\r\n\tgetErrorMessages(index: number, nameArray: string, name: string): string[] {\r\n\t\treturn this.getErrors(index, nameArray, name).map((x) => {\r\n\t\t\tswitch (x) {\r\n\t\t\t\tcase TYPE_ERROR.required:\r\n\t\t\t\t\treturn `Campo requerido`;\r\n\t\t\t\tcase TYPE_ERROR.maxlength:\r\n\t\t\t\t\treturn `Longitud del campo excedido`;\r\n\t\t\t\tcase TYPE_ERROR.email:\r\n\t\t\t\t\treturn `Correo inválido`;\r\n\t\t\t\tdefault:\r\n\t\t\t\t\tconsole.log(x);\r\n\t\t\t\t\treturn 'Error';\r\n\t\t\t}\r\n\t\t});\r\n\t}\r\n\r\n\tgetFirstErrorMessage(index: number, nameArray: string, name: string): string {\r\n\t\treturn this.getErrorMessages(index, nameArray, name)[0] || '';\r\n\t}\r\n\r\n\thasRequiredError(index: number, nameArray: string, name: string) {\r\n\t\tconst control = this.formControlArray(index, nameArray, name);\r\n\t\tif (control.touched) {\r\n\t\t\treturn control.getError('required');\r\n\t\t} else {\r\n\t\t\treturn control.getError('required') && this.formSubmitted;\r\n\t\t}\r\n\t}\r\n\r\n\tgetFile($event: Event): File {\r\n\t\tconst target = $event.target as HTMLInputElement;\r\n\t\tconst files = target.files as FileList;\r\n\t\treturn files[0];\r\n\t}\r\n}\r\n","import { HttpParams } from \"@angular/common/http\";\r\nimport { Node } from \"@models/node/Node\";\r\n\r\nexport class NodeParams {\r\n public getParams(node: Node) {\r\n let params = new HttpParams();\r\n if (node.nodeId) {\r\n params = params.append('nodeId', node.nodeId);\r\n }\r\n if (node.filter) {\r\n params = params.append('filter', node.filter);\r\n }\r\n if (node.fileTypeId) {\r\n params = params.append('fileTypeId', node.fileTypeId);\r\n }\r\n if (node.currentPage) {\r\n params = params.append('currentPage', node.currentPage);\r\n }\r\n if (node.sizePage) {\r\n params = params.append('sizePage', node.sizePage);\r\n }\r\n if (node.pageSize) {\r\n params = params.append('pageSize', node.pageSize);\r\n }\r\n if (node.searchId) {\r\n params = params.append('searchId', node.searchId);\r\n }\r\n if (node.active) {\r\n params = params.append('active', node.active);\r\n }\r\n return params;\r\n }\r\n}\r\n","// DOC REF\r\n// https://blog.devgenius.io/file-upload-with-progress-bar-in-angular-13-76adb3380f18\r\nimport { HttpEvent, HttpEventType } from '@angular/common/http';\r\nimport { Response } from '@models/response-api/ResponseApi';\r\n\r\nexport class Progress {\r\n static handleProgress(event: HttpEvent) : [boolean, number, Response?] {\r\n if (event.type === HttpEventType.UploadProgress) {\r\n const progress = Math.round((100 * event.loaded) / event.total!);\r\n return [false, progress];\r\n } else if (event.type === HttpEventType.Response) {\r\n const data = event?.body as Response;\r\n return [true, 100, data];\r\n } else {\r\n return [false, 0];\r\n }\r\n }\r\n}","export enum FILE_TYPE {\r\n\t'videos' = 5,\r\n\t'audios' = 6,\r\n\t'documents' = 7,\r\n\t'interactive' = 8, // Interactivo\r\n\t'readingPlan' = 9, // Plan lector\r\n\t'presentationsPlenaries' = 10, // Presentaciones/Plenarias\r\n\t'guides' = 11, // Guías\r\n\t'placesInterest' = 13, // Sitios en interés\r\n\t'softwareFree' = 14, // Software gratuito\r\n\t'educationalServices' = 15, // Servicios pedagógicos\r\n\t'help' = 16,\r\n\t'textBooks' = 18, // Libros de texto\r\n\t'digitalTextBooks' = 19, // Libros de texto digital\r\n\t'presentations' = 20, // Presentaciones\r\n\t'dosage' = 21, // Dosificaciones\r\n\t'cuadernillos' = 22,\r\n\t'baldor' = 23,\r\n\t'nuevaEscuelaMexicana' = 24,\r\n\t'solucionarios' = 25,\r\n\t'presentacionesWebinar' = 26,\r\n\t'novedades' = 30,\r\n\t'posters' = 31,\r\n}\r\n\r\nexport const FILE_TYPE_AUDIO: number[] = [FILE_TYPE.audios, FILE_TYPE.presentations];\r\nexport const FILE_TYPE_VIDEO: number[] = [FILE_TYPE.videos];\r\nexport const FILE_TYPE_LINK: number[] = [\r\n\tFILE_TYPE.interactive,\r\n\tFILE_TYPE.digitalTextBooks,\r\n];\r\nexport const FILE_TYPE_DOWNLOAD: number[] = [FILE_TYPE.audios, FILE_TYPE.videos];\r\nexport const FILE_TYPE_PDF = [\r\n\tFILE_TYPE.documents,\r\n\tFILE_TYPE.guides,\r\n\tFILE_TYPE.help,\r\n\tFILE_TYPE.textBooks,\r\n\tFILE_TYPE.dosage,\r\n\tFILE_TYPE.solucionarios,\r\n\tFILE_TYPE.presentacionesWebinar,\r\n\tFILE_TYPE.cuadernillos,\r\n\tFILE_TYPE.baldor,\r\n\tFILE_TYPE.nuevaEscuelaMexicana,\r\n\tFILE_TYPE.novedades,\r\n\tFILE_TYPE.posters,\r\n];\r\n","export const MATERIAL_ICON_SVG: {icon: string, path: string}[] = [\r\n // EXAMPLE\r\n // {\r\n // icon: 'bell-on',\r\n // path: '../assets/icons/bell-on.svg',\r\n // },\r\n];","export enum QUESTION_TYPE {\r\n MULTI = 1,\r\n OPEN = 2,\r\n RELATIONAL = 3,\r\n TRUE_AND_FALSE = 4,\r\n IMAGE_MULTI = 5,\r\n}","export enum RESOURCE_TYPE {\r\n 'images' = 1,\r\n 'videos' = 4,\r\n 'documents' = 5,\r\n 'audios' = 6,\r\n 'others' = 7,\r\n}","export const ROLES = [\r\n {\r\n\t\tid: 73,\r\n\t\tname: 'Alumno',\r\n description: 'Alumno',\r\n active: true\r\n\t},\r\n {\r\n\t\tid: 82,\r\n\t\tname: 'Alumno Bachillerato',\r\n description: 'Alumno Bachillerato',\r\n active: true\r\n\t},\r\n {\r\n\t\tid: 72,\r\n\t\tname: 'Profesor',\r\n description: 'Profesor que imparte cursos',\r\n active: true\r\n\t},\r\n {\r\n\t\tid: 81,\r\n\t\tname: 'Profesor Bachillerato',\r\n description: '',\r\n active: true\r\n\t},\r\n {\r\n\t\tid: 98,\r\n\t\tname: 'Profesor COBACH',\r\n description: 'Profesor que imparte cursos',\r\n active: true\r\n\t},\r\n {\r\n\t\tid: 99,\r\n\t\tname: 'Alumno COBACH',\r\n description: '',\r\n active: true\r\n\t},\r\n];","export const ROLES = [\r\n {\r\n\t\tid: 85,\r\n\t\tname: 'Alumno',\r\n description: 'Alumno',\r\n active: true\r\n\t},\r\n {\r\n\t\tid: 84,\r\n\t\tname: 'Profesor',\r\n description: 'Profesor que imparte cursos',\r\n active: true\r\n\t},\r\n];","export const ROLES = [\r\n {\r\n\t\tid: 88,\r\n\t\tname: 'Alumno',\r\n description: 'Alumno',\r\n active: true\r\n\t},\r\n {\r\n\t\tid: 87,\r\n\t\tname: 'Profesor',\r\n description: 'Profesor Valladolid',\r\n active: true\r\n\t},\r\n // {\r\n\t// \tid: 92,\r\n\t// \tname: 'Profesor Preescolar',\r\n // description: '',\r\n // active: false\r\n\t// },\r\n // {\r\n\t// \tid: 93,\r\n\t// \tname: 'Profesor Primaria',\r\n // description: '',\r\n // active: false\r\n\t// },\r\n];","export const STORAGE_KEYS = Object.freeze({\r\n USER: 'USER',\r\n PERMISSIONS: 'PERMISSIONS',\r\n SYSTEM: 'SYSTEM',\r\n});","import { SYSTEM_THEMES } from '@constants/Themes';\r\nimport { System } from '@models/System';\r\nimport { ROLES as ROLES_VALLADOLID } from './RolesValladolid';\r\nimport { ROLES as ROLES_HLMRA } from './RolesHLMRA';\r\nimport { ROLES as ROLES_RA } from './RolesRA';\r\n\r\nexport enum SYSTEMS {\r\n SALI = 1,\r\n HLMRA = 2,\r\n RA = 3,\r\n VALLADOLID = 4,\r\n};\r\n\r\nexport const VALLADOLID: System = {\r\n\tid: SYSTEMS.VALLADOLID,\r\n\tname: 'Valladolid',\r\n\ttheme: SYSTEM_THEMES.valladolid,\r\n\tprimaryColor: '#002161',\r\n\tlogin: '/auth/sign-in-valladolid',\r\n readingPlanNodeId: 3385,\r\n\tlogoFirst: 'assets/logos/valladolid/logo_valladolid.svg',\r\n\tlogoSecondary: 'assets/logos/valladolid/logo_multiversidad.svg',\r\n\troles: ROLES_VALLADOLID,\r\n};\r\n\r\nexport const RA: System = {\r\n\tid: SYSTEMS.RA,\r\n\tname: 'Recursos Académicos',\r\n\ttheme: SYSTEM_THEMES.ra,\r\n\tprimaryColor: '#002161',\r\n\tlogin: '/auth/sign-in-ra',\r\n readingPlanNodeId: 3531,\r\n\tlogoFirst: 'assets/logos/ra/logo.svg',\r\n\troles: ROLES_RA,\r\n};\r\n\r\nexport const HLMRA: System = {\r\n\tid: SYSTEMS.HLMRA,\r\n\tname: 'HLMRA',\r\n\ttheme: SYSTEM_THEMES.hlmra,\r\n\tprimaryColor: '#002161',\r\n\tlogin: '/auth/sign-in-hlmra',\r\n readingPlanNodeId: 975,\r\n\tlogoFirst: 'assets/logos/ra/logo.svg',\r\n\troles: ROLES_HLMRA,\r\n};\r\n\r\nexport const SALI: System = {\r\n\tid: SYSTEMS.SALI,\r\n\tname: 'SALI',\r\n\ttheme: SYSTEM_THEMES.sali,\r\n\tprimaryColor: '',\r\n\tlogin: '/auth/sign-in-sali',\r\n readingPlanNodeId: 0,\r\n\tlogoFirst: '',\r\n\troles: []\r\n};","export const SYSTEM_THEMES = {\r\n 'sali': 'theme-sali',\r\n 'hlmra': 'theme-hlmra',\r\n 'ra': 'theme-ra',\r\n 'valladolid': 'theme-valladolid',\r\n};\r\n","import { Injectable } from \"@angular/core\";\r\nimport { ActivatedRouteSnapshot, CanActivate, CanLoad, RouterStateSnapshot } from \"@angular/router\";\r\nimport { AuthenticationConfigurationService } from '@services/authentication/authentication-configuration.service';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class AuthenticationGuard implements CanActivate, CanLoad {\r\n constructor(private authConfig: AuthenticationConfigurationService) {\r\n }\r\n\r\n canActivate(route: ActivatedRouteSnapshot, state: RouterStateSnapshot) {\r\n return this.validateAuthentication();\r\n }\r\n\r\n canLoad() {\r\n return this.validateAuthentication();\r\n }\r\n\r\n validateAuthentication() {\r\n if (!this.authConfig.isLoggedIn()) {\r\n this.authConfig.redirectToLogin();\r\n return false\r\n }\r\n return true;\r\n }\r\n}","import { Injectable } from \"@angular/core\";\r\nimport { ActivatedRouteSnapshot, CanActivate, RouterStateSnapshot } from \"@angular/router\";\r\nimport { AuthenticationConfigurationService } from '../services/authentication/authentication-configuration.service';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class SessionGuard implements CanActivate {\r\n constructor(private authConfig: AuthenticationConfigurationService) {}\r\n\r\n canActivate(route: ActivatedRouteSnapshot, state: RouterStateSnapshot) {\r\n return this.validateSessionActive();\r\n }\r\n\r\n validateSessionActive() {\r\n if (this.authConfig.isLoggedIn()) {\r\n this.authConfig.redirectToHome()\r\n return false\r\n }\r\n return true;\r\n }\r\n}","// ANGULAR\r\nimport { Injectable } from '@angular/core';\r\nimport { HttpInterceptor, HttpRequest, HttpHandler, HttpEvent, HttpErrorResponse } from '@angular/common/http';\r\n// LIBS\r\nimport { Observable, throwError, BehaviorSubject, finalize } from 'rxjs';\r\nimport { catchError } from 'rxjs/internal/operators/catchError';\r\nimport { switchMap, filter, take } from 'rxjs/operators';\r\n// SERVICES\r\nimport { AuthenticationConfigurationService } from '@services/authentication/authentication-configuration.service';\r\nimport { AuthenticationService } from '@services/authentication/authentication.service';\r\n// MODELS\r\nimport { User } from '@models/authentication/User';\r\nimport { AlertService } from '../services/notification/alert.service';\r\nimport { SpinnerService } from '@services/spinner/spinner.service';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class HttpErrorInterceptor implements HttpInterceptor {\r\n private refreshTokenInProgress = false;\r\n private refreshTokenSubject: BehaviorSubject = new BehaviorSubject(null);\r\n\r\n constructor(\r\n private authenticationService: AuthenticationService,\r\n private authConfigService: AuthenticationConfigurationService,\r\n private alertService: AlertService,\r\n private spinnerService: SpinnerService,\r\n ) { }\r\n\r\n intercept(request: HttpRequest, next: HttpHandler): Observable> {\r\n return next.handle(request).pipe(\r\n catchError((err: HttpErrorResponse) => {\r\n if (err.status === 401 && request.url.includes('/login')) {\r\n return next.handle(request);\r\n } else if (err.status === 401 &&\r\n !request.url.includes('/login') &&\r\n !request.url.includes('/refresh')) {\r\n return this.handle401Error(request, next);\r\n }\r\n return throwError(() => err);\r\n })\r\n );\r\n }\r\n\r\n private handle401Error(request: HttpRequest, next: HttpHandler) {\r\n if (!this.refreshTokenInProgress) {\r\n this.refreshTokenInProgress = true;\r\n this.refreshTokenSubject.next(null);\r\n return this.authenticationService.refreshToken()\r\n .pipe(\r\n switchMap((data: User) => {\r\n this.refreshTokenInProgress = false;\r\n this.refreshTokenSubject.next(data.accessToken);\r\n let requestWithToken = this.addTokenToRequest(request, data.accessToken);\r\n return next.handle(requestWithToken);\r\n }),\r\n catchError((error: any) => {\r\n this.authConfigService.clear();\r\n this.alertService.showSmallInfo('Sesión finalizada');\r\n this.refreshTokenSubject.error(error)\r\n return this.handleError(error);\r\n }),\r\n\r\n );\r\n }\r\n\r\n return this.refreshTokenSubject\r\n .pipe(\r\n filter((accessToken: string) => accessToken != null),\r\n take(1),\r\n switchMap((accessToken: string) => {\r\n let requestWithToken = this.addTokenToRequest(request, accessToken);\r\n return next.handle(requestWithToken);\r\n })).pipe(\r\n finalize(() => this.spinnerService.hide())\r\n );\r\n }\r\n\r\n private addTokenToRequest(request: HttpRequest, token: string): HttpRequest {\r\n return request.clone({\r\n setHeaders: {\r\n 'Authorization': 'Bearer ' + token,\r\n 'Content-Type': 'application/json'\r\n }\r\n });\r\n }\r\n\r\n // ERROR GLOBAL DIFFERENT TO OTHERS ERRORS\r\n private handleError(errorResponse: HttpErrorResponse): Observable {\r\n let errorMsg: string;\r\n console.log(JSON.stringify(errorResponse.error));\r\n if (errorResponse.error instanceof Error) {\r\n // A client-side or network error occurred. Handle it accordingly.\r\n errorMsg = \"An error occured : \" + errorResponse.error.message;\r\n } else {\r\n // The backend returned an unsuccessful response code.\r\n // The response body may contain clues as to what went wrong,\r\n errorMsg = `Backend returned code ${errorResponse.status}, body was: ${errorResponse.error}`;\r\n }\r\n return throwError(() => errorMsg);\r\n }\r\n}","// ANGULAR\r\nimport { HTTP_INTERCEPTORS } from '@angular/common/http';\r\n\r\n// INTERCEPTORS\r\nimport { JwtInterceptor } from './jwt-interceptor';\r\nimport { HttpErrorInterceptor } from './http-error-interceptor';\r\n\r\nexport const INTERCEPTOR_PROVIDERS_GLOBALS = [\r\n { provide: HTTP_INTERCEPTORS, useClass: JwtInterceptor, multi: true },\r\n { provide: HTTP_INTERCEPTORS, useClass: HttpErrorInterceptor, multi: true },\r\n];","// ANGULAR\r\nimport { Injectable } from '@angular/core';\r\nimport { HttpInterceptor, HttpRequest, HttpHandler, HttpEvent } from '@angular/common/http';\r\n\r\n// LIBS\r\nimport { Observable, finalize } from 'rxjs';\r\n// SERVICES\r\nimport { AuthenticationConfigurationService } from '@services/authentication/authentication-configuration.service';\r\n// MODELS\r\nimport { User } from '@models/authentication/User';\r\nimport { SpinnerService } from '@services/spinner/spinner.service';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class JwtInterceptor implements HttpInterceptor {\r\n\r\n constructor(\r\n private authConfigService: AuthenticationConfigurationService,\r\n private spinnerService: SpinnerService\r\n ) { }\r\n\r\n intercept(request: HttpRequest, next: HttpHandler): Observable> {\r\n this.spinnerService.show();\r\n const isRouteLogin = request.url.includes('/sign-in');\r\n const isRouteRefresh = request.url.includes('/refresh');\r\n let requestModified: HttpRequest = request;\r\n const currentUser: User = this.authConfigService.currentUserValue();\r\n\r\n // VALIDATION OF TYPE HEADER FOR THE ROUTES\r\n if (isRouteLogin) {\r\n requestModified = this.addHeaderToRequestWithoutToken(request);\r\n } else if(isRouteRefresh) {\r\n requestModified = this.addTokenToRequest(request, currentUser.refreshToken);\r\n } else if (currentUser && currentUser.accessToken) {\r\n requestModified = this.addTokenToRequest(request, currentUser.accessToken);\r\n }\r\n\r\n return next.handle(requestModified).pipe(\r\n finalize(() => {\r\n this.spinnerService.hide();\r\n })\r\n );\r\n }\r\n\r\n\r\n // ATTACH TOKEN AT THE REQUEST\r\n private addTokenToRequest(request: HttpRequest, token: string): HttpRequest {\r\n return request.clone({\r\n setHeaders: {'Authorization': 'Bearer ' + token}\r\n });\r\n }\r\n\r\n // ATTACH HEARDER AT THE REQUEST WITHOUT TOKEN OF AUTHORIZATION\r\n private addHeaderToRequestWithoutToken(request: HttpRequest): HttpRequest {\r\n return request.clone({ headers: request.headers.set('Content-Type', 'application/json') });\r\n }\r\n}\r\n\r\n\r\n\r\n\r\n","import { UserApi, User } from '@models/authentication/User';\r\n\r\nexport const toLogin = (x: UserApi): User => ({\r\n accessToken: x.access_token,\r\n tokenType: x.token_type,\r\n expiresIn: x.expires_in,\r\n refreshToken: x.refresh_token,\r\n userName: x.userName,\r\n email: x.email,\r\n fullName: x.fullName,\r\n rol: x.rol,\r\n rolId: x.rol_id,\r\n system: x.system,\r\n systemId: Number(x.systemId),\r\n subsystemId: Number(x.subsystemId),\r\n});","import { coerceNumberProperty } from \"@angular/cdk/coercion\";\r\nimport { Catalog } from \"@models/catalog/Catalog\";\r\n\r\nexport const toItem = (item: Catalog) => ({\r\n ...item,\r\n id: coerceNumberProperty(item.id, 0),\r\n});\r\n\r\nexport const toItems = (items: Catalog[]) => {\r\n return items.map(x => toItem(x));\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport {\r\n\tRouteReuseStrategy,\r\n\tActivatedRouteSnapshot,\r\n\tDetachedRouteHandle,\r\n} from '@angular/router';\r\n\r\n@Injectable()\r\nexport class CustomRouteReuseStategy extends RouteReuseStrategy {\r\n\thandlers: { [key: string]: DetachedRouteHandle } = {};\r\n\r\n\tshouldDetach(route: ActivatedRouteSnapshot): boolean {\r\n\t\treturn route.data['shouldReuse'] || false;\r\n\t}\r\n\r\n\tstore(route: ActivatedRouteSnapshot, handle: {}): void {\r\n\t\tif (route.data['shouldReuse'] && route.routeConfig?.path) {\r\n\t\t\tthis.handlers[route.routeConfig.path] = handle;\r\n\t\t}\r\n\t}\r\n\r\n\tshouldAttach(route: ActivatedRouteSnapshot): boolean {\r\n\t\treturn !!route.routeConfig && !!this.handlers[route.routeConfig?.path || ''];\r\n\t}\r\n\r\n\tretrieve(route: ActivatedRouteSnapshot): any {\r\n\t\tif (!route.routeConfig) return null;\r\n\t\treturn this.handlers[route.routeConfig?.path || ''];\r\n\t}\r\n\r\n\tshouldReuseRoute(\r\n\t\tfuture: ActivatedRouteSnapshot,\r\n\t\tcurrent: ActivatedRouteSnapshot\r\n\t): boolean {\r\n\t\tlet reUseUrl = false;\r\n\t\tif (future.routeConfig?.data) {\r\n\t\t\treturn !future.routeConfig.data['noReuse'];\r\n\t\t}\r\n\t\tconst defaultReuse = future.routeConfig === current.routeConfig;\r\n\t\treturn reUseUrl || defaultReuse;\r\n\t}\r\n}\r\n","// DOC REF {reportProgress: true, observe: \"events\"}\r\n// https://blog.devgenius.io/file-upload-with-progress-bar-in-angular-13-76adb3380f18\r\nimport { HttpClient } from '@angular/common/http';\r\nimport { Injectable } from '@angular/core';\r\nimport { environment } from '@env/environment';\r\nimport { Answer } from '@models/answer/Answer';\r\nimport { Response } from '@models/response-api/ResponseApi';\r\n\r\n@Injectable({\r\n\tprovidedIn: 'root',\r\n})\r\nexport class AnswerService {\r\n\tprivate url = `${environment.hostAPI}/answers`;\r\n\r\n constructor(private http: HttpClient) {}\r\n\r\n save(answer: Answer) {\r\n return this.http.post(this.url, answer);\r\n }\r\n\r\n update(answer: Answer) {\r\n return this.http.put(this.url, answer);\r\n }\r\n\r\n remove(answer: Answer) {\r\n const url = `${this.url}?id=${answer.id}`;\r\n return this.http.delete(url);\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\n// LIBS\r\nimport { BehaviorSubject, Observable } from 'rxjs';\r\n// SERVICES\r\nimport { LocalStorageService } from '@services/storage/local-storage.service';\r\n// MODELS\r\nimport { User } from '@models/authentication/User';\r\n// CONST / UTILS\r\nimport { STORAGE_KEYS } from '@constants/StorageKeys';\r\nimport { Router } from '@angular/router';\r\nimport { ThemeService } from \"@services/configuration/theme.service\";\r\nimport { MatDialog } from '@angular/material/dialog';\r\nimport { UserConfigurationService } from '../user/user-configuration.service';\r\nimport { getSystem } from '@utils/system';\r\nimport { SYSTEMS } from '@constants/System';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class AuthenticationConfigurationService {\r\n private currentUserSubject: BehaviorSubject;\r\n public currentUser: Observable;\r\n\r\n constructor(\r\n private storageService: LocalStorageService,\r\n private router: Router,\r\n private userConfigurationService: UserConfigurationService,\r\n private themeService: ThemeService,\r\n private dialog: MatDialog,\r\n ) {\r\n this.currentUserSubject = new BehaviorSubject(this.getUser());\r\n this.currentUser = this.currentUserSubject.asObservable();\r\n }\r\n\r\n setUp(user: User) {\r\n this.themeService.setUp(user.systemId);\r\n this.currentUserSubject.next(user);\r\n this.storageService.storeObject(STORAGE_KEYS.USER, user);\r\n }\r\n\r\n clear() {\r\n this.redirectToLogin();\r\n this.dialog.closeAll();\r\n this.storageService.remove(STORAGE_KEYS.USER);\r\n this.currentUserSubject.next(null);\r\n this.userConfigurationService.clear();\r\n }\r\n\r\n redirectToLogin() {\r\n const {systemId} = this.getUser() || {};\r\n const {login} = getSystem(systemId);\r\n setTimeout(() => this.router.navigate([login], { replaceUrl: true }), 200);\r\n }\r\n\r\n redirectToHome() {\r\n this.router.navigate(['/app/home'], { replaceUrl: true });\r\n }\r\n\r\n currentUserValue(): User {\r\n return this.currentUserSubject.value;\r\n }\r\n\r\n isLoggedIn(): boolean {\r\n return !!this.currentUserValue();\r\n }\r\n\r\n getUser(): User {\r\n return this.storageService.getObject(STORAGE_KEYS.USER);\r\n }\r\n\r\n get getSystemId(): number {\r\n return this.storageService.getObject(STORAGE_KEYS.USER).systemId;\r\n }\r\n\r\n isSystemValladolid() {\r\n return SYSTEMS.VALLADOLID == this.getSystemId;\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { HttpClient } from '@angular/common/http';\r\nimport { environment } from '@env/environment';\r\n// LIBS\r\nimport { map, tap } from 'rxjs';\r\n// MODELS\r\nimport { UserLogin } from '@models/authentication/UserLogin';\r\nimport { User, UserApi } from '@models/authentication/User';\r\n// MAPPERS\r\nimport { toLogin } from '@mappers/authentication/login.map';\r\nimport { AuthenticationConfigurationService } from './authentication-configuration.service';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class AuthenticationService {\r\n private host = `${environment.host}`;\r\n private url = `${environment.hostAPI}`;\r\n\r\n constructor(private http: HttpClient, private authConfig: AuthenticationConfigurationService) { }\r\n\r\n authenticate({ username, password, systemId }: UserLogin) {\r\n const url = `${this.host}/token`;\r\n const data = `username=${username}&password=${password}&grant_type=password&origen_id=${systemId}`;\r\n return this.http.post(url, data)\r\n .pipe(map((x: UserApi) => toLogin(x)));\r\n\r\n }\r\n\r\n refreshToken() {\r\n const url = `${this.host}/token`;\r\n const {refreshToken} = this.authConfig.getUser();\r\n const data = `refresh_token=${refreshToken}&grant_type=refresh_token`;\r\n return this.http.post(url, data)\r\n .pipe(\r\n map((x: UserApi) => toLogin(x)),\r\n tap((user: User) => this.authConfig.setUp(user))\r\n );\r\n }\r\n\r\n logout() {\r\n const url = `${this.url}/users/logout`;\r\n return this.http.get(url)\r\n .pipe(tap(() => this.authConfig.clear()));\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { MatIconRegistry } from '@angular/material/icon';\r\nimport { DomSanitizer } from '@angular/platform-browser';\r\nimport { MATERIAL_ICON_SVG } from '@constants/MaterialIconSvg';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class MaterialIconRegistryService {\r\n\r\n constructor(private matIconRegistry: MatIconRegistry, private domSanitizer: DomSanitizer) {\r\n }\r\n\r\n setUp() {\r\n MATERIAL_ICON_SVG.forEach((x) => {\r\n this.matIconRegistry.addSvgIcon(x.icon,\r\n this.domSanitizer.bypassSecurityTrustResourceUrl(x.path));\r\n });\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\n// LIBS\r\nimport { BehaviorSubject, Observable } from 'rxjs';\r\n// SERVICES\r\nimport { LocalStorageService } from '@services/storage/local-storage.service';\r\nimport { SYSTEMS } from '@constants/System';\r\nimport { SYSTEM_THEMES } from '@constants/Themes';\r\nimport { STORAGE_KEYS } from '@constants/StorageKeys';\r\nimport { getSystem } from '@utils/system';\r\nimport { System } from '@models/System';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class ThemeService {\r\n\r\n constructor(private storageService: LocalStorageService) {\r\n const {theme} = this.getSystem() || {};\r\n if (theme) {\r\n this.changeTheme(theme);\r\n }\r\n }\r\n\r\n setUp(systemId: number) {\r\n const system = getSystem(systemId);\r\n this.changeTheme(system.theme);\r\n this.storageService.storeObject(STORAGE_KEYS.SYSTEM, system);\r\n }\r\n\r\n changeTheme(system: string) {\r\n const themeCurrent = this.findThemeCurrent();\r\n this.getElementRef().classList.remove(themeCurrent);\r\n this.getElementRef().classList.add(system);\r\n }\r\n\r\n findThemeCurrent() {\r\n if (this.getElementRef().classList.contains(SYSTEM_THEMES.ra)) {\r\n return SYSTEM_THEMES.ra;\r\n } else if (this.getElementRef().classList.contains(SYSTEM_THEMES.valladolid)) {\r\n return SYSTEM_THEMES.valladolid;\r\n } else if (this.getElementRef().classList.contains(SYSTEM_THEMES.hlmra)) {\r\n return SYSTEM_THEMES.hlmra;\r\n } else {\r\n return SYSTEM_THEMES.valladolid;\r\n }\r\n }\r\n\r\n getElementRef() { return document.documentElement;}\r\n\r\n getSystem(): System {\r\n return this.storageService.getObject(STORAGE_KEYS.SYSTEM);\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { HttpClient, HttpParams } from '@angular/common/http';\r\nimport { environment } from '@env/environment';\r\nimport { Node } from '@models/node/Node';\r\nimport { Response } from '@models/response-api/ResponseApi';\r\nimport { map } from 'rxjs';\r\nimport { toItems } from '@mappers/catalog/catalog';\r\nimport { Catalog } from '@models/catalog/Catalog';\r\nimport { NodeParams } from '@base/NodeParams';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class NodeService extends NodeParams {\r\n private url = `${environment.hostAPI}`;\r\n\r\n constructor(private http: HttpClient) {\r\n super()\r\n }\r\n\r\n getAllContents(node: Node) {\r\n const url = `${this.url}/nodes/${node.subsystemId}/all-contents`;\r\n const params = this.getParams(node);\r\n return this.http.get(url, {params});\r\n }\r\n\r\n getAllContentsV2(node: Node) {\r\n const url = `${this.url}/nodes/${node.subsystemId}/all-contents-v2`;\r\n const params = this.getParams(node);\r\n return this.http.get(url, {params});\r\n }\r\n\r\n getAcademicManager(node: Node) {\r\n const url = `${this.url}/nodes/${node.subsystemId}/academic-manager`;\r\n const params = this.getParams(node);\r\n return this.http.get(url, {params});\r\n }\r\n\r\n getNodeNested(parentId: number) {\r\n const url = `${this.url}/nodes/getNextLevel?parentId=${parentId}`;\r\n return this.http.get(url)\r\n .pipe(map(x => ({\r\n ...x,\r\n data: toItems(x.data as Catalog[])\r\n })));\r\n }\r\n\r\n getNodeNestedV2(parentId: number) {\r\n const url = `${this.url}/nodes/getNextLevelV2?parentId=${parentId}`;\r\n return this.http.get(url)\r\n .pipe(map(x => ({\r\n ...x,\r\n data: toItems(x.data as Catalog[])\r\n })));\r\n }\r\n}\r\n\r\n\r\n","import { Injectable } from '@angular/core';\r\nimport { getSystem } from '@utils/system';\r\nimport { LocalStorageService } from '@services/storage/local-storage.service';\r\nimport Swal from 'sweetalert2';\r\nimport { System } from '@models/System';\r\nimport { STORAGE_KEYS } from '@constants/StorageKeys';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class AlertService {\r\n clientName = '';\r\n primaryColor = '';\r\n\r\n constructor(private storageService: LocalStorageService) {\r\n const system = this.getSystem() || {};\r\n if (system) {\r\n this.clientName = system.name;\r\n this.primaryColor = system.primaryColor;\r\n }\r\n }\r\n\r\n private getSystem(): System {\r\n return this.storageService.getObject(STORAGE_KEYS.SYSTEM);\r\n }\r\n\r\n updateClient(systemId: number) {\r\n const {name, primaryColor} = getSystem(systemId);\r\n this.clientName = name;\r\n this.primaryColor = primaryColor;\r\n }\r\n\r\n showWarning(text:string) {\r\n Swal.fire({\r\n title: this.clientName,\r\n text: text,\r\n position: 'center',\r\n icon: 'warning',\r\n showConfirmButton: true,\r\n confirmButtonColor: this.primaryColor,\r\n });\r\n }\r\n\r\n showInfo(text:string) {\r\n Swal.fire({\r\n title: this.clientName,\r\n text: text,\r\n icon: 'info',\r\n position: 'center',\r\n showConfirmButton: true,\r\n confirmButtonColor: this.primaryColor,\r\n });\r\n }\r\n\r\n showSmallInfo(text: string) {\r\n Swal.mixin({\r\n toast: true,\r\n position: 'top-right',\r\n showConfirmButton: false,\r\n timer: 2000,\r\n timerProgressBar: true,\r\n }).fire({\r\n icon: 'info',\r\n title: this.clientName,\r\n text: text,\r\n confirmButtonColor: this.primaryColor,\r\n });\r\n }\r\n\r\n showSuccess(text:string, timer = 1500) {\r\n Swal.fire({\r\n title: this.clientName,\r\n text: text,\r\n position: 'center',\r\n icon: 'success',\r\n showConfirmButton: true,\r\n confirmButtonColor: this.primaryColor,\r\n timer\r\n });\r\n }\r\n\r\n showSmallSuccess(text: string){\r\n Swal.mixin({\r\n toast: true,\r\n position: 'top-right',\r\n showConfirmButton: false,\r\n timer: 1800,\r\n timerProgressBar: true,\r\n }).fire({\r\n icon: 'success',\r\n title: this.clientName,\r\n text: text,\r\n confirmButtonColor: this.primaryColor,\r\n });\r\n }\r\n\r\n showError(message? : string) {\r\n Swal.fire({\r\n title: this.clientName,\r\n text: message || 'Error de servidor',\r\n position: 'center',\r\n icon: 'error',\r\n confirmButtonColor: this.primaryColor,\r\n });\r\n }\r\n\r\n showErrorForm(text: string = \"Completa todos los campos correctamente\") {\r\n Swal.fire({\r\n title: this.clientName,\r\n text,\r\n position: 'center',\r\n icon: 'error',\r\n confirmButtonColor: this.primaryColor,\r\n });\r\n }\r\n\r\n showSmallErrorServer(message? : string) {\r\n Swal.mixin({\r\n toast: true,\r\n position: 'top-right',\r\n showConfirmButton: false,\r\n timer: 1800,\r\n timerProgressBar: true,\r\n }).fire({\r\n icon: 'error',\r\n title: this.clientName,\r\n text: message || 'Error de servidor',\r\n });\r\n }\r\n\r\n async showConfirmationDeletion({ title = \"¡Confirmación de eliminación! \", text = \"¿Eliminar Registro?\" } = {}) {\r\n const result = await Swal.fire({\r\n title,\r\n text,\r\n icon: 'warning',\r\n showCloseButton: true,\r\n showCancelButton: true,\r\n cancelButtonText: 'Cancelar',\r\n confirmButtonText: 'Aceptar',\r\n confirmButtonColor: this.primaryColor,\r\n reverseButtons: true,\r\n });\r\n\r\n return result.isConfirmed;\r\n }\r\n\r\n async showConfirmationAction({ title = \"¡Confirmación! \", text = \"¿Esta seguro que desea realizar esta acción?\" } = {}) {\r\n const result = await Swal.fire({\r\n title,\r\n text,\r\n icon: 'question',\r\n showCloseButton: true,\r\n showCancelButton: true,\r\n cancelButtonText: 'Cancelar',\r\n confirmButtonText: 'Aceptar',\r\n confirmButtonColor: this.primaryColor,\r\n reverseButtons: true,\r\n });\r\n\r\n return result.isConfirmed;\r\n }\r\n}\r\n","import { HttpClient } from '@angular/common/http';\r\nimport { Injectable } from '@angular/core';\r\nimport { NodeParams } from '@base/NodeParams';\r\nimport { environment } from '@env/environment';\r\nimport { Node } from '@models/node/Node';\r\nimport { QuestionBank } from '@models/question-bank/QuestionBank';\r\nimport { Response } from '@models/response-api/ResponseApi';\r\n\r\n@Injectable({\r\n\tprovidedIn: 'root',\r\n})\r\nexport class QuestionBankService extends NodeParams {\r\n\tprivate url = `${environment.hostAPI}/questionbanks`;\r\n\r\n\tconstructor(private http: HttpClient) {\r\n\t\tsuper();\r\n\t}\r\n\r\n\tgetByPagination(node: Node) {\r\n\t\tconst url = `${this.url}/all`;\r\n\t\tconst params = this.getParams(node);\r\n\t\treturn this.http.get(url, { params });\r\n\t}\r\n\r\n\tgetById(id: number) {\r\n\t\tconst url = `${this.url}?id=${id}&image=${true}&idplan=${null}`;\r\n\t\treturn this.http.get(url);\r\n\t}\r\n\r\n\r\n getReadingPlanById(id: number) {\r\n const url = `${this.url}?id=${null}&image=${true}&idplan=${id}`;\r\n return this.http.get(url);\r\n }\r\n\r\n getStructure(nodeId: number) {\r\n const url = `${environment.hostAPI}/nodes/${nodeId}/structure?generateExam=0`;\r\n return this.http.get(url);\r\n }\r\n\r\n\tsave(questionBank: QuestionBank) {\r\n\t\treturn this.http.post(this.url, questionBank);\r\n\t}\r\n\r\n\tupdate(questionBank: QuestionBank) {\r\n\t\treturn this.http.put(this.url, questionBank);\r\n\t}\r\n\r\n\t// LOAD QUESTION FROM RESPONSE FILE CSV\r\n\tload(questionBank: QuestionBank) {\r\n\t\tconst url = `${this.url}/load`;\r\n\t\treturn this.http.post(url, questionBank);\r\n\t}\r\n\r\n upload(file: File) {\r\n const url = `${this.url}/parse-file`;\r\n const formData = new FormData();\r\n formData.append(\"file\", file);\r\n return this.http.post(url, formData, {reportProgress: true, observe: \"events\"});\r\n }\r\n\r\n remove(questionBank: QuestionBank) {\r\n const url = `${this.url}/${questionBank.id}/status`\r\n return this.http.put(url, {id: questionBank.id, status: questionBank.active});\r\n }\r\n\r\n\t// Obtener todos los bancos de preguntas que estan asignados a un nodo en específico\r\n\tgeAlltByNodeId(nodeId: number) {\r\n\t\tconst url = `${this.url}/node?nodeId=${nodeId}`;\r\n\t\treturn this.http.get(url);\r\n\t}\r\n\r\n\t// Obtiene los datos de un banco de preguntas por identificador\r\n\tgetBydId(id: number, idplan: null) {\r\n\t\tconst status = true;\r\n\t\tconst url = `${this.url}?id=${id}&image=${status}&idplan=${idplan}`;\r\n\t\treturn this.http.get(url);\r\n\t\t// return this.httpService.get(apiUrl).map((response: { json: () => any; }) => response.json());\r\n\t}\r\n\r\n\t// Obtiene la estructura de los elementos que tiene examenes\r\n\tgetList(ids: string) {\r\n\t\tlet url = `${this.url}/list?ids=${ids}`;\r\n\t\treturn this.http.get(url);\r\n\t}\r\n}\r\n","import { HttpClient } from '@angular/common/http';\r\nimport { Injectable } from '@angular/core';\r\nimport { environment } from '@env/environment';\r\nimport { Response } from '@models/response-api/ResponseApi';\r\n\r\n@Injectable({\r\n\tprovidedIn: 'root',\r\n})\r\nexport class QuestionTypeService {\r\n\tprivate url = `${environment.hostAPI}/questiontypes`;\r\n\r\n constructor(private http: HttpClient) {}\r\n\r\n getAll() {\r\n return this.http.get(this.url);\r\n }\r\n\r\n\r\n}\r\n","import { HttpClient } from '@angular/common/http';\r\nimport { Injectable } from '@angular/core';\r\nimport { environment } from '@env/environment';\r\nimport { Question } from '@models/question/Question';\r\nimport { Response } from '@models/response-api/ResponseApi';\r\n\r\n@Injectable({\r\n\tprovidedIn: 'root',\r\n})\r\nexport class QuestionService {\r\n\tprivate url = `${environment.hostAPI}/questions`;\r\n\r\n constructor(private http: HttpClient) {}\r\n\r\n getById(id: number) {\r\n const url = `${this.url}/get-by-id/${id}`;\r\n return this.http.get(url);\r\n }\r\n\r\n save(question: Question) {\r\n return this.http.post(this.url, question);\r\n }\r\n\r\n update(question: Question) {\r\n return this.http.put(this.url, question);\r\n }\r\n\r\n remove(question: Question) {\r\n const url = `${this.url}?id=${question.id}`;\r\n return this.http.delete(url);\r\n }\r\n}\r\n","import { HttpClient } from '@angular/common/http';\r\nimport { Injectable } from '@angular/core';\r\nimport { environment } from '@env/environment';\r\nimport { Response } from '@models/response-api/ResponseApi';\r\n\r\n@Injectable({\r\n\tprovidedIn: 'root',\r\n})\r\nexport class ResourceTypeService {\r\n\tprivate url = `${environment.hostAPI}/resourcestypes`;\r\n\r\n constructor(private http: HttpClient) {}\r\n\r\n getAll() {\r\n return this.http.get(this.url);\r\n }\r\n}\r\n","// DOC REF {reportProgress: true, observe: \"events\"}\r\n// https://blog.devgenius.io/file-upload-with-progress-bar-in-angular-13-76adb3380f18\r\nimport { HttpClient, HttpHeaders } from '@angular/common/http';\r\nimport { Injectable } from '@angular/core';\r\nimport { environment } from '@env/environment';\r\nimport { Resource } from '@models/resource/Resource';\r\nimport { Response } from '@models/response-api/ResponseApi';\r\nimport { ResourceUpload } from '@models/resource/Resource';\r\nimport * as saveAs from 'file-saver';\r\nimport { Content, MinifiedContent } from '@models/content/Content';\r\n\r\n@Injectable({\r\n\tprovidedIn: 'root',\r\n})\r\nexport class ResourceService {\r\n\tprivate url = `${environment.hostAPI}/resources`;\r\n\r\n constructor(private http: HttpClient) {}\r\n\r\n getByTeacher() {\r\n const url = `${this.url}/teacher`\r\n return this.http.get(url);\r\n }\r\n\r\n add(resource: ResourceUpload) {\r\n const {file, name, description, teacherResourceId} = resource;\r\n const url = `${this.url}/upload`;\r\n const formData = new FormData();\r\n formData.append(\"file\", file);\r\n formData.append(\"name\", name);\r\n formData.append(\"description\", description);\r\n formData.append(\"teacherResourceId\", teacherResourceId.toString());\r\n return this.http.post(url, formData, {reportProgress: true, observe: \"events\"});\r\n }\r\n\r\n deleteResource(resource: Resource) {\r\n const url = `${this.url}?id=${resource.id}`\r\n return this.http.delete(url);\r\n }\r\n\r\n downloadResource(resource: Resource) {\r\n const url = `${this.url}/download/${resource.id}`\r\n var array = resource.url.split('?sv=');\r\n var urlRes = array[0];\r\n var arrayFileType = urlRes.split('.');\r\n var fileExtension = arrayFileType[arrayFileType.length - 1];\r\n \r\n this.http.get(url, { responseType: 'blob' }).subscribe(\r\n (response: Blob) => {\r\n const file = new Blob([response], { type: response.type });\r\n\r\n saveAs(file, resource.name + '.' + fileExtension); \r\n },\r\n (error: any) => {\r\n console.error('Failed to download file', error);\r\n }\r\n );\r\n }\r\n\r\n downloadContent(resource: MinifiedContent | Content) {\r\n const url = `${environment.hostAPI}/contents/${resource.id}/download`;\r\n var array = resource.urlContent.split('?sv=');\r\n var urlRes = array[0];\r\n var arrayFileType = urlRes.split('.');\r\n var fileExtension = arrayFileType[arrayFileType.length - 1];\r\n this.http.get(url, { responseType: 'blob' }).subscribe(\r\n (response: Blob) => {\r\n const file = new Blob([response], { type: response.type });\r\n\r\n saveAs(file, resource.name + '.' + fileExtension); \r\n },\r\n (error: any) => {\r\n console.error('Failed to download file', error);\r\n }\r\n );\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\n// SERVICIOS\r\nimport { NgxSpinnerService } from 'ngx-spinner';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class SpinnerService {\r\n requests = 0;\r\n completed = 0;\r\n\r\n constructor(private spinner: NgxSpinnerService) {}\r\n\r\n get existSpinnerActivated() {\r\n return this.requests > this.completed;\r\n }\r\n\r\n get complete() {\r\n return this.requests > 0 && this.requests === this.completed;\r\n }\r\n\r\n show() {\r\n this.requests++;\r\n this.validate();\r\n }\r\n\r\n hide() {\r\n this.completed++;\r\n this.validate();\r\n }\r\n\r\n private validate() {\r\n this.complete ? this.hidden() : this.spinner.show();\r\n }\r\n\r\n private hidden() {\r\n setTimeout(() => {\r\n if (!this.existSpinnerActivated) {\r\n this.spinner.hide();\r\n this.requests = 0;\r\n this.completed = 0;\r\n }\r\n }, 1000);\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\n\r\n@Injectable({ providedIn: 'root' })\r\nexport class LocalStorageService {\r\n\r\n constructor() { }\r\n\r\n // STORE ITEM IN LOCAL STORAGE\r\n storeItem(key: string, value: string) {\r\n localStorage.setItem(key, value);\r\n }\r\n\r\n // STORE OBJECT IN LOCAL STORAGE\r\n storeObject(key: string, value: any) {\r\n localStorage.setItem(key, JSON.stringify(value));\r\n }\r\n\r\n // GET ITEM STORE IN LOCAL STORAGE\r\n getItem(key: string): string {\r\n return localStorage.getItem(key) || '';\r\n }\r\n\r\n // GET OBJECT STORE IN LOCAL STORAGE\r\n getObject(key: string): any {\r\n const object = localStorage.getItem(key);\r\n return object ? JSON.parse(object) : null;\r\n }\r\n\r\n // REMOVE ITEM OR OBJECT STORE IN LOCAL STORAGE\r\n remove(key: string) {\r\n localStorage.removeItem(key);\r\n }\r\n\r\n // REMOVE ALL STORE IN LOCAL STORAGE\r\n removeAll() {\r\n localStorage.clear();\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\n// LIBS\r\nimport { BehaviorSubject, Observable } from 'rxjs';\r\n// SERVICES\r\nimport { LocalStorageService } from '@services/storage/local-storage.service';\r\n// MODELS\r\nimport { Permission } from '@models/permission/Permission';\r\nimport { Profile } from '@models/profile/Profile';\r\n// CONST\r\nimport { STORAGE_KEYS } from '@constants/StorageKeys';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class UserConfigurationService {\r\n private permissionsSubject: BehaviorSubject;\r\n public permissions: Observable;\r\n\r\n constructor(private storageService: LocalStorageService) {\r\n this.permissionsSubject = new BehaviorSubject(this.getPermissions());\r\n this.permissions = this.permissionsSubject.asObservable();\r\n }\r\n\r\n setUp(profile: Profile) {\r\n const { permissions } = profile;\r\n this.permissionsSubject.next(permissions);\r\n this.storageService.storeObject(STORAGE_KEYS.PERMISSIONS, permissions);\r\n }\r\n\r\n clear() {\r\n this.storageService.remove(STORAGE_KEYS.PERMISSIONS);\r\n this.permissionsSubject.next([]);\r\n }\r\n\r\n permissionsValue(): Permission[] {\r\n return this.permissionsSubject.value;\r\n }\r\n\r\n isLoggedIn(): boolean {\r\n return !!this.permissionsValue();\r\n }\r\n\r\n getPermissions(): Permission[] {\r\n return this.storageService.getObject(STORAGE_KEYS.PERMISSIONS) || [];\r\n }\r\n}\r\n","import {\r\n FILE_TYPE_AUDIO,\r\n FILE_TYPE_DOWNLOAD,\r\n FILE_TYPE_LINK,\r\n FILE_TYPE_PDF,\r\n FILE_TYPE_VIDEO\r\n} from \"@constants/FileType\";\r\n\r\nexport const isVideoFile = (media: number) => FILE_TYPE_VIDEO.includes(media);\r\nexport const isAudioFile = (media: number) => FILE_TYPE_AUDIO.includes(media);\r\nexport const isPDFFile = (media: number) => FILE_TYPE_PDF.includes(media);\r\nexport const isLinkFile = (media: number) => FILE_TYPE_LINK.includes(media);\r\nexport const isDownloadFile = (media: number) => FILE_TYPE_DOWNLOAD.includes(media);","import { HLMRA, RA, SALI, SYSTEMS, VALLADOLID } from '@constants/System';\r\nimport { System } from '@models/System';\r\n\r\n\r\nexport const getSystem = (systemId: number): System => {\r\n\tswitch (systemId) {\r\n\t\tcase SYSTEMS.SALI:\r\n\t\t\treturn SALI;\r\n\t\tcase SYSTEMS.HLMRA:\r\n\t\t\treturn HLMRA;\r\n\t\tcase SYSTEMS.RA:\r\n\t\t\treturn RA;\r\n\t\tcase SYSTEMS.VALLADOLID:\r\n\t\tdefault:\r\n\t\t\treturn VALLADOLID;\r\n\t}\r\n};\r\n","export const toBase64 = (file: File) => new Promise((resolve, reject) => {\r\n const reader = new FileReader();\r\n reader.readAsDataURL(file);\r\n reader.onload = () => resolve(reader.result);\r\n reader.onerror = reject;\r\n});","import { FILE_TYPE } from '@constants/FileType';\r\nimport { Content, MinifiedContent } from '@models/content/Content';\r\n\r\nexport const getExtensionUrl = (url: string): string => {\r\n\tlet extension = 'epub';\r\n\tconst searchEpub = 'https://bc.vitalsource.com/';\r\n\tconst isEpub = url.indexOf(searchEpub) !== -1;\r\n\tconst isVideo = url.indexOf('http') === -1; // URL VIDEO ONLY STRING ID\r\n\tif (!isEpub && !isVideo) {\r\n\t\tlet filename = url.substring(url.lastIndexOf('/') + 1);\r\n\t\tfilename = filename.split('?')[0];\r\n\t\textension = filename.split('.')[1].replace('%22', '');\r\n\t} else if (isVideo) {\r\n\t\textension = 'mp4';\r\n\t}\r\n\r\n\treturn extension;\r\n};\r\n\r\nexport const getTypeFileIdByExtension = (extension: string) => {\r\n\tswitch (extension) {\r\n\t\tcase 'mp3':\r\n\t\t\treturn FILE_TYPE.audios;\r\n\t\tcase 'pdf':\r\n\t\t\treturn FILE_TYPE.documents;\r\n\t\tcase 'mp4':\r\n\t\t\treturn FILE_TYPE.videos;\r\n\t\tcase 'xlsx':\r\n\t\tcase 'xls':\r\n\t\tcase 'xlsm':\r\n\t\tcase 'docx':\r\n\t\tcase 'doc':\r\n\t\tcase 'docm':\r\n\t\tcase 'pptx':\r\n\t\tcase 'pptm':\r\n\t\tcase 'ppt':\r\n\t\t\treturn FILE_TYPE.interactive;\r\n\t\tcase 'epub':\r\n\t\t\treturn FILE_TYPE.digitalTextBooks;\r\n\t\tdefault:\r\n\t\t\treturn FILE_TYPE.videos;\r\n\t}\r\n};\r\n\r\nexport const getFileTypeByContent = (content: Content) => {\r\n\tconst { urlContent, name } = content;\r\n\tif (urlContent.includes('https://bc.vitalsource.com/')) {\r\n\t\treturn FILE_TYPE.digitalTextBooks;\r\n\t} else if (name.includes('Guía') || name.includes('Guía ') || name.includes('Guia')) {\r\n\t\treturn FILE_TYPE.guides;\r\n\t} else if (name.includes('Audio')) {\r\n\t\treturn FILE_TYPE.audios;\r\n\t} else if (name.includes('Imprimible')) {\r\n\t\treturn FILE_TYPE.documents;\r\n\t} else if (name.includes('Libro de Texto')) {\r\n\t\treturn FILE_TYPE.textBooks;\r\n\t} else if (name.includes('Interactivo')) {\r\n\t\treturn FILE_TYPE.interactive;\r\n\t} else if (name.includes('Presentación')) {\r\n\t\treturn FILE_TYPE.presentacionesWebinar;\r\n\t} else if (name.includes('Cuadernillo')) {\r\n\t\treturn FILE_TYPE.cuadernillos;\r\n\t} else if (name.toLocaleLowerCase().includes('baldor')) {\r\n\t\treturn FILE_TYPE.baldor;\r\n\t} else if (name.toLocaleLowerCase().includes('nem')) {\r\n\t\treturn FILE_TYPE.nuevaEscuelaMexicana;\r\n\t} else if (name.toLocaleLowerCase().includes('solucionario')) {\r\n\t\treturn FILE_TYPE.solucionarios;\r\n\t} else if (content.fileTypeId == 30) {\r\n\t\treturn FILE_TYPE.novedades;\r\n\t} else if (name.toLocaleLowerCase().includes('cartel')) {\r\n\t\treturn FILE_TYPE.posters;\r\n\t}\r\n\r\n\treturn FILE_TYPE.videos;\r\n};\r\n\r\nexport const getFileTypeByContents = (content: MinifiedContent) => {\r\n\tconst { urlContent, name } = content;\r\n\tif (urlContent.includes('https://bc.vitalsource.com/')) {\r\n\t\treturn FILE_TYPE.digitalTextBooks;\r\n\t} else if (name.includes('Guía') || name.includes('Guía ') || name.includes('Guia')) {\r\n\t\treturn FILE_TYPE.guides;\r\n\t} else if (name.includes('Audio')) {\r\n\t\treturn FILE_TYPE.audios;\r\n\t} else if (name.includes('Imprimible')) {\r\n\t\treturn FILE_TYPE.documents;\r\n\t} else if (name.includes('Libro de Texto')) {\r\n\t\treturn FILE_TYPE.textBooks;\r\n\t} else if (name.includes('Interactivo')) {\r\n\t\treturn FILE_TYPE.interactive;\r\n\t} else if (name.includes('Presentación')) {\r\n\t\treturn FILE_TYPE.presentacionesWebinar;\r\n\t} else if (name.includes('Cuadernillo')) {\r\n\t\treturn FILE_TYPE.cuadernillos;\r\n\t} else if (name.toLocaleLowerCase().includes('baldor')) {\r\n\t\treturn FILE_TYPE.baldor;\r\n\t} else if (name.toLocaleLowerCase().includes('nem')) {\r\n\t\treturn FILE_TYPE.nuevaEscuelaMexicana;\r\n\t} else if (name.toLocaleLowerCase().includes('solucionario')) {\r\n\t\treturn FILE_TYPE.solucionarios;\r\n\t} else if (content.fileTypeId == 30) {\r\n\t\treturn FILE_TYPE.novedades;\r\n\t} else if (name.toLocaleLowerCase().includes('cartel')) {\r\n\t\treturn FILE_TYPE.posters;\r\n\t}\r\n\r\n\treturn FILE_TYPE.videos;\r\n};\r\n\r\nexport const getFileTypeByUrl = (fullUrl: string) => {\r\n\ttry {\r\n\t\tconst url = new URL(fullUrl);\r\n\t\tconst extension = getExtensionUrl(url.href);\r\n\t\treturn getTypeFileIdByExtension(extension);\r\n\t} catch {\r\n\t\treturn FILE_TYPE.videos;\r\n\t}\r\n};\r\n","import { Component, Directive, Input, OnInit, OnDestroy } from '@angular/core';\r\nimport {\r\n\tAbstractControl,\r\n\tFormArray,\r\n\tFormBuilder,\r\n\tFormGroup,\r\n\tValidators,\r\n} from '@angular/forms';\r\nimport { Subscription } from 'rxjs';\r\nimport { FormArrayBase } from '@base/FormBase';\r\n// SERVICES\r\nimport { AnswerService } from '@services/answer/answer.service';\r\nimport { QuestionBankService } from '@services/question-bank/question-bank.service';\r\n// MODELS\r\nimport { Response } from '@models/response-api/ResponseApi';\r\nimport { Answer } from '@models/answer/Answer';\r\nimport { Question } from '@models/question/Question';\r\nimport { AlertService } from '@services/notification/alert.service';\r\nimport { QuestionBank } from '@models/question-bank/QuestionBank';\r\nimport { HttpErrorResponse } from '@angular/common/http';\r\n// TODO : TAG GTM\r\ndeclare var dataLayer: any;\r\n@Directive()\r\nexport abstract class AnswerBase extends FormArrayBase implements OnInit, OnDestroy {\r\n\tsubscription = new Subscription();\r\n\tanswers: Answer[] = [];\r\n\tform!: FormGroup;\r\n\t@Input() question!: Question;\r\n\t_disabled = false;\r\n\t@Input() set disabled(value: boolean) {\r\n\t\tthis._disabled = value;\r\n\t\tvalue ? this.form.disable() : this.form.enable();\r\n\t}\r\n\tcct: string | null = '';\r\n\ttypeSchool: string | null = '';\r\n\tconstructor(\r\n\t\tprivate fb: FormBuilder,\r\n\t\tprivate alertService: AlertService,\r\n\t\tprivate answerService: AnswerService,\r\n\t\tprivate questionBankService: QuestionBankService\r\n\t) {\r\n\t\tsuper();\r\n\t\tthis.createForm();\r\n\t}\r\n\r\n\tngOnInit() {\r\n\t\tthis.cct = localStorage.getItem('cct');\r\n\t\tthis.typeSchool = localStorage.getItem('typeSchool');\r\n\t\tthis.loadData();\r\n\t}\r\n\r\n\tngOnDestroy(): void {\r\n\t\tthis.subscription.unsubscribe();\r\n\t}\r\n\r\n\tcreateForm() {\r\n\t\tthis.form = this.fb.group({\r\n\t\t\tanswers: this.fb.array([]),\r\n\t\t});\r\n\t}\r\n\r\n\tget formAnswers(): FormArray {\r\n\t\treturn this.form.get('answers') as FormArray;\r\n\t}\r\n\r\n\ttrackByFn(index: any, item: AbstractControl) {\r\n\t\treturn item.value.id;\r\n\t}\r\n\r\n\tabstract finishLoadData(): void;\r\n\r\n\tloadData() {\r\n\t\tthis.subscription.add(\r\n\t\t\tthis.questionBankService.getById(this.question.questionBankId).subscribe({\r\n\t\t\t\tnext: (x: Response) => {\r\n\t\t\t\t\tconst { data } = x;\r\n\t\t\t\t\tconst questions = (data as QuestionBank)?.questions || [];\r\n\t\t\t\t\tconst question: Question = questions.filter((x) => x.id == this.question.id)[0];\r\n\t\t\t\t\tthis.answers = question.answers || [];\r\n\t\t\t\t\tthis.answers.forEach((x) => {\r\n\t\t\t\t\t\tconst formAnswer = this.createFormAnswer(x);\r\n\t\t\t\t\t\tthis.formAnswers.push(formAnswer);\r\n\t\t\t\t\t});\r\n\t\t\t\t\tthis.finishLoadData();\r\n\t\t\t\t},\r\n\t\t\t\terror: (err: HttpErrorResponse) => console.log(err.message),\r\n\t\t\t})\r\n\t\t);\r\n\t}\r\n\r\n\taddNewAnswer() {\r\n\t\tconst [, option] = this.createDefaultAnswer();\r\n\t\tthis.save(option);\r\n\t}\r\n\r\n\tcreateDefaultAnswer(): [any, Answer] {\r\n\t\tconst answer: Answer = this.createAnswer();\r\n\t\tconst formAnswer = this.createFormAnswer(answer);\r\n\t\treturn [formAnswer, answer];\r\n\t}\r\n\r\n\tcreateAnswer(): Answer {\r\n\t\treturn {\r\n\t\t\tdescription: '',\r\n\t\t\tisCorrect: false,\r\n\t\t\tquestionId: this.question.id,\r\n\t\t\tactive: true,\r\n\t\t\trelationDescription: '',\r\n\t\t};\r\n\t}\r\n\r\n\tcreateFormAnswer(item: Answer) {\r\n\t\treturn this.fb.group({\r\n\t\t\tid: [item.id, [Validators.required]],\r\n\t\t\tquestionId: [item.questionId, [Validators.required]],\r\n\t\t\tdescription: [item.description, Validators.required],\r\n\t\t\tisCorrect: [item.isCorrect, [Validators.required]],\r\n\t\t\tactive: [true],\r\n\t\t\trelationDescription: [item.relationDescription, Validators.required],\r\n\t\t});\r\n\t}\r\n\r\n\tsave(data: Answer) {\r\n\t\tthis.subscription.add(\r\n\t\t\tthis.answerService.save(data).subscribe({\r\n\t\t\t\tnext: (data: Response) => {\r\n\t\t\t\t\tconst formAnswer = this.createFormAnswer(data.data);\r\n\t\t\t\t\tthis.formAnswers.push(formAnswer);\r\n\t\t\t\t},\r\n\t\t\t\terror: (err: any) => console.log(err.message),\r\n\t\t\t})\r\n\t\t);\r\n\t}\r\n\r\n\tasync confirmDeletionAnswer(index: number, answer: Answer, $event: Event) {\r\n\t\t$event.stopPropagation();\r\n\t\tif (await this.alertService.showConfirmationDeletion()) {\r\n\t\t\tthis.deleteAnswer(index, answer);\r\n\t\t}\r\n\t}\r\n\r\n\tdeleteAnswer(index: number, answer: Answer) {\r\n\t\tthis.subscription.add(\r\n\t\t\tthis.answerService.remove(answer).subscribe({\r\n\t\t\t\tnext: (x: Response) => {\r\n\t\t\t\t\tif (x.success) {\r\n\t\t\t\t\t\tthis.formAnswers.removeAt(index);\r\n\t\t\t\t\t\tthis.alertService.showSuccess(x.message);\r\n\t\t\t\t\t} else {\r\n\t\t\t\t\t\tdataLayer.push({\r\n\t\t\t\t\t\t\tevent: 'error_message', //Static data\r\n\t\t\t\t\t\t\tcontent_group: 'Banco de preguntas', //Dynamic data\r\n\t\t\t\t\t\t\terror_messgae_text: x.message, //Dynamic data\r\n\t\t\t\t\t\t\terror_messgae_location: 'Eliminar pregunta', //Dynamic data\r\n\t\t\t\t\t\t\tcct: this.cct, //Dynamic data\r\n\t\t\t\t\t\t\tschool_type: this.typeSchool,\r\n\t\t\t\t\t\t});\r\n\t\t\t\t\t\tthis.alertService.showError(x.message);\r\n\t\t\t\t\t}\r\n\t\t\t\t},\r\n\t\t\t\terror: (err: any) => console.log(err.message),\r\n\t\t\t})\r\n\t\t);\r\n\t}\r\n}\r\n","import { Component, OnInit } from '@angular/core';\r\nimport { FormBuilder } from '@angular/forms';\r\nimport { MatDialog } from '@angular/material/dialog';\r\nimport { MultimediaDialogComponent } from '@shared/components/container-document-dialog/multimedia-dialog.component';\r\n// SERVICES\r\nimport { AnswerService } from '@services/answer/answer.service';\r\nimport { QuestionBankService } from '@services/question-bank/question-bank.service';\r\nimport { AlertService } from '@services/notification/alert.service';\r\n// MODELS\r\nimport { AnswerBase } from '../answer-base';\r\nimport { DialogClosed } from '@models/response-api/ResponseApi';\r\nimport { RESOURCE_TYPE } from '@constants/ResourceType';\r\n\r\n@Component({\r\n selector: 'app-image-multiple-answer',\r\n templateUrl: './image-multiple-answer.component.html',\r\n styleUrls: ['./image-multiple-answer.component.scss']\r\n})\r\nexport class ImageMultipleAnswerComponent extends AnswerBase {\r\n constructor(\r\n private dialog: MatDialog,\r\n fb: FormBuilder,\r\n alertService: AlertService,\r\n answerService: AnswerService,\r\n questionBankService: QuestionBankService,\r\n ) {\r\n super(fb, alertService, answerService, questionBankService)\r\n }\r\n\r\n finishLoadData() {}\r\n\r\n async openContainerDocumentDialog() {\r\n const ref = this.dialog.open(MultimediaDialogComponent, {\r\n backdropClass: ['ui-backdropClass'],\r\n panelClass: ['ui-panelClass'],\r\n minWidth: '380px',\r\n maxWidth: '600px',\r\n disableClose: true,\r\n restoreFocus: false,\r\n autoFocus: false,\r\n data: {\r\n acceptMultimedia: 'image/png, image/gif, image/jpeg',\r\n resourcesTypes: [RESOURCE_TYPE.images]\r\n }\r\n });\r\n\r\n this.subscription.add(\r\n ref.afterClosed().subscribe((x: DialogClosed) => {\r\n if (x.success) {\r\n const answer = this.createAnswer();\r\n answer.description = x.data.url;\r\n this.save(answer);\r\n }\r\n }))\r\n }\r\n}\r\n","
\r\n\t
\r\n\t\t\r\n\t\t\t\r\n\t\t\t\t
\r\n\t\t\t\t\t
\r\n\t\t\t\t\t\t\r\n\r\n \"img-answer\"\r\n\t\t\t\t\t
\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n\t\t\t\t
\r\n\t\t\t
\r\n\t\t\r\n\r\n
\r\n \r\n
\r\n\t
\r\n
\r\n","import { Component } from '@angular/core';\r\nimport { FormBuilder } from '@angular/forms';\r\n// SERVICES\r\nimport { AnswerService } from '@services/answer/answer.service';\r\nimport { QuestionBankService } from '@services/question-bank/question-bank.service';\r\nimport { AlertService } from '@services/notification/alert.service';\r\n// MODELS\r\nimport { AnswerBase } from '../answer-base';\r\n\r\n@Component({\r\n selector: 'app-multiple-answer',\r\n templateUrl: './multiple-answer.component.html',\r\n styleUrls: ['./multiple-answer.component.scss']\r\n})\r\nexport class MultipleAnswerComponent extends AnswerBase {\r\n constructor(\r\n fb: FormBuilder,\r\n alertService: AlertService,\r\n answerService: AnswerService,\r\n questionBankService: QuestionBankService,\r\n ) {\r\n super(fb, alertService, answerService, questionBankService)\r\n }\r\n\r\n finishLoadData() {}\r\n}\r\n\r\n\r\n\r\n","
\r\n\t
\r\n\t\t\r\n\t\t\t\r\n\t\t\t\t
\r\n\t\t\t\t\t
\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t{{ getFirstErrorMessage(i, 'answers', 'description') }}\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t
\r\n\r\n\t\t\t\t\t
\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t
\r\n\t\t\t\t
\r\n\t\t\t
\r\n\t\t\r\n\t
\r\n
\r\n\r\n
\r\n\t
\r\n\t\r\n
\r\n","import { Component, OnInit } from '@angular/core';\r\nimport { FormBuilder } from '@angular/forms';\r\n// SERVICES\r\nimport { AnswerService } from '@services/answer/answer.service';\r\nimport { QuestionBankService } from '@services/question-bank/question-bank.service';\r\nimport { AlertService } from '@services/notification/alert.service';\r\n// MODELS\r\nimport { AnswerBase } from '../answer-base';\r\n\r\n@Component({\r\n selector: 'app-open-answer',\r\n templateUrl: './open-answer.component.html',\r\n styleUrls: ['./open-answer.component.scss']\r\n})\r\nexport class OpenAnswerComponent extends AnswerBase {\r\n\r\n constructor(\r\n fb: FormBuilder,\r\n alertService: AlertService,\r\n answerService: AnswerService,\r\n questionBankService: QuestionBankService,\r\n ) {\r\n super(fb, alertService, answerService, questionBankService)\r\n }\r\n\r\n finishLoadData() {\r\n if (this.formAnswers.length === 0) {\r\n this.addNewAnswer();\r\n }\r\n }\r\n\r\n\r\n}\r\n","
\r\n\t
\r\n\t\t\r\n\t\t\t\r\n\t\t\t\t
\r\n\t\t\t\t\t
\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t{{ getFirstErrorMessage(i, 'answers', 'description') }}\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t
\r\n\r\n\t\t\t\t\t
\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t
\r\n\t\t\t\t
\r\n\t\t\t
\r\n\t\t\r\n\t
\r\n
\r\n","import { Component, OnInit } from '@angular/core';\r\nimport { FormBuilder } from '@angular/forms';\r\n// SERVICES\r\nimport { AnswerService } from '@services/answer/answer.service';\r\nimport { QuestionBankService } from '@services/question-bank/question-bank.service';\r\nimport { AlertService } from '@services/notification/alert.service';\r\n// MODELS\r\nimport { AnswerBase } from '../answer-base';\r\n\r\n@Component({\r\n selector: 'app-relational-answer',\r\n templateUrl: './relational-answer.component.html',\r\n styleUrls: ['./relational-answer.component.scss']\r\n})\r\nexport class RelationalAnswerComponent extends AnswerBase {\r\n constructor(\r\n fb: FormBuilder,\r\n alertService: AlertService,\r\n answerService: AnswerService,\r\n questionBankService: QuestionBankService,\r\n ) {\r\n super(fb, alertService, answerService, questionBankService)\r\n }\r\n\r\n finishLoadData() {}\r\n}\r\n","
\r\n\t
\r\n\t\t\r\n\t\t\t\r\n\t\t\t\t
\r\n\t\t\t\t\t
\r\n\t\t\t\t\t\t\r\n\r\n \r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\r\n\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t{{ getFirstErrorMessage(i, 'answers', 'description') }}\r\n\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t
\r\n\r\n \r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t{{ getFirstErrorMessage(i, 'answers', 'relationDescription') }}\r\n\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t
\r\n\t\t\t\t
\r\n\t\t\t
\r\n\t\t\r\n\t
\r\n
\r\n\r\n
\r\n\t
\r\n\t\r\n\t\t\r\n\t\r\n
\r\n","import { Component } from '@angular/core';\r\nimport { FormBuilder } from '@angular/forms';\r\n// SERVICES\r\nimport { AnswerService } from '@services/answer/answer.service';\r\nimport { QuestionBankService } from '@services/question-bank/question-bank.service';\r\nimport { AlertService } from '@services/notification/alert.service';\r\n// MODELS\r\nimport { AnswerBase } from '../answer-base';\r\n\r\n@Component({\r\n selector: 'app-true-false-answer',\r\n templateUrl: './true-false-answer.component.html',\r\n styleUrls: ['./true-false-answer.component.scss']\r\n})\r\nexport class TrueFalseAnswerComponent extends AnswerBase {\r\n constructor(\r\n fb: FormBuilder,\r\n alertService: AlertService,\r\n answerService: AnswerService,\r\n questionBankService: QuestionBankService,\r\n ) {\r\n super(fb, alertService, answerService, questionBankService)\r\n }\r\n\r\n finishLoadData() {\r\n // SE AGREGAN DOS PREGUNTAS POR DEFAULT\r\n if (this.formAnswers.length === 0) {\r\n this.addNewAnswer();\r\n this.addNewAnswer();\r\n }\r\n }\r\n}\r\n\r\n\r\n\r\n","
\r\n\t
\r\n\t\t\r\n\t\t\t\r\n\t\t\t\t
\r\n
\r\n
\r\n \r\n \r\n \r\n\r\n
\r\n {{ getFirstErrorMessage(i, 'answers', 'description') }}\r\n
\r\n
\r\n\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n\r\n\t\t\t\t
\r\n\t\t\t
\r\n\t\t\r\n\t
\r\n
","import { Component, Inject } from '@angular/core';\r\nimport { MAT_DIALOG_DATA, MatDialogRef } from '@angular/material/dialog';\r\n// MODELS\r\nimport { DialogConfirm } from '@models/dialogs/DialogConfirm';\r\n\r\n@Component({\r\n selector: 'ui-confirm-dialog',\r\n templateUrl: './confirm-dialog.component.html',\r\n styleUrls: ['./confirm-dialog.component.scss']\r\n})\r\nexport class UIConfirmDialogComponent {\r\n constructor(\r\n public dialogRef: MatDialogRef,\r\n @Inject(MAT_DIALOG_DATA) public data: DialogConfirm\r\n ){\r\n this.data = {\r\n title: data?.title || \"¿Estás seguro?\",\r\n message: data?.message || \"¡Esta operación no se podrá revertir!\",\r\n titleConfirmButton: data?.titleConfirmButton || \"Sí, estoy seguro\",\r\n titleCancelButton: data?.titleCancelButton || \"Cancelar\",\r\n iconCancelButton: data?.iconCancelButton || \"far fa-times-circle fa-lg\"\r\n };\r\n }\r\n\r\n closeDialog(){\r\n this.dialogRef.close();\r\n }\r\n}\r\n","
\r\n\t\r\n\t

{{ data.title }}

\r\n\t

{{ data.message }}

\r\n
\r\n
\r\n\t\r\n\t\t {{ data.titleConfirmButton }}\r\n\t\r\n\t\r\n\t\t {{ data.titleCancelButton }}\r\n\t\r\n
\r\n","import { Component, OnInit, OnDestroy, Inject } from '@angular/core';\r\nimport { FormBuilder, FormGroup, Validators } from '@angular/forms';\r\nimport { HttpErrorResponse, HttpEvent, HttpEventType } from '@angular/common/http';\r\nimport { MAT_DIALOG_DATA, MatDialogRef } from '@angular/material/dialog';\r\nimport { Subscription } from 'rxjs';\r\n// SERVICES\r\nimport { AlertService } from '@services/notification/alert.service';\r\nimport { ResourceTypeService } from '@services/resource-type/resource-type.service';\r\nimport { ResourceService } from '@services/resource/resource.service';\r\n// MODELS\r\nimport { ResourceType } from '@models/resource-type/ResourceType';\r\nimport { Response, DialogClosed } from '@models/response-api/ResponseApi';\r\nimport { ResourceUpload } from '@models/resource/Resource';\r\n// EXTEND\r\nimport { FormBase } from '@base/FormBase';\r\nimport { Progress } from '@base/Progress';\r\nimport { CatalogBase } from '@models/catalog/Catalog';\r\n// TODO : TAG GTM\r\ndeclare var dataLayer: any;\r\n@Component({\r\n\tselector: 'app-multimedia-dialog',\r\n\ttemplateUrl: './multimedia-dialog.component.html',\r\n\tstyleUrls: ['./multimedia-dialog.component.scss'],\r\n})\r\nexport class MultimediaDialogComponent extends FormBase implements OnInit, OnDestroy {\r\n\tsubscription = new Subscription();\r\n\tform!: FormGroup;\r\n\tresourcesTypes: CatalogBase[] = [];\r\n\tresourcesTypesSelected: any[] = [];\r\n\tfileName = '';\r\n\tprogress = 0;\r\n\tacceptMultimedia = '';\r\n\tcct: string | null = '';\r\n\ttypeSchool: string | null = '';\r\n\tconstructor(\r\n\t\tpublic dialogRef: MatDialogRef,\r\n\t\tprivate fb: FormBuilder,\r\n\t\tprivate resourceTypeService: ResourceTypeService,\r\n\t\tprivate resourceService: ResourceService,\r\n\t\tprivate alertService: AlertService,\r\n\t\t@Inject(MAT_DIALOG_DATA) public data: any\r\n\t) {\r\n\t\tsuper();\r\n\t\tthis.acceptMultimedia = this.data?.acceptMultimedia || '';\r\n\t\tthis.resourcesTypesSelected = this.data?.resourcesTypes || [];\r\n\t\tthis.createForm();\r\n\t\tthis.loadResourcesTypes();\r\n\t}\r\n\r\n\tngOnInit() {\r\n\t\tthis.cct = localStorage.getItem('cct');\r\n\t\tthis.typeSchool = localStorage.getItem('typeSchool');\r\n\t}\r\n\r\n\tngOnDestroy(): void {\r\n\t\tthis.subscription.unsubscribe();\r\n\t}\r\n\r\n\tcloseDialog(close: DialogClosed = { success: false }) {\r\n\t\tthis.dialogRef.close(close);\r\n\t}\r\n\r\n\tget controls() {\r\n\t\treturn this.form.controls;\r\n\t}\r\n\r\n\tcreateForm() {\r\n\t\tthis.form = this.fb.group({\r\n\t\t\tteacherResourceId: [null, [Validators.required]],\r\n\t\t\tname: ['', [Validators.required, Validators.maxLength(350)]],\r\n\t\t\tdescription: ['', [Validators.required, Validators.maxLength(350)]],\r\n\t\t\tfile: [null, [Validators.required]],\r\n\t\t});\r\n\t}\r\n\r\n\tloadResourcesTypes() {\r\n\t\tthis.subscription.add(\r\n\t\t\tthis.resourceTypeService.getAll().subscribe({\r\n\t\t\t\tnext: (x: Response) => {\r\n\t\t\t\t\tconst data = x.data as ResourceType[];\r\n\t\t\t\t\tthis.resourcesTypes = data.filter((x) => x.active);\r\n\t\t\t\t\tif (this.resourcesTypesSelected.length) {\r\n\t\t\t\t\t\tthis.resourcesTypes = this.resourcesTypes.filter((x) =>\r\n\t\t\t\t\t\t\tthis.resourcesTypesSelected.includes(x.id)\r\n\t\t\t\t\t\t);\r\n\t\t\t\t\t}\r\n\t\t\t\t},\r\n\t\t\t\terror: (error: HttpErrorResponse) => {\r\n\t\t\t\t\tconsole.log(error);\r\n\t\t\t\t\tthis.alertService.showSmallErrorServer();\r\n\t\t\t\t},\r\n\t\t\t})\r\n\t\t);\r\n\t}\r\n\r\n\tchangeFile($event: Event) {\r\n\t\tconst file = this.getFile($event);\r\n\t\tif (file) {\r\n\t\t\tthis.controls['file'].setValue(file);\r\n\t\t\tthis.fileName = file.name;\r\n\t\t}\r\n\t}\r\n\r\n\tsaveChanges($event: Event) {\r\n\t\t$event.preventDefault();\r\n\t\tthis.formSubmitted = true;\r\n\t\tif (this.form.valid) {\r\n\t\t\tthis.uploadResource();\r\n\t\t} else {\r\n\t\t\tthis.alertService.showErrorForm();\r\n\t\t}\r\n\t}\r\n\r\n\tuploadResource() {\r\n\t\tthis.subscription.add(\r\n\t\t\tthis.resourceService.add(this.form.value as ResourceUpload).subscribe({\r\n\t\t\t\tnext: (event: HttpEvent) => {\r\n\t\t\t\t\tconst [complete, progress, resp] = Progress.handleProgress(event);\r\n\t\t\t\t\tthis.progress = progress;\r\n\t\t\t\t\tif (complete) {\r\n\t\t\t\t\t\tconst { message, success, data } = resp!;\r\n\t\t\t\t\t\tif (success) {\r\n\t\t\t\t\t\t\tthis.alertService.showSmallSuccess(message || 'Recurso creado');\r\n\t\t\t\t\t\t\tthis.eventGTM();\r\n\t\t\t\t\t\t\tthis.closeDialog({ success: true, data });\r\n\t\t\t\t\t\t} else {\r\n\t\t\t\t\t\t\tdataLayer.push({\r\n\t\t\t\t\t\t\t\tevent: 'error_message', //Static data\r\n\t\t\t\t\t\t\t\tcontent_group: 'Recursos multimedia', //Dynamic data\r\n\t\t\t\t\t\t\t\terror_messgae_text: message, //Dynamic data\r\n\t\t\t\t\t\t\t\terror_messgae_location: 'Guardar recurso', //Dynamic data\r\n\t\t\t\t\t\t\t\tcct: this.cct, //Dynamic data\r\n\t\t\t\t\t\t\t\tschool_type: this.typeSchool,\r\n\t\t\t\t\t\t\t});\r\n\t\t\t\t\t\t\tthis.alertService.showError(message);\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t}\r\n\t\t\t\t},\r\n\t\t\t\terror: (error: HttpErrorResponse) => {\r\n\t\t\t\t\tconsole.log(error);\r\n\t\t\t\t\tthis.alertService.showSmallErrorServer();\r\n\t\t\t\t},\r\n\t\t\t})\r\n\t\t);\r\n\t}\r\n\r\n\teventGTM() {\r\n\t\tconst fileTypeId = this.formControl('teacherResourceId').value;\r\n\t\tconst fileType = this.resourcesTypes.find((x) => x.id == fileTypeId);\r\n\t\tdataLayer.push({\r\n\t\t\tevent: 'upload_file',\r\n\t\t\tupload_file: fileType?.description,\r\n\t\t\taccount_type: fileType?.description,\r\n\t\t\tcct: this.cct, //Dynamic data\r\n\t\t\tschool_type: this.typeSchool,\r\n\t\t});\r\n\t}\r\n}\r\n","\r\n
Agregar nuevo archivo
\r\n\r\n\r\n\t
\r\n\t\t
\r\n\t\t\t\r\n\t\t\t\r\n
\r\n {{getFirstErrorMessage('teacherResourceId')}}\r\n
\r\n\t\t
\r\n\r\n\t\t
\r\n\t\t\t\r\n\t\t\t\r\n
\r\n {{getFirstErrorMessage('name')}}\r\n
\r\n\t\t
\r\n\r\n\t\t
\r\n\t\t\t\r\n\t\t\t\r\n
\r\n {{getFirstErrorMessage('description')}}\r\n
\r\n\t\t
\r\n\r\n \r\n\r\n \r\n {{fileName || 'No seleccionado'}}\r\n\t\t
\r\n\t\t\t
\r\n\t\t\t\t{{progress}}%\r\n\t\t\t
\r\n\t\t
\r\n\t
\r\n
\r\n\r\n\r\n\t\r\n\r\n","import { Component, Input, ViewEncapsulation } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'ui-content-empty',\r\n host: { 'class': 'content-empty' },\r\n encapsulation: ViewEncapsulation.None,\r\n templateUrl: './content-empty.html',\r\n styleUrls: ['./content-empty.scss']\r\n})\r\nexport class UIContentEmpty {\r\n @Input()\r\n text: string = 'Sin registros';\r\n}","
\r\n
\r\n \r\n

Sin registros

\r\n
\r\n","import { Component, EventEmitter, Input, OnInit, Output } from '@angular/core';\r\nimport { FormControl } from '@angular/forms';\r\nimport { Subscription } from 'rxjs';\r\n\r\n@Component({\r\n selector: 'ui-content-main-header',\r\n templateUrl: './content-main-header.html',\r\n styleUrls: ['./content-main-header.scss']\r\n})\r\nexport class UIContentMainHeader implements OnInit {\r\n @Input() title?: string = '';\r\n @Input() subtitle?: string = '';\r\n @Input() placeholder?: string = 'Buscador de recursos';\r\n @Output() searchChange = new EventEmitter();\r\n subscription = new Subscription();\r\n search = new FormControl('');\r\n\r\n constructor() { }\r\n\r\n ngOnInit() {}\r\n\r\n initSearch() {\r\n this.searchChange.emit(this.search.value);\r\n }\r\n\r\n clearSearch() {\r\n this.search.setValue('');\r\n this.initSearch();\r\n }\r\n\r\n clear() { this.search.setValue('');}\r\n}\r\n","
\r\n
\r\n

{{title}}

\r\n

{{subtitle}}

\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n","import { Component, ViewEncapsulation } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'ui-content-main',\r\n encapsulation: ViewEncapsulation.None,\r\n inputs: ['isWrappedInATab', 'hasTable'],\r\n host: {\r\n 'class': 'ui-content-main',\r\n '[class.ui-content-main-tab]': 'isWrappedInATab',\r\n '[class.ui-content-main-table]': 'hasTable',\r\n },\r\n templateUrl: './content-main.html',\r\n styleUrls: ['./content-main.scss']\r\n})\r\nexport class UIContentMain {\r\n constructor() { }\r\n\r\n ngOnInit() { }\r\n\r\n}\r\n","","import {\r\n\tComponent,\r\n\tEventEmitter,\r\n\tInput,\r\n\tOnInit,\r\n\tOutput,\r\n\tViewEncapsulation,\r\n\tOnDestroy,\r\n} from '@angular/core';\r\nimport { Subscription } from 'rxjs';\r\n// SERVICES\r\nimport { AlertService } from '@services/notification/alert.service';\r\nimport { AuthenticationService } from '@services/authentication/authentication.service';\r\nimport { AuthenticationConfigurationService } from '@services/authentication/authentication-configuration.service';\r\nimport { System } from '@models/System';\r\nimport { getSystem } from '@utils/system';\r\n// TODO : TAG GTM\r\ndeclare var dataLayer: any;\r\n@Component({\r\n\tselector: 'ui-header',\r\n\ttemplateUrl: './header.html',\r\n\tstyleUrls: ['./header.scss'],\r\n\tencapsulation: ViewEncapsulation.None,\r\n\thost: {\r\n\t\tclass: 'ui-header',\r\n\t},\r\n})\r\nexport class UIHeader implements OnInit, OnDestroy {\r\n\tsubscription = new Subscription();\r\n\tusername = '';\r\n\trol = '';\r\n\tsystem!: System;\r\n\tprivate isOpen = false;\r\n\t@Output()\r\n\ttoggle = new EventEmitter();\r\n\t@Input()\r\n\tget open() {\r\n\t\treturn this.isOpen;\r\n\t}\r\n\r\n\tset open(value: boolean) {\r\n\t\tthis.isOpen = value;\r\n\t}\r\n\r\n\tshowOption: boolean = true;\r\n\tcct: string | null = '';\r\n\ttypeSchool: string | null = '';\r\n\tconstructor(\r\n\t\tprivate alertService: AlertService,\r\n\t\tprivate authenticationService: AuthenticationService,\r\n\t\tprivate authConfigService: AuthenticationConfigurationService\r\n\t) {\r\n\t\tthis.getUser();\r\n\t}\r\n\r\n\tngOnInit() {\r\n\t\tthis.cct = localStorage.getItem('cct');\r\n\t\tthis.typeSchool = localStorage.getItem('typeSchool');\r\n\t\tconst email = sessionStorage.getItem('email');\r\n\t\tthis.showOption =\r\n\t\t\temail === 'usuarioprueba@hachette.com.mx' ||\r\n\t\t\temail === 'secundariaoficial@hachette.com.mx'\r\n\t\t\t\t? false\r\n\t\t\t\t: true;\r\n\t}\r\n\r\n\tngOnDestroy(): void {\r\n\t\tthis.subscription.unsubscribe();\r\n\t}\r\n\r\n\tgetUser() {\r\n\t\tthis.subscription.add(\r\n\t\t\tthis.authConfigService.currentUser.subscribe((x) => {\r\n\t\t\t\tif (x) {\r\n\t\t\t\t\tthis.username = x.fullName || '';\r\n\t\t\t\t\tthis.rol = x.rol || '';\r\n\t\t\t\t\tthis.system = getSystem(x.systemId);\r\n\t\t\t\t}\r\n\t\t\t})\r\n\t\t);\r\n\t}\r\n\r\n\ttoggleMenu() {\r\n\t\tif (!this.open) {\r\n\t\t\tthis.eventGTM();\r\n\t\t}\r\n\t\tthis.toggle.emit();\r\n\t}\r\n\r\n\tasync logout() {\r\n\t\tif (\r\n\t\t\tawait this.alertService.showConfirmationAction({ text: '¿Deseas cerrar sesión?' })\r\n\t\t) {\r\n\t\t\t// En cualquier otro componente o servicio donde necesites acceder al valor\r\n\t\t\tconst tiempoInicioSesionString = sessionStorage.getItem('tiempoInicioSesion');\r\n\r\n\t\t\tif (tiempoInicioSesionString !== null) {\r\n\t\t\t\tconst tiempoInicioSesion = JSON.parse(tiempoInicioSesionString);\r\n\t\t\t\tconsole.log(tiempoInicioSesion);\r\n\r\n\t\t\t\tconst tiempoFinSesion = new Date();\r\n\t\t\t\tconst tiempoInicioMs = new Date(tiempoInicioSesion).getTime();\r\n\t\t\t\tconst tiempoFinMs = tiempoFinSesion.getTime();\r\n\r\n\t\t\t\tconst duracionSesionMs = tiempoFinMs - tiempoInicioMs;\r\n\r\n\t\t\t\t// Convierte la duración a minutos o horas, según lo necesites\r\n\t\t\t\tconst duracionSesionEnMinutos = Math.floor(duracionSesionMs / (1000 * 60));\r\n\t\t\t\tconst duracionSesionEnHoras = Math.floor(duracionSesionMs / (1000 * 60 * 60));\r\n\r\n\t\t\t\tconsole.log(\r\n\t\t\t\t\t`El usuario estuvo logueado durante ${duracionSesionEnMinutos} minutos o ${duracionSesionEnHoras} horas.`\r\n\t\t\t\t);\r\n\r\n\t\t\t\t// Haz algo con el valor almacenado\r\n\t\t\t} else {\r\n\t\t\t\t// La sesión no está activa o el valor no está presente en SessionStorage\r\n\t\t\t}\r\n\r\n\t\t\tthis.subscription.add(\r\n\t\t\t\tthis.authenticationService\r\n\t\t\t\t\t.logout()\r\n\t\t\t\t\t.subscribe((x) => this.alertService.showSmallSuccess('Sesión finalizada'))\r\n\t\t\t);\r\n\t\t}\r\n\t}\r\n\r\n\teventGTM() {\r\n\t\tdataLayer.push({\r\n\t\t\tevent: 'menu_view',\r\n\t\t\taccount_type: this.rol,\r\n\t\t\tmethod: 'email',\r\n\t\t\tcontent_group: 'Home',\r\n\t\t\tcct: this.cct, //Dynamic data\r\n\t\t\tschool_type: this.typeSchool,\r\n\t\t});\r\n\t}\r\n}\r\n","
\r\n \r\n \r\n
\r\n\r\n
\r\n \"\"\r\n
\r\n
\r\n \"\"\r\n
\r\n\r\n
\r\n
\r\n \r\n
\r\n\r\n
\r\n {{username}}\r\n
\r\n\r\n
\r\n \r\n \r\n \r\n\r\n \r\n\r\n \r\n\r\n \r\n \r\n
\r\n
\r\n\r\n\r\n\r\n","import { Component, Input, OnInit, ViewEncapsulation } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'ui-main',\r\n templateUrl: './main.html',\r\n styleUrls: ['./main.scss'],\r\n encapsulation: ViewEncapsulation.None,\r\n host: {\r\n 'class': 'ui-main'\r\n }\r\n})\r\nexport class UIMain implements OnInit {\r\n @Input()\r\n sidebarClass: string | string[] = '';\r\n @Input()\r\n contentClass: string | string[] = '';\r\n\r\n constructor() { }\r\n\r\n ngOnInit() {\r\n }\r\n\r\n}\r\n","
\r\n \r\n
\r\n
\r\n \r\n
","import { Component, OnInit, ViewEncapsulation, OnDestroy } from '@angular/core';\r\nimport { animate, state, style, transition, trigger } from '@angular/animations';\r\nimport { Subscription } from 'rxjs';\r\n// SERVICES\r\nimport { AuthenticationConfigurationService } from '@services/authentication/authentication-configuration.service';\r\nimport { UserConfigurationService } from '@services/user/user-configuration.service';\r\n// MODELS\r\nimport { Permission } from '@models/permission/Permission';\r\n// CONSTS\r\nimport { PERMISSION } from './PERMISSION';\r\nimport { Router } from '@angular/router';\r\nexport const EXPANSION_PANEL_ANIMATION_TIMING = '225ms cubic-bezier(0.4,0.0,0.2,1)';\r\n// TODO : TAG GTM\r\ndeclare var dataLayer: any;\r\n@Component({\r\n\tselector: 'ui-menu',\r\n\ttemplateUrl: './menu.html',\r\n\tstyleUrls: ['./menu.scss'],\r\n\tencapsulation: ViewEncapsulation.None,\r\n\tanimations: [\r\n\t\ttrigger('indicatorSlide', [\r\n\t\t\tstate('collapsed, void', style({ transform: 'rotate(0deg)' })),\r\n\t\t\tstate('expanded', style({ transform: 'rotate(180deg)' })),\r\n\t\t\ttransition(\r\n\t\t\t\t'expanded <=> collapsed, void => collapsed',\r\n\t\t\t\tanimate(EXPANSION_PANEL_ANIMATION_TIMING)\r\n\t\t\t),\r\n\t\t]),\r\n\t\ttrigger('slide', [\r\n\t\t\tstate(\r\n\t\t\t\t'collapsed, void',\r\n\t\t\t\tstyle({ height: '0px', visibility: 'hidden', overflow: 'hidden' })\r\n\t\t\t),\r\n\t\t\tstate('expanded', style({ height: '*', visibility: 'visible' })),\r\n\t\t\ttransition(\r\n\t\t\t\t'expanded <=> collapsed, void => collapsed',\r\n\t\t\t\tanimate(EXPANSION_PANEL_ANIMATION_TIMING)\r\n\t\t\t),\r\n\t\t]),\r\n\t],\r\n\thost: { class: 'ui-menu' },\r\n})\r\nexport class UIMenu implements OnInit, OnDestroy {\r\n\tsubscription = new Subscription();\r\n\titems: Permission[] = [];\r\n\trol = '';\r\n\tshowOption?: boolean;\r\n\tcct: string | null = '';\r\n\ttypeSchool: string | null = '';\r\n\tconstructor(\r\n\t\tprivate userConfigurationService: UserConfigurationService,\r\n\t\tprivate router: Router,\r\n\t\tprivate authConfigService: AuthenticationConfigurationService\r\n\t) {\r\n\t\tthis.loadMenu();\r\n\t}\r\n\r\n\tngOnInit() {\r\n\t\tthis.cct = localStorage.getItem('cct');\r\n\t\tthis.typeSchool = localStorage.getItem('typeSchool');\r\n\t}\r\n\r\n\tngOnDestroy(): void {\r\n\t\tthis.subscription.unsubscribe();\r\n\t}\r\n\r\n\tgetUser() {\r\n\t\tthis.subscription.add(\r\n\t\t\tthis.authConfigService.currentUser.subscribe((x) => {\r\n\t\t\t\tthis.rol = x?.rol || '';\r\n\t\t\t})\r\n\t\t);\r\n\t}\r\n\r\n\tloadMenu() {\r\n\t\tconst email = sessionStorage.getItem('email');\r\n\t\tconst systemId: number = Number(sessionStorage.getItem('systemId'));\r\n\t\tconst role = Number(sessionStorage.getItem('role'));\r\n\t\t// this.showOption = ? true : false;\r\n\t\tthis.subscription.add(\r\n\t\t\tthis.userConfigurationService.permissions.subscribe((x) => {\r\n\t\t\t\t// this.items = [...PERMISSION]\r\n\t\t\t\tlet idsDeseados: number[] = [];\r\n\t\t\t\tconst idRolProfesorCobachChihuahua = 98;\r\n\t\t\t\tconst idRolAlumnoCobachChihuahua = 99;\r\n\t\t\t\tconst idsCobachChihuahuaPermitidos: number[] = [98, 99];\r\n\t\t\t\tif (systemId === 3) {\r\n\t\t\t\t\tidsDeseados = [248, 262, 250, 271];\r\n\t\t\t\t} else if (systemId === 2) {\r\n\t\t\t\t\tidsDeseados = [120, 241, 271];\r\n\t\t\t\t}\r\n\t\t\t\tlet menu = x;\r\n\t\t\t\tif (email === 'usuarioprueba@hachette.com.mx') {\t\t\t\t\t\r\n\t\t\t\t\tmenu = x.filter((item) => idsDeseados.includes(item.id));\r\n\t\t\t\t}\r\n\t\t\t\tif (email !== 'usuarioprueba@hachette.com.mx' && menu.find((m) => m.id === 271)) {\r\n\t\t\t\t\tconst itemToRemove = menu.findIndex((m) => m.title === 'Novedades');\r\n\t\t\t\t\tif (itemToRemove >= 0) {\r\n\t\t\t\t\t\tmenu.splice(itemToRemove, 1);\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\r\n\t\t\t\tif (!idsCobachChihuahuaPermitidos.includes(role)) {\r\n\t\t\t\t\tmenu = menu.filter((item) => item.id !== 256);\r\n\t\t\t\t}\r\n\t\t\t\tthis.items = menu;\r\n\t\t\t})\r\n\t\t);\r\n\t}\r\n\r\n\ttoggle(item: HTMLElement, itemMenu: Permission, url: string) {\r\n\t\tthis.eventGTM(itemMenu.title);\r\n\r\n\t\tconst classToggle = 'list-group--open';\r\n\t\titem.classList.toggle(classToggle);\r\n\r\n\t\tconst currentHost = window.location.host;\r\n\t\tif(this.isUrlValid(url)){\r\n\t\t\tconst urlHost = new URL(url).host;\r\n\r\n\t\t\tif (urlHost !== currentHost) {\r\n\t\t\t\twindow.open(url, '_blank');\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n\r\n\tgetExpandedState(item: HTMLElement) {\r\n\t\tconst classToggle = 'list-group--open';\r\n\t\treturn item.classList.contains(classToggle) ? 'expanded' : 'collapsed';\r\n\t}\r\n\r\n\tnavigateTo(item: Permission) {\r\n\t\t// if (!item.children?.length) {\r\n\t\t// this.eventGTM(item);\r\n\t\t// this.router.navigate([item.url]);\r\n\t\t// }\r\n\t}\r\n\r\n\teventGTM(title: string | undefined) {\r\n\t\tconsole.log('aqui hace click');\r\n\r\n\t\tconsole.log(title);\r\n\t\tsessionStorage.setItem('menu_select', JSON.stringify(title));\r\n\t\tdataLayer.push({\r\n\t\t\tevent: 'menu_primary_click',\r\n\t\t\taccount_type: this.rol,\r\n\t\t\tcontent_group: 'Menu',\r\n\t\t\tmenu: title,\r\n\t\t\tcct: this.cct, //Dynamic data\r\n\t\t\tschool_type: this.typeSchool,\r\n\t\t});\r\n\t}\r\n\r\n\tisUrlValid(str: string) {\r\n\t\tconst pattern = new RegExp(\r\n\t\t '^(https?:\\\\/\\\\/)?' + // protocol\r\n\t\t\t'((([a-z\\\\d]([a-z\\\\d-]*[a-z\\\\d])*)\\\\.)+[a-z]{2,}|' + // domain name\r\n\t\t\t'((\\\\d{1,3}\\\\.){3}\\\\d{1,3}))' + // OR IP (v4) address\r\n\t\t\t'(\\\\:\\\\d+)?(\\\\/[-a-z\\\\d%_.~+]*)*' + // port and path\r\n\t\t\t'(\\\\?[;&a-z\\\\d%_.~+=-]*)?' + // query string\r\n\t\t\t'(\\\\#[-a-z\\\\d_]*)?$', // fragment locator\r\n\t\t 'i'\r\n\t\t);\r\n\t\treturn pattern.test(str);\r\n\t }\r\n}\r\n","
\r\n
\r\n
Menu
\r\n
\r\n\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n {{item.title}}\r\n
\r\n
\r\n \r\n
0\">\r\n \r\n \r\n
\r\n
\r\n\r\n \r\n
0\" class=\"list-group__items\"\r\n [@slide]=\"getExpandedState(ref)\">\r\n\r\n \r\n \r\n \r\n \r\n \r\n
\r\n \r\n
\r\n
\r\n \r\n {{children.title}}\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n Analítica\r\n
\r\n
\r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n Aviso de privacidad\r\n
\r\n
\r\n Copyright © Todos los Derechos Reservados 2023\r\n
\r\n
\r\n
","import {\r\n\tComponent,\r\n\tOnInit,\r\n\tInject,\r\n\tViewEncapsulation,\r\n\tOnDestroy,\r\n\tElementRef,\r\n\tViewChild,\r\n\tHostListener,\r\n\tAfterViewInit,\r\n\tRenderer2,\r\n} from '@angular/core';\r\nimport { MAT_DIALOG_DATA, MatDialogRef } from '@angular/material/dialog';\r\n// SERVICES\r\nimport { AuthenticationConfigurationService } from '@services/authentication/authentication-configuration.service';\r\n// MODELS\r\nimport { FILE_TYPE } from '@constants/FileType';\r\nimport { MultimediaContent } from '@models/Multimedia';\r\nimport { MinifiedContent } from '@models/content/Content';\r\nimport { isAudioFile, isLinkFile, isPDFFile, isVideoFile } from '@utils/file-type';\r\nimport { Subscription } from 'rxjs';\r\nimport { environment } from '@env/environment';\r\nimport Player from '@vimeo/player';\r\nimport { SYSTEMS } from '@constants/System';\r\nimport { includes } from 'lodash';\r\nimport { ResourceService } from '@services/resource/resource.service';\r\n\r\n// TODO : TAG GTM\r\ndeclare var dataLayer: any;\r\n\r\n@Component({\r\n\tselector: 'ui-multimedia-dialog',\r\n\ttemplateUrl: './multimedia-dialog.html',\r\n\tstyleUrls: ['./multimedia-dialog.scss'],\r\n\tencapsulation: ViewEncapsulation.None,\r\n\thost: {\r\n\t\tclass: 'wrapper-multimedia-dialog',\r\n\t},\r\n})\r\nexport class UIMultimediaDialog implements OnInit, OnDestroy, AfterViewInit {\r\n\tsubscription = new Subscription();\r\n\tcontent: MinifiedContent;\r\n\trol = '';\r\n\tisDownloadSound: boolean = false;\r\n\t@ViewChild('videoFrame') videoFrame!: ElementRef;\r\n\toptions: any;\r\n\tplayer: any;\r\n\tsystemId!: number;\r\n\tnodeId: number;\r\n\tgrade: number;\r\n\tsubsystem: number;\r\n\tcct: string | null = '';\r\n\ttypeSchool: string | null = '';\r\n\tconstructor(\r\n\t\tpublic dialogRef: MatDialogRef,\r\n\t\tprivate authConfigService: AuthenticationConfigurationService,\r\n\t\t@Inject(MAT_DIALOG_DATA) public multimedia: MultimediaContent,\r\n\t\tprivate renderer: Renderer2,\r\n\t\tprivate el: ElementRef,\r\n\t\tprivate rs: ResourceService\r\n\t) {\r\n\t\tthis.content = multimedia.data;\r\n\t\tthis.nodeId = Number(multimedia.nodeId);\r\n\t\tthis.grade = Number(multimedia.grade);\r\n\t\tthis.subsystem = Number(multimedia.subsystem);\r\n\t\tconsole.error('NODO ID');\r\n\t\tconsole.log(this.grade);\r\n\r\n\t\tif (this.content.fileTypeId == 5) {\r\n\t\t\tif (this.content.fileTypeDesc === 'Webinars') {\r\n\t\t\t\tmultimedia.showButtonDownload = false;\r\n\t\t\t}\r\n\t\t\tdataLayer.push({\r\n\t\t\t\tevent: 'loading_time_resource', //Static data\r\n\t\t\t\taccount_type: this.rol, //Dynamic data\r\n\t\t\t\tcontent_group: 'Recursos digitales', //Dynamic data\r\n\t\t\t\tloading_time: 0, //Dynamic data\r\n\t\t\t\tvisible: 'TRUE', //Dynamic data\r\n\t\t\t\tsubject: this.content.formativeFieldDescription, //Dynamic data\r\n\t\t\t\tvideo_title: this.content.name, //Dynamic data\r\n\t\t\t\tvideo_duration: 0, //Dynamic data\r\n\t\t\t\tfile_name: this.content.description, //Dynamic data\r\n\t\t\t\tcct: this.cct, //Dynamic data\r\n\t\t\t\tschool_type: this.typeSchool,\r\n\t\t\t});\r\n\t\t}\r\n\t\tthis.getUser();\r\n\t}\r\n\r\n\tngOnInit() {\r\n\t\tthis.cct = localStorage.getItem('cct');\r\n\t\tthis.typeSchool = localStorage.getItem('typeSchool');\r\n\t\tthis.systemId = this.authConfigService.getSystemId;\r\n\t\tconsole.log(this.systemId);\r\n\t\tlet ids = [\r\n\t\t\t1836, 1839, 1848, 1857, 2187, 2575, 2189, 2576, 3131, 3651, 3654, 3663, 3672, 3223,\r\n\t\t\t3224,\r\n\t\t];\r\n\t\tlet idsSubsystem = [4454];\r\n\t\tlet idsGrade = [4404, 4567, 4558];\r\n\t\tthis.isDownloadSound =\r\n\t\t\t(this.systemId === 2 || this.systemId === 4) &&\r\n\t\t\t(ids.includes(this.nodeId) ||\r\n\t\t\t\tidsSubsystem.includes(this.subsystem) ||\r\n\t\t\t\tidsGrade.includes(this.grade));\r\n\t}\r\n\r\n\tngAfterViewInit() {\r\n\t\tif (this.showVideo()) {\r\n\t\t\tthis.options = {\r\n\t\t\t\tid: 'https://player.vimeo.com/video/' + this.content.urlContent,\r\n\t\t\t\tresponsive: true,\r\n\t\t\t\tloop: false,\r\n\t\t\t};\r\n\r\n\t\t\tthis.player = new Player('vimeo-video', this.options);\r\n\t\t\tthis.player.on('play', () => {\r\n\t\t\t\tdataLayer.push({\r\n\t\t\t\t\tevent: 'video_start',\r\n\t\t\t\t\taccount_type: this.rol,\r\n\t\t\t\t\tcontent_group: 'Recursos digitales',\r\n\t\t\t\t\tgrade: 'Primaria',\r\n\t\t\t\t\tsubject: 'Recursos digitales',\r\n\t\t\t\t\tvideo_title: this.content.name,\r\n\t\t\t\t\tvideo_id: this.content.urlContent,\r\n\t\t\t\t\tvisible: true,\r\n\t\t\t\t\tcct: this.cct, //Dynamic data\r\n\t\t\t\t\tschool_type: this.typeSchool,\r\n\t\t\t\t});\r\n\t\t\t});\r\n\t\t\tthis.player.on('pause', (res: any) => {\r\n\t\t\t\tdataLayer.push({\r\n\t\t\t\t\tevent: 'video_progress',\r\n\t\t\t\t\taccount_type: this.rol,\r\n\t\t\t\t\tcontent_group: 'Recursos digitales',\r\n\t\t\t\t\tgrade: 'Primaria',\r\n\t\t\t\t\tsubject: 'Recursos digitales',\r\n\t\t\t\t\tvideo_title: this.content.name,\r\n\t\t\t\t\tvideo_id: this.content.urlContent,\r\n\t\t\t\t\tvisible: true,\r\n\t\t\t\t\tcct: this.cct, //Dynamic data\r\n\t\t\t\t\tschool_type: this.typeSchool,\r\n\t\t\t\t});\r\n\t\t\t});\r\n\t\t\tthis.player.on('ended', () => {\r\n\t\t\t\tdataLayer.push({\r\n\t\t\t\t\tevent: 'video_complete',\r\n\t\t\t\t\taccount_type: this.rol,\r\n\t\t\t\t\tcontent_group: 'Recursos digitales',\r\n\t\t\t\t\tgrade: 'Primaria',\r\n\t\t\t\t\tsubject: 'Recursos digitales',\r\n\t\t\t\t\tvideo_title: this.content.name,\r\n\t\t\t\t\tvideo_id: this.content.urlContent,\r\n\t\t\t\t\tvisible: true,\r\n\t\t\t\t\tcct: this.cct, //Dynamic data\r\n\t\t\t\t\tschool_type: this.typeSchool,\r\n\t\t\t\t});\r\n\t\t\t});\r\n\t\t}\r\n\t}\r\n\r\n\tngOnDestroy(): void {\r\n\t\tthis.subscription.unsubscribe();\r\n\t}\r\n\r\n\tdescargar(urlMp3: string) {\r\n\t\tconst link = document.createElement('a');\r\n\t\tlink.href = urlMp3;\r\n\t\tlink.download = 'archivo.mp3';\r\n\t\tlink.click();\r\n\t}\r\n\tgetUser() {\r\n\t\tthis.subscription.add(\r\n\t\t\tthis.authConfigService.currentUser.subscribe((x) => {\r\n\t\t\t\tthis.rol = x?.rol || '';\r\n\r\n\t\t\t\tdataLayer.push({\r\n\t\t\t\t\tevent: 'view_content_resource', //Static data\r\n\t\t\t\t\taccount_type: this.rol, //Dynamic data\r\n\t\t\t\t\tcontent_group: 'Recursos digitales', //Dynamic data\r\n\t\t\t\t\tsubject: this.content.formativeFieldDescription, //Dynamic data\r\n\t\t\t\t\tcontent_name: this.content.description, //Dynamic data\r\n\t\t\t\t\tcontent_type: this.content.fileTypeDesc, //Dynamic data\r\n\t\t\t\t\tcontent_list_id: this.content.id, //Dynamic data\r\n\t\t\t\t\tcct: this.cct, //Dynamic data\r\n\t\t\t\t\tschool_type: this.typeSchool,\r\n\t\t\t\t});\r\n\t\t\t})\r\n\t\t);\r\n\t}\r\n\r\n\tshowAudio() {\r\n\t\treturn isAudioFile(this.multimedia.data.fileTypeId);\r\n\t}\r\n\r\n\tshowVideo() {\r\n\t\treturn isVideoFile(this.multimedia.data.fileTypeId);\r\n\t}\r\n\r\n\tshowDocument() {\r\n\t\treturn (\r\n\t\t\tisPDFFile(this.multimedia.data.fileTypeId) &&\r\n\t\t\t!this.multimedia.data.urlContent.includes('.docx') &&\r\n\t\t\t!this.multimedia.data.urlContent.includes('.pptx')\r\n\t\t);\r\n\t}\r\n\r\n\tshowLink() {\r\n\t\treturn (\r\n\t\t\tisLinkFile(this.multimedia.data.fileTypeId) ||\r\n\t\t\tthis.multimedia.data.urlContent.includes('.docx') ||\r\n\t\t\tthis.multimedia.data.urlContent.includes('.pptx')\r\n\t\t);\r\n\t}\r\n\r\n\tgetUrlMultimedia() {\r\n\t\tswitch (this.multimedia.data.fileTypeId) {\r\n\t\t\tcase FILE_TYPE.videos:\r\n\t\t\t\treturn 'https://player.vimeo.com/video/' + this.content.urlContent;\r\n\t\t\tcase FILE_TYPE.audios:\r\n\t\t\tcase FILE_TYPE.presentations:\r\n\t\t\t\treturn this.content.urlContent;\r\n\t\t\tdefault:\r\n\t\t\t\treturn this.content.urlContent;\r\n\t\t}\r\n\t}\r\n\r\n\tcanDownloadDocument() {\r\n\t\tconst email = sessionStorage.getItem('email');\r\n\t\tconst showOption = email === 'usuarioprueba@hachette.com.mx' ? true : false;\r\n\t\treturn showOption ? false : this.multimedia.data.fileTypeId !== FILE_TYPE.textBooks;\r\n\t}\r\n\r\n\tgetUrlPdf() {\r\n\t\treturn `${environment.hostAPI}/contents/${this.multimedia.data.id!}/download`;\r\n\t}\r\n\r\n\tgetFileName() {\r\n\t\tlet fileName =this.content.urlContent.replace(/^.*[\\\\/]/, '');\r\n\t\tif(fileName.includes('.pdf_sv=') || fileName.includes('.pdf?sv=')){\r\n\t\t\tfileName = this.content.name + '.pdf';\r\n\t\t}\r\n\t\treturn fileName;\r\n\t}\r\n\r\n\tcloseDialog() {\r\n\t\tthis.dialogRef.close();\r\n\t}\r\n\r\n\tonPlayAudio() {\r\n\t\tthis.eventGTM();\r\n\t}\r\n\r\n\teventGTM() {\r\n\t\tdataLayer.push({\r\n\t\t\tevent: 'audio_start',\r\n\t\t\taccount_type: this.rol,\r\n\t\t\tcontent_group: 'Recursos digitales',\r\n\t\t\t// level: \"example\",\r\n\t\t\tgrade: 'Primaria',\r\n\t\t\tsubject: 'Recursos digitales',\r\n\t\t\taudio_title: this.content.name,\r\n\t\t\taudio_duration: 0,\r\n\t\t\tvisible: true,\r\n\t\t\tcct: this.cct, //Dynamic data\r\n\t\t\tschool_type: this.typeSchool,\r\n\t\t});\r\n\t}\r\n\tvideoPlay(event: Event) {\r\n\t\tdataLayer.push({\r\n\t\t\tevent: 'video_start',\r\n\t\t\taccount_type: this.rol,\r\n\t\t\tcontent_group: 'Recursos digitales',\r\n\t\t\t// level: \"example\",\r\n\t\t\tgrade: 'Primaria',\r\n\t\t\tsubject: 'Recursos digitales',\r\n\t\t\tvideo_title: this.content.name,\r\n\t\t\tvideo_id: this.content.urlContent,\r\n\t\t\tvisible: true,\r\n\t\t\tcct: this.cct, //Dynamic data\r\n\t\t\tschool_type: this.typeSchool,\r\n\t\t});\r\n\t}\r\n\r\n\tvodeoEnd(event: Event) {\r\n\t\tdataLayer.push({\r\n\t\t\tevent: 'video_start',\r\n\t\t\taccount_type: this.rol,\r\n\t\t\tcontent_group: 'Recursos digitales',\r\n\t\t\tgrade: 'Primaria',\r\n\t\t\tsubject: 'Recursos digitales',\r\n\t\t\tvideo_title: this.content.name,\r\n\t\t\tvideo_id: this.content.urlContent,\r\n\t\t\tvisible: true,\r\n\t\t\tcct: this.cct, //Dynamic data\r\n\t\t\tschool_type: this.typeSchool,\r\n\t\t});\r\n\t}\r\n\r\n\tvimeoIframeLoaded() {\r\n\t\tconst iframe = this.videoFrame.nativeElement;\r\n\r\n\t\t// Envía un mensaje al iframe\r\n\t\tiframe.contentWindow.postMessage(\r\n\t\t\t'startPlayback',\r\n\t\t\t'https://unificacion2.azurewebsites.net/app/digital-resources'\r\n\t\t);\r\n\r\n\t\t// Puedes intentar acceder al video dentro del iframe y agregar eventos.\r\n\t\tconst iframeDocument = iframe.contentDocument || iframe.contentWindow.document;\r\n\r\n\t\tiframeDocument.addEventListener('DOMContentLoaded', () => {\r\n\t\t\tconst videoElement = iframeDocument.querySelector('video');\r\n\r\n\t\t\tif (videoElement) {\r\n\t\t\t\tvideoElement.addEventListener('play', () => {\r\n\t\t\t\t\tconsole.log('El video ha empezado a reproducirse.');\r\n\t\t\t\t});\r\n\r\n\t\t\t\tvideoElement.addEventListener('ended', () => {\r\n\t\t\t\t\tconsole.log('El video ha terminado de reproducirse.');\r\n\t\t\t\t});\r\n\t\t\t}\r\n\t\t});\r\n\t}\r\n\t@HostListener('document:keydown', ['$event'])\r\n\tonKeyDown(event: KeyboardEvent): void {\r\n\t\tif (\r\n\t\t\t(event.ctrlKey && event.key === 's') ||\r\n\t\t\t(event.ctrlKey && event.key === 'p' && this.systemId === SYSTEMS.RA)\r\n\t\t) {\r\n\t\t\tevent.preventDefault(); // Evita que el evento predeterminado (guardar o imprimir) ocurra\r\n\t\t\tevent.stopPropagation(); // Detiene la propagación del evento\r\n\t\t}\r\n\t}\r\n\r\n\tpublic onBeforePrint() {\r\n\t\tlet iframe = this.el.nativeElement.querySelector(\r\n\t\t\t'.ui-section-multimedia .document ng2-pdfjs-viewer iframe'\r\n\t\t);\r\n\t\tlet iframeDocument = iframe.contentDocument || iframe.contentWindow.document;\r\n\t\tlet printContainer = iframeDocument.querySelector('#printContainer');\r\n\t\tlet div = this.renderer.createElement('div');\r\n\t\tdiv.innerHTML = '';\r\n\t\tthis.renderer.appendChild(printContainer, div);\r\n\t}\r\n\r\n\tgetControlsList(): string {\r\n\t\tif (this.nodeId === 4404) {\r\n\t\t\treturn ' noplaybackrate';\r\n\t\t} else {\r\n\t\t\treturn 'nodownload noplaybackrate';\r\n\t\t}\r\n\t}\r\n\r\n\tdownloadFile() {\r\n\t\tthis.rs.downloadContent(this.content);\r\n\t}\r\n}\r\n","\r\n\r\n
\r\n\t\r\n\t

{{content.name}}

\r\n\t\r\n\t\r\n
\r\n\r\n\r\n\t
\r\n\t\t\r\n\t\t
\r\n\t\t\t

Propósito

\r\n\t\t\t

\r\n\t\t\t\t{{content.purposeDescription || ''}}\r\n\t\t\t

\r\n\t\t
\r\n\r\n\t\t\r\n\t\t
\r\n\t\t\t

Campo de formación

\r\n\t\t\t

{{content.formativeFieldDescription || ''}}

\r\n\t\t
\r\n\t
\r\n\r\n\t\r\n\t
\r\n\t\t
\r\n\t\t\t\r\n\t\t
\r\n\t\t
\r\n\t\t\t\r\n\t\t
\r\n\r\n\t\t
\r\n\t\t\t\r\n\t\t\t\r\n\t\t
\r\n\r\n\t\t
\r\n\t\t\t
\r\n\r\n\t\t\t\r\n\t\t
\r\n\r\n\t\t
\r\n\t\t\t\r\n\t\t\tVisitar sitio interactivo: {{content.name}}\r\n\t\t\r\n\r\n\t\t\r\n\t\t\r\n\t\t
\r\n\t
\r\n
\r\n\r\n\t\t\t\r\n\t\t\r\n\t\t\tDescargar recurso\r\n\t\t\t\r\n\t\t\r\n\r\n\t\t\r\n\t\t\r\n\t\r\n\r\n\r\n\t\t\r\n\t\t\r\n\t\t\tDescargar recurso\r\n\t\t\t\r\n\t\t\r\n\t\r\n\r\n","import { Component, Input, OnInit, ViewChild, OnDestroy } from '@angular/core';\r\nimport { MatDialog } from '@angular/material/dialog';\r\nimport { HttpErrorResponse } from '@angular/common/http';\r\n// LIBS\r\nimport { Subscription } from 'rxjs';\r\n// COMPONENTS\r\nimport { UIMultimediaDialog } from '@shared/components/multimedia-dialog/multimedia-dialog';\r\nimport { NativePaginator } from '@shared/modules/native/paginator/paginator';\r\n// SERVICES\r\nimport { NodeService } from '@services/node/node.service';\r\nimport { AlertService } from '@services/notification/alert.service';\r\nimport { AuthenticationConfigurationService } from '@services/authentication/authentication-configuration.service';\r\n// MODELS\r\nimport { FileType } from '@models/file-type/FileType';\r\nimport { Multimedia, MultimediaContent } from '@models/Multimedia';\r\nimport { Node } from '@models/node/Node';\r\nimport { PageEvent } from '@shared/modules/native/paginator/paginator-config';\r\nimport { Response } from '@models/response-api/ResponseApi';\r\n// CONST / CONFIG\r\nimport { Content, MinifiedContent } from '@models/content/Content';\r\nimport { FILE_TYPE } from '@constants/FileType';\r\nimport { getFileTypeByUrl } from '@utils/url';\r\nimport { ResourceService } from '@services/resource/resource.service';\r\n\r\n// TODO : TAG GTM\r\ndeclare var dataLayer: any;\r\n\r\n@Component({\r\n\tselector: 'app-multimedia',\r\n\ttemplateUrl: './multimedia.component.html',\r\n\tstyleUrls: ['./multimedia.component.scss'],\r\n})\r\nexport class MultimediaComponent implements OnInit, OnDestroy {\r\n\tsubscription = new Subscription();\r\n\t@ViewChild(NativePaginator) paginator!: NativePaginator;\r\n\tdisplayedColumns: string[] = ['iconLabel', 'name', 'action'];\r\n\tdataSource: MinifiedContent[] = [];\r\n\ttotal = 0;\r\n\tisFirst = true;\r\n\tisFirstLoadingData = true;\r\n\tnode!: Node;\r\n\trol: string;\r\n\t@Input() isBachillerato = false;\r\n\t@Input() canDownloadFile = false;\r\n\t@Input() grade = 0;\r\n\t@Input() signature = 0;\r\n\t@Input() subsystem = 0;\r\n\t@Input()\r\n\tfileType!: FileType;\r\n\t@Input()\r\n\tset filters(value: any) {\r\n\t\tif (this.isFirst) {\r\n\t\t\tthis.isFirst = false;\r\n\t\t\tthis.node = this.createConfigNode(value.subsystemId, value.nodeId);\r\n\t\t} else {\r\n\t\t\tthis.node.nodeId = value.nodeId;\r\n\t\t}\r\n\t\tthis.loadData();\r\n\t}\r\n\tcct: string | null = '';\r\n\ttypeSchool: string | null = '';\r\n\tconstructor(\r\n\t\tprivate dialog: MatDialog,\r\n\t\tprivate nodeService: NodeService,\r\n\t\tprivate alertService: AlertService,\r\n\t\tprivate authConfigService: AuthenticationConfigurationService,\r\n\t\tpublic rs: ResourceService\r\n\t) {\r\n\t\tthis.rol = this.authConfigService.getUser().rol;\r\n\t}\r\n\r\n\tngOnInit() {\r\n\t\tthis.cct = localStorage.getItem('cct');\r\n\t\tthis.typeSchool = localStorage.getItem('typeSchool');\r\n\t}\r\n\r\n\tngOnDestroy(): void {\r\n\t\tthis.subscription.unsubscribe();\r\n\t}\r\n\r\n\tget showLink() {\r\n\t\treturn this.fileType.id === FILE_TYPE.digitalTextBooks;\r\n\t}\r\n\r\n\tshowLinkExternalFile(item: Content) {\r\n\t\treturn getFileTypeByUrl(item.urlContent) == FILE_TYPE.interactive;\r\n\t}\r\n\r\n\tshowMessageEmpty() {\r\n\t\treturn !this.isFirstLoadingData && this.dataSource.length === 0;\r\n\t}\r\n\r\n\tcreateConfigNode(subsystemId: number, nodeId: number): Node {\r\n\t\treturn {\r\n\t\t\tsubsystemId,\r\n\t\t\tnodeId,\r\n\t\t\tfileTypeId: this.fileType.id,\r\n\t\t\tfilter: null,\r\n\t\t\tcurrentPage: 1,\r\n\t\t\tsizePage: 10,\r\n\t\t};\r\n\t}\r\n\r\n\tsearch(value: string) {\r\n\t\tthis.node = { ...this.node, filter: value, currentPage: 1 };\r\n\t\tthis.loadData();\r\n\t}\r\n\r\n\tclearFilters() {\r\n\t\tthis.node = { ...this.node, filter: null, currentPage: 1 };\r\n\t\tthis.loadData();\r\n\t}\r\n\r\n\tchangePage($event: PageEvent) {\r\n\t\tconst { pageIndex } = $event;\r\n\t\tthis.node = { ...this.node, currentPage: pageIndex + 1 };\r\n\t\tthis.loadData();\r\n\t}\r\n\r\n\tloadData() {\r\n\t\tconst filterContent = sessionStorage.getItem('filterContent');\r\n\t\tconst option = sessionStorage.getItem('filterOption');\r\n\r\n\t\tthis.subscription.add(\r\n\t\t\tthis.nodeService\r\n\t\t\t\t.getAllContentsV2(this.node)\r\n\t\t\t\t.subscribe({\r\n\t\t\t\t\tnext: (x: Response) => {\r\n\t\t\t\t\t\tthis.total = x.pagination?.total || 0;\r\n\t\t\t\t\t\tconst { files } = x.data || {};\r\n\r\n\t\t\t\t\t\tthis.dataSource = files as MinifiedContent[];\r\n\r\n\t\t\t\t\t\tdataLayer.push({\r\n\t\t\t\t\t\t\tevent: 'filter_usage', //Static data\r\n\t\t\t\t\t\t\tcontent_group: 'Recursos digitales', //Dynamic data\r\n\t\t\t\t\t\t\tfilter: option, //Dynamic data\r\n\t\t\t\t\t\t\tvalue: filterContent, //Dynamic data\r\n\t\t\t\t\t\t\tresults: this.dataSource.length, //Dynamic data\r\n\t\t\t\t\t\t\tcct: this.cct, //Dynamic data\r\n\t\t\t\t\t\t\tschool_type: this.typeSchool,\r\n\t\t\t\t\t\t});\r\n\r\n\t\t\t\t\t\tlet url = '';\r\n\r\n\t\t\t\t\t\tfor (let a of this.dataSource) {\r\n\t\t\t\t\t\t\turl = a.urlContent.replace(/\\s+/g, ''); // Elimina espacios en blanco\r\n\t\t\t\t\t\t\turl = url.replace(/\\n/g, ''); // Elimina saltos de línea\r\n\r\n\t\t\t\t\t\t\ta.urlContent = url;\r\n\t\t\t\t\t\t}\r\n\r\n\t\t\t\t\t\tthis.eventLoadResources();\r\n\t\t\t\t\t},\r\n\t\t\t\t\terror: (error: HttpErrorResponse) => {\r\n\t\t\t\t\t\tthis.alertService.showSmallErrorServer();\r\n\t\t\t\t\t},\r\n\t\t\t\t})\r\n\t\t\t\t.add(() => {\r\n\t\t\t\t\tthis.isFirstLoadingData = false;\r\n\t\t\t\t})\r\n\t\t);\r\n\t}\r\n\r\n\tshowResource(content: MinifiedContent) {\r\n\t\tlet level = '';\r\n\t\tswitch (this.node.nodeId) {\r\n\t\t\tcase 143:\r\n\t\t\t\tlevel = 'Primaria';\r\n\t\t\t\tbreak;\r\n\t\t\tcase 144:\r\n\t\t\t\tlevel = 'Preescolar';\r\n\t\t\t\tbreak;\r\n\t\t\tcase 145:\r\n\t\t\t\tlevel = 'Secundaria';\r\n\t\t\t\tbreak;\r\n\t\t\tcase 1448:\r\n\t\t\t\tlevel = 'Bachillerato';\r\n\t\t\t\tbreak;\r\n\t\t\tdefault:\r\n\t\t\t\tbreak;\r\n\t\t}\r\n\r\n\t\tdataLayer.push({\r\n\t\t\tevent: 'select_content_file', //Static data\r\n\t\t\taccount_type: this.rol, //Dynamic data\r\n\t\t\tcontent_group: 'Recursos digitales', //Dynamic data\r\n\t\t\tlevel: level, //Dynamic data\r\n\t\t\tgrade: this.grade, //Dynamic data\r\n\t\t\t//subject: content.educationLevelDescription, //Dynamic data\r\n\t\t\tcontent_name: content.name, //Dynamic data\r\n\t\t\tcontent_type: content.fileTypeDesc, //Dynamic data\r\n\t\t\tcontent_id: content.id, //Dynamic data\r\n\t\t\tcct: this.cct, //Dynamic data\r\n\t\t\tschool_type: this.typeSchool,\r\n\t\t});\r\n\t\tconst multimedia: MultimediaContent = {\r\n\t\t\tdata: content,\r\n\t\t\tshowButtonDownload: this.canDownloadFile,\r\n\t\t\tnodeId: this.signature,\r\n\t\t\tgrade: this.grade,\r\n\t\t\tsubsystem: this.subsystem,\r\n\t\t};\r\n\t\tthis.dialog.open(UIMultimediaDialog, {\r\n\t\t\tdata: multimedia,\r\n\t\t\tbackdropClass: ['ui-backdropClass'],\r\n\t\t\tpanelClass: ['ui-panelClass'],\r\n\t\t\tmaxWidth: '900px',\r\n\t\t\tminWidth: '420px',\r\n\t\t\twidth: '765px',\r\n\t\t});\r\n\t\tthis.eventOpenSource(content);\r\n\t}\r\n\r\n\teventLoadResources() {\r\n\t\tlet level = '';\r\n\t\tswitch (this.node.nodeId) {\r\n\t\t\tcase 143:\r\n\t\t\t\tlevel = 'Primaria';\r\n\t\t\t\tbreak;\r\n\t\t\tcase 144:\r\n\t\t\t\tlevel = 'Preescolar';\r\n\t\t\t\tbreak;\r\n\t\t\tcase 145:\r\n\t\t\t\tlevel = 'Secundaria';\r\n\t\t\t\tbreak;\r\n\t\t\tcase 1448:\r\n\t\t\t\tlevel = 'Bachillerato';\r\n\t\t\t\tbreak;\r\n\t\t\tdefault:\r\n\t\t\t\tbreak;\r\n\t\t}\r\n\r\n\t\tdataLayer.push({\r\n\t\t\tevent: 'view_content_list_file', //Static data\r\n\t\t\taccount_type: this.rol, //Dynamic data\r\n\t\t\tcontent_group: 'Recursos digitales', //Dynamic data\r\n\t\t\tlevel: level, //Dynamic data\r\n\t\t\tgrade: 0, //Dynamic data\r\n\t\t\tsubject: this.rol, //Dynamic data\r\n\t\t\tcontent_name: this.fileType.description, //Dynamic data\r\n\t\t\tcontent_type: this.fileType.description, //Dynamic data\r\n\t\t\tcontent_id: '', //Dynamic data\r\n\t\t\tresult: this.dataSource.length, //Dynamic data\r\n\t\t\tcct: this.cct, //Dynamic data\r\n\t\t\tschool_type: this.typeSchool,\r\n\t\t});\r\n\t}\r\n\r\n\teventOpenSource(content: MinifiedContent) {\r\n\t\tlet level = '';\r\n\t\tswitch (this.node.nodeId) {\r\n\t\t\tcase 143:\r\n\t\t\t\tlevel = 'Primaria';\r\n\t\t\t\tbreak;\r\n\t\t\tcase 144:\r\n\t\t\t\tlevel = 'Preescolar';\r\n\t\t\t\tbreak;\r\n\t\t\tcase 145:\r\n\t\t\t\tlevel = 'Secundaria';\r\n\t\t\t\tbreak;\r\n\t\t\tcase 1448:\r\n\t\t\t\tlevel = 'Bachillerato';\r\n\t\t\t\tbreak;\r\n\t\t\tdefault:\r\n\t\t\t\tbreak;\r\n\t\t}\r\n\r\n\t\tdataLayer.push({\r\n\t\t\tevent: 'select_content_resource', //Static data\r\n\t\t\taccount_type: this.rol, //Dynamic data\r\n\t\t\tcontent_group: 'Recursos digitales', //Dynamic data\r\n\t\t\tlevel: level, //Dynamic data\r\n\t\t\tgrade: 3, //Dynamic data\r\n\t\t\tsubject: this.rol, //Dynamic data\r\n\t\t\tcontent_name: content.name, //Dynamic data\r\n\t\t\tcontent_type: content.fileTypeDesc, //Dynamic data\r\n\t\t\tcontent_list_id: content.id, //Dynamic data\r\n\t\t\tcct: this.cct, //Dynamic data\r\n\t\t\tschool_type: this.typeSchool,\r\n\t\t});\r\n\t}\r\n\r\n\tdownloadFile(resource: MinifiedContent) {\r\n\t\tthis.rs.downloadContent(resource);\r\n\t}\r\n}\r\n","\r\n \r\n \r\n\r\n \r\n\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n
No.\r\n \r\n Nombre\r\n {{element.name}}\r\n {{element.name}}\r\n Acción\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n\r\n \r\n \r\n\r\n
","import {\r\n\tComponent,\r\n\tDirective,\r\n\tEventEmitter,\r\n\tInput,\r\n\tOnDestroy,\r\n\tOnInit,\r\n\tOutput,\r\n} from '@angular/core';\r\nimport { FormBuilder, FormGroup, Validators } from '@angular/forms';\r\nimport { Subscription } from 'rxjs';\r\n// SERVICES\r\nimport { AlertService } from '@services/notification/alert.service';\r\n// MODELS\r\n// BASE\r\nimport { FormBase } from '@base/FormBase';\r\nimport { Response } from '@models/response-api/ResponseApi';\r\nimport { HttpErrorResponse } from '@angular/common/http';\r\nimport { QuestionTypeService } from '@services/question-type/question-type.service';\r\nimport { CatalogBase } from '@models/catalog/Catalog';\r\nimport { Question } from '@models/question/Question';\r\nimport { QuestionBank } from '@models/question-bank/QuestionBank';\r\nimport { ActivatedRoute, Router } from '@angular/router';\r\nimport { toBase64 } from '@utils/to-base-64';\r\n\r\n@Directive({selector: 'reagent-form-base'})\r\nexport abstract class ReagentFormBase extends FormBase implements OnInit, OnDestroy {\r\n\tsubscription = new Subscription();\r\n\tform!: FormGroup;\r\n\tquestionBank: QuestionBank;\r\n\tquestionsTypes: CatalogBase[] = [];\r\n\t@Output() save = new EventEmitter();\r\n\t@Output() update = new EventEmitter();\r\n\t@Output() changeQuestionDraft = new EventEmitter();\r\n\t_question?: Question;\r\n\t@Input() set question(value: Question | undefined) {\r\n\t\tif (value) {\r\n\t\t\tthis._question = value;\r\n\t\t\tthis.setQuestion(value);\r\n\t\t}\r\n\t}\r\n\r\n\tconstructor(\r\n\t\tprivate fb: FormBuilder,\r\n\t\tprivate alertService: AlertService,\r\n\t\tprivate questionTypeService: QuestionTypeService,\r\n\t\tprotected route: ActivatedRoute,\r\n\t\tprotected router: Router,\r\n\t) {\r\n\t\tsuper();\r\n\t\tthis.questionBank = this.route.parent?.snapshot.data['data'] as QuestionBank;\r\n\t\tthis.createForm();\r\n\t\tthis.loadQuestionType();\r\n\t}\r\n\r\n\tngOnInit() {}\r\n\r\n\tngOnDestroy(): void {\r\n\t\tthis.subscription.unsubscribe();\r\n\t}\r\n\r\n\tnavigateToRegents() : void {\r\n\t\tthis.router.navigate([\r\n\t\t\t'/app/reagent-generator/question-bank',\r\n\t\t\tthis.questionBank.id,\r\n\t\t\t'reagents',\r\n\t\t]);\r\n\t}\r\n\r\n\tcreateForm() {\r\n\t\tthis.form = this.fb.group({\r\n\t\t\tid: null,\r\n\t\t\tquestionBankId: [this.questionBank.id, [Validators.required]],\r\n\t\t\tcontent: ['', [Validators.required]],\r\n\t\t\texplanation: ['', [Validators.required]],\r\n\t\t\tquestionTypeId: [null, [Validators.required]],\r\n\t\t\tactive: true,\r\n\t\t\tfilename: [''],\r\n\t\t\tfileContentBase64: [null],\r\n\t\t\turlImage: [null],\r\n\t\t});\r\n\t}\r\n\r\n\tsetQuestion(question: Question) {\r\n\t\tthis.form.setValue({\r\n\t\t\tid: question.id,\r\n\t\t\tquestionBankId: question.questionBankId,\r\n\t\t\tcontent: question.content,\r\n\t\t\texplanation: question.explanation,\r\n\t\t\tquestionTypeId: question.questionTypeId,\r\n\t\t\tactive: true,\r\n\t\t\tfilename: question.filename || null,\r\n\t\t\tfileContentBase64: null,\r\n\t\t\turlImage: question?.urlImage || '',\r\n\t\t});\r\n\t}\r\n\r\n\tasync changeFile($event: Event, elementRef: HTMLInputElement) {\r\n\t\tconst file = this.getFile($event);\r\n\t\tif (file) {\r\n\t\t\tconst sizeMb = file.size / 1024 / 1024;\r\n\t\t\tif (sizeMb < 1) {\r\n\t\t\t\tconst encoded = await toBase64(file);\r\n\t\t\t\tconst image64 = (encoded as string).replace(/^data:(.*,)?/, '');\r\n\t\t\t\tthis.formControl('filename').setValue(file.name);\r\n\t\t\t\tthis.formControl('fileContentBase64').setValue(image64);\r\n\t\t\t\tthis.formControl('urlImage').setValue(encoded);\r\n\t\t\t} else {\r\n\t\t\t\tthis.alertService.showError('Imagen demasiado grande, máximo 1MB');\r\n\t\t\t\tthis.deleteImage();\r\n\t\t\t\telementRef.value = '';\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n\r\n\tdeleteImage() {\r\n\t\tthis.formControl('filename').setValue(null);\r\n\t\tthis.formControl('fileContentBase64').setValue(null);\r\n\t\tthis.formControl('urlImage').setValue('');\r\n\t}\r\n\r\n\tchangeQuestionType() {\r\n\t\tthis.changeQuestionDraft.emit(this.form.value);\r\n\t}\r\n\r\n\tloadQuestionType() {\r\n\t\tthis.subscription.add(\r\n\t\t\tthis.questionTypeService.getAll().subscribe({\r\n\t\t\t\tnext: (x: Response) => {\r\n\t\t\t\t\tthis.questionsTypes = x.data as CatalogBase[];\r\n\t\t\t\t},\r\n\t\t\t\terror: (error: HttpErrorResponse) => {\r\n\t\t\t\t\tconsole.log(error);\r\n\t\t\t\t\tthis.alertService.showSmallErrorServer();\r\n\t\t\t\t},\r\n\t\t\t})\r\n\t\t);\r\n\t}\r\n\r\n\tonSubmit($event: Event) {\r\n\t\t$event.preventDefault();\r\n\t\tthis.formSubmitted = true;\r\n\t\tif (this.form.valid) {\r\n\t\t\tconst value = this.form.value;\r\n\t\t\tthis._question ? this.update.emit(value) : this.save.emit(value);\r\n\t\t} else {\r\n\t\t\tthis.alertService.showErrorForm();\r\n\t\t}\r\n\t}\r\n}\r\n","import { Component, Directive, OnInit } from '@angular/core';\r\nimport { ActivatedRoute, Router } from '@angular/router';\r\nimport { HttpErrorResponse } from '@angular/common/http';\r\nimport { Subscription } from 'rxjs';\r\n// SERVICES\r\nimport { QuestionBankService } from '@services/question-bank/question-bank.service';\r\nimport { AlertService } from '@services/notification/alert.service';\r\nimport { QuestionService } from '@services/question/question.service';\r\n// MODELS\r\nimport { QuestionBank } from '@models/question-bank/QuestionBank';\r\nimport { Response } from '@models/response-api/ResponseApi';\r\nimport { Question } from '@models/question/Question';\r\n// TODO : TAG GTM\r\ndeclare var dataLayer: any;\r\n@Directive({ selector: 'reagent-table' })\r\nexport abstract class ReagentTableBase implements OnInit {\r\n\tquestionBank: QuestionBank;\r\n\tsubscription = new Subscription();\r\n\tdisplayedColumns: string[] = ['content', 'questionType', 'action'];\r\n\tdataSource: Question[] = [];\r\n\tisFirstLoadingData = true;\r\n\tcct: string | null = '';\r\n\ttypeSchool: string | null = '';\r\n\tconstructor(\r\n\t\tprotected route: ActivatedRoute,\r\n\t\tprotected router: Router,\r\n\t\tprotected alertService: AlertService,\r\n\t\tprotected questionBankService: QuestionBankService,\r\n\t\tprotected questionService: QuestionService\r\n\t) {\r\n\t\tthis.questionBank = this.route.parent?.snapshot.data['data'] as QuestionBank;\r\n\t}\r\n\r\n\tngOnInit() {\r\n\t\tthis.cct = localStorage.getItem('cct');\r\n\t\tthis.typeSchool = localStorage.getItem('typeSchool');\r\n\t\tthis.loadData();\r\n\t}\r\n\r\n\tngOnDestroy(): void {\r\n\t\tthis.subscription.unsubscribe();\r\n\t}\r\n\r\n\tshowMessageEmpty() {\r\n\t\treturn !this.isFirstLoadingData && this.dataSource.length === 0;\r\n\t}\r\n\r\n\tabstract navigateQuestion(question: Question): void;\r\n\r\n\tabstract addNewReagent(): void;\r\n\r\n\tloadData() {\r\n\t\tthis.subscription.add(\r\n\t\t\tthis.questionBankService\r\n\t\t\t\t.getById(this.questionBank.id!)\r\n\t\t\t\t.subscribe({\r\n\t\t\t\t\tnext: (x: Response) => {\r\n\t\t\t\t\t\tif (x.success) {\r\n\t\t\t\t\t\t\tconst data = x.data as QuestionBank;\r\n\t\t\t\t\t\t\tthis.dataSource = (data.questions as Question[]) || [];\r\n\t\t\t\t\t\t} else {\r\n\t\t\t\t\t\t\tdataLayer.push({\r\n\t\t\t\t\t\t\t\tevent: 'error_message', //Static data\r\n\t\t\t\t\t\t\t\tcontent_group: 'Banco de preguntas', //Dynamic data\r\n\t\t\t\t\t\t\t\terror_messgae_text: x.message, //Dynamic data\r\n\t\t\t\t\t\t\t\terror_messgae_location: 'Cargar datos', //Dynamic data\r\n\t\t\t\t\t\t\t\tcct: this.cct, //Dynamic data\r\n\t\t\t\t\t\t\t\tschool_type: this.typeSchool,\r\n\t\t\t\t\t\t\t});\r\n\t\t\t\t\t\t\tthis.alertService.showError(x.message);\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t},\r\n\t\t\t\t\terror: (error: HttpErrorResponse) => {\r\n\t\t\t\t\t\tconsole.log(error);\r\n\t\t\t\t\t\tthis.alertService.showSmallErrorServer();\r\n\t\t\t\t\t},\r\n\t\t\t\t})\r\n\t\t\t\t.add(() => {\r\n\t\t\t\t\tthis.isFirstLoadingData = false;\r\n\t\t\t\t})\r\n\t\t);\r\n\t}\r\n\r\n\tasync confirmDeletionQuestion(question: Question) {\r\n\t\tif (await this.alertService.showConfirmationDeletion()) {\r\n\t\t\tthis.deleteQuestion(question);\r\n\t\t}\r\n\t}\r\n\r\n\tdeleteQuestion(question: Question) {\r\n\t\tthis.subscription.add(\r\n\t\t\tthis.questionService\r\n\t\t\t\t.remove(question)\r\n\t\t\t\t.subscribe({\r\n\t\t\t\t\tnext: (x: Response) => {\r\n\t\t\t\t\t\tif (x.success) {\r\n\t\t\t\t\t\t\tthis.alertService.showSuccess(x.message);\r\n\t\t\t\t\t\t\tthis.loadData();\r\n\t\t\t\t\t\t} else {\r\n\t\t\t\t\t\t\tdataLayer.push({\r\n\t\t\t\t\t\t\t\tevent: 'error_message', //Static data\r\n\t\t\t\t\t\t\t\tcontent_group: 'Banco de preguntas', //Dynamic data\r\n\t\t\t\t\t\t\t\terror_messgae_text: x.message, //Dynamic data\r\n\t\t\t\t\t\t\t\terror_messgae_location: 'Eliminar pregunta', //Dynamic data\r\n\t\t\t\t\t\t\t\tcct: this.cct, //Dynamic data\r\n\t\t\t\t\t\t\t\tschool_type: this.typeSchool,\r\n\t\t\t\t\t\t\t});\r\n\t\t\t\t\t\t\tthis.alertService.showError(x.message);\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t},\r\n\t\t\t\t\terror: (error: HttpErrorResponse) => {\r\n\t\t\t\t\t\tconsole.log(error);\r\n\t\t\t\t\t\tthis.alertService.showSmallErrorServer();\r\n\t\t\t\t\t},\r\n\t\t\t\t})\r\n\t\t\t\t.add(() => {\r\n\t\t\t\t\tthis.isFirstLoadingData = false;\r\n\t\t\t\t})\r\n\t\t);\r\n\t}\r\n}\r\n","import { Directive, OnInit, ViewChild } from '@angular/core';\r\nimport { ActivatedRoute } from '@angular/router';\r\nimport { HttpErrorResponse } from '@angular/common/http';\r\nimport { Subscription, forkJoin } from 'rxjs';\r\n// COMPONENTS\r\nimport { MultipleAnswerComponent } from '@shared/components/answer/multiple-answer/multiple-answer.component';\r\nimport { OpenAnswerComponent } from '@shared/components/answer/open-answer/open-answer.component';\r\nimport { RelationalAnswerComponent } from '@shared/components/answer/relational-answer/relational-answer.component';\r\nimport { TrueFalseAnswerComponent } from '@shared/components/answer/true-false-answer/true-false-answer.component';\r\nimport { ImageMultipleAnswerComponent } from '@shared/components/answer/image-multiple-answer/image-multiple-answer.component';\r\n// SERVICES\r\nimport { QuestionService } from '@services/question/question.service';\r\nimport { AlertService } from '@services/notification/alert.service';\r\nimport { AnswerService } from '@services/answer/answer.service';\r\n// MODELS\r\nimport { QuestionBank } from '@models/question-bank/QuestionBank';\r\nimport { Question } from '@models/question/Question';\r\nimport { Response } from '@models/response-api/ResponseApi';\r\nimport { QUESTION_TYPE } from '@constants/QuestionType';\r\n// TODO : TAG GTM\r\ndeclare var dataLayer: any;\r\n@Directive({ selector: 'reagent-base' })\r\nexport abstract class ReagentBase implements OnInit {\r\n\tsubscription = new Subscription();\r\n\tQUESTION_TYPE = QUESTION_TYPE;\r\n\tquestion?: Question;\r\n\tquestionDraft?: Question;\r\n\tquestionBank: QuestionBank;\r\n\t@ViewChild(MultipleAnswerComponent) multipleAnswerComponent?: MultipleAnswerComponent;\r\n\t@ViewChild(OpenAnswerComponent) openAnswerComponent?: OpenAnswerComponent;\r\n\t@ViewChild(RelationalAnswerComponent)\r\n\trelationalAnswerComponent?: RelationalAnswerComponent;\r\n\t@ViewChild(TrueFalseAnswerComponent) trueFalseAnswerComponent?: TrueFalseAnswerComponent;\r\n\t@ViewChild(ImageMultipleAnswerComponent)\r\n\timageMultipleAnswerComponent?: ImageMultipleAnswerComponent;\r\n\r\n\tcct: string | null = '';\r\n\ttypeSchool: string | null = '';\r\n\r\n\tconstructor(\r\n\t\tprotected route: ActivatedRoute,\r\n\t\tprivate questionService: QuestionService,\r\n\t\tprivate answerService: AnswerService,\r\n\t\tprivate alertService: AlertService\r\n\t) {\r\n\t\tthis.question = this.route.snapshot.data['data'] as Question;\r\n\t\tthis.questionBank = this.route.parent?.snapshot.data['data'] as QuestionBank;\r\n\t\tthis.questionDraft = this.question;\r\n\t}\r\n\r\n\tngOnInit() {\r\n\t\tthis.cct = localStorage.getItem('cct');\r\n\t\tthis.typeSchool = localStorage.getItem('typeSchool');\r\n\t}\r\n\r\n\tshowImageMultipleAnswer() {\r\n\t\treturn this.question && this.question.questionTypeId == QUESTION_TYPE.IMAGE_MULTI;\r\n\t}\r\n\r\n\tshowMultipleAnswer() {\r\n\t\treturn this.question && this.question.questionTypeId == QUESTION_TYPE.MULTI;\r\n\t}\r\n\r\n\tshowOpenAnswer() {\r\n\t\treturn this.question && this.question.questionTypeId == QUESTION_TYPE.OPEN;\r\n\t}\r\n\r\n\tshowRelationalAnswer() {\r\n\t\treturn this.question && this.question.questionTypeId == QUESTION_TYPE.RELATIONAL;\r\n\t}\r\n\r\n\tshowTrueFalseAnswer() {\r\n\t\treturn this.question && this.question.questionTypeId == QUESTION_TYPE.TRUE_AND_FALSE;\r\n\t}\r\n\r\n\texistChangeTypeQuestion() {\r\n\t\treturn this.question?.questionTypeId != this.questionDraft?.questionTypeId;\r\n\t}\r\n\r\n\tsave(question: Question) {\r\n\t\tthis.subscription.add(\r\n\t\t\tthis.questionService.save(question).subscribe({\r\n\t\t\t\tnext: (x: Response) => {\r\n\t\t\t\t\tconst { success, data, message } = x;\r\n\t\t\t\t\tif (success) {\r\n\t\t\t\t\t\tthis.alertService.showSmallSuccess(message);\r\n\t\t\t\t\t\tthis.navigateQuestion(data);\r\n\t\t\t\t\t} else {\r\n\t\t\t\t\t\tdataLayer.push({\r\n\t\t\t\t\t\t\tevent: 'error_message', //Static data\r\n\t\t\t\t\t\t\tcontent_group: 'Banco de preguntas', //Dynamic data\r\n\t\t\t\t\t\t\terror_messgae_text: message, //Dynamic data\r\n\t\t\t\t\t\t\terror_messgae_location: 'Guardar pregunta', //Dynamic data\r\n\t\t\t\t\t\t\tcct: this.cct, //Dynamic data\r\n\t\t\t\t\t\t\tschool_type: this.typeSchool,\r\n\t\t\t\t\t\t});\r\n\t\t\t\t\t\tthis.alertService.showError(message);\r\n\t\t\t\t\t}\r\n\t\t\t\t},\r\n\t\t\t\terror: (error: HttpErrorResponse) => {\r\n\t\t\t\t\tconsole.log(error);\r\n\t\t\t\t\tthis.alertService.showSmallErrorServer();\r\n\t\t\t\t},\r\n\t\t\t})\r\n\t\t);\r\n\t}\r\n\r\n\tgetAnswers() {\r\n\t\tif (this.showMultipleAnswer()) {\r\n\t\t\treturn this.multipleAnswerComponent?.formAnswers.value;\r\n\t\t} else if (this.showOpenAnswer()) {\r\n\t\t\treturn this.openAnswerComponent?.formAnswers.value;\r\n\t\t} else if (this.showRelationalAnswer()) {\r\n\t\t\treturn this.relationalAnswerComponent?.formAnswers.value;\r\n\t\t} else if (this.showTrueFalseAnswer()) {\r\n\t\t\treturn this.trueFalseAnswerComponent?.formAnswers.value;\r\n\t\t} else if (this.showImageMultipleAnswer()) {\r\n\t\t\treturn this.imageMultipleAnswerComponent?.formAnswers.value;\r\n\t\t} else {\r\n\t\t\treturn [];\r\n\t\t}\r\n\t}\r\n\r\n\tasync updateQuestion(question: Question) {\r\n\t\tconst answers = this.getAnswers();\r\n\t\tquestion.answers = answers;\r\n\t\tif (this.existChangeTypeQuestion() && question.answers?.length) {\r\n\t\t\tif (\r\n\t\t\t\tawait this.alertService.showConfirmationDeletion({\r\n\t\t\t\t\ttext: '¿Al cambiar el tipo de pregunta se eliminaran las respuestas registradas?',\r\n\t\t\t\t})\r\n\t\t\t) {\r\n\t\t\t\tthis.deleteRange(question);\r\n\t\t\t}\r\n\t\t} else {\r\n\t\t\tthis.update(question);\r\n\t\t}\r\n\t}\r\n\r\n\tupdate(question: Question) {\r\n\t\tthis.subscription.add(\r\n\t\t\tthis.questionService.update(question).subscribe({\r\n\t\t\t\tnext: (x: Response) => {\r\n\t\t\t\t\tconst { success, message } = x;\r\n\t\t\t\t\tif (success) {\r\n\t\t\t\t\t\tthis.question = question;\r\n\t\t\t\t\t\tthis.alertService.showSmallSuccess(message);\r\n\t\t\t\t\t} else {\r\n\t\t\t\t\t\tdataLayer.push({\r\n\t\t\t\t\t\t\tevent: 'error_message', //Static data\r\n\t\t\t\t\t\t\tcontent_group: 'Banco de preguntas', //Dynamic data\r\n\t\t\t\t\t\t\terror_messgae_text: message, //Dynamic data\r\n\t\t\t\t\t\t\terror_messgae_location: 'Actualizar pregunta', //Dynamic data\r\n\t\t\t\t\t\t\tcct: this.cct, //Dynamic data\r\n\t\t\t\t\t\t\tschool_type: this.typeSchool,\r\n\t\t\t\t\t\t});\r\n\t\t\t\t\t\tthis.alertService.showError(message);\r\n\t\t\t\t\t}\r\n\t\t\t\t},\r\n\t\t\t\terror: (error: HttpErrorResponse) => {\r\n\t\t\t\t\tconsole.log(error);\r\n\t\t\t\t\tthis.alertService.showSmallErrorServer();\r\n\t\t\t\t},\r\n\t\t\t})\r\n\t\t);\r\n\t}\r\n\r\n\tdeleteRange(question: Question) {\r\n\t\tconst $answers = (question.answers || []).map((x) => this.answerService.remove(x));\r\n\t\tthis.subscription.add(\r\n\t\t\tforkJoin([...$answers]).subscribe({\r\n\t\t\t\tnext: (x: Response[]) => {\r\n\t\t\t\t\tquestion.answers = [];\r\n\t\t\t\t\tthis.update(question);\r\n\t\t\t\t},\r\n\t\t\t})\r\n\t\t);\r\n\t}\r\n\r\n\tabstract navigateQuestion(question: Question): void;\r\n}\r\n","import { Component, OnInit, Output, EventEmitter, Input } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'ui-sidebar-filter',\r\n templateUrl: './sidebar-filter.html',\r\n styleUrls: ['./sidebar-filter.scss'],\r\n host: {\r\n 'class': 'sidebar-filter'\r\n }\r\n})\r\nexport class UISidebarFilter implements OnInit {\r\n @Output() clear = new EventEmitter();\r\n @Input() disabled = false;\r\n\r\n constructor() { }\r\n\r\n ngOnInit() {\r\n }\r\n\r\n}\r\n","
\r\n
Filtrar
\r\n\r\n \r\n
\r\n\r\n\r\n","import { Component, ViewEncapsulation } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'ui-sidebar',\r\n templateUrl: './sidebar.html',\r\n styleUrls: ['./sidebar.scss'],\r\n encapsulation: ViewEncapsulation.None\r\n})\r\nexport class UISidebar {\r\n}\r\n","\r\n\r\n","import { Component, Inject } from '@angular/core';\r\nimport {\r\n\tMAT_DIALOG_DATA,\r\n\tMatDialogRef,\r\n} from '@angular/material/dialog';\r\nimport { DialogSuccess } from '@models/dialogs/DialogSuccess';\r\n\r\n@Component({\r\n\tselector: 'ui-success-dialog',\r\n\ttemplateUrl: './success-dialog.component.html',\r\n\tstyleUrls: ['./success-dialog.component.scss'],\r\n})\r\nexport class UISuccessDialogComponent {\r\n\tconstructor(\r\n\t\tpublic dialogRef: MatDialogRef,\r\n\t\t@Inject(MAT_DIALOG_DATA) public data: DialogSuccess\r\n\t) {\r\n\t\tthis.data = {\r\n\t\t\ttitle: data.title || '¡Listo!',\r\n\t\t\tmessage: data.message,\r\n\t\t\tparagraphs: data.paragraphs || [],\r\n\t\t};\r\n\t}\r\n\r\n\tcloseDialog(): void {\r\n\t\tthis.dialogRef.close();\r\n\t}\r\n}\r\n","
\r\n\t\r\n\t

{{ data.title }}

\r\n\t

{{ data.message }}

\r\n\t

{{ paragraph }}

\r\n
\r\n
\r\n\t\r\n
\r\n","import { Directive, HostListener, ElementRef, OnInit } from '@angular/core';\r\n\r\n@Directive({\r\n selector: '[autofocus]',\r\n})\r\nexport class AutoFocusDirective implements OnInit{\r\n constructor(private elRef: ElementRef) {}\r\n\r\n ngOnInit(): void {\r\n this.elRef.nativeElement.focus();\r\n }\r\n}","import {Directive, HostListener, ElementRef} from '@angular/core';\r\n\r\n@Directive({\r\n selector: '[clickFocusRemove]',\r\n})\r\nexport class ClickFocusRemoveDirective {\r\n constructor(private elRef: ElementRef) {}\r\n\r\n @HostListener('click') onClick() {\r\n this.elRef.nativeElement.blur();\r\n }\r\n}","import { Directive, OnDestroy } from '@angular/core';\r\nimport { FormBuilder, FormGroup } from '@angular/forms';\r\nimport { coerceNumberProperty } from '@angular/cdk/coercion';\r\nimport { HttpErrorResponse } from '@angular/common/http';\r\n// LIBS\r\nimport { BehaviorSubject, Observable, Subscription } from 'rxjs';\r\n// SERVICES\r\nimport { NodeService } from '@services/node/node.service';\r\nimport { AuthenticationConfigurationService } from '@services/authentication/authentication-configuration.service';\r\nimport { AlertService } from '@services/notification/alert.service';\r\n// MODELS\r\nimport { Response } from '@models/response-api/ResponseApi';\r\nimport { Catalog } from '@models/catalog/Catalog';\r\n\r\n@Directive({ selector: 'filter-node-base' })\r\nexport abstract class FilterNodeBase implements OnDestroy {\r\n\tabstract isBachiller: boolean;\r\n\tisModuleCobach = false;\r\n\tsubscription = new Subscription();\r\n\tform!: FormGroup;\r\n\tlevels: Catalog[] = [];\r\n\tlevelsElt: Catalog[] = [];\r\n\tlevelsPlan: Catalog[] = [];\r\n\tsystems: Catalog[] = [];\r\n\tsystems_cobach: Catalog[] = [];\r\n\tgrades: Catalog[] = [];\r\n\tsignatures: Catalog[] = [];\r\n\tsystemWithoutGrade = [\r\n\t\t'NEM Serie Trayectorias',\r\n\t\t'NEM Serie Perspectivas',\r\n\t\t'COBACH Chihuahua',\r\n\t];\r\n\tisSystemWithoutGrade = false;\r\n\tprivate filtersSubject: BehaviorSubject;\r\n\tfiltersObservable: Observable;\r\n\tfilters: any = {};\r\n\tnodeId: number;\r\n\r\n\tconstructor(\r\n\t\tprivate fb: FormBuilder,\r\n\t\tpublic nodeService: NodeService,\r\n\t\tpublic authConfService: AuthenticationConfigurationService,\r\n\t\tpublic alertService: AlertService\r\n\t) {\r\n\t\tconst { subsystemId } = authConfService.getUser();\r\n\t\tthis.nodeId = subsystemId;\r\n\t\tthis.filters = { subsystemId, nodeId: this.nodeId };\r\n\t\tthis.filtersSubject = new BehaviorSubject(this.filters);\r\n\t\tthis.filtersObservable = this.filtersSubject.asObservable();\r\n\t\tthis.createForm();\r\n\t\tthis.watchChangesLevel();\r\n\t\tthis.watchChangesSystem();\r\n\t\tthis.watchChangesGrade();\r\n\t\tthis.watchChangesSignature();\r\n\t\tthis.loadLevels();\r\n\t}\r\n\r\n\tngOnDestroy(): void {\r\n\t\tthis.subscription.unsubscribe();\r\n\t}\r\n\r\n\tget controls() {\r\n\t\treturn this.form.controls;\r\n\t}\r\n\r\n\tcreateForm() {\r\n\t\tthis.form = this.fb.group({\r\n\t\t\tlevel: [null],\r\n\t\t\tgrade: [{ value: null, disabled: true }],\r\n\t\t\tsystem: [{ value: null, disabled: true }],\r\n\t\t\tsignature: [{ value: null, disabled: true }],\r\n\t\t});\r\n\t}\r\n\r\n\tisNodeBachiller() {\r\n\t\tconst levelId = coerceNumberProperty(this.controls['level'].value, null);\r\n\t\tconst levels = this.levels.filter((x) => x.id == levelId).map((x) => x.description);\r\n\r\n\t\treturn levels.includes('Bachillerato');\r\n\t}\r\n\r\n\tisNodeBachillerValladolid() {\r\n\t\tconst isSystemValladolid = this.authConfService.isSystemValladolid();\r\n\t\treturn isSystemValladolid && this.isNodeBachiller();\r\n\t}\r\n\r\n\tshowOnlySystemValladolid(systems: Catalog[]) {\r\n\t\tconst systemAuthorize = ['NEM Serie Trayectorias', 'DGB'];\r\n\t\treturn systems.filter((x) => systemAuthorize.includes(x.name));\r\n\t}\r\n\r\n\t// loading data everytime the user changes the filters\r\n\tloadLevels() {\r\n\t\tthis.subscription.add(\r\n\t\t\tthis.nodeService.getNodeNestedV2(this.nodeId).subscribe({\r\n\t\t\t\tnext: (x: Response) => {\r\n\t\t\t\t\tx.success ? (this.levels = x.data as Catalog[]) : (this.levels = []);\r\n\r\n\t\t\t\t\tthis.levelsPlan = this.levels.filter((obj) => obj.id === 975);\r\n\r\n\t\t\t\t\tthis.levels = this.levels.filter((obj) => obj.id !== 3570);\r\n\t\t\t\t\tthis.levels = this.levels.filter((obj) => obj.id !== 3531);\r\n\t\t\t\t\tthis.levels = this.levels.filter((obj) => obj.id !== 975);\r\n\r\n\t\t\t\t\t// this.levelsElt = this.levels.filter((obj) => obj.id !== 3602);\r\n\t\t\t\t\tthis.levelsElt = this.levels;\r\n\t\t\t\t\tthis.levelsElt = this.levelsElt.filter((obj) => obj.id !== 3570);\r\n\t\t\t\t\tthis.levelsElt = this.levelsElt.filter((obj) => obj.id !== 3531);\r\n\t\t\t\t\tthis.selectDefaultLevelOrShowMessageLevel();\r\n\t\t\t\t},\r\n\t\t\t\terror: (error: HttpErrorResponse) => {\r\n\t\t\t\t\tthis.alertService.showSmallErrorServer();\r\n\t\t\t\t},\r\n\t\t\t})\r\n\t\t);\r\n\t}\r\n\r\n\tselectDefaultLevelOrShowMessageLevel() {\r\n\t\tif (this.levels.length === 1) {\r\n\t\t\tthis.controls['level'].setValue(this.levels[0].id);\r\n\t\t} else if (this.levels.length > 1) {\r\n\t\t\tthis.showMessageSelectLevel();\r\n\t\t}\r\n\t}\r\n\r\n\tloadSystems(levelId: number) {\r\n\t\tthis.subscription.add(\r\n\t\t\tthis.nodeService.getNodeNestedV2(levelId).subscribe({\r\n\t\t\t\tnext: (x: Response) => {\r\n\t\t\t\t\tconst systemsAll = x.data as Catalog[];\r\n\t\t\t\t\tif (this.isNodeBachillerValladolid()) {\r\n\t\t\t\t\t\tthis.systems = this.showOnlySystemValladolid(systemsAll);\r\n\t\t\t\t\t} else if (this.isModuleCobach) {\r\n\t\t\t\t\t\tthis.systems = systemsAll.filter((x) => x.id === 4445);\r\n\t\t\t\t\t} else {\r\n\t\t\t\t\t\tthis.systems = systemsAll.filter((x) => x.id !== 4445 && x.id !== 4446);\r\n\t\t\t\t\t}\r\n\t\t\t\t\tthis.selectDefaultSystem();\r\n\t\t\t\t},\r\n\t\t\t\terror: (error: HttpErrorResponse) => {\r\n\t\t\t\t\tthis.alertService.showSmallErrorServer();\r\n\t\t\t\t},\r\n\t\t\t})\r\n\t\t);\r\n\t}\r\n\r\n\tselectDefaultSystem() {\r\n\t\tif (this.systems.length === 1) {\r\n\t\t\tthis.controls['system'].setValue(this.systems[0].id);\r\n\t\t}\r\n\t}\r\n\r\n\tloadGrades(parentId: number) {\r\n\t\tthis.subscription.add(\r\n\t\t\tthis.nodeService.getNodeNestedV2(parentId).subscribe({\r\n\t\t\t\tnext: (x: Response) => {\r\n\t\t\t\t\tx.success\r\n\t\t\t\t\t\t? (this.grades = (x.data as Catalog[]).filter((x) => x.name !== 'Plan Lector'))\r\n\t\t\t\t\t\t: (this.grades = []);\r\n\t\t\t\t},\r\n\t\t\t\terror: (error: HttpErrorResponse) => {\r\n\t\t\t\t\tthis.alertService.showSmallErrorServer();\r\n\t\t\t\t},\r\n\t\t\t})\r\n\t\t);\r\n\t}\r\n\r\n\tloadSignatures(gradeId: number) {\r\n\t\tthis.subscription.add(\r\n\t\t\tthis.nodeService.getNodeNestedV2(gradeId).subscribe({\r\n\t\t\t\tnext: (x: Response) => {\r\n\t\t\t\t\tx.success ? (this.signatures = x.data as Catalog[]) : (this.signatures = []);\r\n\t\t\t\t},\r\n\t\t\t\terror: (error: HttpErrorResponse) => {\r\n\t\t\t\t\tthis.alertService.showSmallErrorServer();\r\n\t\t\t\t},\r\n\t\t\t})\r\n\t\t);\r\n\t}\r\n\r\n\twatchChangesLevel() {\r\n\t\tthis.subscription.add(\r\n\t\t\tthis.controls['level'].valueChanges.subscribe((levelId) => {\r\n\t\t\t\tlet level = this.levels.filter((x) => x.id === Number(levelId));\r\n\r\n\t\t\t\tsessionStorage.setItem('filterContent', level[0].name);\r\n\t\t\t\tsessionStorage.setItem('filterOption', 'Nivel');\r\n\r\n\t\t\t\tthis.handleChangeLevel(levelId);\r\n\t\t\t\t!levelId && this.showMessageSelectLevel();\r\n\t\t\t})\r\n\t\t);\r\n\t}\r\n\r\n\thandleChangeLevel(levelId: number) {\r\n\t\tif (this.isBachiller || this.isNodeBachillerValladolid()) {\r\n\t\t\tthis.handleChangeLevelBachiller();\r\n\t\t} else {\r\n\t\t\tthis.handleChangeLevelBasic();\r\n\t\t}\r\n\t}\r\n\r\n\thandleChangeLevelBachiller() {\r\n\t\tthis.systems = [];\r\n\t\tconst level = coerceNumberProperty(this.controls['level'].value, null);\r\n\t\tthis.controls['system'].setValue(null, { emitEvent: false });\r\n\t\tthis.controls['grade'].setValue(null, { emitEvent: false });\r\n\t\tif (level) {\r\n\t\t\tthis.controls['system'].enable({ emitEvent: false });\r\n\t\t\tthis.loadSystems(level);\r\n\t\t} else {\r\n\t\t\tthis.controls['system'].disable({ emitEvent: false });\r\n\t\t}\r\n\t\tthis.handleChangeSystem();\r\n\t}\r\n\r\n\thandleChangeLevelBasic() {\r\n\t\tthis.grades = [];\r\n\t\tconst level = coerceNumberProperty(this.controls['level'].value, null);\r\n\t\tthis.controls['grade'].setValue(null, { emitEvent: false });\r\n\t\tthis.controls['system'].setValue(null, { emitEvent: false });\r\n\t\tif (level) {\r\n\t\t\tthis.controls['grade'].enable({ emitEvent: false });\r\n\t\t\tthis.loadGrades(level);\r\n\t\t} else {\r\n\t\t\tthis.controls['grade'].disable({ emitEvent: false });\r\n\t\t}\r\n\t\tthis.handleChangeGrade();\r\n\t}\r\n\r\n\twatchChangesSystem() {\r\n\t\tthis.subscription.add(\r\n\t\t\tthis.controls['system'].valueChanges.subscribe(() => {\r\n\t\t\t\tconst gradeId = this.controls['system'].value;\r\n\t\t\t\tlet level = this.systems.filter((x) => x.id === Number(gradeId));\r\n\t\t\t\tsessionStorage.setItem('filterContent', level[0].name);\r\n\t\t\t\tsessionStorage.setItem('filterOption', 'Sistema');\r\n\r\n\t\t\t\tthis.handleChangeSystem();\r\n\t\t\t})\r\n\t\t);\r\n\t}\r\n\r\n\thandleChangeSystem() {\r\n\t\tthis.grades = [];\r\n\t\tconst system = coerceNumberProperty(this.controls['system'].value, null);\r\n\t\tthis.controls['grade'].setValue(null, { emitEvent: false });\r\n\t\tif (system) {\r\n\t\t\tthis.controls['grade'].enable({ emitEvent: false });\r\n\t\t\tthis.loadGrades(system);\r\n\t\t} else {\r\n\t\t\tthis.controls['grade'].disable({ emitEvent: false });\r\n\t\t}\r\n\t\tthis.handleChangeGrade();\r\n\t}\r\n\r\n\twatchChangesGrade() {\r\n\t\tthis.subscription.add(\r\n\t\t\tthis.controls['grade'].valueChanges.subscribe(() => {\r\n\t\t\t\tconst gradeId = this.controls['grade'].value;\r\n\t\t\t\tlet level = this.grades.filter((x) => x.id === Number(gradeId));\r\n\t\t\t\tsessionStorage.setItem('filterContent', level[0].name);\r\n\t\t\t\tsessionStorage.setItem('filterOption', 'Grado');\r\n\t\t\t\tthis.handleChangeGrade();\r\n\t\t\t})\r\n\t\t);\r\n\t}\r\n\r\n\thandleChangeGrade() {\r\n\t\tthis.signatures = [];\r\n\t\tconst grade = coerceNumberProperty(this.controls['grade'].value, null);\r\n\t\tthis.controls['signature'].setValue(null, { emitEvent: false });\r\n\t\tif (grade) {\r\n\t\t\tthis.controls['signature'].enable({ emitEvent: false });\r\n\t\t\tthis.loadSignatures(grade);\r\n\t\t} else {\r\n\t\t\tthis.controls['signature'].disable({ emitEvent: false });\r\n\t\t}\r\n\t\tthis.handleChangesSignature();\r\n\t}\r\n\r\n\twatchChangesSignature() {\r\n\t\tthis.subscription.add(\r\n\t\t\tthis.controls['signature'].valueChanges.subscribe(() => {\r\n\t\t\t\tconst gradeId = this.controls['signature'].value;\r\n\t\t\t\tlet level = this.signatures.filter((x) => x.id === Number(gradeId));\r\n\t\t\t\tsessionStorage.setItem('filterContent', level[0].name);\r\n\t\t\t\tsessionStorage.setItem('filterOption', 'Asignatura');\r\n\r\n\t\t\t\tthis.handleChangesSignature();\r\n\t\t\t})\r\n\t\t);\r\n\t}\r\n\r\n\thandleChangesSignature() {\r\n\t\tthis.updateSystemWithGrade();\r\n\r\n\t\tthis.updateFilter();\r\n\t}\r\n\r\n\tupdateSystemWithGrade() {\r\n\t\tconst systemId = coerceNumberProperty(this.controls['system'].value, null);\r\n\t\tconst system = this.systems.find((x) => x.id === systemId);\r\n\t\tthis.isSystemWithoutGrade = this.systemWithoutGrade.includes(system?.description || '');\r\n\t}\r\n\r\n\tclearFilters() {\r\n\t\tthis.controls['level'].setValue(null);\r\n\t}\r\n\r\n\tupdateFilter() {\r\n\t\tconst user = this.authConfService.getUser();\r\n\t\tlet systemId = user.systemId;\r\n\r\n\t\tif (systemId === 2) {\r\n\t\t\tconst menu = sessionStorage.getItem('menu_select');\r\n\t\t\tlet system;\r\n\t\t\tconst signature = coerceNumberProperty(this.controls['signature'].value, null);\r\n\r\n\t\t\t// if (menu === 'COBACH Chihuahua') {\r\n\t\t\tsystem = coerceNumberProperty(this.controls['system'].value, null);\r\n\t\t\t// }\r\n\t\t\tconst grade = coerceNumberProperty(this.controls['grade'].value, null);\r\n\t\t\tconst level = coerceNumberProperty(this.controls['level'].value, null);\r\n\t\t\tthis.filters = {\r\n\t\t\t\t...this.filters,\r\n\t\t\t\tnodeId: (() => {\r\n\t\t\t\t\tif (level !== null && level !== undefined) {\r\n\t\t\t\t\t\tif (system !== null && system !== undefined) {\r\n\t\t\t\t\t\t\tif (grade !== null && grade !== undefined) {\r\n\t\t\t\t\t\t\t\tif (signature !== null && signature !== undefined) {\r\n\t\t\t\t\t\t\t\t\treturn signature;\r\n\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\treturn grade;\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\treturn system;\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\treturn level;\r\n\t\t\t\t\t} else {\r\n\t\t\t\t\t\treturn this.nodeId;\r\n\t\t\t\t\t}\r\n\t\t\t\t})(),\r\n\t\t\t\t...(system !== undefined && { system }),\r\n\t\t\t};\r\n\r\n\t\t\tthis.filtersSubject.next(this.filters);\r\n\t\t} else {\r\n\t\t\tconst signature = coerceNumberProperty(this.controls['signature'].value, null);\r\n\r\n\t\t\tconst system = coerceNumberProperty(this.controls['system'].value, null);\r\n\r\n\t\t\tconst grade = coerceNumberProperty(this.controls['grade'].value, null);\r\n\t\t\tconst level = coerceNumberProperty(this.controls['level'].value, null);\r\n\t\t\tthis.filters = {\r\n\t\t\t\t...this.filters,\r\n\t\t\t\tnodeId: signature || grade || level || system || this.nodeId,\r\n\t\t\t};\r\n\r\n\t\t\tthis.filtersSubject.next(this.filters);\r\n\t\t}\r\n\t}\r\n\r\n\tabstract eventLayerModule(): void;\r\n\r\n\tshowMessageSelectLevel() {\r\n\t\tthis.alertService.showInfo('Para visualizar contenido seleccione un nivel');\r\n\t\tthis.eventLayerModule();\r\n\t}\r\n}\r\n","import { Directive, OnDestroy } from '@angular/core';\r\nimport { FormBuilder, FormGroup } from '@angular/forms';\r\nimport { coerceNumberProperty } from '@angular/cdk/coercion';\r\nimport { HttpErrorResponse } from '@angular/common/http';\r\n// LIBS\r\nimport { BehaviorSubject, Observable, Subscription } from 'rxjs';\r\n// SERVICES\r\nimport { NodeService } from '@services/node/node.service';\r\nimport { AuthenticationConfigurationService } from '@services/authentication/authentication-configuration.service';\r\nimport { AlertService } from '@services/notification/alert.service';\r\n// MODELS\r\nimport { Response } from '@models/response-api/ResponseApi';\r\nimport { Catalog } from '@models/catalog/Catalog';\r\n\r\n@Directive({ selector: 'filter-node-base-pl' })\r\nexport abstract class FilterNodeBasePl implements OnDestroy {\r\n\tabstract isBachiller: boolean;\r\n\tisModuleCobach = false;\r\n\tsubscription = new Subscription();\r\n\tform!: FormGroup;\r\n\tlevels: Catalog[] = [];\r\n\tlevelsElt: Catalog[] = [];\r\n\tlevelsPlan: Catalog[] = [];\r\n\tsystems: Catalog[] = [];\r\n\tsystems_cobach: Catalog[] = [];\r\n\tgrades: Catalog[] = [];\r\n\tsignatures: Catalog[] = [];\r\n\tsystemWithoutGrade = [\r\n\t\t'NEM Serie Trayectorias',\r\n\t\t'NEM Serie Perspectivas',\r\n\t\t'COBACH Chihuahua',\r\n\t];\r\n\tisSystemWithoutGrade = false;\r\n\tprivate filtersSubject: BehaviorSubject;\r\n\tfiltersObservable: Observable;\r\n\tfilters: any = {};\r\n\tnodeId: number;\r\n\troleId = sessionStorage.getItem('role');\r\n\tconstructor(\r\n\t\tprivate fb: FormBuilder,\r\n\t\tpublic nodeService: NodeService,\r\n\t\tpublic authConfService: AuthenticationConfigurationService,\r\n\t\tpublic alertService: AlertService\r\n\t) {\r\n\t\tconst { subsystemId } = authConfService.getUser();\r\n\t\tthis.nodeId = subsystemId;\r\n\t\tthis.filters = { subsystemId, nodeId: this.nodeId };\r\n\t\tthis.filtersSubject = new BehaviorSubject(this.filters);\r\n\t\tthis.filtersObservable = this.filtersSubject.asObservable();\r\n\t\tthis.createForm();\r\n\t\tthis.watchChangesLevel();\r\n\t\tthis.watchChangesSystem();\r\n\t\tthis.watchChangesGrade();\r\n\t\tthis.watchChangesSignature();\r\n\t\tthis.loadLevels();\r\n\t}\r\n\r\n\tngOnDestroy(): void {\r\n\t\tthis.subscription.unsubscribe();\r\n\t}\r\n\r\n\tget controls() {\r\n\t\treturn this.form.controls;\r\n\t}\r\n\r\n\tcreateForm() {\r\n\t\tthis.form = this.fb.group({\r\n\t\t\tlevel: [null],\r\n\t\t\tgrade: [{ value: null, disabled: true }],\r\n\t\t\tsystem: [{ value: null, disabled: true }],\r\n\t\t\tsignature: [{ value: null, disabled: true }],\r\n\t\t});\r\n\t}\r\n\r\n\tisNodeBachiller() {\r\n\t\tconst levelId = coerceNumberProperty(this.controls['level'].value, null);\r\n\t\tconst levels = this.levels.filter((x) => x.id == levelId).map((x) => x.description);\r\n\r\n\t\treturn levels.includes('Bachillerato');\r\n\t}\r\n\r\n\tisNodeBachillerValladolid() {\r\n\t\tconst isSystemValladolid = this.authConfService.isSystemValladolid();\r\n\t\treturn isSystemValladolid && this.isNodeBachiller();\r\n\t}\r\n\r\n\tshowOnlySystemValladolid(systems: Catalog[]) {\r\n\t\tconst systemAuthorize = ['NEM Serie Trayectorias', 'DGB'];\r\n\t\treturn systems.filter((x) => systemAuthorize.includes(x.name));\r\n\t}\r\n\r\n\t// loading data everytime the user changes the filters\r\n\tloadLevels() {\r\n\t\tthis.subscription.add(\r\n\t\t\tthis.nodeService.getNodeNestedV2(this.nodeId).subscribe({\r\n\t\t\t\tnext: (x: Response) => {\r\n\t\t\t\t\tx.success ? (this.levels = x.data as Catalog[]) : (this.levels = []);\r\n\r\n\t\t\t\t\tthis.levelsPlan = this.levels.filter((obj) => obj.id === 975);\r\n\r\n\t\t\t\t\tthis.levels = this.levels.filter((obj) => obj.id !== 3570);\r\n\t\t\t\t\tthis.levels = this.levels.filter((obj) => obj.id !== 3531);\r\n\t\t\t\t\tthis.levels = this.levels.filter((obj) => obj.id !== 975);\r\n\r\n\t\t\t\t\tthis.levelsElt = this.levels.filter((obj) => obj.id !== 3602);\r\n\t\t\t\t\tthis.levelsElt = this.levelsElt.filter((obj) => obj.id !== 3570);\r\n\t\t\t\t\tthis.levelsElt = this.levelsElt.filter((obj) => obj.id !== 3531);\r\n\t\t\t\t\tthis.selectDefaultLevelOrShowMessageLevel();\r\n\t\t\t\t},\r\n\t\t\t\terror: (error: HttpErrorResponse) => {\r\n\t\t\t\t\tthis.alertService.showSmallErrorServer();\r\n\t\t\t\t},\r\n\t\t\t})\r\n\t\t);\r\n\t}\r\n\r\n\tselectDefaultLevelOrShowMessageLevel() {\r\n\t\tif (this.levels.length === 1) {\r\n\t\t\tthis.controls['level'].setValue(this.levels[0].id);\r\n\t\t} else if (this.levels.length > 1) {\r\n\t\t\tthis.showMessageSelectLevel();\r\n\t\t}\r\n\t}\r\n\r\n\tloadSystems(levelId: number) {\r\n\t\tthis.subscription.add(\r\n\t\t\tthis.nodeService.getNodeNestedV2(levelId).subscribe({\r\n\t\t\t\tnext: (x: Response) => {\r\n\t\t\t\t\tconst systemsAll = x.data as Catalog[];\r\n\t\t\t\t\tif (this.isNodeBachillerValladolid()) {\r\n\t\t\t\t\t\tthis.systems = this.showOnlySystemValladolid(systemsAll);\r\n\t\t\t\t\t} else if (this.isModuleCobach) {\r\n\t\t\t\t\t\tif (Number(this.roleId) !== 89) {\r\n\t\t\t\t\t\t\tthis.systems = systemsAll.filter((x) => x.id === 4445);\r\n\t\t\t\t\t\t} else {\r\n\t\t\t\t\t\t\tthis.systems = systemsAll.filter((x) => x.id !== 4445 && x.id !== 4446);\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t} else {\r\n\t\t\t\t\t\tthis.systems = systemsAll.filter((x) => x.id !== 4445 && x.id !== 4446);\r\n\t\t\t\t\t}\r\n\t\t\t\t\tthis.selectDefaultSystem();\r\n\t\t\t\t},\r\n\t\t\t\terror: (error: HttpErrorResponse) => {\r\n\t\t\t\t\tthis.alertService.showSmallErrorServer();\r\n\t\t\t\t},\r\n\t\t\t})\r\n\t\t);\r\n\t}\r\n\r\n\tselectDefaultSystem() {\r\n\t\tif (this.systems.length === 1) {\r\n\t\t\tthis.controls['system'].setValue(this.systems[0].id);\r\n\t\t}\r\n\t}\r\n\r\n\tloadGrades(parentId: number) {\r\n\t\tthis.subscription.add(\r\n\t\t\tthis.nodeService.getNodeNestedV2(parentId).subscribe({\r\n\t\t\t\tnext: (x: Response) => {\r\n\t\t\t\t\tx.success\r\n\t\t\t\t\t\t? (this.grades = (x.data as Catalog[]).filter((x) => x.name !== 'Plan Lector'))\r\n\t\t\t\t\t\t: (this.grades = []);\r\n\t\t\t\t},\r\n\t\t\t\terror: (error: HttpErrorResponse) => {\r\n\t\t\t\t\tthis.alertService.showSmallErrorServer();\r\n\t\t\t\t},\r\n\t\t\t})\r\n\t\t);\r\n\t}\r\n\r\n\tloadSignatures(gradeId: number) {\r\n\t\tthis.subscription.add(\r\n\t\t\tthis.nodeService.getNodeNestedV2(gradeId).subscribe({\r\n\t\t\t\tnext: (x: Response) => {\r\n\t\t\t\t\tx.success ? (this.signatures = x.data as Catalog[]) : (this.signatures = []);\r\n\t\t\t\t},\r\n\t\t\t\terror: (error: HttpErrorResponse) => {\r\n\t\t\t\t\tthis.alertService.showSmallErrorServer();\r\n\t\t\t\t},\r\n\t\t\t})\r\n\t\t);\r\n\t}\r\n\r\n\twatchChangesLevel() {\r\n\t\tthis.subscription.add(\r\n\t\t\tthis.controls['level'].valueChanges.subscribe((levelId) => {\r\n\t\t\t\tlet level = this.levels.filter((x) => x.id === Number(levelId));\r\n\r\n\t\t\t\tsessionStorage.setItem('filterContent', level[0].name);\r\n\t\t\t\tsessionStorage.setItem('filterOption', 'Nivel');\r\n\r\n\t\t\t\tthis.handleChangeLevel(levelId);\r\n\t\t\t\t!levelId && this.showMessageSelectLevel();\r\n\t\t\t})\r\n\t\t);\r\n\t}\r\n\r\n\thandleChangeLevel(levelId: number) {\r\n\t\tif (this.isBachiller || this.isNodeBachillerValladolid()) {\r\n\t\t\tthis.handleChangeLevelBachiller();\r\n\t\t} else {\r\n\t\t\tthis.handleChangeLevelBasic();\r\n\t\t}\r\n\t}\r\n\r\n\thandleChangeLevelBachiller() {\r\n\t\tthis.systems = [];\r\n\t\tconst level = coerceNumberProperty(this.controls['level'].value, null);\r\n\t\tthis.controls['system'].setValue(null, { emitEvent: false });\r\n\t\tthis.controls['grade'].setValue(null, { emitEvent: false });\r\n\t\tif (level) {\r\n\t\t\tthis.controls['system'].enable({ emitEvent: false });\r\n\t\t\tthis.loadSystems(level);\r\n\t\t} else {\r\n\t\t\tthis.controls['system'].disable({ emitEvent: false });\r\n\t\t}\r\n\t\tthis.handleChangeSystem();\r\n\t}\r\n\r\n\thandleChangeLevelBasic() {\r\n\t\tthis.grades = [];\r\n\t\tconst level = coerceNumberProperty(this.controls['level'].value, null);\r\n\t\tthis.controls['grade'].setValue(null, { emitEvent: false });\r\n\t\tthis.controls['system'].setValue(null, { emitEvent: false });\r\n\t\tif (level) {\r\n\t\t\tthis.controls['grade'].enable({ emitEvent: false });\r\n\t\t\tthis.loadGrades(level);\r\n\t\t} else {\r\n\t\t\tthis.controls['grade'].disable({ emitEvent: false });\r\n\t\t}\r\n\t\tthis.handleChangeGrade();\r\n\t}\r\n\r\n\twatchChangesSystem() {\r\n\t\tthis.subscription.add(\r\n\t\t\tthis.controls['system'].valueChanges.subscribe(() => {\r\n\t\t\t\tconst gradeId = this.controls['system'].value;\r\n\t\t\t\tlet level = this.systems.filter((x) => x.id === Number(gradeId));\r\n\t\t\t\tsessionStorage.setItem('filterContent', level[0].name);\r\n\t\t\t\tsessionStorage.setItem('filterOption', 'Sistema');\r\n\r\n\t\t\t\tthis.handleChangeSystem();\r\n\t\t\t})\r\n\t\t);\r\n\t}\r\n\r\n\thandleChangeSystem() {\r\n\t\tthis.grades = [];\r\n\t\tconst system = coerceNumberProperty(this.controls['system'].value, null);\r\n\t\tthis.controls['grade'].setValue(null, { emitEvent: false });\r\n\t\tif (system) {\r\n\t\t\tthis.controls['grade'].enable({ emitEvent: false });\r\n\t\t\tthis.loadGrades(system);\r\n\t\t} else {\r\n\t\t\tthis.controls['grade'].disable({ emitEvent: false });\r\n\t\t}\r\n\t\tthis.handleChangeGrade();\r\n\t}\r\n\r\n\twatchChangesGrade() {\r\n\t\tthis.subscription.add(\r\n\t\t\tthis.controls['grade'].valueChanges.subscribe(() => {\r\n\t\t\t\tconst gradeId = this.controls['grade'].value;\r\n\t\t\t\tlet level = this.grades.filter((x) => x.id === Number(gradeId));\r\n\t\t\t\tsessionStorage.setItem('filterContent', level[0].name);\r\n\t\t\t\tsessionStorage.setItem('filterOption', 'Grado');\r\n\t\t\t\tthis.handleChangeGrade();\r\n\t\t\t})\r\n\t\t);\r\n\t}\r\n\r\n\thandleChangeGrade() {\r\n\t\tthis.signatures = [];\r\n\t\tconst grade = coerceNumberProperty(this.controls['grade'].value, null);\r\n\t\tthis.controls['signature'].setValue(null, { emitEvent: false });\r\n\t\tif (grade) {\r\n\t\t\tthis.controls['signature'].enable({ emitEvent: false });\r\n\t\t\tthis.loadSignatures(grade);\r\n\t\t} else {\r\n\t\t\tthis.controls['signature'].disable({ emitEvent: false });\r\n\t\t}\r\n\t\tthis.handleChangesSignature();\r\n\t}\r\n\r\n\twatchChangesSignature() {\r\n\t\tthis.subscription.add(\r\n\t\t\tthis.controls['signature'].valueChanges.subscribe(() => {\r\n\t\t\t\tconst gradeId = this.controls['signature'].value;\r\n\t\t\t\tlet level = this.signatures.filter((x) => x.id === Number(gradeId));\r\n\t\t\t\tsessionStorage.setItem('filterContent', level[0].name);\r\n\t\t\t\tsessionStorage.setItem('filterOption', 'Asignatura');\r\n\r\n\t\t\t\tthis.handleChangesSignature();\r\n\t\t\t})\r\n\t\t);\r\n\t}\r\n\r\n\thandleChangesSignature() {\r\n\t\tthis.updateSystemWithGrade();\r\n\r\n\t\tthis.updateFilter();\r\n\t}\r\n\r\n\tupdateSystemWithGrade() {\r\n\t\tconst systemId = coerceNumberProperty(this.controls['system'].value, null);\r\n\t\tconst system = this.systems.find((x) => x.id === systemId);\r\n\t\tthis.isSystemWithoutGrade = this.systemWithoutGrade.includes(system?.description || '');\r\n\t}\r\n\r\n\tclearFilters() {\r\n\t\tthis.controls['level'].setValue(null);\r\n\t}\r\n\r\n\tupdateFilter() {\r\n\t\tconst user = this.authConfService.getUser();\r\n\t\tlet systemId = user.systemId;\r\n\r\n\t\tif (systemId === 2) {\r\n\t\t\tconst menu = sessionStorage.getItem('menu_select');\r\n\t\t\tlet system;\r\n\t\t\tconst signature = coerceNumberProperty(this.controls['signature'].value, null);\r\n\r\n\t\t\tif (menu?.toLowerCase().includes('cobach chihuahua')) {\r\n\t\t\t\tsystem = coerceNumberProperty(this.controls['system'].value, null);\r\n\t\t\t}\r\n\t\t\tconst grade = coerceNumberProperty(this.controls['grade'].value, null);\r\n\t\t\tconst level = coerceNumberProperty(this.controls['level'].value, null);\r\n\t\t\tthis.filters = {\r\n\t\t\t\t...this.filters,\r\n\t\t\t\tnodeId: (() => {\r\n\t\t\t\t\tif (level !== null && level !== undefined) {\r\n\t\t\t\t\t\tif (system !== null && system !== undefined) {\r\n\t\t\t\t\t\t\tif (grade !== null && grade !== undefined) {\r\n\t\t\t\t\t\t\t\tif (signature !== null && signature !== undefined) {\r\n\t\t\t\t\t\t\t\t\treturn signature;\r\n\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\treturn grade;\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\treturn system;\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\treturn level;\r\n\t\t\t\t\t} else {\r\n\t\t\t\t\t\treturn this.nodeId;\r\n\t\t\t\t\t}\r\n\t\t\t\t})(),\r\n\t\t\t\t...(system !== undefined && { system }),\r\n\t\t\t};\r\n\r\n\t\t\tthis.filtersSubject.next(this.filters);\r\n\t\t} else {\r\n\t\t\tconst signature = coerceNumberProperty(this.controls['signature'].value, null);\r\n\r\n\t\t\tconst system = coerceNumberProperty(this.controls['system'].value, null);\r\n\r\n\t\t\tconst grade = coerceNumberProperty(this.controls['grade'].value, null);\r\n\t\t\tconst level = coerceNumberProperty(this.controls['level'].value, null);\r\n\t\t\tthis.filters = {\r\n\t\t\t\t...this.filters,\r\n\t\t\t\tnodeId: signature || grade || level || system || this.nodeId,\r\n\t\t\t};\r\n\r\n\t\t\tthis.filtersSubject.next(this.filters);\r\n\t\t}\r\n\t}\r\n\r\n\tabstract eventLayerModule(): void;\r\n\r\n\tshowMessageSelectLevel() {\r\n\t\tthis.alertService.showInfo('Para visualizar contenido seleccione un nivel');\r\n\t\tthis.eventLayerModule();\r\n\t}\r\n}\r\n","import { Directive, HostListener } from '@angular/core';\r\n\r\n@Directive({\r\n selector: '[appNumberInteger]'\r\n})\r\nexport class NumberIntegerDirective {\r\n ValidCharacters: string[] = [ '1', '2', '3', '4', '5', '6', '7', '8', '9', '0'];\r\n\r\n constructor() { }\r\n\r\n @HostListener('keypress', ['$event']) validateNumberOfkeyPress(event: KeyboardEvent) {\r\n if(!!this.ValidCharacters.find((character) => character == event.key) )\r\n return event;\r\n event.preventDefault();\r\n return;\r\n }\r\n}","import { Directive, HostListener } from '@angular/core';\r\n\r\n@Directive({\r\n selector: '[appNumber]'\r\n})\r\nexport class NumberDirective {\r\n ValidCharacters: string[] = [ '1', '2', '3', '4', '5', '6', '7', '8', '9', '0', '.'];\r\n\r\n constructor() { }\r\n\r\n @HostListener('keypress', ['$event']) validateNumberOfkeyPress(event: KeyboardEvent) {\r\n if(!!this.ValidCharacters.find((character) => character == event.key) )\r\n return event;\r\n event.preventDefault();\r\n return;\r\n }\r\n}","import { MatPaginatorIntl } from '@angular/material/paginator';\r\nimport { Injectable } from '@angular/core';\r\n\r\n@Injectable()\r\nexport class MatPaginatorIntlSpanish extends MatPaginatorIntl {\r\n\r\n override itemsPerPageLabel = 'Registros por pagina';\r\n override nextPageLabel = 'Página siguiente';\r\n override lastPageLabel = 'Última página';\r\n override previousPageLabel = 'Página anterior';\r\n override firstPageLabel = 'Primer página';\r\n\r\n\r\n override getRangeLabel = function (page: number, pageSize: number, length: number) {\r\n if (length === 0 || pageSize === 0) {\r\n return '0 de ' + length + ' registros';\r\n }\r\n\r\n length = Math.max(length, 0);\r\n const startIndex = page * pageSize;\r\n const endIndex = startIndex < length ?\r\n Math.min(startIndex + pageSize, length) :\r\n startIndex + pageSize;\r\n return startIndex + 1 + ' al ' + endIndex + ' de ' + length + ' registros';\r\n };\r\n}","// importación de todos los modulos de angular material que se vayan a utilizar durante el proyecto\r\nimport { NgModule } from '@angular/core';\r\n\r\n// MATERIAL_SDK_MODULES\r\nimport { A11yModule } from '@angular/cdk/a11y';\r\nimport { BidiModule } from '@angular/cdk/bidi';\r\nimport { ObserversModule } from '@angular/cdk/observers';\r\nimport { OverlayModule } from '@angular/cdk/overlay';\r\nimport { PlatformModule } from '@angular/cdk/platform';\r\nimport { PortalModule } from '@angular/cdk/portal';\r\nimport { CdkStepperModule } from '@angular/cdk/stepper';\r\nimport { CdkTableModule } from '@angular/cdk/table';\r\nimport { CdkTreeModule } from '@angular/cdk/tree';\r\nimport { DragDropModule } from '@angular/cdk/drag-drop';\r\n\r\nimport { MatAutocompleteModule } from '@angular/material/autocomplete';\r\nimport { MatBadgeModule } from '@angular/material/badge';\r\nimport { MatBottomSheetModule } from '@angular/material/bottom-sheet';\r\nimport { MatButtonModule } from '@angular/material/button';\r\nimport { MatButtonToggleModule } from '@angular/material/button-toggle';\r\nimport { MatCardModule } from '@angular/material/card';\r\nimport { MatCheckboxModule } from '@angular/material/checkbox';\r\nimport { MatChipsModule } from '@angular/material/chips';\r\nimport { MatDatepickerModule } from '@angular/material/datepicker';\r\n// import { MatMomentDateModule } from '@angular/material-moment-adapter';\r\n\r\nimport { MatDialogModule } from '@angular/material/dialog';\r\nimport { MatDividerModule } from '@angular/material/divider';\r\nimport { MatExpansionModule } from '@angular/material/expansion';\r\nimport { MatFormFieldModule, MAT_FORM_FIELD_DEFAULT_OPTIONS } from '@angular/material/form-field';\r\nimport { MatGridListModule } from '@angular/material/grid-list';\r\n\r\nimport { MatIconModule } from '@angular/material/icon';\r\nimport { MatInputModule } from '@angular/material/input';\r\nimport { MatListModule } from '@angular/material/list';\r\nimport { MatMenuModule } from '@angular/material/menu';\r\nimport { MatPaginatorModule, MatPaginatorIntl } from '@angular/material/paginator';\r\nimport { MatProgressBarModule } from '@angular/material/progress-bar';\r\nimport { MatProgressSpinnerModule } from '@angular/material/progress-spinner';\r\nimport { MatRadioModule } from '@angular/material/radio';\r\nimport { MatNativeDateModule, MatRippleModule, MAT_DATE_LOCALE } from '@angular/material/core';\r\nimport { MatSelectModule } from '@angular/material/select';\r\nimport { MatSidenavModule } from '@angular/material/sidenav';\r\nimport { MatSlideToggleModule } from '@angular/material/slide-toggle';\r\nimport { MatSnackBarModule } from '@angular/material/snack-bar';\r\nimport { MatSortModule } from '@angular/material/sort';\r\nimport { MatStepperModule } from '@angular/material/stepper';\r\nimport { MatTableModule } from '@angular/material/table';\r\nimport { MatTabsModule } from '@angular/material/tabs';\r\nimport { MatToolbarModule } from '@angular/material/toolbar';\r\nimport { MatTooltipModule } from '@angular/material/tooltip';\r\nimport { MatTreeModule } from '@angular/material/tree';\r\n\r\n// PAGINADOR EN ESPAÑOL\r\nimport { MatPaginatorIntlSpanish } from './MatPaginatorIntlSpanish';\r\n\r\nexport const MATERIAL_SDK_MODULES = [\r\n A11yModule,\r\n BidiModule,\r\n ObserversModule,\r\n OverlayModule,\r\n PlatformModule,\r\n PortalModule,\r\n CdkStepperModule,\r\n CdkTableModule,\r\n CdkTreeModule,\r\n DragDropModule,\r\n];\r\n\r\nexport const MATERIAL_MODULES = [\r\n MatAutocompleteModule,\r\n MatBadgeModule,\r\n MatBottomSheetModule,\r\n MatButtonModule,\r\n MatButtonToggleModule,\r\n MatCardModule,\r\n MatCheckboxModule,\r\n MatChipsModule,\r\n MatDatepickerModule,\r\n MatNativeDateModule,\r\n // MatMomentDateModule,\r\n MatDialogModule,\r\n MatDividerModule,\r\n MatExpansionModule,\r\n MatFormFieldModule,\r\n MatGridListModule,\r\n MatIconModule,\r\n MatInputModule,\r\n MatListModule,\r\n MatMenuModule,\r\n MatPaginatorModule,\r\n MatProgressBarModule,\r\n MatProgressSpinnerModule,\r\n MatRadioModule,\r\n MatRippleModule,\r\n MatSelectModule,\r\n MatSidenavModule,\r\n MatSlideToggleModule,\r\n MatSnackBarModule,\r\n MatSortModule,\r\n MatStepperModule,\r\n MatTableModule,\r\n MatTabsModule,\r\n MatToolbarModule,\r\n MatTooltipModule,\r\n MatTreeModule,\r\n];\r\n\r\n@NgModule({\r\n imports: [...MATERIAL_SDK_MODULES, ...MATERIAL_MODULES],\r\n exports: [...MATERIAL_SDK_MODULES, ...MATERIAL_MODULES],\r\n providers: [\r\n // { provide: MAT_DATE_LOCALE, useValue: 'es-GB' },\r\n {\r\n provide: MAT_FORM_FIELD_DEFAULT_OPTIONS,\r\n useValue: {\r\n floatLabel: 'always',\r\n appearance: 'outline',\r\n }\r\n },\r\n { provide: MatPaginatorIntl, useClass: MatPaginatorIntlSpanish },\r\n MatDatepickerModule,\r\n MatNativeDateModule\r\n ],\r\n})\r\nexport class MaterialModule {}","import { Component, OnInit } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'native-card',\r\n templateUrl: './card.component.html',\r\n styleUrls: ['./card.component.scss']\r\n})\r\nexport class NativeCard implements OnInit {\r\n\r\n constructor() {\r\n console.log('native card create');\r\n }\r\n\r\n ngOnInit() {\r\n }\r\n\r\n}\r\n","

\r\n native card works!\r\n

\r\n","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\n// import {PortalModule} from '@angular/cdk/portal';\r\n// import {A11yModule} from '@angular/cdk/a11y';\r\n// COMPONENTS\r\nimport { NativeCard } from './card/card.component';\r\n\r\n\r\n\r\nexport const COMPONENTS = [\r\n NativeCard,\r\n];\r\n\r\nexport const PRIVATE_DIRECTIVE = [\r\n\r\n];\r\n\r\n@NgModule({\r\n imports: [\r\n CommonModule,\r\n// PortalModule,\r\n// A11yModule,\r\n ],\r\n exports: [\r\n ...COMPONENTS,\r\n ],\r\n declarations: [\r\n ...COMPONENTS,\r\n ...PRIVATE_DIRECTIVE\r\n ]\r\n})\r\nexport class NativeCardsModule {}\r\n","import { NgModule } from '@angular/core';\r\n// MODULES\r\nimport { NativeCardsModule } from './card/module';\r\nimport { NativeTabsModule } from './tabs/module';\r\nimport { NativePaginatorModule } from './paginator/module';\r\n\r\n// MODULES WITH COMPONENTS CUSTOM WITHOUT LIBS IMPLEMETED\r\nexport const MODULES = [\r\n NativeCardsModule,\r\n NativeTabsModule,\r\n NativePaginatorModule,\r\n];\r\n\r\n\r\n@NgModule({\r\n imports: [...MODULES],\r\n exports: [...MODULES],\r\n})\r\nexport class NativeModule {}\r\n","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { NativePaginator } from './paginator';\r\nimport { NATIVE_PAGINATOR_INTL_PROVIDER } from './paginator-intl';\r\n\r\n@NgModule({\r\n providers: [NATIVE_PAGINATOR_INTL_PROVIDER],\r\n imports: [CommonModule],\r\n exports: [NativePaginator],\r\n declarations: [NativePaginator]\r\n})\r\nexport class NativePaginatorModule { }\r\n","import { InjectionToken } from '@angular/core';\r\n\r\nexport interface PageEvent {\r\n /** The current page index. */\r\n pageIndex: number;\r\n /**\r\n * Index of the page that was selected previously.\r\n */\r\n previousPageIndex: number;\r\n\r\n /** The current page size. */\r\n pageSize: number;\r\n\r\n /** The current total number of items being paged. */\r\n length: number;\r\n};\r\n\r\n/** Object that can be used to configure the default options for the paginator. */\r\nexport interface PaginatorDefaultOptions {\r\n /** Number of items to display on a page. By default set to 10. */\r\n pageSize?: number;\r\n\r\n /** The set of provided page size options to display to the user. */\r\n pageSizeOptions?: number[];\r\n\r\n /** Whether to hide the page size selection UI from the user. */\r\n hidePaginatorPageSize?: boolean;\r\n\r\n /** Whether to show the first/last buttons UI to the user. */\r\n showFirstLastButtons?: boolean;\r\n}\r\n\r\nexport const PAGINATOR_CONFIG = new InjectionToken('PAGINATOR_CONFIG');\r\n\r\n/** The default page size if there is no page size and there are no provided page size options. */\r\nexport const DEFAULT_PAGE_SIZE = 50;\r\n","import { Injectable, Optional, SkipSelf } from '@angular/core';\r\nimport { Subject } from 'rxjs';\r\n\r\n/**\r\n * To modify the labels and text displayed, create a new instance of NativePaginatorIntl and\r\n * include it in a custom provider\r\n */\r\n@Injectable({ providedIn: 'root' })\r\nexport class NativePaginatorIntl {\r\n /**\r\n * Stream to emit from when labels are changed. Use this to notify components when the labels have\r\n * changed after initialization.\r\n */\r\n readonly changes: Subject = new Subject();\r\n\r\n /** A label for the page size selector. */\r\n itemsPerPageLabel: string = 'Total de recursos';\r\n\r\n /** A label for the button that increments the current page. */\r\n nextPageLabel: string = 'Página siguiente';\r\n\r\n /** A label for the button that decrements the current page. */\r\n previousPageLabel: string = 'Página anterior';\r\n\r\n /** A label for the button that moves to the first page. */\r\n firstPageLabel: string = 'Primer página';\r\n\r\n /** A label for the button that moves to the last page. */\r\n lastPageLabel: string = 'Última página';\r\n\r\n /** A label for the range of items within the current page and the length of the whole list. */\r\n getRangeLabel: (indexPage: number, pageSize: number, length: number) => string = (\r\n indexPage: number,\r\n pageSize: number,\r\n length: number,\r\n ) => {\r\n if (length == 0 || pageSize == 0) {\r\n return `Total de recursos 0 - Página 0 de 0`;\r\n }\r\n\r\n length = Math.max(length, 0);\r\n const startIndex = indexPage * pageSize;\r\n const endIndex = startIndex < length\r\n ? Math.min(startIndex + pageSize, length)\r\n : startIndex + pageSize;\r\n return `Total de recursos ${length} - Página ${startIndex + 1 } de ${endIndex}`;\r\n };\r\n}\r\n\r\n/** @docs-private */\r\nexport function NATIVE_PAGINATOR_INTL_PROVIDER_FACTORY(parentIntl: NativePaginatorIntl) {\r\n return parentIntl || new NativePaginatorIntl();\r\n}\r\n\r\n/** @docs-private */\r\nexport const NATIVE_PAGINATOR_INTL_PROVIDER = {\r\n // If there is already an NativePaginatorIntl available, use that. Otherwise, provide a new one.\r\n provide: NativePaginatorIntl,\r\n deps: [[new Optional(), new SkipSelf(), NativePaginatorIntl]],\r\n useFactory: NATIVE_PAGINATOR_INTL_PROVIDER_FACTORY,\r\n};\r\n","import { BooleanInput, NumberInput, coerceBooleanProperty, coerceNumberProperty } from '@angular/cdk/coercion';\r\nimport { ChangeDetectionStrategy, ChangeDetectorRef, Component, Directive, EventEmitter, Inject, Injectable, Input, OnDestroy, OnInit, Optional, Output, ViewEncapsulation } from '@angular/core';\r\nimport { DEFAULT_PAGE_SIZE, PAGINATOR_CONFIG, PageEvent, PaginatorDefaultOptions } from './paginator-config';\r\nimport { NativePaginatorIntl } from './paginator-intl';\r\nimport { Subscription } from 'rxjs';\r\n\r\n\r\n@Directive()\r\nexport abstract class NativePaginatorBase implements PaginatorDefaultOptions, OnInit, OnDestroy {\r\n @Input()\r\n disabled = false;\r\n\r\n private initialized: boolean = false;\r\n private intlChanges: Subscription;\r\n\r\n /** The zero-based page index of the displayed list of items. Defaulted to 0. */\r\n private _pageIndex = 0;\r\n @Input()\r\n get pageIndex(): number {\r\n return this._pageIndex;\r\n }\r\n set pageIndex(value: NumberInput) {\r\n this._pageIndex = Math.max(coerceNumberProperty(value), 0);\r\n this._changeDetectorRef.markForCheck();\r\n }\r\n\r\n /** The length of the total number of items that are being paginated. Defaulted to 0. */\r\n private _length = 0;\r\n @Input()\r\n get length(): number {\r\n return this._length;\r\n }\r\n set length(value: NumberInput) {\r\n this._length = coerceNumberProperty(value);\r\n this._changeDetectorRef.markForCheck();\r\n }\r\n\r\n /** Number of items to display on a page. By default set to 10. */\r\n private _pageSize!: number;\r\n @Input()\r\n get pageSize(): number {\r\n return this._pageSize;\r\n }\r\n set pageSize(value: NumberInput) {\r\n this._pageSize = Math.max(coerceNumberProperty(value), 0);\r\n this.updateDisplayedPageSizeOptions();\r\n }\r\n\r\n /** The set of provided page size options to display to the user. */\r\n private _pageSizeOptions: number[] = [];\r\n @Input()\r\n get pageSizeOptions(): number[] {\r\n return this._pageSizeOptions;\r\n }\r\n set pageSizeOptions(value: number[] | readonly number[]) {\r\n this._pageSizeOptions = (value || []).map(p => coerceNumberProperty(p));\r\n this.updateDisplayedPageSizeOptions();\r\n }\r\n\r\n /** Whether to hide the page size selection UI from the user. */\r\n private _hidePaginatorPageSize = false;\r\n @Input()\r\n get hidePaginatorPageSize(): boolean {\r\n return this._hidePaginatorPageSize;\r\n }\r\n set hidePaginatorPageSize(value: BooleanInput) {\r\n this._hidePaginatorPageSize = coerceBooleanProperty(value);\r\n }\r\n\r\n /** Whether to show the first/last buttons UI to the user. */\r\n private _showFirstLastButtons = false;\r\n @Input()\r\n get showFirstLastButtons(): boolean {\r\n return this._showFirstLastButtons;\r\n }\r\n set showFirstLastButtons(value: BooleanInput) {\r\n this._showFirstLastButtons = coerceBooleanProperty(value);\r\n }\r\n\r\n /** Event emitted when the paginator changes the page size or page index. */\r\n @Output() readonly page: EventEmitter = new EventEmitter();\r\n\r\n /** Displayed set of page size options. Will be sorted and include current page size. */\r\n displayedPageSizeOptions: number[] = [];\r\n\r\n constructor(\r\n public intl: NativePaginatorIntl,\r\n private _changeDetectorRef: ChangeDetectorRef,\r\n @Inject(PAGINATOR_CONFIG) @Optional() defaultConfig?: PaginatorDefaultOptions,\r\n\r\n ) {\r\n\r\n this.intlChanges = intl.changes.subscribe(() => this._changeDetectorRef.markForCheck());\r\n\r\n if (defaultConfig) {\r\n const { pageSize, pageSizeOptions, hidePaginatorPageSize, showFirstLastButtons } = defaultConfig;\r\n\r\n if (pageSize != null) {\r\n this._pageSize = pageSize;\r\n }\r\n\r\n if (pageSizeOptions != null) {\r\n this._pageSizeOptions = pageSizeOptions;\r\n }\r\n\r\n if (hidePaginatorPageSize != null) {\r\n this._hidePaginatorPageSize = hidePaginatorPageSize;\r\n }\r\n\r\n if (showFirstLastButtons != null) {\r\n this._showFirstLastButtons = showFirstLastButtons;\r\n }\r\n }\r\n }\r\n\r\n ngOnInit() {\r\n this.initialized = true;\r\n this.updateDisplayedPageSizeOptions();\r\n }\r\n\r\n ngOnDestroy() {\r\n this.intlChanges.unsubscribe();\r\n }\r\n\r\n /** Advances to the next page if it exists. */\r\n nextPage(): void {\r\n if (!this.hasNextPage()) {\r\n return;\r\n }\r\n\r\n const previousPageIndex = this.pageIndex;\r\n this.pageIndex = this.pageIndex + 1;\r\n this.emitPageEvent(previousPageIndex);\r\n }\r\n\r\n /** Move back to the previous page if it exists. */\r\n previousPage(): void {\r\n if (!this.hasPreviousPage()) {\r\n return;\r\n }\r\n\r\n const previousPageIndex = this.pageIndex;\r\n this.pageIndex = this.pageIndex - 1;\r\n this.emitPageEvent(previousPageIndex);\r\n }\r\n\r\n /** Move to the first page if not already there. */\r\n firstPage(): void {\r\n // hasPreviousPage being false implies at the start\r\n if (!this.hasPreviousPage()) {\r\n return;\r\n }\r\n\r\n const previousPageIndex = this.pageIndex;\r\n this.pageIndex = 0;\r\n this.emitPageEvent(previousPageIndex);\r\n }\r\n\r\n /** Move to the last page if not already there. */\r\n lastPage(): void {\r\n // hasNextPage being false implies at the end\r\n if (!this.hasNextPage()) {\r\n return;\r\n }\r\n\r\n const previousPageIndex = this.pageIndex;\r\n this.pageIndex = this.getNumberOfPages() - 1;\r\n this.emitPageEvent(previousPageIndex);\r\n }\r\n\r\n /** Whether there is a previous page. */\r\n hasPreviousPage(): boolean {\r\n return this.pageIndex >= 1 && this.pageSize != 0;\r\n }\r\n\r\n /** Whether there is a next page. */\r\n hasNextPage(): boolean {\r\n const maxPageIndex = this.getNumberOfPages() - 1;\r\n return this.pageIndex < maxPageIndex && this.pageSize != 0;\r\n }\r\n\r\n /** Calculate the number of pages */\r\n getNumberOfPages(): number {\r\n if (!this.pageSize) {\r\n return 0;\r\n }\r\n\r\n return Math.ceil(this.length / this.pageSize);\r\n }\r\n\r\n changePageSize(pageSize: number) {\r\n const previousPageIndex = 0;\r\n this.pageIndex = 0;\r\n this.pageSize = pageSize;\r\n this.emitPageEvent(previousPageIndex);\r\n }\r\n\r\n /** Checks whether the buttons for going forwards should be disabled. */\r\n nextButtonsDisabled() {\r\n return this.disabled || !this.hasNextPage();\r\n }\r\n\r\n /** Checks whether the buttons for going backwards should be disabled. */\r\n previousButtonsDisabled() {\r\n return this.disabled || !this.hasPreviousPage();\r\n }\r\n\r\n /**\r\n * Updates the list of page size options to display to the user. Includes making sure that\r\n * the page size is an option and that the list is sorted.\r\n */\r\n private updateDisplayedPageSizeOptions() {\r\n if (!this.initialized) {\r\n return;\r\n }\r\n\r\n // If no page size is provided, use the first page size option or the default page size.\r\n if (!this.pageSize) {\r\n this._pageSize =\r\n this.pageSizeOptions.length != 0 ? this.pageSizeOptions[0] : DEFAULT_PAGE_SIZE;\r\n }\r\n\r\n this.displayedPageSizeOptions = this.pageSizeOptions.slice();\r\n\r\n if (this.displayedPageSizeOptions.indexOf(this.pageSize) === -1) {\r\n this.displayedPageSizeOptions.push(this.pageSize);\r\n }\r\n\r\n // Sort the numbers using a number-specific sort function.\r\n this.displayedPageSizeOptions.sort((a, b) => a - b);\r\n this._changeDetectorRef.markForCheck();\r\n }\r\n\r\n /** Emits an event notifying that a change of the paginator's properties has been triggered. */\r\n private emitPageEvent(previousPageIndex: number) {\r\n this.page.emit({\r\n previousPageIndex,\r\n pageIndex: this.pageIndex,\r\n pageSize: this.pageSize,\r\n length: this.length,\r\n });\r\n }\r\n}\r\n\r\nlet nextUniqueId = 0;\r\n\r\n\r\n@Component({\r\n selector: 'native-paginator',\r\n templateUrl: './paginator.html',\r\n styleUrls: ['./paginator.scss'],\r\n host: {\r\n 'class': 'native-paginator',\r\n 'role': 'group',\r\n },\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n encapsulation: ViewEncapsulation.None,\r\n})\r\nexport class NativePaginator extends NativePaginatorBase {\r\n readonly pageSizeLabelId = `paginator-page-size-label-${nextUniqueId++}`;\r\n\r\n constructor(\r\n intl: NativePaginatorIntl,\r\n changeDetectorRef: ChangeDetectorRef,\r\n @Inject(PAGINATOR_CONFIG) @Optional() defaultConfig?: PaginatorDefaultOptions) {\r\n super(intl, changeDetectorRef, defaultConfig);\r\n }\r\n}\r\n\r\n\r\n","\r\n\r\n
\r\n {{intl.getRangeLabel(pageIndex, pageSize, length)}}\r\n
\r\n\r\n
\r\n \r\n\r\n
{{pageIndex + 1}}
\r\n\r\n \r\n\r\n\r\n
","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { PortalModule } from '@angular/cdk/portal';\r\nimport { A11yModule } from '@angular/cdk/a11y';\r\n// COMPONENTS\r\nimport { NativeTab } from './tab/tab';\r\nimport { NativeTabBody, NativeTabBodyPortal } from './tab-body/tab-body';\r\nimport { NativeTabContent } from './tab-content/tab-content';\r\nimport { NativeTabHeader, NativeTabLabelWrapper } from './tab-header/tab-header';\r\nimport { NativeTabGroup } from './tab-group/tab-group';\r\nimport { NativeTabLabel } from './tab-label/tab-label';\r\n\r\nexport const COMPONENTS = [\r\n NativeTab,\r\n NativeTabContent,\r\n NativeTabGroup,\r\n NativeTabLabel,\r\n];\r\n\r\nexport const PRIVATE_DIRECTIVE = [\r\n NativeTabBody,\r\n NativeTabLabelWrapper,\r\n NativeTabBodyPortal,\r\n NativeTabHeader,\r\n];\r\n\r\n@NgModule({\r\n imports: [\r\n CommonModule,\r\n PortalModule,\r\n A11yModule,\r\n ],\r\n exports: [\r\n ...COMPONENTS,\r\n ],\r\n declarations: [\r\n ...COMPONENTS,\r\n ...PRIVATE_DIRECTIVE\r\n ]\r\n})\r\nexport class NativeTabsModule { }\r\n","import {\r\n OnInit,\r\n OnDestroy,\r\n Directive,\r\n ElementRef,\r\n HostListener,\r\n AfterViewInit,\r\n QueryList,\r\n AfterContentInit,\r\n} from '@angular/core';\r\n\r\nimport { NativeTabLabelWrapper } from '../tab-header/tab-header';\r\nexport type ScrollDirection = 'after' | 'before';\r\n\r\n@Directive()\r\nexport abstract class PaginatedTabHeader implements OnInit, AfterContentInit, OnDestroy {\r\n abstract tabs: QueryList;\r\n abstract tabListContainer: ElementRef;\r\n abstract tabList: ElementRef;\r\n abstract nextPaginator: ElementRef;\r\n abstract previousPaginator: ElementRef;\r\n private scrollDistance = 0;\r\n showPaginationControls = false;\r\n disableScrollAfter = true;\r\n disableScrollBefore = true;\r\n\r\n constructor() { }\r\n\r\n ngOnInit() {}\r\n\r\n ngAfterContentInit() {\r\n setTimeout(() => {\r\n this.checkScrollingControls();\r\n }, 1000);\r\n }\r\n\r\n ngOnDestroy(): void {\r\n }\r\n\r\n @HostListener('window:resize')\r\n onWindowResize() {\r\n this.checkScrollingControls();\r\n }\r\n\r\n isValidIndex(index: number): boolean {\r\n return this.tabs ? !!this.tabs.toArray()[index] : true;\r\n }\r\n\r\n checkPaginationEnabled() {\r\n const { scrollWidth, offsetWidth } = this.tabListContainer.nativeElement\r\n const isEnabled = scrollWidth > offsetWidth;\r\n if (!isEnabled) {\r\n this.scrollDistance = 0;\r\n }\r\n this.showPaginationControls = isEnabled;\r\n }\r\n\r\n getMaxScrollDistance(): number {\r\n const lengthOfTabList = this.tabListContainer.nativeElement.scrollWidth;\r\n const viewLength = this.tabListContainer.nativeElement.offsetWidth;\r\n return lengthOfTabList - viewLength || 0;\r\n }\r\n\r\n checkScrollingControls() {\r\n // Check if the pagination arrows should be activated.\r\n const maxScrollDistance = this.getMaxScrollDistance();\r\n this.disableScrollBefore = this.scrollDistance == 0;\r\n this.disableScrollAfter = this.scrollDistance == maxScrollDistance;\r\n this.checkPaginationEnabled();\r\n }\r\n\r\n handlePaginatorClick(direction: ScrollDirection) {\r\n const viewLength = this.tabListContainer.nativeElement.offsetWidth;\r\n const scrollAmount = ((direction == 'before' ? -1 : 1) * viewLength) / 2;\r\n const position = this.scrollDistance + scrollAmount;\r\n const positionScroll = Math.max(0, Math.min(this.getMaxScrollDistance(), position));\r\n this.scrollDistance = positionScroll;\r\n this.tabListContainer.nativeElement.scrollLeft = positionScroll;\r\n this.checkScrollingControls();\r\n }\r\n}\r\n","import {\r\n ChangeDetectionStrategy,\r\n Component,\r\n ComponentFactoryResolver,\r\n Directive,\r\n ElementRef,\r\n EventEmitter,\r\n forwardRef,\r\n Inject,\r\n Input,\r\n OnDestroy,\r\n OnInit,\r\n Output,\r\n ViewChild,\r\n ViewContainerRef,\r\n ViewEncapsulation,\r\n} from '@angular/core';\r\nimport { CdkPortalOutlet, TemplatePortal } from '@angular/cdk/portal';\r\nimport { DOCUMENT } from '@angular/common';\r\nimport { Subject, Subscription } from 'rxjs';\r\nimport { distinctUntilChanged, startWith } from 'rxjs/operators';\r\nimport { Direction } from '@angular/cdk/bidi';\r\nimport { AnimationEvent } from '@angular/animations';\r\nimport { nativeTabsAnimations } from '../tabs-animations/tabs-animations';\r\n/**\r\n * The portal host directive for the contents of the tab.\r\n * @docs-private\r\n */\r\n@Directive({\r\n selector: '[nativeTabBodyHost]',\r\n})\r\nexport class NativeTabBodyPortal extends CdkPortalOutlet implements OnInit, OnDestroy {\r\n /** Subscription to events for when the tab body begins centering. */\r\n private centeringSub = Subscription.EMPTY;\r\n /** Subscription to events for when the tab body finishes leaving from center position. */\r\n private leavingSub = Subscription.EMPTY;\r\n\r\n constructor(\r\n componentFactoryResolver: ComponentFactoryResolver,\r\n viewContainerRef: ViewContainerRef,\r\n @Inject(forwardRef(() => NativeTabBody)) private host: NativeTabBody,\r\n @Inject(DOCUMENT) document: any,\r\n ) {\r\n super(componentFactoryResolver, viewContainerRef, document);\r\n }\r\n\r\n /** Set initial visibility or set up subscription for changing visibility. */\r\n override ngOnInit(): void {\r\n super.ngOnInit();\r\n this.centeringSub = this.host.beforeCentering\r\n .pipe(startWith(this.host.isCenterPosition(this.host._position)))\r\n .subscribe((isCentering: boolean) => {\r\n if (isCentering && !this.hasAttached()) {\r\n this.attach(this.host.content);\r\n }\r\n });\r\n\r\n this.leavingSub = this.host.afterLeavingCenter.subscribe(() => {\r\n if (!this.host.preserveContent) {\r\n this.detach();\r\n }\r\n });\r\n }\r\n\r\n /** Clean up centering subscription. */\r\n override ngOnDestroy(): void {\r\n super.ngOnDestroy();\r\n this.centeringSub.unsubscribe();\r\n this.leavingSub.unsubscribe();\r\n }\r\n}\r\n\r\n@Directive()\r\nexport abstract class NativeTabBodyBase implements OnInit, OnDestroy {\r\n /** Current position of the tab-body in the tab-group. Zero means that the tab is visible. */\r\n private positionIndex!: number;\r\n /** Tab body position state. Used by the animation trigger for the current state. */\r\n _position!: NativeTabBodyPositionState;\r\n /** Emits when an animation on the tab is complete. */\r\n readonly translateTabComplete = new Subject();\r\n /** Event emitted when the tab begins to animate towards the center as the active tab. */\r\n @Output() readonly onCentering: EventEmitter = new EventEmitter();\r\n /** Event emitted before the centering of the tab begins. */\r\n @Output() readonly beforeCentering: EventEmitter = new EventEmitter();\r\n /** Event emitted before the centering of the tab begins. */\r\n @Output() readonly afterLeavingCenter: EventEmitter = new EventEmitter();\r\n /** Event emitted when the tab completes its animation towards the center. */\r\n @Output() readonly onCentered: EventEmitter = new EventEmitter(true);\r\n\r\n /** The portal host inside of this container into which the tab body content will be loaded. */\r\n abstract portalHost: CdkPortalOutlet;\r\n\r\n /** The tab body content to display. */\r\n @Input('content') content!: TemplatePortal;\r\n\r\n /** Position that will be used when the tab is immediately becoming visible after creation. */\r\n @Input() origin!: number | null;\r\n\r\n // Note that the default value will always be overwritten by `NativeTabBody`, but we need one\r\n // anyway to prevent the animations module from throwing an error if the body is used on its own.\r\n /** Duration for the tab's animation. */\r\n @Input() animationDuration: string = '475ms';\r\n\r\n /** Whether the tab's content should be kept in the DOM while it's off-screen. */\r\n @Input() preserveContent: boolean = false;\r\n\r\n /** The shifted index position of the tab body, where zero represents the active center tab. */\r\n @Input()\r\n set position(position: number) {\r\n this.positionIndex = position;\r\n this.computePositionAnimationState();\r\n }\r\n\r\n constructor(private elementRef: ElementRef) {\r\n\r\n // Ensure that we get unique animation events, because the `.done` callback can get\r\n // invoked twice in some browsers. See https://github.com/angular/angular/issues/24084.\r\n this.translateTabComplete\r\n .pipe(\r\n distinctUntilChanged((x, y) => {\r\n return x.fromState === y.fromState && x.toState === y.toState;\r\n }),\r\n )\r\n .subscribe(event => {\r\n // If the transition to the center is complete, emit an event.\r\n if (this.isCenterPosition(event.toState) && this.isCenterPosition(this._position)) {\r\n this.onCentered.emit();\r\n }\r\n\r\n if (this.isCenterPosition(event.fromState) && !this.isCenterPosition(this._position)) {\r\n this.afterLeavingCenter.emit();\r\n }\r\n });\r\n }\r\n\r\n /**\r\n * After initialized, check if the content is centered and has an origin. If so, set the\r\n * special position states that transition the tab from the left or right before centering.\r\n */\r\n ngOnInit() {\r\n if (this._position == 'center' && this.origin != null) {\r\n this._position = this.computePositionFromOrigin(this.origin);\r\n }\r\n }\r\n\r\n ngOnDestroy() {\r\n this.translateTabComplete.complete();\r\n }\r\n\r\n onTranslateTabStarted(event: AnimationEvent): void {\r\n const isCentering = this.isCenterPosition(event.toState);\r\n this.beforeCentering.emit(isCentering);\r\n if (isCentering) {\r\n this.onCentering.emit(this.elementRef.nativeElement.clientHeight);\r\n }\r\n }\r\n\r\n /** The text direction of the containing app. */\r\n getLayoutDirection(): Direction {\r\n return 'ltr';\r\n }\r\n\r\n /** Whether the provided position state is considered center, regardless of origin. */\r\n isCenterPosition(position: NativeTabBodyPositionState | string): boolean {\r\n return (\r\n position == 'center' || position == 'left-origin-center' || position == 'right-origin-center'\r\n );\r\n }\r\n\r\n /** Computes the position state that will be used for the tab-body animation trigger. */\r\n private computePositionAnimationState() {\r\n if (this.positionIndex < 0) {\r\n this._position = 'left';\r\n } else if (this.positionIndex > 0) {\r\n this._position = 'right';\r\n } else {\r\n this._position = 'center';\r\n }\r\n }\r\n\r\n /**\r\n * Computes the position state based on the specified origin position. This is used if the\r\n * tab is becoming visible immediately after creation.\r\n */\r\n private computePositionFromOrigin(origin: number): NativeTabBodyPositionState {\r\n const dir = this.getLayoutDirection();\r\n\r\n if ((dir == 'ltr' && origin <= 0) || (dir == 'rtl' && origin > 0)) {\r\n return 'left-origin-center';\r\n }\r\n\r\n return 'right-origin-center';\r\n }\r\n}\r\n\r\n/**\r\n * Base class with all of the `NativeTabBody` functionality.\r\n * @docs-private\r\n */\r\n\r\n@Component({\r\n selector: 'native-tab-body',\r\n templateUrl: './tab-body.html',\r\n styleUrls: ['./tab-body.scss'],\r\n encapsulation: ViewEncapsulation.None,\r\n changeDetection: ChangeDetectionStrategy.Default,\r\n animations: [nativeTabsAnimations.translateTab],\r\n host: { 'class': 'tab-body' },\r\n})\r\nexport class NativeTabBody extends NativeTabBodyBase {\r\n @ViewChild(CdkPortalOutlet) portalHost!: CdkPortalOutlet;\r\n\r\n constructor(elementRef: ElementRef) {\r\n super(elementRef,);\r\n }\r\n}\r\n\r\nexport type NativeTabBodyPositionState =\r\n | 'left'\r\n | 'center'\r\n | 'right'\r\n | 'left-origin-center'\r\n | 'right-origin-center';","
\r\n \r\n
","import { Directive, InjectionToken, TemplateRef } from '@angular/core';\r\n/**\r\n * Injection token that can be used to reference instances of `MatTabContent`. It serves as\r\n * alternative token to the actual `MatTabContent` class which could cause unnecessary\r\n * retention of the class and its directive metadata.\r\n */\r\nexport const NATIVE_TAB_CONTENT = new InjectionToken('NativeTabContent');\r\n\r\n/** Decorates the `ng-template` tags and reads out the template from it. */\r\n@Directive({\r\n selector: '[nativeTabContent]',\r\n providers: [{provide: NATIVE_TAB_CONTENT, useExisting: NativeTabContent}],\r\n})\r\nexport class NativeTabContent {\r\n constructor(/** Content for the tab. */ public template: TemplateRef) {}\r\n}\r\n","import { InjectionToken } from '@angular/core';\r\n\r\n/** Object that can be used to configure the default options for the tabs module. */\r\nexport interface NativeTabsConfig {\r\n contentTabIndex?: number;\r\n preserveContent?: boolean;\r\n}\r\n\r\n/** Injection token that can be used to provide the default options the tabs module. */\r\nexport const NATIVE_TABS_CONFIG = new InjectionToken('NATIVE_TABS_CONFIG');","import {\r\n AfterContentChecked,\r\n AfterContentInit,\r\n AfterViewInit,\r\n ChangeDetectorRef,\r\n Component,\r\n ContentChildren,\r\n Directive,\r\n ElementRef,\r\n EventEmitter,\r\n Inject,\r\n Input,\r\n OnDestroy,\r\n OnInit,\r\n Optional,\r\n Output,\r\n QueryList,\r\n ViewChild,\r\n ViewEncapsulation,\r\n} from '@angular/core';\r\nimport {\r\n BooleanInput,\r\n coerceBooleanProperty,\r\n coerceNumberProperty,\r\n NumberInput,\r\n} from '@angular/cdk/coercion';\r\n\r\nimport { NativeTabHeader } from '../tab-header/tab-header';\r\nimport { NATIVE_TAB_GROUP, NativeTab } from '../tab/tab';\r\nimport { NATIVE_TABS_CONFIG, NativeTabsConfig } from './tab-config';\r\nimport { startWith } from 'rxjs';\r\n\r\n/** Used to generate unique ID's for each tab component */\r\nlet nextId = 0;\r\n\r\n/** A simple change event emitted on focus or selection changes. */\r\nexport class NativeTabChangeEvent {\r\n index?: number;\r\n tab?: NativeTab;\r\n}\r\n\r\n/**\r\n * Base class with all of the `NativeTabGroupBase` functionality.\r\n * @docs-private\r\n */\r\n@Directive()\r\nexport abstract class NativeTabGroupBase implements AfterContentInit, AfterContentChecked, AfterViewInit, OnDestroy {\r\n\r\n /**\r\n * All tabs inside the tab group. This includes tabs that belong to groups that are nested\r\n * inside the current one. We filter out only the tabs that belong to this group in `tabs`.\r\n */\r\n abstract allTabs: QueryList;\r\n abstract tabBodyWrapper: ElementRef;\r\n abstract tabHeader: NativeTabHeader;\r\n /** All of the tabs that belong to the group. */\r\n tabs: QueryList = new QueryList();\r\n /** The tab index that should be selected after the content has been checked. */\r\n private indexToSelect: number = 0;\r\n /** The index of the active tab. */\r\n private _selectedIndex: number | null = null;\r\n @Input()\r\n get selectedIndex(): number | null {\r\n return this._selectedIndex;\r\n }\r\n\r\n set selectedIndex(value: NumberInput) {\r\n this.indexToSelect = coerceNumberProperty(value, 0);\r\n }\r\n\r\n private _contentTabIndex?: number | undefined;\r\n @Input()\r\n get contentTabIndex(): number | undefined {\r\n return this._contentTabIndex;\r\n }\r\n\r\n set contentTabIndex(value: NumberInput) {\r\n this._contentTabIndex = coerceNumberProperty(value, undefined);\r\n }\r\n\r\n /**\r\n * By default tabs remove their content from the DOM while it's off-screen.\r\n * Setting this to `true` will keep it in the DOM which will prevent elements\r\n * like iframes and videos from reloading next time it comes back into the view.\r\n */\r\n private _preserveContent: boolean = false;\r\n @Input()\r\n get preserveContent(): boolean {\r\n return this._preserveContent;\r\n }\r\n\r\n set preserveContent(value: BooleanInput) {\r\n this._preserveContent = coerceBooleanProperty(value);\r\n }\r\n\r\n /** Output to enable support for two-way binding on `[(selectedIndex)]` */\r\n @Output() readonly selectedIndexChange: EventEmitter = new EventEmitter();\r\n /** Event emitted when the tab selection has changed. */\r\n @Output() readonly selectedTabChange: EventEmitter =\r\n new EventEmitter(true);\r\n\r\n private groupId: number;\r\n\r\n constructor(\r\n protected changeDetectorRef: ChangeDetectorRef,\r\n @Inject(NATIVE_TABS_CONFIG) @Optional() defaultConfig?: NativeTabsConfig,\r\n ) {\r\n this.groupId = nextId++;\r\n this.contentTabIndex = defaultConfig?.contentTabIndex ?? null;\r\n this.preserveContent = !!defaultConfig?.preserveContent;\r\n }\r\n\r\n ngAfterContentChecked() {\r\n const indexToSelect = this.indexToSelect!;\r\n if (this._selectedIndex != indexToSelect) {\r\n const isFirstRun = this._selectedIndex == null;\r\n if (!isFirstRun) {\r\n this.tabHeader.tabs.toArray()[indexToSelect].elementRef.nativeElement.scrollIntoView({ behavior: \"smooth\" });\r\n this.selectedTabChange.emit(this.createChangeEvent(indexToSelect));\r\n this.selectedIndexChange.emit(indexToSelect);\r\n }\r\n }\r\n\r\n // Setup the position for each tab and optionally setup an origin on the next selected tab.\r\n this.tabs.forEach((tab: NativeTab, index: number) => {\r\n tab.position = index - indexToSelect;\r\n });\r\n\r\n if (this._selectedIndex !== indexToSelect) {\r\n this._selectedIndex = indexToSelect;\r\n this.changeDetectorRef.markForCheck();\r\n }\r\n }\r\n\r\n ngAfterViewInit() {\r\n }\r\n\r\n ngAfterContentInit() {\r\n this.subscribeToAllTabChanges();\r\n }\r\n\r\n ngOnDestroy() {\r\n this.tabs.destroy();\r\n }\r\n\r\n /** Listens to changes in all of the tabs. */\r\n private subscribeToAllTabChanges() {\r\n // Since we use a query with `descendants: true` to pick up the tabs, we may end up catching\r\n // some that are inside of nested tab groups. We filter them out manually by checking that\r\n // the closest group to the tab is the current one.\r\n this.allTabs.changes.pipe(startWith(this.allTabs)).subscribe((tabs: QueryList) => {\r\n this.tabs.reset(\r\n tabs.filter(tab => {\r\n return tab._closestTabGroup === this || !tab._closestTabGroup;\r\n }),\r\n );\r\n this.tabs.notifyOnChanges();\r\n });\r\n }\r\n\r\n private createChangeEvent(index: number): NativeTabChangeEvent {\r\n const event = new NativeTabChangeEvent();\r\n event.index = index;\r\n if (this.tabs && this.tabs.length) {\r\n event.tab = this.tabs.toArray()[index];\r\n }\r\n return event;\r\n }\r\n\r\n /** Returns a unique id for each tab label element */\r\n getTabLabelId(i: number): string {\r\n return `native-tab-label-${this.groupId}-${i}`;\r\n }\r\n\r\n /** Returns a unique id for each tab content element */\r\n getTabContentId(i: number): string {\r\n return `native-tab-content-${this.groupId}-${i}`;\r\n }\r\n\r\n /** Handle click events, setting new selected index if appropriate. */\r\n changeTab(tab: NativeTab, tabHeader: NativeTabHeader, index: number) {\r\n this.selectedIndex = index;\r\n }\r\n\r\n /** Retrieves the tabindex for the tab. */\r\n getTabIndex(index: number): number {\r\n return index === this.selectedIndex ? 0 : -1;\r\n }\r\n}\r\n\r\n\r\n@Component({\r\n selector: 'native-tab-group',\r\n templateUrl: './tab-group.html',\r\n styleUrls: ['./tab-group.scss'],\r\n encapsulation: ViewEncapsulation.None,\r\n host: { 'class': 'tab-group' },\r\n providers: [\r\n {\r\n provide: NATIVE_TAB_GROUP,\r\n useExisting: NativeTabGroup,\r\n },\r\n ],\r\n exportAs: 'nativeTabGroup',\r\n})\r\nexport class NativeTabGroup extends NativeTabGroupBase {\r\n @ContentChildren(NativeTab, { descendants: true }) allTabs!: QueryList;\r\n @ViewChild('tabHeader') tabHeader!: NativeTabHeader;\r\n @ViewChild('tabBodyWrapper') tabBodyWrapper!: ElementRef;\r\n\r\n constructor(\r\n changeDetectorRef: ChangeDetectorRef,\r\n @Inject(NATIVE_TABS_CONFIG) @Optional() defaultConfig: NativeTabsConfig,\r\n ) {\r\n super(changeDetectorRef, defaultConfig);\r\n }\r\n}\r\n\r\n","\r\n
\r\n \r\n \r\n \r\n {{tab.textLabel}}\r\n
\r\n
\r\n\r\n
\r\n \r\n \r\n
\r\n","import {\r\n Component,\r\n AfterViewInit,\r\n ElementRef, ViewChild,\r\n QueryList,\r\n ChangeDetectionStrategy,\r\n ViewEncapsulation,\r\n ContentChildren,\r\n Directive\r\n} from '@angular/core';\r\nimport { PaginatedTabHeader } from '../paginated-tab-header/paginated-tab-header';\r\n\r\n@Directive()\r\nexport class NativeTabLabelWrapperBase {\r\n constructor(public elementRef: ElementRef) {}\r\n\r\n /** Sets focus on the wrapper element */\r\n focus(): void {\r\n this.elementRef.nativeElement.focus();\r\n }\r\n\r\n getOffsetLeft(): number {\r\n return this.elementRef.nativeElement.offsetLeft;\r\n }\r\n\r\n getOffsetWidth(): number {\r\n return this.elementRef.nativeElement.offsetWidth;\r\n }\r\n}\r\n\r\n@Directive({\r\n selector: '[nativeTabLabelWrapper]',\r\n})\r\nexport class NativeTabLabelWrapper {\r\n\r\n constructor(public elementRef: ElementRef) {\r\n }\r\n // selectIndex() {\r\n // this.elementRef.nativeElement.scrollIntoView({ behavior: \"smooth\" });\r\n // }\r\n\r\n focus(): void {\r\n this.elementRef.nativeElement.focus();\r\n }\r\n\r\n getOffsetLeft(): number {\r\n return this.elementRef.nativeElement.offsetLeft;\r\n }\r\n\r\n getOffsetWidth(): number {\r\n return this.elementRef.nativeElement.offsetWidth;\r\n }\r\n}\r\n\r\n\r\n@Component({\r\n selector: 'native-tab-header',\r\n templateUrl: './tab-header.html',\r\n styleUrls: ['./tab-header.scss'],\r\n changeDetection: ChangeDetectionStrategy.Default,\r\n encapsulation: ViewEncapsulation.None,\r\n host: { 'class': 'tab-header'}\r\n})\r\nexport class NativeTabHeader extends PaginatedTabHeader {\r\n @ContentChildren(NativeTabLabelWrapper, { descendants: false }) tabs!: QueryList;\r\n @ViewChild('tabListContainer', { static: true }) tabListContainer!: ElementRef;\r\n @ViewChild('tabList', { static: true }) tabList!: ElementRef;\r\n @ViewChild('nextPaginator') nextPaginator!: ElementRef;\r\n @ViewChild('previousPaginator') previousPaginator!: ElementRef;\r\n\r\n constructor() {\r\n super();\r\n }\r\n}\r\n\r\n","\r\n \r\n\r\n\r\n
\r\n
\r\n \r\n
\r\n
\r\n\r\n\r\n \r\n\r\n","import {\r\n Directive,\r\n Inject,\r\n InjectionToken,\r\n Optional,\r\n TemplateRef,\r\n ViewContainerRef,\r\n} from '@angular/core';\r\nimport { CdkPortal } from '@angular/cdk/portal';\r\n\r\nexport const NATIVE_TAB_LABEL = new InjectionToken('NativeTabLabel');\r\nexport const NATIVE_TAB = new InjectionToken('NATIVE_TAB');\r\n\r\n@Directive({\r\n selector: '[native-tab-label], [nativeTabLabel]',\r\n providers: [{provide: NATIVE_TAB_LABEL, useExisting: NativeTabLabel}],\r\n})\r\nexport class NativeTabLabel extends CdkPortal {\r\n constructor(\r\n templateRef: TemplateRef,\r\n viewContainerRef: ViewContainerRef,\r\n @Inject(NATIVE_TAB) @Optional() public _closestTab: any,\r\n ) {\r\n super(templateRef, viewContainerRef);\r\n }\r\n}","import {\r\n ChangeDetectionStrategy,\r\n Component,\r\n OnInit,\r\n ViewEncapsulation,\r\n TemplateRef,\r\n InjectionToken,\r\n Directive,\r\n ContentChild,\r\n ViewContainerRef,\r\n Optional,\r\n Inject,\r\n Input,\r\n ViewChild,\r\n OnChanges,\r\n OnDestroy,\r\n SimpleChanges\r\n } from '@angular/core';\r\nimport { NativeTabLabel, NATIVE_TAB } from '../tab-label/tab-label';\r\nimport { TemplatePortal } from '@angular/cdk/portal';\r\nimport { Subject } from 'rxjs';\r\nimport { NativeTabContent } from '../tab-content/tab-content';\r\n\r\nexport const NATIVE_TAB_GROUP = new InjectionToken('NATIVE_TAB_GROUP');\r\n\r\n@Directive()\r\nexport class NativeTabBase\r\n implements OnInit, OnChanges, OnDestroy {\r\n\r\n /**\r\n * Template provided in the tab content that will be used if present, used to enable lazy-loading\r\n */\r\n _explicitContent!: TemplateRef;\r\n\r\n /** Template inside the NativeTab view that contains an ``. */\r\n @ViewChild(TemplateRef, { static: true }) _implicitContent!: TemplateRef;\r\n\r\n @Input() textLabel: string = '';\r\n @Input() iconLabel: string | undefined = undefined;\r\n @Input() iconLabelActive: string | undefined = undefined;\r\n /**\r\n * Classes to be passed to the tab label inside the native-tab-header container.\r\n * Supports string and string array values, same as `ngClass`.\r\n */\r\n @Input() labelClass?: string | string[];\r\n\r\n /**\r\n * Classes to be passed to the tab native-tab-body container.\r\n * Supports string and string array values, same as `ngClass`.\r\n */\r\n @Input() bodyClass?: string | string[];\r\n\r\n /** Portal that will be the hosted content of the tab */\r\n private _contentPortal: TemplatePortal | null = null;\r\n\r\n get content(): TemplatePortal | null {\r\n return this._contentPortal;\r\n }\r\n\r\n /** Emits whenever the internal state of the tab changes. */\r\n readonly _stateChanges = new Subject();\r\n\r\n /**\r\n * The relatively indexed position where 0 represents the center, negative is left, and positive\r\n * represents the right.\r\n */\r\n position: number | null = null;\r\n\r\n /**\r\n * The initial relatively index origin of the tab if it was created and selected after there\r\n * was already a selected tab. Provides context of what position the tab should originate from.\r\n */\r\n origin: number | null = null;\r\n\r\n constructor(\r\n private viewContainerRef: ViewContainerRef,\r\n @Inject(NATIVE_TAB_GROUP) @Optional() public _closestTabGroup: any,\r\n ) {\r\n }\r\n\r\n ngOnInit(): void {\r\n this._contentPortal = new TemplatePortal(\r\n this._explicitContent || this._implicitContent,\r\n this.viewContainerRef,\r\n );\r\n }\r\n\r\n ngOnChanges(changes: SimpleChanges): void {\r\n if (changes.hasOwnProperty('textLabel') || changes.hasOwnProperty('disabled')) {\r\n this._stateChanges.next();\r\n }\r\n }\r\n\r\n ngOnDestroy(): void {\r\n this._stateChanges.complete();\r\n }\r\n}\r\n\r\n@Component({\r\n selector: 'native-tab',\r\n templateUrl: './tab.html',\r\n encapsulation: ViewEncapsulation.None,\r\n changeDetection: ChangeDetectionStrategy.Default,\r\n exportAs: 'nativeTab',\r\n providers: [{provide: NATIVE_TAB, useExisting: NativeTab}],\r\n})\r\nexport class NativeTab extends NativeTabBase {\r\n\r\n @ContentChild(NativeTabContent, { read: TemplateRef, static: true })\r\n // We need an initializer here to avoid a TS error. The value will be set in `ngAfterViewInit`.\r\n override _explicitContent: TemplateRef = undefined!;\r\n}","\r\n \r\n","import {\r\n animate,\r\n state,\r\n style,\r\n transition,\r\n trigger,\r\n AnimationTriggerMetadata,\r\n} from '@angular/animations';\r\n\r\n/**\r\n * Animations used by the Native tabs.\r\n * @docs-private\r\n */\r\nexport const nativeTabsAnimations: {\r\n readonly translateTab: AnimationTriggerMetadata;\r\n} = {\r\n /** Animation translates a tab along the X axis. */\r\n translateTab: trigger('translateTab', [\r\n // Transitions to `none` instead of 0, because some browsers might blur the content.\r\n state('center, void, left-origin-center, right-origin-center', style({transform: 'none'})),\r\n\r\n // If the tab is either on the left or right, we additionally add a `min-height` of 1px\r\n // in order to ensure that the element has a height before its state changes. This is\r\n // necessary because Chrome does seem to skip the transition in RTL mode if the element does\r\n // not have a static height and is not rendered. See related issue: #9465\r\n state(\r\n 'left',\r\n style({\r\n transform: 'translate3d(-100%, 0, 0)',\r\n minHeight: '1px',\r\n // Normally this is redundant since we detach the content from the DOM, but if the user\r\n // opted into keeping the content in the DOM, we have to hide it so it isn't focusable.\r\n visibility: 'hidden',\r\n }),\r\n ),\r\n state(\r\n 'right',\r\n style({\r\n transform: 'translate3d(100%, 0, 0)',\r\n minHeight: '1px',\r\n visibility: 'hidden',\r\n }),\r\n ),\r\n\r\n transition(\r\n '* => left, * => right, left => center, right => center',\r\n animate('{{animationDuration}} cubic-bezier(0.35, 0, 0.25, 1)'),\r\n ),\r\n transition('void => left-origin-center', [\r\n style({transform: 'translate3d(-100%, 0, 0)', visibility: 'hidden'}),\r\n animate('{{animationDuration}} cubic-bezier(0.35, 0, 0.25, 1)'),\r\n ]),\r\n transition('void => right-origin-center', [\r\n style({transform: 'translate3d(100%, 0, 0)', visibility: 'hidden'}),\r\n animate('{{animationDuration}} cubic-bezier(0.35, 0, 0.25, 1)'),\r\n ]),\r\n ]),\r\n};","import { Component, EventEmitter, Input, Output, ViewChild, TemplateRef, OnInit } from '@angular/core';\r\nimport { TreeviewI18n } from '../../models/treeview-i18n';\r\nimport { TreeviewItem } from '../../models/treeview-item';\r\nimport { TreeviewConfig } from '../../models/treeview-config';\r\nimport { TreeviewComponent } from '../treeview/treeview.component';\r\nimport { TreeviewHeaderTemplateContext } from '../../models/treeview-header-template-context';\r\nimport { TreeviewItemTemplateContext } from '../../models/treeview-item-template-context';\r\nimport { DropdownMenuDirective } from '../../directives/dropdown-menu.directive';\r\n\r\n@Component({\r\n selector: 'ngx-dropdown-treeview',\r\n templateUrl: './dropdown-treeview.component.html',\r\n styleUrls: ['./dropdown-treeview.component.scss']\r\n})\r\nexport class DropdownTreeviewComponent implements OnInit {\r\n @ViewChild(DropdownMenuDirective) dropdownMenu!: DropdownMenuDirective;\r\n @Input() buttonClass = 'btn-outline-secondary';\r\n @Input() headerTemplate!: TemplateRef;\r\n @Input() itemTemplate!: TemplateRef;\r\n @Input() items!: TreeviewItem[];\r\n @Input() config: TreeviewConfig;\r\n @Output() selectedChange = new EventEmitter();\r\n @Output() filterChange = new EventEmitter();\r\n @ViewChild(TreeviewComponent, { static: false }) treeviewComponent!: TreeviewComponent;\r\n @Input() value?: TreeviewItem;\r\n @Input() sizeDropdown: string = '';\r\n dropdownClass: string | string[] = '';\r\n\r\n getText() {\r\n return this.value?.text || '-Selecciona-';\r\n }\r\n\r\n constructor(\r\n public i18n: TreeviewI18n,\r\n private defaultConfig: TreeviewConfig\r\n ) {\r\n this.config = this.defaultConfig;\r\n }\r\n\r\n ngOnInit(): void {\r\n this.dropdownClass = this.sizeDropdown === 'xs' ? 'dropdown-menu-xs': '';\r\n }\r\n\r\n onSelectedChange(item: TreeviewItem): void {\r\n if (this.value && item.value.value !== this.value?.value.value) {\r\n this.selectedChange.emit(item);\r\n this.dropdownMenu.dropdown.close();\r\n } else if (!this.value) {\r\n this.selectedChange.emit(item);\r\n this.dropdownMenu.dropdown.close();\r\n }\r\n }\r\n\r\n onFilterChange(text: string): void {\r\n this.filterChange.emit(text);\r\n }\r\n}\r\n","
\r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n","import { Component, EventEmitter, Input, Output, TemplateRef } from '@angular/core';\r\nimport { isNil } from 'lodash';\r\nimport { TreeviewItem } from '../../models/treeview-item';\r\nimport { TreeviewConfig } from '../../models/treeview-config';\r\nimport { TreeviewItemTemplateContext } from '../../models/treeview-item-template-context';\r\n\r\n@Component({\r\n selector: 'ngx-treeview-item',\r\n templateUrl: './treeview-item.component.html',\r\n styleUrls: ['./treeview-item.component.scss']\r\n})\r\nexport class TreeviewItemComponent {\r\n @Input() config: TreeviewConfig;\r\n @Input() template!: TemplateRef;\r\n @Input() item!: TreeviewItem;\r\n @Output() checkedChange = new EventEmitter();\r\n\r\n constructor(\r\n private defaultConfig: TreeviewConfig\r\n ) {\r\n this.config = this.defaultConfig;\r\n }\r\n\r\n onCollapseExpand = () => {\r\n this.item.collapsed = !this.item.collapsed;\r\n }\r\n}\r\n","
\r\n \r\n \r\n
\r\n \r\n \r\n
\r\n
\r\n","import {\r\n\tComponent,\r\n\tInput,\r\n\tOutput,\r\n\tEventEmitter,\r\n\tSimpleChanges,\r\n\tOnChanges,\r\n\tTemplateRef,\r\n\tOnInit,\r\n} from '@angular/core';\r\nimport { isNil, includes } from 'lodash';\r\nimport { TreeviewI18n } from '../../models/treeview-i18n';\r\nimport { TreeviewItem, TreeviewSelection } from '../../models/treeview-item';\r\nimport { TreeviewConfig } from '../../models/treeview-config';\r\nimport { TreeviewHeaderTemplateContext } from '../../models/treeview-header-template-context';\r\nimport { TreeviewItemTemplateContext } from '../../models/treeview-item-template-context';\r\n\r\nclass FilterTreeviewItem extends TreeviewItem {\r\n\tprivate readonly refItem: TreeviewItem;\r\n\tconstructor(item: TreeviewItem) {\r\n\t\tsuper({\r\n\t\t\ttext: item.text,\r\n\t\t\tvalue: item.value,\r\n\t\t\tdisabled: item.disabled,\r\n\t\t\tcollapsed: item.collapsed,\r\n\t\t\tchildren: item.children,\r\n\t\t});\r\n\t\tthis.refItem = item;\r\n\t}\r\n\r\n\tupdateRefChecked(): void {\r\n\t\tthis.children.forEach((child) => {\r\n\t\t\tif (child instanceof FilterTreeviewItem) {\r\n\t\t\t\tchild.updateRefChecked();\r\n\t\t\t}\r\n\t\t});\r\n\t}\r\n}\r\n\r\n@Component({\r\n\tselector: 'ngx-treeview',\r\n\ttemplateUrl: './treeview.component.html',\r\n\tstyleUrls: ['./treeview.component.scss'],\r\n})\r\nexport class TreeviewComponent implements OnChanges, OnInit {\r\n\t@Input() headerTemplate!: TemplateRef;\r\n\t@Input() itemTemplate!: TemplateRef;\r\n\t@Input() items!: TreeviewItem[];\r\n\t@Input() config: TreeviewConfig;\r\n\t@Output() selectedChange = new EventEmitter();\r\n\t@Output() filterChange = new EventEmitter();\r\n\theaderTemplateContext!: TreeviewHeaderTemplateContext;\r\n\tallItem: TreeviewItem;\r\n\tfilterText = '';\r\n\tfilterItems!: TreeviewItem[];\r\n\tselection!: TreeviewSelection;\r\n\r\n\tconstructor(\r\n\t\tpublic i18n: TreeviewI18n,\r\n\t\tprivate defaultConfig: TreeviewConfig,\r\n\t) {\r\n\t\tthis.config = this.defaultConfig;\r\n\t\tthis.allItem = new TreeviewItem({ text: 'Todos', value: undefined });\r\n\t}\r\n\r\n\tget hasFilterItems(): boolean {\r\n\t\treturn !isNil(this.filterItems) && this.filterItems.length > 0;\r\n\t}\r\n\r\n\tget maxHeight(): string {\r\n\t\treturn `${this.config.maxHeight}`;\r\n\t}\r\n\r\n\tngOnInit(): void {\r\n\t\tthis.createHeaderTemplateContext();\r\n\t}\r\n\r\n\tngOnChanges(changes: SimpleChanges): void {\r\n\t\tconst itemsSimpleChange = changes['items'];\r\n\t\tif (!isNil(itemsSimpleChange) && !isNil(this.items)) {\r\n\t\t\tthis.updateFilterItems();\r\n\t\t\tthis.updateCollapsedOfAll();\r\n\t\t}\r\n\t}\r\n\r\n\tonAllCollapseExpand(): void {\r\n\t\tthis.allItem.collapsed = !this.allItem.collapsed;\r\n\t\tthis.filterItems.forEach((item) => item.setCollapsedRecursive(this.allItem.collapsed));\r\n\t}\r\n\r\n\tonFilterTextChange(text: string): void {\r\n\t\tthis.filterText = text;\r\n\t\tthis.filterChange.emit(text);\r\n\t\tthis.updateFilterItems();\r\n\t}\r\n\r\n\tprivate createHeaderTemplateContext(): void {\r\n\t\tthis.headerTemplateContext = {\r\n\t\t\tconfig: this.config,\r\n\t\t\titem: this.allItem,\r\n\t\t\tonCollapseExpand: () => this.onAllCollapseExpand(),\r\n\t\t\tonFilterTextChange: (text) => this.onFilterTextChange(text),\r\n\t\t};\r\n\t}\r\n\r\n\tprivate updateFilterItems(): void {\r\n\t\tif (this.filterText !== '') {\r\n\t\t\tconst filterItems: TreeviewItem[] = [];\r\n\t\t\tconst filterText = this.filterText.toLowerCase();\r\n\t\t\tthis.items.forEach((item) => {\r\n\t\t\t\tconst newItem = this.filterItem(item, filterText);\r\n\t\t\t\tif (!isNil(newItem)) {\r\n\t\t\t\t\tfilterItems.push(newItem);\r\n\t\t\t\t}\r\n\t\t\t});\r\n\t\t\tthis.filterItems = filterItems;\r\n\t\t} else {\r\n\t\t\tthis.filterItems = this.items;\r\n\t\t}\r\n\t}\r\n\r\n\tprivate filterItem(item: TreeviewItem, filterText: string): TreeviewItem | any {\r\n\t\tconst isMatch = includes(item.text.toLowerCase(), filterText);\r\n\t\tif (isMatch) {\r\n\t\t\treturn item;\r\n\t\t} else {\r\n\t\t\tif (!isNil(item.children)) {\r\n\t\t\t\tconst children: TreeviewItem[] = [];\r\n\t\t\t\titem.children.forEach((child) => {\r\n\t\t\t\t\tconst newChild = this.filterItem(child, filterText);\r\n\t\t\t\t\tif (!isNil(newChild)) {\r\n\t\t\t\t\t\tchildren.push(newChild);\r\n\t\t\t\t\t}\r\n\t\t\t\t});\r\n\t\t\t\tif (children.length > 0) {\r\n\t\t\t\t\tconst newItem = new FilterTreeviewItem(item);\r\n\t\t\t\t\tnewItem.collapsed = false;\r\n\t\t\t\t\tnewItem.children = children;\r\n\t\t\t\t\treturn newItem;\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\treturn undefined;\r\n\t}\r\n\r\n\tprivate updateCollapsedOfAll(): void {\r\n\t\tlet hasItemExpanded = false;\r\n\t\tfor (const filterItem of this.filterItems) {\r\n\t\t\tif (!filterItem.collapsed) {\r\n\t\t\t\thasItemExpanded = true;\r\n\t\t\t\tbreak;\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\tthis.allItem.collapsed = !hasItemExpanded;\r\n\t}\r\n\r\n\tselect(item: TreeviewItem) {\r\n\t\tif (item.children === undefined && !item.disabled) {\r\n this.selectedChange.emit(item);\r\n\t\t}\r\n\t}\r\n}\r\n","\r\n\t
\r\n\t\t\r\n\t\t{{ item.text }}\r\n\t
\r\n\r\n\r\n\r\n\t
\r\n\t\t\r\n\t
\r\n\t
\r\n\t\t
\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\r\n\t\t
\r\n\t
\r\n\t
\r\n\r\n\r\n
\r\n\t\r\n\t\r\n
\r\n\r\n
\r\n\t
\r\n\t\t\r\n\t\t\r\n\t
\r\n\t
\r\n\t\t{{ i18n.getFilterNoItemsFoundText() }}\r\n\t
\r\n
\r\n","import { Directive, HostBinding } from '@angular/core';\r\nimport { DropdownDirective } from './dropdown.directive';\r\n\r\n@Directive({\r\n selector: '[ngxDropdownMenu]',\r\n host: {\r\n '[class.dropdown-menu]': 'true',\r\n '[class.show]': 'dropdown.isOpen'\r\n }\r\n})\r\nexport class DropdownMenuDirective {\r\n constructor(\r\n public dropdown: DropdownDirective\r\n ) { }\r\n}\r\n","import { Directive, ElementRef } from '@angular/core';\r\nimport { DropdownDirective } from './dropdown.directive';\r\n\r\n@Directive({\r\n selector: '[ngxDropdownToggle]',\r\n host: {\r\n class: 'dropdown-toggle',\r\n 'aria-haspopup': 'true',\r\n '[attr.aria-expanded]': 'dropdown.isOpen',\r\n '(click)': 'dropdown.toggle()'\r\n }\r\n})\r\nexport class DropdownToggleDirective {\r\n constructor(\r\n public dropdown: DropdownDirective,\r\n elementRef: ElementRef\r\n ) {\r\n dropdown.toggleElement = elementRef.nativeElement;\r\n }\r\n}\r\n","import { Directive, Input, Output, HostBinding, HostListener, EventEmitter } from '@angular/core';\r\nimport { isNil } from 'lodash';\r\n\r\n@Directive({\r\n selector: '[ngxDropdown]',\r\n exportAs: 'ngxDropdown'\r\n})\r\nexport class DropdownDirective {\r\n toggleElement: any;\r\n @Input('open') internalOpen = false;\r\n @Output() openChange = new EventEmitter();\r\n\r\n @HostBinding('class.show') get isOpen(): boolean {\r\n return this.internalOpen;\r\n }\r\n\r\n @HostListener('keyup.esc')\r\n onKeyupEsc(): void {\r\n this.close();\r\n }\r\n\r\n @HostListener('document:click', ['$event'])\r\n onDocumentClick(event: MouseEvent): void {\r\n if (event.button !== 2 && !this.isEventFromToggle(event)) {\r\n this.close();\r\n }\r\n }\r\n\r\n open(): void {\r\n if (!this.internalOpen) {\r\n this.internalOpen = true;\r\n this.openChange.emit(true);\r\n }\r\n }\r\n\r\n close(): void {\r\n if (this.internalOpen) {\r\n this.internalOpen = false;\r\n this.openChange.emit(false);\r\n }\r\n }\r\n\r\n toggle(): void {\r\n if (this.isOpen) {\r\n this.close();\r\n } else {\r\n this.open();\r\n }\r\n }\r\n\r\n private isEventFromToggle(event: MouseEvent): boolean {\r\n return !isNil(this.toggleElement) && this.toggleElement.contains(event.target);\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\n\r\n@Injectable()\r\nexport class TreeviewConfig {\r\n hasAllCheckBox = false;\r\n hasFilter = true;\r\n hasCollapseExpand = false;\r\n decoupleChildFromParent = false;\r\n maxHeight = 500;\r\n\r\n get hasDivider(): boolean {\r\n return this.hasFilter || this.hasAllCheckBox || this.hasCollapseExpand;\r\n }\r\n\r\n public static create(fields?: {\r\n hasAllCheckBox?: boolean,\r\n hasFilter?: boolean,\r\n hasCollapseExpand?: boolean,\r\n decoupleChildFromParent?: boolean\r\n maxHeight?: number,\r\n }): TreeviewConfig {\r\n const config = new TreeviewConfig();\r\n Object.assign(config, fields);\r\n return config;\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { TreeviewItem } from './treeview-item';\r\n\r\n@Injectable()\r\nexport abstract class TreeviewI18n {\r\n\tabstract getFilterPlaceholder(): string;\r\n\tabstract getFilterNoItemsFoundText(): string;\r\n\tabstract getTooltipCollapseExpandText(isCollapse: boolean): string;\r\n}\r\n\r\n@Injectable()\r\nexport class DefaultTreeviewI18n extends TreeviewI18n {\r\n\tgetFilterPlaceholder(): string {\r\n\t\treturn 'Filter';\r\n\t}\r\n\r\n\tgetFilterNoItemsFoundText(): string {\r\n\t\treturn 'No existen elementos';\r\n\t}\r\n\r\n\tgetTooltipCollapseExpandText(isCollapse: boolean): string {\r\n\t\treturn isCollapse ? 'Expand' : 'Collapse';\r\n\t}\r\n}\r\n","import { isBoolean, isNil, isString } from 'lodash';\r\nexport interface TreeviewSelection {\r\n checkedItems: TreeviewItem[];\r\n uncheckedItems: TreeviewItem[];\r\n}\r\nexport interface TreeItem {\r\n text: string;\r\n value: any;\r\n disabled?: boolean;\r\n checked?: boolean;\r\n collapsed?: boolean;\r\n children?: TreeItem[];\r\n}\r\n\r\nexport class TreeviewItem {\r\n private internalDisabled = false;\r\n private internalCollapsed = false;\r\n private internalChildren!: TreeviewItem[];\r\n text: string;\r\n value: any;\r\n\r\n constructor(item: TreeItem) {\r\n if (isNil(item)) {\r\n throw new Error('Item must be defined');\r\n }\r\n if (isString(item.text)) {\r\n this.text = item.text;\r\n } else {\r\n throw new Error('A text of item must be string object');\r\n }\r\n this.value = item.value;\r\n if (isBoolean(item.collapsed)) {\r\n this.collapsed = item.collapsed;\r\n }\r\n if (isBoolean(item.disabled)) {\r\n this.disabled = item.disabled;\r\n }\r\n if (!isNil(item.children) && item.children.length > 0) {\r\n this.children = item.children.map(child => {\r\n if (this.disabled === true) {\r\n child.disabled = true;\r\n }\r\n\r\n return new TreeviewItem(child);\r\n });\r\n }\r\n }\r\n\r\n get disabled(): boolean {\r\n return this.internalDisabled;\r\n }\r\n\r\n set disabled(value: boolean) {\r\n if (this.internalDisabled !== value) {\r\n this.internalDisabled = value;\r\n if (!isNil(this.internalChildren)) {\r\n this.internalChildren.forEach(child => child.disabled = value);\r\n }\r\n }\r\n }\r\n\r\n get collapsed(): boolean {\r\n return this.internalCollapsed;\r\n }\r\n\r\n set collapsed(value: boolean) {\r\n if (this.internalCollapsed !== value) {\r\n this.internalCollapsed = value;\r\n }\r\n }\r\n\r\n setCollapsedRecursive(value: boolean): void {\r\n this.internalCollapsed = value;\r\n if (!isNil(this.internalChildren)) {\r\n this.internalChildren.forEach(child => child.setCollapsedRecursive(value));\r\n }\r\n }\r\n\r\n get children(): TreeviewItem[] {\r\n return this.internalChildren;\r\n }\r\n\r\n set children(value: TreeviewItem[]) {\r\n if (this.internalChildren !== value) {\r\n if (!isNil(value) && value.length === 0) {\r\n throw new Error('Children must be not an empty array');\r\n }\r\n this.internalChildren = value;\r\n }\r\n }\r\n}\r\n","import { Pipe, PipeTransform } from '@angular/core';\r\nimport { isNil } from 'lodash';\r\nimport { TreeviewItem } from '../models/treeview-item';\r\n\r\n@Pipe({\r\n name: 'ngxTreeview'\r\n})\r\nexport class TreeviewPipe implements PipeTransform {\r\n transform(objects: any[], textField: string): TreeviewItem[] {\r\n if (isNil(objects)) {\r\n return [];\r\n }\r\n\r\n return objects.map(object => new TreeviewItem({ text: object[textField], value: object }));\r\n }\r\n}\r\n","import { NgModule, ModuleWithProviders } from '@angular/core';\r\nimport { FormsModule } from '@angular/forms';\r\nimport { CommonModule } from '@angular/common';\r\nimport { DropdownDirective } from './directives/dropdown.directive';\r\nimport { DropdownMenuDirective } from './directives/dropdown-menu.directive';\r\nimport { DropdownToggleDirective } from './directives/dropdown-toggle.directive';\r\nimport { DropdownTreeviewComponent } from './components/dropdown-treeview/dropdown-treeview.component';\r\nimport { TreeviewComponent } from './components/treeview/treeview.component';\r\nimport { TreeviewItemComponent } from './components/treeview-item/treeview-item.component';\r\nimport { TreeviewPipe } from './pipes/treeview.pipe';\r\nimport { TreeviewI18n, DefaultTreeviewI18n } from './models/treeview-i18n';\r\nimport { TreeviewConfig } from './models/treeview-config';\r\n@NgModule({\r\n\timports: [FormsModule, CommonModule],\r\n\tdeclarations: [\r\n\t\tTreeviewComponent,\r\n\t\tTreeviewItemComponent,\r\n\t\tTreeviewPipe,\r\n\t\tDropdownDirective,\r\n\t\tDropdownMenuDirective,\r\n\t\tDropdownToggleDirective,\r\n\t\tDropdownTreeviewComponent,\r\n\t],\r\n\texports: [TreeviewComponent, TreeviewPipe, DropdownTreeviewComponent],\r\n})\r\nexport class TreeviewModule {\r\n\tstatic forRoot(): ModuleWithProviders {\r\n\t\treturn {\r\n\t\t\tngModule: TreeviewModule,\r\n\t\t\tproviders: [\r\n\t\t\t\tTreeviewConfig,\r\n\t\t\t\t{ provide: TreeviewI18n, useClass: DefaultTreeviewI18n },\r\n\t\t\t],\r\n\t\t};\r\n\t}\r\n}\r\n","import { Pipe, PipeTransform } from \"@angular/core\";\r\nimport { FILE_TYPE } from '@constants/FileType';\r\ntype FILE_TYPE_ICON = 'active' | 'default' | 'variant';\r\n\r\n@Pipe({\r\n name: \"fileTypeIcon\",\r\n})\r\nexport class FileTypePipe implements PipeTransform {\r\n private readonly ICONS: { [key: number]: { [key in 'active' | 'default' | 'variant']: string } } = {\r\n [FILE_TYPE.videos]: { active: \"fas fa-video\", default: \"far fa-video\", variant: \"far fa-film\" },\r\n [FILE_TYPE.audios]: { active: \"fas fa-volume\", default: \"far fa-volume\", variant: \"far fa-waveform\" },\r\n [FILE_TYPE.documents]: { active: \"fas fa-print\", default: \"far fa-print\", variant: \"far fa-file-pdf\" },\r\n [FILE_TYPE.interactive]: { active: \"fas fa-chart-network\", default: \"far fa-chart-network\", variant: \"fas fa-shapes\" },\r\n [FILE_TYPE.readingPlan]: { active: \"fas fa-chart-network\", default: \"far fa-chart-network\", variant: \"fas fa-chart-network\" },\r\n [FILE_TYPE.presentationsPlenaries]: { active: \"fas fa-chart-network\", default: \"far fa-chart-network\", variant: \"fas fa-chart-network\" },\r\n [FILE_TYPE.guides]: { active: \"fas fa-book-user\", default: \"far fa-book-user\", variant: \"far fa-file-pdf\" },\r\n [FILE_TYPE.placesInterest]: { active: \"fas fa-book-user\", default: \"far fa-book-user\", variant: \"far fa-file-pdf\" },\r\n [FILE_TYPE.softwareFree]: { active: \"fas fa-file-pdf\", default: \"far fa-file-pdf\", variant: \"far fa-file-pdf\" },\r\n [FILE_TYPE.educationalServices]: { active: \"fas fa-file-pdf\", default: \"far fa-file-pdf\", variant: \"far fa-file-pdf\" },\r\n [FILE_TYPE.help]: { active: \"fas fa-file-pdf\", default: \"far fa-file-pdf\", variant: \"far fa-file-pdf\" },\r\n [FILE_TYPE.textBooks]: { active: \"fas fa-file-pdf\", default: \"far fa-file-pdf\", variant: \"far fa-file-pdf\" },\r\n [FILE_TYPE.digitalTextBooks]: { active: \"fas fa-file-pdf\", default: \"far fa-file-pdf\", variant: \"far fa-file-pdf\" },\r\n [FILE_TYPE.presentations]: { active: \"fas fa-volume\", default: \"far fa-volume\", variant: \"far fa-waveform\" },\r\n [FILE_TYPE.dosage]: { active: \"fas fa-file-pdf\", default: \"far fa-file-pdf\", variant: \"far fa-file-pdf\" },\r\n };\r\n\r\n transform(value: number, args: FILE_TYPE_ICON = 'default'): string {\r\n const icons = this.ICONS[value] || {};\r\n const icon = icons[args] || \"fas fa-book-user\";\r\n return icon;\r\n }\r\n}\r\n","import { Pipe, PipeTransform } from '@angular/core';\r\n\r\n@Pipe({\r\n name: 'joinPlain'\r\n})\r\nexport class JoinPlainPipe implements PipeTransform {\r\n\r\n transform(value: Array, ...args: unknown[]): unknown {\r\n return value.join(', ');\r\n }\r\n\r\n}\r\n","import { Pipe, PipeTransform } from '@angular/core';\r\nimport { RESOURCE_TYPE } from '@constants/ResourceType';\r\ntype FILE_TYPE_ICON = 'active' | 'default' | 'variant';\r\n\r\n@Pipe({\r\n name: 'resourceTypeIcon',\r\n})\r\nexport class ResourceTypePipe implements PipeTransform {\r\n private readonly ICONS: { [key: number]: { [key in 'active' | 'default' | 'variant']: string } } = {\r\n [RESOURCE_TYPE.images]: { active: 'fas fa-image', default: 'far fa-image', variant: 'far fa-image' },\r\n [RESOURCE_TYPE.videos]: { active: 'fas fa-video', default: 'far fa-video', variant: 'far fa-film' },\r\n [RESOURCE_TYPE.documents]: { active: 'fas fa-file-invoice', default: 'far fa-file-invoice', variant: 'far fa-file-invoice' },\r\n [RESOURCE_TYPE.audios]: { active: 'fas fa-volume', default: 'far fa-volume', variant: 'far fa-waveform' },\r\n [RESOURCE_TYPE.others]: { active: 'fas fa-scrubber', default: 'far fa-scrubber', variant: 'far fa-scrubber' },\r\n };\r\n\r\n transform(value: number, args: FILE_TYPE_ICON = 'default'): string {\r\n const icons = this.ICONS[value] || {};\r\n const icon = icons[args] || 'fas fa-scrubber';\r\n return icon;\r\n }\r\n}","import { Pipe, PipeTransform } from '@angular/core';\r\nimport {\r\n\tDomSanitizer,\r\n\tSafeHtml,\r\n\tSafeStyle,\r\n\tSafeScript,\r\n\tSafeUrl,\r\n\tSafeResourceUrl,\r\n} from '@angular/platform-browser';\r\n\r\n@Pipe({\r\n\tname: 'safe',\r\n})\r\nexport class SafePipe implements PipeTransform {\r\n\tconstructor(protected sanitizer: DomSanitizer) {}\r\n\r\n\ttransform(\r\n\t\tvalue: string,\r\n\t\ttype: string\r\n\t): SafeHtml | SafeStyle | SafeScript | SafeUrl | SafeResourceUrl {\r\n\t\tswitch (type) {\r\n\t\t\tcase 'html':\r\n\t\t\t\treturn this.sanitizer.bypassSecurityTrustHtml(value);\r\n\t\t\tcase 'style':\r\n\t\t\t\treturn this.sanitizer.bypassSecurityTrustStyle(value);\r\n\t\t\tcase 'script':\r\n\t\t\t\treturn this.sanitizer.bypassSecurityTrustScript(value);\r\n\t\t\tcase 'url':\r\n\t\t\t\treturn this.sanitizer.bypassSecurityTrustUrl(value);\r\n\t\t\tcase 'resourceUrl':\r\n\t\t\t\treturn this.sanitizer.bypassSecurityTrustResourceUrl(value);\r\n\t\t\tdefault:\r\n\t\t\t\treturn this.sanitizer.bypassSecurityTrustHtml(value);\r\n\t\t}\r\n\t}\r\n}\r\n","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\r\nimport { RouterModule } from '@angular/router';\r\n// import { AsyncPipe } from '@angular/common';\r\n// PIPES\r\nimport { FileTypePipe } from '@pipes/file-type-icon.pipe';\r\nimport { ResourceTypePipe } from '@pipes/resource-type-icon.pipe';\r\nimport { SafePipe } from '@pipes/safe.pipe';\r\nimport { JoinPlainPipe } from '@pipes/join-plain.pipe';\r\n// COMPONENTS\r\nimport { UIContentEmpty } from './components/content-empty/content-empty';\r\nimport { UIContentMain } from '@shared/components/content-main/content-main';\r\nimport { UIHeader } from '@shared/components/header/header';\r\nimport { UIContentMainHeader } from '@shared/components/content-main-header/content-main-header';\r\nimport { UIMain } from '@shared/components/main/main';\r\nimport { UIMenu } from '@shared/components/menu/menu';\r\nimport { UIMultimediaDialog } from '@shared/components/multimedia-dialog/multimedia-dialog';\r\nimport { UISidebar } from '@shared/components/sidebar/sidebar';\r\nimport { UISidebarFilter } from '@shared/components/sidebar-filter/sidebar-filter';\r\nimport { UISuccessDialogComponent } from './components/success-dialog/success-dialog.component';\r\nimport { UIConfirmDialogComponent } from './components/confirm-dialog/confirm-dialog.component';\r\nimport { MultimediaDialogComponent } from './components/container-document-dialog/multimedia-dialog.component';\r\nimport { MultimediaComponent } from './components/multimedia/multimedia.component';\r\n// QUESTION AND ANSWERS\r\nimport { ReagentBase } from './components/reagent/reagent/reagent-base';\r\nimport { ReagentFormBase } from './components/reagent/reagent-form-base/reagent-form-base';\r\nimport { ReagentTableBase } from './components/reagent/reagent-table-base/reagent-table-base';\r\nimport { ImageMultipleAnswerComponent } from './components/answer/image-multiple-answer/image-multiple-answer.component';\r\nimport { MultipleAnswerComponent } from './components/answer/multiple-answer/multiple-answer.component';\r\nimport { OpenAnswerComponent } from './components/answer/open-answer/open-answer.component';\r\nimport { RelationalAnswerComponent } from './components/answer/relational-answer/relational-answer.component';\r\nimport { TrueFalseAnswerComponent } from './components/answer/true-false-answer/true-false-answer.component';\r\n// DIRECTIVES\r\nimport { AutoFocusDirective } from '@directives/auto-focus.directive';\r\nimport { ClickFocusRemoveDirective } from '@directives/click-focus-remove.directive';\r\nimport { NumberDirective } from '@directives/number.directive';\r\nimport { NumberIntegerDirective } from '@directives/number-integer.directive';\r\nimport { FilterNodeBase } from '@directives/filter-node-base';\r\n// MODULES\r\nimport { MaterialModule } from './modules/material.module';\r\nimport { NativeModule } from './modules/native/module';\r\nimport { NgxSpinnerModule } from 'ngx-spinner';\r\nimport { PdfJsViewerModule } from 'ng2-pdfjs-viewer';\r\nimport { AngularEditorModule } from '@kolkov/angular-editor';\r\n\r\nimport {\r\n\tRecaptchaModule,\r\n\tRecaptchaFormsModule,\r\n\tRECAPTCHA_SETTINGS,\r\n\tRecaptchaSettings,\r\n} from 'ng-recaptcha';\r\nimport { TreeviewModule } from './modules/ngx-select/treeview.module';\r\nimport { FilterNodeBasePl } from '@directives/filter-node-base_pl';\r\n\r\nconst MODULES_ANGULAR = [CommonModule, FormsModule, ReactiveFormsModule, RouterModule];\r\n\r\nconst MODULES = [\r\n\tMaterialModule,\r\n\tNativeModule,\r\n\tNgxSpinnerModule,\r\n\tPdfJsViewerModule,\r\n\tRecaptchaModule,\r\n\tRecaptchaFormsModule,\r\n\tAngularEditorModule,\r\n\tTreeviewModule.forRoot(),\r\n];\r\n\r\nconst COMPONENTS: any[] = [\r\n\tUIContentEmpty,\r\n\tUIContentMain,\r\n\tUIContentMainHeader,\r\n\tUIHeader,\r\n\tUIMain,\r\n\tUIMenu,\r\n\tUIMultimediaDialog,\r\n\tUISidebar,\r\n\tUISidebarFilter,\r\n\tUISuccessDialogComponent,\r\n\tUIConfirmDialogComponent,\r\n\tMultimediaDialogComponent,\r\n\tMultimediaComponent,\r\n\t// QUESTION AND ANSWERS\r\n\tImageMultipleAnswerComponent,\r\n\tMultipleAnswerComponent,\r\n\tOpenAnswerComponent,\r\n\tRelationalAnswerComponent,\r\n\tTrueFalseAnswerComponent,\r\n];\r\n\r\nconst PIPES: any[] = [\r\n\tFileTypePipe,\r\n\tResourceTypePipe,\r\n\tJoinPlainPipe,\r\n\tSafePipe,\r\n\t// JoinPlainPipe\r\n];\r\n\r\nconst DIRECTIVES: any[] = [\r\n\tAutoFocusDirective,\r\n\tClickFocusRemoveDirective,\r\n\tNumberDirective,\r\n\tNumberIntegerDirective,\r\n\tFilterNodeBase,\r\n\tReagentBase,\r\n\tReagentTableBase,\r\n\tReagentFormBase,\r\n\tFilterNodeBasePl,\r\n];\r\n\r\n@NgModule({\r\n\tdeclarations: [...COMPONENTS, ...PIPES, ...DIRECTIVES],\r\n\timports: [...MODULES_ANGULAR, ...MODULES],\r\n\texports: [...MODULES, ...MODULES_ANGULAR, ...COMPONENTS, ...PIPES, ...DIRECTIVES],\r\n\tproviders: [\r\n\t\t{\r\n\t\t\tprovide: RECAPTCHA_SETTINGS,\r\n\t\t\tuseValue: {\r\n\t\t\t\tsiteKey: '6Lfj0cIZAAAAAOJmv6tTMl-cbXtQr5Hrm3pxTRtO',\r\n\t\t\t} as RecaptchaSettings,\r\n\t\t},\r\n\t\t/* AsyncPipe */\r\n\t],\r\n})\r\nexport class SharedModule {}\r\n","export const environment = {\r\n\tproduction: true,\r\n\thost: 'https://unificacion-api.azurewebsites.net',\r\n\thostAPI: 'https://unificacion-api.azurewebsites.net/api',\r\n};\r\n","import { platformBrowserDynamic } from '@angular/platform-browser-dynamic';\r\n\r\nimport { AppModule } from './app/app.module';\r\n\r\n\r\nplatformBrowserDynamic().bootstrapModule(AppModule)\r\n .catch(err => console.error(err));\r\n"],"names":["RouterModule","AuthenticationGuard","SessionGuard","routes","path","loadChildren","then","m","AuthenticationModule","canActivate","PagesModule","canLoad","redirectTo","AppRoutingModule","forRoot","imports","i1","exports","AppComponent","constructor","matIconRegistryService","setUp","i0","ɵɵdirectiveInject","MaterialIconRegistryService","selectors","decls","vars","consts","template","AppComponent_Template","rf","ctx","ɵɵelement","ɵɵadvance","ɵɵproperty","LOCALE_ID","BrowserModule","RouteReuseStrategy","BrowserAnimationsModule","registerLocaleData","localeMXN","HttpClientModule","SharedModule","INTERCEPTOR_PROVIDERS_GLOBALS","CustomRouteReuseStategy","FileSaverModule","MODULES","COMPONENTS","AppModule","bootstrap","provide","useValue","useClass","declarations","TYPE_ERROR","FormBase","formSubmitted","formControl","name","form","controls","getErrors","control","Object","keys","errors","getKeysForm","key","isExistkey","includes","find","item","hasError","touched","length","hasErrorForm","error","getErrorMessages","map","x","switchErrors","value","required","maxlength","email","pattern","aceptedTerms","validPassword","dateInitInvalid","dateEndInvalid","console","log","getFirstErrorMessage","getFirstErrorMessageForm","keyExist","hasRequiredError","getError","getFile","$event","target","files","FormArrayBase","formControlArray","index","nameArray","formArray","at","HttpParams","NodeParams","getParams","node","params","nodeId","append","filter","fileTypeId","currentPage","sizePage","pageSize","searchId","active","HttpEventType","Progress","handleProgress","event","type","UploadProgress","progress","Math","round","loaded","total","Response","data","body","FILE_TYPE","FILE_TYPE_AUDIO","audios","presentations","FILE_TYPE_VIDEO","videos","FILE_TYPE_LINK","interactive","digitalTextBooks","FILE_TYPE_DOWNLOAD","FILE_TYPE_PDF","documents","guides","help","textBooks","dosage","solucionarios","presentacionesWebinar","cuadernillos","baldor","nuevaEscuelaMexicana","novedades","posters","MATERIAL_ICON_SVG","QUESTION_TYPE","RESOURCE_TYPE","ROLES","id","description","STORAGE_KEYS","freeze","USER","PERMISSIONS","SYSTEM","SYSTEM_THEMES","ROLES_VALLADOLID","ROLES_HLMRA","ROLES_RA","SYSTEMS","VALLADOLID","theme","valladolid","primaryColor","login","readingPlanNodeId","logoFirst","logoSecondary","roles","RA","ra","HLMRA","hlmra","SALI","sali","authConfig","route","state","validateAuthentication","isLoggedIn","redirectToLogin","ɵɵinject","AuthenticationConfigurationService","factory","ɵfac","providedIn","validateSessionActive","redirectToHome","throwError","BehaviorSubject","finalize","catchError","switchMap","take","HttpErrorInterceptor","authenticationService","authConfigService","alertService","spinnerService","refreshTokenInProgress","refreshTokenSubject","intercept","request","next","handle","pipe","err","status","url","handle401Error","refreshToken","accessToken","requestWithToken","addTokenToRequest","clear","showSmallInfo","handleError","hide","token","clone","setHeaders","errorResponse","errorMsg","JSON","stringify","Error","message","AuthenticationService","i2","i3","AlertService","i4","SpinnerService","HTTP_INTERCEPTORS","JwtInterceptor","multi","show","isRouteLogin","isRouteRefresh","requestModified","currentUser","currentUserValue","addHeaderToRequestWithoutToken","headers","set","toLogin","access_token","tokenType","token_type","expiresIn","expires_in","refresh_token","userName","fullName","rol","rolId","rol_id","system","systemId","Number","subsystemId","coerceNumberProperty","toItem","toItems","items","handlers","shouldDetach","store","routeConfig","shouldAttach","retrieve","shouldReuseRoute","future","current","reUseUrl","defaultReuse","t","environment","AnswerService","http","hostAPI","save","answer","post","update","put","remove","delete","HttpClient","getSystem","storageService","router","userConfigurationService","themeService","dialog","currentUserSubject","getUser","asObservable","user","storeObject","closeAll","setTimeout","navigate","replaceUrl","getObject","getSystemId","isSystemValladolid","LocalStorageService","Router","UserConfigurationService","ThemeService","i5","MatDialog","tap","host","authenticate","username","password","logout","get","matIconRegistry","domSanitizer","forEach","addSvgIcon","icon","bypassSecurityTrustResourceUrl","MatIconRegistry","DomSanitizer","changeTheme","themeCurrent","findThemeCurrent","getElementRef","classList","add","contains","document","documentElement","NodeService","getAllContents","getAllContentsV2","getAcademicManager","getNodeNested","parentId","getNodeNestedV2","Swal","clientName","updateClient","showWarning","text","fire","title","position","showConfirmButton","confirmButtonColor","showInfo","mixin","toast","timer","timerProgressBar","showSuccess","showSmallSuccess","showError","showErrorForm","showSmallErrorServer","showConfirmationDeletion","_this","_asyncToGenerator","result","showCloseButton","showCancelButton","cancelButtonText","confirmButtonText","reverseButtons","isConfirmed","showConfirmationAction","_this2","QuestionBankService","getByPagination","getById","getReadingPlanById","getStructure","questionBank","load","upload","file","formData","FormData","reportProgress","observe","geAlltByNodeId","getBydId","idplan","getList","ids","QuestionTypeService","getAll","QuestionService","question","ResourceTypeService","saveAs","ResourceService","getByTeacher","resource","teacherResourceId","toString","deleteResource","downloadResource","array","split","urlRes","arrayFileType","fileExtension","responseType","subscribe","response","Blob","downloadContent","urlContent","spinner","requests","completed","existSpinnerActivated","complete","validate","hidden","NgxSpinnerService","storeItem","localStorage","setItem","getItem","object","parse","removeItem","removeAll","permissionsSubject","getPermissions","permissions","profile","permissionsValue","isVideoFile","media","isAudioFile","isPDFFile","isLinkFile","isDownloadFile","toBase64","Promise","resolve","reject","reader","FileReader","readAsDataURL","onload","onerror","getExtensionUrl","extension","searchEpub","isEpub","indexOf","isVideo","filename","substring","lastIndexOf","replace","getTypeFileIdByExtension","getFileTypeByContent","content","toLocaleLowerCase","getFileTypeByContents","getFileTypeByUrl","fullUrl","URL","href","Validators","Subscription","AnswerBase","disabled","_disabled","disable","enable","fb","answerService","questionBankService","subscription","answers","cct","typeSchool","createForm","ngOnInit","loadData","ngOnDestroy","unsubscribe","group","formAnswers","trackByFn","questionBankId","questions","formAnswer","createFormAnswer","push","finishLoadData","addNewAnswer","option","createDefaultAnswer","createAnswer","isCorrect","questionId","relationDescription","confirmDeletionAnswer","stopPropagation","deleteAnswer","success","removeAt","dataLayer","content_group","error_messgae_text","error_messgae_location","school_type","FormBuilder","inputs","features","ɵɵInheritDefinitionFeature","MultimediaDialogComponent","ɵɵelementStart","ɵɵlistener","ImageMultipleAnswerComponent_ng_container_3_i_3_Template_i_click_0_listener","ɵɵrestoreView","_r7","ctx_r6","ɵɵnextContext","i_r3","formAnswer_r2","$implicit","ctx_r5","ɵɵresetView","ɵɵelementEnd","ɵɵelementContainerStart","ɵɵtemplate","ImageMultipleAnswerComponent_ng_container_3_i_3_Template","ɵɵtext","ɵɵelementContainerEnd","ctx_r0","ɵɵsanitizeUrl","ImageMultipleAnswerComponent_div_4_Template_div_click_0_listener","_r9","ctx_r8","openContainerDocumentDialog","ImageMultipleAnswerComponent","ref","open","backdropClass","panelClass","minWidth","maxWidth","disableClose","restoreFocus","autoFocus","acceptMultimedia","resourcesTypes","images","afterClosed","ImageMultipleAnswerComponent_Template","ImageMultipleAnswerComponent_ng_container_3_Template","ImageMultipleAnswerComponent_div_4_Template","MultipleAnswerComponent_ng_container_3_i_7_Template_i_click_0_listener","i_r2","formAnswer_r1","ɵɵtextInterpolate1","ctx_r4","MultipleAnswerComponent_ng_container_3_i_7_Template","MultipleAnswerComponent_ng_container_3_div_8_Template","ɵɵpureFunction1","_c0","MultipleAnswerComponent","MultipleAnswerComponent_Template","MultipleAnswerComponent_ng_container_3_Template","MultipleAnswerComponent_Template_button_click_6_listener","ctx_r3","OpenAnswerComponent_ng_container_3_div_7_Template","OpenAnswerComponent","OpenAnswerComponent_Template","OpenAnswerComponent_ng_container_3_Template","RelationalAnswerComponent_ng_container_3_i_3_Template_i_click_0_listener","_r8","ctx_r7","RelationalAnswerComponent_ng_container_3_i_3_Template","RelationalAnswerComponent_ng_container_3_div_9_Template","RelationalAnswerComponent_ng_container_3_div_15_Template","RelationalAnswerComponent","RelationalAnswerComponent_Template","RelationalAnswerComponent_ng_container_3_Template","RelationalAnswerComponent_Template_button_click_6_listener","TrueFalseAnswerComponent_ng_container_3_div_8_Template","TrueFalseAnswerComponent","TrueFalseAnswerComponent_Template","TrueFalseAnswerComponent_ng_container_3_Template","MAT_DIALOG_DATA","UIConfirmDialogComponent","dialogRef","titleConfirmButton","titleCancelButton","iconCancelButton","closeDialog","close","MatDialogRef","UIConfirmDialogComponent_Template","UIConfirmDialogComponent_Template_button_click_7_listener","UIConfirmDialogComponent_Template_button_click_10_listener","ɵɵtextInterpolate","item_r5","ctx_r1","ctx_r2","resourceTypeService","resourceService","resourcesTypesSelected","fileName","loadResourcesTypes","maxLength","changeFile","setValue","saveChanges","preventDefault","valid","uploadResource","resp","eventGTM","fileType","upload_file","account_type","MultimediaDialogComponent_Template","MultimediaDialogComponent_Template_i_click_0_listener","MultimediaDialogComponent_Template_form_ngSubmit_4_listener","MultimediaDialogComponent_option_9_Template","MultimediaDialogComponent_div_10_Template","MultimediaDialogComponent_div_15_Template","MultimediaDialogComponent_div_21_Template","MultimediaDialogComponent_Template_button_click_22_listener","_r6","_r4","ɵɵreference","click","MultimediaDialogComponent_Template_input_change_25_listener","_c1","ɵɵstyleProp","UIContentEmpty","hostAttrs","UIContentEmpty_Template","EventEmitter","FormControl","subtitle","UIContentMainHeader","placeholder","searchChange","search","initSearch","emit","clearSearch","outputs","UIContentMainHeader_Template","UIContentMainHeader_h1_2_Template","UIContentMainHeader_p_3_Template","UIContentMainHeader_Template_input_keyup_enter_6_listener","UIContentMainHeader_Template_input_keyup_esc_6_listener","UIContentMainHeader_Template_i_click_7_listener","UIContentMain","hostVars","hostBindings","UIContentMain_HostBindings","ɵɵprojection","ɵɵpureFunction0","UIHeader","isOpen","toggle","showOption","sessionStorage","toggleMenu","tiempoInicioSesionString","tiempoInicioSesion","tiempoFinSesion","Date","tiempoInicioMs","getTime","tiempoFinMs","duracionSesionMs","duracionSesionEnMinutos","floor","duracionSesionEnHoras","method","UIHeader_Template","UIHeader_Template_div_click_0_listener","UIHeader_i_1_Template","UIHeader_i_2_Template","UIHeader_div_5_Template","UIHeader_button_15_Template","UIHeader_Template_button_click_22_listener","_r3","_c2","UIMain","sidebarClass","contentClass","ngContentSelectors","UIMain_Template","animate","style","transition","trigger","getExpandedState","UIMenu_ng_container_6_div_1_div_11_ng_container_1_a_1_Template_a_click_0_listener","_r11","item_r1","ctx_r10","children_r8","UIMenu_ng_container_6_div_1_div_11_ng_container_1_a_1_Template","showInMenu","UIMenu_ng_container_6_div_1_div_11_ng_container_1_Template","children","UIMenu_ng_container_6_div_1_Template_div_click_2_listener","_r17","ctx_r16","UIMenu_ng_container_6_div_1_div_10_Template","UIMenu_ng_container_6_div_1_div_11_Template","UIMenu_ng_container_6_div_1_Template","UIMenu_ng_container_6_div_2_Template","EXPANSION_PANEL_ANIMATION_TIMING","UIMenu","loadMenu","role","idsDeseados","idRolProfesorCobachChihuahua","idRolAlumnoCobachChihuahua","idsCobachChihuahuaPermitidos","menu","itemToRemove","findIndex","splice","itemMenu","classToggle","currentHost","window","location","isUrlValid","urlHost","navigateTo","str","RegExp","test","UIMenu_Template","UIMenu_ng_container_6_Template","transform","height","visibility","overflow","Player","purposeDescription","formativeFieldDescription","UIMultimediaDialog_div_11_Template_audio_play_1_listener","onPlayAudio","ɵɵattribute","getControlsList","UIMultimediaDialog_div_12_Template_button_click_1_listener","_r13","ctx_r12","downloadFile","UIMultimediaDialog_div_13_Template_ng2_pdfjs_viewer_onBeforePrint_1_listener","_r15","ctx_r14","onBeforePrint","getUrlPdf","getFileName","canDownloadDocument","UIMultimediaDialog_div_15_Template_button_click_1_listener","_r18","_r16","ɵɵpropertyInterpolate","UIMultimediaDialog_ng_container_16_mat_dialog_actions_1_Template_button_click_1_listener","_r22","_r20","ctx_r19","getUrlMultimedia","UIMultimediaDialog_ng_container_16_mat_dialog_actions_1_Template","multimedia","showButtonDownload","UIMultimediaDialog_ng_template_17_mat_dialog_actions_0_Template_button_click_1_listener","_r25","ctx_r24","UIMultimediaDialog_ng_template_17_mat_dialog_actions_0_Template","ctx_r9","UIMultimediaDialog","renderer","el","rs","isDownloadSound","grade","subsystem","fileTypeDesc","loading_time","visible","subject","video_title","video_duration","file_name","idsSubsystem","idsGrade","ngAfterViewInit","showVideo","options","responsive","loop","player","on","video_id","res","descargar","urlMp3","link","createElement","download","content_name","content_type","content_list_id","showAudio","showDocument","showLink","audio_title","audio_duration","videoPlay","vodeoEnd","vimeoIframeLoaded","iframe","videoFrame","nativeElement","contentWindow","postMessage","iframeDocument","contentDocument","addEventListener","videoElement","querySelector","onKeyDown","ctrlKey","printContainer","div","innerHTML","appendChild","Renderer2","ElementRef","viewQuery","UIMultimediaDialog_Query","ɵɵresolveDocument","UIMultimediaDialog_Template_i_click_0_listener","UIMultimediaDialog_div_8_Template","UIMultimediaDialog_div_9_Template","UIMultimediaDialog_div_11_Template","UIMultimediaDialog_div_12_Template","UIMultimediaDialog_div_13_Template","UIMultimediaDialog_div_14_Template","UIMultimediaDialog_div_15_Template","UIMultimediaDialog_ng_container_16_Template","UIMultimediaDialog_ng_template_17_Template","ɵɵtemplateRefExtractor","ɵɵpipeBind2","purposeId","formativeFieldId","NativePaginator","element_r10","MultimediaComponent_table_4_td_6_span_3_Template","isBachillerato","MultimediaComponent_table_4_td_9_i_2_Template_i_click_0_listener","element_r13","ctx_r18","MultimediaComponent_table_4_td_9_i_3_Template_i_click_0_listener","_r23","ctx_r21","showResource","MultimediaComponent_table_4_td_9_i_4_Template_i_click_0_listener","MultimediaComponent_table_4_td_9_i_2_Template","MultimediaComponent_table_4_td_9_i_3_Template","MultimediaComponent_table_4_td_9_i_4_Template","showLinkExternalFile","MultimediaComponent_table_4_th_2_Template","MultimediaComponent_table_4_td_3_Template","MultimediaComponent_table_4_th_5_Template","MultimediaComponent_table_4_td_6_Template","MultimediaComponent_table_4_th_8_Template","MultimediaComponent_table_4_td_9_Template","MultimediaComponent_table_4_tr_10_Template","dataSource","displayedColumns","MultimediaComponent","filters","isFirst","createConfigNode","nodeService","isFirstLoadingData","canDownloadFile","signature","showMessageEmpty","clearFilters","changePage","pageIndex","filterContent","pagination","results","a","eventLoadResources","level","content_id","width","eventOpenSource","MultimediaComponent_Query","MultimediaComponent_Template_ui_content_main_header_searchChange_1_listener","MultimediaComponent_ui_content_empty_2_Template","MultimediaComponent_table_4_Template","MultimediaComponent_Template_native_paginator_page_5_listener","ReagentFormBase","_question","setQuestion","questionTypeService","questionsTypes","changeQuestionDraft","parent","snapshot","loadQuestionType","navigateToRegents","explanation","questionTypeId","fileContentBase64","urlImage","elementRef","sizeMb","size","encoded","image64","deleteImage","changeQuestionType","onSubmit","ActivatedRoute","ReagentTableBase","questionService","confirmDeletionQuestion","deleteQuestion","forkJoin","ReagentBase","questionDraft","showImageMultipleAnswer","IMAGE_MULTI","showMultipleAnswer","MULTI","showOpenAnswer","OPEN","showRelationalAnswer","RELATIONAL","showTrueFalseAnswer","TRUE_AND_FALSE","existChangeTypeQuestion","navigateQuestion","getAnswers","multipleAnswerComponent","openAnswerComponent","relationalAnswerComponent","trueFalseAnswerComponent","imageMultipleAnswerComponent","updateQuestion","deleteRange","$answers","ReagentBase_Query","UISidebarFilter","UISidebarFilter_Template","UISidebarFilter_Template_button_click_3_listener","UISidebar","UISidebar_Template","paragraph_r2","UISuccessDialogComponent","paragraphs","UISuccessDialogComponent_Template","UISuccessDialogComponent_p_4_Template","UISuccessDialogComponent_p_5_Template","UISuccessDialogComponent_Template_button_click_7_listener","AutoFocusDirective","elRef","focus","ClickFocusRemoveDirective","onClick","blur","ClickFocusRemoveDirective_HostBindings","FilterNodeBase","authConfService","isModuleCobach","levels","levelsElt","levelsPlan","systems","systems_cobach","grades","signatures","systemWithoutGrade","isSystemWithoutGrade","filtersSubject","filtersObservable","watchChangesLevel","watchChangesSystem","watchChangesGrade","watchChangesSignature","loadLevels","isNodeBachiller","levelId","isNodeBachillerValladolid","showOnlySystemValladolid","systemAuthorize","obj","selectDefaultLevelOrShowMessageLevel","showMessageSelectLevel","loadSystems","systemsAll","selectDefaultSystem","loadGrades","loadSignatures","gradeId","valueChanges","handleChangeLevel","isBachiller","handleChangeLevelBachiller","handleChangeLevelBasic","emitEvent","handleChangeSystem","handleChangeGrade","handleChangesSignature","updateSystemWithGrade","updateFilter","undefined","eventLayerModule","FilterNodeBasePl","roleId","toLowerCase","NumberIntegerDirective","ValidCharacters","validateNumberOfkeyPress","character","NumberIntegerDirective_HostBindings","NumberDirective","NumberDirective_HostBindings","MatPaginatorIntl","MatPaginatorIntlSpanish","itemsPerPageLabel","nextPageLabel","lastPageLabel","previousPageLabel","firstPageLabel","getRangeLabel","page","max","startIndex","endIndex","min","A11yModule","BidiModule","ObserversModule","OverlayModule","PlatformModule","PortalModule","CdkStepperModule","CdkTableModule","CdkTreeModule","DragDropModule","MatAutocompleteModule","MatBadgeModule","MatBottomSheetModule","MatButtonModule","MatButtonToggleModule","MatCardModule","MatCheckboxModule","MatChipsModule","MatDatepickerModule","MatDialogModule","MatDividerModule","MatExpansionModule","MatFormFieldModule","MAT_FORM_FIELD_DEFAULT_OPTIONS","MatGridListModule","MatIconModule","MatInputModule","MatListModule","MatMenuModule","MatPaginatorModule","MatProgressBarModule","MatProgressSpinnerModule","MatRadioModule","MatNativeDateModule","MatRippleModule","MatSelectModule","MatSidenavModule","MatSlideToggleModule","MatSnackBarModule","MatSortModule","MatStepperModule","MatTableModule","MatTabsModule","MatToolbarModule","MatTooltipModule","MatTreeModule","MATERIAL_SDK_MODULES","MATERIAL_MODULES","MaterialModule","floatLabel","appearance","NativeCard","NativeCard_Template","CommonModule","PRIVATE_DIRECTIVE","NativeCardsModule","NativeTabsModule","NativePaginatorModule","NativeModule","NATIVE_PAGINATOR_INTL_PROVIDER","InjectionToken","PAGINATOR_CONFIG","DEFAULT_PAGE_SIZE","Optional","SkipSelf","Subject","NativePaginatorIntl","changes","indexPage","_class","NATIVE_PAGINATOR_INTL_PROVIDER_FACTORY","parentIntl","deps","useFactory","coerceBooleanProperty","NativePaginatorBase","_pageIndex","_changeDetectorRef","markForCheck","_length","_pageSize","updateDisplayedPageSizeOptions","pageSizeOptions","_pageSizeOptions","p","hidePaginatorPageSize","_hidePaginatorPageSize","showFirstLastButtons","_showFirstLastButtons","intl","defaultConfig","initialized","displayedPageSizeOptions","intlChanges","nextPage","hasNextPage","previousPageIndex","emitPageEvent","previousPage","hasPreviousPage","firstPage","lastPage","getNumberOfPages","maxPageIndex","ceil","changePageSize","nextButtonsDisabled","previousButtonsDisabled","slice","sort","b","ChangeDetectorRef","nextUniqueId","changeDetectorRef","pageSizeLabelId","NativePaginator_Template","NativePaginator_Template_button_click_3_listener","NativePaginator_Template_button_click_7_listener","NativeTab","NativeTabBody","NativeTabBodyPortal","NativeTabContent","NativeTabHeader","NativeTabLabelWrapper","NativeTabGroup","NativeTabLabel","PaginatedTabHeader","scrollDistance","showPaginationControls","disableScrollAfter","disableScrollBefore","ngAfterContentInit","checkScrollingControls","onWindowResize","isValidIndex","tabs","toArray","checkPaginationEnabled","scrollWidth","offsetWidth","tabListContainer","isEnabled","getMaxScrollDistance","lengthOfTabList","viewLength","maxScrollDistance","handlePaginatorClick","direction","scrollAmount","positionScroll","scrollLeft","PaginatedTabHeader_HostBindings","ɵɵresolveWindow","forwardRef","CdkPortalOutlet","DOCUMENT","distinctUntilChanged","startWith","nativeTabsAnimations","componentFactoryResolver","viewContainerRef","centeringSub","EMPTY","leavingSub","beforeCentering","isCenterPosition","_position","isCentering","hasAttached","attach","afterLeavingCenter","preserveContent","detach","ComponentFactoryResolver","ViewContainerRef","NativeTabBodyBase","positionIndex","computePositionAnimationState","translateTabComplete","onCentering","onCentered","animationDuration","y","fromState","toState","origin","computePositionFromOrigin","onTranslateTabStarted","clientHeight","getLayoutDirection","dir","_class2","NativeTabBody_Query","NativeTabBody_Template_div_animation_translateTab_start_0_listener","NativeTabBody_Template_div_animation_translateTab_done_0_listener","NativeTabBody_ng_template_2_Template","ɵɵpureFunction2","styles","encapsulation","animation","translateTab","NATIVE_TAB_CONTENT","TemplateRef","ɵɵProvidersFeature","useExisting","NATIVE_TABS_CONFIG","QueryList","NATIVE_TAB_GROUP","selectedIndex","i_r5","tab_r4","iconLabelActive","iconLabel","NativeTabGroup_div_2_Template_div_click_0_listener","restoredCtx","_r0","changeTab","NativeTabGroup_div_2_ng_container_1_Template","ɵɵclassProp","getTabLabelId","labelClass","textLabel","i_r11","getTabContentId","tab_r10","bodyClass","contentTabIndex","nextId","NativeTabChangeEvent","NativeTabGroupBase","_selectedIndex","indexToSelect","_contentTabIndex","_preserveContent","selectedIndexChange","selectedTabChange","groupId","ngAfterContentChecked","isFirstRun","tabHeader","scrollIntoView","behavior","createChangeEvent","tab","subscribeToAllTabChanges","destroy","allTabs","reset","_closestTabGroup","notifyOnChanges","i","getTabIndex","contentQueries","NativeTabGroup_ContentQueries","dirIndex","NativeTabGroup_Template","NativeTabGroup_div_2_Template","NativeTabGroup_native_tab_body_5_Template","NativeTabHeader_button_0_Template_button_click_0_listener","NativeTabHeader_button_6_Template_button_click_0_listener","NativeTabLabelWrapperBase","getOffsetLeft","offsetLeft","getOffsetWidth","NativeTabHeader_ContentQueries","NativeTabHeader_button_0_Template","NativeTabHeader_button_6_Template","CdkPortal","NATIVE_TAB_LABEL","NATIVE_TAB","templateRef","_closestTab","TemplatePortal","NativeTabBase","_contentPortal","_stateChanges","_explicitContent","_implicitContent","ngOnChanges","hasOwnProperty","NativeTabBase_Query","NativeTab_ContentQueries","NativeTab_Template","NativeTab_ng_template_0_Template","minHeight","TreeviewComponent","DropdownMenuDirective","DropdownTreeviewComponent","getText","i18n","buttonClass","selectedChange","filterChange","sizeDropdown","dropdownClass","config","onSelectedChange","dropdownMenu","dropdown","onFilterChange","TreeviewI18n","TreeviewConfig","DropdownTreeviewComponent_Query","DropdownTreeviewComponent_Template_div_click_3_listener","DropdownTreeviewComponent_Template_ngx_treeview_selectedChange_5_listener","DropdownTreeviewComponent_Template_ngx_treeview_filterChange_5_listener","headerTemplate","itemTemplate","child_r4","TreeviewItemComponent_div_0_div_2_ngx_treeview_item_1_Template","TreeviewItemComponent_div_0_ng_template_1_Template","TreeviewItemComponent_div_0_div_2_Template","onCollapseExpand","collapsed","TreeviewItemComponent","checkedChange","TreeviewItemComponent_Template","TreeviewItemComponent_div_0_Template","isNil","TreeviewItem","TreeviewComponent_ng_template_0_i_1_Template_i_click_0_listener","onCollapseExpand_r8","item_r7","TreeviewComponent_ng_template_0_i_1_Template","TreeviewComponent_ng_template_0_Template_label_click_2_listener","ctx_r15","select","TreeviewComponent_ng_template_2_div_0_Template_input_ngModelChange_1_listener","_r26","ctx_r25","filterText","onFilterTextChange_r21","onFilterTextChange","ctx_r22","TreeviewComponent_ng_template_2_div_1_label_2_Template_label_click_0_listener","_r32","onCollapseExpand_r19","item_r18","ctx_r29","getTooltipCollapseExpandText","TreeviewComponent_ng_template_2_div_1_label_2_Template","config_r17","hasCollapseExpand","TreeviewComponent_ng_template_2_div_0_Template","TreeviewComponent_ng_template_2_div_1_Template","TreeviewComponent_ng_template_2_div_2_Template","hasFilter","hasAllCheckBox","hasDivider","ctx_r35","item_r36","TreeviewComponent_div_7_ngx_treeview_item_1_Template","filterItems","getFilterNoItemsFoundText","FilterTreeviewItem","refItem","updateRefChecked","child","allItem","hasFilterItems","maxHeight","createHeaderTemplateContext","itemsSimpleChange","updateFilterItems","updateCollapsedOfAll","onAllCollapseExpand","setCollapsedRecursive","headerTemplateContext","newItem","filterItem","isMatch","newChild","hasItemExpanded","ɵɵNgOnChangesFeature","TreeviewComponent_Template","TreeviewComponent_ng_template_0_Template","TreeviewComponent_ng_template_2_Template","TreeviewComponent_ng_template_5_Template","TreeviewComponent_div_7_Template","TreeviewComponent_div_8_Template","_r2","DropdownDirective","DropdownMenuDirective_HostBindings","DropdownToggleDirective","toggleElement","DropdownToggleDirective_HostBindings","internalOpen","openChange","onKeyupEsc","onDocumentClick","button","isEventFromToggle","DropdownDirective_HostBindings","DropdownDirective_click_HostBindingHandler","decoupleChildFromParent","create","fields","assign","DefaultTreeviewI18n","getFilterPlaceholder","isCollapse","isBoolean","isString","internalDisabled","internalCollapsed","internalChildren","TreeviewPipe","objects","textField","pure","FormsModule","TreeviewModule","ngModule","providers","FileTypePipe","ICONS","default","variant","readingPlan","presentationsPlenaries","placesInterest","softwareFree","educationalServices","args","icons","JoinPlainPipe","join","ResourceTypePipe","others","SafePipe","sanitizer","bypassSecurityTrustHtml","bypassSecurityTrustStyle","bypassSecurityTrustScript","bypassSecurityTrustUrl","ReactiveFormsModule","NgxSpinnerModule","PdfJsViewerModule","AngularEditorModule","RecaptchaModule","RecaptchaFormsModule","RECAPTCHA_SETTINGS","MODULES_ANGULAR","PIPES","DIRECTIVES","siteKey","production","__NgCli_bootstrap_1","platformBrowser","bootstrapModule","catch"],"sourceRoot":"webpack:///","x_google_ignoreList":[]}