iptdevs-design-system 2.7.26 → 2.7.28

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (134) hide show
  1. package/README.md +24 -24
  2. package/esm2020/iptdevs-design-system.mjs +4 -4
  3. package/esm2020/lib/components/atoms/aside-button/aside-button.component.mjs +50 -50
  4. package/esm2020/lib/components/atoms/button/button.component.mjs +64 -64
  5. package/esm2020/lib/components/atoms/checkbox/checkbox.component.mjs +47 -47
  6. package/esm2020/lib/components/atoms/datalist/datalist.component.mjs +94 -94
  7. package/esm2020/lib/components/atoms/input/input.component.mjs +145 -145
  8. package/esm2020/lib/components/atoms/level-button/level-button.component.mjs +64 -64
  9. package/esm2020/lib/components/atoms/level-text/level-text.component.mjs +19 -19
  10. package/esm2020/lib/components/atoms/loader/loader.component.mjs +48 -48
  11. package/esm2020/lib/components/atoms/radio/radio.component.mjs +47 -47
  12. package/esm2020/lib/components/atoms/select/select.component.mjs +102 -102
  13. package/esm2020/lib/components/atoms/text-link/text-link.component.mjs +39 -39
  14. package/esm2020/lib/components/components.module.mjs +118 -118
  15. package/esm2020/lib/components/forms/create-user-form/create-user-form.component.mjs +228 -228
  16. package/esm2020/lib/components/forms/login-form/login-form.component.mjs +93 -93
  17. package/esm2020/lib/components/material.module.mjs +19 -19
  18. package/esm2020/lib/components/molecules/sidenav/sidenav.component.mjs +150 -150
  19. package/esm2020/lib/core/core.module.mjs +70 -70
  20. package/esm2020/lib/core/models/academic/academic.component.mjs +2 -2
  21. package/esm2020/lib/core/models/activities/activities.interface.mjs +2 -2
  22. package/esm2020/lib/core/models/attendance/attendance.interface.mjs +2 -2
  23. package/esm2020/lib/core/models/budget/budget.model.mjs +2 -2
  24. package/esm2020/lib/core/models/calendar/calendar-rq.models.mjs +2 -2
  25. package/esm2020/lib/core/models/classroom/classroom-rq.model.mjs +2 -2
  26. package/esm2020/lib/core/models/cod/cod-rq.model.mjs +2 -2
  27. package/esm2020/lib/core/models/commercial/commercial.model.mjs +2 -2
  28. package/esm2020/lib/core/models/course/course-rq.model.mjs +2 -2
  29. package/esm2020/lib/core/models/course/courses.model.mjs +2 -2
  30. package/esm2020/lib/core/models/cronogram/cronogram.models.mjs +2 -2
  31. package/esm2020/lib/core/models/marketing/marketing.model.mjs +2 -2
  32. package/esm2020/lib/core/models/notes/notes.interface.mjs +2 -2
  33. package/esm2020/lib/core/models/payment/payment-rq.model.mjs +2 -2
  34. package/esm2020/lib/core/models/response/response.interface.mjs +2 -2
  35. package/esm2020/lib/core/models/session/session.model.mjs +3 -3
  36. package/esm2020/lib/core/models/student/student.interface.mjs +2 -2
  37. package/esm2020/lib/core/models/table/table-rs.model.mjs +2 -2
  38. package/esm2020/lib/core/models/test/test.model.mjs +2 -2
  39. package/esm2020/lib/core/models/url/url.model.mjs +2 -2
  40. package/esm2020/lib/core/models/user/user-rq.model.mjs +2 -2
  41. package/esm2020/lib/core/models/user/user-rs.model.mjs +5 -5
  42. package/esm2020/lib/core/services/academic-service/academic.service.mjs +40 -35
  43. package/esm2020/lib/core/services/activity-service/activity.service.mjs +87 -87
  44. package/esm2020/lib/core/services/attendance-service/attendance.service.mjs +64 -64
  45. package/esm2020/lib/core/services/budget-service/budget-service.mjs +66 -66
  46. package/esm2020/lib/core/services/calendar-service/calendar.service.mjs +60 -60
  47. package/esm2020/lib/core/services/certificate-service/certificate.service.mjs +26 -26
  48. package/esm2020/lib/core/services/classroom-service/classroom-service.service.mjs +31 -31
  49. package/esm2020/lib/core/services/commercial-service/comercial.service.mjs +49 -44
  50. package/esm2020/lib/core/services/commercial-service/validators.mjs +4 -4
  51. package/esm2020/lib/core/services/course-service/course-service.model.mjs +70 -70
  52. package/esm2020/lib/core/services/ekt-service/userekt.service.mjs +29 -29
  53. package/esm2020/lib/core/services/marketing-service/marketing-service.mjs +52 -52
  54. package/esm2020/lib/core/services/notes-service/notes.service.mjs +46 -46
  55. package/esm2020/lib/core/services/parameters-service/parameters.service.mjs +173 -173
  56. package/esm2020/lib/core/services/service-enviroments.mjs +26 -26
  57. package/esm2020/lib/core/services/storage-service/storage-service.mjs +50 -50
  58. package/esm2020/lib/core/services/student-service/student.service.mjs +26 -26
  59. package/esm2020/lib/core/services/switch-service/switch.service.mjs +16 -16
  60. package/esm2020/lib/core/services/test-service/test.service.mjs +131 -131
  61. package/esm2020/lib/core/services/user-service/user-service.mjs +95 -95
  62. package/esm2020/lib/core/utils/base-service/base.service.mjs +186 -186
  63. package/esm2020/lib/core/utils/route-service/route.service.mjs +18 -18
  64. package/esm2020/lib/design-system.module.mjs +36 -36
  65. package/esm2020/public-api.mjs +70 -70
  66. package/fesm2015/iptdevs-design-system.mjs +2516 -2506
  67. package/fesm2015/iptdevs-design-system.mjs.map +1 -1
  68. package/fesm2020/iptdevs-design-system.mjs +2513 -2503
  69. package/fesm2020/iptdevs-design-system.mjs.map +1 -1
  70. package/iptdevs-design-system.d.ts +5 -5
  71. package/lib/components/atoms/aside-button/aside-button.component.d.ts +11 -11
  72. package/lib/components/atoms/button/button.component.d.ts +13 -13
  73. package/lib/components/atoms/checkbox/checkbox.component.d.ts +11 -11
  74. package/lib/components/atoms/datalist/datalist.component.d.ts +20 -20
  75. package/lib/components/atoms/input/input.component.d.ts +26 -26
  76. package/lib/components/atoms/level-button/level-button.component.d.ts +11 -11
  77. package/lib/components/atoms/level-text/level-text.component.d.ts +7 -7
  78. package/lib/components/atoms/loader/loader.component.d.ts +7 -7
  79. package/lib/components/atoms/radio/radio.component.d.ts +11 -11
  80. package/lib/components/atoms/select/select.component.d.ts +26 -26
  81. package/lib/components/atoms/text-link/text-link.component.d.ts +12 -12
  82. package/lib/components/components.module.d.ts +24 -24
  83. package/lib/components/forms/create-user-form/create-user-form.component.d.ts +36 -36
  84. package/lib/components/forms/login-form/login-form.component.d.ts +13 -13
  85. package/lib/components/material.module.d.ts +11 -11
  86. package/lib/components/molecules/sidenav/sidenav.component.d.ts +25 -25
  87. package/lib/core/core.module.d.ts +6 -6
  88. package/lib/core/models/academic/academic.component.d.ts +17 -13
  89. package/lib/core/models/activities/activities.interface.d.ts +12 -12
  90. package/lib/core/models/attendance/attendance.interface.d.ts +62 -62
  91. package/lib/core/models/budget/budget.model.d.ts +69 -69
  92. package/lib/core/models/calendar/calendar-rq.models.d.ts +27 -27
  93. package/lib/core/models/classroom/classroom-rq.model.d.ts +18 -18
  94. package/lib/core/models/cod/cod-rq.model.d.ts +106 -51
  95. package/lib/core/models/commercial/commercial.model.d.ts +10 -10
  96. package/lib/core/models/course/course-rq.model.d.ts +86 -86
  97. package/lib/core/models/course/courses.model.d.ts +18 -18
  98. package/lib/core/models/cronogram/cronogram.models.d.ts +183 -183
  99. package/lib/core/models/marketing/marketing.model.d.ts +104 -104
  100. package/lib/core/models/notes/notes.interface.d.ts +89 -89
  101. package/lib/core/models/payment/payment-rq.model.d.ts +212 -212
  102. package/lib/core/models/response/response.interface.d.ts +10 -10
  103. package/lib/core/models/session/session.model.d.ts +5 -5
  104. package/lib/core/models/student/student.interface.d.ts +4 -4
  105. package/lib/core/models/table/table-rs.model.d.ts +7 -7
  106. package/lib/core/models/test/test.model.d.ts +219 -219
  107. package/lib/core/models/url/url.model.d.ts +8 -8
  108. package/lib/core/models/user/user-rq.model.d.ts +86 -86
  109. package/lib/core/models/user/user-rs.model.d.ts +35 -35
  110. package/lib/core/services/academic-service/academic.service.d.ts +16 -15
  111. package/lib/core/services/activity-service/activity.service.d.ts +25 -25
  112. package/lib/core/services/attendance-service/attendance.service.d.ts +22 -22
  113. package/lib/core/services/budget-service/budget-service.d.ts +23 -23
  114. package/lib/core/services/calendar-service/calendar.service.d.ts +22 -22
  115. package/lib/core/services/certificate-service/certificate.service.d.ts +13 -13
  116. package/lib/core/services/classroom-service/classroom-service.service.d.ts +14 -14
  117. package/lib/core/services/commercial-service/comercial.service.d.ts +19 -17
  118. package/lib/core/services/commercial-service/validators.d.ts +2 -2
  119. package/lib/core/services/course-service/course-service.model.d.ts +23 -23
  120. package/lib/core/services/ekt-service/userekt.service.d.ts +13 -13
  121. package/lib/core/services/marketing-service/marketing-service.d.ts +19 -19
  122. package/lib/core/services/notes-service/notes.service.d.ts +18 -18
  123. package/lib/core/services/parameters-service/parameters.service.d.ts +49 -49
  124. package/lib/core/services/service-enviroments.d.ts +5 -5
  125. package/lib/core/services/storage-service/storage-service.d.ts +18 -18
  126. package/lib/core/services/student-service/student.service.d.ts +13 -13
  127. package/lib/core/services/switch-service/switch.service.d.ts +8 -8
  128. package/lib/core/services/test-service/test.service.d.ts +34 -34
  129. package/lib/core/services/user-service/user-service.d.ts +29 -29
  130. package/lib/core/utils/base-service/base.service.d.ts +22 -22
  131. package/lib/core/utils/route-service/route.service.d.ts +9 -9
  132. package/lib/design-system.module.d.ts +9 -9
  133. package/package.json +1 -1
  134. package/public-api.d.ts +61 -61
