iptdevs-design-system 3.1.954 → 3.1.955

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,12 +1,12 @@
1
1
  import * as i0 from '@angular/core';
2
- import { EventEmitter, Component, Input, Output, Injectable, NgModule, Pipe } from '@angular/core';
2
+ import { EventEmitter, Component, Input, Output, Injectable, Pipe, NgModule } from '@angular/core';
3
3
  import * as i3 from 'ng2-currency-mask';
4
4
  import { CurrencyMaskModule } from 'ng2-currency-mask';
5
5
  import * as i1 from '@angular/common';
6
6
  import { CommonModule, CurrencyPipe, TitleCasePipe } from '@angular/common';
7
7
  import * as i2$1 from 'primeng/api';
8
8
  import { MessageService } from 'primeng/api';
9
- import * as i7$2 from 'primeng/tabview';
9
+ import * as i7$3 from 'primeng/tabview';
10
10
  import { TabViewModule } from 'primeng/tabview';
11
11
  import * as i1$1 from '@angular/forms';
12
12
  import { Validators, FormsModule, ReactiveFormsModule, FormControl } from '@angular/forms';
@@ -14,26 +14,30 @@ import Swal from 'sweetalert2';
14
14
  import * as i1$2 from '@angular/common/http';
15
15
  import { HttpHeaders } from '@angular/common/http';
16
16
  import { trigger, transition, style, animate } from '@angular/animations';
17
+ import * as i6 from 'primeng/selectbutton';
18
+ import { SelectButtonModule } from 'primeng/selectbutton';
19
+ import * as i7 from 'primeng/checkbox';
20
+ import { CheckboxModule } from 'primeng/checkbox';
17
21
  import * as i5 from '@angular/material/sidenav';
18
22
  import { MatSidenavModule } from '@angular/material/sidenav';
19
- import * as i6 from '@angular/material/toolbar';
23
+ import * as i6$1 from '@angular/material/toolbar';
20
24
  import { MatToolbarModule } from '@angular/material/toolbar';
21
- import * as i7 from '@angular/material/list';
25
+ import * as i7$1 from '@angular/material/list';
22
26
  import { MatListModule } from '@angular/material/list';
23
- import { MatIconModule } from '@angular/material/icon';
24
- import { MatButtonModule } from '@angular/material/button';
25
27
  import * as i2 from 'primeng/panel';
26
28
  import { PanelModule } from 'primeng/panel';
27
29
  import * as i4 from 'primeng/skeleton';
28
30
  import { SkeletonModule } from 'primeng/skeleton';
29
- import * as i6$1 from 'primeng/button';
31
+ import { MatIconModule } from '@angular/material/icon';
32
+ import { MatButtonModule } from '@angular/material/button';
33
+ import * as i6$2 from 'primeng/button';
30
34
  import { ButtonModule } from 'primeng/button';
31
35
  import { BehaviorSubject, finalize, map } from 'rxjs';
32
36
  import * as i11 from 'primeng/table';
33
37
  import { TableModule } from 'primeng/table';
34
38
  import * as i5$1 from '@angular/material/checkbox';
35
39
  import { MatCheckboxModule } from '@angular/material/checkbox';
36
- import * as i7$1 from 'primeng/inputtextarea';
40
+ import * as i7$2 from 'primeng/inputtextarea';
37
41
  import { InputTextareaModule } from 'primeng/inputtextarea';
38
42
  import * as i8 from 'primeng/inputtext';
39
43
  import { InputTextModule } from 'primeng/inputtext';
@@ -46,12 +50,9 @@ import * as i11$1 from 'primeng/toast';
46
50
  import { ToastModule } from 'primeng/toast';
47
51
  import * as i12 from 'primeng/accordion';
48
52
  import { AccordionModule } from 'primeng/accordion';
49
- import * as i13 from 'primeng/checkbox';
50
- import { CheckboxModule } from 'primeng/checkbox';
51
53
  import * as i14 from 'primeng/radiobutton';
52
54
  import { RadioButtonModule } from 'primeng/radiobutton';
53
55
  import { CalendarModule } from 'primeng/calendar';
54
- import { SelectButtonModule } from 'primeng/selectbutton';
55
56
 
56
57
  class AsideButtonComponent {
57
58
  constructor() {
@@ -1831,350 +1832,825 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.7", ngImpor
1831
1832
  type: Output
1832
1833
  }] } });
1833
1834
 
1834
- class SidenavComponent {
1835
- constructor(userService, baseService, storageService) {
1836
- this.userService = userService;
1837
- this.baseService = baseService;
1838
- this.storageService = storageService;
1839
- this.pageChangeEvent = new EventEmitter();
1840
- this.appUser = false;
1841
- this.routes = [];
1842
- this.options = { weekday: 'long', month: 'long', day: 'numeric' };
1843
- this.currentDay = new Date().toLocaleDateString('en-EN', this.options);
1844
- this.hour = new Date().getHours();
1845
- }
1846
- ngOnInit() {
1847
- let user = this.storageService.getCurrentUser()?.token;
1848
- let token = user === undefined ? '' : user;
1849
- let request = {
1850
- token: token,
1851
- department: this.department
1852
- };
1853
- this.userService.getRoutesForRole(request).subscribe((response) => {
1854
- this.routes = response.data;
1855
- });
1856
- this.appUser = this.baseService.isAnAppUser();
1857
- }
1858
- clickPage(event) {
1859
- this.pageChangeEvent.emit(event);
1860
- }
1861
- logout() {
1862
- this.storageService.logout();
1863
- this.pageChangeEvent.emit('logout');
1835
+ class GenderDisplayPipe {
1836
+ transform(value) {
1837
+ if (value === 1) {
1838
+ return 'Masculino';
1839
+ }
1840
+ else if (value === 2) {
1841
+ return 'Femenino';
1842
+ }
1843
+ return 'Seleccione género';
1864
1844
  }
1865
1845
  }
1866
- SidenavComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.7", ngImport: i0, type: SidenavComponent, deps: [{ token: UserService }, { token: BaseService }, { token: StorageService }], target: i0.ɵɵFactoryTarget.Component });
1867
- SidenavComponentcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.0.7", type: SidenavComponent, selector: "ipt-sidenav", inputs: { department: "department", setPage: "setPage", userName: "userName" }, outputs: { pageChangeEvent: "pageChangeEvent" }, ngImport: i0, template: `
1868
- <mat-sidenav #sidenav mode="push" >
1869
- <mat-toolbar color="primary" (click)="sidenav.toggle()">
1870
- <span style="font-size: 15px;">{{department}}</span>
1871
- <span class="menu-icon-close"></span>
1872
- </mat-toolbar>
1873
-
1874
- <mat-nav-list *ngFor="let route of routes">
1875
- <nav class="flex-container-menu">
1876
- <ipt-aside-button
1877
- [buttonActive]="this.setPage === route.page"
1878
- [icon]="route.icon"
1879
- [text]="route.text"
1880
- (isClicked)="clickPage(route.page)"
1881
- (click)="sidenav.toggle()"
1882
- >
1883
- </ipt-aside-button>
1884
- </nav>
1885
- </mat-nav-list>
1886
- </mat-sidenav>
1887
-
1888
- <mat-toolbar class="header">
1889
- <div class="menu-container" (click)="sidenav.toggle()">
1890
- <p>Menu</p>
1891
- <div class="menu-icon"></div>
1892
- </div>
1893
-
1894
- <img class="img-logo" src="./assets/logos/IPT-logo.png" alt="" />
1895
-
1896
- <div class="text-container">
1897
- <span class="p1">{{ currentDay }}</span>
1898
- <span *ngIf="hour >= 0 && hour < 12" class="p2">
1899
- Hey {{ userName }}, Good morning!
1900
- </span>
1901
- <p *ngIf="hour >= 12 && hour < 18" class="p2">
1902
- Hey {{ userName }}, Good afternoon!
1903
- </p>
1904
- <p *ngIf="hour >= 18 && hour < 24" class="p2">
1905
- Hey {{ userName }}, Good evening!
1906
- </p>
1907
- </div>
1908
-
1909
- <div *ngIf="!this.appUser" class="logout-container" (click)="logout()">
1910
- <p class="logout-button">Cerrar sesión</p>
1911
- <div class="photo-logout"></div>
1912
- </div>
1913
- </mat-toolbar>
1914
- `, isInline: true, styles: ["*{font-family:Poppins,sans-serif}@media screen and (min-width: 320px){.header{background-color:#fff;display:flex;justify-content:space-between;filter:drop-shadow(0px -1px 7px #000)}mat-sidenav{width:-moz-fit-content!important;width:fit-content!important;background-color:#1c77f7!important}.img-logo,.text-container{display:none}.mat-toolbar.mat-primary{background-color:#fff!important;color:#003d99!important;filter:drop-shadow(0px -1px 7px #000)}.logout-container{box-shadow:#11111a1a 0 8px 24px,#11111a1a 0 16px 56px,#11111a1a 0 24px 80px;height:35px;width:auto;border-radius:30px;display:flex;margin-left:10px}.logout-button{display:flex;align-items:center;color:#1c77f7;font-weight:500;font-size:16px;margin-left:20px;text-align:center;width:150px}.photo-logout{background:url(./assets/icons/exit.png);background-size:25px 25px;background-position:center;background-repeat:no-repeat}.menu-icon{background:url(./assets/icons/icon-menu.png);background-size:25px 25px;background-position:center;background-repeat:no-repeat}.menu-icon-close{background:url(./assets/icons/cruz.png);background-size:25px 25px;background-position:center;background-repeat:no-repeat;width:35px;height:35px}.menu-container{box-shadow:#11111a1a 0 8px 24px,#11111a1a 0 16px 56px,#11111a1a 0 24px 80px;height:35px;width:52.5px;width:auto;border-radius:30px;display:flex}.menu-container:hover{cursor:pointer}.menu-container p{width:85px;display:flex;align-items:center;color:#1c77f7;font-weight:500;font-size:16px;margin:0 0 0 15px;text-align:center}}@media screen and (min-width: 768px){.img-logo{display:flex;width:120px;height:60px}.text-container{border-radius:40px;height:45px;width:100%;display:flex;gap:-100px;justify-content:center;flex-direction:column;align-items:flex-start}}.p1{color:gray;margin-left:30px;font-size:13px;height:20px}.p2{margin-left:30px;font-size:14px;font-weight:600;color:#1c77f7}.flex-container-menu{font-size:18px;color:#fff!important}.mat-nav-list{padding:0}\n"], dependencies: [{ kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i5.MatSidenav, selector: "mat-sidenav", inputs: ["fixedInViewport", "fixedTopGap", "fixedBottomGap"], exportAs: ["matSidenav"] }, { kind: "component", type: i6.MatToolbar, selector: "mat-toolbar", inputs: ["color"], exportAs: ["matToolbar"] }, { kind: "component", type: i7.MatNavList, selector: "mat-nav-list", inputs: ["disableRipple", "disabled"], exportAs: ["matNavList"] }, { kind: "component", type: AsideButtonComponent, selector: "ipt-aside-button", inputs: ["icon", "text", "buttonActive"], outputs: ["isClicked"] }] });
1915
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.7", ngImport: i0, type: SidenavComponent, decorators: [{
1916
- type: Component,
1917
- args: [{ selector: 'ipt-sidenav', template: `
1918
- <mat-sidenav #sidenav mode="push" >
1919
- <mat-toolbar color="primary" (click)="sidenav.toggle()">
1920
- <span style="font-size: 15px;">{{department}}</span>
1921
- <span class="menu-icon-close"></span>
1922
- </mat-toolbar>
1923
-
1924
- <mat-nav-list *ngFor="let route of routes">
1925
- <nav class="flex-container-menu">
1926
- <ipt-aside-button
1927
- [buttonActive]="this.setPage === route.page"
1928
- [icon]="route.icon"
1929
- [text]="route.text"
1930
- (isClicked)="clickPage(route.page)"
1931
- (click)="sidenav.toggle()"
1932
- >
1933
- </ipt-aside-button>
1934
- </nav>
1935
- </mat-nav-list>
1936
- </mat-sidenav>
1937
-
1938
- <mat-toolbar class="header">
1939
- <div class="menu-container" (click)="sidenav.toggle()">
1940
- <p>Menu</p>
1941
- <div class="menu-icon"></div>
1942
- </div>
1943
-
1944
- <img class="img-logo" src="./assets/logos/IPT-logo.png" alt="" />
1945
-
1946
- <div class="text-container">
1947
- <span class="p1">{{ currentDay }}</span>
1948
- <span *ngIf="hour >= 0 && hour < 12" class="p2">
1949
- Hey {{ userName }}, Good morning!
1950
- </span>
1951
- <p *ngIf="hour >= 12 && hour < 18" class="p2">
1952
- Hey {{ userName }}, Good afternoon!
1953
- </p>
1954
- <p *ngIf="hour >= 18 && hour < 24" class="p2">
1955
- Hey {{ userName }}, Good evening!
1956
- </p>
1957
- </div>
1958
-
1959
- <div *ngIf="!this.appUser" class="logout-container" (click)="logout()">
1960
- <p class="logout-button">Cerrar sesión</p>
1961
- <div class="photo-logout"></div>
1962
- </div>
1963
- </mat-toolbar>
1964
- `, styles: ["*{font-family:Poppins,sans-serif}@media screen and (min-width: 320px){.header{background-color:#fff;display:flex;justify-content:space-between;filter:drop-shadow(0px -1px 7px #000)}mat-sidenav{width:-moz-fit-content!important;width:fit-content!important;background-color:#1c77f7!important}.img-logo,.text-container{display:none}.mat-toolbar.mat-primary{background-color:#fff!important;color:#003d99!important;filter:drop-shadow(0px -1px 7px #000)}.logout-container{box-shadow:#11111a1a 0 8px 24px,#11111a1a 0 16px 56px,#11111a1a 0 24px 80px;height:35px;width:auto;border-radius:30px;display:flex;margin-left:10px}.logout-button{display:flex;align-items:center;color:#1c77f7;font-weight:500;font-size:16px;margin-left:20px;text-align:center;width:150px}.photo-logout{background:url(./assets/icons/exit.png);background-size:25px 25px;background-position:center;background-repeat:no-repeat}.menu-icon{background:url(./assets/icons/icon-menu.png);background-size:25px 25px;background-position:center;background-repeat:no-repeat}.menu-icon-close{background:url(./assets/icons/cruz.png);background-size:25px 25px;background-position:center;background-repeat:no-repeat;width:35px;height:35px}.menu-container{box-shadow:#11111a1a 0 8px 24px,#11111a1a 0 16px 56px,#11111a1a 0 24px 80px;height:35px;width:52.5px;width:auto;border-radius:30px;display:flex}.menu-container:hover{cursor:pointer}.menu-container p{width:85px;display:flex;align-items:center;color:#1c77f7;font-weight:500;font-size:16px;margin:0 0 0 15px;text-align:center}}@media screen and (min-width: 768px){.img-logo{display:flex;width:120px;height:60px}.text-container{border-radius:40px;height:45px;width:100%;display:flex;gap:-100px;justify-content:center;flex-direction:column;align-items:flex-start}}.p1{color:gray;margin-left:30px;font-size:13px;height:20px}.p2{margin-left:30px;font-size:14px;font-weight:600;color:#1c77f7}.flex-container-menu{font-size:18px;color:#fff!important}.mat-nav-list{padding:0}\n"] }]
1965
- }], ctorParameters: function () { return [{ type: UserService }, { type: BaseService }, { type: StorageService }]; }, propDecorators: { department: [{
1966
- type: Input
1967
- }], setPage: [{
1968
- type: Input
1969
- }], userName: [{
1970
- type: Input
1971
- }], pageChangeEvent: [{
1972
- type: Output
1973
- }] } });
1974
-
1975
- class MaterialModule {
1976
- }
1977
- MaterialModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.7", ngImport: i0, type: MaterialModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
1978
- MaterialModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "14.0.7", ngImport: i0, type: MaterialModule, exports: [MatSidenavModule, MatToolbarModule, MatIconModule, MatListModule, MatButtonModule] });
1979
- MaterialModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "14.0.7", ngImport: i0, type: MaterialModule, imports: [MatSidenavModule, MatToolbarModule, MatIconModule, MatListModule, MatButtonModule] });
1980
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.7", ngImport: i0, type: MaterialModule, decorators: [{
1981
- type: NgModule,
1846
+ GenderDisplayPipe.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.7", ngImport: i0, type: GenderDisplayPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe });
1847
+ GenderDisplayPipepipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "14.0.7", ngImport: i0, type: GenderDisplayPipe, name: "genderDisplay" });
1848
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.7", ngImport: i0, type: GenderDisplayPipe, decorators: [{
1849
+ type: Pipe,
1982
1850
  args: [{
1983
- exports: [MatSidenavModule, MatToolbarModule, MatIconModule, MatListModule, MatButtonModule],
1851
+ name: 'genderDisplay'
1984
1852
  }]
1985
1853
  }] });
1986
1854
 
1987
- class QuestionTypeComponent {
1855
+ class updateUserFormComponent {
1856
+ constructor(fb, cdr, parameterService, baseService, userService) {
1857
+ this.fb = fb;
1858
+ this.cdr = cdr;
1859
+ this.parameterService = parameterService;
1860
+ this.baseService = baseService;
1861
+ this.userService = userService;
1862
+ this.visibleModal = false;
1863
+ this.closeModalIS = new EventEmitter();
1864
+ this.userUpdatedEvent = new EventEmitter();
1865
+ this.photo = '';
1866
+ this.phoneNumberIndicatives = [];
1867
+ this.idTypes = [];
1868
+ this.loader = false;
1869
+ this.states = [];
1870
+ this.cities = [];
1871
+ this.countries = [];
1872
+ this.showParentSection = false;
1873
+ this.showEmailIpt = false;
1874
+ this.indicatives = [];
1875
+ this.civilStatus = [];
1876
+ this.genders = [];
1877
+ this.stratums = [];
1878
+ this.parametersLoaded = false;
1879
+ // userUpdated = false;
1880
+ this.initialFormValue = [];
1881
+ this.justifyOptions = [
1882
+ // { name: 'Inactivos', code: 1 },
1883
+ { name: 'Activo', code: 1 },
1884
+ { name: 'Removido', code: 4 }
1885
+ ];
1886
+ this.initForm();
1887
+ }
1888
+ ngOnInit() {
1889
+ console.log("entro a getParameters por ngoninit");
1890
+ this.getParameters();
1891
+ }
1988
1892
  ngOnChanges(changes) {
1989
- if (changes['formGruoup']) {
1893
+ if (changes['visibleModal'] && changes['visibleModal'].currentValue) {
1894
+ console.log("entro a getParameters por visible modal, donde el change es:", changes['visibleModal']);
1895
+ this.initializeForm();
1896
+ this.cdr.detectChanges();
1990
1897
  }
1991
1898
  }
1992
- clickDetection(value) {
1993
- switch (value) {
1994
- case 'value1':
1995
- if (this.formGruoup.controls['value1'].value === 1) {
1996
- this.formGruoup.controls['value2'].value === 0;
1997
- this.formGruoup.controls['value3'].value === 0;
1998
- this.formGruoup.controls['value4'].value === 0;
1999
- }
2000
- break;
2001
- case 'value2':
2002
- if (this.formGruoup.controls['value2'].value === 1) {
2003
- this.formGruoup.controls['value1'].value === 0;
2004
- this.formGruoup.controls['value3'].value === 0;
2005
- this.formGruoup.controls['value4'].value === 0;
2006
- }
2007
- break;
2008
- case 'value3':
2009
- if (this.formGruoup.controls['value3'].value === 1) {
2010
- this.formGruoup.controls['value1'].value === 0;
2011
- this.formGruoup.controls['value2'].value === 0;
2012
- this.formGruoup.controls['value4'].value === 0;
2013
- }
2014
- break;
2015
- case 'value4':
2016
- if (this.formGruoup.controls['value4'].value === 1) {
2017
- this.formGruoup.controls['value1'].value === 0;
2018
- this.formGruoup.controls['value2'].value === 0;
2019
- this.formGruoup.controls['value3'].value === 0;
2020
- }
2021
- break;
2022
- default:
2023
- console.log('exception');
2024
- break;
1899
+ getParameters() {
1900
+ if (this.parametersLoaded) {
1901
+ this.setParameters();
1902
+ this.initializeForm();
1903
+ return;
2025
1904
  }
1905
+ this.parameterService.getAllParametersCodForm().subscribe({
1906
+ next: (response) => {
1907
+ this.parametersAll = response.data;
1908
+ this.parametersLoaded = true;
1909
+ this.setParameters();
1910
+ this.initializeForm();
1911
+ this.cdr.detectChanges();
1912
+ },
1913
+ error: (err) => {
1914
+ console.error('Error fetching parameters:', err);
1915
+ this.parametersLoaded = false;
1916
+ }
1917
+ });
2026
1918
  }
2027
- }
2028
- QuestionTypeComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.7", ngImport: i0, type: QuestionTypeComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
2029
- QuestionTypeComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.0.7", type: QuestionTypeComponent, selector: "ipt-question-types", inputs: { questionType: "questionType", formGruoup: "formGruoup" }, usesOnChanges: true, ngImport: i0, template: `
2030
- <div
2031
- *ngIf="
2032
- this.questionType === 'True or False' ||
2033
- this.questionType === 'Correct or Incorrect'
2034
- "
2035
- class="sectionABCD"
2036
- >
2037
- <fieldset disabled="disabled">
2038
- <ipt-input
2039
- [control]="formGruoup.controls['answer1']"
2040
- [inputType]="'text'"
2041
- [placeHolder]="
2042
- this.questionType === 'True or False' ? 'True' : 'Correct'
2043
- "
2044
- [validateText]="'Este campo es requerido'"
2045
- >
2046
- </ipt-input>
2047
- </fieldset>
2048
- <ipt-input
2049
- [control]="formGruoup.controls['value1']"
2050
- [inputType]="'number'"
2051
- [placeHolder]="'Valor *'"
2052
- [validateText]="'Debe ser 0 o 1'"
2053
- (click)='clickDetection("value1")'
2054
- >
2055
- </ipt-input>
2056
- <fieldset disabled="disabled">
2057
- <ipt-input
2058
- [control]="formGruoup.controls['answer2']"
2059
- [inputType]="'text'"
2060
- [placeHolder]="
2061
- this.questionType === 'True or False' ? 'False' : 'Incorrect'
2062
- "
2063
- [validateText]="'Este campo es requerido'"
2064
- >
2065
- </ipt-input>
2066
- </fieldset>
2067
- <ipt-input
2068
- [control]="formGruoup.controls['value2']"
2069
- [inputType]="'number'"
2070
- [placeHolder]="'Valor *'"
2071
- [validateText]="'Debe ser 0 o 1'"
2072
- (click)='clickDetection("value2")'
2073
- >
2074
- </ipt-input>
2075
- </div>
1919
+ setParameters() {
1920
+ this.idTypes = this.parametersAll?.TypeIdCardByCountryCol;
1921
+ this.indicatives = this.parametersAll?.indicatives;
1922
+ this.countries = this.parametersAll?.country;
1923
+ this.civilStatus = this.parametersAll?.civilStatus;
1924
+ this.states = this.parametersAll?.State;
1925
+ this.cities = this.parametersAll?.city;
1926
+ // this.genders = [
1927
+ // { code: 1, name: 'Masculino' },
1928
+ // { code: 2, name: 'Femenino' }
1929
+ // ];
1930
+ if (this.parametersAll && this.parametersAll.gender) {
1931
+ // Transformar gender en un arreglo de { code, name }
1932
+ this.genders = this.parametersAll.gender.map((gender) => ({
1933
+ code: gender.code,
1934
+ name: gender.name_spanish
1935
+ }));
1936
+ }
1937
+ else {
1938
+ this.genders = [];
1939
+ }
1940
+ }
1941
+ initializeForm() {
1942
+ this.showParentSection = !!this.DataStudent?.cods?.parent?.code;
1943
+ this.showEmailIpt = !!this.DataStudent?.email_ipt && this.DataStudent.email_ipt !== false;
1944
+ this.initForm();
1945
+ this.populateForm();
1946
+ }
1947
+ initForm() {
1948
+ const baseForm = {
1949
+ name: ['', [Validators.required, Validators.minLength(3), Validators.maxLength(32)]],
1950
+ last_name: ['', [Validators.required, Validators.minLength(5), Validators.maxLength(32)]],
1951
+ email: ['', [Validators.required, Validators.email, Validators.maxLength(300)]],
1952
+ gender: ['', [Validators.required]],
1953
+ id_card_type: ['', [Validators.required]],
1954
+ id_card: ['', [Validators.required, Validators.minLength(5), Validators.maxLength(20)]],
1955
+ phone_indicative: ['', [Validators.required]],
1956
+ phone_number: ['', [Validators.required, Validators.minLength(10), Validators.maxLength(15)]],
1957
+ country: ['', [Validators.required]],
1958
+ state: ['', [Validators.required]],
1959
+ city: ['', [Validators.required]],
1960
+ role: [{ value: '', disabled: true }],
1961
+ service_hour: ['', Validators.required],
1962
+ password: ['', []],
1963
+ re_password: ['', []],
1964
+ changePassword: [false],
1965
+ status: ['', Validators.required]
1966
+ };
1967
+ if (this.showEmailIpt) {
1968
+ Object.assign(baseForm, {
1969
+ email_ipt: ['', [Validators.required, Validators.email, Validators.maxLength(255)]]
1970
+ });
1971
+ }
1972
+ if (this.showParentSection) {
1973
+ Object.assign(baseForm, {
1974
+ parent_name: ['', [Validators.required, Validators.minLength(3), Validators.maxLength(150)]],
1975
+ parent_last_name: ['', [Validators.required, Validators.minLength(5), Validators.maxLength(150)]],
1976
+ parent_id_card_type: ['', [Validators.required]],
1977
+ parent_id_card: ['', [Validators.required, Validators.minLength(5), Validators.maxLength(30)]],
1978
+ parent_phone_indicative: ['', [Validators.required]],
1979
+ parent_phone_number: ['', [Validators.required, Validators.minLength(10), Validators.maxLength(20)]],
1980
+ parent_occupation: ['', [Validators.required, Validators.maxLength(50)]],
1981
+ parent_office_adrress: ['', [Validators.required, Validators.maxLength(150)]],
1982
+ parent_email: ['', [Validators.email, Validators.maxLength(255)]]
1983
+ });
1984
+ }
1985
+ this.updateUserForm = this.fb.group(baseForm, { validators: this.passwordMatchValidator });
1986
+ this.updateUserForm.get('changePassword')?.valueChanges.subscribe((checked) => {
1987
+ const passwordControl = this.updateUserForm.get('password');
1988
+ const rePasswordControl = this.updateUserForm.get('re_password');
1989
+ if (checked) {
1990
+ passwordControl?.setValidators([Validators.required, Validators.minLength(5), Validators.maxLength(32)]);
1991
+ rePasswordControl?.setValidators([Validators.required, Validators.minLength(5), Validators.maxLength(32)]);
1992
+ }
1993
+ else {
1994
+ passwordControl?.clearValidators();
1995
+ rePasswordControl?.clearValidators();
1996
+ passwordControl?.setValue('');
1997
+ rePasswordControl?.setValue('');
1998
+ }
1999
+ passwordControl?.updateValueAndValidity();
2000
+ rePasswordControl?.updateValueAndValidity();
2001
+ });
2002
+ this.updateUserForm.get('password')?.valueChanges.subscribe(() => {
2003
+ this.updateUserForm.updateValueAndValidity();
2004
+ });
2005
+ this.updateUserForm.get('re_password')?.valueChanges.subscribe(() => {
2006
+ this.updateUserForm.updateValueAndValidity();
2007
+ });
2008
+ }
2009
+ passwordMatchValidator(form) {
2010
+ const changePassword = form.get('changePassword')?.value;
2011
+ const password = form.get('password')?.value;
2012
+ const rePassword = form.get('re_password')?.value;
2013
+ if (!changePassword) {
2014
+ return null;
2015
+ }
2016
+ const mismatch = password && rePassword && password !== rePassword;
2017
+ return mismatch ? { mismatch: true } : null;
2018
+ }
2019
+ noWhitespaceValidator(control) {
2020
+ if (control.value && typeof control.value === 'string') {
2021
+ const trimmedValue = control.value.trim();
2022
+ if (trimmedValue.length === 0) {
2023
+ return { onlyWhitespace: true };
2024
+ }
2025
+ if (control.value !== trimmedValue) {
2026
+ return { hasWhitespace: true };
2027
+ }
2028
+ }
2029
+ return null;
2030
+ }
2031
+ transformRole(role) {
2032
+ const roleMap = {
2033
+ 1: 'Super Admin',
2034
+ 10: 'Jefe Academico',
2035
+ 11: 'Coordinador Academico',
2036
+ 12: 'Teacher Academico',
2037
+ 13: 'Estudiante',
2038
+ 15: 'Posible Estudiante',
2039
+ 20: 'Jefe Marketing',
2040
+ 21: 'Coordinador Marketing',
2041
+ 22: 'Auxiliar Marketing',
2042
+ 30: 'Jefe Administrativo',
2043
+ 31: 'Coordinador Administrativo',
2044
+ 32: 'Cajero Administrativo',
2045
+ 40: 'Jefe Comercial',
2046
+ 41: 'Coordinador Comercial',
2047
+ 42: 'Asesor Comercial',
2048
+ 50: 'Jefe Cartera',
2049
+ 51: 'Coordinador Cartera',
2050
+ 52: 'Asesor Cartera',
2051
+ 60: 'Proveedor'
2052
+ };
2053
+ return roleMap[Number(role)] || '';
2054
+ }
2055
+ populateForm() {
2056
+ if (this.DataStudent) {
2057
+ const formValue = {
2058
+ name: this.DataStudent.name || '',
2059
+ last_name: this.DataStudent.last_name || '',
2060
+ email: this.DataStudent.email || '',
2061
+ gender: this.DataStudent.gender || null,
2062
+ id_card_type: this.DataStudent.id_card_type || '',
2063
+ id_card: this.DataStudent.id_card || '',
2064
+ phone_indicative: this.DataStudent.phone_indicative || '',
2065
+ phone_number: this.DataStudent.phone_number || '',
2066
+ country: this.DataStudent.city?.country,
2067
+ state: this.DataStudent.city?.state,
2068
+ city: this.DataStudent.city?.code,
2069
+ role: this.transformRole(this.DataStudent.role) || '',
2070
+ service_hour: this.DataStudent.service_hour || 0,
2071
+ changePassword: false,
2072
+ password: '',
2073
+ re_password: '',
2074
+ status: this.DataStudent.user_status || ''
2075
+ };
2076
+ if (this.showEmailIpt) {
2077
+ formValue.email_ipt = this.DataStudent.email_ipt || '';
2078
+ }
2079
+ if (this.showParentSection) {
2080
+ Object.assign(formValue, {
2081
+ parent_name: this.DataStudent.cods?.parent?.name || '',
2082
+ parent_last_name: this.DataStudent.cods?.parent?.last_name || '',
2083
+ parent_id_card_type: this.DataStudent.cods?.parent?.id_card_type || '',
2084
+ parent_id_card: this.DataStudent.cods?.parent?.id_card || '',
2085
+ parent_phone_indicative: this.DataStudent.cods?.parent?.phone_indicative || '',
2086
+ parent_phone_number: this.DataStudent.cods?.parent?.phone_number || '',
2087
+ parent_occupation: this.DataStudent.cods?.parent?.occupation || '',
2088
+ parent_office_adrress: this.DataStudent.cods?.parent?.office_adrress || '',
2089
+ parent_email: this.DataStudent.cods?.parent?.email || ''
2090
+ });
2091
+ }
2092
+ this.updateUserForm.reset();
2093
+ this.updateUserForm.patchValue(formValue);
2094
+ this.initialFormValue = { ...this.updateUserForm.value };
2095
+ if (formValue.country) {
2096
+ console.log("en populateForm se envio dato para setearse country");
2097
+ this.countries = this.parametersAll?.country;
2098
+ this.selectCountry(this.DataStudent.city?.country);
2099
+ }
2100
+ if (formValue.state) {
2101
+ this.selectState(this.DataStudent.city?.state);
2102
+ }
2103
+ if (formValue.city) {
2104
+ this.selectCity(this.DataStudent.city?.code);
2105
+ }
2106
+ if (formValue.id_card_type) {
2107
+ this.idTypes = this.parametersAll?.TypeIdCardByCountryCol;
2108
+ this.selectGender(this.DataStudent.id_card_type);
2109
+ }
2110
+ if (formValue.phone_indicative) {
2111
+ this.indicatives = this.parametersAll?.indicatives;
2112
+ this.selectIndicative('phone_indicative', this.DataStudent.phone_indicative);
2113
+ }
2114
+ if (formValue.parent_phone_indicative) {
2115
+ this.indicatives = this.parametersAll?.indicatives;
2116
+ this.selectIndicative('parent_phone_indicative', this.DataStudent.cods?.parent?.phone_indicative);
2117
+ }
2118
+ if (formValue.gender) {
2119
+ if (this.parametersAll && this.parametersAll.gender) {
2120
+ // Transformar gender en un arreglo de { code, name }
2121
+ this.genders = this.parametersAll.gender.map((gender) => ({
2122
+ code: gender.code,
2123
+ name: gender.name_spanish
2124
+ }));
2125
+ }
2126
+ else {
2127
+ this.genders = [];
2128
+ }
2129
+ this.selectGender(this.DataStudent.gender);
2130
+ }
2131
+ }
2132
+ }
2133
+ closeTable() {
2134
+ this.visibleModal = false;
2135
+ this.updateUserForm.reset();
2136
+ this.idTypes = [];
2137
+ this.countries = [];
2138
+ this.genders = [];
2139
+ this.closeModalIS.emit(false);
2140
+ }
2141
+ selectRol(role) {
2142
+ if (role !== null) {
2143
+ this.updateUserForm.get('role')?.setValue(this.transformRole(role));
2144
+ }
2145
+ else {
2146
+ this.updateUserForm.get('role')?.setValue('');
2147
+ }
2148
+ }
2149
+ selectIndicative(field, indicative) {
2150
+ if (indicative !== null) {
2151
+ this.updateUserForm.get(field)?.setValue(indicative);
2152
+ }
2153
+ else {
2154
+ this.updateUserForm.get(field)?.setValue(null);
2155
+ }
2156
+ }
2157
+ selectIdType(field, idType) {
2158
+ if (idType !== null) {
2159
+ this.updateUserForm.get(field)?.setValue(idType);
2160
+ }
2161
+ else {
2162
+ this.updateUserForm.get(field)?.setValue(null);
2163
+ }
2164
+ }
2165
+ selectGender(gender) {
2166
+ if (gender !== null) {
2167
+ this.updateUserForm.get('gender')?.setValue(gender);
2168
+ }
2169
+ else {
2170
+ this.updateUserForm.get('gender')?.setValue(null);
2171
+ }
2172
+ }
2173
+ selectCountry(country) {
2174
+ const countryNumber = typeof country === 'string' ? parseInt(country, 10) : country;
2175
+ if (country != null) {
2176
+ this.updateUserForm.controls['country'].setValue(countryNumber);
2177
+ console.log("se seteo country con el valor que entro en selectCountry");
2178
+ if (this.parametersAll && this.parametersAll?.State) {
2179
+ this.states = this.parametersAll.State.filter((course) => {
2180
+ const state = typeof course.country === 'string'
2181
+ ? parseInt(course.country, 10)
2182
+ : course.country;
2183
+ return state === countryNumber;
2184
+ });
2185
+ }
2186
+ else {
2187
+ this.states = [];
2188
+ }
2189
+ this.updateUserForm.controls['state'].setValue(null);
2190
+ this.updateUserForm.controls['city'].setValue(null);
2191
+ this.cities = [];
2192
+ }
2193
+ else {
2194
+ this.updateUserForm.controls['country'].setValue(null);
2195
+ this.states = [];
2196
+ this.cities = [];
2197
+ this.cdr.detectChanges();
2198
+ }
2199
+ }
2200
+ selectState(state) {
2201
+ const stateNumber = typeof state === 'string' ? parseInt(state, 10) : state;
2202
+ if (state !== null) {
2203
+ this.updateUserForm.controls['state'].setValue(stateNumber);
2204
+ this.updateUserForm.controls['city'].setValue(null);
2205
+ this.cities = [];
2206
+ this.getState(stateNumber);
2207
+ }
2208
+ else {
2209
+ this.updateUserForm.controls['state'].setValue(null);
2210
+ this.updateUserForm.controls['city'].setValue(null);
2211
+ this.cities = [];
2212
+ }
2213
+ }
2214
+ getState(state) {
2215
+ this.getCity(state);
2216
+ }
2217
+ getCity(state) {
2218
+ const stateNumber = typeof state === 'string' ? parseInt(state, 10) : state;
2219
+ if (this.parametersAll?.city) {
2220
+ this.cities = this.parametersAll.city.filter((course) => {
2221
+ const cityState = typeof course.state === 'string' ? parseInt(course.state, 10) : course.state;
2222
+ return cityState === stateNumber;
2223
+ });
2224
+ }
2225
+ else {
2226
+ this.cities = [];
2227
+ }
2228
+ }
2229
+ selectCity(city) {
2230
+ const cityNumber = typeof city === 'string' ? parseInt(city, 10) : city;
2231
+ if (city !== null) {
2232
+ this.updateUserForm.controls['city'].setValue(cityNumber);
2233
+ }
2234
+ else {
2235
+ this.updateUserForm.controls['city'].setValue(null);
2236
+ }
2237
+ }
2238
+ setPhoto(type) {
2239
+ if (type === 'student')
2240
+ this.photo = '/platform/academic/assets/student.jpg';
2241
+ if (type === 'academic')
2242
+ this.photo = '/platform/academic/assets/academico.png';
2243
+ if (type === 'administrative')
2244
+ this.photo = '/platform/administrative/assets/administrativo.jpg';
2245
+ if (type === 'marketing')
2246
+ this.photo = '/platform/marketing/assets/marketing.jpg';
2247
+ if (type === 'commercial')
2248
+ this.photo = '/platform/commercial/assets/user-form-assets/comercial.jpg';
2249
+ if (type === 'treasure')
2250
+ this.photo = '/platform/treasure/assets/administrativo.jpg';
2251
+ }
2252
+ updateUser() {
2253
+ if (this.updateUserForm.invalid ||
2254
+ this.updateUserForm.hasError('mismatch') ||
2255
+ !this.hasFormChanged()) {
2256
+ this.updateUserForm.markAllAsTouched();
2257
+ console.log('createUser - Validation failed:', {
2258
+ invalid: this.updateUserForm.invalid,
2259
+ mismatch: this.updateUserForm.hasError('mismatch'),
2260
+ hasChanges: this.hasFormChanged()
2261
+ });
2262
+ return;
2263
+ }
2264
+ this.loader = true;
2265
+ const formValue = this.updateUserForm.getRawValue();
2266
+ const request = {
2267
+ token: this.baseService.getUserToken(),
2268
+ user: {
2269
+ code: this.DataStudent.code,
2270
+ name: formValue.name,
2271
+ last_name: formValue.last_name,
2272
+ id_card_type: formValue.id_card_type,
2273
+ id_card: formValue.id_card,
2274
+ phone_indicative: formValue.phone_indicative,
2275
+ phone_number: formValue.phone_number,
2276
+ email: formValue.email,
2277
+ gender: formValue.gender,
2278
+ city: formValue.city,
2279
+ service_hour: formValue.service_hour,
2280
+ role: this.DataStudent.role,
2281
+ status: formValue.status,
2282
+ ...(this.showEmailIpt ? { email_ipt: formValue.email_ipt } : {}),
2283
+ ...(formValue.changePassword && formValue.password ? { password: formValue.password } : {})
2284
+ },
2285
+ parent: this.showParentSection
2286
+ ? {
2287
+ code: this.DataStudent.cods?.parent?.code || null,
2288
+ name: formValue.parent_name || null,
2289
+ last_name: formValue.parent_last_name || null,
2290
+ id_card_type: formValue.parent_id_card_type || null,
2291
+ id_card: formValue.parent_id_card || null,
2292
+ phone_indicative: formValue.parent_phone_indicative || null,
2293
+ phone_number: formValue.parent_phone_number || null,
2294
+ occupation: formValue.parent_occupation || null,
2295
+ office_adrress: formValue.parent_office_adrress || null,
2296
+ email: formValue.parent_email || null
2297
+ }
2298
+ : null
2299
+ };
2300
+ console.log(request);
2301
+ this.userService.updateUserAndParentByCode(request).subscribe((response) => {
2302
+ // this.courseType = response.data;
2303
+ if (response.message.code === 1) {
2304
+ Swal.fire({
2305
+ position: 'center',
2306
+ icon: 'success',
2307
+ title: 'usuario actualizado satisfactoriamente',
2308
+ showConfirmButton: false,
2309
+ timer: 2500,
2310
+ });
2311
+ // this.userUpdated = true
2312
+ this.userUpdatedEvent.emit();
2313
+ this.closeTable();
2314
+ }
2315
+ else {
2316
+ Swal.fire({
2317
+ position: 'center',
2318
+ icon: 'error',
2319
+ title: 'Ha ocurrido un error inesperado',
2320
+ showConfirmButton: false,
2321
+ timer: 2500,
2322
+ });
2323
+ // this.userUpdated = false
2324
+ }
2325
+ });
2326
+ this.loader = false;
2327
+ }
2328
+ hasFormChanged() {
2329
+ if (!this.initialFormValue || !this.DataStudent) {
2330
+ return false;
2331
+ }
2332
+ const currentValue = this.updateUserForm.getRawValue();
2333
+ if (currentValue.changePassword) {
2334
+ const password = currentValue.password;
2335
+ const rePassword = currentValue.re_password;
2336
+ const passwordControl = this.updateUserForm.get('password');
2337
+ const rePasswordControl = this.updateUserForm.get('re_password');
2338
+ if (passwordControl?.valid &&
2339
+ rePasswordControl?.valid &&
2340
+ password === rePassword &&
2341
+ password?.trim() !== '') {
2342
+ return true;
2343
+ }
2344
+ }
2345
+ const fieldsToCompare = [
2346
+ 'name',
2347
+ 'last_name',
2348
+ 'email',
2349
+ 'gender',
2350
+ 'id_card_type',
2351
+ 'id_card',
2352
+ 'phone_indicative',
2353
+ 'phone_number',
2354
+ 'country',
2355
+ 'state',
2356
+ 'city',
2357
+ 'role',
2358
+ 'service_hour',
2359
+ 'status'
2360
+ ];
2361
+ if (this.showEmailIpt) {
2362
+ fieldsToCompare.push('email_ipt');
2363
+ }
2364
+ if (this.showParentSection) {
2365
+ fieldsToCompare.push('parent_name', 'parent_last_name', 'parent_id_card_type', 'parent_id_card', 'parent_phone_indicative', 'parent_phone_number', 'parent_occupation', 'parent_office_adrress', 'parent_email');
2366
+ }
2367
+ for (const field of fieldsToCompare) {
2368
+ let originalValue;
2369
+ let currentFieldValue = currentValue[field];
2370
+ switch (field) {
2371
+ case 'name':
2372
+ originalValue = this.DataStudent.name || '';
2373
+ break;
2374
+ case 'last_name':
2375
+ originalValue = this.DataStudent.last_name || '';
2376
+ break;
2377
+ case 'email':
2378
+ originalValue = this.DataStudent.email || '';
2379
+ break;
2380
+ case 'email_ipt':
2381
+ originalValue = this.DataStudent.email_ipt || '';
2382
+ break;
2383
+ case 'gender':
2384
+ originalValue = this.DataStudent.gender || null;
2385
+ break;
2386
+ case 'id_card_type':
2387
+ originalValue = this.DataStudent.id_card_type || '';
2388
+ break;
2389
+ case 'id_card':
2390
+ originalValue = this.DataStudent.id_card || '';
2391
+ break;
2392
+ case 'phone_indicative':
2393
+ originalValue = this.DataStudent.phone_indicative || '';
2394
+ break;
2395
+ case 'phone_number':
2396
+ originalValue = this.DataStudent.phone_number || '';
2397
+ break;
2398
+ case 'country':
2399
+ originalValue = this.DataStudent.city?.country || '';
2400
+ break;
2401
+ case 'state':
2402
+ originalValue = this.DataStudent.city?.state || '';
2403
+ break;
2404
+ case 'city':
2405
+ originalValue = this.DataStudent.city?.code || '';
2406
+ break;
2407
+ case 'role':
2408
+ originalValue = this.transformRole(this.DataStudent.role) || '';
2409
+ break;
2410
+ case 'service_hour':
2411
+ originalValue = this.DataStudent.service_hour;
2412
+ break;
2413
+ case 'status':
2414
+ originalValue = this.DataStudent.user_status || '';
2415
+ break;
2416
+ case 'parent_name':
2417
+ originalValue = this.DataStudent.cods?.parent?.name || '';
2418
+ break;
2419
+ case 'parent_last_name':
2420
+ originalValue = this.DataStudent.cods?.parent?.last_name || '';
2421
+ break;
2422
+ case 'parent_id_card_type':
2423
+ originalValue = this.DataStudent.cods?.parent?.id_card_type;
2424
+ break;
2425
+ case 'parent_id_card':
2426
+ originalValue = this.DataStudent.cods?.parent?.id_card || '';
2427
+ break;
2428
+ case 'parent_phone_indicative':
2429
+ originalValue = this.DataStudent.cods?.parent?.phone_indicative || '';
2430
+ break;
2431
+ case 'parent_phone_number':
2432
+ originalValue = this.DataStudent.cods?.parent?.phone_number || '';
2433
+ break;
2434
+ case 'parent_occupation':
2435
+ originalValue = this.DataStudent.cods?.parent?.occupation || '';
2436
+ break;
2437
+ case 'parent_office_adrress':
2438
+ originalValue = this.DataStudent.cods?.parent?.office_adrress || '';
2439
+ break;
2440
+ case 'parent_email':
2441
+ originalValue = this.DataStudent.cods?.parent?.email || '';
2442
+ break;
2443
+ default:
2444
+ originalValue = '';
2445
+ }
2446
+ const normalizedCurrent = currentFieldValue != null ? String(currentFieldValue).trim() : '';
2447
+ const normalizedOriginal = originalValue != null ? String(originalValue).trim() : '';
2448
+ if (normalizedCurrent !== normalizedOriginal) {
2449
+ return true;
2450
+ }
2451
+ }
2452
+ return false;
2453
+ }
2454
+ }
2455
+ updateUserFormComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.7", ngImport: i0, type: updateUserFormComponent, deps: [{ token: i1$1.FormBuilder }, { token: i0.ChangeDetectorRef }, { token: ParameterService }, { token: BaseService }, { token: UserService }], target: i0.ɵɵFactoryTarget.Component });
2456
+ updateUserFormComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.0.7", type: updateUserFormComponent, selector: "ipt-update-user-form", inputs: { DataStudent: "DataStudent", visibleModal: "visibleModal" }, outputs: { closeModalIS: "closeModalIS", userUpdatedEvent: "userUpdatedEvent" }, usesOnChanges: true, ngImport: i0, template: "<!-- <p-dialog\n [(visible)]=\"visibleModal\"\n [style]=\"{width: '80%'}\"\n header=\"Actualizar usuario\"\n [modal]=\"true\"\n styleClass=\"p-fluid\"\n (onHide)=\"closeTable()\"\n [dismissableMask]=\"true\"\n [breakpoints]=\"{'1920px': '75vw', '1440px': '75vw', '1024px': '75vw', '576px': '100vw'}\"\n> -->\n<!-- <div>\n <pre>{{ updateUserForm.value | json }}</pre>\n <div>\n <pre>{{ updateUserForm.valid | json }}</pre>\n </div>\n</div> -->\n<main *ngIf=\"visibleModal\">\n <div @fade class=\"modal_container\">\n <div class=\"header_modal\">\n <!-- <h1>Crear usuario de {{ userType | titlecase}}</h1> -->\n <button (click)=\"closeTable()\">x</button>\n </div>\n <div class=\"grid_container\">\n <div>\n <form *ngIf=\"updateUserForm\" autocomplete=\"off\" [formGroup]=\"updateUserForm\">\n <!-- User Information Section -->\n <div class=\"section-header\">\n <h2>Informaci\u00F3n del usuario</h2>\n </div>\n <div class=\"form-grid\">\n <ipt-input\n [inputType]=\"'text'\"\n [placeHolder]=\"'Nombres'\"\n [control]=\"updateUserForm.controls['name']\"\n [validateText]=\"updateUserForm.controls['name'].hasError('required') ? 'Debe ingresar el nombre' :\n updateUserForm.controls['name'].hasError('minlength') ? 'M\u00EDnimo 3 caracteres' :\n updateUserForm.controls['name'].hasError('maxlength') ? 'M\u00E1ximo 32 caracteres' :\n updateUserForm.controls['name'].hasError('pattern') ? 'Solo letras, espacios y guiones' :\n updateUserForm.controls['name'].hasError('hasWhitespace') ? 'No se permiten espacios al inicio o final' :\n updateUserForm.controls['name'].hasError('onlyWhitespace') ? 'No se permiten solo espacios' :\n 'Debe ingresar el nombre'\"\n ></ipt-input>\n <ipt-input\n [inputType]=\"'text'\"\n [placeHolder]=\"'Apellidos'\"\n [control]=\"updateUserForm.controls['last_name']\"\n [validateText]=\"updateUserForm.controls['last_name'].hasError('required') ? 'Debe ingresar los apellidos' :\n updateUserForm.controls['last_name'].hasError('minlength') ? 'M\u00EDnimo 3 caracteres' :\n updateUserForm.controls['last_name'].hasError('maxlength') ? 'M\u00E1ximo 32 caracteres' :\n updateUserForm.controls['last_name'].hasError('pattern') ? 'Solo letras, espacios y guiones' :\n updateUserForm.controls['last_name'].hasError('hasWhitespace') ? 'No se permiten espacios al inicio o final' :\n updateUserForm.controls['last_name'].hasError('onlyWhitespace') ? 'No se permiten solo espacios' :\n 'Debe ingresar los apellidos'\"\n ></ipt-input>\n <ipt-input\n [inputType]=\"'email'\"\n [placeHolder]=\"'Email'\"\n [control]=\"updateUserForm.controls['email']\"\n [validateText]=\"updateUserForm.controls['email'].hasError('required') ? 'Debe ingresar un correo v\u00E1lido' :\n updateUserForm.controls['email'].hasError('maxlength') ? 'M\u00E1ximo 300 caracteres' :\n updateUserForm.controls['email'].hasError('pattern') ? 'Tiene que ser un email correcto' :\n updateUserForm.controls['email'].hasError('hasWhitespace') ? 'No se permiten espacios al inicio o final' :\n updateUserForm.controls['email'].hasError('onlyWhitespace') ? 'No se permiten solo espacios' :\n 'Debe ingresar un correo v\u00E1lido'\"\n ></ipt-input>\n <ipt-input\n *ngIf=\"showEmailIpt\"\n [inputType]=\"'text'\"\n [placeHolder]=\"'Email IPT'\"\n [control]=\"updateUserForm.controls['email_ipt']\"\n [validateText]=\"updateUserForm.controls['email_ipt'].hasError('required') ? 'Debe ingresar un correo IPT v\u00E1lido' :\n updateUserForm.controls['email_ipt'].hasError('maxlength') ? 'M\u00E1ximo 255 caracteres' :\n updateUserForm.controls['email_ipt'].hasError('pattern') ? 'Tiene que ser un email correcto' :\n updateUserForm.controls['email_ipt'].hasError('hasWhitespace') ? 'No se permiten espacios al inicio o final' :\n updateUserForm.controls['email_ipt'].hasError('onlyWhitespace') ? 'No se permiten solo espacios' :\n 'Debe ingresar un correo IPT v\u00E1lido'\"\n ></ipt-input>\n <ipt-input\n *ngIf=\"showEmailIpt\"\n [inputType]=\"'number'\"\n [placeHolder]=\"'Horas de servicio'\"\n [control]=\"updateUserForm.controls['service_hour']\"\n [validateText]=\"'Debe ingresar las horas de servicio'\"\n ></ipt-input>\n <ipt-input\n [inputType]=\"'text'\"\n [placeHolder]=\"'Rol'\"\n [control]=\"updateUserForm.controls['role']\"\n [validateText]=\"'Rol requerido'\"\n ></ipt-input>\n <ipt-select\n [initialValue]=\"updateUserForm.controls['gender'].value\"\n [control]=\"updateUserForm.controls['gender']\"\n [selectCode]=\"updateUserForm.controls['gender'].value === null ? 'Seleccione g\u00E9nero' : (updateUserForm.controls['gender'].value | genderDisplay)\"\n [data]=\"genders\"\n (eventSelect)=\"selectGender($event)\"\n [defaultText]=\"'Seleccione g\u00E9nero'\"\n ></ipt-select>\n <ipt-select\n [initialValue]=\"updateUserForm.controls['phone_indicative'].value\"\n [control]=\"updateUserForm.controls['phone_indicative']\"\n [data]=\"indicatives\"\n (eventSelect)=\"selectIndicative('phone_indicative', $event)\"\n [defaultText]=\"'Indicativo'\"\n ></ipt-select>\n <ipt-input\n [inputType]=\"'number'\"\n [placeHolder]=\"'Tel\u00E9fono'\"\n [control]=\"updateUserForm.controls['phone_number']\"\n [validateText]=\"'Debe ingresar un n\u00FAmero de tel\u00E9fono v\u00E1lido'\"\n ></ipt-input>\n <ipt-select\n [initialValue]=\"updateUserForm.controls['id_card_type'].value\"\n [control]=\"updateUserForm.controls['id_card_type']\"\n [selectCode]=\"updateUserForm.controls['id_card_type'].value === null ? 'Tipo de documento' : updateUserForm.controls['id_card_type'].value\"\n [isRequired]=\"true\"\n [data]=\"idTypes\"\n (eventSelect)=\"selectIdType('id_card_type', $event)\"\n [defaultText]=\"'Tipo de documento'\"\n ></ipt-select>\n <ipt-input\n [inputType]=\"'number'\"\n [placeHolder]=\"'Documento'\"\n [control]=\"updateUserForm.controls['id_card']\"\n [validateText]=\"'Debe ingresar el n\u00FAmero de documento'\"\n ></ipt-input>\n <ipt-select\n [initialValue]=\"updateUserForm.controls['country'].value\"\n [control]=\"updateUserForm.controls['country']\"\n [selectCode]=\"updateUserForm.controls['country'].value === null ? 'Pa\u00EDs de residencia' : updateUserForm.controls['country'].value\"\n (eventSelect)=\"selectCountry($event)\"\n [data]=\"countries\"\n [defaultText]=\"'Pa\u00EDs de residencia'\"\n ></ipt-select>\n <ipt-select\n [initialValue]=\"updateUserForm.controls['state'].value\"\n [control]=\"updateUserForm.controls['state']\"\n [selectCode]=\"updateUserForm.controls['state'].value === null ? 'Departamento o estado' : updateUserForm.controls['state'].value\"\n [isRequired]=\"true\"\n (eventSelect)=\"selectState($event)\"\n [data]=\"states\"\n [defaultText]=\"'Departamento o estado'\"\n ></ipt-select>\n <ipt-select\n [initialValue]=\"updateUserForm.controls['city'].value\"\n [control]=\"updateUserForm.controls['city']\"\n [selectCode]=\"updateUserForm.controls['city'].value === null ? 'Ciudad de residencia' : updateUserForm.controls['city'].value\"\n (eventSelect)=\"selectCity($event)\"\n [data]=\"cities\"\n [defaultText]=\"'Ciudad de residencia'\"\n ></ipt-select>\n <div *ngIf=\"this.DataStudent.role !== 13\" class=\"card flex justify-content-center align-content-center align-items-end text-cen ter \">\n <p-selectButton [options]=\"justifyOptions\" formControlName=\"status\" optionLabel=\"name\" optionValue=\"code\"></p-selectButton>\n </div>\n <div class=\"field\">\n <p-checkbox\n formControlName=\"changePassword\"\n label=\"Cambio de contrase\u00F1a\"\n [binary]=\"true\"\n ></p-checkbox>\n </div>\n </div>\n <div class=\"form-grid\" *ngIf=\"updateUserForm.controls['changePassword'].value\">\n <ipt-input\n [inputType]=\"'password'\"\n [placeHolder]=\"'Contrase\u00F1a'\"\n [control]=\"updateUserForm.controls['password']\"\n [validateText]=\"updateUserForm.controls['password'].hasError('required') ? 'La contrase\u00F1a es requerida' :\n updateUserForm.controls['password'].hasError('minlength') ? 'M\u00EDnimo 5 caracteres' :\n updateUserForm.controls['password'].hasError('maxlength') ? 'M\u00E1ximo 32 caracteres' :\n 'Ingrese una contrase\u00F1a v\u00E1lida'\"\n ></ipt-input>\n\n <ipt-input\n [inputType]=\"'password'\"\n [placeHolder]=\"'Repetir contrase\u00F1a'\"\n [control]=\"updateUserForm.controls['re_password']\"\n [validateText]=\"updateUserForm.controls['re_password'].hasError('required') ? 'Debe repetir la contrase\u00F1a' :\n updateUserForm.controls['re_password'].hasError('minlength') ? 'M\u00EDnimo 5 caracteres' :\n updateUserForm.controls['re_password'].hasError('maxlength') ? 'M\u00E1ximo 32 caracteres' :\n updateUserForm.hasError('mismatch') ? 'Las contrase\u00F1as no coinciden' :\n 'Repita la contrase\u00F1a'\"\n ></ipt-input>\n </div>\n\n <!-- Mensaje adicional para el error de mismatch (opcional, si quieres mostrarlo por separado) -->\n\n <div *ngIf=\"updateUserForm.hasError('mismatch') && updateUserForm.controls['changePassword'].value\" class=\"error-message\">\n <small >Las contrase\u00F1as no coinciden</small>\n </div>\n <!-- Parent Information Section -->\n <div class=\"section-header\" *ngIf=\"DataStudent?.cods\">\n <h2>Informaci\u00F3n del acudiente</h2>\n </div>\n <div *ngIf=\"DataStudent?.cods\">\n <div *ngIf=\"showParentSection; else noParentMessage\">\n <div class=\"form-grid\">\n <ipt-input\n [inputType]=\"'text'\"\n [placeHolder]=\"'Nombres'\"\n [control]=\"updateUserForm.controls['parent_name']\"\n [validateText]=\"'Debe ingresar el nombre'\"\n ></ipt-input>\n <ipt-input\n [inputType]=\"'text'\"\n [placeHolder]=\"'Apellidos'\"\n [control]=\"updateUserForm.controls['parent_last_name']\"\n [validateText]=\"'Debe ingresar los apellidos'\"\n ></ipt-input>\n <ipt-input\n [inputType]=\"'text'\"\n [placeHolder]=\"'Ocupaci\u00F3n'\"\n [control]=\"updateUserForm.controls['parent_occupation']\"\n [validateText]=\"'Debe ingresar la ocupaci\u00F3n'\"\n ></ipt-input>\n <ipt-input\n [inputType]=\"'email'\"\n [placeHolder]=\"'Email'\"\n [control]=\"updateUserForm.controls['parent_email']\"\n [validateText]=\"'Debe ingresar un correo v\u00E1lido'\"\n ></ipt-input>\n <ipt-select\n [initialValue]=\"updateUserForm.controls['parent_id_card_type'].value\"\n [control]=\"updateUserForm.controls['parent_id_card_type']\"\n [selectCode]=\"updateUserForm.controls['parent_id_card_type'].value === null ? 'Tipo de documento' : updateUserForm.controls['parent_id_card_type'].value\"\n [isRequired]=\"true\"\n [data]=\"idTypes\"\n (eventSelect)=\"selectIdType('parent_id_card_type', $event)\"\n [defaultText]=\"'Tipo de documento'\"\n ></ipt-select>\n <ipt-input\n [inputType]=\"'number'\"\n [placeHolder]=\"'Documento'\"\n [control]=\"updateUserForm.controls['parent_id_card']\"\n [validateText]=\"'Debe ingresar el n\u00FAmero de documento'\"\n ></ipt-input>\n <ipt-select\n [initialValue]=\"updateUserForm.controls['parent_phone_indicative'].value\"\n [control]=\"updateUserForm.controls['parent_phone_indicative']\"\n [data]=\"indicatives\"\n (eventSelect)=\"selectIndicative('parent_phone_indicative', $event)\"\n [defaultText]=\"'Indicativo'\"\n ></ipt-select>\n <ipt-input\n [inputType]=\"'number'\"\n [placeHolder]=\"'Tel\u00E9fono'\"\n [control]=\"updateUserForm.controls['parent_phone_number']\"\n [validateText]=\"'Debe ingresar un n\u00FAmero de tel\u00E9fono v\u00E1lido'\"\n ></ipt-input>\n\n <ipt-input\n [inputType]=\"'text'\"\n [placeHolder]=\"'Direcci\u00F3n de oficina'\"\n [control]=\"updateUserForm.controls['parent_office_adrress']\"\n [validateText]=\"'Debe ingresar la direcci\u00F3n'\"\n ></ipt-input>\n </div>\n </div>\n <ng-template #noParentMessage>\n <div class=\"no-parent-message\">\n <p>Sin acudiente</p>\n </div>\n </ng-template>\n </div>\n\n <div class=\"buttons-container\">\n <ipt-button\n [label]=\"'Actualizar'\"\n [isEnabled]=\"!loader && updateUserForm.valid && !updateUserForm.hasError('mismatch') && hasFormChanged()\"\n (onClick)=\"updateUser()\"\n [primary]=\"true\"\n ></ipt-button>\n </div>\n </form>\n </div>\n </div>\n </div>\n</main>\n\n<!-- </p-dialog> -->", styles: ["@media screen and (min-width: 320px){main{background:rgba(0,0,0,.472);color:#fff;position:fixed;top:0;left:0;height:100vh;width:100vw;transition:all .5s}main .modal_container{width:60%;height:-moz-fit-content;height:fit-content;position:absolute;inset:0;margin:auto;background-color:#fff;border-radius:3px}.header_modal{display:flex;padding:15px 15px 0;gap:1rem;align-items:center}.header_modal h1{padding:.5rem;background-color:#1c77f7;color:#fff;width:100%;border-radius:10px;font-size:1.25rem;font-weight:700}.header_modal button{margin-left:auto;font-size:26px;padding:1.2rem;font-weight:200;color:#6c7f7d;display:flex;width:25px;height:25px;align-items:center;justify-content:center;transition:50ms;background-color:transparent;border:none}.header_modal button:hover{cursor:pointer;border-radius:50%;background-color:#d4d4d4}.grid_container{display:grid;grid-template-columns:1fr;padding:0 15px}form{display:grid;grid-template-columns:1fr;gap:.25rem;justify-content:center;padding:0 1rem}.section-header{margin:1.5rem 0 .5rem;border-bottom:2px solid #1c77f7}.section-header h2{font-size:1.2rem;color:#1c77f7;font-weight:600;margin-bottom:.5rem}.form-grid{display:grid;grid-template-columns:1fr;gap:.25rem}.buttons-container{margin-top:2rem;margin-bottom:2rem;display:flex;justify-content:center;align-items:center}.user-type-image{display:none}.no-parent-message{padding:1rem;text-align:center;color:#666;font-size:1rem;font-weight:500;background-color:#f8f9fa;border-radius:.5rem;margin-top:.5rem}}@media screen and (min-width: 768px){.form-grid{display:grid;grid-template-columns:1fr 1fr 1fr;gap:1rem}}@media screen and (min-width: 1366px){form{padding:0}}.field{height:1px;max-width:67%}.error-message{color:red;font-size:12px;margin-top:5px}.p-selectbutton{display:flex;flex-wrap:wrap;justify-content:center;width:100%;min-width:10rem}:host ::ng-deep .p-selectbutton .p-button{padding:.5rem;font-size:.875rem;height:30px}:host ::ng-deep .p-buttonset .p-button:first-of-type{height:30px}\n"], dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1$1.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i1$1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$1.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i1$1.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i1$1.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "component", type: i6.SelectButton, selector: "p-selectButton", inputs: ["options", "optionLabel", "optionValue", "optionDisabled", "tabindex", "multiple", "style", "styleClass", "ariaLabelledBy", "disabled", "dataKey"], outputs: ["onOptionClick", "onChange"] }, { kind: "component", type: i7.Checkbox, selector: "p-checkbox", inputs: ["value", "name", "disabled", "binary", "label", "ariaLabelledBy", "ariaLabel", "tabindex", "inputId", "style", "styleClass", "labelStyleClass", "formControl", "checkboxIcon", "readonly", "required", "trueValue", "falseValue"], outputs: ["onChange"] }, { kind: "component", type: ButtonComponent, selector: "ipt-button", inputs: ["primary", "size", "label", "buttonType", "isEnabled"], outputs: ["onClick"] }, { kind: "component", type: InputComponent, selector: "ipt-input", inputs: ["inputType", "placeHolder", "validateText", "withPipe", "list", "iconUrl", "control", "prefix", "thousands", "decimal", "disabledSel"], outputs: ["dateSelected"] }, { kind: "component", type: SelectComponent, selector: "ipt-select", inputs: ["isRequired", "data", "defaultText", "selectCode", "disabledSel", "initialValue", "label", "control"], outputs: ["eventSelect"] }, { kind: "pipe", type: GenderDisplayPipe, name: "genderDisplay" }] });
2457
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.7", ngImport: i0, type: updateUserFormComponent, decorators: [{
2458
+ type: Component,
2459
+ args: [{ selector: 'ipt-update-user-form', template: "<!-- <p-dialog\n [(visible)]=\"visibleModal\"\n [style]=\"{width: '80%'}\"\n header=\"Actualizar usuario\"\n [modal]=\"true\"\n styleClass=\"p-fluid\"\n (onHide)=\"closeTable()\"\n [dismissableMask]=\"true\"\n [breakpoints]=\"{'1920px': '75vw', '1440px': '75vw', '1024px': '75vw', '576px': '100vw'}\"\n> -->\n<!-- <div>\n <pre>{{ updateUserForm.value | json }}</pre>\n <div>\n <pre>{{ updateUserForm.valid | json }}</pre>\n </div>\n</div> -->\n<main *ngIf=\"visibleModal\">\n <div @fade class=\"modal_container\">\n <div class=\"header_modal\">\n <!-- <h1>Crear usuario de {{ userType | titlecase}}</h1> -->\n <button (click)=\"closeTable()\">x</button>\n </div>\n <div class=\"grid_container\">\n <div>\n <form *ngIf=\"updateUserForm\" autocomplete=\"off\" [formGroup]=\"updateUserForm\">\n <!-- User Information Section -->\n <div class=\"section-header\">\n <h2>Informaci\u00F3n del usuario</h2>\n </div>\n <div class=\"form-grid\">\n <ipt-input\n [inputType]=\"'text'\"\n [placeHolder]=\"'Nombres'\"\n [control]=\"updateUserForm.controls['name']\"\n [validateText]=\"updateUserForm.controls['name'].hasError('required') ? 'Debe ingresar el nombre' :\n updateUserForm.controls['name'].hasError('minlength') ? 'M\u00EDnimo 3 caracteres' :\n updateUserForm.controls['name'].hasError('maxlength') ? 'M\u00E1ximo 32 caracteres' :\n updateUserForm.controls['name'].hasError('pattern') ? 'Solo letras, espacios y guiones' :\n updateUserForm.controls['name'].hasError('hasWhitespace') ? 'No se permiten espacios al inicio o final' :\n updateUserForm.controls['name'].hasError('onlyWhitespace') ? 'No se permiten solo espacios' :\n 'Debe ingresar el nombre'\"\n ></ipt-input>\n <ipt-input\n [inputType]=\"'text'\"\n [placeHolder]=\"'Apellidos'\"\n [control]=\"updateUserForm.controls['last_name']\"\n [validateText]=\"updateUserForm.controls['last_name'].hasError('required') ? 'Debe ingresar los apellidos' :\n updateUserForm.controls['last_name'].hasError('minlength') ? 'M\u00EDnimo 3 caracteres' :\n updateUserForm.controls['last_name'].hasError('maxlength') ? 'M\u00E1ximo 32 caracteres' :\n updateUserForm.controls['last_name'].hasError('pattern') ? 'Solo letras, espacios y guiones' :\n updateUserForm.controls['last_name'].hasError('hasWhitespace') ? 'No se permiten espacios al inicio o final' :\n updateUserForm.controls['last_name'].hasError('onlyWhitespace') ? 'No se permiten solo espacios' :\n 'Debe ingresar los apellidos'\"\n ></ipt-input>\n <ipt-input\n [inputType]=\"'email'\"\n [placeHolder]=\"'Email'\"\n [control]=\"updateUserForm.controls['email']\"\n [validateText]=\"updateUserForm.controls['email'].hasError('required') ? 'Debe ingresar un correo v\u00E1lido' :\n updateUserForm.controls['email'].hasError('maxlength') ? 'M\u00E1ximo 300 caracteres' :\n updateUserForm.controls['email'].hasError('pattern') ? 'Tiene que ser un email correcto' :\n updateUserForm.controls['email'].hasError('hasWhitespace') ? 'No se permiten espacios al inicio o final' :\n updateUserForm.controls['email'].hasError('onlyWhitespace') ? 'No se permiten solo espacios' :\n 'Debe ingresar un correo v\u00E1lido'\"\n ></ipt-input>\n <ipt-input\n *ngIf=\"showEmailIpt\"\n [inputType]=\"'text'\"\n [placeHolder]=\"'Email IPT'\"\n [control]=\"updateUserForm.controls['email_ipt']\"\n [validateText]=\"updateUserForm.controls['email_ipt'].hasError('required') ? 'Debe ingresar un correo IPT v\u00E1lido' :\n updateUserForm.controls['email_ipt'].hasError('maxlength') ? 'M\u00E1ximo 255 caracteres' :\n updateUserForm.controls['email_ipt'].hasError('pattern') ? 'Tiene que ser un email correcto' :\n updateUserForm.controls['email_ipt'].hasError('hasWhitespace') ? 'No se permiten espacios al inicio o final' :\n updateUserForm.controls['email_ipt'].hasError('onlyWhitespace') ? 'No se permiten solo espacios' :\n 'Debe ingresar un correo IPT v\u00E1lido'\"\n ></ipt-input>\n <ipt-input\n *ngIf=\"showEmailIpt\"\n [inputType]=\"'number'\"\n [placeHolder]=\"'Horas de servicio'\"\n [control]=\"updateUserForm.controls['service_hour']\"\n [validateText]=\"'Debe ingresar las horas de servicio'\"\n ></ipt-input>\n <ipt-input\n [inputType]=\"'text'\"\n [placeHolder]=\"'Rol'\"\n [control]=\"updateUserForm.controls['role']\"\n [validateText]=\"'Rol requerido'\"\n ></ipt-input>\n <ipt-select\n [initialValue]=\"updateUserForm.controls['gender'].value\"\n [control]=\"updateUserForm.controls['gender']\"\n [selectCode]=\"updateUserForm.controls['gender'].value === null ? 'Seleccione g\u00E9nero' : (updateUserForm.controls['gender'].value | genderDisplay)\"\n [data]=\"genders\"\n (eventSelect)=\"selectGender($event)\"\n [defaultText]=\"'Seleccione g\u00E9nero'\"\n ></ipt-select>\n <ipt-select\n [initialValue]=\"updateUserForm.controls['phone_indicative'].value\"\n [control]=\"updateUserForm.controls['phone_indicative']\"\n [data]=\"indicatives\"\n (eventSelect)=\"selectIndicative('phone_indicative', $event)\"\n [defaultText]=\"'Indicativo'\"\n ></ipt-select>\n <ipt-input\n [inputType]=\"'number'\"\n [placeHolder]=\"'Tel\u00E9fono'\"\n [control]=\"updateUserForm.controls['phone_number']\"\n [validateText]=\"'Debe ingresar un n\u00FAmero de tel\u00E9fono v\u00E1lido'\"\n ></ipt-input>\n <ipt-select\n [initialValue]=\"updateUserForm.controls['id_card_type'].value\"\n [control]=\"updateUserForm.controls['id_card_type']\"\n [selectCode]=\"updateUserForm.controls['id_card_type'].value === null ? 'Tipo de documento' : updateUserForm.controls['id_card_type'].value\"\n [isRequired]=\"true\"\n [data]=\"idTypes\"\n (eventSelect)=\"selectIdType('id_card_type', $event)\"\n [defaultText]=\"'Tipo de documento'\"\n ></ipt-select>\n <ipt-input\n [inputType]=\"'number'\"\n [placeHolder]=\"'Documento'\"\n [control]=\"updateUserForm.controls['id_card']\"\n [validateText]=\"'Debe ingresar el n\u00FAmero de documento'\"\n ></ipt-input>\n <ipt-select\n [initialValue]=\"updateUserForm.controls['country'].value\"\n [control]=\"updateUserForm.controls['country']\"\n [selectCode]=\"updateUserForm.controls['country'].value === null ? 'Pa\u00EDs de residencia' : updateUserForm.controls['country'].value\"\n (eventSelect)=\"selectCountry($event)\"\n [data]=\"countries\"\n [defaultText]=\"'Pa\u00EDs de residencia'\"\n ></ipt-select>\n <ipt-select\n [initialValue]=\"updateUserForm.controls['state'].value\"\n [control]=\"updateUserForm.controls['state']\"\n [selectCode]=\"updateUserForm.controls['state'].value === null ? 'Departamento o estado' : updateUserForm.controls['state'].value\"\n [isRequired]=\"true\"\n (eventSelect)=\"selectState($event)\"\n [data]=\"states\"\n [defaultText]=\"'Departamento o estado'\"\n ></ipt-select>\n <ipt-select\n [initialValue]=\"updateUserForm.controls['city'].value\"\n [control]=\"updateUserForm.controls['city']\"\n [selectCode]=\"updateUserForm.controls['city'].value === null ? 'Ciudad de residencia' : updateUserForm.controls['city'].value\"\n (eventSelect)=\"selectCity($event)\"\n [data]=\"cities\"\n [defaultText]=\"'Ciudad de residencia'\"\n ></ipt-select>\n <div *ngIf=\"this.DataStudent.role !== 13\" class=\"card flex justify-content-center align-content-center align-items-end text-cen ter \">\n <p-selectButton [options]=\"justifyOptions\" formControlName=\"status\" optionLabel=\"name\" optionValue=\"code\"></p-selectButton>\n </div>\n <div class=\"field\">\n <p-checkbox\n formControlName=\"changePassword\"\n label=\"Cambio de contrase\u00F1a\"\n [binary]=\"true\"\n ></p-checkbox>\n </div>\n </div>\n <div class=\"form-grid\" *ngIf=\"updateUserForm.controls['changePassword'].value\">\n <ipt-input\n [inputType]=\"'password'\"\n [placeHolder]=\"'Contrase\u00F1a'\"\n [control]=\"updateUserForm.controls['password']\"\n [validateText]=\"updateUserForm.controls['password'].hasError('required') ? 'La contrase\u00F1a es requerida' :\n updateUserForm.controls['password'].hasError('minlength') ? 'M\u00EDnimo 5 caracteres' :\n updateUserForm.controls['password'].hasError('maxlength') ? 'M\u00E1ximo 32 caracteres' :\n 'Ingrese una contrase\u00F1a v\u00E1lida'\"\n ></ipt-input>\n\n <ipt-input\n [inputType]=\"'password'\"\n [placeHolder]=\"'Repetir contrase\u00F1a'\"\n [control]=\"updateUserForm.controls['re_password']\"\n [validateText]=\"updateUserForm.controls['re_password'].hasError('required') ? 'Debe repetir la contrase\u00F1a' :\n updateUserForm.controls['re_password'].hasError('minlength') ? 'M\u00EDnimo 5 caracteres' :\n updateUserForm.controls['re_password'].hasError('maxlength') ? 'M\u00E1ximo 32 caracteres' :\n updateUserForm.hasError('mismatch') ? 'Las contrase\u00F1as no coinciden' :\n 'Repita la contrase\u00F1a'\"\n ></ipt-input>\n </div>\n\n <!-- Mensaje adicional para el error de mismatch (opcional, si quieres mostrarlo por separado) -->\n\n <div *ngIf=\"updateUserForm.hasError('mismatch') && updateUserForm.controls['changePassword'].value\" class=\"error-message\">\n <small >Las contrase\u00F1as no coinciden</small>\n </div>\n <!-- Parent Information Section -->\n <div class=\"section-header\" *ngIf=\"DataStudent?.cods\">\n <h2>Informaci\u00F3n del acudiente</h2>\n </div>\n <div *ngIf=\"DataStudent?.cods\">\n <div *ngIf=\"showParentSection; else noParentMessage\">\n <div class=\"form-grid\">\n <ipt-input\n [inputType]=\"'text'\"\n [placeHolder]=\"'Nombres'\"\n [control]=\"updateUserForm.controls['parent_name']\"\n [validateText]=\"'Debe ingresar el nombre'\"\n ></ipt-input>\n <ipt-input\n [inputType]=\"'text'\"\n [placeHolder]=\"'Apellidos'\"\n [control]=\"updateUserForm.controls['parent_last_name']\"\n [validateText]=\"'Debe ingresar los apellidos'\"\n ></ipt-input>\n <ipt-input\n [inputType]=\"'text'\"\n [placeHolder]=\"'Ocupaci\u00F3n'\"\n [control]=\"updateUserForm.controls['parent_occupation']\"\n [validateText]=\"'Debe ingresar la ocupaci\u00F3n'\"\n ></ipt-input>\n <ipt-input\n [inputType]=\"'email'\"\n [placeHolder]=\"'Email'\"\n [control]=\"updateUserForm.controls['parent_email']\"\n [validateText]=\"'Debe ingresar un correo v\u00E1lido'\"\n ></ipt-input>\n <ipt-select\n [initialValue]=\"updateUserForm.controls['parent_id_card_type'].value\"\n [control]=\"updateUserForm.controls['parent_id_card_type']\"\n [selectCode]=\"updateUserForm.controls['parent_id_card_type'].value === null ? 'Tipo de documento' : updateUserForm.controls['parent_id_card_type'].value\"\n [isRequired]=\"true\"\n [data]=\"idTypes\"\n (eventSelect)=\"selectIdType('parent_id_card_type', $event)\"\n [defaultText]=\"'Tipo de documento'\"\n ></ipt-select>\n <ipt-input\n [inputType]=\"'number'\"\n [placeHolder]=\"'Documento'\"\n [control]=\"updateUserForm.controls['parent_id_card']\"\n [validateText]=\"'Debe ingresar el n\u00FAmero de documento'\"\n ></ipt-input>\n <ipt-select\n [initialValue]=\"updateUserForm.controls['parent_phone_indicative'].value\"\n [control]=\"updateUserForm.controls['parent_phone_indicative']\"\n [data]=\"indicatives\"\n (eventSelect)=\"selectIndicative('parent_phone_indicative', $event)\"\n [defaultText]=\"'Indicativo'\"\n ></ipt-select>\n <ipt-input\n [inputType]=\"'number'\"\n [placeHolder]=\"'Tel\u00E9fono'\"\n [control]=\"updateUserForm.controls['parent_phone_number']\"\n [validateText]=\"'Debe ingresar un n\u00FAmero de tel\u00E9fono v\u00E1lido'\"\n ></ipt-input>\n\n <ipt-input\n [inputType]=\"'text'\"\n [placeHolder]=\"'Direcci\u00F3n de oficina'\"\n [control]=\"updateUserForm.controls['parent_office_adrress']\"\n [validateText]=\"'Debe ingresar la direcci\u00F3n'\"\n ></ipt-input>\n </div>\n </div>\n <ng-template #noParentMessage>\n <div class=\"no-parent-message\">\n <p>Sin acudiente</p>\n </div>\n </ng-template>\n </div>\n\n <div class=\"buttons-container\">\n <ipt-button\n [label]=\"'Actualizar'\"\n [isEnabled]=\"!loader && updateUserForm.valid && !updateUserForm.hasError('mismatch') && hasFormChanged()\"\n (onClick)=\"updateUser()\"\n [primary]=\"true\"\n ></ipt-button>\n </div>\n </form>\n </div>\n </div>\n </div>\n</main>\n\n<!-- </p-dialog> -->", styles: ["@media screen and (min-width: 320px){main{background:rgba(0,0,0,.472);color:#fff;position:fixed;top:0;left:0;height:100vh;width:100vw;transition:all .5s}main .modal_container{width:60%;height:-moz-fit-content;height:fit-content;position:absolute;inset:0;margin:auto;background-color:#fff;border-radius:3px}.header_modal{display:flex;padding:15px 15px 0;gap:1rem;align-items:center}.header_modal h1{padding:.5rem;background-color:#1c77f7;color:#fff;width:100%;border-radius:10px;font-size:1.25rem;font-weight:700}.header_modal button{margin-left:auto;font-size:26px;padding:1.2rem;font-weight:200;color:#6c7f7d;display:flex;width:25px;height:25px;align-items:center;justify-content:center;transition:50ms;background-color:transparent;border:none}.header_modal button:hover{cursor:pointer;border-radius:50%;background-color:#d4d4d4}.grid_container{display:grid;grid-template-columns:1fr;padding:0 15px}form{display:grid;grid-template-columns:1fr;gap:.25rem;justify-content:center;padding:0 1rem}.section-header{margin:1.5rem 0 .5rem;border-bottom:2px solid #1c77f7}.section-header h2{font-size:1.2rem;color:#1c77f7;font-weight:600;margin-bottom:.5rem}.form-grid{display:grid;grid-template-columns:1fr;gap:.25rem}.buttons-container{margin-top:2rem;margin-bottom:2rem;display:flex;justify-content:center;align-items:center}.user-type-image{display:none}.no-parent-message{padding:1rem;text-align:center;color:#666;font-size:1rem;font-weight:500;background-color:#f8f9fa;border-radius:.5rem;margin-top:.5rem}}@media screen and (min-width: 768px){.form-grid{display:grid;grid-template-columns:1fr 1fr 1fr;gap:1rem}}@media screen and (min-width: 1366px){form{padding:0}}.field{height:1px;max-width:67%}.error-message{color:red;font-size:12px;margin-top:5px}.p-selectbutton{display:flex;flex-wrap:wrap;justify-content:center;width:100%;min-width:10rem}:host ::ng-deep .p-selectbutton .p-button{padding:.5rem;font-size:.875rem;height:30px}:host ::ng-deep .p-buttonset .p-button:first-of-type{height:30px}\n"] }]
2460
+ }], ctorParameters: function () { return [{ type: i1$1.FormBuilder }, { type: i0.ChangeDetectorRef }, { type: ParameterService }, { type: BaseService }, { type: UserService }]; }, propDecorators: { DataStudent: [{
2461
+ type: Input
2462
+ }], visibleModal: [{
2463
+ type: Input
2464
+ }], closeModalIS: [{
2465
+ type: Output
2466
+ }], userUpdatedEvent: [{
2467
+ type: Output
2468
+ }] } });
2469
+
2470
+ class SidenavComponent {
2471
+ constructor(userService, baseService, storageService) {
2472
+ this.userService = userService;
2473
+ this.baseService = baseService;
2474
+ this.storageService = storageService;
2475
+ this.pageChangeEvent = new EventEmitter();
2476
+ this.appUser = false;
2477
+ this.routes = [];
2478
+ this.options = { weekday: 'long', month: 'long', day: 'numeric' };
2479
+ this.currentDay = new Date().toLocaleDateString('en-EN', this.options);
2480
+ this.hour = new Date().getHours();
2481
+ }
2482
+ ngOnInit() {
2483
+ let user = this.storageService.getCurrentUser()?.token;
2484
+ let token = user === undefined ? '' : user;
2485
+ let request = {
2486
+ token: token,
2487
+ department: this.department
2488
+ };
2489
+ this.userService.getRoutesForRole(request).subscribe((response) => {
2490
+ this.routes = response.data;
2491
+ });
2492
+ this.appUser = this.baseService.isAnAppUser();
2493
+ }
2494
+ clickPage(event) {
2495
+ this.pageChangeEvent.emit(event);
2496
+ }
2497
+ logout() {
2498
+ this.storageService.logout();
2499
+ this.pageChangeEvent.emit('logout');
2500
+ }
2501
+ }
2502
+ SidenavComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.7", ngImport: i0, type: SidenavComponent, deps: [{ token: UserService }, { token: BaseService }, { token: StorageService }], target: i0.ɵɵFactoryTarget.Component });
2503
+ SidenavComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.0.7", type: SidenavComponent, selector: "ipt-sidenav", inputs: { department: "department", setPage: "setPage", userName: "userName" }, outputs: { pageChangeEvent: "pageChangeEvent" }, ngImport: i0, template: `
2504
+ <mat-sidenav #sidenav mode="push" >
2505
+ <mat-toolbar color="primary" (click)="sidenav.toggle()">
2506
+ <span style="font-size: 15px;">{{department}}</span>
2507
+ <span class="menu-icon-close"></span>
2508
+ </mat-toolbar>
2076
2509
 
2077
- <div
2078
- *ngIf="
2079
- this.questionType === 'Relationship' ||
2080
- this.questionType === 'Complete' ||
2081
- this.questionType === 'Conversation'
2082
- "
2083
- class="sectionABCD"
2084
- >
2085
- <ipt-input
2086
- [control]="formGruoup.controls['answer1']"
2087
- [inputType]="'text'"
2088
- [placeHolder]="'Ingrese la opción'"
2089
- [validateText]="'Este campo es requerido'"
2090
- >
2091
- </ipt-input>
2092
- <ipt-input
2093
- [control]="formGruoup.controls['value1']"
2094
- [inputType]="'number'"
2095
- [placeHolder]="'Valor *'"
2096
- [validateText]="'Debe ser 0 o 1'"
2097
- (click)='clickDetection("value1")'
2098
- >
2099
- </ipt-input>
2100
- </div>
2510
+ <mat-nav-list *ngFor="let route of routes">
2511
+ <nav class="flex-container-menu">
2512
+ <ipt-aside-button
2513
+ [buttonActive]="this.setPage === route.page"
2514
+ [icon]="route.icon"
2515
+ [text]="route.text"
2516
+ (isClicked)="clickPage(route.page)"
2517
+ (click)="sidenav.toggle()"
2518
+ >
2519
+ </ipt-aside-button>
2520
+ </nav>
2521
+ </mat-nav-list>
2522
+ </mat-sidenav>
2101
2523
 
2102
- <div
2103
- *ngIf="
2104
- this.questionType === 'A, B, C' || this.questionType === 'A, B, C, D'
2105
- "
2106
- class="sectionABCD"
2107
- >
2108
- <ipt-input
2109
- [control]="formGruoup.controls['answer1']"
2110
- [inputType]="'text'"
2111
- [placeHolder]="'Opción A *'"
2112
- [validateText]="'Este campo es requerido'"
2113
- >
2114
- </ipt-input>
2115
- <ipt-input
2116
- [control]="formGruoup.controls['value1']"
2117
- [inputType]="'number'"
2118
- [placeHolder]="'Valor *'"
2119
- [validateText]="'Debe ser 0 o 1'"
2120
- (click)='clickDetection("value1")'
2121
- >
2122
- </ipt-input>
2524
+ <mat-toolbar class="header">
2525
+ <div class="menu-container" (click)="sidenav.toggle()">
2526
+ <p>Menu</p>
2527
+ <div class="menu-icon"></div>
2528
+ </div>
2123
2529
 
2124
- <ipt-input
2125
- [control]="formGruoup.controls['answer2']"
2126
- [inputType]="'text'"
2127
- [placeHolder]="'Opción B *'"
2128
- [validateText]="'Este campo es requerido'"
2129
- >
2130
- </ipt-input>
2131
- <ipt-input
2132
- [control]="formGruoup.controls['value2']"
2133
- [inputType]="'number'"
2134
- [placeHolder]="'Valor *'"
2135
- [validateText]="'Debe ser 0 o 1'"
2136
- (click)='clickDetection("value2")'
2137
- >
2138
- </ipt-input>
2530
+ <img class="img-logo" src="./assets/logos/IPT-logo.png" alt="" />
2139
2531
 
2140
- <ipt-input
2141
- [control]="formGruoup.controls['answer3']"
2142
- [inputType]="'text'"
2143
- [placeHolder]="'Opción C *'"
2144
- [validateText]="'Este campo es requerido'"
2145
- >
2146
- </ipt-input>
2147
- <ipt-input
2148
- [control]="formGruoup.controls['value3']"
2149
- [inputType]="'number'"
2150
- [placeHolder]="'Valor *'"
2151
- [validateText]="'Debe ser 0 o 1'"
2152
- (click)='clickDetection("value3")'
2153
- >
2154
- </ipt-input>
2532
+ <div class="text-container">
2533
+ <span class="p1">{{ currentDay }}</span>
2534
+ <span *ngIf="hour >= 0 && hour < 12" class="p2">
2535
+ Hey {{ userName }}, Good morning!
2536
+ </span>
2537
+ <p *ngIf="hour >= 12 && hour < 18" class="p2">
2538
+ Hey {{ userName }}, Good afternoon!
2539
+ </p>
2540
+ <p *ngIf="hour >= 18 && hour < 24" class="p2">
2541
+ Hey {{ userName }}, Good evening!
2542
+ </p>
2543
+ </div>
2155
2544
 
2156
- <ipt-input
2157
- *ngIf="this.questionType === 'A, B, C, D'"
2158
- [control]="formGruoup.controls['answer4']"
2159
- [inputType]="'text'"
2160
- [placeHolder]="'Opción D *'"
2161
- [validateText]="'Este campo es requerido'"
2162
- >
2163
- </ipt-input>
2164
- <ipt-input
2165
- *ngIf="this.questionType === 'A, B, C, D'"
2166
- [control]="formGruoup.controls['value4']"
2167
- [inputType]="'number'"
2168
- [placeHolder]="'Valor *'"
2169
- [validateText]="'Debe ser 0 o 1'"
2170
- (click)='clickDetection("value4")'
2171
- >
2172
- </ipt-input>
2173
- </div>
2174
- `, isInline: true, styles: ["form{display:grid;grid-template-columns:1fr}.sectionABCD{display:grid;grid-template-columns:12fr 0fr;gap:0px 10px}fieldset{background:transparent;border:none}\n"], dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: InputComponent, selector: "ipt-input", inputs: ["inputType", "placeHolder", "validateText", "withPipe", "list", "iconUrl", "control", "prefix", "thousands", "decimal", "disabledSel"], outputs: ["dateSelected"] }] });
2175
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.7", ngImport: i0, type: QuestionTypeComponent, decorators: [{
2545
+ <div *ngIf="!this.appUser" class="logout-container" (click)="logout()">
2546
+ <p class="logout-button">Cerrar sesión</p>
2547
+ <div class="photo-logout"></div>
2548
+ </div>
2549
+ </mat-toolbar>
2550
+ `, isInline: true, styles: ["*{font-family:Poppins,sans-serif}@media screen and (min-width: 320px){.header{background-color:#fff;display:flex;justify-content:space-between;filter:drop-shadow(0px -1px 7px #000)}mat-sidenav{width:-moz-fit-content!important;width:fit-content!important;background-color:#1c77f7!important}.img-logo,.text-container{display:none}.mat-toolbar.mat-primary{background-color:#fff!important;color:#003d99!important;filter:drop-shadow(0px -1px 7px #000)}.logout-container{box-shadow:#11111a1a 0 8px 24px,#11111a1a 0 16px 56px,#11111a1a 0 24px 80px;height:35px;width:auto;border-radius:30px;display:flex;margin-left:10px}.logout-button{display:flex;align-items:center;color:#1c77f7;font-weight:500;font-size:16px;margin-left:20px;text-align:center;width:150px}.photo-logout{background:url(./assets/icons/exit.png);background-size:25px 25px;background-position:center;background-repeat:no-repeat}.menu-icon{background:url(./assets/icons/icon-menu.png);background-size:25px 25px;background-position:center;background-repeat:no-repeat}.menu-icon-close{background:url(./assets/icons/cruz.png);background-size:25px 25px;background-position:center;background-repeat:no-repeat;width:35px;height:35px}.menu-container{box-shadow:#11111a1a 0 8px 24px,#11111a1a 0 16px 56px,#11111a1a 0 24px 80px;height:35px;width:52.5px;width:auto;border-radius:30px;display:flex}.menu-container:hover{cursor:pointer}.menu-container p{width:85px;display:flex;align-items:center;color:#1c77f7;font-weight:500;font-size:16px;margin:0 0 0 15px;text-align:center}}@media screen and (min-width: 768px){.img-logo{display:flex;width:120px;height:60px}.text-container{border-radius:40px;height:45px;width:100%;display:flex;gap:-100px;justify-content:center;flex-direction:column;align-items:flex-start}}.p1{color:gray;margin-left:30px;font-size:13px;height:20px}.p2{margin-left:30px;font-size:14px;font-weight:600;color:#1c77f7}.flex-container-menu{font-size:18px;color:#fff!important}.mat-nav-list{padding:0}\n"], dependencies: [{ kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i5.MatSidenav, selector: "mat-sidenav", inputs: ["fixedInViewport", "fixedTopGap", "fixedBottomGap"], exportAs: ["matSidenav"] }, { kind: "component", type: i6$1.MatToolbar, selector: "mat-toolbar", inputs: ["color"], exportAs: ["matToolbar"] }, { kind: "component", type: i7$1.MatNavList, selector: "mat-nav-list", inputs: ["disableRipple", "disabled"], exportAs: ["matNavList"] }, { kind: "component", type: AsideButtonComponent, selector: "ipt-aside-button", inputs: ["icon", "text", "buttonActive"], outputs: ["isClicked"] }] });
2551
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.7", ngImport: i0, type: SidenavComponent, decorators: [{
2176
2552
  type: Component,
2177
- args: [{ selector: 'ipt-question-types', template: `
2553
+ args: [{ selector: 'ipt-sidenav', template: `
2554
+ <mat-sidenav #sidenav mode="push" >
2555
+ <mat-toolbar color="primary" (click)="sidenav.toggle()">
2556
+ <span style="font-size: 15px;">{{department}}</span>
2557
+ <span class="menu-icon-close"></span>
2558
+ </mat-toolbar>
2559
+
2560
+ <mat-nav-list *ngFor="let route of routes">
2561
+ <nav class="flex-container-menu">
2562
+ <ipt-aside-button
2563
+ [buttonActive]="this.setPage === route.page"
2564
+ [icon]="route.icon"
2565
+ [text]="route.text"
2566
+ (isClicked)="clickPage(route.page)"
2567
+ (click)="sidenav.toggle()"
2568
+ >
2569
+ </ipt-aside-button>
2570
+ </nav>
2571
+ </mat-nav-list>
2572
+ </mat-sidenav>
2573
+
2574
+ <mat-toolbar class="header">
2575
+ <div class="menu-container" (click)="sidenav.toggle()">
2576
+ <p>Menu</p>
2577
+ <div class="menu-icon"></div>
2578
+ </div>
2579
+
2580
+ <img class="img-logo" src="./assets/logos/IPT-logo.png" alt="" />
2581
+
2582
+ <div class="text-container">
2583
+ <span class="p1">{{ currentDay }}</span>
2584
+ <span *ngIf="hour >= 0 && hour < 12" class="p2">
2585
+ Hey {{ userName }}, Good morning!
2586
+ </span>
2587
+ <p *ngIf="hour >= 12 && hour < 18" class="p2">
2588
+ Hey {{ userName }}, Good afternoon!
2589
+ </p>
2590
+ <p *ngIf="hour >= 18 && hour < 24" class="p2">
2591
+ Hey {{ userName }}, Good evening!
2592
+ </p>
2593
+ </div>
2594
+
2595
+ <div *ngIf="!this.appUser" class="logout-container" (click)="logout()">
2596
+ <p class="logout-button">Cerrar sesión</p>
2597
+ <div class="photo-logout"></div>
2598
+ </div>
2599
+ </mat-toolbar>
2600
+ `, styles: ["*{font-family:Poppins,sans-serif}@media screen and (min-width: 320px){.header{background-color:#fff;display:flex;justify-content:space-between;filter:drop-shadow(0px -1px 7px #000)}mat-sidenav{width:-moz-fit-content!important;width:fit-content!important;background-color:#1c77f7!important}.img-logo,.text-container{display:none}.mat-toolbar.mat-primary{background-color:#fff!important;color:#003d99!important;filter:drop-shadow(0px -1px 7px #000)}.logout-container{box-shadow:#11111a1a 0 8px 24px,#11111a1a 0 16px 56px,#11111a1a 0 24px 80px;height:35px;width:auto;border-radius:30px;display:flex;margin-left:10px}.logout-button{display:flex;align-items:center;color:#1c77f7;font-weight:500;font-size:16px;margin-left:20px;text-align:center;width:150px}.photo-logout{background:url(./assets/icons/exit.png);background-size:25px 25px;background-position:center;background-repeat:no-repeat}.menu-icon{background:url(./assets/icons/icon-menu.png);background-size:25px 25px;background-position:center;background-repeat:no-repeat}.menu-icon-close{background:url(./assets/icons/cruz.png);background-size:25px 25px;background-position:center;background-repeat:no-repeat;width:35px;height:35px}.menu-container{box-shadow:#11111a1a 0 8px 24px,#11111a1a 0 16px 56px,#11111a1a 0 24px 80px;height:35px;width:52.5px;width:auto;border-radius:30px;display:flex}.menu-container:hover{cursor:pointer}.menu-container p{width:85px;display:flex;align-items:center;color:#1c77f7;font-weight:500;font-size:16px;margin:0 0 0 15px;text-align:center}}@media screen and (min-width: 768px){.img-logo{display:flex;width:120px;height:60px}.text-container{border-radius:40px;height:45px;width:100%;display:flex;gap:-100px;justify-content:center;flex-direction:column;align-items:flex-start}}.p1{color:gray;margin-left:30px;font-size:13px;height:20px}.p2{margin-left:30px;font-size:14px;font-weight:600;color:#1c77f7}.flex-container-menu{font-size:18px;color:#fff!important}.mat-nav-list{padding:0}\n"] }]
2601
+ }], ctorParameters: function () { return [{ type: UserService }, { type: BaseService }, { type: StorageService }]; }, propDecorators: { department: [{
2602
+ type: Input
2603
+ }], setPage: [{
2604
+ type: Input
2605
+ }], userName: [{
2606
+ type: Input
2607
+ }], pageChangeEvent: [{
2608
+ type: Output
2609
+ }] } });
2610
+
2611
+ class QuestionTypeComponent {
2612
+ ngOnChanges(changes) {
2613
+ if (changes['formGruoup']) {
2614
+ }
2615
+ }
2616
+ clickDetection(value) {
2617
+ switch (value) {
2618
+ case 'value1':
2619
+ if (this.formGruoup.controls['value1'].value === 1) {
2620
+ this.formGruoup.controls['value2'].value === 0;
2621
+ this.formGruoup.controls['value3'].value === 0;
2622
+ this.formGruoup.controls['value4'].value === 0;
2623
+ }
2624
+ break;
2625
+ case 'value2':
2626
+ if (this.formGruoup.controls['value2'].value === 1) {
2627
+ this.formGruoup.controls['value1'].value === 0;
2628
+ this.formGruoup.controls['value3'].value === 0;
2629
+ this.formGruoup.controls['value4'].value === 0;
2630
+ }
2631
+ break;
2632
+ case 'value3':
2633
+ if (this.formGruoup.controls['value3'].value === 1) {
2634
+ this.formGruoup.controls['value1'].value === 0;
2635
+ this.formGruoup.controls['value2'].value === 0;
2636
+ this.formGruoup.controls['value4'].value === 0;
2637
+ }
2638
+ break;
2639
+ case 'value4':
2640
+ if (this.formGruoup.controls['value4'].value === 1) {
2641
+ this.formGruoup.controls['value1'].value === 0;
2642
+ this.formGruoup.controls['value2'].value === 0;
2643
+ this.formGruoup.controls['value3'].value === 0;
2644
+ }
2645
+ break;
2646
+ default:
2647
+ console.log('exception');
2648
+ break;
2649
+ }
2650
+ }
2651
+ }
2652
+ QuestionTypeComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.7", ngImport: i0, type: QuestionTypeComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
2653
+ QuestionTypeComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.0.7", type: QuestionTypeComponent, selector: "ipt-question-types", inputs: { questionType: "questionType", formGruoup: "formGruoup" }, usesOnChanges: true, ngImport: i0, template: `
2178
2654
  <div
2179
2655
  *ngIf="
2180
2656
  this.questionType === 'True or False' ||
@@ -2319,917 +2795,466 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.7", ngImpor
2319
2795
  >
2320
2796
  </ipt-input>
2321
2797
  </div>
2322
- `, styles: ["form{display:grid;grid-template-columns:1fr}.sectionABCD{display:grid;grid-template-columns:12fr 0fr;gap:0px 10px}fieldset{background:transparent;border:none}\n"] }]
2323
- }], propDecorators: { questionType: [{
2324
- type: Input
2325
- }], formGruoup: [{
2326
- type: Input
2327
- }] } });
2328
-
2329
- class ScheduleFormatPipe {
2330
- transform(schedule) {
2331
- if (!schedule) {
2332
- return 'Sin horario';
2333
- }
2334
- const isWithoutSchedule = typeof schedule === 'string' && schedule == 'without schedule';
2335
- if (isWithoutSchedule) {
2336
- return 'Sin horario';
2337
- }
2338
- const formattedDays = [];
2339
- // Mapea los días en inglés a español
2340
- const daysMapping = {
2341
- Monday: 'Lun',
2342
- Tuesday: 'Mar',
2343
- Wednesday: 'Mie',
2344
- Thursday: 'Jue',
2345
- Friday: 'Vie',
2346
- Saturday: 'Sáb',
2347
- Sunday: 'Dom'
2348
- };
2349
- if (Array.isArray(schedule)) {
2350
- schedule.forEach(item => {
2351
- const parts = item.split(' at ');
2352
- if (parts.length !== 2) {
2353
- return;
2354
- }
2355
- const [day] = parts;
2356
- const spanishDay = daysMapping[day];
2357
- if (spanishDay && !formattedDays.includes(spanishDay)) {
2358
- formattedDays.push(spanishDay);
2359
- }
2360
- });
2361
- }
2362
- return formattedDays.length > 0 ? formattedDays.join(', ') : 'Sin horario';
2363
- }
2364
- }
2365
- ScheduleFormatPipe.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.7", ngImport: i0, type: ScheduleFormatPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe });
2366
- ScheduleFormatPipe.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "14.0.7", ngImport: i0, type: ScheduleFormatPipe, name: "scheduleFormat" });
2367
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.7", ngImport: i0, type: ScheduleFormatPipe, decorators: [{
2368
- type: Pipe,
2369
- args: [{
2370
- name: 'scheduleFormat'
2371
- }]
2372
- }] });
2373
-
2374
- class ScheduleTimeFormatPipe {
2375
- transform(schedule) {
2376
- if (!schedule || !Array.isArray(schedule) || schedule.length === 0) {
2377
- return 'Sin horario';
2378
- }
2379
- const firstItem = schedule[0];
2380
- const match = firstItem.match(/(\d{2}:\d{2}:\d{2}) to (\d{2}:\d{2}:\d{2})/);
2381
- if (match && match.length === 3) {
2382
- const [startTime, endTime] = match.slice(1);
2383
- return `${this.formatTo12Hours(startTime)} to ${this.formatTo12Hours(endTime)}`;
2384
- }
2385
- return 'Sin horario';
2386
- }
2387
- formatTo12Hours(time) {
2388
- const [hours, minutes, seconds] = time.split(':').map(Number);
2389
- const period = hours >= 12 ? 'PM' : 'AM';
2390
- const formattedHours = hours % 12 || 12; // Handle noon as 12 PM
2391
- return `${formattedHours}:${this.padWithZero(minutes)} ${period}`;
2392
- }
2393
- padWithZero(value) {
2394
- return value < 10 ? `0${value}` : `${value}`;
2395
- }
2396
- }
2397
- ScheduleTimeFormatPipe.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.7", ngImport: i0, type: ScheduleTimeFormatPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe });
2398
- ScheduleTimeFormatPipe.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "14.0.7", ngImport: i0, type: ScheduleTimeFormatPipe, name: "scheduleTimeFormat" });
2399
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.7", ngImport: i0, type: ScheduleTimeFormatPipe, decorators: [{
2400
- type: Pipe,
2401
- args: [{
2402
- name: 'scheduleTimeFormat'
2403
- }]
2404
- }] });
2405
-
2406
- class TypeLevelPipe {
2407
- transform(value) {
2408
- if (value === 'BEGINNERS I') {
2409
- return 'Beg.I';
2410
- }
2411
- if (value === 'BEGINNERS II') {
2412
- return 'Beg.II';
2413
- }
2414
- if (value === 'BEGINNERS III') {
2415
- return 'Beg.III';
2416
- }
2417
- if (value === 'STARTERS I') {
2418
- return 'Sta.I';
2419
- }
2420
- if (value === 'STARTERS II') {
2421
- return 'Sta.II';
2422
- }
2423
- if (value === 'MOVERS I') {
2424
- return 'Mov.I';
2425
- }
2426
- if (value === 'MOVERS II') {
2427
- return 'Mov.II';
2428
- }
2429
- if (value === 'PRE-A1') {
2430
- return 'PRE-A1';
2431
- }
2432
- if (value === 'A1') {
2433
- return 'A1';
2434
- }
2435
- if (value === 'A2') {
2436
- return 'A2';
2437
- }
2438
- if (value === 'B1') {
2439
- return 'B1';
2440
- }
2441
- if (value === 'B1+') {
2442
- return 'B1+';
2443
- }
2444
- if (value === 'B2') {
2445
- return 'B2';
2446
- }
2447
- else {
2448
- return '-';
2449
- }
2450
- }
2451
- }
2452
- TypeLevelPipe.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.7", ngImport: i0, type: TypeLevelPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe });
2453
- TypeLevelPipe.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "14.0.7", ngImport: i0, type: TypeLevelPipe, name: "typeLevel" });
2454
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.7", ngImport: i0, type: TypeLevelPipe, decorators: [{
2455
- type: Pipe,
2456
- args: [{
2457
- name: 'typeLevel'
2458
- }]
2459
- }] });
2460
-
2461
- class CardCourseComponent {
2462
- constructor() {
2463
- this.isLoading = true;
2464
- this.codeCourse = new EventEmitter();
2465
- this.courseAcademy = [];
2466
- this.courseKids = [];
2467
- this.courseSchools = [];
2468
- this.visibleAcademy = false;
2469
- this.visibleKids = false;
2470
- this.visibleSchools = false;
2471
- this.skeleton = [{}, {}];
2472
- }
2473
- ngOnInit() {
2474
- if (this.CourseData.length == 0) {
2475
- this.isLoading = true;
2476
- }
2477
- else {
2478
- this.isLoading = false;
2479
- }
2480
- }
2481
- ngOnChanges(changes) {
2482
- if (changes['CourseData']) {
2483
- if (!this.CourseData) {
2484
- this.courseAcademy = [];
2485
- this.courseKids = [];
2486
- this.courseSchools = [];
2487
- this.isLoading = false;
2488
- this.visibleAcademy = false;
2489
- this.visibleKids = false;
2490
- this.visibleSchools = false;
2491
- }
2492
- else {
2493
- this.isLoading = false;
2494
- this.courseAcademy = this.CourseData.Academy;
2495
- this.courseKids = this.CourseData.Kids;
2496
- this.courseSchools = this.CourseData.Schools;
2497
- this.visibleAcademy = this.CourseData.Academy ? true : false;
2498
- this.visibleKids = this.CourseData.Kids ? true : false;
2499
- this.visibleSchools = this.CourseData.Schools ? true : false;
2500
- }
2501
- }
2502
- }
2503
- viewDataCourse(codeCourse) {
2504
- this.codeCourse.emit(codeCourse);
2505
- }
2506
- getCssClass(level) {
2507
- switch (level) {
2508
- case 'PRE-A1':
2509
- return 'levelAone';
2510
- case 'A1':
2511
- return 'levelAonetwo';
2512
- case 'A2':
2513
- return 'levelAtwo';
2514
- case 'B1':
2515
- return 'levelBone';
2516
- case 'B2':
2517
- return 'levelBtwo';
2518
- case 'B1+':
2519
- return 'levelBplus';
2520
- case 'MOVERS I':
2521
- case 'MOVERS II':
2522
- case 'BEGINNERS I':
2523
- case 'BEGINNERS II':
2524
- case 'BEGINNERS III':
2525
- case 'STARTERS I':
2526
- case 'STARTERS II':
2527
- return 'beginner';
2528
- default:
2529
- return '';
2530
- }
2531
- }
2532
- }
2533
- CardCourseComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.7", ngImport: i0, type: CardCourseComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
2534
- CardCourseComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.0.7", type: CardCourseComponent, selector: "ipt-card-course-self-cod-managed", inputs: { CourseData: "CourseData", isLoading: "isLoading" }, outputs: { codeCourse: "codeCourse" }, usesOnChanges: true, ngImport: i0, template: "<div *ngIf=\"!isLoading\" class=\"main-container\">\n\n <!-- cards Academy -->\n <div class=\"container__span-header flex justify-content-start\" *ngIf=\"visibleAcademy || visibleKids || visibleSchools\">\n <span>Selecciona un Plan</span>\n </div>\n\n <p-panel\n *ngIf=\"visibleAcademy\"\n header=\"Plan Academy\"\n [toggleable]=\"true\"\n [collapsed]=\"false\"\n id=\"academic_plan\"\n class=\"academic_plan\"\n >\n <ng-template pTemplate=\"icons\"> </ng-template>\n <main *ngIf=\"!isLoading\" class=\"flex flex-col\">\n <section *ngFor=\"let course of courseAcademy\" class=\"card1 animate__animated\" (click)=\"viewDataCourse(course)\">\n <h3 class=\"card1__title__academic\">{{ course.course_type.label }}</h3>\n <p class=\"card1__content\">\n <strong class=\"type-theory\">Clases Teoricas: </strong>{{ course.course_schedule | scheduleFormat }}<br>\n <strong class=\"type-theory\">Horario Teorico: </strong>{{ course.course_schedule | scheduleTimeFormat }}<br>\n <!-- <strong class=\"type-theory\">Theory Teacher: </strong>{{ course.teacher | titlecase }}<br> -->\n <!-- <strong class=\"type-theory\">Theory Classroom: </strong><span>{{ course.course_scheduleDetails[0].ClassRoom.name | titlecase}}</span><br> -->\n <strong><hr></strong>\n <strong class=\"type-club\">Clases Club: </strong>\n <span *ngIf=\"course.course_club\">{{ course.course_club.course_schedule | scheduleFormat }}</span><br>\n <strong class=\"type-club\">Horario Club: </strong>\n <span *ngIf=\"course.course_club\">{{ course.course_club.course_schedule | scheduleTimeFormat }}</span><br>\n <strong>Modalidad: </strong>\n <span *ngIf=\"course.course_modality\">{{ course.course_modality.name | titlecase }}</span><br>\n <!-- <strong class=\"type-club\">Club Teacher: </strong>\n <span *ngIf=\"course.course_club\">{{ course.course_club.teacher | titlecase }}</span><br> -->\n <!-- <strong class=\"type-club\">Club Classroom: </strong>\n <span *ngIf=\"course.course_club\">{{ course.course_club.course_scheduleDetails[0].ClassRoom.name | titlecase}}</span><br> -->\n <!-- <strong><hr></strong> -->\n <!-- <strong *ngIf=\"course.start_date === null\">Posible inicio: </strong>{{ course.start_date === null ? course.to_start : null | date:'dd/MM/yyyy' }}<br *ngIf=\"course.start_date === null\">\n <strong *ngIf=\"course.start_date !== null\">Fecha Inicio: </strong>{{ course.start_date !== null ? course.start_date : null | date:'dd/MM/yyyy' }}<br *ngIf=\"course.finish_date !== null\">\n <strong *ngIf=\"course.finish_date !== null\">Fecha culminacion: </strong>{{ course.finish_date !== null ? course.finish_date : null | date:'dd/MM/yyyy' }}<br *ngIf=\"course.finish_date !== null\"> -->\n <!-- <strong>Created: </strong>{{ course.created_at | date:'dd/MM/yyyy' }}<br> -->\n </p>\n <div class=\"card1__date\">\n <!-- <span\n [ngClass]=\"course.status?.color_status\"\n ></span> -->\n <!-- <span class=\"course-code\">Code: {{course.code}}</span> -->\n </div>\n <div class=\"card1__arrow\" [ngClass]=\"getCssClass(course.english_level.name)\">\n <span>{{ course.english_level.name | typeLevel}}</span>\n </div>\n </section>\n </main>\n <ipt-loader *ngIf=\"isLoading\"></ipt-loader>\n </p-panel>\n\n <!-- cards Kids -->\n\n <p-panel\n *ngIf=\"visibleKids\"\n header=\"Plan Kids\"\n [toggleable]=\"true\"\n [collapsed]=\"false\"\n id=\"social_kids\"\n >\n <ng-template pTemplate=\"icons\"> </ng-template>\n <main *ngIf=\"!isLoading\" class=\"flex flex-col\">\n <section *ngFor=\"let course of courseKids\" class=\"card1 animate__animated\" (click)=\"viewDataCourse(course)\">\n <h3 class=\"card1__title__kids\">{{ course.course_type.label }}</h3>\n <p class=\"card1__content\">\n <strong class=\"type-theory\">Clases Teoricas: </strong>{{ course.course_schedule | scheduleFormat }}<br>\n <strong class=\"type-theory\">Horario Teorico: </strong>{{ course.course_schedule | scheduleTimeFormat }}<br>\n <!-- <strong class=\"type-theory\">Theory Teacher: </strong>{{ course.teacher | titlecase }}<br>\n <strong class=\"type-theory\">Theory Classroom: </strong><span>{{ course.course_scheduleDetails[0].ClassRoom.name | titlecase}}</span><br> -->\n <strong><hr></strong>\n <strong class=\"type-club\">Clases Club: </strong>\n <span *ngIf=\"course.course_club\">{{ course.course_club.course_schedule | scheduleFormat }}</span><br>\n <strong class=\"type-club\">Horario Club: </strong>\n <span *ngIf=\"course.course_club\">{{ course.course_club.course_schedule | scheduleTimeFormat }}</span><br>\n <strong>Modalidad: </strong>\n <span *ngIf=\"course.course_modality\">{{ course.course_modality.name | titlecase }}</span><br>\n <!-- <strong class=\"type-club\">Club Teacher: </strong>\n <span *ngIf=\"course.course_club\">{{ course.course_club.teacher | titlecase }}</span><br> -->\n <!-- <strong class=\"type-club\">Club Classroom: </strong>\n <span *ngIf=\"course.course_club\">{{ course.course_club.course_scheduleDetails[0].ClassRoom.name | titlecase}}</span><br> -->\n <!-- <strong><hr></strong> -->\n <!-- <strong *ngIf=\"course.start_date === null\">Posible inicio: </strong>{{ course.start_date === null ? course.to_start : null | date:'dd/MM/yyyy' }}<br *ngIf=\"course.start_date === null\">\n <strong *ngIf=\"course.start_date !== null\">Fecha Inicio: </strong>{{ course.start_date !== null ? course.start_date : null | date:'dd/MM/yyyy' }}<br *ngIf=\"course.finish_date !== null\">\n <strong *ngIf=\"course.finish_date !== null\">Fecha culminacion: </strong>{{ course.finish_date !== null ? course.finish_date : null | date:'dd/MM/yyyy' }}<br *ngIf=\"course.finish_date !== null\"> -->\n <!-- <strong>Created: </strong>{{ course.created_at | date:'dd/MM/yyyy' }}<br> -->\n </p>\n <div class=\"card1__date\">\n <!-- <span\n [ngClass]=\"course.status?.color_status\"\n ></span> -->\n <!-- <span class=\"course-code\">Code: {{course.code}}</span> -->\n </div>\n <div class=\"card1__arrow\" [ngClass]=\"getCssClass(course.english_level.name)\">\n <span>{{ course.english_level.name | typeLevel}}</span>\n </div>\n </section>\n </main>\n <ipt-loader *ngIf=\"isLoading\"></ipt-loader>\n </p-panel>\n\n <!-- cards Schools -->\n\n <p-panel\n *ngIf=\"visibleSchools\"\n header=\"Plan Schools\"\n [toggleable]=\"true\"\n [collapsed]=\"false\"\n id=\"social_school\"\n >\n <ng-template pTemplate=\"icons\"> </ng-template>\n <main *ngIf=\"!isLoading\" class=\"flex flex-col\">\n <section *ngFor=\"let course of courseSchools\" class=\"card1 animate__animated\" (click)=\"viewDataCourse(course)\">\n <h3 class=\"card1__title__schools\">{{ course.course_type.label }}</h3>\n <p class=\"card1__content\">\n <strong class=\"type-theory\">Clases Teoricas: </strong>{{ course.course_schedule | scheduleFormat }}<br>\n <strong class=\"type-theory\">Horario Teorico: </strong>{{ course.course_schedule | scheduleTimeFormat }}<br>\n <!-- <strong class=\"type-theory\">Theory Teacher: </strong>{{ course.teacher | titlecase }}<br>\n <strong class=\"type-theory\">Theory Classroom: </strong><span>{{ course.course_scheduleDetails[0].ClassRoom.name | titlecase}}</span><br> -->\n <strong><hr></strong>\n <strong class=\"type-club\">Clases Club: </strong>\n <span *ngIf=\"course.course_club\">{{ course.course_club.course_schedule | scheduleFormat }}</span><br>\n <strong class=\"type-club\">Horario Club: </strong>\n <span *ngIf=\"course.course_club\">{{ course.course_club.course_schedule | scheduleTimeFormat }}</span><br>\n <strong>Modalidad: </strong>\n <span *ngIf=\"course.course_modality\">{{ course.course_modality.name | titlecase }}</span><br>\n <!-- <strong class=\"type-club\">Club Teacher: </strong>\n <span *ngIf=\"course.course_club\">{{ course.course_club.teacher | titlecase }}</span><br>\n <strong class=\"type-club\">Club Classroom: </strong>\n <span *ngIf=\"course.course_club\">{{ course.course_club.course_scheduleDetails[0].ClassRoom.name | titlecase}}</span><br> -->\n <!-- <strong><hr></strong> -->\n <!-- <strong *ngIf=\"course.start_date === null\">Posible inicio: </strong>{{ course.start_date === null ? course.to_start : null | date:'dd/MM/yyyy' }}<br *ngIf=\"course.start_date === null\">\n <strong *ngIf=\"course.start_date !== null\">Fecha Inicio: </strong>{{ course.start_date !== null ? course.start_date : null | date:'dd/MM/yyyy' }}<br *ngIf=\"course.finish_date !== null\">\n <strong *ngIf=\"course.finish_date !== null\">Fecha culminacion: </strong>{{ course.finish_date !== null ? course.finish_date : null | date:'dd/MM/yyyy' }}<br *ngIf=\"course.finish_date !== null\"> -->\n <!-- <strong>Created: </strong>{{ course.created_at | date:'dd/MM/yyyy' }}<br> -->\n </p>\n <div class=\"card1__date\">\n <!-- <span\n [ngClass]=\"course.status?.color_status\"\n ></span> -->\n <!-- <span class=\"course-code\">Code: {{course.code}}</span> -->\n </div>\n <div class=\"card1__arrow\" [ngClass]=\"getCssClass(course.english_level.name)\">\n <span>{{ course.english_level.name | typeLevel}}</span>\n </div>\n </section>\n </main>\n <ipt-loader *ngIf=\"isLoading\"></ipt-loader>\n </p-panel>\n\n <div class=\"container__span-footer flex justify-content-center\" *ngIf=\"!visibleAcademy && !visibleKids && !visibleSchools\">\n <span>No se encontraron planes</span>\n </div>\n</div>\n<div *ngIf=\"isLoading\">\n\n <p-panel\n header=\"\"\n [toggleable]=\"true\"\n [collapsed]=\"false\"\n id=\"p-component panel-skeleton\"\n >\n <ng-template pTemplate=\"icons\"> </ng-template>\n <main class=\"flex flex-col\">\n <section *ngFor=\"let course of skeleton\" class=\"card1 animate__animated\" >\n <p-skeleton width=\"12rem\" height=\"2rem\" styleClass=\"mb-2\" ></p-skeleton>\n <p class=\"card1__content_skeleton\">\n <p-skeleton width=\"9rem\" height=\"1rem\" styleClass=\"mb-2\" ></p-skeleton>\n <p-skeleton width=\"9rem\" height=\"1rem\" styleClass=\"mb-2\" ></p-skeleton>\n <strong><hr></strong>\n <p-skeleton width=\"9rem\" height=\"1rem\" styleClass=\"mb-2\" ></p-skeleton>\n <p-skeleton width=\"9rem\" height=\"1rem\" styleClass=\"mb-2\" ></p-skeleton>\n </p>\n <div class=\"card1__date__skeleton\">\n </div>\n <div class=\"card1__arrow\" >\n <p-skeleton size=\"3rem\" styleClass=\"mr-2\" ></p-skeleton>\n </div>\n </section>\n </main>\n </p-panel>\n\n</div>\n\n", styles: ["main{display:flex;gap:.7rem;flex-wrap:wrap}.card1{--border-radius: 3px;--primary-color: #1c77f7;--secondary-color: #2c2c2c;--tertiary-color: #ffffff;width:340px;font-family:Poppins,sans-serif;cursor:pointer;border-radius:var(--border-radius);background:#f1f1f3;box-shadow:0 8px 16px #00000008;position:relative;transition:.3s;border:solid .5px #e0e0e0}.type-theory{color:#00aecc}.type-club{color:#0d9d36}.msg-two-coup{color:#000!important;padding-left:7px;padding-right:7px;border-radius:5px;background-color:#4ed1e9}.msg-two-lev{color:#000!important;padding-left:5px;padding-right:5px;border-radius:5px;margin-left:13px;background-color:#fb8f42}.beginner{color:#fff!important;padding-left:5px;padding-right:5px;border-radius:5px;margin-left:13px;background-color:#94b9aa}.levelAone{color:#fff!important;padding-left:5px;padding-right:5px;border-radius:5px;margin-left:13px;background-color:#c4291c}.levelAonetwo{color:#fff!important;padding-left:5px;padding-right:5px;border-radius:5px;margin-left:13px;background-color:#418ed1}.levelAtwo{color:#fff!important;padding-left:5px;padding-right:5px;border-radius:5px;margin-left:13px;background-color:#4fad65}.levelBone{color:#fff!important;padding-left:5px;padding-right:5px;border-radius:5px;margin-left:13px;background-color:#6824b8}.levelBtwo{color:#fff!important;padding-left:5px;padding-right:5px;border-radius:5px;margin-left:13px;background-color:#06161e}.levelBplus{color:#fff!important;padding-left:5px;padding-right:5px;border-radius:5px;margin-left:13px;background-color:#cc6529}.main-container{margin-top:1%}.course-code{font-size:12px;font-weight:400;margin-left:.5rem}.card1:hover{box-shadow:#0000003d 0 3px 8px}.card1>*+*{margin-top:.7em}.card1 .card1__content{padding-left:10px;color:var(--secondary-color);font-size:.86rem;font-weight:200;z-index:1;position:relative}strong{color:var(--secondary-color);font-weight:300}:host ::ng-deep .p-panel .p-panel-header .p-panel-header-icon{color:#fff!important}.card1 .card1__title__academic{color:#fff;padding-left:10px;padding-right:10px;font-size:1.1rem;font-weight:300;z-index:1;position:relative;background:rgb(4,18,106);background:linear-gradient(175deg,rgba(4,18,106,1) 27%,rgba(48,63,155,1) 53%,rgba(28,119,247,1)90%);border-radius:6px 6px 0 0}:host ::ng-deep #academic_plan .p-panel .p-panel-header{color:#fff!important;background:rgb(4,18,106);background:linear-gradient(175deg,rgba(4,18,106,1) 27%,rgba(48,63,155,1) 53%,rgba(28,119,247,1)90%);border-radius:6px 6px 0 0}.card1 .card1__title__kids{color:#fff;padding-left:10px;padding-right:10px;font-size:1.1rem;font-weight:300;z-index:1;position:relative;background:rgb(127,33,99);background:linear-gradient(175deg,rgba(127,33,99,1) 27%,rgba(171,49,135,1) 53%,rgba(220,76,178,1) 90%);border-radius:6px 6px 0 0}:host ::ng-deep #social_kids .p-panel .p-panel-header{color:#fff!important;background:rgb(127,33,99);background:linear-gradient(175deg,rgba(127,33,99,1) 27%,rgba(171,49,135,1) 53%,rgba(220,76,178,1) 90%);border-radius:6px 6px 0 0}.card1 .card1__title__schools{color:#fff;padding-left:10px;padding-right:10px;font-size:1.1rem;font-weight:300;z-index:1;position:relative;background:rgb(57,130,154);background:linear-gradient(175deg,rgba(57,130,154,1) 27%,rgba(44,147,180,1) 53%,rgba(135,182,197,1) 90%);border-radius:6px 6px 0 0}:host ::ng-deep #social_school .p-panel .p-panel-header{color:#fff!important;background:rgb(57,130,154);background:linear-gradient(175deg,rgba(57,130,154,1) 27%,rgba(44,147,180,1) 53%,rgba(135,182,197,1) 90%);border-radius:6px 6px 0 0}.card1 .card1__date{color:#807c7c;padding-left:10px;font-size:.4rem;z-index:1;position:relative;margin-bottom:2%;margin-top:.7rem}.card1 .card1__arrow{padding-left:10px;position:absolute;padding:.3rem;border-top-left-radius:var(--border-radius);border-bottom-right-radius:var(--border-radius);bottom:0;right:0;transition:.2s;display:flex;justify-content:center;align-items:center}.card1 svg{transition:.2s}.card1:hover .card1__title{color:var(--secondary-color)}.card1:hover .card1__arrow{background:rgb(170,41,170)}.card1:hover .card1__arrow svg{transform:translate(3px)}.card1:hover strong{color:#aa29aa;font-weight:400}.card1:hover .course-code{color:#aa29aa;font-weight:500}.image-container{display:flex;border-radius:6px;width:250px;height:207px;box-shadow:#3c40434d 0 1px 2px,#3c404326 0 1px 3px 1px}:host ::ng-deep .p-menubar .p-menuitem{position:relative;width:auto}.green300{height:2%;width:2%;padding-right:9px;border-radius:70%;background:#76db9b;box-shadow:-1px 0 1px 1px #000000fa;border:1px solid rgb(0 0 0 / 40%)}.red300{height:2%;width:2%;padding-right:9px;border-radius:70%;background:#e35b53;box-shadow:-1px 0 1px 1px #000000fa;border:1px solid rgb(0 0 0 / 40%)}.gray300{height:2%;width:2%;padding-right:9px;border-radius:70%;color:#9e9a99;background-color:#9e9a99;box-shadow:-1px 0 1px 1px #000000fa;border:1px solid rgb(0 0 0 / 40%)}label{border-radius:50%}#panel-skeleton{position:relative;overflow:hidden;background:#f0f0f0}#panel-skeleton:after{content:\"\";animation:p-skeleton-animation 1.2s infinite;height:100%;left:0;position:absolute;right:0;top:0;transform:translate(-100%);z-index:1;background:linear-gradient(90deg,rgba(255,255,255,0),rgba(255,255,255,.4),rgba(255,255,255,0))}@keyframes p-skeleton-animation{0%{transform:translate(-100%)}to{transform:translate(100%)}}.container__span-header,.container__span-footer{margin:20px 0;font-weight:700}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i2.Panel, selector: "p-panel", inputs: ["toggleable", "header", "collapsed", "style", "styleClass", "iconPos", "expandIcon", "collapseIcon", "showHeader", "toggler", "transitionOptions"], outputs: ["collapsedChange", "onBeforeToggle", "onAfterToggle"] }, { kind: "directive", type: i2$1.PrimeTemplate, selector: "[pTemplate]", inputs: ["type", "pTemplate"] }, { kind: "component", type: i4.Skeleton, selector: "p-skeleton", inputs: ["styleClass", "style", "shape", "animation", "borderRadius", "size", "width", "height"] }, { kind: "component", type: LoaderComponent, selector: "ipt-loader", inputs: ["message", "isDialog"] }, { kind: "pipe", type: i1.TitleCasePipe, name: "titlecase" }, { kind: "pipe", type: ScheduleFormatPipe, name: "scheduleFormat" }, { kind: "pipe", type: ScheduleTimeFormatPipe, name: "scheduleTimeFormat" }, { kind: "pipe", type: TypeLevelPipe, name: "typeLevel" }] });
2535
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.7", ngImport: i0, type: CardCourseComponent, decorators: [{
2798
+ `, isInline: true, styles: ["form{display:grid;grid-template-columns:1fr}.sectionABCD{display:grid;grid-template-columns:12fr 0fr;gap:0px 10px}fieldset{background:transparent;border:none}\n"], dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: InputComponent, selector: "ipt-input", inputs: ["inputType", "placeHolder", "validateText", "withPipe", "list", "iconUrl", "control", "prefix", "thousands", "decimal", "disabledSel"], outputs: ["dateSelected"] }] });
2799
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.7", ngImport: i0, type: QuestionTypeComponent, decorators: [{
2536
2800
  type: Component,
2537
- args: [{ selector: 'ipt-card-course-self-cod-managed', template: "<div *ngIf=\"!isLoading\" class=\"main-container\">\n\n <!-- cards Academy -->\n <div class=\"container__span-header flex justify-content-start\" *ngIf=\"visibleAcademy || visibleKids || visibleSchools\">\n <span>Selecciona un Plan</span>\n </div>\n\n <p-panel\n *ngIf=\"visibleAcademy\"\n header=\"Plan Academy\"\n [toggleable]=\"true\"\n [collapsed]=\"false\"\n id=\"academic_plan\"\n class=\"academic_plan\"\n >\n <ng-template pTemplate=\"icons\"> </ng-template>\n <main *ngIf=\"!isLoading\" class=\"flex flex-col\">\n <section *ngFor=\"let course of courseAcademy\" class=\"card1 animate__animated\" (click)=\"viewDataCourse(course)\">\n <h3 class=\"card1__title__academic\">{{ course.course_type.label }}</h3>\n <p class=\"card1__content\">\n <strong class=\"type-theory\">Clases Teoricas: </strong>{{ course.course_schedule | scheduleFormat }}<br>\n <strong class=\"type-theory\">Horario Teorico: </strong>{{ course.course_schedule | scheduleTimeFormat }}<br>\n <!-- <strong class=\"type-theory\">Theory Teacher: </strong>{{ course.teacher | titlecase }}<br> -->\n <!-- <strong class=\"type-theory\">Theory Classroom: </strong><span>{{ course.course_scheduleDetails[0].ClassRoom.name | titlecase}}</span><br> -->\n <strong><hr></strong>\n <strong class=\"type-club\">Clases Club: </strong>\n <span *ngIf=\"course.course_club\">{{ course.course_club.course_schedule | scheduleFormat }}</span><br>\n <strong class=\"type-club\">Horario Club: </strong>\n <span *ngIf=\"course.course_club\">{{ course.course_club.course_schedule | scheduleTimeFormat }}</span><br>\n <strong>Modalidad: </strong>\n <span *ngIf=\"course.course_modality\">{{ course.course_modality.name | titlecase }}</span><br>\n <!-- <strong class=\"type-club\">Club Teacher: </strong>\n <span *ngIf=\"course.course_club\">{{ course.course_club.teacher | titlecase }}</span><br> -->\n <!-- <strong class=\"type-club\">Club Classroom: </strong>\n <span *ngIf=\"course.course_club\">{{ course.course_club.course_scheduleDetails[0].ClassRoom.name | titlecase}}</span><br> -->\n <!-- <strong><hr></strong> -->\n <!-- <strong *ngIf=\"course.start_date === null\">Posible inicio: </strong>{{ course.start_date === null ? course.to_start : null | date:'dd/MM/yyyy' }}<br *ngIf=\"course.start_date === null\">\n <strong *ngIf=\"course.start_date !== null\">Fecha Inicio: </strong>{{ course.start_date !== null ? course.start_date : null | date:'dd/MM/yyyy' }}<br *ngIf=\"course.finish_date !== null\">\n <strong *ngIf=\"course.finish_date !== null\">Fecha culminacion: </strong>{{ course.finish_date !== null ? course.finish_date : null | date:'dd/MM/yyyy' }}<br *ngIf=\"course.finish_date !== null\"> -->\n <!-- <strong>Created: </strong>{{ course.created_at | date:'dd/MM/yyyy' }}<br> -->\n </p>\n <div class=\"card1__date\">\n <!-- <span\n [ngClass]=\"course.status?.color_status\"\n ></span> -->\n <!-- <span class=\"course-code\">Code: {{course.code}}</span> -->\n </div>\n <div class=\"card1__arrow\" [ngClass]=\"getCssClass(course.english_level.name)\">\n <span>{{ course.english_level.name | typeLevel}}</span>\n </div>\n </section>\n </main>\n <ipt-loader *ngIf=\"isLoading\"></ipt-loader>\n </p-panel>\n\n <!-- cards Kids -->\n\n <p-panel\n *ngIf=\"visibleKids\"\n header=\"Plan Kids\"\n [toggleable]=\"true\"\n [collapsed]=\"false\"\n id=\"social_kids\"\n >\n <ng-template pTemplate=\"icons\"> </ng-template>\n <main *ngIf=\"!isLoading\" class=\"flex flex-col\">\n <section *ngFor=\"let course of courseKids\" class=\"card1 animate__animated\" (click)=\"viewDataCourse(course)\">\n <h3 class=\"card1__title__kids\">{{ course.course_type.label }}</h3>\n <p class=\"card1__content\">\n <strong class=\"type-theory\">Clases Teoricas: </strong>{{ course.course_schedule | scheduleFormat }}<br>\n <strong class=\"type-theory\">Horario Teorico: </strong>{{ course.course_schedule | scheduleTimeFormat }}<br>\n <!-- <strong class=\"type-theory\">Theory Teacher: </strong>{{ course.teacher | titlecase }}<br>\n <strong class=\"type-theory\">Theory Classroom: </strong><span>{{ course.course_scheduleDetails[0].ClassRoom.name | titlecase}}</span><br> -->\n <strong><hr></strong>\n <strong class=\"type-club\">Clases Club: </strong>\n <span *ngIf=\"course.course_club\">{{ course.course_club.course_schedule | scheduleFormat }}</span><br>\n <strong class=\"type-club\">Horario Club: </strong>\n <span *ngIf=\"course.course_club\">{{ course.course_club.course_schedule | scheduleTimeFormat }}</span><br>\n <strong>Modalidad: </strong>\n <span *ngIf=\"course.course_modality\">{{ course.course_modality.name | titlecase }}</span><br>\n <!-- <strong class=\"type-club\">Club Teacher: </strong>\n <span *ngIf=\"course.course_club\">{{ course.course_club.teacher | titlecase }}</span><br> -->\n <!-- <strong class=\"type-club\">Club Classroom: </strong>\n <span *ngIf=\"course.course_club\">{{ course.course_club.course_scheduleDetails[0].ClassRoom.name | titlecase}}</span><br> -->\n <!-- <strong><hr></strong> -->\n <!-- <strong *ngIf=\"course.start_date === null\">Posible inicio: </strong>{{ course.start_date === null ? course.to_start : null | date:'dd/MM/yyyy' }}<br *ngIf=\"course.start_date === null\">\n <strong *ngIf=\"course.start_date !== null\">Fecha Inicio: </strong>{{ course.start_date !== null ? course.start_date : null | date:'dd/MM/yyyy' }}<br *ngIf=\"course.finish_date !== null\">\n <strong *ngIf=\"course.finish_date !== null\">Fecha culminacion: </strong>{{ course.finish_date !== null ? course.finish_date : null | date:'dd/MM/yyyy' }}<br *ngIf=\"course.finish_date !== null\"> -->\n <!-- <strong>Created: </strong>{{ course.created_at | date:'dd/MM/yyyy' }}<br> -->\n </p>\n <div class=\"card1__date\">\n <!-- <span\n [ngClass]=\"course.status?.color_status\"\n ></span> -->\n <!-- <span class=\"course-code\">Code: {{course.code}}</span> -->\n </div>\n <div class=\"card1__arrow\" [ngClass]=\"getCssClass(course.english_level.name)\">\n <span>{{ course.english_level.name | typeLevel}}</span>\n </div>\n </section>\n </main>\n <ipt-loader *ngIf=\"isLoading\"></ipt-loader>\n </p-panel>\n\n <!-- cards Schools -->\n\n <p-panel\n *ngIf=\"visibleSchools\"\n header=\"Plan Schools\"\n [toggleable]=\"true\"\n [collapsed]=\"false\"\n id=\"social_school\"\n >\n <ng-template pTemplate=\"icons\"> </ng-template>\n <main *ngIf=\"!isLoading\" class=\"flex flex-col\">\n <section *ngFor=\"let course of courseSchools\" class=\"card1 animate__animated\" (click)=\"viewDataCourse(course)\">\n <h3 class=\"card1__title__schools\">{{ course.course_type.label }}</h3>\n <p class=\"card1__content\">\n <strong class=\"type-theory\">Clases Teoricas: </strong>{{ course.course_schedule | scheduleFormat }}<br>\n <strong class=\"type-theory\">Horario Teorico: </strong>{{ course.course_schedule | scheduleTimeFormat }}<br>\n <!-- <strong class=\"type-theory\">Theory Teacher: </strong>{{ course.teacher | titlecase }}<br>\n <strong class=\"type-theory\">Theory Classroom: </strong><span>{{ course.course_scheduleDetails[0].ClassRoom.name | titlecase}}</span><br> -->\n <strong><hr></strong>\n <strong class=\"type-club\">Clases Club: </strong>\n <span *ngIf=\"course.course_club\">{{ course.course_club.course_schedule | scheduleFormat }}</span><br>\n <strong class=\"type-club\">Horario Club: </strong>\n <span *ngIf=\"course.course_club\">{{ course.course_club.course_schedule | scheduleTimeFormat }}</span><br>\n <strong>Modalidad: </strong>\n <span *ngIf=\"course.course_modality\">{{ course.course_modality.name | titlecase }}</span><br>\n <!-- <strong class=\"type-club\">Club Teacher: </strong>\n <span *ngIf=\"course.course_club\">{{ course.course_club.teacher | titlecase }}</span><br>\n <strong class=\"type-club\">Club Classroom: </strong>\n <span *ngIf=\"course.course_club\">{{ course.course_club.course_scheduleDetails[0].ClassRoom.name | titlecase}}</span><br> -->\n <!-- <strong><hr></strong> -->\n <!-- <strong *ngIf=\"course.start_date === null\">Posible inicio: </strong>{{ course.start_date === null ? course.to_start : null | date:'dd/MM/yyyy' }}<br *ngIf=\"course.start_date === null\">\n <strong *ngIf=\"course.start_date !== null\">Fecha Inicio: </strong>{{ course.start_date !== null ? course.start_date : null | date:'dd/MM/yyyy' }}<br *ngIf=\"course.finish_date !== null\">\n <strong *ngIf=\"course.finish_date !== null\">Fecha culminacion: </strong>{{ course.finish_date !== null ? course.finish_date : null | date:'dd/MM/yyyy' }}<br *ngIf=\"course.finish_date !== null\"> -->\n <!-- <strong>Created: </strong>{{ course.created_at | date:'dd/MM/yyyy' }}<br> -->\n </p>\n <div class=\"card1__date\">\n <!-- <span\n [ngClass]=\"course.status?.color_status\"\n ></span> -->\n <!-- <span class=\"course-code\">Code: {{course.code}}</span> -->\n </div>\n <div class=\"card1__arrow\" [ngClass]=\"getCssClass(course.english_level.name)\">\n <span>{{ course.english_level.name | typeLevel}}</span>\n </div>\n </section>\n </main>\n <ipt-loader *ngIf=\"isLoading\"></ipt-loader>\n </p-panel>\n\n <div class=\"container__span-footer flex justify-content-center\" *ngIf=\"!visibleAcademy && !visibleKids && !visibleSchools\">\n <span>No se encontraron planes</span>\n </div>\n</div>\n<div *ngIf=\"isLoading\">\n\n <p-panel\n header=\"\"\n [toggleable]=\"true\"\n [collapsed]=\"false\"\n id=\"p-component panel-skeleton\"\n >\n <ng-template pTemplate=\"icons\"> </ng-template>\n <main class=\"flex flex-col\">\n <section *ngFor=\"let course of skeleton\" class=\"card1 animate__animated\" >\n <p-skeleton width=\"12rem\" height=\"2rem\" styleClass=\"mb-2\" ></p-skeleton>\n <p class=\"card1__content_skeleton\">\n <p-skeleton width=\"9rem\" height=\"1rem\" styleClass=\"mb-2\" ></p-skeleton>\n <p-skeleton width=\"9rem\" height=\"1rem\" styleClass=\"mb-2\" ></p-skeleton>\n <strong><hr></strong>\n <p-skeleton width=\"9rem\" height=\"1rem\" styleClass=\"mb-2\" ></p-skeleton>\n <p-skeleton width=\"9rem\" height=\"1rem\" styleClass=\"mb-2\" ></p-skeleton>\n </p>\n <div class=\"card1__date__skeleton\">\n </div>\n <div class=\"card1__arrow\" >\n <p-skeleton size=\"3rem\" styleClass=\"mr-2\" ></p-skeleton>\n </div>\n </section>\n </main>\n </p-panel>\n\n</div>\n\n", styles: ["main{display:flex;gap:.7rem;flex-wrap:wrap}.card1{--border-radius: 3px;--primary-color: #1c77f7;--secondary-color: #2c2c2c;--tertiary-color: #ffffff;width:340px;font-family:Poppins,sans-serif;cursor:pointer;border-radius:var(--border-radius);background:#f1f1f3;box-shadow:0 8px 16px #00000008;position:relative;transition:.3s;border:solid .5px #e0e0e0}.type-theory{color:#00aecc}.type-club{color:#0d9d36}.msg-two-coup{color:#000!important;padding-left:7px;padding-right:7px;border-radius:5px;background-color:#4ed1e9}.msg-two-lev{color:#000!important;padding-left:5px;padding-right:5px;border-radius:5px;margin-left:13px;background-color:#fb8f42}.beginner{color:#fff!important;padding-left:5px;padding-right:5px;border-radius:5px;margin-left:13px;background-color:#94b9aa}.levelAone{color:#fff!important;padding-left:5px;padding-right:5px;border-radius:5px;margin-left:13px;background-color:#c4291c}.levelAonetwo{color:#fff!important;padding-left:5px;padding-right:5px;border-radius:5px;margin-left:13px;background-color:#418ed1}.levelAtwo{color:#fff!important;padding-left:5px;padding-right:5px;border-radius:5px;margin-left:13px;background-color:#4fad65}.levelBone{color:#fff!important;padding-left:5px;padding-right:5px;border-radius:5px;margin-left:13px;background-color:#6824b8}.levelBtwo{color:#fff!important;padding-left:5px;padding-right:5px;border-radius:5px;margin-left:13px;background-color:#06161e}.levelBplus{color:#fff!important;padding-left:5px;padding-right:5px;border-radius:5px;margin-left:13px;background-color:#cc6529}.main-container{margin-top:1%}.course-code{font-size:12px;font-weight:400;margin-left:.5rem}.card1:hover{box-shadow:#0000003d 0 3px 8px}.card1>*+*{margin-top:.7em}.card1 .card1__content{padding-left:10px;color:var(--secondary-color);font-size:.86rem;font-weight:200;z-index:1;position:relative}strong{color:var(--secondary-color);font-weight:300}:host ::ng-deep .p-panel .p-panel-header .p-panel-header-icon{color:#fff!important}.card1 .card1__title__academic{color:#fff;padding-left:10px;padding-right:10px;font-size:1.1rem;font-weight:300;z-index:1;position:relative;background:rgb(4,18,106);background:linear-gradient(175deg,rgba(4,18,106,1) 27%,rgba(48,63,155,1) 53%,rgba(28,119,247,1)90%);border-radius:6px 6px 0 0}:host ::ng-deep #academic_plan .p-panel .p-panel-header{color:#fff!important;background:rgb(4,18,106);background:linear-gradient(175deg,rgba(4,18,106,1) 27%,rgba(48,63,155,1) 53%,rgba(28,119,247,1)90%);border-radius:6px 6px 0 0}.card1 .card1__title__kids{color:#fff;padding-left:10px;padding-right:10px;font-size:1.1rem;font-weight:300;z-index:1;position:relative;background:rgb(127,33,99);background:linear-gradient(175deg,rgba(127,33,99,1) 27%,rgba(171,49,135,1) 53%,rgba(220,76,178,1) 90%);border-radius:6px 6px 0 0}:host ::ng-deep #social_kids .p-panel .p-panel-header{color:#fff!important;background:rgb(127,33,99);background:linear-gradient(175deg,rgba(127,33,99,1) 27%,rgba(171,49,135,1) 53%,rgba(220,76,178,1) 90%);border-radius:6px 6px 0 0}.card1 .card1__title__schools{color:#fff;padding-left:10px;padding-right:10px;font-size:1.1rem;font-weight:300;z-index:1;position:relative;background:rgb(57,130,154);background:linear-gradient(175deg,rgba(57,130,154,1) 27%,rgba(44,147,180,1) 53%,rgba(135,182,197,1) 90%);border-radius:6px 6px 0 0}:host ::ng-deep #social_school .p-panel .p-panel-header{color:#fff!important;background:rgb(57,130,154);background:linear-gradient(175deg,rgba(57,130,154,1) 27%,rgba(44,147,180,1) 53%,rgba(135,182,197,1) 90%);border-radius:6px 6px 0 0}.card1 .card1__date{color:#807c7c;padding-left:10px;font-size:.4rem;z-index:1;position:relative;margin-bottom:2%;margin-top:.7rem}.card1 .card1__arrow{padding-left:10px;position:absolute;padding:.3rem;border-top-left-radius:var(--border-radius);border-bottom-right-radius:var(--border-radius);bottom:0;right:0;transition:.2s;display:flex;justify-content:center;align-items:center}.card1 svg{transition:.2s}.card1:hover .card1__title{color:var(--secondary-color)}.card1:hover .card1__arrow{background:rgb(170,41,170)}.card1:hover .card1__arrow svg{transform:translate(3px)}.card1:hover strong{color:#aa29aa;font-weight:400}.card1:hover .course-code{color:#aa29aa;font-weight:500}.image-container{display:flex;border-radius:6px;width:250px;height:207px;box-shadow:#3c40434d 0 1px 2px,#3c404326 0 1px 3px 1px}:host ::ng-deep .p-menubar .p-menuitem{position:relative;width:auto}.green300{height:2%;width:2%;padding-right:9px;border-radius:70%;background:#76db9b;box-shadow:-1px 0 1px 1px #000000fa;border:1px solid rgb(0 0 0 / 40%)}.red300{height:2%;width:2%;padding-right:9px;border-radius:70%;background:#e35b53;box-shadow:-1px 0 1px 1px #000000fa;border:1px solid rgb(0 0 0 / 40%)}.gray300{height:2%;width:2%;padding-right:9px;border-radius:70%;color:#9e9a99;background-color:#9e9a99;box-shadow:-1px 0 1px 1px #000000fa;border:1px solid rgb(0 0 0 / 40%)}label{border-radius:50%}#panel-skeleton{position:relative;overflow:hidden;background:#f0f0f0}#panel-skeleton:after{content:\"\";animation:p-skeleton-animation 1.2s infinite;height:100%;left:0;position:absolute;right:0;top:0;transform:translate(-100%);z-index:1;background:linear-gradient(90deg,rgba(255,255,255,0),rgba(255,255,255,.4),rgba(255,255,255,0))}@keyframes p-skeleton-animation{0%{transform:translate(-100%)}to{transform:translate(100%)}}.container__span-header,.container__span-footer{margin:20px 0;font-weight:700}\n"] }]
2538
- }], propDecorators: { CourseData: [{
2539
- type: Input
2540
- }], isLoading: [{
2541
- type: Input
2542
- }], codeCourse: [{
2543
- type: Output
2544
- }] } });
2801
+ args: [{ selector: 'ipt-question-types', template: `
2802
+ <div
2803
+ *ngIf="
2804
+ this.questionType === 'True or False' ||
2805
+ this.questionType === 'Correct or Incorrect'
2806
+ "
2807
+ class="sectionABCD"
2808
+ >
2809
+ <fieldset disabled="disabled">
2810
+ <ipt-input
2811
+ [control]="formGruoup.controls['answer1']"
2812
+ [inputType]="'text'"
2813
+ [placeHolder]="
2814
+ this.questionType === 'True or False' ? 'True' : 'Correct'
2815
+ "
2816
+ [validateText]="'Este campo es requerido'"
2817
+ >
2818
+ </ipt-input>
2819
+ </fieldset>
2820
+ <ipt-input
2821
+ [control]="formGruoup.controls['value1']"
2822
+ [inputType]="'number'"
2823
+ [placeHolder]="'Valor *'"
2824
+ [validateText]="'Debe ser 0 o 1'"
2825
+ (click)='clickDetection("value1")'
2826
+ >
2827
+ </ipt-input>
2828
+ <fieldset disabled="disabled">
2829
+ <ipt-input
2830
+ [control]="formGruoup.controls['answer2']"
2831
+ [inputType]="'text'"
2832
+ [placeHolder]="
2833
+ this.questionType === 'True or False' ? 'False' : 'Incorrect'
2834
+ "
2835
+ [validateText]="'Este campo es requerido'"
2836
+ >
2837
+ </ipt-input>
2838
+ </fieldset>
2839
+ <ipt-input
2840
+ [control]="formGruoup.controls['value2']"
2841
+ [inputType]="'number'"
2842
+ [placeHolder]="'Valor *'"
2843
+ [validateText]="'Debe ser 0 o 1'"
2844
+ (click)='clickDetection("value2")'
2845
+ >
2846
+ </ipt-input>
2847
+ </div>
2545
2848
 
2546
- class PipeModule {
2547
- }
2548
- PipeModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.7", ngImport: i0, type: PipeModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
2549
- PipeModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "14.0.7", ngImport: i0, type: PipeModule, declarations: [ScheduleFormatPipe,
2550
- ScheduleTimeFormatPipe,
2551
- TypeLevelPipe], imports: [CommonModule], exports: [ScheduleFormatPipe,
2552
- ScheduleTimeFormatPipe,
2553
- TypeLevelPipe] });
2554
- PipeModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "14.0.7", ngImport: i0, type: PipeModule, imports: [CommonModule] });
2555
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.7", ngImport: i0, type: PipeModule, decorators: [{
2556
- type: NgModule,
2557
- args: [{
2558
- declarations: [
2559
- ScheduleFormatPipe,
2560
- ScheduleTimeFormatPipe,
2561
- TypeLevelPipe
2562
- ],
2563
- imports: [CommonModule],
2564
- exports: [
2565
- ScheduleFormatPipe,
2566
- ScheduleTimeFormatPipe,
2567
- TypeLevelPipe
2568
- ]
2569
- }]
2570
- }] });
2849
+ <div
2850
+ *ngIf="
2851
+ this.questionType === 'Relationship' ||
2852
+ this.questionType === 'Complete' ||
2853
+ this.questionType === 'Conversation'
2854
+ "
2855
+ class="sectionABCD"
2856
+ >
2857
+ <ipt-input
2858
+ [control]="formGruoup.controls['answer1']"
2859
+ [inputType]="'text'"
2860
+ [placeHolder]="'Ingrese la opción'"
2861
+ [validateText]="'Este campo es requerido'"
2862
+ >
2863
+ </ipt-input>
2864
+ <ipt-input
2865
+ [control]="formGruoup.controls['value1']"
2866
+ [inputType]="'number'"
2867
+ [placeHolder]="'Valor *'"
2868
+ [validateText]="'Debe ser 0 o 1'"
2869
+ (click)='clickDetection("value1")'
2870
+ >
2871
+ </ipt-input>
2872
+ </div>
2571
2873
 
2572
- class CardSelectCourseComponent {
2573
- constructor() {
2574
- this.jornada = 0;
2575
- }
2576
- ngOnInit() {
2577
- if (this.courseSelect && this.courseSelect.course_schedule) {
2578
- const schedule = this.courseSelect.course_schedule[0];
2579
- this.jornada = this.getJornada(schedule);
2580
- }
2581
- }
2582
- getJornada(schedule) {
2583
- const timeRegex = /\b\d{2}:\d{2}:\d{2}\b/g;
2584
- const times = schedule.match(timeRegex);
2585
- if (times && times.length > 0) {
2586
- const startTime = times[0];
2587
- if (this.isMorning(startTime)) {
2588
- return 1;
2589
- }
2590
- else if (this.isAfternoon(startTime)) {
2591
- return 2;
2592
- }
2593
- else if (this.isNight(startTime)) {
2594
- return 3;
2595
- }
2596
- }
2597
- return 0;
2598
- }
2599
- isMorning(time) {
2600
- return time >= '05:00:00' && time <= '11:59:59';
2601
- }
2602
- isAfternoon(time) {
2603
- return time >= '12:00:00' && time <= '17:59:59';
2604
- }
2605
- isNight(time) {
2606
- return time >= '18:00:00';
2607
- }
2608
- }
2609
- CardSelectCourseComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.7", ngImport: i0, type: CardSelectCourseComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
2610
- CardSelectCourseComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.0.7", type: CardSelectCourseComponent, selector: "ipt-card-select-course-self-cod-managed", inputs: { courseSelect: "courseSelect" }, ngImport: i0, template: "<!-- <main class=\"container-card\">\n <div class=\"w-auto\" >\n <div class=\"card\" (click)=\"selectDepartment(courseSelect)\">\n <div class=\"card-text\">\n <span class=\"date\">{{ courseSelect.course_type.label }}</span><br>\n <strong class=\"type-theory\">Clases Teoricas: </strong>{{ courseSelect.course_schedule | scheduleFormat }}<br>\n <strong class=\"type-theory\">Horario Teorico: </strong>{{ courseSelect.course_schedule | scheduleTimeFormat }}<br>\n <strong><hr></strong>\n <strong class=\"type-club\">Clases Club: </strong>\n <span *ngIf=\"courseSelect.course_club\">{{ courseSelect.course_club.course_schedule | scheduleFormat }}</span><br>\n <strong class=\"type-club\">Horario Club: </strong>\n <span *ngIf=\"courseSelect.course_club\">{{ courseSelect.course_club.course_schedule | scheduleTimeFormat }}</span><br>\n <strong>Modalidad: </strong>\n <span *ngIf=\"courseSelect.course_modality\">{{ courseSelect.course_modality.name | titlecase }}</span><br>\n <strong *ngIf=\"courseSelect.start_date === null\">Posible inicio: </strong>{{ courseSelect.start_date === null ? courseSelect.to_start : null | date:'dd/MM/yyyy' }}<br *ngIf=\"courseSelect.start_date === null\">\n <strong *ngIf=\"courseSelect.start_date !== null\">Fecha Inicio: </strong>{{ courseSelect.start_date !== null ? courseSelect.start_date : null | date:'dd/MM/yyyy' }}<br *ngIf=\"courseSelect.finish_date !== null\">\n <strong *ngIf=\"courseSelect.finish_date !== null\">Fecha culminacion: </strong>{{ courseSelect.finish_date !== null ? courseSelect.finish_date : null | date:'dd/MM/yyyy' }}<br *ngIf=\"courseSelect.finish_date !== null\">\n </div>\n </div>\n </div>\n</main> -->\n<main>\n<div class=\"container__tittle__card flex justify-content-center\">\n Plan Seleccionado\n</div>\n<div class=\"container-card\">\n <div class=\"card\">\n <p class=\"heading\">\n {{ courseSelect.course_type.label }}<br>\n </p>\n <div class=\"card-text\">\n <strong class=\"type-theory\">Clases Teoricas: </strong><span>{{ courseSelect.course_schedule | scheduleFormat }}</span><br>\n <strong class=\"type-theory\">Horario Teorico: </strong> <span>{{ courseSelect.course_schedule | scheduleTimeFormat }}</span><br>\n <strong><hr></strong>\n <strong class=\"type-club\">Clases Club: </strong><span *ngIf=\"courseSelect.course_club\">{{ courseSelect.course_club.course_schedule | scheduleFormat }}</span><br>\n <strong class=\"type-club\">Horario Club: </strong><span *ngIf=\"courseSelect.course_club\">{{ courseSelect.course_club.course_schedule | scheduleTimeFormat }}</span><br>\n <strong>Modalidad: </strong><span *ngIf=\"courseSelect.course_modality\">{{ courseSelect.course_modality.name | titlecase }}</span><br>\n <strong *ngIf=\"courseSelect.start_date === null\">Posible inicio: </strong><span>{{ courseSelect.start_date === null ? courseSelect.to_start : null | date:'dd/MM/yyyy' }}</span><br *ngIf=\"courseSelect.start_date === null\">\n </div>\n <p>{{ courseSelect.english_level.name | typeLevel}}\n </p>\n </div>\n</div>\n</main>\n<!-- <main *ngIf=\"jornada === 2\" class=\"container-card\">\n <div class=\"w-auto\" >\n <div class=\"card\" (click)=\"selectDepartment(courseSelect)\">\n <div class=\"card-image\" [style.background-image]=\"'url(' + courseSelect.imageUrl + ')'\"></div>\n <div class=\"card-text\">\n <span class=\"date\">{{ courseSelect.course_type.label }}</span><br>\n <strong class=\"type-theory\">Clases Teoricas: </strong>{{ courseSelect.course_schedule | scheduleFormat }}<br>\n <strong class=\"type-theory\">Horario Teorico: </strong>{{ courseSelect.course_schedule | scheduleTimeFormat }}<br>\n <strong><hr></strong>\n <strong class=\"type-club\">Clases Club: </strong>\n <span *ngIf=\"courseSelect.course_club\">{{ courseSelect.course_club.course_schedule | scheduleFormat }}</span><br>\n <strong class=\"type-club\">Horario Club: </strong>\n <span *ngIf=\"courseSelect.course_club\">{{ courseSelect.course_club.course_schedule | scheduleTimeFormat }}</span><br>\n <strong>Modalidad: </strong>\n <span *ngIf=\"courseSelect.course_modality\">{{ courseSelect.course_modality.name | titlecase }}</span><br>\n <strong *ngIf=\"courseSelect.start_date === null\">Posible inicio: </strong>{{ courseSelect.start_date === null ? courseSelect.to_start : null | date:'dd/MM/yyyy' }}<br *ngIf=\"courseSelect.start_date === null\">\n <strong *ngIf=\"courseSelect.start_date !== null\">Fecha Inicio: </strong>{{ courseSelect.start_date !== null ? courseSelect.start_date : null | date:'dd/MM/yyyy' }}<br *ngIf=\"courseSelect.finish_date !== null\">\n <strong *ngIf=\"courseSelect.finish_date !== null\">Fecha culminacion: </strong>{{ courseSelect.finish_date !== null ? courseSelect.finish_date : null | date:'dd/MM/yyyy' }}<br *ngIf=\"courseSelect.finish_date !== null\">\n </div>\n </div>\n </div>\n</main>\n<main *ngIf=\"jornada === 3\" class=\"container-card\">\n <div class=\"w-auto\" >\n <div class=\"card\" (click)=\"selectDepartment(courseSelect)\">\n <div class=\"card-image\" [style.background-image]=\"'url(' + courseSelect.imageUrl + ')'\"></div>\n <div class=\"card-text\">\n <span class=\"date\">{{ courseSelect.course_type.label }}</span><br>\n <strong class=\"type-theory\">Clases Teoricas: </strong>{{ courseSelect.course_schedule | scheduleFormat }}<br>\n <strong class=\"type-theory\">Horario Teorico: </strong>{{ courseSelect.course_schedule | scheduleTimeFormat }}<br>\n <strong><hr></strong>\n <strong class=\"type-club\">Clases Club: </strong>\n <span *ngIf=\"courseSelect.course_club\">{{ courseSelect.course_club.course_schedule | scheduleFormat }}</span><br>\n <strong class=\"type-club\">Horario Club: </strong>\n <span *ngIf=\"courseSelect.course_club\">{{ courseSelect.course_club.course_schedule | scheduleTimeFormat }}</span><br>\n <strong>Modalidad: </strong>\n <span *ngIf=\"courseSelect.course_modality\">{{ courseSelect.course_modality.name | titlecase }}</span><br>\n <strong *ngIf=\"courseSelect.start_date === null\">Posible inicio: </strong>{{ courseSelect.start_date === null ? courseSelect.to_start : null | date:'dd/MM/yyyy' }}<br *ngIf=\"courseSelect.start_date === null\">\n <strong *ngIf=\"courseSelect.start_date !== null\">Fecha Inicio: </strong>{{ courseSelect.start_date !== null ? courseSelect.start_date : null | date:'dd/MM/yyyy' }}<br *ngIf=\"courseSelect.finish_date !== null\">\n <strong *ngIf=\"courseSelect.finish_date !== null\">Fecha culminacion: </strong>{{ courseSelect.finish_date !== null ? courseSelect.finish_date : null | date:'dd/MM/yyyy' }}<br *ngIf=\"courseSelect.finish_date !== null\">\n </div>\n </div>\n </div>\n</main> -->\n", styles: [".container-card{display:flex;flex-direction:row;flex-wrap:wrap;justify-content:space-evenly}.card-image{grid-area:image;border-top-left-radius:65px;border-top-right-radius:65px;background-color:coral;background-size:cover;box-shadow:0 2px 5px #5e6173}.card-text .date{color:#fff;font-size:15px}.card-text p{color:gray;font-size:13px;font-weight:300}.card-text h2{margin-top:0;font-size:28px}.type-theory{color:#c2f0f8;font-weight:100;font-size:small}.type-club{color:#92f7af;font-weight:100;font-size:small}.card{position:relative;width:190px;height:254px;background-color:#565656;display:flex;flex-direction:column;justify-content:end;padding:12px;gap:12px;border-radius:8px;cursor:pointer}.card:before{content:\"\";position:absolute;inset:0 0 0 -5px;margin:auto;width:200px;height:264px;border-radius:10px;background:linear-gradient(175deg,rgba(4,18,106,1) 27%,rgba(48,63,155,1) 53%,rgba(28,119,247,1) 90%);z-index:-10;pointer-events:none;transition:all .6s cubic-bezier(.175,.885,.32,1.275)}.card:after{content:\"\";z-index:-1;position:absolute;inset:0;background:linear-gradient(-45deg,rgba(0,63,255,1) 0%,rgba(4,18,106,1) 100%);transform:translateZ(0) scale(.95);filter:blur(20px)}.heading{text-transform:capitalize;font-weight:700;color:#fff}.card p:not(.heading){font-size:14px}.card p:last-child{color:#0497d9;font-weight:600}.card:hover:after{filter:blur(30px)}.card:hover:before{transform:rotate(-90deg) scaleX(1.34) scaleY(.77)}span,strong{color:#fff;font-weight:100;font-size:small}.container-card{z-index:0;position:relative;justify-content:center;display:flex;margin:1rem 0 3rem}.container__tittle__card{margin-top:2rem;font-weight:700}\n"], dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "pipe", type: i1.TitleCasePipe, name: "titlecase" }, { kind: "pipe", type: i1.DatePipe, name: "date" }, { kind: "pipe", type: ScheduleFormatPipe, name: "scheduleFormat" }, { kind: "pipe", type: ScheduleTimeFormatPipe, name: "scheduleTimeFormat" }, { kind: "pipe", type: TypeLevelPipe, name: "typeLevel" }] });
2611
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.7", ngImport: i0, type: CardSelectCourseComponent, decorators: [{
2612
- type: Component,
2613
- args: [{ selector: 'ipt-card-select-course-self-cod-managed', template: "<!-- <main class=\"container-card\">\n <div class=\"w-auto\" >\n <div class=\"card\" (click)=\"selectDepartment(courseSelect)\">\n <div class=\"card-text\">\n <span class=\"date\">{{ courseSelect.course_type.label }}</span><br>\n <strong class=\"type-theory\">Clases Teoricas: </strong>{{ courseSelect.course_schedule | scheduleFormat }}<br>\n <strong class=\"type-theory\">Horario Teorico: </strong>{{ courseSelect.course_schedule | scheduleTimeFormat }}<br>\n <strong><hr></strong>\n <strong class=\"type-club\">Clases Club: </strong>\n <span *ngIf=\"courseSelect.course_club\">{{ courseSelect.course_club.course_schedule | scheduleFormat }}</span><br>\n <strong class=\"type-club\">Horario Club: </strong>\n <span *ngIf=\"courseSelect.course_club\">{{ courseSelect.course_club.course_schedule | scheduleTimeFormat }}</span><br>\n <strong>Modalidad: </strong>\n <span *ngIf=\"courseSelect.course_modality\">{{ courseSelect.course_modality.name | titlecase }}</span><br>\n <strong *ngIf=\"courseSelect.start_date === null\">Posible inicio: </strong>{{ courseSelect.start_date === null ? courseSelect.to_start : null | date:'dd/MM/yyyy' }}<br *ngIf=\"courseSelect.start_date === null\">\n <strong *ngIf=\"courseSelect.start_date !== null\">Fecha Inicio: </strong>{{ courseSelect.start_date !== null ? courseSelect.start_date : null | date:'dd/MM/yyyy' }}<br *ngIf=\"courseSelect.finish_date !== null\">\n <strong *ngIf=\"courseSelect.finish_date !== null\">Fecha culminacion: </strong>{{ courseSelect.finish_date !== null ? courseSelect.finish_date : null | date:'dd/MM/yyyy' }}<br *ngIf=\"courseSelect.finish_date !== null\">\n </div>\n </div>\n </div>\n</main> -->\n<main>\n<div class=\"container__tittle__card flex justify-content-center\">\n Plan Seleccionado\n</div>\n<div class=\"container-card\">\n <div class=\"card\">\n <p class=\"heading\">\n {{ courseSelect.course_type.label }}<br>\n </p>\n <div class=\"card-text\">\n <strong class=\"type-theory\">Clases Teoricas: </strong><span>{{ courseSelect.course_schedule | scheduleFormat }}</span><br>\n <strong class=\"type-theory\">Horario Teorico: </strong> <span>{{ courseSelect.course_schedule | scheduleTimeFormat }}</span><br>\n <strong><hr></strong>\n <strong class=\"type-club\">Clases Club: </strong><span *ngIf=\"courseSelect.course_club\">{{ courseSelect.course_club.course_schedule | scheduleFormat }}</span><br>\n <strong class=\"type-club\">Horario Club: </strong><span *ngIf=\"courseSelect.course_club\">{{ courseSelect.course_club.course_schedule | scheduleTimeFormat }}</span><br>\n <strong>Modalidad: </strong><span *ngIf=\"courseSelect.course_modality\">{{ courseSelect.course_modality.name | titlecase }}</span><br>\n <strong *ngIf=\"courseSelect.start_date === null\">Posible inicio: </strong><span>{{ courseSelect.start_date === null ? courseSelect.to_start : null | date:'dd/MM/yyyy' }}</span><br *ngIf=\"courseSelect.start_date === null\">\n </div>\n <p>{{ courseSelect.english_level.name | typeLevel}}\n </p>\n </div>\n</div>\n</main>\n<!-- <main *ngIf=\"jornada === 2\" class=\"container-card\">\n <div class=\"w-auto\" >\n <div class=\"card\" (click)=\"selectDepartment(courseSelect)\">\n <div class=\"card-image\" [style.background-image]=\"'url(' + courseSelect.imageUrl + ')'\"></div>\n <div class=\"card-text\">\n <span class=\"date\">{{ courseSelect.course_type.label }}</span><br>\n <strong class=\"type-theory\">Clases Teoricas: </strong>{{ courseSelect.course_schedule | scheduleFormat }}<br>\n <strong class=\"type-theory\">Horario Teorico: </strong>{{ courseSelect.course_schedule | scheduleTimeFormat }}<br>\n <strong><hr></strong>\n <strong class=\"type-club\">Clases Club: </strong>\n <span *ngIf=\"courseSelect.course_club\">{{ courseSelect.course_club.course_schedule | scheduleFormat }}</span><br>\n <strong class=\"type-club\">Horario Club: </strong>\n <span *ngIf=\"courseSelect.course_club\">{{ courseSelect.course_club.course_schedule | scheduleTimeFormat }}</span><br>\n <strong>Modalidad: </strong>\n <span *ngIf=\"courseSelect.course_modality\">{{ courseSelect.course_modality.name | titlecase }}</span><br>\n <strong *ngIf=\"courseSelect.start_date === null\">Posible inicio: </strong>{{ courseSelect.start_date === null ? courseSelect.to_start : null | date:'dd/MM/yyyy' }}<br *ngIf=\"courseSelect.start_date === null\">\n <strong *ngIf=\"courseSelect.start_date !== null\">Fecha Inicio: </strong>{{ courseSelect.start_date !== null ? courseSelect.start_date : null | date:'dd/MM/yyyy' }}<br *ngIf=\"courseSelect.finish_date !== null\">\n <strong *ngIf=\"courseSelect.finish_date !== null\">Fecha culminacion: </strong>{{ courseSelect.finish_date !== null ? courseSelect.finish_date : null | date:'dd/MM/yyyy' }}<br *ngIf=\"courseSelect.finish_date !== null\">\n </div>\n </div>\n </div>\n</main>\n<main *ngIf=\"jornada === 3\" class=\"container-card\">\n <div class=\"w-auto\" >\n <div class=\"card\" (click)=\"selectDepartment(courseSelect)\">\n <div class=\"card-image\" [style.background-image]=\"'url(' + courseSelect.imageUrl + ')'\"></div>\n <div class=\"card-text\">\n <span class=\"date\">{{ courseSelect.course_type.label }}</span><br>\n <strong class=\"type-theory\">Clases Teoricas: </strong>{{ courseSelect.course_schedule | scheduleFormat }}<br>\n <strong class=\"type-theory\">Horario Teorico: </strong>{{ courseSelect.course_schedule | scheduleTimeFormat }}<br>\n <strong><hr></strong>\n <strong class=\"type-club\">Clases Club: </strong>\n <span *ngIf=\"courseSelect.course_club\">{{ courseSelect.course_club.course_schedule | scheduleFormat }}</span><br>\n <strong class=\"type-club\">Horario Club: </strong>\n <span *ngIf=\"courseSelect.course_club\">{{ courseSelect.course_club.course_schedule | scheduleTimeFormat }}</span><br>\n <strong>Modalidad: </strong>\n <span *ngIf=\"courseSelect.course_modality\">{{ courseSelect.course_modality.name | titlecase }}</span><br>\n <strong *ngIf=\"courseSelect.start_date === null\">Posible inicio: </strong>{{ courseSelect.start_date === null ? courseSelect.to_start : null | date:'dd/MM/yyyy' }}<br *ngIf=\"courseSelect.start_date === null\">\n <strong *ngIf=\"courseSelect.start_date !== null\">Fecha Inicio: </strong>{{ courseSelect.start_date !== null ? courseSelect.start_date : null | date:'dd/MM/yyyy' }}<br *ngIf=\"courseSelect.finish_date !== null\">\n <strong *ngIf=\"courseSelect.finish_date !== null\">Fecha culminacion: </strong>{{ courseSelect.finish_date !== null ? courseSelect.finish_date : null | date:'dd/MM/yyyy' }}<br *ngIf=\"courseSelect.finish_date !== null\">\n </div>\n </div>\n </div>\n</main> -->\n", styles: [".container-card{display:flex;flex-direction:row;flex-wrap:wrap;justify-content:space-evenly}.card-image{grid-area:image;border-top-left-radius:65px;border-top-right-radius:65px;background-color:coral;background-size:cover;box-shadow:0 2px 5px #5e6173}.card-text .date{color:#fff;font-size:15px}.card-text p{color:gray;font-size:13px;font-weight:300}.card-text h2{margin-top:0;font-size:28px}.type-theory{color:#c2f0f8;font-weight:100;font-size:small}.type-club{color:#92f7af;font-weight:100;font-size:small}.card{position:relative;width:190px;height:254px;background-color:#565656;display:flex;flex-direction:column;justify-content:end;padding:12px;gap:12px;border-radius:8px;cursor:pointer}.card:before{content:\"\";position:absolute;inset:0 0 0 -5px;margin:auto;width:200px;height:264px;border-radius:10px;background:linear-gradient(175deg,rgba(4,18,106,1) 27%,rgba(48,63,155,1) 53%,rgba(28,119,247,1) 90%);z-index:-10;pointer-events:none;transition:all .6s cubic-bezier(.175,.885,.32,1.275)}.card:after{content:\"\";z-index:-1;position:absolute;inset:0;background:linear-gradient(-45deg,rgba(0,63,255,1) 0%,rgba(4,18,106,1) 100%);transform:translateZ(0) scale(.95);filter:blur(20px)}.heading{text-transform:capitalize;font-weight:700;color:#fff}.card p:not(.heading){font-size:14px}.card p:last-child{color:#0497d9;font-weight:600}.card:hover:after{filter:blur(30px)}.card:hover:before{transform:rotate(-90deg) scaleX(1.34) scaleY(.77)}span,strong{color:#fff;font-weight:100;font-size:small}.container-card{z-index:0;position:relative;justify-content:center;display:flex;margin:1rem 0 3rem}.container__tittle__card{margin-top:2rem;font-weight:700}\n"] }]
2614
- }], propDecorators: { courseSelect: [{
2615
- type: Input
2616
- }] } });
2874
+ <div
2875
+ *ngIf="
2876
+ this.questionType === 'A, B, C' || this.questionType === 'A, B, C, D'
2877
+ "
2878
+ class="sectionABCD"
2879
+ >
2880
+ <ipt-input
2881
+ [control]="formGruoup.controls['answer1']"
2882
+ [inputType]="'text'"
2883
+ [placeHolder]="'Opción A *'"
2884
+ [validateText]="'Este campo es requerido'"
2885
+ >
2886
+ </ipt-input>
2887
+ <ipt-input
2888
+ [control]="formGruoup.controls['value1']"
2889
+ [inputType]="'number'"
2890
+ [placeHolder]="'Valor *'"
2891
+ [validateText]="'Debe ser 0 o 1'"
2892
+ (click)='clickDetection("value1")'
2893
+ >
2894
+ </ipt-input>
2617
2895
 
2618
- class updateUserFormComponent {
2619
- constructor(fb, cdr, parameterService, baseService, userService) {
2620
- this.fb = fb;
2621
- this.cdr = cdr;
2622
- this.parameterService = parameterService;
2623
- this.baseService = baseService;
2624
- this.userService = userService;
2625
- this.visibleModal = false;
2626
- this.closeModalIS = new EventEmitter();
2627
- this.userUpdatedEvent = new EventEmitter();
2628
- this.photo = '';
2629
- this.phoneNumberIndicatives = [];
2630
- this.idTypes = [];
2631
- this.loader = false;
2632
- this.states = [];
2633
- this.cities = [];
2634
- this.countries = [];
2635
- this.showParentSection = false;
2636
- this.showEmailIpt = false;
2637
- this.indicatives = [];
2638
- this.civilStatus = [];
2639
- this.genders = [];
2640
- this.stratums = [];
2641
- this.parametersLoaded = false;
2642
- // userUpdated = false;
2643
- this.initialFormValue = [];
2644
- this.justifyOptions = [
2645
- // { name: 'Inactivos', code: 1 },
2646
- { name: 'Activo', code: 1 },
2647
- { name: 'Removido', code: 4 }
2648
- ];
2649
- this.initForm();
2650
- }
2651
- ngOnInit() {
2652
- console.log("entro a getParameters por ngoninit");
2653
- this.getParameters();
2654
- }
2655
- ngOnChanges(changes) {
2656
- if (changes['visibleModal'] && changes['visibleModal'].currentValue) {
2657
- console.log("entro a getParameters por visible modal, donde el change es:", changes['visibleModal']);
2658
- this.initializeForm();
2659
- this.cdr.detectChanges();
2660
- }
2661
- }
2662
- getParameters() {
2663
- if (this.parametersLoaded) {
2664
- this.setParameters();
2665
- this.initializeForm();
2666
- return;
2667
- }
2668
- this.parameterService.getAllParametersCodForm().subscribe({
2669
- next: (response) => {
2670
- this.parametersAll = response.data;
2671
- this.parametersLoaded = true;
2672
- this.setParameters();
2673
- this.initializeForm();
2674
- this.cdr.detectChanges();
2675
- },
2676
- error: (err) => {
2677
- console.error('Error fetching parameters:', err);
2678
- this.parametersLoaded = false;
2679
- }
2680
- });
2681
- }
2682
- setParameters() {
2683
- this.idTypes = this.parametersAll?.TypeIdCardByCountryCol;
2684
- this.indicatives = this.parametersAll?.indicatives;
2685
- this.countries = this.parametersAll?.country;
2686
- this.civilStatus = this.parametersAll?.civilStatus;
2687
- this.states = this.parametersAll?.State;
2688
- this.cities = this.parametersAll?.city;
2689
- // this.genders = [
2690
- // { code: 1, name: 'Masculino' },
2691
- // { code: 2, name: 'Femenino' }
2692
- // ];
2693
- if (this.parametersAll && this.parametersAll.gender) {
2694
- // Transformar gender en un arreglo de { code, name }
2695
- this.genders = this.parametersAll.gender.map((gender) => ({
2696
- code: gender.code,
2697
- name: gender.name_spanish
2698
- }));
2896
+ <ipt-input
2897
+ [control]="formGruoup.controls['answer2']"
2898
+ [inputType]="'text'"
2899
+ [placeHolder]="'Opción B *'"
2900
+ [validateText]="'Este campo es requerido'"
2901
+ >
2902
+ </ipt-input>
2903
+ <ipt-input
2904
+ [control]="formGruoup.controls['value2']"
2905
+ [inputType]="'number'"
2906
+ [placeHolder]="'Valor *'"
2907
+ [validateText]="'Debe ser 0 o 1'"
2908
+ (click)='clickDetection("value2")'
2909
+ >
2910
+ </ipt-input>
2911
+
2912
+ <ipt-input
2913
+ [control]="formGruoup.controls['answer3']"
2914
+ [inputType]="'text'"
2915
+ [placeHolder]="'Opción C *'"
2916
+ [validateText]="'Este campo es requerido'"
2917
+ >
2918
+ </ipt-input>
2919
+ <ipt-input
2920
+ [control]="formGruoup.controls['value3']"
2921
+ [inputType]="'number'"
2922
+ [placeHolder]="'Valor *'"
2923
+ [validateText]="'Debe ser 0 o 1'"
2924
+ (click)='clickDetection("value3")'
2925
+ >
2926
+ </ipt-input>
2927
+
2928
+ <ipt-input
2929
+ *ngIf="this.questionType === 'A, B, C, D'"
2930
+ [control]="formGruoup.controls['answer4']"
2931
+ [inputType]="'text'"
2932
+ [placeHolder]="'Opción D *'"
2933
+ [validateText]="'Este campo es requerido'"
2934
+ >
2935
+ </ipt-input>
2936
+ <ipt-input
2937
+ *ngIf="this.questionType === 'A, B, C, D'"
2938
+ [control]="formGruoup.controls['value4']"
2939
+ [inputType]="'number'"
2940
+ [placeHolder]="'Valor *'"
2941
+ [validateText]="'Debe ser 0 o 1'"
2942
+ (click)='clickDetection("value4")'
2943
+ >
2944
+ </ipt-input>
2945
+ </div>
2946
+ `, styles: ["form{display:grid;grid-template-columns:1fr}.sectionABCD{display:grid;grid-template-columns:12fr 0fr;gap:0px 10px}fieldset{background:transparent;border:none}\n"] }]
2947
+ }], propDecorators: { questionType: [{
2948
+ type: Input
2949
+ }], formGruoup: [{
2950
+ type: Input
2951
+ }] } });
2952
+
2953
+ class ScheduleFormatPipe {
2954
+ transform(schedule) {
2955
+ if (!schedule) {
2956
+ return 'Sin horario';
2699
2957
  }
2700
- else {
2701
- this.genders = [];
2958
+ const isWithoutSchedule = typeof schedule === 'string' && schedule == 'without schedule';
2959
+ if (isWithoutSchedule) {
2960
+ return 'Sin horario';
2702
2961
  }
2703
- }
2704
- initializeForm() {
2705
- this.showParentSection = !!this.DataStudent?.cods?.parent?.code;
2706
- this.showEmailIpt = !!this.DataStudent?.email_ipt && this.DataStudent.email_ipt !== false;
2707
- this.initForm();
2708
- this.populateForm();
2709
- }
2710
- initForm() {
2711
- const baseForm = {
2712
- name: ['', [Validators.required, Validators.minLength(3), Validators.maxLength(32)]],
2713
- last_name: ['', [Validators.required, Validators.minLength(5), Validators.maxLength(32)]],
2714
- email: ['', [Validators.required, Validators.email, Validators.maxLength(300)]],
2715
- gender: ['', [Validators.required]],
2716
- id_card_type: ['', [Validators.required]],
2717
- id_card: ['', [Validators.required, Validators.minLength(5), Validators.maxLength(20)]],
2718
- phone_indicative: ['', [Validators.required]],
2719
- phone_number: ['', [Validators.required, Validators.minLength(10), Validators.maxLength(15)]],
2720
- country: ['', [Validators.required]],
2721
- state: ['', [Validators.required]],
2722
- city: ['', [Validators.required]],
2723
- role: [{ value: '', disabled: true }],
2724
- service_hour: ['', Validators.required],
2725
- password: ['', []],
2726
- re_password: ['', []],
2727
- changePassword: [false],
2728
- status: ['', Validators.required]
2962
+ const formattedDays = [];
2963
+ // Mapea los días en inglés a español
2964
+ const daysMapping = {
2965
+ Monday: 'Lun',
2966
+ Tuesday: 'Mar',
2967
+ Wednesday: 'Mie',
2968
+ Thursday: 'Jue',
2969
+ Friday: 'Vie',
2970
+ Saturday: 'Sáb',
2971
+ Sunday: 'Dom'
2729
2972
  };
2730
- if (this.showEmailIpt) {
2731
- Object.assign(baseForm, {
2732
- email_ipt: ['', [Validators.required, Validators.email, Validators.maxLength(255)]]
2733
- });
2734
- }
2735
- if (this.showParentSection) {
2736
- Object.assign(baseForm, {
2737
- parent_name: ['', [Validators.required, Validators.minLength(3), Validators.maxLength(150)]],
2738
- parent_last_name: ['', [Validators.required, Validators.minLength(5), Validators.maxLength(150)]],
2739
- parent_id_card_type: ['', [Validators.required]],
2740
- parent_id_card: ['', [Validators.required, Validators.minLength(5), Validators.maxLength(30)]],
2741
- parent_phone_indicative: ['', [Validators.required]],
2742
- parent_phone_number: ['', [Validators.required, Validators.minLength(10), Validators.maxLength(20)]],
2743
- parent_occupation: ['', [Validators.required, Validators.maxLength(50)]],
2744
- parent_office_adrress: ['', [Validators.required, Validators.maxLength(150)]],
2745
- parent_email: ['', [Validators.email, Validators.maxLength(255)]]
2973
+ if (Array.isArray(schedule)) {
2974
+ schedule.forEach(item => {
2975
+ const parts = item.split(' at ');
2976
+ if (parts.length !== 2) {
2977
+ return;
2978
+ }
2979
+ const [day] = parts;
2980
+ const spanishDay = daysMapping[day];
2981
+ if (spanishDay && !formattedDays.includes(spanishDay)) {
2982
+ formattedDays.push(spanishDay);
2983
+ }
2746
2984
  });
2747
2985
  }
2748
- this.updateUserForm = this.fb.group(baseForm, { validators: this.passwordMatchValidator });
2749
- this.updateUserForm.get('changePassword')?.valueChanges.subscribe((checked) => {
2750
- const passwordControl = this.updateUserForm.get('password');
2751
- const rePasswordControl = this.updateUserForm.get('re_password');
2752
- if (checked) {
2753
- passwordControl?.setValidators([Validators.required, Validators.minLength(5), Validators.maxLength(32)]);
2754
- rePasswordControl?.setValidators([Validators.required, Validators.minLength(5), Validators.maxLength(32)]);
2755
- }
2756
- else {
2757
- passwordControl?.clearValidators();
2758
- rePasswordControl?.clearValidators();
2759
- passwordControl?.setValue('');
2760
- rePasswordControl?.setValue('');
2761
- }
2762
- passwordControl?.updateValueAndValidity();
2763
- rePasswordControl?.updateValueAndValidity();
2764
- });
2765
- this.updateUserForm.get('password')?.valueChanges.subscribe(() => {
2766
- this.updateUserForm.updateValueAndValidity();
2767
- });
2768
- this.updateUserForm.get('re_password')?.valueChanges.subscribe(() => {
2769
- this.updateUserForm.updateValueAndValidity();
2770
- });
2771
- }
2772
- passwordMatchValidator(form) {
2773
- const changePassword = form.get('changePassword')?.value;
2774
- const password = form.get('password')?.value;
2775
- const rePassword = form.get('re_password')?.value;
2776
- if (!changePassword) {
2777
- return null;
2778
- }
2779
- const mismatch = password && rePassword && password !== rePassword;
2780
- return mismatch ? { mismatch: true } : null;
2986
+ return formattedDays.length > 0 ? formattedDays.join(', ') : 'Sin horario';
2781
2987
  }
2782
- noWhitespaceValidator(control) {
2783
- if (control.value && typeof control.value === 'string') {
2784
- const trimmedValue = control.value.trim();
2785
- if (trimmedValue.length === 0) {
2786
- return { onlyWhitespace: true };
2787
- }
2788
- if (control.value !== trimmedValue) {
2789
- return { hasWhitespace: true };
2790
- }
2988
+ }
2989
+ ScheduleFormatPipe.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.7", ngImport: i0, type: ScheduleFormatPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe });
2990
+ ScheduleFormatPipe.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "14.0.7", ngImport: i0, type: ScheduleFormatPipe, name: "scheduleFormat" });
2991
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.7", ngImport: i0, type: ScheduleFormatPipe, decorators: [{
2992
+ type: Pipe,
2993
+ args: [{
2994
+ name: 'scheduleFormat'
2995
+ }]
2996
+ }] });
2997
+
2998
+ class ScheduleTimeFormatPipe {
2999
+ transform(schedule) {
3000
+ if (!schedule || !Array.isArray(schedule) || schedule.length === 0) {
3001
+ return 'Sin horario';
2791
3002
  }
2792
- return null;
2793
- }
2794
- transformRole(role) {
2795
- const roleMap = {
2796
- 1: 'Super Admin',
2797
- 10: 'Jefe Academico',
2798
- 11: 'Coordinador Academico',
2799
- 12: 'Teacher Academico',
2800
- 13: 'Estudiante',
2801
- 15: 'Posible Estudiante',
2802
- 20: 'Jefe Marketing',
2803
- 21: 'Coordinador Marketing',
2804
- 22: 'Auxiliar Marketing',
2805
- 30: 'Jefe Administrativo',
2806
- 31: 'Coordinador Administrativo',
2807
- 32: 'Cajero Administrativo',
2808
- 40: 'Jefe Comercial',
2809
- 41: 'Coordinador Comercial',
2810
- 42: 'Asesor Comercial',
2811
- 50: 'Jefe Cartera',
2812
- 51: 'Coordinador Cartera',
2813
- 52: 'Asesor Cartera',
2814
- 60: 'Proveedor'
2815
- };
2816
- return roleMap[Number(role)] || '';
2817
- }
2818
- populateForm() {
2819
- if (this.DataStudent) {
2820
- const formValue = {
2821
- name: this.DataStudent.name || '',
2822
- last_name: this.DataStudent.last_name || '',
2823
- email: this.DataStudent.email || '',
2824
- gender: this.DataStudent.gender || null,
2825
- id_card_type: this.DataStudent.id_card_type || '',
2826
- id_card: this.DataStudent.id_card || '',
2827
- phone_indicative: this.DataStudent.phone_indicative || '',
2828
- phone_number: this.DataStudent.phone_number || '',
2829
- country: this.DataStudent.city?.country,
2830
- state: this.DataStudent.city?.state,
2831
- city: this.DataStudent.city?.code,
2832
- role: this.transformRole(this.DataStudent.role) || '',
2833
- service_hour: this.DataStudent.service_hour || 0,
2834
- changePassword: false,
2835
- password: '',
2836
- re_password: '',
2837
- status: this.DataStudent.user_status || ''
2838
- };
2839
- if (this.showEmailIpt) {
2840
- formValue.email_ipt = this.DataStudent.email_ipt || '';
2841
- }
2842
- if (this.showParentSection) {
2843
- Object.assign(formValue, {
2844
- parent_name: this.DataStudent.cods?.parent?.name || '',
2845
- parent_last_name: this.DataStudent.cods?.parent?.last_name || '',
2846
- parent_id_card_type: this.DataStudent.cods?.parent?.id_card_type || '',
2847
- parent_id_card: this.DataStudent.cods?.parent?.id_card || '',
2848
- parent_phone_indicative: this.DataStudent.cods?.parent?.phone_indicative || '',
2849
- parent_phone_number: this.DataStudent.cods?.parent?.phone_number || '',
2850
- parent_occupation: this.DataStudent.cods?.parent?.occupation || '',
2851
- parent_office_adrress: this.DataStudent.cods?.parent?.office_adrress || '',
2852
- parent_email: this.DataStudent.cods?.parent?.email || ''
2853
- });
2854
- }
2855
- this.updateUserForm.reset();
2856
- this.updateUserForm.patchValue(formValue);
2857
- this.initialFormValue = { ...this.updateUserForm.value };
2858
- if (formValue.country) {
2859
- console.log("en populateForm se envio dato para setearse country");
2860
- this.countries = this.parametersAll?.country;
2861
- this.selectCountry(this.DataStudent.city?.country);
2862
- }
2863
- if (formValue.state) {
2864
- this.selectState(this.DataStudent.city?.state);
2865
- }
2866
- if (formValue.city) {
2867
- this.selectCity(this.DataStudent.city?.code);
2868
- }
2869
- if (formValue.id_card_type) {
2870
- this.idTypes = this.parametersAll?.TypeIdCardByCountryCol;
2871
- this.selectGender(this.DataStudent.id_card_type);
2872
- }
2873
- if (formValue.phone_indicative) {
2874
- this.indicatives = this.parametersAll?.indicatives;
2875
- this.selectIndicative('phone_indicative', this.DataStudent.phone_indicative);
2876
- }
2877
- if (formValue.parent_phone_indicative) {
2878
- this.indicatives = this.parametersAll?.indicatives;
2879
- this.selectIndicative('parent_phone_indicative', this.DataStudent.cods?.parent?.phone_indicative);
2880
- }
2881
- if (formValue.gender) {
2882
- if (this.parametersAll && this.parametersAll.gender) {
2883
- // Transformar gender en un arreglo de { code, name }
2884
- this.genders = this.parametersAll.gender.map((gender) => ({
2885
- code: gender.code,
2886
- name: gender.name_spanish
2887
- }));
2888
- }
2889
- else {
2890
- this.genders = [];
2891
- }
2892
- this.selectGender(this.DataStudent.gender);
2893
- }
3003
+ const firstItem = schedule[0];
3004
+ const match = firstItem.match(/(\d{2}:\d{2}:\d{2}) to (\d{2}:\d{2}:\d{2})/);
3005
+ if (match && match.length === 3) {
3006
+ const [startTime, endTime] = match.slice(1);
3007
+ return `${this.formatTo12Hours(startTime)} to ${this.formatTo12Hours(endTime)}`;
2894
3008
  }
3009
+ return 'Sin horario';
2895
3010
  }
2896
- closeTable() {
2897
- this.visibleModal = false;
2898
- this.updateUserForm.reset();
2899
- this.idTypes = [];
2900
- this.countries = [];
2901
- this.genders = [];
2902
- this.closeModalIS.emit(false);
3011
+ formatTo12Hours(time) {
3012
+ const [hours, minutes, seconds] = time.split(':').map(Number);
3013
+ const period = hours >= 12 ? 'PM' : 'AM';
3014
+ const formattedHours = hours % 12 || 12; // Handle noon as 12 PM
3015
+ return `${formattedHours}:${this.padWithZero(minutes)} ${period}`;
2903
3016
  }
2904
- selectRol(role) {
2905
- if (role !== null) {
2906
- this.updateUserForm.get('role')?.setValue(this.transformRole(role));
3017
+ padWithZero(value) {
3018
+ return value < 10 ? `0${value}` : `${value}`;
3019
+ }
3020
+ }
3021
+ ScheduleTimeFormatPipe.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.7", ngImport: i0, type: ScheduleTimeFormatPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe });
3022
+ ScheduleTimeFormatPipe.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "14.0.7", ngImport: i0, type: ScheduleTimeFormatPipe, name: "scheduleTimeFormat" });
3023
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.7", ngImport: i0, type: ScheduleTimeFormatPipe, decorators: [{
3024
+ type: Pipe,
3025
+ args: [{
3026
+ name: 'scheduleTimeFormat'
3027
+ }]
3028
+ }] });
3029
+
3030
+ class TypeLevelPipe {
3031
+ transform(value) {
3032
+ if (value === 'BEGINNERS I') {
3033
+ return 'Beg.I';
2907
3034
  }
2908
- else {
2909
- this.updateUserForm.get('role')?.setValue('');
3035
+ if (value === 'BEGINNERS II') {
3036
+ return 'Beg.II';
2910
3037
  }
2911
- }
2912
- selectIndicative(field, indicative) {
2913
- if (indicative !== null) {
2914
- this.updateUserForm.get(field)?.setValue(indicative);
3038
+ if (value === 'BEGINNERS III') {
3039
+ return 'Beg.III';
2915
3040
  }
2916
- else {
2917
- this.updateUserForm.get(field)?.setValue(null);
3041
+ if (value === 'STARTERS I') {
3042
+ return 'Sta.I';
2918
3043
  }
2919
- }
2920
- selectIdType(field, idType) {
2921
- if (idType !== null) {
2922
- this.updateUserForm.get(field)?.setValue(idType);
3044
+ if (value === 'STARTERS II') {
3045
+ return 'Sta.II';
2923
3046
  }
2924
- else {
2925
- this.updateUserForm.get(field)?.setValue(null);
3047
+ if (value === 'MOVERS I') {
3048
+ return 'Mov.I';
2926
3049
  }
2927
- }
2928
- selectGender(gender) {
2929
- if (gender !== null) {
2930
- this.updateUserForm.get('gender')?.setValue(gender);
3050
+ if (value === 'MOVERS II') {
3051
+ return 'Mov.II';
2931
3052
  }
2932
- else {
2933
- this.updateUserForm.get('gender')?.setValue(null);
3053
+ if (value === 'PRE-A1') {
3054
+ return 'PRE-A1';
2934
3055
  }
2935
- }
2936
- selectCountry(country) {
2937
- const countryNumber = typeof country === 'string' ? parseInt(country, 10) : country;
2938
- if (country != null) {
2939
- this.updateUserForm.controls['country'].setValue(countryNumber);
2940
- console.log("se seteo country con el valor que entro en selectCountry");
2941
- if (this.parametersAll && this.parametersAll?.State) {
2942
- this.states = this.parametersAll.State.filter((course) => {
2943
- const state = typeof course.country === 'string'
2944
- ? parseInt(course.country, 10)
2945
- : course.country;
2946
- return state === countryNumber;
2947
- });
2948
- }
2949
- else {
2950
- this.states = [];
2951
- }
2952
- this.updateUserForm.controls['state'].setValue(null);
2953
- this.updateUserForm.controls['city'].setValue(null);
2954
- this.cities = [];
3056
+ if (value === 'A1') {
3057
+ return 'A1';
2955
3058
  }
2956
- else {
2957
- this.updateUserForm.controls['country'].setValue(null);
2958
- this.states = [];
2959
- this.cities = [];
2960
- this.cdr.detectChanges();
3059
+ if (value === 'A2') {
3060
+ return 'A2';
2961
3061
  }
2962
- }
2963
- selectState(state) {
2964
- const stateNumber = typeof state === 'string' ? parseInt(state, 10) : state;
2965
- if (state !== null) {
2966
- this.updateUserForm.controls['state'].setValue(stateNumber);
2967
- this.updateUserForm.controls['city'].setValue(null);
2968
- this.cities = [];
2969
- this.getState(stateNumber);
3062
+ if (value === 'B1') {
3063
+ return 'B1';
2970
3064
  }
2971
- else {
2972
- this.updateUserForm.controls['state'].setValue(null);
2973
- this.updateUserForm.controls['city'].setValue(null);
2974
- this.cities = [];
3065
+ if (value === 'B1+') {
3066
+ return 'B1+';
2975
3067
  }
2976
- }
2977
- getState(state) {
2978
- this.getCity(state);
2979
- }
2980
- getCity(state) {
2981
- const stateNumber = typeof state === 'string' ? parseInt(state, 10) : state;
2982
- if (this.parametersAll?.city) {
2983
- this.cities = this.parametersAll.city.filter((course) => {
2984
- const cityState = typeof course.state === 'string' ? parseInt(course.state, 10) : course.state;
2985
- return cityState === stateNumber;
2986
- });
3068
+ if (value === 'B2') {
3069
+ return 'B2';
2987
3070
  }
2988
3071
  else {
2989
- this.cities = [];
3072
+ return '-';
2990
3073
  }
2991
3074
  }
2992
- selectCity(city) {
2993
- const cityNumber = typeof city === 'string' ? parseInt(city, 10) : city;
2994
- if (city !== null) {
2995
- this.updateUserForm.controls['city'].setValue(cityNumber);
3075
+ }
3076
+ TypeLevelPipe.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.7", ngImport: i0, type: TypeLevelPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe });
3077
+ TypeLevelPipe.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "14.0.7", ngImport: i0, type: TypeLevelPipe, name: "typeLevel" });
3078
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.7", ngImport: i0, type: TypeLevelPipe, decorators: [{
3079
+ type: Pipe,
3080
+ args: [{
3081
+ name: 'typeLevel'
3082
+ }]
3083
+ }] });
3084
+
3085
+ class CardCourseComponent {
3086
+ constructor() {
3087
+ this.isLoading = true;
3088
+ this.codeCourse = new EventEmitter();
3089
+ this.courseAcademy = [];
3090
+ this.courseKids = [];
3091
+ this.courseSchools = [];
3092
+ this.visibleAcademy = false;
3093
+ this.visibleKids = false;
3094
+ this.visibleSchools = false;
3095
+ this.skeleton = [{}, {}];
3096
+ }
3097
+ ngOnInit() {
3098
+ if (this.CourseData.length == 0) {
3099
+ this.isLoading = true;
2996
3100
  }
2997
3101
  else {
2998
- this.updateUserForm.controls['city'].setValue(null);
3102
+ this.isLoading = false;
2999
3103
  }
3000
3104
  }
3001
- setPhoto(type) {
3002
- if (type === 'student')
3003
- this.photo = '/platform/academic/assets/student.jpg';
3004
- if (type === 'academic')
3005
- this.photo = '/platform/academic/assets/academico.png';
3006
- if (type === 'administrative')
3007
- this.photo = '/platform/administrative/assets/administrativo.jpg';
3008
- if (type === 'marketing')
3009
- this.photo = '/platform/marketing/assets/marketing.jpg';
3010
- if (type === 'commercial')
3011
- this.photo = '/platform/commercial/assets/user-form-assets/comercial.jpg';
3012
- if (type === 'treasure')
3013
- this.photo = '/platform/treasure/assets/administrativo.jpg';
3014
- }
3015
- updateUser() {
3016
- if (this.updateUserForm.invalid ||
3017
- this.updateUserForm.hasError('mismatch') ||
3018
- !this.hasFormChanged()) {
3019
- this.updateUserForm.markAllAsTouched();
3020
- console.log('createUser - Validation failed:', {
3021
- invalid: this.updateUserForm.invalid,
3022
- mismatch: this.updateUserForm.hasError('mismatch'),
3023
- hasChanges: this.hasFormChanged()
3024
- });
3025
- return;
3026
- }
3027
- this.loader = true;
3028
- const formValue = this.updateUserForm.getRawValue();
3029
- const request = {
3030
- token: this.baseService.getUserToken(),
3031
- user: {
3032
- code: this.DataStudent.code,
3033
- name: formValue.name,
3034
- last_name: formValue.last_name,
3035
- id_card_type: formValue.id_card_type,
3036
- id_card: formValue.id_card,
3037
- phone_indicative: formValue.phone_indicative,
3038
- phone_number: formValue.phone_number,
3039
- email: formValue.email,
3040
- gender: formValue.gender,
3041
- city: formValue.city,
3042
- service_hour: formValue.service_hour,
3043
- role: this.DataStudent.role,
3044
- status: formValue.status,
3045
- ...(this.showEmailIpt ? { email_ipt: formValue.email_ipt } : {}),
3046
- ...(formValue.changePassword && formValue.password ? { password: formValue.password } : {})
3047
- },
3048
- parent: this.showParentSection
3049
- ? {
3050
- code: this.DataStudent.cods?.parent?.code || null,
3051
- name: formValue.parent_name || null,
3052
- last_name: formValue.parent_last_name || null,
3053
- id_card_type: formValue.parent_id_card_type || null,
3054
- id_card: formValue.parent_id_card || null,
3055
- phone_indicative: formValue.parent_phone_indicative || null,
3056
- phone_number: formValue.parent_phone_number || null,
3057
- occupation: formValue.parent_occupation || null,
3058
- office_adrress: formValue.parent_office_adrress || null,
3059
- email: formValue.parent_email || null
3060
- }
3061
- : null
3062
- };
3063
- console.log(request);
3064
- this.userService.updateUserAndParentByCode(request).subscribe((response) => {
3065
- // this.courseType = response.data;
3066
- if (response.message.code === 1) {
3067
- Swal.fire({
3068
- position: 'center',
3069
- icon: 'success',
3070
- title: 'usuario actualizado satisfactoriamente',
3071
- showConfirmButton: false,
3072
- timer: 2500,
3073
- });
3074
- // this.userUpdated = true
3075
- this.userUpdatedEvent.emit();
3076
- this.closeTable();
3077
- }
3078
- else {
3079
- Swal.fire({
3080
- position: 'center',
3081
- icon: 'error',
3082
- title: 'Ha ocurrido un error inesperado',
3083
- showConfirmButton: false,
3084
- timer: 2500,
3085
- });
3086
- // this.userUpdated = false
3105
+ ngOnChanges(changes) {
3106
+ if (changes['CourseData']) {
3107
+ if (!this.CourseData) {
3108
+ this.courseAcademy = [];
3109
+ this.courseKids = [];
3110
+ this.courseSchools = [];
3111
+ this.isLoading = false;
3112
+ this.visibleAcademy = false;
3113
+ this.visibleKids = false;
3114
+ this.visibleSchools = false;
3087
3115
  }
3088
- });
3089
- this.loader = false;
3090
- }
3091
- hasFormChanged() {
3092
- if (!this.initialFormValue || !this.DataStudent) {
3093
- return false;
3094
- }
3095
- const currentValue = this.updateUserForm.getRawValue();
3096
- if (currentValue.changePassword) {
3097
- const password = currentValue.password;
3098
- const rePassword = currentValue.re_password;
3099
- const passwordControl = this.updateUserForm.get('password');
3100
- const rePasswordControl = this.updateUserForm.get('re_password');
3101
- if (passwordControl?.valid &&
3102
- rePasswordControl?.valid &&
3103
- password === rePassword &&
3104
- password?.trim() !== '') {
3105
- return true;
3116
+ else {
3117
+ this.isLoading = false;
3118
+ this.courseAcademy = this.CourseData.Academy;
3119
+ this.courseKids = this.CourseData.Kids;
3120
+ this.courseSchools = this.CourseData.Schools;
3121
+ this.visibleAcademy = this.CourseData.Academy ? true : false;
3122
+ this.visibleKids = this.CourseData.Kids ? true : false;
3123
+ this.visibleSchools = this.CourseData.Schools ? true : false;
3106
3124
  }
3107
3125
  }
3108
- const fieldsToCompare = [
3109
- 'name',
3110
- 'last_name',
3111
- 'email',
3112
- 'gender',
3113
- 'id_card_type',
3114
- 'id_card',
3115
- 'phone_indicative',
3116
- 'phone_number',
3117
- 'country',
3118
- 'state',
3119
- 'city',
3120
- 'role',
3121
- 'service_hour',
3122
- 'status'
3123
- ];
3124
- if (this.showEmailIpt) {
3125
- fieldsToCompare.push('email_ipt');
3126
+ }
3127
+ viewDataCourse(codeCourse) {
3128
+ this.codeCourse.emit(codeCourse);
3129
+ }
3130
+ getCssClass(level) {
3131
+ switch (level) {
3132
+ case 'PRE-A1':
3133
+ return 'levelAone';
3134
+ case 'A1':
3135
+ return 'levelAonetwo';
3136
+ case 'A2':
3137
+ return 'levelAtwo';
3138
+ case 'B1':
3139
+ return 'levelBone';
3140
+ case 'B2':
3141
+ return 'levelBtwo';
3142
+ case 'B1+':
3143
+ return 'levelBplus';
3144
+ case 'MOVERS I':
3145
+ case 'MOVERS II':
3146
+ case 'BEGINNERS I':
3147
+ case 'BEGINNERS II':
3148
+ case 'BEGINNERS III':
3149
+ case 'STARTERS I':
3150
+ case 'STARTERS II':
3151
+ return 'beginner';
3152
+ default:
3153
+ return '';
3126
3154
  }
3127
- if (this.showParentSection) {
3128
- fieldsToCompare.push('parent_name', 'parent_last_name', 'parent_id_card_type', 'parent_id_card', 'parent_phone_indicative', 'parent_phone_number', 'parent_occupation', 'parent_office_adrress', 'parent_email');
3155
+ }
3156
+ }
3157
+ CardCourseComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.7", ngImport: i0, type: CardCourseComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
3158
+ CardCourseComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.0.7", type: CardCourseComponent, selector: "ipt-card-course-self-cod-managed", inputs: { CourseData: "CourseData", isLoading: "isLoading" }, outputs: { codeCourse: "codeCourse" }, usesOnChanges: true, ngImport: i0, template: "<div *ngIf=\"!isLoading\" class=\"main-container\">\n\n <!-- cards Academy -->\n <div class=\"container__span-header flex justify-content-start\" *ngIf=\"visibleAcademy || visibleKids || visibleSchools\">\n <span>Selecciona un Plan</span>\n </div>\n\n <p-panel\n *ngIf=\"visibleAcademy\"\n header=\"Plan Academy\"\n [toggleable]=\"true\"\n [collapsed]=\"false\"\n id=\"academic_plan\"\n class=\"academic_plan\"\n >\n <ng-template pTemplate=\"icons\"> </ng-template>\n <main *ngIf=\"!isLoading\" class=\"flex flex-col\">\n <section *ngFor=\"let course of courseAcademy\" class=\"card1 animate__animated\" (click)=\"viewDataCourse(course)\">\n <h3 class=\"card1__title__academic\">{{ course.course_type.label }}</h3>\n <p class=\"card1__content\">\n <strong class=\"type-theory\">Clases Teoricas: </strong>{{ course.course_schedule | scheduleFormat }}<br>\n <strong class=\"type-theory\">Horario Teorico: </strong>{{ course.course_schedule | scheduleTimeFormat }}<br>\n <!-- <strong class=\"type-theory\">Theory Teacher: </strong>{{ course.teacher | titlecase }}<br> -->\n <!-- <strong class=\"type-theory\">Theory Classroom: </strong><span>{{ course.course_scheduleDetails[0].ClassRoom.name | titlecase}}</span><br> -->\n <strong><hr></strong>\n <strong class=\"type-club\">Clases Club: </strong>\n <span *ngIf=\"course.course_club\">{{ course.course_club.course_schedule | scheduleFormat }}</span><br>\n <strong class=\"type-club\">Horario Club: </strong>\n <span *ngIf=\"course.course_club\">{{ course.course_club.course_schedule | scheduleTimeFormat }}</span><br>\n <strong>Modalidad: </strong>\n <span *ngIf=\"course.course_modality\">{{ course.course_modality.name | titlecase }}</span><br>\n <!-- <strong class=\"type-club\">Club Teacher: </strong>\n <span *ngIf=\"course.course_club\">{{ course.course_club.teacher | titlecase }}</span><br> -->\n <!-- <strong class=\"type-club\">Club Classroom: </strong>\n <span *ngIf=\"course.course_club\">{{ course.course_club.course_scheduleDetails[0].ClassRoom.name | titlecase}}</span><br> -->\n <!-- <strong><hr></strong> -->\n <!-- <strong *ngIf=\"course.start_date === null\">Posible inicio: </strong>{{ course.start_date === null ? course.to_start : null | date:'dd/MM/yyyy' }}<br *ngIf=\"course.start_date === null\">\n <strong *ngIf=\"course.start_date !== null\">Fecha Inicio: </strong>{{ course.start_date !== null ? course.start_date : null | date:'dd/MM/yyyy' }}<br *ngIf=\"course.finish_date !== null\">\n <strong *ngIf=\"course.finish_date !== null\">Fecha culminacion: </strong>{{ course.finish_date !== null ? course.finish_date : null | date:'dd/MM/yyyy' }}<br *ngIf=\"course.finish_date !== null\"> -->\n <!-- <strong>Created: </strong>{{ course.created_at | date:'dd/MM/yyyy' }}<br> -->\n </p>\n <div class=\"card1__date\">\n <!-- <span\n [ngClass]=\"course.status?.color_status\"\n ></span> -->\n <!-- <span class=\"course-code\">Code: {{course.code}}</span> -->\n </div>\n <div class=\"card1__arrow\" [ngClass]=\"getCssClass(course.english_level.name)\">\n <span>{{ course.english_level.name | typeLevel}}</span>\n </div>\n </section>\n </main>\n <ipt-loader *ngIf=\"isLoading\"></ipt-loader>\n </p-panel>\n\n <!-- cards Kids -->\n\n <p-panel\n *ngIf=\"visibleKids\"\n header=\"Plan Kids\"\n [toggleable]=\"true\"\n [collapsed]=\"false\"\n id=\"social_kids\"\n >\n <ng-template pTemplate=\"icons\"> </ng-template>\n <main *ngIf=\"!isLoading\" class=\"flex flex-col\">\n <section *ngFor=\"let course of courseKids\" class=\"card1 animate__animated\" (click)=\"viewDataCourse(course)\">\n <h3 class=\"card1__title__kids\">{{ course.course_type.label }}</h3>\n <p class=\"card1__content\">\n <strong class=\"type-theory\">Clases Teoricas: </strong>{{ course.course_schedule | scheduleFormat }}<br>\n <strong class=\"type-theory\">Horario Teorico: </strong>{{ course.course_schedule | scheduleTimeFormat }}<br>\n <!-- <strong class=\"type-theory\">Theory Teacher: </strong>{{ course.teacher | titlecase }}<br>\n <strong class=\"type-theory\">Theory Classroom: </strong><span>{{ course.course_scheduleDetails[0].ClassRoom.name | titlecase}}</span><br> -->\n <strong><hr></strong>\n <strong class=\"type-club\">Clases Club: </strong>\n <span *ngIf=\"course.course_club\">{{ course.course_club.course_schedule | scheduleFormat }}</span><br>\n <strong class=\"type-club\">Horario Club: </strong>\n <span *ngIf=\"course.course_club\">{{ course.course_club.course_schedule | scheduleTimeFormat }}</span><br>\n <strong>Modalidad: </strong>\n <span *ngIf=\"course.course_modality\">{{ course.course_modality.name | titlecase }}</span><br>\n <!-- <strong class=\"type-club\">Club Teacher: </strong>\n <span *ngIf=\"course.course_club\">{{ course.course_club.teacher | titlecase }}</span><br> -->\n <!-- <strong class=\"type-club\">Club Classroom: </strong>\n <span *ngIf=\"course.course_club\">{{ course.course_club.course_scheduleDetails[0].ClassRoom.name | titlecase}}</span><br> -->\n <!-- <strong><hr></strong> -->\n <!-- <strong *ngIf=\"course.start_date === null\">Posible inicio: </strong>{{ course.start_date === null ? course.to_start : null | date:'dd/MM/yyyy' }}<br *ngIf=\"course.start_date === null\">\n <strong *ngIf=\"course.start_date !== null\">Fecha Inicio: </strong>{{ course.start_date !== null ? course.start_date : null | date:'dd/MM/yyyy' }}<br *ngIf=\"course.finish_date !== null\">\n <strong *ngIf=\"course.finish_date !== null\">Fecha culminacion: </strong>{{ course.finish_date !== null ? course.finish_date : null | date:'dd/MM/yyyy' }}<br *ngIf=\"course.finish_date !== null\"> -->\n <!-- <strong>Created: </strong>{{ course.created_at | date:'dd/MM/yyyy' }}<br> -->\n </p>\n <div class=\"card1__date\">\n <!-- <span\n [ngClass]=\"course.status?.color_status\"\n ></span> -->\n <!-- <span class=\"course-code\">Code: {{course.code}}</span> -->\n </div>\n <div class=\"card1__arrow\" [ngClass]=\"getCssClass(course.english_level.name)\">\n <span>{{ course.english_level.name | typeLevel}}</span>\n </div>\n </section>\n </main>\n <ipt-loader *ngIf=\"isLoading\"></ipt-loader>\n </p-panel>\n\n <!-- cards Schools -->\n\n <p-panel\n *ngIf=\"visibleSchools\"\n header=\"Plan Schools\"\n [toggleable]=\"true\"\n [collapsed]=\"false\"\n id=\"social_school\"\n >\n <ng-template pTemplate=\"icons\"> </ng-template>\n <main *ngIf=\"!isLoading\" class=\"flex flex-col\">\n <section *ngFor=\"let course of courseSchools\" class=\"card1 animate__animated\" (click)=\"viewDataCourse(course)\">\n <h3 class=\"card1__title__schools\">{{ course.course_type.label }}</h3>\n <p class=\"card1__content\">\n <strong class=\"type-theory\">Clases Teoricas: </strong>{{ course.course_schedule | scheduleFormat }}<br>\n <strong class=\"type-theory\">Horario Teorico: </strong>{{ course.course_schedule | scheduleTimeFormat }}<br>\n <!-- <strong class=\"type-theory\">Theory Teacher: </strong>{{ course.teacher | titlecase }}<br>\n <strong class=\"type-theory\">Theory Classroom: </strong><span>{{ course.course_scheduleDetails[0].ClassRoom.name | titlecase}}</span><br> -->\n <strong><hr></strong>\n <strong class=\"type-club\">Clases Club: </strong>\n <span *ngIf=\"course.course_club\">{{ course.course_club.course_schedule | scheduleFormat }}</span><br>\n <strong class=\"type-club\">Horario Club: </strong>\n <span *ngIf=\"course.course_club\">{{ course.course_club.course_schedule | scheduleTimeFormat }}</span><br>\n <strong>Modalidad: </strong>\n <span *ngIf=\"course.course_modality\">{{ course.course_modality.name | titlecase }}</span><br>\n <!-- <strong class=\"type-club\">Club Teacher: </strong>\n <span *ngIf=\"course.course_club\">{{ course.course_club.teacher | titlecase }}</span><br>\n <strong class=\"type-club\">Club Classroom: </strong>\n <span *ngIf=\"course.course_club\">{{ course.course_club.course_scheduleDetails[0].ClassRoom.name | titlecase}}</span><br> -->\n <!-- <strong><hr></strong> -->\n <!-- <strong *ngIf=\"course.start_date === null\">Posible inicio: </strong>{{ course.start_date === null ? course.to_start : null | date:'dd/MM/yyyy' }}<br *ngIf=\"course.start_date === null\">\n <strong *ngIf=\"course.start_date !== null\">Fecha Inicio: </strong>{{ course.start_date !== null ? course.start_date : null | date:'dd/MM/yyyy' }}<br *ngIf=\"course.finish_date !== null\">\n <strong *ngIf=\"course.finish_date !== null\">Fecha culminacion: </strong>{{ course.finish_date !== null ? course.finish_date : null | date:'dd/MM/yyyy' }}<br *ngIf=\"course.finish_date !== null\"> -->\n <!-- <strong>Created: </strong>{{ course.created_at | date:'dd/MM/yyyy' }}<br> -->\n </p>\n <div class=\"card1__date\">\n <!-- <span\n [ngClass]=\"course.status?.color_status\"\n ></span> -->\n <!-- <span class=\"course-code\">Code: {{course.code}}</span> -->\n </div>\n <div class=\"card1__arrow\" [ngClass]=\"getCssClass(course.english_level.name)\">\n <span>{{ course.english_level.name | typeLevel}}</span>\n </div>\n </section>\n </main>\n <ipt-loader *ngIf=\"isLoading\"></ipt-loader>\n </p-panel>\n\n <div class=\"container__span-footer flex justify-content-center\" *ngIf=\"!visibleAcademy && !visibleKids && !visibleSchools\">\n <span>No se encontraron planes</span>\n </div>\n</div>\n<div *ngIf=\"isLoading\">\n\n <p-panel\n header=\"\"\n [toggleable]=\"true\"\n [collapsed]=\"false\"\n id=\"p-component panel-skeleton\"\n >\n <ng-template pTemplate=\"icons\"> </ng-template>\n <main class=\"flex flex-col\">\n <section *ngFor=\"let course of skeleton\" class=\"card1 animate__animated\" >\n <p-skeleton width=\"12rem\" height=\"2rem\" styleClass=\"mb-2\" ></p-skeleton>\n <p class=\"card1__content_skeleton\">\n <p-skeleton width=\"9rem\" height=\"1rem\" styleClass=\"mb-2\" ></p-skeleton>\n <p-skeleton width=\"9rem\" height=\"1rem\" styleClass=\"mb-2\" ></p-skeleton>\n <strong><hr></strong>\n <p-skeleton width=\"9rem\" height=\"1rem\" styleClass=\"mb-2\" ></p-skeleton>\n <p-skeleton width=\"9rem\" height=\"1rem\" styleClass=\"mb-2\" ></p-skeleton>\n </p>\n <div class=\"card1__date__skeleton\">\n </div>\n <div class=\"card1__arrow\" >\n <p-skeleton size=\"3rem\" styleClass=\"mr-2\" ></p-skeleton>\n </div>\n </section>\n </main>\n </p-panel>\n\n</div>\n\n", styles: ["main{display:flex;gap:.7rem;flex-wrap:wrap}.card1{--border-radius: 3px;--primary-color: #1c77f7;--secondary-color: #2c2c2c;--tertiary-color: #ffffff;width:340px;font-family:Poppins,sans-serif;cursor:pointer;border-radius:var(--border-radius);background:#f1f1f3;box-shadow:0 8px 16px #00000008;position:relative;transition:.3s;border:solid .5px #e0e0e0}.type-theory{color:#00aecc}.type-club{color:#0d9d36}.msg-two-coup{color:#000!important;padding-left:7px;padding-right:7px;border-radius:5px;background-color:#4ed1e9}.msg-two-lev{color:#000!important;padding-left:5px;padding-right:5px;border-radius:5px;margin-left:13px;background-color:#fb8f42}.beginner{color:#fff!important;padding-left:5px;padding-right:5px;border-radius:5px;margin-left:13px;background-color:#94b9aa}.levelAone{color:#fff!important;padding-left:5px;padding-right:5px;border-radius:5px;margin-left:13px;background-color:#c4291c}.levelAonetwo{color:#fff!important;padding-left:5px;padding-right:5px;border-radius:5px;margin-left:13px;background-color:#418ed1}.levelAtwo{color:#fff!important;padding-left:5px;padding-right:5px;border-radius:5px;margin-left:13px;background-color:#4fad65}.levelBone{color:#fff!important;padding-left:5px;padding-right:5px;border-radius:5px;margin-left:13px;background-color:#6824b8}.levelBtwo{color:#fff!important;padding-left:5px;padding-right:5px;border-radius:5px;margin-left:13px;background-color:#06161e}.levelBplus{color:#fff!important;padding-left:5px;padding-right:5px;border-radius:5px;margin-left:13px;background-color:#cc6529}.main-container{margin-top:1%}.course-code{font-size:12px;font-weight:400;margin-left:.5rem}.card1:hover{box-shadow:#0000003d 0 3px 8px}.card1>*+*{margin-top:.7em}.card1 .card1__content{padding-left:10px;color:var(--secondary-color);font-size:.86rem;font-weight:200;z-index:1;position:relative}strong{color:var(--secondary-color);font-weight:300}:host ::ng-deep .p-panel .p-panel-header .p-panel-header-icon{color:#fff!important}.card1 .card1__title__academic{color:#fff;padding-left:10px;padding-right:10px;font-size:1.1rem;font-weight:300;z-index:1;position:relative;background:rgb(4,18,106);background:linear-gradient(175deg,rgba(4,18,106,1) 27%,rgba(48,63,155,1) 53%,rgba(28,119,247,1)90%);border-radius:6px 6px 0 0}:host ::ng-deep #academic_plan .p-panel .p-panel-header{color:#fff!important;background:rgb(4,18,106);background:linear-gradient(175deg,rgba(4,18,106,1) 27%,rgba(48,63,155,1) 53%,rgba(28,119,247,1)90%);border-radius:6px 6px 0 0}.card1 .card1__title__kids{color:#fff;padding-left:10px;padding-right:10px;font-size:1.1rem;font-weight:300;z-index:1;position:relative;background:rgb(127,33,99);background:linear-gradient(175deg,rgba(127,33,99,1) 27%,rgba(171,49,135,1) 53%,rgba(220,76,178,1) 90%);border-radius:6px 6px 0 0}:host ::ng-deep #social_kids .p-panel .p-panel-header{color:#fff!important;background:rgb(127,33,99);background:linear-gradient(175deg,rgba(127,33,99,1) 27%,rgba(171,49,135,1) 53%,rgba(220,76,178,1) 90%);border-radius:6px 6px 0 0}.card1 .card1__title__schools{color:#fff;padding-left:10px;padding-right:10px;font-size:1.1rem;font-weight:300;z-index:1;position:relative;background:rgb(57,130,154);background:linear-gradient(175deg,rgba(57,130,154,1) 27%,rgba(44,147,180,1) 53%,rgba(135,182,197,1) 90%);border-radius:6px 6px 0 0}:host ::ng-deep #social_school .p-panel .p-panel-header{color:#fff!important;background:rgb(57,130,154);background:linear-gradient(175deg,rgba(57,130,154,1) 27%,rgba(44,147,180,1) 53%,rgba(135,182,197,1) 90%);border-radius:6px 6px 0 0}.card1 .card1__date{color:#807c7c;padding-left:10px;font-size:.4rem;z-index:1;position:relative;margin-bottom:2%;margin-top:.7rem}.card1 .card1__arrow{padding-left:10px;position:absolute;padding:.3rem;border-top-left-radius:var(--border-radius);border-bottom-right-radius:var(--border-radius);bottom:0;right:0;transition:.2s;display:flex;justify-content:center;align-items:center}.card1 svg{transition:.2s}.card1:hover .card1__title{color:var(--secondary-color)}.card1:hover .card1__arrow{background:rgb(170,41,170)}.card1:hover .card1__arrow svg{transform:translate(3px)}.card1:hover strong{color:#aa29aa;font-weight:400}.card1:hover .course-code{color:#aa29aa;font-weight:500}.image-container{display:flex;border-radius:6px;width:250px;height:207px;box-shadow:#3c40434d 0 1px 2px,#3c404326 0 1px 3px 1px}:host ::ng-deep .p-menubar .p-menuitem{position:relative;width:auto}.green300{height:2%;width:2%;padding-right:9px;border-radius:70%;background:#76db9b;box-shadow:-1px 0 1px 1px #000000fa;border:1px solid rgb(0 0 0 / 40%)}.red300{height:2%;width:2%;padding-right:9px;border-radius:70%;background:#e35b53;box-shadow:-1px 0 1px 1px #000000fa;border:1px solid rgb(0 0 0 / 40%)}.gray300{height:2%;width:2%;padding-right:9px;border-radius:70%;color:#9e9a99;background-color:#9e9a99;box-shadow:-1px 0 1px 1px #000000fa;border:1px solid rgb(0 0 0 / 40%)}label{border-radius:50%}#panel-skeleton{position:relative;overflow:hidden;background:#f0f0f0}#panel-skeleton:after{content:\"\";animation:p-skeleton-animation 1.2s infinite;height:100%;left:0;position:absolute;right:0;top:0;transform:translate(-100%);z-index:1;background:linear-gradient(90deg,rgba(255,255,255,0),rgba(255,255,255,.4),rgba(255,255,255,0))}@keyframes p-skeleton-animation{0%{transform:translate(-100%)}to{transform:translate(100%)}}.container__span-header,.container__span-footer{margin:20px 0;font-weight:700}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i2.Panel, selector: "p-panel", inputs: ["toggleable", "header", "collapsed", "style", "styleClass", "iconPos", "expandIcon", "collapseIcon", "showHeader", "toggler", "transitionOptions"], outputs: ["collapsedChange", "onBeforeToggle", "onAfterToggle"] }, { kind: "directive", type: i2$1.PrimeTemplate, selector: "[pTemplate]", inputs: ["type", "pTemplate"] }, { kind: "component", type: i4.Skeleton, selector: "p-skeleton", inputs: ["styleClass", "style", "shape", "animation", "borderRadius", "size", "width", "height"] }, { kind: "component", type: LoaderComponent, selector: "ipt-loader", inputs: ["message", "isDialog"] }, { kind: "pipe", type: i1.TitleCasePipe, name: "titlecase" }, { kind: "pipe", type: ScheduleFormatPipe, name: "scheduleFormat" }, { kind: "pipe", type: ScheduleTimeFormatPipe, name: "scheduleTimeFormat" }, { kind: "pipe", type: TypeLevelPipe, name: "typeLevel" }] });
3159
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.7", ngImport: i0, type: CardCourseComponent, decorators: [{
3160
+ type: Component,
3161
+ args: [{ selector: 'ipt-card-course-self-cod-managed', template: "<div *ngIf=\"!isLoading\" class=\"main-container\">\n\n <!-- cards Academy -->\n <div class=\"container__span-header flex justify-content-start\" *ngIf=\"visibleAcademy || visibleKids || visibleSchools\">\n <span>Selecciona un Plan</span>\n </div>\n\n <p-panel\n *ngIf=\"visibleAcademy\"\n header=\"Plan Academy\"\n [toggleable]=\"true\"\n [collapsed]=\"false\"\n id=\"academic_plan\"\n class=\"academic_plan\"\n >\n <ng-template pTemplate=\"icons\"> </ng-template>\n <main *ngIf=\"!isLoading\" class=\"flex flex-col\">\n <section *ngFor=\"let course of courseAcademy\" class=\"card1 animate__animated\" (click)=\"viewDataCourse(course)\">\n <h3 class=\"card1__title__academic\">{{ course.course_type.label }}</h3>\n <p class=\"card1__content\">\n <strong class=\"type-theory\">Clases Teoricas: </strong>{{ course.course_schedule | scheduleFormat }}<br>\n <strong class=\"type-theory\">Horario Teorico: </strong>{{ course.course_schedule | scheduleTimeFormat }}<br>\n <!-- <strong class=\"type-theory\">Theory Teacher: </strong>{{ course.teacher | titlecase }}<br> -->\n <!-- <strong class=\"type-theory\">Theory Classroom: </strong><span>{{ course.course_scheduleDetails[0].ClassRoom.name | titlecase}}</span><br> -->\n <strong><hr></strong>\n <strong class=\"type-club\">Clases Club: </strong>\n <span *ngIf=\"course.course_club\">{{ course.course_club.course_schedule | scheduleFormat }}</span><br>\n <strong class=\"type-club\">Horario Club: </strong>\n <span *ngIf=\"course.course_club\">{{ course.course_club.course_schedule | scheduleTimeFormat }}</span><br>\n <strong>Modalidad: </strong>\n <span *ngIf=\"course.course_modality\">{{ course.course_modality.name | titlecase }}</span><br>\n <!-- <strong class=\"type-club\">Club Teacher: </strong>\n <span *ngIf=\"course.course_club\">{{ course.course_club.teacher | titlecase }}</span><br> -->\n <!-- <strong class=\"type-club\">Club Classroom: </strong>\n <span *ngIf=\"course.course_club\">{{ course.course_club.course_scheduleDetails[0].ClassRoom.name | titlecase}}</span><br> -->\n <!-- <strong><hr></strong> -->\n <!-- <strong *ngIf=\"course.start_date === null\">Posible inicio: </strong>{{ course.start_date === null ? course.to_start : null | date:'dd/MM/yyyy' }}<br *ngIf=\"course.start_date === null\">\n <strong *ngIf=\"course.start_date !== null\">Fecha Inicio: </strong>{{ course.start_date !== null ? course.start_date : null | date:'dd/MM/yyyy' }}<br *ngIf=\"course.finish_date !== null\">\n <strong *ngIf=\"course.finish_date !== null\">Fecha culminacion: </strong>{{ course.finish_date !== null ? course.finish_date : null | date:'dd/MM/yyyy' }}<br *ngIf=\"course.finish_date !== null\"> -->\n <!-- <strong>Created: </strong>{{ course.created_at | date:'dd/MM/yyyy' }}<br> -->\n </p>\n <div class=\"card1__date\">\n <!-- <span\n [ngClass]=\"course.status?.color_status\"\n ></span> -->\n <!-- <span class=\"course-code\">Code: {{course.code}}</span> -->\n </div>\n <div class=\"card1__arrow\" [ngClass]=\"getCssClass(course.english_level.name)\">\n <span>{{ course.english_level.name | typeLevel}}</span>\n </div>\n </section>\n </main>\n <ipt-loader *ngIf=\"isLoading\"></ipt-loader>\n </p-panel>\n\n <!-- cards Kids -->\n\n <p-panel\n *ngIf=\"visibleKids\"\n header=\"Plan Kids\"\n [toggleable]=\"true\"\n [collapsed]=\"false\"\n id=\"social_kids\"\n >\n <ng-template pTemplate=\"icons\"> </ng-template>\n <main *ngIf=\"!isLoading\" class=\"flex flex-col\">\n <section *ngFor=\"let course of courseKids\" class=\"card1 animate__animated\" (click)=\"viewDataCourse(course)\">\n <h3 class=\"card1__title__kids\">{{ course.course_type.label }}</h3>\n <p class=\"card1__content\">\n <strong class=\"type-theory\">Clases Teoricas: </strong>{{ course.course_schedule | scheduleFormat }}<br>\n <strong class=\"type-theory\">Horario Teorico: </strong>{{ course.course_schedule | scheduleTimeFormat }}<br>\n <!-- <strong class=\"type-theory\">Theory Teacher: </strong>{{ course.teacher | titlecase }}<br>\n <strong class=\"type-theory\">Theory Classroom: </strong><span>{{ course.course_scheduleDetails[0].ClassRoom.name | titlecase}}</span><br> -->\n <strong><hr></strong>\n <strong class=\"type-club\">Clases Club: </strong>\n <span *ngIf=\"course.course_club\">{{ course.course_club.course_schedule | scheduleFormat }}</span><br>\n <strong class=\"type-club\">Horario Club: </strong>\n <span *ngIf=\"course.course_club\">{{ course.course_club.course_schedule | scheduleTimeFormat }}</span><br>\n <strong>Modalidad: </strong>\n <span *ngIf=\"course.course_modality\">{{ course.course_modality.name | titlecase }}</span><br>\n <!-- <strong class=\"type-club\">Club Teacher: </strong>\n <span *ngIf=\"course.course_club\">{{ course.course_club.teacher | titlecase }}</span><br> -->\n <!-- <strong class=\"type-club\">Club Classroom: </strong>\n <span *ngIf=\"course.course_club\">{{ course.course_club.course_scheduleDetails[0].ClassRoom.name | titlecase}}</span><br> -->\n <!-- <strong><hr></strong> -->\n <!-- <strong *ngIf=\"course.start_date === null\">Posible inicio: </strong>{{ course.start_date === null ? course.to_start : null | date:'dd/MM/yyyy' }}<br *ngIf=\"course.start_date === null\">\n <strong *ngIf=\"course.start_date !== null\">Fecha Inicio: </strong>{{ course.start_date !== null ? course.start_date : null | date:'dd/MM/yyyy' }}<br *ngIf=\"course.finish_date !== null\">\n <strong *ngIf=\"course.finish_date !== null\">Fecha culminacion: </strong>{{ course.finish_date !== null ? course.finish_date : null | date:'dd/MM/yyyy' }}<br *ngIf=\"course.finish_date !== null\"> -->\n <!-- <strong>Created: </strong>{{ course.created_at | date:'dd/MM/yyyy' }}<br> -->\n </p>\n <div class=\"card1__date\">\n <!-- <span\n [ngClass]=\"course.status?.color_status\"\n ></span> -->\n <!-- <span class=\"course-code\">Code: {{course.code}}</span> -->\n </div>\n <div class=\"card1__arrow\" [ngClass]=\"getCssClass(course.english_level.name)\">\n <span>{{ course.english_level.name | typeLevel}}</span>\n </div>\n </section>\n </main>\n <ipt-loader *ngIf=\"isLoading\"></ipt-loader>\n </p-panel>\n\n <!-- cards Schools -->\n\n <p-panel\n *ngIf=\"visibleSchools\"\n header=\"Plan Schools\"\n [toggleable]=\"true\"\n [collapsed]=\"false\"\n id=\"social_school\"\n >\n <ng-template pTemplate=\"icons\"> </ng-template>\n <main *ngIf=\"!isLoading\" class=\"flex flex-col\">\n <section *ngFor=\"let course of courseSchools\" class=\"card1 animate__animated\" (click)=\"viewDataCourse(course)\">\n <h3 class=\"card1__title__schools\">{{ course.course_type.label }}</h3>\n <p class=\"card1__content\">\n <strong class=\"type-theory\">Clases Teoricas: </strong>{{ course.course_schedule | scheduleFormat }}<br>\n <strong class=\"type-theory\">Horario Teorico: </strong>{{ course.course_schedule | scheduleTimeFormat }}<br>\n <!-- <strong class=\"type-theory\">Theory Teacher: </strong>{{ course.teacher | titlecase }}<br>\n <strong class=\"type-theory\">Theory Classroom: </strong><span>{{ course.course_scheduleDetails[0].ClassRoom.name | titlecase}}</span><br> -->\n <strong><hr></strong>\n <strong class=\"type-club\">Clases Club: </strong>\n <span *ngIf=\"course.course_club\">{{ course.course_club.course_schedule | scheduleFormat }}</span><br>\n <strong class=\"type-club\">Horario Club: </strong>\n <span *ngIf=\"course.course_club\">{{ course.course_club.course_schedule | scheduleTimeFormat }}</span><br>\n <strong>Modalidad: </strong>\n <span *ngIf=\"course.course_modality\">{{ course.course_modality.name | titlecase }}</span><br>\n <!-- <strong class=\"type-club\">Club Teacher: </strong>\n <span *ngIf=\"course.course_club\">{{ course.course_club.teacher | titlecase }}</span><br>\n <strong class=\"type-club\">Club Classroom: </strong>\n <span *ngIf=\"course.course_club\">{{ course.course_club.course_scheduleDetails[0].ClassRoom.name | titlecase}}</span><br> -->\n <!-- <strong><hr></strong> -->\n <!-- <strong *ngIf=\"course.start_date === null\">Posible inicio: </strong>{{ course.start_date === null ? course.to_start : null | date:'dd/MM/yyyy' }}<br *ngIf=\"course.start_date === null\">\n <strong *ngIf=\"course.start_date !== null\">Fecha Inicio: </strong>{{ course.start_date !== null ? course.start_date : null | date:'dd/MM/yyyy' }}<br *ngIf=\"course.finish_date !== null\">\n <strong *ngIf=\"course.finish_date !== null\">Fecha culminacion: </strong>{{ course.finish_date !== null ? course.finish_date : null | date:'dd/MM/yyyy' }}<br *ngIf=\"course.finish_date !== null\"> -->\n <!-- <strong>Created: </strong>{{ course.created_at | date:'dd/MM/yyyy' }}<br> -->\n </p>\n <div class=\"card1__date\">\n <!-- <span\n [ngClass]=\"course.status?.color_status\"\n ></span> -->\n <!-- <span class=\"course-code\">Code: {{course.code}}</span> -->\n </div>\n <div class=\"card1__arrow\" [ngClass]=\"getCssClass(course.english_level.name)\">\n <span>{{ course.english_level.name | typeLevel}}</span>\n </div>\n </section>\n </main>\n <ipt-loader *ngIf=\"isLoading\"></ipt-loader>\n </p-panel>\n\n <div class=\"container__span-footer flex justify-content-center\" *ngIf=\"!visibleAcademy && !visibleKids && !visibleSchools\">\n <span>No se encontraron planes</span>\n </div>\n</div>\n<div *ngIf=\"isLoading\">\n\n <p-panel\n header=\"\"\n [toggleable]=\"true\"\n [collapsed]=\"false\"\n id=\"p-component panel-skeleton\"\n >\n <ng-template pTemplate=\"icons\"> </ng-template>\n <main class=\"flex flex-col\">\n <section *ngFor=\"let course of skeleton\" class=\"card1 animate__animated\" >\n <p-skeleton width=\"12rem\" height=\"2rem\" styleClass=\"mb-2\" ></p-skeleton>\n <p class=\"card1__content_skeleton\">\n <p-skeleton width=\"9rem\" height=\"1rem\" styleClass=\"mb-2\" ></p-skeleton>\n <p-skeleton width=\"9rem\" height=\"1rem\" styleClass=\"mb-2\" ></p-skeleton>\n <strong><hr></strong>\n <p-skeleton width=\"9rem\" height=\"1rem\" styleClass=\"mb-2\" ></p-skeleton>\n <p-skeleton width=\"9rem\" height=\"1rem\" styleClass=\"mb-2\" ></p-skeleton>\n </p>\n <div class=\"card1__date__skeleton\">\n </div>\n <div class=\"card1__arrow\" >\n <p-skeleton size=\"3rem\" styleClass=\"mr-2\" ></p-skeleton>\n </div>\n </section>\n </main>\n </p-panel>\n\n</div>\n\n", styles: ["main{display:flex;gap:.7rem;flex-wrap:wrap}.card1{--border-radius: 3px;--primary-color: #1c77f7;--secondary-color: #2c2c2c;--tertiary-color: #ffffff;width:340px;font-family:Poppins,sans-serif;cursor:pointer;border-radius:var(--border-radius);background:#f1f1f3;box-shadow:0 8px 16px #00000008;position:relative;transition:.3s;border:solid .5px #e0e0e0}.type-theory{color:#00aecc}.type-club{color:#0d9d36}.msg-two-coup{color:#000!important;padding-left:7px;padding-right:7px;border-radius:5px;background-color:#4ed1e9}.msg-two-lev{color:#000!important;padding-left:5px;padding-right:5px;border-radius:5px;margin-left:13px;background-color:#fb8f42}.beginner{color:#fff!important;padding-left:5px;padding-right:5px;border-radius:5px;margin-left:13px;background-color:#94b9aa}.levelAone{color:#fff!important;padding-left:5px;padding-right:5px;border-radius:5px;margin-left:13px;background-color:#c4291c}.levelAonetwo{color:#fff!important;padding-left:5px;padding-right:5px;border-radius:5px;margin-left:13px;background-color:#418ed1}.levelAtwo{color:#fff!important;padding-left:5px;padding-right:5px;border-radius:5px;margin-left:13px;background-color:#4fad65}.levelBone{color:#fff!important;padding-left:5px;padding-right:5px;border-radius:5px;margin-left:13px;background-color:#6824b8}.levelBtwo{color:#fff!important;padding-left:5px;padding-right:5px;border-radius:5px;margin-left:13px;background-color:#06161e}.levelBplus{color:#fff!important;padding-left:5px;padding-right:5px;border-radius:5px;margin-left:13px;background-color:#cc6529}.main-container{margin-top:1%}.course-code{font-size:12px;font-weight:400;margin-left:.5rem}.card1:hover{box-shadow:#0000003d 0 3px 8px}.card1>*+*{margin-top:.7em}.card1 .card1__content{padding-left:10px;color:var(--secondary-color);font-size:.86rem;font-weight:200;z-index:1;position:relative}strong{color:var(--secondary-color);font-weight:300}:host ::ng-deep .p-panel .p-panel-header .p-panel-header-icon{color:#fff!important}.card1 .card1__title__academic{color:#fff;padding-left:10px;padding-right:10px;font-size:1.1rem;font-weight:300;z-index:1;position:relative;background:rgb(4,18,106);background:linear-gradient(175deg,rgba(4,18,106,1) 27%,rgba(48,63,155,1) 53%,rgba(28,119,247,1)90%);border-radius:6px 6px 0 0}:host ::ng-deep #academic_plan .p-panel .p-panel-header{color:#fff!important;background:rgb(4,18,106);background:linear-gradient(175deg,rgba(4,18,106,1) 27%,rgba(48,63,155,1) 53%,rgba(28,119,247,1)90%);border-radius:6px 6px 0 0}.card1 .card1__title__kids{color:#fff;padding-left:10px;padding-right:10px;font-size:1.1rem;font-weight:300;z-index:1;position:relative;background:rgb(127,33,99);background:linear-gradient(175deg,rgba(127,33,99,1) 27%,rgba(171,49,135,1) 53%,rgba(220,76,178,1) 90%);border-radius:6px 6px 0 0}:host ::ng-deep #social_kids .p-panel .p-panel-header{color:#fff!important;background:rgb(127,33,99);background:linear-gradient(175deg,rgba(127,33,99,1) 27%,rgba(171,49,135,1) 53%,rgba(220,76,178,1) 90%);border-radius:6px 6px 0 0}.card1 .card1__title__schools{color:#fff;padding-left:10px;padding-right:10px;font-size:1.1rem;font-weight:300;z-index:1;position:relative;background:rgb(57,130,154);background:linear-gradient(175deg,rgba(57,130,154,1) 27%,rgba(44,147,180,1) 53%,rgba(135,182,197,1) 90%);border-radius:6px 6px 0 0}:host ::ng-deep #social_school .p-panel .p-panel-header{color:#fff!important;background:rgb(57,130,154);background:linear-gradient(175deg,rgba(57,130,154,1) 27%,rgba(44,147,180,1) 53%,rgba(135,182,197,1) 90%);border-radius:6px 6px 0 0}.card1 .card1__date{color:#807c7c;padding-left:10px;font-size:.4rem;z-index:1;position:relative;margin-bottom:2%;margin-top:.7rem}.card1 .card1__arrow{padding-left:10px;position:absolute;padding:.3rem;border-top-left-radius:var(--border-radius);border-bottom-right-radius:var(--border-radius);bottom:0;right:0;transition:.2s;display:flex;justify-content:center;align-items:center}.card1 svg{transition:.2s}.card1:hover .card1__title{color:var(--secondary-color)}.card1:hover .card1__arrow{background:rgb(170,41,170)}.card1:hover .card1__arrow svg{transform:translate(3px)}.card1:hover strong{color:#aa29aa;font-weight:400}.card1:hover .course-code{color:#aa29aa;font-weight:500}.image-container{display:flex;border-radius:6px;width:250px;height:207px;box-shadow:#3c40434d 0 1px 2px,#3c404326 0 1px 3px 1px}:host ::ng-deep .p-menubar .p-menuitem{position:relative;width:auto}.green300{height:2%;width:2%;padding-right:9px;border-radius:70%;background:#76db9b;box-shadow:-1px 0 1px 1px #000000fa;border:1px solid rgb(0 0 0 / 40%)}.red300{height:2%;width:2%;padding-right:9px;border-radius:70%;background:#e35b53;box-shadow:-1px 0 1px 1px #000000fa;border:1px solid rgb(0 0 0 / 40%)}.gray300{height:2%;width:2%;padding-right:9px;border-radius:70%;color:#9e9a99;background-color:#9e9a99;box-shadow:-1px 0 1px 1px #000000fa;border:1px solid rgb(0 0 0 / 40%)}label{border-radius:50%}#panel-skeleton{position:relative;overflow:hidden;background:#f0f0f0}#panel-skeleton:after{content:\"\";animation:p-skeleton-animation 1.2s infinite;height:100%;left:0;position:absolute;right:0;top:0;transform:translate(-100%);z-index:1;background:linear-gradient(90deg,rgba(255,255,255,0),rgba(255,255,255,.4),rgba(255,255,255,0))}@keyframes p-skeleton-animation{0%{transform:translate(-100%)}to{transform:translate(100%)}}.container__span-header,.container__span-footer{margin:20px 0;font-weight:700}\n"] }]
3162
+ }], propDecorators: { CourseData: [{
3163
+ type: Input
3164
+ }], isLoading: [{
3165
+ type: Input
3166
+ }], codeCourse: [{
3167
+ type: Output
3168
+ }] } });
3169
+
3170
+ class CardSelectCourseComponent {
3171
+ constructor() {
3172
+ this.jornada = 0;
3173
+ }
3174
+ ngOnInit() {
3175
+ if (this.courseSelect && this.courseSelect.course_schedule) {
3176
+ const schedule = this.courseSelect.course_schedule[0];
3177
+ this.jornada = this.getJornada(schedule);
3129
3178
  }
3130
- for (const field of fieldsToCompare) {
3131
- let originalValue;
3132
- let currentFieldValue = currentValue[field];
3133
- switch (field) {
3134
- case 'name':
3135
- originalValue = this.DataStudent.name || '';
3136
- break;
3137
- case 'last_name':
3138
- originalValue = this.DataStudent.last_name || '';
3139
- break;
3140
- case 'email':
3141
- originalValue = this.DataStudent.email || '';
3142
- break;
3143
- case 'email_ipt':
3144
- originalValue = this.DataStudent.email_ipt || '';
3145
- break;
3146
- case 'gender':
3147
- originalValue = this.DataStudent.gender || null;
3148
- break;
3149
- case 'id_card_type':
3150
- originalValue = this.DataStudent.id_card_type || '';
3151
- break;
3152
- case 'id_card':
3153
- originalValue = this.DataStudent.id_card || '';
3154
- break;
3155
- case 'phone_indicative':
3156
- originalValue = this.DataStudent.phone_indicative || '';
3157
- break;
3158
- case 'phone_number':
3159
- originalValue = this.DataStudent.phone_number || '';
3160
- break;
3161
- case 'country':
3162
- originalValue = this.DataStudent.city?.country || '';
3163
- break;
3164
- case 'state':
3165
- originalValue = this.DataStudent.city?.state || '';
3166
- break;
3167
- case 'city':
3168
- originalValue = this.DataStudent.city?.code || '';
3169
- break;
3170
- case 'role':
3171
- originalValue = this.transformRole(this.DataStudent.role) || '';
3172
- break;
3173
- case 'service_hour':
3174
- originalValue = this.DataStudent.service_hour;
3175
- break;
3176
- case 'status':
3177
- originalValue = this.DataStudent.user_status || '';
3178
- break;
3179
- case 'parent_name':
3180
- originalValue = this.DataStudent.cods?.parent?.name || '';
3181
- break;
3182
- case 'parent_last_name':
3183
- originalValue = this.DataStudent.cods?.parent?.last_name || '';
3184
- break;
3185
- case 'parent_id_card_type':
3186
- originalValue = this.DataStudent.cods?.parent?.id_card_type;
3187
- break;
3188
- case 'parent_id_card':
3189
- originalValue = this.DataStudent.cods?.parent?.id_card || '';
3190
- break;
3191
- case 'parent_phone_indicative':
3192
- originalValue = this.DataStudent.cods?.parent?.phone_indicative || '';
3193
- break;
3194
- case 'parent_phone_number':
3195
- originalValue = this.DataStudent.cods?.parent?.phone_number || '';
3196
- break;
3197
- case 'parent_occupation':
3198
- originalValue = this.DataStudent.cods?.parent?.occupation || '';
3199
- break;
3200
- case 'parent_office_adrress':
3201
- originalValue = this.DataStudent.cods?.parent?.office_adrress || '';
3202
- break;
3203
- case 'parent_email':
3204
- originalValue = this.DataStudent.cods?.parent?.email || '';
3205
- break;
3206
- default:
3207
- originalValue = '';
3179
+ }
3180
+ getJornada(schedule) {
3181
+ const timeRegex = /\b\d{2}:\d{2}:\d{2}\b/g;
3182
+ const times = schedule.match(timeRegex);
3183
+ if (times && times.length > 0) {
3184
+ const startTime = times[0];
3185
+ if (this.isMorning(startTime)) {
3186
+ return 1;
3208
3187
  }
3209
- const normalizedCurrent = currentFieldValue != null ? String(currentFieldValue).trim() : '';
3210
- const normalizedOriginal = originalValue != null ? String(originalValue).trim() : '';
3211
- if (normalizedCurrent !== normalizedOriginal) {
3212
- return true;
3188
+ else if (this.isAfternoon(startTime)) {
3189
+ return 2;
3190
+ }
3191
+ else if (this.isNight(startTime)) {
3192
+ return 3;
3213
3193
  }
3214
3194
  }
3215
- return false;
3195
+ return 0;
3196
+ }
3197
+ isMorning(time) {
3198
+ return time >= '05:00:00' && time <= '11:59:59';
3199
+ }
3200
+ isAfternoon(time) {
3201
+ return time >= '12:00:00' && time <= '17:59:59';
3202
+ }
3203
+ isNight(time) {
3204
+ return time >= '18:00:00';
3216
3205
  }
3217
3206
  }
3218
- updateUserFormComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.7", ngImport: i0, type: updateUserFormComponent, deps: [{ token: i1$1.FormBuilder }, { token: i0.ChangeDetectorRef }, { token: ParameterService }, { token: BaseService }, { token: UserService }], target: i0.ɵɵFactoryTarget.Component });
3219
- updateUserFormComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.0.7", type: updateUserFormComponent, selector: "ipt-update-user-form", inputs: { DataStudent: "DataStudent", visibleModal: "visibleModal" }, outputs: { closeModalIS: "closeModalIS", userUpdatedEvent: "userUpdatedEvent" }, usesOnChanges: true, ngImport: i0, template: "<!-- <p-dialog\n [(visible)]=\"visibleModal\"\n [style]=\"{width: '80%'}\"\n header=\"Actualizar usuario\"\n [modal]=\"true\"\n styleClass=\"p-fluid\"\n (onHide)=\"closeTable()\"\n [dismissableMask]=\"true\"\n [breakpoints]=\"{'1920px': '75vw', '1440px': '75vw', '1024px': '75vw', '576px': '100vw'}\"\n> -->\n<!-- <div>\n <pre>{{ updateUserForm.value | json }}</pre>\n <div>\n <pre>{{ updateUserForm.valid | json }}</pre>\n </div>\n</div> -->\n <div class=\"grid_container\">\n <div>\n <form *ngIf=\"updateUserForm\" autocomplete=\"off\" [formGroup]=\"updateUserForm\">\n <!-- User Information Section -->\n <div class=\"section-header\">\n <h2>Informaci\u00F3n del usuario</h2>\n </div>\n <div class=\"form-grid\">\n <ipt-input\n [inputType]=\"'text'\"\n [placeHolder]=\"'Nombres'\"\n [control]=\"updateUserForm.controls['name']\"\n [validateText]=\"updateUserForm.controls['name'].hasError('required') ? 'Debe ingresar el nombre' :\n updateUserForm.controls['name'].hasError('minlength') ? 'M\u00EDnimo 3 caracteres' :\n updateUserForm.controls['name'].hasError('maxlength') ? 'M\u00E1ximo 32 caracteres' :\n updateUserForm.controls['name'].hasError('pattern') ? 'Solo letras, espacios y guiones' :\n updateUserForm.controls['name'].hasError('hasWhitespace') ? 'No se permiten espacios al inicio o final' :\n updateUserForm.controls['name'].hasError('onlyWhitespace') ? 'No se permiten solo espacios' :\n 'Debe ingresar el nombre'\"\n ></ipt-input>\n <ipt-input\n [inputType]=\"'text'\"\n [placeHolder]=\"'Apellidos'\"\n [control]=\"updateUserForm.controls['last_name']\"\n [validateText]=\"updateUserForm.controls['last_name'].hasError('required') ? 'Debe ingresar los apellidos' :\n updateUserForm.controls['last_name'].hasError('minlength') ? 'M\u00EDnimo 3 caracteres' :\n updateUserForm.controls['last_name'].hasError('maxlength') ? 'M\u00E1ximo 32 caracteres' :\n updateUserForm.controls['last_name'].hasError('pattern') ? 'Solo letras, espacios y guiones' :\n updateUserForm.controls['last_name'].hasError('hasWhitespace') ? 'No se permiten espacios al inicio o final' :\n updateUserForm.controls['last_name'].hasError('onlyWhitespace') ? 'No se permiten solo espacios' :\n 'Debe ingresar los apellidos'\"\n ></ipt-input>\n <ipt-input\n [inputType]=\"'email'\"\n [placeHolder]=\"'Email'\"\n [control]=\"updateUserForm.controls['email']\"\n [validateText]=\"updateUserForm.controls['email'].hasError('required') ? 'Debe ingresar un correo v\u00E1lido' :\n updateUserForm.controls['email'].hasError('maxlength') ? 'M\u00E1ximo 300 caracteres' :\n updateUserForm.controls['email'].hasError('pattern') ? 'Tiene que ser un email correcto' :\n updateUserForm.controls['email'].hasError('hasWhitespace') ? 'No se permiten espacios al inicio o final' :\n updateUserForm.controls['email'].hasError('onlyWhitespace') ? 'No se permiten solo espacios' :\n 'Debe ingresar un correo v\u00E1lido'\"\n ></ipt-input>\n <ipt-input\n *ngIf=\"showEmailIpt\"\n [inputType]=\"'text'\"\n [placeHolder]=\"'Email IPT'\"\n [control]=\"updateUserForm.controls['email_ipt']\"\n [validateText]=\"updateUserForm.controls['email_ipt'].hasError('required') ? 'Debe ingresar un correo IPT v\u00E1lido' :\n updateUserForm.controls['email_ipt'].hasError('maxlength') ? 'M\u00E1ximo 255 caracteres' :\n updateUserForm.controls['email_ipt'].hasError('pattern') ? 'Tiene que ser un email correcto' :\n updateUserForm.controls['email_ipt'].hasError('hasWhitespace') ? 'No se permiten espacios al inicio o final' :\n updateUserForm.controls['email_ipt'].hasError('onlyWhitespace') ? 'No se permiten solo espacios' :\n 'Debe ingresar un correo IPT v\u00E1lido'\"\n ></ipt-input>\n <ipt-input\n *ngIf=\"showEmailIpt\"\n [inputType]=\"'number'\"\n [placeHolder]=\"'Horas de servicio'\"\n [control]=\"updateUserForm.controls['service_hour']\"\n [validateText]=\"'Debe ingresar las horas de servicio'\"\n ></ipt-input>\n <ipt-input\n [inputType]=\"'text'\"\n [placeHolder]=\"'Rol'\"\n [control]=\"updateUserForm.controls['role']\"\n [validateText]=\"'Rol requerido'\"\n ></ipt-input>\n <!-- <ipt-select\n [initialValue]=\"updateUserForm.controls['gender'].value\"\n [control]=\"updateUserForm.controls['gender']\"\n [selectCode]=\"updateUserForm.controls['gender'].value === null ? 'Seleccione g\u00E9nero' : (updateUserForm.controls['gender'].value | genderDisplay)\"\n [data]=\"genders\"\n (eventSelect)=\"selectGender($event)\"\n [defaultText]=\"'Seleccione g\u00E9nero'\"\n ></ipt-select> -->\n <ipt-select\n [initialValue]=\"updateUserForm.controls['phone_indicative'].value\"\n [control]=\"updateUserForm.controls['phone_indicative']\"\n [data]=\"indicatives\"\n (eventSelect)=\"selectIndicative('phone_indicative', $event)\"\n [defaultText]=\"'Indicativo'\"\n ></ipt-select>\n <ipt-input\n [inputType]=\"'number'\"\n [placeHolder]=\"'Tel\u00E9fono'\"\n [control]=\"updateUserForm.controls['phone_number']\"\n [validateText]=\"'Debe ingresar un n\u00FAmero de tel\u00E9fono v\u00E1lido'\"\n ></ipt-input>\n <ipt-select\n [initialValue]=\"updateUserForm.controls['id_card_type'].value\"\n [control]=\"updateUserForm.controls['id_card_type']\"\n [selectCode]=\"updateUserForm.controls['id_card_type'].value === null ? 'Tipo de documento' : updateUserForm.controls['id_card_type'].value\"\n [isRequired]=\"true\"\n [data]=\"idTypes\"\n (eventSelect)=\"selectIdType('id_card_type', $event)\"\n [defaultText]=\"'Tipo de documento'\"\n ></ipt-select>\n <ipt-input\n [inputType]=\"'number'\"\n [placeHolder]=\"'Documento'\"\n [control]=\"updateUserForm.controls['id_card']\"\n [validateText]=\"'Debe ingresar el n\u00FAmero de documento'\"\n ></ipt-input>\n <ipt-select\n [initialValue]=\"updateUserForm.controls['country'].value\"\n [control]=\"updateUserForm.controls['country']\"\n [selectCode]=\"updateUserForm.controls['country'].value === null ? 'Pa\u00EDs de residencia' : updateUserForm.controls['country'].value\"\n (eventSelect)=\"selectCountry($event)\"\n [data]=\"countries\"\n [defaultText]=\"'Pa\u00EDs de residencia'\"\n ></ipt-select>\n <ipt-select\n [initialValue]=\"updateUserForm.controls['state'].value\"\n [control]=\"updateUserForm.controls['state']\"\n [selectCode]=\"updateUserForm.controls['state'].value === null ? 'Departamento o estado' : updateUserForm.controls['state'].value\"\n [isRequired]=\"true\"\n (eventSelect)=\"selectState($event)\"\n [data]=\"states\"\n [defaultText]=\"'Departamento o estado'\"\n ></ipt-select>\n <ipt-select\n [initialValue]=\"updateUserForm.controls['city'].value\"\n [control]=\"updateUserForm.controls['city']\"\n [selectCode]=\"updateUserForm.controls['city'].value === null ? 'Ciudad de residencia' : updateUserForm.controls['city'].value\"\n (eventSelect)=\"selectCity($event)\"\n [data]=\"cities\"\n [defaultText]=\"'Ciudad de residencia'\"\n ></ipt-select>\n <!-- <div *ngIf=\"this.DataStudent.role !== 13\" class=\"card flex justify-content-center align-content-center align-items-end text-cen ter \">\n <p-selectButton [options]=\"justifyOptions\" formControlName=\"status\" optionLabel=\"name\" optionValue=\"code\"></p-selectButton>\n </div>\n <div class=\"field\">\n <p-checkbox\n formControlName=\"changePassword\"\n label=\"Cambio de contrase\u00F1a\"\n [binary]=\"true\"\n ></p-checkbox>\n </div> -->\n </div>\n <div class=\"form-grid\" *ngIf=\"updateUserForm.controls['changePassword'].value\">\n <ipt-input\n [inputType]=\"'password'\"\n [placeHolder]=\"'Contrase\u00F1a'\"\n [control]=\"updateUserForm.controls['password']\"\n [validateText]=\"updateUserForm.controls['password'].hasError('required') ? 'La contrase\u00F1a es requerida' :\n updateUserForm.controls['password'].hasError('minlength') ? 'M\u00EDnimo 5 caracteres' :\n updateUserForm.controls['password'].hasError('maxlength') ? 'M\u00E1ximo 32 caracteres' :\n 'Ingrese una contrase\u00F1a v\u00E1lida'\"\n ></ipt-input>\n\n <ipt-input\n [inputType]=\"'password'\"\n [placeHolder]=\"'Repetir contrase\u00F1a'\"\n [control]=\"updateUserForm.controls['re_password']\"\n [validateText]=\"updateUserForm.controls['re_password'].hasError('required') ? 'Debe repetir la contrase\u00F1a' :\n updateUserForm.controls['re_password'].hasError('minlength') ? 'M\u00EDnimo 5 caracteres' :\n updateUserForm.controls['re_password'].hasError('maxlength') ? 'M\u00E1ximo 32 caracteres' :\n updateUserForm.hasError('mismatch') ? 'Las contrase\u00F1as no coinciden' :\n 'Repita la contrase\u00F1a'\"\n ></ipt-input>\n </div>\n\n <!-- Mensaje adicional para el error de mismatch (opcional, si quieres mostrarlo por separado) -->\n\n <div *ngIf=\"updateUserForm.hasError('mismatch') && updateUserForm.controls['changePassword'].value\" class=\"error-message\">\n <small >Las contrase\u00F1as no coinciden</small>\n </div>\n <!-- Parent Information Section -->\n <div class=\"section-header\" *ngIf=\"DataStudent?.cods\">\n <h2>Informaci\u00F3n del acudiente</h2>\n </div>\n <div *ngIf=\"DataStudent?.cods\">\n <div *ngIf=\"showParentSection; else noParentMessage\">\n <div class=\"form-grid\">\n <ipt-input\n [inputType]=\"'text'\"\n [placeHolder]=\"'Nombres'\"\n [control]=\"updateUserForm.controls['parent_name']\"\n [validateText]=\"'Debe ingresar el nombre'\"\n ></ipt-input>\n <ipt-input\n [inputType]=\"'text'\"\n [placeHolder]=\"'Apellidos'\"\n [control]=\"updateUserForm.controls['parent_last_name']\"\n [validateText]=\"'Debe ingresar los apellidos'\"\n ></ipt-input>\n <ipt-input\n [inputType]=\"'text'\"\n [placeHolder]=\"'Ocupaci\u00F3n'\"\n [control]=\"updateUserForm.controls['parent_occupation']\"\n [validateText]=\"'Debe ingresar la ocupaci\u00F3n'\"\n ></ipt-input>\n <ipt-input\n [inputType]=\"'email'\"\n [placeHolder]=\"'Email'\"\n [control]=\"updateUserForm.controls['parent_email']\"\n [validateText]=\"'Debe ingresar un correo v\u00E1lido'\"\n ></ipt-input>\n <ipt-select\n [initialValue]=\"updateUserForm.controls['parent_id_card_type'].value\"\n [control]=\"updateUserForm.controls['parent_id_card_type']\"\n [selectCode]=\"updateUserForm.controls['parent_id_card_type'].value === null ? 'Tipo de documento' : updateUserForm.controls['parent_id_card_type'].value\"\n [isRequired]=\"true\"\n [data]=\"idTypes\"\n (eventSelect)=\"selectIdType('parent_id_card_type', $event)\"\n [defaultText]=\"'Tipo de documento'\"\n ></ipt-select>\n <ipt-input\n [inputType]=\"'number'\"\n [placeHolder]=\"'Documento'\"\n [control]=\"updateUserForm.controls['parent_id_card']\"\n [validateText]=\"'Debe ingresar el n\u00FAmero de documento'\"\n ></ipt-input>\n <ipt-select\n [initialValue]=\"updateUserForm.controls['parent_phone_indicative'].value\"\n [control]=\"updateUserForm.controls['parent_phone_indicative']\"\n [data]=\"indicatives\"\n (eventSelect)=\"selectIndicative('parent_phone_indicative', $event)\"\n [defaultText]=\"'Indicativo'\"\n ></ipt-select>\n <ipt-input\n [inputType]=\"'number'\"\n [placeHolder]=\"'Tel\u00E9fono'\"\n [control]=\"updateUserForm.controls['parent_phone_number']\"\n [validateText]=\"'Debe ingresar un n\u00FAmero de tel\u00E9fono v\u00E1lido'\"\n ></ipt-input>\n\n <ipt-input\n [inputType]=\"'text'\"\n [placeHolder]=\"'Direcci\u00F3n de oficina'\"\n [control]=\"updateUserForm.controls['parent_office_adrress']\"\n [validateText]=\"'Debe ingresar la direcci\u00F3n'\"\n ></ipt-input>\n </div>\n </div>\n <ng-template #noParentMessage>\n <div class=\"no-parent-message\">\n <p>Sin acudiente</p>\n </div>\n </ng-template>\n </div>\n\n <div class=\"buttons-container\">\n <ipt-button\n [label]=\"'Actualizar'\"\n [isEnabled]=\"!loader && updateUserForm.valid && !updateUserForm.hasError('mismatch') && hasFormChanged()\"\n (onClick)=\"updateUser()\"\n [primary]=\"true\"\n ></ipt-button>\n </div>\n </form>\n </div>\n </div>\n<!-- </p-dialog> -->", styles: ["@media screen and (min-width: 320px){main{background:rgba(0,0,0,.472);color:#fff;position:fixed;top:0;left:0;height:100vh;width:100vw;transition:all .5s}main .modal_container{width:60%;height:-moz-fit-content;height:fit-content;position:absolute;inset:0;margin:auto;background-color:#fff;border-radius:3px}.header_modal{display:flex;padding:15px 15px 0;gap:1rem;align-items:center}.header_modal h1{padding:.5rem;background-color:#1c77f7;color:#fff;width:100%;border-radius:10px;font-size:1.25rem;font-weight:700}.header_modal button{margin-left:auto;font-size:26px;padding:1.2rem;font-weight:200;color:#6c7f7d;display:flex;width:25px;height:25px;align-items:center;justify-content:center;transition:50ms;background-color:transparent;border:none}.header_modal button:hover{cursor:pointer;border-radius:50%;background-color:#d4d4d4}.grid_container{display:grid;grid-template-columns:1fr;padding:0 15px}form{display:grid;grid-template-columns:1fr;gap:.25rem;justify-content:center;padding:0 1rem}.section-header{margin:1.5rem 0 .5rem;border-bottom:2px solid #1c77f7}.section-header h2{font-size:1.2rem;color:#1c77f7;font-weight:600;margin-bottom:.5rem}.form-grid{display:grid;grid-template-columns:1fr;gap:.25rem}.buttons-container{margin-top:2rem;margin-bottom:2rem;display:flex;justify-content:center;align-items:center}.user-type-image{display:none}.no-parent-message{padding:1rem;text-align:center;color:#666;font-size:1rem;font-weight:500;background-color:#f8f9fa;border-radius:.5rem;margin-top:.5rem}}@media screen and (min-width: 768px){.form-grid{display:grid;grid-template-columns:1fr 1fr 1fr;gap:1rem}}@media screen and (min-width: 1366px){form{padding:0}}.field{height:1px;max-width:67%}.error-message{color:red;font-size:12px;margin-top:5px}.p-selectbutton{display:flex;flex-wrap:wrap;justify-content:center;width:100%;min-width:10rem}:host ::ng-deep .p-selectbutton .p-button{padding:.5rem;font-size:.875rem;height:30px}:host ::ng-deep .p-buttonset .p-button:first-of-type{height:30px}\n"], dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1$1.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i1$1.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i1$1.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "component", type: ButtonComponent, selector: "ipt-button", inputs: ["primary", "size", "label", "buttonType", "isEnabled"], outputs: ["onClick"] }, { kind: "component", type: InputComponent, selector: "ipt-input", inputs: ["inputType", "placeHolder", "validateText", "withPipe", "list", "iconUrl", "control", "prefix", "thousands", "decimal", "disabledSel"], outputs: ["dateSelected"] }, { kind: "component", type: SelectComponent, selector: "ipt-select", inputs: ["isRequired", "data", "defaultText", "selectCode", "disabledSel", "initialValue", "label", "control"], outputs: ["eventSelect"] }] });
3220
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.7", ngImport: i0, type: updateUserFormComponent, decorators: [{
3207
+ CardSelectCourseComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.7", ngImport: i0, type: CardSelectCourseComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
3208
+ CardSelectCourseComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.0.7", type: CardSelectCourseComponent, selector: "ipt-card-select-course-self-cod-managed", inputs: { courseSelect: "courseSelect" }, ngImport: i0, template: "<!-- <main class=\"container-card\">\n <div class=\"w-auto\" >\n <div class=\"card\" (click)=\"selectDepartment(courseSelect)\">\n <div class=\"card-text\">\n <span class=\"date\">{{ courseSelect.course_type.label }}</span><br>\n <strong class=\"type-theory\">Clases Teoricas: </strong>{{ courseSelect.course_schedule | scheduleFormat }}<br>\n <strong class=\"type-theory\">Horario Teorico: </strong>{{ courseSelect.course_schedule | scheduleTimeFormat }}<br>\n <strong><hr></strong>\n <strong class=\"type-club\">Clases Club: </strong>\n <span *ngIf=\"courseSelect.course_club\">{{ courseSelect.course_club.course_schedule | scheduleFormat }}</span><br>\n <strong class=\"type-club\">Horario Club: </strong>\n <span *ngIf=\"courseSelect.course_club\">{{ courseSelect.course_club.course_schedule | scheduleTimeFormat }}</span><br>\n <strong>Modalidad: </strong>\n <span *ngIf=\"courseSelect.course_modality\">{{ courseSelect.course_modality.name | titlecase }}</span><br>\n <strong *ngIf=\"courseSelect.start_date === null\">Posible inicio: </strong>{{ courseSelect.start_date === null ? courseSelect.to_start : null | date:'dd/MM/yyyy' }}<br *ngIf=\"courseSelect.start_date === null\">\n <strong *ngIf=\"courseSelect.start_date !== null\">Fecha Inicio: </strong>{{ courseSelect.start_date !== null ? courseSelect.start_date : null | date:'dd/MM/yyyy' }}<br *ngIf=\"courseSelect.finish_date !== null\">\n <strong *ngIf=\"courseSelect.finish_date !== null\">Fecha culminacion: </strong>{{ courseSelect.finish_date !== null ? courseSelect.finish_date : null | date:'dd/MM/yyyy' }}<br *ngIf=\"courseSelect.finish_date !== null\">\n </div>\n </div>\n </div>\n</main> -->\n<main>\n<div class=\"container__tittle__card flex justify-content-center\">\n Plan Seleccionado\n</div>\n<div class=\"container-card\">\n <div class=\"card\">\n <p class=\"heading\">\n {{ courseSelect.course_type.label }}<br>\n </p>\n <div class=\"card-text\">\n <strong class=\"type-theory\">Clases Teoricas: </strong><span>{{ courseSelect.course_schedule | scheduleFormat }}</span><br>\n <strong class=\"type-theory\">Horario Teorico: </strong> <span>{{ courseSelect.course_schedule | scheduleTimeFormat }}</span><br>\n <strong><hr></strong>\n <strong class=\"type-club\">Clases Club: </strong><span *ngIf=\"courseSelect.course_club\">{{ courseSelect.course_club.course_schedule | scheduleFormat }}</span><br>\n <strong class=\"type-club\">Horario Club: </strong><span *ngIf=\"courseSelect.course_club\">{{ courseSelect.course_club.course_schedule | scheduleTimeFormat }}</span><br>\n <strong>Modalidad: </strong><span *ngIf=\"courseSelect.course_modality\">{{ courseSelect.course_modality.name | titlecase }}</span><br>\n <strong *ngIf=\"courseSelect.start_date === null\">Posible inicio: </strong><span>{{ courseSelect.start_date === null ? courseSelect.to_start : null | date:'dd/MM/yyyy' }}</span><br *ngIf=\"courseSelect.start_date === null\">\n </div>\n <p>{{ courseSelect.english_level.name | typeLevel}}\n </p>\n </div>\n</div>\n</main>\n<!-- <main *ngIf=\"jornada === 2\" class=\"container-card\">\n <div class=\"w-auto\" >\n <div class=\"card\" (click)=\"selectDepartment(courseSelect)\">\n <div class=\"card-image\" [style.background-image]=\"'url(' + courseSelect.imageUrl + ')'\"></div>\n <div class=\"card-text\">\n <span class=\"date\">{{ courseSelect.course_type.label }}</span><br>\n <strong class=\"type-theory\">Clases Teoricas: </strong>{{ courseSelect.course_schedule | scheduleFormat }}<br>\n <strong class=\"type-theory\">Horario Teorico: </strong>{{ courseSelect.course_schedule | scheduleTimeFormat }}<br>\n <strong><hr></strong>\n <strong class=\"type-club\">Clases Club: </strong>\n <span *ngIf=\"courseSelect.course_club\">{{ courseSelect.course_club.course_schedule | scheduleFormat }}</span><br>\n <strong class=\"type-club\">Horario Club: </strong>\n <span *ngIf=\"courseSelect.course_club\">{{ courseSelect.course_club.course_schedule | scheduleTimeFormat }}</span><br>\n <strong>Modalidad: </strong>\n <span *ngIf=\"courseSelect.course_modality\">{{ courseSelect.course_modality.name | titlecase }}</span><br>\n <strong *ngIf=\"courseSelect.start_date === null\">Posible inicio: </strong>{{ courseSelect.start_date === null ? courseSelect.to_start : null | date:'dd/MM/yyyy' }}<br *ngIf=\"courseSelect.start_date === null\">\n <strong *ngIf=\"courseSelect.start_date !== null\">Fecha Inicio: </strong>{{ courseSelect.start_date !== null ? courseSelect.start_date : null | date:'dd/MM/yyyy' }}<br *ngIf=\"courseSelect.finish_date !== null\">\n <strong *ngIf=\"courseSelect.finish_date !== null\">Fecha culminacion: </strong>{{ courseSelect.finish_date !== null ? courseSelect.finish_date : null | date:'dd/MM/yyyy' }}<br *ngIf=\"courseSelect.finish_date !== null\">\n </div>\n </div>\n </div>\n</main>\n<main *ngIf=\"jornada === 3\" class=\"container-card\">\n <div class=\"w-auto\" >\n <div class=\"card\" (click)=\"selectDepartment(courseSelect)\">\n <div class=\"card-image\" [style.background-image]=\"'url(' + courseSelect.imageUrl + ')'\"></div>\n <div class=\"card-text\">\n <span class=\"date\">{{ courseSelect.course_type.label }}</span><br>\n <strong class=\"type-theory\">Clases Teoricas: </strong>{{ courseSelect.course_schedule | scheduleFormat }}<br>\n <strong class=\"type-theory\">Horario Teorico: </strong>{{ courseSelect.course_schedule | scheduleTimeFormat }}<br>\n <strong><hr></strong>\n <strong class=\"type-club\">Clases Club: </strong>\n <span *ngIf=\"courseSelect.course_club\">{{ courseSelect.course_club.course_schedule | scheduleFormat }}</span><br>\n <strong class=\"type-club\">Horario Club: </strong>\n <span *ngIf=\"courseSelect.course_club\">{{ courseSelect.course_club.course_schedule | scheduleTimeFormat }}</span><br>\n <strong>Modalidad: </strong>\n <span *ngIf=\"courseSelect.course_modality\">{{ courseSelect.course_modality.name | titlecase }}</span><br>\n <strong *ngIf=\"courseSelect.start_date === null\">Posible inicio: </strong>{{ courseSelect.start_date === null ? courseSelect.to_start : null | date:'dd/MM/yyyy' }}<br *ngIf=\"courseSelect.start_date === null\">\n <strong *ngIf=\"courseSelect.start_date !== null\">Fecha Inicio: </strong>{{ courseSelect.start_date !== null ? courseSelect.start_date : null | date:'dd/MM/yyyy' }}<br *ngIf=\"courseSelect.finish_date !== null\">\n <strong *ngIf=\"courseSelect.finish_date !== null\">Fecha culminacion: </strong>{{ courseSelect.finish_date !== null ? courseSelect.finish_date : null | date:'dd/MM/yyyy' }}<br *ngIf=\"courseSelect.finish_date !== null\">\n </div>\n </div>\n </div>\n</main> -->\n", styles: [".container-card{display:flex;flex-direction:row;flex-wrap:wrap;justify-content:space-evenly}.card-image{grid-area:image;border-top-left-radius:65px;border-top-right-radius:65px;background-color:coral;background-size:cover;box-shadow:0 2px 5px #5e6173}.card-text .date{color:#fff;font-size:15px}.card-text p{color:gray;font-size:13px;font-weight:300}.card-text h2{margin-top:0;font-size:28px}.type-theory{color:#c2f0f8;font-weight:100;font-size:small}.type-club{color:#92f7af;font-weight:100;font-size:small}.card{position:relative;width:190px;height:254px;background-color:#565656;display:flex;flex-direction:column;justify-content:end;padding:12px;gap:12px;border-radius:8px;cursor:pointer}.card:before{content:\"\";position:absolute;inset:0 0 0 -5px;margin:auto;width:200px;height:264px;border-radius:10px;background:linear-gradient(175deg,rgba(4,18,106,1) 27%,rgba(48,63,155,1) 53%,rgba(28,119,247,1) 90%);z-index:-10;pointer-events:none;transition:all .6s cubic-bezier(.175,.885,.32,1.275)}.card:after{content:\"\";z-index:-1;position:absolute;inset:0;background:linear-gradient(-45deg,rgba(0,63,255,1) 0%,rgba(4,18,106,1) 100%);transform:translateZ(0) scale(.95);filter:blur(20px)}.heading{text-transform:capitalize;font-weight:700;color:#fff}.card p:not(.heading){font-size:14px}.card p:last-child{color:#0497d9;font-weight:600}.card:hover:after{filter:blur(30px)}.card:hover:before{transform:rotate(-90deg) scaleX(1.34) scaleY(.77)}span,strong{color:#fff;font-weight:100;font-size:small}.container-card{z-index:0;position:relative;justify-content:center;display:flex;margin:1rem 0 3rem}.container__tittle__card{margin-top:2rem;font-weight:700}\n"], dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "pipe", type: i1.TitleCasePipe, name: "titlecase" }, { kind: "pipe", type: i1.DatePipe, name: "date" }, { kind: "pipe", type: ScheduleFormatPipe, name: "scheduleFormat" }, { kind: "pipe", type: ScheduleTimeFormatPipe, name: "scheduleTimeFormat" }, { kind: "pipe", type: TypeLevelPipe, name: "typeLevel" }] });
3209
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.7", ngImport: i0, type: CardSelectCourseComponent, decorators: [{
3221
3210
  type: Component,
3222
- args: [{ selector: 'ipt-update-user-form', template: "<!-- <p-dialog\n [(visible)]=\"visibleModal\"\n [style]=\"{width: '80%'}\"\n header=\"Actualizar usuario\"\n [modal]=\"true\"\n styleClass=\"p-fluid\"\n (onHide)=\"closeTable()\"\n [dismissableMask]=\"true\"\n [breakpoints]=\"{'1920px': '75vw', '1440px': '75vw', '1024px': '75vw', '576px': '100vw'}\"\n> -->\n<!-- <div>\n <pre>{{ updateUserForm.value | json }}</pre>\n <div>\n <pre>{{ updateUserForm.valid | json }}</pre>\n </div>\n</div> -->\n <div class=\"grid_container\">\n <div>\n <form *ngIf=\"updateUserForm\" autocomplete=\"off\" [formGroup]=\"updateUserForm\">\n <!-- User Information Section -->\n <div class=\"section-header\">\n <h2>Informaci\u00F3n del usuario</h2>\n </div>\n <div class=\"form-grid\">\n <ipt-input\n [inputType]=\"'text'\"\n [placeHolder]=\"'Nombres'\"\n [control]=\"updateUserForm.controls['name']\"\n [validateText]=\"updateUserForm.controls['name'].hasError('required') ? 'Debe ingresar el nombre' :\n updateUserForm.controls['name'].hasError('minlength') ? 'M\u00EDnimo 3 caracteres' :\n updateUserForm.controls['name'].hasError('maxlength') ? 'M\u00E1ximo 32 caracteres' :\n updateUserForm.controls['name'].hasError('pattern') ? 'Solo letras, espacios y guiones' :\n updateUserForm.controls['name'].hasError('hasWhitespace') ? 'No se permiten espacios al inicio o final' :\n updateUserForm.controls['name'].hasError('onlyWhitespace') ? 'No se permiten solo espacios' :\n 'Debe ingresar el nombre'\"\n ></ipt-input>\n <ipt-input\n [inputType]=\"'text'\"\n [placeHolder]=\"'Apellidos'\"\n [control]=\"updateUserForm.controls['last_name']\"\n [validateText]=\"updateUserForm.controls['last_name'].hasError('required') ? 'Debe ingresar los apellidos' :\n updateUserForm.controls['last_name'].hasError('minlength') ? 'M\u00EDnimo 3 caracteres' :\n updateUserForm.controls['last_name'].hasError('maxlength') ? 'M\u00E1ximo 32 caracteres' :\n updateUserForm.controls['last_name'].hasError('pattern') ? 'Solo letras, espacios y guiones' :\n updateUserForm.controls['last_name'].hasError('hasWhitespace') ? 'No se permiten espacios al inicio o final' :\n updateUserForm.controls['last_name'].hasError('onlyWhitespace') ? 'No se permiten solo espacios' :\n 'Debe ingresar los apellidos'\"\n ></ipt-input>\n <ipt-input\n [inputType]=\"'email'\"\n [placeHolder]=\"'Email'\"\n [control]=\"updateUserForm.controls['email']\"\n [validateText]=\"updateUserForm.controls['email'].hasError('required') ? 'Debe ingresar un correo v\u00E1lido' :\n updateUserForm.controls['email'].hasError('maxlength') ? 'M\u00E1ximo 300 caracteres' :\n updateUserForm.controls['email'].hasError('pattern') ? 'Tiene que ser un email correcto' :\n updateUserForm.controls['email'].hasError('hasWhitespace') ? 'No se permiten espacios al inicio o final' :\n updateUserForm.controls['email'].hasError('onlyWhitespace') ? 'No se permiten solo espacios' :\n 'Debe ingresar un correo v\u00E1lido'\"\n ></ipt-input>\n <ipt-input\n *ngIf=\"showEmailIpt\"\n [inputType]=\"'text'\"\n [placeHolder]=\"'Email IPT'\"\n [control]=\"updateUserForm.controls['email_ipt']\"\n [validateText]=\"updateUserForm.controls['email_ipt'].hasError('required') ? 'Debe ingresar un correo IPT v\u00E1lido' :\n updateUserForm.controls['email_ipt'].hasError('maxlength') ? 'M\u00E1ximo 255 caracteres' :\n updateUserForm.controls['email_ipt'].hasError('pattern') ? 'Tiene que ser un email correcto' :\n updateUserForm.controls['email_ipt'].hasError('hasWhitespace') ? 'No se permiten espacios al inicio o final' :\n updateUserForm.controls['email_ipt'].hasError('onlyWhitespace') ? 'No se permiten solo espacios' :\n 'Debe ingresar un correo IPT v\u00E1lido'\"\n ></ipt-input>\n <ipt-input\n *ngIf=\"showEmailIpt\"\n [inputType]=\"'number'\"\n [placeHolder]=\"'Horas de servicio'\"\n [control]=\"updateUserForm.controls['service_hour']\"\n [validateText]=\"'Debe ingresar las horas de servicio'\"\n ></ipt-input>\n <ipt-input\n [inputType]=\"'text'\"\n [placeHolder]=\"'Rol'\"\n [control]=\"updateUserForm.controls['role']\"\n [validateText]=\"'Rol requerido'\"\n ></ipt-input>\n <!-- <ipt-select\n [initialValue]=\"updateUserForm.controls['gender'].value\"\n [control]=\"updateUserForm.controls['gender']\"\n [selectCode]=\"updateUserForm.controls['gender'].value === null ? 'Seleccione g\u00E9nero' : (updateUserForm.controls['gender'].value | genderDisplay)\"\n [data]=\"genders\"\n (eventSelect)=\"selectGender($event)\"\n [defaultText]=\"'Seleccione g\u00E9nero'\"\n ></ipt-select> -->\n <ipt-select\n [initialValue]=\"updateUserForm.controls['phone_indicative'].value\"\n [control]=\"updateUserForm.controls['phone_indicative']\"\n [data]=\"indicatives\"\n (eventSelect)=\"selectIndicative('phone_indicative', $event)\"\n [defaultText]=\"'Indicativo'\"\n ></ipt-select>\n <ipt-input\n [inputType]=\"'number'\"\n [placeHolder]=\"'Tel\u00E9fono'\"\n [control]=\"updateUserForm.controls['phone_number']\"\n [validateText]=\"'Debe ingresar un n\u00FAmero de tel\u00E9fono v\u00E1lido'\"\n ></ipt-input>\n <ipt-select\n [initialValue]=\"updateUserForm.controls['id_card_type'].value\"\n [control]=\"updateUserForm.controls['id_card_type']\"\n [selectCode]=\"updateUserForm.controls['id_card_type'].value === null ? 'Tipo de documento' : updateUserForm.controls['id_card_type'].value\"\n [isRequired]=\"true\"\n [data]=\"idTypes\"\n (eventSelect)=\"selectIdType('id_card_type', $event)\"\n [defaultText]=\"'Tipo de documento'\"\n ></ipt-select>\n <ipt-input\n [inputType]=\"'number'\"\n [placeHolder]=\"'Documento'\"\n [control]=\"updateUserForm.controls['id_card']\"\n [validateText]=\"'Debe ingresar el n\u00FAmero de documento'\"\n ></ipt-input>\n <ipt-select\n [initialValue]=\"updateUserForm.controls['country'].value\"\n [control]=\"updateUserForm.controls['country']\"\n [selectCode]=\"updateUserForm.controls['country'].value === null ? 'Pa\u00EDs de residencia' : updateUserForm.controls['country'].value\"\n (eventSelect)=\"selectCountry($event)\"\n [data]=\"countries\"\n [defaultText]=\"'Pa\u00EDs de residencia'\"\n ></ipt-select>\n <ipt-select\n [initialValue]=\"updateUserForm.controls['state'].value\"\n [control]=\"updateUserForm.controls['state']\"\n [selectCode]=\"updateUserForm.controls['state'].value === null ? 'Departamento o estado' : updateUserForm.controls['state'].value\"\n [isRequired]=\"true\"\n (eventSelect)=\"selectState($event)\"\n [data]=\"states\"\n [defaultText]=\"'Departamento o estado'\"\n ></ipt-select>\n <ipt-select\n [initialValue]=\"updateUserForm.controls['city'].value\"\n [control]=\"updateUserForm.controls['city']\"\n [selectCode]=\"updateUserForm.controls['city'].value === null ? 'Ciudad de residencia' : updateUserForm.controls['city'].value\"\n (eventSelect)=\"selectCity($event)\"\n [data]=\"cities\"\n [defaultText]=\"'Ciudad de residencia'\"\n ></ipt-select>\n <!-- <div *ngIf=\"this.DataStudent.role !== 13\" class=\"card flex justify-content-center align-content-center align-items-end text-cen ter \">\n <p-selectButton [options]=\"justifyOptions\" formControlName=\"status\" optionLabel=\"name\" optionValue=\"code\"></p-selectButton>\n </div>\n <div class=\"field\">\n <p-checkbox\n formControlName=\"changePassword\"\n label=\"Cambio de contrase\u00F1a\"\n [binary]=\"true\"\n ></p-checkbox>\n </div> -->\n </div>\n <div class=\"form-grid\" *ngIf=\"updateUserForm.controls['changePassword'].value\">\n <ipt-input\n [inputType]=\"'password'\"\n [placeHolder]=\"'Contrase\u00F1a'\"\n [control]=\"updateUserForm.controls['password']\"\n [validateText]=\"updateUserForm.controls['password'].hasError('required') ? 'La contrase\u00F1a es requerida' :\n updateUserForm.controls['password'].hasError('minlength') ? 'M\u00EDnimo 5 caracteres' :\n updateUserForm.controls['password'].hasError('maxlength') ? 'M\u00E1ximo 32 caracteres' :\n 'Ingrese una contrase\u00F1a v\u00E1lida'\"\n ></ipt-input>\n\n <ipt-input\n [inputType]=\"'password'\"\n [placeHolder]=\"'Repetir contrase\u00F1a'\"\n [control]=\"updateUserForm.controls['re_password']\"\n [validateText]=\"updateUserForm.controls['re_password'].hasError('required') ? 'Debe repetir la contrase\u00F1a' :\n updateUserForm.controls['re_password'].hasError('minlength') ? 'M\u00EDnimo 5 caracteres' :\n updateUserForm.controls['re_password'].hasError('maxlength') ? 'M\u00E1ximo 32 caracteres' :\n updateUserForm.hasError('mismatch') ? 'Las contrase\u00F1as no coinciden' :\n 'Repita la contrase\u00F1a'\"\n ></ipt-input>\n </div>\n\n <!-- Mensaje adicional para el error de mismatch (opcional, si quieres mostrarlo por separado) -->\n\n <div *ngIf=\"updateUserForm.hasError('mismatch') && updateUserForm.controls['changePassword'].value\" class=\"error-message\">\n <small >Las contrase\u00F1as no coinciden</small>\n </div>\n <!-- Parent Information Section -->\n <div class=\"section-header\" *ngIf=\"DataStudent?.cods\">\n <h2>Informaci\u00F3n del acudiente</h2>\n </div>\n <div *ngIf=\"DataStudent?.cods\">\n <div *ngIf=\"showParentSection; else noParentMessage\">\n <div class=\"form-grid\">\n <ipt-input\n [inputType]=\"'text'\"\n [placeHolder]=\"'Nombres'\"\n [control]=\"updateUserForm.controls['parent_name']\"\n [validateText]=\"'Debe ingresar el nombre'\"\n ></ipt-input>\n <ipt-input\n [inputType]=\"'text'\"\n [placeHolder]=\"'Apellidos'\"\n [control]=\"updateUserForm.controls['parent_last_name']\"\n [validateText]=\"'Debe ingresar los apellidos'\"\n ></ipt-input>\n <ipt-input\n [inputType]=\"'text'\"\n [placeHolder]=\"'Ocupaci\u00F3n'\"\n [control]=\"updateUserForm.controls['parent_occupation']\"\n [validateText]=\"'Debe ingresar la ocupaci\u00F3n'\"\n ></ipt-input>\n <ipt-input\n [inputType]=\"'email'\"\n [placeHolder]=\"'Email'\"\n [control]=\"updateUserForm.controls['parent_email']\"\n [validateText]=\"'Debe ingresar un correo v\u00E1lido'\"\n ></ipt-input>\n <ipt-select\n [initialValue]=\"updateUserForm.controls['parent_id_card_type'].value\"\n [control]=\"updateUserForm.controls['parent_id_card_type']\"\n [selectCode]=\"updateUserForm.controls['parent_id_card_type'].value === null ? 'Tipo de documento' : updateUserForm.controls['parent_id_card_type'].value\"\n [isRequired]=\"true\"\n [data]=\"idTypes\"\n (eventSelect)=\"selectIdType('parent_id_card_type', $event)\"\n [defaultText]=\"'Tipo de documento'\"\n ></ipt-select>\n <ipt-input\n [inputType]=\"'number'\"\n [placeHolder]=\"'Documento'\"\n [control]=\"updateUserForm.controls['parent_id_card']\"\n [validateText]=\"'Debe ingresar el n\u00FAmero de documento'\"\n ></ipt-input>\n <ipt-select\n [initialValue]=\"updateUserForm.controls['parent_phone_indicative'].value\"\n [control]=\"updateUserForm.controls['parent_phone_indicative']\"\n [data]=\"indicatives\"\n (eventSelect)=\"selectIndicative('parent_phone_indicative', $event)\"\n [defaultText]=\"'Indicativo'\"\n ></ipt-select>\n <ipt-input\n [inputType]=\"'number'\"\n [placeHolder]=\"'Tel\u00E9fono'\"\n [control]=\"updateUserForm.controls['parent_phone_number']\"\n [validateText]=\"'Debe ingresar un n\u00FAmero de tel\u00E9fono v\u00E1lido'\"\n ></ipt-input>\n\n <ipt-input\n [inputType]=\"'text'\"\n [placeHolder]=\"'Direcci\u00F3n de oficina'\"\n [control]=\"updateUserForm.controls['parent_office_adrress']\"\n [validateText]=\"'Debe ingresar la direcci\u00F3n'\"\n ></ipt-input>\n </div>\n </div>\n <ng-template #noParentMessage>\n <div class=\"no-parent-message\">\n <p>Sin acudiente</p>\n </div>\n </ng-template>\n </div>\n\n <div class=\"buttons-container\">\n <ipt-button\n [label]=\"'Actualizar'\"\n [isEnabled]=\"!loader && updateUserForm.valid && !updateUserForm.hasError('mismatch') && hasFormChanged()\"\n (onClick)=\"updateUser()\"\n [primary]=\"true\"\n ></ipt-button>\n </div>\n </form>\n </div>\n </div>\n<!-- </p-dialog> -->", styles: ["@media screen and (min-width: 320px){main{background:rgba(0,0,0,.472);color:#fff;position:fixed;top:0;left:0;height:100vh;width:100vw;transition:all .5s}main .modal_container{width:60%;height:-moz-fit-content;height:fit-content;position:absolute;inset:0;margin:auto;background-color:#fff;border-radius:3px}.header_modal{display:flex;padding:15px 15px 0;gap:1rem;align-items:center}.header_modal h1{padding:.5rem;background-color:#1c77f7;color:#fff;width:100%;border-radius:10px;font-size:1.25rem;font-weight:700}.header_modal button{margin-left:auto;font-size:26px;padding:1.2rem;font-weight:200;color:#6c7f7d;display:flex;width:25px;height:25px;align-items:center;justify-content:center;transition:50ms;background-color:transparent;border:none}.header_modal button:hover{cursor:pointer;border-radius:50%;background-color:#d4d4d4}.grid_container{display:grid;grid-template-columns:1fr;padding:0 15px}form{display:grid;grid-template-columns:1fr;gap:.25rem;justify-content:center;padding:0 1rem}.section-header{margin:1.5rem 0 .5rem;border-bottom:2px solid #1c77f7}.section-header h2{font-size:1.2rem;color:#1c77f7;font-weight:600;margin-bottom:.5rem}.form-grid{display:grid;grid-template-columns:1fr;gap:.25rem}.buttons-container{margin-top:2rem;margin-bottom:2rem;display:flex;justify-content:center;align-items:center}.user-type-image{display:none}.no-parent-message{padding:1rem;text-align:center;color:#666;font-size:1rem;font-weight:500;background-color:#f8f9fa;border-radius:.5rem;margin-top:.5rem}}@media screen and (min-width: 768px){.form-grid{display:grid;grid-template-columns:1fr 1fr 1fr;gap:1rem}}@media screen and (min-width: 1366px){form{padding:0}}.field{height:1px;max-width:67%}.error-message{color:red;font-size:12px;margin-top:5px}.p-selectbutton{display:flex;flex-wrap:wrap;justify-content:center;width:100%;min-width:10rem}:host ::ng-deep .p-selectbutton .p-button{padding:.5rem;font-size:.875rem;height:30px}:host ::ng-deep .p-buttonset .p-button:first-of-type{height:30px}\n"] }]
3223
- }], ctorParameters: function () { return [{ type: i1$1.FormBuilder }, { type: i0.ChangeDetectorRef }, { type: ParameterService }, { type: BaseService }, { type: UserService }]; }, propDecorators: { DataStudent: [{
3224
- type: Input
3225
- }], visibleModal: [{
3211
+ args: [{ selector: 'ipt-card-select-course-self-cod-managed', template: "<!-- <main class=\"container-card\">\n <div class=\"w-auto\" >\n <div class=\"card\" (click)=\"selectDepartment(courseSelect)\">\n <div class=\"card-text\">\n <span class=\"date\">{{ courseSelect.course_type.label }}</span><br>\n <strong class=\"type-theory\">Clases Teoricas: </strong>{{ courseSelect.course_schedule | scheduleFormat }}<br>\n <strong class=\"type-theory\">Horario Teorico: </strong>{{ courseSelect.course_schedule | scheduleTimeFormat }}<br>\n <strong><hr></strong>\n <strong class=\"type-club\">Clases Club: </strong>\n <span *ngIf=\"courseSelect.course_club\">{{ courseSelect.course_club.course_schedule | scheduleFormat }}</span><br>\n <strong class=\"type-club\">Horario Club: </strong>\n <span *ngIf=\"courseSelect.course_club\">{{ courseSelect.course_club.course_schedule | scheduleTimeFormat }}</span><br>\n <strong>Modalidad: </strong>\n <span *ngIf=\"courseSelect.course_modality\">{{ courseSelect.course_modality.name | titlecase }}</span><br>\n <strong *ngIf=\"courseSelect.start_date === null\">Posible inicio: </strong>{{ courseSelect.start_date === null ? courseSelect.to_start : null | date:'dd/MM/yyyy' }}<br *ngIf=\"courseSelect.start_date === null\">\n <strong *ngIf=\"courseSelect.start_date !== null\">Fecha Inicio: </strong>{{ courseSelect.start_date !== null ? courseSelect.start_date : null | date:'dd/MM/yyyy' }}<br *ngIf=\"courseSelect.finish_date !== null\">\n <strong *ngIf=\"courseSelect.finish_date !== null\">Fecha culminacion: </strong>{{ courseSelect.finish_date !== null ? courseSelect.finish_date : null | date:'dd/MM/yyyy' }}<br *ngIf=\"courseSelect.finish_date !== null\">\n </div>\n </div>\n </div>\n</main> -->\n<main>\n<div class=\"container__tittle__card flex justify-content-center\">\n Plan Seleccionado\n</div>\n<div class=\"container-card\">\n <div class=\"card\">\n <p class=\"heading\">\n {{ courseSelect.course_type.label }}<br>\n </p>\n <div class=\"card-text\">\n <strong class=\"type-theory\">Clases Teoricas: </strong><span>{{ courseSelect.course_schedule | scheduleFormat }}</span><br>\n <strong class=\"type-theory\">Horario Teorico: </strong> <span>{{ courseSelect.course_schedule | scheduleTimeFormat }}</span><br>\n <strong><hr></strong>\n <strong class=\"type-club\">Clases Club: </strong><span *ngIf=\"courseSelect.course_club\">{{ courseSelect.course_club.course_schedule | scheduleFormat }}</span><br>\n <strong class=\"type-club\">Horario Club: </strong><span *ngIf=\"courseSelect.course_club\">{{ courseSelect.course_club.course_schedule | scheduleTimeFormat }}</span><br>\n <strong>Modalidad: </strong><span *ngIf=\"courseSelect.course_modality\">{{ courseSelect.course_modality.name | titlecase }}</span><br>\n <strong *ngIf=\"courseSelect.start_date === null\">Posible inicio: </strong><span>{{ courseSelect.start_date === null ? courseSelect.to_start : null | date:'dd/MM/yyyy' }}</span><br *ngIf=\"courseSelect.start_date === null\">\n </div>\n <p>{{ courseSelect.english_level.name | typeLevel}}\n </p>\n </div>\n</div>\n</main>\n<!-- <main *ngIf=\"jornada === 2\" class=\"container-card\">\n <div class=\"w-auto\" >\n <div class=\"card\" (click)=\"selectDepartment(courseSelect)\">\n <div class=\"card-image\" [style.background-image]=\"'url(' + courseSelect.imageUrl + ')'\"></div>\n <div class=\"card-text\">\n <span class=\"date\">{{ courseSelect.course_type.label }}</span><br>\n <strong class=\"type-theory\">Clases Teoricas: </strong>{{ courseSelect.course_schedule | scheduleFormat }}<br>\n <strong class=\"type-theory\">Horario Teorico: </strong>{{ courseSelect.course_schedule | scheduleTimeFormat }}<br>\n <strong><hr></strong>\n <strong class=\"type-club\">Clases Club: </strong>\n <span *ngIf=\"courseSelect.course_club\">{{ courseSelect.course_club.course_schedule | scheduleFormat }}</span><br>\n <strong class=\"type-club\">Horario Club: </strong>\n <span *ngIf=\"courseSelect.course_club\">{{ courseSelect.course_club.course_schedule | scheduleTimeFormat }}</span><br>\n <strong>Modalidad: </strong>\n <span *ngIf=\"courseSelect.course_modality\">{{ courseSelect.course_modality.name | titlecase }}</span><br>\n <strong *ngIf=\"courseSelect.start_date === null\">Posible inicio: </strong>{{ courseSelect.start_date === null ? courseSelect.to_start : null | date:'dd/MM/yyyy' }}<br *ngIf=\"courseSelect.start_date === null\">\n <strong *ngIf=\"courseSelect.start_date !== null\">Fecha Inicio: </strong>{{ courseSelect.start_date !== null ? courseSelect.start_date : null | date:'dd/MM/yyyy' }}<br *ngIf=\"courseSelect.finish_date !== null\">\n <strong *ngIf=\"courseSelect.finish_date !== null\">Fecha culminacion: </strong>{{ courseSelect.finish_date !== null ? courseSelect.finish_date : null | date:'dd/MM/yyyy' }}<br *ngIf=\"courseSelect.finish_date !== null\">\n </div>\n </div>\n </div>\n</main>\n<main *ngIf=\"jornada === 3\" class=\"container-card\">\n <div class=\"w-auto\" >\n <div class=\"card\" (click)=\"selectDepartment(courseSelect)\">\n <div class=\"card-image\" [style.background-image]=\"'url(' + courseSelect.imageUrl + ')'\"></div>\n <div class=\"card-text\">\n <span class=\"date\">{{ courseSelect.course_type.label }}</span><br>\n <strong class=\"type-theory\">Clases Teoricas: </strong>{{ courseSelect.course_schedule | scheduleFormat }}<br>\n <strong class=\"type-theory\">Horario Teorico: </strong>{{ courseSelect.course_schedule | scheduleTimeFormat }}<br>\n <strong><hr></strong>\n <strong class=\"type-club\">Clases Club: </strong>\n <span *ngIf=\"courseSelect.course_club\">{{ courseSelect.course_club.course_schedule | scheduleFormat }}</span><br>\n <strong class=\"type-club\">Horario Club: </strong>\n <span *ngIf=\"courseSelect.course_club\">{{ courseSelect.course_club.course_schedule | scheduleTimeFormat }}</span><br>\n <strong>Modalidad: </strong>\n <span *ngIf=\"courseSelect.course_modality\">{{ courseSelect.course_modality.name | titlecase }}</span><br>\n <strong *ngIf=\"courseSelect.start_date === null\">Posible inicio: </strong>{{ courseSelect.start_date === null ? courseSelect.to_start : null | date:'dd/MM/yyyy' }}<br *ngIf=\"courseSelect.start_date === null\">\n <strong *ngIf=\"courseSelect.start_date !== null\">Fecha Inicio: </strong>{{ courseSelect.start_date !== null ? courseSelect.start_date : null | date:'dd/MM/yyyy' }}<br *ngIf=\"courseSelect.finish_date !== null\">\n <strong *ngIf=\"courseSelect.finish_date !== null\">Fecha culminacion: </strong>{{ courseSelect.finish_date !== null ? courseSelect.finish_date : null | date:'dd/MM/yyyy' }}<br *ngIf=\"courseSelect.finish_date !== null\">\n </div>\n </div>\n </div>\n</main> -->\n", styles: [".container-card{display:flex;flex-direction:row;flex-wrap:wrap;justify-content:space-evenly}.card-image{grid-area:image;border-top-left-radius:65px;border-top-right-radius:65px;background-color:coral;background-size:cover;box-shadow:0 2px 5px #5e6173}.card-text .date{color:#fff;font-size:15px}.card-text p{color:gray;font-size:13px;font-weight:300}.card-text h2{margin-top:0;font-size:28px}.type-theory{color:#c2f0f8;font-weight:100;font-size:small}.type-club{color:#92f7af;font-weight:100;font-size:small}.card{position:relative;width:190px;height:254px;background-color:#565656;display:flex;flex-direction:column;justify-content:end;padding:12px;gap:12px;border-radius:8px;cursor:pointer}.card:before{content:\"\";position:absolute;inset:0 0 0 -5px;margin:auto;width:200px;height:264px;border-radius:10px;background:linear-gradient(175deg,rgba(4,18,106,1) 27%,rgba(48,63,155,1) 53%,rgba(28,119,247,1) 90%);z-index:-10;pointer-events:none;transition:all .6s cubic-bezier(.175,.885,.32,1.275)}.card:after{content:\"\";z-index:-1;position:absolute;inset:0;background:linear-gradient(-45deg,rgba(0,63,255,1) 0%,rgba(4,18,106,1) 100%);transform:translateZ(0) scale(.95);filter:blur(20px)}.heading{text-transform:capitalize;font-weight:700;color:#fff}.card p:not(.heading){font-size:14px}.card p:last-child{color:#0497d9;font-weight:600}.card:hover:after{filter:blur(30px)}.card:hover:before{transform:rotate(-90deg) scaleX(1.34) scaleY(.77)}span,strong{color:#fff;font-weight:100;font-size:small}.container-card{z-index:0;position:relative;justify-content:center;display:flex;margin:1rem 0 3rem}.container__tittle__card{margin-top:2rem;font-weight:700}\n"] }]
3212
+ }], propDecorators: { courseSelect: [{
3226
3213
  type: Input
3227
- }], closeModalIS: [{
3228
- type: Output
3229
- }], userUpdatedEvent: [{
3230
- type: Output
3231
3214
  }] } });
3232
3215
 
3216
+ class MaterialModule {
3217
+ }
3218
+ MaterialModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.7", ngImport: i0, type: MaterialModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
3219
+ MaterialModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "14.0.7", ngImport: i0, type: MaterialModule, exports: [MatSidenavModule, MatToolbarModule, MatIconModule, MatListModule, MatButtonModule] });
3220
+ MaterialModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "14.0.7", ngImport: i0, type: MaterialModule, imports: [MatSidenavModule, MatToolbarModule, MatIconModule, MatListModule, MatButtonModule] });
3221
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.7", ngImport: i0, type: MaterialModule, decorators: [{
3222
+ type: NgModule,
3223
+ args: [{
3224
+ exports: [MatSidenavModule, MatToolbarModule, MatIconModule, MatListModule, MatButtonModule],
3225
+ }]
3226
+ }] });
3227
+
3228
+ class PipeModule {
3229
+ }
3230
+ PipeModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.7", ngImport: i0, type: PipeModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
3231
+ PipeModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "14.0.7", ngImport: i0, type: PipeModule, declarations: [ScheduleFormatPipe,
3232
+ ScheduleTimeFormatPipe,
3233
+ TypeLevelPipe,
3234
+ GenderDisplayPipe], imports: [CommonModule], exports: [ScheduleFormatPipe,
3235
+ ScheduleTimeFormatPipe,
3236
+ TypeLevelPipe,
3237
+ GenderDisplayPipe] });
3238
+ PipeModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "14.0.7", ngImport: i0, type: PipeModule, imports: [CommonModule] });
3239
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.7", ngImport: i0, type: PipeModule, decorators: [{
3240
+ type: NgModule,
3241
+ args: [{
3242
+ declarations: [
3243
+ ScheduleFormatPipe,
3244
+ ScheduleTimeFormatPipe,
3245
+ TypeLevelPipe,
3246
+ GenderDisplayPipe
3247
+ ],
3248
+ imports: [CommonModule],
3249
+ exports: [
3250
+ ScheduleFormatPipe,
3251
+ ScheduleTimeFormatPipe,
3252
+ TypeLevelPipe,
3253
+ GenderDisplayPipe
3254
+ ]
3255
+ }]
3256
+ }] });
3257
+
3233
3258
  class ComponentsModule {
3234
3259
  }
3235
3260
  ComponentsModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.7", ngImport: i0, type: ComponentsModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
@@ -3258,7 +3283,9 @@ ComponentsModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", versio
3258
3283
  CurrencyMaskModule,
3259
3284
  PanelModule,
3260
3285
  PipeModule,
3261
- SkeletonModule], exports: [AsideButtonComponent,
3286
+ SkeletonModule,
3287
+ SelectButtonModule,
3288
+ CheckboxModule], exports: [AsideButtonComponent,
3262
3289
  ButtonComponent,
3263
3290
  CheckboxComponent,
3264
3291
  CreateUserFormComponent,
@@ -3288,7 +3315,9 @@ ComponentsModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", versio
3288
3315
  CurrencyMaskModule,
3289
3316
  PanelModule,
3290
3317
  PipeModule,
3291
- SkeletonModule, CurrencyMaskModule] });
3318
+ SkeletonModule,
3319
+ SelectButtonModule,
3320
+ CheckboxModule, CurrencyMaskModule] });
3292
3321
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.7", ngImport: i0, type: ComponentsModule, decorators: [{
3293
3322
  type: NgModule,
3294
3323
  args: [{
@@ -3310,7 +3339,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.7", ngImpor
3310
3339
  QuestionTypeComponent,
3311
3340
  CardCourseComponent,
3312
3341
  CardSelectCourseComponent,
3313
- updateUserFormComponent
3342
+ updateUserFormComponent,
3314
3343
  ],
3315
3344
  imports: [
3316
3345
  CommonModule,
@@ -3321,7 +3350,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.7", ngImpor
3321
3350
  CurrencyMaskModule,
3322
3351
  PanelModule,
3323
3352
  PipeModule,
3324
- SkeletonModule
3353
+ SkeletonModule,
3354
+ SelectButtonModule,
3355
+ CheckboxModule
3325
3356
  ],
3326
3357
  exports: [
3327
3358
  AsideButtonComponent,
@@ -3342,7 +3373,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.7", ngImpor
3342
3373
  QuestionTypeComponent,
3343
3374
  CardCourseComponent,
3344
3375
  CardSelectCourseComponent,
3345
- updateUserFormComponent
3376
+ updateUserFormComponent,
3346
3377
  ],
3347
3378
  providers: [
3348
3379
  CurrencyPipe,
@@ -3474,7 +3505,7 @@ class CodDocumentsSectionComponent {
3474
3505
  }
3475
3506
  }
3476
3507
  CodDocumentsSectionComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.7", ngImport: i0, type: CodDocumentsSectionComponent, deps: [{ token: i1$1.FormBuilder }, { token: MediaService }, { token: UserService }, { token: BaseService }], target: i0.ɵɵFactoryTarget.Component });
3477
- CodDocumentsSectionComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.0.7", type: CodDocumentsSectionComponent, selector: "ipt-cod-documents-section", ngImport: i0, template: "<div class=\"container flex flex-column bg-white border-round-2xl p-3 container animate__animated animate__fadeInUp\">\n\n <span class=\"bg-primary p-2 border-round mb-2 w-auto text-lg font-semibold\">Documentos del COD</span>\n\n <div class=\"document_item flex flex-column align-items-center p-2 border-round\">\n <div class=\"ml-auto\">\n <div class=\"inp w-10\">\n <ipt-input\n [inputType]=\"'file'\"\n [placeHolder]=\"'Doc. Estudiante'\"\n [control]=\"documentsForm.controls['doc_student']\"\n (change)=\"catchDocument($event, 'doc_student')\"\n ></ipt-input>\n </div>\n <div class=\"btn flex justify-content-center flex-wrap w-8 p-2\" *ngIf=\"docStudent\">\n <button pButton pRipple type=\"button\" icon=\"pi pi-eye\" class=\"p-button-rounded p-button-sm ml-auto mr-1\" (click)=\"showIdDocument()\"></button>\n <button pButton pRipple type=\"button\" icon=\"pi pi-trash\" class=\"p-button-rounded p-button-sm p-button-danger ml-auto\" (click)=\"clearDocStudent('doc_student')\"></button>\n </div>\n </div>\n </div>\n\n <div class=\"document_item flex flex-column align-items-center p-2 border-round\">\n <div class=\"ml-auto\">\n <div class=\"inp w-10\">\n <ipt-input\n [inputType]=\"'file'\"\n [placeHolder]=\"'Doc. Convenio'\"\n [control]=\"documentsForm.controls['doc_agreement']\"\n (change)=\"catchDocument($event, 'doc_agreement')\"\n ></ipt-input>\n </div>\n <div class=\"btn flex justify-content-center flex-wrap w-8 p-2\" *ngIf=\"docAgreement\">\n <button pButton pRipple type=\"button\" icon=\"pi pi-eye\" class=\"p-button-rounded p-button-sm ml-auto mr-1\" (click)=\"showIdDocument()\"></button>\n <button pButton pRipple type=\"button\" icon=\"pi pi-trash\" class=\"p-button-rounded p-button-sm p-button-danger ml-auto\" (click)=\"clearDocStudent('doc_agreement')\"></button>\n </div>\n </div>\n </div>\n\n <div class=\"document_item flex flex-column align-items-center p-2 border-round\">\n <div class=\"ml-auto\">\n <div class=\"inp w-10\">\n <ipt-input\n [inputType]=\"'file'\"\n [placeHolder]=\"'Doc. Acudiente'\"\n [control]=\"documentsForm.controls['doc_parent']\"\n (change)=\"catchDocument($event, 'doc_parent')\"\n ></ipt-input>\n </div>\n <div class=\"btn flex justify-content-center flex-wrap w-8 p-2\" *ngIf=\"docParent\">\n <button pButton pRipple type=\"button\" icon=\"pi pi-eye\" class=\"p-button-rounded p-button-sm ml-auto mr-1\" (click)=\"showIdDocument()\"></button>\n <button pButton pRipple type=\"button\" icon=\"pi pi-trash\" class=\"p-button-rounded p-button-sm p-button-danger ml-auto\" (click)=\"clearDocStudent('doc_parent')\"></button>\n </div>\n </div>\n </div>\n\n <div class=\"document_item flex flex-column align-items-center p-2 border-round\">\n <div class=\"ml-auto\">\n <div class=\"inp w-10\">\n <ipt-input\n [inputType]=\"'file'\"\n [placeHolder]=\"'Doc. Confanorte'\"\n [control]=\"documentsForm.controls['doc_confanorte']\"\n (change)=\"catchDocument($event, 'doc_confanorte')\"\n ></ipt-input>\n </div>\n <div class=\"btn flex justify-content-center flex-wrap w-8 p-2\" *ngIf=\"docConfanorte\">\n <button pButton pRipple type=\"button\" icon=\"pi pi-eye\" class=\"p-button-rounded p-button-sm ml-auto mr-1\" (click)=\"showIdDocument()\"></button>\n <button pButton pRipple type=\"button\" icon=\"pi pi-trash\" class=\"p-button-rounded p-button-sm p-button-danger ml-auto\" (click)=\"clearDocStudent('doc_confanorte')\"></button>\n </div>\n </div>\n </div>\n\n <hr>\n <button pButton pRipple type=\"button\" icon=\"pi pi-plus\" label=\"Agregar\" class=\"p-button-rounded p-button-sm ml-auto mt-2\" (click)=\"filesUploaded()\"></button>\n\n</div>\n", styles: [".document_item{transition:.15s;gap:1rem;max-height:150px}.document_item:hover{cursor:pointer;box-shadow:#64646f33 0 7px 29px}\n"], dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: InputComponent, selector: "ipt-input", inputs: ["inputType", "placeHolder", "validateText", "withPipe", "list", "iconUrl", "control", "prefix", "thousands", "decimal", "disabledSel"], outputs: ["dateSelected"] }, { kind: "directive", type: i6$1.ButtonDirective, selector: "[pButton]", inputs: ["iconPos", "loadingIcon", "label", "icon", "loading"] }] });
3508
+ CodDocumentsSectionComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.0.7", type: CodDocumentsSectionComponent, selector: "ipt-cod-documents-section", ngImport: i0, template: "<div class=\"container flex flex-column bg-white border-round-2xl p-3 container animate__animated animate__fadeInUp\">\n\n <span class=\"bg-primary p-2 border-round mb-2 w-auto text-lg font-semibold\">Documentos del COD</span>\n\n <div class=\"document_item flex flex-column align-items-center p-2 border-round\">\n <div class=\"ml-auto\">\n <div class=\"inp w-10\">\n <ipt-input\n [inputType]=\"'file'\"\n [placeHolder]=\"'Doc. Estudiante'\"\n [control]=\"documentsForm.controls['doc_student']\"\n (change)=\"catchDocument($event, 'doc_student')\"\n ></ipt-input>\n </div>\n <div class=\"btn flex justify-content-center flex-wrap w-8 p-2\" *ngIf=\"docStudent\">\n <button pButton pRipple type=\"button\" icon=\"pi pi-eye\" class=\"p-button-rounded p-button-sm ml-auto mr-1\" (click)=\"showIdDocument()\"></button>\n <button pButton pRipple type=\"button\" icon=\"pi pi-trash\" class=\"p-button-rounded p-button-sm p-button-danger ml-auto\" (click)=\"clearDocStudent('doc_student')\"></button>\n </div>\n </div>\n </div>\n\n <div class=\"document_item flex flex-column align-items-center p-2 border-round\">\n <div class=\"ml-auto\">\n <div class=\"inp w-10\">\n <ipt-input\n [inputType]=\"'file'\"\n [placeHolder]=\"'Doc. Convenio'\"\n [control]=\"documentsForm.controls['doc_agreement']\"\n (change)=\"catchDocument($event, 'doc_agreement')\"\n ></ipt-input>\n </div>\n <div class=\"btn flex justify-content-center flex-wrap w-8 p-2\" *ngIf=\"docAgreement\">\n <button pButton pRipple type=\"button\" icon=\"pi pi-eye\" class=\"p-button-rounded p-button-sm ml-auto mr-1\" (click)=\"showIdDocument()\"></button>\n <button pButton pRipple type=\"button\" icon=\"pi pi-trash\" class=\"p-button-rounded p-button-sm p-button-danger ml-auto\" (click)=\"clearDocStudent('doc_agreement')\"></button>\n </div>\n </div>\n </div>\n\n <div class=\"document_item flex flex-column align-items-center p-2 border-round\">\n <div class=\"ml-auto\">\n <div class=\"inp w-10\">\n <ipt-input\n [inputType]=\"'file'\"\n [placeHolder]=\"'Doc. Acudiente'\"\n [control]=\"documentsForm.controls['doc_parent']\"\n (change)=\"catchDocument($event, 'doc_parent')\"\n ></ipt-input>\n </div>\n <div class=\"btn flex justify-content-center flex-wrap w-8 p-2\" *ngIf=\"docParent\">\n <button pButton pRipple type=\"button\" icon=\"pi pi-eye\" class=\"p-button-rounded p-button-sm ml-auto mr-1\" (click)=\"showIdDocument()\"></button>\n <button pButton pRipple type=\"button\" icon=\"pi pi-trash\" class=\"p-button-rounded p-button-sm p-button-danger ml-auto\" (click)=\"clearDocStudent('doc_parent')\"></button>\n </div>\n </div>\n </div>\n\n <div class=\"document_item flex flex-column align-items-center p-2 border-round\">\n <div class=\"ml-auto\">\n <div class=\"inp w-10\">\n <ipt-input\n [inputType]=\"'file'\"\n [placeHolder]=\"'Doc. Confanorte'\"\n [control]=\"documentsForm.controls['doc_confanorte']\"\n (change)=\"catchDocument($event, 'doc_confanorte')\"\n ></ipt-input>\n </div>\n <div class=\"btn flex justify-content-center flex-wrap w-8 p-2\" *ngIf=\"docConfanorte\">\n <button pButton pRipple type=\"button\" icon=\"pi pi-eye\" class=\"p-button-rounded p-button-sm ml-auto mr-1\" (click)=\"showIdDocument()\"></button>\n <button pButton pRipple type=\"button\" icon=\"pi pi-trash\" class=\"p-button-rounded p-button-sm p-button-danger ml-auto\" (click)=\"clearDocStudent('doc_confanorte')\"></button>\n </div>\n </div>\n </div>\n\n <hr>\n <button pButton pRipple type=\"button\" icon=\"pi pi-plus\" label=\"Agregar\" class=\"p-button-rounded p-button-sm ml-auto mt-2\" (click)=\"filesUploaded()\"></button>\n\n</div>\n", styles: [".document_item{transition:.15s;gap:1rem;max-height:150px}.document_item:hover{cursor:pointer;box-shadow:#64646f33 0 7px 29px}\n"], dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: InputComponent, selector: "ipt-input", inputs: ["inputType", "placeHolder", "validateText", "withPipe", "list", "iconUrl", "control", "prefix", "thousands", "decimal", "disabledSel"], outputs: ["dateSelected"] }, { kind: "directive", type: i6$2.ButtonDirective, selector: "[pButton]", inputs: ["iconPos", "loadingIcon", "label", "icon", "loading"] }] });
3478
3509
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.7", ngImport: i0, type: CodDocumentsSectionComponent, decorators: [{
3479
3510
  type: Component,
3480
3511
  args: [{ selector: 'ipt-cod-documents-section', template: "<div class=\"container flex flex-column bg-white border-round-2xl p-3 container animate__animated animate__fadeInUp\">\n\n <span class=\"bg-primary p-2 border-round mb-2 w-auto text-lg font-semibold\">Documentos del COD</span>\n\n <div class=\"document_item flex flex-column align-items-center p-2 border-round\">\n <div class=\"ml-auto\">\n <div class=\"inp w-10\">\n <ipt-input\n [inputType]=\"'file'\"\n [placeHolder]=\"'Doc. Estudiante'\"\n [control]=\"documentsForm.controls['doc_student']\"\n (change)=\"catchDocument($event, 'doc_student')\"\n ></ipt-input>\n </div>\n <div class=\"btn flex justify-content-center flex-wrap w-8 p-2\" *ngIf=\"docStudent\">\n <button pButton pRipple type=\"button\" icon=\"pi pi-eye\" class=\"p-button-rounded p-button-sm ml-auto mr-1\" (click)=\"showIdDocument()\"></button>\n <button pButton pRipple type=\"button\" icon=\"pi pi-trash\" class=\"p-button-rounded p-button-sm p-button-danger ml-auto\" (click)=\"clearDocStudent('doc_student')\"></button>\n </div>\n </div>\n </div>\n\n <div class=\"document_item flex flex-column align-items-center p-2 border-round\">\n <div class=\"ml-auto\">\n <div class=\"inp w-10\">\n <ipt-input\n [inputType]=\"'file'\"\n [placeHolder]=\"'Doc. Convenio'\"\n [control]=\"documentsForm.controls['doc_agreement']\"\n (change)=\"catchDocument($event, 'doc_agreement')\"\n ></ipt-input>\n </div>\n <div class=\"btn flex justify-content-center flex-wrap w-8 p-2\" *ngIf=\"docAgreement\">\n <button pButton pRipple type=\"button\" icon=\"pi pi-eye\" class=\"p-button-rounded p-button-sm ml-auto mr-1\" (click)=\"showIdDocument()\"></button>\n <button pButton pRipple type=\"button\" icon=\"pi pi-trash\" class=\"p-button-rounded p-button-sm p-button-danger ml-auto\" (click)=\"clearDocStudent('doc_agreement')\"></button>\n </div>\n </div>\n </div>\n\n <div class=\"document_item flex flex-column align-items-center p-2 border-round\">\n <div class=\"ml-auto\">\n <div class=\"inp w-10\">\n <ipt-input\n [inputType]=\"'file'\"\n [placeHolder]=\"'Doc. Acudiente'\"\n [control]=\"documentsForm.controls['doc_parent']\"\n (change)=\"catchDocument($event, 'doc_parent')\"\n ></ipt-input>\n </div>\n <div class=\"btn flex justify-content-center flex-wrap w-8 p-2\" *ngIf=\"docParent\">\n <button pButton pRipple type=\"button\" icon=\"pi pi-eye\" class=\"p-button-rounded p-button-sm ml-auto mr-1\" (click)=\"showIdDocument()\"></button>\n <button pButton pRipple type=\"button\" icon=\"pi pi-trash\" class=\"p-button-rounded p-button-sm p-button-danger ml-auto\" (click)=\"clearDocStudent('doc_parent')\"></button>\n </div>\n </div>\n </div>\n\n <div class=\"document_item flex flex-column align-items-center p-2 border-round\">\n <div class=\"ml-auto\">\n <div class=\"inp w-10\">\n <ipt-input\n [inputType]=\"'file'\"\n [placeHolder]=\"'Doc. Confanorte'\"\n [control]=\"documentsForm.controls['doc_confanorte']\"\n (change)=\"catchDocument($event, 'doc_confanorte')\"\n ></ipt-input>\n </div>\n <div class=\"btn flex justify-content-center flex-wrap w-8 p-2\" *ngIf=\"docConfanorte\">\n <button pButton pRipple type=\"button\" icon=\"pi pi-eye\" class=\"p-button-rounded p-button-sm ml-auto mr-1\" (click)=\"showIdDocument()\"></button>\n <button pButton pRipple type=\"button\" icon=\"pi pi-trash\" class=\"p-button-rounded p-button-sm p-button-danger ml-auto\" (click)=\"clearDocStudent('doc_confanorte')\"></button>\n </div>\n </div>\n </div>\n\n <hr>\n <button pButton pRipple type=\"button\" icon=\"pi pi-plus\" label=\"Agregar\" class=\"p-button-rounded p-button-sm ml-auto mt-2\" (click)=\"filesUploaded()\"></button>\n\n</div>\n", styles: [".document_item{transition:.15s;gap:1rem;max-height:150px}.document_item:hover{cursor:pointer;box-shadow:#64646f33 0 7px 29px}\n"] }]
@@ -4768,7 +4799,7 @@ class CodFormStepOneComponent extends CodFormSteps {
4768
4799
  }
4769
4800
  }
4770
4801
  CodFormStepOneComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.7", ngImport: i0, type: CodFormStepOneComponent, deps: [{ token: i1$1.FormBuilder }, { token: CopiesService }, { token: BaseService }, { token: CourseService }, { token: CommunicatorService }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
4771
- CodFormStepOneComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.0.7", type: CodFormStepOneComponent, selector: "app-cod-form-step-one", inputs: { initialData: "initialData", dataPreviusCodData: "dataPreviusCodData", isEditCod: "isEditCod", courseSelectRenovation: "courseSelectRenovation", isRenovation: "isRenovation", parametersAll: "parametersAll" }, outputs: { changeStepEvent: "changeStepEvent" }, usesInheritance: true, usesOnChanges: true, ngImport: i0, template: "<form [formGroup]=\"codFormStepOne\" class=\"grid\">\n <div class=\"col\">\n <ipt-select\n [initialValue]=\"codFormStepOne.controls['academic_plan'].value\"\n [selectCode]=\"codFormStepOne.controls['academic_plan'].value === null? 'Plan': codFormStepOne.controls['academic_plan'].value\"\n [defaultText]=\"'Plan'\"\n [isRequired]=\"true\"\n (eventSelect)=\"selectAcademicPlan($event)\"\n [data]=\"plans\"\n [control]=\"codFormStepOne.controls['academic_plan']\"\n [disabledSel]=\"isDisabledSel\"\n ></ipt-select>\n <ipt-select\n [initialValue]=\"codFormStepOne.controls['course_type'].value\"\n [selectCode]=\"codFormStepOne.controls['course_type'].value === null? 'Tipo de plan': codFormStepOne.controls['course_type'].value\"\n [defaultText]=\"'Tipo de plan'\"\n [isRequired]=\"true\"\n (eventSelect)=\"selectCoursesTypesByPlan($event)\"\n [data]=\"course_type\"\n [control]=\"codFormStepOne.controls['course_type']\"\n [disabledSel]=\"isDisabledSel\"\n ></ipt-select>\n </div>\n <div class=\"col\">\n <ipt-select\n [initialValue]=\"codFormStepOne.controls['agreement_by_category'].value\"\n [selectCode]=\"codFormStepOne.controls['agreement_by_category'].value === null? 'Convenio por categoria': codFormStepOne.controls['agreement_by_category'].value\"\n [defaultText]=\"'Convenio por categoria'\"\n [isRequired]=\"true\"\n (eventSelect)=\"selectAgreementByCategory($event)\"\n [data]=\"agreements\"\n [control]=\"codFormStepOne.controls['agreement_by_category']\"\n [disabledSel]=\"isDisabledSel\"\n ></ipt-select>\n <ipt-select\n [initialValue]=\"codFormStepOne.controls['english_level'].value\"\n [selectCode]=\"codFormStepOne.controls['english_level'].value === null? 'Nivel de ingl\u00E9s': codFormStepOne.controls['english_level'].value\"\n [defaultText]=\"'Nivel de ingl\u00E9s'\"\n [isRequired]=\"true\"\n (eventSelect)=\"selectLevel($event)\"\n [data]=\"levels\"\n [control]=\"codFormStepOne.controls['english_level']\"\n [disabledSel]=\"isDisabledSel\"\n ></ipt-select>\n </div>\n <div class=\"col-12\">\n <ipt-select\n [initialValue]=\"codFormStepOne.controls['availible_courses'].value\"\n [selectCode]=\"codFormStepOne.controls['availible_courses'].value === null? 'Grupos disponibles': codFormStepOne.controls['availible_courses'].value\"\n [defaultText]=\"'Grupos disponibles'\"\n [isRequired]=\"true\"\n (eventSelect)=\"selectAvailibleCourses($event)\"\n [data]=\"availibleCourses\"\n [control]=\"codFormStepOne.controls['availible_courses']\"\n [disabledSel]=\"isDisabledSel\"\n ></ipt-select>\n <ipt-loader *ngIf=\"isLoading\" class=\"w-1\">\n </ipt-loader>\n </div>\n <span *ngIf=\"!hasAvailableCourse\" class=\"mt-1 pl-2 text-red-500\">Todav\u00EDa no hay cursos con estas caracter\u00EDsticas.</span>\n</form>\n\n<div class=\"flex mt-2 align-items-center gap-3\">\n <span *ngIf=\"codFormStepOne.invalid && codFormStepOne.touched\" class=\"text-red-500 font-bold text-center mt-1 py-2 bg-red-100 w-full border-round-xl\">Faltan campos por llenar.</span>\n <button type=\"submit\" [class]=\"isEditCod ? 'ml-auto yellow-300 p-button-sm' : 'ml-auto p-button-sm'\" (click)=\"sendForm()\" pButton label=\"Siguiente\" icon=\"pi pi-arrow-right\"></button>\n</div>\n", styles: [".yellow-300{background-color:var(--yellow-500)!important;color:#fff}\n"], dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: LoaderComponent, selector: "ipt-loader", inputs: ["message", "isDialog"] }, { kind: "component", type: SelectComponent, selector: "ipt-select", inputs: ["isRequired", "data", "defaultText", "selectCode", "disabledSel", "initialValue", "label", "control"], outputs: ["eventSelect"] }, { kind: "directive", type: i1$1.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i1$1.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i1$1.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i6$1.ButtonDirective, selector: "[pButton]", inputs: ["iconPos", "loadingIcon", "label", "icon", "loading"] }] });
4802
+ CodFormStepOneComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.0.7", type: CodFormStepOneComponent, selector: "app-cod-form-step-one", inputs: { initialData: "initialData", dataPreviusCodData: "dataPreviusCodData", isEditCod: "isEditCod", courseSelectRenovation: "courseSelectRenovation", isRenovation: "isRenovation", parametersAll: "parametersAll" }, outputs: { changeStepEvent: "changeStepEvent" }, usesInheritance: true, usesOnChanges: true, ngImport: i0, template: "<form [formGroup]=\"codFormStepOne\" class=\"grid\">\n <div class=\"col\">\n <ipt-select\n [initialValue]=\"codFormStepOne.controls['academic_plan'].value\"\n [selectCode]=\"codFormStepOne.controls['academic_plan'].value === null? 'Plan': codFormStepOne.controls['academic_plan'].value\"\n [defaultText]=\"'Plan'\"\n [isRequired]=\"true\"\n (eventSelect)=\"selectAcademicPlan($event)\"\n [data]=\"plans\"\n [control]=\"codFormStepOne.controls['academic_plan']\"\n [disabledSel]=\"isDisabledSel\"\n ></ipt-select>\n <ipt-select\n [initialValue]=\"codFormStepOne.controls['course_type'].value\"\n [selectCode]=\"codFormStepOne.controls['course_type'].value === null? 'Tipo de plan': codFormStepOne.controls['course_type'].value\"\n [defaultText]=\"'Tipo de plan'\"\n [isRequired]=\"true\"\n (eventSelect)=\"selectCoursesTypesByPlan($event)\"\n [data]=\"course_type\"\n [control]=\"codFormStepOne.controls['course_type']\"\n [disabledSel]=\"isDisabledSel\"\n ></ipt-select>\n </div>\n <div class=\"col\">\n <ipt-select\n [initialValue]=\"codFormStepOne.controls['agreement_by_category'].value\"\n [selectCode]=\"codFormStepOne.controls['agreement_by_category'].value === null? 'Convenio por categoria': codFormStepOne.controls['agreement_by_category'].value\"\n [defaultText]=\"'Convenio por categoria'\"\n [isRequired]=\"true\"\n (eventSelect)=\"selectAgreementByCategory($event)\"\n [data]=\"agreements\"\n [control]=\"codFormStepOne.controls['agreement_by_category']\"\n [disabledSel]=\"isDisabledSel\"\n ></ipt-select>\n <ipt-select\n [initialValue]=\"codFormStepOne.controls['english_level'].value\"\n [selectCode]=\"codFormStepOne.controls['english_level'].value === null? 'Nivel de ingl\u00E9s': codFormStepOne.controls['english_level'].value\"\n [defaultText]=\"'Nivel de ingl\u00E9s'\"\n [isRequired]=\"true\"\n (eventSelect)=\"selectLevel($event)\"\n [data]=\"levels\"\n [control]=\"codFormStepOne.controls['english_level']\"\n [disabledSel]=\"isDisabledSel\"\n ></ipt-select>\n </div>\n <div class=\"col-12\">\n <ipt-select\n [initialValue]=\"codFormStepOne.controls['availible_courses'].value\"\n [selectCode]=\"codFormStepOne.controls['availible_courses'].value === null? 'Grupos disponibles': codFormStepOne.controls['availible_courses'].value\"\n [defaultText]=\"'Grupos disponibles'\"\n [isRequired]=\"true\"\n (eventSelect)=\"selectAvailibleCourses($event)\"\n [data]=\"availibleCourses\"\n [control]=\"codFormStepOne.controls['availible_courses']\"\n [disabledSel]=\"isDisabledSel\"\n ></ipt-select>\n <ipt-loader *ngIf=\"isLoading\" class=\"w-1\">\n </ipt-loader>\n </div>\n <span *ngIf=\"!hasAvailableCourse\" class=\"mt-1 pl-2 text-red-500\">Todav\u00EDa no hay cursos con estas caracter\u00EDsticas.</span>\n</form>\n\n<div class=\"flex mt-2 align-items-center gap-3\">\n <span *ngIf=\"codFormStepOne.invalid && codFormStepOne.touched\" class=\"text-red-500 font-bold text-center mt-1 py-2 bg-red-100 w-full border-round-xl\">Faltan campos por llenar.</span>\n <button type=\"submit\" [class]=\"isEditCod ? 'ml-auto yellow-300 p-button-sm' : 'ml-auto p-button-sm'\" (click)=\"sendForm()\" pButton label=\"Siguiente\" icon=\"pi pi-arrow-right\"></button>\n</div>\n", styles: [".yellow-300{background-color:var(--yellow-500)!important;color:#fff}\n"], dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: LoaderComponent, selector: "ipt-loader", inputs: ["message", "isDialog"] }, { kind: "component", type: SelectComponent, selector: "ipt-select", inputs: ["isRequired", "data", "defaultText", "selectCode", "disabledSel", "initialValue", "label", "control"], outputs: ["eventSelect"] }, { kind: "directive", type: i1$1.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i1$1.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i1$1.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i6$2.ButtonDirective, selector: "[pButton]", inputs: ["iconPos", "loadingIcon", "label", "icon", "loading"] }] });
4772
4803
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.7", ngImport: i0, type: CodFormStepOneComponent, decorators: [{
4773
4804
  type: Component,
4774
4805
  args: [{ selector: 'app-cod-form-step-one', template: "<form [formGroup]=\"codFormStepOne\" class=\"grid\">\n <div class=\"col\">\n <ipt-select\n [initialValue]=\"codFormStepOne.controls['academic_plan'].value\"\n [selectCode]=\"codFormStepOne.controls['academic_plan'].value === null? 'Plan': codFormStepOne.controls['academic_plan'].value\"\n [defaultText]=\"'Plan'\"\n [isRequired]=\"true\"\n (eventSelect)=\"selectAcademicPlan($event)\"\n [data]=\"plans\"\n [control]=\"codFormStepOne.controls['academic_plan']\"\n [disabledSel]=\"isDisabledSel\"\n ></ipt-select>\n <ipt-select\n [initialValue]=\"codFormStepOne.controls['course_type'].value\"\n [selectCode]=\"codFormStepOne.controls['course_type'].value === null? 'Tipo de plan': codFormStepOne.controls['course_type'].value\"\n [defaultText]=\"'Tipo de plan'\"\n [isRequired]=\"true\"\n (eventSelect)=\"selectCoursesTypesByPlan($event)\"\n [data]=\"course_type\"\n [control]=\"codFormStepOne.controls['course_type']\"\n [disabledSel]=\"isDisabledSel\"\n ></ipt-select>\n </div>\n <div class=\"col\">\n <ipt-select\n [initialValue]=\"codFormStepOne.controls['agreement_by_category'].value\"\n [selectCode]=\"codFormStepOne.controls['agreement_by_category'].value === null? 'Convenio por categoria': codFormStepOne.controls['agreement_by_category'].value\"\n [defaultText]=\"'Convenio por categoria'\"\n [isRequired]=\"true\"\n (eventSelect)=\"selectAgreementByCategory($event)\"\n [data]=\"agreements\"\n [control]=\"codFormStepOne.controls['agreement_by_category']\"\n [disabledSel]=\"isDisabledSel\"\n ></ipt-select>\n <ipt-select\n [initialValue]=\"codFormStepOne.controls['english_level'].value\"\n [selectCode]=\"codFormStepOne.controls['english_level'].value === null? 'Nivel de ingl\u00E9s': codFormStepOne.controls['english_level'].value\"\n [defaultText]=\"'Nivel de ingl\u00E9s'\"\n [isRequired]=\"true\"\n (eventSelect)=\"selectLevel($event)\"\n [data]=\"levels\"\n [control]=\"codFormStepOne.controls['english_level']\"\n [disabledSel]=\"isDisabledSel\"\n ></ipt-select>\n </div>\n <div class=\"col-12\">\n <ipt-select\n [initialValue]=\"codFormStepOne.controls['availible_courses'].value\"\n [selectCode]=\"codFormStepOne.controls['availible_courses'].value === null? 'Grupos disponibles': codFormStepOne.controls['availible_courses'].value\"\n [defaultText]=\"'Grupos disponibles'\"\n [isRequired]=\"true\"\n (eventSelect)=\"selectAvailibleCourses($event)\"\n [data]=\"availibleCourses\"\n [control]=\"codFormStepOne.controls['availible_courses']\"\n [disabledSel]=\"isDisabledSel\"\n ></ipt-select>\n <ipt-loader *ngIf=\"isLoading\" class=\"w-1\">\n </ipt-loader>\n </div>\n <span *ngIf=\"!hasAvailableCourse\" class=\"mt-1 pl-2 text-red-500\">Todav\u00EDa no hay cursos con estas caracter\u00EDsticas.</span>\n</form>\n\n<div class=\"flex mt-2 align-items-center gap-3\">\n <span *ngIf=\"codFormStepOne.invalid && codFormStepOne.touched\" class=\"text-red-500 font-bold text-center mt-1 py-2 bg-red-100 w-full border-round-xl\">Faltan campos por llenar.</span>\n <button type=\"submit\" [class]=\"isEditCod ? 'ml-auto yellow-300 p-button-sm' : 'ml-auto p-button-sm'\" (click)=\"sendForm()\" pButton label=\"Siguiente\" icon=\"pi pi-arrow-right\"></button>\n</div>\n", styles: [".yellow-300{background-color:var(--yellow-500)!important;color:#fff}\n"] }]
@@ -5086,7 +5117,7 @@ class CodFormStepTwoComponent extends CodFormSteps {
5086
5117
  }
5087
5118
  }
5088
5119
  CodFormStepTwoComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.7", ngImport: i0, type: CodFormStepTwoComponent, deps: [{ token: i1$1.FormBuilder }], target: i0.ɵɵFactoryTarget.Component });
5089
- CodFormStepTwoComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.0.7", type: CodFormStepTwoComponent, selector: "app-cod-form-step-two", inputs: { initialData: "initialData", isEditCod: "isEditCod", parametersAll: "parametersAll" }, outputs: { changeStepEvent: "changeStepEvent" }, usesInheritance: true, usesOnChanges: true, ngImport: i0, template: "<form autocomplete=\"off\" [formGroup]=\"codFormStepTwo\" class=\"grid\">\n\n <div class=\"col\">\n <ipt-input\n [inputType]=\"'text'\"\n [placeHolder]=\"'Nombres'\"\n [control]=\"codFormStepTwo.controls['student_name']\"\n ></ipt-input>\n <ipt-select\n [initialValue]=\"codFormStepTwo.controls['student_id_card_type'].value\"\n [control]=\"codFormStepTwo.controls['student_id_card_type']\"\n [selectCode]=\"codFormStepTwo.controls['student_id_card_type'].value === null ? 'Tipo de documento' : codFormStepTwo.controls['student_id_card_type'].value\"\n [isRequired]=\"true\"\n [data]=\"idTypes\"\n (eventSelect)=\"selectIdType($event)\"\n [defaultText]=\"'Tipo de documento'\"\n ></ipt-select>\n <ipt-select\n [initialValue]=\"codFormStepTwo.controls['country'].value\"\n [control]=\"codFormStepTwo.controls['country']\"\n [selectCode]=\"codFormStepTwo.controls['country'].value === null ? 'Pa\u00EDs de residencia' : codFormStepTwo.controls['country'].value\"\n (eventSelect)=\"selectCountry($event)\"\n [data]=\"countries\"\n [defaultText]=\"'Pa\u00EDs de residencia'\"\n ></ipt-select>\n <ipt-select\n [initialValue]=\"codFormStepTwo.controls['city'].value\"\n [control]=\"codFormStepTwo.controls['city']\"\n [selectCode]=\"codFormStepTwo.controls['city'].value === null ? 'Ciudad de residencia' : codFormStepTwo.controls['city'].value\"\n (eventSelect)=\"selectCity($event)\"\n [data]=\"cities\"\n [defaultText]=\"'Ciudad de residencia'\"\n ></ipt-select>\n <ipt-input\n onfocus=\"(this.type='date')\"\n [inputType]=\"'date'\"\n [control]=\"codFormStepTwo.controls['birthdate']\"\n [placeHolder]=\"'Fecha de nacimiento'\"\n ></ipt-input>\n <ipt-select\n [initialValue]=\"codFormStepTwo.controls['gender'].value\"\n [control]=\"codFormStepTwo.controls['gender']\"\n [data]=\"genders\"\n (eventSelect)=\"selectGender($event)\"\n [defaultText]=\"'G\u00E9nero'\"\n ></ipt-select>\n <ipt-select\n [initialValue]=\"codFormStepTwo.controls['stratum'].value\"\n [control]=\"codFormStepTwo.controls['stratum']\"\n [data]=\"stratums\"\n (eventSelect)=\"selectStratum($event)\"\n [defaultText]=\"'Estrato'\"\n ></ipt-select>\n <ipt-input\n [inputType]=\"'text'\"\n [placeHolder]=\"'Grado'\"\n [control]=\"codFormStepTwo.controls['grade']\"\n ></ipt-input>\n <ipt-select\n [initialValue]=\"codFormStepTwo.controls['student_phone_indicative'].value\"\n [control]=\"codFormStepTwo.controls['student_phone_indicative']\"\n [data]=\"indicatives\"\n (eventSelect)=\"selectIndicatives($event)\"\n [defaultText]=\"'Indicativo'\"\n ></ipt-select>\n <ipt-input\n [inputType]=\"'email'\"\n [placeHolder]=\"'Correo electr\u00F3nico'\"\n [control]=\"codFormStepTwo.controls['student_email']\"\n ></ipt-input>\n <ipt-input\n [inputType]=\"'password'\"\n [placeHolder]=\"'Repetir contrase\u00F1a'\"\n [control]=\"codFormStepTwo.controls['re_password']\"\n ></ipt-input>\n </div>\n\n <div class=\"col\">\n <ipt-input\n [inputType]=\"'text'\"\n [placeHolder]=\"'Apellidos'\"\n [control]=\"codFormStepTwo.controls['student_last_name']\"\n ></ipt-input>\n <ipt-input\n [inputType]=\"'text'\"\n [placeHolder]=\"'N\u00FAmero de documento'\"\n [control]=\"codFormStepTwo.controls['student_id_card']\"\n ></ipt-input>\n <ipt-select\n [initialValue]=\"codFormStepTwo.controls['state'].value\"\n [control]=\"codFormStepTwo.controls['state']\"\n [selectCode]=\"codFormStepTwo.controls['state'].value === null ? 'Departamento o estado' : codFormStepTwo.controls['state'].value\"\n [isRequired]=\"true\"\n (eventSelect)=\"selectState($event)\"\n [data]=\"states\"\n [defaultText]=\"'Departamento o estado'\"\n ></ipt-select>\n <ipt-input\n [inputType]=\"'text'\"\n [placeHolder]=\"'Direcci\u00F3n'\"\n [control]=\"codFormStepTwo.controls['student_address']\"\n ></ipt-input>\n <ipt-input\n [inputType]=\"'number'\"\n [placeHolder]=\"'Edad'\"\n [control]=\"codFormStepTwo.controls['age']\"\n ></ipt-input>\n <ipt-input\n [inputType]=\"'text'\"\n [placeHolder]=\"'Nickname'\"\n [control]=\"codFormStepTwo.controls['nickname']\"\n ></ipt-input>\n <ipt-input\n [inputType]=\"'text'\"\n [placeHolder]=\"'Ocupaci\u00F3n'\"\n [control]=\"codFormStepTwo.controls['student_occupation']\"\n ></ipt-input>\n <ipt-select\n [initialValue]=\"codFormStepTwo.controls['civil_status'].value\"\n [control]=\"codFormStepTwo.controls['civil_status']\"\n [data]=\"civilStatus\"\n (eventSelect)=\"selectCivilStatus($event)\"\n [defaultText]=\"'Estado civil'\"\n ></ipt-select>\n <ipt-input\n [inputType]=\"'number'\"\n [placeHolder]=\"'N\u00FAmero de tel\u00E9fono'\"\n [control]=\"codFormStepTwo.controls['student_phone_number']\"\n ></ipt-input>\n <ipt-input\n [inputType]=\"'password'\"\n [placeHolder]=\"'Contrase\u00F1a'\"\n [control]=\"codFormStepTwo.controls['password']\"\n ></ipt-input>\n </div>\n\n <div class=\"col-12\"></div>\n\n</form>\n\n<div class=\"flex mt-3 align-items-center gap-3\">\n <span *ngIf=\"codFormStepTwo.invalid && codFormStepTwo.touched\" class=\"text-red-500 font-bold text-center mt-1 py-2 bg-red-100 w-full border-round-xl\">{{ errorMessage }}</span>\n <button type=\"submit\" [class]=\"isEditCod ? 'ml-auto yellow-300 p-button-sm' : 'ml-auto p-button-sm'\" (click)=\"sendForm()\" pButton label=\"Siguiente\" icon=\"pi pi-arrow-right\"></button>\n</div>\n", styles: [".yellow-300{background-color:var(--yellow-500)!important;color:#fff}\n"], dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: InputComponent, selector: "ipt-input", inputs: ["inputType", "placeHolder", "validateText", "withPipe", "list", "iconUrl", "control", "prefix", "thousands", "decimal", "disabledSel"], outputs: ["dateSelected"] }, { kind: "component", type: SelectComponent, selector: "ipt-select", inputs: ["isRequired", "data", "defaultText", "selectCode", "disabledSel", "initialValue", "label", "control"], outputs: ["eventSelect"] }, { kind: "directive", type: i1$1.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i1$1.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i1$1.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i6$1.ButtonDirective, selector: "[pButton]", inputs: ["iconPos", "loadingIcon", "label", "icon", "loading"] }] });
5120
+ CodFormStepTwoComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.0.7", type: CodFormStepTwoComponent, selector: "app-cod-form-step-two", inputs: { initialData: "initialData", isEditCod: "isEditCod", parametersAll: "parametersAll" }, outputs: { changeStepEvent: "changeStepEvent" }, usesInheritance: true, usesOnChanges: true, ngImport: i0, template: "<form autocomplete=\"off\" [formGroup]=\"codFormStepTwo\" class=\"grid\">\n\n <div class=\"col\">\n <ipt-input\n [inputType]=\"'text'\"\n [placeHolder]=\"'Nombres'\"\n [control]=\"codFormStepTwo.controls['student_name']\"\n ></ipt-input>\n <ipt-select\n [initialValue]=\"codFormStepTwo.controls['student_id_card_type'].value\"\n [control]=\"codFormStepTwo.controls['student_id_card_type']\"\n [selectCode]=\"codFormStepTwo.controls['student_id_card_type'].value === null ? 'Tipo de documento' : codFormStepTwo.controls['student_id_card_type'].value\"\n [isRequired]=\"true\"\n [data]=\"idTypes\"\n (eventSelect)=\"selectIdType($event)\"\n [defaultText]=\"'Tipo de documento'\"\n ></ipt-select>\n <ipt-select\n [initialValue]=\"codFormStepTwo.controls['country'].value\"\n [control]=\"codFormStepTwo.controls['country']\"\n [selectCode]=\"codFormStepTwo.controls['country'].value === null ? 'Pa\u00EDs de residencia' : codFormStepTwo.controls['country'].value\"\n (eventSelect)=\"selectCountry($event)\"\n [data]=\"countries\"\n [defaultText]=\"'Pa\u00EDs de residencia'\"\n ></ipt-select>\n <ipt-select\n [initialValue]=\"codFormStepTwo.controls['city'].value\"\n [control]=\"codFormStepTwo.controls['city']\"\n [selectCode]=\"codFormStepTwo.controls['city'].value === null ? 'Ciudad de residencia' : codFormStepTwo.controls['city'].value\"\n (eventSelect)=\"selectCity($event)\"\n [data]=\"cities\"\n [defaultText]=\"'Ciudad de residencia'\"\n ></ipt-select>\n <ipt-input\n onfocus=\"(this.type='date')\"\n [inputType]=\"'date'\"\n [control]=\"codFormStepTwo.controls['birthdate']\"\n [placeHolder]=\"'Fecha de nacimiento'\"\n ></ipt-input>\n <ipt-select\n [initialValue]=\"codFormStepTwo.controls['gender'].value\"\n [control]=\"codFormStepTwo.controls['gender']\"\n [data]=\"genders\"\n (eventSelect)=\"selectGender($event)\"\n [defaultText]=\"'G\u00E9nero'\"\n ></ipt-select>\n <ipt-select\n [initialValue]=\"codFormStepTwo.controls['stratum'].value\"\n [control]=\"codFormStepTwo.controls['stratum']\"\n [data]=\"stratums\"\n (eventSelect)=\"selectStratum($event)\"\n [defaultText]=\"'Estrato'\"\n ></ipt-select>\n <ipt-input\n [inputType]=\"'text'\"\n [placeHolder]=\"'Grado'\"\n [control]=\"codFormStepTwo.controls['grade']\"\n ></ipt-input>\n <ipt-select\n [initialValue]=\"codFormStepTwo.controls['student_phone_indicative'].value\"\n [control]=\"codFormStepTwo.controls['student_phone_indicative']\"\n [data]=\"indicatives\"\n (eventSelect)=\"selectIndicatives($event)\"\n [defaultText]=\"'Indicativo'\"\n ></ipt-select>\n <ipt-input\n [inputType]=\"'email'\"\n [placeHolder]=\"'Correo electr\u00F3nico'\"\n [control]=\"codFormStepTwo.controls['student_email']\"\n ></ipt-input>\n <ipt-input\n [inputType]=\"'password'\"\n [placeHolder]=\"'Repetir contrase\u00F1a'\"\n [control]=\"codFormStepTwo.controls['re_password']\"\n ></ipt-input>\n </div>\n\n <div class=\"col\">\n <ipt-input\n [inputType]=\"'text'\"\n [placeHolder]=\"'Apellidos'\"\n [control]=\"codFormStepTwo.controls['student_last_name']\"\n ></ipt-input>\n <ipt-input\n [inputType]=\"'text'\"\n [placeHolder]=\"'N\u00FAmero de documento'\"\n [control]=\"codFormStepTwo.controls['student_id_card']\"\n ></ipt-input>\n <ipt-select\n [initialValue]=\"codFormStepTwo.controls['state'].value\"\n [control]=\"codFormStepTwo.controls['state']\"\n [selectCode]=\"codFormStepTwo.controls['state'].value === null ? 'Departamento o estado' : codFormStepTwo.controls['state'].value\"\n [isRequired]=\"true\"\n (eventSelect)=\"selectState($event)\"\n [data]=\"states\"\n [defaultText]=\"'Departamento o estado'\"\n ></ipt-select>\n <ipt-input\n [inputType]=\"'text'\"\n [placeHolder]=\"'Direcci\u00F3n'\"\n [control]=\"codFormStepTwo.controls['student_address']\"\n ></ipt-input>\n <ipt-input\n [inputType]=\"'number'\"\n [placeHolder]=\"'Edad'\"\n [control]=\"codFormStepTwo.controls['age']\"\n ></ipt-input>\n <ipt-input\n [inputType]=\"'text'\"\n [placeHolder]=\"'Nickname'\"\n [control]=\"codFormStepTwo.controls['nickname']\"\n ></ipt-input>\n <ipt-input\n [inputType]=\"'text'\"\n [placeHolder]=\"'Ocupaci\u00F3n'\"\n [control]=\"codFormStepTwo.controls['student_occupation']\"\n ></ipt-input>\n <ipt-select\n [initialValue]=\"codFormStepTwo.controls['civil_status'].value\"\n [control]=\"codFormStepTwo.controls['civil_status']\"\n [data]=\"civilStatus\"\n (eventSelect)=\"selectCivilStatus($event)\"\n [defaultText]=\"'Estado civil'\"\n ></ipt-select>\n <ipt-input\n [inputType]=\"'number'\"\n [placeHolder]=\"'N\u00FAmero de tel\u00E9fono'\"\n [control]=\"codFormStepTwo.controls['student_phone_number']\"\n ></ipt-input>\n <ipt-input\n [inputType]=\"'password'\"\n [placeHolder]=\"'Contrase\u00F1a'\"\n [control]=\"codFormStepTwo.controls['password']\"\n ></ipt-input>\n </div>\n\n <div class=\"col-12\"></div>\n\n</form>\n\n<div class=\"flex mt-3 align-items-center gap-3\">\n <span *ngIf=\"codFormStepTwo.invalid && codFormStepTwo.touched\" class=\"text-red-500 font-bold text-center mt-1 py-2 bg-red-100 w-full border-round-xl\">{{ errorMessage }}</span>\n <button type=\"submit\" [class]=\"isEditCod ? 'ml-auto yellow-300 p-button-sm' : 'ml-auto p-button-sm'\" (click)=\"sendForm()\" pButton label=\"Siguiente\" icon=\"pi pi-arrow-right\"></button>\n</div>\n", styles: [".yellow-300{background-color:var(--yellow-500)!important;color:#fff}\n"], dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: InputComponent, selector: "ipt-input", inputs: ["inputType", "placeHolder", "validateText", "withPipe", "list", "iconUrl", "control", "prefix", "thousands", "decimal", "disabledSel"], outputs: ["dateSelected"] }, { kind: "component", type: SelectComponent, selector: "ipt-select", inputs: ["isRequired", "data", "defaultText", "selectCode", "disabledSel", "initialValue", "label", "control"], outputs: ["eventSelect"] }, { kind: "directive", type: i1$1.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i1$1.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i1$1.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i6$2.ButtonDirective, selector: "[pButton]", inputs: ["iconPos", "loadingIcon", "label", "icon", "loading"] }] });
5090
5121
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.7", ngImport: i0, type: CodFormStepTwoComponent, decorators: [{
5091
5122
  type: Component,
5092
5123
  args: [{ selector: 'app-cod-form-step-two', template: "<form autocomplete=\"off\" [formGroup]=\"codFormStepTwo\" class=\"grid\">\n\n <div class=\"col\">\n <ipt-input\n [inputType]=\"'text'\"\n [placeHolder]=\"'Nombres'\"\n [control]=\"codFormStepTwo.controls['student_name']\"\n ></ipt-input>\n <ipt-select\n [initialValue]=\"codFormStepTwo.controls['student_id_card_type'].value\"\n [control]=\"codFormStepTwo.controls['student_id_card_type']\"\n [selectCode]=\"codFormStepTwo.controls['student_id_card_type'].value === null ? 'Tipo de documento' : codFormStepTwo.controls['student_id_card_type'].value\"\n [isRequired]=\"true\"\n [data]=\"idTypes\"\n (eventSelect)=\"selectIdType($event)\"\n [defaultText]=\"'Tipo de documento'\"\n ></ipt-select>\n <ipt-select\n [initialValue]=\"codFormStepTwo.controls['country'].value\"\n [control]=\"codFormStepTwo.controls['country']\"\n [selectCode]=\"codFormStepTwo.controls['country'].value === null ? 'Pa\u00EDs de residencia' : codFormStepTwo.controls['country'].value\"\n (eventSelect)=\"selectCountry($event)\"\n [data]=\"countries\"\n [defaultText]=\"'Pa\u00EDs de residencia'\"\n ></ipt-select>\n <ipt-select\n [initialValue]=\"codFormStepTwo.controls['city'].value\"\n [control]=\"codFormStepTwo.controls['city']\"\n [selectCode]=\"codFormStepTwo.controls['city'].value === null ? 'Ciudad de residencia' : codFormStepTwo.controls['city'].value\"\n (eventSelect)=\"selectCity($event)\"\n [data]=\"cities\"\n [defaultText]=\"'Ciudad de residencia'\"\n ></ipt-select>\n <ipt-input\n onfocus=\"(this.type='date')\"\n [inputType]=\"'date'\"\n [control]=\"codFormStepTwo.controls['birthdate']\"\n [placeHolder]=\"'Fecha de nacimiento'\"\n ></ipt-input>\n <ipt-select\n [initialValue]=\"codFormStepTwo.controls['gender'].value\"\n [control]=\"codFormStepTwo.controls['gender']\"\n [data]=\"genders\"\n (eventSelect)=\"selectGender($event)\"\n [defaultText]=\"'G\u00E9nero'\"\n ></ipt-select>\n <ipt-select\n [initialValue]=\"codFormStepTwo.controls['stratum'].value\"\n [control]=\"codFormStepTwo.controls['stratum']\"\n [data]=\"stratums\"\n (eventSelect)=\"selectStratum($event)\"\n [defaultText]=\"'Estrato'\"\n ></ipt-select>\n <ipt-input\n [inputType]=\"'text'\"\n [placeHolder]=\"'Grado'\"\n [control]=\"codFormStepTwo.controls['grade']\"\n ></ipt-input>\n <ipt-select\n [initialValue]=\"codFormStepTwo.controls['student_phone_indicative'].value\"\n [control]=\"codFormStepTwo.controls['student_phone_indicative']\"\n [data]=\"indicatives\"\n (eventSelect)=\"selectIndicatives($event)\"\n [defaultText]=\"'Indicativo'\"\n ></ipt-select>\n <ipt-input\n [inputType]=\"'email'\"\n [placeHolder]=\"'Correo electr\u00F3nico'\"\n [control]=\"codFormStepTwo.controls['student_email']\"\n ></ipt-input>\n <ipt-input\n [inputType]=\"'password'\"\n [placeHolder]=\"'Repetir contrase\u00F1a'\"\n [control]=\"codFormStepTwo.controls['re_password']\"\n ></ipt-input>\n </div>\n\n <div class=\"col\">\n <ipt-input\n [inputType]=\"'text'\"\n [placeHolder]=\"'Apellidos'\"\n [control]=\"codFormStepTwo.controls['student_last_name']\"\n ></ipt-input>\n <ipt-input\n [inputType]=\"'text'\"\n [placeHolder]=\"'N\u00FAmero de documento'\"\n [control]=\"codFormStepTwo.controls['student_id_card']\"\n ></ipt-input>\n <ipt-select\n [initialValue]=\"codFormStepTwo.controls['state'].value\"\n [control]=\"codFormStepTwo.controls['state']\"\n [selectCode]=\"codFormStepTwo.controls['state'].value === null ? 'Departamento o estado' : codFormStepTwo.controls['state'].value\"\n [isRequired]=\"true\"\n (eventSelect)=\"selectState($event)\"\n [data]=\"states\"\n [defaultText]=\"'Departamento o estado'\"\n ></ipt-select>\n <ipt-input\n [inputType]=\"'text'\"\n [placeHolder]=\"'Direcci\u00F3n'\"\n [control]=\"codFormStepTwo.controls['student_address']\"\n ></ipt-input>\n <ipt-input\n [inputType]=\"'number'\"\n [placeHolder]=\"'Edad'\"\n [control]=\"codFormStepTwo.controls['age']\"\n ></ipt-input>\n <ipt-input\n [inputType]=\"'text'\"\n [placeHolder]=\"'Nickname'\"\n [control]=\"codFormStepTwo.controls['nickname']\"\n ></ipt-input>\n <ipt-input\n [inputType]=\"'text'\"\n [placeHolder]=\"'Ocupaci\u00F3n'\"\n [control]=\"codFormStepTwo.controls['student_occupation']\"\n ></ipt-input>\n <ipt-select\n [initialValue]=\"codFormStepTwo.controls['civil_status'].value\"\n [control]=\"codFormStepTwo.controls['civil_status']\"\n [data]=\"civilStatus\"\n (eventSelect)=\"selectCivilStatus($event)\"\n [defaultText]=\"'Estado civil'\"\n ></ipt-select>\n <ipt-input\n [inputType]=\"'number'\"\n [placeHolder]=\"'N\u00FAmero de tel\u00E9fono'\"\n [control]=\"codFormStepTwo.controls['student_phone_number']\"\n ></ipt-input>\n <ipt-input\n [inputType]=\"'password'\"\n [placeHolder]=\"'Contrase\u00F1a'\"\n [control]=\"codFormStepTwo.controls['password']\"\n ></ipt-input>\n </div>\n\n <div class=\"col-12\"></div>\n\n</form>\n\n<div class=\"flex mt-3 align-items-center gap-3\">\n <span *ngIf=\"codFormStepTwo.invalid && codFormStepTwo.touched\" class=\"text-red-500 font-bold text-center mt-1 py-2 bg-red-100 w-full border-round-xl\">{{ errorMessage }}</span>\n <button type=\"submit\" [class]=\"isEditCod ? 'ml-auto yellow-300 p-button-sm' : 'ml-auto p-button-sm'\" (click)=\"sendForm()\" pButton label=\"Siguiente\" icon=\"pi pi-arrow-right\"></button>\n</div>\n", styles: [".yellow-300{background-color:var(--yellow-500)!important;color:#fff}\n"] }]
@@ -5300,7 +5331,7 @@ class CodFormStepThreeComponent extends CodFormSteps {
5300
5331
  }
5301
5332
  }
5302
5333
  CodFormStepThreeComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.7", ngImport: i0, type: CodFormStepThreeComponent, deps: [{ token: i1$1.FormBuilder }, { token: CodFormControls }], target: i0.ɵɵFactoryTarget.Component });
5303
- CodFormStepThreeComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.0.7", type: CodFormStepThreeComponent, selector: "app-cod-form-step-three", inputs: { initialData: "initialData", isEditCod: "isEditCod", parametersAll: "parametersAll" }, outputs: { changeStepEvent: "changeStepEvent" }, usesInheritance: true, usesOnChanges: true, ngImport: i0, template: "<form autocomplete=\"off\" [formGroup]=\"codFormStepThree\"class=\"grid\">\n <div class=\"col-12\">\n <ipt-select\n [initialValue]=\"codFormStepThree.controls['needAtendant'].value\"\n [control]=\"codFormStepThree.controls['needAtendant']\"\n (eventSelect)=\"selectNeedAtendant($event)\"\n [data]=\"needAtendants\"\n [defaultText]=\"'Requiere acudiente'\"\n ></ipt-select>\n </div>\n\n <div *ngIf=\"needAtendant()\" class=\"grid col-12\">\n <div class=\"col-12 md:col-6\">\n <ipt-input\n [inputType]=\"'text'\"\n [placeHolder]=\"'Nombres'\"\n [control]=\"codFormStepThree.controls['parent_name']\"\n ></ipt-input>\n <ipt-select\n [initialValue]=\"codFormStepThree.controls['parent_id_card_type'].value\"\n [data]=\"idTypes\"\n (eventSelect)=\"selectIdTypeParents($event)\"\n [defaultText]=\"'Tipo de documento'\"\n [control]=\"codFormStepThree.controls['parent_id_card_type']\"\n ></ipt-select>\n <ipt-select\n [initialValue]=\"codFormStepThree.controls['parent_phone_indicative'].value\"\n [data]=\"indicatives\"\n (eventSelect)=\"selectIndicativesParents($event)\"\n [defaultText]=\"'Indicativo'\"\n [control]=\"codFormStepThree.controls['parent_phone_indicative']\"\n ></ipt-select>\n <ipt-input\n [inputType]=\"'text'\"\n [placeHolder]=\"'Ocupaci\u00F3n'\"\n [control]=\"codFormStepThree.controls['parent_occupation']\"\n ></ipt-input>\n </div>\n <div class=\"col-12 md:col-6\">\n <ipt-input\n [inputType]=\"'text'\"\n [placeHolder]=\"'Apellidos'\"\n [control]=\"codFormStepThree.controls['parent_last_name']\"\n ></ipt-input>\n <ipt-input\n [inputType]=\"'number'\"\n [placeHolder]=\"'N\u00FAmero de documento'\"\n [control]=\"codFormStepThree.controls['parent_id_card']\"\n ></ipt-input>\n <ipt-input\n [inputType]=\"'number'\"\n [placeHolder]=\"'N\u00FAmero de tel\u00E9fono'\"\n [control]=\"codFormStepThree.controls['parent_phone_number']\"\n ></ipt-input>\n <ipt-input\n [inputType]=\"'text'\"\n [placeHolder]=\"'Direcci\u00F3n - Oficina'\"\n [control]=\"codFormStepThree.controls['parent_address']\"\n ></ipt-input>\n </div>\n </div>\n</form>\n\n<div class=\"flex mt-3 align-items-center gap-3\">\n <span *ngIf=\"(codFormStepThree.invalid && codFormStepThree.touched) && needAtendant()\" class=\"text-red-500 font-bold text-center mt-1 py-2 bg-red-100 w-full border-round-xl\">{{ errorMessage }}</span>\n <button type=\"submit\" [class]=\"isEditCod ? 'ml-auto yellow-300 p-button-sm' : 'ml-auto p-button-sm'\" (click)=\"sendForm()\" pButton label=\"Siguiente\" icon=\"pi pi-arrow-right\"></button>\n</div>\n", styles: [".yellow-300{background-color:var(--yellow-500)!important;color:#fff}\n"], dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: InputComponent, selector: "ipt-input", inputs: ["inputType", "placeHolder", "validateText", "withPipe", "list", "iconUrl", "control", "prefix", "thousands", "decimal", "disabledSel"], outputs: ["dateSelected"] }, { kind: "component", type: SelectComponent, selector: "ipt-select", inputs: ["isRequired", "data", "defaultText", "selectCode", "disabledSel", "initialValue", "label", "control"], outputs: ["eventSelect"] }, { kind: "directive", type: i1$1.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i1$1.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i1$1.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i6$1.ButtonDirective, selector: "[pButton]", inputs: ["iconPos", "loadingIcon", "label", "icon", "loading"] }] });
5334
+ CodFormStepThreeComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.0.7", type: CodFormStepThreeComponent, selector: "app-cod-form-step-three", inputs: { initialData: "initialData", isEditCod: "isEditCod", parametersAll: "parametersAll" }, outputs: { changeStepEvent: "changeStepEvent" }, usesInheritance: true, usesOnChanges: true, ngImport: i0, template: "<form autocomplete=\"off\" [formGroup]=\"codFormStepThree\"class=\"grid\">\n <div class=\"col-12\">\n <ipt-select\n [initialValue]=\"codFormStepThree.controls['needAtendant'].value\"\n [control]=\"codFormStepThree.controls['needAtendant']\"\n (eventSelect)=\"selectNeedAtendant($event)\"\n [data]=\"needAtendants\"\n [defaultText]=\"'Requiere acudiente'\"\n ></ipt-select>\n </div>\n\n <div *ngIf=\"needAtendant()\" class=\"grid col-12\">\n <div class=\"col-12 md:col-6\">\n <ipt-input\n [inputType]=\"'text'\"\n [placeHolder]=\"'Nombres'\"\n [control]=\"codFormStepThree.controls['parent_name']\"\n ></ipt-input>\n <ipt-select\n [initialValue]=\"codFormStepThree.controls['parent_id_card_type'].value\"\n [data]=\"idTypes\"\n (eventSelect)=\"selectIdTypeParents($event)\"\n [defaultText]=\"'Tipo de documento'\"\n [control]=\"codFormStepThree.controls['parent_id_card_type']\"\n ></ipt-select>\n <ipt-select\n [initialValue]=\"codFormStepThree.controls['parent_phone_indicative'].value\"\n [data]=\"indicatives\"\n (eventSelect)=\"selectIndicativesParents($event)\"\n [defaultText]=\"'Indicativo'\"\n [control]=\"codFormStepThree.controls['parent_phone_indicative']\"\n ></ipt-select>\n <ipt-input\n [inputType]=\"'text'\"\n [placeHolder]=\"'Ocupaci\u00F3n'\"\n [control]=\"codFormStepThree.controls['parent_occupation']\"\n ></ipt-input>\n </div>\n <div class=\"col-12 md:col-6\">\n <ipt-input\n [inputType]=\"'text'\"\n [placeHolder]=\"'Apellidos'\"\n [control]=\"codFormStepThree.controls['parent_last_name']\"\n ></ipt-input>\n <ipt-input\n [inputType]=\"'number'\"\n [placeHolder]=\"'N\u00FAmero de documento'\"\n [control]=\"codFormStepThree.controls['parent_id_card']\"\n ></ipt-input>\n <ipt-input\n [inputType]=\"'number'\"\n [placeHolder]=\"'N\u00FAmero de tel\u00E9fono'\"\n [control]=\"codFormStepThree.controls['parent_phone_number']\"\n ></ipt-input>\n <ipt-input\n [inputType]=\"'text'\"\n [placeHolder]=\"'Direcci\u00F3n - Oficina'\"\n [control]=\"codFormStepThree.controls['parent_address']\"\n ></ipt-input>\n </div>\n </div>\n</form>\n\n<div class=\"flex mt-3 align-items-center gap-3\">\n <span *ngIf=\"(codFormStepThree.invalid && codFormStepThree.touched) && needAtendant()\" class=\"text-red-500 font-bold text-center mt-1 py-2 bg-red-100 w-full border-round-xl\">{{ errorMessage }}</span>\n <button type=\"submit\" [class]=\"isEditCod ? 'ml-auto yellow-300 p-button-sm' : 'ml-auto p-button-sm'\" (click)=\"sendForm()\" pButton label=\"Siguiente\" icon=\"pi pi-arrow-right\"></button>\n</div>\n", styles: [".yellow-300{background-color:var(--yellow-500)!important;color:#fff}\n"], dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: InputComponent, selector: "ipt-input", inputs: ["inputType", "placeHolder", "validateText", "withPipe", "list", "iconUrl", "control", "prefix", "thousands", "decimal", "disabledSel"], outputs: ["dateSelected"] }, { kind: "component", type: SelectComponent, selector: "ipt-select", inputs: ["isRequired", "data", "defaultText", "selectCode", "disabledSel", "initialValue", "label", "control"], outputs: ["eventSelect"] }, { kind: "directive", type: i1$1.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i1$1.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i1$1.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i6$2.ButtonDirective, selector: "[pButton]", inputs: ["iconPos", "loadingIcon", "label", "icon", "loading"] }] });
5304
5335
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.7", ngImport: i0, type: CodFormStepThreeComponent, decorators: [{
5305
5336
  type: Component,
5306
5337
  args: [{ selector: 'app-cod-form-step-three', template: "<form autocomplete=\"off\" [formGroup]=\"codFormStepThree\"class=\"grid\">\n <div class=\"col-12\">\n <ipt-select\n [initialValue]=\"codFormStepThree.controls['needAtendant'].value\"\n [control]=\"codFormStepThree.controls['needAtendant']\"\n (eventSelect)=\"selectNeedAtendant($event)\"\n [data]=\"needAtendants\"\n [defaultText]=\"'Requiere acudiente'\"\n ></ipt-select>\n </div>\n\n <div *ngIf=\"needAtendant()\" class=\"grid col-12\">\n <div class=\"col-12 md:col-6\">\n <ipt-input\n [inputType]=\"'text'\"\n [placeHolder]=\"'Nombres'\"\n [control]=\"codFormStepThree.controls['parent_name']\"\n ></ipt-input>\n <ipt-select\n [initialValue]=\"codFormStepThree.controls['parent_id_card_type'].value\"\n [data]=\"idTypes\"\n (eventSelect)=\"selectIdTypeParents($event)\"\n [defaultText]=\"'Tipo de documento'\"\n [control]=\"codFormStepThree.controls['parent_id_card_type']\"\n ></ipt-select>\n <ipt-select\n [initialValue]=\"codFormStepThree.controls['parent_phone_indicative'].value\"\n [data]=\"indicatives\"\n (eventSelect)=\"selectIndicativesParents($event)\"\n [defaultText]=\"'Indicativo'\"\n [control]=\"codFormStepThree.controls['parent_phone_indicative']\"\n ></ipt-select>\n <ipt-input\n [inputType]=\"'text'\"\n [placeHolder]=\"'Ocupaci\u00F3n'\"\n [control]=\"codFormStepThree.controls['parent_occupation']\"\n ></ipt-input>\n </div>\n <div class=\"col-12 md:col-6\">\n <ipt-input\n [inputType]=\"'text'\"\n [placeHolder]=\"'Apellidos'\"\n [control]=\"codFormStepThree.controls['parent_last_name']\"\n ></ipt-input>\n <ipt-input\n [inputType]=\"'number'\"\n [placeHolder]=\"'N\u00FAmero de documento'\"\n [control]=\"codFormStepThree.controls['parent_id_card']\"\n ></ipt-input>\n <ipt-input\n [inputType]=\"'number'\"\n [placeHolder]=\"'N\u00FAmero de tel\u00E9fono'\"\n [control]=\"codFormStepThree.controls['parent_phone_number']\"\n ></ipt-input>\n <ipt-input\n [inputType]=\"'text'\"\n [placeHolder]=\"'Direcci\u00F3n - Oficina'\"\n [control]=\"codFormStepThree.controls['parent_address']\"\n ></ipt-input>\n </div>\n </div>\n</form>\n\n<div class=\"flex mt-3 align-items-center gap-3\">\n <span *ngIf=\"(codFormStepThree.invalid && codFormStepThree.touched) && needAtendant()\" class=\"text-red-500 font-bold text-center mt-1 py-2 bg-red-100 w-full border-round-xl\">{{ errorMessage }}</span>\n <button type=\"submit\" [class]=\"isEditCod ? 'ml-auto yellow-300 p-button-sm' : 'ml-auto p-button-sm'\" (click)=\"sendForm()\" pButton label=\"Siguiente\" icon=\"pi pi-arrow-right\"></button>\n</div>\n", styles: [".yellow-300{background-color:var(--yellow-500)!important;color:#fff}\n"] }]
@@ -5831,7 +5862,7 @@ class CodFormStepFourComponent extends CodFormSteps {
5831
5862
  }
5832
5863
  }
5833
5864
  CodFormStepFourComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.7", ngImport: i0, type: CodFormStepFourComponent, deps: [{ token: i1$1.FormBuilder }, { token: CalculateQuotesService$1 }, { token: CodFormControls }, { token: CommercialService }, { token: BaseService }], target: i0.ɵɵFactoryTarget.Component });
5834
- CodFormStepFourComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.0.7", type: CodFormStepFourComponent, selector: "app-cod-form-step-four", inputs: { isEditCod: "isEditCod", initialData: "initialData", isRenovation: "isRenovation" }, outputs: { changeStepEvent: "changeStepEvent", financingData: "financingData" }, usesInheritance: true, usesOnChanges: true, ngImport: i0, template: "<div *ngIf=\"isSemestral\" class=\"m-1 p-2 border-round-lg bg-blue-500 text-white\">\n <strong>Nota: </strong>\n El tipo de curso seleccionado fue semestral, por lo tanto el estudiante debe pagar matr\u00EDcula y primera cuota (M&M)\n</div>\n\n<form autocomplete=\"off\" [formGroup]=\"codFormStepFour\" class=\"grid mt-2\">\n\n <div class=\"col-12\">\n <ipt-select\n [initialValue]=\"codFormStepFour.controls['payment_method'].value\"\n [control]=\"codFormStepFour.controls['payment_method']\"\n (eventSelect)=\"selectPaymentMethod($event)\"\n [data]=\"paymentMethods\"\n [defaultText]=\"'M\u00E9todo de pago'\"\n [disabledSel]=\"isDisabledSel\"\n ></ipt-select>\n <ipt-loader *ngIf=\"feeResponse\"></ipt-loader>\n\n <div class=\"col-12\" *ngIf=\"thereArePlans\">\n <p-table\n [value]=\"dataPrices\"\n [tableStyle]=\"{'min-width': '100%'}\"\n [rowHover]=\"true\"\n >\n <ng-template pTemplate=\"caption\">\n <div class=\"flex align-items-center\">\n Seleccion de niveles a cancelar.\n </div>\n </ng-template>\n <ng-template pTemplate=\"header\">\n <tr>\n <th class=\"bg-blue-200 text-center font-medium pt-2 pb-2\">Cancelar</th>\n <th class=\"bg-blue-200 text-center font-medium pt-2 pb-2\">Cuotas</th>\n <th class=\"bg-blue-200 text-center font-medium pt-2 pb-2\">Admin</th>\n </tr>\n </ng-template>\n <ng-template pTemplate=\"body\" let-data>\n <tr>\n <td class=\"text-center\">{{ data.paid_level }} Nivel(es)</td>\n <td class=\"text-center\">{{ data.fee_number }}</td>\n <td class=\"pt-2 pb-2 text-center\">\n <button\n pButton\n pRipple\n icon=\"pi pi-money-bill\"\n class=\"p-button-sm p-button-rounded\"\n (click)=\"selectLevels(data)\"\n\n ></button>\n </td>\n </tr>\n </ng-template>\n </p-table>\n </div>\n\n <!-- [initialValue]=\"codFormStepFour.controls['quota_times'].value\" -->\n <!-- <ipt-select *ngIf=\"isFinanced();\"\n [initialValue]=\"'1'\"\n [control]=\"codFormStepFour.controls['quota_times']\"\n (eventSelect)=\"selectQuotas($event)\"\n [defaultText]=\"'N\u00FAmero de cuotas'\"\n [data]=\"codPrices\"\n ></ipt-select> -->\n </div>\n\n <div class=\"col-12\">\n <ipt-input\n [inputType]=\"'text'\"\n [placeHolder]=\"'Monto total de la matr\u00EDcula'\"\n [control]=\"codFormStepFour.controls['total_price']\"\n [withPipe]=\"true\"\n ></ipt-input>\n </div>\n\n <div class=\"col-12\">\n <ipt-input\n [withPipe]=\"true\"\n [inputType]=\"'text'\"\n [control]=\"codFormStepFour.controls['program_price']\"\n [placeHolder]=\"'Valor total del programa'\"\n ></ipt-input>\n </div>\n\n <div class=\"col-12\">\n <ipt-input\n onfocus=\"(this.type='date')\"\n [inputType]=\"'date'\"\n [control]=\"codFormStepFour.controls['payment_date']\"\n [placeHolder]=\"'Fecha de pago'\"\n ></ipt-input>\n </div>\n\n <!-- Tabla de financiaci\u00F3n -->\n <div *ngIf=\"isFinancing && isRenovation === false\" class=\"container_tablet\">\n <div class=\"col-12\" *ngIf=\"isFinancing\">\n <p-table\n [value]=\"dataFinancing\"\n [tableStyle]=\"{'min-width': '100%'}\"\n [rowHover]=\"true\"\n >\n <ng-template pTemplate=\"caption\">\n <div class=\"flex align-items-center\">\n C\u00E1lculo de cuotas\n <button pButton class=\"p-button-sm ml-auto\" label=\"Nuevo c\u00E1lculo\" (click)=\"calculateNewQuotes()\" [disabled]=\"isDisabledSel\" lab icon=\"pi pi-replay\"></button>\n </div>\n </ng-template>\n <ng-template pTemplate=\"header\">\n <tr>\n <th class=\"bg-blue-200 text-center font-medium pt-2 pb-2\">#</th>\n <th class=\"bg-blue-200 text-center font-medium pt-2 pb-2\">Valor</th>\n <th class=\"bg-blue-200 text-center font-medium pt-2 pb-2\">Fecha</th>\n </tr>\n </ng-template>\n <ng-template pTemplate=\"body\" let-data>\n <tr>\n <td class=\"p-0 text-center text-sm\">{{ data[0] }}</td>\n <td class=\"p-0 text-center text-sm\">{{ data[1] }}</td>\n <td class=\"p-0 text-center text-sm\">{{ data[2] }}</td>\n </tr>\n </ng-template>\n </p-table>\n </div>\n </div>\n <!-- ---------------------- -->\n\n</form>\n\n<div class=\"flex mt-3 align-items-center gap-3\">\n <span *ngIf=\"codFormStepFour.invalid && codFormStepFour.touched\" class=\"text-red-500 font-bold text-center mt-1 py-2 bg-red-100 w-full border-round-xl\">{{ errorMessage }}</span>\n <div class=\"flex ml-auto gap-2\">\n <button *ngIf=\"codFormStepFour.controls['payment_method'].value === '1'\" [disabled]=\"isFinancing || codFormStepFour.controls['payment_method'].value !== '1'\"type=\"submit\" class=\"ml-auto p-button-sm p-button-secondary\" (click)=\"showTable()\" pButton label=\"Calcular cuotas\" icon=\"pi pi-sliders-h\"></button>\n <button [disabled]=\"!isFinancing && codFormStepFour.controls['payment_method'].value === '1'\" type=\"submit\" [class]=\"isEditCod ? 'ml-auto yellow-300 p-button-sm' : 'ml-auto p-button-sm'\" (click)=\"sendForm()\" pButton label=\"Siguiente\" icon=\"pi pi-arrow-right\"></button>\n </div>\n</div>\n", styles: [".yellow-300{background-color:var(--yellow-500)!important;color:#fff}.container_tablet{width:-webkit-fill-available}\n"], dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2$1.PrimeTemplate, selector: "[pTemplate]", inputs: ["type", "pTemplate"] }, { kind: "component", type: InputComponent, selector: "ipt-input", inputs: ["inputType", "placeHolder", "validateText", "withPipe", "list", "iconUrl", "control", "prefix", "thousands", "decimal", "disabledSel"], outputs: ["dateSelected"] }, { kind: "component", type: LoaderComponent, selector: "ipt-loader", inputs: ["message", "isDialog"] }, { kind: "component", type: SelectComponent, selector: "ipt-select", inputs: ["isRequired", "data", "defaultText", "selectCode", "disabledSel", "initialValue", "label", "control"], outputs: ["eventSelect"] }, { kind: "directive", type: i1$1.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i1$1.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i1$1.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "component", type: i11.Table, selector: "p-table", inputs: ["frozenColumns", "frozenValue", "style", "styleClass", "tableStyle", "tableStyleClass", "paginator", "pageLinks", "rowsPerPageOptions", "alwaysShowPaginator", "paginatorPosition", "paginatorDropdownAppendTo", "paginatorDropdownScrollHeight", "currentPageReportTemplate", "showCurrentPageReport", "showJumpToPageDropdown", "showJumpToPageInput", "showFirstLastIcon", "showPageLinks", "defaultSortOrder", "sortMode", "resetPageOnSort", "selectionMode", "selectionPageOnly", "contextMenuSelection", "contextMenuSelectionMode", "dataKey", "metaKeySelection", "rowSelectable", "rowTrackBy", "lazy", "lazyLoadOnInit", "compareSelectionBy", "csvSeparator", "exportFilename", "filters", "globalFilterFields", "filterDelay", "filterLocale", "expandedRowKeys", "editingRowKeys", "rowExpandMode", "scrollable", "scrollDirection", "rowGroupMode", "scrollHeight", "virtualScroll", "virtualScrollItemSize", "virtualScrollOptions", "virtualScrollDelay", "frozenWidth", "responsive", "contextMenu", "resizableColumns", "columnResizeMode", "reorderableColumns", "loading", "loadingIcon", "showLoader", "rowHover", "customSort", "showInitialSortBadge", "autoLayout", "exportFunction", "exportHeader", "stateKey", "stateStorage", "editMode", "groupRowsBy", "groupRowsByOrder", "responsiveLayout", "breakpoint", "virtualRowHeight", "value", "columns", "first", "rows", "totalRecords", "sortField", "sortOrder", "multiSortMeta", "selection", "selectAll"], outputs: ["selectAllChange", "selectionChange", "contextMenuSelectionChange", "onRowSelect", "onRowUnselect", "onPage", "onSort", "onFilter", "onLazyLoad", "onRowExpand", "onRowCollapse", "onContextMenuSelect", "onColResize", "onColReorder", "onRowReorder", "onEditInit", "onEditComplete", "onEditCancel", "onHeaderCheckboxToggle", "sortFunction", "firstChange", "rowsChange", "onStateSave", "onStateRestore"] }, { kind: "directive", type: i6$1.ButtonDirective, selector: "[pButton]", inputs: ["iconPos", "loadingIcon", "label", "icon", "loading"] }] });
5865
+ CodFormStepFourComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.0.7", type: CodFormStepFourComponent, selector: "app-cod-form-step-four", inputs: { isEditCod: "isEditCod", initialData: "initialData", isRenovation: "isRenovation" }, outputs: { changeStepEvent: "changeStepEvent", financingData: "financingData" }, usesInheritance: true, usesOnChanges: true, ngImport: i0, template: "<div *ngIf=\"isSemestral\" class=\"m-1 p-2 border-round-lg bg-blue-500 text-white\">\n <strong>Nota: </strong>\n El tipo de curso seleccionado fue semestral, por lo tanto el estudiante debe pagar matr\u00EDcula y primera cuota (M&M)\n</div>\n\n<form autocomplete=\"off\" [formGroup]=\"codFormStepFour\" class=\"grid mt-2\">\n\n <div class=\"col-12\">\n <ipt-select\n [initialValue]=\"codFormStepFour.controls['payment_method'].value\"\n [control]=\"codFormStepFour.controls['payment_method']\"\n (eventSelect)=\"selectPaymentMethod($event)\"\n [data]=\"paymentMethods\"\n [defaultText]=\"'M\u00E9todo de pago'\"\n [disabledSel]=\"isDisabledSel\"\n ></ipt-select>\n <ipt-loader *ngIf=\"feeResponse\"></ipt-loader>\n\n <div class=\"col-12\" *ngIf=\"thereArePlans\">\n <p-table\n [value]=\"dataPrices\"\n [tableStyle]=\"{'min-width': '100%'}\"\n [rowHover]=\"true\"\n >\n <ng-template pTemplate=\"caption\">\n <div class=\"flex align-items-center\">\n Seleccion de niveles a cancelar.\n </div>\n </ng-template>\n <ng-template pTemplate=\"header\">\n <tr>\n <th class=\"bg-blue-200 text-center font-medium pt-2 pb-2\">Cancelar</th>\n <th class=\"bg-blue-200 text-center font-medium pt-2 pb-2\">Cuotas</th>\n <th class=\"bg-blue-200 text-center font-medium pt-2 pb-2\">Admin</th>\n </tr>\n </ng-template>\n <ng-template pTemplate=\"body\" let-data>\n <tr>\n <td class=\"text-center\">{{ data.paid_level }} Nivel(es)</td>\n <td class=\"text-center\">{{ data.fee_number }}</td>\n <td class=\"pt-2 pb-2 text-center\">\n <button\n pButton\n pRipple\n icon=\"pi pi-money-bill\"\n class=\"p-button-sm p-button-rounded\"\n (click)=\"selectLevels(data)\"\n\n ></button>\n </td>\n </tr>\n </ng-template>\n </p-table>\n </div>\n\n <!-- [initialValue]=\"codFormStepFour.controls['quota_times'].value\" -->\n <!-- <ipt-select *ngIf=\"isFinanced();\"\n [initialValue]=\"'1'\"\n [control]=\"codFormStepFour.controls['quota_times']\"\n (eventSelect)=\"selectQuotas($event)\"\n [defaultText]=\"'N\u00FAmero de cuotas'\"\n [data]=\"codPrices\"\n ></ipt-select> -->\n </div>\n\n <div class=\"col-12\">\n <ipt-input\n [inputType]=\"'text'\"\n [placeHolder]=\"'Monto total de la matr\u00EDcula'\"\n [control]=\"codFormStepFour.controls['total_price']\"\n [withPipe]=\"true\"\n ></ipt-input>\n </div>\n\n <div class=\"col-12\">\n <ipt-input\n [withPipe]=\"true\"\n [inputType]=\"'text'\"\n [control]=\"codFormStepFour.controls['program_price']\"\n [placeHolder]=\"'Valor total del programa'\"\n ></ipt-input>\n </div>\n\n <div class=\"col-12\">\n <ipt-input\n onfocus=\"(this.type='date')\"\n [inputType]=\"'date'\"\n [control]=\"codFormStepFour.controls['payment_date']\"\n [placeHolder]=\"'Fecha de pago'\"\n ></ipt-input>\n </div>\n\n <!-- Tabla de financiaci\u00F3n -->\n <div *ngIf=\"isFinancing && isRenovation === false\" class=\"container_tablet\">\n <div class=\"col-12\" *ngIf=\"isFinancing\">\n <p-table\n [value]=\"dataFinancing\"\n [tableStyle]=\"{'min-width': '100%'}\"\n [rowHover]=\"true\"\n >\n <ng-template pTemplate=\"caption\">\n <div class=\"flex align-items-center\">\n C\u00E1lculo de cuotas\n <button pButton class=\"p-button-sm ml-auto\" label=\"Nuevo c\u00E1lculo\" (click)=\"calculateNewQuotes()\" [disabled]=\"isDisabledSel\" lab icon=\"pi pi-replay\"></button>\n </div>\n </ng-template>\n <ng-template pTemplate=\"header\">\n <tr>\n <th class=\"bg-blue-200 text-center font-medium pt-2 pb-2\">#</th>\n <th class=\"bg-blue-200 text-center font-medium pt-2 pb-2\">Valor</th>\n <th class=\"bg-blue-200 text-center font-medium pt-2 pb-2\">Fecha</th>\n </tr>\n </ng-template>\n <ng-template pTemplate=\"body\" let-data>\n <tr>\n <td class=\"p-0 text-center text-sm\">{{ data[0] }}</td>\n <td class=\"p-0 text-center text-sm\">{{ data[1] }}</td>\n <td class=\"p-0 text-center text-sm\">{{ data[2] }}</td>\n </tr>\n </ng-template>\n </p-table>\n </div>\n </div>\n <!-- ---------------------- -->\n\n</form>\n\n<div class=\"flex mt-3 align-items-center gap-3\">\n <span *ngIf=\"codFormStepFour.invalid && codFormStepFour.touched\" class=\"text-red-500 font-bold text-center mt-1 py-2 bg-red-100 w-full border-round-xl\">{{ errorMessage }}</span>\n <div class=\"flex ml-auto gap-2\">\n <button *ngIf=\"codFormStepFour.controls['payment_method'].value === '1'\" [disabled]=\"isFinancing || codFormStepFour.controls['payment_method'].value !== '1'\"type=\"submit\" class=\"ml-auto p-button-sm p-button-secondary\" (click)=\"showTable()\" pButton label=\"Calcular cuotas\" icon=\"pi pi-sliders-h\"></button>\n <button [disabled]=\"!isFinancing && codFormStepFour.controls['payment_method'].value === '1'\" type=\"submit\" [class]=\"isEditCod ? 'ml-auto yellow-300 p-button-sm' : 'ml-auto p-button-sm'\" (click)=\"sendForm()\" pButton label=\"Siguiente\" icon=\"pi pi-arrow-right\"></button>\n </div>\n</div>\n", styles: [".yellow-300{background-color:var(--yellow-500)!important;color:#fff}.container_tablet{width:-webkit-fill-available}\n"], dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2$1.PrimeTemplate, selector: "[pTemplate]", inputs: ["type", "pTemplate"] }, { kind: "component", type: InputComponent, selector: "ipt-input", inputs: ["inputType", "placeHolder", "validateText", "withPipe", "list", "iconUrl", "control", "prefix", "thousands", "decimal", "disabledSel"], outputs: ["dateSelected"] }, { kind: "component", type: LoaderComponent, selector: "ipt-loader", inputs: ["message", "isDialog"] }, { kind: "component", type: SelectComponent, selector: "ipt-select", inputs: ["isRequired", "data", "defaultText", "selectCode", "disabledSel", "initialValue", "label", "control"], outputs: ["eventSelect"] }, { kind: "directive", type: i1$1.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i1$1.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i1$1.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "component", type: i11.Table, selector: "p-table", inputs: ["frozenColumns", "frozenValue", "style", "styleClass", "tableStyle", "tableStyleClass", "paginator", "pageLinks", "rowsPerPageOptions", "alwaysShowPaginator", "paginatorPosition", "paginatorDropdownAppendTo", "paginatorDropdownScrollHeight", "currentPageReportTemplate", "showCurrentPageReport", "showJumpToPageDropdown", "showJumpToPageInput", "showFirstLastIcon", "showPageLinks", "defaultSortOrder", "sortMode", "resetPageOnSort", "selectionMode", "selectionPageOnly", "contextMenuSelection", "contextMenuSelectionMode", "dataKey", "metaKeySelection", "rowSelectable", "rowTrackBy", "lazy", "lazyLoadOnInit", "compareSelectionBy", "csvSeparator", "exportFilename", "filters", "globalFilterFields", "filterDelay", "filterLocale", "expandedRowKeys", "editingRowKeys", "rowExpandMode", "scrollable", "scrollDirection", "rowGroupMode", "scrollHeight", "virtualScroll", "virtualScrollItemSize", "virtualScrollOptions", "virtualScrollDelay", "frozenWidth", "responsive", "contextMenu", "resizableColumns", "columnResizeMode", "reorderableColumns", "loading", "loadingIcon", "showLoader", "rowHover", "customSort", "showInitialSortBadge", "autoLayout", "exportFunction", "exportHeader", "stateKey", "stateStorage", "editMode", "groupRowsBy", "groupRowsByOrder", "responsiveLayout", "breakpoint", "virtualRowHeight", "value", "columns", "first", "rows", "totalRecords", "sortField", "sortOrder", "multiSortMeta", "selection", "selectAll"], outputs: ["selectAllChange", "selectionChange", "contextMenuSelectionChange", "onRowSelect", "onRowUnselect", "onPage", "onSort", "onFilter", "onLazyLoad", "onRowExpand", "onRowCollapse", "onContextMenuSelect", "onColResize", "onColReorder", "onRowReorder", "onEditInit", "onEditComplete", "onEditCancel", "onHeaderCheckboxToggle", "sortFunction", "firstChange", "rowsChange", "onStateSave", "onStateRestore"] }, { kind: "directive", type: i6$2.ButtonDirective, selector: "[pButton]", inputs: ["iconPos", "loadingIcon", "label", "icon", "loading"] }] });
5835
5866
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.7", ngImport: i0, type: CodFormStepFourComponent, decorators: [{
5836
5867
  type: Component,
5837
5868
  args: [{ selector: 'app-cod-form-step-four', template: "<div *ngIf=\"isSemestral\" class=\"m-1 p-2 border-round-lg bg-blue-500 text-white\">\n <strong>Nota: </strong>\n El tipo de curso seleccionado fue semestral, por lo tanto el estudiante debe pagar matr\u00EDcula y primera cuota (M&M)\n</div>\n\n<form autocomplete=\"off\" [formGroup]=\"codFormStepFour\" class=\"grid mt-2\">\n\n <div class=\"col-12\">\n <ipt-select\n [initialValue]=\"codFormStepFour.controls['payment_method'].value\"\n [control]=\"codFormStepFour.controls['payment_method']\"\n (eventSelect)=\"selectPaymentMethod($event)\"\n [data]=\"paymentMethods\"\n [defaultText]=\"'M\u00E9todo de pago'\"\n [disabledSel]=\"isDisabledSel\"\n ></ipt-select>\n <ipt-loader *ngIf=\"feeResponse\"></ipt-loader>\n\n <div class=\"col-12\" *ngIf=\"thereArePlans\">\n <p-table\n [value]=\"dataPrices\"\n [tableStyle]=\"{'min-width': '100%'}\"\n [rowHover]=\"true\"\n >\n <ng-template pTemplate=\"caption\">\n <div class=\"flex align-items-center\">\n Seleccion de niveles a cancelar.\n </div>\n </ng-template>\n <ng-template pTemplate=\"header\">\n <tr>\n <th class=\"bg-blue-200 text-center font-medium pt-2 pb-2\">Cancelar</th>\n <th class=\"bg-blue-200 text-center font-medium pt-2 pb-2\">Cuotas</th>\n <th class=\"bg-blue-200 text-center font-medium pt-2 pb-2\">Admin</th>\n </tr>\n </ng-template>\n <ng-template pTemplate=\"body\" let-data>\n <tr>\n <td class=\"text-center\">{{ data.paid_level }} Nivel(es)</td>\n <td class=\"text-center\">{{ data.fee_number }}</td>\n <td class=\"pt-2 pb-2 text-center\">\n <button\n pButton\n pRipple\n icon=\"pi pi-money-bill\"\n class=\"p-button-sm p-button-rounded\"\n (click)=\"selectLevels(data)\"\n\n ></button>\n </td>\n </tr>\n </ng-template>\n </p-table>\n </div>\n\n <!-- [initialValue]=\"codFormStepFour.controls['quota_times'].value\" -->\n <!-- <ipt-select *ngIf=\"isFinanced();\"\n [initialValue]=\"'1'\"\n [control]=\"codFormStepFour.controls['quota_times']\"\n (eventSelect)=\"selectQuotas($event)\"\n [defaultText]=\"'N\u00FAmero de cuotas'\"\n [data]=\"codPrices\"\n ></ipt-select> -->\n </div>\n\n <div class=\"col-12\">\n <ipt-input\n [inputType]=\"'text'\"\n [placeHolder]=\"'Monto total de la matr\u00EDcula'\"\n [control]=\"codFormStepFour.controls['total_price']\"\n [withPipe]=\"true\"\n ></ipt-input>\n </div>\n\n <div class=\"col-12\">\n <ipt-input\n [withPipe]=\"true\"\n [inputType]=\"'text'\"\n [control]=\"codFormStepFour.controls['program_price']\"\n [placeHolder]=\"'Valor total del programa'\"\n ></ipt-input>\n </div>\n\n <div class=\"col-12\">\n <ipt-input\n onfocus=\"(this.type='date')\"\n [inputType]=\"'date'\"\n [control]=\"codFormStepFour.controls['payment_date']\"\n [placeHolder]=\"'Fecha de pago'\"\n ></ipt-input>\n </div>\n\n <!-- Tabla de financiaci\u00F3n -->\n <div *ngIf=\"isFinancing && isRenovation === false\" class=\"container_tablet\">\n <div class=\"col-12\" *ngIf=\"isFinancing\">\n <p-table\n [value]=\"dataFinancing\"\n [tableStyle]=\"{'min-width': '100%'}\"\n [rowHover]=\"true\"\n >\n <ng-template pTemplate=\"caption\">\n <div class=\"flex align-items-center\">\n C\u00E1lculo de cuotas\n <button pButton class=\"p-button-sm ml-auto\" label=\"Nuevo c\u00E1lculo\" (click)=\"calculateNewQuotes()\" [disabled]=\"isDisabledSel\" lab icon=\"pi pi-replay\"></button>\n </div>\n </ng-template>\n <ng-template pTemplate=\"header\">\n <tr>\n <th class=\"bg-blue-200 text-center font-medium pt-2 pb-2\">#</th>\n <th class=\"bg-blue-200 text-center font-medium pt-2 pb-2\">Valor</th>\n <th class=\"bg-blue-200 text-center font-medium pt-2 pb-2\">Fecha</th>\n </tr>\n </ng-template>\n <ng-template pTemplate=\"body\" let-data>\n <tr>\n <td class=\"p-0 text-center text-sm\">{{ data[0] }}</td>\n <td class=\"p-0 text-center text-sm\">{{ data[1] }}</td>\n <td class=\"p-0 text-center text-sm\">{{ data[2] }}</td>\n </tr>\n </ng-template>\n </p-table>\n </div>\n </div>\n <!-- ---------------------- -->\n\n</form>\n\n<div class=\"flex mt-3 align-items-center gap-3\">\n <span *ngIf=\"codFormStepFour.invalid && codFormStepFour.touched\" class=\"text-red-500 font-bold text-center mt-1 py-2 bg-red-100 w-full border-round-xl\">{{ errorMessage }}</span>\n <div class=\"flex ml-auto gap-2\">\n <button *ngIf=\"codFormStepFour.controls['payment_method'].value === '1'\" [disabled]=\"isFinancing || codFormStepFour.controls['payment_method'].value !== '1'\"type=\"submit\" class=\"ml-auto p-button-sm p-button-secondary\" (click)=\"showTable()\" pButton label=\"Calcular cuotas\" icon=\"pi pi-sliders-h\"></button>\n <button [disabled]=\"!isFinancing && codFormStepFour.controls['payment_method'].value === '1'\" type=\"submit\" [class]=\"isEditCod ? 'ml-auto yellow-300 p-button-sm' : 'ml-auto p-button-sm'\" (click)=\"sendForm()\" pButton label=\"Siguiente\" icon=\"pi pi-arrow-right\"></button>\n </div>\n</div>\n", styles: [".yellow-300{background-color:var(--yellow-500)!important;color:#fff}.container_tablet{width:-webkit-fill-available}\n"] }]
@@ -5914,7 +5945,7 @@ class ModalReferredComponent {
5914
5945
  }
5915
5946
  }
5916
5947
  ModalReferredComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.7", ngImport: i0, type: ModalReferredComponent, deps: [{ token: i1$1.FormBuilder }, { token: BaseService }, { token: UserService }], target: i0.ɵɵFactoryTarget.Component });
5917
- ModalReferredComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.0.7", type: ModalReferredComponent, selector: "cod-modal-referred", inputs: { visibility: "visibility" }, outputs: { userSelect: "userSelect" }, ngImport: i0, template: "<main *ngIf=\"visibility\">\n <div class=\"modal_container\">\n <div class=\"header_modal\">\n <h1>Datos de quien lo refiere</h1>\n <button (click)=\"closeModal()\">x</button>\n </div>\n <div class=\"grid_container\">\n <div>\n <section\n id=\"container\"\n class=\"flex flex-column bg-white border-round-2xl\"\n >\n <form\n autocomplete=\"off\"\n (ngSubmit)=\"search(searchUserForm)\"\n class=\"form\"\n [formGroup]=\"searchUserForm\"\n >\n <input\n placeholder=\"Buscar por nombre, documento o tel\u00E9fono\"\n [formControl]=\"$any(searchUserForm.controls['searchUser'])\"\n type=\"text\"\n pInputText\n />\n <p-button\n type=\"submit\"\n label=\"Buscar\"\n icon=\"pi pi-search\"\n (onClick)=\"load(0, searchUserForm)\"\n ></p-button>\n </form>\n </section>\n\n <div *ngIf=\"userExists\" class=\"referrerInformation\">\n <section class=\"userList\">\n <p-table\n [value]=\"allUsers\"\n [scrollable]=\"true\"\n scrollHeight=\"150px\"\n [tableStyle]=\"{'min-width': '50rem'}\">\n <ng-template pTemplate=\"header\">\n <tr>\n <th class=\"bg-blue-500 text-white text-center w-2 p-0 m-0\">Documento</th>\n <th class=\"bg-blue-500 text-white text-center w-2 p-0 m-0\">Nombres</th>\n <th class=\"bg-blue-500 text-white text-center w-2 p-0 m-0\">Apellidos</th>\n <th class=\"bg-blue-500 text-white text-center w-2 p-0 m-0\">Email</th>\n <th class=\"bg-blue-500 text-white text-center w-2 p-0 m-0\">Telefono</th>\n <th class=\"bg-blue-500 text-white text-center w-2 p-0 m-0\">Rol</th>\n <th class=\"bg-blue-500 text-white text-center w-2 p-0 m-0\">Admin</th>\n </tr>\n </ng-template>\n <ng-template pTemplate=\"body\" let-user>\n <tr>\n <td class=\"pt-2 pb-2 text-sm text-left\">{{user.id_card}}</td>\n <td class=\"pt-2 pb-2 text-sm text-left\">{{user.name}}</td>\n <td class=\"pt-2 pb-2 text-sm text-left\">{{user.last_name}}</td>\n <td class=\"pt-2 pb-2 text-sm text-left\">{{user.email}}</td>\n <td class=\"pt-2 pb-2 text-sm text-right\">{{user.phone_number}}</td>\n <td class=\"pt-2 pb-2 text-sm text-center\">{{user.role}}</td>\n <td class=\"pt-2 pb-2 min-w-min\" style=\"text-align: center\">\n <p-button\n icon=\"pi pi-chevron-circle-right\"\n (click)=\"selectUser(user)\"\n ></p-button>\n </td>\n </tr>\n </ng-template>\n </p-table>\n </section>\n </div>\n </div>\n </div>\n </div>\n</main>\n", styles: [":host ::ng-deep .p-datatable .p-datatable-header{background:#3c82f6;color:#2e2e2e;border:1px solid #dee2e6;padding:0 0 15px;font-weight:500;height:2rem;border-top-left-radius:5px;border-top-right-radius:5px}:host ::ng-deep .p-datatable-table{padding-left:.5rem;padding-right:.5rem}#container{display:flex;flex-direction:row;justify-content:space-between}@media screen and (min-width: 320px){main{background:rgba(0,0,0,.472);color:#fff;position:fixed;top:0;left:0;height:100%;width:100vw;transition:all .5s;z-index:999}.referrerInformation{overflow:auto}main .modal_container{width:85%;height:-moz-fit-content;height:fit-content;position:absolute;inset:0;margin-top:5rem;margin-left:7%;background-color:#fff;border-radius:3px}.btn_select{margin:2px}.header_modal{display:flex;padding:15px 15px 0;align-items:center}.header_modal h1{padding:.5rem;background-color:#1c77f7;color:#fff;width:100%;border-radius:10px;font-size:1rem;font-weight:700;margin-bottom:0}.header_modal button{margin-left:auto;font-size:26px;padding:1.2rem;font-weight:200;color:#6c7f7d;display:flex;width:25px;height:25px;align-items:center;justify-content:center;transition:50ms;background-color:transparent;border:none}.header_modal button:hover{cursor:pointer;border-radius:50%;background-color:#d4d4d4}.referrer_Information{overflow:auto}.grid_container{display:grid;grid-template-columns:1fr;padding:10px;margin-bottom:1rem}form{display:flex;justify-content:start;flex-wrap:nowrap;flex-direction:row;align-items:center}.buttons-container{margin-top:2rem;margin-bottom:2rem;display:flex;justify-content:center;align-items:center;justify-items:center;align-content:center}}@media screen and (min-width: 768px){form{gap:1rem;height:90px}.header_modal h1{font-size:1.25rem}}@media screen and (min-width: 1366px){form{padding:0rem}}\n"], dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2$1.PrimeTemplate, selector: "[pTemplate]", inputs: ["type", "pTemplate"] }, { kind: "directive", type: i1$1.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i1$1.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i1$1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$1.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i1$1.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "directive", type: i1$1.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "component", type: i11.Table, selector: "p-table", inputs: ["frozenColumns", "frozenValue", "style", "styleClass", "tableStyle", "tableStyleClass", "paginator", "pageLinks", "rowsPerPageOptions", "alwaysShowPaginator", "paginatorPosition", "paginatorDropdownAppendTo", "paginatorDropdownScrollHeight", "currentPageReportTemplate", "showCurrentPageReport", "showJumpToPageDropdown", "showJumpToPageInput", "showFirstLastIcon", "showPageLinks", "defaultSortOrder", "sortMode", "resetPageOnSort", "selectionMode", "selectionPageOnly", "contextMenuSelection", "contextMenuSelectionMode", "dataKey", "metaKeySelection", "rowSelectable", "rowTrackBy", "lazy", "lazyLoadOnInit", "compareSelectionBy", "csvSeparator", "exportFilename", "filters", "globalFilterFields", "filterDelay", "filterLocale", "expandedRowKeys", "editingRowKeys", "rowExpandMode", "scrollable", "scrollDirection", "rowGroupMode", "scrollHeight", "virtualScroll", "virtualScrollItemSize", "virtualScrollOptions", "virtualScrollDelay", "frozenWidth", "responsive", "contextMenu", "resizableColumns", "columnResizeMode", "reorderableColumns", "loading", "loadingIcon", "showLoader", "rowHover", "customSort", "showInitialSortBadge", "autoLayout", "exportFunction", "exportHeader", "stateKey", "stateStorage", "editMode", "groupRowsBy", "groupRowsByOrder", "responsiveLayout", "breakpoint", "virtualRowHeight", "value", "columns", "first", "rows", "totalRecords", "sortField", "sortOrder", "multiSortMeta", "selection", "selectAll"], outputs: ["selectAllChange", "selectionChange", "contextMenuSelectionChange", "onRowSelect", "onRowUnselect", "onPage", "onSort", "onFilter", "onLazyLoad", "onRowExpand", "onRowCollapse", "onContextMenuSelect", "onColResize", "onColReorder", "onRowReorder", "onEditInit", "onEditComplete", "onEditCancel", "onHeaderCheckboxToggle", "sortFunction", "firstChange", "rowsChange", "onStateSave", "onStateRestore"] }, { kind: "component", type: i6$1.Button, selector: "p-button", inputs: ["type", "iconPos", "icon", "badge", "label", "disabled", "loading", "loadingIcon", "style", "styleClass", "badgeClass", "ariaLabel"], outputs: ["onClick", "onFocus", "onBlur"] }, { kind: "directive", type: i8.InputText, selector: "[pInputText]" }] });
5948
+ ModalReferredComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.0.7", type: ModalReferredComponent, selector: "cod-modal-referred", inputs: { visibility: "visibility" }, outputs: { userSelect: "userSelect" }, ngImport: i0, template: "<main *ngIf=\"visibility\">\n <div class=\"modal_container\">\n <div class=\"header_modal\">\n <h1>Datos de quien lo refiere</h1>\n <button (click)=\"closeModal()\">x</button>\n </div>\n <div class=\"grid_container\">\n <div>\n <section\n id=\"container\"\n class=\"flex flex-column bg-white border-round-2xl\"\n >\n <form\n autocomplete=\"off\"\n (ngSubmit)=\"search(searchUserForm)\"\n class=\"form\"\n [formGroup]=\"searchUserForm\"\n >\n <input\n placeholder=\"Buscar por nombre, documento o tel\u00E9fono\"\n [formControl]=\"$any(searchUserForm.controls['searchUser'])\"\n type=\"text\"\n pInputText\n />\n <p-button\n type=\"submit\"\n label=\"Buscar\"\n icon=\"pi pi-search\"\n (onClick)=\"load(0, searchUserForm)\"\n ></p-button>\n </form>\n </section>\n\n <div *ngIf=\"userExists\" class=\"referrerInformation\">\n <section class=\"userList\">\n <p-table\n [value]=\"allUsers\"\n [scrollable]=\"true\"\n scrollHeight=\"150px\"\n [tableStyle]=\"{'min-width': '50rem'}\">\n <ng-template pTemplate=\"header\">\n <tr>\n <th class=\"bg-blue-500 text-white text-center w-2 p-0 m-0\">Documento</th>\n <th class=\"bg-blue-500 text-white text-center w-2 p-0 m-0\">Nombres</th>\n <th class=\"bg-blue-500 text-white text-center w-2 p-0 m-0\">Apellidos</th>\n <th class=\"bg-blue-500 text-white text-center w-2 p-0 m-0\">Email</th>\n <th class=\"bg-blue-500 text-white text-center w-2 p-0 m-0\">Telefono</th>\n <th class=\"bg-blue-500 text-white text-center w-2 p-0 m-0\">Rol</th>\n <th class=\"bg-blue-500 text-white text-center w-2 p-0 m-0\">Admin</th>\n </tr>\n </ng-template>\n <ng-template pTemplate=\"body\" let-user>\n <tr>\n <td class=\"pt-2 pb-2 text-sm text-left\">{{user.id_card}}</td>\n <td class=\"pt-2 pb-2 text-sm text-left\">{{user.name}}</td>\n <td class=\"pt-2 pb-2 text-sm text-left\">{{user.last_name}}</td>\n <td class=\"pt-2 pb-2 text-sm text-left\">{{user.email}}</td>\n <td class=\"pt-2 pb-2 text-sm text-right\">{{user.phone_number}}</td>\n <td class=\"pt-2 pb-2 text-sm text-center\">{{user.role}}</td>\n <td class=\"pt-2 pb-2 min-w-min\" style=\"text-align: center\">\n <p-button\n icon=\"pi pi-chevron-circle-right\"\n (click)=\"selectUser(user)\"\n ></p-button>\n </td>\n </tr>\n </ng-template>\n </p-table>\n </section>\n </div>\n </div>\n </div>\n </div>\n</main>\n", styles: [":host ::ng-deep .p-datatable .p-datatable-header{background:#3c82f6;color:#2e2e2e;border:1px solid #dee2e6;padding:0 0 15px;font-weight:500;height:2rem;border-top-left-radius:5px;border-top-right-radius:5px}:host ::ng-deep .p-datatable-table{padding-left:.5rem;padding-right:.5rem}#container{display:flex;flex-direction:row;justify-content:space-between}@media screen and (min-width: 320px){main{background:rgba(0,0,0,.472);color:#fff;position:fixed;top:0;left:0;height:100%;width:100vw;transition:all .5s;z-index:999}.referrerInformation{overflow:auto}main .modal_container{width:85%;height:-moz-fit-content;height:fit-content;position:absolute;inset:0;margin-top:5rem;margin-left:7%;background-color:#fff;border-radius:3px}.btn_select{margin:2px}.header_modal{display:flex;padding:15px 15px 0;align-items:center}.header_modal h1{padding:.5rem;background-color:#1c77f7;color:#fff;width:100%;border-radius:10px;font-size:1rem;font-weight:700;margin-bottom:0}.header_modal button{margin-left:auto;font-size:26px;padding:1.2rem;font-weight:200;color:#6c7f7d;display:flex;width:25px;height:25px;align-items:center;justify-content:center;transition:50ms;background-color:transparent;border:none}.header_modal button:hover{cursor:pointer;border-radius:50%;background-color:#d4d4d4}.referrer_Information{overflow:auto}.grid_container{display:grid;grid-template-columns:1fr;padding:10px;margin-bottom:1rem}form{display:flex;justify-content:start;flex-wrap:nowrap;flex-direction:row;align-items:center}.buttons-container{margin-top:2rem;margin-bottom:2rem;display:flex;justify-content:center;align-items:center;justify-items:center;align-content:center}}@media screen and (min-width: 768px){form{gap:1rem;height:90px}.header_modal h1{font-size:1.25rem}}@media screen and (min-width: 1366px){form{padding:0rem}}\n"], dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2$1.PrimeTemplate, selector: "[pTemplate]", inputs: ["type", "pTemplate"] }, { kind: "directive", type: i1$1.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i1$1.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i1$1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$1.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i1$1.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "directive", type: i1$1.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "component", type: i11.Table, selector: "p-table", inputs: ["frozenColumns", "frozenValue", "style", "styleClass", "tableStyle", "tableStyleClass", "paginator", "pageLinks", "rowsPerPageOptions", "alwaysShowPaginator", "paginatorPosition", "paginatorDropdownAppendTo", "paginatorDropdownScrollHeight", "currentPageReportTemplate", "showCurrentPageReport", "showJumpToPageDropdown", "showJumpToPageInput", "showFirstLastIcon", "showPageLinks", "defaultSortOrder", "sortMode", "resetPageOnSort", "selectionMode", "selectionPageOnly", "contextMenuSelection", "contextMenuSelectionMode", "dataKey", "metaKeySelection", "rowSelectable", "rowTrackBy", "lazy", "lazyLoadOnInit", "compareSelectionBy", "csvSeparator", "exportFilename", "filters", "globalFilterFields", "filterDelay", "filterLocale", "expandedRowKeys", "editingRowKeys", "rowExpandMode", "scrollable", "scrollDirection", "rowGroupMode", "scrollHeight", "virtualScroll", "virtualScrollItemSize", "virtualScrollOptions", "virtualScrollDelay", "frozenWidth", "responsive", "contextMenu", "resizableColumns", "columnResizeMode", "reorderableColumns", "loading", "loadingIcon", "showLoader", "rowHover", "customSort", "showInitialSortBadge", "autoLayout", "exportFunction", "exportHeader", "stateKey", "stateStorage", "editMode", "groupRowsBy", "groupRowsByOrder", "responsiveLayout", "breakpoint", "virtualRowHeight", "value", "columns", "first", "rows", "totalRecords", "sortField", "sortOrder", "multiSortMeta", "selection", "selectAll"], outputs: ["selectAllChange", "selectionChange", "contextMenuSelectionChange", "onRowSelect", "onRowUnselect", "onPage", "onSort", "onFilter", "onLazyLoad", "onRowExpand", "onRowCollapse", "onContextMenuSelect", "onColResize", "onColReorder", "onRowReorder", "onEditInit", "onEditComplete", "onEditCancel", "onHeaderCheckboxToggle", "sortFunction", "firstChange", "rowsChange", "onStateSave", "onStateRestore"] }, { kind: "component", type: i6$2.Button, selector: "p-button", inputs: ["type", "iconPos", "icon", "badge", "label", "disabled", "loading", "loadingIcon", "style", "styleClass", "badgeClass", "ariaLabel"], outputs: ["onClick", "onFocus", "onBlur"] }, { kind: "directive", type: i8.InputText, selector: "[pInputText]" }] });
5918
5949
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.7", ngImport: i0, type: ModalReferredComponent, decorators: [{
5919
5950
  type: Component,
5920
5951
  args: [{ selector: 'cod-modal-referred', template: "<main *ngIf=\"visibility\">\n <div class=\"modal_container\">\n <div class=\"header_modal\">\n <h1>Datos de quien lo refiere</h1>\n <button (click)=\"closeModal()\">x</button>\n </div>\n <div class=\"grid_container\">\n <div>\n <section\n id=\"container\"\n class=\"flex flex-column bg-white border-round-2xl\"\n >\n <form\n autocomplete=\"off\"\n (ngSubmit)=\"search(searchUserForm)\"\n class=\"form\"\n [formGroup]=\"searchUserForm\"\n >\n <input\n placeholder=\"Buscar por nombre, documento o tel\u00E9fono\"\n [formControl]=\"$any(searchUserForm.controls['searchUser'])\"\n type=\"text\"\n pInputText\n />\n <p-button\n type=\"submit\"\n label=\"Buscar\"\n icon=\"pi pi-search\"\n (onClick)=\"load(0, searchUserForm)\"\n ></p-button>\n </form>\n </section>\n\n <div *ngIf=\"userExists\" class=\"referrerInformation\">\n <section class=\"userList\">\n <p-table\n [value]=\"allUsers\"\n [scrollable]=\"true\"\n scrollHeight=\"150px\"\n [tableStyle]=\"{'min-width': '50rem'}\">\n <ng-template pTemplate=\"header\">\n <tr>\n <th class=\"bg-blue-500 text-white text-center w-2 p-0 m-0\">Documento</th>\n <th class=\"bg-blue-500 text-white text-center w-2 p-0 m-0\">Nombres</th>\n <th class=\"bg-blue-500 text-white text-center w-2 p-0 m-0\">Apellidos</th>\n <th class=\"bg-blue-500 text-white text-center w-2 p-0 m-0\">Email</th>\n <th class=\"bg-blue-500 text-white text-center w-2 p-0 m-0\">Telefono</th>\n <th class=\"bg-blue-500 text-white text-center w-2 p-0 m-0\">Rol</th>\n <th class=\"bg-blue-500 text-white text-center w-2 p-0 m-0\">Admin</th>\n </tr>\n </ng-template>\n <ng-template pTemplate=\"body\" let-user>\n <tr>\n <td class=\"pt-2 pb-2 text-sm text-left\">{{user.id_card}}</td>\n <td class=\"pt-2 pb-2 text-sm text-left\">{{user.name}}</td>\n <td class=\"pt-2 pb-2 text-sm text-left\">{{user.last_name}}</td>\n <td class=\"pt-2 pb-2 text-sm text-left\">{{user.email}}</td>\n <td class=\"pt-2 pb-2 text-sm text-right\">{{user.phone_number}}</td>\n <td class=\"pt-2 pb-2 text-sm text-center\">{{user.role}}</td>\n <td class=\"pt-2 pb-2 min-w-min\" style=\"text-align: center\">\n <p-button\n icon=\"pi pi-chevron-circle-right\"\n (click)=\"selectUser(user)\"\n ></p-button>\n </td>\n </tr>\n </ng-template>\n </p-table>\n </section>\n </div>\n </div>\n </div>\n </div>\n</main>\n", styles: [":host ::ng-deep .p-datatable .p-datatable-header{background:#3c82f6;color:#2e2e2e;border:1px solid #dee2e6;padding:0 0 15px;font-weight:500;height:2rem;border-top-left-radius:5px;border-top-right-radius:5px}:host ::ng-deep .p-datatable-table{padding-left:.5rem;padding-right:.5rem}#container{display:flex;flex-direction:row;justify-content:space-between}@media screen and (min-width: 320px){main{background:rgba(0,0,0,.472);color:#fff;position:fixed;top:0;left:0;height:100%;width:100vw;transition:all .5s;z-index:999}.referrerInformation{overflow:auto}main .modal_container{width:85%;height:-moz-fit-content;height:fit-content;position:absolute;inset:0;margin-top:5rem;margin-left:7%;background-color:#fff;border-radius:3px}.btn_select{margin:2px}.header_modal{display:flex;padding:15px 15px 0;align-items:center}.header_modal h1{padding:.5rem;background-color:#1c77f7;color:#fff;width:100%;border-radius:10px;font-size:1rem;font-weight:700;margin-bottom:0}.header_modal button{margin-left:auto;font-size:26px;padding:1.2rem;font-weight:200;color:#6c7f7d;display:flex;width:25px;height:25px;align-items:center;justify-content:center;transition:50ms;background-color:transparent;border:none}.header_modal button:hover{cursor:pointer;border-radius:50%;background-color:#d4d4d4}.referrer_Information{overflow:auto}.grid_container{display:grid;grid-template-columns:1fr;padding:10px;margin-bottom:1rem}form{display:flex;justify-content:start;flex-wrap:nowrap;flex-direction:row;align-items:center}.buttons-container{margin-top:2rem;margin-bottom:2rem;display:flex;justify-content:center;align-items:center;justify-items:center;align-content:center}}@media screen and (min-width: 768px){form{gap:1rem;height:90px}.header_modal h1{font-size:1.25rem}}@media screen and (min-width: 1366px){form{padding:0rem}}\n"] }]
@@ -6121,7 +6152,7 @@ class CodFormStepFiveComponent extends CodFormSteps {
6121
6152
  }
6122
6153
  }
6123
6154
  CodFormStepFiveComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.7", ngImport: i0, type: CodFormStepFiveComponent, deps: [{ token: i1$1.FormBuilder }], target: i0.ɵɵFactoryTarget.Component });
6124
- CodFormStepFiveComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.0.7", type: CodFormStepFiveComponent, selector: "app-cod-form-step-five", inputs: { userRole: "userRole", initialData: "initialData", isEditCod: "isEditCod", isRenovation: "isRenovation", parametersAll: "parametersAll" }, outputs: { changeStepEvent: "changeStepEvent", action: "action" }, usesInheritance: true, usesOnChanges: true, ngImport: i0, template: "<form autocomplete=\"off\" [formGroup]=\"codFormStepFive\" class=\"grid\">\n <div class=\"col-12 md:col-6\">\n <cod-modal-referred\n *ngIf=\"modalVisible\"\n [visibility]=\"modalVisible\"\n (userSelect)=\"referredUser($event)\"\n ></cod-modal-referred>\n\n <div class=\"container_referred flex flex-row justify-content-between align-items-end\">\n <div class=\"containe_select1\">\n <ipt-select\n [control]=\"codFormStepFive.controls['marketing_reasons']\"\n [initialValue]=\"codFormStepFive.controls['marketing_reasons'].value\"\n (eventSelect)=\"selectMarketingReasons($event)\"\n [data]=\"marketingReasons\"\n [defaultText]=\"'\u00BFC\u00F3mo se enter\u00F3 del programa?'\"\n ></ipt-select>\n </div>\n <p-button\n *ngIf=\"visbleReferred\"\n styleClass=\"p-button-sm w-max\"\n label=\"Cambiar Referido\"\n icon=\"pi pi-sync\"\n (onClick)=\"openModalReferred()\"\n ></p-button>\n </div>\n\n <ipt-input\n [inputType]=\"'text'\"\n [placeHolder]=\"'Discapacidad'\"\n [control]=\"codFormStepFive.controls['disability']\"\n ></ipt-input>\n </div>\n <div class=\"col-12 md:col-6\">\n <ipt-select\n [control]=\"codFormStepFive.controls['study_reasons']\"\n [initialValue]=\"codFormStepFive.controls['study_reasons'].value\"\n (eventSelect)=\"selectStudyReasons($event)\"\n [data]=\"studyReasons\"\n [defaultText]=\"'Motivo'\"\n ></ipt-select>\n <ipt-input\n [inputType]=\"'text'\"\n [placeHolder]=\"'R\u00E9gimen de salud'\"\n [control]=\"codFormStepFive.controls['health_regimen']\"\n ></ipt-input>\n </div>\n <div class=\"col-12\">\n <h3 *ngIf=\"visbleReferred\" class=\"referred_title\">Datos del referido</h3>\n <div *ngIf=\"visbleReferred\" class=\"referred_user_data\">\n <ipt-input\n [inputType]=\"'text'\"\n [placeHolder]=\"'Documento'\"\n [control]=\"codFormStepFive.controls['document_refers']\"\n ></ipt-input>\n <ipt-input\n [inputType]=\"'text'\"\n [placeHolder]=\"'Nombres'\"\n [control]=\"codFormStepFive.controls['name_refers']\"\n ></ipt-input>\n <ipt-input\n [inputType]=\"'text'\"\n [placeHolder]=\"'Tel\u00E9fono'\"\n [control]=\"codFormStepFive.controls['phone_refers']\"\n ></ipt-input>\n <ipt-input\n [inputType]=\"'text'\"\n [placeHolder]=\"'Email'\"\n [control]=\"codFormStepFive.controls['email_refers']\"\n ></ipt-input>\n </div>\n <span class=\"p-float-label\">\n <textarea\n id=\"float-input\"\n rows=\"4\"\n cols=\"30\"\n pInputTextarea\n formControlName=\"observation\"\n ></textarea>\n <label for=\"float-input\">Observaciones</label>\n </span>\n <div class=\"flex flex-wrap justify-content-between gap-2\">\n <div\n *ngFor=\"let option of multiculturalities; index as i\"\n class=\"field-checkbox mt-4 flex align-items-center\"\n >\n <mat-checkbox\n [formControlName]=\"'multiculturalism' + '_' + (i + 1)\"\n class=\"example-margin\"\n ></mat-checkbox>\n <label [for]=\"option.code\">{{ option.name }}</label>\n </div>\n </div>\n </div>\n\n <div class=\"col-12 p-4 font-bold\">\n <p>\n * El estudiante o titular se comprometen a cancelar las cuotas\n establecidas en este contrato, los primeros 5 (cinco) d\u00EDas del mes. En\n caso de querer retirarse, deber\u00E1 informar por escrito 30 (treinta) d\u00EDas\n antes y cancelar lo correspondiente hasta la fecha definida de retiro,\n para poder obtener su paz y salvo.\n </p>\n <br /><br />\n <div class=\"flex gap-2\">\n <mat-checkbox\n formControlName=\"terms\"\n class=\"example-margin\"\n ></mat-checkbox>\n <!-- <p-checkbox [formControl]=\"getCheckboxControl()\"></p-checkbox> -->\n <!-- <ipt-checkbox [control]=\"codFormStepFive.controls['terms']\" [checkboxOption]=\"termsCheckboxStatus\"></ipt-checkbox> -->\n <p>\n DECLARO HABER LE\u00CDDO Y ACEPTO LOS T\u00C9RMINOS Y CONDICIONES DE LAS POL\u00CDTICAS\n ESTABLECIDAS EN LA INSTITUCI\u00D3N.\n </p>\n </div>\n </div>\n</form>\n\n<div class=\"flex mt-3 align-items-center gap-3\">\n <span\n *ngIf=\"\n (codFormStepFive.invalid && codFormStepFive.touched) ||\n (!termsCheckboxStatus && codFormStepFive.touched)\n \"\n class=\"\n text-red-500\n font-bold\n text-center\n mt-1\n py-2\n bg-red-100\n w-full\n border-round-xl\n \"\n >{{ errorMessage }}</span\n >\n <button\n type=\"submit\"\n [class]=\"isEditCod ? 'ml-auto yellow-300 p-button-sm' : 'ml-auto p-button-success p-button-sm'\"\n (click)=\"sendForm()\"\n pButton\n [label]=\"sendFormMsg\"\n icon=\"pi pi-check\"\n></button>\n</div>\n", styles: [":host ::ng-deep .p-button.p-button-sm{padding:.4rem!important}.yellow-300{background-color:var(--yellow-500)!important;color:#fff}@media screen and (min-width: 320px){.referred_user_data{display:grid;grid-template-columns:1fr 1fr 1fr 1fr;gap:.8rem;margin-bottom:2rem;border:1px solid #ced4da;border-radius:3px;padding:.5rem}.referred_title{font-size:.8rem;font-weight:400;padding-left:1rem;color:#6c757d}.containe_select1{width:100%}}@media screen and (min-width: 768px){.referred_user_data{grid-template-columns:1fr 1fr}}\n"], dependencies: [{ kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: InputComponent, selector: "ipt-input", inputs: ["inputType", "placeHolder", "validateText", "withPipe", "list", "iconUrl", "control", "prefix", "thousands", "decimal", "disabledSel"], outputs: ["dateSelected"] }, { kind: "component", type: SelectComponent, selector: "ipt-select", inputs: ["isRequired", "data", "defaultText", "selectCode", "disabledSel", "initialValue", "label", "control"], outputs: ["eventSelect"] }, { kind: "component", type: i5$1.MatCheckbox, selector: "mat-checkbox", inputs: ["disableRipple", "color", "tabIndex"], exportAs: ["matCheckbox"] }, { kind: "directive", type: i1$1.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i1$1.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i1$1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$1.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i1$1.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i1$1.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "directive", type: i6$1.ButtonDirective, selector: "[pButton]", inputs: ["iconPos", "loadingIcon", "label", "icon", "loading"] }, { kind: "component", type: i6$1.Button, selector: "p-button", inputs: ["type", "iconPos", "icon", "badge", "label", "disabled", "loading", "loadingIcon", "style", "styleClass", "badgeClass", "ariaLabel"], outputs: ["onClick", "onFocus", "onBlur"] }, { kind: "directive", type: i7$1.InputTextarea, selector: "[pInputTextarea]", inputs: ["autoResize"], outputs: ["onResize"] }, { kind: "component", type: ModalReferredComponent, selector: "cod-modal-referred", inputs: ["visibility"], outputs: ["userSelect"] }] });
6155
+ CodFormStepFiveComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.0.7", type: CodFormStepFiveComponent, selector: "app-cod-form-step-five", inputs: { userRole: "userRole", initialData: "initialData", isEditCod: "isEditCod", isRenovation: "isRenovation", parametersAll: "parametersAll" }, outputs: { changeStepEvent: "changeStepEvent", action: "action" }, usesInheritance: true, usesOnChanges: true, ngImport: i0, template: "<form autocomplete=\"off\" [formGroup]=\"codFormStepFive\" class=\"grid\">\n <div class=\"col-12 md:col-6\">\n <cod-modal-referred\n *ngIf=\"modalVisible\"\n [visibility]=\"modalVisible\"\n (userSelect)=\"referredUser($event)\"\n ></cod-modal-referred>\n\n <div class=\"container_referred flex flex-row justify-content-between align-items-end\">\n <div class=\"containe_select1\">\n <ipt-select\n [control]=\"codFormStepFive.controls['marketing_reasons']\"\n [initialValue]=\"codFormStepFive.controls['marketing_reasons'].value\"\n (eventSelect)=\"selectMarketingReasons($event)\"\n [data]=\"marketingReasons\"\n [defaultText]=\"'\u00BFC\u00F3mo se enter\u00F3 del programa?'\"\n ></ipt-select>\n </div>\n <p-button\n *ngIf=\"visbleReferred\"\n styleClass=\"p-button-sm w-max\"\n label=\"Cambiar Referido\"\n icon=\"pi pi-sync\"\n (onClick)=\"openModalReferred()\"\n ></p-button>\n </div>\n\n <ipt-input\n [inputType]=\"'text'\"\n [placeHolder]=\"'Discapacidad'\"\n [control]=\"codFormStepFive.controls['disability']\"\n ></ipt-input>\n </div>\n <div class=\"col-12 md:col-6\">\n <ipt-select\n [control]=\"codFormStepFive.controls['study_reasons']\"\n [initialValue]=\"codFormStepFive.controls['study_reasons'].value\"\n (eventSelect)=\"selectStudyReasons($event)\"\n [data]=\"studyReasons\"\n [defaultText]=\"'Motivo'\"\n ></ipt-select>\n <ipt-input\n [inputType]=\"'text'\"\n [placeHolder]=\"'R\u00E9gimen de salud'\"\n [control]=\"codFormStepFive.controls['health_regimen']\"\n ></ipt-input>\n </div>\n <div class=\"col-12\">\n <h3 *ngIf=\"visbleReferred\" class=\"referred_title\">Datos del referido</h3>\n <div *ngIf=\"visbleReferred\" class=\"referred_user_data\">\n <ipt-input\n [inputType]=\"'text'\"\n [placeHolder]=\"'Documento'\"\n [control]=\"codFormStepFive.controls['document_refers']\"\n ></ipt-input>\n <ipt-input\n [inputType]=\"'text'\"\n [placeHolder]=\"'Nombres'\"\n [control]=\"codFormStepFive.controls['name_refers']\"\n ></ipt-input>\n <ipt-input\n [inputType]=\"'text'\"\n [placeHolder]=\"'Tel\u00E9fono'\"\n [control]=\"codFormStepFive.controls['phone_refers']\"\n ></ipt-input>\n <ipt-input\n [inputType]=\"'text'\"\n [placeHolder]=\"'Email'\"\n [control]=\"codFormStepFive.controls['email_refers']\"\n ></ipt-input>\n </div>\n <span class=\"p-float-label\">\n <textarea\n id=\"float-input\"\n rows=\"4\"\n cols=\"30\"\n pInputTextarea\n formControlName=\"observation\"\n ></textarea>\n <label for=\"float-input\">Observaciones</label>\n </span>\n <div class=\"flex flex-wrap justify-content-between gap-2\">\n <div\n *ngFor=\"let option of multiculturalities; index as i\"\n class=\"field-checkbox mt-4 flex align-items-center\"\n >\n <mat-checkbox\n [formControlName]=\"'multiculturalism' + '_' + (i + 1)\"\n class=\"example-margin\"\n ></mat-checkbox>\n <label [for]=\"option.code\">{{ option.name }}</label>\n </div>\n </div>\n </div>\n\n <div class=\"col-12 p-4 font-bold\">\n <p>\n * El estudiante o titular se comprometen a cancelar las cuotas\n establecidas en este contrato, los primeros 5 (cinco) d\u00EDas del mes. En\n caso de querer retirarse, deber\u00E1 informar por escrito 30 (treinta) d\u00EDas\n antes y cancelar lo correspondiente hasta la fecha definida de retiro,\n para poder obtener su paz y salvo.\n </p>\n <br /><br />\n <div class=\"flex gap-2\">\n <mat-checkbox\n formControlName=\"terms\"\n class=\"example-margin\"\n ></mat-checkbox>\n <!-- <p-checkbox [formControl]=\"getCheckboxControl()\"></p-checkbox> -->\n <!-- <ipt-checkbox [control]=\"codFormStepFive.controls['terms']\" [checkboxOption]=\"termsCheckboxStatus\"></ipt-checkbox> -->\n <p>\n DECLARO HABER LE\u00CDDO Y ACEPTO LOS T\u00C9RMINOS Y CONDICIONES DE LAS POL\u00CDTICAS\n ESTABLECIDAS EN LA INSTITUCI\u00D3N.\n </p>\n </div>\n </div>\n</form>\n\n<div class=\"flex mt-3 align-items-center gap-3\">\n <span\n *ngIf=\"\n (codFormStepFive.invalid && codFormStepFive.touched) ||\n (!termsCheckboxStatus && codFormStepFive.touched)\n \"\n class=\"\n text-red-500\n font-bold\n text-center\n mt-1\n py-2\n bg-red-100\n w-full\n border-round-xl\n \"\n >{{ errorMessage }}</span\n >\n <button\n type=\"submit\"\n [class]=\"isEditCod ? 'ml-auto yellow-300 p-button-sm' : 'ml-auto p-button-success p-button-sm'\"\n (click)=\"sendForm()\"\n pButton\n [label]=\"sendFormMsg\"\n icon=\"pi pi-check\"\n></button>\n</div>\n", styles: [":host ::ng-deep .p-button.p-button-sm{padding:.4rem!important}.yellow-300{background-color:var(--yellow-500)!important;color:#fff}@media screen and (min-width: 320px){.referred_user_data{display:grid;grid-template-columns:1fr 1fr 1fr 1fr;gap:.8rem;margin-bottom:2rem;border:1px solid #ced4da;border-radius:3px;padding:.5rem}.referred_title{font-size:.8rem;font-weight:400;padding-left:1rem;color:#6c757d}.containe_select1{width:100%}}@media screen and (min-width: 768px){.referred_user_data{grid-template-columns:1fr 1fr}}\n"], dependencies: [{ kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: InputComponent, selector: "ipt-input", inputs: ["inputType", "placeHolder", "validateText", "withPipe", "list", "iconUrl", "control", "prefix", "thousands", "decimal", "disabledSel"], outputs: ["dateSelected"] }, { kind: "component", type: SelectComponent, selector: "ipt-select", inputs: ["isRequired", "data", "defaultText", "selectCode", "disabledSel", "initialValue", "label", "control"], outputs: ["eventSelect"] }, { kind: "component", type: i5$1.MatCheckbox, selector: "mat-checkbox", inputs: ["disableRipple", "color", "tabIndex"], exportAs: ["matCheckbox"] }, { kind: "directive", type: i1$1.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i1$1.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i1$1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$1.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i1$1.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i1$1.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "directive", type: i6$2.ButtonDirective, selector: "[pButton]", inputs: ["iconPos", "loadingIcon", "label", "icon", "loading"] }, { kind: "component", type: i6$2.Button, selector: "p-button", inputs: ["type", "iconPos", "icon", "badge", "label", "disabled", "loading", "loadingIcon", "style", "styleClass", "badgeClass", "ariaLabel"], outputs: ["onClick", "onFocus", "onBlur"] }, { kind: "directive", type: i7$2.InputTextarea, selector: "[pInputTextarea]", inputs: ["autoResize"], outputs: ["onResize"] }, { kind: "component", type: ModalReferredComponent, selector: "cod-modal-referred", inputs: ["visibility"], outputs: ["userSelect"] }] });
6125
6156
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.7", ngImport: i0, type: CodFormStepFiveComponent, decorators: [{
6126
6157
  type: Component,
6127
6158
  args: [{ selector: 'app-cod-form-step-five', template: "<form autocomplete=\"off\" [formGroup]=\"codFormStepFive\" class=\"grid\">\n <div class=\"col-12 md:col-6\">\n <cod-modal-referred\n *ngIf=\"modalVisible\"\n [visibility]=\"modalVisible\"\n (userSelect)=\"referredUser($event)\"\n ></cod-modal-referred>\n\n <div class=\"container_referred flex flex-row justify-content-between align-items-end\">\n <div class=\"containe_select1\">\n <ipt-select\n [control]=\"codFormStepFive.controls['marketing_reasons']\"\n [initialValue]=\"codFormStepFive.controls['marketing_reasons'].value\"\n (eventSelect)=\"selectMarketingReasons($event)\"\n [data]=\"marketingReasons\"\n [defaultText]=\"'\u00BFC\u00F3mo se enter\u00F3 del programa?'\"\n ></ipt-select>\n </div>\n <p-button\n *ngIf=\"visbleReferred\"\n styleClass=\"p-button-sm w-max\"\n label=\"Cambiar Referido\"\n icon=\"pi pi-sync\"\n (onClick)=\"openModalReferred()\"\n ></p-button>\n </div>\n\n <ipt-input\n [inputType]=\"'text'\"\n [placeHolder]=\"'Discapacidad'\"\n [control]=\"codFormStepFive.controls['disability']\"\n ></ipt-input>\n </div>\n <div class=\"col-12 md:col-6\">\n <ipt-select\n [control]=\"codFormStepFive.controls['study_reasons']\"\n [initialValue]=\"codFormStepFive.controls['study_reasons'].value\"\n (eventSelect)=\"selectStudyReasons($event)\"\n [data]=\"studyReasons\"\n [defaultText]=\"'Motivo'\"\n ></ipt-select>\n <ipt-input\n [inputType]=\"'text'\"\n [placeHolder]=\"'R\u00E9gimen de salud'\"\n [control]=\"codFormStepFive.controls['health_regimen']\"\n ></ipt-input>\n </div>\n <div class=\"col-12\">\n <h3 *ngIf=\"visbleReferred\" class=\"referred_title\">Datos del referido</h3>\n <div *ngIf=\"visbleReferred\" class=\"referred_user_data\">\n <ipt-input\n [inputType]=\"'text'\"\n [placeHolder]=\"'Documento'\"\n [control]=\"codFormStepFive.controls['document_refers']\"\n ></ipt-input>\n <ipt-input\n [inputType]=\"'text'\"\n [placeHolder]=\"'Nombres'\"\n [control]=\"codFormStepFive.controls['name_refers']\"\n ></ipt-input>\n <ipt-input\n [inputType]=\"'text'\"\n [placeHolder]=\"'Tel\u00E9fono'\"\n [control]=\"codFormStepFive.controls['phone_refers']\"\n ></ipt-input>\n <ipt-input\n [inputType]=\"'text'\"\n [placeHolder]=\"'Email'\"\n [control]=\"codFormStepFive.controls['email_refers']\"\n ></ipt-input>\n </div>\n <span class=\"p-float-label\">\n <textarea\n id=\"float-input\"\n rows=\"4\"\n cols=\"30\"\n pInputTextarea\n formControlName=\"observation\"\n ></textarea>\n <label for=\"float-input\">Observaciones</label>\n </span>\n <div class=\"flex flex-wrap justify-content-between gap-2\">\n <div\n *ngFor=\"let option of multiculturalities; index as i\"\n class=\"field-checkbox mt-4 flex align-items-center\"\n >\n <mat-checkbox\n [formControlName]=\"'multiculturalism' + '_' + (i + 1)\"\n class=\"example-margin\"\n ></mat-checkbox>\n <label [for]=\"option.code\">{{ option.name }}</label>\n </div>\n </div>\n </div>\n\n <div class=\"col-12 p-4 font-bold\">\n <p>\n * El estudiante o titular se comprometen a cancelar las cuotas\n establecidas en este contrato, los primeros 5 (cinco) d\u00EDas del mes. En\n caso de querer retirarse, deber\u00E1 informar por escrito 30 (treinta) d\u00EDas\n antes y cancelar lo correspondiente hasta la fecha definida de retiro,\n para poder obtener su paz y salvo.\n </p>\n <br /><br />\n <div class=\"flex gap-2\">\n <mat-checkbox\n formControlName=\"terms\"\n class=\"example-margin\"\n ></mat-checkbox>\n <!-- <p-checkbox [formControl]=\"getCheckboxControl()\"></p-checkbox> -->\n <!-- <ipt-checkbox [control]=\"codFormStepFive.controls['terms']\" [checkboxOption]=\"termsCheckboxStatus\"></ipt-checkbox> -->\n <p>\n DECLARO HABER LE\u00CDDO Y ACEPTO LOS T\u00C9RMINOS Y CONDICIONES DE LAS POL\u00CDTICAS\n ESTABLECIDAS EN LA INSTITUCI\u00D3N.\n </p>\n </div>\n </div>\n</form>\n\n<div class=\"flex mt-3 align-items-center gap-3\">\n <span\n *ngIf=\"\n (codFormStepFive.invalid && codFormStepFive.touched) ||\n (!termsCheckboxStatus && codFormStepFive.touched)\n \"\n class=\"\n text-red-500\n font-bold\n text-center\n mt-1\n py-2\n bg-red-100\n w-full\n border-round-xl\n \"\n >{{ errorMessage }}</span\n >\n <button\n type=\"submit\"\n [class]=\"isEditCod ? 'ml-auto yellow-300 p-button-sm' : 'ml-auto p-button-success p-button-sm'\"\n (click)=\"sendForm()\"\n pButton\n [label]=\"sendFormMsg\"\n icon=\"pi pi-check\"\n></button>\n</div>\n", styles: [":host ::ng-deep .p-button.p-button-sm{padding:.4rem!important}.yellow-300{background-color:var(--yellow-500)!important;color:#fff}@media screen and (min-width: 320px){.referred_user_data{display:grid;grid-template-columns:1fr 1fr 1fr 1fr;gap:.8rem;margin-bottom:2rem;border:1px solid #ced4da;border-radius:3px;padding:.5rem}.referred_title{font-size:.8rem;font-weight:400;padding-left:1rem;color:#6c757d}.containe_select1{width:100%}}@media screen and (min-width: 768px){.referred_user_data{grid-template-columns:1fr 1fr}}\n"] }]
@@ -6535,7 +6566,7 @@ class CodFormComponent {
6535
6566
  }
6536
6567
  }
6537
6568
  CodFormComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.7", ngImport: i0, type: CodFormComponent, deps: [{ token: BaseService }, { token: LocalStorageCODService }, { token: CodFormControls }, { token: CommercialService }, { token: ParameterService }], target: i0.ɵɵFactoryTarget.Component });
6538
- CodFormComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.0.7", type: CodFormComponent, selector: "ipt-cod-form", inputs: { dataFromPreviusCodData: "dataFromPreviusCodData", courseSelect: "courseSelect", isNewCod: "isNewCod", editCod: "editCod", CourseSelectRenovation: "CourseSelectRenovation", isRenovation: "isRenovation" }, outputs: { okCreatedCOD: "okCreatedCOD" }, usesOnChanges: true, ngImport: i0, template: "<div *ngIf=\"allowedRole() ; else Unauthorized\" class=\"container flex flex-column bg-white border-round-2xl p-3 container animate__animated animate__fadeInUp\">\n\n <span *ngIf=\"editCod\" class=\"bg-yellow-500 p-2 border-round mb-2 w-auto text-lg font-semibold\" style=\"color: white;\">{{ formTitle }}</span>\n <span *ngIf=\"!editCod && !dataFromPreviusCodData?.cod_renovation\" class=\"bg-primary p-2 border-round mb-2 w-auto text-lg font-semibold\">{{ formTitle }}</span>\n <span *ngIf=\"!editCod && dataFromPreviusCodData?.cod_renovation == true\" class=\"p-2 border-round mb-2 w-auto text-lg font-semibold\" style=\"background-color:#1da750; color: white;\">{{ formTitle }}</span>\n <div *ngIf=\"parametersAll !== null\">\n <p-tabView [activeIndex]=\"currentStep\" (activeIndexChange)=\"currentStep = $event\" [scrollable]=\"true\">\n <p-tabPanel leftIcon=\"pi pi-star\" header=\"1. Planes y convenios\">\n <app-cod-form-step-one (changeStepEvent)=\"changeStep($event)\" [initialData]=\"courseSelect\" [dataPreviusCodData]=\"dataFromPreviusCodData\" [isEditCod]=\"editCod\" [courseSelectRenovation]=\"CourseSelectRenovation\" [isRenovation]=\"isRenovation\" [parametersAll]=\"parametersAll\" class=\"p-1\"></app-cod-form-step-one>\n </p-tabPanel>\n <p-tabPanel leftIcon=\"pi pi-id-card\" header=\"2. Datos del estudiante\">\n <app-cod-form-step-two (changeStepEvent)=\"changeStep($event)\" [initialData]=\"dataFromPreviusCodData\" [isEditCod]=\"editCod\" [parametersAll]=\"parametersAll\" class=\"p-1\"></app-cod-form-step-two>\n </p-tabPanel>\n <p-tabPanel leftIcon=\"pi pi-user-edit\" header=\"3. Datos del acudiente\">\n <app-cod-form-step-three (changeStepEvent)=\"changeStep($event)\" [initialData]=\"dataFromPreviusCodData\" [isEditCod]=\"editCod\" [parametersAll]=\"parametersAll\" class=\"p-1\"></app-cod-form-step-three>\n </p-tabPanel>\n <p-tabPanel leftIcon=\"pi pi-money-bill\" header=\"4. Valores\">\n <app-cod-form-step-four (changeStepEvent)=\"changeStep($event)\" (financingData)=\"saveFinancingData($event)\" [initialData]=\"dataFromPreviusCodData\" [isEditCod]=\"editCod\" class=\"p-1\" [isRenovation]=\"isRenovation\"></app-cod-form-step-four>\n </p-tabPanel>\n <p-tabPanel leftIcon=\"pi pi-eye\" header=\"5. Observaciones\">\n <app-cod-form-step-five (changeStepEvent)=\"changeStep($event)\" [userRole]=\"userRole\" [initialData]=\"dataFromPreviusCodData\" (action)=\"getFormAction($event)\" [isEditCod]=\"editCod\" [isRenovation]=\"isRenovation\" class=\"p-1\" [parametersAll]=\"parametersAll\"></app-cod-form-step-five>\n </p-tabPanel>\n </p-tabView>\n </div>\n\n</div>\n\n<ng-template #Unauthorized>\n <span class=\"flex justify-content-center font-bold p-2 bg-yellow-200 border-round-lg w-full\">\n No tienes los permisos para acceder a esta funcionalidad, comun\u00EDcate con el desarrollador.\n </span>\n</ng-template>\n\n\n<ipt-loader *ngIf=\"isLoading\" [isDialog]=\"true\" [message]=\"loaderMessage\"></ipt-loader>\n", dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i7$2.TabView, selector: "p-tabView", inputs: ["orientation", "style", "styleClass", "controlClose", "scrollable", "activeIndex"], outputs: ["onChange", "onClose", "activeIndexChange"] }, { kind: "component", type: i7$2.TabPanel, selector: "p-tabPanel", inputs: ["closable", "headerStyle", "headerStyleClass", "cache", "tooltip", "tooltipPosition", "tooltipPositionStyle", "tooltipStyleClass", "selected", "disabled", "header", "leftIcon", "rightIcon"] }, { kind: "component", type: LoaderComponent, selector: "ipt-loader", inputs: ["message", "isDialog"] }, { kind: "component", type: CodFormStepOneComponent, selector: "app-cod-form-step-one", inputs: ["initialData", "dataPreviusCodData", "isEditCod", "courseSelectRenovation", "isRenovation", "parametersAll"], outputs: ["changeStepEvent"] }, { kind: "component", type: CodFormStepTwoComponent, selector: "app-cod-form-step-two", inputs: ["initialData", "isEditCod", "parametersAll"], outputs: ["changeStepEvent"] }, { kind: "component", type: CodFormStepThreeComponent, selector: "app-cod-form-step-three", inputs: ["initialData", "isEditCod", "parametersAll"], outputs: ["changeStepEvent"] }, { kind: "component", type: CodFormStepFourComponent, selector: "app-cod-form-step-four", inputs: ["isEditCod", "initialData", "isRenovation"], outputs: ["changeStepEvent", "financingData"] }, { kind: "component", type: CodFormStepFiveComponent, selector: "app-cod-form-step-five", inputs: ["userRole", "initialData", "isEditCod", "isRenovation", "parametersAll"], outputs: ["changeStepEvent", "action"] }] });
6569
+ CodFormComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.0.7", type: CodFormComponent, selector: "ipt-cod-form", inputs: { dataFromPreviusCodData: "dataFromPreviusCodData", courseSelect: "courseSelect", isNewCod: "isNewCod", editCod: "editCod", CourseSelectRenovation: "CourseSelectRenovation", isRenovation: "isRenovation" }, outputs: { okCreatedCOD: "okCreatedCOD" }, usesOnChanges: true, ngImport: i0, template: "<div *ngIf=\"allowedRole() ; else Unauthorized\" class=\"container flex flex-column bg-white border-round-2xl p-3 container animate__animated animate__fadeInUp\">\n\n <span *ngIf=\"editCod\" class=\"bg-yellow-500 p-2 border-round mb-2 w-auto text-lg font-semibold\" style=\"color: white;\">{{ formTitle }}</span>\n <span *ngIf=\"!editCod && !dataFromPreviusCodData?.cod_renovation\" class=\"bg-primary p-2 border-round mb-2 w-auto text-lg font-semibold\">{{ formTitle }}</span>\n <span *ngIf=\"!editCod && dataFromPreviusCodData?.cod_renovation == true\" class=\"p-2 border-round mb-2 w-auto text-lg font-semibold\" style=\"background-color:#1da750; color: white;\">{{ formTitle }}</span>\n <div *ngIf=\"parametersAll !== null\">\n <p-tabView [activeIndex]=\"currentStep\" (activeIndexChange)=\"currentStep = $event\" [scrollable]=\"true\">\n <p-tabPanel leftIcon=\"pi pi-star\" header=\"1. Planes y convenios\">\n <app-cod-form-step-one (changeStepEvent)=\"changeStep($event)\" [initialData]=\"courseSelect\" [dataPreviusCodData]=\"dataFromPreviusCodData\" [isEditCod]=\"editCod\" [courseSelectRenovation]=\"CourseSelectRenovation\" [isRenovation]=\"isRenovation\" [parametersAll]=\"parametersAll\" class=\"p-1\"></app-cod-form-step-one>\n </p-tabPanel>\n <p-tabPanel leftIcon=\"pi pi-id-card\" header=\"2. Datos del estudiante\">\n <app-cod-form-step-two (changeStepEvent)=\"changeStep($event)\" [initialData]=\"dataFromPreviusCodData\" [isEditCod]=\"editCod\" [parametersAll]=\"parametersAll\" class=\"p-1\"></app-cod-form-step-two>\n </p-tabPanel>\n <p-tabPanel leftIcon=\"pi pi-user-edit\" header=\"3. Datos del acudiente\">\n <app-cod-form-step-three (changeStepEvent)=\"changeStep($event)\" [initialData]=\"dataFromPreviusCodData\" [isEditCod]=\"editCod\" [parametersAll]=\"parametersAll\" class=\"p-1\"></app-cod-form-step-three>\n </p-tabPanel>\n <p-tabPanel leftIcon=\"pi pi-money-bill\" header=\"4. Valores\">\n <app-cod-form-step-four (changeStepEvent)=\"changeStep($event)\" (financingData)=\"saveFinancingData($event)\" [initialData]=\"dataFromPreviusCodData\" [isEditCod]=\"editCod\" class=\"p-1\" [isRenovation]=\"isRenovation\"></app-cod-form-step-four>\n </p-tabPanel>\n <p-tabPanel leftIcon=\"pi pi-eye\" header=\"5. Observaciones\">\n <app-cod-form-step-five (changeStepEvent)=\"changeStep($event)\" [userRole]=\"userRole\" [initialData]=\"dataFromPreviusCodData\" (action)=\"getFormAction($event)\" [isEditCod]=\"editCod\" [isRenovation]=\"isRenovation\" class=\"p-1\" [parametersAll]=\"parametersAll\"></app-cod-form-step-five>\n </p-tabPanel>\n </p-tabView>\n </div>\n\n</div>\n\n<ng-template #Unauthorized>\n <span class=\"flex justify-content-center font-bold p-2 bg-yellow-200 border-round-lg w-full\">\n No tienes los permisos para acceder a esta funcionalidad, comun\u00EDcate con el desarrollador.\n </span>\n</ng-template>\n\n\n<ipt-loader *ngIf=\"isLoading\" [isDialog]=\"true\" [message]=\"loaderMessage\"></ipt-loader>\n", dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i7$3.TabView, selector: "p-tabView", inputs: ["orientation", "style", "styleClass", "controlClose", "scrollable", "activeIndex"], outputs: ["onChange", "onClose", "activeIndexChange"] }, { kind: "component", type: i7$3.TabPanel, selector: "p-tabPanel", inputs: ["closable", "headerStyle", "headerStyleClass", "cache", "tooltip", "tooltipPosition", "tooltipPositionStyle", "tooltipStyleClass", "selected", "disabled", "header", "leftIcon", "rightIcon"] }, { kind: "component", type: LoaderComponent, selector: "ipt-loader", inputs: ["message", "isDialog"] }, { kind: "component", type: CodFormStepOneComponent, selector: "app-cod-form-step-one", inputs: ["initialData", "dataPreviusCodData", "isEditCod", "courseSelectRenovation", "isRenovation", "parametersAll"], outputs: ["changeStepEvent"] }, { kind: "component", type: CodFormStepTwoComponent, selector: "app-cod-form-step-two", inputs: ["initialData", "isEditCod", "parametersAll"], outputs: ["changeStepEvent"] }, { kind: "component", type: CodFormStepThreeComponent, selector: "app-cod-form-step-three", inputs: ["initialData", "isEditCod", "parametersAll"], outputs: ["changeStepEvent"] }, { kind: "component", type: CodFormStepFourComponent, selector: "app-cod-form-step-four", inputs: ["isEditCod", "initialData", "isRenovation"], outputs: ["changeStepEvent", "financingData"] }, { kind: "component", type: CodFormStepFiveComponent, selector: "app-cod-form-step-five", inputs: ["userRole", "initialData", "isEditCod", "isRenovation", "parametersAll"], outputs: ["changeStepEvent", "action"] }] });
6539
6570
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.7", ngImport: i0, type: CodFormComponent, decorators: [{
6540
6571
  type: Component,
6541
6572
  args: [{ selector: 'ipt-cod-form', template: "<div *ngIf=\"allowedRole() ; else Unauthorized\" class=\"container flex flex-column bg-white border-round-2xl p-3 container animate__animated animate__fadeInUp\">\n\n <span *ngIf=\"editCod\" class=\"bg-yellow-500 p-2 border-round mb-2 w-auto text-lg font-semibold\" style=\"color: white;\">{{ formTitle }}</span>\n <span *ngIf=\"!editCod && !dataFromPreviusCodData?.cod_renovation\" class=\"bg-primary p-2 border-round mb-2 w-auto text-lg font-semibold\">{{ formTitle }}</span>\n <span *ngIf=\"!editCod && dataFromPreviusCodData?.cod_renovation == true\" class=\"p-2 border-round mb-2 w-auto text-lg font-semibold\" style=\"background-color:#1da750; color: white;\">{{ formTitle }}</span>\n <div *ngIf=\"parametersAll !== null\">\n <p-tabView [activeIndex]=\"currentStep\" (activeIndexChange)=\"currentStep = $event\" [scrollable]=\"true\">\n <p-tabPanel leftIcon=\"pi pi-star\" header=\"1. Planes y convenios\">\n <app-cod-form-step-one (changeStepEvent)=\"changeStep($event)\" [initialData]=\"courseSelect\" [dataPreviusCodData]=\"dataFromPreviusCodData\" [isEditCod]=\"editCod\" [courseSelectRenovation]=\"CourseSelectRenovation\" [isRenovation]=\"isRenovation\" [parametersAll]=\"parametersAll\" class=\"p-1\"></app-cod-form-step-one>\n </p-tabPanel>\n <p-tabPanel leftIcon=\"pi pi-id-card\" header=\"2. Datos del estudiante\">\n <app-cod-form-step-two (changeStepEvent)=\"changeStep($event)\" [initialData]=\"dataFromPreviusCodData\" [isEditCod]=\"editCod\" [parametersAll]=\"parametersAll\" class=\"p-1\"></app-cod-form-step-two>\n </p-tabPanel>\n <p-tabPanel leftIcon=\"pi pi-user-edit\" header=\"3. Datos del acudiente\">\n <app-cod-form-step-three (changeStepEvent)=\"changeStep($event)\" [initialData]=\"dataFromPreviusCodData\" [isEditCod]=\"editCod\" [parametersAll]=\"parametersAll\" class=\"p-1\"></app-cod-form-step-three>\n </p-tabPanel>\n <p-tabPanel leftIcon=\"pi pi-money-bill\" header=\"4. Valores\">\n <app-cod-form-step-four (changeStepEvent)=\"changeStep($event)\" (financingData)=\"saveFinancingData($event)\" [initialData]=\"dataFromPreviusCodData\" [isEditCod]=\"editCod\" class=\"p-1\" [isRenovation]=\"isRenovation\"></app-cod-form-step-four>\n </p-tabPanel>\n <p-tabPanel leftIcon=\"pi pi-eye\" header=\"5. Observaciones\">\n <app-cod-form-step-five (changeStepEvent)=\"changeStep($event)\" [userRole]=\"userRole\" [initialData]=\"dataFromPreviusCodData\" (action)=\"getFormAction($event)\" [isEditCod]=\"editCod\" [isRenovation]=\"isRenovation\" class=\"p-1\" [parametersAll]=\"parametersAll\"></app-cod-form-step-five>\n </p-tabPanel>\n </p-tabView>\n </div>\n\n</div>\n\n<ng-template #Unauthorized>\n <span class=\"flex justify-content-center font-bold p-2 bg-yellow-200 border-round-lg w-full\">\n No tienes los permisos para acceder a esta funcionalidad, comun\u00EDcate con el desarrollador.\n </span>\n</ng-template>\n\n\n<ipt-loader *ngIf=\"isLoading\" [isDialog]=\"true\" [message]=\"loaderMessage\"></ipt-loader>\n" }]
@@ -8391,7 +8422,7 @@ class CodSelfFormStepOneComponent extends CodSelfManagedSteps {
8391
8422
  }
8392
8423
  }
8393
8424
  CodSelfFormStepOneComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.7", ngImport: i0, type: CodSelfFormStepOneComponent, deps: [{ token: i1$1.FormBuilder }, { token: ParameterService }, { token: i2$1.MessageService }, { token: UserService }, { token: BaseService }], target: i0.ɵɵFactoryTarget.Component });
8394
- CodSelfFormStepOneComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.0.7", type: CodSelfFormStepOneComponent, selector: "app-cod-self-form-step-one", inputs: { userStudent: "userStudent" }, outputs: { completed: "completed", idTypesChanged: "idTypesChanged" }, usesInheritance: true, usesOnChanges: true, ngImport: i0, template: "<div class=\"container-main\">\n <div class=\"container-form\">\n <!-- <i class=\"pi pi-user-edit icon__tittle\"></i> -->\n <h2>Datos Personales</h2>\n <p-toast position=\"top-center\" key=\"confirm\" (onClose)=\"onReject()\" [baseZIndex]=\"10\">\n <ng-template let-message pTemplate=\"message\">\n <div class=\"flex flex-column align-items-start\" style=\"flex: 1\">\n <div class=\"flex align-items-center gap-2\">\n <img src=\"./assets/logos/reading.png\" style=\"width: 65px;\" shape=\"circle\" />\n <span class=\"font-bold text-900\">Jacob</span>\n </div>\n <div class=\"font-medium text-lg my-3 text-900\">{{ messageInfo }}</div>\n </div>\n </ng-template>\n </p-toast>\n\n <i class=\"pi pi-exclamation-circle cursor-pointer w-auto\" (click)=\"showConfirm()\" pTooltip=\"Mas info.\" tooltipPosition=\"bottom\"></i>\n <form [formGroup]=\"codSelfFormStepOne\">\n\n <ipt-input\n [inputType]=\"'text'\"\n [placeHolder]=\"'Nombres'\"\n [control]=\"codSelfFormStepOne.controls['student_name']\"\n ></ipt-input>\n <div *ngIf=\"codSelfFormStepOne.controls['student_name'].invalid && codSelfFormStepOne.controls['student_name'].touched\">\n <span class=\"error-message\">Por favor ingresa un nombre v\u00E1lido.</span>\n </div>\n <ipt-input\n [inputType]=\"'text'\"\n [placeHolder]=\"'Apellidos'\"\n [control]=\"codSelfFormStepOne.controls['student_last_name']\"\n ></ipt-input>\n <div *ngIf=\"codSelfFormStepOne.controls['student_last_name'].invalid && codSelfFormStepOne.controls['student_last_name'].touched\">\n <span class=\"error-message\">Por favor ingresa un apellido v\u00E1lido.</span>\n </div>\n <ipt-select\n [initialValue]=\"codSelfFormStepOne.controls['student_id_card_type'].value\"\n [control]=\"codSelfFormStepOne.controls['student_id_card_type']\"\n [selectCode]=\"codSelfFormStepOne.controls['student_id_card_type'].value === null ? 'Tipo de documento' : codSelfFormStepOne.controls['student_id_card_type'].value\"\n [isRequired]=\"true\"\n [data]=\"idTypes\"\n (eventSelect)=\"selectIdType($event)\"\n [defaultText]=\"'Tipo de documento'\"\n ></ipt-select>\n <div *ngIf=\"codSelfFormStepOne.controls['student_id_card_type'].invalid && codSelfFormStepOne.controls['student_id_card_type'].touched\">\n <span class=\"error-message\">Por favor ingresa un tipo de documento v\u00E1lido.</span>\n </div>\n <ipt-input\n [inputType]=\"'number'\"\n [placeHolder]=\"'N\u00FAmero de documento'\"\n [control]=\"codSelfFormStepOne.controls['student_id_card']\"\n ></ipt-input>\n <div *ngIf=\"codSelfFormStepOne.controls['student_id_card'].invalid && codSelfFormStepOne.controls['student_id_card'].touched\">\n <span class=\"error-message\">Por favor ingresa un documento v\u00E1lido.</span>\n </div>\n <ipt-select\n [initialValue]=\"codSelfFormStepOne.controls['gender'].value\"\n [control]=\"codSelfFormStepOne.controls['gender']\"\n [data]=\"genders\"\n (eventSelect)=\"selectGender($event)\"\n [defaultText]=\"'G\u00E9nero'\"\n ></ipt-select>\n <div *ngIf=\"codSelfFormStepOne.controls['gender'].invalid && codSelfFormStepOne.controls['gender'].touched\">\n <span class=\"error-message\">Por favor ingresa un genero v\u00E1lido.</span>\n </div>\n <ipt-input\n onfocus=\"(this.type='date')\"\n [inputType]=\"'date'\"\n [control]=\"codSelfFormStepOne.controls['birthdate']\"\n [placeHolder]=\"'Fecha de nacimiento'\"\n ></ipt-input>\n <div *ngIf=\"codSelfFormStepOne.controls['birthdate'].invalid && codSelfFormStepOne.controls['birthdate'].touched\">\n <span class=\"error-message\">Por favor ingresa una fecha mayor de 3 a\u00F1os.</span>\n </div>\n <ipt-select\n [initialValue]=\"codSelfFormStepOne.controls['country'].value\"\n [control]=\"codSelfFormStepOne.controls['country']\"\n [selectCode]=\"codSelfFormStepOne.controls['country'].value === null ? 'Pa\u00EDs de residencia' : codSelfFormStepOne.controls['country'].value\"\n (eventSelect)=\"selectCountry($event)\"\n [data]=\"countries\"\n [defaultText]=\"'Pa\u00EDs de residencia'\"\n ></ipt-select>\n <div *ngIf=\"codSelfFormStepOne.controls['country'].invalid && codSelfFormStepOne.controls['country'].touched\">\n <span class=\"error-message\">Por favor ingresa un pais v\u00E1lido.</span>\n </div>\n <ipt-select\n [initialValue]=\"codSelfFormStepOne.controls['state'].value\"\n [control]=\"codSelfFormStepOne.controls['state']\"\n [selectCode]=\"codSelfFormStepOne.controls['state'].value === null ? 'Departamento o estado' : codSelfFormStepOne.controls['state'].value\"\n [isRequired]=\"true\"\n (eventSelect)=\"selectState($event)\"\n [data]=\"states\"\n [defaultText]=\"'Departamento o estado'\"\n ></ipt-select>\n <div *ngIf=\"codSelfFormStepOne.controls['state'].invalid && codSelfFormStepOne.controls['state'].touched\">\n <span class=\"error-message\">Por favor ingresa un departamento v\u00E1lido.</span>\n </div>\n <ipt-select\n [initialValue]=\"codSelfFormStepOne.controls['city'].value\"\n [control]=\"codSelfFormStepOne.controls['city']\"\n [selectCode]=\"codSelfFormStepOne.controls['city'].value === null ? 'Ciudad de residencia' : codSelfFormStepOne.controls['city'].value\"\n (eventSelect)=\"selectCity($event)\"\n [data]=\"cities\"\n [defaultText]=\"'Ciudad de residencia'\"\n ></ipt-select>\n <div *ngIf=\"codSelfFormStepOne.controls['city'].invalid && codSelfFormStepOne.controls['city'].touched\">\n <span class=\"error-message\">Por favor ingresa una ciudad v\u00E1lido.</span>\n </div>\n <ipt-input\n [inputType]=\"'email'\"\n [placeHolder]=\"'Correo electr\u00F3nico'\"\n [control]=\"codSelfFormStepOne.controls['student_email']\"\n ></ipt-input>\n <div *ngIf=\"codSelfFormStepOne.controls['student_email'].invalid && codSelfFormStepOne.controls['student_email'].touched\">\n <span class=\"error-message\">Por favor ingresa un email valido.</span>\n </div>\n <ipt-select\n [initialValue]=\"codSelfFormStepOne.controls['student_phone_indicative'].value\"\n [control]=\"codSelfFormStepOne.controls['student_phone_indicative']\"\n [data]=\"indicatives\"\n (eventSelect)=\"selectIndicatives($event)\"\n [defaultText]=\"'Indicativo'\"\n ></ipt-select>\n <div *ngIf=\"codSelfFormStepOne.controls['student_phone_indicative'].invalid && codSelfFormStepOne.controls['student_phone_indicative'].touched\">\n <span class=\"error-message\">Por favor ingresa un indicativo valido.</span>\n </div>\n <ipt-input\n [inputType]=\"'number'\"\n [placeHolder]=\"'N\u00FAmero de tel\u00E9fono'\"\n [control]=\"codSelfFormStepOne.controls['student_phone_number']\"\n ></ipt-input>\n <div *ngIf=\"codSelfFormStepOne.controls['student_phone_number'].invalid && codSelfFormStepOne.controls['student_phone_number'].touched\">\n <span class=\"error-message\">Por favor ingresa un indicativo valido.</span>\n </div>\n <ipt-select\n [initialValue]=\"codSelfFormStepOne.controls['grade'].value\"\n [control]=\"codSelfFormStepOne.controls['grade']\"\n [data]=\"grades\"\n (eventSelect)=\"selectGrade($event)\"\n [defaultText]=\"'Grado Educativo'\"\n ></ipt-select>\n <div *ngIf=\"codSelfFormStepOne.controls['grade'].invalid && codSelfFormStepOne.controls['grade'].touched\">\n <span class=\"error-message\">Por favor selecciona un grado educativo</span>\n </div>\n <ipt-select\n *ngIf=\"showAgreementSelect\"\n [initialValue]=\"codSelfFormStepOne.controls['agreement_by_category'].value\"\n [control]=\"codSelfFormStepOne.controls['agreement_by_category']\"\n [data]=\"agreements\"\n (eventSelect)=\"selectAgreement($event)\"\n [defaultText]=\"'Convenio'\"\n ></ipt-select>\n <div *ngIf=\"codSelfFormStepOne.controls['agreement_by_category'].invalid && codSelfFormStepOne.controls['agreement_by_category'].touched\">\n <span class=\"error-message\">Por favor selecciona un convenio valido</span>\n </div>\n </form>\n\n <div class=\"flex justify-content-end mt-3 align-items-center gap-3\">\n <button\n pButton\n icon=\"pi pi-arrow-right\"\n type=\"submit\"\n [disabled]=\"!codSelfFormStepOne.valid\"\n (click)=\"sendForm()\"\n ></button>\n </div>\n </div>\n\n</div>\n", styles: [".container-form{margin:5%;border-radius:3px;border:1px solid #2563eb;box-shadow:#3c40434d 0 1px 2px,#3c404326 0 2px 6px 2px;padding:1rem}.error-message{font-size:x-small;color:red}:host ::ng-deep .p-toast{width:20rem!important}.icon__tittle{color:#2563eb}\n"], dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: InputComponent, selector: "ipt-input", inputs: ["inputType", "placeHolder", "validateText", "withPipe", "list", "iconUrl", "control", "prefix", "thousands", "decimal", "disabledSel"], outputs: ["dateSelected"] }, { kind: "component", type: SelectComponent, selector: "ipt-select", inputs: ["isRequired", "data", "defaultText", "selectCode", "disabledSel", "initialValue", "label", "control"], outputs: ["eventSelect"] }, { kind: "directive", type: i1$1.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i1$1.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i1$1.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i9.Tooltip, selector: "[pTooltip]", inputs: ["tooltipPosition", "tooltipEvent", "appendTo", "positionStyle", "tooltipStyleClass", "tooltipZIndex", "escape", "showDelay", "hideDelay", "life", "positionTop", "positionLeft", "fitContent", "pTooltip", "tooltipDisabled", "tooltipOptions"] }, { kind: "directive", type: i6$1.ButtonDirective, selector: "[pButton]", inputs: ["iconPos", "loadingIcon", "label", "icon", "loading"] }, { kind: "component", type: i11$1.Toast, selector: "p-toast", inputs: ["key", "autoZIndex", "baseZIndex", "style", "styleClass", "position", "preventOpenDuplicates", "preventDuplicates", "showTransformOptions", "hideTransformOptions", "showTransitionOptions", "hideTransitionOptions", "breakpoints"], outputs: ["onClose"] }, { kind: "directive", type: i2$1.PrimeTemplate, selector: "[pTemplate]", inputs: ["type", "pTemplate"] }] });
8425
+ CodSelfFormStepOneComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.0.7", type: CodSelfFormStepOneComponent, selector: "app-cod-self-form-step-one", inputs: { userStudent: "userStudent" }, outputs: { completed: "completed", idTypesChanged: "idTypesChanged" }, usesInheritance: true, usesOnChanges: true, ngImport: i0, template: "<div class=\"container-main\">\n <div class=\"container-form\">\n <!-- <i class=\"pi pi-user-edit icon__tittle\"></i> -->\n <h2>Datos Personales</h2>\n <p-toast position=\"top-center\" key=\"confirm\" (onClose)=\"onReject()\" [baseZIndex]=\"10\">\n <ng-template let-message pTemplate=\"message\">\n <div class=\"flex flex-column align-items-start\" style=\"flex: 1\">\n <div class=\"flex align-items-center gap-2\">\n <img src=\"./assets/logos/reading.png\" style=\"width: 65px;\" shape=\"circle\" />\n <span class=\"font-bold text-900\">Jacob</span>\n </div>\n <div class=\"font-medium text-lg my-3 text-900\">{{ messageInfo }}</div>\n </div>\n </ng-template>\n </p-toast>\n\n <i class=\"pi pi-exclamation-circle cursor-pointer w-auto\" (click)=\"showConfirm()\" pTooltip=\"Mas info.\" tooltipPosition=\"bottom\"></i>\n <form [formGroup]=\"codSelfFormStepOne\">\n\n <ipt-input\n [inputType]=\"'text'\"\n [placeHolder]=\"'Nombres'\"\n [control]=\"codSelfFormStepOne.controls['student_name']\"\n ></ipt-input>\n <div *ngIf=\"codSelfFormStepOne.controls['student_name'].invalid && codSelfFormStepOne.controls['student_name'].touched\">\n <span class=\"error-message\">Por favor ingresa un nombre v\u00E1lido.</span>\n </div>\n <ipt-input\n [inputType]=\"'text'\"\n [placeHolder]=\"'Apellidos'\"\n [control]=\"codSelfFormStepOne.controls['student_last_name']\"\n ></ipt-input>\n <div *ngIf=\"codSelfFormStepOne.controls['student_last_name'].invalid && codSelfFormStepOne.controls['student_last_name'].touched\">\n <span class=\"error-message\">Por favor ingresa un apellido v\u00E1lido.</span>\n </div>\n <ipt-select\n [initialValue]=\"codSelfFormStepOne.controls['student_id_card_type'].value\"\n [control]=\"codSelfFormStepOne.controls['student_id_card_type']\"\n [selectCode]=\"codSelfFormStepOne.controls['student_id_card_type'].value === null ? 'Tipo de documento' : codSelfFormStepOne.controls['student_id_card_type'].value\"\n [isRequired]=\"true\"\n [data]=\"idTypes\"\n (eventSelect)=\"selectIdType($event)\"\n [defaultText]=\"'Tipo de documento'\"\n ></ipt-select>\n <div *ngIf=\"codSelfFormStepOne.controls['student_id_card_type'].invalid && codSelfFormStepOne.controls['student_id_card_type'].touched\">\n <span class=\"error-message\">Por favor ingresa un tipo de documento v\u00E1lido.</span>\n </div>\n <ipt-input\n [inputType]=\"'number'\"\n [placeHolder]=\"'N\u00FAmero de documento'\"\n [control]=\"codSelfFormStepOne.controls['student_id_card']\"\n ></ipt-input>\n <div *ngIf=\"codSelfFormStepOne.controls['student_id_card'].invalid && codSelfFormStepOne.controls['student_id_card'].touched\">\n <span class=\"error-message\">Por favor ingresa un documento v\u00E1lido.</span>\n </div>\n <ipt-select\n [initialValue]=\"codSelfFormStepOne.controls['gender'].value\"\n [control]=\"codSelfFormStepOne.controls['gender']\"\n [data]=\"genders\"\n (eventSelect)=\"selectGender($event)\"\n [defaultText]=\"'G\u00E9nero'\"\n ></ipt-select>\n <div *ngIf=\"codSelfFormStepOne.controls['gender'].invalid && codSelfFormStepOne.controls['gender'].touched\">\n <span class=\"error-message\">Por favor ingresa un genero v\u00E1lido.</span>\n </div>\n <ipt-input\n onfocus=\"(this.type='date')\"\n [inputType]=\"'date'\"\n [control]=\"codSelfFormStepOne.controls['birthdate']\"\n [placeHolder]=\"'Fecha de nacimiento'\"\n ></ipt-input>\n <div *ngIf=\"codSelfFormStepOne.controls['birthdate'].invalid && codSelfFormStepOne.controls['birthdate'].touched\">\n <span class=\"error-message\">Por favor ingresa una fecha mayor de 3 a\u00F1os.</span>\n </div>\n <ipt-select\n [initialValue]=\"codSelfFormStepOne.controls['country'].value\"\n [control]=\"codSelfFormStepOne.controls['country']\"\n [selectCode]=\"codSelfFormStepOne.controls['country'].value === null ? 'Pa\u00EDs de residencia' : codSelfFormStepOne.controls['country'].value\"\n (eventSelect)=\"selectCountry($event)\"\n [data]=\"countries\"\n [defaultText]=\"'Pa\u00EDs de residencia'\"\n ></ipt-select>\n <div *ngIf=\"codSelfFormStepOne.controls['country'].invalid && codSelfFormStepOne.controls['country'].touched\">\n <span class=\"error-message\">Por favor ingresa un pais v\u00E1lido.</span>\n </div>\n <ipt-select\n [initialValue]=\"codSelfFormStepOne.controls['state'].value\"\n [control]=\"codSelfFormStepOne.controls['state']\"\n [selectCode]=\"codSelfFormStepOne.controls['state'].value === null ? 'Departamento o estado' : codSelfFormStepOne.controls['state'].value\"\n [isRequired]=\"true\"\n (eventSelect)=\"selectState($event)\"\n [data]=\"states\"\n [defaultText]=\"'Departamento o estado'\"\n ></ipt-select>\n <div *ngIf=\"codSelfFormStepOne.controls['state'].invalid && codSelfFormStepOne.controls['state'].touched\">\n <span class=\"error-message\">Por favor ingresa un departamento v\u00E1lido.</span>\n </div>\n <ipt-select\n [initialValue]=\"codSelfFormStepOne.controls['city'].value\"\n [control]=\"codSelfFormStepOne.controls['city']\"\n [selectCode]=\"codSelfFormStepOne.controls['city'].value === null ? 'Ciudad de residencia' : codSelfFormStepOne.controls['city'].value\"\n (eventSelect)=\"selectCity($event)\"\n [data]=\"cities\"\n [defaultText]=\"'Ciudad de residencia'\"\n ></ipt-select>\n <div *ngIf=\"codSelfFormStepOne.controls['city'].invalid && codSelfFormStepOne.controls['city'].touched\">\n <span class=\"error-message\">Por favor ingresa una ciudad v\u00E1lido.</span>\n </div>\n <ipt-input\n [inputType]=\"'email'\"\n [placeHolder]=\"'Correo electr\u00F3nico'\"\n [control]=\"codSelfFormStepOne.controls['student_email']\"\n ></ipt-input>\n <div *ngIf=\"codSelfFormStepOne.controls['student_email'].invalid && codSelfFormStepOne.controls['student_email'].touched\">\n <span class=\"error-message\">Por favor ingresa un email valido.</span>\n </div>\n <ipt-select\n [initialValue]=\"codSelfFormStepOne.controls['student_phone_indicative'].value\"\n [control]=\"codSelfFormStepOne.controls['student_phone_indicative']\"\n [data]=\"indicatives\"\n (eventSelect)=\"selectIndicatives($event)\"\n [defaultText]=\"'Indicativo'\"\n ></ipt-select>\n <div *ngIf=\"codSelfFormStepOne.controls['student_phone_indicative'].invalid && codSelfFormStepOne.controls['student_phone_indicative'].touched\">\n <span class=\"error-message\">Por favor ingresa un indicativo valido.</span>\n </div>\n <ipt-input\n [inputType]=\"'number'\"\n [placeHolder]=\"'N\u00FAmero de tel\u00E9fono'\"\n [control]=\"codSelfFormStepOne.controls['student_phone_number']\"\n ></ipt-input>\n <div *ngIf=\"codSelfFormStepOne.controls['student_phone_number'].invalid && codSelfFormStepOne.controls['student_phone_number'].touched\">\n <span class=\"error-message\">Por favor ingresa un indicativo valido.</span>\n </div>\n <ipt-select\n [initialValue]=\"codSelfFormStepOne.controls['grade'].value\"\n [control]=\"codSelfFormStepOne.controls['grade']\"\n [data]=\"grades\"\n (eventSelect)=\"selectGrade($event)\"\n [defaultText]=\"'Grado Educativo'\"\n ></ipt-select>\n <div *ngIf=\"codSelfFormStepOne.controls['grade'].invalid && codSelfFormStepOne.controls['grade'].touched\">\n <span class=\"error-message\">Por favor selecciona un grado educativo</span>\n </div>\n <ipt-select\n *ngIf=\"showAgreementSelect\"\n [initialValue]=\"codSelfFormStepOne.controls['agreement_by_category'].value\"\n [control]=\"codSelfFormStepOne.controls['agreement_by_category']\"\n [data]=\"agreements\"\n (eventSelect)=\"selectAgreement($event)\"\n [defaultText]=\"'Convenio'\"\n ></ipt-select>\n <div *ngIf=\"codSelfFormStepOne.controls['agreement_by_category'].invalid && codSelfFormStepOne.controls['agreement_by_category'].touched\">\n <span class=\"error-message\">Por favor selecciona un convenio valido</span>\n </div>\n </form>\n\n <div class=\"flex justify-content-end mt-3 align-items-center gap-3\">\n <button\n pButton\n icon=\"pi pi-arrow-right\"\n type=\"submit\"\n [disabled]=\"!codSelfFormStepOne.valid\"\n (click)=\"sendForm()\"\n ></button>\n </div>\n </div>\n\n</div>\n", styles: [".container-form{margin:5%;border-radius:3px;border:1px solid #2563eb;box-shadow:#3c40434d 0 1px 2px,#3c404326 0 2px 6px 2px;padding:1rem}.error-message{font-size:x-small;color:red}:host ::ng-deep .p-toast{width:20rem!important}.icon__tittle{color:#2563eb}\n"], dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: InputComponent, selector: "ipt-input", inputs: ["inputType", "placeHolder", "validateText", "withPipe", "list", "iconUrl", "control", "prefix", "thousands", "decimal", "disabledSel"], outputs: ["dateSelected"] }, { kind: "component", type: SelectComponent, selector: "ipt-select", inputs: ["isRequired", "data", "defaultText", "selectCode", "disabledSel", "initialValue", "label", "control"], outputs: ["eventSelect"] }, { kind: "directive", type: i1$1.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i1$1.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i1$1.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i9.Tooltip, selector: "[pTooltip]", inputs: ["tooltipPosition", "tooltipEvent", "appendTo", "positionStyle", "tooltipStyleClass", "tooltipZIndex", "escape", "showDelay", "hideDelay", "life", "positionTop", "positionLeft", "fitContent", "pTooltip", "tooltipDisabled", "tooltipOptions"] }, { kind: "directive", type: i6$2.ButtonDirective, selector: "[pButton]", inputs: ["iconPos", "loadingIcon", "label", "icon", "loading"] }, { kind: "component", type: i11$1.Toast, selector: "p-toast", inputs: ["key", "autoZIndex", "baseZIndex", "style", "styleClass", "position", "preventOpenDuplicates", "preventDuplicates", "showTransformOptions", "hideTransformOptions", "showTransitionOptions", "hideTransitionOptions", "breakpoints"], outputs: ["onClose"] }, { kind: "directive", type: i2$1.PrimeTemplate, selector: "[pTemplate]", inputs: ["type", "pTemplate"] }] });
8395
8426
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.7", ngImport: i0, type: CodSelfFormStepOneComponent, decorators: [{
8396
8427
  type: Component,
8397
8428
  args: [{ selector: 'app-cod-self-form-step-one', template: "<div class=\"container-main\">\n <div class=\"container-form\">\n <!-- <i class=\"pi pi-user-edit icon__tittle\"></i> -->\n <h2>Datos Personales</h2>\n <p-toast position=\"top-center\" key=\"confirm\" (onClose)=\"onReject()\" [baseZIndex]=\"10\">\n <ng-template let-message pTemplate=\"message\">\n <div class=\"flex flex-column align-items-start\" style=\"flex: 1\">\n <div class=\"flex align-items-center gap-2\">\n <img src=\"./assets/logos/reading.png\" style=\"width: 65px;\" shape=\"circle\" />\n <span class=\"font-bold text-900\">Jacob</span>\n </div>\n <div class=\"font-medium text-lg my-3 text-900\">{{ messageInfo }}</div>\n </div>\n </ng-template>\n </p-toast>\n\n <i class=\"pi pi-exclamation-circle cursor-pointer w-auto\" (click)=\"showConfirm()\" pTooltip=\"Mas info.\" tooltipPosition=\"bottom\"></i>\n <form [formGroup]=\"codSelfFormStepOne\">\n\n <ipt-input\n [inputType]=\"'text'\"\n [placeHolder]=\"'Nombres'\"\n [control]=\"codSelfFormStepOne.controls['student_name']\"\n ></ipt-input>\n <div *ngIf=\"codSelfFormStepOne.controls['student_name'].invalid && codSelfFormStepOne.controls['student_name'].touched\">\n <span class=\"error-message\">Por favor ingresa un nombre v\u00E1lido.</span>\n </div>\n <ipt-input\n [inputType]=\"'text'\"\n [placeHolder]=\"'Apellidos'\"\n [control]=\"codSelfFormStepOne.controls['student_last_name']\"\n ></ipt-input>\n <div *ngIf=\"codSelfFormStepOne.controls['student_last_name'].invalid && codSelfFormStepOne.controls['student_last_name'].touched\">\n <span class=\"error-message\">Por favor ingresa un apellido v\u00E1lido.</span>\n </div>\n <ipt-select\n [initialValue]=\"codSelfFormStepOne.controls['student_id_card_type'].value\"\n [control]=\"codSelfFormStepOne.controls['student_id_card_type']\"\n [selectCode]=\"codSelfFormStepOne.controls['student_id_card_type'].value === null ? 'Tipo de documento' : codSelfFormStepOne.controls['student_id_card_type'].value\"\n [isRequired]=\"true\"\n [data]=\"idTypes\"\n (eventSelect)=\"selectIdType($event)\"\n [defaultText]=\"'Tipo de documento'\"\n ></ipt-select>\n <div *ngIf=\"codSelfFormStepOne.controls['student_id_card_type'].invalid && codSelfFormStepOne.controls['student_id_card_type'].touched\">\n <span class=\"error-message\">Por favor ingresa un tipo de documento v\u00E1lido.</span>\n </div>\n <ipt-input\n [inputType]=\"'number'\"\n [placeHolder]=\"'N\u00FAmero de documento'\"\n [control]=\"codSelfFormStepOne.controls['student_id_card']\"\n ></ipt-input>\n <div *ngIf=\"codSelfFormStepOne.controls['student_id_card'].invalid && codSelfFormStepOne.controls['student_id_card'].touched\">\n <span class=\"error-message\">Por favor ingresa un documento v\u00E1lido.</span>\n </div>\n <ipt-select\n [initialValue]=\"codSelfFormStepOne.controls['gender'].value\"\n [control]=\"codSelfFormStepOne.controls['gender']\"\n [data]=\"genders\"\n (eventSelect)=\"selectGender($event)\"\n [defaultText]=\"'G\u00E9nero'\"\n ></ipt-select>\n <div *ngIf=\"codSelfFormStepOne.controls['gender'].invalid && codSelfFormStepOne.controls['gender'].touched\">\n <span class=\"error-message\">Por favor ingresa un genero v\u00E1lido.</span>\n </div>\n <ipt-input\n onfocus=\"(this.type='date')\"\n [inputType]=\"'date'\"\n [control]=\"codSelfFormStepOne.controls['birthdate']\"\n [placeHolder]=\"'Fecha de nacimiento'\"\n ></ipt-input>\n <div *ngIf=\"codSelfFormStepOne.controls['birthdate'].invalid && codSelfFormStepOne.controls['birthdate'].touched\">\n <span class=\"error-message\">Por favor ingresa una fecha mayor de 3 a\u00F1os.</span>\n </div>\n <ipt-select\n [initialValue]=\"codSelfFormStepOne.controls['country'].value\"\n [control]=\"codSelfFormStepOne.controls['country']\"\n [selectCode]=\"codSelfFormStepOne.controls['country'].value === null ? 'Pa\u00EDs de residencia' : codSelfFormStepOne.controls['country'].value\"\n (eventSelect)=\"selectCountry($event)\"\n [data]=\"countries\"\n [defaultText]=\"'Pa\u00EDs de residencia'\"\n ></ipt-select>\n <div *ngIf=\"codSelfFormStepOne.controls['country'].invalid && codSelfFormStepOne.controls['country'].touched\">\n <span class=\"error-message\">Por favor ingresa un pais v\u00E1lido.</span>\n </div>\n <ipt-select\n [initialValue]=\"codSelfFormStepOne.controls['state'].value\"\n [control]=\"codSelfFormStepOne.controls['state']\"\n [selectCode]=\"codSelfFormStepOne.controls['state'].value === null ? 'Departamento o estado' : codSelfFormStepOne.controls['state'].value\"\n [isRequired]=\"true\"\n (eventSelect)=\"selectState($event)\"\n [data]=\"states\"\n [defaultText]=\"'Departamento o estado'\"\n ></ipt-select>\n <div *ngIf=\"codSelfFormStepOne.controls['state'].invalid && codSelfFormStepOne.controls['state'].touched\">\n <span class=\"error-message\">Por favor ingresa un departamento v\u00E1lido.</span>\n </div>\n <ipt-select\n [initialValue]=\"codSelfFormStepOne.controls['city'].value\"\n [control]=\"codSelfFormStepOne.controls['city']\"\n [selectCode]=\"codSelfFormStepOne.controls['city'].value === null ? 'Ciudad de residencia' : codSelfFormStepOne.controls['city'].value\"\n (eventSelect)=\"selectCity($event)\"\n [data]=\"cities\"\n [defaultText]=\"'Ciudad de residencia'\"\n ></ipt-select>\n <div *ngIf=\"codSelfFormStepOne.controls['city'].invalid && codSelfFormStepOne.controls['city'].touched\">\n <span class=\"error-message\">Por favor ingresa una ciudad v\u00E1lido.</span>\n </div>\n <ipt-input\n [inputType]=\"'email'\"\n [placeHolder]=\"'Correo electr\u00F3nico'\"\n [control]=\"codSelfFormStepOne.controls['student_email']\"\n ></ipt-input>\n <div *ngIf=\"codSelfFormStepOne.controls['student_email'].invalid && codSelfFormStepOne.controls['student_email'].touched\">\n <span class=\"error-message\">Por favor ingresa un email valido.</span>\n </div>\n <ipt-select\n [initialValue]=\"codSelfFormStepOne.controls['student_phone_indicative'].value\"\n [control]=\"codSelfFormStepOne.controls['student_phone_indicative']\"\n [data]=\"indicatives\"\n (eventSelect)=\"selectIndicatives($event)\"\n [defaultText]=\"'Indicativo'\"\n ></ipt-select>\n <div *ngIf=\"codSelfFormStepOne.controls['student_phone_indicative'].invalid && codSelfFormStepOne.controls['student_phone_indicative'].touched\">\n <span class=\"error-message\">Por favor ingresa un indicativo valido.</span>\n </div>\n <ipt-input\n [inputType]=\"'number'\"\n [placeHolder]=\"'N\u00FAmero de tel\u00E9fono'\"\n [control]=\"codSelfFormStepOne.controls['student_phone_number']\"\n ></ipt-input>\n <div *ngIf=\"codSelfFormStepOne.controls['student_phone_number'].invalid && codSelfFormStepOne.controls['student_phone_number'].touched\">\n <span class=\"error-message\">Por favor ingresa un indicativo valido.</span>\n </div>\n <ipt-select\n [initialValue]=\"codSelfFormStepOne.controls['grade'].value\"\n [control]=\"codSelfFormStepOne.controls['grade']\"\n [data]=\"grades\"\n (eventSelect)=\"selectGrade($event)\"\n [defaultText]=\"'Grado Educativo'\"\n ></ipt-select>\n <div *ngIf=\"codSelfFormStepOne.controls['grade'].invalid && codSelfFormStepOne.controls['grade'].touched\">\n <span class=\"error-message\">Por favor selecciona un grado educativo</span>\n </div>\n <ipt-select\n *ngIf=\"showAgreementSelect\"\n [initialValue]=\"codSelfFormStepOne.controls['agreement_by_category'].value\"\n [control]=\"codSelfFormStepOne.controls['agreement_by_category']\"\n [data]=\"agreements\"\n (eventSelect)=\"selectAgreement($event)\"\n [defaultText]=\"'Convenio'\"\n ></ipt-select>\n <div *ngIf=\"codSelfFormStepOne.controls['agreement_by_category'].invalid && codSelfFormStepOne.controls['agreement_by_category'].touched\">\n <span class=\"error-message\">Por favor selecciona un convenio valido</span>\n </div>\n </form>\n\n <div class=\"flex justify-content-end mt-3 align-items-center gap-3\">\n <button\n pButton\n icon=\"pi pi-arrow-right\"\n type=\"submit\"\n [disabled]=\"!codSelfFormStepOne.valid\"\n (click)=\"sendForm()\"\n ></button>\n </div>\n </div>\n\n</div>\n", styles: [".container-form{margin:5%;border-radius:3px;border:1px solid #2563eb;box-shadow:#3c40434d 0 1px 2px,#3c404326 0 2px 6px 2px;padding:1rem}.error-message{font-size:x-small;color:red}:host ::ng-deep .p-toast{width:20rem!important}.icon__tittle{color:#2563eb}\n"] }]
@@ -8550,7 +8581,7 @@ class CodSelfFormStepTwoComponent extends CodSelfManagedSteps {
8550
8581
  }
8551
8582
  }
8552
8583
  CodSelfFormStepTwoComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.7", ngImport: i0, type: CodSelfFormStepTwoComponent, deps: [{ token: i1$1.FormBuilder }, { token: i2$1.MessageService }, { token: BaseService }, { token: AcademicService }], target: i0.ɵɵFactoryTarget.Component });
8553
- CodSelfFormStepTwoComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.0.7", type: CodSelfFormStepTwoComponent, selector: "app-cod-self-form-step-two", inputs: { scorePlacementTest: "scorePlacementTest", codPrevious: "codPrevious" }, outputs: { completed: "completed" }, usesInheritance: true, ngImport: i0, template: "<div class=\"container-main\">\n <div class=\"container-form\">\n <div class=\"title_step\">\n <h2 class=\"title\">Planes</h2>\n <i class=\"pi pi-exclamation-circle cursor-pointer w-auto mt-4 mb-4\" (click)=\"showConfirm()\" pTooltip=\"Mas info.\" tooltipPosition=\"bottom\"></i>\n </div>\n <p-toast position=\"top-center\" key=\"confirm\" (onClose)=\"onReject()\" [baseZIndex]=\"10\">\n <ng-template let-message pTemplate=\"message\">\n <div class=\"flex flex-column align-items-start\" style=\"flex: 1\">\n <div class=\"flex align-items-center gap-2\">\n <img src=\"./assets/logos/reading.png\" style=\"width: 65px;\" shape=\"circle\" />\n <span class=\"font-bold text-900\">Jacob</span>\n </div>\n <div class=\"font-medium text-lg my-3 text-900\">{{ messageInfo }}</div>\n </div>\n </ng-template>\n </p-toast>\n\n <div class=\"animate__animated animate__slideInRight ng-star-inserted\">\n <div class=\"container-button\" *ngIf=\"!SearchData\">\n <ipt-button\n [label]=\"'Filtrar'\"\n (onClick)=\"filterAgain()\"\n [primary]=\"true\">\n </ipt-button>\n </div>\n\n <div *ngIf=\"SearchData\">\n <p-accordion [multiple]=\"true\" [activeIndex]=\"[0]\">\n <p-accordionTab header=\"Jornada\">\n <div class=\"containerDay\">\n <div class=\"checkBox flex flex-wrap justify-content-between m-3 gap-3\">\n <div *ngFor=\"let dayW of schedules; index as ind\" class=\"field-checkbox\">\n <p-checkbox\n name=\"group2\"\n value=\"category\"\n [value]=\"dayW\"\n [(ngModel)]=\"selectedSchedules\"\n [inputId]=\"dayW.key\"\n [disabled]=\"disableweekdays[ind]\"\n [ngModelOptions]=\"{ standalone: true }\"\n checkboxIcon=\"pi pi-check-circle\"\n (ngModelChange)=\"selectSchedules($event)\"\n ></p-checkbox>\n <label [for]=\"dayW.key\">{{ dayW.name }}</label>\n </div>\n <div *ngIf=\"messageAlertSchedules\">\n <span class=\"error-message\">Por favor selecciona una opcion</span>\n </div>\n </div>\n </div>\n </p-accordionTab>\n <p-accordionTab header=\"Modalidad\">\n <div class=\"containerDay\">\n <div class=\"checkBox flex flex-wrap justify-content-between m-3 gap-3\">\n <div *ngFor=\"let dayW of stateOptionsModality; index as ind\" class=\"field-checkbox\">\n <p-checkbox\n name=\"group2\"\n value=\"category\"\n [value]=\"dayW\"\n [(ngModel)]=\"selectedModality\"\n [inputId]=\"dayW.key\"\n [disabled]=\"disableweekdays[ind]\"\n [ngModelOptions]=\"{ standalone: true }\"\n checkboxIcon=\"pi pi-check-circle\"\n (ngModelChange)=\"selectModality($event)\"\n ></p-checkbox>\n <label [for]=\"dayW.key\">{{ dayW.name }}</label>\n </div>\n <div *ngIf=\"messageAlertModality\">\n <span class=\"error-message\">Por favor selecciona una opcion</span>\n </div>\n </div>\n </div>\n </p-accordionTab>\n <p-accordionTab *ngIf=\"scorePlacementTest != null\" header=\"Placement test\">\n <span>Tienes un Placement Test realizado. Puedes comenzar con el nivel</span><h3>{{ scorePlacementTest?.level_inglish_next.name }}</h3>\n <span>\"NO APLICA PLACEMENT TEST PARA PLANES TECNICOS\"</span>\n <div class=\"containerDay mt-3\">\n <h3>\u00BFDeseas iniciar en este nivel {{ scorePlacementTest?.level_inglish_next.name }}?</h3>\n\n <div class=\"flex flex-column gap-3\">\n <div *ngFor=\"let category of OptionPlacementTest; index as ind\" class=\"field-checkbox\">\n <p-radioButton\n [inputId]=\"category.key\"\n name=\"category\"\n [value]=\"category\"\n [(ngModel)]=\"selectedOptionPlacementTest\"\n [disabled]=\"disableweekdays[ind]\"\n [ngModelOptions]=\"{ standalone: true }\"\n (ngModelChange)=\"selectOpcionsPlacementTest($event)\"\n ></p-radioButton>\n <label [for]=\"category.key\" class=\"ml-2\">\n {{ category.name }}\n </label>\n </div>\n </div>\n </div>\n </p-accordionTab>\n <p-accordionTab *ngIf=\"scorePlacementTest == null\" header=\"Prueba diagn\u00F3stico Placement Test\">\n <span>Presenta totalmente gratis esta prueba para conocer tu nivel de ingl\u00E9s y nuestras ofertas para ti.</span>\n <div class=\"containerDay mt-3\">\n <ipt-button\n [label]=\"'Presentar Test'\"\n (onClick)=\"openTestInNewTab()\"\n [primary]=\"true\">\n </ipt-button>\n\n <div class=\"flex flex-column gap-3\">\n\n </div>\n </div>\n </p-accordionTab>\n\n </p-accordion>\n <div class=\"flex-none flex align-items-center justify-content-end m-2\">\n <button\n pTooltip=\"Buscar Planes\"\n tooltipPosition=\"left\"\n pButton\n Ripple\n type=\"button\"\n icon=\"pi pi-search\"\n class=\"p-button-rounded p-button-outlined\"\n [disabled]=\"selectedSchedules.length === 0 || selectedModality.length === 0 || scorePlacementTest != null && selectedOptionPlacementTest.length === 0 \"\n (click)=\"searchAvalaibleCourse()\"\n ></button>\n </div>\n </div>\n\n\n <ipt-card-select-course-self-cod-managed\n *ngIf=\"courseSelect != null\"\n [courseSelect]=\"courseSelect\">\n </ipt-card-select-course-self-cod-managed>\n\n <article *ngIf=\"visibleGroupReview\" class=\"cards-container\">\n\n <ipt-card-course-self-cod-managed\n [CourseData]=\"dataCourse\"\n (codeCourse)=\"courseCode($event)\"\n [isLoading]=\"isLoading\">\n </ipt-card-course-self-cod-managed>\n </article>\n <div class=\"flex justify-content-between mt-3 align-items-center gap-3\">\n <button\n pButton\n icon=\"pi pi-arrow-left\"\n type=\"submit\"\n (click)=\"back()\"\n ></button>\n\n <button\n pButton\n icon=\"pi pi-arrow-right\"\n [disabled]=\"!codSelfFormStepTwo.valid || courseSelect === null\"\n (click)=\"sendForm()\"\n ></button>\n </div>\n </div>\n </div>\n</div>\n\n\n\n", styles: [".container-form{margin:5%;border-radius:3px;border:1px solid #2563eb;box-shadow:#3c40434d 0 1px 2px,#3c404326 0 2px 6px 2px;padding:.5rem}.error-message{font-size:x-small;color:red}:host ::ng-deep .p-toast{width:20rem!important}span{color:#999;font-size:15px;font-weight:400;pointer-events:none;left:20px;top:-20px}:host ::ng-deep .p-buttonset .p-button{box-shadow:#64646f33 0 7px 29px;border-radius:3px;border:none;outline:none;transition:.2s;font-weight:300;height:28px}:host ::ng-deep .p-calendar{position:relative;display:inline-flex;max-width:100%;height:28px;box-shadow:#64646f33 0 7px 29px;border-radius:3px;border:none;outline:none;transition:.2s;font-weight:300;width:-webkit-fill-available;width:-moz-available;background-color:#fff;-webkit-appearance:none}.cards-container{margin-top:10px}.container-button{width:7rem}.containerDay{justify-content:center;display:flex}.checkBox{gap:1rem}:host ::ng-deep .p-accordion .p-accordion-header .p-accordion-header-link{color:#fff!important;background:rgb(4,18,106);background:linear-gradient(175deg,rgba(4,18,106,1) 27%,rgba(48,63,155,1) 53%,rgba(28,119,247,1)90%);border-radius:6px 6px 0 0}:host ::ng-deep .p-accordion .p-accordion-header:not(.p-disabled).p-highlight .p-accordion-header-link{color:#fff!important;background:rgb(127,33,99);background:linear-gradient(175deg,rgba(127,33,99,1) 27%,rgba(171,49,135,1) 53%,rgba(220,76,178,1) 90%);border-radius:6px 6px 0 0}:host ::ng-deep .p-accordion .p-accordion-header:not(.p-disabled).p-highlight:hover .p-accordion-header-link{color:#fff!important;background:rgb(127,33,99);background:linear-gradient(175deg,rgba(127,33,99,1) 27%,rgba(171,49,135,1) 53%,rgba(220,76,178,1) 90%);border-radius:6px 6px 0 0}.title_step{display:flex;flex-direction:row;gap:5px}.title{color:#2563eb;border-color:1px solid #2563eb}\n"], dependencies: [{ kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: ButtonComponent, selector: "ipt-button", inputs: ["primary", "size", "label", "buttonType", "isEnabled"], outputs: ["onClick"] }, { kind: "component", type: CardCourseComponent, selector: "ipt-card-course-self-cod-managed", inputs: ["CourseData", "isLoading"], outputs: ["codeCourse"] }, { kind: "component", type: CardSelectCourseComponent, selector: "ipt-card-select-course-self-cod-managed", inputs: ["courseSelect"] }, { kind: "directive", type: i1$1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i9.Tooltip, selector: "[pTooltip]", inputs: ["tooltipPosition", "tooltipEvent", "appendTo", "positionStyle", "tooltipStyleClass", "tooltipZIndex", "escape", "showDelay", "hideDelay", "life", "positionTop", "positionLeft", "fitContent", "pTooltip", "tooltipDisabled", "tooltipOptions"] }, { kind: "directive", type: i1$1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "directive", type: i6$1.ButtonDirective, selector: "[pButton]", inputs: ["iconPos", "loadingIcon", "label", "icon", "loading"] }, { kind: "component", type: i11$1.Toast, selector: "p-toast", inputs: ["key", "autoZIndex", "baseZIndex", "style", "styleClass", "position", "preventOpenDuplicates", "preventDuplicates", "showTransformOptions", "hideTransformOptions", "showTransitionOptions", "hideTransitionOptions", "breakpoints"], outputs: ["onClose"] }, { kind: "directive", type: i2$1.PrimeTemplate, selector: "[pTemplate]", inputs: ["type", "pTemplate"] }, { kind: "component", type: i12.Accordion, selector: "p-accordion", inputs: ["multiple", "style", "styleClass", "expandIcon", "collapseIcon", "activeIndex"], outputs: ["onClose", "onOpen", "activeIndexChange"] }, { kind: "component", type: i12.AccordionTab, selector: "p-accordionTab", inputs: ["header", "disabled", "cache", "transitionOptions", "selected"], outputs: ["selectedChange"] }, { kind: "component", type: i13.Checkbox, selector: "p-checkbox", inputs: ["value", "name", "disabled", "binary", "label", "ariaLabelledBy", "ariaLabel", "tabindex", "inputId", "style", "styleClass", "labelStyleClass", "formControl", "checkboxIcon", "readonly", "required", "trueValue", "falseValue"], outputs: ["onChange"] }, { kind: "component", type: i14.RadioButton, selector: "p-radioButton", inputs: ["value", "formControlName", "name", "disabled", "label", "tabindex", "inputId", "ariaLabelledBy", "ariaLabel", "style", "styleClass", "labelStyleClass"], outputs: ["onClick", "onFocus", "onBlur"] }] });
8584
+ CodSelfFormStepTwoComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.0.7", type: CodSelfFormStepTwoComponent, selector: "app-cod-self-form-step-two", inputs: { scorePlacementTest: "scorePlacementTest", codPrevious: "codPrevious" }, outputs: { completed: "completed" }, usesInheritance: true, ngImport: i0, template: "<div class=\"container-main\">\n <div class=\"container-form\">\n <div class=\"title_step\">\n <h2 class=\"title\">Planes</h2>\n <i class=\"pi pi-exclamation-circle cursor-pointer w-auto mt-4 mb-4\" (click)=\"showConfirm()\" pTooltip=\"Mas info.\" tooltipPosition=\"bottom\"></i>\n </div>\n <p-toast position=\"top-center\" key=\"confirm\" (onClose)=\"onReject()\" [baseZIndex]=\"10\">\n <ng-template let-message pTemplate=\"message\">\n <div class=\"flex flex-column align-items-start\" style=\"flex: 1\">\n <div class=\"flex align-items-center gap-2\">\n <img src=\"./assets/logos/reading.png\" style=\"width: 65px;\" shape=\"circle\" />\n <span class=\"font-bold text-900\">Jacob</span>\n </div>\n <div class=\"font-medium text-lg my-3 text-900\">{{ messageInfo }}</div>\n </div>\n </ng-template>\n </p-toast>\n\n <div class=\"animate__animated animate__slideInRight ng-star-inserted\">\n <div class=\"container-button\" *ngIf=\"!SearchData\">\n <ipt-button\n [label]=\"'Filtrar'\"\n (onClick)=\"filterAgain()\"\n [primary]=\"true\">\n </ipt-button>\n </div>\n\n <div *ngIf=\"SearchData\">\n <p-accordion [multiple]=\"true\" [activeIndex]=\"[0]\">\n <p-accordionTab header=\"Jornada\">\n <div class=\"containerDay\">\n <div class=\"checkBox flex flex-wrap justify-content-between m-3 gap-3\">\n <div *ngFor=\"let dayW of schedules; index as ind\" class=\"field-checkbox\">\n <p-checkbox\n name=\"group2\"\n value=\"category\"\n [value]=\"dayW\"\n [(ngModel)]=\"selectedSchedules\"\n [inputId]=\"dayW.key\"\n [disabled]=\"disableweekdays[ind]\"\n [ngModelOptions]=\"{ standalone: true }\"\n checkboxIcon=\"pi pi-check-circle\"\n (ngModelChange)=\"selectSchedules($event)\"\n ></p-checkbox>\n <label [for]=\"dayW.key\">{{ dayW.name }}</label>\n </div>\n <div *ngIf=\"messageAlertSchedules\">\n <span class=\"error-message\">Por favor selecciona una opcion</span>\n </div>\n </div>\n </div>\n </p-accordionTab>\n <p-accordionTab header=\"Modalidad\">\n <div class=\"containerDay\">\n <div class=\"checkBox flex flex-wrap justify-content-between m-3 gap-3\">\n <div *ngFor=\"let dayW of stateOptionsModality; index as ind\" class=\"field-checkbox\">\n <p-checkbox\n name=\"group2\"\n value=\"category\"\n [value]=\"dayW\"\n [(ngModel)]=\"selectedModality\"\n [inputId]=\"dayW.key\"\n [disabled]=\"disableweekdays[ind]\"\n [ngModelOptions]=\"{ standalone: true }\"\n checkboxIcon=\"pi pi-check-circle\"\n (ngModelChange)=\"selectModality($event)\"\n ></p-checkbox>\n <label [for]=\"dayW.key\">{{ dayW.name }}</label>\n </div>\n <div *ngIf=\"messageAlertModality\">\n <span class=\"error-message\">Por favor selecciona una opcion</span>\n </div>\n </div>\n </div>\n </p-accordionTab>\n <p-accordionTab *ngIf=\"scorePlacementTest != null\" header=\"Placement test\">\n <span>Tienes un Placement Test realizado. Puedes comenzar con el nivel</span><h3>{{ scorePlacementTest?.level_inglish_next.name }}</h3>\n <span>\"NO APLICA PLACEMENT TEST PARA PLANES TECNICOS\"</span>\n <div class=\"containerDay mt-3\">\n <h3>\u00BFDeseas iniciar en este nivel {{ scorePlacementTest?.level_inglish_next.name }}?</h3>\n\n <div class=\"flex flex-column gap-3\">\n <div *ngFor=\"let category of OptionPlacementTest; index as ind\" class=\"field-checkbox\">\n <p-radioButton\n [inputId]=\"category.key\"\n name=\"category\"\n [value]=\"category\"\n [(ngModel)]=\"selectedOptionPlacementTest\"\n [disabled]=\"disableweekdays[ind]\"\n [ngModelOptions]=\"{ standalone: true }\"\n (ngModelChange)=\"selectOpcionsPlacementTest($event)\"\n ></p-radioButton>\n <label [for]=\"category.key\" class=\"ml-2\">\n {{ category.name }}\n </label>\n </div>\n </div>\n </div>\n </p-accordionTab>\n <p-accordionTab *ngIf=\"scorePlacementTest == null\" header=\"Prueba diagn\u00F3stico Placement Test\">\n <span>Presenta totalmente gratis esta prueba para conocer tu nivel de ingl\u00E9s y nuestras ofertas para ti.</span>\n <div class=\"containerDay mt-3\">\n <ipt-button\n [label]=\"'Presentar Test'\"\n (onClick)=\"openTestInNewTab()\"\n [primary]=\"true\">\n </ipt-button>\n\n <div class=\"flex flex-column gap-3\">\n\n </div>\n </div>\n </p-accordionTab>\n\n </p-accordion>\n <div class=\"flex-none flex align-items-center justify-content-end m-2\">\n <button\n pTooltip=\"Buscar Planes\"\n tooltipPosition=\"left\"\n pButton\n Ripple\n type=\"button\"\n icon=\"pi pi-search\"\n class=\"p-button-rounded p-button-outlined\"\n [disabled]=\"selectedSchedules.length === 0 || selectedModality.length === 0 || scorePlacementTest != null && selectedOptionPlacementTest.length === 0 \"\n (click)=\"searchAvalaibleCourse()\"\n ></button>\n </div>\n </div>\n\n\n <ipt-card-select-course-self-cod-managed\n *ngIf=\"courseSelect != null\"\n [courseSelect]=\"courseSelect\">\n </ipt-card-select-course-self-cod-managed>\n\n <article *ngIf=\"visibleGroupReview\" class=\"cards-container\">\n\n <ipt-card-course-self-cod-managed\n [CourseData]=\"dataCourse\"\n (codeCourse)=\"courseCode($event)\"\n [isLoading]=\"isLoading\">\n </ipt-card-course-self-cod-managed>\n </article>\n <div class=\"flex justify-content-between mt-3 align-items-center gap-3\">\n <button\n pButton\n icon=\"pi pi-arrow-left\"\n type=\"submit\"\n (click)=\"back()\"\n ></button>\n\n <button\n pButton\n icon=\"pi pi-arrow-right\"\n [disabled]=\"!codSelfFormStepTwo.valid || courseSelect === null\"\n (click)=\"sendForm()\"\n ></button>\n </div>\n </div>\n </div>\n</div>\n\n\n\n", styles: [".container-form{margin:5%;border-radius:3px;border:1px solid #2563eb;box-shadow:#3c40434d 0 1px 2px,#3c404326 0 2px 6px 2px;padding:.5rem}.error-message{font-size:x-small;color:red}:host ::ng-deep .p-toast{width:20rem!important}span{color:#999;font-size:15px;font-weight:400;pointer-events:none;left:20px;top:-20px}:host ::ng-deep .p-buttonset .p-button{box-shadow:#64646f33 0 7px 29px;border-radius:3px;border:none;outline:none;transition:.2s;font-weight:300;height:28px}:host ::ng-deep .p-calendar{position:relative;display:inline-flex;max-width:100%;height:28px;box-shadow:#64646f33 0 7px 29px;border-radius:3px;border:none;outline:none;transition:.2s;font-weight:300;width:-webkit-fill-available;width:-moz-available;background-color:#fff;-webkit-appearance:none}.cards-container{margin-top:10px}.container-button{width:7rem}.containerDay{justify-content:center;display:flex}.checkBox{gap:1rem}:host ::ng-deep .p-accordion .p-accordion-header .p-accordion-header-link{color:#fff!important;background:rgb(4,18,106);background:linear-gradient(175deg,rgba(4,18,106,1) 27%,rgba(48,63,155,1) 53%,rgba(28,119,247,1)90%);border-radius:6px 6px 0 0}:host ::ng-deep .p-accordion .p-accordion-header:not(.p-disabled).p-highlight .p-accordion-header-link{color:#fff!important;background:rgb(127,33,99);background:linear-gradient(175deg,rgba(127,33,99,1) 27%,rgba(171,49,135,1) 53%,rgba(220,76,178,1) 90%);border-radius:6px 6px 0 0}:host ::ng-deep .p-accordion .p-accordion-header:not(.p-disabled).p-highlight:hover .p-accordion-header-link{color:#fff!important;background:rgb(127,33,99);background:linear-gradient(175deg,rgba(127,33,99,1) 27%,rgba(171,49,135,1) 53%,rgba(220,76,178,1) 90%);border-radius:6px 6px 0 0}.title_step{display:flex;flex-direction:row;gap:5px}.title{color:#2563eb;border-color:1px solid #2563eb}\n"], dependencies: [{ kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: ButtonComponent, selector: "ipt-button", inputs: ["primary", "size", "label", "buttonType", "isEnabled"], outputs: ["onClick"] }, { kind: "component", type: CardCourseComponent, selector: "ipt-card-course-self-cod-managed", inputs: ["CourseData", "isLoading"], outputs: ["codeCourse"] }, { kind: "component", type: CardSelectCourseComponent, selector: "ipt-card-select-course-self-cod-managed", inputs: ["courseSelect"] }, { kind: "directive", type: i1$1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i9.Tooltip, selector: "[pTooltip]", inputs: ["tooltipPosition", "tooltipEvent", "appendTo", "positionStyle", "tooltipStyleClass", "tooltipZIndex", "escape", "showDelay", "hideDelay", "life", "positionTop", "positionLeft", "fitContent", "pTooltip", "tooltipDisabled", "tooltipOptions"] }, { kind: "directive", type: i1$1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "directive", type: i6$2.ButtonDirective, selector: "[pButton]", inputs: ["iconPos", "loadingIcon", "label", "icon", "loading"] }, { kind: "component", type: i11$1.Toast, selector: "p-toast", inputs: ["key", "autoZIndex", "baseZIndex", "style", "styleClass", "position", "preventOpenDuplicates", "preventDuplicates", "showTransformOptions", "hideTransformOptions", "showTransitionOptions", "hideTransitionOptions", "breakpoints"], outputs: ["onClose"] }, { kind: "directive", type: i2$1.PrimeTemplate, selector: "[pTemplate]", inputs: ["type", "pTemplate"] }, { kind: "component", type: i12.Accordion, selector: "p-accordion", inputs: ["multiple", "style", "styleClass", "expandIcon", "collapseIcon", "activeIndex"], outputs: ["onClose", "onOpen", "activeIndexChange"] }, { kind: "component", type: i12.AccordionTab, selector: "p-accordionTab", inputs: ["header", "disabled", "cache", "transitionOptions", "selected"], outputs: ["selectedChange"] }, { kind: "component", type: i7.Checkbox, selector: "p-checkbox", inputs: ["value", "name", "disabled", "binary", "label", "ariaLabelledBy", "ariaLabel", "tabindex", "inputId", "style", "styleClass", "labelStyleClass", "formControl", "checkboxIcon", "readonly", "required", "trueValue", "falseValue"], outputs: ["onChange"] }, { kind: "component", type: i14.RadioButton, selector: "p-radioButton", inputs: ["value", "formControlName", "name", "disabled", "label", "tabindex", "inputId", "ariaLabelledBy", "ariaLabel", "style", "styleClass", "labelStyleClass"], outputs: ["onClick", "onFocus", "onBlur"] }] });
8554
8585
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.7", ngImport: i0, type: CodSelfFormStepTwoComponent, decorators: [{
8555
8586
  type: Component,
8556
8587
  args: [{ selector: 'app-cod-self-form-step-two', template: "<div class=\"container-main\">\n <div class=\"container-form\">\n <div class=\"title_step\">\n <h2 class=\"title\">Planes</h2>\n <i class=\"pi pi-exclamation-circle cursor-pointer w-auto mt-4 mb-4\" (click)=\"showConfirm()\" pTooltip=\"Mas info.\" tooltipPosition=\"bottom\"></i>\n </div>\n <p-toast position=\"top-center\" key=\"confirm\" (onClose)=\"onReject()\" [baseZIndex]=\"10\">\n <ng-template let-message pTemplate=\"message\">\n <div class=\"flex flex-column align-items-start\" style=\"flex: 1\">\n <div class=\"flex align-items-center gap-2\">\n <img src=\"./assets/logos/reading.png\" style=\"width: 65px;\" shape=\"circle\" />\n <span class=\"font-bold text-900\">Jacob</span>\n </div>\n <div class=\"font-medium text-lg my-3 text-900\">{{ messageInfo }}</div>\n </div>\n </ng-template>\n </p-toast>\n\n <div class=\"animate__animated animate__slideInRight ng-star-inserted\">\n <div class=\"container-button\" *ngIf=\"!SearchData\">\n <ipt-button\n [label]=\"'Filtrar'\"\n (onClick)=\"filterAgain()\"\n [primary]=\"true\">\n </ipt-button>\n </div>\n\n <div *ngIf=\"SearchData\">\n <p-accordion [multiple]=\"true\" [activeIndex]=\"[0]\">\n <p-accordionTab header=\"Jornada\">\n <div class=\"containerDay\">\n <div class=\"checkBox flex flex-wrap justify-content-between m-3 gap-3\">\n <div *ngFor=\"let dayW of schedules; index as ind\" class=\"field-checkbox\">\n <p-checkbox\n name=\"group2\"\n value=\"category\"\n [value]=\"dayW\"\n [(ngModel)]=\"selectedSchedules\"\n [inputId]=\"dayW.key\"\n [disabled]=\"disableweekdays[ind]\"\n [ngModelOptions]=\"{ standalone: true }\"\n checkboxIcon=\"pi pi-check-circle\"\n (ngModelChange)=\"selectSchedules($event)\"\n ></p-checkbox>\n <label [for]=\"dayW.key\">{{ dayW.name }}</label>\n </div>\n <div *ngIf=\"messageAlertSchedules\">\n <span class=\"error-message\">Por favor selecciona una opcion</span>\n </div>\n </div>\n </div>\n </p-accordionTab>\n <p-accordionTab header=\"Modalidad\">\n <div class=\"containerDay\">\n <div class=\"checkBox flex flex-wrap justify-content-between m-3 gap-3\">\n <div *ngFor=\"let dayW of stateOptionsModality; index as ind\" class=\"field-checkbox\">\n <p-checkbox\n name=\"group2\"\n value=\"category\"\n [value]=\"dayW\"\n [(ngModel)]=\"selectedModality\"\n [inputId]=\"dayW.key\"\n [disabled]=\"disableweekdays[ind]\"\n [ngModelOptions]=\"{ standalone: true }\"\n checkboxIcon=\"pi pi-check-circle\"\n (ngModelChange)=\"selectModality($event)\"\n ></p-checkbox>\n <label [for]=\"dayW.key\">{{ dayW.name }}</label>\n </div>\n <div *ngIf=\"messageAlertModality\">\n <span class=\"error-message\">Por favor selecciona una opcion</span>\n </div>\n </div>\n </div>\n </p-accordionTab>\n <p-accordionTab *ngIf=\"scorePlacementTest != null\" header=\"Placement test\">\n <span>Tienes un Placement Test realizado. Puedes comenzar con el nivel</span><h3>{{ scorePlacementTest?.level_inglish_next.name }}</h3>\n <span>\"NO APLICA PLACEMENT TEST PARA PLANES TECNICOS\"</span>\n <div class=\"containerDay mt-3\">\n <h3>\u00BFDeseas iniciar en este nivel {{ scorePlacementTest?.level_inglish_next.name }}?</h3>\n\n <div class=\"flex flex-column gap-3\">\n <div *ngFor=\"let category of OptionPlacementTest; index as ind\" class=\"field-checkbox\">\n <p-radioButton\n [inputId]=\"category.key\"\n name=\"category\"\n [value]=\"category\"\n [(ngModel)]=\"selectedOptionPlacementTest\"\n [disabled]=\"disableweekdays[ind]\"\n [ngModelOptions]=\"{ standalone: true }\"\n (ngModelChange)=\"selectOpcionsPlacementTest($event)\"\n ></p-radioButton>\n <label [for]=\"category.key\" class=\"ml-2\">\n {{ category.name }}\n </label>\n </div>\n </div>\n </div>\n </p-accordionTab>\n <p-accordionTab *ngIf=\"scorePlacementTest == null\" header=\"Prueba diagn\u00F3stico Placement Test\">\n <span>Presenta totalmente gratis esta prueba para conocer tu nivel de ingl\u00E9s y nuestras ofertas para ti.</span>\n <div class=\"containerDay mt-3\">\n <ipt-button\n [label]=\"'Presentar Test'\"\n (onClick)=\"openTestInNewTab()\"\n [primary]=\"true\">\n </ipt-button>\n\n <div class=\"flex flex-column gap-3\">\n\n </div>\n </div>\n </p-accordionTab>\n\n </p-accordion>\n <div class=\"flex-none flex align-items-center justify-content-end m-2\">\n <button\n pTooltip=\"Buscar Planes\"\n tooltipPosition=\"left\"\n pButton\n Ripple\n type=\"button\"\n icon=\"pi pi-search\"\n class=\"p-button-rounded p-button-outlined\"\n [disabled]=\"selectedSchedules.length === 0 || selectedModality.length === 0 || scorePlacementTest != null && selectedOptionPlacementTest.length === 0 \"\n (click)=\"searchAvalaibleCourse()\"\n ></button>\n </div>\n </div>\n\n\n <ipt-card-select-course-self-cod-managed\n *ngIf=\"courseSelect != null\"\n [courseSelect]=\"courseSelect\">\n </ipt-card-select-course-self-cod-managed>\n\n <article *ngIf=\"visibleGroupReview\" class=\"cards-container\">\n\n <ipt-card-course-self-cod-managed\n [CourseData]=\"dataCourse\"\n (codeCourse)=\"courseCode($event)\"\n [isLoading]=\"isLoading\">\n </ipt-card-course-self-cod-managed>\n </article>\n <div class=\"flex justify-content-between mt-3 align-items-center gap-3\">\n <button\n pButton\n icon=\"pi pi-arrow-left\"\n type=\"submit\"\n (click)=\"back()\"\n ></button>\n\n <button\n pButton\n icon=\"pi pi-arrow-right\"\n [disabled]=\"!codSelfFormStepTwo.valid || courseSelect === null\"\n (click)=\"sendForm()\"\n ></button>\n </div>\n </div>\n </div>\n</div>\n\n\n\n", styles: [".container-form{margin:5%;border-radius:3px;border:1px solid #2563eb;box-shadow:#3c40434d 0 1px 2px,#3c404326 0 2px 6px 2px;padding:.5rem}.error-message{font-size:x-small;color:red}:host ::ng-deep .p-toast{width:20rem!important}span{color:#999;font-size:15px;font-weight:400;pointer-events:none;left:20px;top:-20px}:host ::ng-deep .p-buttonset .p-button{box-shadow:#64646f33 0 7px 29px;border-radius:3px;border:none;outline:none;transition:.2s;font-weight:300;height:28px}:host ::ng-deep .p-calendar{position:relative;display:inline-flex;max-width:100%;height:28px;box-shadow:#64646f33 0 7px 29px;border-radius:3px;border:none;outline:none;transition:.2s;font-weight:300;width:-webkit-fill-available;width:-moz-available;background-color:#fff;-webkit-appearance:none}.cards-container{margin-top:10px}.container-button{width:7rem}.containerDay{justify-content:center;display:flex}.checkBox{gap:1rem}:host ::ng-deep .p-accordion .p-accordion-header .p-accordion-header-link{color:#fff!important;background:rgb(4,18,106);background:linear-gradient(175deg,rgba(4,18,106,1) 27%,rgba(48,63,155,1) 53%,rgba(28,119,247,1)90%);border-radius:6px 6px 0 0}:host ::ng-deep .p-accordion .p-accordion-header:not(.p-disabled).p-highlight .p-accordion-header-link{color:#fff!important;background:rgb(127,33,99);background:linear-gradient(175deg,rgba(127,33,99,1) 27%,rgba(171,49,135,1) 53%,rgba(220,76,178,1) 90%);border-radius:6px 6px 0 0}:host ::ng-deep .p-accordion .p-accordion-header:not(.p-disabled).p-highlight:hover .p-accordion-header-link{color:#fff!important;background:rgb(127,33,99);background:linear-gradient(175deg,rgba(127,33,99,1) 27%,rgba(171,49,135,1) 53%,rgba(220,76,178,1) 90%);border-radius:6px 6px 0 0}.title_step{display:flex;flex-direction:row;gap:5px}.title{color:#2563eb;border-color:1px solid #2563eb}\n"] }]
@@ -8889,7 +8920,7 @@ class CodSelfFormStepThreeComponent extends CodSelfManagedSteps {
8889
8920
  }
8890
8921
  }
8891
8922
  CodSelfFormStepThreeComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.7", ngImport: i0, type: CodSelfFormStepThreeComponent, deps: [{ token: i1$1.FormBuilder }, { token: i2$1.MessageService }, { token: CommercialService }, { token: BaseService }, { token: CodSelfManagedControls }, { token: CalculateQuotesService }], target: i0.ɵɵFactoryTarget.Component });
8892
- CodSelfFormStepThreeComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.0.7", type: CodSelfFormStepThreeComponent, selector: "app-cod-self-form-step-three", outputs: { completed: "completed", financingData: "financingData" }, usesInheritance: true, ngImport: i0, template: "<div class=\"container-main\">\n <div class=\"container-form\">\n <h2>Pagos</h2>\n <p-toast position=\"top-center\" key=\"confirm\" (onClose)=\"onReject()\" [baseZIndex]=\"10\">\n <ng-template let-message pTemplate=\"message\">\n <div class=\"flex flex-column align-items-start\" style=\"flex: 1\">\n <div class=\"flex align-items-center gap-2\">\n <img src=\"./assets/logos/reading.png\" style=\"width: 65px;\" shape=\"circle\" />\n <span class=\"font-bold text-900\">Jacob</span>\n </div>\n <div class=\"font-medium text-lg my-3 text-900\">{{ messageInfo }}</div>\n </div>\n </ng-template>\n </p-toast>\n <i class=\"pi pi-exclamation-circle cursor-pointer w-auto\" (click)=\"showConfirm()\" pTooltip=\"Mas info.\" tooltipPosition=\"bottom\"></i>\n <div class=\"animate__animated animate__slideInRight ng-star-inserted\">\n <div class=\"container__body__select flex justify-content-center flex-wrap\">\n\n <form autocomplete=\"off\" [formGroup]=\"codSelfFormStepThree\" class=\"grid mt-2 flex flex-column align-items-center\">\n\n <div class=\"container_selects col-12\">\n <ipt-select\n [initialValue]=\"codSelfFormStepThree.controls['payment_method'].value\"\n [control]=\"codSelfFormStepThree.controls['payment_method']\"\n (eventSelect)=\"selectPaymentMethod($event)\"\n [data]=\"paymentMethods\"\n [defaultText]=\"'M\u00E9todo de pago'\"\n ></ipt-select>\n <ipt-loader *ngIf=\"feeResponse\"></ipt-loader>\n\n <div class=\"col-12\" *ngIf=\"thereArePlans\">\n <p-table\n [value]=\"dataPrices\"\n [tableStyle]=\"{'min-width': '100%'}\"\n [rowHover]=\"true\"\n >\n <ng-template pTemplate=\"caption\">\n <div class=\"flex align-items-center\">\n Click en niveles a cancelar\n </div>\n </ng-template>\n <ng-template pTemplate=\"header\">\n <tr>\n <th class=\"bg-blue-200 text-center font-medium pt-2 pb-2\"></th>\n <th class=\"bg-blue-200 text-center font-medium pt-2 pb-2\">Cancelar</th>\n <th class=\"bg-blue-200 text-center font-medium pt-2 pb-2\">Cuotas</th>\n </tr>\n </ng-template>\n <ng-template pTemplate=\"body\" let-data let-rowIndex=\"rowIndex\">\n <tr [class.selected-row]=\"selectedRow === rowIndex\" (click)=\"selectLevels(data, rowIndex)\">\n <td class=\"pt-0 pb-0 text-center\">\n <p-radioButton [value]=\"rowIndex\" formControlName=\"selectedRow\"></p-radioButton>\n </td>\n <td class=\"pt-1 pb-1\">{{ data.paid_level }} {{ data.paid_level == 1 ? \"Nivel\" : \"Niveles\"}}</td>\n <td class=\"pt-1 pb-1 text-center\">{{ data.fee_number }}</td>\n </tr>\n </ng-template>\n </p-table>\n </div>\n </div>\n\n <div class=\"container_selects col-12\">\n <ipt-input\n [inputType]=\"'text'\"\n [placeHolder]=\"'Monto total de la matr\u00EDcula'\"\n [control]=\"codSelfFormStepThree.controls['total_price']\"\n [withPipe]=\"true\"\n ></ipt-input>\n </div>\n\n <div class=\"container_selects col-12\">\n <ipt-input\n [withPipe]=\"true\"\n [inputType]=\"'text'\"\n [control]=\"codSelfFormStepThree.controls['program_price']\"\n [placeHolder]=\"'Valor total del programa'\"\n ></ipt-input>\n </div>\n\n <div class=\"flex justify-content-center flex-wrap m-2\">\n </div>\n\n <!-- Tabla de financiaci\u00F3n -->\n <div class=\"col-12\" *ngIf=\"codSelfFormStepThree.controls['payment_method'].value === '1' && isFinancing\">\n <div class=\"flex gap-1 md:gap-4 xl:gap-8 m-1 p-2 border-round bg-blue-500 text-white\">\n <div class=\"container_icon flex mr-4 justify-content-center align-items-start mt-1\">\n <i class=\"pi pi-info-circle cursor-pointer w-auto mb-4\" pTooltip=\"Mas info.\" tooltipPosition=\"bottom\"></i>\n </div>\n <div class=\"flex flex-column container_info_span flex align-items-center justify-content-center\">\n <span><strong>NOTA:</strong> Deber\u00E1 pagar la matr\u00EDcula y la primera cuota <strong>(total: ${{ totalInitialPaymentSpan }})</strong> para completar el proceso de inscripci\u00F3n.</span><br>\n <span>Recuerda que las fechas cambian de acuerdo a la fecha que comienza el plan</span>\n </div>\n </div>\n\n <p-table\n *ngIf=\"!isLoadingSelectLevels\"\n [value]=\"dataFinancing\"\n [tableStyle]=\"{'min-width': '100%'}\"\n [rowHover]=\"true\"\n >\n <ng-template pTemplate=\"caption\">\n <div class=\"flex align-items-center\">\n C\u00E1lculo de cuotas\n </div>\n </ng-template>\n <ng-template pTemplate=\"header\">\n <tr>\n <th class=\"bg-blue-200 text-center font-medium pt-2 pb-2\">#</th>\n <th class=\"bg-blue-200 text-center font-medium pt-2 pb-2\">Valor</th>\n <th class=\"bg-blue-200 text-center font-medium pt-2 pb-2\">Fecha</th>\n </tr>\n </ng-template>\n <ng-template pTemplate=\"body\" let-data>\n <tr>\n <td class=\"p-0 text-center text-sm\">{{ data[0] }}</td>\n <td class=\"p-0 text-center text-sm\">{{ data[1] }}</td>\n <td class=\"p-0 text-center text-sm\">{{ data[2] }}</td>\n </tr>\n </ng-template>\n </p-table>\n <ipt-loader *ngIf=\"isLoadingSelectLevels\"></ipt-loader>\n </div>\n\n </form>\n </div>\n\n <div class=\"flex justify-content-between mt-3 align-items-center gap-3\">\n <!-- <span *ngIf=\"codSelfFormStepOne.invalid && codSelfFormStepOne.touched\" class=\"text-red-500 font-bold text-center mt-1 py-2 bg-red-100 w-full border-round-xl\">{{ errorMessage }}</span> -->\n <button\n pButton\n icon=\"pi pi-arrow-left\"\n type=\"submit\"\n (click)=\"back()\"\n ></button>\n\n <button\n pButton\n icon=\"pi pi-arrow-right\"\n [disabled]=\"!codSelfFormStepThree.valid\"\n (click)=\"sendForm()\"\n ></button>\n </div>\n </div>\n </div>\n</div>\n", styles: [".error-message{font-size:x-small;color:red}:host ::ng-deep .p-toast{width:20rem!important}.container-form{margin:5%;border-radius:3px;border:1px solid #2563eb;box-shadow:#3c40434d 0 1px 2px,#3c404326 0 2px 6px 2px;padding:1rem}:host ::ng-deep .p-datatable.p-datatable-hoverable-rows .p-datatable-tbody>tr:not(.p-highlight):hover{color:#1c77f7!important}.selected-row{background-color:#bfdbfe!important;color:#1c77f7!important}tr{cursor:pointer}td,.header-reports-advisers{font-family:Poppins,sans-serif}:host ::ng-deep .p-datatable .p-datatable-header{background:#f8f9fa;color:#f8f9fa;border:none;padding:1rem;font-weight:700;background-color:#1c77f7;border-radius:10px 10px 0 0}:host ::ng-deep .p-datatable{position:relative;border-radius:10px;border:1px solid #1c77f7}:host ::ng-deep .p-datatable>.p-datatable-wrapper{border-radius:0 0 10px 10px}.container_selects{width:16rem}.p-datatable .p-datatable-tbody>tr>td{padding:.1rem .5rem}:host ::ng-deep .p-datatable .p-datatable-tbody>tr>td{padding:0rem!important}\n"], dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: InputComponent, selector: "ipt-input", inputs: ["inputType", "placeHolder", "validateText", "withPipe", "list", "iconUrl", "control", "prefix", "thousands", "decimal", "disabledSel"], outputs: ["dateSelected"] }, { kind: "component", type: LoaderComponent, selector: "ipt-loader", inputs: ["message", "isDialog"] }, { kind: "component", type: SelectComponent, selector: "ipt-select", inputs: ["isRequired", "data", "defaultText", "selectCode", "disabledSel", "initialValue", "label", "control"], outputs: ["eventSelect"] }, { kind: "directive", type: i1$1.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i1$1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$1.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i1$1.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i1$1.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "directive", type: i9.Tooltip, selector: "[pTooltip]", inputs: ["tooltipPosition", "tooltipEvent", "appendTo", "positionStyle", "tooltipStyleClass", "tooltipZIndex", "escape", "showDelay", "hideDelay", "life", "positionTop", "positionLeft", "fitContent", "pTooltip", "tooltipDisabled", "tooltipOptions"] }, { kind: "directive", type: i6$1.ButtonDirective, selector: "[pButton]", inputs: ["iconPos", "loadingIcon", "label", "icon", "loading"] }, { kind: "component", type: i11$1.Toast, selector: "p-toast", inputs: ["key", "autoZIndex", "baseZIndex", "style", "styleClass", "position", "preventOpenDuplicates", "preventDuplicates", "showTransformOptions", "hideTransformOptions", "showTransitionOptions", "hideTransitionOptions", "breakpoints"], outputs: ["onClose"] }, { kind: "directive", type: i2$1.PrimeTemplate, selector: "[pTemplate]", inputs: ["type", "pTemplate"] }, { kind: "component", type: i14.RadioButton, selector: "p-radioButton", inputs: ["value", "formControlName", "name", "disabled", "label", "tabindex", "inputId", "ariaLabelledBy", "ariaLabel", "style", "styleClass", "labelStyleClass"], outputs: ["onClick", "onFocus", "onBlur"] }, { kind: "component", type: i11.Table, selector: "p-table", inputs: ["frozenColumns", "frozenValue", "style", "styleClass", "tableStyle", "tableStyleClass", "paginator", "pageLinks", "rowsPerPageOptions", "alwaysShowPaginator", "paginatorPosition", "paginatorDropdownAppendTo", "paginatorDropdownScrollHeight", "currentPageReportTemplate", "showCurrentPageReport", "showJumpToPageDropdown", "showJumpToPageInput", "showFirstLastIcon", "showPageLinks", "defaultSortOrder", "sortMode", "resetPageOnSort", "selectionMode", "selectionPageOnly", "contextMenuSelection", "contextMenuSelectionMode", "dataKey", "metaKeySelection", "rowSelectable", "rowTrackBy", "lazy", "lazyLoadOnInit", "compareSelectionBy", "csvSeparator", "exportFilename", "filters", "globalFilterFields", "filterDelay", "filterLocale", "expandedRowKeys", "editingRowKeys", "rowExpandMode", "scrollable", "scrollDirection", "rowGroupMode", "scrollHeight", "virtualScroll", "virtualScrollItemSize", "virtualScrollOptions", "virtualScrollDelay", "frozenWidth", "responsive", "contextMenu", "resizableColumns", "columnResizeMode", "reorderableColumns", "loading", "loadingIcon", "showLoader", "rowHover", "customSort", "showInitialSortBadge", "autoLayout", "exportFunction", "exportHeader", "stateKey", "stateStorage", "editMode", "groupRowsBy", "groupRowsByOrder", "responsiveLayout", "breakpoint", "virtualRowHeight", "value", "columns", "first", "rows", "totalRecords", "sortField", "sortOrder", "multiSortMeta", "selection", "selectAll"], outputs: ["selectAllChange", "selectionChange", "contextMenuSelectionChange", "onRowSelect", "onRowUnselect", "onPage", "onSort", "onFilter", "onLazyLoad", "onRowExpand", "onRowCollapse", "onContextMenuSelect", "onColResize", "onColReorder", "onRowReorder", "onEditInit", "onEditComplete", "onEditCancel", "onHeaderCheckboxToggle", "sortFunction", "firstChange", "rowsChange", "onStateSave", "onStateRestore"] }] });
8923
+ CodSelfFormStepThreeComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.0.7", type: CodSelfFormStepThreeComponent, selector: "app-cod-self-form-step-three", outputs: { completed: "completed", financingData: "financingData" }, usesInheritance: true, ngImport: i0, template: "<div class=\"container-main\">\n <div class=\"container-form\">\n <h2>Pagos</h2>\n <p-toast position=\"top-center\" key=\"confirm\" (onClose)=\"onReject()\" [baseZIndex]=\"10\">\n <ng-template let-message pTemplate=\"message\">\n <div class=\"flex flex-column align-items-start\" style=\"flex: 1\">\n <div class=\"flex align-items-center gap-2\">\n <img src=\"./assets/logos/reading.png\" style=\"width: 65px;\" shape=\"circle\" />\n <span class=\"font-bold text-900\">Jacob</span>\n </div>\n <div class=\"font-medium text-lg my-3 text-900\">{{ messageInfo }}</div>\n </div>\n </ng-template>\n </p-toast>\n <i class=\"pi pi-exclamation-circle cursor-pointer w-auto\" (click)=\"showConfirm()\" pTooltip=\"Mas info.\" tooltipPosition=\"bottom\"></i>\n <div class=\"animate__animated animate__slideInRight ng-star-inserted\">\n <div class=\"container__body__select flex justify-content-center flex-wrap\">\n\n <form autocomplete=\"off\" [formGroup]=\"codSelfFormStepThree\" class=\"grid mt-2 flex flex-column align-items-center\">\n\n <div class=\"container_selects col-12\">\n <ipt-select\n [initialValue]=\"codSelfFormStepThree.controls['payment_method'].value\"\n [control]=\"codSelfFormStepThree.controls['payment_method']\"\n (eventSelect)=\"selectPaymentMethod($event)\"\n [data]=\"paymentMethods\"\n [defaultText]=\"'M\u00E9todo de pago'\"\n ></ipt-select>\n <ipt-loader *ngIf=\"feeResponse\"></ipt-loader>\n\n <div class=\"col-12\" *ngIf=\"thereArePlans\">\n <p-table\n [value]=\"dataPrices\"\n [tableStyle]=\"{'min-width': '100%'}\"\n [rowHover]=\"true\"\n >\n <ng-template pTemplate=\"caption\">\n <div class=\"flex align-items-center\">\n Click en niveles a cancelar\n </div>\n </ng-template>\n <ng-template pTemplate=\"header\">\n <tr>\n <th class=\"bg-blue-200 text-center font-medium pt-2 pb-2\"></th>\n <th class=\"bg-blue-200 text-center font-medium pt-2 pb-2\">Cancelar</th>\n <th class=\"bg-blue-200 text-center font-medium pt-2 pb-2\">Cuotas</th>\n </tr>\n </ng-template>\n <ng-template pTemplate=\"body\" let-data let-rowIndex=\"rowIndex\">\n <tr [class.selected-row]=\"selectedRow === rowIndex\" (click)=\"selectLevels(data, rowIndex)\">\n <td class=\"pt-0 pb-0 text-center\">\n <p-radioButton [value]=\"rowIndex\" formControlName=\"selectedRow\"></p-radioButton>\n </td>\n <td class=\"pt-1 pb-1\">{{ data.paid_level }} {{ data.paid_level == 1 ? \"Nivel\" : \"Niveles\"}}</td>\n <td class=\"pt-1 pb-1 text-center\">{{ data.fee_number }}</td>\n </tr>\n </ng-template>\n </p-table>\n </div>\n </div>\n\n <div class=\"container_selects col-12\">\n <ipt-input\n [inputType]=\"'text'\"\n [placeHolder]=\"'Monto total de la matr\u00EDcula'\"\n [control]=\"codSelfFormStepThree.controls['total_price']\"\n [withPipe]=\"true\"\n ></ipt-input>\n </div>\n\n <div class=\"container_selects col-12\">\n <ipt-input\n [withPipe]=\"true\"\n [inputType]=\"'text'\"\n [control]=\"codSelfFormStepThree.controls['program_price']\"\n [placeHolder]=\"'Valor total del programa'\"\n ></ipt-input>\n </div>\n\n <div class=\"flex justify-content-center flex-wrap m-2\">\n </div>\n\n <!-- Tabla de financiaci\u00F3n -->\n <div class=\"col-12\" *ngIf=\"codSelfFormStepThree.controls['payment_method'].value === '1' && isFinancing\">\n <div class=\"flex gap-1 md:gap-4 xl:gap-8 m-1 p-2 border-round bg-blue-500 text-white\">\n <div class=\"container_icon flex mr-4 justify-content-center align-items-start mt-1\">\n <i class=\"pi pi-info-circle cursor-pointer w-auto mb-4\" pTooltip=\"Mas info.\" tooltipPosition=\"bottom\"></i>\n </div>\n <div class=\"flex flex-column container_info_span flex align-items-center justify-content-center\">\n <span><strong>NOTA:</strong> Deber\u00E1 pagar la matr\u00EDcula y la primera cuota <strong>(total: ${{ totalInitialPaymentSpan }})</strong> para completar el proceso de inscripci\u00F3n.</span><br>\n <span>Recuerda que las fechas cambian de acuerdo a la fecha que comienza el plan</span>\n </div>\n </div>\n\n <p-table\n *ngIf=\"!isLoadingSelectLevels\"\n [value]=\"dataFinancing\"\n [tableStyle]=\"{'min-width': '100%'}\"\n [rowHover]=\"true\"\n >\n <ng-template pTemplate=\"caption\">\n <div class=\"flex align-items-center\">\n C\u00E1lculo de cuotas\n </div>\n </ng-template>\n <ng-template pTemplate=\"header\">\n <tr>\n <th class=\"bg-blue-200 text-center font-medium pt-2 pb-2\">#</th>\n <th class=\"bg-blue-200 text-center font-medium pt-2 pb-2\">Valor</th>\n <th class=\"bg-blue-200 text-center font-medium pt-2 pb-2\">Fecha</th>\n </tr>\n </ng-template>\n <ng-template pTemplate=\"body\" let-data>\n <tr>\n <td class=\"p-0 text-center text-sm\">{{ data[0] }}</td>\n <td class=\"p-0 text-center text-sm\">{{ data[1] }}</td>\n <td class=\"p-0 text-center text-sm\">{{ data[2] }}</td>\n </tr>\n </ng-template>\n </p-table>\n <ipt-loader *ngIf=\"isLoadingSelectLevels\"></ipt-loader>\n </div>\n\n </form>\n </div>\n\n <div class=\"flex justify-content-between mt-3 align-items-center gap-3\">\n <!-- <span *ngIf=\"codSelfFormStepOne.invalid && codSelfFormStepOne.touched\" class=\"text-red-500 font-bold text-center mt-1 py-2 bg-red-100 w-full border-round-xl\">{{ errorMessage }}</span> -->\n <button\n pButton\n icon=\"pi pi-arrow-left\"\n type=\"submit\"\n (click)=\"back()\"\n ></button>\n\n <button\n pButton\n icon=\"pi pi-arrow-right\"\n [disabled]=\"!codSelfFormStepThree.valid\"\n (click)=\"sendForm()\"\n ></button>\n </div>\n </div>\n </div>\n</div>\n", styles: [".error-message{font-size:x-small;color:red}:host ::ng-deep .p-toast{width:20rem!important}.container-form{margin:5%;border-radius:3px;border:1px solid #2563eb;box-shadow:#3c40434d 0 1px 2px,#3c404326 0 2px 6px 2px;padding:1rem}:host ::ng-deep .p-datatable.p-datatable-hoverable-rows .p-datatable-tbody>tr:not(.p-highlight):hover{color:#1c77f7!important}.selected-row{background-color:#bfdbfe!important;color:#1c77f7!important}tr{cursor:pointer}td,.header-reports-advisers{font-family:Poppins,sans-serif}:host ::ng-deep .p-datatable .p-datatable-header{background:#f8f9fa;color:#f8f9fa;border:none;padding:1rem;font-weight:700;background-color:#1c77f7;border-radius:10px 10px 0 0}:host ::ng-deep .p-datatable{position:relative;border-radius:10px;border:1px solid #1c77f7}:host ::ng-deep .p-datatable>.p-datatable-wrapper{border-radius:0 0 10px 10px}.container_selects{width:16rem}.p-datatable .p-datatable-tbody>tr>td{padding:.1rem .5rem}:host ::ng-deep .p-datatable .p-datatable-tbody>tr>td{padding:0rem!important}\n"], dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: InputComponent, selector: "ipt-input", inputs: ["inputType", "placeHolder", "validateText", "withPipe", "list", "iconUrl", "control", "prefix", "thousands", "decimal", "disabledSel"], outputs: ["dateSelected"] }, { kind: "component", type: LoaderComponent, selector: "ipt-loader", inputs: ["message", "isDialog"] }, { kind: "component", type: SelectComponent, selector: "ipt-select", inputs: ["isRequired", "data", "defaultText", "selectCode", "disabledSel", "initialValue", "label", "control"], outputs: ["eventSelect"] }, { kind: "directive", type: i1$1.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i1$1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$1.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i1$1.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i1$1.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "directive", type: i9.Tooltip, selector: "[pTooltip]", inputs: ["tooltipPosition", "tooltipEvent", "appendTo", "positionStyle", "tooltipStyleClass", "tooltipZIndex", "escape", "showDelay", "hideDelay", "life", "positionTop", "positionLeft", "fitContent", "pTooltip", "tooltipDisabled", "tooltipOptions"] }, { kind: "directive", type: i6$2.ButtonDirective, selector: "[pButton]", inputs: ["iconPos", "loadingIcon", "label", "icon", "loading"] }, { kind: "component", type: i11$1.Toast, selector: "p-toast", inputs: ["key", "autoZIndex", "baseZIndex", "style", "styleClass", "position", "preventOpenDuplicates", "preventDuplicates", "showTransformOptions", "hideTransformOptions", "showTransitionOptions", "hideTransitionOptions", "breakpoints"], outputs: ["onClose"] }, { kind: "directive", type: i2$1.PrimeTemplate, selector: "[pTemplate]", inputs: ["type", "pTemplate"] }, { kind: "component", type: i14.RadioButton, selector: "p-radioButton", inputs: ["value", "formControlName", "name", "disabled", "label", "tabindex", "inputId", "ariaLabelledBy", "ariaLabel", "style", "styleClass", "labelStyleClass"], outputs: ["onClick", "onFocus", "onBlur"] }, { kind: "component", type: i11.Table, selector: "p-table", inputs: ["frozenColumns", "frozenValue", "style", "styleClass", "tableStyle", "tableStyleClass", "paginator", "pageLinks", "rowsPerPageOptions", "alwaysShowPaginator", "paginatorPosition", "paginatorDropdownAppendTo", "paginatorDropdownScrollHeight", "currentPageReportTemplate", "showCurrentPageReport", "showJumpToPageDropdown", "showJumpToPageInput", "showFirstLastIcon", "showPageLinks", "defaultSortOrder", "sortMode", "resetPageOnSort", "selectionMode", "selectionPageOnly", "contextMenuSelection", "contextMenuSelectionMode", "dataKey", "metaKeySelection", "rowSelectable", "rowTrackBy", "lazy", "lazyLoadOnInit", "compareSelectionBy", "csvSeparator", "exportFilename", "filters", "globalFilterFields", "filterDelay", "filterLocale", "expandedRowKeys", "editingRowKeys", "rowExpandMode", "scrollable", "scrollDirection", "rowGroupMode", "scrollHeight", "virtualScroll", "virtualScrollItemSize", "virtualScrollOptions", "virtualScrollDelay", "frozenWidth", "responsive", "contextMenu", "resizableColumns", "columnResizeMode", "reorderableColumns", "loading", "loadingIcon", "showLoader", "rowHover", "customSort", "showInitialSortBadge", "autoLayout", "exportFunction", "exportHeader", "stateKey", "stateStorage", "editMode", "groupRowsBy", "groupRowsByOrder", "responsiveLayout", "breakpoint", "virtualRowHeight", "value", "columns", "first", "rows", "totalRecords", "sortField", "sortOrder", "multiSortMeta", "selection", "selectAll"], outputs: ["selectAllChange", "selectionChange", "contextMenuSelectionChange", "onRowSelect", "onRowUnselect", "onPage", "onSort", "onFilter", "onLazyLoad", "onRowExpand", "onRowCollapse", "onContextMenuSelect", "onColResize", "onColReorder", "onRowReorder", "onEditInit", "onEditComplete", "onEditCancel", "onHeaderCheckboxToggle", "sortFunction", "firstChange", "rowsChange", "onStateSave", "onStateRestore"] }] });
8893
8924
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.7", ngImport: i0, type: CodSelfFormStepThreeComponent, decorators: [{
8894
8925
  type: Component,
8895
8926
  args: [{ selector: 'app-cod-self-form-step-three', template: "<div class=\"container-main\">\n <div class=\"container-form\">\n <h2>Pagos</h2>\n <p-toast position=\"top-center\" key=\"confirm\" (onClose)=\"onReject()\" [baseZIndex]=\"10\">\n <ng-template let-message pTemplate=\"message\">\n <div class=\"flex flex-column align-items-start\" style=\"flex: 1\">\n <div class=\"flex align-items-center gap-2\">\n <img src=\"./assets/logos/reading.png\" style=\"width: 65px;\" shape=\"circle\" />\n <span class=\"font-bold text-900\">Jacob</span>\n </div>\n <div class=\"font-medium text-lg my-3 text-900\">{{ messageInfo }}</div>\n </div>\n </ng-template>\n </p-toast>\n <i class=\"pi pi-exclamation-circle cursor-pointer w-auto\" (click)=\"showConfirm()\" pTooltip=\"Mas info.\" tooltipPosition=\"bottom\"></i>\n <div class=\"animate__animated animate__slideInRight ng-star-inserted\">\n <div class=\"container__body__select flex justify-content-center flex-wrap\">\n\n <form autocomplete=\"off\" [formGroup]=\"codSelfFormStepThree\" class=\"grid mt-2 flex flex-column align-items-center\">\n\n <div class=\"container_selects col-12\">\n <ipt-select\n [initialValue]=\"codSelfFormStepThree.controls['payment_method'].value\"\n [control]=\"codSelfFormStepThree.controls['payment_method']\"\n (eventSelect)=\"selectPaymentMethod($event)\"\n [data]=\"paymentMethods\"\n [defaultText]=\"'M\u00E9todo de pago'\"\n ></ipt-select>\n <ipt-loader *ngIf=\"feeResponse\"></ipt-loader>\n\n <div class=\"col-12\" *ngIf=\"thereArePlans\">\n <p-table\n [value]=\"dataPrices\"\n [tableStyle]=\"{'min-width': '100%'}\"\n [rowHover]=\"true\"\n >\n <ng-template pTemplate=\"caption\">\n <div class=\"flex align-items-center\">\n Click en niveles a cancelar\n </div>\n </ng-template>\n <ng-template pTemplate=\"header\">\n <tr>\n <th class=\"bg-blue-200 text-center font-medium pt-2 pb-2\"></th>\n <th class=\"bg-blue-200 text-center font-medium pt-2 pb-2\">Cancelar</th>\n <th class=\"bg-blue-200 text-center font-medium pt-2 pb-2\">Cuotas</th>\n </tr>\n </ng-template>\n <ng-template pTemplate=\"body\" let-data let-rowIndex=\"rowIndex\">\n <tr [class.selected-row]=\"selectedRow === rowIndex\" (click)=\"selectLevels(data, rowIndex)\">\n <td class=\"pt-0 pb-0 text-center\">\n <p-radioButton [value]=\"rowIndex\" formControlName=\"selectedRow\"></p-radioButton>\n </td>\n <td class=\"pt-1 pb-1\">{{ data.paid_level }} {{ data.paid_level == 1 ? \"Nivel\" : \"Niveles\"}}</td>\n <td class=\"pt-1 pb-1 text-center\">{{ data.fee_number }}</td>\n </tr>\n </ng-template>\n </p-table>\n </div>\n </div>\n\n <div class=\"container_selects col-12\">\n <ipt-input\n [inputType]=\"'text'\"\n [placeHolder]=\"'Monto total de la matr\u00EDcula'\"\n [control]=\"codSelfFormStepThree.controls['total_price']\"\n [withPipe]=\"true\"\n ></ipt-input>\n </div>\n\n <div class=\"container_selects col-12\">\n <ipt-input\n [withPipe]=\"true\"\n [inputType]=\"'text'\"\n [control]=\"codSelfFormStepThree.controls['program_price']\"\n [placeHolder]=\"'Valor total del programa'\"\n ></ipt-input>\n </div>\n\n <div class=\"flex justify-content-center flex-wrap m-2\">\n </div>\n\n <!-- Tabla de financiaci\u00F3n -->\n <div class=\"col-12\" *ngIf=\"codSelfFormStepThree.controls['payment_method'].value === '1' && isFinancing\">\n <div class=\"flex gap-1 md:gap-4 xl:gap-8 m-1 p-2 border-round bg-blue-500 text-white\">\n <div class=\"container_icon flex mr-4 justify-content-center align-items-start mt-1\">\n <i class=\"pi pi-info-circle cursor-pointer w-auto mb-4\" pTooltip=\"Mas info.\" tooltipPosition=\"bottom\"></i>\n </div>\n <div class=\"flex flex-column container_info_span flex align-items-center justify-content-center\">\n <span><strong>NOTA:</strong> Deber\u00E1 pagar la matr\u00EDcula y la primera cuota <strong>(total: ${{ totalInitialPaymentSpan }})</strong> para completar el proceso de inscripci\u00F3n.</span><br>\n <span>Recuerda que las fechas cambian de acuerdo a la fecha que comienza el plan</span>\n </div>\n </div>\n\n <p-table\n *ngIf=\"!isLoadingSelectLevels\"\n [value]=\"dataFinancing\"\n [tableStyle]=\"{'min-width': '100%'}\"\n [rowHover]=\"true\"\n >\n <ng-template pTemplate=\"caption\">\n <div class=\"flex align-items-center\">\n C\u00E1lculo de cuotas\n </div>\n </ng-template>\n <ng-template pTemplate=\"header\">\n <tr>\n <th class=\"bg-blue-200 text-center font-medium pt-2 pb-2\">#</th>\n <th class=\"bg-blue-200 text-center font-medium pt-2 pb-2\">Valor</th>\n <th class=\"bg-blue-200 text-center font-medium pt-2 pb-2\">Fecha</th>\n </tr>\n </ng-template>\n <ng-template pTemplate=\"body\" let-data>\n <tr>\n <td class=\"p-0 text-center text-sm\">{{ data[0] }}</td>\n <td class=\"p-0 text-center text-sm\">{{ data[1] }}</td>\n <td class=\"p-0 text-center text-sm\">{{ data[2] }}</td>\n </tr>\n </ng-template>\n </p-table>\n <ipt-loader *ngIf=\"isLoadingSelectLevels\"></ipt-loader>\n </div>\n\n </form>\n </div>\n\n <div class=\"flex justify-content-between mt-3 align-items-center gap-3\">\n <!-- <span *ngIf=\"codSelfFormStepOne.invalid && codSelfFormStepOne.touched\" class=\"text-red-500 font-bold text-center mt-1 py-2 bg-red-100 w-full border-round-xl\">{{ errorMessage }}</span> -->\n <button\n pButton\n icon=\"pi pi-arrow-left\"\n type=\"submit\"\n (click)=\"back()\"\n ></button>\n\n <button\n pButton\n icon=\"pi pi-arrow-right\"\n [disabled]=\"!codSelfFormStepThree.valid\"\n (click)=\"sendForm()\"\n ></button>\n </div>\n </div>\n </div>\n</div>\n", styles: [".error-message{font-size:x-small;color:red}:host ::ng-deep .p-toast{width:20rem!important}.container-form{margin:5%;border-radius:3px;border:1px solid #2563eb;box-shadow:#3c40434d 0 1px 2px,#3c404326 0 2px 6px 2px;padding:1rem}:host ::ng-deep .p-datatable.p-datatable-hoverable-rows .p-datatable-tbody>tr:not(.p-highlight):hover{color:#1c77f7!important}.selected-row{background-color:#bfdbfe!important;color:#1c77f7!important}tr{cursor:pointer}td,.header-reports-advisers{font-family:Poppins,sans-serif}:host ::ng-deep .p-datatable .p-datatable-header{background:#f8f9fa;color:#f8f9fa;border:none;padding:1rem;font-weight:700;background-color:#1c77f7;border-radius:10px 10px 0 0}:host ::ng-deep .p-datatable{position:relative;border-radius:10px;border:1px solid #1c77f7}:host ::ng-deep .p-datatable>.p-datatable-wrapper{border-radius:0 0 10px 10px}.container_selects{width:16rem}.p-datatable .p-datatable-tbody>tr>td{padding:.1rem .5rem}:host ::ng-deep .p-datatable .p-datatable-tbody>tr>td{padding:0rem!important}\n"] }]
@@ -9107,7 +9138,7 @@ class CodSelfFormStepFourComponent extends CodSelfManagedSteps {
9107
9138
  }
9108
9139
  }
9109
9140
  CodSelfFormStepFourComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.7", ngImport: i0, type: CodSelfFormStepFourComponent, deps: [{ token: i1$1.FormBuilder }, { token: i2$1.MessageService }, { token: CodSelfManagedControls }], target: i0.ɵɵFactoryTarget.Component });
9110
- CodSelfFormStepFourComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.0.7", type: CodSelfFormStepFourComponent, selector: "app-cod-self-form-step-four", inputs: { idTypes: "idTypes" }, outputs: { completed: "completed", action: "action" }, usesInheritance: true, ngImport: i0, template: "<div class=\"container-main\">\n <div class=\"container-form\">\n <div class=\"title_step\">\n <h2>Datos de Facturaci\u00F3n</h2>\n <p-toast position=\"top-center\" key=\"confirm\" (onClose)=\"onReject()\" [baseZIndex]=\"10\">\n <ng-template let-message pTemplate=\"message\">\n <div class=\"flex flex-column align-items-start\" style=\"flex: 1\">\n <div class=\"flex align-items-center gap-2\">\n <img src=\"./assets/logos/reading.png\" style=\"width: 65px;\" shape=\"circle\" />\n <span class=\"font-bold text-900\">Jacob</span>\n </div>\n <div class=\"font-medium text-lg my-3 text-900\">{{ messageInfo }}</div>\n </div>\n </ng-template>\n </p-toast>\n </div>\n\n <i class=\"pi pi-exclamation-circle cursor-pointer w-auto \" (click)=\"showConfirm()\" pTooltip=\"M\u00E1s info.\" tooltipPosition=\"bottom\"></i>\n <div class=\"animate__animated animate__slideInRight ng-star-inserted\">\n <form autocomplete=\"off\" [formGroup]=\"codSelfFormStepFour\" class=\"grid mt-2 flex flex-column align-items-center\">\n <div class=\"container__body__select flex justify-content-center flex-wrap\">\n <div class=\"container__type__payments\" *ngIf=\"isSelectionOptionPayments\">\n <div class=\"flex flex-column gap-3\">\n <h3>\u00BFC\u00F3mo quieres pagar?</h3>\n <div *ngFor=\"let category of OptionPayments; index as ind\" class=\"field-checkbox\">\n <p-radioButton\n [inputId]=\"category.key\"\n name=\"category\"\n [value]=\"category\"\n [(ngModel)]=\"selectedOptionPayments\"\n [disabled]=\"disableweekdays[ind]\"\n [ngModelOptions]=\"{ standalone: true }\"\n (ngModelChange)=\"selectOpcionsPayments($event)\"\n ></p-radioButton>\n <label [for]=\"category.key\" class=\"ml-2\">\n {{ category.name }}\n </label>\n </div>\n </div>\n </div>\n\n <div class=\"container__option__instalations\" *ngIf=\"!isSelectionOptionPayments\">\n <!-- Vista para la opci\u00F3n de pago \"Instalaciones\" -->\n <div *ngIf=\"getViewBasedOnPaymentOption() === 'in'\">\n <div class=\"container__info flex flex-column align-items-center justify-content-center mt-1 mb-4\" *ngIf=\"isEditBillingData\">\n <img src=\"./assets/logos/lobo-web.png\" alt=\"Receipt Icon\" shape=\"circle\" class=\"circular-image\" />\n <strong>{{ codSelfFormStepFour.get('invoicing_name')?.value }} {{ codSelfFormStepFour.get('invoicing_Apellido')?.value }}</strong>\n <span>{{ getIdTypeDescription(codSelfFormStepFour.get('invoicing_idType')?.value) }} {{ codSelfFormStepFour.get('invoicing_document')?.value }}</span>\n <div class=\"container-button\">\n <ipt-button [label]=\"'Modificar Datos'\" (onClick)=\"editBillingData()\" [primary]=\"false\"></ipt-button>\n </div>\n </div>\n <div class=\"m-2\" *ngIf=\"!isEditBillingData\">\n <h3>Completa los nuevos datos para la emisi\u00F3n de tu factura</h3>\n <div class=\"flex gap-1 md:gap-4 xl:gap-8 m-1 p-2 border-round bg-blue-500 text-white\">\n <div class=\"container_icon flex mr-4 justify-content-center align-items-start mt-1\">\n <i class=\"pi pi-info-circle cursor-pointer w-auto mb-4\" pTooltip=\"M\u00E1s info.\" tooltipPosition=\"bottom\"></i>\n </div>\n <div class=\"flex flex-column container_info_span flex align-items-center justify-content-center\">\n <span>Si proporcionas datos de un tercero, confirmas que los datos son correctos y que tienes su consentimiento para el uso de la informaci\u00F3n. Estos datos se tratar\u00E1n de acuerdo a nuestra <a href=\"\">Declaraci\u00F3n de Privacidad</a></span>\n </div>\n </div>\n <div>\n <ipt-input [inputType]=\"'text'\" [placeHolder]=\"'Nombres'\" [control]=\"codSelfFormStepFour.controls['invoicing_name']\"></ipt-input>\n <ipt-input [inputType]=\"'text'\" [placeHolder]=\"'Apellidos'\" [control]=\"codSelfFormStepFour.controls['invoicing_Apellido']\"></ipt-input>\n <ipt-select\n [initialValue]=\"codSelfFormStepFour.controls['invoicing_idType'].value\"\n [control]=\"codSelfFormStepFour.controls['invoicing_idType']\"\n [selectCode]=\"codSelfFormStepFour.controls['invoicing_idType'].value === null ? 'Tipo de documento' : codSelfFormStepFour.controls['invoicing_idType'].value\"\n [isRequired]=\"true\"\n [data]=\"idTypes\"\n (eventSelect)=\"selectIdType($event)\"\n [defaultText]=\"'Tipo de documento'\"\n ></ipt-select>\n <ipt-input [inputType]=\"'number'\" [placeHolder]=\"'N\u00FAmero de documento'\" [control]=\"codSelfFormStepFour.controls['invoicing_document']\"></ipt-input>\n </div>\n <div class=\"flex justify-content-end mt-3 align-items-center gap-3\">\n <button pButton [disabled]=\"!codSelfFormStepFour.valid\" label=\"Continuar\" type=\"button\" (click)=\"updateDatosBillingData()\"></button>\n </div>\n </div>\n </div>\n\n <!-- Vista para la opci\u00F3n de pago \"Pasarela pagos\" -->\n <div *ngIf=\"getViewBasedOnPaymentOption() === 'ps'\">\n <!-- TODO:<h3>Completa los datos para Pasarela pagos</h3> -->\n <!-- Aqu\u00ED puedes agregar el formulario espec\u00EDfico para Pasarela pagos -->\n </div>\n </div>\n </div>\n </form>\n\n <div class=\"flex justify-content-between mt-3 align-items-center gap-3\">\n <button pButton icon=\"pi pi-arrow-left\" type=\"button\" (click)=\"back()\"></button>\n <button *ngIf=\"!isSelectionOptionPayments && isEditBillingData && codSelfFormStepFour.valid\" pButton label=\"\u00A1Matricularme!\" type=\"button\" (click)=\"sendForm()\"></button>\n </div>\n </div>\n </div>\n</div>\n", styles: [".container-form{margin:5px;border-radius:3px;border:1px solid #2563eb;box-shadow:#3c40434d 0 1px 2px,#3c404326 0 2px 6px 2px;padding:.5rem}.error-message{font-size:x-small;color:red}:host ::ng-deep .p-toast{width:20rem!important}.circular-image{width:50px;height:50px;border-radius:50%;object-fit:cover;border:none}.container-button{width:10rem;margin-top:3%}\n"], dependencies: [{ kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: ButtonComponent, selector: "ipt-button", inputs: ["primary", "size", "label", "buttonType", "isEnabled"], outputs: ["onClick"] }, { kind: "component", type: InputComponent, selector: "ipt-input", inputs: ["inputType", "placeHolder", "validateText", "withPipe", "list", "iconUrl", "control", "prefix", "thousands", "decimal", "disabledSel"], outputs: ["dateSelected"] }, { kind: "component", type: SelectComponent, selector: "ipt-select", inputs: ["isRequired", "data", "defaultText", "selectCode", "disabledSel", "initialValue", "label", "control"], outputs: ["eventSelect"] }, { kind: "directive", type: i1$1.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i1$1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$1.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i1$1.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i9.Tooltip, selector: "[pTooltip]", inputs: ["tooltipPosition", "tooltipEvent", "appendTo", "positionStyle", "tooltipStyleClass", "tooltipZIndex", "escape", "showDelay", "hideDelay", "life", "positionTop", "positionLeft", "fitContent", "pTooltip", "tooltipDisabled", "tooltipOptions"] }, { kind: "directive", type: i1$1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "directive", type: i6$1.ButtonDirective, selector: "[pButton]", inputs: ["iconPos", "loadingIcon", "label", "icon", "loading"] }, { kind: "component", type: i11$1.Toast, selector: "p-toast", inputs: ["key", "autoZIndex", "baseZIndex", "style", "styleClass", "position", "preventOpenDuplicates", "preventDuplicates", "showTransformOptions", "hideTransformOptions", "showTransitionOptions", "hideTransitionOptions", "breakpoints"], outputs: ["onClose"] }, { kind: "directive", type: i2$1.PrimeTemplate, selector: "[pTemplate]", inputs: ["type", "pTemplate"] }, { kind: "component", type: i14.RadioButton, selector: "p-radioButton", inputs: ["value", "formControlName", "name", "disabled", "label", "tabindex", "inputId", "ariaLabelledBy", "ariaLabel", "style", "styleClass", "labelStyleClass"], outputs: ["onClick", "onFocus", "onBlur"] }] });
9141
+ CodSelfFormStepFourComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.0.7", type: CodSelfFormStepFourComponent, selector: "app-cod-self-form-step-four", inputs: { idTypes: "idTypes" }, outputs: { completed: "completed", action: "action" }, usesInheritance: true, ngImport: i0, template: "<div class=\"container-main\">\n <div class=\"container-form\">\n <div class=\"title_step\">\n <h2>Datos de Facturaci\u00F3n</h2>\n <p-toast position=\"top-center\" key=\"confirm\" (onClose)=\"onReject()\" [baseZIndex]=\"10\">\n <ng-template let-message pTemplate=\"message\">\n <div class=\"flex flex-column align-items-start\" style=\"flex: 1\">\n <div class=\"flex align-items-center gap-2\">\n <img src=\"./assets/logos/reading.png\" style=\"width: 65px;\" shape=\"circle\" />\n <span class=\"font-bold text-900\">Jacob</span>\n </div>\n <div class=\"font-medium text-lg my-3 text-900\">{{ messageInfo }}</div>\n </div>\n </ng-template>\n </p-toast>\n </div>\n\n <i class=\"pi pi-exclamation-circle cursor-pointer w-auto \" (click)=\"showConfirm()\" pTooltip=\"M\u00E1s info.\" tooltipPosition=\"bottom\"></i>\n <div class=\"animate__animated animate__slideInRight ng-star-inserted\">\n <form autocomplete=\"off\" [formGroup]=\"codSelfFormStepFour\" class=\"grid mt-2 flex flex-column align-items-center\">\n <div class=\"container__body__select flex justify-content-center flex-wrap\">\n <div class=\"container__type__payments\" *ngIf=\"isSelectionOptionPayments\">\n <div class=\"flex flex-column gap-3\">\n <h3>\u00BFC\u00F3mo quieres pagar?</h3>\n <div *ngFor=\"let category of OptionPayments; index as ind\" class=\"field-checkbox\">\n <p-radioButton\n [inputId]=\"category.key\"\n name=\"category\"\n [value]=\"category\"\n [(ngModel)]=\"selectedOptionPayments\"\n [disabled]=\"disableweekdays[ind]\"\n [ngModelOptions]=\"{ standalone: true }\"\n (ngModelChange)=\"selectOpcionsPayments($event)\"\n ></p-radioButton>\n <label [for]=\"category.key\" class=\"ml-2\">\n {{ category.name }}\n </label>\n </div>\n </div>\n </div>\n\n <div class=\"container__option__instalations\" *ngIf=\"!isSelectionOptionPayments\">\n <!-- Vista para la opci\u00F3n de pago \"Instalaciones\" -->\n <div *ngIf=\"getViewBasedOnPaymentOption() === 'in'\">\n <div class=\"container__info flex flex-column align-items-center justify-content-center mt-1 mb-4\" *ngIf=\"isEditBillingData\">\n <img src=\"./assets/logos/lobo-web.png\" alt=\"Receipt Icon\" shape=\"circle\" class=\"circular-image\" />\n <strong>{{ codSelfFormStepFour.get('invoicing_name')?.value }} {{ codSelfFormStepFour.get('invoicing_Apellido')?.value }}</strong>\n <span>{{ getIdTypeDescription(codSelfFormStepFour.get('invoicing_idType')?.value) }} {{ codSelfFormStepFour.get('invoicing_document')?.value }}</span>\n <div class=\"container-button\">\n <ipt-button [label]=\"'Modificar Datos'\" (onClick)=\"editBillingData()\" [primary]=\"false\"></ipt-button>\n </div>\n </div>\n <div class=\"m-2\" *ngIf=\"!isEditBillingData\">\n <h3>Completa los nuevos datos para la emisi\u00F3n de tu factura</h3>\n <div class=\"flex gap-1 md:gap-4 xl:gap-8 m-1 p-2 border-round bg-blue-500 text-white\">\n <div class=\"container_icon flex mr-4 justify-content-center align-items-start mt-1\">\n <i class=\"pi pi-info-circle cursor-pointer w-auto mb-4\" pTooltip=\"M\u00E1s info.\" tooltipPosition=\"bottom\"></i>\n </div>\n <div class=\"flex flex-column container_info_span flex align-items-center justify-content-center\">\n <span>Si proporcionas datos de un tercero, confirmas que los datos son correctos y que tienes su consentimiento para el uso de la informaci\u00F3n. Estos datos se tratar\u00E1n de acuerdo a nuestra <a href=\"\">Declaraci\u00F3n de Privacidad</a></span>\n </div>\n </div>\n <div>\n <ipt-input [inputType]=\"'text'\" [placeHolder]=\"'Nombres'\" [control]=\"codSelfFormStepFour.controls['invoicing_name']\"></ipt-input>\n <ipt-input [inputType]=\"'text'\" [placeHolder]=\"'Apellidos'\" [control]=\"codSelfFormStepFour.controls['invoicing_Apellido']\"></ipt-input>\n <ipt-select\n [initialValue]=\"codSelfFormStepFour.controls['invoicing_idType'].value\"\n [control]=\"codSelfFormStepFour.controls['invoicing_idType']\"\n [selectCode]=\"codSelfFormStepFour.controls['invoicing_idType'].value === null ? 'Tipo de documento' : codSelfFormStepFour.controls['invoicing_idType'].value\"\n [isRequired]=\"true\"\n [data]=\"idTypes\"\n (eventSelect)=\"selectIdType($event)\"\n [defaultText]=\"'Tipo de documento'\"\n ></ipt-select>\n <ipt-input [inputType]=\"'number'\" [placeHolder]=\"'N\u00FAmero de documento'\" [control]=\"codSelfFormStepFour.controls['invoicing_document']\"></ipt-input>\n </div>\n <div class=\"flex justify-content-end mt-3 align-items-center gap-3\">\n <button pButton [disabled]=\"!codSelfFormStepFour.valid\" label=\"Continuar\" type=\"button\" (click)=\"updateDatosBillingData()\"></button>\n </div>\n </div>\n </div>\n\n <!-- Vista para la opci\u00F3n de pago \"Pasarela pagos\" -->\n <div *ngIf=\"getViewBasedOnPaymentOption() === 'ps'\">\n <!-- TODO:<h3>Completa los datos para Pasarela pagos</h3> -->\n <!-- Aqu\u00ED puedes agregar el formulario espec\u00EDfico para Pasarela pagos -->\n </div>\n </div>\n </div>\n </form>\n\n <div class=\"flex justify-content-between mt-3 align-items-center gap-3\">\n <button pButton icon=\"pi pi-arrow-left\" type=\"button\" (click)=\"back()\"></button>\n <button *ngIf=\"!isSelectionOptionPayments && isEditBillingData && codSelfFormStepFour.valid\" pButton label=\"\u00A1Matricularme!\" type=\"button\" (click)=\"sendForm()\"></button>\n </div>\n </div>\n </div>\n</div>\n", styles: [".container-form{margin:5px;border-radius:3px;border:1px solid #2563eb;box-shadow:#3c40434d 0 1px 2px,#3c404326 0 2px 6px 2px;padding:.5rem}.error-message{font-size:x-small;color:red}:host ::ng-deep .p-toast{width:20rem!important}.circular-image{width:50px;height:50px;border-radius:50%;object-fit:cover;border:none}.container-button{width:10rem;margin-top:3%}\n"], dependencies: [{ kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: ButtonComponent, selector: "ipt-button", inputs: ["primary", "size", "label", "buttonType", "isEnabled"], outputs: ["onClick"] }, { kind: "component", type: InputComponent, selector: "ipt-input", inputs: ["inputType", "placeHolder", "validateText", "withPipe", "list", "iconUrl", "control", "prefix", "thousands", "decimal", "disabledSel"], outputs: ["dateSelected"] }, { kind: "component", type: SelectComponent, selector: "ipt-select", inputs: ["isRequired", "data", "defaultText", "selectCode", "disabledSel", "initialValue", "label", "control"], outputs: ["eventSelect"] }, { kind: "directive", type: i1$1.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i1$1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$1.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i1$1.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i9.Tooltip, selector: "[pTooltip]", inputs: ["tooltipPosition", "tooltipEvent", "appendTo", "positionStyle", "tooltipStyleClass", "tooltipZIndex", "escape", "showDelay", "hideDelay", "life", "positionTop", "positionLeft", "fitContent", "pTooltip", "tooltipDisabled", "tooltipOptions"] }, { kind: "directive", type: i1$1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "directive", type: i6$2.ButtonDirective, selector: "[pButton]", inputs: ["iconPos", "loadingIcon", "label", "icon", "loading"] }, { kind: "component", type: i11$1.Toast, selector: "p-toast", inputs: ["key", "autoZIndex", "baseZIndex", "style", "styleClass", "position", "preventOpenDuplicates", "preventDuplicates", "showTransformOptions", "hideTransformOptions", "showTransitionOptions", "hideTransitionOptions", "breakpoints"], outputs: ["onClose"] }, { kind: "directive", type: i2$1.PrimeTemplate, selector: "[pTemplate]", inputs: ["type", "pTemplate"] }, { kind: "component", type: i14.RadioButton, selector: "p-radioButton", inputs: ["value", "formControlName", "name", "disabled", "label", "tabindex", "inputId", "ariaLabelledBy", "ariaLabel", "style", "styleClass", "labelStyleClass"], outputs: ["onClick", "onFocus", "onBlur"] }] });
9111
9142
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.7", ngImport: i0, type: CodSelfFormStepFourComponent, decorators: [{
9112
9143
  type: Component,
9113
9144
  args: [{ selector: 'app-cod-self-form-step-four', template: "<div class=\"container-main\">\n <div class=\"container-form\">\n <div class=\"title_step\">\n <h2>Datos de Facturaci\u00F3n</h2>\n <p-toast position=\"top-center\" key=\"confirm\" (onClose)=\"onReject()\" [baseZIndex]=\"10\">\n <ng-template let-message pTemplate=\"message\">\n <div class=\"flex flex-column align-items-start\" style=\"flex: 1\">\n <div class=\"flex align-items-center gap-2\">\n <img src=\"./assets/logos/reading.png\" style=\"width: 65px;\" shape=\"circle\" />\n <span class=\"font-bold text-900\">Jacob</span>\n </div>\n <div class=\"font-medium text-lg my-3 text-900\">{{ messageInfo }}</div>\n </div>\n </ng-template>\n </p-toast>\n </div>\n\n <i class=\"pi pi-exclamation-circle cursor-pointer w-auto \" (click)=\"showConfirm()\" pTooltip=\"M\u00E1s info.\" tooltipPosition=\"bottom\"></i>\n <div class=\"animate__animated animate__slideInRight ng-star-inserted\">\n <form autocomplete=\"off\" [formGroup]=\"codSelfFormStepFour\" class=\"grid mt-2 flex flex-column align-items-center\">\n <div class=\"container__body__select flex justify-content-center flex-wrap\">\n <div class=\"container__type__payments\" *ngIf=\"isSelectionOptionPayments\">\n <div class=\"flex flex-column gap-3\">\n <h3>\u00BFC\u00F3mo quieres pagar?</h3>\n <div *ngFor=\"let category of OptionPayments; index as ind\" class=\"field-checkbox\">\n <p-radioButton\n [inputId]=\"category.key\"\n name=\"category\"\n [value]=\"category\"\n [(ngModel)]=\"selectedOptionPayments\"\n [disabled]=\"disableweekdays[ind]\"\n [ngModelOptions]=\"{ standalone: true }\"\n (ngModelChange)=\"selectOpcionsPayments($event)\"\n ></p-radioButton>\n <label [for]=\"category.key\" class=\"ml-2\">\n {{ category.name }}\n </label>\n </div>\n </div>\n </div>\n\n <div class=\"container__option__instalations\" *ngIf=\"!isSelectionOptionPayments\">\n <!-- Vista para la opci\u00F3n de pago \"Instalaciones\" -->\n <div *ngIf=\"getViewBasedOnPaymentOption() === 'in'\">\n <div class=\"container__info flex flex-column align-items-center justify-content-center mt-1 mb-4\" *ngIf=\"isEditBillingData\">\n <img src=\"./assets/logos/lobo-web.png\" alt=\"Receipt Icon\" shape=\"circle\" class=\"circular-image\" />\n <strong>{{ codSelfFormStepFour.get('invoicing_name')?.value }} {{ codSelfFormStepFour.get('invoicing_Apellido')?.value }}</strong>\n <span>{{ getIdTypeDescription(codSelfFormStepFour.get('invoicing_idType')?.value) }} {{ codSelfFormStepFour.get('invoicing_document')?.value }}</span>\n <div class=\"container-button\">\n <ipt-button [label]=\"'Modificar Datos'\" (onClick)=\"editBillingData()\" [primary]=\"false\"></ipt-button>\n </div>\n </div>\n <div class=\"m-2\" *ngIf=\"!isEditBillingData\">\n <h3>Completa los nuevos datos para la emisi\u00F3n de tu factura</h3>\n <div class=\"flex gap-1 md:gap-4 xl:gap-8 m-1 p-2 border-round bg-blue-500 text-white\">\n <div class=\"container_icon flex mr-4 justify-content-center align-items-start mt-1\">\n <i class=\"pi pi-info-circle cursor-pointer w-auto mb-4\" pTooltip=\"M\u00E1s info.\" tooltipPosition=\"bottom\"></i>\n </div>\n <div class=\"flex flex-column container_info_span flex align-items-center justify-content-center\">\n <span>Si proporcionas datos de un tercero, confirmas que los datos son correctos y que tienes su consentimiento para el uso de la informaci\u00F3n. Estos datos se tratar\u00E1n de acuerdo a nuestra <a href=\"\">Declaraci\u00F3n de Privacidad</a></span>\n </div>\n </div>\n <div>\n <ipt-input [inputType]=\"'text'\" [placeHolder]=\"'Nombres'\" [control]=\"codSelfFormStepFour.controls['invoicing_name']\"></ipt-input>\n <ipt-input [inputType]=\"'text'\" [placeHolder]=\"'Apellidos'\" [control]=\"codSelfFormStepFour.controls['invoicing_Apellido']\"></ipt-input>\n <ipt-select\n [initialValue]=\"codSelfFormStepFour.controls['invoicing_idType'].value\"\n [control]=\"codSelfFormStepFour.controls['invoicing_idType']\"\n [selectCode]=\"codSelfFormStepFour.controls['invoicing_idType'].value === null ? 'Tipo de documento' : codSelfFormStepFour.controls['invoicing_idType'].value\"\n [isRequired]=\"true\"\n [data]=\"idTypes\"\n (eventSelect)=\"selectIdType($event)\"\n [defaultText]=\"'Tipo de documento'\"\n ></ipt-select>\n <ipt-input [inputType]=\"'number'\" [placeHolder]=\"'N\u00FAmero de documento'\" [control]=\"codSelfFormStepFour.controls['invoicing_document']\"></ipt-input>\n </div>\n <div class=\"flex justify-content-end mt-3 align-items-center gap-3\">\n <button pButton [disabled]=\"!codSelfFormStepFour.valid\" label=\"Continuar\" type=\"button\" (click)=\"updateDatosBillingData()\"></button>\n </div>\n </div>\n </div>\n\n <!-- Vista para la opci\u00F3n de pago \"Pasarela pagos\" -->\n <div *ngIf=\"getViewBasedOnPaymentOption() === 'ps'\">\n <!-- TODO:<h3>Completa los datos para Pasarela pagos</h3> -->\n <!-- Aqu\u00ED puedes agregar el formulario espec\u00EDfico para Pasarela pagos -->\n </div>\n </div>\n </div>\n </form>\n\n <div class=\"flex justify-content-between mt-3 align-items-center gap-3\">\n <button pButton icon=\"pi pi-arrow-left\" type=\"button\" (click)=\"back()\"></button>\n <button *ngIf=\"!isSelectionOptionPayments && isEditBillingData && codSelfFormStepFour.valid\" pButton label=\"\u00A1Matricularme!\" type=\"button\" (click)=\"sendForm()\"></button>\n </div>\n </div>\n </div>\n</div>\n", styles: [".container-form{margin:5px;border-radius:3px;border:1px solid #2563eb;box-shadow:#3c40434d 0 1px 2px,#3c404326 0 2px 6px 2px;padding:.5rem}.error-message{font-size:x-small;color:red}:host ::ng-deep .p-toast{width:20rem!important}.circular-image{width:50px;height:50px;border-radius:50%;object-fit:cover;border:none}.container-button{width:10rem;margin-top:3%}\n"] }]
@@ -9316,7 +9347,7 @@ class CodSelfManagedComponent {
9316
9347
  }
9317
9348
  }
9318
9349
  CodSelfManagedComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.7", ngImport: i0, type: CodSelfManagedComponent, deps: [{ token: BaseService }, { token: CommercialService }, { token: CodSelfManagedControls }, { token: LocalStorageCodSelfMaganedService }], target: i0.ɵɵFactoryTarget.Component });
9319
- CodSelfManagedComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.0.7", type: CodSelfManagedComponent, selector: "ipt-cod-self-managed", inputs: { user: "user", scorePlacementTest: "scorePlacementTest", codPrevious: "codPrevious" }, outputs: { okCreatedCOD: "okCreatedCOD" }, ngImport: i0, template: "<!-- <p-steps [model]=\"items\" [(activeIndex)]=\"currentStep\" (activeIndexChange)=\"currentStep = $event\" ></p-steps> -->\n<p-steps [model]=\"items\" [(activeIndex)]=\"currentStep\" (activeIndexChange)=\"currentStep = $event\">\n <ng-template pTemplate=\"item\" let-item>\n <span class=\"p-steps-number\">{{ item.id }}</span>\n <i [class]=\"item.icon\"></i>\n <span class=\"p-steps-title\">{{ item.label }}</span>\n </ng-template>\n</p-steps>\n\n<p-tabView [activeIndex]=\"currentStep\" (activeIndexChange)=\"currentStep = $event\">\n <p-tabPanel [disabled]=\"true\">\n <app-cod-self-form-step-one (completed)=\"changeStep($event)\" [userStudent]=\"user\" (idTypesChanged)=\"handleIdTypesChanged($event)\"></app-cod-self-form-step-one>\n </p-tabPanel>\n <p-tabPanel [disabled]=\"true\">\n <app-cod-self-form-step-two (completed)=\"changeStep($event)\" [codPrevious]=\"codPrevious\" [scorePlacementTest]=\"scorePlacementTest\"></app-cod-self-form-step-two>\n </p-tabPanel>\n <p-tabPanel [disabled]=\"true\">\n <app-cod-self-form-step-three (completed)=\"changeStep($event)\" (financingData)=\"saveFinancingData($event)\"></app-cod-self-form-step-three>\n </p-tabPanel>\n <p-tabPanel [disabled]=\"true\">\n <app-cod-self-form-step-four (completed)=\"changeStep($event)\" [idTypes]=\"idTypes\" (action)=\"getFormAction($event)\"></app-cod-self-form-step-four>\n </p-tabPanel>\n</p-tabView>\n", styles: [":host ::ng-deep .p-tabview-nav{display:none!important}:host ::ng-deep .p-steps .p-steps-item.p-highlight .p-steps-title{font-weight:400;color:#fff;font-family:Poppins}:host ::ng-deep .p-steps .p-steps-item .p-menuitem-link{border-radius:4px;background:#2563eb;padding-top:5px;width:4.6rem}\n"], dependencies: [{ kind: "component", type: i5$2.Steps, selector: "p-steps", inputs: ["activeIndex", "model", "readonly", "style", "styleClass"], outputs: ["activeIndexChange"] }, { kind: "directive", type: i2$1.PrimeTemplate, selector: "[pTemplate]", inputs: ["type", "pTemplate"] }, { kind: "component", type: i7$2.TabView, selector: "p-tabView", inputs: ["orientation", "style", "styleClass", "controlClose", "scrollable", "activeIndex"], outputs: ["onChange", "onClose", "activeIndexChange"] }, { kind: "component", type: i7$2.TabPanel, selector: "p-tabPanel", inputs: ["closable", "headerStyle", "headerStyleClass", "cache", "tooltip", "tooltipPosition", "tooltipPositionStyle", "tooltipStyleClass", "selected", "disabled", "header", "leftIcon", "rightIcon"] }, { kind: "component", type: CodSelfFormStepOneComponent, selector: "app-cod-self-form-step-one", inputs: ["userStudent"], outputs: ["completed", "idTypesChanged"] }, { kind: "component", type: CodSelfFormStepTwoComponent, selector: "app-cod-self-form-step-two", inputs: ["scorePlacementTest", "codPrevious"], outputs: ["completed"] }, { kind: "component", type: CodSelfFormStepThreeComponent, selector: "app-cod-self-form-step-three", outputs: ["completed", "financingData"] }, { kind: "component", type: CodSelfFormStepFourComponent, selector: "app-cod-self-form-step-four", inputs: ["idTypes"], outputs: ["completed", "action"] }] });
9350
+ CodSelfManagedComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.0.7", type: CodSelfManagedComponent, selector: "ipt-cod-self-managed", inputs: { user: "user", scorePlacementTest: "scorePlacementTest", codPrevious: "codPrevious" }, outputs: { okCreatedCOD: "okCreatedCOD" }, ngImport: i0, template: "<!-- <p-steps [model]=\"items\" [(activeIndex)]=\"currentStep\" (activeIndexChange)=\"currentStep = $event\" ></p-steps> -->\n<p-steps [model]=\"items\" [(activeIndex)]=\"currentStep\" (activeIndexChange)=\"currentStep = $event\">\n <ng-template pTemplate=\"item\" let-item>\n <span class=\"p-steps-number\">{{ item.id }}</span>\n <i [class]=\"item.icon\"></i>\n <span class=\"p-steps-title\">{{ item.label }}</span>\n </ng-template>\n</p-steps>\n\n<p-tabView [activeIndex]=\"currentStep\" (activeIndexChange)=\"currentStep = $event\">\n <p-tabPanel [disabled]=\"true\">\n <app-cod-self-form-step-one (completed)=\"changeStep($event)\" [userStudent]=\"user\" (idTypesChanged)=\"handleIdTypesChanged($event)\"></app-cod-self-form-step-one>\n </p-tabPanel>\n <p-tabPanel [disabled]=\"true\">\n <app-cod-self-form-step-two (completed)=\"changeStep($event)\" [codPrevious]=\"codPrevious\" [scorePlacementTest]=\"scorePlacementTest\"></app-cod-self-form-step-two>\n </p-tabPanel>\n <p-tabPanel [disabled]=\"true\">\n <app-cod-self-form-step-three (completed)=\"changeStep($event)\" (financingData)=\"saveFinancingData($event)\"></app-cod-self-form-step-three>\n </p-tabPanel>\n <p-tabPanel [disabled]=\"true\">\n <app-cod-self-form-step-four (completed)=\"changeStep($event)\" [idTypes]=\"idTypes\" (action)=\"getFormAction($event)\"></app-cod-self-form-step-four>\n </p-tabPanel>\n</p-tabView>\n", styles: [":host ::ng-deep .p-tabview-nav{display:none!important}:host ::ng-deep .p-steps .p-steps-item.p-highlight .p-steps-title{font-weight:400;color:#fff;font-family:Poppins}:host ::ng-deep .p-steps .p-steps-item .p-menuitem-link{border-radius:4px;background:#2563eb;padding-top:5px;width:4.6rem}\n"], dependencies: [{ kind: "component", type: i5$2.Steps, selector: "p-steps", inputs: ["activeIndex", "model", "readonly", "style", "styleClass"], outputs: ["activeIndexChange"] }, { kind: "directive", type: i2$1.PrimeTemplate, selector: "[pTemplate]", inputs: ["type", "pTemplate"] }, { kind: "component", type: i7$3.TabView, selector: "p-tabView", inputs: ["orientation", "style", "styleClass", "controlClose", "scrollable", "activeIndex"], outputs: ["onChange", "onClose", "activeIndexChange"] }, { kind: "component", type: i7$3.TabPanel, selector: "p-tabPanel", inputs: ["closable", "headerStyle", "headerStyleClass", "cache", "tooltip", "tooltipPosition", "tooltipPositionStyle", "tooltipStyleClass", "selected", "disabled", "header", "leftIcon", "rightIcon"] }, { kind: "component", type: CodSelfFormStepOneComponent, selector: "app-cod-self-form-step-one", inputs: ["userStudent"], outputs: ["completed", "idTypesChanged"] }, { kind: "component", type: CodSelfFormStepTwoComponent, selector: "app-cod-self-form-step-two", inputs: ["scorePlacementTest", "codPrevious"], outputs: ["completed"] }, { kind: "component", type: CodSelfFormStepThreeComponent, selector: "app-cod-self-form-step-three", outputs: ["completed", "financingData"] }, { kind: "component", type: CodSelfFormStepFourComponent, selector: "app-cod-self-form-step-four", inputs: ["idTypes"], outputs: ["completed", "action"] }] });
9320
9351
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.7", ngImport: i0, type: CodSelfManagedComponent, decorators: [{
9321
9352
  type: Component,
9322
9353
  args: [{ selector: 'ipt-cod-self-managed', template: "<!-- <p-steps [model]=\"items\" [(activeIndex)]=\"currentStep\" (activeIndexChange)=\"currentStep = $event\" ></p-steps> -->\n<p-steps [model]=\"items\" [(activeIndex)]=\"currentStep\" (activeIndexChange)=\"currentStep = $event\">\n <ng-template pTemplate=\"item\" let-item>\n <span class=\"p-steps-number\">{{ item.id }}</span>\n <i [class]=\"item.icon\"></i>\n <span class=\"p-steps-title\">{{ item.label }}</span>\n </ng-template>\n</p-steps>\n\n<p-tabView [activeIndex]=\"currentStep\" (activeIndexChange)=\"currentStep = $event\">\n <p-tabPanel [disabled]=\"true\">\n <app-cod-self-form-step-one (completed)=\"changeStep($event)\" [userStudent]=\"user\" (idTypesChanged)=\"handleIdTypesChanged($event)\"></app-cod-self-form-step-one>\n </p-tabPanel>\n <p-tabPanel [disabled]=\"true\">\n <app-cod-self-form-step-two (completed)=\"changeStep($event)\" [codPrevious]=\"codPrevious\" [scorePlacementTest]=\"scorePlacementTest\"></app-cod-self-form-step-two>\n </p-tabPanel>\n <p-tabPanel [disabled]=\"true\">\n <app-cod-self-form-step-three (completed)=\"changeStep($event)\" (financingData)=\"saveFinancingData($event)\"></app-cod-self-form-step-three>\n </p-tabPanel>\n <p-tabPanel [disabled]=\"true\">\n <app-cod-self-form-step-four (completed)=\"changeStep($event)\" [idTypes]=\"idTypes\" (action)=\"getFormAction($event)\"></app-cod-self-form-step-four>\n </p-tabPanel>\n</p-tabView>\n", styles: [":host ::ng-deep .p-tabview-nav{display:none!important}:host ::ng-deep .p-steps .p-steps-item.p-highlight .p-steps-title{font-weight:400;color:#fff;font-family:Poppins}:host ::ng-deep .p-steps .p-steps-item .p-menuitem-link{border-radius:4px;background:#2563eb;padding-top:5px;width:4.6rem}\n"] }]