{"version":3,"sources":["webpack:///D:/a/1/s/src/app/core/components/dev/dev-button.shared.component.ts","webpack:///D:/a/1/s/src/app/core/components/dev/dev.shared.component.ts","webpack:///D:/a/1/s/src/app/core/components/dev/dev.shared.component.html","webpack:///D:/a/1/s/src/app/core/components/viewColumns/view-columns.shared.component.html","webpack:///D:/a/1/s/src/app/core/components/viewColumns/view-columns.shared.component.ts","webpack:///D:/a/1/s/src/app/core/views/subRouter/sub-router.shared.component.ts","webpack:///D:/a/1/s/src/app/core/views/subRouter/index.ts","webpack:///D:/a/1/s/src/app/core/components/dev/devConsole/dev-console.shared.module.ts","webpack:///D:/a/1/s/src/app/core/components/dev/dev.module.ts","webpack:///D:/a/1/s/src/app/core/components/dev/devConsole/dev-console.shared.component.ts","webpack:///D:/a/1/s/src/app/core/components/dev/devConsole/dev-console.shared.component.html","webpack:///D:/a/1/s/src/app/core/validators/cell-phone-taken.shared.validator.ts","webpack:///D:/a/1/s/src/app/core/validators/fields-match.shared.validator.ts","webpack:///D:/a/1/s/src/app/core/components/viewColumns/view-columns.shared.module.ts","webpack:///D:/a/1/s/src/app/core/components/viewColumns/index.ts","webpack:///D:/a/1/s/src/app/core/views/error404/error-404.shared.component.ts","webpack:///src/app/views/Error404/error404.component.ts","webpack:///src/app/views/Error404/error404.component.html","webpack:///src/app/views/Error404/error404.module.ts"],"names":["DevButtonComponent","DevComponent","_config","_envBuildToken","_store","_memberService","_modalsService","states","HIDDEN","MINIMIZED","VISIBLE","devBoxVisibility","stateFilter$","textFilter","position","sticky","e","charCode","key","code","target","nodeName","current","this","_getStore","hide","maximize","production","getItem","$event","set","value","next","state$","select","pipe","state","filter","filteredState","prop","toLowerCase","includes","autoRestoreState","setRedirectAsync","minimize","setTimeout","restoreState","Date","getTime","dispatch","search","setProps","subscribe","locationNo","show","type","params","buzzer","tableNo","img","collectionTypes","dineIn","dineInTable","modalIcon","unsetRedirectAsync","remove","step","memberId","getUserData","member","currentState","members","signUp","isSigningUp","hasSucceeded","hasFailed","isGuestModeEnabled","accountId","data","window","location","reload","then","normalize","ViewColumnsComponent","verticalCenter","verticalCenterLeft","verticalCenterRight","SubRouterComponent","outlet","activatedRouteData","DevConsoleModule","DevModule","entry","DevConsoleComponent","envBuildToken","devService","logs$","getLogsData$","isDev","content","_container","nativeElement","findControl","formControl","controls","parent","cellPhoneTakenValidator","membersService","countryPrefixField","countries","delayResponse","nextValue","control","Promise","resolve","MobilePhoneCountryId","countryControl","forEach","obj","Id","asObservable","a","validateMemberByProperty","isAvailable","phoneTaken","cellPhoneSelfUpdateValidator","currentMember$","controlValue","MobilePhone","isMobileNumberRegistered","response","cellPhoneUpdateTaken","fieldMatchTo","otherField","context","message","foundField","pristine","touched","dirty","disabled","otherFieldValue","otherFieldName","ViewColumnsModule","Error404Component","initService","title","description","homeLink","imgSrc","unsetSplashLoader","keywords","super","routes","path","pathMatch","component","isPublic","Error404Module","forChild"],"mappings":"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","file":"x","sourcesContent":["import { Component, ChangeDetectionStrategy } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'shared-dev-button',\r\n styleUrls: ['./dev-button.shared.component.scss'],\r\n template: ``,\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n})\r\nexport class DevButtonComponent { }\r\n","import { Component, OnInit, AfterViewInit, Input, Inject, HostListener } from '@angular/core';\r\nimport { Store, select } from '@ngrx/store';\r\n\r\nimport * as Utils from '@shared/core/utils';\r\nimport * as Services from '@shared/core/services';\r\nimport * as State from '@shared/state';\r\nimport * as Tokens from '@shared/core/tokens';\r\n\r\nimport * as actions from '@shared/state/actions';\r\nimport * as selectors from '@shared/state/selectors';\r\n\r\nimport { Observable, BehaviorSubject } from 'rxjs';\r\nimport { combineLatest, map, take } from 'rxjs/operators';\r\n\r\n@Component({\r\n selector: 'shared-dev',\r\n templateUrl: './dev.shared.component.html',\r\n styleUrls: ['./dev.shared.component.scss'],\r\n})\r\nexport class DevComponent implements OnInit, AfterViewInit {\r\n public readonly states = {\r\n HIDDEN: '0',\r\n MINIMIZED: '1',\r\n VISIBLE: '2',\r\n };\r\n\r\n public devBoxVisibility: 'is-hidden' | 'is-maximized' | 'is-minimized' = null;\r\n public state$: Observable;\r\n public stateFilter$ = new BehaviorSubject('');\r\n public textFilter: string = '';\r\n\r\n @Input() public position = 'bl';\r\n @Input() public sticky: boolean = true;\r\n\r\n @HostListener('window:keypress', ['$event']) public specialKeyListener(e: KeyboardEvent): void {\r\n if ((e.charCode === 96 || e.key === '`' || e.code === 'Backquote') && (e.target as HTMLElement).nodeName !== 'INPUT') {\r\n const current: string = this._getStore();\r\n if (this.states.VISIBLE === current) {\r\n this.hide();\r\n } else {\r\n this.maximize();\r\n }\r\n }\r\n }\r\n\r\n constructor(\r\n @Inject(Tokens.CONFIG_TOKEN) private _config: IConfig,\r\n @Inject(Tokens.ENV_BUILD_TOKEN) private _envBuildToken: IEnvironment,\r\n private _store: Store,\r\n private _memberService: Services.MembersService,\r\n private _modalsService: Services.ModalsService,\r\n ) {}\r\n\r\n public get isDevmode(): boolean {\r\n return this._envBuildToken.production === false || Utils.Storage.getItem(OLO.Enums.USER_STORAGE.DEV_MODE) === '1';\r\n }\r\n\r\n /* Storage methods */\r\n private _getStore(): string {\r\n return Utils.Storage.getItem(OLO.Enums.USER_STORAGE.DEV_DEBUG_STATE);\r\n }\r\n\r\n public handleFilterChange($event) {\r\n Utils.Storage.set(OLO.Enums.USER_STORAGE.DEV_CONSOLE_FILTER, $event.target.value);\r\n this.stateFilter$.next($event.target.value);\r\n }\r\n\r\n public get autoRestoreState(): boolean {\r\n return Utils.Storage.getItem(OLO.Enums.USER_STORAGE.DEV_AUTORESTORE_STATE) === '1';\r\n }\r\n\r\n ngOnInit() {\r\n // console.log(this._envBuildToken);\r\n\r\n this.textFilter = Utils.Storage.getItem(OLO.Enums.USER_STORAGE.DEV_CONSOLE_FILTER) || '';\r\n this.stateFilter$.next(this.textFilter);\r\n this.state$ = this._store.select(selectors.getState).pipe(\r\n combineLatest(this.stateFilter$),\r\n map(([state, filter]) => {\r\n if (!filter) {\r\n return state;\r\n }\r\n const filteredState = {};\r\n\r\n for (const prop in state) {\r\n if (prop.toLowerCase().includes(filter.toLowerCase())) {\r\n filteredState[prop] = state[prop];\r\n }\r\n }\r\n\r\n return filteredState;\r\n }),\r\n );\r\n\r\n if (this.autoRestoreState) {\r\n Utils.Redirect.setRedirectAsync();\r\n }\r\n\r\n switch (this._getStore()) {\r\n case this.states.VISIBLE:\r\n this.maximize();\r\n break;\r\n case this.states.MINIMIZED:\r\n this.minimize();\r\n break;\r\n default:\r\n this.hide();\r\n\r\n return;\r\n }\r\n }\r\n\r\n ngAfterViewInit() {\r\n if (this.autoRestoreState) {\r\n setTimeout(() => {\r\n this.restoreState();\r\n }, 10);\r\n }\r\n }\r\n\r\n public killJWT(): void {\r\n Utils.Storage.set((OLO.Enums.JWT.ACCESS_TOKEN_EXPIRES as unknown) as string, new Date().getTime() - 999999);\r\n Utils.Storage.set((OLO.Enums.JWT.REFRESH_TOKEN_EXPIERS as unknown) as string, new Date().getTime() - 100000);\r\n }\r\n\r\n public searchForAddress(): void {\r\n this._store.dispatch(actions.GooglePlaceSearchRequest({ search: 'Straussa 1' }));\r\n }\r\n\r\n /* Custom methods */\r\n public saveState() {\r\n Utils.Storage.set(OLO.Enums.USER_STORAGE.DEV_AUTORESTORE_STATE, '1');\r\n Utils.Redirect.setRedirectAsync();\r\n this._store.dispatch(actions.StateSave());\r\n }\r\n\r\n public restoreState() {\r\n this._store.dispatch(actions.StateRestore({ setProps: null }));\r\n setTimeout(() => {\r\n this._store.dispatch(actions.StateSave());\r\n }, 10);\r\n }\r\n\r\n public deliveryNotAvailableModal(): void {\r\n this._store.pipe(select(selectors.getCurrentLocationNo), take(1)).subscribe((locationNo) => {\r\n this._modalsService.show({\r\n type: 'delivery-not-available',\r\n locationNo,\r\n });\r\n });\r\n }\r\n\r\n public openDeliveryAddressModal(): void {\r\n this._store.pipe(select(selectors.getCurrentLocationNo), take(1)).subscribe((locationNo) => {\r\n this._modalsService.show({\r\n type: 'delivery-address',\r\n locationNo,\r\n });\r\n });\r\n }\r\n\r\n public openTableNumberModal(): void {\r\n this._store.pipe(select(selectors.getCurrentLocationNo), take(1)).subscribe((locationNo) => {\r\n this._modalsService.show({\r\n type: 'dine-in',\r\n locationNo,\r\n params: {\r\n buzzer: false,\r\n tableNo: 10,\r\n img: this._config.collectionTypes.dineIn?.dineInTable?.modalIcon,\r\n },\r\n });\r\n });\r\n }\r\n\r\n public toggleDevAutoRestoreState(): void {\r\n if (this.autoRestoreState) {\r\n Utils.Redirect.unsetRedirectAsync();\r\n Utils.Storage.remove(OLO.Enums.USER_STORAGE.DEV_AUTORESTORE_STATE);\r\n } else {\r\n Utils.Redirect.setRedirectAsync();\r\n Utils.Storage.set(OLO.Enums.USER_STORAGE.DEV_AUTORESTORE_STATE, '1');\r\n }\r\n }\r\n\r\n public setLinkInfoStep(): void {\r\n this._store.dispatch(actions.MemberAuthorizationSetStep({ step: OLO.Enums.AUTH_STEP.ACCOUNT_LINKING_REWARDS_INFO }));\r\n }\r\n\r\n public payAsGuest() {\r\n }\r\n\r\n public onFilter($event: string): void {\r\n if ($event) {\r\n Utils.Storage.set(OLO.Enums.USER_STORAGE.DEV_CONSOLE_FILTER, $event);\r\n this.stateFilter$.next($event);\r\n } else {\r\n Utils.Storage.remove(OLO.Enums.USER_STORAGE.DEV_CONSOLE_FILTER);\r\n this.stateFilter$.next('');\r\n }\r\n }\r\n\r\n /* Custom */\r\n public setupGuestDataAfterSignUp(memberId: number = 2149): void {\r\n this._memberService.getUserData().subscribe((member) => {\r\n this._store.pipe(select(selectors.getMemberState), take(1)).subscribe((currentState) => {\r\n this._store.dispatch(\r\n actions.__DevSetState({\r\n state: {\r\n members: {\r\n ...currentState,\r\n signUp: {\r\n isSigningUp: false,\r\n hasSucceeded: true,\r\n hasFailed: false,\r\n },\r\n isGuestModeEnabled: true,\r\n accountId: memberId,\r\n data: member,\r\n },\r\n },\r\n }),\r\n );\r\n });\r\n });\r\n }\r\n\r\n public setDeleteAccountStep(): void {\r\n this._modalsService.show({\r\n type: 'delete-profile',\r\n });\r\n }\r\n\r\n public initPaymentRedirectFlow(): void {\r\n Utils.Redirect.setRedirectAsync();\r\n this._store.dispatch(actions.StateSave());\r\n\r\n setTimeout(() => {\r\n window.location.reload();\r\n });\r\n }\r\n\r\n public finishPaymentRedirectFlow(): void {\r\n Utils.Redirect.unsetRedirectAsync().then(() => {\r\n this._store.dispatch(actions.StateRestore({ setProps: null }));\r\n });\r\n }\r\n\r\n /* Common dev box methods */\r\n public normalize(): void {\r\n Utils.Storage.remove(OLO.Enums.USER_STORAGE.DEV_DEBUG_STATE);\r\n this.devBoxVisibility = null;\r\n }\r\n\r\n public hide(): void {\r\n Utils.Storage.set(OLO.Enums.USER_STORAGE.DEV_DEBUG_STATE, this.states.HIDDEN);\r\n this.devBoxVisibility = 'is-hidden';\r\n }\r\n\r\n public maximize(): void {\r\n Utils.Storage.set(OLO.Enums.USER_STORAGE.DEV_DEBUG_STATE, this.states.VISIBLE);\r\n this.devBoxVisibility = 'is-maximized';\r\n }\r\n\r\n public minimize(): void {\r\n this.normalize();\r\n Utils.Storage.set(OLO.Enums.USER_STORAGE.DEV_DEBUG_STATE, this.states.MINIMIZED);\r\n this.devBoxVisibility = 'is-minimized';\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
{{ state$ | async | json }}
\r\n
\r\n KILL JWT\r\n RESTORE STATE\r\n SAVE STATE\r\n AUTO RESTORE STATE {{ autoRestoreState }} \r\n\r\n open table number modal\r\n open delivery address\r\n delivery not available\r\n search address\r\n set link info step\r\n \r\n DEV: setupGuestSignUp\r\n DEV: initPaymentRedirectFlow\r\n DEV: finishPaymentRedirectFlow \r\n
\r\n
\r\n
\r\n\r\n \r\n
\r\n","
\r\n
\r\n\r\n
\r\n \r\n\r\n
\r\n\r\n
\r\n \r\n
\r\n\r\n
\r\n
","import { Component, OnInit, TemplateRef, Input } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'shared-view-columns',\r\n templateUrl: './view-columns.shared.component.html',\r\n styleUrls: ['./view-columns.shared.component.scss']\r\n})\r\nexport class ViewColumnsComponent implements OnInit {\r\n @Input() public verticalCenter: boolean = false;\r\n @Input() public verticalCenterLeft: boolean = false;\r\n @Input() public verticalCenterRight: boolean = false;\r\n @Input() public left: TemplateRef;\r\n @Input() public right: TemplateRef;\r\n constructor() { }\r\n\r\n ngOnInit(): void { }\r\n}\r\n","import { Component, ChangeDetectionStrategy } from '@angular/core';\r\nimport { RouterOutlet } from '@angular/router';\r\n\r\n@Component({\r\n template: '
This component requires extending
',\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n})\r\nexport class SubRouterComponent {\r\n public prepareRoute(outlet: RouterOutlet): any {\r\n return outlet && outlet.activatedRouteData && outlet.activatedRouteData['animation'] || 'home';\r\n }\r\n}\r\n","export * from './sub-router.shared.component';\r\nexport * from './sub-router.shared.module';\r\n","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\n\r\nimport { DevConsoleComponent } from './dev-console.shared.component';\r\n\r\n@NgModule({\r\n declarations: [\r\n DevConsoleComponent\r\n ],\r\n imports: [CommonModule],\r\n exports: [\r\n DevConsoleComponent\r\n ],\r\n providers: [],\r\n})\r\nexport class DevConsoleModule { }\r\n","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { FormsModule } from '@angular/forms';\r\n\r\nimport { DevConsoleModule } from './devConsole';\r\n\r\nimport { DevButtonComponent } from './dev-button.shared.component';\r\nimport { DevComponent } from './dev.shared.component';\r\n\r\n\r\n@NgModule({\r\n declarations: [\r\n DevButtonComponent,\r\n DevComponent,\r\n ],\r\n imports: [\r\n CommonModule,\r\n FormsModule,\r\n DevConsoleModule,\r\n ],\r\n exports: [\r\n DevConsoleModule,\r\n DevButtonComponent,\r\n DevComponent,\r\n ],\r\n providers: [],\r\n})\r\nexport class DevModule {\r\n public static entry = DevComponent;\r\n}\r\n","import { Component, OnInit, ViewChild, ElementRef, AfterViewInit, Inject } from '@angular/core';\r\n\r\nimport * as Utils from '@shared/core/utils';\r\nimport * as Tokens from '@shared/core/tokens';\r\nimport { DevService } from '@shared/core';\r\nimport { Observable } from 'rxjs';\r\n\r\n@Component({\r\n selector: 'shared-dev-console',\r\n templateUrl: './dev-console.shared.component.html',\r\n styleUrls: ['./dev-console.shared.component.scss']\r\n})\r\nexport class DevConsoleComponent implements OnInit, AfterViewInit {\r\n private _container: HTMLElement;\r\n public logs$: Observable;\r\n\r\n @ViewChild('content') public content: ElementRef;\r\n\r\n constructor(\r\n @Inject(Tokens.ENV_BUILD_TOKEN) public envBuildToken: IEnvironment,\r\n public devService: DevService,\r\n ) { }\r\n\r\n ngOnInit(): void {\r\n this.logs$ = this.devService.getLogsData$();\r\n }\r\n\r\n ngAfterViewInit(): void {\r\n if (this.isDev && this.content) {\r\n this._container = this.content.nativeElement;\r\n }\r\n }\r\n\r\n public get isDev(): boolean {\r\n return this.envBuildToken.production === false || Utils.Storage.getItem(OLO.Enums.USER_STORAGE.DEV_MODE) === '1';\r\n }\r\n}\r\n","
\r\n
\r\n {{logs$ | async}}\r\n
\r\n
","import { FormControl, FormGroup, FormArray } from '@angular/forms';\r\n\r\nimport * as Services from '@shared/core/services';\r\n\r\nimport { Observable, pipe, BehaviorSubject, of } from 'rxjs';\r\nimport { map, delay, take, auditTime, switchMap, withLatestFrom } from 'rxjs/operators';\r\nimport { ILoyaltyAppCountryAssignmentModel, IMemberModel } from '@shared/state';\r\n\r\nconst findControl = (formControl: FormGroup | FormArray, search: string) => {\r\n if (!formControl) return null;\r\n\r\n return formControl.controls[search] || findControl(formControl.parent, search);\r\n};\r\n\r\nexport const cellPhoneTakenValidator = (membersService: Services.MembersService,\r\n countryPrefixField: string = null,\r\n countries: ILoyaltyAppCountryAssignmentModel[] = [],\r\n delayResponse: number = 0) => {\r\n const nextValue = new BehaviorSubject(null);\r\n\r\n return (control: FormControl): Observable | Promise => {\r\n if (!control.value) {\r\n return Promise.resolve(null);\r\n }\r\n\r\n nextValue.next(control.value);\r\n\r\n let MobilePhoneCountryId: number = 222;\r\n if (countryPrefixField && countries) {\r\n const countryControl: FormControl = findControl(control.parent, countryPrefixField);\r\n if (countryControl) {\r\n countries.forEach(obj => {\r\n if (obj.Id === countryControl.value) {\r\n MobilePhoneCountryId = obj.Id;\r\n }\r\n });\r\n }\r\n }\r\n\r\n return nextValue.asObservable()\r\n .pipe(\r\n auditTime(delayResponse),\r\n take(1),\r\n switchMap(value =>\r\n membersService.validateMemberByProperty(value, MobilePhoneCountryId, OLO.Enums.LOGIN_TYPE.MOBILE_PHONE_BASED_LOGIN)\r\n .pipe(\r\n map(isAvailable => isAvailable ? null : { phoneTaken: 'Phone is taken' })\r\n )\r\n )\r\n );\r\n };\r\n};\r\n\r\nexport const cellPhoneTakenForSignInValidator = (membersService: Services.MembersService,\r\n countryPrefixField: string = null,\r\n countries: ILoyaltyAppCountryAssignmentModel[] = [], delayResponse: number = 0) => {\r\n\r\n const nextValue = new BehaviorSubject(null);\r\n\r\n return (control: FormControl): Observable | Promise => {\r\n if (!control.value || control.value.length !== 10) {\r\n return Promise.resolve(null);\r\n }\r\n\r\n nextValue.next(control.value);\r\n\r\n let MobilePhoneCountryId: number = 222;\r\n if (countryPrefixField && countries) {\r\n const countryControl: FormControl = findControl(control.parent, countryPrefixField);\r\n if (countryControl) {\r\n countries.forEach(obj => {\r\n if (obj.Id === countryControl.value) {\r\n MobilePhoneCountryId = obj.Id;\r\n }\r\n });\r\n }\r\n }\r\n\r\n const __commonPipe = (message: OLO.Common.IValidators, delayRes: number = 0) => pipe(\r\n delay(delayRes),\r\n take(1),\r\n map(isRegistered => isRegistered ? null : message)\r\n );\r\n\r\n const msg: OLO.Common.IValidators = { phoneNotRegistered: 'Phone is not registered' };\r\n\r\n return nextValue.asObservable()\r\n .pipe(\r\n withLatestFrom(membersService.isMobileNumberRegistered(control.value, MobilePhoneCountryId)),\r\n take(1),\r\n map(([controlValue, response]) => response ? response.IsMobileValidated : null),\r\n __commonPipe(msg, delayResponse)\r\n );\r\n };\r\n};\r\n\r\n\r\nexport const cellPhoneSelfUpdateValidator = (membersService: Services.MembersService, currentMember$: Observable,\r\n countryPrefixField: string = null, countries: ILoyaltyAppCountryAssignmentModel[] = []) => {\r\n const nextValue = new BehaviorSubject(null);\r\n\r\n return (control: FormControl): Observable | Promise => {\r\n if (!control.value) return Promise.resolve(null);\r\n\r\n nextValue.next(control.value);\r\n\r\n return nextValue.asObservable()\r\n .pipe(\r\n withLatestFrom(currentMember$),\r\n take(1),\r\n switchMap(([controlValue, member]) => {\r\n let MobilePhoneCountryId: number = null;\r\n if (countryPrefixField && countries) {\r\n const countryControl: FormControl = findControl(control.parent, countryPrefixField);\r\n if (countryControl) {\r\n countries.forEach(obj => {\r\n if (obj.Id === countryControl.value) {\r\n MobilePhoneCountryId = obj.Id;\r\n }\r\n });\r\n }\r\n }\r\n\r\n if (!member || member.MobilePhone === controlValue) return of(null);\r\n\r\n return membersService.isMobileNumberRegistered(controlValue, MobilePhoneCountryId).pipe(\r\n map(response => !response?.Id ? null : { cellPhoneUpdateTaken: 'Phone is taken' })\r\n );\r\n })\r\n );\r\n };\r\n};\r\n","import { AbstractControl, FormControl, FormGroup } from '@angular/forms';\r\n\r\nexport const fieldsMatch = (field1: string, field2: string = null): OLO.Common.IValidators => {\r\n return (control: AbstractControl): { [key: string]: any } | null => {\r\n let f1: AbstractControl = (control as FormGroup).controls[field1];\r\n let f2: AbstractControl = (control as FormGroup).controls[field2];\r\n\r\n return f1.value === f2.value ? null : { 'fieldsMatchError': `Fields don't match` };\r\n };\r\n};\r\n\r\n\r\nexport const fieldMatchTo = (otherField: string, context?: string, message?: string): OLO.Common.IValidators => {\r\n return (control: AbstractControl): { [key: string]: any } | null => {\r\n const foundField: AbstractControl = control.parent ? control.parent.controls[otherField] : null;\r\n if (!foundField) {\r\n\r\n return null;\r\n }\r\n if (!foundField.pristine === false || !foundField.touched || !foundField.dirty || foundField.disabled || !control.value) return null;\r\n\r\n return control.value === foundField.value ? null : {\r\n 'fieldMatchTo': {\r\n message: message || `Fields don't match`,\r\n otherFieldValue: foundField.value,\r\n otherFieldName: otherField,\r\n context: context || null,\r\n }\r\n };\r\n };\r\n};\r\n","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\n\r\nimport { ViewColumnsComponent } from './view-columns.shared.component';\r\n\r\n@NgModule({\r\n declarations: [\r\n ViewColumnsComponent\r\n ],\r\n imports: [CommonModule],\r\n exports: [\r\n ViewColumnsComponent\r\n ],\r\n providers: [],\r\n})\r\nexport class ViewColumnsModule { }\r\n","export * from './view-columns.shared.module';\r\n","import { Component, AfterViewInit, ChangeDetectionStrategy, OnInit, OnDestroy } from '@angular/core';\r\n\r\nimport * as Services from '@shared/core/services';\r\n\r\nimport * as Decorators from '@shared/core/decorators';\r\n@Decorators.Meta({\r\n title: '404 Error - Page not found',\r\n keywords: ' ',\r\n description: ' ',\r\n})\r\n@Component({\r\n template: '
This component requires extending
',\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n})\r\nexport class Error404Component implements AfterViewInit, OnInit, OnDestroy {\r\n public title: string = 'The link you followed may be broken, or the page may have been removed.';\r\n public description: string = null;\r\n public homeLink: boolean = true;\r\n public imgSrc: string = '';\r\n\r\n constructor(\r\n public initService: Services.InitService,\r\n ) { }\r\n\r\n ngAfterViewInit(): void {\r\n this.initService.unsetSplashLoader();\r\n }\r\n\r\n ngOnInit(): void { }\r\n\r\n ngOnDestroy(): void { }\r\n}\r\n","import { Component } from '@angular/core';\r\n\r\nimport * as Services from '@shared/core/services';\r\n\r\nimport { Error404Component as SharedError404Component } from '@shared/core/views/error404';\r\n\r\n@Component({\r\n selector: 'app-error404',\r\n templateUrl: './error404.component.html',\r\n styleUrls: ['./error404.component.scss']\r\n})\r\nexport class Error404Component extends SharedError404Component {\r\n constructor(\r\n public initService: Services.InitService,\r\n ) {\r\n super(initService);\r\n }\r\n}\r\n","\r\n {{title}}\r\n","import { NgModule } from '@angular/core';\r\nimport { Route, RouterModule } from '@angular/router';\r\n\r\nimport { InfoBoxModule } from '@shared/core/components/infoBox';\r\n\r\nimport { Error404Component } from './error404.component';\r\n\r\nconst routes: Route[] = [\r\n {\r\n path: '',\r\n pathMatch: 'full',\r\n component: Error404Component,\r\n data: { isPublic: true },\r\n },\r\n];\r\n\r\n@NgModule({\r\n declarations: [\r\n Error404Component\r\n ],\r\n imports: [\r\n InfoBoxModule,\r\n RouterModule.forChild(routes),\r\n ],\r\n exports: [Error404Component],\r\n providers: [],\r\n})\r\nexport class Error404Module { }\r\n"]}