@@ -1,93 +1,93 @@
1
- import { Component, EventEmitter, Output } from '@angular/core';
2
- import { Validators } from '@angular/forms';
3
- import * as i0 from "@angular/core";
4
- import * as i1 from "@angular/forms";
5
- import * as i2 from "../../../core/utils/base-service/base.service";
6
- import * as i3 from "../../atoms/input/input.component";
7
- import * as i4 from "../../atoms/button/button.component";
8
- export class LoginFormComponent {
9
- constructor(fb, baseService) {
10
- this.baseService = baseService;
11
- this.isLogged = new EventEmitter();
12
- this.loginForm = fb.group({
13
- email: ['', [Validators.required]],
14
- password: ['', [Validators.required, Validators.minLength(3), Validators.maxLength(15)]],
15
- });
16
- }
17
- login(data) {
18
- this.baseService.webLogin(data.controls['email'].value, data.controls['password'].value).then((isLogged) => {
19
- this.isLogged.emit(isLogged);
20
- });
21
- }
22
- }
23
- LoginFormComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: LoginFormComponent, deps: [{ token: i1.FormBuilder }, { token: i2.BaseService }], target: i0.ɵɵFactoryTarget.Component });
24
- LoginFormComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.1.3", type: LoginFormComponent, selector: "ipt-login-form", outputs: { isLogged: "isLogged" }, ngImport: i0, template: `
25
- <div class="form-container">
26
-
27
- <h2 style="text-align: center;">IPT PLATFORM</h2>
28
- <hr>
29
-
30
- <form (ngSubmit)="login(loginForm)" [formGroup]="loginForm">
31
- <ipt-input
32
- [inputType]="'text'"
33
- [placeHolder]="'Email'"
34
- [validateText]="'Debe ser @inglesparatodos.edu.co'"
35
- [control]="loginForm.controls['email']"
36
- ></ipt-input>
37
-
38
- <ipt-input
39
- [inputType]="'password'"
40
- [placeHolder]="'Password'"
41
- [control]="loginForm.controls['password']"
42
- ></ipt-input>
43
- </form>
44
-
45
- <div class="button-container">
46
- <ipt-button
47
- [label]="'Login'"
48
- [primary]="true"
49
- [isEnabled]="loginForm.valid"
50
- (onClick)="login(loginForm)"
51
- ></ipt-button>
52
- </div>
53
-
54
- </div>
55
- `, isInline: true, styles: [".form-container{display:grid;grid-template-columns:1fr;justify-items:center;width:350px}.with-background{background-color:#fff;border-radius:25px;box-shadow:#32325d40 0 50px 100px -20px,#0000004d 0 30px 60px -30px}h2{color:#1c77f7}hr{width:80%}form{margin-bottom:60px;display:grid;grid-template-columns:1fr;grid-gap:30px;gap:30px;width:100%}.button-container{margin-bottom:70px;align-items:center;display:flex;gap:50px}footer{background-color:#1c77f7;border-top-left-radius:25px;border-top-right-radius:25px;width:100%;height:100px;display:flex;align-items:center;justify-content:center}\n"], components: [{ type: i3.InputComponent, selector: "ipt-input", inputs: ["inputType", "placeHolder", "validateText", "withPipe", "list", "iconUrl", "control", "prefix", "thousands", "decimal"], outputs: ["dateSelected"] }, { type: i4.ButtonComponent, selector: "ipt-button", inputs: ["primary", "size", "label", "buttonType", "isEnabled"], outputs: ["onClick"] }], directives: [{ type: i1.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { type: i1.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { type: i1.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }] });
56
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: LoginFormComponent, decorators: [{
57
- type: Component,
58
- args: [{ selector: 'ipt-login-form', template: `
59
- <div class="form-container">
60
-
61
- <h2 style="text-align: center;">IPT PLATFORM</h2>
62
- <hr>
63
-
64
- <form (ngSubmit)="login(loginForm)" [formGroup]="loginForm">
65
- <ipt-input
66
- [inputType]="'text'"
67
- [placeHolder]="'Email'"
68
- [validateText]="'Debe ser @inglesparatodos.edu.co'"
69
- [control]="loginForm.controls['email']"
70
- ></ipt-input>
71
-
72
- <ipt-input
73
- [inputType]="'password'"
74
- [placeHolder]="'Password'"
75
- [control]="loginForm.controls['password']"
76
- ></ipt-input>
77
- </form>
78
-
79
- <div class="button-container">
80
- <ipt-button
81
- [label]="'Login'"
82
- [primary]="true"
83
- [isEnabled]="loginForm.valid"
84
- (onClick)="login(loginForm)"
85
- ></ipt-button>
86
- </div>
87
-
88
- </div>
89
- `, styles: [".form-container{display:grid;grid-template-columns:1fr;justify-items:center;width:350px}.with-background{background-color:#fff;border-radius:25px;box-shadow:#32325d40 0 50px 100px -20px,#0000004d 0 30px 60px -30px}h2{color:#1c77f7}hr{width:80%}form{margin-bottom:60px;display:grid;grid-template-columns:1fr;grid-gap:30px;gap:30px;width:100%}.button-container{margin-bottom:70px;align-items:center;display:flex;gap:50px}footer{background-color:#1c77f7;border-top-left-radius:25px;border-top-right-radius:25px;width:100%;height:100px;display:flex;align-items:center;justify-content:center}\n"] }]
90
- }], ctorParameters: function () { return [{ type: i1.FormBuilder }, { type: i2.BaseService }]; }, propDecorators: { isLogged: [{
91
- type: Output
92
- }] } });
93
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9naW4tZm9ybS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9kZXNpZ24tc3lzdGVtL3NyYy9saWIvY29tcG9uZW50cy9mb3Jtcy9sb2dpbi1mb3JtL2xvZ2luLWZvcm0uY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFpQixNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDL0UsT0FBTyxFQUEwQixVQUFVLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQzs7Ozs7O0FBd0NwRSxNQUFNLE9BQU8sa0JBQWtCO0lBTTdCLFlBQ0UsRUFBZSxFQUNQLFdBQXdCO1FBQXhCLGdCQUFXLEdBQVgsV0FBVyxDQUFhO1FBTnhCLGFBQVEsR0FBRyxJQUFJLFlBQVksRUFBVyxDQUFDO1FBUS9DLElBQUksQ0FBQyxTQUFTLEdBQUcsRUFBRSxDQUFDLEtBQUssQ0FBQztZQUN4QixLQUFLLEVBQUUsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxVQUFVLENBQUMsUUFBUSxDQUFDLENBQUM7WUFDbEMsUUFBUSxFQUFFLENBQUMsRUFBRSxFQUFFLENBQUMsVUFBVSxDQUFDLFFBQVEsRUFBRSxVQUFVLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxFQUFDLFVBQVUsQ0FBQyxTQUFTLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQztTQUN4RixDQUFDLENBQUM7SUFDTCxDQUFDO0lBRUQsS0FBSyxDQUFDLElBQWU7UUFDbkIsSUFBSSxDQUFDLFdBQVcsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxPQUFPLENBQUMsQ0FBQyxLQUFLLEVBQUUsSUFBSSxDQUFDLFFBQVEsQ0FBQyxVQUFVLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxRQUFRLEVBQUUsRUFBRTtZQUN6RyxJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQztRQUMvQixDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7OytHQXBCVSxrQkFBa0I7bUdBQWxCLGtCQUFrQix5RkFuQ25COzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBK0JUOzJGQUlVLGtCQUFrQjtrQkFyQzlCLFNBQVM7K0JBQ0UsZ0JBQWdCLFlBQ2hCOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBK0JUOzRIQU1TLFFBQVE7c0JBQWpCLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgSW5wdXQsIE9uSW5pdCwgT3V0cHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBGb3JtQnVpbGRlciwgRm9ybUdyb3VwLCBWYWxpZGF0b3JzIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgQmFzZVNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi9jb3JlL3V0aWxzL2Jhc2Utc2VydmljZS9iYXNlLnNlcnZpY2UnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdpcHQtbG9naW4tZm9ybScsXG4gIHRlbXBsYXRlOiBgXG4gICAgPGRpdiBjbGFzcz1cImZvcm0tY29udGFpbmVyXCI+XG5cbiAgICAgIDxoMiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj5JUFQgUExBVEZPUk08L2gyPlxuICAgICAgPGhyPlxuXG4gICAgICA8Zm9ybSAobmdTdWJtaXQpPVwibG9naW4obG9naW5Gb3JtKVwiIFtmb3JtR3JvdXBdPVwibG9naW5Gb3JtXCI+XG4gICAgICAgIDxpcHQtaW5wdXRcbiAgICAgICAgICBbaW5wdXRUeXBlXT1cIid0ZXh0J1wiXG4gICAgICAgICAgW3BsYWNlSG9sZGVyXT1cIidFbWFpbCdcIlxuICAgICAgICAgIFt2YWxpZGF0ZVRleHRdPVwiJ0RlYmUgc2VyIEBpbmdsZXNwYXJhdG9kb3MuZWR1LmNvJ1wiXG4gICAgICAgICAgW2NvbnRyb2xdPVwibG9naW5Gb3JtLmNvbnRyb2xzWydlbWFpbCddXCJcbiAgICAgICAgPjwvaXB0LWlucHV0PlxuXG4gICAgICAgIDxpcHQtaW5wdXRcbiAgICAgICAgICBbaW5wdXRUeXBlXT1cIidwYXNzd29yZCdcIlxuICAgICAgICAgIFtwbGFjZUhvbGRlcl09XCInUGFzc3dvcmQnXCJcbiAgICAgICAgICBbY29udHJvbF09XCJsb2dpbkZvcm0uY29udHJvbHNbJ3Bhc3N3b3JkJ11cIlxuICAgICAgICA+PC9pcHQtaW5wdXQ+XG4gICAgICA8L2Zvcm0+XG5cbiAgICAgIDxkaXYgY2xhc3M9XCJidXR0b24tY29udGFpbmVyXCI+XG4gICAgICAgIDxpcHQtYnV0dG9uXG4gICAgICAgICAgW2xhYmVsXT1cIidMb2dpbidcIlxuICAgICAgICAgIFtwcmltYXJ5XT1cInRydWVcIlxuICAgICAgICAgIFtpc0VuYWJsZWRdPVwibG9naW5Gb3JtLnZhbGlkXCJcbiAgICAgICAgICAob25DbGljayk9XCJsb2dpbihsb2dpbkZvcm0pXCJcbiAgICAgICAgPjwvaXB0LWJ1dHRvbj5cbiAgICAgIDwvZGl2PlxuXG4gICAgPC9kaXY+XG4gIGAsXG4gIHN0eWxlVXJsczogWycuL2xvZ2luLWZvcm0uY3NzJ11cbn0pXG5cbmV4cG9ydCBjbGFzcyBMb2dpbkZvcm1Db21wb25lbnQge1xuXG4gIEBPdXRwdXQoKSBpc0xvZ2dlZCA9IG5ldyBFdmVudEVtaXR0ZXI8Ym9vbGVhbj4oKTtcblxuICBsb2dpbkZvcm0hOiBGb3JtR3JvdXA7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgZmI6IEZvcm1CdWlsZGVyLFxuICAgIHByaXZhdGUgYmFzZVNlcnZpY2U6IEJhc2VTZXJ2aWNlLFxuICApIHtcbiAgICB0aGlzLmxvZ2luRm9ybSA9IGZiLmdyb3VwKHtcbiAgICAgIGVtYWlsOiBbJycsIFtWYWxpZGF0b3JzLnJlcXVpcmVkXV0sXG4gICAgICBwYXNzd29yZDogWycnLCBbVmFsaWRhdG9ycy5yZXF1aXJlZCwgVmFsaWRhdG9ycy5taW5MZW5ndGgoMyksVmFsaWRhdG9ycy5tYXhMZW5ndGgoMTUpXV0sXG4gICAgfSk7XG4gIH1cblxuICBsb2dpbihkYXRhOiBGb3JtR3JvdXApIHtcbiAgICB0aGlzLmJhc2VTZXJ2aWNlLndlYkxvZ2luKGRhdGEuY29udHJvbHNbJ2VtYWlsJ10udmFsdWUsIGRhdGEuY29udHJvbHNbJ3Bhc3N3b3JkJ10udmFsdWUpLnRoZW4oKGlzTG9nZ2VkKSA9PntcbiAgICAgIHRoaXMuaXNMb2dnZWQuZW1pdChpc0xvZ2dlZCk7XG4gICAgfSk7XG4gIH1cblxufVxuIl19
1
+ import { Component, EventEmitter, Output } from '@angular/core';
2
+ import { Validators } from '@angular/forms';
3
+ import * as i0 from "@angular/core";
4
+ import * as i1 from "@angular/forms";
5
+ import * as i2 from "../../../core/utils/base-service/base.service";
6
+ import * as i3 from "../../atoms/input/input.component";
7
+ import * as i4 from "../../atoms/button/button.component";
8
+ export class LoginFormComponent {
9
+ constructor(fb, baseService) {
10
+ this.baseService = baseService;
11
+ this.isLogged = new EventEmitter();
12
+ this.loginForm = fb.group({
13
+ email: ['', [Validators.required]],
14
+ password: ['', [Validators.required, Validators.minLength(3), Validators.maxLength(15)]],
15
+ });
16
+ }
17
+ login(data) {
18
+ this.baseService.webLogin(data.controls['email'].value, data.controls['password'].value).then((isLogged) => {
19
+ this.isLogged.emit(isLogged);
20
+ });
21
+ }
22
+ }
23
+ LoginFormComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: LoginFormComponent, deps: [{ token: i1.FormBuilder }, { token: i2.BaseService }], target: i0.ɵɵFactoryTarget.Component });
24
+ LoginFormComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.1.3", type: LoginFormComponent, selector: "ipt-login-form", outputs: { isLogged: "isLogged" }, ngImport: i0, template: `
25
+ <div class="form-container">
26
+
27
+ <h2 style="text-align: center;">IPT PLATFORM</h2>
28
+ <hr>
29
+
30
+ <form (ngSubmit)="login(loginForm)" [formGroup]="loginForm">
31
+ <ipt-input
32
+ [inputType]="'text'"
33
+ [placeHolder]="'Email'"
34
+ [validateText]="'Debe ser @inglesparatodos.edu.co'"
35
+ [control]="loginForm.controls['email']"
36
+ ></ipt-input>
37
+
38
+ <ipt-input
39
+ [inputType]="'password'"
40
+ [placeHolder]="'Password'"
41
+ [control]="loginForm.controls['password']"
42
+ ></ipt-input>
43
+ </form>
44
+
45
+ <div class="button-container">
46
+ <ipt-button
47
+ [label]="'Login'"
48
+ [primary]="true"
49
+ [isEnabled]="loginForm.valid"
50
+ (onClick)="login(loginForm)"
51
+ ></ipt-button>
52
+ </div>
53
+
54
+ </div>
55
+ `, isInline: true, styles: [".form-container{display:grid;grid-template-columns:1fr;justify-items:center;width:350px}.with-background{background-color:#fff;border-radius:25px;box-shadow:#32325d40 0 50px 100px -20px,#0000004d 0 30px 60px -30px}h2{color:#1c77f7}hr{width:80%}form{margin-bottom:60px;display:grid;grid-template-columns:1fr;grid-gap:30px;gap:30px;width:100%}.button-container{margin-bottom:70px;align-items:center;display:flex;gap:50px}footer{background-color:#1c77f7;border-top-left-radius:25px;border-top-right-radius:25px;width:100%;height:100px;display:flex;align-items:center;justify-content:center}\n"], components: [{ type: i3.InputComponent, selector: "ipt-input", inputs: ["inputType", "placeHolder", "validateText", "withPipe", "list", "iconUrl", "control", "prefix", "thousands", "decimal"], outputs: ["dateSelected"] }, { type: i4.ButtonComponent, selector: "ipt-button", inputs: ["primary", "size", "label", "buttonType", "isEnabled"], outputs: ["onClick"] }], directives: [{ type: i1.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { type: i1.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { type: i1.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }] });
56
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: LoginFormComponent, decorators: [{
57
+ type: Component,
58
+ args: [{ selector: 'ipt-login-form', template: `
59
+ <div class="form-container">
60
+
61
+ <h2 style="text-align: center;">IPT PLATFORM</h2>
62
+ <hr>
63
+
64
+ <form (ngSubmit)="login(loginForm)" [formGroup]="loginForm">
65
+ <ipt-input
66
+ [inputType]="'text'"
67
+ [placeHolder]="'Email'"
68
+ [validateText]="'Debe ser @inglesparatodos.edu.co'"
69
+ [control]="loginForm.controls['email']"
70
+ ></ipt-input>
71
+
72
+ <ipt-input
73
+ [inputType]="'password'"
74
+ [placeHolder]="'Password'"
75
+ [control]="loginForm.controls['password']"
76
+ ></ipt-input>
77
+ </form>
78
+
79
+ <div class="button-container">
80
+ <ipt-button
81
+ [label]="'Login'"
82
+ [primary]="true"
83
+ [isEnabled]="loginForm.valid"
84
+ (onClick)="login(loginForm)"
85
+ ></ipt-button>
86
+ </div>
87
+
88
+ </div>
89
+ `, styles: [".form-container{display:grid;grid-template-columns:1fr;justify-items:center;width:350px}.with-background{background-color:#fff;border-radius:25px;box-shadow:#32325d40 0 50px 100px -20px,#0000004d 0 30px 60px -30px}h2{color:#1c77f7}hr{width:80%}form{margin-bottom:60px;display:grid;grid-template-columns:1fr;grid-gap:30px;gap:30px;width:100%}.button-container{margin-bottom:70px;align-items:center;display:flex;gap:50px}footer{background-color:#1c77f7;border-top-left-radius:25px;border-top-right-radius:25px;width:100%;height:100px;display:flex;align-items:center;justify-content:center}\n"] }]
90
+ }], ctorParameters: function () { return [{ type: i1.FormBuilder }, { type: i2.BaseService }]; }, propDecorators: { isLogged: [{
91
+ type: Output
92
+ }] } });
93
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9naW4tZm9ybS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9kZXNpZ24tc3lzdGVtL3NyYy9saWIvY29tcG9uZW50cy9mb3Jtcy9sb2dpbi1mb3JtL2xvZ2luLWZvcm0uY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFpQixNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDL0UsT0FBTyxFQUEwQixVQUFVLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQzs7Ozs7O0FBd0NwRSxNQUFNLE9BQU8sa0JBQWtCO0lBTTdCLFlBQ0UsRUFBZSxFQUNQLFdBQXdCO1FBQXhCLGdCQUFXLEdBQVgsV0FBVyxDQUFhO1FBTnhCLGFBQVEsR0FBRyxJQUFJLFlBQVksRUFBVyxDQUFDO1FBUS9DLElBQUksQ0FBQyxTQUFTLEdBQUcsRUFBRSxDQUFDLEtBQUssQ0FBQztZQUN4QixLQUFLLEVBQUUsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxVQUFVLENBQUMsUUFBUSxDQUFDLENBQUM7WUFDbEMsUUFBUSxFQUFFLENBQUMsRUFBRSxFQUFFLENBQUMsVUFBVSxDQUFDLFFBQVEsRUFBRSxVQUFVLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxFQUFDLFVBQVUsQ0FBQyxTQUFTLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQztTQUN4RixDQUFDLENBQUM7SUFDTCxDQUFDO0lBRUQsS0FBSyxDQUFDLElBQWU7UUFDbkIsSUFBSSxDQUFDLFdBQVcsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxPQUFPLENBQUMsQ0FBQyxLQUFLLEVBQUUsSUFBSSxDQUFDLFFBQVEsQ0FBQyxVQUFVLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxRQUFRLEVBQUUsRUFBRTtZQUN6RyxJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQztRQUMvQixDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7OytHQXBCVSxrQkFBa0I7bUdBQWxCLGtCQUFrQix5RkFuQ25COzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBK0JUOzJGQUlVLGtCQUFrQjtrQkFyQzlCLFNBQVM7K0JBQ0UsZ0JBQWdCLFlBQ2hCOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBK0JUOzRIQU1TLFFBQVE7c0JBQWpCLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgSW5wdXQsIE9uSW5pdCwgT3V0cHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IEZvcm1CdWlsZGVyLCBGb3JtR3JvdXAsIFZhbGlkYXRvcnMgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XHJcbmltcG9ydCB7IEJhc2VTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vY29yZS91dGlscy9iYXNlLXNlcnZpY2UvYmFzZS5zZXJ2aWNlJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnaXB0LWxvZ2luLWZvcm0nLFxyXG4gIHRlbXBsYXRlOiBgXHJcbiAgICA8ZGl2IGNsYXNzPVwiZm9ybS1jb250YWluZXJcIj5cclxuXHJcbiAgICAgIDxoMiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj5JUFQgUExBVEZPUk08L2gyPlxyXG4gICAgICA8aHI+XHJcblxyXG4gICAgICA8Zm9ybSAobmdTdWJtaXQpPVwibG9naW4obG9naW5Gb3JtKVwiIFtmb3JtR3JvdXBdPVwibG9naW5Gb3JtXCI+XHJcbiAgICAgICAgPGlwdC1pbnB1dFxyXG4gICAgICAgICAgW2lucHV0VHlwZV09XCIndGV4dCdcIlxyXG4gICAgICAgICAgW3BsYWNlSG9sZGVyXT1cIidFbWFpbCdcIlxyXG4gICAgICAgICAgW3ZhbGlkYXRlVGV4dF09XCInRGViZSBzZXIgQGluZ2xlc3BhcmF0b2Rvcy5lZHUuY28nXCJcclxuICAgICAgICAgIFtjb250cm9sXT1cImxvZ2luRm9ybS5jb250cm9sc1snZW1haWwnXVwiXHJcbiAgICAgICAgPjwvaXB0LWlucHV0PlxyXG5cclxuICAgICAgICA8aXB0LWlucHV0XHJcbiAgICAgICAgICBbaW5wdXRUeXBlXT1cIidwYXNzd29yZCdcIlxyXG4gICAgICAgICAgW3BsYWNlSG9sZGVyXT1cIidQYXNzd29yZCdcIlxyXG4gICAgICAgICAgW2NvbnRyb2xdPVwibG9naW5Gb3JtLmNvbnRyb2xzWydwYXNzd29yZCddXCJcclxuICAgICAgICA+PC9pcHQtaW5wdXQ+XHJcbiAgICAgIDwvZm9ybT5cclxuXHJcbiAgICAgIDxkaXYgY2xhc3M9XCJidXR0b24tY29udGFpbmVyXCI+XHJcbiAgICAgICAgPGlwdC1idXR0b25cclxuICAgICAgICAgIFtsYWJlbF09XCInTG9naW4nXCJcclxuICAgICAgICAgIFtwcmltYXJ5XT1cInRydWVcIlxyXG4gICAgICAgICAgW2lzRW5hYmxlZF09XCJsb2dpbkZvcm0udmFsaWRcIlxyXG4gICAgICAgICAgKG9uQ2xpY2spPVwibG9naW4obG9naW5Gb3JtKVwiXHJcbiAgICAgICAgPjwvaXB0LWJ1dHRvbj5cclxuICAgICAgPC9kaXY+XHJcblxyXG4gICAgPC9kaXY+XHJcbiAgYCxcclxuICBzdHlsZVVybHM6IFsnLi9sb2dpbi1mb3JtLmNzcyddXHJcbn0pXHJcblxyXG5leHBvcnQgY2xhc3MgTG9naW5Gb3JtQ29tcG9uZW50IHtcclxuXHJcbiAgQE91dHB1dCgpIGlzTG9nZ2VkID0gbmV3IEV2ZW50RW1pdHRlcjxib29sZWFuPigpO1xyXG5cclxuICBsb2dpbkZvcm0hOiBGb3JtR3JvdXA7XHJcblxyXG4gIGNvbnN0cnVjdG9yKFxyXG4gICAgZmI6IEZvcm1CdWlsZGVyLFxyXG4gICAgcHJpdmF0ZSBiYXNlU2VydmljZTogQmFzZVNlcnZpY2UsXHJcbiAgKSB7XHJcbiAgICB0aGlzLmxvZ2luRm9ybSA9IGZiLmdyb3VwKHtcclxuICAgICAgZW1haWw6IFsnJywgW1ZhbGlkYXRvcnMucmVxdWlyZWRdXSxcclxuICAgICAgcGFzc3dvcmQ6IFsnJywgW1ZhbGlkYXRvcnMucmVxdWlyZWQsIFZhbGlkYXRvcnMubWluTGVuZ3RoKDMpLFZhbGlkYXRvcnMubWF4TGVuZ3RoKDE1KV1dLFxyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICBsb2dpbihkYXRhOiBGb3JtR3JvdXApIHtcclxuICAgIHRoaXMuYmFzZVNlcnZpY2Uud2ViTG9naW4oZGF0YS5jb250cm9sc1snZW1haWwnXS52YWx1ZSwgZGF0YS5jb250cm9sc1sncGFzc3dvcmQnXS52YWx1ZSkudGhlbigoaXNMb2dnZWQpID0+e1xyXG4gICAgICB0aGlzLmlzTG9nZ2VkLmVtaXQoaXNMb2dnZWQpO1xyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxufVxyXG4iXX0=
@@ -1,19 +1,19 @@
1
- import { NgModule } from '@angular/core';
2
- import { MatSidenavModule } from '@angular/material/sidenav';
3
- import { MatToolbarModule } from '@angular/material/toolbar';
4
- import { MatIconModule } from '@angular/material/icon';
5
- import { MatListModule } from '@angular/material/list';
6
- import { MatButtonModule } from '@angular/material/button';
7
- import * as i0 from "@angular/core";
8
- export class MaterialModule {
9
- }
10
- MaterialModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: MaterialModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
11
- MaterialModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: MaterialModule, exports: [MatSidenavModule, MatToolbarModule, MatIconModule, MatListModule, MatButtonModule] });
12
- MaterialModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: MaterialModule, imports: [MatSidenavModule, MatToolbarModule, MatIconModule, MatListModule, MatButtonModule] });
13
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: MaterialModule, decorators: [{
14
- type: NgModule,
15
- args: [{
16
- exports: [MatSidenavModule, MatToolbarModule, MatIconModule, MatListModule, MatButtonModule],
17
- }]
18
- }] });
19
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWF0ZXJpYWwubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vZGVzaWduLXN5c3RlbS9zcmMvbGliL2NvbXBvbmVudHMvbWF0ZXJpYWwubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFekMsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDN0QsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDN0QsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ3ZELE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUN2RCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sMEJBQTBCLENBQUM7O0FBSzNELE1BQU0sT0FBTyxjQUFjOzsyR0FBZCxjQUFjOzRHQUFkLGNBQWMsWUFGZixnQkFBZ0IsRUFBRSxnQkFBZ0IsRUFBRSxhQUFhLEVBQUUsYUFBYSxFQUFFLGVBQWU7NEdBRWhGLGNBQWMsWUFGZixnQkFBZ0IsRUFBRSxnQkFBZ0IsRUFBRSxhQUFhLEVBQUUsYUFBYSxFQUFFLGVBQWU7MkZBRWhGLGNBQWM7a0JBSDFCLFFBQVE7bUJBQUM7b0JBQ1IsT0FBTyxFQUFFLENBQUMsZ0JBQWdCLEVBQUUsZ0JBQWdCLEVBQUUsYUFBYSxFQUFFLGFBQWEsRUFBRSxlQUFlLENBQUM7aUJBQzdGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuaW1wb3J0IHsgTWF0U2lkZW5hdk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL3NpZGVuYXYnO1xuaW1wb3J0IHsgTWF0VG9vbGJhck1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL3Rvb2xiYXInO1xuaW1wb3J0IHsgTWF0SWNvbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2ljb24nO1xuaW1wb3J0IHsgTWF0TGlzdE1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2xpc3QnO1xuaW1wb3J0IHsgTWF0QnV0dG9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvYnV0dG9uJztcblxuQE5nTW9kdWxlKHtcbiAgZXhwb3J0czogW01hdFNpZGVuYXZNb2R1bGUsIE1hdFRvb2xiYXJNb2R1bGUsIE1hdEljb25Nb2R1bGUsIE1hdExpc3RNb2R1bGUsIE1hdEJ1dHRvbk1vZHVsZV0sXG59KVxuZXhwb3J0IGNsYXNzIE1hdGVyaWFsTW9kdWxlIHt9XG4iXX0=
1
+ import { NgModule } from '@angular/core';
2
+ import { MatSidenavModule } from '@angular/material/sidenav';
3
+ import { MatToolbarModule } from '@angular/material/toolbar';
4
+ import { MatIconModule } from '@angular/material/icon';
5
+ import { MatListModule } from '@angular/material/list';
6
+ import { MatButtonModule } from '@angular/material/button';
7
+ import * as i0 from "@angular/core";
8
+ export class MaterialModule {
9
+ }
10
+ MaterialModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: MaterialModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
11
+ MaterialModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: MaterialModule, exports: [MatSidenavModule, MatToolbarModule, MatIconModule, MatListModule, MatButtonModule] });
12
+ MaterialModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: MaterialModule, imports: [MatSidenavModule, MatToolbarModule, MatIconModule, MatListModule, MatButtonModule] });
13
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: MaterialModule, decorators: [{
14
+ type: NgModule,
15
+ args: [{
16
+ exports: [MatSidenavModule, MatToolbarModule, MatIconModule, MatListModule, MatButtonModule],
17
+ }]
18
+ }] });
19
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWF0ZXJpYWwubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vZGVzaWduLXN5c3RlbS9zcmMvbGliL2NvbXBvbmVudHMvbWF0ZXJpYWwubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFekMsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDN0QsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDN0QsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ3ZELE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUN2RCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sMEJBQTBCLENBQUM7O0FBSzNELE1BQU0sT0FBTyxjQUFjOzsyR0FBZCxjQUFjOzRHQUFkLGNBQWMsWUFGZixnQkFBZ0IsRUFBRSxnQkFBZ0IsRUFBRSxhQUFhLEVBQUUsYUFBYSxFQUFFLGVBQWU7NEdBRWhGLGNBQWMsWUFGZixnQkFBZ0IsRUFBRSxnQkFBZ0IsRUFBRSxhQUFhLEVBQUUsYUFBYSxFQUFFLGVBQWU7MkZBRWhGLGNBQWM7a0JBSDFCLFFBQVE7bUJBQUM7b0JBQ1IsT0FBTyxFQUFFLENBQUMsZ0JBQWdCLEVBQUUsZ0JBQWdCLEVBQUUsYUFBYSxFQUFFLGFBQWEsRUFBRSxlQUFlLENBQUM7aUJBQzdGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuXHJcbmltcG9ydCB7IE1hdFNpZGVuYXZNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9zaWRlbmF2JztcclxuaW1wb3J0IHsgTWF0VG9vbGJhck1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL3Rvb2xiYXInO1xyXG5pbXBvcnQgeyBNYXRJY29uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvaWNvbic7XHJcbmltcG9ydCB7IE1hdExpc3RNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9saXN0JztcclxuaW1wb3J0IHsgTWF0QnV0dG9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvYnV0dG9uJztcclxuXHJcbkBOZ01vZHVsZSh7XHJcbiAgZXhwb3J0czogW01hdFNpZGVuYXZNb2R1bGUsIE1hdFRvb2xiYXJNb2R1bGUsIE1hdEljb25Nb2R1bGUsIE1hdExpc3RNb2R1bGUsIE1hdEJ1dHRvbk1vZHVsZV0sXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBNYXRlcmlhbE1vZHVsZSB7fVxyXG4iXX0=
@@ -1,150 +1,150 @@
1
- import { Component, Input, Output, EventEmitter } from '@angular/core';
2
- import * as i0 from "@angular/core";
3
- import * as i1 from "../../../core/services/user-service/user-service";
4
- import * as i2 from "../../../core/utils/base-service/base.service";
5
- import * as i3 from "../../../core/services/storage-service/storage-service";
6
- import * as i4 from "@angular/material/sidenav";
7
- import * as i5 from "@angular/material/toolbar";
8
- import * as i6 from "@angular/material/list";
9
- import * as i7 from "../../atoms/aside-button/aside-button.component";
10
- import * as i8 from "@angular/common";
11
- export class SidenavComponent {
12
- constructor(userService, baseService, storageService) {
13
- this.userService = userService;
14
- this.baseService = baseService;
15
- this.storageService = storageService;
16
- this.pageChangeEvent = new EventEmitter();
17
- this.appUser = false;
18
- this.routes = [];
19
- this.options = { weekday: 'long', month: 'long', day: 'numeric' };
20
- this.currentDay = new Date().toLocaleDateString('en-EN', this.options);
21
- this.hour = new Date().getHours();
22
- }
23
- ngOnInit() {
24
- let user = this.storageService.getCurrentUser()?.token;
25
- let token = user === undefined ? '' : user;
26
- let request = {
27
- token: token,
28
- };
29
- this.userService.getRoutesForRole(request).subscribe((response) => {
30
- this.routes = response.data;
31
- });
32
- this.appUser = this.baseService.isAnAppUser();
33
- }
34
- clickPage(event) {
35
- this.pageChangeEvent.emit(event);
36
- }
37
- logout() {
38
- this.storageService.logout();
39
- this.pageChangeEvent.emit('logout');
40
- }
41
- }
42
- SidenavComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: SidenavComponent, deps: [{ token: i1.UserService }, { token: i2.BaseService }, { token: i3.StorageService }], target: i0.ɵɵFactoryTarget.Component });
43
- SidenavComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.1.3", type: SidenavComponent, selector: "ipt-sidenav", inputs: { department: "department", setPage: "setPage", userName: "userName" }, outputs: { pageChangeEvent: "pageChangeEvent" }, ngImport: i0, template: `
44
- <mat-sidenav #sidenav mode="push" >
45
- <mat-toolbar color="primary" (click)="sidenav.toggle()">
46
- <span style="font-size: 15px;">{{department}}</span>
47
- <span class="menu-icon-close"></span>
48
- </mat-toolbar>
49
-
50
- <mat-nav-list *ngFor="let route of routes">
51
- <nav class="flex-container-menu">
52
- <ipt-aside-button
53
- [buttonActive]="this.setPage === route.page"
54
- [icon]="route.icon"
55
- [text]="route.text"
56
- (isClicked)="clickPage(route.page)"
57
- (click)="sidenav.toggle()"
58
- >
59
- </ipt-aside-button>
60
- </nav>
61
- </mat-nav-list>
62
- </mat-sidenav>
63
-
64
- <mat-toolbar class="header">
65
- <div class="menu-container" (click)="sidenav.toggle()">
66
- <p>Menu</p>
67
- <div class="menu-icon"></div>
68
- </div>
69
-
70
- <img class="img-logo" src="http://qa.iptdev.com.co/assets/logos/IPT-logo.png" alt="" />
71
-
72
- <div class="text-container">
73
- <span class="p1">{{ currentDay }}</span>
74
- <span *ngIf="hour >= 0 && hour < 12" class="p2">
75
- Hey {{ userName }}, Good moorning!
76
- </span>
77
- <p *ngIf="hour >= 12 && hour < 18" class="p2">
78
- Hey {{ userName }}, Good afternoon!
79
- </p>
80
- <p *ngIf="hour >= 18 && hour < 24" class="p2">
81
- Hey {{ userName }}, Good evening!
82
- </p>
83
- </div>
84
-
85
- <div *ngIf="!this.appUser" class="logout-container" (click)="logout()">
86
- <p class="logout-button">Cerrar sesión</p>
87
- <div class="photo-logout"></div>
88
- </div>
89
- </mat-toolbar>
90
- `, 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(http://qa.iptdev.com.co/assets/icons/exit.png);background-size:25px 25px;background-position:center;background-repeat:no-repeat}.menu-icon{background:url(http://qa.iptdev.com.co/assets/icons/icon-menu.png);background-size:25px 25px;background-position:center;background-repeat:no-repeat}.menu-icon-close{background:url(http://qa.iptdev.com.co/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"], components: [{ type: i4.MatSidenav, selector: "mat-sidenav", inputs: ["fixedInViewport", "fixedTopGap", "fixedBottomGap"], exportAs: ["matSidenav"] }, { type: i5.MatToolbar, selector: "mat-toolbar", inputs: ["color"], exportAs: ["matToolbar"] }, { type: i6.MatNavList, selector: "mat-nav-list", inputs: ["disableRipple", "disabled"], exportAs: ["matNavList"] }, { type: i7.AsideButtonComponent, selector: "ipt-aside-button", inputs: ["icon", "text", "buttonActive"], outputs: ["isClicked"] }], directives: [{ type: i8.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i8.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] });
91
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: SidenavComponent, decorators: [{
92
- type: Component,
93
- args: [{ selector: 'ipt-sidenav', template: `
94
- <mat-sidenav #sidenav mode="push" >
95
- <mat-toolbar color="primary" (click)="sidenav.toggle()">
96
- <span style="font-size: 15px;">{{department}}</span>
97
- <span class="menu-icon-close"></span>
98
- </mat-toolbar>
99
-
100
- <mat-nav-list *ngFor="let route of routes">
101
- <nav class="flex-container-menu">
102
- <ipt-aside-button
103
- [buttonActive]="this.setPage === route.page"
104
- [icon]="route.icon"
105
- [text]="route.text"
106
- (isClicked)="clickPage(route.page)"
107
- (click)="sidenav.toggle()"
108
- >
109
- </ipt-aside-button>
110
- </nav>
111
- </mat-nav-list>
112
- </mat-sidenav>
113
-
114
- <mat-toolbar class="header">
115
- <div class="menu-container" (click)="sidenav.toggle()">
116
- <p>Menu</p>
117
- <div class="menu-icon"></div>
118
- </div>
119
-
120
- <img class="img-logo" src="http://qa.iptdev.com.co/assets/logos/IPT-logo.png" alt="" />
121
-
122
- <div class="text-container">
123
- <span class="p1">{{ currentDay }}</span>
124
- <span *ngIf="hour >= 0 && hour < 12" class="p2">
125
- Hey {{ userName }}, Good moorning!
126
- </span>
127
- <p *ngIf="hour >= 12 && hour < 18" class="p2">
128
- Hey {{ userName }}, Good afternoon!
129
- </p>
130
- <p *ngIf="hour >= 18 && hour < 24" class="p2">
131
- Hey {{ userName }}, Good evening!
132
- </p>
133
- </div>
134
-
135
- <div *ngIf="!this.appUser" class="logout-container" (click)="logout()">
136
- <p class="logout-button">Cerrar sesión</p>
137
- <div class="photo-logout"></div>
138
- </div>
139
- </mat-toolbar>
140
- `, 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(http://qa.iptdev.com.co/assets/icons/exit.png);background-size:25px 25px;background-position:center;background-repeat:no-repeat}.menu-icon{background:url(http://qa.iptdev.com.co/assets/icons/icon-menu.png);background-size:25px 25px;background-position:center;background-repeat:no-repeat}.menu-icon-close{background:url(http://qa.iptdev.com.co/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"] }]
141
- }], ctorParameters: function () { return [{ type: i1.UserService }, { type: i2.BaseService }, { type: i3.StorageService }]; }, propDecorators: { department: [{
142
- type: Input
143
- }], setPage: [{
144
- type: Input
145
- }], userName: [{
146
- type: Input
147
- }], pageChangeEvent: [{
148
- type: Output
149
- }] } });
150
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2lkZW5hdi5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9kZXNpZ24tc3lzdGVtL3NyYy9saWIvY29tcG9uZW50cy9tb2xlY3VsZXMvc2lkZW5hdi9zaWRlbmF2LmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsWUFBWSxFQUFVLE1BQU0sZUFBZSxDQUFDOzs7Ozs7Ozs7O0FBMkQvRSxNQUFNLE9BQU8sZ0JBQWdCO0lBWTNCLFlBQ1UsV0FBd0IsRUFDeEIsV0FBd0IsRUFDeEIsY0FBOEI7UUFGOUIsZ0JBQVcsR0FBWCxXQUFXLENBQWE7UUFDeEIsZ0JBQVcsR0FBWCxXQUFXLENBQWE7UUFDeEIsbUJBQWMsR0FBZCxjQUFjLENBQWdCO1FBWDlCLG9CQUFlLEdBQUcsSUFBSSxZQUFZLEVBQVUsQ0FBQztRQUV2RCxZQUFPLEdBQVksS0FBSyxDQUFDO1FBQ3pCLFdBQU0sR0FBVSxFQUFFLENBQUM7UUFDbkIsWUFBTyxHQUFRLEVBQUUsT0FBTyxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLEdBQUcsRUFBRSxTQUFTLEVBQUUsQ0FBQztRQUNsRSxlQUFVLEdBQUcsSUFBSSxJQUFJLEVBQUUsQ0FBQyxrQkFBa0IsQ0FBQyxPQUFPLEVBQUUsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBQ2xFLFNBQUksR0FBRyxJQUFJLElBQUksRUFBRSxDQUFDLFFBQVEsRUFBRSxDQUFDO0lBTTFCLENBQUM7SUFFSixRQUFRO1FBQ04sSUFBSSxJQUFJLEdBQUcsSUFBSSxDQUFDLGNBQWMsQ0FBQyxjQUFjLEVBQUUsRUFBRSxLQUFLLENBQUM7UUFDdkQsSUFBSSxLQUFLLEdBQVcsSUFBSSxLQUFLLFNBQVMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUM7UUFFbkQsSUFBSSxPQUFPLEdBQWdCO1lBQ3pCLEtBQUssRUFBRSxLQUFLO1NBQ2IsQ0FBQztRQUVGLElBQUksQ0FBQyxXQUFXLENBQUMsZ0JBQWdCLENBQUMsT0FBTyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsUUFBUSxFQUFFLEVBQUU7WUFDaEUsSUFBSSxDQUFDLE1BQU0sR0FBRyxRQUFRLENBQUMsSUFBSSxDQUFDO1FBQzlCLENBQUMsQ0FBQyxDQUFDO1FBRUgsSUFBSSxDQUFDLE9BQU8sR0FBRyxJQUFJLENBQUMsV0FBVyxDQUFDLFdBQVcsRUFBRSxDQUFDO0lBQ2hELENBQUM7SUFFRCxTQUFTLENBQUMsS0FBYTtRQUNyQixJQUFJLENBQUMsZUFBZSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUNuQyxDQUFDO0lBRUQsTUFBTTtRQUNKLElBQUksQ0FBQyxjQUFjLENBQUMsTUFBTSxFQUFFLENBQUM7UUFDN0IsSUFBSSxDQUFDLGVBQWUsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUM7SUFDdEMsQ0FBQzs7NkdBeENVLGdCQUFnQjtpR0FBaEIsZ0JBQWdCLG9MQWxEakI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBK0NUOzJGQUdVLGdCQUFnQjtrQkFwRDVCLFNBQVM7K0JBQ0UsYUFBYSxZQUNiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQStDVDt5SkFJUSxVQUFVO3NCQUFsQixLQUFLO2dCQUNHLE9BQU87c0JBQWYsS0FBSztnQkFDRyxRQUFRO3NCQUFoQixLQUFLO2dCQUNJLGVBQWU7c0JBQXhCLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIElucHV0LCBPdXRwdXQsIEV2ZW50RW1pdHRlciwgT25Jbml0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmltcG9ydCB7IEJhc2VTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vY29yZS91dGlscy9iYXNlLXNlcnZpY2UvYmFzZS5zZXJ2aWNlJztcbmltcG9ydCB7IFVzZXJUb2tlblJxIH0gZnJvbSAnLi4vLi4vLi4vY29yZS9tb2RlbHMvdXNlci91c2VyLXJxLm1vZGVsJztcbmltcG9ydCB7IFN0b3JhZ2VTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vY29yZS9zZXJ2aWNlcy9zdG9yYWdlLXNlcnZpY2Uvc3RvcmFnZS1zZXJ2aWNlJztcbmltcG9ydCB7IFVzZXJTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vY29yZS9zZXJ2aWNlcy91c2VyLXNlcnZpY2UvdXNlci1zZXJ2aWNlJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnaXB0LXNpZGVuYXYnLFxuICB0ZW1wbGF0ZTogYFxuICAgIDxtYXQtc2lkZW5hdiAjc2lkZW5hdiBtb2RlPVwicHVzaFwiID5cbiAgICAgIDxtYXQtdG9vbGJhciBjb2xvcj1cInByaW1hcnlcIiAoY2xpY2spPVwic2lkZW5hdi50b2dnbGUoKVwiPlxuICAgICAgICA8c3BhbiBzdHlsZT1cImZvbnQtc2l6ZTogMTVweDtcIj57e2RlcGFydG1lbnR9fTwvc3Bhbj5cbiAgICAgICAgPHNwYW4gY2xhc3M9XCJtZW51LWljb24tY2xvc2VcIj48L3NwYW4+XG4gICAgICA8L21hdC10b29sYmFyPlxuXG4gICAgICA8bWF0LW5hdi1saXN0ICpuZ0Zvcj1cImxldCByb3V0ZSBvZiByb3V0ZXNcIj5cbiAgICAgICAgPG5hdiBjbGFzcz1cImZsZXgtY29udGFpbmVyLW1lbnVcIj5cbiAgICAgICAgICA8aXB0LWFzaWRlLWJ1dHRvblxuICAgICAgICAgICAgW2J1dHRvbkFjdGl2ZV09XCJ0aGlzLnNldFBhZ2UgPT09IHJvdXRlLnBhZ2VcIlxuICAgICAgICAgICAgW2ljb25dPVwicm91dGUuaWNvblwiXG4gICAgICAgICAgICBbdGV4dF09XCJyb3V0ZS50ZXh0XCJcbiAgICAgICAgICAgIChpc0NsaWNrZWQpPVwiY2xpY2tQYWdlKHJvdXRlLnBhZ2UpXCJcbiAgICAgICAgICAgIChjbGljayk9XCJzaWRlbmF2LnRvZ2dsZSgpXCJcbiAgICAgICAgICA+XG4gICAgICAgICAgPC9pcHQtYXNpZGUtYnV0dG9uPlxuICAgICAgICA8L25hdj5cbiAgICAgIDwvbWF0LW5hdi1saXN0PlxuICAgIDwvbWF0LXNpZGVuYXY+XG5cbiAgICA8bWF0LXRvb2xiYXIgY2xhc3M9XCJoZWFkZXJcIj5cbiAgICAgIDxkaXYgY2xhc3M9XCJtZW51LWNvbnRhaW5lclwiIChjbGljayk9XCJzaWRlbmF2LnRvZ2dsZSgpXCI+XG4gICAgICAgIDxwPk1lbnU8L3A+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJtZW51LWljb25cIj48L2Rpdj5cbiAgICAgIDwvZGl2PlxuXG4gICAgICA8aW1nIGNsYXNzPVwiaW1nLWxvZ29cIiBzcmM9XCJodHRwOi8vcWEuaXB0ZGV2LmNvbS5jby9hc3NldHMvbG9nb3MvSVBULWxvZ28ucG5nXCIgYWx0PVwiXCIgLz5cblxuICAgICAgPGRpdiBjbGFzcz1cInRleHQtY29udGFpbmVyXCI+XG4gICAgICAgIDxzcGFuIGNsYXNzPVwicDFcIj57eyBjdXJyZW50RGF5IH19PC9zcGFuPlxuICAgICAgICA8c3BhbiAqbmdJZj1cImhvdXIgPj0gMCAmJiBob3VyIDwgMTJcIiBjbGFzcz1cInAyXCI+XG4gICAgICAgICAgSGV5IHt7IHVzZXJOYW1lIH19LCBHb29kIG1vb3JuaW5nIVxuICAgICAgICA8L3NwYW4+XG4gICAgICAgIDxwICpuZ0lmPVwiaG91ciA+PSAxMiAmJiBob3VyIDwgMThcIiBjbGFzcz1cInAyXCI+XG4gICAgICAgICAgSGV5IHt7IHVzZXJOYW1lIH19LCBHb29kIGFmdGVybm9vbiFcbiAgICAgICAgPC9wPlxuICAgICAgICA8cCAqbmdJZj1cImhvdXIgPj0gMTggJiYgaG91ciA8IDI0XCIgY2xhc3M9XCJwMlwiPlxuICAgICAgICAgIEhleSB7eyB1c2VyTmFtZSB9fSwgR29vZCBldmVuaW5nIVxuICAgICAgICA8L3A+XG4gICAgICA8L2Rpdj5cblxuICAgICAgPGRpdiAqbmdJZj1cIiF0aGlzLmFwcFVzZXJcIiBjbGFzcz1cImxvZ291dC1jb250YWluZXJcIiAoY2xpY2spPVwibG9nb3V0KClcIj5cbiAgICAgICAgPHAgY2xhc3M9XCJsb2dvdXQtYnV0dG9uXCI+Q2VycmFyIHNlc2nDs248L3A+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJwaG90by1sb2dvdXRcIj48L2Rpdj5cbiAgICAgIDwvZGl2PlxuICAgIDwvbWF0LXRvb2xiYXI+XG4gIGAsXG4gIHN0eWxlVXJsczogWycuL3NpZGVuYXYuY3NzJ10sXG59KVxuZXhwb3J0IGNsYXNzIFNpZGVuYXZDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xuICBASW5wdXQoKSBkZXBhcnRtZW50ITogc3RyaW5nO1xuICBASW5wdXQoKSBzZXRQYWdlITogc3RyaW5nO1xuICBASW5wdXQoKSB1c2VyTmFtZSE6IHN0cmluZztcbiAgQE91dHB1dCgpIHBhZ2VDaGFuZ2VFdmVudCA9IG5ldyBFdmVudEVtaXR0ZXI8c3RyaW5nPigpO1xuXG4gIGFwcFVzZXI6IGJvb2xlYW4gPSBmYWxzZTtcbiAgcm91dGVzOiBhbnlbXSA9IFtdO1xuICBvcHRpb25zOiBhbnkgPSB7IHdlZWtkYXk6ICdsb25nJywgbW9udGg6ICdsb25nJywgZGF5OiAnbnVtZXJpYycgfTtcbiAgY3VycmVudERheSA9IG5ldyBEYXRlKCkudG9Mb2NhbGVEYXRlU3RyaW5nKCdlbi1FTicsIHRoaXMub3B0aW9ucyk7XG4gIGhvdXIgPSBuZXcgRGF0ZSgpLmdldEhvdXJzKCk7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSB1c2VyU2VydmljZTogVXNlclNlcnZpY2UsXG4gICAgcHJpdmF0ZSBiYXNlU2VydmljZTogQmFzZVNlcnZpY2UsXG4gICAgcHJpdmF0ZSBzdG9yYWdlU2VydmljZTogU3RvcmFnZVNlcnZpY2VcbiAgKSB7fVxuXG4gIG5nT25Jbml0KCk6IHZvaWQge1xuICAgIGxldCB1c2VyID0gdGhpcy5zdG9yYWdlU2VydmljZS5nZXRDdXJyZW50VXNlcigpPy50b2tlbjtcbiAgICBsZXQgdG9rZW46IHN0cmluZyA9IHVzZXIgPT09IHVuZGVmaW5lZCA/ICcnIDogdXNlcjtcblxuICAgIGxldCByZXF1ZXN0OiBVc2VyVG9rZW5ScSA9IHtcbiAgICAgIHRva2VuOiB0b2tlbixcbiAgICB9O1xuXG4gICAgdGhpcy51c2VyU2VydmljZS5nZXRSb3V0ZXNGb3JSb2xlKHJlcXVlc3QpLnN1YnNjcmliZSgocmVzcG9uc2UpID0+IHtcbiAgICAgIHRoaXMucm91dGVzID0gcmVzcG9uc2UuZGF0YTtcbiAgICB9KTtcblxuICAgIHRoaXMuYXBwVXNlciA9IHRoaXMuYmFzZVNlcnZpY2UuaXNBbkFwcFVzZXIoKTtcbiAgfVxuXG4gIGNsaWNrUGFnZShldmVudDogc3RyaW5nKSB7XG4gICAgdGhpcy5wYWdlQ2hhbmdlRXZlbnQuZW1pdChldmVudCk7XG4gIH1cblxuICBsb2dvdXQoKSB7XG4gICAgdGhpcy5zdG9yYWdlU2VydmljZS5sb2dvdXQoKTtcbiAgICB0aGlzLnBhZ2VDaGFuZ2VFdmVudC5lbWl0KCdsb2dvdXQnKTtcbiAgfVxufVxuIl19
1
+ import { Component, Input, Output, EventEmitter } from '@angular/core';
2
+ import * as i0 from "@angular/core";
3
+ import * as i1 from "../../../core/services/user-service/user-service";
4
+ import * as i2 from "../../../core/utils/base-service/base.service";
5
+ import * as i3 from "../../../core/services/storage-service/storage-service";
6
+ import * as i4 from "@angular/material/sidenav";
7
+ import * as i5 from "@angular/material/toolbar";
8
+ import * as i6 from "@angular/material/list";
9
+ import * as i7 from "../../atoms/aside-button/aside-button.component";
10
+ import * as i8 from "@angular/common";
11
+ export class SidenavComponent {
12
+ constructor(userService, baseService, storageService) {
13
+ this.userService = userService;
14
+ this.baseService = baseService;
15
+ this.storageService = storageService;
16
+ this.pageChangeEvent = new EventEmitter();
17
+ this.appUser = false;
18
+ this.routes = [];
19
+ this.options = { weekday: 'long', month: 'long', day: 'numeric' };
20
+ this.currentDay = new Date().toLocaleDateString('en-EN', this.options);
21
+ this.hour = new Date().getHours();
22
+ }
23
+ ngOnInit() {
24
+ let user = this.storageService.getCurrentUser()?.token;
25
+ let token = user === undefined ? '' : user;
26
+ let request = {
27
+ token: token,
28
+ };
29
+ this.userService.getRoutesForRole(request).subscribe((response) => {
30
+ this.routes = response.data;
31
+ });
32
+ this.appUser = this.baseService.isAnAppUser();
33
+ }
34
+ clickPage(event) {
35
+ this.pageChangeEvent.emit(event);
36
+ }
37
+ logout() {
38
+ this.storageService.logout();
39
+ this.pageChangeEvent.emit('logout');
40
+ }
41
+ }
42
+ SidenavComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: SidenavComponent, deps: [{ token: i1.UserService }, { token: i2.BaseService }, { token: i3.StorageService }], target: i0.ɵɵFactoryTarget.Component });
43
+ SidenavComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.1.3", type: SidenavComponent, selector: "ipt-sidenav", inputs: { department: "department", setPage: "setPage", userName: "userName" }, outputs: { pageChangeEvent: "pageChangeEvent" }, ngImport: i0, template: `
44
+ <mat-sidenav #sidenav mode="push" >
45
+ <mat-toolbar color="primary" (click)="sidenav.toggle()">
46
+ <span style="font-size: 15px;">{{department}}</span>
47
+ <span class="menu-icon-close"></span>
48
+ </mat-toolbar>
49
+
50
+ <mat-nav-list *ngFor="let route of routes">
51
+ <nav class="flex-container-menu">
52
+ <ipt-aside-button
53
+ [buttonActive]="this.setPage === route.page"
54
+ [icon]="route.icon"
55
+ [text]="route.text"
56
+ (isClicked)="clickPage(route.page)"
57
+ (click)="sidenav.toggle()"
58
+ >
59
+ </ipt-aside-button>
60
+ </nav>
61
+ </mat-nav-list>
62
+ </mat-sidenav>
63
+
64
+ <mat-toolbar class="header">
65
+ <div class="menu-container" (click)="sidenav.toggle()">
66
+ <p>Menu</p>
67
+ <div class="menu-icon"></div>
68
+ </div>
69
+
70
+ <img class="img-logo" src="http://qa.iptdev.com.co/assets/logos/IPT-logo.png" alt="" />
71
+
72
+ <div class="text-container">
73
+ <span class="p1">{{ currentDay }}</span>
74
+ <span *ngIf="hour >= 0 && hour < 12" class="p2">
75
+ Hey {{ userName }}, Good moorning!
76
+ </span>
77
+ <p *ngIf="hour >= 12 && hour < 18" class="p2">
78
+ Hey {{ userName }}, Good afternoon!
79
+ </p>
80
+ <p *ngIf="hour >= 18 && hour < 24" class="p2">
81
+ Hey {{ userName }}, Good evening!
82
+ </p>
83
+ </div>
84
+
85
+ <div *ngIf="!this.appUser" class="logout-container" (click)="logout()">
86
+ <p class="logout-button">Cerrar sesión</p>
87
+ <div class="photo-logout"></div>
88
+ </div>
89
+ </mat-toolbar>
90
+ `, 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(http://qa.iptdev.com.co/assets/icons/exit.png);background-size:25px 25px;background-position:center;background-repeat:no-repeat}.menu-icon{background:url(http://qa.iptdev.com.co/assets/icons/icon-menu.png);background-size:25px 25px;background-position:center;background-repeat:no-repeat}.menu-icon-close{background:url(http://qa.iptdev.com.co/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"], components: [{ type: i4.MatSidenav, selector: "mat-sidenav", inputs: ["fixedInViewport", "fixedTopGap", "fixedBottomGap"], exportAs: ["matSidenav"] }, { type: i5.MatToolbar, selector: "mat-toolbar", inputs: ["color"], exportAs: ["matToolbar"] }, { type: i6.MatNavList, selector: "mat-nav-list", inputs: ["disableRipple", "disabled"], exportAs: ["matNavList"] }, { type: i7.AsideButtonComponent, selector: "ipt-aside-button", inputs: ["icon", "text", "buttonActive"], outputs: ["isClicked"] }], directives: [{ type: i8.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i8.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] });
91
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: SidenavComponent, decorators: [{
92
+ type: Component,
93
+ args: [{ selector: 'ipt-sidenav', template: `
94
+ <mat-sidenav #sidenav mode="push" >
95
+ <mat-toolbar color="primary" (click)="sidenav.toggle()">
96
+ <span style="font-size: 15px;">{{department}}</span>
97
+ <span class="menu-icon-close"></span>
98
+ </mat-toolbar>
99
+
100
+ <mat-nav-list *ngFor="let route of routes">
101
+ <nav class="flex-container-menu">
102
+ <ipt-aside-button
103
+ [buttonActive]="this.setPage === route.page"
104
+ [icon]="route.icon"
105
+ [text]="route.text"
106
+ (isClicked)="clickPage(route.page)"
107
+ (click)="sidenav.toggle()"
108
+ >
109
+ </ipt-aside-button>
110
+ </nav>
111
+ </mat-nav-list>
112
+ </mat-sidenav>
113
+
114
+ <mat-toolbar class="header">
115
+ <div class="menu-container" (click)="sidenav.toggle()">
116
+ <p>Menu</p>
117
+ <div class="menu-icon"></div>
118
+ </div>
119
+
120
+ <img class="img-logo" src="http://qa.iptdev.com.co/assets/logos/IPT-logo.png" alt="" />
121
+
122
+ <div class="text-container">
123
+ <span class="p1">{{ currentDay }}</span>
124
+ <span *ngIf="hour >= 0 && hour < 12" class="p2">
125
+ Hey {{ userName }}, Good moorning!
126
+ </span>
127
+ <p *ngIf="hour >= 12 && hour < 18" class="p2">
128
+ Hey {{ userName }}, Good afternoon!
129
+ </p>
130
+ <p *ngIf="hour >= 18 && hour < 24" class="p2">
131
+ Hey {{ userName }}, Good evening!
132
+ </p>
133
+ </div>
134
+
135
+ <div *ngIf="!this.appUser" class="logout-container" (click)="logout()">
136
+ <p class="logout-button">Cerrar sesión</p>
137
+ <div class="photo-logout"></div>
138
+ </div>
139
+ </mat-toolbar>
140
+ `, 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(http://qa.iptdev.com.co/assets/icons/exit.png);background-size:25px 25px;background-position:center;background-repeat:no-repeat}.menu-icon{background:url(http://qa.iptdev.com.co/assets/icons/icon-menu.png);background-size:25px 25px;background-position:center;background-repeat:no-repeat}.menu-icon-close{background:url(http://qa.iptdev.com.co/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"] }]
141
+ }], ctorParameters: function () { return [{ type: i1.UserService }, { type: i2.BaseService }, { type: i3.StorageService }]; }, propDecorators: { department: [{
142
+ type: Input
143
+ }], setPage: [{
144
+ type: Input
145
+ }], userName: [{
146
+ type: Input
147
+ }], pageChangeEvent: [{
148
+ type: Output
149
+ }] } });
150
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2lkZW5hdi5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9kZXNpZ24tc3lzdGVtL3NyYy9saWIvY29tcG9uZW50cy9tb2xlY3VsZXMvc2lkZW5hdi9zaWRlbmF2LmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsWUFBWSxFQUFVLE1BQU0sZUFBZSxDQUFDOzs7Ozs7Ozs7O0FBMkQvRSxNQUFNLE9BQU8sZ0JBQWdCO0lBWTNCLFlBQ1UsV0FBd0IsRUFDeEIsV0FBd0IsRUFDeEIsY0FBOEI7UUFGOUIsZ0JBQVcsR0FBWCxXQUFXLENBQWE7UUFDeEIsZ0JBQVcsR0FBWCxXQUFXLENBQWE7UUFDeEIsbUJBQWMsR0FBZCxjQUFjLENBQWdCO1FBWDlCLG9CQUFlLEdBQUcsSUFBSSxZQUFZLEVBQVUsQ0FBQztRQUV2RCxZQUFPLEdBQVksS0FBSyxDQUFDO1FBQ3pCLFdBQU0sR0FBVSxFQUFFLENBQUM7UUFDbkIsWUFBTyxHQUFRLEVBQUUsT0FBTyxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLEdBQUcsRUFBRSxTQUFTLEVBQUUsQ0FBQztRQUNsRSxlQUFVLEdBQUcsSUFBSSxJQUFJLEVBQUUsQ0FBQyxrQkFBa0IsQ0FBQyxPQUFPLEVBQUUsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBQ2xFLFNBQUksR0FBRyxJQUFJLElBQUksRUFBRSxDQUFDLFFBQVEsRUFBRSxDQUFDO0lBTTFCLENBQUM7SUFFSixRQUFRO1FBQ04sSUFBSSxJQUFJLEdBQUcsSUFBSSxDQUFDLGNBQWMsQ0FBQyxjQUFjLEVBQUUsRUFBRSxLQUFLLENBQUM7UUFDdkQsSUFBSSxLQUFLLEdBQVcsSUFBSSxLQUFLLFNBQVMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUM7UUFFbkQsSUFBSSxPQUFPLEdBQWdCO1lBQ3pCLEtBQUssRUFBRSxLQUFLO1NBQ2IsQ0FBQztRQUVGLElBQUksQ0FBQyxXQUFXLENBQUMsZ0JBQWdCLENBQUMsT0FBTyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsUUFBUSxFQUFFLEVBQUU7WUFDaEUsSUFBSSxDQUFDLE1BQU0sR0FBRyxRQUFRLENBQUMsSUFBSSxDQUFDO1FBQzlCLENBQUMsQ0FBQyxDQUFDO1FBRUgsSUFBSSxDQUFDLE9BQU8sR0FBRyxJQUFJLENBQUMsV0FBVyxDQUFDLFdBQVcsRUFBRSxDQUFDO0lBQ2hELENBQUM7SUFFRCxTQUFTLENBQUMsS0FBYTtRQUNyQixJQUFJLENBQUMsZUFBZSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUNuQyxDQUFDO0lBRUQsTUFBTTtRQUNKLElBQUksQ0FBQyxjQUFjLENBQUMsTUFBTSxFQUFFLENBQUM7UUFDN0IsSUFBSSxDQUFDLGVBQWUsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUM7SUFDdEMsQ0FBQzs7NkdBeENVLGdCQUFnQjtpR0FBaEIsZ0JBQWdCLG9MQWxEakI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBK0NUOzJGQUdVLGdCQUFnQjtrQkFwRDVCLFNBQVM7K0JBQ0UsYUFBYSxZQUNiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQStDVDt5SkFJUSxVQUFVO3NCQUFsQixLQUFLO2dCQUNHLE9BQU87c0JBQWYsS0FBSztnQkFDRyxRQUFRO3NCQUFoQixLQUFLO2dCQUNJLGVBQWU7c0JBQXhCLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIElucHV0LCBPdXRwdXQsIEV2ZW50RW1pdHRlciwgT25Jbml0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcblxyXG5pbXBvcnQgeyBCYXNlU2VydmljZSB9IGZyb20gJy4uLy4uLy4uL2NvcmUvdXRpbHMvYmFzZS1zZXJ2aWNlL2Jhc2Uuc2VydmljZSc7XHJcbmltcG9ydCB7IFVzZXJUb2tlblJxIH0gZnJvbSAnLi4vLi4vLi4vY29yZS9tb2RlbHMvdXNlci91c2VyLXJxLm1vZGVsJztcclxuaW1wb3J0IHsgU3RvcmFnZVNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi9jb3JlL3NlcnZpY2VzL3N0b3JhZ2Utc2VydmljZS9zdG9yYWdlLXNlcnZpY2UnO1xyXG5pbXBvcnQgeyBVc2VyU2VydmljZSB9IGZyb20gJy4uLy4uLy4uL2NvcmUvc2VydmljZXMvdXNlci1zZXJ2aWNlL3VzZXItc2VydmljZSc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2lwdC1zaWRlbmF2JyxcclxuICB0ZW1wbGF0ZTogYFxyXG4gICAgPG1hdC1zaWRlbmF2ICNzaWRlbmF2IG1vZGU9XCJwdXNoXCIgPlxyXG4gICAgICA8bWF0LXRvb2xiYXIgY29sb3I9XCJwcmltYXJ5XCIgKGNsaWNrKT1cInNpZGVuYXYudG9nZ2xlKClcIj5cclxuICAgICAgICA8c3BhbiBzdHlsZT1cImZvbnQtc2l6ZTogMTVweDtcIj57e2RlcGFydG1lbnR9fTwvc3Bhbj5cclxuICAgICAgICA8c3BhbiBjbGFzcz1cIm1lbnUtaWNvbi1jbG9zZVwiPjwvc3Bhbj5cclxuICAgICAgPC9tYXQtdG9vbGJhcj5cclxuXHJcbiAgICAgIDxtYXQtbmF2LWxpc3QgKm5nRm9yPVwibGV0IHJvdXRlIG9mIHJvdXRlc1wiPlxyXG4gICAgICAgIDxuYXYgY2xhc3M9XCJmbGV4LWNvbnRhaW5lci1tZW51XCI+XHJcbiAgICAgICAgICA8aXB0LWFzaWRlLWJ1dHRvblxyXG4gICAgICAgICAgICBbYnV0dG9uQWN0aXZlXT1cInRoaXMuc2V0UGFnZSA9PT0gcm91dGUucGFnZVwiXHJcbiAgICAgICAgICAgIFtpY29uXT1cInJvdXRlLmljb25cIlxyXG4gICAgICAgICAgICBbdGV4dF09XCJyb3V0ZS50ZXh0XCJcclxuICAgICAgICAgICAgKGlzQ2xpY2tlZCk9XCJjbGlja1BhZ2Uocm91dGUucGFnZSlcIlxyXG4gICAgICAgICAgICAoY2xpY2spPVwic2lkZW5hdi50b2dnbGUoKVwiXHJcbiAgICAgICAgICA+XHJcbiAgICAgICAgICA8L2lwdC1hc2lkZS1idXR0b24+XHJcbiAgICAgICAgPC9uYXY+XHJcbiAgICAgIDwvbWF0LW5hdi1saXN0PlxyXG4gICAgPC9tYXQtc2lkZW5hdj5cclxuXHJcbiAgICA8bWF0LXRvb2xiYXIgY2xhc3M9XCJoZWFkZXJcIj5cclxuICAgICAgPGRpdiBjbGFzcz1cIm1lbnUtY29udGFpbmVyXCIgKGNsaWNrKT1cInNpZGVuYXYudG9nZ2xlKClcIj5cclxuICAgICAgICA8cD5NZW51PC9wPlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJtZW51LWljb25cIj48L2Rpdj5cclxuICAgICAgPC9kaXY+XHJcblxyXG4gICAgICA8aW1nIGNsYXNzPVwiaW1nLWxvZ29cIiBzcmM9XCJodHRwOi8vcWEuaXB0ZGV2LmNvbS5jby9hc3NldHMvbG9nb3MvSVBULWxvZ28ucG5nXCIgYWx0PVwiXCIgLz5cclxuXHJcbiAgICAgIDxkaXYgY2xhc3M9XCJ0ZXh0LWNvbnRhaW5lclwiPlxyXG4gICAgICAgIDxzcGFuIGNsYXNzPVwicDFcIj57eyBjdXJyZW50RGF5IH19PC9zcGFuPlxyXG4gICAgICAgIDxzcGFuICpuZ0lmPVwiaG91ciA+PSAwICYmIGhvdXIgPCAxMlwiIGNsYXNzPVwicDJcIj5cclxuICAgICAgICAgIEhleSB7eyB1c2VyTmFtZSB9fSwgR29vZCBtb29ybmluZyFcclxuICAgICAgICA8L3NwYW4+XHJcbiAgICAgICAgPHAgKm5nSWY9XCJob3VyID49IDEyICYmIGhvdXIgPCAxOFwiIGNsYXNzPVwicDJcIj5cclxuICAgICAgICAgIEhleSB7eyB1c2VyTmFtZSB9fSwgR29vZCBhZnRlcm5vb24hXHJcbiAgICAgICAgPC9wPlxyXG4gICAgICAgIDxwICpuZ0lmPVwiaG91ciA+PSAxOCAmJiBob3VyIDwgMjRcIiBjbGFzcz1cInAyXCI+XHJcbiAgICAgICAgICBIZXkge3sgdXNlck5hbWUgfX0sIEdvb2QgZXZlbmluZyFcclxuICAgICAgICA8L3A+XHJcbiAgICAgIDwvZGl2PlxyXG5cclxuICAgICAgPGRpdiAqbmdJZj1cIiF0aGlzLmFwcFVzZXJcIiBjbGFzcz1cImxvZ291dC1jb250YWluZXJcIiAoY2xpY2spPVwibG9nb3V0KClcIj5cclxuICAgICAgICA8cCBjbGFzcz1cImxvZ291dC1idXR0b25cIj5DZXJyYXIgc2VzacOzbjwvcD5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwicGhvdG8tbG9nb3V0XCI+PC9kaXY+XHJcbiAgICAgIDwvZGl2PlxyXG4gICAgPC9tYXQtdG9vbGJhcj5cclxuICBgLFxyXG4gIHN0eWxlVXJsczogWycuL3NpZGVuYXYuY3NzJ10sXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBTaWRlbmF2Q29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcclxuICBASW5wdXQoKSBkZXBhcnRtZW50ITogc3RyaW5nO1xyXG4gIEBJbnB1dCgpIHNldFBhZ2UhOiBzdHJpbmc7XHJcbiAgQElucHV0KCkgdXNlck5hbWUhOiBzdHJpbmc7XHJcbiAgQE91dHB1dCgpIHBhZ2VDaGFuZ2VFdmVudCA9IG5ldyBFdmVudEVtaXR0ZXI8c3RyaW5nPigpO1xyXG5cclxuICBhcHBVc2VyOiBib29sZWFuID0gZmFsc2U7XHJcbiAgcm91dGVzOiBhbnlbXSA9IFtdO1xyXG4gIG9wdGlvbnM6IGFueSA9IHsgd2Vla2RheTogJ2xvbmcnLCBtb250aDogJ2xvbmcnLCBkYXk6ICdudW1lcmljJyB9O1xyXG4gIGN1cnJlbnREYXkgPSBuZXcgRGF0ZSgpLnRvTG9jYWxlRGF0ZVN0cmluZygnZW4tRU4nLCB0aGlzLm9wdGlvbnMpO1xyXG4gIGhvdXIgPSBuZXcgRGF0ZSgpLmdldEhvdXJzKCk7XHJcblxyXG4gIGNvbnN0cnVjdG9yKFxyXG4gICAgcHJpdmF0ZSB1c2VyU2VydmljZTogVXNlclNlcnZpY2UsXHJcbiAgICBwcml2YXRlIGJhc2VTZXJ2aWNlOiBCYXNlU2VydmljZSxcclxuICAgIHByaXZhdGUgc3RvcmFnZVNlcnZpY2U6IFN0b3JhZ2VTZXJ2aWNlXHJcbiAgKSB7fVxyXG5cclxuICBuZ09uSW5pdCgpOiB2b2lkIHtcclxuICAgIGxldCB1c2VyID0gdGhpcy5zdG9yYWdlU2VydmljZS5nZXRDdXJyZW50VXNlcigpPy50b2tlbjtcclxuICAgIGxldCB0b2tlbjogc3RyaW5nID0gdXNlciA9PT0gdW5kZWZpbmVkID8gJycgOiB1c2VyO1xyXG5cclxuICAgIGxldCByZXF1ZXN0OiBVc2VyVG9rZW5ScSA9IHtcclxuICAgICAgdG9rZW46IHRva2VuLFxyXG4gICAgfTtcclxuXHJcbiAgICB0aGlzLnVzZXJTZXJ2aWNlLmdldFJvdXRlc0ZvclJvbGUocmVxdWVzdCkuc3Vic2NyaWJlKChyZXNwb25zZSkgPT4ge1xyXG4gICAgICB0aGlzLnJvdXRlcyA9IHJlc3BvbnNlLmRhdGE7XHJcbiAgICB9KTtcclxuXHJcbiAgICB0aGlzLmFwcFVzZXIgPSB0aGlzLmJhc2VTZXJ2aWNlLmlzQW5BcHBVc2VyKCk7XHJcbiAgfVxyXG5cclxuICBjbGlja1BhZ2UoZXZlbnQ6IHN0cmluZykge1xyXG4gICAgdGhpcy5wYWdlQ2hhbmdlRXZlbnQuZW1pdChldmVudCk7XHJcbiAgfVxyXG5cclxuICBsb2dvdXQoKSB7XHJcbiAgICB0aGlzLnN0b3JhZ2VTZXJ2aWNlLmxvZ291dCgpO1xyXG4gICAgdGhpcy5wYWdlQ2hhbmdlRXZlbnQuZW1pdCgnbG9nb3V0Jyk7XHJcbiAgfVxyXG59XHJcbiJdfQ==