{"version":3,"sources":["webpack:///./$_lazy_route_resource lazy namespace object","webpack:///./src/app/app-routing.module.ts","webpack:///./src/app/app.component.html","webpack:///./src/app/app.component.ts","webpack:///./src/app/app.module.ts","webpack:///./src/app/confirmation/confirmation.component.html","webpack:///./src/app/confirmation/confirmation.component.ts","webpack:///./src/app/countrymap/countrymap.component.html","webpack:///./src/app/countrymap/countrymap.component.ts","webpack:///./src/app/default/default.component.html","webpack:///./src/app/default/default.component.ts","webpack:///./src/app/disclaimer/disclaimercontent/disclaimercontent.component.html","webpack:///./src/app/disclaimer/disclaimercontent/disclaimercontent.component.ts","webpack:///./src/app/disclaimer/disclaimercontentoversees/disclaimercontentoversees.component.html","webpack:///./src/app/disclaimer/disclaimercontentoversees/disclaimercontentoversees.component.ts","webpack:///./src/app/disclaimer/disclaimerpage/disclaimerpage.component.html","webpack:///./src/app/disclaimer/disclaimerpage/disclaimerpage.component.ts","webpack:///./src/app/disclaimer/disclaimerprint/disclaimerprint.component.html","webpack:///./src/app/disclaimer/disclaimerprint/disclaimerprint.component.ts","webpack:///./src/app/errorpage/errorpage.component.html","webpack:///./src/app/errorpage/errorpage.component.ts","webpack:///./src/app/guards/auth-guard.service.ts","webpack:///./src/app/layouts/mainlayout/mainlayout.component.html","webpack:///./src/app/layouts/mainlayout/mainlayout.component.ts","webpack:///./src/app/modules/modules.component.html","webpack:///./src/app/modules/modules.component.ts","webpack:///./src/app/navigations/bcrumbsnav/bcrumbsnav.component.html","webpack:///./src/app/navigations/bcrumbsnav/bcrumbsnav.component.ts","webpack:///./src/app/navigations/sidenavigation/sidenavigation.component.html","webpack:///./src/app/navigations/sidenavigation/sidenavigation.component.ts","webpack:///./src/app/navigations/topnavigation/topnavigation.component.html","webpack:///./src/app/navigations/topnavigation/topnavigation.component.ts","webpack:///./src/app/personalinfo/personalinfo.component.html","webpack:///./src/app/personalinfo/personalinfo.component.ts","webpack:///./src/app/programme/programme.component.html","webpack:///./src/app/programme/programme.component.ts","webpack:///./src/app/reportview/reportview.component.html","webpack:///./src/app/reportview/reportview.component.ts","webpack:///./src/app/services/data.service.ts","webpack:///./src/app/services/domain.service.ts","webpack:///./src/app/services/enums.service.ts","webpack:///./src/app/services/globals.service.ts","webpack:///./src/app/services/quotations.service.ts","webpack:///./src/environments/environment.ts","webpack:///./src/main.ts"],"names":[],"mappings":"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","file":"main.js","sourcesContent":["function webpackEmptyAsyncContext(req) {\n\t// Here Promise.resolve().then() is used instead of new Promise() to prevent\n\t// uncaught exception popping up in devtools\n\treturn Promise.resolve().then(function() {\n\t\tvar e = new Error(\"Cannot find module '\" + req + \"'\");\n\t\te.code = 'MODULE_NOT_FOUND';\n\t\tthrow e;\n\t});\n}\nwebpackEmptyAsyncContext.keys = function() { return []; };\nwebpackEmptyAsyncContext.resolve = webpackEmptyAsyncContext;\nmodule.exports = webpackEmptyAsyncContext;\nwebpackEmptyAsyncContext.id = \"./$$_lazy_route_resource lazy recursive\";","import { NgModule } from '@angular/core';\r\nimport { Routes, RouterModule } from '@angular/router';\r\nimport { DefaultComponent } from './default/default.component';\r\nimport { MainlayoutComponent } from './layouts/mainlayout/mainlayout.component';\r\nimport { ReportviewComponent } from './reportview/reportview.component';\r\nimport { DisclaimerpageComponent } from './disclaimer/disclaimerpage/disclaimerpage.component';\r\nimport { ProgrammeComponent } from './programme/programme.component';\r\nimport { ConfirmationComponent } from './confirmation/confirmation.component';\r\nimport { ModulesComponent } from './modules/modules.component';\r\nimport { PersonalinfoComponent } from './personalinfo/personalinfo.component';\r\nimport { DisclaimerprintComponent } from './disclaimer/disclaimerprint/disclaimerprint.component';\r\nimport { AuthGuardService } from './guards/auth-guard.service';\r\nimport { ErrorpageComponent } from './errorpage/errorpage.component';\r\n\r\nconst routes: Routes = [\r\n \r\n {\r\n path: '', redirectTo: 'default', pathMatch: 'full'\r\n },\r\n {\r\n path: 'default', component: MainlayoutComponent,\r\n children: [\r\n { path: '', component: DefaultComponent, outlet: 'main'},\r\n { path: 'disclaimer', component: DisclaimerpageComponent, outlet: 'main', canActivate: [AuthGuardService]},\r\n { path: 'disclaimerprint', component: DisclaimerprintComponent, outlet: 'main', canActivate: [AuthGuardService]},\r\n { path: 'programme', component: ProgrammeComponent, outlet: 'main', canActivate: [AuthGuardService]},\r\n { path: 'modules', component: ModulesComponent, outlet: 'main', canActivate: [AuthGuardService]},\r\n { path: 'summary', component: ConfirmationComponent, outlet: 'main', canActivate: [AuthGuardService]},\r\n { path: 'personalinfo', component: PersonalinfoComponent, outlet: 'main', canActivate: [AuthGuardService]},\r\n { path: 'report', component: ReportviewComponent, outlet: 'main', canActivate: [AuthGuardService]},\r\n { path: 'errorpage', component: ErrorpageComponent, outlet: 'main'}\r\n ]\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\n\r\n@Component({\r\n selector: 'app-root',\r\n templateUrl: './app.component.html',\r\n styleUrls: ['./app.component.less']\r\n})\r\nexport class AppComponent {\r\n title = 'Quotations';\r\n}\r\n","import { BrowserModule } from '@angular/platform-browser';\r\nimport { NgModule, CUSTOM_ELEMENTS_SCHEMA, APP_INITIALIZER } from '@angular/core';\r\nimport { FlexLayoutModule } from '@angular/flex-layout';\r\nimport { MatToolbarModule, MatButtonModule, MatIconModule, MatDialogModule, MatSelectModule, MatInputModule, MatCheckboxModule, MatExpansionModule, MatTableModule, MatRadioModule, MatTooltipModule, MatSidenavModule } from '@angular/material';\r\n\r\nimport { SnotifyModule, SnotifyService, ToastDefaults } from 'ng-snotify';\r\n\r\nimport { AngularFontAwesomeModule } from 'angular-font-awesome';\r\nimport { AppRoutingModule } from './app-routing.module';\r\nimport { AppComponent } from './app.component';\r\nimport { MainlayoutComponent } from './layouts/mainlayout/mainlayout.component';\r\nimport { BrowserAnimationsModule } from '@angular/platform-browser/animations';\r\nimport { DefaultComponent } from './default/default.component';\r\nimport { CountrymapComponent } from './countrymap/countrymap.component';\r\nimport { ReportviewComponent } from './reportview/reportview.component';\r\nimport { HttpClientModule, HttpClient } from '@angular/common/http';\r\nimport { ProgrammeComponent } from './programme/programme.component';\r\nimport { ModulesComponent } from './modules/modules.component';\r\nimport { ConfirmationComponent } from './confirmation/confirmation.component';\r\nimport { PersonalinfoComponent } from './personalinfo/personalinfo.component';\r\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\r\nimport { SidenavigationComponent } from './navigations/sidenavigation/sidenavigation.component';\r\nimport { TopnavigationComponent } from './navigations/topnavigation/topnavigation.component';\r\nimport { BcrumbsnavComponent } from './navigations/bcrumbsnav/bcrumbsnav.component';\r\nimport { DisclaimercontentComponent } from './disclaimer/disclaimercontent/disclaimercontent.component';\r\nimport { DisclaimerprintComponent } from './disclaimer/disclaimerprint/disclaimerprint.component';\r\nimport { DisclaimerpageComponent } from './disclaimer/disclaimerpage/disclaimerpage.component';\r\nimport { AuthGuardService } from './guards/auth-guard.service';\r\nimport { EqualityvalidatorDirective } from './validators/equalityvalidator.directive';\r\nimport { DisclaimercontentoverseesComponent } from './disclaimer/disclaimercontentoversees/disclaimercontentoversees.component';\r\nimport { ErrorpageComponent } from './errorpage/errorpage.component';\r\nimport { QuotationsService } from './services/quotations.service';\r\nimport { of, Observable, ObservableInput } from '../../node_modules/rxjs';\r\nimport { map, catchError } from 'rxjs/operators';\r\n\r\n@NgModule({\r\n declarations: [\r\n AppComponent,\r\n MainlayoutComponent,\r\n DefaultComponent,\r\n CountrymapComponent,\r\n ReportviewComponent,\r\n ProgrammeComponent,\r\n ModulesComponent,\r\n ConfirmationComponent,\r\n PersonalinfoComponent,\r\n SidenavigationComponent,\r\n TopnavigationComponent,\r\n BcrumbsnavComponent,\r\n DisclaimercontentComponent,\r\n DisclaimerprintComponent,\r\n DisclaimerpageComponent,\r\n EqualityvalidatorDirective,\r\n DisclaimercontentoverseesComponent,\r\n ErrorpageComponent\r\n ],\r\n imports: [\r\n BrowserModule,\r\n HttpClientModule,\r\n AppRoutingModule,\r\n FlexLayoutModule,\r\n FormsModule,\r\n ReactiveFormsModule,\r\n BrowserAnimationsModule,\r\n MatToolbarModule,\r\n MatButtonModule,\r\n MatIconModule,\r\n MatDialogModule,\r\n MatSelectModule,\r\n MatInputModule,\r\n MatCheckboxModule,\r\n MatExpansionModule,\r\n MatTableModule,\r\n MatRadioModule,\r\n MatTooltipModule,\r\n MatSidenavModule,\r\n AngularFontAwesomeModule,\r\n SnotifyModule\r\n ],\r\n entryComponents: [\r\n CountrymapComponent\r\n ],\r\n providers: [\r\n AuthGuardService,\r\n {provide: 'SnotifyToastConfig', useValue: ToastDefaults },\r\n SnotifyService,\r\n {provide: APP_INITIALIZER, useFactory: load, multi: true, deps: [HttpClient, QuotationsService]}\r\n ],\r\n bootstrap: [AppComponent],\r\n schemas: [CUSTOM_ELEMENTS_SCHEMA]\r\n})\r\nexport class AppModule { }\r\n\r\nexport function load(http: HttpClient, service: QuotationsService): (() => Promise) {\r\n return (): Promise => {\r\n return new Promise((resolve: (a: boolean) => void): void => {\r\n http.get('assets/config/config.json')\r\n .pipe(\r\n map((x: QuotationsService) => {\r\n service.apiurl = x.apiurl;\r\n resolve(true);\r\n }),\r\n catchError((x: { status: number }, caught: Observable): ObservableInput<{}> => {\r\n if (x.status !== 404) {\r\n resolve(false);\r\n }\r\n service.apiurl = '';\r\n resolve(true);\r\n return of({});\r\n })\r\n ).subscribe();\r\n });\r\n };\r\n}","

Summary / Confirmation

\r\n
\r\n
\r\n
Faculty: {{quotationDetail.facultyName}}
\r\n
Degree: {{degreeFullName}}
\r\n
Year Level: {{quotationDetail.yearLevelId}}
\r\n
0\">\r\n

Compulsory Modules

\r\n \r\n \r\n {{module.moduleCode}} \r\n \r\n \r\n {{module.moduleName}} \r\n \r\n \r\n {{module.moduleCost | currency : \"R \"}} \r\n \r\n \r\n {{module.moduleCredits}} \r\n \r\n \r\n \r\n
\r\n
0\">\r\n

Elective Modules

\r\n \r\n \r\n {{module.moduleCode}} \r\n \r\n \r\n {{module.moduleName}} \r\n \r\n \r\n {{module.moduleCost | currency : \"R \"}} \r\n \r\n \r\n {{module.moduleCredits}} \r\n \r\n \r\n \r\n
\r\n
 
\r\n
\r\n \r\n \r\n {{subTotal.description}} \r\n \r\n \r\n {{subTotal.amount | currency : \"R \"}} \r\n \r\n \r\n {{subTotal.credits}} \r\n \r\n \r\n \r\n \r\n \r\n {{total.description}} \r\n \r\n \r\n {{total.amount | currency : \"R \"}} \r\n \r\n \r\n {{total.credits}} \r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n \r\n

Note: Accommodation is not included in summary of Programme Selection

\r\n
\r\n
\r\n
\r\n Include University Residence\r\n
\r\n \r\n
\r\n \r\n \r\n {{res.roomTypeId}} \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {{res.roomTypeName}}   \r\n \r\n info\r\n \r\n \r\n \r\n \r\n {{res.maxPrice | currency : \"R \"}} \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n
There is no accommodation currently available.
\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 { Component, OnInit, HostListener } from '@angular/core';\r\nimport { FormGroup, FormBuilder, FormControl, Validators, FormArrayName } from '@angular/forms';\r\nimport { Gender, ResidenceItem, QuotationModule, QuotationDetail } from '../services/domain.service';\r\nimport { QuotationsService } from '../services/quotations.service';\r\nimport { GlobalsService } from '../services/globals.service';\r\nimport { Router } from '@angular/router';\r\nimport { StudentType } from '../services/enums.service';\r\nimport { of } from 'rxjs';\r\nimport { DataService } from '../services/data.service';\r\nimport { MatTableDataSource } from '@angular/material';\r\nimport { SnotifyService, SnotifyPosition } from 'ng-snotify';\r\n\r\n@Component({\r\n selector: 'app-confirmation',\r\n templateUrl: './confirmation.component.html',\r\n styleUrls: ['./confirmation.component.less']\r\n})\r\nexport class ConfirmationComponent implements OnInit {\r\n labelFloat: string = \"always\";\r\n checked: boolean = false;\r\n selectedGender: string = \"\";\r\n canIncludeRes: boolean = true;\r\n showResSelect: boolean = false;\r\n degreeFullName: string = \"\";\r\n\r\n quotationDetail: QuotationDetail = { studentType: StudentType.local, academicYear: 0, degreeTypeId: \"\", degreeTypeName: \"\", \r\n gradTypeId: \"\", gradTypeName: \"\", studyTypeId: \"\", studyTypeName: \"\", facultyId: \"\", facultyName: \"\", programmeId: 0, \r\n programmeName: \"\", streamId: \"\", streamName: \"\", yearLevelId: 0, yearLevelName: \"\", quotationsModules: [], programmeDuration: 0, chargeByModule: true, programmeCost: 0,\r\n includeRes: false, generateQuotation: false, generateProforma: false, residence: undefined, personalInfo: undefined, proformaInfo: undefined };\r\n\r\n quotationModules: Array = [];\r\n coreModules: Array = [];\r\n electiveModules: Array = [];\r\n residences: Array = [];\r\n selectedRes: ResidenceItem = undefined;\r\n\r\n subTotalItems: Array = [];\r\n subtotalDataSource: MatTableDataSource;\r\n\r\n totalItems: Array = [];\r\n totalDataSource: MatTableDataSource;\r\n\r\n chargeByModule: boolean = true;\r\n programmeCost: number = 0;\r\n\r\n displayedModuleColumns: string[] = ['moduleCode', 'moduleName', 'moduleCost', 'moduleCredits'];\r\n displayedSubTotalColumn: string[] = ['description', 'amount', 'credits'];\r\n displayedResColumns: string[] = ['roomTypeId', 'resSelect', 'roomTypeName', 'maxPrice', 'placeHolder'];\r\n\r\n constructor(private service: QuotationsService,\r\n private globals: GlobalsService,\r\n private router: Router,\r\n private data: DataService,\r\n private notifier: SnotifyService) { }\r\n\r\n async ngOnInit() {\r\n if(window.innerWidth < 600) {\r\n this.labelFloat = \"auto\";\r\n }\r\n\r\n this.data.changePage(\"summary\");\r\n\r\n this.subtotalDataSource = new MatTableDataSource([]);\r\n this.totalDataSource = new MatTableDataSource([]);\r\n\r\n if(this.globals.quotationDetail) {\r\n this.quotationDetail = this.globals.quotationDetail;\r\n \r\n if(this.quotationDetail) {\r\n this.chargeByModule = this.quotationDetail.chargeByModule;\r\n this.programmeCost = this.quotationDetail.programmeCost;\r\n this.degreeFullName = this.quotationDetail.programmeName;\r\n if(this.degreeFullName != \"\" && this.quotationDetail.streamName && this.quotationDetail.streamName != \"\") {\r\n this.degreeFullName = this.degreeFullName.concat(\" (\", this.quotationDetail.streamName, \")\");\r\n }\r\n }\r\n }\r\n \r\n if(this.globals.quotationDetail && this.globals.quotationDetail.quotationsModules && this.globals.quotationDetail.quotationsModules.length > 0) {\r\n this.quotationModules = this.globals.quotationDetail.quotationsModules;\r\n\r\n let core: Array = []\r\n let elect: Array = [];\r\n this.globals.quotationDetail.quotationsModules.forEach(function(mod){\r\n if(mod.isCore){\r\n core.push(mod);\r\n } else {\r\n elect.push(mod);\r\n }\r\n });\r\n\r\n this.coreModules = core;\r\n this.electiveModules = elect;\r\n }\r\n\r\n let moduleFees: number = 0;\r\n let moduleCredits: number = 0;\r\n let registrationFee: SubTotalItem;\r\n let tuitionFees: SubTotalItem;\r\n\r\n this.quotationModules.forEach(m => {\r\n moduleFees += m.moduleCost;\r\n moduleCredits += m.moduleCredits\r\n });\r\n if(this.chargeByModule == false){\r\n moduleFees = this.programmeCost;\r\n }\r\n tuitionFees = { key: 'TUITION', description: 'Total tuition fees', amount: moduleFees, credits: moduleCredits.toString() };\r\n\r\n this.data.isLoading(true);\r\n this.service.getRegistrationFee().subscribe(fee =>{\r\n let regFee: number = fee as number;\r\n registrationFee = {key: 'REG', description: 'Registration fee', amount: regFee, credits: ''}\r\n\r\n this.subTotalItems.push(tuitionFees, registrationFee)\r\n \r\n if(this.quotationDetail.includeRes == true) {\r\n this.toggleResidenceSelection(true);\r\n }\r\n else {\r\n this.updateTotalCost().then(result => {\r\n this.subtotalDataSource = new MatTableDataSource([])\r\n this.subtotalDataSource.data = this.subTotalItems;\r\n\r\n this.totalDataSource = new MatTableDataSource([]);\r\n this.totalDataSource.data = this.totalItems;\r\n });\r\n }\r\n }, error => {\r\n this.data.isLoading(false);\r\n console.log('Error on getRegistrationFee(): ', error);\r\n this.showError('getRegistrationFee');\r\n }, () => {\r\n this.data.isLoading(false);\r\n });\r\n }\r\n\r\n toggleResidenceSelection(pageLoad: boolean) {\r\n this.showResSelect = !this.showResSelect;\r\n if(this.showResSelect == true){\r\n this.data.isLoading(true);\r\n this.service.getResidences(this.quotationDetail.academicYear, this.quotationDetail.facultyId, this.quotationDetail.gradTypeId, \r\n this.quotationDetail.programmeDuration, this.quotationDetail.yearLevelId).subscribe(result => {\r\n console.log(this.quotationDetail); //Log quotation detail\r\n console.log(result);\r\n this.residences = result as Array;\r\n if(this.residences.length > 0) this.canIncludeRes = true;\r\n else this.canIncludeRes = false;\r\n\r\n var validPrevResSelection: boolean = false;\r\n if(this.quotationDetail.residence){\r\n var prevRes = this.residences.find(res => res.roomTypeId == this.quotationDetail.residence.roomTypeId);\r\n if(prevRes){\r\n validPrevResSelection = true;\r\n }\r\n }\r\n\r\n //On page load, also check prev selected res\r\n if(pageLoad){\r\n if(validPrevResSelection){\r\n this.checked = true;\r\n this.residences.forEach(res => {\r\n if(res.roomTypeId == this.quotationDetail.residence.roomTypeId){\r\n res.selected = true;\r\n }\r\n });\r\n this.resSelectionChange(this.quotationDetail.residence);\r\n }\r\n else {\r\n this.showResSelect = false;\r\n this.quotationDetail.includeRes = false;\r\n this.quotationDetail.residence = undefined;\r\n\r\n this.updateTotalCost().then(result => {\r\n this.subtotalDataSource = new MatTableDataSource([])\r\n this.subtotalDataSource.data = this.subTotalItems;\r\n \r\n this.totalDataSource = new MatTableDataSource([]);\r\n this.totalDataSource.data = this.totalItems;\r\n });\r\n }\r\n } else {\r\n if(this.residences && this.residences.length > 0){\r\n this.residences[0].selected = true;\r\n this.resSelectionChange(this.residences[0]);\r\n }\r\n }\r\n }, error => {\r\n this.data.isLoading(false);\r\n console.log('Error in toggleResidenceSelection(): ', error)\r\n this.showError('toggleResidenceSelection');\r\n }, () => {\r\n this.data.isLoading(false);\r\n });\r\n }\r\n\r\n if(this.showResSelect == false){\r\n this.removeCurrResSelection().then(result => {\r\n this.updateTotalCost().then(result => {\r\n this.subtotalDataSource = new MatTableDataSource([])\r\n this.subtotalDataSource.data = this.subTotalItems;\r\n\r\n this.totalDataSource = new MatTableDataSource([]);\r\n this.totalDataSource.data = this.totalItems;\r\n });\r\n });\r\n }\r\n }\r\n\r\n resSelectionChange(res: ResidenceItem){\r\n this.removeCurrResSelection().then(result =>{\r\n if(res){\r\n this.selectedRes = res;\r\n let residenceFee: SubTotalItem = {key: 'RES', description: res.roomTypeName, amount: res.maxPrice, credits: ''};\r\n\r\n this.subTotalItems.push(residenceFee)\r\n this.updateTotalCost().then(result => {\r\n this.subtotalDataSource = new MatTableDataSource([])\r\n this.subtotalDataSource.data = this.subTotalItems;\r\n\r\n this.totalDataSource = new MatTableDataSource([]);\r\n this.totalDataSource.data = this.totalItems;\r\n });\r\n }\r\n });\r\n }\r\n\r\n removeCurrResSelection(){\r\n let index: number = -1;\r\n let count: number = 0;\r\n\r\n //Remove previous res selection\r\n this.subTotalItems.forEach(item => {\r\n if(item.key == 'RES'){\r\n index = count;\r\n }\r\n count++;\r\n });\r\n\r\n if(index > -1) {\r\n this.subTotalItems.splice(index, 1);\r\n }\r\n\r\n //Remove total costs\r\n index = -1;\r\n count = 0;\r\n this.subTotalItems.forEach(item => {\r\n if(item.key == 'TOTAL'){\r\n index = count;\r\n }\r\n count++;\r\n });\r\n\r\n if(index > -1) {\r\n this.subTotalItems.splice(index, 1);\r\n }\r\n\r\n this.selectedRes = undefined;\r\n return of(null).toPromise()\r\n }\r\n\r\n updateTotalCost() {\r\n if(this.totalItems.length > 0) {\r\n //Remove all items in array\r\n this.totalItems.splice(0, this.totalItems.length);\r\n }\r\n\r\n let totalCost: SubTotalItem;\r\n let totalAmount: number = 0;\r\n this.subTotalItems.forEach(i => totalAmount += i.amount);\r\n totalCost = {key: 'TOTAL', description: 'Total', amount: totalAmount, credits: ''};\r\n //this.subTotalItems.push(totalCost)\r\n this.totalItems.push(totalCost);\r\n \r\n return of(null).toPromise();\r\n }\r\n\r\n proceed() {\r\n var formValid: boolean = true;\r\n\r\n if(this.quotationDetail) {\r\n this.quotationDetail.includeRes = this.showResSelect;\r\n\r\n if(this.quotationDetail.includeRes == true) {\r\n if(this.selectedRes){\r\n this.quotationDetail.residence = this.selectedRes;\r\n }\r\n else {\r\n this.notifier.warning(\"Please select accommodation option or uncheck 'Include University Residence'\", {\r\n timeout: 0,\r\n position: SnotifyPosition.centerCenter,\r\n closeOnClick: false,\r\n buttons: [\r\n {text: 'Ok'}\r\n ]\r\n })\r\n formValid = false;\r\n }\r\n }\r\n else {\r\n this.quotationDetail.residence = undefined;\r\n }\r\n } else {\r\n formValid = false;\r\n }\r\n\r\n if(formValid){\r\n \r\n this.quotationDetail.quotationsModules = this.quotationModules;\r\n \r\n this.globals.quotationDetail = this.quotationDetail;\r\n this.router.navigate(['/default', {outlets: {'main': ['personalinfo']}}]);\r\n }\r\n }\r\n\r\n @HostListener('window:resize', ['$event']) \r\n onResize(event){\r\n if(event.target.innerWidth < 600) {\r\n this.labelFloat = \"auto\";\r\n }\r\n else {\r\n this.labelFloat = \"always\";\r\n }\r\n }\r\n\r\n showError(source: string){\r\n this.notifier.error('An error occurred at ' + source + '. Please try again and if the problem persists, please contact support at servicedesk@uwc.ac.za', {\r\n timeout: 0,\r\n position: SnotifyPosition.centerCenter,\r\n closeOnClick: false,\r\n buttons: [\r\n {text: 'Ok'}\r\n ]\r\n });\r\n }\r\n}\r\n\r\nexport interface SubTotalItem {\r\n key: string;\r\n description: string;\r\n amount: number;\r\n credits: string;\r\n}\r\n","
\r\n
\r\n

{{mapTitle}}

\r\n \r\n
\r\n
\r\n
\r\n
\r\n

What is a South African Student?

\r\n
    \r\n
  • {{screenWidth > 600 ? '*' : ''}} Have a South African ID
  • \r\n
\r\n
\r\n
\r\n

What is a Non South African ID Holder?

\r\n
    \r\n
  • {{screenWidth > 600 ? '*' : ''}} Africa, Refugee, Asylum Seeker
  • \r\n
  • {{screenWidth > 600 ? '*' : ''}} SADC
  • \r\n
  • {{screenWidth > 600 ? '*' : ''}} Non SADC
  • \r\n
\r\n
\r\n
\r\n

What is an Overseas International Student?

\r\n
    \r\n
  • {{screenWidth > 600 ? '*' : ''}} Overseas passport
  • \r\n
  • {{screenWidth > 600 ? '*' : ''}} Overseas refugee
  • \r\n
  • {{screenWidth > 600 ? '*' : ''}} Overseas Asylum Seeker
  • \r\n
\r\n
\r\n
\r\n
\r\n
\r\n

{{mapId == 2 ? 'SADC Countries' : ''}} 

\r\n
    \r\n
  • {{mapId == 2 ? 'Angola' : ''}} 
  • \r\n
  • {{mapId == 2 ? 'Botswana' : ''}} 
  • \r\n
  • {{mapId == 2 ? 'Comoros' : ''}} 
  • \r\n
  • {{mapId == 2 ? 'Congo, DR' : ''}} 
  • \r\n
  • {{mapId == 2 ? 'Eswatini' : ''}} 
  • \r\n
  • {{mapId == 2 ? 'Lesotho' : ''}} 
  • \r\n
  • {{mapId == 2 ? 'Madagascar' : ''}} 
  • \r\n
  • {{mapId == 2 ? 'Malawi' : ''}} 
  • \r\n
  • {{mapId == 2 ? 'Mauritius' : ''}} 
  • \r\n
  • {{mapId == 2 ? 'Mozambique' : ''}} 
  • \r\n
  • {{mapId == 2 ? 'Namibia' : ''}} 
  • \r\n
  • {{mapId == 2 ? 'Seychelles' : ''}} 
  • \r\n
  • {{mapId == 2 ? 'South Africa' : ''}} 
  • \r\n
  • {{mapId == 2 ? 'Tanzania' : ''}} 
  • \r\n
  • {{mapId == 2 ? 'Zambia' : ''}} 
  • \r\n
  • {{mapId == 2 ? 'Zimbabwe' : ''}} 
  • \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n

Hover over the map to view country names (click to zoomin / double-click to zoomout)

\r\n
\r\n
\r\n
 \r\n
South Africa
   \r\n
 \r\n
SADC
   \r\n
 \r\n
Rest of Africa (Non SADC)
   \r\n
 \r\n
Overseas International
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n","import { Component, OnInit, AfterViewInit, Inject, ViewChild, ElementRef, HostListener } from '@angular/core';\r\nimport { MAT_DIALOG_DATA, MatDialogRef } from '@angular/material';\r\n\r\n@Component({\r\n selector: 'app-countrymap',\r\n templateUrl: './countrymap.component.html',\r\n styleUrls: ['./countrymap.component.less']\r\n})\r\nexport class CountrymapComponent implements OnInit, AfterViewInit {\r\n\r\n mapId: number = 0;\r\n mapTitle: string = '';\r\n public isLocal: boolean = true;\r\n isIE: boolean = false;\r\n screenWidth: number = 0;\r\n\r\n constructor(private dialogRef: MatDialogRef,\r\n @Inject(MAT_DIALOG_DATA) private data: number) { }\r\n\r\n ngOnInit() {\r\n this.isIE = /*@cc_on!@*/false || !!document.documentMode;\r\n this.screenWidth = window.innerWidth;\r\n\r\n this.mapId = this.data;\r\n this.mapTitle = this.mapId == 1 ? 'South African Student' : this.mapId == 2 ? \r\n 'Non South African ID Holders' : 'Overseas International Student';\r\n }\r\n\r\n @ViewChild('countries', {static:false}) mapElement: ElementRef;\r\n ngAfterViewInit() {\r\n if(this.isIE == false){\r\n console.log('Map part executed');\r\n\r\n var d3WithGeo = window[\"d3\"];\r\n var map : any;\r\n\r\n map = d3WithGeo.geomap.choropleth()\r\n .geofile('/assets/topojson/world/countries.json')\r\n .colors(['#008000', '#90ee90', '#00FFFF'])\r\n .column('regionid')\r\n .width(this.mapElement.nativeElement.offsetHeight * 1.5)\r\n .unitId('iso3');\r\n\r\n d3WithGeo.csv('assets/data/geo.csv', function(error, data) {\r\n var selection = d3WithGeo.select('#map').datum(data);\r\n map.draw(selection);\r\n });\r\n } else {\r\n console.log('Map part NOT executed')\r\n }\r\n }\r\n \r\n onClose() {\r\n this.dialogRef.close();\r\n }\r\n\r\n @HostListener('window:resize', ['$event'])\r\n onResize(event){\r\n this.screenWidth = window.innerWidth;\r\n }\r\n}\r\n","

UWC Online Quotations & Pro-forma Invoices

\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 Masters and PHD students requiring quotations or pro-forma invoices for levy charges and or \r\n affiliation fees must email studaccount@uwc.ac.za\r\n
\r\n
\r\n
\r\n","import { Component, OnInit, ElementRef, Renderer, HostListener } from '@angular/core';\r\nimport { MatDialogConfig, MatDialog, MAT_DIALOG_DATA } from '@angular/material';\r\nimport { CountrymapComponent } from '../countrymap/countrymap.component';\r\nimport { GlobalsService } from '../services/globals.service';\r\nimport { QuotationDetail } from '../services/domain.service';\r\nimport { Router } from '@angular/router';\r\nimport { DataService } from '../services/data.service';\r\nimport { StudentType } from '../services/enums.service';\r\nimport { SnotifyService, SnotifyPosition } from 'ng-snotify';\r\n\r\n@Component({\r\n selector: 'app-default',\r\n templateUrl: './default.component.html',\r\n styleUrls: ['./default.component.less']\r\n})\r\nexport class DefaultComponent implements OnInit {\r\n\r\n constructor(private elRef: ElementRef,\r\n private renderer: Renderer,\r\n private dialog: MatDialog,\r\n private globals: GlobalsService,\r\n private router: Router,\r\n private data: DataService,\r\n private notifier: SnotifyService) { }\r\n\r\n ngOnInit() {\r\n this.data.changePage(\"home\");\r\n this.initialiseQuotationDetail();\r\n\r\n if(this.globals.quotationDetail) {\r\n this.globals.quotationDetail = undefined;\r\n }\r\n }\r\n\r\n ngAfterViewInit(){\r\n this.checkBrowser();\r\n }\r\n\r\n async checkBrowser(){\r\n await this.delay(500); \r\n\r\n var isIE = /*@cc_on!@*/false || !!document.documentMode;\r\n if(isIE){\r\n alert('We have noticed that you are using Internet Explorer. For optimal UWC Online Quotation experience, we suggest using the following browsers: Chrome, Firefox, Edge, Safari, Opera');\r\n }\r\n }\r\n\r\n private delay(ms: number)\r\n {\r\n return new Promise(resolve => setTimeout(resolve, ms));\r\n }\r\n\r\n initialiseQuotationDetail(){\r\n let quotationDetail: QuotationDetail = { studentType: StudentType.local, academicYear: 0, degreeTypeId: \"\", degreeTypeName: \"\", \r\n gradTypeId: \"\", gradTypeName: \"\", studyTypeId: \"\", studyTypeName: \"\", facultyId: \"\", facultyName: \"\", programmeId: 0, \r\n programmeName: \"\", streamId: \"\", streamName: \"\", yearLevelId: 0, yearLevelName: \"\", quotationsModules: [], programmeDuration: 0, chargeByModule: true, programmeCost: 0,\r\n includeRes: false, generateQuotation: false, generateProforma: false, residence: undefined, personalInfo: undefined, proformaInfo: undefined };\r\n\r\n this.globals.quotationDetail = quotationDetail;\r\n }\r\n\r\n showMap(mapId: number) {\r\n const dialogConfig = new MatDialogConfig();\r\n dialogConfig.disableClose = true;\r\n dialogConfig.autoFocus = true;\r\n dialogConfig.data = mapId;\r\n\r\n let dialogRef = this.dialog.open(CountrymapComponent, dialogConfig);\r\n dialogRef.afterClosed().subscribe(result => {\r\n //Remove focus on the selected button clicked\r\n this.renderer.invokeElementMethod(this.elRef.nativeElement, 'blur', []);\r\n });\r\n }\r\n\r\n proceed(sType: number) {\r\n let quotationDetail: QuotationDetail = { studentType: sType, academicYear: 0, degreeTypeId: \"\", degreeTypeName: \"\", \r\n gradTypeId: \"\", gradTypeName: \"\", studyTypeId: \"\", studyTypeName: \"\", facultyId: \"\", facultyName: \"\", programmeId: 0, \r\n programmeName: \"\", streamId: \"\", streamName: \"\", yearLevelId: 0, yearLevelName: \"\", quotationsModules: [], programmeDuration: 0, chargeByModule: true, programmeCost: 0,\r\n includeRes: false, generateQuotation: false, generateProforma: false, residence: undefined, personalInfo: undefined, proformaInfo: undefined };\r\n\r\n this.globals.quotationDetail = quotationDetail;\r\n this.router.navigate(['/default', {outlets: {'main': ['disclaimer']}}]);\r\n }\r\n}\r\n\r\ndeclare global {\r\n interface Document{\r\n documentMode?: any;\r\n }\r\n}\r\n","
\r\n
\r\n

Provisional Quotation and or Pro-forma Invoice Given Without Prejudice

\r\n
\r\n

This provisional quotation and or pro-forma invoice:

\r\n
    \r\n
  1. \r\n only applies to persons:\r\n
      \r\n
    1. with South African citizenship; or
    2. \r\n
    3. who are in possession of a valid permanent residence permit; and/or
    4. \r\n
    5. who do not follow a so-called \"Short Course\".
    6. \r\n
    \r\n
  2. \r\n
\r\n

Other international students must return to the previous screen and select \"International student\".

\r\n
    \r\n
  1. \r\n does not take prerequisite and co-requisite modules, prerequisite pass, exclusion subjects, \r\n required number of credits or allowed number of credits into account. The required amount \r\n of credits as stipulated in the quote is indicative only and shall serve as a guideline when \r\n selecting modules, with an aim to assist the applicant secure that the total amount of credits \r\n of selected modules and check that these corresponds more or less with the required amount of \r\n credits. If in doubt about the curriculum of the intended programme to be followed, please \r\n refer to the particular Calendar of the Faculty,\r\n
  2. \r\n
  3. \r\n does not take the previous academic record into account,\r\n
  4. \r\n
  5. \r\n does not allow a quotation for more than one programme per enquiry; quotations for different programmes must be requested individually,\r\n
  6. \r\n
  7. \r\n does in no way confirm admission to the programme applied for or placement in residence,\r\n
  8. \r\n
  9. \r\n only offers an estimate of the cost of study, although it is aimed at offering an amount as close as possible to the real cost,\r\n
  10. \r\n
  11. \r\n estimates for textbooks can be obtained from book stores,\r\n
  12. \r\n
  13. \r\n is offered with the understanding that University Executive, Management, Staff, Council and Senate accept no \r\n liability in regard to inaccuracies, if any, that may occur in the content of this provisional quotation, \r\n
  14. \r\n
  15. \r\n is offered with further explanation that appears at the end of the final quotation document.\r\n
  16. \r\n
\r\n

\r\n \r\n I hereby declare that I have read, understood and accept the conditions and requirements of this Provisional Quotation and or Pro-forma Invoice. \r\n \r\n

\r\n
","import { Component, OnInit } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'app-disclaimercontent',\r\n templateUrl: './disclaimercontent.component.html',\r\n styleUrls: ['./disclaimercontent.component.less']\r\n})\r\nexport class DisclaimercontentComponent implements OnInit {\r\n\r\n constructor() { }\r\n\r\n ngOnInit() {\r\n }\r\n\r\n}\r\n","
\r\n
\r\n

Provisional Quotation and or Pro-forma Invoice Given Without Prejudice

\r\n
\r\n

This provisional quotation and or pro-forma invoice:

\r\n
    \r\n
  1. \r\n Only applies to Non South African ID holders and International students;\r\n
  2. \r\n
  3. \r\n does not take prerequisite and co-requisite modules, prerequisite pass, exclusion subjects, \r\n required number of credits or allowed number of credits into account. The required amount \r\n of credits as stipulated in the quote is indicative only and shall serve as a guideline when \r\n selecting modules, with an aim to assist the applicant secure that the total amount of credits \r\n of selected modules and check that these corresponds more or less with the required amount of \r\n credits. If in doubt about the curriculum of the intended programme to be followed, please \r\n refer to the particular Calendar of the Faculty,\r\n
  4. \r\n
  5. \r\n does not take the previous academic record into account,\r\n
  6. \r\n
  7. \r\n does not allow a quotation for more than one programme per enquiry; quotations for different programmes must be requested individually,\r\n
  8. \r\n
  9. \r\n does in no way confirm admission to the programme applied for or placement in residence,\r\n
  10. \r\n
  11. \r\n only offers an estimate of the cost of study, although it is aimed at offering an amount as close as possible to the real cost,\r\n
  12. \r\n
  13. \r\n estimates for textbooks can be obtained from book stores,\r\n
  14. \r\n
  15. \r\n is offered with the understanding that University Executive, Management, Staff, Council and Senate accept no \r\n liability in regard to inaccuracies, if any, that may occur in the content of this provisional quotation, \r\n
  16. \r\n
  17. \r\n is offered with further explanation that appears at the end of the final quotation document.\r\n
  18. \r\n
\r\n

\r\n \r\n I hereby declare that I have read, understood and accept the conditions and requirements of this Provisional Quotation and or Pro-forma Invoice. \r\n \r\n

\r\n
","import { Component, OnInit } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'app-disclaimercontentoversees',\r\n templateUrl: './disclaimercontentoversees.component.html',\r\n styleUrls: ['./disclaimercontentoversees.component.less']\r\n})\r\nexport class DisclaimercontentoverseesComponent implements OnInit {\r\n\r\n constructor() { }\r\n\r\n ngOnInit() {\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
\r\n
\r\n
","import { Component, OnInit } from '@angular/core';\r\nimport { DataService } from 'src/app/services/data.service';\r\nimport { GlobalsService } from 'src/app/services/globals.service';\r\n\r\n@Component({\r\n selector: 'app-disclaimerpage',\r\n templateUrl: './disclaimerpage.component.html',\r\n styleUrls: ['./disclaimerpage.component.less']\r\n})\r\nexport class DisclaimerpageComponent implements OnInit {\r\n studentStype: number = 0;\r\n\r\n constructor(private data: DataService,\r\n private globals: GlobalsService) { }\r\n\r\n ngOnInit() {\r\n this.data.changePage(\"disclaimer\");\r\n\r\n if(this.globals.quotationDetail){\r\n this.studentStype = this.globals.quotationDetail.studentType;\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 { Component, OnInit } from '@angular/core';\r\nimport { GlobalsService } from 'src/app/services/globals.service';\r\n\r\n@Component({\r\n selector: 'app-disclaimerprint',\r\n templateUrl: './disclaimerprint.component.html',\r\n styleUrls: ['./disclaimerprint.component.less']\r\n})\r\nexport class DisclaimerprintComponent implements OnInit {\r\n studentType: number = 0;\r\n\r\n constructor(private globals: GlobalsService) { }\r\n\r\n ngOnInit() {\r\n if(this.globals.quotationDetail){\r\n this.studentType = this.globals.quotationDetail.studentType;\r\n }\r\n }\r\n\r\n}\r\n","

Error

\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n","import { Component, OnInit } from '@angular/core';\r\nimport { Router, ActivatedRoute } from '@angular/router';\r\n\r\n@Component({\r\n selector: 'app-errorpage',\r\n templateUrl: './errorpage.component.html',\r\n styleUrls: ['./errorpage.component.less']\r\n})\r\nexport class ErrorpageComponent implements OnInit {\r\n exception: Error = undefined;\r\n errorMessage: string = '';\r\n errorName: string = '';\r\n stackTrace: string = '';\r\n\r\n constructor(private router: Router,\r\n private route: ActivatedRoute) { }\r\n\r\n ngOnInit() {\r\n this.route.params.subscribe(params => {\r\n this.exception = params['error'];\r\n/*\r\n this.errorName = this.exception.name;\r\n this.errorMessage = this.exception.name;\r\n this.stackTrace = this.exception.stack;\r\n*/\r\n console.log(this.exception);\r\n });\r\n }\r\n\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { CanActivate, Router } from '@angular/router';\r\nimport { GlobalsService } from '../services/globals.service';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class AuthGuardService implements CanActivate {\r\n\r\n constructor(private globals: GlobalsService,\r\n private router: Router) { }\r\n\r\n canActivate() {\r\n if(this.globals.quotationDetail) {\r\n return true;\r\n }\r\n\r\n this.router.navigate(['/']);\r\n\r\n return false;\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
","import { Component, OnInit } from '@angular/core';\r\nimport { DataService } from 'src/app/services/data.service';;\r\n\r\n@Component({\r\n selector: 'app-mainlayout',\r\n templateUrl: './mainlayout.component.html',\r\n styleUrls: ['./mainlayout.component.less']\r\n})\r\nexport class MainlayoutComponent implements OnInit {\r\n opened = false;\r\n mode = 'over';\r\n showLoader: boolean = false;\r\n\r\n constructor(private data: DataService) { }\r\n\r\n ngOnInit() {\r\n this.data.mobileMenu.subscribe(state => {\r\n this.opened = state;\r\n });\r\n\r\n this.data.dataLoading.subscribe(status => {\r\n this.showLoader = status;\r\n });\r\n }\r\n\r\n onClose(): void {\r\n this.data.toggleMobileMenu(false);\r\n }\r\n}\r\n","

Modules

\r\n\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
Faculty: {{quotationDetail.facultyName}}
\r\n
Degree: {{degreeFullName}}
\r\n
Year Level: {{quotationDetail.yearLevelId}}
\r\n
\r\n
\r\n
0\">Max credits for year level: {{maxCredits}}
\r\n
Total credits selected: {{subTotalItem.credits}}
\r\n
Total tuition fees: {{subTotalItem.amount | currency : \"R \"}}
\r\n
0 && subTotalItem.credits > maxCredits\">Credits selected are greater than  max  credits for year level
\r\n
\r\n
\r\n
\r\n

Compulsory Modules

\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 \r\n
\r\n 0 && selectedCoreRulesKey != module.rulesKey)\" \r\n [checked]=\"module.modChecked\" (change)=\"module.modChecked = !module.modChecked; updateTotalsCore(module.modChecked, module.rulesKey);\">\r\n \r\n \r\n {{module.moduleCode}} {{module.moduleName}} {{module.moduleCost | currency : \"R \"}} {{module.moduleCredits}}
\r\n
\r\n
\r\n

Elective Modules

\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 \r\n \r\n
\r\n \r\n \r\n \r\n {{module.moduleCode}} {{module.moduleName}} {{module.moduleCost | currency : \"R \"}} {{module.moduleCredits | number}}
\r\n
\r\n
0 && subTotalItem.credits > maxCredits\">Credits selected are greater than  max  credits for year level
\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 { Component, OnInit } from '@angular/core';\r\nimport { QuotationModule, QuotationDetail, ModuleProgramme } from '../services/domain.service';\r\nimport { QuotationsService } from '../services/quotations.service';\r\nimport { GlobalsService } from '../services/globals.service';\r\nimport { Router } from '@angular/router';\r\nimport { StudentType } from '../services/enums.service';\r\nimport { DataService } from '../services/data.service';\r\nimport { MatTableDataSource } from '@angular/material';\r\nimport { Observable, forkJoin } from 'rxjs';\r\nimport { SnotifyPosition, SnotifyService } from 'ng-snotify';\r\n\r\n@Component({\r\n selector: 'app-modules',\r\n templateUrl: './modules.component.html',\r\n styleUrls: ['./modules.component.less']\r\n})\r\nexport class ModulesComponent implements OnInit {\r\n degreeFullName: string = \"\";\r\n programmeHasModules = true;\r\n\r\n//This is the seciton from confirmation screen\r\nquotationDetail: QuotationDetail = { studentType: StudentType.local, academicYear: 0, degreeTypeId: \"\", degreeTypeName: \"\", \r\n gradTypeId: \"\", gradTypeName: \"\", studyTypeId: \"\", studyTypeName: \"\", facultyId: \"\", facultyName: \"\", programmeId: 0, \r\n programmeName: \"\", streamId: \"\", streamName: \"\", yearLevelId: 0, yearLevelName: \"\", quotationsModules: [], programmeDuration: 0, chargeByModule: true, programmeCost: 0,\r\n includeRes: false, generateQuotation: false, generateProforma: false, residence: undefined, personalInfo: undefined, proformaInfo: undefined };\r\nmoduleProgramme: ModuleProgramme = undefined;\r\nquotationModule: Array = [];\r\ncoreModules: Array = [];\r\nelectiveModules: Array = [];\r\n\r\ncoreRulesKeyCount: number = 0;\r\nselectedCoreRulesKey: number = 0;\r\n\r\nmaxCredits: number = 0;\r\nsubTotalItems: Array = [];\r\nsubTotalItem: SubTotalItem = { description: 'Total tuition fees', amount: 0, credits: 0 };\r\n\r\ncoreDataSource: MatTableDataSource;\r\nelectiveDataSource: MatTableDataSource;\r\nspans = [];\r\n\r\nchargeByModule: boolean = true;\r\nprogrammeCost: number = 0;\r\n\r\ndisplayedResColumns: string[] = ['resSelect', 'resCode', 'resName', 'roomTypeName', 'priceRange'];\r\ndisplayedModuleColumns: string[] = ['modChecked', 'modSubChecked','moduleCode', 'moduleName', 'moduleCost', 'moduleCredits'];\r\ndisplayedSubTotalColumn: string[] = ['description', 'amount', 'credits'];\r\n\r\nconstructor(private service: QuotationsService,\r\n private globals: GlobalsService,\r\n private router: Router,\r\n private data: DataService,\r\n private notifier: SnotifyService) { }\r\n\r\n ngOnInit() {\r\n this.data.changePage(\"modules\");\r\n this.loadModuleDetails();\r\n }\r\n\r\n async loadModuleDetails(){\r\n //This forces to display spinner\r\n await this.delay(100); \r\n\r\n this.data.isLoading(true);\r\n \r\n if(this.globals.quotationDetail) {\r\n this.quotationDetail = this.globals.quotationDetail;\r\n\r\n this.degreeFullName = this.quotationDetail.programmeName;\r\n if(this.degreeFullName != \"\" && this.quotationDetail.streamName && this.quotationDetail.streamName != \"\") {\r\n this.degreeFullName = this.degreeFullName.concat(\" (\", this.quotationDetail.streamName, \")\");\r\n }\r\n\r\n this.getModuleDetails().subscribe(response => {\r\n this.moduleProgramme = response [0] as ModuleProgramme;\r\n\r\n if(this.moduleProgramme) {\r\n this.maxCredits = this.moduleProgramme.maxYearLevelCredits ? this.moduleProgramme.maxYearLevelCredits : 0;\r\n \r\n //Validate charge type\r\n if((this.moduleProgramme.chargeType == 'P' && this.moduleProgramme.yearLevel == 1) ||\r\n this.moduleProgramme.chargeType == 'E' || this.moduleProgramme.chargeType == 'N') {\r\n this.chargeByModule = false;\r\n if(this.moduleProgramme.chargeType != 'N'){\r\n this.programmeCost = this.quotationDetail.studentType == StudentType.international ? this.moduleProgramme.costInt : this.moduleProgramme.costLocal;\r\n }\r\n }\r\n\r\n this.quotationDetail.chargeByModule = this.chargeByModule;\r\n this.quotationDetail.programmeCost = this.programmeCost;\r\n\r\n if(this.moduleProgramme && this.moduleProgramme.modules) {\r\n this.moduleProgramme.modules.forEach( m => {\r\n if(m.ruleType == 'C') {\r\n this.coreModules.push({ modChecked: false, modSubChecked: false, rulesKey: m.rulesKey, sequence: m.sequence, connector: m.connector, \r\n moduleCode: m.moduleCode, moduleName: m.moduleName, moduleCost: this.quotationDetail.studentType == StudentType.international ? m.costInt : m.costLocal, \r\n moduleCredits: m.credits, electiveGroup1: m.electiveGroup1, electiveGroup2: m.electiveGroup2, compulsorySubGroup: m.compulsorySubGroup, isCore: true, isDisabled: false, isSubDisabled: false});\r\n } else if(m.ruleType == 'E') {\r\n this.electiveModules.push({ modChecked: false, modSubChecked: false, rulesKey: m.rulesKey, sequence: m.sequence, connector: m.connector, \r\n moduleCode: m.moduleCode, moduleName: m.moduleName, moduleCost: this.quotationDetail.studentType == StudentType.international ? m.costInt : m.costLocal, \r\n moduleCredits: m.credits, electiveGroup1: m.electiveGroup1, electiveGroup2: m.electiveGroup2, compulsorySubGroup: m.compulsorySubGroup, isCore: false, isDisabled: false, isSubDisabled: false});\r\n }\r\n });\r\n }\r\n \r\n //Reload previously selected modules, if any\r\n if(this.quotationDetail.quotationsModules) {\r\n let selectedCoreRulesKey: number = 0;\r\n let selectedElectGroups: Array = [];\r\n let selectedCoreGroups: Array = [];\r\n this.quotationDetail.quotationsModules.forEach(function(mod) {\r\n if(mod.isCore){\r\n selectedCoreRulesKey = mod.rulesKey;\r\n var prevSelection: PrevSelectedElectGroups = selectedElectGroups.find(s => s.electGroup1 == mod.electiveGroup1 && s.electGroup2 == mod.electiveGroup2)\r\n if(!prevSelection){\r\n selectedCoreGroups.push({electGroup1: mod.electiveGroup1, electGroup2: mod.electiveGroup2});\r\n }\r\n } else {\r\n var prevSelection: PrevSelectedElectGroups = selectedElectGroups.find(s => s.electGroup1 == mod.electiveGroup1 && s.electGroup2 == mod.electiveGroup2)\r\n if(!prevSelection) {\r\n selectedElectGroups.push({electGroup1: mod.electiveGroup1, electGroup2: mod.electiveGroup2});\r\n }\r\n }\r\n });\r\n \r\n if(selectedCoreRulesKey != 0) {\r\n this.updateTotalsCore(true, selectedCoreRulesKey);\r\n selectedCoreGroups.forEach(g => {\r\n this.updateTotalsSubCore(true, g.electGroup1, g.electGroup2);\r\n });\r\n }\r\n \r\n var i: number;\r\n for(i = 0; i < selectedElectGroups.length; i++){\r\n this.updateTotalElect(true, selectedElectGroups[i].electGroup1, selectedElectGroups[i].electGroup2);\r\n }\r\n }\r\n \r\n this.coreDataSource = new MatTableDataSource([]);\r\n this.electiveDataSource = new MatTableDataSource([]);\r\n \r\n this.coreDataSource.data = this.coreModules;\r\n this.electiveDataSource.data = this.electiveModules;\r\n \r\n this.coreRulesKeyCount = this.countUniqueRulesKey(this.coreModules);\r\n if(this.coreRulesKeyCount == 1) {\r\n this.coreModules.forEach(m => {\r\n m.modChecked = true\r\n if(m.compulsorySubGroup == true){\r\n m.modSubChecked = true;\r\n }\r\n });\r\n this.updateTotals();\r\n }\r\n \r\n this.cacheCoreSpan('coreRulesKey', d => d.rulesKey);\r\n this.cacheCoreSpan('coreGroup2', d => d.rulesKey + d.electiveGroup2);\r\n this.cacheElectSpan('electiveGroup1', d => d.electiveGroup1);\r\n this.cacheElectSpan('electiveGroup2', d => d.electiveGroup1 + d.electiveGroup2)\r\n }\r\n }, error => {\r\n this.data.isLoading(false);\r\n this.programmeHasModules = false;\r\n console.log('Error on getModuleDetails(): ', error);\r\n this.showError('getModuleDetails');\r\n }, () => {\r\n this.data.isLoading(false);\r\n if(this.coreModules.length == 0 && this.electiveModules.length == 0){\r\n this.programmeHasModules = false\r\n \r\n this.notifier.warning('Programme not available for Online Quotations or Pro-forma Invoices. Please select another Programme.', {\r\n timeout: 0,\r\n position: SnotifyPosition.centerCenter,\r\n closeOnClick: false,\r\n buttons: [\r\n {text: 'Ok'}\r\n ]\r\n });\r\n }\r\n });\r\n } else {\r\n this.programmeHasModules = false;\r\n this.data.isLoading(false);\r\n }\r\n }\r\n\r\n private delay(ms: number)\r\n {\r\n return new Promise(resolve => setTimeout(resolve, ms));\r\n }\r\n\r\n getModuleDetails(): Observable{\r\n\r\n console.log(this.quotationDetail.academicYear)\r\n console.log(this.quotationDetail.programmeId)\r\n console.log(this.quotationDetail.streamId)\r\n console.log(this.quotationDetail.studyTypeId)\r\n console.log(this.quotationDetail.yearLevelId)\r\n\r\n let moduleDetails = this.service.getModuleProgramme(this.quotationDetail.academicYear, this.quotationDetail.programmeId, \r\n this.quotationDetail.streamId, this.quotationDetail.studyTypeId, this.quotationDetail.yearLevelId);\r\n \r\n return forkJoin(moduleDetails);\r\n }\r\n\r\n countUniqueRulesKey(modules: Array): number {\r\n let uniqueCoreRulesKey: Array = [];\r\n modules.forEach(function(module) {\r\n if(uniqueCoreRulesKey.indexOf(module.rulesKey) == -1) {\r\n uniqueCoreRulesKey.push(module.rulesKey);\r\n }\r\n });\r\n\r\n return uniqueCoreRulesKey.length;\r\n }\r\n\r\n updateTotalsCore(checked: boolean, rulesKey: number) {\r\n if(checked){\r\n this.selectedCoreRulesKey = rulesKey;\r\n } else {\r\n this.selectedCoreRulesKey = 0;\r\n }\r\n\r\n //First unselect all previously selected modules\r\n this.coreModules.forEach(function(module) {\r\n module.modChecked = false;\r\n module.modSubChecked = false;\r\n module.isSubDisabled = false;\r\n })\r\n\r\n //Then select all modules for the current rulesKey\r\n this.coreModules.forEach(function(module) {\r\n if(module.rulesKey == rulesKey) {\r\n module.modChecked = checked;\r\n if(checked == false){\r\n module.modSubChecked = false; //Uncheck everything if main checkbox is unchecked\r\n }\r\n else if(module.compulsorySubGroup == true) {\r\n module.modSubChecked = checked; //Else only check compulsory sub groups if main checknox is checked\r\n }\r\n }\r\n\r\n if(module.modChecked == true){\r\n if(module.rulesKey == rulesKey){\r\n module.isSubDisabled = false;\r\n } else {\r\n module.isSubDisabled = true;\r\n }\r\n }\r\n });\r\n\r\n this.updateTotals();\r\n }\r\n\r\n updateTotalsSubCore(checked: boolean, rulesKey: number, subGroup: number){\r\n this.coreModules.forEach(mod => {\r\n if(mod.rulesKey == rulesKey && mod.electiveGroup2 == subGroup) {\r\n if(mod.electiveGroup2 == subGroup){\r\n mod.modSubChecked = checked;\r\n }\r\n }\r\n else if(mod.rulesKey == rulesKey && !mod.compulsorySubGroup && mod.electiveGroup2 != subGroup && checked){\r\n mod.modSubChecked = false;\r\n }\r\n });\r\n\r\n this.updateTotals();\r\n }\r\n\r\n updateTotalElect(checked: boolean, electiveGroup1: number, electiveGroup2: number) {\r\n this.electiveModules.forEach(function(mod) {\r\n if(mod.electiveGroup1 == electiveGroup1 && mod.electiveGroup2 == electiveGroup2) {\r\n mod.modSubChecked = checked;\r\n }\r\n mod.isDisabled = false;\r\n mod.isSubDisabled = false;\r\n });\r\n\r\n //Disable groups that have overlapping modules\r\n var selectedGroups: Array = [];\r\n var selectedModules: Array = [];\r\n //Get selected modules and their respective elective groups\r\n this.electiveModules.forEach(function(mod){\r\n if(mod.modSubChecked){\r\n selectedModules.push(mod.moduleCode);\r\n var prevSelection: PrevSelectedElectGroups = selectedGroups.find(s => s.electGroup1 == mod.electiveGroup1 && s.electGroup2 == mod.electiveGroup2)\r\n if(!prevSelection) {\r\n selectedGroups.push({electGroup1: mod.electiveGroup1, electGroup2: mod.electiveGroup2});\r\n }\r\n }\r\n });\r\n\r\n //Get a list of groups to be disabled (with overlaping modules)\r\n let groupsToDisable: Array = []\r\n this.electiveModules.forEach(function(mod){\r\n var isGroupSelected = selectedGroups.find(g => g.electGroup1 == mod.electiveGroup1 && g.electGroup2 == mod.electiveGroup2)\r\n if(selectedModules.indexOf(mod.moduleCode) > -1 && !isGroupSelected){\r\n var groupToDisable = groupsToDisable.find(g => g.electGroup1 == mod.electiveGroup1 && g.electGroup2 == mod.electiveGroup2)\r\n if(!groupToDisable){\r\n groupsToDisable.push({electGroup1: mod.electiveGroup1, electGroup2: mod.electiveGroup2});;\r\n }\r\n }\r\n });\r\n\r\n //Disable the elective groups that have overlaping modules\r\n this.electiveModules.forEach(function(mod){\r\n var isGroupToDisable = groupsToDisable.find(g => g.electGroup1 == mod.electiveGroup1 && g.electGroup2 == mod.electiveGroup2);\r\n if(isGroupToDisable) {\r\n mod.isDisabled = true;\r\n mod.isSubDisabled = true;\r\n }\r\n });\r\n \r\n this.updateTotals();\r\n }\r\n\r\n updateTotals(){\r\n let moduleFees: number = 0;\r\n let moduleCredits: number = 0;\r\n\r\n this.coreModules.forEach(m => {\r\n if(m.modSubChecked == true){\r\n moduleFees += m.moduleCost;\r\n moduleCredits += m.moduleCredits;\r\n };\r\n });\r\n\r\n this.electiveModules.forEach(m => {\r\n if(m.modSubChecked == true){\r\n moduleFees += m.moduleCost;\r\n moduleCredits += m.moduleCredits;\r\n };\r\n });\r\n\r\n if(this.chargeByModule == false) {\r\n moduleFees = this.programmeCost;\r\n }\r\n\r\n this.subTotalItem = { description: 'Total tuition fees', amount: moduleFees, credits: moduleCredits };\r\n };\r\n\r\n cacheCoreSpan(key, accessor) {\r\n for (let i = 0; i < this.coreModules.length;) {\r\n let currentValue = accessor(this.coreModules[i]);\r\n let count = 1;\r\n\r\n // Iterate through the remaining rows to see how many match\r\n // the current value as retrieved through the accessor.\r\n for (let j = i + 1; j < this.coreModules.length; j++) { \r\n if (currentValue != accessor(this.coreModules[j])) {\r\n break;\r\n }\r\n\r\n count++;\r\n } \r\n\r\n if (!this.spans[i]) {\r\n this.spans[i] = {};\r\n }\r\n\r\n // Store the number of similar values that were found (the span)\r\n // and skip i to the next unique row.\r\n this.spans[i][key] = count;\r\n i += count;\r\n }\r\n }\r\n\r\n cacheElectSpan(key, accessor) {\r\n for (let i = 0; i < this.electiveModules.length;) {\r\n let currentValue = accessor(this.electiveModules[i]);\r\n let count = 1;\r\n\r\n // Iterate through the remaining rows to see how many match\r\n // the current value as retrieved through the accessor.\r\n for (let j = i + 1; j < this.electiveModules.length; j++) { \r\n if (currentValue != accessor(this.electiveModules[j])) {\r\n break;\r\n }\r\n\r\n count++;\r\n } \r\n\r\n if (!this.spans[i]) {\r\n this.spans[i] = {};\r\n }\r\n\r\n // Store the number of similar values that were found (the span)\r\n // and skip i to the next unique row.\r\n this.spans[i][key] = count;\r\n i += count;\r\n }\r\n }\r\n\r\n getRowSpan(col, index) {\r\n return this.spans[index] && this.spans[index][col];\r\n }\r\n\r\n proceed() {\r\n if(this.coreModules.length > 0) {\r\n //Validate that one group of core modules is selected\r\n let coreModule = this.coreModules.find(m => m.modChecked && m.isCore);\r\n if(!coreModule){\r\n this.notifier.warning('You have to select at least one group of modules in the Compulsory Modules section.', {\r\n timeout: 0,\r\n position: SnotifyPosition.centerCenter,\r\n closeOnClick: false,\r\n buttons: [\r\n {text: 'Ok'}\r\n ]\r\n });\r\n return;\r\n }\r\n }\r\n\r\n var maxCreditsLimit = this.maxCredits * 1.25;\r\n if(maxCreditsLimit > 0 && this.subTotalItem.credits > maxCreditsLimit){\r\n this.notifier.warning('Selected credits far exceed the maximum allowed. maximum allowed is ' + Math.round(maxCreditsLimit) + '.', {\r\n timeout: 0,\r\n position: SnotifyPosition.centerCenter,\r\n closeOnClick: false,\r\n buttons: [\r\n {text: 'Ok'}\r\n ]\r\n });\r\n return;\r\n }\r\n\r\n this.quotationDetail.quotationsModules = [];\r\n\r\n let qModules: Array = []\r\n this.coreModules.forEach(function(m) {\r\n if(m.modSubChecked) {\r\n qModules.push({modChecked: m.modChecked, modSubChecked: m.modSubChecked, rulesKey: m.rulesKey, sequence: m.sequence, \r\n connector: m.connector, moduleCode: m.moduleCode, moduleName: m.moduleName, moduleCost: m.moduleCost, moduleCredits: m.moduleCredits, \r\n electiveGroup1: m.electiveGroup1, electiveGroup2: m.electiveGroup2, compulsorySubGroup: m.compulsorySubGroup, isCore: true, isDisabled: m.isDisabled, isSubDisabled: m.isSubDisabled});\r\n }\r\n });\r\n\r\n this.electiveModules.forEach(function(m) {\r\n if(m.modSubChecked) {\r\n qModules.push({modChecked: m.modChecked, modSubChecked: m.modSubChecked, rulesKey: m.rulesKey, sequence: m.sequence, \r\n connector: m.connector, moduleCode: m.moduleCode, moduleName: m.moduleName, moduleCost: m.moduleCost,moduleCredits: m.moduleCredits, \r\n electiveGroup1: m.electiveGroup1, electiveGroup2: m.electiveGroup2, compulsorySubGroup: m.compulsorySubGroup, isCore: false, isDisabled: m.isDisabled, isSubDisabled: m.isSubDisabled});\r\n }\r\n });\r\n\r\n this.quotationDetail.quotationsModules = qModules;\r\n this.globals.quotationDetail = this.quotationDetail;\r\n this.router.navigate(['/default', {outlets: {'main': ['summary']}}]);\r\n }\r\n\r\n showError(source: string){\r\n this.notifier.error('An error occurred at ' + source + '. Please try again and if the problem persists, please contact support at servicedesk@uwc.ac.za', {\r\n timeout: 0,\r\n position: SnotifyPosition.centerCenter,\r\n closeOnClick: false,\r\n buttons: [\r\n {text: 'Ok'}\r\n ]\r\n });\r\n }\r\n}\r\n\r\ninterface SubTotalItem {\r\n description: string;\r\n amount: number;\r\n credits: number;\r\n\r\n}\r\n\r\ninterface PrevSelectedElectGroups {\r\n electGroup1: number;\r\n electGroup2: number;\r\n}\r\n\r\ninterface GroupsToDisable {\r\n electGroup1: number;\r\n electGroup2: number;\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 \r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n","import { Component, OnInit } from '@angular/core';\r\nimport { DataService } from 'src/app/services/data.service';\r\nimport { GlobalsService } from 'src/app/services/globals.service';\r\n\r\n@Component({\r\n selector: 'app-bcrumbsnav',\r\n templateUrl: './bcrumbsnav.component.html',\r\n styleUrls: ['./bcrumbsnav.component.less']\r\n})\r\nexport class BcrumbsnavComponent implements OnInit {\r\n page: string = \"\";\r\n pageId: number = 0;\r\n isPageDisclaimer: boolean = false;\r\n breadcrumbList: Array = []\r\n studentType: number = 0;\r\n\r\n constructor(private data: DataService,\r\n private globals: GlobalsService) { }\r\n\r\n ngOnInit() {\r\n //NB: Order of items is important\r\n let crumb1: BreadcrumbItem = { id: 1, name: \"home\" }\r\n let crumb2: BreadcrumbItem = { id: 2, name: \"disclaimer\" }\r\n let crumb3: BreadcrumbItem = { id: 3, name: \"programme\" }\r\n let crumb4: BreadcrumbItem = { id: 4, name: \"modules\" }\r\n let crumb5: BreadcrumbItem = { id: 5, name: \"summary\" }\r\n let crumb6: BreadcrumbItem = { id: 6, name: \"personalinfo\" }\r\n let crumb7: BreadcrumbItem = { id: 7, name: \"report\" }\r\n\r\n this.breadcrumbList.push(crumb1, crumb2, crumb3, crumb4, crumb5 ,crumb6, crumb7);\r\n\r\n this.updateCurrentPage();\r\n }\r\n\r\n public updateCurrentPage() {\r\n //First get current page from DataService and set PageId\r\n this.data.currentPage.subscribe(currentPage => {\r\n this.page = currentPage;\r\n var currentBreadcrumb = this.breadcrumbList.find(b => b.name == currentPage);\r\n if(currentBreadcrumb){\r\n this.pageId = currentBreadcrumb.id;\r\n }\r\n else this.pageId = 0;\r\n\r\n //isPageDisclaimer is used to show/hide print button\r\n if(this.page && this.page == \"disclaimer\") {\r\n this.isPageDisclaimer = true;\r\n\r\n if(this.globals.quotationDetail){\r\n this.studentType = this.globals.quotationDetail.studentType;\r\n }\r\n }\r\n else {\r\n this.isPageDisclaimer = false;\r\n }\r\n \r\n this.breadcrumbList.forEach(item => {\r\n var linkItem = document.getElementById(item.name);\r\n if(linkItem){\r\n linkItem.classList.remove(\"current\");\r\n linkItem.classList.remove(\"disabled\");\r\n //TODO: Remove disabled style from link item\r\n var breadcrumbItem = this.breadcrumbList.find(b => b.name == item.name);\r\n if(breadcrumbItem && breadcrumbItem.id > this.pageId){\r\n linkItem.classList.add(\"disabled\");\r\n }\r\n }\r\n });\r\n\r\n var currentLink = document.getElementById(this.page);\r\n if(currentLink){\r\n currentLink.classList.add(\"current\");\r\n }\r\n });\r\n }\r\n\r\n printDisclaimer(){\r\n var contents = document.getElementById(\"local-section\").innerHTML;\r\n if(this.studentType != 1) {\r\n contents = document.getElementById(\"oversees-section\").innerHTML;\r\n }\r\n\r\n var frame1 = document.createElement('iframe');\r\n frame1.name = \"frame1\";\r\n frame1.style.position = \"absolute\";\r\n frame1.style.top = \"-1000000px\";\r\n document.body.appendChild(frame1);\r\n var frameDoc = frame1.contentWindow;\r\n frameDoc.document.open();\r\n frameDoc.document.write('');\r\n frameDoc.document.write('');\r\n frameDoc.document.write(contents);\r\n frameDoc.document.write('');\r\n frameDoc.document.close();\r\n setTimeout(function () {\r\n window.frames[\"frame1\"].focus();\r\n window.frames[\"frame1\"].print();\r\n document.body.removeChild(frame1);\r\n }, 200);\r\n }\r\n}\r\n\r\nexport class BreadcrumbItem {\r\n id: number;\r\n name: string;\r\n}\r\n","
\r\n \r\n
","import { Component, OnInit } from '@angular/core';\r\nimport { DataService } from 'src/app/services/data.service';\r\n\r\n@Component({\r\n selector: 'app-sidenavigation',\r\n templateUrl: './sidenavigation.component.html',\r\n styleUrls: ['./sidenavigation.component.less']\r\n})\r\nexport class SidenavigationComponent implements OnInit {\r\n\r\n constructor(private data: DataService) { }\r\n\r\n ngOnInit() {\r\n }\r\n\r\n closeNav(){\r\n this.data.toggleMobileMenu(false);\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 \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
\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 { Component, OnInit, ViewChild, HostListener } from '@angular/core';\r\nimport { DataService } from 'src/app/services/data.service';\r\nimport { MatSidenav } from '@angular/material';\r\n\r\n@Component({\r\n selector: 'app-topnavigation',\r\n templateUrl: './topnavigation.component.html',\r\n styleUrls: ['./topnavigation.component.less']\r\n})\r\nexport class TopnavigationComponent implements OnInit {\r\n opened: boolean = false;\r\n\r\n @ViewChild('sidenav', {static: false}) sidenav: MatSidenav;\r\n\r\n constructor(private data: DataService) { }\r\n\r\n ngOnInit() {\r\n this.data.mobileMenu.subscribe(state => {\r\n if(state == false) {\r\n this.opened = state;\r\n }\r\n })\r\n }\r\n\r\n toggleMobileMenu(){\r\n this.opened = !this.opened\r\n this.data.toggleMobileMenu(this.opened);\r\n }\r\n\r\n @HostListener('window:resize', ['$event'])\r\n onResize(event){\r\n if(this.opened == true){\r\n this.opened = false;\r\n this.data.toggleMobileMenu(this.opened);\r\n }\r\n }\r\n}\r\n","

Personal Information

\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
Initials
\r\n \r\n Initials\r\n \r\n Initials are required!\r\n \r\n
\r\n
\r\n
\r\n
\r\n
Surname
\r\n \r\n Surname\r\n \r\n Surname is required!\r\n \r\n
\r\n
\r\n
\r\n
\r\n
Email
\r\n \r\n Email\r\n \r\n Email is required!\r\n Invalid email address!\r\n Email and confirm email do not match!\r\n \r\n
\r\n
\r\n
\r\n
\r\n
Confirm Email
\r\n \r\n Confirm Email\r\n \r\n \r\n Confirm email is required!\r\n Invalid email address!\r\n Email and confirm email do not match!\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n\r\n
\r\n Send copy of document(s) to my email address\r\n
\r\n
\r\n Generate Quotation?\r\n
\r\n
\r\n Generate Pro-forma invoice?\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
Funder Name
\r\n \r\n Funder Name\r\n \r\n Funder name is required!\r\n \r\n
\r\n
\r\n
\r\n
\r\n
Contact Person
\r\n \r\n Contact Person\r\n \r\n Contact person is required!\r\n \r\n
\r\n
\r\n
\r\n
\r\n
Contact Number
\r\n \r\n Contact Number\r\n \r\n Contact number is required!\r\n \r\n
\r\n
\r\n
\r\n
\r\n
Registration Number
\r\n \r\n Registration Number\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n
VAT Number
\r\n \r\n VAT Number\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n
Address Line 1
\r\n \r\n Address Line 1\r\n \r\n Address line 1 is required!\r\n \r\n
\r\n
\r\n
\r\n
\r\n
Address Line 2
\r\n \r\n Address Line 2\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n
City/Suburb
\r\n \r\n City/Suburb\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n
Postal Code
\r\n \r\n Postal Code\r\n \r\n Postal code is required!\r\n \r\n
\r\n
\r\n
\r\n
\r\n
Country
\r\n \r\n Country\r\n \r\n Country is required!\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
","import { Component, OnInit, HostListener, forwardRef } from '@angular/core';\r\nimport { FormGroup, FormBuilder, FormControl, Validators } from '@angular/forms';\r\nimport { PersonalInfo, ProformaInfo, QuotationDetail } from '../services/domain.service';\r\nimport { DataService } from '../services/data.service';\r\nimport { Router } from '@angular/router';\r\nimport { StudentType } from '../services/enums.service';\r\nimport { GlobalsService } from '../services/globals.service';\r\nimport { SnotifyService, SnotifyPosition } from 'ng-snotify';\r\n\r\n@Component({\r\n selector: 'app-personalinfo',\r\n templateUrl: './personalinfo.component.html',\r\n styleUrls: ['./personalinfo.component.less']\r\n})\r\n\r\nexport class PersonalinfoComponent implements OnInit {\r\n labelFloat: string = \"always\";\r\n hideConfirmEmail: boolean = true;\r\n sendEmail: boolean = false;\r\n generateProforma: boolean = false;\r\n generateQuotation: boolean = false;\r\n\r\n confirmEmail: string = \"\";\r\n personalInfoForm: FormGroup;\r\n proformaForm: FormGroup;\r\n\r\n personalInfo: PersonalInfo = { initials: \"\", surname: \"\", email: \"\", sendEmail: false };\r\n\r\n proformaInfo: ProformaInfo = {companyName: \"\", contactPerson: \"\", contactNumber: \"\", companyRegNumber: \"\", \r\n vatNumber: \"\", addressLine1: \"\", addressLine2: \"\", city: \"\", postalCode: \"\", country: \"\"};\r\n\r\n quotationDetail: QuotationDetail = { studentType: StudentType.local, academicYear: 0, degreeTypeId: \"\", degreeTypeName: \"\", \r\n gradTypeId: \"\", gradTypeName: \"\", studyTypeId: \"\", studyTypeName: \"\", facultyId: \"\", facultyName: \"\", programmeId: 0, \r\n programmeName: \"\", streamId: \"\", streamName: \"\", yearLevelId: 0, yearLevelName: \"\", quotationsModules: [], programmeDuration: 0, chargeByModule: true, programmeCost: 0,\r\n includeRes: false, generateQuotation: false, generateProforma: false, residence: undefined, personalInfo: undefined, proformaInfo: undefined };\r\n\r\n constructor(private formBuilder: FormBuilder,\r\n private data: DataService,\r\n private router: Router,\r\n private globals: GlobalsService,\r\n private notifier: SnotifyService) { }\r\n\r\n ngOnInit() {\r\n if(window.innerWidth < 600) {\r\n this.labelFloat = \"auto\";\r\n }\r\n\r\n this.data.changePage(\"personalinfo\");\r\n\r\n this.personalInfoForm = this.formBuilder.group({\r\n //Personal details controls\r\n initialsControl: new FormControl('', Validators.required),\r\n surnameControl: new FormControl('', Validators.required),\r\n emailAddressControl: new FormControl('', [Validators.required, Validators.email]),\r\n confirmEmailControl: new FormControl('', [Validators.required, Validators.email]),\r\n sendEmailControl: new FormControl(false)\r\n }, \r\n {\r\n validator: this.confirmEmailMisMatch\r\n });\r\n\r\n this.proformaForm = this.formBuilder.group({\r\n //Proforma invoice details controls\r\n companyNameControl: new FormControl('', Validators.required),\r\n contactPersonControl: new FormControl('', Validators.required),\r\n contactNumberControl: new FormControl('', Validators.required),\r\n companyRegNumberControl: new FormControl(''),\r\n vatNumberControl: new FormControl(''),\r\n addressLine1Control: new FormControl('', Validators.required),\r\n addressLine2Control: new FormControl(''),\r\n cityControl: new FormControl(''),\r\n postalCodeControl: new FormControl('', Validators.required),\r\n countryControl: new FormControl('', Validators.required)\r\n });\r\n\r\n if(this.globals.quotationDetail){\r\n this.quotationDetail = this.globals.quotationDetail;\r\n\r\n if(this.quotationDetail.personalInfo){\r\n this.personalInfo = this.quotationDetail.personalInfo;\r\n this.sendEmail = this.quotationDetail.personalInfo.sendEmail;\r\n this.confirmEmail = this.quotationDetail.personalInfo.email;\r\n\r\n this.personalInfoForm.setValue({\r\n initialsControl: this.quotationDetail.personalInfo.initials,\r\n surnameControl: this.quotationDetail.personalInfo.surname,\r\n emailAddressControl: this.quotationDetail.personalInfo.email,\r\n confirmEmailControl: this.confirmEmail,\r\n sendEmailControl: this.quotationDetail.personalInfo.sendEmail\r\n });\r\n }\r\n\r\n this.generateQuotation = this.quotationDetail.generateQuotation;\r\n\r\n if(this.quotationDetail.proformaInfo){\r\n this.generateProforma = this.quotationDetail.generateProforma;\r\n this.proformaInfo = this.quotationDetail.proformaInfo;\r\n\r\n this.proformaForm.setValue({\r\n companyNameControl: this.quotationDetail.proformaInfo.companyName,\r\n contactPersonControl: this.quotationDetail.proformaInfo.contactPerson,\r\n contactNumberControl: this.quotationDetail.proformaInfo.contactNumber,\r\n companyRegNumberControl: this.quotationDetail.proformaInfo.companyRegNumber,\r\n vatNumberControl: this.quotationDetail.proformaInfo.vatNumber,\r\n addressLine1Control: this.quotationDetail.proformaInfo.addressLine1,\r\n addressLine2Control: this.quotationDetail.proformaInfo.addressLine2,\r\n cityControl: this.quotationDetail.proformaInfo.city,\r\n postalCodeControl: this.quotationDetail.proformaInfo.postalCode,\r\n countryControl: this.quotationDetail.proformaInfo.country\r\n });\r\n }\r\n }\r\n }\r\n\r\n confirmEmailMisMatch (fg: FormGroup){\r\n var emailAddress = fg.controls['emailAddressControl'];\r\n var emailConfirm = fg.controls['confirmEmailControl'];\r\n\r\n if(emailAddress.value != '' && emailConfirm.value != '' && emailAddress.value != emailConfirm.value){\r\n emailConfirm.setErrors({emailMismatch: true});\r\n }\r\n\r\n return null;\r\n }\r\n \r\n confirmEmailVisible() {\r\n this.hideConfirmEmail = false;\r\n }\r\n\r\n confirmEmailHidden() {\r\n this.hideConfirmEmail = true;\r\n }\r\n\r\n generateReport() {\r\n var btnPersonaInfo = document.getElementById('btnPersonaInfo');\r\n if(btnPersonaInfo){\r\n btnPersonaInfo.click();\r\n }\r\n\r\n if(this.generateProforma){\r\n var btnProformaInvoice = document.getElementById('btnProformaInvoice');\r\n if(btnProformaInvoice){\r\n btnProformaInvoice.click();\r\n }\r\n }\r\n\r\n if(this.personalInfoForm.valid){\r\n if(this.personalInfo.email != this.confirmEmail){\r\n this.notifier.warning('Email and Confirm Email do not match.', {\r\n timeout: 0,\r\n position: SnotifyPosition.centerCenter,\r\n closeOnClick: false,\r\n buttons: [\r\n {text: 'Ok'}\r\n ]\r\n });\r\n return;\r\n }\r\n\r\n if(this.generateQuotation == false && this.generateProforma == false){\r\n this.notifier.warning('You have to select at least one report type to generate.', {\r\n timeout: 0,\r\n position: SnotifyPosition.centerCenter,\r\n closeOnClick: false,\r\n buttons: [\r\n {text: 'Ok'}\r\n ]\r\n });\r\n return;\r\n }\r\n\r\n this.quotationDetail.personalInfo = this.personalInfo;\r\n this.quotationDetail.personalInfo.sendEmail = this.sendEmail;\r\n this.quotationDetail.generateQuotation = this.generateQuotation;\r\n this.quotationDetail.generateProforma = this.generateProforma;\r\n this.globals.quotationDetail = this.quotationDetail;\r\n \r\n if(!this.generateProforma){\r\n this.globals.quotationDetail.proformaInfo = undefined;\r\n\r\n this.router.navigate(['/default', {outlets: {'main': ['report']}}]);\r\n }\r\n else{\r\n if(this.proformaForm.valid){\r\n this.quotationDetail.proformaInfo = this.proformaInfo;\r\n\r\n this.router.navigate(['/default', {outlets: {'main': ['report']}}]);\r\n }\r\n }\r\n }\r\n }\r\n\r\n @HostListener('window:resize', ['$event']) \r\n onResize(event){\r\n if(event.target.innerWidth < 600) {\r\n this.labelFloat = \"auto\";\r\n }\r\n else {\r\n this.labelFloat = \"always\";\r\n }\r\n }\r\n\r\n get initialsControl() { return this.personalInfoForm.get('initialsControl') };\r\n get surnameControl() { return this.personalInfoForm.get('surnameControl') };\r\n get emailAddressControl() { return this.personalInfoForm.get('emailAddressControl') };\r\n get confirmEmailControl() { return this.personalInfoForm.get('confirmEmailControl') };\r\n get sendEmailControl() { return this.personalInfoForm.get('sendEmailControl') };\r\n\r\n get companyNameControl() { return this.proformaForm.get('companyNameControl') };\r\n get contactPersonControl() { return this.proformaForm.get('contactPersonControl') };\r\n get companyRegNumberControl() { return this.proformaForm.get('companyRegNumberControl') };\r\n get contactNumberControl() { return this.proformaForm.get('contactNumberControl') };\r\n get vatNumberControl() { return this.proformaForm.get('vatNumberControl') };\r\n get addressLine1Control() { return this.proformaForm.get('addressLine1Control') };\r\n get addressLine2Control() { return this.proformaForm.get('addressLine2Control') };\r\n get cityControl() { return this.proformaForm.get('cityControl') };\r\n get postalCodeControl() { return this.proformaForm.get('postalCodeControl') };\r\n get countryControl() { return this.proformaForm.get('countryControl') };\r\n}\r\n","

Programme

\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
Academic Year
\r\n \r\n Academic Year\r\n \r\n ---\r\n {{academicYear.name}}\r\n \r\n Academic year is required\r\n \r\n \r\n info\r\n \r\n
\r\n
\r\n
\r\n
\r\n
Degree Type
\r\n \r\n Degree Type\r\n \r\n ---\r\n {{degreeType.name}}\r\n \r\n Degree type is required\r\n \r\n \r\n info\r\n \r\n
\r\n
\r\n
\r\n
\r\n
Graduation Type
\r\n \r\n Graduation Type\r\n \r\n ---\r\n {{gradType.name}}\r\n \r\n Graduation type is required\r\n \r\n \r\n info\r\n \r\n
\r\n
\r\n
\r\n
\r\n
Study Type
\r\n \r\n Study Type\r\n \r\n ---\r\n {{studyType.name}}\r\n \r\n Study type is required\r\n \r\n \r\n info\r\n \r\n
\r\n
\r\n
\r\n
\r\n
Faculty
\r\n \r\n Faculty\r\n \r\n ---\r\n {{faculty.name}}\r\n \r\n Faculty is required\r\n \r\n \r\n info\r\n \r\n
\r\n
\r\n
\r\n
\r\n
Programme
\r\n \r\n Programme\r\n \r\n ---\r\n {{programme.name}}\r\n \r\n Programme is required\r\n \r\n \r\n info\r\n \r\n
\r\n
\r\n
\r\n
\r\n
Programme Stream
\r\n \r\n Programme Stream\r\n \r\n ---\r\n {{stream.name}}\r\n \r\n Programme stream is required\r\n \r\n \r\n info\r\n \r\n
\r\n
\r\n
\r\n
\r\n
Year Level
\r\n \r\n Year Level\r\n \r\n ---\r\n {{yearLevel.name}}\r\n \r\n Year level is required\r\n \r\n \r\n info\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 { Component, OnInit, HostListener, AfterViewInit } from '@angular/core';\r\nimport { DegreeType, GraduationType, StudyType, Faculty, Programme, ProgrammeStream, YearLevel, QuotationDetail, AcademicYear } from 'src/app/services/domain.service';\r\nimport { FormGroup, FormBuilder, FormControl, Validators } from '@angular/forms';\r\nimport { QuotationsService } from '../services/quotations.service';\r\nimport { Router } from '@angular/router';\r\nimport { GlobalsService } from '../services/globals.service';\r\nimport { of, forkJoin, Observable } from 'rxjs';\r\nimport { StudentType } from '../services/enums.service';\r\nimport { DataService } from '../services/data.service';\r\nimport { SnotifyService, SnotifyPosition } from 'ng-snotify';\r\n\r\n@Component({\r\n selector: 'app-programme',\r\n templateUrl: './programme.component.html',\r\n styleUrls: ['./programme.component.less']\r\n})\r\nexport class ProgrammeComponent implements OnInit {\r\n labelFloat: string = \"always\";\r\n academicYears: Array = []\r\n degreeTypes: Array = [];\r\n gradTypes: Array = [];\r\n studyTypes: Array = [];\r\n faculties: Array = [];\r\n programmes: Array = [];\r\n streams: Array = [];\r\n yearLevels: Array = [];\r\n\r\n quotationDetail: QuotationDetail = { studentType: StudentType.local, academicYear: 0, degreeTypeId: \"\", degreeTypeName: \"\", \r\n gradTypeId: \"\", gradTypeName: \"\", studyTypeId: \"\", studyTypeName: \"\", facultyId: \"\", facultyName: \"\", programmeId: 0, \r\n programmeName: \"\", streamId: \"\", streamName: \"\", yearLevelId: 0, yearLevelName: \"\", quotationsModules: [], programmeDuration: 0, chargeByModule: true, programmeCost: 0,\r\n includeRes: false, generateQuotation: false, generateProforma: false, residence: undefined, personalInfo: undefined, proformaInfo: undefined };\r\n\r\n programmeForm: FormGroup;\r\n prevSelectedProgramme: number = 0;\r\n prevSelectedYearLevel: number = 0;\r\n\r\n constructor(private formBuilder: FormBuilder,\r\n private service: QuotationsService,\r\n private globals: GlobalsService,\r\n private router: Router,\r\n private data: DataService,\r\n private notifier: SnotifyService) { }\r\n\r\n ngOnInit() {\r\n if(window.innerWidth < 600) {\r\n this.labelFloat = \"auto\";\r\n }\r\n\r\n this.data.changePage(\"programme\");\r\n this.data.isLoading(true);\r\n\r\n this.programmeForm = this.formBuilder.group({\r\n academicYearControl: new FormControl(0, Validators.min(1)),\r\n degreeTypeControl: new FormControl('', Validators.required),\r\n gradTypeControl: new FormControl('', Validators.required),\r\n studyTypeControl: new FormControl('', Validators.required),\r\n facultyControl: new FormControl('', Validators.required),\r\n programmeControl: new FormControl(0, Validators.min(1)),\r\n streamControl: new FormControl(''),\r\n yearLevelControl: new FormControl(0, Validators.min(1))\r\n });\r\n\r\n this.loadProgrammeData().subscribe(response => {\r\n this.academicYears = response[0] as Array;\r\n this.degreeTypes = response[1] as Array;\r\n this.gradTypes = response[2] as Array;\r\n this.studyTypes = response[3] as Array;\r\n this.faculties = response[4] as Array;\r\n\r\n if(this.globals.quotationDetail) {\r\n this.quotationDetail = this.globals.quotationDetail;\r\n this.prevSelectedProgramme = this.quotationDetail.programmeId;\r\n this.prevSelectedYearLevel = this.quotationDetail.yearLevelId;\r\n }\r\n }, error => {\r\n this.data.isLoading(false);\r\n console.log(\"Error on loadProgrammeData() : \", error);\r\n this.showError('loadProgrammeData');\r\n }, () => {\r\n this.programmeFilterOnLoad().subscribe(response => {\r\n this.programmes = response[0] as Array;\r\n this.programmeChanged(this.quotationDetail.programmeId);\r\n\r\n this.programmeForm.setValue({\r\n academicYearControl: this.quotationDetail.academicYear,\r\n degreeTypeControl: this.quotationDetail.degreeTypeId,\r\n gradTypeControl: this.quotationDetail.gradTypeId,\r\n studyTypeControl: this.quotationDetail.studyTypeId,\r\n facultyControl: this.quotationDetail.facultyId,\r\n programmeControl: this.quotationDetail.programmeId,\r\n streamControl: this.quotationDetail.streamId,\r\n yearLevelControl: this.quotationDetail.yearLevelId\r\n });\r\n }, error => {\r\n this.data.isLoading(false);\r\n console.log(\"Error on programmeFilterOnLoad(): \", error);\r\n this.showError('programmeFilterOnLoad');\r\n }, () => {\r\n this.data.isLoading(false);\r\n });\r\n });\r\n }\r\n\r\n loadProgrammeData(): Observable {\r\n let response1 = this.service.getAcademicYears();\r\n let response2 = this.service.getDegreeTypes();\r\n let response3 = this.service.getGraduationTypes();\r\n let response4 = this.service.getStudyTypes();\r\n let response5 = this.service.getFaculties();\r\n\r\n return forkJoin(response1, response2, response3, response4, response5);\r\n }\r\n\r\n programmeFilterOnLoad(): Observable {\r\n let programmes = this.service.getProgrammes(this.quotationDetail.academicYear, this.quotationDetail.degreeTypeId,\r\n this.quotationDetail.gradTypeId, this.quotationDetail.studyTypeId, this.quotationDetail.facultyId);\r\n\r\n return forkJoin(programmes);\r\n }\r\n\r\n programmeFilterChange() {\r\n this.programmes = [];\r\n this.streams = [];\r\n this.yearLevels = [];\r\n\r\n //Clear previously selected programme\r\n if(this.quotationDetail){\r\n this.quotationDetail.programmeId = 0;\r\n this.quotationDetail.streamId = \"\";\r\n this.quotationDetail.yearLevelId = 0;\r\n\r\n this.programmeForm.setValue({\r\n academicYearControl: this.quotationDetail.academicYear,\r\n degreeTypeControl: this.quotationDetail.degreeTypeId,\r\n gradTypeControl: this.quotationDetail.gradTypeId,\r\n studyTypeControl: this.quotationDetail.studyTypeId,\r\n facultyControl: this.quotationDetail.facultyId,\r\n programmeControl: this.quotationDetail.programmeId,\r\n streamControl: this.quotationDetail.streamId,\r\n yearLevelControl: this.quotationDetail.yearLevelId\r\n });\r\n }\r\n\r\n let canFilter: boolean = false;\r\n if(this.quotationDetail.academicYear != 0 && this.quotationDetail.degreeTypeId != \"\" &&\r\n this.quotationDetail.gradTypeId != \"\" && this.quotationDetail.studyTypeId != \"\" && this.quotationDetail.facultyId != \"\") {\r\n canFilter = true;\r\n }\r\n\r\n if(canFilter) {\r\n this.data.isLoading(true);\r\n this.service.getProgrammes(this.quotationDetail.academicYear, this.quotationDetail.degreeTypeId,\r\n this.quotationDetail.gradTypeId, this.quotationDetail.studyTypeId, this.quotationDetail.facultyId).subscribe(result => {\r\n this.programmes = result as Array;\r\n }, error => {\r\n this.data.isLoading(false);\r\n console.log('Error on programmeFilterChange(): ', error)\r\n this.showError('programmeFilterChange');\r\n }, () => {\r\n this.data.isLoading(false);\r\n });\r\n }\r\n }\r\n\r\n programmeChanged(id: number) {\r\n this.streams = []\r\n this.yearLevels = []\r\n\r\n let programme: Programme = this.programmes.find(p => p.id == id);\r\n if(programme) {\r\n if(programme.streams) {\r\n this.streams = programme.streams;\r\n }\r\n\r\n if(programme.yearLevels) {\r\n this.yearLevels = programme.yearLevels\r\n }\r\n }\r\n }\r\n\r\n proceed() {\r\n if(this.programmeForm.valid) {\r\n //If programme or year level has changed, remove any previously selected modules\r\n if(this.quotationDetail.quotationsModules && this.quotationDetail.quotationsModules.length > 0) {\r\n if((this.prevSelectedProgramme != 0 && this.prevSelectedProgramme != this.quotationDetail.programmeId) ||\r\n (this.prevSelectedYearLevel != 0 && this.prevSelectedYearLevel != this.quotationDetail.yearLevelId)) {\r\n this.quotationDetail.quotationsModules = [];\r\n }\r\n }\r\n\r\n let degreeType: DegreeType = this.degreeTypes.find(dt => dt.id == this.quotationDetail.degreeTypeId);\r\n if(degreeType) {\r\n this.quotationDetail.degreeTypeName = degreeType.name;\r\n } else {\r\n this.quotationDetail.degreeTypeName = \"\";\r\n }\r\n\r\n let gradType: GraduationType = this.gradTypes.find(gt => gt.id == this.quotationDetail.gradTypeId);\r\n if(gradType) {\r\n this.quotationDetail.gradTypeName = gradType.name;\r\n } else {\r\n this.quotationDetail.gradTypeName = \"\";\r\n }\r\n\r\n let studyType: StudyType = this.studyTypes.find(st => st.id == this.quotationDetail.studyTypeId);\r\n if(studyType) {\r\n this.quotationDetail.studyTypeName = studyType.name;\r\n } else {\r\n this.quotationDetail.studyTypeName = \"\";\r\n }\r\n\r\n let faculty: Faculty = this.faculties.find(f => f.id == this.quotationDetail.facultyId);\r\n if(faculty) {\r\n this.quotationDetail.facultyName = faculty.name;\r\n } else {\r\n this.quotationDetail.facultyName = \"\";\r\n }\r\n\r\n let programme: Programme = this.programmes.find(p => p.id == this.quotationDetail.programmeId);\r\n if(programme) {\r\n this.quotationDetail.programmeName = programme.name;\r\n } else {\r\n this.quotationDetail.programmeName = \"\";\r\n }\r\n\r\n let stream: ProgrammeStream = this.streams.find(s => s.id == this.quotationDetail.streamId);\r\n if(stream) {\r\n this.quotationDetail.streamName = stream.name;\r\n } else {\r\n this.quotationDetail.streamName = \"\";\r\n }\r\n\r\n let yearLevel: YearLevel = this.yearLevels.find(yl => yl.id == this.quotationDetail.yearLevelId);\r\n if(yearLevel) {\r\n this.quotationDetail.yearLevelName = yearLevel.name;\r\n } else {\r\n this.quotationDetail.yearLevelName = \"\";\r\n }\r\n\r\n this.quotationDetail.programmeDuration = this.yearLevels.length;\r\n\r\n this.data.isLoading(true);\r\n this.service.hasAcademicRules(this.quotationDetail.academicYear, programme.id, this.quotationDetail.streamId, yearLevel.id).subscribe(result => {\r\n var hasAcademicRules = result as boolean;\r\n if(hasAcademicRules){\r\n this.globals.quotationDetail = this.quotationDetail;\r\n this.router.navigate(['/default', {outlets: {'main': ['modules']}}]);\r\n } else {\r\n this.notifier.warning('Programme not available for Online Quoations or Pro-forma Invoices. Please select another Programme or contact the Faculty.', {\r\n timeout: 0,\r\n position: SnotifyPosition.centerCenter,\r\n closeOnClick: false,\r\n buttons: [\r\n {text: 'Ok'}\r\n ]\r\n });\r\n }\r\n }, error => {\r\n this.data.isLoading(false);\r\n console.log(\"error in hasAcademicRules: \", error);\r\n this.showError('hasAcademicRules');\r\n }, () => {\r\n this.data.isLoading(false);\r\n });\r\n }\r\n }\r\n\r\n @HostListener('window:resize', ['$event']) \r\n onResize(event){\r\n if(event.target.innerWidth < 600) {\r\n this.labelFloat = \"auto\";\r\n }\r\n else {\r\n this.labelFloat = \"always\";\r\n }\r\n }\r\n\r\n showError(source: string){\r\n this.notifier.error('An error occurred at ' + source + '. Please try again and if the problem persists, please contact support at servicedesk@uwc.ac.za', {\r\n timeout: 0,\r\n position: SnotifyPosition.centerCenter,\r\n closeOnClick: false,\r\n buttons: [\r\n {text: 'Ok'}\r\n ]\r\n });\r\n }\r\n\r\n get academicYearControl() { return this.programmeForm.get('academicYearControl') };\r\n get degreeTypeControl() { return this.programmeForm.get('degreeTypeControl') };\r\n get gradTypeControl() { return this.programmeForm.get('gradTypeControl') };\r\n get studyTypeControl() { return this.programmeForm.get('studyTypeControl') };\r\n get facultyControl() { return this.programmeForm.get('facultyControl') };\r\n get programmeControl() { return this.programmeForm.get('programmeControl') };\r\n get streamControl() { return this.programmeForm.get('streamControl') };\r\n get yearLevelControl() { return this.programmeForm.get('yearLevelControl') };\r\n}\r\n","
\r\n

{{reportHeader}}

\r\n
\r\n \r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n
","import { Component, OnInit } from '@angular/core';\r\nimport { DataService } from '../services/data.service';\r\nimport { GlobalsService } from '../services/globals.service';\r\nimport { SnotifyService, SnotifyPosition } from 'ng-snotify';\r\nimport { QuotationsService } from '../services/quotations.service';\r\nimport { DomSanitizer, SafeUrl } from '@angular/platform-browser';\r\n\r\n@Component({\r\n selector: 'app-reportview',\r\n templateUrl: './reportview.component.html',\r\n styleUrls: ['./reportview.component.less']\r\n})\r\nexport class ReportviewComponent implements OnInit {\r\n reportHeader: string = \"\";\r\n reportData: ReportData;\r\n modules: Array = [];\r\n totals: Array = [];\r\n proformaDetail: ProformaDetail;\r\n\r\n totalTuitionFee: number = 0;\r\n registrationFee: number = 0;\r\n resAccommodationFee: number = 0;\r\n trustedURL: SafeUrl;\r\n\r\n constructor(private data: DataService,\r\n private globals: GlobalsService,\r\n private service: QuotationsService,\r\n private sanitizer: DomSanitizer,\r\n private notifier: SnotifyService) { \r\n }\r\n\r\n ngOnInit() {\r\n this.data.changePage(\"report\");\r\n if(this.globals.quotationDetail){\r\n this.data.isLoading(true);\r\n this.resolveReportHeader();\r\n \r\n this.service.getRegistrationFee().subscribe(result => {\r\n this.registrationFee = result as number;\r\n }, error => {\r\n this.data.isLoading(false);\r\n console.log(\"Error on getRegistrationFee: \", error);\r\n this.showError('getRegistrationFee');\r\n }, () =>{\r\n this.loadReportData();\r\n\r\n /*=============================================================================================================*/\r\n // Variables to generate empty template\r\n /*=============================================================================================================*/\r\n /*\r\n let reportData2: ReportData = {report: this.reportData.report, surname: '', surnameInitals: '', faculty: '',\r\n studyYear: this.reportData.studyYear, programme: -1, studyCourse: '', yearLevel: -1, studentType: -1, \r\n regFee: this.reportData.regFee, sendEmail: this.reportData.sendEmail, emailAddress: this.reportData.emailAddress};\r\n this.modules = []; this.totals = []; \r\n let proformaDetail2: ProformaDetail = {funderName: '', addressLine1: '', addressLine2: '', city: '',\r\n postalCode: '', country: '', contactNo: '', companyRegNo: '', vatNo: '', contactPerson: ''}\r\n */\r\n /*=============================================================================================================*/\r\n\r\n this.service.generateReport(this.reportData, this.modules, this.totals, this.proformaDetail).subscribe(result => {\r\n var file = 'data:application/pdf;base64,' + result;\r\n this.trustedURL = this.sanitizer.bypassSecurityTrustResourceUrl(file);\r\n }, error => {\r\n this.data.isLoading(false);\r\n console.log(\"Error on generateReport: \", error);\r\n this.showError('generateReport');\r\n }, () => {\r\n this.data.isLoading(false);\r\n\r\n if(this.globals.quotationDetail.personalInfo.sendEmail){\r\n let eDocument = 'Quotation';\r\n if(this.globals.quotationDetail.generateQuotation && this.globals.quotationDetail.generateProforma) eDocument += ' and Proforma Invoice';\r\n else if(!this.globals.quotationDetail.generateQuotation && this.globals.quotationDetail.generateProforma) eDocument = 'Proforma Invoice';\r\n this.notifier.success(eDocument.concat(' sent to your email address'));\r\n }\r\n })\r\n });\r\n }\r\n }\r\n\r\n resolveReportHeader(){\r\n if(this.globals.quotationDetail.generateQuotation && !this.globals.quotationDetail.generateProforma){\r\n this.reportHeader = \"Quotation\";\r\n }\r\n else if(!this.globals.quotationDetail.generateQuotation && this.globals.quotationDetail.generateProforma){\r\n this.reportHeader = \"Pro-forma Invoice\";\r\n }\r\n else {\r\n this.reportHeader = \"Quotation and Pro-forma Invoice\";\r\n }\r\n }\r\n\r\n loadReportData() {\r\n this.globals.quotationDetail.quotationsModules.forEach(mod => {\r\n var module: ReportModule = {\r\n moduleYear: this.globals.quotationDetail.academicYear, \r\n moduleCode: mod.moduleCode, \r\n moduleName: mod.moduleName, \r\n moduleCost: mod.moduleCost\r\n };\r\n this.modules.push(module);\r\n if(this.globals.quotationDetail.chargeByModule == true) {\r\n this.totalTuitionFee += module.moduleCost;\r\n }\r\n });\r\n\r\n if(this.globals.quotationDetail.chargeByModule == false){\r\n this.totalTuitionFee = this.globals.quotationDetail.programmeCost;\r\n }\r\n\r\n var totalTuition: ReportTotal = {\r\n year: this.globals.quotationDetail.academicYear, \r\n description: \"Total Tuition Fees\", \r\n amount: this.totalTuitionFee\r\n };\r\n this.totals.push(totalTuition); \r\n\r\n var totalRegistration = {\r\n year: this.globals.quotationDetail.academicYear, \r\n description: \"Registration Fees\", \r\n amount: this.registrationFee\r\n };\r\n this.totals.push(totalRegistration);\r\n\r\n if(this.globals.quotationDetail.includeRes && this.globals.quotationDetail.residence){\r\n var totalAccommodation = {\r\n year: this.globals.quotationDetail.academicYear, \r\n description: this.globals.quotationDetail.residence.roomTypeName, \r\n amount: this.globals.quotationDetail.residence.maxPrice\r\n };\r\n this.totals.push(totalAccommodation);\r\n }\r\n\r\n if(this.globals.quotationDetail.generateProforma && this.globals.quotationDetail.proformaInfo){\r\n this.proformaDetail = {\r\n funderName: this.globals.quotationDetail.proformaInfo.companyName,\r\n addressLine1: this.globals.quotationDetail.proformaInfo.addressLine1,\r\n addressLine2: this.globals.quotationDetail.proformaInfo.addressLine2,\r\n city: this.globals.quotationDetail.proformaInfo.city,\r\n postalCode: this.globals.quotationDetail.proformaInfo.postalCode,\r\n country: this.globals.quotationDetail.proformaInfo.country,\r\n contactNo: this.globals.quotationDetail.proformaInfo.contactNumber,\r\n companyRegNo: this.globals.quotationDetail.proformaInfo.companyRegNumber,\r\n vatNo: this.globals.quotationDetail.proformaInfo.vatNumber,\r\n contactPerson: this.globals.quotationDetail.proformaInfo.contactPerson\r\n }\r\n }\r\n\r\n let reportNames: string = \"\";\r\n if(this.globals.quotationDetail.generateQuotation){\r\n reportNames = \"Quotation\";\r\n }\r\n if(this.globals.quotationDetail.generateProforma){\r\n if(reportNames != \"\") reportNames += \",\";\r\n reportNames += \"Proforma\";\r\n }\r\n\r\n this.reportData = {\r\n report: reportNames,\r\n surname: this.globals.quotationDetail.personalInfo.surname,\r\n surnameInitals: this.globals.quotationDetail.personalInfo.surname + \", \" + this.globals.quotationDetail.personalInfo.initials,\r\n studyYear: this.globals.quotationDetail.academicYear,\r\n faculty: this.globals.quotationDetail.facultyName,\r\n programme: this.globals.quotationDetail.programmeId,\r\n studyCourse: this.globals.quotationDetail.programmeName,\r\n progStream: this.globals.quotationDetail.streamName,\r\n yearLevel: this.globals.quotationDetail.yearLevelId,\r\n studentType: this.globals.quotationDetail.studentType,\r\n regFee: this.registrationFee,\r\n sendEmail: this.globals.quotationDetail.personalInfo.sendEmail,\r\n emailAddress: this.globals.quotationDetail.personalInfo.email\r\n }\r\n }\r\n\r\n showError(source: string){\r\n this.notifier.error('An error occurred at ' + source + '. Please try again and if the problem persists, please contact support at servicedesk@uwc.ac.za', {\r\n timeout: 0,\r\n position: SnotifyPosition.centerCenter,\r\n closeOnClick: false,\r\n buttons: [\r\n {text: 'Ok'}\r\n ]\r\n });\r\n }\r\n}\r\n\r\ninterface ReportData {\r\n report: string;\r\n surname: string;\r\n surnameInitals: string;\r\n studyYear: number;\r\n faculty: string;\r\n programme: number;\r\n studyCourse: string;\r\n progStream: string;\r\n yearLevel: number;\r\n studentType: number;\r\n regFee: number;\r\n sendEmail: boolean;\r\n emailAddress: string;\r\n}\r\n\r\ninterface ReportModule {\r\n moduleYear: number;\r\n moduleCode: string;\r\n moduleName: string;\r\n moduleCost: number;\r\n}\r\n\r\ninterface ReportTotal {\r\n year: number;\r\n description: string;\r\n amount: number;\r\n}\r\n\r\ninterface ProformaDetail {\r\n funderName: string;\r\n addressLine1: string;\r\n addressLine2: string;\r\n city: string;\r\n postalCode: string;\r\n country: string;\r\n contactNo: string;\r\n companyRegNo: string;\r\n vatNo: string;\r\n contactPerson: string;\r\n}\r\n\r\n\r\n\r\n\r\n","import { Injectable } from '@angular/core';\r\nimport { BehaviorSubject } from 'rxjs/internal/BehaviorSubject';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class DataService {\r\n\r\n private pageSource = new BehaviorSubject(\"home\");\r\n currentPage = this.pageSource.asObservable();\r\n\r\n private mobileMenuState = new BehaviorSubject(false);\r\n mobileMenu = this.mobileMenuState.asObservable();\r\n\r\n private loadingStatus = new BehaviorSubject(false);\r\n dataLoading = this.loadingStatus.asObservable();\r\n\r\n constructor() { }\r\n\r\n changePage(page: string) {\r\n this.pageSource.next(page);\r\n }\r\n\r\n toggleMobileMenu(state: boolean){\r\n this.mobileMenuState.next(state);\r\n }\r\n\r\n isLoading(status: boolean){\r\n this.loadingStatus.next(status);\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class DomainService {\r\n\r\n constructor() { }\r\n}\r\n\r\nexport interface AcademicYear {\r\n id: number;\r\n name: string;\r\n}\r\n\r\nexport interface DegreeType {\r\n id: string;\r\n name: string;\r\n}\r\n\r\nexport interface GraduationType {\r\n id: string;\r\n name: string;\r\n}\r\n\r\nexport interface StudyType {\r\n id: string;\r\n name: string;\r\n}\r\n\r\nexport interface Faculty {\r\n id: string;\r\n name: string;\r\n}\r\n\r\nexport interface Programme {\r\n id: number;\r\n name: string;\r\n streams: Array;\r\n yearLevels: Array;\r\n}\r\n\r\nexport interface ProgrammeStream {\r\n id: string;\r\n name: string;\r\n}\r\n\r\nexport interface YearLevel {\r\n id: number;\r\n name: string;\r\n}\r\n\r\nexport interface Gender {\r\n id: string;\r\n name: string;\r\n}\r\n\r\nexport interface QuotationDetail {\r\n studentType: number;\r\n academicYear: number;\r\n degreeTypeId: string;\r\n degreeTypeName: string;\r\n gradTypeId: string;\r\n gradTypeName: string;\r\n studyTypeId: string;\r\n studyTypeName: string;\r\n facultyId: string;\r\n facultyName: string;\r\n programmeId: number;\r\n programmeName: string;\r\n streamId: string;\r\n streamName: string;\r\n yearLevelId: number;\r\n yearLevelName: string;\r\n programmeDuration: number;\r\n chargeByModule: boolean\r\n programmeCost: number;\r\n includeRes: boolean;\r\n generateQuotation: boolean;\r\n generateProforma: boolean;\r\n\r\n quotationsModules: Array;\r\n residence: ResidenceItem;\r\n personalInfo: PersonalInfo;\r\n proformaInfo: ProformaInfo;\r\n}\r\n\r\nexport interface QuotationModule {\r\n modChecked: boolean;\r\n modSubChecked: boolean;\r\n rulesKey: number;\r\n sequence: number;\r\n connector: string;\r\n moduleCode: string;\r\n moduleName: string;\r\n moduleCost: number;\r\n moduleCredits: number;\r\n electiveGroup1: number;\r\n electiveGroup2: number;\r\n compulsorySubGroup: boolean;\r\n isCore: boolean;\r\n isDisabled: boolean;\r\n isSubDisabled: boolean;\r\n}\r\n\r\nexport interface ModuleProgramme {\r\n year: number;\r\n programme: number;\r\n programmeName: string;\r\n yearLevel: number;\r\n studyType: string;\r\n maxYearLevelCredits: number;\r\n costLocal: number;\r\n costInt: number;\r\n chargeType: string;\r\n chargeTypeDscr: string;\r\n\r\n modules: Array;\r\n}\r\n\r\nexport interface Module {\r\n year: number;\r\n programme: number;\r\n stream: string;\r\n yearLevel: number;\r\n moduleCode: string;\r\n moduleName: string;\r\n costLocal: number;\r\n costInt: number;\r\n credits: number;\r\n ruleType: string;\r\n rulesKey: number;\r\n sequence: number;\r\n connector: string;\r\n electiveGroup1: number;\r\n electiveGroup2: number;\r\n compulsorySubGroup: boolean;\r\n}\r\n\r\nexport interface ResidenceItem {\r\n selected: boolean;\r\n roomTypeId: string;\r\n roomTypeName: string;\r\n maxPrice: number;\r\n toolTip: string;\r\n}\r\n\r\nexport interface PersonalInfo {\r\n initials: string;\r\n surname: string;\r\n email: string\r\n sendEmail: boolean;\r\n}\r\n\r\nexport interface ProformaInfo {\r\n companyName: string;\r\n contactPerson: string;\r\n contactNumber: string;\r\n companyRegNumber: string;\r\n vatNumber: string;\r\n addressLine1: string;\r\n addressLine2: string;\r\n city: string;\r\n postalCode: string;\r\n country: string;\r\n}\r\n\r\nexport interface DownPayment {\r\n key: string;\r\n amount: number;\r\n}","import { Injectable } from '@angular/core';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class EnumsService {\r\n\r\n constructor() { }\r\n}\r\n\r\nexport enum StudentType {\r\n local = 1,\r\n sadc = 2,\r\n international = 3\r\n}","import { Injectable } from '@angular/core';\r\nimport { QuotationDetail, QuotationModule } from './domain.service';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class GlobalsService {\r\n public quotationDetail: QuotationDetail = undefined;\r\n\r\n constructor() { }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { HttpClient, HttpHeaders } from '@angular/common/http';\r\n\r\nconst headers = new HttpHeaders({\r\n 'Content-Type': 'application/json',\r\n 'Access-Control-Allow-Origin':'*',\r\n});\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class QuotationsService {\r\n apiurl: string = '';\r\n\r\n // (local dev)\r\n //apiurl = 'https://localhost:44397/api';\r\n\r\n //(remote dev)\r\n //apiurl = 'http://apps-web1-dev:8088/api';\r\n\r\n //(remote stg)\r\n //apiurl = 'http://apps-web1-stg:92/api';\r\n\r\n //(production 1)\r\n //apiurl = 'http://quotations-prd.ad.uwc.ac.za:81/api';\r\n\r\n //(production 2)\r\n //apiurl = 'https://quote-api.uwc.ac.za/api';\r\n\r\n constructor(private http: HttpClient) { }\r\n\r\n generateReport(reportData, modules, totals, proformaDetail) {\r\n return this.http.post(this.apiurl + '/reports/generatereport', { reportData, modules, totals, proformaDetail }, {responseType:'text', headers: headers});\r\n }\r\n\r\n getAcademicYears() {\r\n return this.http.get(this.apiurl + '/listitem/getacademicyears', { headers: headers });\r\n }\r\n\r\n getCurrentDateFull(){\r\n return this.http.get(this.apiurl + '/listitem/getCurrentDateFull', {responseType:'text', headers: headers });\r\n }\r\n\r\n getDegreeTypes() {\r\n return this.http.get(this.apiurl + '/listitem/getdegreetypes', { headers: headers });\r\n }\r\n\r\n getGraduationTypes() {\r\n return this.http.get(this.apiurl + '/listitem/getgraduationtypes', { headers: headers });\r\n }\r\n\r\n getStudyTypes() {\r\n return this.http.get(this.apiurl + '/listitem/getstudytypes', { headers: headers });\r\n }\r\n\r\n getFaculties() {\r\n return this.http.get(this.apiurl + '/listitem/getfaculties', { headers: headers });\r\n }\r\n\r\n getProgrammes(year: number, degreeTypeId: string, gradTypeId: string, studyTypeId: string, facultyId: string) {\r\n return this.http.post(this.apiurl + '/listitem/getprogrammes', { year, degreeTypeId, gradTypeId, studyTypeId, facultyId }, { headers: headers });\r\n }\r\n\r\n getPersonTitles() {\r\n return this.http.get(this.apiurl + '/listitem/getpersontitles', { headers: headers });\r\n }\r\n\r\n async getGenders() {\r\n return await this.http.get(this.apiurl + '/listitem/getgenders', { headers: headers }).toPromise();\r\n }\r\n\r\n getResidences(year: number, faculty: string, gradType: string, programmeDuration: number, yearLevel: number) {\r\n return this.http.post(this.apiurl + '/residence/getresidences', { year, faculty, gradType, programmeDuration, yearLevel }, { headers: headers });\r\n }\r\n\r\n getRegistrationFee() {\r\n return this.http.get(this.apiurl + '/programme/getregistrationfee', {headers: headers});\r\n }\r\n\r\n getDownPayments() {\r\n return this.http.get(this.apiurl + '/programme/getdownpayments', {headers: headers});\r\n }\r\n\r\n hasAcademicRules(year: number, programme: number, stream: string, yearLevel: number) {\r\n return this.http.post(this.apiurl + '/programme/hasacademicrules', {year, programme, stream, yearLevel}, { headers: headers });\r\n }\r\n\r\n getModuleProgramme(year: number, programme: number, stream: string, studyType: string, yearLevel: number) {\r\n return this.http.post(this.apiurl + '/programme/getmoduleprogramme', {year, programme, stream, studyType, yearLevel}, { headers: headers });\r\n }\r\n}\r\n","// This file can be replaced during build by using the `fileReplacements` array.\r\n// `ng build --prod` 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: true\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/dist/zone-error'; // Included with Angular CLI.\r\n","import 'hammerjs';\r\nimport { enableProdMode } from '@angular/core';\r\nimport { platformBrowserDynamic } from '@angular/platform-browser-dynamic';\r\n\r\nimport { AppModule } from './app/app.module';\r\nimport { environment } from './environments/environment';\r\n\r\nif (environment.production) {\r\n enableProdMode();\r\n}\r\n\r\nplatformBrowserDynamic().bootstrapModule(AppModule)\r\n .catch(err => console.error(err));\r\n"],"sourceRoot":""}