{"version":3,"sources":["./src/$_lazy_route_resource lazy","./src/app/components/base-cot-form.component.ts","./src/app/components/page-not-found/page-not-found.component.html","./src/app/components/page-not-found/page-not-found.component.scss","./src/app/components/page-not-found/page-not-found.component.ts","./src/app/components/page-not-found/page-not-found.module.ts","./src/app/components/shared-material-flex.module.ts","./src/app/customizations/islington/app-islington.component.css","./src/app/customizations/islington/app-islington.component.html","./src/app/customizations/islington/app-islington.component.ts","./src/app/customizations/islington/app-islington.module.ts","./src/app/customizations/islington/app-islington.router.ts","./src/app/customizations/islington/footer/islington-footer.component.html","./src/app/customizations/islington/footer/islington-footer.component.scss","./src/app/customizations/islington/footer/islington-footer.component.ts","./src/app/customizations/islington/footer/islington-footer.module.ts","./src/app/customizations/islington/footer/islington-footer.service.ts","./src/app/customizations/islington/header/islington-header.component.html","./src/app/customizations/islington/header/islington-header.component.scss","./src/app/customizations/islington/header/islington-header.component.ts","./src/app/customizations/islington/header/islington-header.module.ts","./src/app/customizations/islington/mainIslington.ts","./src/app/http-communication/cot-http.module.ts","./src/app/http-communication/cot-http.service.ts","./src/app/http-communication/http-interceptor.ts","./src/app/http-communication/log-service.ts","./src/app/services/checked-validator.ts","./src/app/services/common-notification.service.ts","./src/app/services/common-utility.service.ts","./src/app/services/cot-error-state-matcher.ts","./src/app/services/safeHtml.ts","./src/app/widgets/base-widget.component.ts","./src/app/widgets/cot-analysis-form/cot-analysis-form.component.html","./src/app/widgets/cot-analysis-form/cot-analysis-form.component.scss","./src/app/widgets/cot-analysis-form/cot-analysis-form.component.ts","./src/app/widgets/cot-form-control/cot-form-control.component.html","./src/app/widgets/cot-form-control/cot-form-control.component.scss","./src/app/widgets/cot-form-control/cot-form-control.component.ts","./src/app/widgets/cot-parental-consent-form/cot-parental-consent-form.component.html","./src/app/widgets/cot-parental-consent-form/cot-parental-consent-form.component.scss","./src/app/widgets/cot-parental-consent-form/cot-parental-consent-form.component.ts","./src/app/widgets/cot-udfs-regular-form/cot-udfs-regular-form.component.html","./src/app/widgets/cot-udfs-regular-form/cot-udfs-regular-form.component.scss","./src/app/widgets/cot-udfs-regular-form/cot-udfs-regular-form.component.ts","./src/app/widgets/custom-dialog/custom-dialog.component.html","./src/app/widgets/custom-dialog/custom-dialog.component.scss","./src/app/widgets/custom-dialog/custom-dialog.component.ts","./src/app/widgets/custom-fab/custom-fab.component.html","./src/app/widgets/custom-fab/custom-fab.component.scss","./src/app/widgets/custom-fab/custom-fab.component.ts","./src/app/widgets/dropdown/dropdown.component.html","./src/app/widgets/dropdown/dropdown.component.scss","./src/app/widgets/dropdown/dropdown.component.ts","./src/app/widgets/file-uploader/file-uploader.component.html","./src/app/widgets/file-uploader/file-uploader.component.scss","./src/app/widgets/file-uploader/file-uploader.component.ts","./src/app/widgets/generic-form-buttons/generic-form-buttons.component.html","./src/app/widgets/generic-form-buttons/generic-form-buttons.component.scss","./src/app/widgets/generic-form-buttons/generic-form-buttons.component.ts","./src/app/widgets/generic-form-window/generic-form-window.component.html","./src/app/widgets/generic-form-window/generic-form-window.component.scss","./src/app/widgets/generic-form-window/generic-form-window.component.ts","./src/app/widgets/loading-spinner/loading-spinner.component.html","./src/app/widgets/loading-spinner/loading-spinner.component.scss","./src/app/widgets/loading-spinner/loading-spinner.component.ts","./src/app/widgets/sticky-snackbar/sticky-snackbar.component.html","./src/app/widgets/sticky-snackbar/sticky-snackbar.component.scss","./src/app/widgets/sticky-snackbar/sticky-snackbar.component.ts","./src/app/widgets/widgets-custom-theme.scss","./src/app/widgets/widgets.module.ts","./src/environments/environment.ts"],"names":[],"mappings":"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","file":"main.bundle.js","sourcesContent":["var map = {\n\t\"app/customizations/islington/book-now/islington-book-now.module\": [\n\t\t\"./src/app/customizations/islington/book-now/islington-book-now.module.ts\",\n\t\t\"common\",\n\t\t\"islington-book-now.module\"\n\t],\n\t\"app/customizations/islington/enquiry/islington-enquiry.module\": [\n\t\t\"./src/app/customizations/islington/enquiry/islington-enquiry.module.ts\",\n\t\t\"common\",\n\t\t\"islington-enquiry.module\"\n\t]\n};\nfunction webpackAsyncContext(req) {\n\tvar ids = map[req];\n\tif(!ids)\n\t\treturn Promise.reject(new Error(\"Cannot find module '\" + req + \"'.\"));\n\treturn Promise.all(ids.slice(1).map(__webpack_require__.e)).then(function() {\n\t\treturn __webpack_require__(ids[0]);\n\t});\n};\nwebpackAsyncContext.keys = function webpackAsyncContextKeys() {\n\treturn Object.keys(map);\n};\nwebpackAsyncContext.id = \"./src/$$_lazy_route_resource lazy recursive\";\nmodule.exports = webpackAsyncContext;\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/$$_lazy_route_resource lazy\n// module id = ./src/$$_lazy_route_resource lazy recursive\n// module chunks = main","/* Base class (component) for the main COT components. Any business components needs to extend form this*/\r\n\r\nimport { OnDestroy } from '@angular/core';\r\nimport { Subject } from \"rxjs/Subject\";\r\nimport \"rxjs/add/operator/takeUntil\";\r\nimport { CotErrorStateMatcher } from '../services/cot-error-state-matcher';\r\n\r\n\r\nexport abstract class BaseCotFormComponent implements OnDestroy {\r\n public static readonly EMAIL_REGEX: RegExp = /^(([^<>()\\[\\]\\\\.,;:\\s@\"]+(\\.[^<>()\\[\\]\\\\.,;:\\s@\"]+)*)|(\".+\"))@(([0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3})|(([a-zA-Z\\-0-9]+\\.)+[a-zA-Z]{2,}))$/;\r\n public readonly minDob: Date = new Date(1800, 0, 1, 0, 0, 0, 0);\r\n public readonly maxDob: Date = new Date();\r\n public readonly dobStartAt: Date = new Date();\r\n public readonly errorStateMatcher: CotErrorStateMatcher = new CotErrorStateMatcher();\r\n\r\n protected static readonly codeDelimiter = \"~\";\r\n protected static readonly pickItemDelimiter = \"|\"\r\n protected static readonly carriageReturnDelimiter = \"\\r\\n\";\r\n protected emitUnsubscribe: Subject = new Subject();\r\n\r\n constructor() {\r\n this.dobStartAt.setFullYear(this.dobStartAt.getFullYear() - 10);\r\n }\r\n\r\n ngOnDestroy() {\r\n this.emitUnsubscribe.next();\r\n this.emitUnsubscribe.complete();\r\n }\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/app/components/base-cot-form.component.ts","module.exports = \"

\\r\\nPage not found !\\r\\n

\\r\\n\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/components/page-not-found/page-not-found.component.html\n// module id = ./src/app/components/page-not-found/page-not-found.component.html\n// module chunks = main","module.exports = \"\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/components/page-not-found/page-not-found.component.scss\n// module id = ./src/app/components/page-not-found/page-not-found.component.scss\n// module chunks = main","import { Component, OnInit } from '@angular/core';\n\n@Component({\n selector: 'app-page-not-found',\n templateUrl: './page-not-found.component.html',\n styleUrls: ['./page-not-found.component.scss']\n})\nexport class PageNotFoundComponent implements OnInit {\n\n constructor() { }\n\n ngOnInit() {\n }\n\n}\n\n\n\n// WEBPACK FOOTER //\n// ./src/app/components/page-not-found/page-not-found.component.ts","'use strict';\n\nimport { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { PageNotFoundComponent } from './page-not-found.component';\n\n@NgModule({\n imports: [\n CommonModule\n ],\n declarations: [PageNotFoundComponent]\n})\nexport class PageNotFoundModule { }\n\n\n\n// WEBPACK FOOTER //\n// ./src/app/components/page-not-found/page-not-found.module.ts","import { NgModule } from '@angular/core';\r\nimport { DomSanitizer } from '@angular/platform-browser';\r\nimport {\r\n MatIconRegistry, MatButtonModule, MatCheckboxModule,\r\n MatCardModule, MatToolbarModule, MatSidenavModule,\r\n MatIconModule, MatInputModule, MatRadioModule,\r\n MatFormFieldModule, MatAutocompleteModule, MatSelectModule,\r\n MatDatepickerModule, MatNativeDateModule,\r\n MatTabsModule, MatDialogModule, MatDividerModule,\r\n MatTooltipModule\r\n} from '@angular/material';\r\n\r\nimport { MatTableModule } from '@angular/material/table';\r\n\r\nimport { FlexLayoutModule } from '@angular/flex-layout';\r\n\r\n@NgModule({\r\n imports: [\r\n FlexLayoutModule,\r\n MatButtonModule, MatCheckboxModule,\r\n MatCardModule, MatToolbarModule, MatSidenavModule,\r\n MatIconModule, MatInputModule, MatRadioModule,\r\n MatFormFieldModule, MatAutocompleteModule, MatSelectModule,\r\n MatDatepickerModule, MatNativeDateModule,\r\n MatTabsModule, MatDialogModule, MatDividerModule, MatTableModule,\r\n MatTooltipModule\r\n ],\r\n exports: [FlexLayoutModule,\r\n MatButtonModule, MatCheckboxModule,\r\n MatCardModule, MatToolbarModule, MatSidenavModule,\r\n MatIconModule, MatInputModule, MatRadioModule,\r\n MatFormFieldModule, MatAutocompleteModule, MatSelectModule,\r\n MatDatepickerModule, MatNativeDateModule,\r\n MatTabsModule, MatDialogModule, MatDividerModule, MatTableModule,\r\n MatTooltipModule]\r\n})\r\n\r\nexport class SharedMaterialAndFlexModule {\r\n constructor(matIconRegistry: MatIconRegistry, domSanitizer: DomSanitizer) {\r\n matIconRegistry.addSvgIconSet(domSanitizer.bypassSecurityTrustResourceUrl('./mdi.svg'));\r\n }\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/app/components/shared-material-flex.module.ts","module.exports = \".space-between {\\r\\n -webkit-box-pack: justify;\\r\\n -ms-flex-pack: justify;\\r\\n justify-content: space-between;\\r\\n}\\r\\n\\r\\n.sidenav-menu {\\r\\n width: 15em;\\r\\n}\\r\\n\\r\\n.sidenav-menu-item {\\r\\n height: 6vh;\\r\\n}\\r\\n\\r\\n.app-outer-mobile {\\r\\n width: 100%;\\r\\n margin: auto auto 3em auto;\\r\\n}\\r\\n\\r\\n.sidenav-overflow-hidden {\\r\\n overflow: hidden;\\r\\n}\\r\\n\\r\\n.app-outer-desktop {\\r\\n width: 80%;\\r\\n margin: 3em auto 1em auto;\\r\\n}\\r\\n\\r\\n.app-outer-tablet {\\r\\n width: 100%;\\r\\n margin: auto;\\r\\n}\\r\\n\\r\\n.app-outer-laptop {\\r\\n width: 80%;\\r\\n margin: 3em auto 1em auto;\\r\\n}\\r\\n\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/customizations/islington/app-islington.component.css\n// module id = ./src/app/customizations/islington/app-islington.component.css\n// module chunks = main","module.exports = \"
\\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\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/customizations/islington/app-islington.component.html\n// module id = ./src/app/customizations/islington/app-islington.component.html\n// module chunks = main","import { Component, ViewChild, Inject, OnInit } from '@angular/core';\r\nimport { MatSidenav } from '@angular/material';\r\nimport { CustomerName, CustomerClassifier } from '../../services/common-utility.service';\r\nimport { DOCUMENT, Title } from '@angular/platform-browser';\r\n\r\n@Component({\r\n selector: 'app-root',\r\n templateUrl: './app-islington.component.html',\r\n styleUrls: ['./app-islington.component.css']\r\n})\r\nexport class AppIslingtonComponent implements OnInit {\r\n\r\n @ViewChild('sidenav') sidenav: MatSidenav;\r\n\r\n constructor(private customerClassifier: CustomerClassifier,\r\n private titleService: Title, @Inject(DOCUMENT) private document: HTMLDocument) {\r\n customerClassifier.setCustomerFlag(CustomerName.ISLINGTON);\r\n }\r\n\r\n ngOnInit() {\r\n this.document.getElementById('appFavIcon').setAttribute('href', '/assets/images-islington/favicon.ico');\r\n this.titleService.setTitle('Islington Center for English');\r\n }\r\n\r\n toggleSidenav = () => {\r\n this.sidenav.toggle();\r\n }\r\n\r\n ngAfterViewInit() {\r\n window['_fs_debug'] = false;\r\n window['_fs_host'] = 'fullstory.com';\r\n window['_fs_org'] = 'GQ6YV';\r\n window['_fs_namespace'] = 'FS';\r\n (function (m, n, e, t, l, o, g, y) {\r\n if (e in m) { if (m.console && m.console.log) { m.console.log('FullStory namespace conflict. Please set window[\"_fs_namespace\"].'); } return; }\r\n g = m[e] = function (a, b, s) { g.q ? g.q.push([a, b, s]) : g._api(a, b, s); }; g.q = [];\r\n o = n.createElement(t); o.async = 1; o.src = 'https://' + window['_fs_host'] /*_fs_host*/ + '/s/fs.js';\r\n y = n.getElementsByTagName(t)[0]; y.parentNode.insertBefore(o, y);\r\n g.identify = function (i, v, s) { g(l, { uid: i }, s); if (v) g(l, v, s) }; g.setUserVars = function (v, s) { g(l, v, s) }; g.event = function (i, v, s) { g('event', { n: i, p: v }, s) };\r\n g.shutdown = function () { g(\"rec\", !1) }; g.restart = function () { g(\"rec\", !0) };\r\n g.consent = function (a) { g(\"consent\", !arguments.length || a) };\r\n g.identifyAccount = function (i, v) { o = 'account'; v = v || {}; v.acctId = i; g(o, v) };\r\n g.clearUserCookie = function () { };\r\n })(window, document, window['_fs_namespace'], 'script', 'user');\r\n }\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/app/customizations/islington/app-islington.component.ts","import EnvironmentTypes = Infospeed.FrontEnd.COT.EnvironmentTypes;\r\n\r\nimport { BrowserModule, DomSanitizer, Title } from '@angular/platform-browser';\r\nimport { NgModule, APP_INITIALIZER } from '@angular/core';\r\nimport { BrowserAnimationsModule } from '@angular/platform-browser/animations';\r\nimport { MatIconRegistry } from '@angular/material';\r\nimport { SharedMaterialAndFlexModule } from '../../components/shared-material-flex.module';\r\nimport { appRouting } from './app-islington.router';\r\nimport { CotHttpModule } from '../../http-communication/cot-http.module';\r\nimport { WidgetsModule } from '../../widgets/widgets.module';\r\nimport { AppIslingtonComponent } from './app-islington.component';\r\nimport { IslingtonFooterModule } from './footer/islington-footer.module';\r\nimport { IslingtonFooterService } from './footer/islington-footer.service';\r\nimport { FileUploaderComponent } from '../../widgets/file-uploader/file-uploader.component';\r\nimport { StickySnackbarComponent } from '../../widgets/sticky-snackbar/sticky-snackbar.component';\r\nimport { PageNotFoundModule } from '../../components/page-not-found/page-not-found.module';\r\nimport { LoadingSpinnerComponent } from '../../widgets/loading-spinner/loading-spinner.component';\r\nimport { CommonNotificationService } from '../../services/common-notification.service';\r\nimport { CommonUtilityService, CustomerClassifier, DeviceClassifier, CustomerName } from '../../services/common-utility.service';\r\nimport { environment } from '../../../environments/environment';\r\nimport { CotHttp } from '../../http-communication/cot-http.service';\r\nimport { IslingtonHeaderModule } from './header/islington-header.module';\r\n\r\n@NgModule({\r\n declarations: [\r\n AppIslingtonComponent\r\n ],\r\n imports: [\r\n BrowserModule,\r\n IslingtonFooterModule,\r\n IslingtonHeaderModule,\r\n appRouting,\r\n WidgetsModule,\r\n BrowserAnimationsModule,\r\n CotHttpModule,\r\n SharedMaterialAndFlexModule,\r\n PageNotFoundModule\r\n ],\r\n exports: [],\r\n providers: [Title, IslingtonFooterService, CommonNotificationService, CommonUtilityService, CustomerClassifier, DeviceClassifier,\r\n { provide: APP_INITIALIZER, useFactory: initAppFactory, deps: [CotHttp], multi: true }],\r\n bootstrap: [AppIslingtonComponent]\r\n})\r\n\r\nexport class AppIslingtonModule {\r\n constructor() {\r\n }\r\n}\r\n\r\nexport function initAppFactory(cotHttp: CotHttp) {\r\n //return () => new Promise((resolve, reject) => resolve());\r\n if (environment.dev) {\r\n return () => cotHttp.setEnvironment(EnvironmentTypes.dev, CustomerName.ISLINGTON);\r\n }\r\n else if (environment.uat) {\r\n return () => cotHttp.setEnvironment(EnvironmentTypes.uat, CustomerName.ISLINGTON);\r\n }\r\n else if (environment.prod) {\r\n return () => cotHttp.setEnvironment(EnvironmentTypes.prod, CustomerName.ISLINGTON);\r\n }\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/app/customizations/islington/app-islington.module.ts","'use strict';\r\n\r\nimport { Routes, RouterModule } from '@angular/router';\r\nimport { ModuleWithProviders } from '@angular/core';\r\nimport { PageNotFoundComponent } from '../../components/page-not-found/page-not-found.component';\r\n\r\nconst routes: Routes = [\r\n { path: 'enquiry', loadChildren: 'app/customizations/islington/enquiry/islington-enquiry.module#IslingtonEnquiryModule' },\r\n { path: 'book-now', loadChildren: 'app/customizations/islington/book-now/islington-book-now.module#IslingtonBookNowModule' },\r\n { path: '', redirectTo: 'book-now', pathMatch: 'full' },\r\n { path: '**', component: PageNotFoundComponent }\r\n];\r\n\r\nexport const appRouting: ModuleWithProviders = RouterModule.forRoot(\r\n routes,\r\n {\r\n useHash: true,\r\n //enableTracing: true\r\n });\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/app/customizations/islington/app-islington.router.ts","module.exports = \"
\\r\\n
\\r\\n
\\r\\n
Information
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
location_on
Address : {{contactItem.ContactUsAddress}}
\\r\\n
\\r\\n
\\r\\n
person
{{contact.ContactUsContactType}} - {{contact.Name}}
\\r\\n
phone
{{contact.PhoneNumber}}
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n {{copyrightText}} {{siteAddress}}\\r\\n
\\r\\n
\\r\\n
\\r\\n We invite you to read our Privacy Policy.\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/customizations/islington/footer/islington-footer.component.html\n// module id = ./src/app/customizations/islington/footer/islington-footer.component.html\n// module chunks = main","module.exports = \".footer-icon {\\n font-size: 1.2em; }\\n\\n.address-text-row-wrapper {\\n padding-bottom: 0.8em;\\n /*margin-top: 0.5em;*/ }\\n\\n.contact-details-wrapper {\\n /*margin-left: 15px;*/ }\\n\\n.footer-information-wrapper {\\n line-height: 150%; }\\n\\n.color-white {\\n color: white; }\\n\\n.title-font {\\n text-transform: uppercase;\\n font-size: 20px; }\\n\\n.font-size-15 {\\n font-size: 15px; }\\n\\n.footer-background {\\n display: block;\\n padding-left: 15%;\\n padding-right: 15%;\\n padding-top: 2em;\\n padding-bottom: 6em; }\\n\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/customizations/islington/footer/islington-footer.component.scss\n// module id = ./src/app/customizations/islington/footer/islington-footer.component.scss\n// module chunks = main","import GlobalPageSupport = Infospeed.Services.ClassWeb.API.Contracts.COT.GlobalPageSupport;\nimport ContactUsItem = Infospeed.Services.ClassWeb.API.Contracts.COT.ContactUsItem;\n\nimport { Component, OnInit, Injectable } from '@angular/core';\nimport { Resolve, ActivatedRouteSnapshot, ActivatedRoute, RouterStateSnapshot } from '@angular/router';\nimport { CustomFabComponent } from '../../../widgets/custom-fab/custom-fab.component';\nimport { IslingtonFooterService } from './islington-footer.service';\nimport { BaseCotFormComponent } from '../../../components/base-cot-form.component';\nimport { Observable } from 'rxjs';\nimport { CommonNotificationService } from '../../../services/common-notification.service';\nimport { CommonUtilityService } from '../../../services/common-utility.service';\n\n@Component({\n selector: 'islington-footer',\n templateUrl: './islington-footer.component.html',\n styleUrls: ['../../../widgets/widgets-custom-theme.scss', './islington-footer.component.scss']\n})\nexport class IslingtonFooterComponent extends BaseCotFormComponent {\n footerInformation: string = \"\";\n copyrightText: string = \"\";\n siteAddress: string = \"\";\n contactUsItemArray: Array = [];\n facebookLink: string = \"\";\n twitterLink: string = \"\";\n youtubeLink: string = \"\";\n instagramLink: string = \"\"; \n linkedinLink: string = \"\";\n footerInformations: string[] = [];\n\n constructor(private footerService: IslingtonFooterService, private route: ActivatedRoute, private notificationService: CommonNotificationService, private utilityService: CommonUtilityService) {\n super();\n //this.notificationService.$urlNotificationSource.subscribe(\n // () => {\n this.footerService.getFooterData().takeUntil(this.emitUnsubscribe).subscribe(\n (data: GlobalPageSupport) => {\n this.footerInformation = data.FooterInformation;\n this.copyrightText = data.CopyrightText;\n this.siteAddress = data.SiteAddress;\n this.contactUsItemArray = data.ContactUsItems;\n\n this.footerService.setFooterLinkUrls();\n this.facebookLink = this.footerService.facebookLink;\n this.twitterLink = this.footerService.twitterLink;\n this.youtubeLink = this.footerService.youtubeLink;\n this.instagramLink = this.footerService.instagramLink;\n this.linkedinLink = this.footerService.linkedinLink;\n\n this.footerInformations = this.utilityService.formatFooterInformation(this.footerInformation);\n });\n //});\n }\n}\n\n\n\n// WEBPACK FOOTER //\n// ./src/app/customizations/islington/footer/islington-footer.component.ts","'use strict';\r\n\r\nimport { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { HttpModule } from '@angular/http';\r\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\r\nimport { FlexLayoutModule } from '@angular/flex-layout';\r\nimport { IslingtonFooterComponent } from './islington-footer.component';\r\nimport { IslingtonFooterService } from './islington-footer.service';\r\nimport { SafeHtmlModule } from '../../../services/safeHtml';\r\nimport {\r\n MatButtonModule, MatCheckboxModule, MatCardModule, MatToolbarModule, MatSidenavModule, MatIconModule, MatInputModule, MatRadioModule, MatFormFieldModule, MatAutocompleteModule,\r\n MatSelectModule, MatDatepickerModule, MatNativeDateModule, DateAdapter\r\n} from '@angular/material';\r\n\r\n@NgModule({\r\n imports: [\r\n CommonModule,\r\n FormsModule,\r\n ReactiveFormsModule,\r\n HttpModule,\r\n MatButtonModule, MatCheckboxModule, MatInputModule, MatRadioModule, MatCardModule, MatToolbarModule, MatSidenavModule,\r\n MatIconModule, MatFormFieldModule, MatSelectModule, MatDatepickerModule, MatNativeDateModule, MatAutocompleteModule, FlexLayoutModule,\r\n SafeHtmlModule\r\n ],\r\n exports: [IslingtonFooterComponent],\r\n declarations: [IslingtonFooterComponent],\r\n providers: [IslingtonFooterService]\r\n})\r\nexport class IslingtonFooterModule {}\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/app/customizations/islington/footer/islington-footer.module.ts","import GlobalPageSupport = Infospeed.Services.ClassWeb.API.Contracts.COT.GlobalPageSupport;\n\nimport { Injectable } from '@angular/core';\nimport { CotHttp, UrlDataEnum } from '../../../http-communication/cot-http.service';\nimport { Observable } from 'rxjs';\n\n@Injectable()\nexport class IslingtonFooterService {\n facebookLink: string;\n twitterLink: string;\n youtubeLink: string;\n instagramLink: string;\n linkedinLink: string;\n\n constructor(private cotHttp: CotHttp) {}\n\n getFooterData = (): Observable => {\n return this.cotHttp.get(this.cotHttp.getConfiguredUrl(UrlDataEnum.RootUrl) + '/GetGlobalPageSupport');\n }\n\n setFooterLinkUrls = () => {\n this.facebookLink = this.cotHttp.getConfiguredUrl(UrlDataEnum.FacebookLink);\n this.twitterLink = this.cotHttp.getConfiguredUrl(UrlDataEnum.TwitterLink);\n this.youtubeLink = this.cotHttp.getConfiguredUrl(UrlDataEnum.YoutubeLink);\n this.linkedinLink = this.cotHttp.getConfiguredUrl(UrlDataEnum.LinkedinLink);\n this.instagramLink = this.cotHttp.getConfiguredUrl(UrlDataEnum.InstagramLink);\n }\n\n}\n\n\n\n// WEBPACK FOOTER //\n// ./src/app/customizations/islington/footer/islington-footer.service.ts","module.exports = \"
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/customizations/islington/header/islington-header.component.html\n// module id = ./src/app/customizations/islington/header/islington-header.component.html\n// module chunks = main","module.exports = \".header-outer-mobile {\\n height: 2.5em; }\\n\\n.logo-image-desktop {\\n max-width: 14em;\\n max-height: 5em; }\\n\\n.logo-image-mobile {\\n max-width: 6.6em;\\n max-height: 2.1em;\\n margin: .6em 0 0.4em 0; }\\n\\n#islington-header .header-content {\\n width: 65%;\\n height: 139px;\\n background-image: url('skyline-banner.aea7f9d5146d8b94ab6d.jpg');\\n background-repeat: no-repeat; }\\n\\n#islington-header .header-content .logo, #islington-header .header-content .banner {\\n margin-top: 15px; }\\n\\n#islington-header .header-content-laptop {\\n width: 80%;\\n background-position-x: right; }\\n\\n#islington-header .header-content-tablet {\\n width: 100%;\\n background-position-x: right; }\\n\\n#islington-header .header-toolbar-mobile {\\n max-height: 200% !important;\\n height: 110px !important;\\n background-image: url('skyline-banner.aea7f9d5146d8b94ab6d.jpg') !important;\\n background-size: cover !important; }\\n\\n#islington-header .header-content-mobile {\\n width: 100%;\\n height: 80px;\\n background: none; }\\n\\n#islington-header .header-content-mobile .logo, #islington-header .header-content-mobile .logo img, #islington-header .header-content-mobile .banner, #islington-header .header-content-mobile .banner img {\\n height: 100%; }\\n\\n#islington-header .header-content-mobile .logo {\\n margin-top: 10px; }\\n\\n#islington-header .header-content-mobile .banner {\\n height: 105%;\\n margin-top: 0px; }\\n\\n.header-outer-mobile {\\n height: 80px !important;\\n width: 100% !important;\\n border-bottom-style: solid;\\n border-bottom-width: 10px;\\n overflow: hidden; }\\n\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/customizations/islington/header/islington-header.component.scss\n// module id = ./src/app/customizations/islington/header/islington-header.component.scss\n// module chunks = main","import { Component, OnInit } from '@angular/core';\n\n@Component({\n selector: 'islington-header',\n templateUrl: './islington-header.component.html',\n styleUrls: ['./islington-header.component.scss']\n})\nexport class IslingtonHeaderComponent implements OnInit {\n\n constructor() { }\n\n ngOnInit() {\n }\n}\n\n\n\n// WEBPACK FOOTER //\n// ./src/app/customizations/islington/header/islington-header.component.ts","'use strict';\r\n\r\nimport { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { HttpModule } from '@angular/http';\r\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\r\nimport { FlexLayoutModule } from '@angular/flex-layout';\r\nimport { IslingtonHeaderComponent } from './islington-header.component';\r\n\r\nimport {\r\n MatButtonModule, MatCheckboxModule, MatCardModule, MatToolbarModule, MatSidenavModule, MatIconModule, MatInputModule, MatRadioModule, MatFormFieldModule, MatAutocompleteModule,\r\n MatSelectModule, MatDatepickerModule, MatNativeDateModule, DateAdapter\r\n} from '@angular/material';\r\n\r\n\r\n@NgModule({\r\n imports: [\r\n CommonModule,\r\n FormsModule,\r\n ReactiveFormsModule,\r\n HttpModule,\r\n MatButtonModule, MatCheckboxModule, MatInputModule, MatRadioModule, MatCardModule, MatToolbarModule, MatSidenavModule,\r\n MatIconModule, MatFormFieldModule, MatSelectModule, MatDatepickerModule, MatNativeDateModule, MatAutocompleteModule, FlexLayoutModule,\r\n ],\r\n exports: [IslingtonHeaderComponent],\r\n declarations: [IslingtonHeaderComponent]\r\n})\r\nexport class IslingtonHeaderModule {}\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/app/customizations/islington/header/islington-header.module.ts","import EnvironmentTypes = Infospeed.FrontEnd.COT.EnvironmentTypes;\n\nimport 'hammerjs';\nimport { enableProdMode } from '@angular/core';\nimport { platformBrowserDynamic } from '@angular/platform-browser-dynamic';\nimport { AppIslingtonModule } from './app-islington.module';\nimport { environment } from '../../../environments/environment';\n\nif (environment.prod) {\n enableProdMode();\n}\n\nplatformBrowserDynamic().bootstrapModule(AppIslingtonModule)\n .catch(err => console.log(err));\n\n\n\n// WEBPACK FOOTER //\n// ./src/app/customizations/islington/mainIslington.ts","import { NgModule, ModuleWithProviders } from '@angular/core';\nimport { HttpClientModule, HTTP_INTERCEPTORS } from '@angular/common/http';\nimport { CotHttp } from './cot-http.service';\nimport { CustomHttpInterceptor } from './http-interceptor';\nimport { LogService } from './log-service';\r\n\n/** CotHttpModule exports the classWeb COT http communication layer related services,classes & files **/\n\n@NgModule({\n imports: [HttpClientModule],\n providers: [CotHttp, LogService, { provide: HTTP_INTERCEPTORS, useClass: CustomHttpInterceptor, multi: true }]\n})\n\nexport class CotHttpModule { }\n\n\n\n// WEBPACK FOOTER //\n// ./src/app/http-communication/cot-http.module.ts","import EnvironmentTypes = Infospeed.FrontEnd.COT.EnvironmentTypes;\r\n\r\nimport { Injectable } from '@angular/core';\r\nimport { Response } from '@angular/http';\r\nimport { HttpClient, HttpHeaders } from '@angular/common/http';\r\nimport { CommonNotificationService } from '../services/common-notification.service';\r\nimport { CustomerName } from '../services/common-utility.service';\r\nimport { Observable } from 'rxjs';\r\n\r\n@Injectable()\r\nexport class CotHttp {\r\n urlList: UrlDataObject = {};\r\n environment: EnvironmentTypes = null;\r\n customer: CustomerName = null;\r\n\r\n constructor(private http: HttpClient, private commonNotificationService: CommonNotificationService) {\r\n }\r\n\r\n /* passing 2nd parameter as false will not rigger the loading spinner */\r\n get = (url: string, triggerLoadingSpinner: boolean = true, headers?: HttpHeaders): Observable => {\r\n if (triggerLoadingSpinner) {\r\n this.commonNotificationService.emitLoadingSpinner(true);\r\n }\r\n if (headers) {\r\n return this.http.get(url, { headers: headers });\r\n }\r\n else {\r\n return this.http.get(url);\r\n }\r\n }\r\n\r\n post = (url: string, data: {}, triggerLoadingSpinner: boolean = true): Observable => {\r\n if (triggerLoadingSpinner) {\r\n this.commonNotificationService.emitLoadingSpinner(true);\r\n }\r\n return this.http.post(url, data);\r\n }\r\n\r\n delete = (url: string, triggerLoadingSpinner: boolean = true): Observable => {\r\n if (triggerLoadingSpinner) {\r\n this.commonNotificationService.emitLoadingSpinner(true);\r\n }\r\n return this.http.delete(url);\r\n }\r\n\r\n private setConfigUrls(data: any, cust: string) {\r\n switch (this.environment) {\r\n case EnvironmentTypes.dev:\r\n this.urlList.RootUrl = data[cust]['devUrl'];\r\n break;\r\n case EnvironmentTypes.uat:\r\n this.urlList.RootUrl = data[cust]['uatUrl'];\r\n break;\r\n case EnvironmentTypes.prod:\r\n this.urlList.RootUrl = data[cust]['prodUrl'];\r\n break;\r\n }\r\n this.urlList.FlywireScriptLink = data[cust]['FlywireScriptLink'];\r\n this.urlList.FlywireEnvironment = data[cust]['FlywireEnvironment'];\r\n this.urlList.FlywireDestination = data[cust]['FlywireDestination'];\r\n this.urlList.FlywireCallbackUrl = data[cust]['FlywireCallbackUrl'];\r\n this.urlList.FacebookLink = data[cust]['FacebookLink'];\r\n this.urlList.FacebookLink2 = data[cust]['FacebookLink2'];\r\n this.urlList.TwitterLink = data[cust]['TwitterLink'];\r\n this.urlList.YoutubeLink = data[cust]['YoutubeLink'];\r\n this.urlList.LinkedinLink = data[cust]['LinkedinLink'];\r\n this.urlList.InstagramLink = data[cust]['InstagramLink'];\r\n this.urlList.TransferInformationLink = data[cust]['TransferInformationLink'];\r\n this.urlList.TermsAndConditionsLink = data[cust]['TermsAndConditionsLink'];\r\n this.urlList.TermsAndConditionsTeenagerHomestayLink = data[cust]['TermsAndConditionsTeenagerHomestayLink'];\r\n this.urlList.TermsAndConditionsTeenagerResidentialLink = data[cust]['TermsAndConditionsTeenagerResidentialLink'];\r\n this.urlList.MedicalInfomationLink = data[cust]['MedicalInformationLink'];\r\n this.urlList.GooglePlusLink = data[cust]['GooglePlusLink'];\r\n this.urlList.PinterestLink = data[cust]['PinterestLink'];\r\n this.urlList.LogUrl = data[cust]['LogUrl'];\r\n this.urlList.FlywireDestinations = data[cust]['FlywireDestinations'];\r\n }\r\n\r\n getConfiguredUrl = (urlType: UrlDataEnum): any => {\r\n switch (urlType) {\r\n case UrlDataEnum.RootUrl:\r\n return this.urlList.RootUrl;\r\n case UrlDataEnum.FacebookLink:\r\n return this.urlList.FacebookLink;\r\n case UrlDataEnum.FlywireScriptLink:\r\n return this.urlList.FlywireScriptLink;\r\n case UrlDataEnum.TwitterLink:\r\n return this.urlList.TwitterLink;\r\n case UrlDataEnum.YoutubeLink:\r\n return this.urlList.YoutubeLink;\r\n case UrlDataEnum.TermsAndConditionsLink:\r\n return this.urlList.TermsAndConditionsLink;\r\n case UrlDataEnum.TransferInformationLink:\r\n return this.urlList.TransferInformationLink;\r\n case UrlDataEnum.InstagramLink:\r\n return this.urlList.InstagramLink;\r\n case UrlDataEnum.LinkedinLink:\r\n return this.urlList.LinkedinLink;\r\n case UrlDataEnum.FlywireEnvironment:\r\n return this.urlList.FlywireEnvironment;\r\n case UrlDataEnum.FlywireDestination:\r\n return this.urlList.FlywireDestination;\r\n case UrlDataEnum.TermsAndConditionsTeenagerHomestayLink:\r\n return this.urlList.TermsAndConditionsTeenagerHomestayLink;\r\n case UrlDataEnum.TermsAndConditionsTeenagerResidentialLink:\r\n return this.urlList.TermsAndConditionsTeenagerResidentialLink;\r\n case UrlDataEnum.MedicalInformationLink:\r\n return this.urlList.MedicalInfomationLink;\r\n case UrlDataEnum.GooglePlusLink:\r\n return this.urlList.GooglePlusLink;\r\n case UrlDataEnum.FlywireCallbackUrl:\r\n return this.urlList.FlywireCallbackUrl;\r\n case UrlDataEnum.FacebookLink2:\r\n return this.urlList.FacebookLink2;\r\n case UrlDataEnum.PinterestLink:\r\n return this.urlList.PinterestLink;\r\n case UrlDataEnum.LogUrl:\r\n return this.urlList.LogUrl;\r\n case UrlDataEnum.FlywireDestinations:\r\n return this.urlList.FlywireDestinations;\r\n }\r\n }\r\n\r\n setEnvironment(env: EnvironmentTypes, customer: CustomerName): Promise { // called during app_initialization\r\n this.environment = env;\r\n this.customer = customer;\r\n let httpHeaders = new HttpHeaders({ 'Cache-Control': 'no-cache' });\r\n return new Promise((resolve, reject) => {\r\n this.get(location.href.split('#')[0] + 'config/config.json', true, httpHeaders).subscribe(\r\n (data) => {\r\n switch (this.customer) {\r\n case CustomerName.STONY_HURST:\r\n this.setConfigUrls(data, 'stony');\r\n break;\r\n case CustomerName.BISHOPSTROW:\r\n this.setConfigUrls(data, 'bishop');\r\n break;\r\n case CustomerName.UKCE:\r\n this.setConfigUrls(data, 'ukce');\r\n break;\r\n case CustomerName.ETC:\r\n this.setConfigUrls(data, 'etc');\r\n break;\r\n case CustomerName.CESC:\r\n this.setConfigUrls(data, 'cesc');\r\n break;\r\n case CustomerName.CES_UK:\r\n this.setConfigUrls(data, 'cesUk');\r\n break;\r\n case CustomerName.CES_IRELAND:\r\n this.setConfigUrls(data, 'cesIreland');\r\n break;\r\n case CustomerName.CES_NORTH_AMERICA:\r\n this.setConfigUrls(data, 'cesNorthAmerica');\r\n break;\r\n case CustomerName.ISLINGTON:\r\n this.setConfigUrls(data, 'islington');\r\n break;\r\n case CustomerName.DEVON:\r\n this.setConfigUrls(data, 'devon');\r\n break;\r\n case CustomerName.CHAMBER:\r\n this.setConfigUrls(data, 'chamber');\r\n break;\r\n case CustomerName.MALACA:\r\n this.setConfigUrls(data, 'malaca');\r\n break;\r\n case CustomerName.EUROCENTRES:\r\n this.setConfigUrls(data, 'eurocentres');\r\n break;\r\n case CustomerName.CORK:\r\n this.setConfigUrls(data, 'cork');\r\n break;\r\n case CustomerName.ELC:\r\n this.setConfigUrls(data, 'elc');\r\n break;\r\n case CustomerName.STUDIO_CAMBRIDGE:\r\n this.setConfigUrls(data, 'studioCambridge');\r\n break;\r\n case CustomerName.HARROW_SCHOOL:\r\n this.setConfigUrls(data, 'harrow');\r\n break;\r\n case CustomerName.DEFAULT:\r\n this.setConfigUrls(data, 'default');\r\n break;\r\n }\r\n this.commonNotificationService.emitUrlNotification(); // note: this will not notifiy any emitter, so separated and called during app-module construction.\r\n resolve();\r\n },\r\n (error) => {\r\n console.error('Error reading config file.\\n\\r' + error);\r\n reject();\r\n });\r\n });\r\n }\r\n}\r\n\r\nexport interface UrlDataObject {\r\n RootUrl: string;\r\n FlywireScriptLink: string;\r\n FacebookLink: string;\r\n YoutubeLink: string;\r\n TwitterLink: string;\r\n LinkedinLink: string;\r\n TermsAndConditionsLink: string;\r\n TransferInformationLink: string;\r\n InstagramLink: string;\r\n FlywireEnvironment: string;\r\n FlywireDestination: string;\r\n TermsAndConditionsTeenagerHomestayLink: string;\r\n TermsAndConditionsTeenagerResidentialLink: string;\r\n MedicalInfomationLink: string;\r\n GooglePlusLink: string;\r\n FlywireCallbackUrl: string;\r\n FacebookLink2: string;\r\n PinterestLink: string;\r\n LogUrl: string;\r\n FlywireDestinations: any;\r\n}\r\n\r\nexport enum UrlDataEnum {\r\n RootUrl,\r\n FlywireScriptLink,\r\n FacebookLink,\r\n YoutubeLink,\r\n TwitterLink,\r\n LinkedinLink,\r\n TermsAndConditionsLink,\r\n TransferInformationLink,\r\n InstagramLink,\r\n FlywireEnvironment,\r\n FlywireDestination,\r\n TermsAndConditionsTeenagerHomestayLink,\r\n TermsAndConditionsTeenagerResidentialLink,\r\n MedicalInformationLink,\r\n GooglePlusLink,\r\n FlywireCallbackUrl,\r\n FacebookLink2,\r\n PinterestLink,\r\n LogUrl,\r\n FlywireDestinations,\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/app/http-communication/cot-http.service.ts","import { Injectable } from '@angular/core';\r\nimport {\r\n HttpInterceptor,\r\n HttpRequest,\r\n HttpResponse,\r\n HttpErrorResponse,\r\n HttpHandler,\r\n HttpEvent\r\n} from '@angular/common/http';\r\nimport { Observable } from 'rxjs/Observable';\r\nimport 'rxjs/add/operator/do';\r\nimport 'rxjs/add/operator/catch';\r\nimport 'rxjs/add/observable/throw';\r\nimport { CommonNotificationService } from '../services/common-notification.service';\r\nimport { IStickySnackbarTextSource } from '../widgets/sticky-snackbar/sticky-snackbar.component';\r\nimport { LogService, LogEntry } from './log-service';\r\n\r\n@Injectable()\r\nexport class CustomHttpInterceptor implements HttpInterceptor {\r\n\r\n constructor(private commonNotificationService: CommonNotificationService, private logService: LogService) { }\r\n\r\n intercept(request: HttpRequest, next: HttpHandler): Observable> {\r\n // do the request interception work here !\r\n return next\r\n .handle(request)\r\n .do((event: HttpEvent) => {\r\n if (event instanceof HttpResponse) {\r\n // DO any response interception work here !\r\n this.commonNotificationService.emitLoadingSpinner(false);\r\n }\r\n })\r\n .catch((error: HttpErrorResponse) => {\r\n let errorMessage: string = '';\r\n if (error.error instanceof ErrorEvent) {\r\n // client-side\r\n let errEvent = (error.error);\r\n errorMessage = `Error: ${errEvent.message}.`;\r\n // log\r\n console.error(`ErrorEvent: ${error}.`);\r\n }\r\n else {\r\n // server-side\r\n let httpErrResponse = (error);\r\n errorMessage = `Error code: ${httpErrResponse.status}.\\n\\rMessage: ${httpErrResponse.message}.`;\r\n if (httpErrResponse.status == 0) // issue with CORS or unknown url\r\n errorMessage += `\\n\\rUrl: ${request.url}.`;\r\n this.commonNotificationService.emitStickyFooterText({ text: 'Error on service call: ' + request.url, color: '#ff4081' });\r\n setTimeout(() => {\r\n this.commonNotificationService.emitSetPreviousText();\r\n }, 5000);\r\n // log\r\n console.error(`HttpErrorResponse: ${error}.`);\r\n }\r\n this.commonNotificationService.emitLoadingSpinner(false);\r\n\r\n // alert error\r\n //window.alert(errorMessage);\r\n //this.errorDialogService.openDialog({ reason: error && error.error.reason ? error.error.reason : '', status: error.status});\r\n\r\n // save log data\r\n //var logData = new LogEntry();\r\n //logData.Message = errorMessage;\r\n //this.logService.log(logData).subscribe((result: any) => {\r\n // console.log(\"error logged.\");\r\n //}, (error: any) => console.error(\"log failed.\" + error));\r\n\r\n return Observable.throw(errorMessage);\r\n });\r\n }\r\n}\r\n\r\n//// note: todo: create ErrorDialogComponent, ErrorDialogService \r\n//import { Component, Inject } from '@angular/core';\r\n//import { MAT_DIALOG_DATA } from '@angular/material';\r\n//@Component({\r\n// selector: 'error-dialog',\r\n// templateUrl: `
\r\n//
\r\n//

\r\n// Reason: {{data.reason}}\r\n//

\r\n//

\r\n// Status: {{data.status}}\r\n//

\r\n//
\r\n//
`\r\n//})\r\n//export class ErrorDialogComponent {\r\n// title = 'Angular-Interceptor';\r\n// constructor( @Inject(MAT_DIALOG_DATA) public data: string) { }\r\n//}\r\n\r\n//import { Injectable } from '@angular/core';\r\n//import { MatDialog, MatDialogRef, MAT_DIALOG_DATA } from '@angular/material';\r\n//import { ErrorDialogComponent } from './errordialog.component';\r\n//@Injectable()\r\n//export class ErrorDialogService {\r\n\r\n// constructor(public dialog: MatDialog) { }\r\n// openDialog(data): void {\r\n// const dialogRef = this.dialog.open(ErrorDialogComponent, {\r\n// width: '300px',\r\n// data: data\r\n// });\r\n\r\n// dialogRef.afterClosed().subscribe(result => {\r\n// console.log('The dialog was closed');\r\n// let animal;\r\n// animal = result;\r\n// });\r\n// }\r\n//}\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/app/http-communication/http-interceptor.ts","\r\nimport { CotHttp, UrlDataEnum } from \"../http-communication/cot-http.service\";\r\nimport { Observable } from \"rxjs\";\r\nimport { HttpClient } from \"@angular/common/http\";\r\nimport { CustomerName } from \"../services/common-utility.service\";\r\nimport { Injectable } from \"@angular/core\";\r\n\r\n// LogService\r\n@Injectable()\r\nexport class LogService {\r\n\r\n constructor(private cotHttp: CotHttp, private http: HttpClient) {\r\n }\r\n\r\n log(data: LogEntry): Observable {\r\n return this.http.post(this.cotHttp.getConfiguredUrl(UrlDataEnum.LogUrl) + '/AddLog', data);\r\n //return this.cotHttp.post(this.cotHttp.getConfiguredUrl(UrlDataEnum.LogUrl) + '/AddLog', data); // note: this might create infinite loop\r\n }\r\n\r\n clear(appId: number): Observable {\r\n return this.http.get(this.cotHttp.getConfiguredUrl(UrlDataEnum.LogUrl) + '/ClearLog?appId=' + appId);\r\n }\r\n}\r\n\r\nfunction buildLogString(logEntry: LogEntry): string {\r\n let ret: string = \"\";\r\n ret += \"Customer: \" + CustomerName[logEntry.Customer] + \"\\r\\n\";\r\n ret += \"Entry Date: \" + logEntry.EntryDate + \"\\r\\n\";\r\n ret += \"Type: \" + LogLevel[logEntry.Level] + \"\\r\\n\";\r\n ret += \" - Message: \" + logEntry.Message + \"\\r\\n\";\r\n if (logEntry.ExtraInfo && logEntry.ExtraInfo.length > 0) {\r\n ret += \" - Extra Info: \" + formatParams(logEntry.ExtraInfo);\r\n }\r\n return ret;\r\n}\r\n\r\nfunction formatParams(params: any[]): string {\r\n let ret: string = params.join(\",\");\r\n if (params.some(p => typeof p == \"object\")) {\r\n ret = \"\";\r\n for (let item of params) {\r\n ret += JSON.stringify(item) + \",\";\r\n }\r\n if (ret.endsWith(\",\"))\r\n ret = ret.slice(0, ret.length - 1);\r\n }\r\n return ret;\r\n}\r\n\r\n// LogLevel\r\nexport enum LogLevel {\r\n All = 0,\r\n Debug = 1,\r\n Info = 2,\r\n Warn = 3,\r\n Error = 4,\r\n Fatal = 5,\r\n Off = 6\r\n}\r\n\r\n// LogEntry\r\nexport class LogEntry {\r\n public EntryDate: Date = new Date();\r\n public AppId: number = 0;\r\n public Level: LogLevel = LogLevel.Debug;\r\n public Message: string = \"\";\r\n public ExtraInfo: any[] = [];\r\n public Customer: CustomerName = CustomerName.DEFAULT;\r\n\r\n public LogEntry() {\r\n this.EntryDate = new Date();\r\n this.Level = LogLevel.Debug;\r\n this.Customer = CustomerName.DEFAULT;\r\n }\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/app/http-communication/log-service.ts","import { ValidatorFn, AbstractControl, ValidationErrors } from \"@angular/forms\";\r\n\r\nexport function CheckedValidator(isChecked: boolean): ValidatorFn {\r\n return (control: AbstractControl): { [key: string]: boolean } | null => {\r\n //if (control.value != undefined && control.enabled && control.touched && control.value !== isChecked)\r\n if (control.enable && control.value !== isChecked)\r\n return { 'checked': true };\r\n return null;\r\n };\r\n}\r\n\r\nexport const hasCheckedValidator = (abstractControl: AbstractControl): boolean => {\r\n if (abstractControl.validator) {\r\n const errors: ValidationErrors = abstractControl.validator({} as AbstractControl);\r\n if (errors && errors.checked) {\r\n return true;\r\n }\r\n }\r\n if (abstractControl['controls']) {\r\n for (const controlName in abstractControl['controls']) {\r\n if (abstractControl['controls'][controlName]) {\r\n if (hasCheckedValidator(abstractControl['controls'][controlName])) {\r\n return true;\r\n }\r\n }\r\n }\r\n }\r\n return false;\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/app/services/checked-validator.ts","/* Any inter component commnication other than direct PARENT-CHILD component interactions are handled\r\n** through this common notifiation channel. Any new components need communication should declare their observable\r\n** sources in here and also the emit methods.\r\n*/\r\nimport { Injectable } from '@angular/core';\r\nimport { Subject } from 'rxjs/Subject';\r\nimport { IStickySnackbarTextSource } from '../widgets/sticky-snackbar/sticky-snackbar.component';\r\nimport { ICustomFab } from '../widgets/custom-fab/custom-fab.component';\r\n\r\n@Injectable()\r\nexport class CommonNotificationService {\r\n\r\n /* ----------- Fab related notifications --------- */\r\n private disableFabSource = new Subject();\r\n private onClickFabSource = new Subject();\r\n private fabIconSource = new Subject();\r\n private hideFabSource = new Subject();\r\n private showMoveToRegisteSource = new Subject();\r\n private fabTypeSource = new Subject();\r\n\r\n $disableFabSource = this.disableFabSource.asObservable();\r\n $onClickFab = this.onClickFabSource.asObservable();\r\n $fabIconSource = this.fabIconSource.asObservable();\r\n $hideFabSource = this.hideFabSource.asObservable();\r\n $showMoveToRegisterSource = this.showMoveToRegisteSource.asObservable();\r\n $fabTypeSource = this.fabTypeSource.asObservable();\r\n\r\n emitDisableFab = (disableFlag: boolean) => this.disableFabSource.next(disableFlag);\r\n emitOnClickFab = (code: string) => this.onClickFabSource.next(code);\r\n emitFabIconChange = (icon: string) => this.fabIconSource.next(icon);\r\n emitHideFab = (flag: boolean) => this.hideFabSource.next(flag);\r\n emitShowMoveToRegisterFab = (flag: boolean) => this.showMoveToRegisteSource.next(flag);\r\n emitFabTypeSource = (fab: ICustomFab) => this.fabTypeSource.next(fab);\r\n\r\n /* ---------- Sticky footer related notifications ------ */\r\n private stickyFooterTextSource = new Subject();\r\n private setPreviousTextSource = new Subject();\r\n private onClickEmailMeSource = new Subject();\r\n private hideCenterTextSource = new Subject();\r\n private showTotalAmountSource = new Subject();\r\n private showEmailQuoteSource = new Subject();\r\n private emailQuoteLayout = new Subject();\r\n\r\n\r\n $stickyFooterTextSource = this.stickyFooterTextSource.asObservable();\r\n $setPreviousTextSource = this.setPreviousTextSource.asObservable();\r\n $emitEmailMeClick = this.onClickEmailMeSource.asObservable();\r\n $hideCenterTextSource = this.hideCenterTextSource.asObservable();\r\n $showTotalAmountSource = this.showTotalAmountSource.asObservable();\r\n $showEmailQuoteSource = this.showEmailQuoteSource.asObservable();\r\n $emailQuoteLayout = this.emailQuoteLayout.asObservable();\r\n\r\n\r\n emitStickyFooterText = (data: IStickySnackbarTextSource) => this.stickyFooterTextSource.next(data);\r\n emitSetPreviousText = () => this.setPreviousTextSource.next();\r\n emitEmailMeClick = () => this.onClickEmailMeSource.next();\r\n emithideCenterText = (flag: boolean) => this.hideCenterTextSource.next(flag);\r\n emitShowTotalAmount = (flag: boolean) => this.showTotalAmountSource.next(flag);\r\n emitShowEmailQuote = (flag: boolean) => this.showEmailQuoteSource.next(flag);\r\n emitEmailQuoteLayout = (desc: string) => this.emailQuoteLayout.next(desc);\r\n\r\n \r\n /* ------------Loding spinner related notifications------- */\r\n private loadingSpinnerSource = new Subject();\r\n $loadingSpinnerSource = this.loadingSpinnerSource.asObservable();\r\n emitLoadingSpinner = (flag: boolean) => this.loadingSpinnerSource.next(flag);\r\n\r\n /* ------------ Loading api url notifications------- */\r\n private urlNotificationSource = new Subject();\r\n $urlNotificationSource = this.urlNotificationSource.asObservable();\r\n emitUrlNotification = () => this.urlNotificationSource.next();\r\n\r\n /* ----------- UKCE control flow notifications -------- */\r\n private pagesupportDataArrived = new Subject();\r\n private courseTypesArrived = new Subject();\r\n private courseListArrived = new Subject();\r\n\r\n $pagesupportDataArrivedSource = this.pagesupportDataArrived.asObservable();\r\n $courseTypesArrivedSource = this.courseTypesArrived.asObservable();\r\n $courseListArrivedSource = this.courseListArrived.asObservable();\r\n\r\n emitPagesupportDataArrived = () => this.pagesupportDataArrived.next();\r\n emitCourseTypesArrived = () => this.courseTypesArrived.next();\r\n emitCourseListArrived = () => this.courseListArrived.next();\r\n\r\n /* quote flow notifications */\r\n private agentLoginSuccess = new Subject();\r\n public $agentLoginSuccess = this.agentLoginSuccess.asObservable();\r\n public emitAgentLoginSuccess = () => this.agentLoginSuccess.next();\r\n\r\n private schoolSelectionSuccess = new Subject();\r\n public $schoolSelectionSuccess = this.schoolSelectionSuccess.asObservable();\r\n public emitSchoolSelectionSuccess = () => this.schoolSelectionSuccess.next();\r\n\r\n private courseTypeSelectionSuccess = new Subject();\r\n public $courseTypeSelectionSuccess = this.courseTypeSelectionSuccess.asObservable();\r\n public emitCourseTypeSelectionSuccess = () => this.courseTypeSelectionSuccess.next();\r\n\r\n private courseSelectionSuccess = new Subject();\r\n public $courseSelectionSuccess = this.courseSelectionSuccess.asObservable();\r\n public emitCourseSelectionSuccess = () => this.courseSelectionSuccess.next();\r\n\r\n private courseEndDateSelectionSuccess = new Subject();\r\n public $courseEndDateSelectionSuccess = this.courseEndDateSelectionSuccess.asObservable();\r\n public emitCourseEndDateSelectionSuccess = () => this.courseEndDateSelectionSuccess.next();\r\n\r\n private packageSelectionSuccess = new Subject();\r\n public $packageSelectionSuccess = this.packageSelectionSuccess.asObservable();\r\n public emitPackageSelectionSuccess = () => this.packageSelectionSuccess.next();\r\n\r\n private packageEndDateSelectionSuccess = new Subject();\r\n public $packageEndDateSelectionSuccess = this.packageEndDateSelectionSuccess.asObservable();\r\n public emitPackageEndDateSelectionSuccess = () => this.packageEndDateSelectionSuccess.next();\r\n\r\n private accommodationSelectionSuccess = new Subject();\r\n public $accommodationSelectionSuccess = this.accommodationSelectionSuccess.asObservable();\r\n public emitAccommodationSelectionSuccess = () => this.accommodationSelectionSuccess.next();\r\n\r\n private updateQuoteSuccess = new Subject();\r\n public $updateQuoteSuccess = this.updateQuoteSuccess.asObservable();\r\n public emitUpdateQuoteSuccesss = () => this.updateQuoteSuccess.next();\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/app/services/common-notification.service.ts","/* All the commonly used functionality */\r\nimport CustomisationTypes = Infospeed.FrontEnd.COT.CustomisationTypes;\r\nimport RegistrationAnalysis = Infospeed.Services.ClassWeb.API.Contracts.COT.RegistrationAnalysis\r\nimport AnalysisUDFItem = Infospeed.Services.ClassWeb.API.Contracts.COT.AnalysisUDFItem;\r\nimport IFlywireTheme = Infospeed.FrontEnd.COT.IFlywireTheme;\r\nimport IFlywireConfig = Infospeed.FrontEnd.COT.IFlywireConfig;\r\n\r\nimport { Injectable, OnDestroy } from '@angular/core';\r\nimport { NativeDateAdapter } from '@angular/material';\r\nimport { Subject } from 'rxjs/Subject';\r\nimport { Subscription } from \"rxjs/Subscription\";\r\nimport { MediaChange, ObservableMedia } from \"@angular/flex-layout\";\r\nimport { DomSanitizer } from '@angular/platform-browser';\r\nimport { IDropdownSelectOption, DropdownService } from \"../widgets/dropdown/dropdown.component\";\r\nimport { ValidatorFn, AbstractControl } from '@angular/forms';\r\n\r\n@Injectable()\r\nexport class CommonUtilityService {\r\n private flywireTheme: IFlywireTheme = { Header: true, BackgroundColor: '#ffffff', BrandColor: '#147BD1' };\r\n\r\n constructor(private dropdownService: DropdownService) { }\r\n\r\n /* Converts a Date object to Iso date string (which is accepted by the server)*/\r\n convertDateToIsoString = (date: Date): string => {\r\n return date.toISOString();\r\n }\r\n\r\n /* Converts a iso date string (comes from server) back to a Date object*/\r\n convertIsoStringToDateObject = (dateString: string | Date): Date => {\r\n if (typeof dateString === 'string') {\r\n try {\r\n return new Date(dateString);\r\n }\r\n catch (error) {\r\n console.error(\"COT-Errorlog: error in convertIsoStringToDateObject method. \" + error);\r\n }\r\n }\r\n else {\r\n if (dateString instanceof Date)\r\n return dateString;\r\n else\r\n return null;\r\n }\r\n }\r\n\r\n isIsoFromattedDateString(str: string): boolean {\r\n const regExpForUtcFormatttedISODateString = /T\\d{2}:\\d{2}:\\d{2}/;\r\n return regExpForUtcFormatttedISODateString.test(str);\r\n }\r\n\r\n correctDate = (date: Date) => {\r\n if (date && date != null) {\r\n if (typeof date !== 'string') {\r\n var userTimezoneOffset = date.getTimezoneOffset() * 60 * 1000;\r\n if (userTimezoneOffset == 0) { }\r\n else if (userTimezoneOffset < 0 && date.getHours() == 0) {\r\n date.setTime((date.getTime() + Math.abs(userTimezoneOffset)));\r\n }\r\n else if (userTimezoneOffset > 0 && date.getHours() == 0) {\r\n date.setTime((date.getTime() - Math.abs(userTimezoneOffset)));\r\n }\r\n }\r\n else {\r\n //console.warn('date not corrected as it was in the string format !');\r\n }\r\n }\r\n }\r\n\r\n formatToTwoDecimals = (num: number): any => {\r\n if (isNaN(num))\r\n num = 0;\r\n return parseFloat(\"\" + Math.round(num * 100) / 100).toFixed(2);\r\n }\r\n\r\n formatDateToEnGb(date: Date): string {\r\n return date.toLocaleDateString('en-GB', { year: 'numeric', month: '2-digit', day: '2-digit' });\r\n }\r\n\r\n getBrowserType = (): BrowserTypes => {\r\n let browserCode = null, userAgent = navigator.userAgent;\r\n // The order matters here, and this may report false positives for unlisted browsers.\r\n if (userAgent.indexOf(\"Firefox\") > -1) {\r\n browserCode = BrowserTypes.FIREFOX;\r\n // \"Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:61.0) Gecko/20100101 Firefox/61.0\"\r\n } else if (userAgent.indexOf(\"Opera\") > -1 || userAgent.indexOf(\"OPR\") > -1) {\r\n browserCode = BrowserTypes.OPERA;\r\n //\"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_0) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/70.0.3538.102 Safari/537.36 OPR/57.0.3098.106\"\r\n } else if (userAgent.indexOf(\"Trident\") > -1) {\r\n browserCode = BrowserTypes.IE;\r\n // \"Mozilla/5.0 (Windows NT 10.0; WOW64; Trident/7.0; .NET4.0C; .NET4.0E; Zoom 3.6.0; wbx 1.0.0; rv:11.0) like Gecko\"\r\n } else if (userAgent.indexOf(\"Edge\") > -1) {\r\n browserCode = BrowserTypes.EDGE;\r\n // \"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/58.0.3029.110 Safari/537.36 Edge/16.16299\"\r\n } else if (userAgent.indexOf(\"UBrowser\") > -1 || userAgent.indexOf(\"UCBrowser\") > -1) {\r\n browserCode = BrowserTypes.UC;\r\n } else if (userAgent.indexOf(\"Chrome\") > -1) {\r\n browserCode = BrowserTypes.CHROME;\r\n // \"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Ubuntu Chromium/66.0.3359.181 Chrome/66.0.3359.181 Safari/537.36\"\r\n } else if (userAgent.indexOf(\"Safari\") > -1) {\r\n browserCode = BrowserTypes.SAFARI;\r\n // \"Mozilla/5.0 (iPhone; CPU iPhone OS 11_4 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/11.0 Mobile/15E148 Safari/604.1 980x1306\"\r\n } else {\r\n // undetermined\r\n }\r\n //console.log('** browse code: ' + browserCode);\r\n return browserCode;\r\n }\r\n\r\n groupBy = (list, keyGetter): any => {\r\n const map = new Map();\r\n list.forEach((item) => {\r\n const key = keyGetter(item);\r\n if (!map.has(key)) {\r\n map.set(key, [item]);\r\n } else {\r\n map.get(key).push(item);\r\n }\r\n });\r\n return map;\r\n }\r\n\r\n public formatFooterInformation(value: string): string[] {\r\n if (value)\r\n return value.split(\"\\r\\n\");\r\n else\r\n return [\"\"];\r\n }\r\n\r\n public resetDropdown(value: number | string, options: IDropdownSelectOption[] | string[] | number[], isSelectOption: boolean) {\r\n this.dropdownService.reset(value, options, isSelectOption);\r\n }\r\n\r\n public getPickItemContentForChecked(isChecked: boolean, pickItems: string[]): string {\r\n const validCheckedValues: string[] = ['true', 't', 'yes', 'y', '1'];\r\n const validUncheckedvalues: string[] = ['false', 't', 'no', 'n', '0'];\r\n let content: string;\r\n if (isChecked) {\r\n if (pickItems.length > 0) {\r\n var validCheckedValue = pickItems.filter(x => validCheckedValues.indexOf(x.toLocaleLowerCase()) != -1);\r\n if (validCheckedValue && validCheckedValue.length > 0)\r\n content = validCheckedValue[0];\r\n else\r\n content = 'Yes';\r\n }\r\n else\r\n content = 'Yes';\r\n }\r\n else {\r\n if (pickItems.length > 0) {\r\n var validCheckedValue = pickItems.filter(x => validUncheckedvalues.indexOf(x.toLocaleLowerCase()) != -1);\r\n if (validCheckedValue && validCheckedValue.length > 0)\r\n content = validCheckedValue[0];\r\n else\r\n content = 'No';\r\n }\r\n else\r\n content = 'No';\r\n }\r\n return content;\r\n }\r\n\r\n public date_diff_indays(date1, date2) {\r\n let dt1: Date = new Date(date1);\r\n let dt2: Date = new Date(date2);\r\n return Math.ceil((Date.UTC(dt2.getFullYear(), dt2.getMonth(), dt2.getDate()) - Date.UTC(dt1.getFullYear(), dt1.getMonth(), dt1.getDate())) / (1000 * 60 * 60 * 24));\r\n }\r\n\r\n //public diff_years(dt2: Date, dt1: Date) { // this method doesn't work and is not used\r\n // var diff = (dt2.getTime() - dt1.getTime()) / 1000;\r\n // diff /= (60 * 60 * 24);\r\n // return Math.abs(Math.round(diff / 365.25));\r\n //}\r\n\r\n public setFlywireTheme(theme: IFlywireTheme) {\r\n this.flywireTheme = theme;\r\n }\r\n\r\n public getFlywireTheme() {\r\n return {\r\n header: this.flywireTheme.Header,\r\n backgroundColor: this.flywireTheme.BackgroundColor,\r\n brandColor: this.flywireTheme.BrandColor\r\n }\r\n }\r\n\r\n public isUnder18(dob: Date): boolean {\r\n const today: Date = new Date();\r\n let dateObj: Date = dob;\r\n if (this.isIsoFromattedDateString(dob.toString())) {\r\n dateObj = this.convertIsoStringToDateObject(dob.toString());\r\n }\r\n let d: Date = new Date(dateObj.getFullYear(), dateObj.getMonth(), dateObj.getDate());//.getTime());\r\n d.setFullYear(d.getFullYear() + 18);\r\n let isUnder18: boolean = today.getTime() < d.getTime();\r\n // calculate age\r\n //let age = today.getFullYear() - dob.getFullYear();\r\n //if (today.getMonth() < dob.getMonth() || (today.getMonth() === dob.getMonth() && today.getDate() < dob.getDate()))\r\n // age--;\r\n //isUnder18 = age < 18;\r\n return isUnder18;\r\n }\r\n}\r\n\r\nexport const FillMandatoryFieldsMessage = \"Please fill in the mandatory fields.\";\r\nexport const MoveFromQuoteToPaymentMessage = 'When you are happy with your quote click the tick to move to the payment stage.';\r\nexport const MoveFromQuoteToRegistrationMessage = 'When you are happy with your quote click the tick to move to the registration stage.';\r\nexport const MoveFromRegistrationToPaymentMessage = \"Please continue to the payment page.\";\r\nexport const ContinueWithPaymentMessage = \"Please continue with your payment.\";\r\n\r\n/* For different bahaviours on different devices, this classifies the device depending on the media\r\n** type (screen size breakpoints) & User agent sting of the browser*/\r\n@Injectable()\r\nexport class DeviceClassifier implements OnDestroy {\r\n isMobileDevice: boolean = null;\r\n customisationCode: string = 'DF';\r\n medialWatcher: Subscription;\r\n activeMediaQuery = \"\";\r\n\r\n constructor(media: ObservableMedia) {\r\n this.medialWatcher = media.subscribe((change: MediaChange) => {\r\n this.activeMediaQuery = change ? `'${change.mqAlias}' = (${change.mediaQuery})` : \"\";\r\n // TODO: add tablet ranges and define, complete that too\r\n if (change.mqAlias == 'xs') {\r\n this.isMobileDevice = true;\r\n //TODO: check for user agent to make user it is a real device\r\n }\r\n else {\r\n this.isMobileDevice = false;\r\n }\r\n });\r\n }\r\n\r\n ngOnDestroy() {\r\n this.medialWatcher.unsubscribe();\r\n }\r\n}\r\n\r\n@Injectable()\r\nexport class CustomerClassifier {\r\n public isStonyHurst: boolean = false;\r\n public isBishopStrow: boolean = false;\r\n public isDefaultSite: boolean = false;\r\n // Add new flags for new customers\r\n public customer: CustomerName = CustomerName.DEFAULT;\r\n\r\n setCustomerFlag = (customer: CustomerName) => {\r\n this.customer = customer;\r\n switch (customer) {\r\n case CustomerName.STONY_HURST:\r\n this.isStonyHurst = true;\r\n break;\r\n case CustomerName.BISHOPSTROW:\r\n this.isBishopStrow = true;\r\n break;\r\n case CustomerName.DEFAULT:\r\n this.isDefaultSite = true;\r\n }\r\n }\r\n}\r\n\r\n/* Date adaptor for Material date control to force display the dd/mm/yyyy for mat (default materia\r\n** date picker format is mm/dd/yyyy) */\r\n@Injectable()\r\nexport class DateFormat extends NativeDateAdapter {\r\n useUtcForDisplay = true;\r\n\r\n parse(value: any): Date | null {\r\n if ((typeof value === 'string') && (value.indexOf('/') > -1)) {\r\n const str = value.split('/');\r\n const year = Number(str[2]);\r\n const month = Number(str[1]) - 1;\r\n const date = Number(str[0]);\r\n var d = new Date(year, month, date);\r\n return d\r\n }\r\n const timestamp = typeof value === 'number' ? value : Date.parse(value);\r\n return isNaN(timestamp) ? null : new Date(timestamp);\r\n }\r\n}\r\n\r\nexport enum CustomerName {\r\n DEFAULT = 0,\r\n STONY_HURST = 1,\r\n BISHOPSTROW = 2,\r\n CESC = 3,\r\n UKCE = 4,\r\n ETC = 5,\r\n CES_UK = 6,\r\n CES_IRELAND = 7,\r\n CES_NORTH_AMERICA = 8,\r\n ISLINGTON = 9,\r\n DEVON = 10,\r\n CHAMBER = 11,\r\n MALACA = 12,\r\n EUROCENTRES = 13,\r\n CORK = 14,\r\n ELC = 15,\r\n STUDIO_CAMBRIDGE = 16,\r\n HARROW_SCHOOL = 17,\r\n}\r\n\r\nexport enum BrowserTypes {\r\n CHROME = 1,\r\n FIREFOX = 2,\r\n IE = 3,\r\n SAFARI = 4,\r\n EDGE = 5,\r\n UC = 6,\r\n OPERA = 7\r\n}\r\n\r\n// close any objects\r\nexport function cloneObject(obj) {\r\n var clone = {};\r\n for (var i in obj) {\r\n if (obj[i] != null && typeof (obj[i]) == \"object\")\r\n clone[i] = cloneObject(obj[i]);\r\n else\r\n clone[i] = obj[i];\r\n }\r\n return clone;\r\n}\r\n\r\n\r\n//\r\n//HTMLElement.prototype.prependHtml = function (element) {\r\n// const div = document.createElement('div');\r\n// div.innerHTML = element;\r\n// this.insertBefore(div, this.firstChild);\r\n//};\r\n\r\n//HTMLElement.prototype.appendHtml = function (element) {\r\n// const div = document.createElement('div');\r\n// div.innerHTML = element;\r\n// while (div.children.length > 0) {\r\n// this.appendChild(div.children[0]);\r\n// }\r\n//};\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/app/services/common-utility.service.ts","import { FormControl, FormGroupDirective, NgForm, FormGroup, AbstractControl, ValidationErrors } from '@angular/forms';\r\nimport { ErrorStateMatcher } from '@angular/material/core';\r\n\r\nexport class CotErrorStateMatcher implements ErrorStateMatcher {\r\n private _touchedActivated: boolean = false;\r\n constructor(touchedActivated: boolean = false) {\r\n this._touchedActivated = touchedActivated;\r\n }\r\n\r\n isErrorState(control: FormControl | null, form: FormGroupDirective | NgForm | null): boolean {\r\n ////const isSubmitted = form && form.submitted;\r\n ////return (control && (control.invalid || control.value == undefined || control.value == null || control.value == \"\" || control.value == \"-1\"));\r\n //let hasError: boolean = false;\r\n //if (control && control.enabled) {\r\n // if (control.invalid) {\r\n // hasError = true;\r\n // }\r\n // else {\r\n // if (hasRequiredValidator(control) && (!control.value)) {\r\n // hasError = true;\r\n // }\r\n // //if (hasCheckedValidator(control) && (!control.value)) {\r\n // // hasError = true;\r\n // //}\r\n // }\r\n //}\r\n //return hasError;\r\n let hasError: boolean = false;\r\n if (!this._touchedActivated) {\r\n if (control && control.enabled) {\r\n if (control.invalid)\r\n hasError = true;\r\n else {\r\n if (hasRequiredValidator(control) && (!control.value))\r\n hasError = true;\r\n }\r\n }\r\n }\r\n else {\r\n if (control && control.enable && control.touched) {\r\n if (control.invalid)\r\n hasError = true;\r\n else {\r\n if (hasRequiredValidator(control) && !control.value)\r\n hasError;\r\n }\r\n }\r\n }\r\n return hasError;\r\n }\r\n}\r\n\r\n// hasRequiredValidator\r\nconst hasRequiredValidator = (abstractControl: AbstractControl): boolean => {\r\n if (abstractControl.validator) {\r\n const errors: ValidationErrors = abstractControl.validator({} as AbstractControl);\r\n if (errors && errors.required) {\r\n return true;\r\n }\r\n }\r\n if (abstractControl['controls']) {\r\n for (const controlName in abstractControl['controls']){\r\n if (abstractControl['controls'][controlName]) {\r\n if (hasRequiredValidator(abstractControl['controls'][controlName])) {\r\n return true;\r\n }\r\n }\r\n }\r\n }\r\n return false;\r\n}\r\n\r\n\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/app/services/cot-error-state-matcher.ts","// To mark the passed HTML as trusted so that Angulars DOM sanitizer doesn't strip.\r\nimport { NgModule, Pipe, PipeTransform } from '@angular/core';\r\nimport { DomSanitizer } from '@angular/platform-browser';\r\n\r\n@Pipe({ name: 'safeHtml' })\r\nexport class SafeHtml implements PipeTransform {\r\n constructor(private sanitized: DomSanitizer) { }\r\n transform(value) {\r\n return this.sanitized.bypassSecurityTrustHtml(value);\r\n }\r\n}\r\n\r\n@NgModule({\r\n declarations: [SafeHtml],\r\n imports: [],\r\n exports: [SafeHtml]\r\n})\r\nexport class SafeHtmlModule { }\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/app/services/safeHtml.ts","/* Base class (component) for the widgets. If any of the widgets have used RxJs Observable/Subject subscribe() method, those widget components needs to extend\n** form this base class as the unsubscription will be handled here.\n*/\nimport { OnDestroy } from '@angular/core';\nimport { Subject } from \"rxjs/Subject\";\nimport \"rxjs/add/operator/takeUntil\";\n\nexport abstract class BaseWidgetComponent implements OnDestroy {\n\n protected emitUnsubscribe: Subject = new Subject();\n\n constructor() {\r\n }\n\n ngOnDestroy() {\r\n this.emitUnsubscribe.next();\r\n this.emitUnsubscribe.complete();\r\n }\n}\n\n\n\n// WEBPACK FOOTER //\n// ./src/app/widgets/base-widget.component.ts","module.exports = \"\\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
1 && multiDimCotAnalyses\\\" fxLayout=\\\"row\\\" fxLayoutGap=\\\"30px\\\" fxLayoutAlign=\\\"start stretch\\\" fxLayout.lt-sm=\\\"column\\\" fxLayoutGap.lt-sm=\\\"20px\\\">\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/widgets/cot-analysis-form/cot-analysis-form.component.html\n// module id = ./src/app/widgets/cot-analysis-form/cot-analysis-form.component.html\n// module chunks = main","module.exports = \".align-left {\\n -webkit-box-align: start !important;\\n -ms-flex-align: start !important;\\n align-items: flex-start !important; }\\n\\n.align-center {\\n -webkit-box-align: center !important;\\n -ms-flex-align: center !important;\\n align-items: center !important; }\\n\\n.align-right {\\n -webkit-box-align: end !important;\\n -ms-flex-align: end !important;\\n align-items: flex-end !important; }\\n\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/widgets/cot-analysis-form/cot-analysis-form.component.scss\n// module id = ./src/app/widgets/cot-analysis-form/cot-analysis-form.component.scss\n// module chunks = main","import RegistrationAnalysisSection = Infospeed.Services.ClassWeb.API.Contracts.COT.RegistrationAnalysisSection;\r\nimport RegistrationAnalysis = Infospeed.Services.ClassWeb.API.Contracts.COT.RegistrationAnalysis;\r\nimport WebBookingControlType = Infospeed.Services.ClassWeb.API.Contracts.COT.WebBookingControlType;\r\nimport AnalysisUDFItem = Infospeed.Services.ClassWeb.API.Contracts.COT.AnalysisUDFItem;\r\n\r\nimport { Component, OnInit, Input, OnChanges, SimpleChange, DoCheck, ChangeDetectionStrategy, ChangeDetectorRef, Output, EventEmitter } from '@angular/core';\r\nimport { CotFormControlComponent, ICotControlChangeEvent } from '../cot-form-control/cot-form-control.component';\r\nimport { ControlContainer, NgForm } from '@angular/forms';\r\n\r\n@Component({\r\n selector: 'cot-analysis-form',\r\n templateUrl: './cot-analysis-form.component.html',\r\n styleUrls: ['../widgets-custom-theme.scss', './cot-analysis-form.component.scss'],\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n viewProviders: [{ provide: ControlContainer, useExisting: NgForm }]\r\n})\r\nexport class CotAnalysisFormComponent implements OnInit, OnChanges {\r\n private readonly validCheckedValues: string[] = ['true', 't', 'yes', 'y', '1'];\r\n private readonly validUncheckedvalues: string[] = ['false', 't', 'no', 'n', '0'];\r\n // inputs\r\n @Input('analyses') analyses: RegistrationAnalysis[] = [];\r\n @Input('columns') columns: number = 1;\r\n @Input('form') form: NgForm;\r\n @Input('standalone') standalone: boolean = false;\r\n @Input('align') align: string = 'left';\r\n @Input('disabled') disabled: boolean = false;\r\n @Input('touchedActivatedError') touchedActivatedError: boolean = false;\r\n // private properties\r\n private cotAnalyses: ICotAnalysis[] = [];\r\n // public properties\r\n singleDimCotAnalyses: ICotAnalysis[] = [];\r\n multiDimCotAnalyses: ICotAnalysis[][] = [];\r\n // output\r\n @Output('onChange') onChange: EventEmitter = new EventEmitter();\r\n\r\n constructor(private changeDetectorRef: ChangeDetectorRef) {\r\n }\r\n\r\n ngOnInit() {\r\n this.cotAnalyses = this.convertToCotAnalyses(this.analyses);\r\n if (this.columns == 1) {\r\n this.singleDimCotAnalyses = this.cotAnalyses;\r\n }\r\n else if (this.columns > 1) {\r\n this.multiDimCotAnalyses = this.generateMultiDimCotAnalyses(this.cotAnalyses, this.columns);\r\n }\r\n else { }\r\n // set default values\r\n this.setDefaultValues();\r\n }\r\n\r\n ngOnChanges(changes: { [propKey: string]: SimpleChange }) { // model reference changes\r\n for (let propName in changes) {\r\n let changedProp = changes[propName];\r\n if (propName === 'analyses') {\r\n this.cotAnalyses = this.convertToCotAnalyses(this.analyses);\r\n }\r\n }\r\n }\r\n\r\n ngDoCheck() { // property of the model changes\r\n }\r\n\r\n onControlChange($event: ICotControlChangeEvent) {\r\n // update the actual registration-analysis object\r\n this.setAnalysisValue($event);\r\n }\r\n\r\n public getInvalidControls(): any {\r\n const invalidControl = [];\r\n for (let i: number = 0; i < this.cotAnalyses.length; i++) {\r\n if (this.form.controls[this.cotAnalyses[i].AnalysisNameId])\r\n if (this.form.controls[this.cotAnalyses[i].AnalysisNameId].invalid) {\r\n invalidControl.push(this.form.controls[this.cotAnalyses[i].AnalysisNameId])\r\n }\r\n }\r\n return invalidControl;\r\n }\r\n\r\n public resetToDefault() {\r\n this.cotAnalyses.forEach(x => {\r\n const control = this.form.control.get(x.AnalysisNameId.toString());\r\n if (control)\r\n control.reset();\r\n switch (x.WebBookingControlType) {\r\n case WebBookingControlType.CheckBox:\r\n case WebBookingControlType.RadioButton:\r\n case WebBookingControlType.RadioButtonSimple:\r\n if (control) {\r\n control.setValue(false);\r\n this.setAnalysisValue({ Id: x.AnalysisNameId, Type: x.WebBookingControlType, Value: x.Value, AdditionalInfo: null })\r\n //control.updateValueAndValidity({ onlySelf: true });\r\n }\r\n break;\r\n }\r\n });\r\n }\r\n\r\n public disable(disable: boolean = true) {\r\n this.cotAnalyses.forEach(x => {\r\n const control = this.form.control.get(x.AnalysisNameId.toString());\r\n if (control)\r\n if (disable)\r\n control.disable({ onlySelf: true });\r\n else\r\n control.enable({ onlySelf: true });\r\n });\r\n }\r\n\r\n private convertToCotAnalyses(analyses: RegistrationAnalysis[]): ICotAnalysis[] {\r\n let cotAnalyses: ICotAnalysis[] = [];\r\n if (analyses) {\r\n analyses.forEach(x => cotAnalyses.push(this.convertToCotAnalysis(x)));\r\n }\r\n return cotAnalyses;\r\n }\r\n\r\n private convertToCotAnalysis(analysis: RegistrationAnalysis): ICotAnalysis {\r\n let cotAnalysis: ICotAnalysis = {\r\n AnalysisName: analysis.AnalysisName,\r\n AnalysisNameId: analysis.AnalysisNameId,\r\n AnalysisSectionId: analysis.AnalysisSectionId,\r\n Content: analysis.Content,\r\n Date: analysis.Date,\r\n DefaultNoteText: analysis.DefaultNoteText,\r\n IsMandatory: analysis.IsMandatory,\r\n IsPickOnly: analysis.IsPickOnly,\r\n Note: analysis.Note,\r\n PickItems: analysis.PickItems,\r\n Sequence: analysis.Sequence,\r\n Value: null,\r\n WebBookingControlType: analysis.WebBookingControlType,\r\n WebBookingRegisterType: analysis.WebBookingRegisterType,\r\n };\r\n return cotAnalysis;\r\n }\r\n\r\n private setDefaultValues() {\r\n this.cotAnalyses.forEach(x => {\r\n this.setDefaultValue(x);\r\n });\r\n }\r\n\r\n private setDefaultValue(cotAnalysis: ICotAnalysis) {\r\n switch (cotAnalysis.WebBookingControlType) {\r\n case WebBookingControlType.CheckBox:\r\n cotAnalysis.Value = false;\r\n this.setAnalysisValue({ Id: cotAnalysis.AnalysisNameId, Type: cotAnalysis.WebBookingControlType, Value: cotAnalysis.Value, AdditionalInfo: null })\r\n break;\r\n case WebBookingControlType.Date:\r\n case WebBookingControlType.DateTime:\r\n case WebBookingControlType.Dropdown:\r\n case WebBookingControlType.Email:\r\n case WebBookingControlType.PhoneNumber:\r\n case WebBookingControlType.Money:\r\n case WebBookingControlType.Number:\r\n break;\r\n case WebBookingControlType.RadioButton:\r\n case WebBookingControlType.RadioButtonSimple:\r\n cotAnalysis.Value = false;\r\n this.setAnalysisValue({ Id: cotAnalysis.AnalysisNameId, Type: cotAnalysis.WebBookingControlType, Value: cotAnalysis.Value, AdditionalInfo: \"\" })\r\n break;\r\n case WebBookingControlType.Text:\r\n case WebBookingControlType.TextArea:\r\n case WebBookingControlType.Time:\r\n default:\r\n break;\r\n }\r\n }\r\n\r\n private generateMultiDimCotAnalyses(cotAnalyses: ICotAnalysis[], columns: number = 2): ICotAnalysis[][] {\r\n let noOfColumns: number = columns;\r\n //let noOfRows: number = Math.ceil(cotAnalyses.length / noOfColumns);\r\n let arrangedAnalyses: ICotAnalysis[][] = [];\r\n let arrangedColumn: ICotAnalysis[] = [];\r\n let analyses: ICotAnalysis[] = cotAnalyses;\r\n let counter: number = 0;\r\n let reviewedNoOfRows: number = 0;\r\n for (var i = 0; i < noOfColumns; i++) {\r\n arrangedColumn = [];\r\n reviewedNoOfRows = Math.ceil((cotAnalyses.length - counter) / (noOfColumns - i));\r\n for (var j = 0; j < reviewedNoOfRows; j++) {\r\n if (counter < analyses.length) {\r\n arrangedColumn.push(analyses[counter]);\r\n counter++;\r\n }\r\n }\r\n arrangedAnalyses.push(arrangedColumn);\r\n }\r\n return arrangedAnalyses;\r\n }\r\n\r\n private setAnalysisValue(event: ICotControlChangeEvent): void {\r\n let cotAnalysis: ICotAnalysis = this.cotAnalyses.filter(x => x.AnalysisNameId == event.Id)[0];\r\n switch (event.Type) {\r\n case WebBookingControlType.CheckBox:\r\n cotAnalysis.Content = this.getPickItemContentForChecked(event.Value, cotAnalysis.PickItems);\r\n break;\r\n case WebBookingControlType.Date:\r\n cotAnalysis.Date = event.Value;\r\n break;\r\n case WebBookingControlType.DateTime: // note: future release: set as Date if material support datetime control\r\n //cotAnalysis.Date = event.Value;\r\n cotAnalysis.Content = event.Value;\r\n break;\r\n case WebBookingControlType.Dropdown:\r\n cotAnalysis.Content = event.Value;\r\n break;\r\n case WebBookingControlType.Email:\r\n cotAnalysis.Note = event.Value;\r\n break;\r\n case WebBookingControlType.PhoneNumber:\r\n cotAnalysis.Content = event.Value;\r\n break;\r\n case WebBookingControlType.Money:\r\n cotAnalysis.Content = event.Value;\r\n break;\r\n case WebBookingControlType.Number:\r\n cotAnalysis.Content = event.Value;\r\n break;\r\n case WebBookingControlType.RadioButton:\r\n cotAnalysis.Content = this.getPickItemContentForChecked(event.Value, cotAnalysis.PickItems);\r\n cotAnalysis.Note = event.AdditionalInfo;\r\n break;\r\n case WebBookingControlType.RadioButtonSimple:\r\n cotAnalysis.Content = this.getPickItemContentForChecked(event.Value, cotAnalysis.PickItems);\r\n break;\r\n case WebBookingControlType.Text:\r\n cotAnalysis.Note = event.Value;\r\n break;\r\n case WebBookingControlType.TextArea:\r\n cotAnalysis.Note = event.Value;\r\n break;\r\n case WebBookingControlType.Time:\r\n cotAnalysis.Content = event.Value;\r\n break;\r\n default:\r\n cotAnalysis.Content = event.Value;\r\n break;\r\n }\r\n\r\n if (this.standalone)\r\n this.updateRegistrationAnalysisSection(cotAnalysis);\r\n\r\n // emmit change event\r\n this.onChange.emit({ CotAnalysis: cotAnalysis });\r\n }\r\n\r\n private getPickItemContentForChecked(isChecked: boolean, pickItems: string[]): string {\r\n let content: string;\r\n if (isChecked) {\r\n if (pickItems.length > 0) {\r\n var validCheckedValue = pickItems.filter(x => this.validCheckedValues.indexOf(x.toLocaleLowerCase()) != -1);\r\n if (validCheckedValue && validCheckedValue.length > 0)\r\n content = validCheckedValue[0];\r\n else\r\n content = 'Yes';\r\n }\r\n else\r\n content = 'Yes';\r\n }\r\n else {\r\n if (pickItems.length > 0) {\r\n var validCheckedValue = pickItems.filter(x => this.validUncheckedvalues.indexOf(x.toLocaleLowerCase()) != -1);\r\n if (validCheckedValue && validCheckedValue.length > 0)\r\n content = validCheckedValue[0];\r\n else\r\n content = 'No';\r\n }\r\n else\r\n content = 'No';\r\n }\r\n return content;\r\n }\r\n\r\n public reset() {\r\n this.analyses.forEach(x => {\r\n const control = this.form.control.get(x.AnalysisNameId.toString());\r\n if (control)\r\n control.reset();\r\n });\r\n }\r\n\r\n public getCheckedForContent(content: string): boolean {\r\n if (this.validCheckedValues.indexOf(content.toLocaleLowerCase()) != -1)\r\n return true;\r\n else\r\n return false;\r\n }\r\n\r\n // standalone methods: start\r\n private updateRegistrationAnalysisSection(cotAnalysis: ICotAnalysis) {\r\n let registrationAnalysis: RegistrationAnalysis = this.analyses.filter(x => x.AnalysisNameId == cotAnalysis.AnalysisNameId)[0];\r\n registrationAnalysis.Content = cotAnalysis.Content;\r\n registrationAnalysis.Date = cotAnalysis.Date;\r\n registrationAnalysis.Note = cotAnalysis.Note;\r\n }\r\n\r\n public getIAnalysisUDFItems(): any[] {\r\n let iAnalysisUDFItems: any[] = [];\r\n iAnalysisUDFItems = ConvertToIAnalysisUDFItems(this.analyses);\r\n return iAnalysisUDFItems;\r\n }\r\n\r\n public validateControls() {\r\n this.analyses.forEach(x => {\r\n const control = this.form.controls[x.AnalysisNameId];\r\n if (control && control.invalid) {\r\n control.markAsTouched({ onlySelf: true });\r\n control.updateValueAndValidity({ onlySelf: true }); // updateValueAndValidity() is required to light the invalid control\r\n }\r\n if (x.WebBookingControlType === WebBookingControlType.RadioButton) {\r\n const controlAdditionalInfo = this.form.controls[x.AnalysisNameId + \"AdditionalInfo\"];\r\n if (controlAdditionalInfo && controlAdditionalInfo.invalid) {\r\n controlAdditionalInfo.markAsTouched({ onlySelf: true });\r\n controlAdditionalInfo.updateValueAndValidity({ onlySelf: true }); // updateValueAndValidity() is required to light the invalid control\r\n }\r\n }\r\n });\r\n }\r\n\r\n public setValueAndUpdateValidity(analysis: RegistrationAnalysis, value: any, additionalInfo?: any) {\r\n const changeEvent: ICotControlChangeEvent = { Id: analysis.AnalysisNameId, Type: analysis.WebBookingControlType, Value: value, AdditionalInfo: additionalInfo };\r\n this.setAnalysisValue(changeEvent);\r\n const control = this.form.controls[analysis.AnalysisNameId];\r\n if (control) {\r\n control.setValue(changeEvent.Value);\r\n control.updateValueAndValidity({ onlySelf: true });\r\n }\r\n }\r\n\r\n public isValid(): boolean {\r\n return this.analyses.some(x => {\r\n const control = this.form.controls[x.AnalysisNameId];\r\n if (control && control.invalid) {\r\n return true;\r\n }\r\n });\r\n }\r\n // standalone methods: end\r\n}\r\n\r\nexport interface ICotAnalysis extends RegistrationAnalysis {\r\n Value: any;\r\n}\r\n\r\nexport interface ICotAnalysisChangeEvent {\r\n CotAnalysis: ICotAnalysis;\r\n}\r\n\r\nfunction ConvertToAnalysisUDFItems(analyses: RegistrationAnalysis[]): AnalysisUDFItem[] {\r\n let udfItems: AnalysisUDFItem[] = [];\r\n analyses.forEach(item => {\r\n let udfItem: AnalysisUDFItem = {\r\n AnalysisUDFItemId: 0,\r\n AnalysisUDFNameId: item.AnalysisNameId,\r\n AnalysisUDFSectionId: item.AnalysisSectionId,\r\n Content: item.Content,\r\n Date: item.Date,\r\n ShortNote: item.Note,\r\n };\r\n udfItems.push(udfItem);\r\n });\r\n return udfItems;\r\n}\r\n\r\nexport function ConvertToIAnalysisUDFItems(analyses: RegistrationAnalysis[]): any[] {\r\n let iAnalysisUDFItems: any[] = [];\r\n ConvertToAnalysisUDFItems(analyses).forEach(x => {\r\n let iAnalysisUDFItem: any = {\r\n AnalysisUDFItemId: 0,\r\n AnalysisUDFSectionId: x.AnalysisUDFSectionId,\r\n AnalysisUDFNameId: x.AnalysisUDFNameId,\r\n AnalysisUDFName: \"\",\r\n Date: x.Date,\r\n Content: x.Content,\r\n ShortNote: x.ShortNote,\r\n };\r\n iAnalysisUDFItems.push(iAnalysisUDFItem);\r\n });\r\n return iAnalysisUDFItems;\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/app/widgets/cot-analysis-form/cot-analysis-form.component.ts","module.exports = \"\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n {{getErrorMessage()}}\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n {{getErrorMessage()}}\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n {{getErrorMessage()}}\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n {{ item }}\\r\\n \\r\\n {{getErrorMessage()}}\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n \\r\\n {{getErrorMessage()}}\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n \\r\\n {{getErrorMessage()}}\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n \\r\\n {{getErrorMessage()}}\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n \\r\\n {{getErrorMessage()}}\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n Yes\\r\\n No\\r\\n \\r\\n
\\r\\n {{getErrorMessage()}}\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n Yes\\r\\n No\\r\\n \\r\\n
\\r\\n {{getErrorMessage()}}\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n \\r\\n {{getErrorMessage()}}\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n \\r\\n {{getErrorMessage()}}\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n \\r\\n {{getErrorMessage()}}\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/widgets/cot-form-control/cot-form-control.component.html\n// module id = ./src/app/widgets/cot-form-control/cot-form-control.component.html\n// module chunks = main","module.exports = \".cot-placeholder {\\n /*white-space: nowrap;*/\\n /*overflow: hidden;*/\\n white-space: normal; }\\n\\n.cot-radiobutton-wrapper {\\n padding-top: 1.25em;\\n line-height: 1.125;\\n padding-bottom: 1.25em; }\\n\\n.cot-radiobutton-wrapper .cot-placeholder {\\n margin-bottom: 0.1em; }\\n\\n.cot-radiobutton {\\n margin-top: -2px;\\n min-width: 101px;\\n white-space: nowrap;\\n margin-bottom: 0.24em; }\\n\\n.cot-radiobutton-additional-info-wrapper .cot-additional-info {\\n margin-top: 20px; }\\n\\n.cot-radiobutton-additional-visible {\\n padding-bottom: 0px; }\\n\\n.cot-checkbox-wrapper {\\n padding-top: 1.25em;\\n line-height: 1.125;\\n padding-bottom: 1.25em; }\\n\\n.cot-checkbox-wrapper .cot-placeholder {\\n margin-bottom: 0.1em; }\\n\\n.cot-checkbox {\\n margin-top: -2px;\\n min-width: 21px;\\n white-space: nowrap;\\n margin-bottom: 0.24em; }\\n\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/widgets/cot-form-control/cot-form-control.component.scss\n// module id = ./src/app/widgets/cot-form-control/cot-form-control.component.scss\n// module chunks = main","import WebBookingControlType = Infospeed.Services.ClassWeb.API.Contracts.COT.WebBookingControlType;\r\nimport SelectOptionModel = Infospeed.Services.ClassWeb.API.Contracts.COT.SelectOptionModel;\r\n\r\nimport {\r\n Component, OnInit, Input, Output, EventEmitter, OnChanges, SimpleChange, Directive, Provider, forwardRef,\r\n DoCheck, ChangeDetectionStrategy, ChangeDetectorRef, AfterViewInit\r\n} from '@angular/core';\r\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR, ControlContainer, NgForm } from '@angular/forms';\r\nimport { BaseWidgetComponent } from '../base-widget.component';\r\nimport { ErrorStateMatcher } from '@angular/material/core';\r\nimport { Observable } from 'rxjs';\r\nimport { MatOption, MatSelect } from '@angular/material';\r\nimport { CotErrorStateMatcher } from '../../services/cot-error-state-matcher';\r\nimport { CheckedValidator, hasCheckedValidator } from '../../services/checked-validator';\r\n\r\n//const noop = () => { };\r\n//export const CUSTOM_VALUE_ACCESSOR: any = {\r\n// provide: NG_VALUE_ACCESSOR,\r\n// useExisting: forwardRef(() => CotFormControlComponent),\r\n// multi: true\r\n//};\r\n\r\n@Component({\r\n selector: 'cot-form-control',\r\n templateUrl: './cot-form-control.component.html',\r\n styleUrls: ['./cot-form-control.component.scss'],\r\n //providers: [CUSTOM_VALUE_ACCESSOR],\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n viewProviders: [{ provide: ControlContainer, useExisting: NgForm }]\r\n})\r\nexport class CotFormControlComponent extends BaseWidgetComponent implements OnInit, OnChanges, AfterViewInit\r\n//, ControlValueAccessor\r\n{\r\n // constants\r\n //EMAIL_REGEX: string = \"^[a-z0-9._%+-]+@[a-z0-9.-]+\\.[a-z]{2,4}$\";\r\n EMAIL_REGEX: RegExp = /^(([^<>()\\[\\]\\\\.,;:\\s@\"]+(\\.[^<>()\\[\\]\\\\.,;:\\s@\"]+)*)|(\".+\"))@((\\[[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}])|(([a-zA-Z\\-0-9]+\\.)+[a-zA-Z]{2,}))$/;\r\n PHONENUMBER_REGEX: string = \"^[\\+]?[0-9]{5,15}$\";\r\n MONEY_REGEX: string = \"^[0-9]+([\\.\\,][0-9]{1,2})?$\";\r\n // input\r\n @Input('placeholder') placeholder: string = \"\";\r\n @Input('required') required: boolean = false;\r\n @Input('isMobileDevice') isMobileDevice: boolean = false;\r\n @Input('showError') showError: boolean = true;\r\n @Input('controlType') controlType: WebBookingControlType = WebBookingControlType.Text;\r\n @Input('options') options: string[] = [];\r\n @Input('id') id: number | string;\r\n @Input('hasAdditionalInfo') hasAdditionalInfo: boolean = true;\r\n @Input('additionalInfoPlaceholder') additionalInfoPlaceholder: string = \"Please add further details\";\r\n @Input('form') form: NgForm;\r\n @Input('value') value: any;\r\n @Input('disabled') disabled: boolean = false;\r\n @Input('touchedActivatedError') touchedActivatedError: boolean = false;\r\n // output\r\n @Output('onChange') onChange: EventEmitter = new EventEmitter();\r\n // private properties\r\n //private innerValue: any = null; //The internal data model\r\n //Placeholders for the callbacks which are later provided by the Control Value Accessor\r\n //private onTouchedCallback: () => void = noop;\r\n //private onChangeCallback: (_: any) => void = noop;\r\n // public properties\r\n formControlType: string = \"text\";\r\n additionalInfo: string = null;\r\n errorStateMatcher: CotErrorStateMatcher;// = new CotErrorStateMatcher();\r\n\r\n constructor(private changeDetectorRef: ChangeDetectorRef) {\r\n super();\r\n }\r\n\r\n ngOnInit() {\r\n if (this.hasAdditionalInfo)\r\n this.additionalInfo = \"\";\r\n // determine control type\r\n switch (this.controlType) {\r\n case WebBookingControlType.CheckBox:\r\n this.formControlType = 'checkbox';\r\n break;\r\n case WebBookingControlType.Date:\r\n this.formControlType = 'date';\r\n break;\r\n case WebBookingControlType.DateTime:\r\n this.formControlType = 'datetime';\r\n break;\r\n case WebBookingControlType.Dropdown:\r\n this.formControlType = 'dropdown';\r\n break;\r\n case WebBookingControlType.Email:\r\n this.formControlType = 'email';\r\n break;\r\n case WebBookingControlType.Number:\r\n this.formControlType = 'number';\r\n break;\r\n case WebBookingControlType.PhoneNumber:\r\n this.formControlType = 'phone-number';\r\n break;\r\n case WebBookingControlType.Money:\r\n this.formControlType = 'money';\r\n break;\r\n case WebBookingControlType.RadioButton:\r\n this.formControlType = 'radiobutton';\r\n break;\r\n case WebBookingControlType.RadioButtonSimple:\r\n this.formControlType = 'radiobutton-simple';\r\n break;\r\n case WebBookingControlType.Text:\r\n this.formControlType = 'text';\r\n break;\r\n case WebBookingControlType.TextArea:\r\n this.formControlType = 'textarea';\r\n break;\r\n case WebBookingControlType.Time:\r\n this.formControlType = 'time';\r\n break;\r\n default:\r\n this.formControlType = 'text';\r\n break;\r\n }\r\n // error-state-matcher\r\n this.errorStateMatcher = new CotErrorStateMatcher(this.touchedActivatedError);\r\n }\r\n\r\n ngAfterViewInit() {\r\n setTimeout(() => {\r\n if (this.required && this.form && this.form.controls[this.id]) {\r\n switch (this.controlType) {\r\n case WebBookingControlType.CheckBox:\r\n this.form.controls[this.id].setValidators([CheckedValidator(true)]);\r\n this.form.controls[this.id].setValue(false);\r\n break;\r\n }\r\n }\r\n });\r\n }\r\n\r\n ngOnChanges(changes: { [propKey: string]: SimpleChange }) { // model reference changes\r\n for (let propName in changes) {\r\n let changedProp = changes[propName];\r\n if (propName === 'options') {\r\n //this.value = null;\r\n if (this.form && this.form.controls[this.id])\r\n this.form.controls[this.id].reset();\r\n if (this.options && this.options.length == 1) { // TODO: pre-select option when only there is only one\r\n //this.value = this.options[0];\r\n //this.formControl.setValue(this.options[0]);\r\n //this.formControl.markAsTouched();\r\n //this.formControl.updateValueAndValidity();\r\n }\r\n }\r\n }\r\n }\r\n\r\n ngDoCheck() { // property of the model changes\r\n //if (this.innerValue !== this.value) {\r\n // this.changeDetectorRef.markForCheck();\r\n // this.innerValue = this.value;\r\n //}\r\n ////if (this.model != this.value)\r\n //// this.changeDetectorRef.markForCheck();\r\n //// this.value = this.model;\r\n }\r\n\r\n //get value(): any { return this.innerValue; }; //get accessor\r\n //set value(val: any) {\r\n // if (val !== this.innerValue) {\r\n // this.innerValue = val;\r\n // this.onChangeCallback(val);\r\n // }\r\n //} //set accessor including call the onchange callback\r\n\r\n onCheckboxChange($event) { this.onChange.emit({ Id: this.id, Type: this.controlType, Value: this.value, AdditionalInfo: this.additionalInfo }); }\r\n\r\n onDateChange($event) {\r\n // date correction\r\n if (this.value) {\r\n if (this.value instanceof Date) {\r\n let dateVar = this.value;\r\n let timezoneOffset = dateVar.getTimezoneOffset() * 60 * 1000;\r\n if (timezoneOffset < 0 && dateVar.getHours() == 0)\r\n dateVar.setTime(dateVar.getTime() + Math.abs(timezoneOffset));\r\n else if (timezoneOffset > 0 && dateVar.getHours() == 0)\r\n dateVar.setTime(dateVar.getTime() - Math.abs(timezoneOffset));\r\n this.value = dateVar;\r\n }\r\n }\r\n this.onChange.emit({ Id: this.id, Type: this.controlType, Value: this.value, AdditionalInfo: this.additionalInfo });\r\n }\r\n\r\n onEmailChange($event) { this.onChange.emit({ Id: this.id, Type: this.controlType, Value: this.value, AdditionalInfo: this.additionalInfo }); }\r\n\r\n onPhoneNumberChange($event) { this.onChange.emit({ Id: this.id, Type: this.controlType, Value: this.value, AdditionalInfo: this.additionalInfo }); }\r\n\r\n onMoneyChange($event) { this.onChange.emit({ Id: this.id, Type: this.controlType, Value: this.value, AdditionalInfo: this.additionalInfo }); }\r\n\r\n onNumberChange($event) { this.onChange.emit({ Id: this.id, Type: this.controlType, Value: this.value, AdditionalInfo: this.additionalInfo }); }\r\n\r\n onSelectionChange($event) { this.onChange.emit({ Id: this.id, Type: this.controlType, Value: this.value, AdditionalInfo: this.additionalInfo }) };\r\n\r\n onRadioChange($event) {\r\n if (this.additionalInfo && !this.value) {\r\n this.additionalInfo = \"\";\r\n if (this.form && this.form.controls[this.id + 'AdditionalInfo'])\r\n this.form.controls[this.id + 'AdditionalInfo'].reset();\r\n }\r\n this.onChange.emit({ Id: this.id, Type: this.controlType, Value: this.value, AdditionalInfo: this.additionalInfo });\r\n }\r\n\r\n onRadioSimpleChange($event) {\r\n this.onChange.emit({ Id: this.id, Type: this.controlType, Value: this.value, AdditionalInfo: this.additionalInfo });\r\n }\r\n\r\n onTextChange($event) { this.onChange.emit({ Id: this.id, Type: this.controlType, Value: this.value, AdditionalInfo: this.additionalInfo }); }\r\n\r\n onTextAreaChange($event) { this.onChange.emit({ Id: this.id, Type: this.controlType, Value: this.value, AdditionalInfo: this.additionalInfo }); }\r\n\r\n onTimeChange($event) { this.onChange.emit({ Id: this.id, Type: this.controlType, Value: this.value, AdditionalInfo: this.additionalInfo }); }\r\n\r\n onAdditionalInfoChange($event) { this.onChange.emit({ Id: this.id, Type: this.controlType, Value: this.value, AdditionalInfo: this.additionalInfo }); }\r\n\r\n onDateTimeChange($event) {\r\n console.error('**Timezone consideration has not yet been implemented.');\r\n this.onChange.emit({ Id: this.id, Type: this.controlType, Value: this.value, AdditionalInfo: this.additionalInfo });\r\n }\r\n\r\n getErrorMessage(): string {\r\n let errorMessage: string = \"Error with the field.\";\r\n if (this.form.controls[this.id].hasError('required')) {\r\n errorMessage = this.placeholder + ' is required.'\r\n }\r\n else if (this.form.controls[this.id].hasError('pattern')) {\r\n if (this.formControlType == 'email')\r\n errorMessage = this.placeholder + ' is not a valid email address.';\r\n else\r\n errorMessage = this.placeholder + ' is not in valid format.';\r\n }\r\n else if (this.form.controls[this.id].hasError('checked')) {\r\n errorMessage = this.placeholder + ' must be checked.';\r\n }\r\n else {\r\n }\r\n return errorMessage;\r\n }\r\n\r\n //private setDefaultValue() {\r\n // if (this.value == null || this.value == undefined) {\r\n // if (this.controlType == WebBookingControlType.CheckBox || this.controlType == WebBookingControlType.RadioButton) {\r\n // this.value = false;\r\n // //if (this.form && this.form.controls[this.id]) {\r\n // // this.form.controls[this.id].setValue(false);\r\n // // this.form.controls[this.id].updateValueAndValidity();\r\n // //}\r\n // }\r\n // }\r\n //}\r\n\r\n public get isInvalid(): boolean {\r\n let invalid: boolean = false;\r\n if (this.showError && this.form && this.form.controls[this.id] && this.form.controls[this.id].invalid) {\r\n invalid = true;\r\n }\r\n //else {\r\n // if (this.showError && this.form && this.form.controls[this.id]) {\r\n // if (hasCheckedValidator(this.form.controls[this.id]) && !this.form.controls[this.id].value)\r\n // invalid = true;\r\n // }\r\n //}\r\n return invalid;\r\n }\r\n\r\n public getStatus(): string {\r\n let status: string = \"\";\r\n if (this.form && this.form.controls[this.id]) {\r\n status += \"value: \" + this.form.controls[this.id].value;\r\n status += \", touched: \" + this.form.controls[this.id].touched;\r\n }\r\n return status;\r\n }\r\n\r\n public setDisable(disable: boolean): void {\r\n if (disable)\r\n this.form.controls[this.id].disable();\r\n else\r\n this.form.controls[this.id].enable();\r\n }\r\n\r\n // ControlValueAccessor -> methods\r\n //writeValue(value: any): void {\r\n // if (value !== this.innerValue)\r\n // this.innerValue = value;\r\n //}\r\n //registerOnChange(fn: any): void { this.onChangeCallback = fn; }\r\n //registerOnTouched(fn: any): void { this.onTouchedCallback = fn; }\r\n //setDisabledState?(isDisabled: boolean): void { }\r\n}\r\n\r\nexport interface ICotControlChangeEvent {\r\n Id: number | string;\r\n Type: WebBookingControlType;\r\n Value: any;\r\n AdditionalInfo: string;\r\n}\r\n\r\n//class Guid {\r\n// public static newGuid() {\r\n// return 'xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx'.replace(/[xy]/g, function (c) {\r\n// var r = Math.random() * 16 | 0, v = c == 'x' ? r : (r & 0x3 | 0x8);\r\n// return v.toString(16);\r\n// });\r\n// }\r\n\r\n// public static get empty(): string {\r\n// return '00000000-0000-0000-0000-000000000000';\r\n// }\r\n\r\n// public get empty(): string {\r\n// return Guid.empty;\r\n// }\r\n\r\n// public static isValid(str: string): boolean {\r\n// const validRegex = /^[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$/i;\r\n// return validRegex.test(str);\r\n// }\r\n\r\n// private value: string = this.empty;\r\n\r\n// constructor(value?: string) {\r\n// if (value) {\r\n// if (Guid.isValid(value)) {\r\n// this.value = value;\r\n// }\r\n// }\r\n// }\r\n\r\n// public toString() {\r\n// return this.value;\r\n// }\r\n\r\n// public toJSON(): string {\r\n// return this.value;\r\n// }\r\n//}\r\n\r\n//// disableControl directive\r\n//@Directive({\r\n// selector: '[disableControl]'\r\n//})\r\n//export class DisableControlDirective {\r\n// @Input() set disableControl(condition: boolean) {\r\n// const action = condition ? 'disable' : 'enable';\r\n// this.ngControl.control[action]();\r\n// }\r\n// constructor(private ngControl: NgControl) {\r\n// }\r\n//}\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/app/widgets/cot-form-control/cot-form-control.component.ts","module.exports = \"\\r\\n \\r\\n \\r\\n
{{idx + 1}}. {{item.AnalysisSectionName}}
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
0\\\">\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/widgets/cot-parental-consent-form/cot-parental-consent-form.component.html\n// module id = ./src/app/widgets/cot-parental-consent-form/cot-parental-consent-form.component.html\n// module chunks = main","module.exports = \".cot-tab-label, .cot-parental-consent-button {\\n font-weight: bold; }\\n\\n.cot-tab-content {\\n padding-top: 30px;\\n overflow: hidden; }\\n\\n.cot-tab-invalid, .cot-parental-consent-error {\\n color: red; }\\n\\n.cot-parental-consent-error {\\n font-style: italic; }\\n\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/widgets/cot-parental-consent-form/cot-parental-consent-form.component.scss\n// module id = ./src/app/widgets/cot-parental-consent-form/cot-parental-consent-form.component.scss\n// module chunks = main","import RegistrationAnalysisSection = Infospeed.Services.ClassWeb.API.Contracts.COT.RegistrationAnalysisSection;\r\nimport RegistrationAnalysis = Infospeed.Services.ClassWeb.API.Contracts.COT.RegistrationAnalysis;\r\nimport WebBookingControlType = Infospeed.Services.ClassWeb.API.Contracts.COT.WebBookingControlType;\r\nimport AnalysisUDFItem = Infospeed.Services.ClassWeb.API.Contracts.COT.AnalysisUDFItem;\r\n\r\nimport { Component, OnInit, Input, OnChanges, SimpleChange, DoCheck, ChangeDetectionStrategy, ChangeDetectorRef, ViewChild, Output, EventEmitter } from '@angular/core';\r\nimport { NgForm, ControlContainer } from '@angular/forms';\r\nimport { CotAnalysisFormComponent, ICotAnalysisChangeEvent, ICotAnalysis } from '../cot-analysis-form/cot-analysis-form.component';\r\nimport { CustomDialogComponent } from '../custom-dialog/custom-dialog.component';\r\nimport { MatTabGroup } from '@angular/material';\r\nimport { ConvertToIAnalysisUDFItems } from '../cot-analysis-form/cot-analysis-form.component';\r\n\r\n@Component({\r\n selector: 'cot-parental-consent-form',\r\n templateUrl: './cot-parental-consent-form.component.html',\r\n styleUrls: ['../widgets-custom-theme.scss', './cot-parental-consent-form.component.scss'],\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n viewProviders: [{ provide: ControlContainer, useExisting: NgForm }]\r\n})\r\nexport class CotParentalConsentFormComponent implements OnInit, OnChanges {\r\n // inputs\r\n @Input('analysisSections') analysisSections: RegistrationAnalysisSection[] = [];\r\n @Input('form') form: NgForm;\r\n @Input('validateError') validateError: boolean = true;\r\n @Input('numbering') numbering: boolean = true;\r\n @Input('disabled') disabled: boolean = false;\r\n @Input('touchedActivatedError') touchedActivatedError: boolean = false;\r\n // outputs\r\n @Output('onTabChange') onTabChange: EventEmitter = new EventEmitter();\r\n // view-childs\r\n @ViewChild('validationDialog') validationDialog: CustomDialogComponent;\r\n @ViewChild('cotParentalConsentTabGroup') cotParentalConsentTabGroup: MatTabGroup;\r\n // public properties\r\n public isPreviousParentalButtonDisabled: boolean = true;\r\n public isNextParentalButtonDisabled: boolean = true;\r\n // private properties\r\n private oldTabIndex: number = 0;\r\n\r\n constructor(private changeDetectorRef: ChangeDetectorRef) {\r\n }\r\n\r\n ngOnInit() {\r\n }\r\n\r\n ngOnChanges(changes: { [propKey: string]: SimpleChange }) { // model reference changes\r\n for (let propName in changes) {\r\n let changedProp = changes[propName];\r\n ////let to = JSON.stringify(changedProp.currentValue);\r\n if (propName === 'analysisSections') {\r\n // do something here\r\n this.disableEnableNavigationButtons();\r\n }\r\n }\r\n }\r\n\r\n ngDoCheck() { // property of the model changes\r\n }\r\n\r\n ngAfterViewInit() {\r\n // disable/enable navigation buttons\r\n //setTimeout(this.disableEnableNavigationButtons(), 250);\r\n }\r\n\r\n onSelectedTabChange($event) {\r\n //if (this.validateError) {\r\n // let tabIndex: number = $event.index;\r\n // if (this.oldTabIndex != tabIndex) {\r\n // // validate controls on tab/previous\r\n // if (this.validateError) {\r\n // if (this.analysisSections && this.analysisSections[this.oldTabIndex]) {\r\n // this.analysisSections[this.oldTabIndex].Analyses.forEach(x => {\r\n // const control = this.form.controls[x.AnalysisNameId];\r\n // if (control && control.invalid) {\r\n // control.markAsTouched({ onlySelf: true });\r\n // control.updateValueAndValidity({ onlySelf: true }); // updateValueAndValidity() is required to highlight the invalid control\r\n // }\r\n // });\r\n // }\r\n // }\r\n // // emitter\r\n // this.emitPreviousTab(this.oldTabIndex);\r\n // // set currentTabIndex as oldTabIndex\r\n // this.oldTabIndex = tabIndex;\r\n // //if (this.isTabInvalid(this.oldTabIndex)) {\r\n // // let tabName: string = this.analysisSections[this.oldTabIndex].AnalysisSectionName;\r\n // // // emit invalid controls\r\n // // this.emitInvalidSection(this.analysisSections[this.oldTabIndex].AnalysisSectionId);\r\n // //}\r\n // //else {\r\n // // this.oldTabIndex = tabIndex;\r\n // //}\r\n // }\r\n //}\r\n\r\n // enable/disable navigation buttons\r\n this.disableEnableNavigationButtons();\r\n }\r\n\r\n private emitPreviousTab(tabIndex: number) {\r\n this.onTabChange.emit({ Id: tabIndex });\r\n }\r\n\r\n private emitInvalidSection(id: number) {\r\n this.onTabChange.emit({ Id: id });\r\n }\r\n\r\n public isTabInvalid(tabIndex: number): boolean {\r\n let isInvalid: boolean = false;\r\n let selectedSection: RegistrationAnalysisSection = this.analysisSections[tabIndex];\r\n for (let i: number = 0; i < selectedSection.Analyses.length; i++) {\r\n if (this.form.controls[selectedSection.Analyses[i].AnalysisNameId])\r\n if (this.form.controls[selectedSection.Analyses[i].AnalysisNameId].invalid) {\r\n isInvalid = true;\r\n break;\r\n }\r\n }\r\n return isInvalid;\r\n }\r\n\r\n public hasTabError(tabIndex: number): boolean {\r\n let hasError: boolean = false;\r\n let selectedSection: RegistrationAnalysisSection = this.analysisSections[tabIndex];\r\n for (let i: number = 0; i < selectedSection.Analyses.length; i++) {\r\n if (this.form.controls[selectedSection.Analyses[i].AnalysisNameId])\r\n if (this.touchedActivatedError) {\r\n if (this.form.controls[selectedSection.Analyses[i].AnalysisNameId].touched && this.form.controls[selectedSection.Analyses[i].AnalysisNameId].errors) { // note: doesn't have to touched\r\n hasError = true;\r\n break;\r\n }\r\n }\r\n else {\r\n if (this.form.controls[selectedSection.Analyses[i].AnalysisNameId].errors) { // note: doesn't have to touched\r\n hasError = true;\r\n break;\r\n }\r\n }\r\n }\r\n return hasError;\r\n }\r\n\r\n public hasParentConsentError(): boolean {\r\n let hasError: boolean = false;\r\n for (let i: number = 0; i < this.analysisSections.length; i++) {\r\n if (hasError) break;\r\n for (let j: number = 0; j < this.analysisSections[i].Analyses.length; j++) {\r\n const control = this.form.controls[this.analysisSections[i].Analyses[j].AnalysisNameId];\r\n if (this.touchedActivatedError) {\r\n if (control && control.touched && control.errors) { // note: doesn't have to be touched\r\n hasError = true;\r\n break;\r\n }\r\n }\r\n else {\r\n if (control && control.errors) {\r\n hasError = true;\r\n break;\r\n }\r\n }\r\n }\r\n }\r\n return hasError;\r\n }\r\n\r\n //public getAnalysisUDFItems(): AnalysisUDFItem[] {\r\n // let udfItems: AnalysisUDFItem[] = [];\r\n // this.analysisSections.forEach(section => {\r\n // section.Analyses.forEach(item => {\r\n // let udfItem: AnalysisUDFItem = {\r\n // AnalysisUDFItemId: 0,\r\n // AnalysisUDFNameId: item.AnalysisNameId,\r\n // AnalysisUDFSectionId: item.AnalysisSectionId,\r\n // Content: item.Content,\r\n // Date: item.Date,\r\n // ShortNote: item.Note,\r\n // };\r\n // udfItems.push(udfItem);\r\n // });\r\n // });\r\n // return udfItems;\r\n //}\r\n\r\n //public transformInfoIAnalysisUDFItem(item: AnalysisUDFItem): any {\r\n // let iAnalysisUDFItem: any = {\r\n // AnalysisUDFItemId: 0,\r\n // AnalysisUDFSectionId: item.AnalysisUDFSectionId,\r\n // AnalysisUDFNameId: item.AnalysisUDFNameId,\r\n // AnalysisUDFName: \"\",\r\n // Date: item.Date,\r\n // Content: item.Content,\r\n // ShortNote: item.ShortNote,\r\n // };\r\n // return iAnalysisUDFItem;\r\n //}\r\n\r\n public getIAnalysisUDFItems(): any[] {\r\n let iAnalysisUDFItems: any[] = [];\r\n //this.getAnalysisUDFItems().forEach(item => {\r\n // let iAnalysisUDFItem: any = {\r\n // AnalysisUDFItemId: 0,\r\n // AnalysisUDFSectionId: item.AnalysisUDFSectionId,\r\n // AnalysisUDFNameId: item.AnalysisUDFNameId,\r\n // AnalysisUDFName: \"\",\r\n // Date: item.Date,\r\n // Content: item.Content,\r\n // ShortNote: item.ShortNote,\r\n // };\r\n // iAnalysisUDFItems.push(iAnalysisUDFItem);\r\n //});\r\n this.analysisSections.forEach(section => {\r\n let iItems = ConvertToIAnalysisUDFItems(section.Analyses);\r\n if (iItems && iItems.length > 0)\r\n iAnalysisUDFItems.push(...iItems);\r\n });\r\n\r\n return iAnalysisUDFItems;\r\n }\r\n\r\n public reset() {\r\n this.analysisSections.forEach(section => {\r\n section.Analyses.forEach(x => {\r\n // reset the control\r\n const control = this.form.control.get(x.AnalysisNameId.toString());\r\n if (control)\r\n control.reset();\r\n });\r\n });\r\n }\r\n\r\n onAnalysisChange($event: ICotAnalysisChangeEvent) {\r\n const cotAnalysis: ICotAnalysis = $event.CotAnalysis;\r\n // update registration-analysis\r\n let registrationAnalysisSection: RegistrationAnalysisSection = this.analysisSections.filter(x => x.AnalysisSectionId == cotAnalysis.AnalysisSectionId)[0];\r\n let registrationAnalysis: RegistrationAnalysis = registrationAnalysisSection.Analyses.filter(x => x.AnalysisNameId == cotAnalysis.AnalysisNameId)[0];\r\n registrationAnalysis.Content = cotAnalysis.Content;\r\n registrationAnalysis.Date = cotAnalysis.Date;\r\n registrationAnalysis.Note = cotAnalysis.Note;\r\n }\r\n\r\n onClickNext($event) {\r\n this.cotParentalConsentTabGroup.selectedIndex++;\r\n //this.disableEnableNavigationButtons();\r\n }\r\n\r\n onClickPrevious($event) {\r\n this.cotParentalConsentTabGroup.selectedIndex--;\r\n //this.disableEnableNavigationButtons();\r\n }\r\n\r\n private disableEnableNavigationButtons() {\r\n {\r\n if (this.cotParentalConsentTabGroup.selectedIndex > 0)\r\n this.isPreviousParentalButtonDisabled = false;\r\n else\r\n this.isPreviousParentalButtonDisabled = true;\r\n\r\n if (this.cotParentalConsentTabGroup.selectedIndex < this.analysisSections.length - 1)\r\n this.isNextParentalButtonDisabled = false;\r\n else\r\n this.isNextParentalButtonDisabled = true;\r\n }\r\n }\r\n}\r\n\r\nexport interface ICotParentalConsentTabChangeEvent {\r\n Id: number | string;\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/app/widgets/cot-parental-consent-form/cot-parental-consent-form.component.ts","module.exports = \"
\\r\\n
\\r\\n
\\r\\n
{{idx + startingNumber}}. {{item.AnalysisSectionName}}
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/widgets/cot-udfs-regular-form/cot-udfs-regular-form.component.html\n// module id = ./src/app/widgets/cot-udfs-regular-form/cot-udfs-regular-form.component.html\n// module chunks = main","module.exports = \".cot-udf-section-invalid, cot-udfs-regular-form-error {\\n color: red; }\\n\\n.cot-udf-section-error {\\n font-style: italic; }\\n\\n.cot-udf-heading {\\n text-transform: uppercase;\\n border-bottom: 1px solid rgba(0, 0, 0, 0.87); }\\n\\n.cot-udf-label {\\n font-weight: bold; }\\n\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/widgets/cot-udfs-regular-form/cot-udfs-regular-form.component.scss\n// module id = ./src/app/widgets/cot-udfs-regular-form/cot-udfs-regular-form.component.scss\n// module chunks = main","import RegistrationAnalysisSection = Infospeed.Services.ClassWeb.API.Contracts.COT.RegistrationAnalysisSection;\r\nimport RegistrationAnalysis = Infospeed.Services.ClassWeb.API.Contracts.COT.RegistrationAnalysis;\r\nimport WebBookingControlType = Infospeed.Services.ClassWeb.API.Contracts.COT.WebBookingControlType;\r\nimport AnalysisUDFItem = Infospeed.Services.ClassWeb.API.Contracts.COT.AnalysisUDFItem;\r\n\r\nimport { Component, OnInit, Input, OnChanges, SimpleChange, DoCheck, ChangeDetectionStrategy, ChangeDetectorRef, ViewChild, Output, EventEmitter, ViewChildren, QueryList } from '@angular/core';\r\nimport { NgForm, ControlContainer } from '@angular/forms';\r\nimport { CotAnalysisFormComponent, ICotAnalysisChangeEvent, ICotAnalysis } from '../cot-analysis-form/cot-analysis-form.component';\r\nimport { CustomDialogComponent } from '../custom-dialog/custom-dialog.component';\r\nimport { ConvertToIAnalysisUDFItems } from '../cot-analysis-form/cot-analysis-form.component';\r\n\r\n@Component({\r\n selector: 'cot-udfs-regular-form',\r\n templateUrl: './cot-udfs-regular-form.component.html',\r\n styleUrls: ['../widgets-custom-theme.scss', './cot-udfs-regular-form.component.scss'],\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n viewProviders: [{ provide: ControlContainer, useExisting: NgForm }]\r\n})\r\nexport class CotUdfsRegularFormComponent implements OnInit, OnChanges {\r\n // inputs\r\n @Input('analysisSections') analysisSections: RegistrationAnalysisSection[] = [];\r\n @Input('form') form: NgForm;\r\n @Input('validateError') validateError: boolean = true;\r\n @Input('numbering') numbering: boolean = true;\r\n @Input('disabled') disabled: boolean = false;\r\n @Input('startingNumber') startingNumber: number = 1;\r\n // view-childs\r\n @ViewChild('validationDialog') validationDialog: CustomDialogComponent;\r\n @ViewChildren(CotAnalysisFormComponent) cotAnalysisFormComponents: QueryList;\r\n\r\n constructor(private changeDetectorRef: ChangeDetectorRef) {\r\n }\r\n\r\n ngOnInit() {\r\n }\r\n\r\n ngOnChanges(changes: { [propKey: string]: SimpleChange }) { // model reference changes\r\n for (let propName in changes) {\r\n let changedProp = changes[propName];\r\n ////let to = JSON.stringify(changedProp.currentValue);\r\n if (propName === 'analysisSections') {\r\n // do something here\r\n //this.disableEnableNavigationButtons();\r\n }\r\n }\r\n }\r\n\r\n ngDoCheck() { // property of the model changes\r\n }\r\n\r\n ngAfterViewInit() {\r\n // disable/enable navigation buttons\r\n //setTimeout(this.disableEnableNavigationButtons(), 250);\r\n }\r\n\r\n isSectionInvalid(sectionId: number): boolean {\r\n if (!sectionId || sectionId == 0) return;\r\n let isInvalid: boolean = false;\r\n let selectedSection: RegistrationAnalysisSection = this.analysisSections.filter(x => x.AnalysisSectionId === sectionId)[0];\r\n for (let i: number = 0; i < selectedSection.Analyses.length; i++) {\r\n if (this.form.controls[selectedSection.Analyses[i].AnalysisNameId])\r\n if (this.form.controls[selectedSection.Analyses[i].AnalysisNameId].invalid) {\r\n isInvalid = true;\r\n break;\r\n }\r\n }\r\n return isInvalid;\r\n }\r\n\r\n hasSectionError(sectionId: number): boolean {\r\n if (!sectionId || sectionId == 0) return;\r\n let hasError: boolean = false;\r\n let selectedSection: RegistrationAnalysisSection = this.analysisSections.filter(x => x.AnalysisSectionId === sectionId)[0];\r\n for (let i: number = 0; i < selectedSection.Analyses.length; i++) {\r\n if (this.form.controls[selectedSection.Analyses[i].AnalysisNameId])\r\n if (this.form.controls[selectedSection.Analyses[i].AnalysisNameId].touched && this.form.controls[selectedSection.Analyses[i].AnalysisNameId].errors) {\r\n hasError = true;\r\n break;\r\n }\r\n }\r\n return hasError;\r\n }\r\n\r\n public hasFormError(): boolean {\r\n let hasError: boolean = false;\r\n for (let i: number = 0; i < this.analysisSections.length; i++) {\r\n if (hasError) break;\r\n for (let j: number = 0; j < this.analysisSections[i].Analyses.length; j++) {\r\n const control = this.form.controls[this.analysisSections[i].Analyses[j].AnalysisNameId];\r\n if (control && control.touched && control.errors) {\r\n hasError = true;\r\n break;\r\n }\r\n }\r\n }\r\n return hasError;\r\n }\r\n\r\n public getIAnalysisUDFItems(): any[] {\r\n let iAnalysisUDFItems: any[] = [];\r\n this.analysisSections.forEach(section => {\r\n let iItems = ConvertToIAnalysisUDFItems(section.Analyses);\r\n if (iItems && iItems.length > 0)\r\n iAnalysisUDFItems.push(...iItems);\r\n });\r\n return iAnalysisUDFItems;\r\n }\r\n \r\n public resetToDefault() {\r\n if (this.cotAnalysisFormComponents)\r\n this.cotAnalysisFormComponents.forEach(x => {\r\n x.resetToDefault();\r\n });\r\n }\r\n\r\n public disable(disable: boolean = true) {\r\n if (this.cotAnalysisFormComponents)\r\n this.cotAnalysisFormComponents.forEach(x => {\r\n x.disable(disable);\r\n });\r\n }\r\n\r\n public validateControls() {\r\n this.analysisSections.forEach(section => {\r\n section.Analyses.forEach(x => {\r\n const control = this.form.control.get(x.AnalysisNameId.toString());\r\n if (control && control.invalid) {\r\n control.markAsTouched({ onlySelf: true });\r\n control.updateValueAndValidity({ onlySelf: true }); // updateValueAndValidity() is required to highlight the invalid control\r\n }\r\n });\r\n });\r\n }\r\n\r\n onAnalysisChange($event: ICotAnalysisChangeEvent) {\r\n const cotAnalysis: ICotAnalysis = $event.CotAnalysis;\r\n // update registration-analysis\r\n let registrationAnalysisSection: RegistrationAnalysisSection = this.analysisSections.filter(x => x.AnalysisSectionId == cotAnalysis.AnalysisSectionId)[0];\r\n let registrationAnalysis: RegistrationAnalysis = registrationAnalysisSection.Analyses.filter(x => x.AnalysisNameId == cotAnalysis.AnalysisNameId)[0];\r\n registrationAnalysis.Content = cotAnalysis.Content;\r\n registrationAnalysis.Date = cotAnalysis.Date;\r\n registrationAnalysis.Note = cotAnalysis.Note;\r\n }\r\n}\r\n\r\nexport interface ICotParentalConsentTabChangeEvent {\r\n Id: number | string;\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/app/widgets/cot-udfs-regular-form/cot-udfs-regular-form.component.ts","module.exports = \"\\r\\n
\\r\\n

{{heading}}

\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/widgets/custom-dialog/custom-dialog.component.html\n// module id = ./src/app/widgets/custom-dialog/custom-dialog.component.html\n// module chunks = main","module.exports = \".custom-dialog-actions {\\n float: right;\\n margin-top: 1.5em; }\\n\\n.custom-dialog {\\n overflow: auto; }\\n\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/widgets/custom-dialog/custom-dialog.component.scss\n// module id = ./src/app/widgets/custom-dialog/custom-dialog.component.scss\n// module chunks = main","import { Component, ViewChild, OnInit, AfterViewInit, OnDestroy, Directive, Input, Output, EventEmitter, ElementRef, Renderer } from '@angular/core';\r\nimport { MatDialog, MatDialogRef, MatDialogConfig } from '@angular/material';\r\nimport { finalize } from 'rxjs/operators';\r\n\r\n@Component({\r\n selector: 'custom-dialog',\r\n templateUrl: './custom-dialog.component.html',\r\n styleUrls: ['./custom-dialog.component.scss']\r\n})\r\nexport class CustomDialogComponent implements OnInit {\r\n private config: MatDialogConfig = {};\r\n private _defaults = {\r\n title: 'Dialog',\r\n closeText: 'Close',\r\n applyText: 'Apply',\r\n maxHeight: 240,\r\n disableCloseOnScreen: false\r\n };\r\n\r\n dialogRef: MatDialogRef;\r\n\r\n @Input('close-text') closeText: string = this._defaults.closeText;\r\n @Input('apply-text') applyText: string = this._defaults.applyText;\r\n @Input('disable-close-onScreen') disableCloseOnScreen: boolean = this._defaults.disableCloseOnScreen;\r\n @Input('title') title: string = this._defaults.title;\r\n @Input('referenceId') referenceId: number = null;\r\n @Input('heading') heading: string;\r\n @Input('applyDisabled') applyDisabled: boolean;\r\n @Input('closeDisabled') closeDisabled: boolean;\r\n @Input('applyShown') applyShown: boolean;\r\n @Input('closeShown') closeShown: boolean;\r\n @Input('max-width') maxWidth: string = '450px';\r\n @Input('min-width') minWidth: string = '380px';\r\n @Input('min-height') minHeight: string = '180px';\r\n @Input('max-height') maxHeight: string = this._defaults.maxHeight + 'px';\r\n @Input('disableCloseOnOutside') disableCloseOnOutside: boolean = false;\r\n\r\n @Output('applyClick') applyClick: EventEmitter = new EventEmitter();\r\n @Output('closeClick') closeClick: EventEmitter = new EventEmitter();\r\n\r\n @ViewChild('dialogTemplate') template: any;\r\n\r\n constructor(public dialog: MatDialog, public dialogElement: ElementRef) {\r\n }\r\n\r\n ngOnInit() {\r\n this.config = {\r\n width: this.maxWidth,\r\n height: 'auto',\r\n minWidth: this.minWidth,\r\n maxWidth: this.maxWidth,\r\n minHeight: this.minHeight,\r\n maxHeight: this.maxHeight,\r\n disableClose: this.disableCloseOnOutside\r\n };\r\n }\r\n\r\n getCloseButtonColor = () => {\r\n return this.applyShown ? \"\" : \"primary\";\r\n }\r\n\r\n activate(position?: any) {\r\n if (this.dialogRef) return; // if dialog exists, return.\r\n if (window.innerHeight < this._defaults.maxHeight) { // if window height < _default.maxHeight\r\n this.config.height = window.innerHeight.toString() + 'px';\r\n }\r\n this.config.disableClose = this.disableCloseOnOutside;\r\n //window.setTimeout(() => {\r\n this.dialogRef = this.dialog.open(this.template, this.config);\r\n // update position\r\n if (position) {\r\n this.dialogRef.updatePosition(position);\r\n }\r\n // handle afterClosed()\r\n this.dialogRef.beforeClose().subscribe(() => {\r\n this.dialogRef = undefined;\r\n });\r\n //}); // todo: find a better solution then setTimeOut()\r\n };\r\n\r\n onResize = (event: any) => {\r\n const containerHeight: any = ((this.dialogRef._containerInstance))._elementRef.nativeElement.clientHeight; // in number\r\n if (event.srcElement.innerHeight <= this._defaults.maxHeight) { // if window height < _default.maxHeight\r\n this.config.height = Number(event.srcElement.innerHeight) - 20 + 'px';\r\n this.dialogRef.close();\r\n this.dialogRef = this.dialog.open(this.template, this.config);\r\n }\r\n else {\r\n this.resetDimensions();\r\n this.dialogRef.updateSize(this.config.width, this.config.height);\r\n }\r\n };\r\n\r\n resetDimensions = () => {\r\n this.config = { width: this.maxWidth, height: 'auto' };\r\n };\r\n\r\n closeDialog = () => {\r\n if (!this.dialogRef) return; // if dialog doesn't exist, return.\r\n this.closeClick.emit(this.referenceId);\r\n this.dialogRef.close();\r\n };\r\n\r\n onApplyClicked = () => {\r\n if (!this.dialogRef) return; // if dialog doesn't exist, return.\r\n this.applyClick.emit(this.referenceId);\r\n this.dialogRef.close();\r\n };\r\n}\r\n\r\nexport interface ICustomDialogMessage {\r\n Heading: string;\r\n Content: string;\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/app/widgets/custom-dialog/custom-dialog.component.ts","module.exports = \"\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/widgets/custom-fab/custom-fab.component.html\n// module id = ./src/app/widgets/custom-fab/custom-fab.component.html\n// module chunks = main","module.exports = \".fab-icon {\\n position: relative;\\n font-size: 2em;\\n top: -4px;\\n right: 2px;\\n -webkit-font-feature-settings: \\\"liga\\\";\\n font-feature-settings: \\\"liga\\\"; }\\n\\n.fab-disabled {\\n background-color: rgba(195, 195, 195, 0.85) !important;\\n color: rgba(255, 255, 255, 0.54) !important; }\\n\\n.custom-fab-raised-button .fab-icon {\\n top: -2px; }\\n\\n.custom-fab-raised-button .fab-text {\\n margin-left: 5px; }\\n\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/widgets/custom-fab/custom-fab.component.scss\n// module id = ./src/app/widgets/custom-fab/custom-fab.component.scss\n// module chunks = main","import { Component, Input, Output, EventEmitter, ElementRef, Renderer, OnInit } from '@angular/core';\r\nimport { CommonNotificationService } from '../../services/common-notification.service';\r\nimport { BaseWidgetComponent } from '../base-widget.component';\r\n\r\n@Component({\r\n selector: 'custom-fab',\r\n templateUrl: './custom-fab.component.html',\r\n styleUrls: ['./custom-fab.component.scss']\r\n})\r\nexport class CustomFabComponent extends BaseWidgetComponent implements OnInit {\r\n fabIcon: string;\r\n disabled: boolean = false;\r\n hideFab: boolean = true;\r\n fabType: CustomFabType = CustomFabType.Standard;\r\n fabText: string = '';\r\n\r\n @Input('fab-color') fabColor: string;\r\n\r\n constructor(private commonNotificationService: CommonNotificationService) {\r\n super();\r\n this.commonNotificationService.$disableFabSource.takeUntil(this.emitUnsubscribe).subscribe(\r\n (flag: boolean) => {\r\n this.disabled = flag;\r\n });\r\n this.commonNotificationService.$fabIconSource.takeUntil(this.emitUnsubscribe).subscribe(\r\n (icon: string) => {\r\n this.fabIcon = icon;\r\n });\r\n this.commonNotificationService.$hideFabSource.takeUntil(this.emitUnsubscribe).subscribe(\r\n (flag: boolean) => {\r\n this.hideFab = flag;\r\n });\r\n this.commonNotificationService.$fabTypeSource.takeUntil(this.emitUnsubscribe).subscribe(\r\n (fab: ICustomFab) => {\r\n this.fabType = fab.Type;\r\n this.fabText = fab.Text;\r\n }\r\n );\r\n }\r\n\r\n ngOnInit() { }\r\n\r\n onClickFab = () => {\r\n this.commonNotificationService.emitOnClickFab(this.fabIcon);\r\n }\r\n}\r\n\r\nexport enum CustomFabType {\r\n Standard = 0,\r\n RaisedButton = 1,\r\n NoIconRaisedButton = 2,\r\n}\r\n\r\nexport interface ICustomFab {\r\n Type: CustomFabType;\r\n Text: string;\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/app/widgets/custom-fab/custom-fab.component.ts","module.exports = \"\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n\\r\\n \\r\\n \\r\\n \\r\\n {{item.Name}}\\r\\n \\r\\n {{getErrorMessage()}}\\r\\n \\r\\n\\r\\n\\r\\n\\r\\n \\r\\n \\r\\n \\r\\n {{item}}\\r\\n \\r\\n {{getErrorMessage()}}\\r\\n \\r\\n\\r\\n\\r\\n\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/widgets/dropdown/dropdown.component.html\n// module id = ./src/app/widgets/dropdown/dropdown.component.html\n// module chunks = main","module.exports = \"\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/widgets/dropdown/dropdown.component.scss\n// module id = ./src/app/widgets/dropdown/dropdown.component.scss\n// module chunks = main","import {\r\n Component, OnInit, Input, Output, EventEmitter, OnChanges, SimpleChange, Directive, Provider, forwardRef,\r\n DoCheck, ChangeDetectionStrategy, ChangeDetectorRef, Injectable,\r\n} from '@angular/core';\r\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR, FormControl, Validators, NgForm, ControlContainer } from '@angular/forms';\r\nimport { BaseWidgetComponent } from '../base-widget.component';\r\nimport { ErrorStateMatcher } from '@angular/material/core';\r\n\r\nconst noop = () => { };\r\nexport const CUSTOM_VALUE_ACCESSOR: any = {\r\n provide: NG_VALUE_ACCESSOR,\r\n useExisting: forwardRef(() => DropdownComponent),\r\n multi: true\r\n};\r\n\r\n@Component({\r\n selector: 'dropdown',\r\n templateUrl: './dropdown.component.html',\r\n styleUrls: ['./dropdown.component.scss'],\r\n providers: [CUSTOM_VALUE_ACCESSOR],\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n viewProviders: [{ provide: ControlContainer, useExisting: NgForm }]\r\n})\r\nexport class DropdownComponent extends BaseWidgetComponent implements OnInit, OnChanges, ControlValueAccessor {\r\n private innerValue: any = null/*undefined*/;\r\n private onTouchedCallback: () => void = noop;\r\n private onChangeCallback: (_: any) => void = noop;\r\n writeValue(obj: any): void { if (obj !== this.innerValue) this.innerValue = obj; }\r\n registerOnChange(fn: any): void { this.onChangeCallback = fn; }\r\n registerOnTouched(fn: any): void { this.onTouchedCallback = fn; }\r\n setDisabledState?(isDisabled: boolean): void { }\r\n get value(): any { return this.innerValue; };\r\n set value(obj: any) {\r\n if (obj !== this.innerValue) {\r\n this.innerValue = obj;\r\n this.onChangeCallback(obj);\r\n }\r\n }\r\n\r\n @Input('id') id: number | string;\r\n @Input('disabled') disabled: boolean = false;\r\n @Input('required') required: boolean = false;\r\n @Input('placeholder') placeholder: string;\r\n @Input('options') options: IDropdownSelectOption[] | string[] | number[] = [];\r\n @Input('form') form: NgForm;\r\n @Input('showError') showError: boolean = true;\r\n @Input('isSelectOption') isSelectOption: boolean = true;\r\n @Input('requiredMessage') requiredMessage: string;\r\n @Input('preSelect') preSelect: boolean = true;\r\n @Input('hidden') hidden: boolean = false;\r\n @Output('onChange') onChange: EventEmitter = new EventEmitter();\r\n @Output('onClick') onClick: EventEmitter = new EventEmitter();\r\n private oldValue: any = null/*undefined*/;\r\n private defaultValue: any = null/*undefined*/;\r\n\r\n constructor(private changeDetectorRef: ChangeDetectorRef) {\r\n super();\r\n }\r\n\r\n ngOnInit(): void {\r\n }\r\n\r\n ngOnChanges(changes: { [propKey: string]: SimpleChange }) { // model reference changes\r\n for (let propName in changes) {\r\n if (propName === 'options') {\r\n //this.value = null/*undefined*/; // reset value if options changes\r\n //this.oldOptions = this.options;\r\n if (this.options && this.options.length == 1 && this.preSelect) {\r\n if (this.isSelectOption) {\r\n this.value = (this.options[0]).Id; // this will trigger (selectionChange) event\r\n //this.onSelectOptionsChange(undefined);\r\n }\r\n else {\r\n this.value = (this.options[0]);\r\n //this.onRegularOptionsChange(undefined);\r\n }\r\n } else {\r\n this.value = null;\r\n }\r\n }\r\n }\r\n }\r\n\r\n ngDoCheck() { // property of the model changes\r\n //if (this.oldValue !== this.value) {\r\n // this.changeDetectorRef.markForCheck();\r\n // this.oldValue = this.value;\r\n //}\r\n\r\n //if ((this.value !== null && this.value !== undefined) && (this.defaultValue !== this.value)) {\r\n // // if during initialize value was default assigned\r\n // if ((this.defaultValue === null || this.defaultValue === undefined) && (this.value !== null && this.value !== undefined)) {\r\n // this.defaultValue = this.value;\r\n // this.changeDetectorRef.markForCheck();\r\n // if (this.isSelectOption)\r\n // this.onSelectOptionsChange(undefined);\r\n // else\r\n // this.onRegularOptionsChange(undefined);\r\n // }\r\n //}\r\n\r\n if ((this.oldValue !== this.value) && (this.options != undefined && this.options != null/* && this.options.length > 0*/)) {\r\n if (this.value === undefined) this.value = null;\r\n if (this.oldValue === this.value) return;\r\n this.oldValue = this.value;\r\n if (this.isSelectOption)\r\n this.onSelectOptionsChange(null/*undefined*/, true);\r\n else\r\n this.onRegularOptionsChange(null/*undefined*/, true);\r\n }\r\n }\r\n\r\n ngAfterViewInit() {\r\n //if (this.value) // if default value setup\r\n // this.onSelectOptionsChange(null);\r\n //if (this.required && (this.value === null && this.value === undefined))\r\n // this.value = -1;\r\n }\r\n\r\n onSelectOptionsChange($event, changeTriggered: boolean = false) {\r\n if (!changeTriggered) return;\r\n if (this.value && this.value > 0) {\r\n let option: IDropdownSelectOption = ((this.options)).filter(x => x.Id == this.value)[0];\r\n this.onChange.emit({ Id: this.value, Value: option, Options: this.options });\r\n }\r\n else {\r\n this.onChange.emit({ Id: this.value, Value: null/*undefined*/, Options: this.options });\r\n }\r\n }\r\n\r\n getErrorMessage(): string {\r\n return this.form.controls[this.id].hasError('required') ? (this.placeholder + ' is required.') : 'Unknown error.';\r\n }\r\n\r\n isInvalid(): boolean {\r\n if (this.showError && this.form && this.form.controls[this.id] && this.form.controls[this.id].invalid)\r\n return true;\r\n else\r\n return false;\r\n }\r\n\r\n onRegularOptionsChange($event, changeTriggered: boolean = false) {\r\n if (!changeTriggered) return;\r\n if (this.value) {\r\n let option: string | number;\r\n if (isNaN(this.value)) {\r\n option = (this.options).filter(x => x == this.value)[0];\r\n this.onChange.emit({ Id: this.value, Value: option, Options: this.options });\r\n }\r\n else {\r\n option = (this.options).filter(x => x == this.value)[0];\r\n this.onChange.emit({ Id: this.value, Value: option, Options: this.options });\r\n }\r\n }\r\n else {\r\n if (isNaN(this.value))\r\n this.onChange.emit({ Id: this.value, Value: null/*undefined*/, Options: this.options });\r\n else\r\n this.onChange.emit({ Id: this.value, Value: null/*undefined*/, Options: this.options });\r\n }\r\n }\r\n\r\n onSelectionOptionsClick($event) {\r\n if (this.value && this.value > 0) {\r\n let option: IDropdownSelectOption = ((this.options)).filter(x => x.Id == this.value)[0];\r\n this.onClick.emit({ Id: this.value, Value: option, Options: this.options });\r\n }\r\n else {\r\n this.onClick.emit({ Id: this.value, Value: null, Options: this.options });\r\n }\r\n }\r\n\r\n onRegularOptionsClick($event) {\r\n if (this.value) {\r\n let option: string | number;\r\n if (isNaN(this.value)) {\r\n option = (this.options).filter(x => x == this.value)[0];\r\n this.onClick.emit({ Id: this.value, Value: option, Options: this.options });\r\n }\r\n else {\r\n option = (this.options).filter(x => x == this.value)[0];\r\n this.onClick.emit({ Id: this.value, Value: option, Options: this.options });\r\n }\r\n }\r\n else {\r\n if (isNaN(this.value))\r\n this.onClick.emit({ Id: this.value, Value: null, Options: this.options });\r\n else\r\n this.onClick.emit({ Id: this.value, Value: null, Options: this.options });\r\n }\r\n }\r\n}\r\n\r\nexport interface IDropdownSelectOption {\r\n Id: number,\r\n Name: string\r\n}\r\n\r\nexport interface IDropdownSelectChangeEvent {\r\n Id: number | string;\r\n Value: IDropdownSelectOption | string | number;\r\n Options: IDropdownSelectOption[] | string[] | number[];\r\n}\r\n\r\nexport interface IRequired {\r\n Required: boolean;\r\n Message: string;\r\n}\r\n\r\n\r\n@Injectable()\r\nexport class DropdownService {\r\n public reset(value: number | string, options: IDropdownSelectOption[] | string[] | number[], isSelectOption: boolean = true) {\r\n if (options && options.length == 1) {\r\n if (isSelectOption) {\r\n value = (options[0]).Id;\r\n }\r\n else {\r\n value = (options[0]);\r\n }\r\n }\r\n else\r\n value = null;// undefined;\r\n }\r\n}\r\n\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/app/widgets/dropdown/dropdown.component.ts","module.exports = \"
\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n file_upload\\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 {{fileObj.Name}}{{fileObj.Size}} Kb\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/widgets/file-uploader/file-uploader.component.html\n// module id = ./src/app/widgets/file-uploader/file-uploader.component.html\n// module chunks = main","module.exports = \".button-wrapper {\\n margin-top: 23px;\\n padding-left: 15px; }\\n\\n.upload-icon {\\n font-size: 55px;\\n color: darkgray;\\n margin-top: 12px;\\n margin-right: 20px; }\\n\\n.cw-picture {\\n background-size: cover;\\n background-position: center;\\n display: block;\\n max-width: 120px;\\n max-height: 160px; }\\n\\ninput[type=\\\"file\\\"] {\\n display: block !important;\\n width: 119px;\\n height: 36px !important;\\n opacity: 0 !important;\\n overflow: hidden !important;\\n z-index: 100 !important;\\n margin-top: -36px;\\n padding-top: -20px;\\n cursor: pointer; }\\n\\n.file-container:first-of-type {\\n margin-top: 25px; }\\n\\n.file-item {\\n float: left; }\\n\\n.file-item span:first-child {\\n padding-right: 10px; }\\n\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/widgets/file-uploader/file-uploader.component.scss\n// module id = ./src/app/widgets/file-uploader/file-uploader.component.scss\n// module chunks = main","import { Component, OnInit, Output, SimpleChanges, Input, EventEmitter, ViewChild, ElementRef, Renderer, AfterViewInit, ChangeDetectionStrategy } from '@angular/core';\r\nimport { DomSanitizer, SafeStyle, SafeUrl } from '@angular/platform-browser';\r\nimport { NgForm, ControlContainer, AbstractControl, ValidatorFn, AsyncValidatorFn } from '@angular/forms';\r\n\r\nconst imageFrameWidth: number = 120;\r\nconst imageFrameHeight: number = 160;\r\nconst maxFileSize: number = 5000000;\r\n\r\n@Component({\r\n selector: 'file-uploader',\r\n templateUrl: './file-uploader.component.html',\r\n styleUrls: ['./file-uploader.component.scss'],\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n viewProviders: [{ provide: ControlContainer, useExisting: NgForm }]\r\n})\r\nexport class FileUploaderComponent implements OnInit {\r\n private fileUploadError: IFileUploadError = { Type: \"\", Message: \"\" };\r\n\r\n @Input('imageUpload') imageUpload: boolean = false;\r\n @Input('otherFileUpload') otherFileUpload: boolean = false;\r\n @Input('uploadText') uploadText: string = \"\";\r\n @Input('file-uploader-width') fileUploaderWidth: string = \"140\";\r\n @Input('id') id: string = \"\";\r\n @Input('form') form: NgForm;\r\n @Output() emitPicture: EventEmitter = new EventEmitter();\r\n @Output() emitOtherFile: EventEmitter = new EventEmitter();\r\n @Output() emitOpenFile: EventEmitter = new EventEmitter();\r\n @Output() emitError: EventEmitter = new EventEmitter();\r\n @Output(\"imageRemoved\") imageRemoved = new EventEmitter();\r\n @Output(\"fileRemoved\") fileRemoved: EventEmitter = new EventEmitter();\r\n\r\n localImgUrl: string;\r\n noImage: boolean = true;\r\n noFile: boolean = true;\r\n localImageLoaded: boolean = false;\r\n localFileLoaded: boolean = false;\r\n fileArray: IFileObject[] = Array();\r\n isUploaded: boolean = false;\r\n\r\n ngOnInit() {\r\n // set upload-text\r\n if (!this.uploadText || this.uploadText.length == 0) {\r\n if (this.imageUpload)\r\n this.uploadText = \"UPLOAD PHOTO\";\r\n else\r\n this.uploadText = \"UPLOAD FILE\";\r\n }\r\n // set id\r\n if (this.id || this.id.length === 0) {\r\n if (this.imageUpload)\r\n this.id = \"imageUploader\";\r\n else\r\n this.id = \"fileUploader\";\r\n }\r\n }\r\n\r\n readImageFiles = (files: any, callback: Function, index = 0) => {\r\n let reader = new FileReader();\r\n if (index in files) {\r\n if (this.imageTypeValidator(files[index])) {\r\n this.readImageFile(files[index], reader, callback);\r\n }\r\n }\r\n }\r\n\r\n readOtherFiles = (files: any, callback: Function, index = 0) => {\r\n let reader = new FileReader();\r\n if (index in files) {\r\n if (this.fileSizeValidator(files[index])) {\r\n if (this.fileTypeValidator(files[index])) {\r\n this.readOtherFile(files[index], reader, callback);\r\n this.displayFileName(files[index]);\r\n }\r\n }\r\n else {\r\n this.fileUploadError.Type = \"File size too large.\";\r\n this.fileUploadError.Message = \"The file you have selected is too big. Please upload a file below 5Mb.\";\r\n this.emitError.emit(this.fileUploadError);\r\n }\r\n }\r\n }\r\n\r\n displayFileName = (file: any) => {\r\n var fileSizeInKb = file.size / 1024;\r\n this.fileArray.push({ Name: file.name, Content: null, Type: file.type, Size: fileSizeInKb.toFixed(4) });\r\n }\r\n\r\n readImageFile = (file: any, reader: any, callback: Function) => {\r\n reader.onload = () => {\r\n var result = reader.result;\r\n var img = document.createElement(\"img\");\r\n img.src = result;\r\n img.onload = function () {\r\n callback(img, file.name, file.type, file.size);\r\n };\r\n }\r\n reader.readAsDataURL(file);\r\n }\r\n\r\n readOtherFile = (file: any, reader: any, callback: Function) => {\r\n reader.onload = () => {\r\n let fileSizeInKb = file.size / 1024;\r\n let fileObject: IFileObject = { Name: file.name, Type: file.type, Content: reader.result, Size: fileSizeInKb.toFixed(4) };\r\n callback(fileObject);\r\n }\r\n reader.readAsDataURL(file);\r\n }\r\n\r\n resize = (img: any, MAX_WIDTH: number, MAX_HEIGHT: number): any => {\r\n var imgCopy = img;\r\n var width = img.width;\r\n var height = img.height;\r\n if (width > height) {\r\n if (width > MAX_WIDTH) {\r\n height *= MAX_WIDTH / width;\r\n width = MAX_WIDTH;\r\n }\r\n } else {\r\n if (height > MAX_HEIGHT) {\r\n width *= MAX_HEIGHT / height;\r\n height = MAX_HEIGHT;\r\n }\r\n }\r\n var canvas = document.createElement(\"canvas\");\r\n var copyCanvas = canvas;\r\n\r\n canvas.width = width;\r\n canvas.height = height;\r\n\r\n var ctx = canvas.getContext(\"2d\");\r\n ctx.drawImage(img, 0, 0, width, height);\r\n var dataUrl = canvas.toDataURL();\r\n\r\n return dataUrl;\r\n //below code is to enable multiple files to be uploaded. (add 'multiple' to input in template) make imgSrc an array and push them into it.\r\n //this.file_srcs.pop();\r\n //this.file_srcs.push(resized_jpeg);\r\n //this.readFiles(files, index + 1);\r\n }\r\n\r\n fileSizeValidator = (file: any) => {\r\n if (file.size < maxFileSize) {\r\n return true;\r\n }\r\n else {\r\n return false;\r\n }\r\n }\r\n\r\n imageTypeValidator(file: any): boolean {\r\n let result: boolean = false;\r\n switch (file.type) {\r\n case 'image/gif': // .gif\r\n case 'image/jpeg': // .jpeg, .jpg\r\n case 'image/png': // .png\r\n case 'image/svg+xml': // .svg\r\n result = true;\r\n break;\r\n default:\r\n this.fileUploadError.Type = \"Image not found.\";\r\n this.fileUploadError.Message = \"The file you have selected is not a vaild image.\";\r\n this.emitError.emit(this.fileUploadError);\r\n }\r\n return result;\r\n }\r\n\r\n fileTypeValidator = (file: any): boolean => {\r\n let result: boolean = false;\r\n switch (file.type) {\r\n case 'application/msword': // .doc\r\n case 'application/vnd.openxmlformats-officedocument.wordprocessingml.document': // .docx\r\n case 'image/jpeg': // .jpeg, .jpg\r\n case 'application/pdf': // .pdf\r\n case 'image/png': // .png\r\n case 'text/plain': // .txt\r\n case 'application/vnd.ms-excel': // .xls\r\n case 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet': // .xlsx\r\n result = true;\r\n break;\r\n default:\r\n this.fileUploadError.Type = \"Unsupported file format.\";\r\n this.fileUploadError.Message = \"Please upload your file in one of the following formats: Word, JPEG, PDF, PNG, Text or Excel.\";\r\n this.emitError.emit(this.fileUploadError);\r\n }\r\n return result;\r\n }\r\n\r\n onImageFileChange = (input: any) => {\r\n this.readImageFiles(input.files, this.onImageFileReadCallBack);\r\n\r\n this.isUploaded = true;\r\n if (this.form && this.form.control.get(this.id))\r\n this.form.control.get(this.id).markAsTouched({ onlySelf: true });\r\n }\r\n\r\n onOtherFileChange = (input: any) => {\r\n this.readOtherFiles(input.files, this.onOtherFileReadCallBack);\r\n }\r\n\r\n onImageFileReadCallBack = (img: any, filename: string, filetype: string, fileSize: number) => {\r\n this.localImgUrl = this.resize(img, imageFrameWidth, imageFrameHeight);\r\n this.localImageLoaded = true;\r\n this.noImage = false;\r\n let fileSizeInKb = fileSize / 1024;\r\n let file: IFileObject = { Name: filename, Type: filetype, Content: this.localImgUrl, Size: fileSizeInKb.toFixed(4) };\r\n this.emitPicture.emit(file);\r\n\r\n this.isUploaded = true;\r\n if (this.form) {\r\n const control = this.form.control.get(this.id);\r\n if (control) {\r\n this.setValue(control, this.isUploaded);\r\n }\r\n }\r\n }\r\n\r\n onOtherFileReadCallBack = (file: any) => {\r\n this.localFileLoaded = true;\r\n this.noFile = false;\r\n this.emitOtherFile.emit(file);\r\n\r\n this.isUploaded = true;\r\n if (this.form) {\r\n const control = this.form.control.get(this.id);\r\n if (control) {\r\n this.setValue(control, this.isUploaded);\r\n }\r\n }\r\n }\r\n\r\n private setValue(control: AbstractControl, value) {\r\n control.markAsTouched({ onlySelf: true });\r\n control.setValue(value);\r\n control.updateValueAndValidity({ onlySelf: true });\r\n }\r\n\r\n onFileClicked(file: IFileObject) {\r\n this.emitOpenFile.emit(file);\r\n }\r\n\r\n onFakeButtonClicked($event, inputElement) {\r\n inputElement.click();\r\n }\r\n\r\n onFileRemove(fileObject: IFileObject) {\r\n var removedItem = this.fileArray.splice(this.fileArray.indexOf(fileObject), 1);\r\n (document.getElementById(\"otherFileInput\")).value = \"\";\r\n this.fileRemoved.emit(removedItem[0]);\r\n\r\n this.isUploaded = (this.fileArray.length > 0);\r\n if (this.form) {\r\n const control = this.form.control.get(this.id);\r\n if (control) {\r\n this.setValue(control, this.isUploaded);\r\n }\r\n }\r\n }\r\n\r\n onImageRemove() {\r\n this.localImgUrl = null;\r\n this.noImage = true;\r\n this.localImageLoaded = false;\r\n (document.getElementById(\"imageInput\")).value = \"\";\r\n this.imageRemoved.emit();\r\n\r\n this.isUploaded = (this.fileArray.length > 0);\r\n if (this.form) {\r\n const control = this.form.control.get(this.id);\r\n if (control) {\r\n this.setValue(control, this.isUploaded);\r\n }\r\n }\r\n }\r\n\r\n activateUploader() {\r\n if (this.form && this.form.control.get(this.id)) {\r\n this.form.control.get(this.id).markAsTouched({ onlySelf: true });\r\n this.form.control.get(this.id).updateValueAndValidity({ onlySelf: true });\r\n }\r\n }\r\n\r\n setUploadValidator() {\r\n if (this.form && this.form.control.get(this.id))\r\n this.form.control.get(this.id).setValidators([UploadValidator(true)]);\r\n }\r\n\r\n removeUploadValidator() {\r\n if (this.form && this.form.control.get(this.id))\r\n this.form.control.get(this.id).clearValidators();\r\n }\r\n\r\n get valid(): boolean {\r\n return (this.form && this.form.control.get(this.id) && this.form.control.get(this.id).valid);\r\n }\r\n}\r\n\r\nexport interface IFileObject {\r\n Name: string;\r\n Type: string;\r\n Content: string;\r\n Size: string;\r\n}\r\n\r\nexport interface IFileUploadError {\r\n Type: string;\r\n Message: string;\r\n}\r\n\r\nexport function UploadValidator(isRequired: boolean): ValidatorFn {\r\n return (control: AbstractControl): { [key: string]: boolean } | null => {\r\n if (control.enabled && control.touched && control.value != isRequired)\r\n return { 'uploader': true };\r\n return null;\r\n };\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/app/widgets/file-uploader/file-uploader.component.ts","module.exports = \"
\\r\\n \\r\\n
\\r\\n
{{buttonIcon}}
\\r\\n
{{buttonString}}
\\r\\n
\\r\\n
\\r\\n\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/widgets/generic-form-buttons/generic-form-buttons.component.html\n// module id = ./src/app/widgets/generic-form-buttons/generic-form-buttons.component.html\n// module chunks = main","module.exports = \".container {\\n margin-bottom: 2em;\\n text-align: center;\\n cursor: pointer; }\\n\\n.container .icon {\\n height: 30px;\\n width: 30px;\\n display: inline-block;\\n vertical-align: middle; }\\n\\n.container .content {\\n display: inline-block;\\n vertical-align: middle; }\\n\\n.button-custom-card {\\n height: 1.6em; }\\n\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/widgets/generic-form-buttons/generic-form-buttons.component.scss\n// module id = ./src/app/widgets/generic-form-buttons/generic-form-buttons.component.scss\n// module chunks = main","import { Component, OnInit, Input, SimpleChanges } from '@angular/core';\n\n@Component({\n selector: 'generic-form-buttons',\n templateUrl: './generic-form-buttons.component.html',\n styleUrls: ['../widgets-custom-theme.scss', './generic-form-buttons.component.scss']\n})\nexport class GenericFormButtonsComponent implements OnInit {\n @Input('button-icon') buttonIcon: string = '';\n @Input('button-string') buttonString: string = '';\n @Input('buttonActive') buttonActive: boolean = false;\n\n constructor() { }\n\n ngOnInit() {\n }\n\n}\n\n\n\n// WEBPACK FOOTER //\n// ./src/app/widgets/generic-form-buttons/generic-form-buttons.component.ts","module.exports = \"
\\r\\n
\\r\\n {{windowTitle}} \\r\\n
\\r\\n
\\r\\n \\r\\n\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n {{cardTwoTopIcon}}\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n
\\r\\n {{cardTopIcon}}\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/widgets/generic-form-window/generic-form-window.component.html\n// module id = ./src/app/widgets/generic-form-window/generic-form-window.component.html\n// module chunks = main","module.exports = \".form-content-margin {\\n margin: 1em auto 1em auto; }\\n\\n.form-content-desktop {\\n width: 85%; }\\n\\n.form-content-mobile {\\n width: 95%; }\\n\\n.window-title-height-desktop {\\n height: 2em !important;\\n font-size: 20px !important; }\\n\\n.window-title-height-mobile {\\n height: 2em !important;\\n font-size: 18px !important; }\\n\\n.window-container-desktop {\\n margin: 0em 3em 0em 3em; }\\n\\n.window-container-mobile {\\n margin: 0; }\\n\\n.reverse-flex-layout-gap-30px > div:first-child {\\n margin-bottom: 0px !important; }\\n\\n.reverse-flex-layout-gap-30px > div:last-child {\\n margin-bottom: 30px !important; }\\n\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/widgets/generic-form-window/generic-form-window.component.scss\n// module id = ./src/app/widgets/generic-form-window/generic-form-window.component.scss\n// module chunks = main","import { Component, OnInit, Input } from '@angular/core';\n\n/** This is the generic component which will have form controls in it**/\n@Component({\n selector: 'generic-form-window',\n templateUrl: './generic-form-window.component.html',\n styleUrls: ['../widgets-custom-theme.scss', './generic-form-window.component.scss']\n})\nexport class GenericFormWindowComponent implements OnInit {\n\n constructor() { }\n\n @Input('window-title') windowTitle: string = 'Default title';\n @Input('card-icon-available') cardIconAvailable: boolean = true;\n @Input('cardTwoVisible') cardTwoVisible: boolean = false; \n @Input('card-top-icon') cardTopIcon: string = '';\n @Input('cardTwoTopIcon') cardTwoTopIcon: string = '';\n @Input('cardLayoutReverse') cardLayoutReverse: boolean = false;\n @Input('cardOneVisible') cardOneVisible: boolean = true;\n\n cardLayout: string = 'column';\n cardTwoIconAvailable: boolean = false;\n\n ngOnInit() {\n if (this.cardLayoutReverse)\n this.cardLayout = 'column-reverse';\n if (this.cardTwoTopIcon && this.cardTwoTopIcon.length > 0)\n this.cardTwoIconAvailable = true;\n }\n\n}\n\n\n\n// WEBPACK FOOTER //\n// ./src/app/widgets/generic-form-window/generic-form-window.component.ts","module.exports = \"
\\r\\n \\r\\n
\\r\\n\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/widgets/loading-spinner/loading-spinner.component.html\n// module id = ./src/app/widgets/loading-spinner/loading-spinner.component.html\n// module chunks = main","module.exports = \"/*TODO: implemet importing material colors, defining variables and using them -> remove stuff like background-color: white;*/\\n#cot-overlay {\\n position: fixed;\\n z-index: 99;\\n top: 0px;\\n left: 0px;\\n background-color: white;\\n width: 100%;\\n height: 100%;\\n filter: Alpha(Opacity=70);\\n opacity: 0.70;\\n -moz-opacity: 0.70; }\\n.cot-loader-desktop {\\n z-index: 10;\\n position: fixed;\\n top: 45%;\\n left: 47.1%; }\\n.cot-loader-mobile {\\n z-index: 10;\\n position: fixed;\\n top: 45%;\\n left: 36%; }\\n\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/widgets/loading-spinner/loading-spinner.component.scss\n// module id = ./src/app/widgets/loading-spinner/loading-spinner.component.scss\n// module chunks = main","import { Component, OnInit, NgZone } from '@angular/core';\nimport { CommonNotificationService } from '../../services/common-notification.service';\nimport { BaseWidgetComponent } from '../base-widget.component';\n\n@Component({\n selector: 'loading-spinner',\n templateUrl: './loading-spinner.component.html',\n styleUrls: ['./loading-spinner.component.scss']\n})\nexport class LoadingSpinnerComponent extends BaseWidgetComponent {\n\n isSpinnerHidden: boolean = true;\n constructor(private commonNotificationService: CommonNotificationService, private zone: NgZone) {\n super();\n let counter: number = 0;\n this.commonNotificationService.$loadingSpinnerSource.takeUntil(this.emitUnsubscribe).subscribe(\n (flag: boolean) => {\n zone.run(() => {\n if (flag) {\n counter++;\r\n this.isSpinnerHidden = false;\n }\n else {\n counter = (counter > 0) ? (counter - 1) : 0;\n this.isSpinnerHidden = (counter === 0);\n }\n });\n }\n );\n }\n}\n\n\n\n// WEBPACK FOOTER //\n// ./src/app/widgets/loading-spinner/loading-spinner.component.ts","module.exports = \"
\\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 {{footerText}}\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
{{totalText}}
\\r\\n
{{currencySymbol}} {{totalAmount}}
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
{{totalText}}
\\r\\n
{{currencySymbol}} {{totalAmount}}
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
CLICK TO REGISTER NOW
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/widgets/sticky-snackbar/sticky-snackbar.component.html\n// module id = ./src/app/widgets/sticky-snackbar/sticky-snackbar.component.html\n// module chunks = main","module.exports = \"/* put these custom color variables into custom theme style files and import from one place */\\n.footer-fab-outer-desktop {\\n margin-bottom: 3.5em; }\\n.footer-fab-outer-mobile {\\n margin-bottom: 3.5em; }\\n.footer-font-size-desktop {\\n font-size: 15px; }\\n.footer-font-size-mobile {\\n font-size: 13px; }\\n.sticky-snackbar-desktop {\\n width: 70%; }\\n.sticky-snackbar-laptop {\\n width: 80%; }\\n.sticky-snackbar-tablet {\\n width: 95%; }\\n.sticky-snackbar-mobile {\\n width: 95%; }\\n.email-quote-mobile {\\n font-size: small; }\\n.email-quote-mobile .email-quote-button {\\n padding: 0 15px 0 15px; }\\n.email-quote-mobile .email-quote-icon {\\n position: relative;\\n top: -2px; }\\n.email-quote-hidden {\\n visibility: hidden; }\\n.sticky-snackbar-total {\\n font-size: large;\\n min-width: 150px; }\\n.ie-browser-sticky-snackbar-outer {\\n /*display: inline-block !important;*/\\n display: -ms-flexbox;\\n display: -webkit-box !important;\\n display: flex !important;\\n -ms-flex-direction: row;\\n -webkit-box-orient: horizontal;\\n -webkit-box-direction: normal;\\n flex-direction: row;\\n -ms-flex-wrap: nowrap;\\n flex-wrap: nowrap;\\n -ms-flex-pack: center;\\n -webkit-box-pack: center;\\n justify-content: center;\\n -ms-flex-line-pack: center;\\n align-content: center;\\n -ms-flex-align: center;\\n -webkit-box-align: center;\\n align-items: center; }\\n.ie-browser-sticky-snackbar-outer .ie-browser-sticky-snackbar-desktop {\\n height: 100%; }\\n.ie-browser-sticky-snackbar-outer .ie-browser-sticky-snackbar-desktop .ie-browser-sticky-snackbar-email {\\n display: -ms-flexbox;\\n display: -webkit-box;\\n display: flex;\\n -ms-flex-direction: row;\\n -webkit-box-orient: horizontal;\\n -webkit-box-direction: normal;\\n flex-direction: row;\\n -ms-flex-wrap: nowrap;\\n flex-wrap: nowrap;\\n -ms-flex-pack: start;\\n -webkit-box-pack: start;\\n justify-content: flex-start;\\n -ms-flex-line-pack: center;\\n align-content: center;\\n -ms-flex-align: center;\\n -webkit-box-align: center;\\n align-items: center; }\\n.ie-browser-sticky-snackbar-outer .ie-browser-sticky-snackbar-desktop .ie-browser-sticky-snackbar-text {\\n display: -ms-flexbox;\\n display: -webkit-box;\\n display: flex;\\n -ms-flex-direction: row;\\n -webkit-box-orient: horizontal;\\n -webkit-box-direction: normal;\\n flex-direction: row;\\n -ms-flex-wrap: nowrap;\\n flex-wrap: nowrap;\\n -ms-flex-pack: center;\\n -webkit-box-pack: center;\\n justify-content: center;\\n -ms-flex-line-pack: center;\\n align-content: center;\\n -ms-flex-align: center;\\n -webkit-box-align: center;\\n align-items: center; }\\n.ie-browser-sticky-snackbar-outer .ie-browser-sticky-snackbar-desktop .ie-browser-sticky-snackbar-total-container {\\n height: 100%; }\\n.ie-browser-sticky-snackbar-outer .ie-browser-sticky-snackbar-desktop .ie-browser-sticky-snackbar-total-container .ie-browser-sticky-snackbar-total-amount {\\n display: -ms-flexbox;\\n display: -webkit-box;\\n display: flex;\\n -ms-flex-direction: row;\\n -webkit-box-orient: horizontal;\\n -webkit-box-direction: normal;\\n flex-direction: row;\\n -ms-flex-wrap: nowrap;\\n flex-wrap: nowrap;\\n -ms-flex-pack: end;\\n -webkit-box-pack: end;\\n justify-content: flex-end;\\n -ms-flex-line-pack: center;\\n align-content: center;\\n -ms-flex-align: center;\\n -webkit-box-align: center;\\n align-items: center; }\\n.ie-browser-sticky-snackbar-outer .ie-browser-sticky-snackbar-desktop .ie-browser-sticky-snackbar-total-container .ie-browser-sticky-snackbar-fab {\\n height: 100%; }\\n:host ::ng-deep .sticky-footer-outer .move-to-register {\\n text-transform: uppercase; }\\n:host ::ng-deep .sticky-footer-outer .move-to-register .move-to-register-fab button {\\n width: 60px;\\n height: 60px;\\n margin: 0 5px; }\\n\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/widgets/sticky-snackbar/sticky-snackbar.component.scss\n// module id = ./src/app/widgets/sticky-snackbar/sticky-snackbar.component.scss\n// module chunks = main","import { Component, OnInit, Input } from '@angular/core';\r\nimport { CommonNotificationService } from '../../services/common-notification.service';\r\nimport { BaseWidgetComponent } from '../base-widget.component';\r\nimport { CommonUtilityService, BrowserTypes } from '../../services/common-utility.service';\r\n\r\n@Component({\r\n selector: 'sticky-snackbar',\r\n templateUrl: './sticky-snackbar.component.html',\r\n styleUrls: ['../widgets-custom-theme.scss', './sticky-snackbar.component.scss']\r\n})\r\nexport class StickySnackbarComponent extends BaseWidgetComponent implements OnInit {\r\n footerText: string;\r\n previousText: string;\r\n textColor: string;\r\n previousColor: string;\r\n totalAmount: string;\r\n currencySymbol: string;\r\n hideCenterText: boolean;\r\n showTotalAmount: boolean = true;\r\n totalText: string;\r\n showEmailQuote: boolean;\r\n showMoveToRegisterFab: boolean = false;\r\n isIEBrowser: boolean = false;\r\n defaultLayout: string = \"space-between center\";\r\n\r\n @Input('totalAmountColor') totalAmountColor: string = \"#cce015\";\r\n\r\n constructor(private commonNotificationService: CommonNotificationService, private commonUtilityService: CommonUtilityService) {\r\n super();\r\n }\r\n\r\n ngOnInit() {\r\n this.footerText = \"Please fill in the mandatory fields.\";\r\n this.textColor = \"white\";\r\n this.totalAmount = \"0.00\";\r\n this.currencySymbol = \"\";\r\n this.hideCenterText = false;\r\n this.showTotalAmount = false;\r\n this.totalText = \"Total\";\r\n this.showEmailQuote = false;\r\n\r\n this.commonNotificationService.$stickyFooterTextSource.takeUntil(this.emitUnsubscribe).subscribe(\r\n (data: IStickySnackbarTextSource) => {\r\n this.previousText = this.footerText;\r\n this.previousColor = this.textColor;\r\n if (data.text != null && data.text != undefined) {\r\n this.footerText = data.text;\r\n }\r\n if (data.color) {\r\n this.textColor = data.color;\r\n }\r\n if (data.total) {\r\n this.totalAmount = data.total;\r\n }\r\n if (data.currency != null && data.currency != undefined) {\r\n this.currencySymbol = data.currency;\r\n }\r\n if (data.totalText != null && data.totalText != undefined) {\r\n this.totalText = data.totalText;\r\n }\r\n });\r\n\r\n this.commonNotificationService.$setPreviousTextSource.takeUntil(this.emitUnsubscribe).subscribe(\r\n () => {\r\n this.footerText = this.previousText;\r\n this.textColor = this.previousColor;\r\n }\r\n );\r\n\r\n this.commonNotificationService.$hideCenterTextSource.takeUntil(this.emitUnsubscribe).subscribe(\r\n (flag: boolean) => {\r\n this.hideCenterText = flag;\r\n }\r\n );\r\n\r\n this.commonNotificationService.$showTotalAmountSource.takeUntil(this.emitUnsubscribe).subscribe(\r\n (flag: boolean) => {\r\n this.showTotalAmount = flag;\r\n }\r\n );\r\n\r\n this.commonNotificationService.$showEmailQuoteSource.takeUntil(this.emitUnsubscribe).subscribe(\r\n (flag: boolean) => {\r\n this.showEmailQuote = flag;\r\n }\r\n );\r\n\r\n this.commonNotificationService.$showMoveToRegisterSource.takeUntil(this.emitUnsubscribe).subscribe(\r\n (flag: boolean) => {\r\n this.showMoveToRegisterFab = flag;\r\n }\r\n );\r\n\r\n this.commonNotificationService.$emailQuoteLayout.takeUntil(this.emitUnsubscribe).subscribe(\r\n (desc: string) => {\r\n this.defaultLayout = desc;\r\n }\r\n );\r\n\r\n switch (this.commonUtilityService.getBrowserType()) {\r\n case BrowserTypes.IE:\r\n this.isIEBrowser = true;\r\n }\r\n }\r\n\r\n onClickEmailMe = () => {\r\n this.commonNotificationService.emitEmailMeClick();\r\n }\r\n}\r\n\r\nexport interface IStickySnackbarTextSource {\r\n text: string;\r\n color: string;\r\n total: string;\r\n currency: string;\r\n totalText: string;\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/app/widgets/sticky-snackbar/sticky-snackbar.component.ts","module.exports = \"/*@import './cot-form-control/cot-form-control.component.scss';*/\\n\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/widgets/widgets-custom-theme.scss\n// module id = ./src/app/widgets/widgets-custom-theme.scss\n// module chunks = main","import { NgModule, ModuleWithProviders } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\r\nimport { GenericFormWindowComponent } from './generic-form-window/generic-form-window.component';\r\nimport { CustomFabComponent } from './custom-fab/custom-fab.component';\r\nimport { StickySnackbarComponent } from './sticky-snackbar/sticky-snackbar.component';\r\nimport { LoadingSpinnerComponent } from './loading-spinner/loading-spinner.component';\r\nimport { FileUploaderComponent } from './file-uploader/file-uploader.component';\r\nimport { GenericFormButtonsComponent } from './generic-form-buttons/generic-form-buttons.component';\r\nimport { CustomDialogComponent } from './custom-dialog/custom-dialog.component';\r\nimport { DropdownComponent, DropdownService} from './dropdown/dropdown.component';\r\nimport {\r\n MatButtonModule, MatCheckboxModule, MatCardModule, MatToolbarModule, MatSidenavModule, MatIconModule, MatInputModule, MatRadioModule, MatFormFieldModule,\r\n MatSelectModule, MatDatepickerModule, MatNativeDateModule, MatProgressSpinnerModule, MatTabsModule\r\n} from '@angular/material';\r\nimport { FlexLayoutModule } from '@angular/flex-layout';\r\nimport { CotFormControlComponent } from './cot-form-control/cot-form-control.component';\r\nimport { CotAnalysisFormComponent } from './cot-analysis-form/cot-analysis-form.component';\r\nimport { CotParentalConsentFormComponent } from './cot-parental-consent-form/cot-parental-consent-form.component';\r\nimport { SafeHtmlModule } from '../services/safeHtml';\r\nimport { CotUdfsRegularFormComponent } from './cot-udfs-regular-form/cot-udfs-regular-form.component';\r\n\r\n@NgModule({\r\n imports: [CommonModule, FlexLayoutModule, FormsModule, ReactiveFormsModule,\r\n MatButtonModule, MatCheckboxModule, MatCardModule, MatToolbarModule, MatSidenavModule, MatIconModule, MatInputModule, MatRadioModule, MatFormFieldModule,\r\n MatSelectModule, MatDatepickerModule, MatNativeDateModule, MatProgressSpinnerModule, MatTabsModule,\r\n SafeHtmlModule\r\n ],\r\n exports: [GenericFormWindowComponent, CustomFabComponent, StickySnackbarComponent, LoadingSpinnerComponent, FileUploaderComponent, GenericFormButtonsComponent, CustomDialogComponent,\r\n DropdownComponent, CotFormControlComponent, CotAnalysisFormComponent, CotParentalConsentFormComponent, CotUdfsRegularFormComponent],\r\n declarations: [GenericFormWindowComponent, CustomFabComponent, StickySnackbarComponent, LoadingSpinnerComponent, FileUploaderComponent, GenericFormButtonsComponent, CustomDialogComponent,\r\n DropdownComponent, CotFormControlComponent, CotAnalysisFormComponent, CotParentalConsentFormComponent, CotUdfsRegularFormComponent],\r\n providers: [DropdownService ]\r\n})\r\n\r\nexport class WidgetsModule { }\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/app/widgets/widgets.module.ts","// The file contents for the current environment will overwrite these during build.\n// The build system defaults to the dev environment which uses `environment.ts`, but if you do\n// `ng build --env=prod` then `environment.prod.ts` will be used instead.\n// The list of which env maps to which file can be found in `.angular-cli.json`.\n\nexport const environment = {\n prod: false,\n dev: true,\n uat: false,\n release: false\n};\n\n\n\n// WEBPACK FOOTER //\n// ./src/environments/environment.ts"],"sourceRoot":"webpack:///"}