iptdevs-design-system 1.3.8 → 1.3.11

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.
@@ -5,10 +5,17 @@ import * as i1 from '@angular/common';
5
5
  import { CommonModule } from '@angular/common';
6
6
  import * as i1$1 from '@angular/forms';
7
7
  import { Validators, FormsModule, ReactiveFormsModule } from '@angular/forms';
8
- import { __awaiter } from 'tslib';
9
8
  import Swal from 'sweetalert2';
10
9
  import * as i1$2 from '@angular/common/http';
11
10
  import { HttpHeaders } from '@angular/common/http';
11
+ import * as i4 from '@angular/material/sidenav';
12
+ import { MatSidenavModule } from '@angular/material/sidenav';
13
+ import * as i5 from '@angular/material/toolbar';
14
+ import { MatToolbarModule } from '@angular/material/toolbar';
15
+ import * as i6 from '@angular/material/icon';
16
+ import { MatIconModule } from '@angular/material/icon';
17
+ import * as i7 from '@angular/material/list';
18
+ import { MatListModule } from '@angular/material/list';
12
19
  import * as i1$3 from '@angular/router';
13
20
 
14
21
  class AsideButtonComponent {
@@ -636,9 +643,10 @@ class UserService {
636
643
  this.generateRequestParams(token);
637
644
  return this.http.post(serviceUrl, this.httpOptions);
638
645
  }
639
- getUserByIdCard(value) {
640
- let serviceUrl = this.SERVICE_URL + 'user/id_card/' + value;
641
- return this.http.get(serviceUrl);
646
+ getRoutesForRole(token) {
647
+ let serviceUrl = this.SERVICE_URL + 'post/routes/role';
648
+ this.generateRequestParams(token);
649
+ return this.http.post(serviceUrl, this.httpOptions);
642
650
  }
643
651
  generateRequestParams(param) {
644
652
  this.httpOptions = {
@@ -710,12 +718,14 @@ class BaseService {
710
718
  this.storageService = storageService;
711
719
  }
712
720
  webLogin(user, password) {
713
- return __awaiter(this, void 0, void 0, function* () {
714
- let request = {
715
- user: user,
716
- password: password
717
- };
718
- this.userService.login(request).subscribe(response => {
721
+ let request = {
722
+ user: user,
723
+ password: password
724
+ };
725
+ let service = this.userService;
726
+ let storage = this.storageService;
727
+ return new Promise(function (resolve, reject) {
728
+ service.login(request).subscribe(response => {
719
729
  switch (response.message.code) {
720
730
  case 1:
721
731
  Swal.fire({
@@ -727,7 +737,8 @@ class BaseService {
727
737
  token: response.data.token,
728
738
  user: response.data,
729
739
  };
730
- this.storageService.setCurrentSession(loginRegisterUser);
740
+ storage.setCurrentSession(loginRegisterUser);
741
+ resolve(true);
731
742
  break;
732
743
  case 2:
733
744
  Swal.fire({
@@ -735,6 +746,7 @@ class BaseService {
735
746
  'html': '<p style="font-family: Poppins"">The data does not correspond to a user registered in our system, please review them.</p>',
736
747
  'icon': 'warning',
737
748
  });
749
+ resolve(false);
738
750
  break;
739
751
  case 3:
740
752
  Swal.fire({
@@ -742,6 +754,7 @@ class BaseService {
742
754
  'html': '<p style="font-family: Poppins"">The input data does not meet the established parameters.</p>',
743
755
  'icon': 'error',
744
756
  });
757
+ resolve(false);
745
758
  break;
746
759
  default:
747
760
  Swal.fire({
@@ -749,9 +762,10 @@ class BaseService {
749
762
  'html': '<p style="font-family: Poppins"">An unexpected error has occurred</p>',
750
763
  'icon': 'error',
751
764
  });
765
+ resolve(false);
752
766
  break;
753
767
  }
754
- return true;
768
+ reject('Unhandled exception');
755
769
  });
756
770
  });
757
771
  }
@@ -760,6 +774,31 @@ class BaseService {
760
774
  let user = (_a = this.storageService.getCurrentUser()) === null || _a === void 0 ? void 0 : _a.role;
761
775
  return user === undefined ? -1 : Math.floor(user / 10);
762
776
  }
777
+ jsonToArray(data) {
778
+ var response = [];
779
+ data.forEach((element) => {
780
+ var object = [];
781
+ for (var clave in element) {
782
+ if (element.hasOwnProperty(clave)) {
783
+ if (typeof element[clave] == 'object') {
784
+ element[clave] = this.subJsonToArray(element[clave]);
785
+ }
786
+ object.push(element[clave]);
787
+ }
788
+ }
789
+ response.push(object);
790
+ });
791
+ return response;
792
+ }
793
+ subJsonToArray(data) {
794
+ var object = '';
795
+ for (var clave in data) {
796
+ if (clave != 'code') {
797
+ object += '\n' + data[clave];
798
+ }
799
+ }
800
+ return object;
801
+ }
763
802
  }
764
803
  BaseService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: BaseService, deps: [{ token: UserService }, { token: StorageService }], target: i0.ɵɵFactoryTarget.Injectable });
765
804
  BaseService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: BaseService, providedIn: 'root' });
@@ -773,29 +812,23 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.3", ngImpor
773
812
  class LoginFormComponent {
774
813
  constructor(fb, baseService) {
775
814
  this.baseService = baseService;
776
- this.background = true;
777
- this.email = new EventEmitter();
778
- this.password = new EventEmitter();
815
+ this.isLogged = new EventEmitter();
779
816
  this.loginForm = fb.group({
780
817
  email: ['', [Validators.required]],
781
818
  password: ['', [Validators.required, Validators.minLength(3), Validators.maxLength(15)]],
782
819
  });
783
820
  }
784
821
  login(data) {
785
- this.baseService.webLogin(data.controls['email'].value, data.controls['password'].value);
786
- this.email.emit(data.controls['email'].value);
787
- this.password.emit(data.controls['password'].value);
788
- this.loginForm.controls['email'].setValue('');
789
- this.loginForm.controls['password'].setValue('');
822
+ this.baseService.webLogin(data.controls['email'].value, data.controls['password'].value).then((isLogged) => {
823
+ this.isLogged.emit(isLogged);
824
+ });
790
825
  }
791
826
  }
792
827
  LoginFormComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: LoginFormComponent, deps: [{ token: i1$1.FormBuilder }, { token: BaseService }], target: i0.ɵɵFactoryTarget.Component });
793
- LoginFormComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.1.3", type: LoginFormComponent, selector: "ipt-login-form", inputs: { background: "background", image: "image" }, outputs: { email: "email", password: "password" }, ngImport: i0, template: `
794
- <div [ngClass]="{'with-background': background}" class="form-container">
828
+ LoginFormComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.1.3", type: LoginFormComponent, selector: "ipt-login-form", outputs: { isLogged: "isLogged" }, ngImport: i0, template: `
829
+ <div class="form-container">
795
830
 
796
- <img [src]="image" alt="wolf" width="150px">
797
-
798
- <h2>IPT PLATFORM</h2>
831
+ <h2 style="text-align: center;">IPT PLATFORM</h2>
799
832
  <hr>
800
833
 
801
834
  <form (ngSubmit)="login(loginForm)" [formGroup]="loginForm">
@@ -814,7 +847,6 @@ LoginFormComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", ver
814
847
  </form>
815
848
 
816
849
  <div class="button-container">
817
- <a href="">Forget password</a>
818
850
  <ipt-button
819
851
  [label]="'Login'"
820
852
  [primary]="true"
@@ -823,23 +855,14 @@ LoginFormComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", ver
823
855
  ></ipt-button>
824
856
  </div>
825
857
 
826
- <footer>
827
- <ipt-button
828
- [label]="'Register'"
829
- [primary]="false"
830
- ></ipt-button>
831
- </footer>
832
-
833
858
  </div>
834
- `, 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: InputComponent, selector: "ipt-input", inputs: ["inputType", "placeHolder", "validateText", "list", "iconUrl", "control"] }, { type: ButtonComponent, selector: "ipt-button", inputs: ["primary", "size", "label", "buttonType", "isEnabled"], outputs: ["onClick"] }], directives: [{ type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { type: i1$1.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { type: i1$1.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { type: i1$1.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }] });
859
+ `, 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: InputComponent, selector: "ipt-input", inputs: ["inputType", "placeHolder", "validateText", "list", "iconUrl", "control"] }, { type: ButtonComponent, selector: "ipt-button", inputs: ["primary", "size", "label", "buttonType", "isEnabled"], outputs: ["onClick"] }], directives: [{ type: i1$1.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { type: i1$1.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { type: i1$1.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }] });
835
860
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: LoginFormComponent, decorators: [{
836
861
  type: Component,
837
862
  args: [{ selector: 'ipt-login-form', template: `
838
- <div [ngClass]="{'with-background': background}" class="form-container">
839
-
840
- <img [src]="image" alt="wolf" width="150px">
863
+ <div class="form-container">
841
864
 
842
- <h2>IPT PLATFORM</h2>
865
+ <h2 style="text-align: center;">IPT PLATFORM</h2>
843
866
  <hr>
844
867
 
845
868
  <form (ngSubmit)="login(loginForm)" [formGroup]="loginForm">
@@ -858,7 +881,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.3", ngImpor
858
881
  </form>
859
882
 
860
883
  <div class="button-container">
861
- <a href="">Forget password</a>
862
884
  <ipt-button
863
885
  [label]="'Login'"
864
886
  [primary]="true"
@@ -867,36 +889,92 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.3", ngImpor
867
889
  ></ipt-button>
868
890
  </div>
869
891
 
870
- <footer>
871
- <ipt-button
872
- [label]="'Register'"
873
- [primary]="false"
874
- ></ipt-button>
875
- </footer>
876
-
877
892
  </div>
878
893
  `, 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"] }]
879
- }], ctorParameters: function () { return [{ type: i1$1.FormBuilder }, { type: BaseService }]; }, propDecorators: { background: [{
880
- type: Input
881
- }], image: [{
882
- type: Input
883
- }], email: [{
884
- type: Output
885
- }], password: [{
894
+ }], ctorParameters: function () { return [{ type: i1$1.FormBuilder }, { type: BaseService }]; }, propDecorators: { isLogged: [{
886
895
  type: Output
887
896
  }] } });
888
897
 
889
- class RegisterFormComponent {
890
- constructor() { }
898
+ class SidenavComponent {
899
+ constructor(userService, baseService, storageService) {
900
+ this.userService = userService;
901
+ this.baseService = baseService;
902
+ this.storageService = storageService;
903
+ this.pageChangeEvent = new EventEmitter();
904
+ this.routes = [];
905
+ }
891
906
  ngOnInit() {
907
+ var _a;
908
+ let user = (_a = this.storageService.getCurrentUser()) === null || _a === void 0 ? void 0 : _a.token;
909
+ let token = user === undefined ? '' : user;
910
+ this.userService.getRoutesForRole(token).subscribe(response => {
911
+ this.routes = this.baseService.jsonToArray(response.data);
912
+ });
913
+ }
914
+ clickPage(event) {
915
+ this.pageChangeEvent.emit(event);
892
916
  }
893
917
  }
894
- RegisterFormComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: RegisterFormComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
895
- RegisterFormComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.1.3", type: RegisterFormComponent, selector: "lib-register-form", ngImport: i0, template: "<p>register-form works!</p>\n", styles: [""] });
896
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: RegisterFormComponent, decorators: [{
918
+ SidenavComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: SidenavComponent, deps: [{ token: UserService }, { token: BaseService }, { token: StorageService }], target: i0.ɵɵFactoryTarget.Component });
919
+ SidenavComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.1.3", type: SidenavComponent, selector: "ipt-sidenav", inputs: { department: "department", setPage: "setPage" }, outputs: { pageChangeEvent: "pageChangeEvent" }, ngImport: i0, template: `
920
+ <mat-sidenav #sidenav mode="push">
921
+ <mat-toolbar color="primary">
922
+ <span>{{department}}</span>
923
+ <span class="spacer"></span>
924
+ <button mat-icon-button (click)="sidenav.toggle()">
925
+ <mat-icon>Menu</mat-icon>
926
+ </button>
927
+ </mat-toolbar>
928
+
929
+ <mat-nav-list>
930
+ <nav class="flex-container-menu" (click)="sidenav.toggle()" *ngFor="let route of routes">
931
+ <ipt-aside-button
932
+ [buttonActive]="this.setPage === route.page"
933
+ [url]="route.url"
934
+ [type]="route.type"
935
+ [icon]="route.icon"
936
+ [text]="route.text"
937
+ (isClicked)="clickPage(route.page)"
938
+ >
939
+ </ipt-aside-button>
940
+ </nav>
941
+ </mat-nav-list>
942
+ </mat-sidenav>
943
+ `, isInline: true, styles: [""], 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.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { type: i7.MatNavList, selector: "mat-nav-list", inputs: ["disableRipple", "disabled"], exportAs: ["matNavList"] }, { type: AsideButtonComponent, selector: "ipt-aside-button", inputs: ["icon", "text", "type", "url", "textColor", "buttonActive"], outputs: ["isClicked"] }], directives: [{ type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }] });
944
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: SidenavComponent, decorators: [{
897
945
  type: Component,
898
- args: [{ selector: 'lib-register-form', template: "<p>register-form works!</p>\n", styles: [""] }]
899
- }], ctorParameters: function () { return []; } });
946
+ args: [{ selector: 'ipt-sidenav', template: `
947
+ <mat-sidenav #sidenav mode="push">
948
+ <mat-toolbar color="primary">
949
+ <span>{{department}}</span>
950
+ <span class="spacer"></span>
951
+ <button mat-icon-button (click)="sidenav.toggle()">
952
+ <mat-icon>Menu</mat-icon>
953
+ </button>
954
+ </mat-toolbar>
955
+
956
+ <mat-nav-list>
957
+ <nav class="flex-container-menu" (click)="sidenav.toggle()" *ngFor="let route of routes">
958
+ <ipt-aside-button
959
+ [buttonActive]="this.setPage === route.page"
960
+ [url]="route.url"
961
+ [type]="route.type"
962
+ [icon]="route.icon"
963
+ [text]="route.text"
964
+ (isClicked)="clickPage(route.page)"
965
+ >
966
+ </ipt-aside-button>
967
+ </nav>
968
+ </mat-nav-list>
969
+ </mat-sidenav>
970
+ `, styles: [""] }]
971
+ }], ctorParameters: function () { return [{ type: UserService }, { type: BaseService }, { type: StorageService }]; }, propDecorators: { department: [{
972
+ type: Input
973
+ }], setPage: [{
974
+ type: Input
975
+ }], pageChangeEvent: [{
976
+ type: Output
977
+ }] } });
900
978
 
901
979
  class ComponentsModule {
902
980
  }
@@ -912,10 +990,14 @@ ComponentsModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", versio
912
990
  SelectComponent,
913
991
  TextLinkComponent,
914
992
  LoginFormComponent,
915
- RegisterFormComponent], imports: [CommonModule,
993
+ SidenavComponent], imports: [CommonModule,
916
994
  BrowserModule,
917
995
  FormsModule,
918
- ReactiveFormsModule], exports: [AsideButtonComponent,
996
+ ReactiveFormsModule,
997
+ MatSidenavModule,
998
+ MatToolbarModule,
999
+ MatIconModule,
1000
+ MatListModule], exports: [AsideButtonComponent,
919
1001
  ButtonComponent,
920
1002
  CheckboxComponent,
921
1003
  DatalistComponent,
@@ -925,12 +1007,17 @@ ComponentsModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", versio
925
1007
  RadioComponent,
926
1008
  SelectComponent,
927
1009
  TextLinkComponent,
928
- LoginFormComponent] });
1010
+ LoginFormComponent,
1011
+ SidenavComponent] });
929
1012
  ComponentsModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: ComponentsModule, imports: [[
930
1013
  CommonModule,
931
1014
  BrowserModule,
932
1015
  FormsModule,
933
1016
  ReactiveFormsModule,
1017
+ MatSidenavModule,
1018
+ MatToolbarModule,
1019
+ MatIconModule,
1020
+ MatListModule
934
1021
  ]] });
935
1022
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: ComponentsModule, decorators: [{
936
1023
  type: NgModule,
@@ -947,13 +1034,17 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.3", ngImpor
947
1034
  SelectComponent,
948
1035
  TextLinkComponent,
949
1036
  LoginFormComponent,
950
- RegisterFormComponent,
1037
+ SidenavComponent,
951
1038
  ],
952
1039
  imports: [
953
1040
  CommonModule,
954
1041
  BrowserModule,
955
1042
  FormsModule,
956
1043
  ReactiveFormsModule,
1044
+ MatSidenavModule,
1045
+ MatToolbarModule,
1046
+ MatIconModule,
1047
+ MatListModule
957
1048
  ],
958
1049
  exports: [
959
1050
  AsideButtonComponent,
@@ -967,6 +1058,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.3", ngImpor
967
1058
  SelectComponent,
968
1059
  TextLinkComponent,
969
1060
  LoginFormComponent,
1061
+ SidenavComponent,
970
1062
  ]
971
1063
  }]
972
1064
  }] });
@@ -1200,5 +1292,5 @@ class UserLoginRs {
1200
1292
  * Generated bundle index. Do not edit.
1201
1293
  */
1202
1294
 
1203
- export { AsideButtonComponent, BaseService, ButtonComponent, CheckboxComponent, ComponentsModule, CoreModule, CourseService, DatalistComponent, DesignSystemModule, InputComponent, LevelButtonComponent, LevelTextComponent, LoginFormComponent, ParameterService, RadioComponent, RedirectGuard, SelectComponent, Session, StorageService, SwitchService, TextLinkComponent, UserLoginRs, UserRs, UserService };
1295
+ export { AsideButtonComponent, BaseService, ButtonComponent, CheckboxComponent, ComponentsModule, CoreModule, CourseService, DatalistComponent, DesignSystemModule, InputComponent, LevelButtonComponent, LevelTextComponent, LoginFormComponent, ParameterService, RadioComponent, RedirectGuard, SelectComponent, Session, SidenavComponent, StorageService, SwitchService, TextLinkComponent, UserLoginRs, UserRs, UserService };
1204
1296
  //# sourceMappingURL=iptdevs-design-system.mjs.map