{"version":3,"file":"main.js","mappings":"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ACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA","sources":["./src/app/app-routing.module.ts","./src/app/app.component.ts","./src/app/app.component.html","./src/app/app.module.ts","./src/app/shared/components/change-academic-dialogue/change-academic-dialogue.component.ts","./src/app/shared/components/change-academic-dialogue/change-academic-dialogue.component.html","./src/app/shared/components/custom-snack.ts","./src/app/shared/components/header/header.component.ts","./src/app/shared/components/header/header.component.html","./src/app/shared/components/loader/loader.ts","./src/app/shared/components/loader/loader.html","./src/app/shared/components/notif-panel/notif-panel.component.ts","./src/app/shared/components/notif-panel/notif-panel.component.html","./src/app/shared/components/sidenavbar/sidenavbar.component.html","./src/app/shared/components/sidenavbar/sidenavbar.component.ts","./src/app/shared/constants.ts","./src/app/shared/directives/loading-button.directive.ts","./src/app/shared/enums/UserGroups.ts","./src/app/shared/helper-functons.ts","./src/app/shared/helpers/auth.guard.ts","./src/app/shared/helpers/encrypt-decrypt.ts","./src/app/shared/services/api-http-client.service.ts","./src/app/shared/services/auth.service.ts","./src/app/shared/services/common-apis.service.ts","./src/environments/environment.ts","./src/hmr.ts","./src/main.ts","./node_modules/moment/locale/ sync ^\\.\\/.*$"],"sourcesContent":["import { NgModule } from '@angular/core';\r\nimport { RouterModule, Routes } from '@angular/router';\r\nimport { AuthUserGuard } from './shared/helpers/auth.guard';\r\n\r\nconst routes: Routes = [\r\n {\r\n path: 'authentication',\r\n loadChildren: () => import('./auth/auth.module').then((m) => m.AuthModule),\r\n },\r\n\r\n\r\n {\r\n path: 'dashboard',\r\n loadChildren: () =>\r\n import('./dashboard/dashboard.module').then((m) => m.DashboardModule),\r\n\r\n canActivate: [AuthUserGuard],\r\n },\r\n {\r\n path: 'admin',\r\n loadChildren: () =>\r\n import('./dashboard/dashboard.module').then((m) => m.DashboardModule),\r\n\r\n canActivate: [AuthUserGuard],\r\n },\r\n {\r\n path: 'timetable',\r\n loadChildren: () =>\r\n import('./timetable/timetable.module').then((m) => m.TimetableModule),\r\n canActivate: [AuthUserGuard],\r\n },\r\n {\r\n path: 'curriculum',\r\n loadChildren: () =>\r\n import('./curriculum/curriculum.module').then((m) => m.CurriculumModule),\r\n canActivate: [AuthUserGuard],\r\n },\r\n {\r\n path: 'student-affairs',\r\n loadChildren: () =>\r\n import('./student-affairs/student-affairs.module').then(\r\n (m) => m.StudentAffairsModule\r\n ),\r\n canActivate: [AuthUserGuard],\r\n },\r\n {\r\n path: 'settings',\r\n loadChildren: () =>\r\n import('./settings/setting.module').then(\r\n (m) => m.settingModule\r\n ),\r\n // canActivate: [AuthUserGuard],\r\n },\r\n {\r\n path: 'master',\r\n loadChildren: () =>\r\n import('./master/master.module').then((m) => m.MasterModule),\r\n canActivate: [AuthUserGuard],\r\n },\r\n {\r\n path: 'events',\r\n loadChildren: () =>\r\n import('./events/events.module').then((m) => m.EventsModule),\r\n canActivate: [AuthUserGuard],\r\n },\r\n {\r\n path: 'performance-evaluation',\r\n loadChildren: () =>\r\n import('./performance-evaluation/performance-evaluation.module').then(\r\n (m) => m.PerformanceEvaluationModule\r\n ),\r\n canActivate: [AuthUserGuard],\r\n },\r\n {\r\n path: 'staff',\r\n loadChildren: () =>\r\n import('./staff/staff.module').then((m) => m.StaffModule),\r\n canActivate: [AuthUserGuard],\r\n },\r\n {\r\n path: 'approvals',\r\n loadChildren: () =>\r\n import('./approvals/approvals.module').then((m) => m.ApprovalsModule),\r\n canActivate: [AuthUserGuard],\r\n },\r\n {\r\n path: 'academics',\r\n loadChildren: () =>\r\n import('./academics/academics.module').then((m) => m.AcademicsModule),\r\n canActivate: [AuthUserGuard],\r\n },\r\n {\r\n path: 'aqar',\r\n loadChildren: () => import('./aqar/aqar.module').then((m) => m.AqarModule),\r\n canActivate: [AuthUserGuard],\r\n },\r\n {\r\n path: 'module',\r\n loadChildren: () =>\r\n import('./module/modules.module').then((m) => m.ModulesModule),\r\n canActivate: [AuthUserGuard],\r\n },\r\n {\r\n path: 'accounts',\r\n loadChildren: () =>\r\n import('./accounts/accounts.module').then((m) => m.AccountsModule),\r\n canActivate: [AuthUserGuard],\r\n },\r\n {\r\n path: 'fee',\r\n loadChildren: () => import('./fee/fee.module').then((m) => m.FeeModule),\r\n canActivate: [AuthUserGuard],\r\n },\r\n {\r\n path: 'security',\r\n loadChildren: () =>\r\n import('./security/security.module').then((m) => m.SecurityModule),\r\n canActivate: [AuthUserGuard],\r\n },\r\n {\r\n path: 'editor',\r\n loadChildren: () =>\r\n import('./qp-editor/qp-editor.module').then((m) => m.QpEditorModule),\r\n canActivate: [AuthUserGuard],\r\n },\r\n {\r\n path: 'reports',\r\n loadChildren: () =>\r\n import('./reporting/reporting.module').then((m) => m.ReportingModule),\r\n canActivate: [AuthUserGuard],\r\n },\r\n {\r\n path: '',\r\n redirectTo: 'dashboard/home',\r\n pathMatch: 'full',\r\n },\r\n {\r\n path: 'students',\r\n loadChildren: () =>\r\n import('./student/student.module').then((m) => m.StudentModule),\r\n },\r\n {\r\n path: 'examination',\r\n loadChildren: () =>\r\n import('./examination/examination.module').then((m) => m.ExaminationModule),\r\n canActivate: [AuthUserGuard],\r\n },\r\n];\r\n\r\n@NgModule({\r\n imports: [RouterModule.forRoot(routes)],\r\n exports: [RouterModule],\r\n})\r\nexport class AppRoutingModule { }\r\n","import { Component } from '@angular/core';\r\nimport {\r\n NavigationCancel,\r\n NavigationEnd,\r\n NavigationError,\r\n NavigationStart,\r\n Router,\r\n} from '@angular/router';\r\nimport { AuthService } from './shared/services/auth.service';\r\n\r\n@Component({\r\n selector: 'app-root',\r\n templateUrl: './app.component.html',\r\n styleUrls: ['./app.component.scss'],\r\n})\r\nexport class AppComponent {\r\n isLoading = false;\r\n isLoggedIn: boolean = false;\r\n isNotifPanelHide: boolean = true;\r\n constructor(public router: Router, private auth: AuthService) {\r\n this.router.events.subscribe((e) => {\r\n if (e instanceof NavigationStart) {\r\n this.isLoading = true;\r\n this.isNotifPanelHide = ![\r\n '/dashboard/home',\r\n '/approvals/common-requests',\r\n ].includes(e.url);\r\n }\r\n if (\r\n e instanceof NavigationEnd ||\r\n e instanceof NavigationCancel ||\r\n e instanceof NavigationError\r\n ) {\r\n this.isLoading = false;\r\n this.isLoggedIn = this.auth.isLoggedIn;\r\n }\r\n var main = document.getElementById('main')!;\r\n if (!this.isLoggedIn) {\r\n main.style.marginLeft = '0px';\r\n main.style.height = '100vh';\r\n } else {\r\n main.style.marginLeft = '60px';\r\n main.style.removeProperty('height');\r\n }\r\n });\r\n window.addEventListener('click', (e) => {\r\n if (e.target == document.getElementById('backdrop')) {\r\n if (this.auth.isSideNavPinnedSubject.value) {\r\n document.querySelector('.hover-element')?.remove();\r\n document\r\n .querySelector('.ham4')\r\n ?.classList.toggle('active');\r\n this.auth.pinSideBar();\r\n }\r\n }\r\n });\r\n this.auth.isSideNavPinned.subscribe((value) => {\r\n document.getElementById('backdrop')!.style.display =\r\n value === false ? 'none' : 'block';\r\n });\r\n }\r\n\r\n public get isModulesPage(): boolean {\r\n var main = document.getElementById('main')!;\r\n var isModulesPage = this.auth.currentGrpValue.ModuleID == 0;\r\n if (isModulesPage) main.style.marginLeft = '0px';\r\n else main.style.marginLeft = '60px';\r\n return this.auth.currentGrpValue.ModuleID == 0;\r\n }\r\n}\r\n","\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n\r\n","import { HTTP_INTERCEPTORS, HttpClientModule } from '@angular/common/http';\r\nimport { NgModule } from '@angular/core';\r\nimport { ReactiveFormsModule } from '@angular/forms';\r\nimport { MatBadgeModule } from '@angular/material/badge';\r\nimport { MatButtonModule } from '@angular/material/button';\r\nimport { MatRippleModule } from '@angular/material/core';\r\nimport { MatDialogModule } from '@angular/material/dialog';\r\nimport { MatIconModule } from '@angular/material/icon';\r\nimport { MatListModule } from '@angular/material/list';\r\nimport { MatMenuModule } from '@angular/material/menu';\r\nimport { MatProgressBarModule } from '@angular/material/progress-bar';\r\nimport { MatSelectModule } from '@angular/material/select';\r\nimport { MatSnackBarModule } from '@angular/material/snack-bar';\r\nimport { MatTabsModule } from '@angular/material/tabs';\r\nimport { BrowserModule } from '@angular/platform-browser';\r\nimport { BrowserAnimationsModule } from '@angular/platform-browser/animations';\r\nimport { ApiHttpClient } from '@services/api-http-client.service';\r\nimport { InlineSVGModule } from 'ng-inline-svg-2';\r\nimport { AppRoutingModule } from './app-routing.module';\r\nimport { AppComponent } from './app.component';\r\nimport { ChangeAcademicDialogueComponent } from './shared/components/change-academic-dialogue/change-academic-dialogue.component';\r\nimport { HeaderComponent } from './shared/components/header/header.component';\r\nimport { PageLoaderComponent } from './shared/components/loader/loader';\r\nimport { NotifPanelComponent } from './shared/components/notif-panel/notif-panel.component';\r\nimport { SidenavbarComponent } from './shared/components/sidenavbar/sidenavbar.component';\r\nimport { SpinnerButtonDirective } from './shared/directives/loading-button.directive';\r\n\r\n\r\nexport function getBaseUrl() {\r\n // return 'https://' + document.getElementsByTagName('base')[0].href.split(':').slice(1, -1).join(':').concat(':5001/');\r\n return document.getElementsByTagName('base')[0].href;\r\n // return 'https://localhost:5001/';\r\n}\r\n\r\nexport function getReportTemplateUrl() {\r\n return (\r\n // 'https://localhost:5001/' +\r\n document.getElementsByTagName('base')[0].href +\r\n 'api/reports/resources/templates/telerikReportViewerTemplate.html/'\r\n );\r\n}\r\n\r\n\r\n\r\nexport function getMediaUrl() {\r\n return document.getElementsByTagName('base')[0].href;\r\n}\r\n@NgModule({\r\n declarations: [\r\n AppComponent,\r\n HeaderComponent,\r\n SidenavbarComponent,\r\n NotifPanelComponent,\r\n PageLoaderComponent,\r\n ChangeAcademicDialogueComponent,\r\n ],\r\n imports: [\r\n BrowserModule,\r\n AppRoutingModule,\r\n BrowserAnimationsModule,\r\n HttpClientModule,\r\n MatIconModule,\r\n MatMenuModule,\r\n InlineSVGModule.forRoot(),\r\n MatTabsModule,\r\n MatBadgeModule,\r\n MatListModule,\r\n MatButtonModule,\r\n MatSnackBarModule,\r\n MatRippleModule,\r\n MatProgressBarModule,\r\n MatDialogModule,\r\n MatSelectModule,\r\n ReactiveFormsModule,\r\n SpinnerButtonDirective,\r\n\r\n ],\r\n providers: [\r\n { provide: 'BASE_URL', useFactory: getBaseUrl },\r\n { provide: 'MEDIA_URL', useFactory: getMediaUrl },\r\n { provide: Window, useValue: window },\r\n { provide: HTTP_INTERCEPTORS, useClass: ApiHttpClient, multi: true },\r\n { provide: 'reportTemplateUrl', useFactory: getReportTemplateUrl },\r\n ],\r\n bootstrap: [AppComponent],\r\n})\r\nexport class AppModule { }\r\n","import { Component, OnInit } from '@angular/core';\r\nimport { UntypedFormControl, Validators } from '@angular/forms';\r\nimport { MatDialogRef } from '@angular/material/dialog';\r\nimport { Router } from '@angular/router';\r\nimport { AcademicYearModel } from '../../interfaces/college-model-interface';\r\nimport { AuthService } from '../../services/auth.service';\r\nimport { CommonApiService } from '../../services/common-apis.service';\r\nimport { CustomSnack, SnackBarType } from '../custom-snack';\r\n\r\n@Component({\r\n selector: 'app-change-academic-dialogue',\r\n templateUrl: './change-academic-dialogue.component.html',\r\n styleUrls: [\r\n './change-academic-dialogue.component.scss',\r\n './../../layout/custom-material.scss',\r\n ],\r\n})\r\nexport class ChangeAcademicDialogueComponent implements OnInit {\r\n constructor(\r\n public dialogRef: MatDialogRef,\r\n public CommonAPI: CommonApiService,\r\n public Auth: AuthService,\r\n private _snackBar: CustomSnack,\r\n private router: Router\r\n ) { }\r\n\r\n academicYears: AcademicYearModel[] = [];\r\n formControl: UntypedFormControl = new UntypedFormControl(\r\n null,\r\n Validators.required\r\n );\r\n isLoading = false;\r\n async ngOnInit() {\r\n this.academicYears = await this.CommonAPI.ReadAcademicYear();\r\n\r\n this.formControl.setValue(\r\n this.academicYears[\r\n this.academicYears.findIndex(\r\n (e) => e.AcademicYearID == this.Auth.currentUserValue.AcademicYearID\r\n )\r\n ]\r\n );\r\n\r\n // let c = this.academicYears[\r\n // this.academicYears.findIndex(\r\n // (e) => e.FromDate == this.Auth.currentUserValue.AcademicFromDate && e.ToDate == this.Auth.currentUserValue.AcademicToDate\r\n // )\r\n // ]\r\n\r\n\r\n\r\n\r\n\r\n\r\n }\r\n changeAcademicYear() {\r\n try {\r\n this.isLoading = true;\r\n let c: AcademicYearModel; // Declare c here\r\n\r\n if (this.formControl.valid) {\r\n c = this.academicYears[\r\n this.academicYears.findIndex(\r\n (e) =>\r\n e.FromDate == this.Auth.currentUserValue.AcademicFromDate &&\r\n e.ToDate == this.Auth.currentUserValue.AcademicToDate\r\n )\r\n ];\r\n\r\n this.Auth.changeAcademicYear(this.formControl.value).subscribe(\r\n (e) => {\r\n this._snackBar.showNotification(\r\n SnackBarType.SUCCESS,\r\n 'Academic Year changed successfully'\r\n );\r\n\r\n this.dialogRef.close({\r\n selectedAcademicYear: this.formControl.value,\r\n additionalData: c,\r\n });\r\n\r\n let previousUrl = this.router.url.split('?')[0];\r\n this.router\r\n .navigateByUrl('authentication', {\r\n skipLocationChange: true,\r\n })\r\n .then(() => this.router.navigateByUrl(previousUrl));\r\n },\r\n (e) => {\r\n this._snackBar.showNotification(\r\n SnackBarType.ERROR,\r\n 'Something went wrong. Please try again later.'\r\n );\r\n }\r\n );\r\n }\r\n } catch (error) {\r\n this.isLoading = false;\r\n this._snackBar.showNotification(\r\n SnackBarType.ERROR,\r\n 'Something went wrong. Please try again later.'\r\n );\r\n } finally {\r\n this.isLoading = false; // Make sure to reset isLoading in all cases\r\n }\r\n }\r\n\r\n onNoClick(): void {\r\n this.dialogRef.close();\r\n }\r\n\r\n\r\n\r\n}\r\n","
\r\n Change Academic Year\r\n \r\n Choose Academic Year\r\n \r\n \r\n {{ active.AcademicYear }}\r\n \r\n \r\n \r\n
\r\n \r\n \r\n
\r\n
","import { Injectable } from '@angular/core';\r\nimport { MatSnackBar } from '@angular/material/snack-bar';\r\nexport enum SnackBarType {\r\n WARNING = 'alert-warning',\r\n ERROR = 'alert-danger',\r\n SUCCESS = 'alert-success',\r\n}\r\n@Injectable({\r\n providedIn: 'root',\r\n})\r\nexport class CustomSnack {\r\n constructor(private snackBar: MatSnackBar) {}\r\n showNotification(priority: SnackBarType, content: string) {\r\n this.snackBar.open(content, '', {\r\n duration: 3000,\r\n panelClass: priority,\r\n });\r\n }\r\n}\r\n","import { Component, OnInit } from '@angular/core';\r\nimport { MatDialog } from '@angular/material/dialog';\r\nimport { Router } from '@angular/router';\r\nimport { CustomSnack, SnackBarType } from '@components/custom-snack';\r\nimport { Observable, fromEvent } from 'rxjs';\r\nimport { UserGroupName } from '../../constants';\r\nimport { AcademicYearModel, InstitutionMasterModel } from '../../interfaces/college-model-interface';\r\nimport { User } from '../../interfaces/user';\r\nimport { AuthService } from '../../services/auth.service';\r\nimport { ChangeAcademicDialogueComponent } from '../change-academic-dialogue/change-academic-dialogue.component';\r\n\r\n@Component({\r\n selector: 'app-header',\r\n templateUrl: './header.component.html',\r\n styleUrls: ['./header.component.scss'],\r\n})\r\nexport class HeaderComponent implements OnInit {\r\n user: User | null;\r\n institution: InstitutionMasterModel | null;\r\n offlineEvent!: Observable;\r\n onlineEvent!: Observable;\r\n academicYearResponse: AcademicYearModel | null = null; // Initialize with null\r\n currentUserGroup: string = '';\r\n\r\n constructor(\r\n private Auth: AuthService,\r\n public router: Router,\r\n public dialog: MatDialog,\r\n public snackBar: CustomSnack\r\n ) {\r\n this.user = this.Auth.currentUserValue;\r\n this.institution = this.Auth.currentInstitutionValue;\r\n this.user['HOD'] != \"\" ? this.currentUserGroup += this.user['AdditionalPositions'] : this.user['AdditionalPositions'] != \"\" ? this.currentUserGroup += this.user['AdditionalPositions'] : this.currentUserGroup += UserGroupName[this.user['GroupID'] as keyof typeof UserGroupName]\r\n }\r\n\r\n ngOnInit() {\r\n\r\n this.onlineEvent = fromEvent(window, 'online');\r\n this.offlineEvent = fromEvent(window, 'offline');\r\n\r\n this.onlineEvent.subscribe((e) => {\r\n // handle online mode\r\n this.snackBar.showNotification(SnackBarType.SUCCESS, 'Back Online');\r\n });\r\n\r\n this.offlineEvent.subscribe((e) => {\r\n // handle offline mode\r\n this.snackBar.showNotification(\r\n SnackBarType.ERROR,\r\n 'Internet Connection Interrupted'\r\n );\r\n });\r\n\r\n const storedAcademicYearResponse = localStorage.getItem('academicYearResponse');\r\n if (storedAcademicYearResponse) {\r\n this.academicYearResponse = JSON.parse(storedAcademicYearResponse);\r\n }\r\n\r\n }\r\n\r\n logout() {\r\n if (this.Auth.isSideNavPinnedSubject.value) this.pinSideBar();\r\n this.Auth.logout();\r\n }\r\n\r\n changeAcademicYear() {\r\n try {\r\n const dialogRef = this.dialog.open(ChangeAcademicDialogueComponent, {\r\n width: '30%',\r\n });\r\n\r\n dialogRef.afterClosed().subscribe((result) => {\r\n if (result && result.selectedAcademicYear && result.additionalData) {\r\n const selectedAcademicYear = result.selectedAcademicYear;\r\n // const additionalData = result.additionalData;\r\n\r\n // Do something with the selected academic year and additionalData in HeaderComponent\r\n // console.log('Additional Data:', additionalData);\r\n\r\n localStorage.setItem('academicYearResponse', JSON.stringify(selectedAcademicYear));\r\n\r\n this.academicYearResponse = selectedAcademicYear;\r\n }\r\n });\r\n } catch (error) {\r\n console.log('Error opening dialog:', error);\r\n }\r\n }\r\n\r\n pinSideBar() {\r\n document.querySelector('.hover-element')?.remove();\r\n document.querySelector('.ham4')?.classList.toggle('active');\r\n this.Auth.pinSideBar();\r\n }\r\n\r\n ModulesChange() {\r\n if (this.Auth.isSideNavPinnedSubject.value) {\r\n this.pinSideBar();\r\n }\r\n this.router.navigateByUrl('/module/module-page').finally(() => {\r\n this.Auth.updateModuleByModulePage(0);\r\n });\r\n }\r\n\r\n\r\n ChangePassword() {\r\n if (this.Auth.isSideNavPinnedSubject.value) {\r\n this.pinSideBar();\r\n }\r\n // this.router.navigate(['/security/password-change']);\r\n this.router.navigateByUrl('/security/password-change').finally(() => {\r\n this.Auth.updateModuleByModulePage(0);\r\n });\r\n\r\n }\r\n\r\n public get isModulesPage(): boolean {\r\n return this.Auth.currentGrpValue.ModuleID == 0;\r\n }\r\n}\r\n","\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {{ institution?.InstitutionName }}\r\n \r\n
\r\n\r\n
\r\n\r\n
\r\n \r\n \r\n {{ academicYearResponse ? (academicYearResponse.FromDate | date: 'dd/MM/yyyy') : (user?.AcademicFromDate | date: 'dd/MM/yyyy') }}\r\n -\r\n {{ academicYearResponse ? (academicYearResponse.ToDate | date: 'dd/MM/yyyy') : (user?.AcademicToDate | date: 'dd/MM/yyyy') }}\r\n \r\n \r\n\r\n
\r\n \r\n
\r\n \r\n
\r\n\r\n\r\n\r\n
\r\n\r\n \r\n \r\n \r\n
\r\n \r\n
\r\n \r\n {{ user?.Name }}\r\n \r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n
\r\n\r\n
\r\n {{ currentUserGroup }}\r\n
\r\n \r\n \r\n \r\n","import { Component, OnInit } from '@angular/core';\r\nimport { ProgressBarMode } from '@angular/material/progress-bar';\r\n@Component({\r\n selector: 'app-page-loader',\r\n templateUrl: './loader.html',\r\n styleUrls: ['./loader.scss'],\r\n})\r\nexport class PageLoaderComponent implements OnInit {\r\n mode: ProgressBarMode = 'indeterminate';\r\n value = 50;\r\n bufferValue = 75;\r\n constructor() {}\r\n ngOnInit() {}\r\n}\r\n","
\r\n \r\n
\r\n","import { Component, OnInit } from '@angular/core';\r\nimport { Router } from '@angular/router';\r\nimport * as moment from 'moment';\r\nimport { from, of, zip } from 'rxjs';\r\nimport { groupBy, mergeMap, toArray } from 'rxjs/operators';\r\nimport { TransactionRoutes, TransactionType } from '../../constants';\r\nimport { NAACTxnNotifications } from '../../interfaces/user';\r\nimport { AuthService } from '../../services/auth.service';\r\n\r\n@Component({\r\n selector: 'app-notif-panel',\r\n templateUrl: './notif-panel.component.html',\r\n styleUrls: ['./notif-panel.component.scss'],\r\n})\r\nexport class NotifPanelComponent implements OnInit {\r\n notifications: NAACTxnNotifications[] = [];\r\n impNotifications: NAACTxnNotifications[] = [];\r\n groupedNotif: [string, NAACTxnNotifications[]][] = [];\r\n photoPath: string = 'Photo/Staff/';\r\n\r\n constructor(private Auth: AuthService, public router: Router) {}\r\n\r\n async loadNotif() {\r\n this.Auth.notifications.subscribe((e) => {\r\n this.notifications = e;\r\n this.impNotifications = this.notifications.filter((e) => e.Priority > 0);\r\n this.groupedNotif = [];\r\n from(this.notifications)\r\n .pipe(\r\n groupBy(\r\n (notif) =>\r\n TransactionType[\r\n notif.TransactionType as keyof typeof TransactionType\r\n ] || 'Other',\r\n (p) => p\r\n ),\r\n mergeMap((group) => zip(of(group.key), group.pipe(toArray())))\r\n )\r\n .subscribe((e) => this.groupedNotif.push(e));\r\n });\r\n }\r\n\r\n ngOnInit(): void {\r\n\r\n this.loadNotif();\r\n }\r\n\r\n moment(date: Date) {\r\n return moment(date).fromNow();\r\n }\r\n clickNotif(notif: NAACTxnNotifications) {\r\n console.log(notif);\r\n\r\n this.markAsRead(notif).then(()=> {\r\n this.router.navigate(\r\n [\r\n TransactionRoutes[\r\n notif.TransactionType as keyof typeof TransactionRoutes\r\n ],\r\n ],\r\n { queryParams: { MasterID: notif.MasterID } }\r\n );\r\n })\r\n\r\n }\r\n closeOverlay() {\r\n document\r\n .getElementById('overlay')\r\n ?.classList.toggle('overlay-list-bubble--is-minimized');\r\n document.getElementById('overlay-button')?.classList.toggle('rotate-180');\r\n }\r\n getImpBadge() {\r\n return this.impNotifications.filter((e) => e.ReadStatus === 0).length;\r\n }\r\n getBadge() {\r\n return this.notifications.filter((e) => e.ReadStatus === 0).length;\r\n }\r\n loadDefaultImage(event: any) {\r\n event.target.src = 'assets/NoImage.png';\r\n }\r\n async markAsRead(notif: NAACTxnNotifications) {\r\n notif.ReadStatus = 1;\r\n await this.Auth.UpdateNAACTxnNotifications(notif.NotificationID, 0);\r\n await this.loadNotif();\r\n }\r\n\r\n async deleteNotif(notif: NAACTxnNotifications) {\r\n //remove from array\r\n this.notifications = this.notifications.filter(\r\n (e) => e.NotificationID !== notif.NotificationID\r\n );\r\n await this.Auth.UpdateNAACTxnNotifications(notif.NotificationID, 1);\r\n await this.loadNotif();\r\n }\r\n}\r\n","\r\n","
\r\n
\r\n \r\n Online TCS\r\n
\r\n
\r\n \r\n
\r\n
\r\n {{ item.GroupName }}\r\n
\r\n
\r\n \r\n\r\n \r\n {{ subitem.PrivilegeName }}\r\n \r\n
\r\n
\r\n \r\n\r\n","import { AfterViewInit, Component, OnInit } from '@angular/core';\r\nimport { Router } from '@angular/router';\r\nimport { UserGrp } from '../../interfaces/master-model-interface';\r\nimport { AuthService } from '../../services/auth.service';\r\n@Component({\r\n selector: 'app-sidenavbar',\r\n templateUrl: './sidenavbar.component.html',\r\n styleUrls: ['./sidenavbar.component.scss'],\r\n})\r\nexport class SidenavbarComponent implements OnInit, AfterViewInit {\r\n public sidebarItems: any[] = [];\r\n enterTimeout: any | undefined;\r\n leaveTimeout: any | undefined;\r\n nextTimeout: any | undefined;\r\n constructor(\r\n private Auth: AuthService,\r\n public router: Router,\r\n public window: Window\r\n ) {}\r\n async ngOnInit() {\r\n // this.sidebarItems = await this.Auth.GetSideMenu();\r\n // this.sidebarItems.forEach((e) => {\r\n // e.MenuIconURL = `assets/icons/sidenav/${e.GroupName}.svg`;\r\n // });\r\n // this.router.events.subscribe(event => {\r\n // if (event instanceof NavigationEnd) {\r\n // const parents = document.querySelectorAll('.parent');\r\n // const textContents: string[] = [];\r\n // parents.forEach((child) => {\r\n // textContents.push(child.children[0].children[1].textContent ?? '***');\r\n // child.setAttribute('active', 'false');\r\n // });\r\n // this.sidebarItems.forEach((sideBarItem) => {\r\n // sideBarItem.SubMenus.forEach((sub: any) => {\r\n // if (event.url.includes(sub.MenuURL)) {\r\n // textContents.find((value, i) => {\r\n // if (value === sideBarItem.GroupName) {\r\n // parents[i].setAttribute('active', 'true');\r\n // }\r\n // });\r\n // }\r\n // })\r\n // })\r\n // }\r\n // })\r\n }\r\n\r\n ngAfterViewInit() {\r\n this.Auth.currentGrpSubject.subscribe(async (grp: UserGrp) => {\r\n this.sidebarItems = await this.Auth.GetSideMenu();\r\n this.sidebarItems.forEach((e) => {\r\n e.MenuIconURL = `assets/icons/sidenav/${e.GroupName}.svg`;\r\n });\r\n });\r\n }\r\n\r\n click(index: number) {\r\n const parents = document.querySelectorAll('.parent');\r\n const sideNav = document.querySelector('.sidenav');\r\n if (\r\n parents[index].getAttribute('expanded') === 'false' &&\r\n sideNav?.classList.contains('pinned')\r\n ) {\r\n parents.forEach((child) => {\r\n child.setAttribute('expanded', 'false');\r\n });\r\n parents[index].setAttribute('expanded', 'true');\r\n } else {\r\n parents[index].setAttribute('expanded', 'false');\r\n }\r\n }\r\n\r\n hoverOnSide(e: MouseEvent, i: number) {\r\n function checkIfInViewport(hElement: HTMLElement) {\r\n var bounding = hElement.getBoundingClientRect();\r\n if (\r\n bounding.top >= 0 &&\r\n bounding.left >= 0 &&\r\n bounding.right <=\r\n (window.innerWidth || document.documentElement.clientWidth) &&\r\n bounding.bottom <=\r\n (window.innerHeight || document.documentElement.clientHeight)\r\n ) {\r\n return true;\r\n } else {\r\n return false;\r\n }\r\n }\r\n const appRoot = document.querySelector('app-root');\r\n const sideNav = document.querySelector('.sidenav');\r\n e.stopPropagation();\r\n if (!sideNav?.classList.contains('pinned')) {\r\n const target = e.target as HTMLElement;\r\n\r\n // Get the bounding rectangle of target\r\n const rect = target?.getBoundingClientRect();\r\n\r\n //calculate origin of the element\r\n const originX = rect.left + rect.width / 2;\r\n const originY = rect.top + rect.height / 2;\r\n\r\n if (this.enterTimeout != undefined) {\r\n clearTimeout(this.enterTimeout);\r\n this.enterTimeout = undefined;\r\n }\r\n const hElement = document.createElement('div');\r\n hElement.classList.add('hover-element');\r\n // hElement.style.top = `${originY - (rect.height / 2 - 10)}px`;\r\n // hElement.style.left = `${originX + 36}px`;\r\n hElement.style.zIndex = `100`;\r\n this.sidebarItems[i].SubMenus.forEach((sub: any) => {\r\n const a = document.createElement('a');\r\n a.classList.add('subtitle');\r\n a.setAttribute(\r\n 'style',\r\n `padding: 6px 10px;\r\n margin-left: 6px;\r\n text-decoration: none;\r\n font-size: 16px;\r\n color: var(--grey);\r\n font-family: \"Rubik\";\r\n display: block;\r\n border-left: 3px solid var(--border-color-75);\r\n cursor: pointer;`\r\n );\r\n if (\r\n this.router.isActive(sub.MenuURL, {\r\n paths: 'exact',\r\n queryParams: 'exact',\r\n fragment: 'ignored',\r\n matrixParams: 'ignored',\r\n })\r\n ) {\r\n a.style.backgroundColor = 'aliceblue';\r\n a.style.color = 'var(--infoblue';\r\n a.style.borderLeft = '3px solid var(--infoblue)';\r\n } else {\r\n a.onmouseover = () => {\r\n a.style.backgroundColor = 'var(--light)';\r\n };\r\n a.onmouseleave = () => {\r\n a.style.backgroundColor = 'white';\r\n };\r\n }\r\n a.addEventListener('click', () => {\r\n this.router.navigate([sub.MenuURL]);\r\n document.querySelector('.hover-element')?.remove();\r\n });\r\n\r\n a.textContent = ` ${sub.PrivilegeName}`;\r\n hElement.appendChild(a);\r\n });\r\n hElement.onmouseover = () => {\r\n clearTimeout(this.nextTimeout);\r\n this.nextTimeout = undefined;\r\n clearTimeout(this.enterTimeout);\r\n this.enterTimeout = undefined;\r\n };\r\n hElement.onmouseleave = () => {\r\n document.querySelector('.hover-element')?.remove();\r\n };\r\n if (this.nextTimeout != undefined) {\r\n clearTimeout(this.nextTimeout);\r\n this.nextTimeout = undefined;\r\n clearTimeout(this.enterTimeout);\r\n this.enterTimeout = undefined;\r\n document.querySelector('.hover-element')?.remove();\r\n target?.parentElement?.parentElement?.appendChild(hElement);\r\n if (!checkIfInViewport(hElement)) {\r\n var bounding = hElement.getBoundingClientRect();\r\n hElement.style.top = `calc( 50% - ${\r\n bounding.bottom - document.documentElement.clientHeight\r\n }px)`;\r\n }\r\n } else {\r\n this.enterTimeout = setTimeout(() => {\r\n target?.parentElement?.parentElement?.appendChild(hElement);\r\n }, 1000);\r\n }\r\n }\r\n }\r\n\r\n leaveOnSide(e: MouseEvent, i: number) {\r\n const target = e.target as HTMLElement;\r\n if (this.nextTimeout != undefined) {\r\n clearTimeout(this.nextTimeout);\r\n this.nextTimeout = undefined;\r\n clearTimeout(this.enterTimeout);\r\n this.enterTimeout = undefined;\r\n }\r\n this.nextTimeout = setTimeout(() => {\r\n document.querySelector('.hover-element')?.remove();\r\n clearTimeout(this.nextTimeout);\r\n this.nextTimeout = undefined;\r\n clearTimeout(this.enterTimeout);\r\n this.enterTimeout = undefined;\r\n }, 1000);\r\n }\r\n checkActive(url: string, i: number) {\r\n return this.sidebarItems[i].SubMenus.some((e: any) => url == e.MenuURL);\r\n } \r\n \r\n\r\n handleClick(url: string) {\r\n const currentModuleID = this.Auth.currentGrpSubject.value.ModuleID;\r\n \r\n if (currentModuleID === 3 && this.router.url.endsWith(url)) {\r\n window.location.reload();\r\n } \r\n }\r\n\r\n\r\n}\r\n","import { QpLuaLatexControlsModel } from '../aqar/aqar.interface';\r\n\r\n// Web Version\r\nexport const WEB_VERSION = '1.0.0';\r\n\r\nexport var isSidenavPinned: boolean = false;\r\nexport var isSideNavHovered: boolean = false;\r\nexport var IDofApproved = 2;\r\nexport var IDofRejected = 3;\r\nexport var IDofPending = 1;\r\n\r\nexport enum TransactionType {\r\n 'NAACCommitteeEvents' = 'Events',\r\n 'NAACLeaveRequest' = 'Leave Request',\r\n 'WorkAdjustment' = 'Work Adjustment',\r\n}\r\nexport enum TransactionTypeID {\r\n 'NAACLeaveRequest' = 1,\r\n 'NAACCommitteeEvents' = 2,\r\n 'WorkAdjustment' = 3,\r\n}\r\n\r\nexport enum TransactionRoutes {\r\n 'NAACCommitteeEvents' = 'approvals/common-requests',\r\n 'WorkAdjustment' = 'timetable/work-requests',\r\n}\r\n\r\nexport const CardColorPalette: string[] = [\r\n 'linear-gradient(90deg, #0c67f1 0%, #00b8ee 100%)',\r\n 'linear-gradient(90deg, #f8495e 0%,#ff719b 100%)',\r\n 'linear-gradient(90deg, #339d6a 0%,#1ddea0 100%)',\r\n 'linear-gradient(90deg, #4f5ddf 0%,#8995ff 99.99%)',\r\n 'linear-gradient(90deg, #f46b45 0%, #eea849 100%)',\r\n 'linear-gradient(90deg, #E29587 0%, #D66D75 100%)',\r\n 'linear-gradient(90deg, #9733EE 0%, #DA22FF)',\r\n];\r\n\r\nexport class VoucherType {\r\n static readonly CR = new VoucherType(\r\n 'CR',\r\n 'Cash Receipt',\r\n '/accounts/CashReceipt',\r\n '/accounts/CashReceiptCreateUpdate'\r\n );\r\n static readonly CP = new VoucherType(\r\n 'CP',\r\n 'Cash Payment',\r\n '/accounts/CashPayment',\r\n '/accounts/CashPaymentCreateUpdate'\r\n );\r\n static readonly PC = new VoucherType(\r\n 'PC',\r\n 'Petty Cash',\r\n '/accounts/PettyCash',\r\n '/accounts/PettyCashCreateUpdate'\r\n );\r\n static readonly BR = new VoucherType(\r\n 'BR',\r\n 'Bank Receipt',\r\n '/accounts/BankReceipt',\r\n '/accounts/BankReceiptCreateUpdate'\r\n );\r\n static readonly BP = new VoucherType(\r\n 'BP',\r\n 'Bank Payment',\r\n '/accounts/BankPayment',\r\n '/accounts/BankPaymentCreateUpdate'\r\n );\r\n static readonly BT = new VoucherType(\r\n 'BT',\r\n 'Bank Transfer',\r\n '/accounts/BankTransfer',\r\n '/accounts/BankTransferCreateUpdate'\r\n );\r\n static readonly PD = new VoucherType(\r\n 'PD',\r\n 'Post Dated Cheque Receipt',\r\n '/accounts/PostDatedChequeReceipt',\r\n '/accounts/PostDatedChequeReceiptCreateUpdate'\r\n );\r\n static readonly PP = new VoucherType(\r\n 'PP',\r\n 'Post Dated Cheque Payment',\r\n '/accounts/PostDatedChequePayment',\r\n '/accounts/PostDatedChequePaymentCreateUpdate'\r\n );\r\n static readonly CO = new VoucherType(\r\n 'CO',\r\n 'Contra Voucher',\r\n '/accounts/ContraVoucher',\r\n '/accounts/ContraVoucherCreateUpdate'\r\n );\r\n static readonly DN = new VoucherType(\r\n 'DN',\r\n 'Debit Note',\r\n '/accounts/DebitNote',\r\n '/accounts/DebitNoteCreateUpdate',\r\n true\r\n );\r\n static readonly CN = new VoucherType(\r\n 'CN',\r\n 'Credit Note',\r\n '/accounts/CreditNote',\r\n '/accounts/CreditNoteCreateUpdate',\r\n true\r\n );\r\n static readonly JV = new VoucherType(\r\n 'JV',\r\n 'Journal Voucher',\r\n '/accounts/JournalVoucher',\r\n '/accounts/JournalVoucherCreateUpdate',\r\n true\r\n );\r\n static readonly FC = new VoucherType(\r\n 'FC',\r\n 'Fee Collection',\r\n '/fee/fee-collection-list',\r\n '/fee/fee-collection',\r\n true\r\n );\r\n static readonly FR = new VoucherType(\r\n 'FR',\r\n 'Fee Refund',\r\n '/fee/fee-refund-list',\r\n '/fee/fee-refund',\r\n true\r\n );\r\n static readonly FA = new VoucherType(\r\n 'FA',\r\n 'Application Fee Collection',\r\n '/fee/application-fee-collection-list',\r\n '/fee/application-fee-collection',\r\n true\r\n );\r\n static readonly MC = new VoucherType(\r\n 'MC',\r\n 'Miscellaneous Fee Collection',\r\n '/fee/miscellaneous-fee-collection-list',\r\n '/fee/miscellaneous-fee-collection',\r\n true\r\n );\r\n static readonly AD = new VoucherType(\r\n 'AD',\r\n 'Advance Fee Collection',\r\n '/fee/advance-fee-collection-list',\r\n '/fee/advance-fee-collection',\r\n true\r\n );\r\n\r\n // private to disallow creating other instances of this type\r\n private constructor(\r\n readonly Type: string,\r\n public readonly Title: string,\r\n public readonly returnUrl: string,\r\n public readonly formUrl: string,\r\n public isMultiLedger: boolean = false\r\n ) {}\r\n\r\n toString() {\r\n return this.Type;\r\n }\r\n}\r\nexport const colors = [\r\n '#FFAE11',\r\n '#E8AACB',\r\n '#99CDB5',\r\n '#B0B6E1',\r\n '#B4D4FF',\r\n '#9BCCE9',\r\n];\r\n\r\n/* UserGroups */\r\nexport const UserGroupName = {\r\n 1: 'Student',\r\n 2: 'Teacher',\r\n 3: 'Parent',\r\n 4: 'Admin',\r\n 5: 'Alumni',\r\n 6: 'Management',\r\n 7: 'Faculty',\r\n} as const;\r\n\r\nexport const QpLuaLatexControls: Partial = {\r\n textFormat: {\r\n bold: '\\\\textbf{$1}',\r\n italic: '\\\\textit{$1}',\r\n underline: '\\\\underline{$1}',\r\n fontSizes: {\r\n tiny: '\\\\tiny{#1}',\r\n scriptsize: '\\\\scriptsize{#1}',\r\n small: '\\\\small{#1}',\r\n large: '\\\\large{#1}',\r\n Large: '\\\\Large{#1}',\r\n Huge: '\\\\Huge{#1}',\r\n huge: '\\\\huge{#1}',\r\n LARGE: '\\\\LARGE{#1}',\r\n normalsize: '\\\\normalsize{#1}',\r\n },\r\n },\r\n symbols: {\r\n underscore: '\\\\_',\r\n ampersand: '\\\\&',\r\n exclamation: '\\\\!',\r\n question: '\\\\?',\r\n curlyBraceLeft: '\\\\{',\r\n curlyBraceRight: '\\\\}',\r\n },\r\n alignment: {\r\n flushLeft: '\\\\begin{flushleft}#1\\\\end{flushleft}',\r\n flushRight: '\\\\begin{flushright}#1\\\\end{flushright}',\r\n center: '\\\\begin{center}#1\\\\end{center}',\r\n\r\n justify: '\\\\begin{justify}#1\\\\end{justify}',\r\n raggedLeft: '\\\\begin{raggedleft}#1\\\\end{raggedleft}',\r\n raggedRight: '\\\\begin{raggedright}#1\\\\end{raggedright}',\r\n },\r\n language: {\r\n english: '\\\\begin{english}#1\\\\end{english}',\r\n hindi: '\\\\begin{hindi}#1\\\\end{hindi}',\r\n malayalam: '\\\\begin{malayalam}#1\\\\end{malayalam}',\r\n },\r\n listType: {\r\n alphabet: ' \\\\begin{enumerate}[label=\\\\alph*)]$1\\\\end{enumerate}',\r\n number: ' \\\\begin{enumerate}$1\\\\end{enumerate}',\r\n // number: '\\\\begin{enumerate}[itemindent=1.7em]$1\\\\end{enumerate}',\r\n roman: ' \\\\begin{enumerate}[label=\\\\roman*)]$1\\\\end{enumerate}',\r\n bullet: ' \\\\begin{itemize}#1\\\\end{itemize}',\r\n upperAlphabet: ' \\\\begin{enumerate}[label=\\\\Alph*)]$1\\\\end{enumerate}',\r\n upperRoman: ' \\\\begin{enumerate}[label=\\\\Roman*)]$1\\\\end{enumerate}',\r\n item: ' \\\\item $1 ',\r\n },\r\n image: {\r\n imageStart: '\\\\includegraphics[',\r\n imageEnd: ']',\r\n width: 'width=',\r\n height: 'height=',\r\n aspectRadio: 'keepaspectratio',\r\n },\r\n table: {\r\n tableStart: '\\\\begin{tblr}{',\r\n tableEnd: '}#1\\\\end{tblr}',\r\n tableHeader: {\r\n columnCenter: '|c',\r\n columnLeft: '|l',\r\n columnRight: '|r',\r\n },\r\n },\r\n};\r\n","import {\r\n ComponentFactoryResolver,\r\n Directive,\r\n Input,\r\n TemplateRef,\r\n ViewContainerRef,\r\n} from '@angular/core';\r\nimport { ThemePalette } from '@angular/material/core';\r\nimport { MatProgressSpinner } from '@angular/material/progress-spinner';\r\n@Directive({\r\n selector: '[appSpinOn]',\r\n standalone: true,\r\n})\r\nexport class SpinnerButtonDirective {\r\n color: ThemePalette = 'accent';\r\n diameter: number = 24;\r\n isSpinning?: boolean; // unset by default, this forces it to evaluate upon first render.\r\n spinner?: MatProgressSpinner;\r\n constructor(\r\n private componentFactoryResolver: ComponentFactoryResolver,\r\n private templateRef: TemplateRef,\r\n private viewContainer: ViewContainerRef\r\n ) {}\r\n @Input()\r\n set appSpinOnColor(color: ThemePalette) {\r\n this.color = color;\r\n if (this.spinner) {\r\n this.spinner.color = color;\r\n }\r\n }\r\n @Input()\r\n set appSpinOnDiameter(diameter: number) {\r\n this.diameter = diameter;\r\n if (this.spinner) {\r\n this.spinner.diameter = diameter;\r\n }\r\n }\r\n @Input() set appSpinOn(condition: boolean) {\r\n if (!!condition !== this.isSpinning) {\r\n this.spinner = undefined;\r\n this.viewContainer.clear();\r\n this.isSpinning = condition;\r\n if (!condition) {\r\n // Render the template\r\n this.viewContainer.createEmbeddedView(this.templateRef);\r\n } else if (condition) {\r\n this.addSpinner();\r\n }\r\n }\r\n }\r\n private addSpinner() {\r\n const componentFactory =\r\n this.componentFactoryResolver.resolveComponentFactory(MatProgressSpinner);\r\n const { instance } =\r\n this.viewContainer.createComponent(componentFactory);\r\n instance.diameter = this.diameter;\r\n instance.color = this.color;\r\n instance.mode = 'indeterminate';\r\n instance._elementRef.nativeElement.classList.add('spin-on-instance');\r\n this.spinner = instance;\r\n }\r\n}\r\n","export enum EUserGroups {\r\n Student = 1,\r\n Teacher = 2,\r\n Parent = 3,\r\n Admin = 4,\r\n Alumni = 5,\r\n Management = 6,\r\n Faculty = 7,\r\n}\r\n\r\nexport const Homes: {\r\n [key: number]: string;\r\n} = {\r\n 1: '/dashboard/home',\r\n 2: '/dashboard/home',\r\n 3: '/dashboard/home',\r\n 4: '/dashboard/home',\r\n 5: '/dashboard/home',\r\n 6: '/dashboard/home',\r\n 7: '/dashboard/home ',\r\n}\r\n\r\nexport enum ModuleModuleID {\r\n 'StudentAffairs' = 1,\r\n 'Academics' = 2,\r\n 'Fees' = 3,\r\n 'Accounts' = 4,\r\n 'Payroll & Staff' = 5,\r\n 'Library' = 6,\r\n 'Adminstration' = 7,\r\n}\r\n","import { serialize } from 'object-to-formdata';\r\n\r\nexport function GetFormData(data: any) {\r\n return serialize(data, {\r\n indices: true,\r\n });\r\n}\r\n\r\nexport function startAndEndOfWeek(date?: Date): Date[] {\r\n // If no date object supplied, use current date\r\n // Copy date so don't modify supplied date\r\n var now = date ? new Date(date) : new Date();\r\n\r\n // set time to some convenient value\r\n now.setHours(0, 0, 0, 0);\r\n\r\n // Get the previous Monday\r\n var monday = new Date(now);\r\n monday.setDate(monday.getDate() - monday.getDay() + 1);\r\n\r\n // Get next Sunday\r\n var sunday = new Date(now);\r\n sunday.setDate(sunday.getDate() - sunday.getDay() + 7);\r\n\r\n // Return array of date objects\r\n return [monday, sunday];\r\n}\r\n\r\nexport function TimeoutFunc(fn: Function, interval: number) {\r\n var id = setTimeout(fn, interval);\r\n let cleared = false;\r\n const clear = function () {\r\n cleared = true;\r\n clearTimeout(id);\r\n };\r\n}\r\n\r\nexport function getTree(\r\n list: T[],\r\n parentField: K,\r\n childField: K,\r\n childrenField: K\r\n): T[] {\r\n var map: any = {},\r\n node: T,\r\n roots: T[] = [],\r\n i: number;\r\n\r\n for (i = 0; i < list.length; i += 1) {\r\n map[list[i][childField]] = i; // initialize the map\r\n (list[i][childrenField] as unknown as T[]) = []; // initialize the children\r\n }\r\n\r\n for (i = 0; i < list.length; i += 1) {\r\n node = list[i];\r\n if (node[parentField] && (node[parentField] as unknown as number) !== 0) {\r\n // if you have dangling branches check that map[node.parentId] exists\r\n list[map[node[parentField]]]\r\n ? ((list[map[node[parentField]]][childrenField] as unknown)).push(\r\n node\r\n )\r\n : null;\r\n } else {\r\n roots.push(node);\r\n }\r\n }\r\n return roots;\r\n}\r\n\r\nexport function base64ToArrayBuffer(base64: string) {\r\n var binaryString = window.atob(base64);\r\n var binaryLen = binaryString.length;\r\n var bytes = new Uint8Array(binaryLen);\r\n for (var i = 0; i < binaryLen; i++) {\r\n var ascii = binaryString.charCodeAt(i);\r\n bytes[i] = ascii;\r\n }\r\n return bytes;\r\n}\r\n\r\n// Cached Dropdown filter\r\nexport const DropdownFilter = 'dropdownFilter';\r\nexport const cachedFilter = (): {\r\n programmes: string | number;\r\n semester: string | number;\r\n paper: string | number;\r\n} | null => {\r\n const storedFilters = localStorage.getItem(DropdownFilter);\r\n return storedFilters ? JSON.parse(storedFilters) : null;\r\n};\r\n","import { Injectable } from '@angular/core';\r\nimport {\r\n ActivatedRouteSnapshot,\r\n CanActivate,\r\n Router,\r\n RouterStateSnapshot,\r\n} from '@angular/router';\r\nimport { AuthService } from '../services/auth.service';\r\nimport { CommonApiService } from '../services/common-apis.service';\r\n\r\n@Injectable({ providedIn: 'root' })\r\nexport class AuthUserGuard implements CanActivate {\r\n constructor(private router: Router, private auth: AuthService) { }\r\n\r\n canActivate(route: ActivatedRouteSnapshot, state: RouterStateSnapshot) {\r\n if (this.auth.isLoggedIn) {\r\n // check if route is restricted by role\r\n return true;\r\n }\r\n\r\n // not logged in so redirect to login page with the return url\r\n this.router.navigate(['/authentication/signin'], {});\r\n return false;\r\n }\r\n canActivateform(){\r\n\r\n if(this.auth.isLoggedform){\r\n\r\n return true;\r\n }\r\n\r\n this.router.navigate(['/authentication/signin'], {});\r\n return false;\r\n\r\n }\r\n\r\n\r\n}\r\n\r\n@Injectable({ providedIn: 'root' })\r\nexport class guardBySidebar implements CanActivate {\r\n constructor(private router: Router, private auth: CommonApiService) { }\r\n\r\n async canActivate(route: ActivatedRouteSnapshot, state: RouterStateSnapshot) {\r\n try {\r\n let permissions = await this.auth.GetPermissions(state.url.split('?')[0]);\r\n if (!permissions.ViewPermission) {\r\n this.router.navigate(['/authentication/page500'], {\r\n queryParams: { returnUrl: state.url },\r\n });\r\n return false;\r\n }\r\n return true;\r\n } catch (error) {\r\n return false;\r\n }\r\n }\r\n}\r\n\r\n\r\n\r\n/* Router Query Params Guard */\r\n@Injectable({ providedIn: 'root' })\r\nexport class QueryParamGuard implements CanActivate {\r\n constructor(private router: Router, private auth: AuthService) { }\r\n\r\n canActivate(route: ActivatedRouteSnapshot, state: RouterStateSnapshot): boolean {\r\n const redirectUrl = route.data['redirectTo'];\r\n\r\n // Check if the query parameter is present\r\n if (Object.keys(route.queryParams).length > 0) {\r\n return true; // Allow navigation to the child route\r\n } else {\r\n // Redirect to the parent route if the query parameter is not present\r\n this.router.navigate([redirectUrl]);\r\n return false;\r\n }\r\n }\r\n}","// import * as CryptoJS from 'crypto-js';\r\n\r\nconst security_key = 'dcfilyebfucveqaycd6d788e36e65ev3';\r\nexport function encrypt(data: any) {\r\n let str_data = JSON.stringify(data);\r\n str_data = btoa(str_data);\r\n return str_data;\r\n}\r\n\r\nexport function decrypt(str_data: any): Type | null {\r\n var data = '';\r\n try {\r\n data = atob(str_data);\r\n } catch (error) {\r\n ('error');\r\n localStorage.clear();\r\n window.location.reload();\r\n }\r\n\r\n return str_data ? JSON.parse(data) : null;\r\n}\r\n","import {\r\n HttpClient,\r\n HttpEvent,\r\n HttpHandler,\r\n HttpHeaders,\r\n HttpInterceptor,\r\n HttpRequest,\r\n} from '@angular/common/http';\r\nimport { Inject, Injectable } from '@angular/core';\r\nimport { Router } from '@angular/router';\r\nimport { Observable, throwError } from 'rxjs';\r\nimport { catchError } from 'rxjs/operators';\r\nimport { decrypt } from '../helpers/encrypt-decrypt';\r\n\r\n@Injectable({\r\n providedIn: 'root',\r\n})\r\nexport class ApiHttpClient extends HttpClient implements HttpInterceptor {\r\n public baseUrl: string | undefined;\r\n token: string | null = null;\r\n\r\n public constructor(\r\n handler: HttpHandler,\r\n private router: Router,\r\n @Inject('BASE_URL') base_url: string\r\n ) {\r\n super(handler);\r\n this.baseUrl = base_url;\r\n }\r\n intercept(\r\n request: HttpRequest,\r\n next: HttpHandler\r\n ): Observable> {\r\n const isStudent: string | null = decrypt(\r\n localStorage.getItem('StudentRegToken')\r\n );\r\n this.token = isStudent ?? decrypt(localStorage.getItem('currentUserToken'));\r\n\r\n request = request.clone({\r\n setHeaders: {\r\n Authorization: `Bearer ${this.token}`,\r\n },\r\n });\r\n return next.handle(request).pipe(\r\n catchError((err) => {\r\n if ([401, 403].indexOf(err.status) !== -1) {\r\n // auto logout if 401 Unauthorized or 403 Forbidden response returned from api\r\n localStorage.clear();\r\n this.router.navigateByUrl('/authentication/signin');\r\n }\r\n const error = err;\r\n return throwError(error);\r\n })\r\n );\r\n }\r\n\r\n public override get(url: string, options: any = {}): Observable {\r\n url = this.baseUrl + url;\r\n options.headers = new HttpHeaders({\r\n 'Content-Type': 'application/json',\r\n // Authorization: `Bearer ${this.token}`,\r\n });\r\n var resp = super.get(url, options);\r\n\r\n // resp.subscribe((e) => {\r\n // if (!environment.production) {\r\n // (e);\r\n // return resp;\r\n // }\r\n // });\r\n return resp;\r\n }\r\n\r\n public override post(\r\n url: string,\r\n body: any = {},\r\n options?: any\r\n ): Observable {\r\n url = this.baseUrl + url;\r\n var resp = super.post(url, body, {\r\n headers: new HttpHeaders({\r\n // Authorization: `Bearer ${this.token}`,\r\n }),\r\n observe: 'body',\r\n params: options?.params,\r\n });\r\n // resp.subscribe((e) => {\r\n // if (!environment.production) {\r\n // (e);\r\n // return resp;\r\n // }\r\n // });\r\n return resp;\r\n }\r\n}\r\n","import { Inject, Injectable } from '@angular/core';\r\nimport { Router } from '@angular/router';\r\nimport {\r\n HubConnection,\r\n HubConnectionBuilder,\r\n LogLevel,\r\n} from '@microsoft/signalr';\r\nimport { BehaviorSubject, Observable } from 'rxjs';\r\nimport { map } from 'rxjs/operators';\r\nimport {\r\n EntranceExamMaster,\r\n OnlineEnquiry,\r\n afterRegLoginDetails,\r\n tbRegisteredApplicants,\r\n} from 'src/app/student/student-form.interface';\r\nimport { isSideNavHovered, isSidenavPinned } from '../constants';\r\nimport { EUserGroups } from '../enums/UserGroups';\r\nimport { GetFormData } from '../helper-functons';\r\nimport { decrypt, encrypt } from '../helpers/encrypt-decrypt';\r\nimport {\r\n AcademicYearModel,\r\n InstitutionMasterModel,\r\n\r\n} from '../interfaces/college-model-interface';\r\nimport { UserGrp } from '../interfaces/master-model-interface';\r\nimport { sideMenuInfo } from '../interfaces/menu-interface';\r\nimport { ModulesCard } from '../interfaces/modules-card-interface';\r\nimport { NAACTxnNotifications, User } from '../interfaces/user';\r\nimport { ApiHttpClient } from './api-http-client.service';\r\n\r\n@Injectable({\r\n providedIn: 'root',\r\n})\r\nexport class AuthService {\r\n public baseUrl: string;\r\n private loggedIn = false;\r\n private dataSource = new BehaviorSubject(null);\r\n currentData = this.dataSource.asObservable();\r\n\r\n connection: HubConnection;\r\n constructor(\r\n private http: ApiHttpClient,\r\n private router: Router,\r\n\r\n @Inject('BASE_URL') base_url: string\r\n ) {\r\n this.baseUrl = base_url;\r\n\r\n this.isSideNavPinnedSubject = new BehaviorSubject(isSidenavPinned);\r\n this.isSideNavPinned = this.isSideNavPinnedSubject.asObservable();\r\n\r\n this.isSideNavHoveredSubject = new BehaviorSubject(isSideNavHovered);\r\n this.isSideNavHovered = this.isSideNavHoveredSubject.asObservable();\r\n\r\n this.currentUserSubject = new BehaviorSubject(\r\n decrypt(localStorage.getItem('currentUser'))\r\n );\r\n\r\n this.studentRegSubject = new BehaviorSubject(\r\n decrypt(localStorage.getItem('StudentRegUser'))\r\n );\r\n\r\n this.currentUser = this.currentUserSubject.asObservable();\r\n\r\n this.currentTokenSubject = new BehaviorSubject(\r\n decrypt(localStorage.getItem('currentUserToken'))\r\n );\r\n this.currentToken = this.currentTokenSubject.asObservable();\r\n\r\n this.currentInstitutionSubject = new BehaviorSubject(\r\n decrypt(\r\n localStorage.getItem('currentInstitution')\r\n )\r\n );\r\n this.currentInstitution = this.currentInstitutionSubject.asObservable();\r\n\r\n this.notificationsSubject = new BehaviorSubject([]);\r\n this.notifications = this.notificationsSubject.asObservable();\r\n\r\n this.currentGrpSubject = new BehaviorSubject(\r\n decrypt(localStorage.getItem('EUserGroups'))\r\n );\r\n this.currentGrp = this.currentGrpSubject.asObservable();\r\n\r\n this.connection = new HubConnectionBuilder()\r\n .configureLogging(LogLevel.Information)\r\n .withUrl(this.baseUrl + 'notification')\r\n .build();\r\n\r\n if (this.isLoggedIn) {\r\n this.ReadNAACTxnNotifications().then((res) => {\r\n this.notificationsSubject.next(res);\r\n });\r\n }\r\n this.connection.start().catch(function (err: any) {\r\n return console.error(err.toString());\r\n });\r\n this.connection.on(\r\n 'BroadcastNotification',\r\n (data: NAACTxnNotifications) => {\r\n if (data.ToID === this.LoginUserID) {\r\n this.notificationsSubject.next([\r\n data,\r\n ...this.notificationsSubject.value,\r\n ]);\r\n // Let's check if the browser supports notifications\r\n if (!('Notification' in window)) {\r\n alert('This browser does not support desktop notification');\r\n }\r\n\r\n // Let's check whether notification permissions have already been granted\r\n else if (Notification.permission === 'granted') {\r\n // If it's okay let's create a notification\r\n let notification = new Notification(data.Title, {\r\n body: data.Description,\r\n });\r\n }\r\n\r\n // Otherwise, we need to ask the user for permission\r\n else if (Notification.permission !== 'denied') {\r\n Notification.requestPermission().then(function (permission) {\r\n // If the user accepts, let's create a notification\r\n if (permission === 'granted') {\r\n let notification = new Notification(data.Title, {\r\n body: data.Description,\r\n });\r\n }\r\n });\r\n }\r\n }\r\n }\r\n );\r\n }\r\n public currentUserSubject: BehaviorSubject;\r\n public studentRegSubject: BehaviorSubject;\r\n public currentUser: Observable;\r\n public currentTokenSubject: BehaviorSubject;\r\n public currentToken: Observable;\r\n public currentInstitutionSubject: BehaviorSubject;\r\n public currentInstitution: Observable;\r\n public isSideNavPinnedSubject: BehaviorSubject;\r\n public isSideNavPinned: Observable;\r\n public isSideNavHoveredSubject: BehaviorSubject;\r\n public isSideNavHovered: Observable;\r\n public notificationsSubject: BehaviorSubject;\r\n public notifications: Observable;\r\n public currentGrpSubject: BehaviorSubject;\r\n public currentGrp: Observable;\r\n\r\n public get currentInstitutionValue() {\r\n return decrypt(\r\n localStorage.getItem('currentInstitution')\r\n );\r\n }\r\n\r\n GetInstitutions() {\r\n return this.http\r\n .get('InstitutionMaster/Read')\r\n .toPromise();\r\n }\r\n\r\n RegisterApplicant(\r\n tbregModel: tbRegisteredApplicants,\r\n photo?: File\r\n ): Promise {\r\n let formData = GetFormData({ model: tbregModel });\r\n\r\n return this.http\r\n .post('OnlineApplication/CreateApplicant', formData)\r\n .toPromise();\r\n }\r\n\r\n\r\n // CreateOnlineEnquiry(\r\n // obj: OnlineEnquiry,\r\n // ): Promise {\r\n // let formData = GetFormData({ model: tbregModel });\r\n\r\n // return this.http\r\n // .post('OnlineApplication/CreateApplicant', formData)\r\n // .toPromise();\r\n // }\r\n\r\n CreateOnlineEnquiry (obj: OnlineEnquiry,) {\r\n\r\n\r\n\r\n const form = GetFormData({\r\n obj: obj,\r\n\r\n });\r\n\r\n return this.http\r\n .post('OnlineApplication/CreateOnlineEnquiry', form)\r\n .toPromise();\r\n }\r\n\r\n\r\n updateData(data: any) {\r\n this.dataSource.next(data);\r\n }\r\n\r\n\r\n async loginFormApplicant( tbloginModel: any): Promise {\r\n\r\n\r\n\r\n\r\n let AfterReg: afterRegLoginDetails = await this.http\r\n .post('OnlineApplication/Login', tbloginModel)\r\n .toPromise();\r\n\r\n\r\n\r\n if (AfterReg) {\r\n localStorage.setItem('StudentRegUser', encrypt(AfterReg));\r\n localStorage.setItem('applicationID', encrypt(AfterReg.ApplicationID.toString()));\r\n localStorage.setItem('IsPersonalDetailsCompleted', encrypt(AfterReg.IsPersonalDetailsCompleted));\r\n localStorage.setItem('IsContactDetailsCompleted', encrypt(AfterReg.IsContactDetailsCompleted));\r\n localStorage.setItem('IsEducationalDetailsCompleted', encrypt(AfterReg.IsEducationalDetailsCompleted));\r\n localStorage.setItem('IsDocumentUploaded', encrypt(AfterReg.IsDocumentUploaded));\r\n localStorage.setItem('StudentRegToken', encrypt(AfterReg.Token));\r\n localStorage.setItem('TCFormat', encrypt(AfterReg.Format));\r\n\r\n this.studentRegSubject.next(AfterReg);\r\n\r\n\r\n }\r\n\r\n\r\n\r\n return AfterReg;\r\n }\r\n\r\n\r\n\r\n GetSideMenu() {\r\n return this.http\r\n .get('Login/ReadSideMenu', {\r\n params: {\r\n StaffID: this.currentGrpValue?.StaffID,\r\n GroupID: this.currentGrpValue?.GroupID,\r\n UserID: this.currentGrpValue?.UserID,\r\n ModuleID: this.currentGrpValue?.ModuleID,\r\n },\r\n })\r\n .toPromise();\r\n }\r\n\r\n\r\n\r\n\r\n // module page service\r\n GetModulePage() {\r\n return this.http\r\n .get(`Login/GetModules`, {\r\n params: {\r\n UserID: this.currentGrpValue?.UserID,\r\n GroupID: this.currentGrpValue?.GroupID,\r\n },\r\n })\r\n .toPromise();\r\n }\r\n\r\n get InstitutionID(): number {\r\n return this.currentInstitutionValue?.InstitutionID ?? 0;\r\n }\r\n\r\n public get currentUserValue(): User {\r\n return this.currentUserSubject.value!;\r\n }\r\n\r\n\r\n public get currentStudentValue(): afterRegLoginDetails {\r\n return this.studentRegSubject.value!;\r\n }\r\n\r\n public get currentGrpValue(): UserGrp {\r\n return this.currentGrpSubject.value!;\r\n }\r\n\r\n public get LoginUserID(): number {\r\n return this.currentUserValue.LoginUserID;\r\n }\r\n\r\n public get currentUserToken() {\r\n return this.currentTokenSubject.value;\r\n }\r\n\r\n public get isLoggedIn() {\r\n return this.currentTokenSubject.value != null;\r\n }\r\n\r\n\r\n public get isLoggedform() {\r\n return this.studentRegSubject.value != null;\r\n }\r\n\r\n\r\n\r\n\r\n\r\n async login(data: {}, Institution: InstitutionMasterModel) {\r\n let formData = GetFormData(data);\r\n\r\n let user: User = await this.http\r\n .post('Login/Login', formData)\r\n .toPromise();\r\n if (user) {\r\n user.AppPhoto = this.baseUrl + user?.AppPhoto;\r\n user.Photopath = this.baseUrl + user?.Photopath;\r\n\r\n if (user.LoginErrorStatusID == 0) {\r\n //Setting UserGroups\r\n const Groups: UserGrp = {\r\n GroupID: user.GroupID,\r\n name: EUserGroups[user.GroupID], //GroupName\r\n StaffID: user.StaffID,\r\n UserID: user.UserID,\r\n ModuleID: user.GroupID == 2 ? 2 : 0,\r\n BorrowerID: user.BorrowerID ?? 0,\r\n LibraryID: user.LibraryID ?? 0,\r\n BorrowerNo: user.BorrowerNo ?? '',\r\n };\r\n const loginTime = new Date().toString();\r\n localStorage.setItem('currentUserToken', encrypt(user.Token));\r\n localStorage.setItem('currentUser', encrypt(user));\r\n localStorage.setItem('currentInstitution', encrypt(Institution));\r\n localStorage.setItem('EUserGroups', encrypt(Groups));\r\n localStorage.setItem('loginTime', encrypt(loginTime));\r\n this.currentUserSubject.next(user);\r\n this.currentTokenSubject.next(user.Token);\r\n this.currentInstitutionSubject.next(Institution);\r\n this.currentGrpSubject.next(Groups);\r\n this.ReadNAACTxnNotifications().then((res) => {\r\n this.notificationsSubject.next(res);\r\n });\r\n }\r\n }\r\n return user;\r\n }\r\n //NAACTxnNotifications/Read(int LoginUserID)\r\n ReadNAACTxnNotifications() {\r\n return this.http\r\n .get('NAACNotification/Read', {\r\n params: {\r\n LoginUserID: this.currentUserValue?.LoginUserID,\r\n },\r\n })\r\n .toPromise();\r\n }\r\n\r\n //NAACTxnNotifications/UpdateReadStatus(int NotificationID,int IsDeleted)\r\n UpdateNAACTxnNotifications(NotificationID: number, IsDeleted: number) {\r\n const form = GetFormData({\r\n NotificationID,\r\n IsDeleted,\r\n });\r\n return this.http\r\n .post('NAACTxnNotifications/UpdateReadStatus', form)\r\n .toPromise();\r\n }\r\n\r\n changeAcademicYear(AcademicYear: AcademicYearModel) {\r\n return this.currentUserSubject.pipe(\r\n map((val) => {\r\n if (val) {\r\n val.AcademicYearID = AcademicYear.AcademicYearID;\r\n val.AcademicYear = AcademicYear.AcademicYear;\r\n val.AcademicFromDate = AcademicYear.FromDate;\r\n val.AcademicToDate = AcademicYear.ToDate;\r\n }\r\n localStorage.setItem('currentUser', encrypt(val));\r\n return val;\r\n })\r\n );\r\n }\r\n logout() {\r\n // this.sideMenuSubject.next(initial_permissions)\r\n this.currentUserSubject.next(null);\r\n this.currentTokenSubject.next(null);\r\n this.currentInstitutionSubject.next(null);\r\n localStorage.clear();\r\n\r\n const returnUrl = this.router.url.split('?')[0];\r\n this.router.navigate([\r\n '/authentication/signin',\r\n // { url: returnUrl, ModuleID: this.currentGrpSubject.value.ModuleID },\r\n ]);\r\n }\r\n\r\n\r\n logoutForm() {\r\n // this.sideMenuSubject.next(initial_permissions)\r\n this.currentUserSubject.next(null);\r\n this.currentTokenSubject.next(null);\r\n this.studentRegSubject.next(null);\r\n\r\n localStorage.clear();\r\n\r\n const returnUrl = this.router.url.split('?')[0];\r\n this.router.navigate([\r\n '/authentication/Registration-Login',\r\n\r\n ]);\r\n\r\n\r\n }\r\n\r\n\r\n pinSideBar() {\r\n this.isSideNavPinnedSubject.next(!this.isSideNavPinnedSubject.value);\r\n document.querySelector('.sidenav')?.classList.toggle('pinned');\r\n document.querySelector('#main')?.classList.toggle('main-pinned');\r\n }\r\n hoverSideBar(isHovered: boolean) {\r\n this.isSideNavHoveredSubject.next(isHovered);\r\n }\r\n\r\n updateModuleByModulePage(ModuleID: number) {\r\n const Groups: UserGrp = {\r\n GroupID: this.currentGrpValue.GroupID,\r\n name: EUserGroups[this.currentGrpValue.GroupID], //GroupName\r\n StaffID: this.currentGrpValue.StaffID,\r\n UserID: this.currentGrpValue.UserID,\r\n ModuleID: ModuleID,\r\n };\r\n\r\n localStorage.setItem('EUserGroups', encrypt(Groups));\r\n this.currentGrpSubject.next(Groups);\r\n return Groups;\r\n }\r\n\r\n ChangePasswordForUser(data: any) {\r\n const formdata = new FormData();\r\n formdata.set('UserID', data['UserID'] ?? this.currentUserValue.UserID);\r\n formdata.set('OldPassword', data['OldPassword'] ?? '');\r\n formdata.set('NewPassword', data['NewPassword']);\r\n formdata.set('GroupID', data['GroupID'] ?? this.currentUserValue.GroupID);\r\n return this.http.post('Users/ChangePassword', formdata).toPromise();\r\n }\r\n\r\n\r\n\r\n\r\n // ForgotPasswordForApplicant(data: any) {\r\n // const formdata = new FormData();\r\n // formdata.set('UserID', data['UserID'] ?? this.currentUserValue.UserID);\r\n // formdata.set('OldPassword', data['OldPassword'] ?? '');\r\n\r\n // return this.http.post('Users/ForgotPassword', formdata).toPromise();\r\n // }\r\n\r\n\r\n\r\n // ForgotPasswordForApplicant(\r\n // EntranceExamID: number,\r\n // UserID: string,\r\n // ): Promise {\r\n // let formData = GetFormData({ model: tbregModel });\r\n\r\n // return this.http\r\n // .post('OnlineApplication/CreateApplicant', formData)\r\n // .toPromise();\r\n // }\r\n\r\n // async ForgotPasswordForApplicant(EntranceExamID: number, UserID: string, ): Promise {\r\n // let forgotpass : any = await this.http\r\n // .post('OnlineApplication/ForgotPassword', {\r\n\r\n\r\n\r\n\r\n\r\n\r\n // })\r\n\r\n // return forgotpass;\r\n\r\n // }\r\n\r\n ReadCourse_OnlineEnquiry( InstitutionID :number, CourseCategoryID : number) {\r\n return this.http\r\n .get('OnlineApplication/ReadCourse_OnlineEnquiry', {\r\n params: {\r\n\r\n InstitutionID : InstitutionID,\r\n CourseCategoryID : CourseCategoryID,\r\n\r\n },\r\n })\r\n .toPromise();\r\n }\r\n\r\n\r\n ForgotPasswordForApplicant(\r\n EntranceExamID: number,\r\n UserID: string\r\n ) {\r\n return this.http\r\n .get('OnlineApplication/ForgotPassword', {\r\n params: {\r\n EntranceExamID: EntranceExamID,\r\n UserID:UserID\r\n },\r\n })\r\n .toPromise();\r\n }\r\n\r\n\r\n ChangePassword(\r\n ApplicationID: number,\r\n OldPassword: string,\r\n NewPassword: string,\r\n ) {\r\n return this.http\r\n .get('OnlineApplication/ChangePassword', {\r\n params: {\r\n ApplicationID: ApplicationID,\r\n OldPassword : OldPassword,\r\n NewPassword : NewPassword\r\n },\r\n })\r\n .toPromise();\r\n }\r\n\r\n ReadProspectus(InstitutionID: number) {\r\n return this.http\r\n .get('OnlineApplication/ReadProspectus', {\r\n params: {\r\n InstitutionID: InstitutionID\r\n },\r\n })\r\n .toPromise();\r\n }\r\n\r\n}\r\n\r\n","import { Inject, Injectable } from '@angular/core';\r\nimport { InstitutionMasterModel } from '@interfaces/college-model-interface';\r\nimport { Permissions } from '@interfaces/permissions.interface';\r\nimport { User } from '@interfaces/user';\r\nimport {\r\n ClassDetailForPromotion,\r\n CourseCredit,\r\n LookUpMaster,\r\n SubjectGroupMaster,\r\n TbSettings,\r\n tbCourse,\r\n tbSubjectGroupMaster,\r\n} from 'src/app/curriculum/interfaces/departments.interface';\r\nimport { tbCourseSemesterYear } from 'src/app/timetable/interfaces/teacher-timetable.interface';\r\nimport { GetFormData } from '../helper-functons';\r\nimport {\r\n NAACHeirarchyMaster,\r\n NAACLevel,\r\n} from '../interfaces/hierarchy.interface';\r\nimport { ApiHttpClient } from './api-http-client.service';\r\nimport { AuthService } from './auth.service';\r\n\r\n@Injectable({\r\n providedIn: 'root',\r\n})\r\nexport class CommonApiService {\r\n public baseUrl: string | undefined;\r\n constructor(\r\n private http: ApiHttpClient,\r\n private AuthService: AuthService,\r\n @Inject('BASE_URL') base_url: string\r\n ) {\r\n this.baseUrl = base_url;\r\n }\r\n\r\n public get StaffID(): number {\r\n return this.AuthService.currentUserValue.StaffID;\r\n }\r\n public get DeptID(): number {\r\n return this.AuthService.currentUserValue.DepartmentID;\r\n }\r\n public get AcademicID(): number {\r\n return this.AuthService.currentUserValue.AcademicYearID;\r\n }\r\n public get LoginUserID(): number {\r\n return this.AuthService.currentUserValue.LoginUserID;\r\n }\r\n public get GroupID(): number {\r\n return this.AuthService.currentUserValue.GroupID;\r\n }\r\n public get UserID(): string {\r\n return this.AuthService.currentUserValue.UserID.toString();\r\n }\r\n public get InstitutionID(): number {\r\n return this.AuthService.InstitutionID;\r\n }\r\n public get UserName(): string {\r\n return this.AuthService.currentUserValue.Name;\r\n }\r\n public get User(): User {\r\n return this.AuthService.currentUserValue;\r\n }\r\n public get Institution(): InstitutionMasterModel {\r\n return this.AuthService.currentInstitutionValue!;\r\n }\r\n\r\n LookUp(lookup: number, Institution? : number ): Promise {\r\n return this.http\r\n .get('LookupDetails/Read', {\r\n params: {\r\n InstitutionID: Institution ?? this.InstitutionID,\r\n MasterItemID: lookup,\r\n },\r\n })\r\n .toPromise();\r\n }\r\n\r\n ReadByDescription(lookup: number, Institution? : number , Description?: string): Promise {\r\n return this.http\r\n .get('LookupDetails/ReadByDescription', {\r\n params: {\r\n InstitutionID: Institution ?? this.InstitutionID,\r\n MasterItemID: lookup,\r\n Description : Description\r\n },\r\n })\r\n .toPromise();\r\n }\r\n\r\n\r\n\r\n\r\n\r\n encrypt(text: string): string {\r\n return btoa(encodeURIComponent(text));\r\n }\r\n\r\n decrypt(text: string): string {\r\n return decodeURIComponent(atob(text));\r\n }\r\n\r\n GetPermissions(MenuURL: string): Promise {\r\n return this.http\r\n .get('UserLevelPrivileages/ReadUserURLPermission', {\r\n params: {\r\n UserID: this.UserID,\r\n GroupID: this.GroupID,\r\n MenuURL: MenuURL,\r\n },\r\n })\r\n .toPromise();\r\n }\r\n\r\n GetCourseTypes(): Promise {\r\n return this.http\r\n .get('CourseType/Read', {\r\n params: {\r\n InstitutionID: this.InstitutionID,\r\n },\r\n })\r\n .toPromise();\r\n }\r\n // Course/ReadStaffPermittedCourse(int StaffID, int AcademicYearID, int? SectorID)\r\n ReadStaffPermittedCourse(StaffID?: string, AcademicYearID?: number) {\r\n return this.http\r\n .get('Course/ReadStaffPermittedCourse', {\r\n params: {\r\n StaffID: StaffID ?? this.StaffID,\r\n AcademicYearID: AcademicYearID ?? this.AcademicID,\r\n },\r\n })\r\n .toPromise();\r\n }\r\n\r\n //Read all pappers\r\n // ReadAllCourse(StaffID?:string, AcademicYearID?: number) {\r\n // return this.http\r\n // .get('Course/ReadStaffPermittedCourse', {\r\n // params: {\r\n // StaffID: StaffID?? this.AcademicID,\r\n // AcademicYearID: AcademicYearID ?? this.AcademicID,\r\n // },\r\n // })\r\n // .toPromise();\r\n // }\r\n\r\n ReadAcademicYear() {\r\n return this.http\r\n .get('AcademicYear/Read', {\r\n params: {\r\n InstitutionID: this.InstitutionID,\r\n },\r\n })\r\n .toPromise();\r\n }\r\n\r\n //OtherInstitution/Read\r\n ReadOtherInstitution() {\r\n return this.http.get('OtherInstitution/Read').toPromise();\r\n }\r\n\r\n //SemesterYear/Read(int InstitutionID)\r\n ReadSemesters() {\r\n return this.http\r\n .get('SemesterYear/Read', {\r\n params: {\r\n InstitutionID: this.InstitutionID,\r\n },\r\n })\r\n .toPromise();\r\n }\r\n //SemesterYear/ReadByCourseID\r\n ReadSemestersByCourseID(CourseID: number | '%') {\r\n return this.http\r\n .get('SemesterYear/ReadByCourseID', {\r\n params: {\r\n InstitutionID: this.InstitutionID,\r\n AcademicYearID: this.AcademicID,\r\n CourseID,\r\n },\r\n })\r\n .toPromise();\r\n }\r\n // CourseSemesterYear/ReadStaffRightClasses(int StaffID, int AcademicYearID, int? CourseID)\r\n ReadStaffRightClasses(CourseID?: number) {\r\n return this.http\r\n .get('CourseSemesterYear/ReadStaffRightClasses', {\r\n params: {\r\n StaffID: this.StaffID,\r\n AcademicYearID: this.AcademicID,\r\n CourseID: CourseID,\r\n },\r\n })\r\n .toPromise();\r\n }\r\n\r\n\r\n ReadByRegisterNo(\r\n RegisterNo: string\r\n ) {\r\n return this.http\r\n .get('StudentMaster/ReadByRegisterNo', {\r\n params: {\r\n RegisterNo: RegisterNo,\r\n },\r\n })\r\n .toPromise();\r\n }\r\n\r\n\r\n ReadClassReps(\r\n CourseID: number,\r\n SemesterYearID: number,\r\n RunningStatusID: number\r\n ) {\r\n return this.http\r\n .get('StudentMaster/ReadByCourseID', {\r\n params: {\r\n CourseID: CourseID,\r\n SemesterYearID: SemesterYearID,\r\n AcademicYearID: this.AcademicID,\r\n RunningStatusID: RunningStatusID,\r\n },\r\n })\r\n .toPromise();\r\n }\r\n\r\n GetCourseSemesterYear(\r\n CourseID: number | string,\r\n SemesterYearID: number | string,\r\n AcademicYearID?: number\r\n ): Promise {\r\n return this.http\r\n .get('CourseSemesterYear/Read', {\r\n params: {\r\n CourseID: CourseID,\r\n AcademicYearID: AcademicYearID ?? this.AcademicID,\r\n SemesterYearID: SemesterYearID,\r\n },\r\n })\r\n .toPromise();\r\n }\r\n\r\n\r\n\r\n\r\n GetClassesbyDepartments(StaffID: number, DepartmentID: number , AcademicYearID :number) {\r\n return this.http\r\n .get('CourseSemesterYear/ReadStaffbyDepartment', {\r\n params: {\r\n StaffID,\r\n DepartmentID : DepartmentID,\r\n AcademicYearID: AcademicYearID,\r\n InstitutionID: this.InstitutionID,\r\n },\r\n })\r\n .toPromise();\r\n }\r\n\r\n\r\n\r\n\r\n\r\n //FeeReceiptMaster/Read(int InstitutionID)\r\n ReadFeeReceiptMaster() {\r\n return this.http\r\n .get('FeeReceiptMaster/Read', {\r\n params: {\r\n InstitutionID: this.InstitutionID,\r\n },\r\n })\r\n .toPromise();\r\n }\r\n\r\n //NAACHeirarchyMaster/Create([FromForm] IList naacLevels, NAACHeirarchyMaster naacHeirarchyMaster)\r\n CreateNAACHeirarchyMaster(\r\n naacLevels: NAACLevel[],\r\n naacHeirarchyMaster: NAACHeirarchyMaster\r\n ) {\r\n const form = GetFormData({\r\n naacLevels: naacLevels,\r\n naacHeirarchyMaster: naacHeirarchyMaster,\r\n });\r\n return this.http.post('NAACHeirarchyMaster/Create', form).toPromise();\r\n }\r\n //NAACHeirarchyMaster/Read(int HeirarchyMasterID)\r\n ReadNAACHeirarchyMaster(HeirarchyMasterID: number) {\r\n return this.http\r\n .get('NAACHeirarchyMaster/Read', {\r\n params: {\r\n HeirarchyMasterID: HeirarchyMasterID,\r\n },\r\n })\r\n .toPromise();\r\n }\r\n\r\n //Course/ReadByCategoryID(int HeirarchyMasterID)\r\n ReadCourseByCategoryID(CategoryID: number | '%', DepartmentID: number | '%') {\r\n return this.http\r\n .get('Course/ReadByCategoryID', {\r\n params: {\r\n InstitutionID: this.InstitutionID,\r\n AcademicYearID: this.AcademicID,\r\n DepartmentID,\r\n CategoryID,\r\n },\r\n })\r\n .toPromise();\r\n }\r\n // ReadByDepartmentIDForDrillDown\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n ReadByDepartmentIDForDrillDown(\r\n SemesterYearID: string,\r\n CourseCategoryID: number,\r\n DepartmentID: number\r\n ) {\r\n return this.http\r\n .get('Paper/ReadByDepartmentIDForDrillDown', {\r\n params: {\r\n AcademicYearID: this.AcademicID,\r\n SemesterYearID: SemesterYearID,\r\n CourseCategoryID: CourseCategoryID,\r\n // InstitutionID: this.InstitutionID,\r\n DepartmentID: DepartmentID,\r\n LoginUserID: this.LoginUserID,\r\n },\r\n })\r\n .toPromise();\r\n }\r\n //StaffMaster/ReadByDepartmentID\r\n ReadByDepartmentIDfac(DepartmentID: number) {\r\n return this.http\r\n .get('StaffMaster/ReadByDepartmentID', {\r\n params: {\r\n AcademicYearID: this.AcademicID,\r\n InstitutionID: this.InstitutionID,\r\n DepartmentID: DepartmentID,\r\n LoginUserID: this.LoginUserID,\r\n },\r\n })\r\n .toPromise();\r\n }\r\n\r\n\r\n\r\n ReadCourse(CourseCategoryID :any){\r\n\r\n return this.http\r\n .get('Course/Read', {\r\n params: {\r\n CourseCategoryID :CourseCategoryID,\r\n InstitutionID: this.InstitutionID,\r\n },\r\n })\r\n .toPromise();\r\n\r\n }\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n //ExportToPDF\r\n ExportToPDF(data: string, tempPath: string) {\r\n const form = GetFormData({\r\n data: data,\r\n tempPath: tempPath,\r\n });\r\n return this.http.post('Reports/ExportToPDF', form).toPromise();\r\n }\r\n\r\n // pdf to docx\r\n PDF2DOCX(file: any) {\r\n const form = GetFormData({\r\n File: file,\r\n });\r\n return fetch(\r\n 'https://v2.convertapi.com/convert/pdf/to/docx?Secret=x3uTSh8SG4AnkQps',\r\n {\r\n method: 'POST',\r\n body: form,\r\n }\r\n );\r\n }\r\n\r\n ReadCourseCredit(CourseID: string, AcademicPathwayID: string, SyllabusPatternID: number) {\r\n return this.http\r\n .get('Course/ReadCourseCredit', {\r\n params: {\r\n CourseID: CourseID,\r\n AcademicPathwayID: AcademicPathwayID,\r\n SyllabusPatternID: SyllabusPatternID\r\n },\r\n })\r\n .toPromise();\r\n }\r\n\r\n ReadSubjectGroupMaster(SyllabusPatternID: number) {\r\n return this.http\r\n .get('Course/ReadSubjectGroupMaster', {\r\n params: {\r\n SyllabusPatternID: SyllabusPatternID,\r\n InstitutionID: this.InstitutionID\r\n },\r\n })\r\n .toPromise();\r\n }\r\n\r\n DeleteCourseCreditDetails(CourseCreditDetailID: number,AcademicPathwayID: number,CourseTypeID: number,CourseID: number) {\r\n return this.http\r\n .get('Course/DeleteCourseCreditDetails', {\r\n params: {\r\n CourseCreditDetailID: CourseCreditDetailID,\r\n AcademicPathwayID: AcademicPathwayID,\r\n CourseTypeID: CourseTypeID,\r\n CourseID: CourseID\r\n },\r\n })\r\n .toPromise();\r\n }\r\n\r\n CreateCourseCredit(obj: CourseCredit):\r\n Promise {\r\n const formData = GetFormData({\r\n obj,\r\n });\r\n\r\n return this.http.post('Course/CreateCourseCredit', formData)\r\n .toPromise();\r\n}\r\n\r\nReadSettingbyInstitutionIDForVoucher() {\r\n return this.http\r\n .get('InstitutionMaster/ReadSettingbyInstitutionID', {\r\n params: {\r\n InstitutionID: this.InstitutionID,\r\n },\r\n })\r\n .toPromise();\r\n}\r\n\r\n}\r\n","// This file can be replaced during build by using the `fileReplacements` array.\r\n// `ng build` replaces `environment.ts` with `environment.prod.ts`.\r\n// The list of file replacements can be found in `angular.json`.\r\n\r\nexport const environment = {\r\n production: false,\r\n hmr: false,\r\n UNSPLASH_API_KEY: 'R9OEuZZCto8h3VmkxmxtYN_ghcGLcSDbvugQenLNvHE',\r\n};\r\n\r\n/*\r\n * For easier debugging in development mode, you can import the following file\r\n * to ignore zone related error stack frames such as `zone.run`, `zoneDelegate.invokeTask`.\r\n *\r\n * This import should be commented out in production mode because it will have a negative impact\r\n * on performance if an error is thrown.\r\n */\r\n// import 'zone.js/plugins/zone-error'; // Included with Angular CLI.\r\n","import { NgModuleRef, ApplicationRef } from '@angular/core';\r\nimport { createNewHosts } from '@angularclass/hmr';\r\n\r\nexport const hmrBootstrap = (module: any, bootstrap: () => Promise>) => {\r\n let ngModule: NgModuleRef;\r\n\r\n\r\n module.hot.accept();\r\n bootstrap().then(mod =>\r\n ngModule = mod\r\n );\r\n module.hot.dispose(() => {\r\n const appRef: ApplicationRef = ngModule.injector.get(ApplicationRef);\r\n const elements = appRef.components.map(c => c.location.nativeElement);\r\n const makeVisible = createNewHosts(elements);\r\n ngModule.destroy();\r\n makeVisible();\r\n });\r\n};","import { enableProdMode } from '@angular/core';\r\nimport { platformBrowserDynamic } from '@angular/platform-browser-dynamic';\r\nimport { AppModule } from './app/app.module';\r\nimport { environment } from './environments/environment';\r\nimport { hmrBootstrap } from './hmr';\r\n\r\nif (environment.production) {\r\n enableProdMode();\r\n}\r\n\r\nconst bootstrap = () => platformBrowserDynamic().bootstrapModule(AppModule);\r\nif (environment.hmr) {\r\n\r\n if (module['hot']) {\r\n hmrBootstrap(module, bootstrap);\r\n } else {\r\n console.error('HMR is not enabled for webpack-dev-server!');\r\n console.error('Are you using the --hmr flag for ng serve?');\r\n }\r\n} else {\r\n bootstrap().catch(err => (err));\r\n}","var map = {\n\t\"./af\": 58685,\n\t\"./af.js\": 58685,\n\t\"./ar\": 254,\n\t\"./ar-dz\": 4312,\n\t\"./ar-dz.js\": 4312,\n\t\"./ar-kw\": 32614,\n\t\"./ar-kw.js\": 32614,\n\t\"./ar-ly\": 18630,\n\t\"./ar-ly.js\": 18630,\n\t\"./ar-ma\": 28674,\n\t\"./ar-ma.js\": 28674,\n\t\"./ar-sa\": 49032,\n\t\"./ar-sa.js\": 49032,\n\t\"./ar-tn\": 24730,\n\t\"./ar-tn.js\": 24730,\n\t\"./ar.js\": 254,\n\t\"./az\": 53052,\n\t\"./az.js\": 53052,\n\t\"./be\": 60150,\n\t\"./be.js\": 60150,\n\t\"./bg\": 63069,\n\t\"./bg.js\": 63069,\n\t\"./bm\": 13466,\n\t\"./bm.js\": 13466,\n\t\"./bn\": 18516,\n\t\"./bn-bd\": 90557,\n\t\"./bn-bd.js\": 90557,\n\t\"./bn.js\": 18516,\n\t\"./bo\": 26273,\n\t\"./bo.js\": 26273,\n\t\"./br\": 9588,\n\t\"./br.js\": 9588,\n\t\"./bs\": 19815,\n\t\"./bs.js\": 19815,\n\t\"./ca\": 83331,\n\t\"./ca.js\": 83331,\n\t\"./cs\": 21320,\n\t\"./cs.js\": 21320,\n\t\"./cv\": 72219,\n\t\"./cv.js\": 72219,\n\t\"./cy\": 68266,\n\t\"./cy.js\": 68266,\n\t\"./da\": 66427,\n\t\"./da.js\": 66427,\n\t\"./de\": 67435,\n\t\"./de-at\": 52871,\n\t\"./de-at.js\": 52871,\n\t\"./de-ch\": 12994,\n\t\"./de-ch.js\": 12994,\n\t\"./de.js\": 67435,\n\t\"./dv\": 82357,\n\t\"./dv.js\": 82357,\n\t\"./el\": 95649,\n\t\"./el.js\": 95649,\n\t\"./en-au\": 59961,\n\t\"./en-au.js\": 59961,\n\t\"./en-ca\": 19878,\n\t\"./en-ca.js\": 19878,\n\t\"./en-gb\": 3924,\n\t\"./en-gb.js\": 3924,\n\t\"./en-ie\": 70864,\n\t\"./en-ie.js\": 70864,\n\t\"./en-il\": 91579,\n\t\"./en-il.js\": 91579,\n\t\"./en-in\": 30940,\n\t\"./en-in.js\": 30940,\n\t\"./en-nz\": 16181,\n\t\"./en-nz.js\": 16181,\n\t\"./en-sg\": 44301,\n\t\"./en-sg.js\": 44301,\n\t\"./eo\": 85291,\n\t\"./eo.js\": 85291,\n\t\"./es\": 54529,\n\t\"./es-do\": 53764,\n\t\"./es-do.js\": 53764,\n\t\"./es-mx\": 12584,\n\t\"./es-mx.js\": 12584,\n\t\"./es-us\": 63425,\n\t\"./es-us.js\": 63425,\n\t\"./es.js\": 54529,\n\t\"./et\": 35203,\n\t\"./et.js\": 35203,\n\t\"./eu\": 70678,\n\t\"./eu.js\": 70678,\n\t\"./fa\": 83483,\n\t\"./fa.js\": 83483,\n\t\"./fi\": 96262,\n\t\"./fi.js\": 96262,\n\t\"./fil\": 52521,\n\t\"./fil.js\": 52521,\n\t\"./fo\": 34555,\n\t\"./fo.js\": 34555,\n\t\"./fr\": 63131,\n\t\"./fr-ca\": 88239,\n\t\"./fr-ca.js\": 88239,\n\t\"./fr-ch\": 21702,\n\t\"./fr-ch.js\": 21702,\n\t\"./fr.js\": 63131,\n\t\"./fy\": 267,\n\t\"./fy.js\": 267,\n\t\"./ga\": 23821,\n\t\"./ga.js\": 23821,\n\t\"./gd\": 71753,\n\t\"./gd.js\": 71753,\n\t\"./gl\": 4074,\n\t\"./gl.js\": 4074,\n\t\"./gom-deva\": 92762,\n\t\"./gom-deva.js\": 92762,\n\t\"./gom-latn\": 5969,\n\t\"./gom-latn.js\": 5969,\n\t\"./gu\": 82809,\n\t\"./gu.js\": 82809,\n\t\"./he\": 45402,\n\t\"./he.js\": 45402,\n\t\"./hi\": 315,\n\t\"./hi.js\": 315,\n\t\"./hr\": 10410,\n\t\"./hr.js\": 10410,\n\t\"./hu\": 38288,\n\t\"./hu.js\": 38288,\n\t\"./hy-am\": 67928,\n\t\"./hy-am.js\": 67928,\n\t\"./id\": 71334,\n\t\"./id.js\": 71334,\n\t\"./is\": 86959,\n\t\"./is.js\": 86959,\n\t\"./it\": 34864,\n\t\"./it-ch\": 51124,\n\t\"./it-ch.js\": 51124,\n\t\"./it.js\": 34864,\n\t\"./ja\": 36141,\n\t\"./ja.js\": 36141,\n\t\"./jv\": 29187,\n\t\"./jv.js\": 29187,\n\t\"./ka\": 42136,\n\t\"./ka.js\": 42136,\n\t\"./kk\": 94332,\n\t\"./kk.js\": 94332,\n\t\"./km\": 18607,\n\t\"./km.js\": 18607,\n\t\"./kn\": 84305,\n\t\"./kn.js\": 84305,\n\t\"./ko\": 70234,\n\t\"./ko.js\": 70234,\n\t\"./ku\": 16003,\n\t\"./ku.js\": 16003,\n\t\"./ky\": 75061,\n\t\"./ky.js\": 75061,\n\t\"./lb\": 32786,\n\t\"./lb.js\": 32786,\n\t\"./lo\": 66183,\n\t\"./lo.js\": 66183,\n\t\"./lt\": 50029,\n\t\"./lt.js\": 50029,\n\t\"./lv\": 24169,\n\t\"./lv.js\": 24169,\n\t\"./me\": 68577,\n\t\"./me.js\": 68577,\n\t\"./mi\": 68177,\n\t\"./mi.js\": 68177,\n\t\"./mk\": 50337,\n\t\"./mk.js\": 50337,\n\t\"./ml\": 65260,\n\t\"./ml.js\": 65260,\n\t\"./mn\": 52325,\n\t\"./mn.js\": 52325,\n\t\"./mr\": 14695,\n\t\"./mr.js\": 14695,\n\t\"./ms\": 75334,\n\t\"./ms-my\": 37151,\n\t\"./ms-my.js\": 37151,\n\t\"./ms.js\": 75334,\n\t\"./mt\": 63570,\n\t\"./mt.js\": 63570,\n\t\"./my\": 97963,\n\t\"./my.js\": 97963,\n\t\"./nb\": 88028,\n\t\"./nb.js\": 88028,\n\t\"./ne\": 86638,\n\t\"./ne.js\": 86638,\n\t\"./nl\": 50302,\n\t\"./nl-be\": 66782,\n\t\"./nl-be.js\": 66782,\n\t\"./nl.js\": 50302,\n\t\"./nn\": 33501,\n\t\"./nn.js\": 33501,\n\t\"./oc-lnc\": 50563,\n\t\"./oc-lnc.js\": 50563,\n\t\"./pa-in\": 50869,\n\t\"./pa-in.js\": 50869,\n\t\"./pl\": 65302,\n\t\"./pl.js\": 65302,\n\t\"./pt\": 49687,\n\t\"./pt-br\": 74884,\n\t\"./pt-br.js\": 74884,\n\t\"./pt.js\": 49687,\n\t\"./ro\": 79107,\n\t\"./ro.js\": 79107,\n\t\"./ru\": 33627,\n\t\"./ru.js\": 33627,\n\t\"./sd\": 30355,\n\t\"./sd.js\": 30355,\n\t\"./se\": 83427,\n\t\"./se.js\": 83427,\n\t\"./si\": 11848,\n\t\"./si.js\": 11848,\n\t\"./sk\": 54590,\n\t\"./sk.js\": 54590,\n\t\"./sl\": 20184,\n\t\"./sl.js\": 20184,\n\t\"./sq\": 56361,\n\t\"./sq.js\": 56361,\n\t\"./sr\": 78965,\n\t\"./sr-cyrl\": 81287,\n\t\"./sr-cyrl.js\": 81287,\n\t\"./sr.js\": 78965,\n\t\"./ss\": 25456,\n\t\"./ss.js\": 25456,\n\t\"./sv\": 70451,\n\t\"./sv.js\": 70451,\n\t\"./sw\": 77558,\n\t\"./sw.js\": 77558,\n\t\"./ta\": 51356,\n\t\"./ta.js\": 51356,\n\t\"./te\": 73693,\n\t\"./te.js\": 73693,\n\t\"./tet\": 21243,\n\t\"./tet.js\": 21243,\n\t\"./tg\": 42500,\n\t\"./tg.js\": 42500,\n\t\"./th\": 55768,\n\t\"./th.js\": 55768,\n\t\"./tk\": 77761,\n\t\"./tk.js\": 77761,\n\t\"./tl-ph\": 35780,\n\t\"./tl-ph.js\": 35780,\n\t\"./tlh\": 29590,\n\t\"./tlh.js\": 29590,\n\t\"./tr\": 33807,\n\t\"./tr.js\": 33807,\n\t\"./tzl\": 93857,\n\t\"./tzl.js\": 93857,\n\t\"./tzm\": 60654,\n\t\"./tzm-latn\": 8806,\n\t\"./tzm-latn.js\": 8806,\n\t\"./tzm.js\": 60654,\n\t\"./ug-cn\": 30845,\n\t\"./ug-cn.js\": 30845,\n\t\"./uk\": 19232,\n\t\"./uk.js\": 19232,\n\t\"./ur\": 47052,\n\t\"./ur.js\": 47052,\n\t\"./uz\": 77967,\n\t\"./uz-latn\": 32233,\n\t\"./uz-latn.js\": 32233,\n\t\"./uz.js\": 77967,\n\t\"./vi\": 98615,\n\t\"./vi.js\": 98615,\n\t\"./x-pseudo\": 12320,\n\t\"./x-pseudo.js\": 12320,\n\t\"./yo\": 31313,\n\t\"./yo.js\": 31313,\n\t\"./zh-cn\": 64490,\n\t\"./zh-cn.js\": 64490,\n\t\"./zh-hk\": 55910,\n\t\"./zh-hk.js\": 55910,\n\t\"./zh-mo\": 98262,\n\t\"./zh-mo.js\": 98262,\n\t\"./zh-tw\": 44223,\n\t\"./zh-tw.js\": 44223\n};\n\n\nfunction webpackContext(req) {\n\tvar id = webpackContextResolve(req);\n\treturn __webpack_require__(id);\n}\nfunction webpackContextResolve(req) {\n\tif(!__webpack_require__.o(map, req)) {\n\t\tvar e = new Error(\"Cannot find module '\" + req + \"'\");\n\t\te.code = 'MODULE_NOT_FOUND';\n\t\tthrow e;\n\t}\n\treturn map[req];\n}\nwebpackContext.keys = function webpackContextKeys() {\n\treturn Object.keys(map);\n};\nwebpackContext.resolve = webpackContextResolve;\nmodule.exports = webpackContext;\nwebpackContext.id = 46700;"],"names":["UntypedFormControl","Validators","SnackBarType","i0","ChangeAcademicDialogueComponent","constructor","dialogRef","CommonAPI","Auth","_snackBar","router","required","ngOnInit","academicYears","ReadAcademicYear","formControl","setValue","findIndex","e","AcademicYearID","currentUserValue","changeAcademicYear","isLoading","c","valid","FromDate","AcademicFromDate","ToDate","AcademicToDate","value","subscribe","showNotification","SUCCESS","close","selectedAcademicYear","additionalData","previousUrl","url","split","navigateByUrl","skipLocationChange","then","ERROR","error","onNoClick","selectors","decls","vars","consts","template","ctx","moment","from","of","zip","groupBy","mergeMap","toArray","TransactionRoutes","TransactionType","ctx_r0","$event","ctx_r2","NotifPanelComponent","loadNotif","notifications","impNotifications","filter","Priority","groupedNotif","pipe","notif","p","group","key","push","date","fromNow","clickNotif","console","log","markAsRead","navigate","queryParams","MasterID","closeOverlay","document","getElementById","classList","toggle","getImpBadge","ReadStatus","length","getBadge","loadDefaultImage","event","target","src","UpdateNAACTxnNotifications","NotificationID","deleteNotif","subitem_r4","item_r1","SidenavbarComponent","window","ngAfterViewInit","currentGrpSubject","grp","sidebarItems","GetSideMenu","forEach","MenuIconURL","GroupName","click","index","parents","querySelectorAll","sideNav","querySelector","getAttribute","contains","child","setAttribute","hoverOnSide","i","checkIfInViewport","hElement","bounding","getBoundingClientRect","top","left","right","innerWidth","documentElement","clientWidth","bottom","innerHeight","clientHeight","appRoot","stopPropagation","rect","originX","width","originY","height","enterTimeout","undefined","clearTimeout","createElement","add","style","zIndex","SubMenus","sub","a","isActive","MenuURL","paths","fragment","matrixParams","backgroundColor","color","borderLeft","onmouseover","onmouseleave","addEventListener","remove","textContent","PrivilegeName","appendChild","nextTimeout","parentElement","setTimeout","leaveOnSide","checkActive","some","handleClick","currentModuleID","ModuleID","endsWith","location","reload","ActivatedRouteSnapshot","Router","RouterStateSnapshot","AuthUserGuard","auth","canActivate","route","state","isLoggedIn","canActivateform","isLoggedform","factory","providedIn","guardBySidebar","permissions","GetPermissions","ViewPermission","returnUrl","QueryParamGuard","redirectUrl","data","Object","keys","HubConnectionBuilder","LogLevel","BehaviorSubject","map","OnlineEnquiry","afterRegLoginDetails","tbRegisteredApplicants","isSideNavHovered","isSidenavPinned","EUserGroups","GetFormData","decrypt","encrypt","AuthService","http","base_url","dataSource","asObservable","baseUrl","isSideNavPinnedSubject","isSideNavPinned","isSideNavHoveredSubject","currentUserSubject","localStorage","getItem","studentRegSubject","currentUser","currentTokenSubject","currentToken","currentInstitutionSubject","currentInstitution","notificationsSubject","currentGrp","connection","configureLogging","Information","withUrl","build","ReadNAACTxnNotifications","res","next","start","catch","err","toString","on","ToID","LoginUserID","alert","Notification","permission","notification","Title","body","Description","requestPermission","currentInstitutionValue","GetInstitutions","get","toPromise","RegisterApplicant","tbregModel","photo","formData","model","post","CreateOnlineEnquiry","obj","form","updateData","loginFormApplicant","tbloginModel","AfterReg","setItem","ApplicationID","IsPersonalDetailsCompleted","IsContactDetailsCompleted","IsEducationalDetailsCompleted","IsDocumentUploaded","Token","Format","params","StaffID","currentGrpValue","GroupID","UserID","GetModulePage","InstitutionID","currentStudentValue","currentUserToken","login","Institution","user","AppPhoto","Photopath","LoginErrorStatusID","Groups","name","BorrowerID","LibraryID","BorrowerNo","loginTime","Date","IsDeleted","AcademicYear","val","logout","clear","logoutForm","pinSideBar","hoverSideBar","isHovered","updateModuleByModulePage","ChangePasswordForUser","formdata","FormData","set","ReadCourse_OnlineEnquiry","CourseCategoryID","ForgotPasswordForApplicant","EntranceExamID","ChangePassword","OldPassword","NewPassword","ReadProspectus"],"sourceRoot":"webpack:///","x_google_ignoreList":[27]}