{"version":3,"file":"src_app_admin_users_users_module_ts.dae5842ceeaea5c7.js","mappings":"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","sources":["./src/app/admin/users/roledetails-dialog/roledetails-dialog.component.ts","./src/app/admin/users/roledetails-dialog/roledetails-dialog.component.html","./src/app/admin/users/roles-dialog/roles-dialog.component.ts","./src/app/admin/users/roles-dialog/roles-dialog.component.html","./src/app/admin/users/user-dialog/user-dialog.component.ts","./src/app/admin/users/user-dialog/user-dialog.component.html","./src/app/admin/users/users.component.ts","./src/app/admin/users/users.component.html","./src/app/admin/users/users.module.ts"],"sourcesContent":["import { Component, Inject, OnInit } from '@angular/core';\nimport { UntypedFormGroup, UntypedFormBuilder } from '@angular/forms';\nimport { MatDialogRef, MAT_DIALOG_DATA } from '@angular/material/dialog';\nimport { MatSnackBar } from '@angular/material/snack-bar';\nimport { AppService } from 'src/app/app.service';\nimport { EncryptDecrypt } from 'src/app/theme/directives/encrypt_decrypt';\nimport { menuItems } from 'src/app/admin/components/menu/menu'\nimport { RolesDialogComponent } from '../roles-dialog/roles-dialog.component';\n\n@Component({\n selector: 'app-roledetails-dialog',\n templateUrl: './roledetails-dialog.component.html',\n styleUrls: ['./roledetails-dialog.component.scss']\n})\nexport class RoledetailsDialogComponent implements OnInit {\n\n public form!: UntypedFormGroup;\n loading = false;\n roles: any = [];\n menuitems = menuItems;\n mains: any = [];\n selectedMenus: any = [];\n selectedRole: any = '';\n constructor(\n public dialogRef: MatDialogRef<RoledetailsDialogComponent>,\n @Inject(MAT_DIALOG_DATA) public data: any, public appService: AppService,\n public fb: UntypedFormBuilder, public snackBar: MatSnackBar, private encrypt: EncryptDecrypt,\n ) {\n\n\n }\n setMain(a: any, id: any, title: any) {\n\n const radiobuttons = document.getElementsByName(title);\n\n if (radiobuttons.length == 0 && a.target.checked == true) {\n this.selectedMenus.push(id)\n }\n else if (radiobuttons.length == 0 && a.target.checked == false) {\n this.selectedMenus.pop(id)\n }\n else {\n\n\n radiobuttons.forEach(element => {\n (<HTMLInputElement>element).checked = a.target.checked;\n });\n\n if (a.target.checked == true) {\n this.selectedMenus.push(id);\n this.menuitems.filter(x => x.parentId == id).forEach(element => {\n this.selectedMenus.push(element.id)\n })\n\n }\n else {\n this.menuitems.filter(x => x.parentId == id).forEach(element => {\n this.selectedMenus.pop(element.id)\n })\n this.selectedMenus.pop(id);\n\n \n \n }\n }\n\n }\n setSub(a: any, item: any, id: any) {\n const radiobuttons = document.getElementsByName(item.id);\n if (a.target.checked == true) {\n this.selectedMenus.push(id);\n\n radiobuttons.forEach(element => {\n if ((<HTMLInputElement>element).checked == false) {\n this.selectedMenus.push(item.id);\n (<HTMLInputElement>element).checked = a.target.checked;\n }\n });\n } else {\n this.selectedMenus.pop(id);\n if (this.getAllunchecked(item.title) == false) {\n this.selectedMenus.pop(item.id);\n radiobuttons.forEach(element => {\n (<HTMLInputElement>element).checked = a.target.checked;\n\n });\n }\n\n\n }\n }\n getAllunchecked(name: any) {\n let checked = false;\n const radiobuttons = document.getElementsByName(name);\n radiobuttons.forEach(element => {\n if ((<HTMLInputElement>element).checked == true) {\n checked = true;\n }\n });\n\n return checked;\n }\n ngOnInit(): void {\n this.getRoles();\n this.mains = this.menuitems.filter(x => x.parentId == 0)\n }\n getSubMenu(menu: any) {\n\n return this.menuitems.filter(x => x.parentId == menu.id);\n\n }\n ManageRole() {\n this.openDialogRoleDialog(null);\n }\n public getRoles(): void {\n this.loading = true;\n this.appService.UserRoles()\n .subscribe({\n next: (data) => {\n const body = JSON.parse(JSON.stringify(data));\n this.roles = body;\n\n\n this.loading = false;\n\n },\n error: (e) => {\n this.loading = false;\n },\n complete: () => {\n this.loading = false;\n }\n });\n }\n public openDialogRoleDialog(data: any | null) {\n const dialogRef = this.appService.openDialog(RolesDialogComponent, data, 'theme-dialog');\n dialogRef.afterClosed().subscribe(dat => {\n\n this.getRoles();\n\n });\n\n }\n onSubmit() {\n if (this.selectedRole == '') {\n this.snackBar.open('Please select the userrole', '×', { panelClass: 'error', verticalPosition: 'top', duration: 4000 });\n return;\n }\n\n let username: string = \"\";\n if (localStorage.getItem('TamuApp')) {\n\n const TamuApp = JSON.parse(this.encrypt.Decrypt(localStorage.getItem('TamuApp')));\n username = TamuApp.Username;\n }\n const req = {\n Id: 0,\n UserRoleId: this.selectedRole,\n Menus: this.selectedMenus.toString(),\n DoneBy: username\n }\n \n\n this.loading = true;\n this.appService.RoleDetail(req)\n .subscribe({\n next: (data) => {\n this.loading = false;\n if (data === \"\") {\n\n this.snackBar.open('Roles saved successfully.', '×', { panelClass: 'success', verticalPosition: 'top', duration: 6000 });\n \n this.getselectRoledetails();\n } else {\n this.selectedMenus=[];\n if (data != null)\n this.snackBar.open(data.toString(), '×', { panelClass: 'error', verticalPosition: 'top', duration: 4000 });\n }\n\n },\n error: (e) => {\n this.loading = false;\n this.selectedMenus=[];\n this.snackBar.open(e.error, 'X', { panelClass: 'error', verticalPosition: 'top', duration: 4000 });\n },\n complete: () => {\n this.loading = false;\n }\n });\n\n\n\n\n }\n SelectedUserRole(data: any) {\n\n this.selectedRole = data;\n this.getselectRoledetails();\n\n }\n clearSelection() {\n\n this.mains.forEach(element => {\n const radiobuttons = document.getElementsByName(element.title);\n radiobuttons.forEach(element => {\n (<HTMLInputElement>element).checked = false;\n });\n const radiobutton = document.getElementById(element.id);\n\n if (radiobutton != null) {\n (<HTMLInputElement>radiobutton).checked = false;\n\n }\n\n });\n\n\n\n }\n getselectRoledetails() {\n this.loading = true;\n this.clearSelection();\n this.selectedMenus=[];\n this.appService.UserRoleDetail(this.selectedRole)\n .subscribe({\n next: (data) => {\n this.loading = false;\n const body = JSON.parse(JSON.stringify(data));\n\n if (body.Menus != null) {\n const menus: any = body.Menus.split(',');\n menus.forEach(element => {\n this.selectedMenus.push(element);\n const radiobutton = document.getElementById(element);\n\n if (radiobutton != null) {\n (<HTMLInputElement>radiobutton).checked = true;\n\n }\n\n });\n }\n\n\n },\n error: (e) => {\n this.loading = false;\n\n this.snackBar.open(e.error, 'X', { panelClass: 'error', verticalPosition: 'top', duration: 4000 });\n },\n complete: () => {\n this.loading = false;\n }\n });\n\n }\n\n}\n","<div class=\"header bg-primary\">\n <div fxLayout=\"row wrap\" fxLayoutAlign=\"space-between center\">\n <h2 class=\"fw-500 secondary-font\">Manage Roles</h2>\n <app-dialog-header-controls [dialogRef]=\"dialogRef\"></app-dialog-header-controls>\n </div>\n</div>\n \n <div fxLayout=\"row wrap\" class=\"mt-2\">\n <div fxFlex=\"100\" fxFlex.gt-md=\"100\">\n\n <div fxFlex=\"100\" fxFlex.gt-md=\"30\" class=\"px-3\">\n <mat-form-field appearance=\"outline\" class=\"w-100\">\n <mat-label>UserRole</mat-label>\n <mat-select (selectionChange)=\"SelectedUserRole($event.value)\" >\n <mat-option *ngFor=\"let role of roles\" [value]=\"role.value\">\n <span>{{role.label}}</span>\n </mat-option>\n </mat-select>\n \n </mat-form-field>\n \n </div>\n <div fxFlex=\"100\" fxFlex.gt-md=\"30\" class=\"px-3\">\n <button mat-raised-button color=\"primary\" type=\"button\" class=\"uppercase\"\n style=\"margin-top: 20px\" (click)=\"ManageRole()\">\n <mat-icon>more_horiz</mat-icon>\n \n </button>\n </div>\n </div>\n \n\n <div fxFlex=\"100\" fxFlex.gt-md=\"20\" *ngFor=\"let item of mains\">\n <section class=\"example-section\">\n <span class=\"example-list-section\">\n <input type=\"checkbox\" class=\"example-margin\" [name]=\"item.id\" [id]=\"item.id\"\n (change)=\"setMain($event,item.id, item.title)\"\n > \n <span style=\" text-transform: capitalize; color:#4C45B1\">\n {{item.title.replace('ADMIN_NAV.','').toLowerCase()}}\n </span> \n \n \n </span>\n <span class=\"example-list-section\">\n <ul class=\"menulist\">\n <li *ngFor=\"let subitem of getSubMenu(item)\">\n <input type=\"checkbox\" [name]=\"item.title\" [id]=\"subitem.id\"\n (change)=\"setSub($event,item,subitem.id)\">\n <span style=\"text-transform: capitalize; color:#1F4690\">\n {{subitem.title.replace('ADMIN_NAV.','').toLowerCase()}}\n </span> \n \n </li>\n </ul>\n </span>\n\n\n </section>\n\n\n\n </div>\n\n\n\n\n </div>\n\n <mat-divider></mat-divider>\n\n <div fxLayout=\"row wrap\" class=\"mt-2\" style=\"margin-bottom: 15px;\">\n <div fxFlex=\"100\" fxFlex.gt-md=\"100\" class=\"px-3 text-right\">\n <button mat-raised-button color=\"primary\" type=\"button\" (click)=\"onSubmit()\" class=\"uppercase\">Submit</button>\n\n </div>\n </div>\n\n\n \n\n\n\n\n<div class=\"overlay\" *ngIf=\"loading\">\n <div class=\"center\">\n <mat-spinner *ngIf=\"loading\"></mat-spinner>\n </div>\n\n</div>","import { Component, Inject, OnInit } from '@angular/core';\nimport { UntypedFormGroup, UntypedFormBuilder, Validators } from '@angular/forms';\nimport { MatDialogRef, MAT_DIALOG_DATA } from '@angular/material/dialog';\nimport { MatSnackBar } from '@angular/material/snack-bar';\nimport { AppService } from 'src/app/app.service';\nimport { EncryptDecrypt } from 'src/app/theme/directives/encrypt_decrypt';\nimport { emailValidator } from 'src/app/theme/utils/app-validators';\n\n@Component({\n selector: 'app-roles-dialog',\n templateUrl: './roles-dialog.component.html',\n styleUrls: ['./roles-dialog.component.scss']\n})\nexport class RolesDialogComponent implements OnInit {\n\n public form!: UntypedFormGroup;\n loading = false;\n roles: any = [];\n constructor(\n public dialogRef: MatDialogRef<RolesDialogComponent>,\n @Inject(MAT_DIALOG_DATA) public data: any, public appService: AppService,\n public fb: UntypedFormBuilder, public snackBar: MatSnackBar, private encrypt: EncryptDecrypt,\n ) {\n\n\n }\n\n ngOnInit(): void {\n\n this.form = this.fb.group({\n Id: 0,\n UserRole: ['', Validators.required],\n });\n\n if (this.data) {\n this.form.setValue(this.data);\n }\n this.getRoles();\n }\n\n onSubmit() {\n if (this.form.valid) {\n\n let username: string = \"\";\n if (localStorage.getItem('TamuApp')) {\n\n const TamuApp = JSON.parse(this.encrypt.Decrypt(localStorage.getItem('TamuApp')));\n username = TamuApp.Username;\n }\n\n const req = {\n Id: this.form.value.Id,\n UserRole: this.form.value.UserRole,\n DoneBy:username\n }\n\n this.loading = true;\n this.appService.UserRole(req)\n .subscribe({\n next: (data) => {\n this.loading = false;\n if (data === \"\") {\n\n this.snackBar.open('Role saved successfully.', '×', { panelClass: 'success', verticalPosition: 'top', duration: 6000 });\n this.getRoles();\n this.form.patchValue({Id:0, UserRole:null});\n } else {\n this.form.patchValue({Id:0, UserRole:null});\n if (data != null)\n this.snackBar.open(data.toString(), '×', { panelClass: 'error', verticalPosition: 'top', duration: 4000 });\n }\n\n },\n error: (e) => {\n this.loading = false;\n this.form.patchValue({Id:0, UserRole:null});\n this.snackBar.open(e.error, 'X', { panelClass: 'error', verticalPosition: 'top', duration: 4000 });\n },\n complete: () => {\n this.loading = false;\n }\n });\n \n\n }\n }\n editRole(data: any, $event: any) {\n const req = {\n Id: data.data.Id,\n UserRole: data.data.UserRole\n }\n this.form.patchValue(req);\n\n }\n deleteRole(data: any, $event: any) {\n let username: string = \"\";\n if (localStorage.getItem('TamuApp')) {\n\n const TamuApp = JSON.parse(this.encrypt.Decrypt(localStorage.getItem('TamuApp')));\n username = TamuApp.Username;\n }\n\n const req = {\n Id: data.data.Id,\n DoneBy: username\n }\n this.loading = true;\n this.appService.RemoveUserRole(req)\n .subscribe({\n next: (data) => {\n\n if (data === \"\") {\n\n this.snackBar.open('Role deleted successfully', '×', { panelClass: 'success', verticalPosition: 'top', duration: 6000 });\n this.getRoles();\n this.loading = false;\n } else {\n\n if (data != null)\n this.snackBar.open(data.toString(), '×', { panelClass: 'error', verticalPosition: 'top', duration: 4000 });\n }\n\n },\n error: (e) => {\n this.loading = false;\n\n this.snackBar.open(e.error, 'X', { panelClass: 'error', verticalPosition: 'top', duration: 4000 });\n },\n complete: () => {\n this.loading = false;\n }\n });\n\n\n }\n public getRoles(): void {\n this.loading = true;\n this.appService.UserRoleList()\n .subscribe({\n next: (data) => {\n const body = JSON.parse(JSON.stringify(data));\n this.roles = body;\n\n\n this.loading = false;\n\n },\n error: (e) => {\n this.loading = false;\n },\n complete: () => {\n this.loading = false;\n }\n });\n }\n\n\n\n}\n","<div class=\"header bg-primary\">\n <div fxLayout=\"row wrap\" fxLayoutAlign=\"space-between center\">\n <h2 class=\"fw-500 secondary-font\">Manage Roles</h2>\n <app-dialog-header-controls [dialogRef]=\"dialogRef\"></app-dialog-header-controls>\n </div>\n</div>\n<form [formGroup]=\"form\" (ngSubmit)=\"onSubmit()\" autocomplete=\"off\" class=\"pt-3\">\n\n <div fxLayout=\"row wrap\" class=\"mt-2\">\n \n <div fxFlex=\"100\" fxFlex.gt-md=\"60\" class=\"px-3\">\n <mat-form-field appearance=\"outline\" class=\"w-100\">\n <mat-label>UserRole</mat-label>\n <input matInput formControlName=\"UserRole\" required>\n <mat-error *ngIf=\"form.controls.UserRole.errors?.required\">UserRole is required\n </mat-error>\n </mat-form-field>\n </div>\n \n <mat-divider></mat-divider>\n <dx-data-grid id=\"gridContainer\" [dataSource]=\"roles\" [rowAlternationEnabled]=\"true\" [showBorders]=\"true\"\n [showRowLines]=\"true\" [columnHidingEnabled]=\"true\" width=\"100%\" >\n <dxo-paging [pageSize]=\"5\"></dxo-paging>\n <dxo-pager [visible]=\"true\" [allowedPageSizes]=\"[5, 10,20,50, 'all']\" [displayMode]=\"'full'\"\n [showPageSizeSelector]=\"true\" [showInfo]=\"true\" [showNavigationButtons]=\"true\"></dxo-pager>\n <dxo-scrolling columnRenderingMode=\"virtual\"></dxo-scrolling>\n <dxo-filter-row [visible]=\"true\"></dxo-filter-row>\n <dxi-column dataField=\"Id\" caption=\"Id\" width=\"70\"></dxi-column>\n <dxi-column dataField=\"UserRole\" caption=\"UserRole\"></dxi-column>\n <dxi-column dataField=\"DateCreated\" caption=\"DateCreated\" width=\"120\"></dxi-column>\n <dxi-column dataField=\"CreatedBy\" caption=\"DoneBy\" width=\"150\"></dxi-column>\n <dxi-column caption=\"\" [width]=\"80\" [allowFiltering]=\"false\" [allowSorting]=\"false\" cellTemplate=\"actions\"\n [fixed]=\"true\" fixedPosition=\"right\"></dxi-column>\n <div *dxTemplate=\"let data of 'actions'\">\n \n <button class=\"gridbutton\" type=\"button\" (click)=\"editRole(data,$event)\" matTooltip=\"Edit Role\">\n <mat-icon color=\"primary\">edit</mat-icon>\n </button>\n \n \n <button class=\"gridbutton\" type=\"button\" (click)=\"deleteRole(data,$event)\" matTooltip=\"Delete role\">\n <mat-icon color=\"warn\">highlight_off</mat-icon>\n </button>\n \n \n </div>\n </dx-data-grid>\n \n \n\n </div>\n\n\n\n\n <mat-divider></mat-divider>\n\n <div fxLayout=\"row wrap\" class=\"mt-2\" style=\"margin-bottom: 15px;\">\n <div fxFlex=\"100\" fxFlex.gt-md=\"100\" class=\"px-3 text-right\">\n <button mat-raised-button color=\"primary\" type=\"submit\" class=\"uppercase\">Submit</button>\n\n </div>\n </div>\n</form>\n\n\n<div class=\"overlay\" *ngIf=\"loading\">\n <div class=\"center\">\n <mat-spinner *ngIf=\"loading\"></mat-spinner>\n </div>\n\n</div>\n","import { Component, OnInit, Inject } from '@angular/core';\r\nimport { MatDialogRef, MAT_DIALOG_DATA } from '@angular/material/dialog';\r\nimport { UntypedFormGroup, UntypedFormBuilder, Validators } from '@angular/forms';\r\nimport { MatSnackBar } from '@angular/material/snack-bar';\r\nimport { AppService } from 'src/app/app.service';\r\nimport { EncryptDecrypt } from 'src/app/theme/directives/encrypt_decrypt';\r\nimport { emailValidator } from 'src/app/theme/utils/app-validators';\r\n\r\n@Component({\r\n selector: 'app-user-dialog',\r\n templateUrl: './user-dialog.component.html',\r\n styleUrls: ['./user-dialog.component.scss']\r\n})\r\nexport class UserDialogComponent implements OnInit {\r\n public form!: UntypedFormGroup;\r\n loading = false;\r\n roles: any = [];\r\n constructor(\r\n public dialogRef: MatDialogRef<UserDialogComponent>,\r\n @Inject(MAT_DIALOG_DATA) public data: any, public appService: AppService,\r\n public fb: UntypedFormBuilder, public snackBar: MatSnackBar, private encrypt: EncryptDecrypt,\r\n ) {\r\n\r\n\r\n }\r\n\r\n ngOnInit() {\r\n this.getRoles();\r\n this.form = this.fb.group({\r\n Id: 0,\r\n Email: ['', Validators.compose([Validators.required, emailValidator])],\r\n AlternateEmail: ['', Validators.compose([Validators.email, emailValidator])],\r\n FullName: ['', Validators.required],\r\n PhoneNumber: [''],\r\n UserRole: ['', Validators.required],\r\n }); \r\n\r\n if (this.data) {\r\n this.form.setValue(this.data);\r\n }\r\n\r\n }\r\n onSubmit() {\r\n if(this.form.valid){\r\n \r\n this.dialogRef.close(this.form.value);\r\n\r\n }\r\n }\r\n\r\n \r\n public getRoles(): void {\r\n this.loading = true;\r\n this.appService.UserRoles()\r\n .subscribe({\r\n next: (data) => {\r\n const body = JSON.parse(JSON.stringify(data));\r\n this.roles = body;\r\n \r\n\r\n this.loading = false;\r\n\r\n },\r\n error: (e) => {\r\n this.loading = false;\r\n },\r\n complete: () => {\r\n this.loading = false;\r\n }\r\n });\r\n}\r\n}\r\n","<div class=\"header bg-primary\">\r\n <div fxLayout=\"row wrap\" fxLayoutAlign=\"space-between center\">\r\n <h2 class=\"fw-500 secondary-font\">{{(data) ? 'Edit' : 'Add'}} User</h2>\r\n <app-dialog-header-controls [dialogRef]=\"dialogRef\"></app-dialog-header-controls>\r\n </div>\r\n</div>\r\n<form [formGroup]=\"form\" (ngSubmit)=\"onSubmit()\" autocomplete=\"off\" class=\"pt-3\">\r\n\r\n <div fxLayout=\"row wrap\" class=\"mt-2\">\r\n <div fxFlex=\"100\" fxFlex.gt-md=\"40\" class=\"px-3\">\r\n <mat-form-field appearance=\"outline\" class=\"w-100\">\r\n <mat-label>Email</mat-label>\r\n <input matInput formControlName=\"Email\" required>\r\n <mat-error *ngIf=\"form.controls.Email.errors?.required\">Email are required\r\n </mat-error>\r\n </mat-form-field>\r\n \r\n </div>\r\n\r\n <div fxFlex=\"100\" fxFlex.gt-md=\"60\" class=\"px-3\">\r\n <mat-form-field appearance=\"outline\" class=\"w-100\">\r\n <mat-label>FullName</mat-label>\r\n <input matInput formControlName=\"FullName\" required>\r\n <mat-error *ngIf=\"form.controls.FullName.errors?.required\">FullName is required\r\n </mat-error>\r\n </mat-form-field>\r\n </div>\r\n \r\n <div fxLayout=\"row wrap\" class=\"mt-2\" fxFlex=\"100\">\r\n <div fxFlex=\"100\" fxFlex.gt-md=\"40\" class=\"px-3\">\r\n <mat-form-field appearance=\"outline\" class=\"w-100\">\r\n <mat-label>AlternateEmail</mat-label>\r\n <input matInput formControlName=\"AlternateEmail\">\r\n \r\n </mat-form-field>\r\n </div>\r\n\r\n <div fxFlex=\"100\" fxFlex.gt-md=\"30\" class=\"px-3\">\r\n <mat-form-field appearance=\"outline\" class=\"w-100\">\r\n <mat-label>PhoneNumber</mat-label>\r\n <ngx-mat-intl-tel-input\r\n [preferredCountries]=\"['ci']\"\r\n [enablePlaceholder]=\"true\"\r\n [enableSearch]=\"true\"\r\n formControlName=\"PhoneNumber\"\r\n name=\"PhoneNumber\"\r\n #PhoneNumber\r\n ></ngx-mat-intl-tel-input>\r\n <mat-hint>e.g. {{PhoneNumber?.selectedCountry?.placeHolder}}</mat-hint>\r\n <mat-error *ngIf=\"form.controls.PhoneNumber.errors?.validatePhoneNumber\">Invalid PhoneNumber\r\n </mat-error>\r\n </mat-form-field>\r\n </div>\r\n <div fxFlex=\"100\" fxFlex.gt-md=\"30\" class=\"px-3\">\r\n <mat-form-field appearance=\"outline\" class=\"w-100\">\r\n <mat-label>UserRole</mat-label>\r\n <mat-select formControlName=\"UserRole\">\r\n <mat-option *ngFor=\"let role of roles\" [value]=\"role.value\">\r\n <span>{{role.label}}</span>\r\n </mat-option>\r\n </mat-select>\r\n <mat-error *ngIf=\"form.controls.UserRole.errors?.required\">UserRole is required</mat-error>\r\n </mat-form-field>\r\n </div>\r\n </div>\r\n\r\n\r\n \r\n\r\n </div>\r\n\r\n\r\n\r\n\r\n <mat-divider></mat-divider>\r\n\r\n <div fxLayout=\"row wrap\" class=\"mt-2\" style=\"margin-bottom: 15px;\">\r\n <div fxFlex=\"100\" fxFlex.gt-md=\"100\" class=\"px-3 text-right\">\r\n <button mat-raised-button color=\"primary\" type=\"submit\" class=\"uppercase\">Submit</button>\r\n\r\n </div>\r\n </div>\r\n</form>\r\n\r\n\r\n<div class=\"overlay\" *ngIf=\"loading\">\r\n <div class=\"center\">\r\n <mat-spinner *ngIf=\"loading\"></mat-spinner>\r\n </div>\r\n\r\n</div>","import { filter } from 'rxjs/operators';\r\nimport { saveAs } from 'file-saver';\r\nimport { Component, OnInit, ViewEncapsulation } from '@angular/core';\r\nimport { MatDialog } from '@angular/material/dialog';\r\nimport { AppSettings, Settings } from '../../app.settings';\r\nimport { UserDialogComponent } from './user-dialog/user-dialog.component';\r\nimport { MatSnackBar } from '@angular/material/snack-bar';\r\nimport { AppService } from 'src/app/app.service';\r\nimport { EncryptDecrypt } from 'src/app/theme/directives/encrypt_decrypt';\r\nimport { exportDataGrid } from 'devextreme/excel_exporter';\r\nimport { Workbook } from 'exceljs';\r\nimport { RoledetailsDialogComponent } from './roledetails-dialog/roledetails-dialog.component';\r\n\r\n@Component({\r\n selector: 'app-users',\r\n templateUrl: './users.component.html',\r\n styleUrls: ['./users.component.scss'],\r\n encapsulation: ViewEncapsulation.None,\r\n providers: []\r\n})\r\nexport class UsersComponent implements OnInit {\r\n dataSource: any = [];\r\n filtereduser: any = [];\r\n loading = false;\r\n selectedCategoryId = \"Administrator\";\r\n constructor(public appSettings: AppSettings,\r\n public dialog: MatDialog,\r\n public appService: AppService,\r\n public snackBar: MatSnackBar,\r\n private encrypt: EncryptDecrypt,) {\r\n }\r\n\r\n ngOnInit() {\r\n this.getUsers();\r\n }\r\n onChangeCategory($event: any) {\r\n\r\n this.selectedCategoryId = $event.value;\r\n \r\n\r\n this.filtereduser = this.dataSource.filter((user: any) => user.UserGroup == $event.value)\r\n\r\n }\r\n public getUsers(): void {\r\n this.loading = true;\r\n this.appService.users()\r\n .subscribe({\r\n next: (data) => {\r\n const body = JSON.parse(JSON.stringify(data));\r\n this.dataSource = body;\r\n this.filtereduser = this.dataSource.filter((user: any) => user.UserGroup == \"Administrator\");\r\n\r\n\r\n this.loading = false;\r\n\r\n },\r\n error: (e) => {\r\n this.loading = false;\r\n },\r\n complete: () => {\r\n this.loading = false;\r\n }\r\n });\r\n }\r\n public addUser() {\r\n this.openDialogStudent(null);\r\n }\r\n public updateUser(data: any, $event: any) {\r\n\r\n const req = {\r\n Id: data.data.Id,\r\n Email: data.data.Email,\r\n AlternateEmail: data.data.AlternateEmail,\r\n FullName: data.data.FullName,\r\n PhoneNumber: data.data.PhoneNumber,\r\n UserRole: data.data.UserRole.toString()\r\n }\r\n this.openDialogStudent(req);\r\n\r\n }\r\n public resetpassword(data: any, $event: any) {\r\n let username: string = \"\";\r\n if (localStorage.getItem('TamuApp')) {\r\n\r\n const TamuApp = JSON.parse(this.encrypt.Decrypt(localStorage.getItem('TamuApp')));\r\n username = TamuApp.Username;\r\n }\r\n\r\n const req = {\r\n Id: data.data.Id,\r\n DoneBy: username\r\n }\r\n this.loading = true;\r\n this.appService.ResetUserPassword(req)\r\n .subscribe({\r\n next: (data) => {\r\n\r\n if (data === \"\") {\r\n\r\n this.snackBar.open('User password reset successful, Login details sent on email', '×', { panelClass: 'success', verticalPosition: 'top', duration: 6000 });\r\n\r\n this.loading = false;\r\n } else {\r\n\r\n if (data != null)\r\n this.snackBar.open(data.toString(), '×', { panelClass: 'error', verticalPosition: 'top', duration: 4000 });\r\n }\r\n\r\n },\r\n error: (e) => {\r\n this.loading = false;\r\n\r\n this.snackBar.open(e.error, 'X', { panelClass: 'error', verticalPosition: 'top', duration: 4000 });\r\n },\r\n complete: () => {\r\n this.loading = false;\r\n }\r\n });\r\n\r\n }\r\n public disableUser(data: any, $event: any) {\r\n let username: string = \"\";\r\n if (localStorage.getItem('TamuApp')) {\r\n\r\n const TamuApp = JSON.parse(this.encrypt.Decrypt(localStorage.getItem('TamuApp')));\r\n username = TamuApp.Username;\r\n }\r\n\r\n const req = {\r\n Id: data.data.Id,\r\n DoneBy: username\r\n }\r\n this.loading = true;\r\n this.appService.disableuser(req)\r\n .subscribe({\r\n next: (data) => {\r\n\r\n if (data === \"\") {\r\n\r\n this.snackBar.open('User disabled successfully', '×', { panelClass: 'success', verticalPosition: 'top', duration: 6000 });\r\n this.getUsers();\r\n this.loading = false;\r\n } else {\r\n\r\n if (data != null)\r\n this.snackBar.open(data.toString(), '×', { panelClass: 'error', verticalPosition: 'top', duration: 4000 });\r\n }\r\n\r\n },\r\n error: (e) => {\r\n this.loading = false;\r\n\r\n this.snackBar.open(e.error, 'X', { panelClass: 'error', verticalPosition: 'top', duration: 4000 });\r\n },\r\n complete: () => {\r\n this.loading = false;\r\n }\r\n });\r\n\r\n\r\n }\r\n public openDialogStudent(data: any | null) {\r\n const dialogRef = this.appService.openDialog(UserDialogComponent, data, 'theme-dialog');\r\n dialogRef.afterClosed().subscribe(dat => {\r\n\r\n let username: string = \"\";\r\n if (localStorage.getItem('TamuApp')) {\r\n\r\n const TamuApp = JSON.parse(this.encrypt.Decrypt(localStorage.getItem('TamuApp')));\r\n username = TamuApp.Username;\r\n }\r\n\r\n if (dat != null) {\r\n const req = {\r\n Id: dat.Id,\r\n Email: dat.Email,\r\n AlternateEmail: dat.AlternateEmail,\r\n FullName: dat.FullName,\r\n PhoneNumber: dat.PhoneNumber,\r\n UserRole: dat.UserRole,\r\n UserGroup: \"1\",\r\n Username: dat.Email,\r\n DoneBy: username\r\n }\r\n\r\n this.loading = true;\r\n this.appService.user(req)\r\n .subscribe({\r\n next: (data) => {\r\n\r\n if (data === \"\") {\r\n\r\n this.snackBar.open('User saved successfully, Login details sent on email', '×', { panelClass: 'success', verticalPosition: 'top', duration: 6000 });\r\n this.getUsers();\r\n this.loading = false;\r\n } else {\r\n\r\n if (data != null)\r\n this.snackBar.open(data.toString(), '×', { panelClass: 'error', verticalPosition: 'top', duration: 4000 });\r\n }\r\n\r\n },\r\n error: (e) => {\r\n this.loading = false;\r\n\r\n this.snackBar.open(e.error, 'X', { panelClass: 'error', verticalPosition: 'top', duration: 4000 });\r\n },\r\n complete: () => {\r\n this.loading = false;\r\n }\r\n });\r\n }\r\n\r\n\r\n });\r\n\r\n }\r\n public manageRoles() {\r\n this.openDialogRoleDetails(null);\r\n }\r\n public openDialogRoleDetails(data: any | null) {\r\n const dialogRef = this.appService.openDialog(RoledetailsDialogComponent, data, 'theme-dialog');\r\n dialogRef.afterClosed().subscribe(dat => {\r\n\r\n\r\n\r\n });\r\n\r\n }\r\n\r\n\r\n\r\n onExporting(e) {\r\n const workbook = new Workbook();\r\n const worksheet = workbook.addWorksheet('Employees');\r\n\r\n exportDataGrid({\r\n component: e.component,\r\n worksheet,\r\n autoFilterEnabled: true,\r\n }).then(() => {\r\n workbook.xlsx.writeBuffer().then((buffer) => {\r\n saveAs(new Blob([buffer], { type: 'application/octet-stream' }), 'Report.xlsx');\r\n });\r\n });\r\n e.cancel = true;\r\n }\r\n\r\n\r\n}","<div fxLayout=\"row wrap\" fxLayoutAlign=\"left\" class=\"w-100 p-1\">\r\n\r\n\r\n <div fxFlex=\"100\" fxFlex.gt-sm=\"80\" class=\"px-3\" ngClass.sm=\"mt-1\" ngClass.xs=\"mt-1\">\r\n <mat-button-toggle-group #group=\"matButtonToggleGroup\" appearance=\"legacy\" [value]=\"selectedCategoryId\"\r\n class=\"categories-toogle-group mt-2\" (change)=\"onChangeCategory($event)\">\r\n\r\n <mat-button-toggle value=\"Administrator\" class=\"letter Categorytbtn\">\r\n Admin Users\r\n </mat-button-toggle>\r\n <mat-button-toggle value=\"Parents\" class=\"letter Categorytbtn\">\r\n Parents\r\n </mat-button-toggle>\r\n <mat-button-toggle value=\"Staff\" class=\"letter Categorytbtn\">\r\n Teachers\r\n </mat-button-toggle>\r\n\r\n </mat-button-toggle-group>\r\n </div>\r\n \r\n <div *ngIf=\"selectedCategoryId=='Administrator'\" fxFlex=\"100\" fxFlex.gt-sm=\"20\" class=\"px-3\" ngClass.sm=\"mt-1\" ngClass.xs=\"mt-1\" style=\" text-align: right\" \r\n (click)=\"addUser()\">\r\n <button mat-raised-button color=\"primary\" type=\"button\" class=\"uppercase\">\r\n <mat-icon>person_add</mat-icon>\r\n Add User\r\n </button>\r\n\r\n </div>\r\n\r\n</div>\r\n\r\n<mat-divider></mat-divider>\r\n<div fxLayout=\"row wrap\" fxLayoutAlign=\"left\" class=\"w-100 p-1\">\r\n<dx-data-grid id=\"gridContainer\" [dataSource]=\"filtereduser\" [rowAlternationEnabled]=\"true\" [showBorders]=\"true\"\r\n [showRowLines]=\"true\" [columnHidingEnabled]=\"true\" width=\"100%\" (onExporting)=\"onExporting($event)\">\r\n <dxo-search-panel [visible]=\"true\" [width]=\"300\" placeholder=\"Search...\"></dxo-search-panel>\r\n <dxo-paging [pageSize]=\"5\"></dxo-paging>\r\n <dxo-pager [visible]=\"true\" [allowedPageSizes]=\"[5, 10,20,50, 'all']\" [displayMode]=\"'full'\"\r\n [showPageSizeSelector]=\"true\" [showInfo]=\"true\" [showNavigationButtons]=\"true\"></dxo-pager>\r\n <dxo-scrolling columnRenderingMode=\"virtual\"></dxo-scrolling>\r\n <dxo-filter-row [visible]=\"true\"></dxo-filter-row>\r\n <dxo-export [enabled]=\"true\" [formats]=\"['Excel']\" [allowExportSelectedData]=\"true\"></dxo-export>\r\n <dxi-column dataField=\"Id\" caption=\"Id\" width=\"70\"></dxi-column>\r\n <dxi-column dataField=\"Username\" caption=\"Username\" width=\"180\"></dxi-column>\r\n <dxi-column dataField=\"FullName\" caption=\"FullName\"></dxi-column>\r\n <dxi-column dataField=\"Email\" caption=\"Email\" width=\"180\"></dxi-column>\r\n <dxi-column dataField=\"PhoneNumber\" caption=\"PhoneNumber\" width=\"120\"></dxi-column>\r\n <dxi-column dataField=\"LastActive\" caption=\"LastActive\" width=\"100\"></dxi-column>\r\n <dxi-column dataField=\"Status\" caption=\"Status\" width=\"120\"></dxi-column>\r\n <dxi-column dataField=\"DateCreated\" caption=\"DateCreated\" width=\"120\"></dxi-column>\r\n <dxi-column dataField=\"CreatedBy\" caption=\"DoneBy\" width=\"150\"></dxi-column>\r\n <dxi-column caption=\"\" [width]=\"selectedCategoryId=='Administrator'?110:80\" [allowFiltering]=\"false\" [allowSorting]=\"false\" cellTemplate=\"actions\"\r\n [fixed]=\"true\" fixedPosition=\"right\"></dxi-column>\r\n <div *dxTemplate=\"let data of 'actions'\">\r\n\r\n <button *ngIf=\"selectedCategoryId=='Administrator'\" class=\"gridbutton\" type=\"button\" (click)=\"updateUser(data,$event)\" matTooltip=\"Edit User\">\r\n <mat-icon color=\"primary\">edit</mat-icon>\r\n </button>\r\n \r\n <button class=\"gridbutton\" type=\"button\" (click)=\"resetpassword(data,$event)\" matTooltip=\"Reset Password\">\r\n <mat-icon color=\"accent\">refresh</mat-icon>\r\n </button>\r\n \r\n <button class=\"gridbutton\" type=\"button\" (click)=\"disableUser(data,$event)\" matTooltip=\"Disable User\">\r\n <mat-icon color=\"warn\">highlight_off</mat-icon>\r\n </button>\r\n\r\n\r\n </div>\r\n</dx-data-grid>\r\n \r\n \r\n \r\n<button mat-raised-button color=\"primary\" type=\"button\" class=\"uppercase\" style=\"margin-top: 20px\"\r\n(click)=\"manageRoles()\">\r\n <mat-icon>vpn_key</mat-icon>\r\n Manage Roles\r\n</button>\r\n</div>\r\n \r\n<div class=\"overlay\" *ngIf=\"loading\">\r\n <div class=\"center\">\r\n <mat-spinner *ngIf=\"loading\"></mat-spinner>\r\n </div>\r\n\r\n</div>","import { RoledetailsDialogComponent } from './roledetails-dialog/roledetails-dialog.component';\r\nimport { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { HttpClientModule } from '@angular/common/http';\r\nimport { RouterModule, Routes } from '@angular/router';\r\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\r\nimport { NgxPaginationModule } from 'ngx-pagination';\r\nimport { SharedModule } from '../../shared/shared.module';\r\nimport { PipesModule } from '../../theme/pipes/pipes.module';\r\nimport { UsersComponent } from './users.component';\r\nimport { UserDialogComponent } from './user-dialog/user-dialog.component';\r\nimport { NgxMatIntlTelInputComponent } from 'ngx-mat-intl-tel-input';\r\nimport { RolesDialogComponent } from './roles-dialog/roles-dialog.component';\r\n\r\nexport const routes: Routes = [\r\n { path: '', component: UsersComponent, pathMatch: 'full' }\r\n];\r\n\r\n@NgModule({\r\n imports: [\r\n CommonModule,\r\n HttpClientModule,\r\n RouterModule.forChild(routes),\r\n FormsModule,\r\n ReactiveFormsModule,\r\n NgxPaginationModule,\r\n SharedModule,\r\n PipesModule,\r\n NgxMatIntlTelInputComponent \r\n ],\r\n declarations: [\r\n UsersComponent,\r\n UserDialogComponent,\r\n RolesDialogComponent,\r\n RoledetailsDialogComponent,\r\n ] \r\n})\r\nexport class UsersModule { }\r\n"],"names":["MAT_DIALOG_DATA","menuItems","RolesDialogComponent","i0","subitem_r6","item_r4","RoledetailsDialogComponent","constructor","dialogRef","data","appService","fb","snackBar","encrypt","setMain","a","id","title","radiobuttons","document","getElementsByName","length","target","checked","selectedMenus","push","pop","forEach","element","menuitems","filter","x","parentId","setSub","item","getAllunchecked","name","ngOnInit","getRoles","mains","getSubMenu","menu","ManageRole","openDialogRoleDialog","loading","UserRoles","subscribe","next","body","JSON","parse","stringify","roles","error","e","complete","openDialog","afterClosed","dat","onSubmit","selectedRole","open","panelClass","verticalPosition","duration","username","localStorage","getItem","TamuApp","Decrypt","Username","req","Id","UserRoleId","Menus","toString","DoneBy","RoleDetail","getselectRoledetails","SelectedUserRole","clearSelection","radiobutton","getElementById","UserRoleDetail","menus","split","selectors","decls","vars","consts","template","ctx","Validators","form","group","UserRole","required","setValue","valid","value","patchValue","editRole","$event","deleteRole","RemoveUserRole","UserRoleList","emailValidator","UserDialogComponent","Email","compose","AlternateEmail","email","FullName","PhoneNumber","close","saveAs","exportDataGrid","Workbook","UsersComponent","appSettings","dialog","getUsers","onChangeCategory","selectedCategoryId","filtereduser","dataSource","user","UserGroup","users","addUser","openDialogStudent","updateUser","resetpassword","ResetUserPassword","disableUser","disableuser","manageRoles","openDialogRoleDetails","onExporting","workbook","worksheet","addWorksheet","component","autoFilterEnabled","then","xlsx","writeBuffer","buffer","Blob","type","cancel","features","CommonModule","HttpClientModule","RouterModule","FormsModule","ReactiveFormsModule","NgxPaginationModule","SharedModule","PipesModule","NgxMatIntlTelInputComponent","routes","path","pathMatch","UsersModule","forChild","declarations","imports","i1"],"sourceRoot":"webpack:///"}